專(zhuān)利名稱(chēng):用于在存儲(chǔ)區(qū)域網(wǎng)絡(luò)中的存儲(chǔ)器件間直接傳輸數(shù)據(jù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲(chǔ)區(qū)域網(wǎng)絡(luò),且更具體地說(shuō),涉及使用光纖信道交換機(jī)在存儲(chǔ)器件間傳輸數(shù)據(jù)。
背景技術(shù):
人們常使用存儲(chǔ)區(qū)域網(wǎng)絡(luò)(“SAN”),在SAN中各個(gè)主計(jì)算系統(tǒng)可利用多個(gè)存儲(chǔ)器存儲(chǔ)器件。SAN中的數(shù)據(jù)通常通過(guò)各個(gè)控制器/適配器自多個(gè)主系統(tǒng)(包括計(jì)算機(jī)系統(tǒng)、服務(wù)器等)傳送到存儲(chǔ)系統(tǒng)。
主系統(tǒng)通常使用接口(例如“PCI”總線(xiàn)接口)經(jīng)由主總線(xiàn)適配器(“HBA”,也可稱(chēng)為“控制器”和/或“適配器”)與存儲(chǔ)系統(tǒng)通信。
圖1A顯示一方塊圖,其中主系統(tǒng)10具有耦合至光纖信道交換機(jī)12的HBA 11。交換機(jī)12也耦合至存儲(chǔ)系統(tǒng)14和20。存儲(chǔ)系統(tǒng)14包括HBA 13并且耦合至存儲(chǔ)器件15、16及17。具有HBA 21的存儲(chǔ)系統(tǒng)20耦合至存儲(chǔ)器件18和19。在這里術(shù)語(yǔ)存儲(chǔ)器件包括磁盤(pán)、磁帶驅(qū)動(dòng)器或用于存儲(chǔ)電子信息的任何其他媒體。
主系統(tǒng)10通常包括數(shù)個(gè)功能組件。這些組件可包括中央處理器(CPU)、主存儲(chǔ)器、輸入/輸出(“I/O”)器件(未圖示)、只讀存儲(chǔ)器及流式存儲(chǔ)器件(例如磁帶驅(qū)動(dòng)器)。
存儲(chǔ)器件(例如15、16、17、18及19)使用小型計(jì)算機(jī)系統(tǒng)接口(“SCSI”)協(xié)議耦合并且使用SCSI光纖信道協(xié)議(“SCSI FCP”)與其他器件/系統(tǒng)通信。SCSI及SCSI PCP標(biāo)準(zhǔn)協(xié)議的所有內(nèi)容均以引用的方式并入本文中。SCSI FCP是映像協(xié)議,用于將SCSI命令集施加給光纖信道。
光纖信道是一組美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)(ANSI)標(biāo)準(zhǔn),其為存儲(chǔ)和網(wǎng)絡(luò)協(xié)議例如HIPPI、SCSI、IP、ATM及其他協(xié)議提供串行傳輸協(xié)議。光纖信道提供輸入/輸出接口來(lái)同時(shí)滿(mǎn)足信道和網(wǎng)絡(luò)用戶(hù)的要求。
光纖信道支持三種不同的拓?fù)浣Y(jié)構(gòu)點(diǎn)對(duì)點(diǎn)、仲裁回路及光纖信道架構(gòu)。點(diǎn)對(duì)點(diǎn)拓?fù)浣Y(jié)構(gòu)直接連接兩個(gè)器件。仲裁回路拓?fù)浣Y(jié)構(gòu)在回路中連接器件。光纖信道架構(gòu)拓?fù)浣Y(jié)構(gòu)將主系統(tǒng)直接連接至架構(gòu),然后連接至多個(gè)器件。光纖信道架構(gòu)拓?fù)浣Y(jié)構(gòu)允許數(shù)種媒體類(lèi)型互連。
在光纖信道中,在兩個(gè)節(jié)點(diǎn)間建立路徑,其中所述路徑的主要任務(wù)是以高速及低時(shí)延將數(shù)據(jù)自一點(diǎn)傳輸?shù)搅硪稽c(diǎn),在硬件中僅實(shí)施簡(jiǎn)單的檢錯(cuò)。
光纖信道架構(gòu)器件包括可管理架構(gòu)連接的節(jié)點(diǎn)端口或“N_端口”。所述N_端口建立與具有架構(gòu)端口或“F_端口”的架構(gòu)元件(例如交換機(jī))的連接。架構(gòu)元件包括用于處理路由、檢錯(cuò)、恢復(fù)及類(lèi)似管理功能的智能。
光纖信道交換機(jī)(例如12)是多端口器件,其中每一端口管理其自身與其所連接系統(tǒng)間的簡(jiǎn)單的點(diǎn)對(duì)點(diǎn)連接。每一端口均可連接到服務(wù)器、外圍設(shè)備、I/O子系統(tǒng)、網(wǎng)橋、集線(xiàn)器、路由器及甚至連接到另一交換機(jī)。交換機(jī)接收來(lái)自一個(gè)端口的消息并自動(dòng)將所述消息路由到另一端口。多個(gè)呼叫或數(shù)據(jù)轉(zhuǎn)移同時(shí)通過(guò)所述多端口光纖信道交換機(jī)發(fā)生。
光纖信道交換機(jī)使用存儲(chǔ)器緩沖器來(lái)保持在網(wǎng)絡(luò)內(nèi)接收及發(fā)送的幀。與這些緩沖器相關(guān)聯(lián)的是信用量,信用量是緩沖器每一架構(gòu)端口可保持的幀的數(shù)量。
使用SCSI FCP協(xié)議的光纖信道存儲(chǔ)器件通常使用客戶(hù)機(jī)/服務(wù)器模型。通常,客戶(hù)機(jī)是具有HBA(“啟動(dòng)器”)的主系統(tǒng),例如將讀取或?qū)懭朊畎l(fā)送給“目標(biāo)”的文件服務(wù)器。所述目標(biāo)可為響應(yīng)于所述客戶(hù)機(jī)請(qǐng)求的磁盤(pán)陣列。大多數(shù)存儲(chǔ)器件例如磁盤(pán)驅(qū)動(dòng)器或磁帶驅(qū)動(dòng)器為SCSI目標(biāo)器件。啟動(dòng)器件(通常為服務(wù)器計(jì)算機(jī)上的主總線(xiàn)適配器)啟動(dòng)所有的IO操作。
在存儲(chǔ)區(qū)域網(wǎng)絡(luò)中,備份數(shù)據(jù)或任何其中將大量數(shù)據(jù)自一個(gè)存儲(chǔ)器件發(fā)送到另一個(gè)存儲(chǔ)器件的操作通常涉及,服務(wù)器(主系統(tǒng)10)將數(shù)據(jù)自一個(gè)存儲(chǔ)器件(例如磁盤(pán)18)讀取到所述服務(wù)器,然后將其寫(xiě)入目的地存儲(chǔ)器件(例如磁盤(pán)15)。此項(xiàng)操作慢且效率低。
因此,業(yè)內(nèi)需要可高效地在兩個(gè)存儲(chǔ)器件間傳輸數(shù)據(jù)的系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明一方面提供在耦合到光纖信道交換機(jī)元件的存儲(chǔ)器件間實(shí)施復(fù)制操作的方法。所述方法包括,啟動(dòng)對(duì)目的地目標(biāo)存儲(chǔ)器件的寫(xiě)入操作,其中所述光纖信道交換機(jī)啟動(dòng)所述寫(xiě)入操作并設(shè)置欲自其中復(fù)制數(shù)據(jù)的源存儲(chǔ)器件的源地址;接收來(lái)自所述目的地存儲(chǔ)器件的響應(yīng),其中所述響應(yīng)包括所述源存儲(chǔ)器件的D_ID;將來(lái)自所述目的地存儲(chǔ)器件的所述響應(yīng)路由到交換機(jī)處理器;啟動(dòng)對(duì)所述源存儲(chǔ)器件的讀取命令;及替換自所述目的地存儲(chǔ)器件接收到的響應(yīng)中的RX_ID,以便所述源存儲(chǔ)器件接收預(yù)期的RX_ID。
本發(fā)明另一方面提供在耦合到光纖信道交換機(jī)元件的存儲(chǔ)器件間實(shí)施復(fù)制操作的方法。所述方法包括,接收用戶(hù)命令來(lái)將數(shù)據(jù)自源存儲(chǔ)器件復(fù)制到目的地存儲(chǔ)器件,其中所述光纖信道交換機(jī)接收所述用戶(hù)命令并控制所述復(fù)制操作,以便所述光纖信道交換機(jī)對(duì)于所述源存儲(chǔ)器件而言可視作目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言所述光纖信道交換機(jī)可視作源存儲(chǔ)器件。
所述光纖信道交換機(jī)起SCSI啟動(dòng)器作用并啟動(dòng)對(duì)所述目的地存儲(chǔ)器件的寫(xiě)入操作以及啟動(dòng)對(duì)所述源存儲(chǔ)器件的讀取操作;及使用別名高速緩沖存儲(chǔ)器在所述目的地及源存儲(chǔ)器件間攔截消息。
使用RX_ID映像高速緩沖存儲(chǔ)器來(lái)替換RX_ID,以便對(duì)于所述源存儲(chǔ)器件而言光纖信道寫(xiě)入目標(biāo)可視作目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言光纖信道讀取目標(biāo)可視作源存儲(chǔ)器件。
本發(fā)明再一方面提供具有至少一主系統(tǒng)及多個(gè)在功能上相互耦合的存儲(chǔ)器件的SAN。所述SAN包括光纖信道交換機(jī)元件,接收用戶(hù)命令來(lái)自源存儲(chǔ)器件將數(shù)據(jù)復(fù)制到目的地存儲(chǔ)器件,其中所述光纖信道交換機(jī)接收所述用戶(hù)命令并控制所述復(fù)制操作,以便所述光纖信道交換機(jī)對(duì)于所述源存儲(chǔ)器件而言可視作目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言所述光纖信道交換機(jī)可視作源存儲(chǔ)器件。
本發(fā)明又一方面提供在功能上與主系統(tǒng)及多個(gè)存儲(chǔ)器件耦合的光纖信道交換機(jī)元件。所述光纖信道交換機(jī)元件包括交換機(jī)軟件模塊來(lái)接收用戶(hù)命令以將數(shù)據(jù)自源存儲(chǔ)器件復(fù)制到目的地存儲(chǔ)器件,其中所述光纖信道交換機(jī)控制所述復(fù)制操作,以便所述光纖信道交換機(jī)對(duì)于所述源存儲(chǔ)器件而言可視作目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言所述光纖信道交換機(jī)可視作源存儲(chǔ)器件。
已提供此概述以便可快速理解本發(fā)明的性質(zhì)。通過(guò)結(jié)合附圖參考以下對(duì)于本發(fā)明較佳實(shí)施例的闡述說(shuō)明可更全面的了解本發(fā)明。
現(xiàn)在將參照較佳實(shí)施例的附圖來(lái)描述本發(fā)明的以上特征和其他特征。在附圖中,相同的組件具有相同的參考數(shù)字。所圖解說(shuō)明的實(shí)施例意欲舉例說(shuō)明本發(fā)明而非限制本發(fā)明。附圖包括以下圖圖1A顯示光纖信道存儲(chǔ)區(qū)域網(wǎng)絡(luò)的實(shí)例;圖1B根據(jù)本發(fā)明一方面顯示光纖信道交換機(jī)元件實(shí)例;圖1C根據(jù)本發(fā)明一方面顯示20-信道交換機(jī)底座;圖1D根據(jù)本發(fā)明一方面顯示具有16個(gè)GL_端口和4個(gè)10G端口的光纖信道交換機(jī)元件的方塊圖;圖1E根據(jù)本發(fā)明一方面顯示其中使用光纖信道交換機(jī)復(fù)制數(shù)據(jù)的交換機(jī)結(jié)構(gòu)的方塊圖;圖1F根據(jù)本發(fā)明一方面顯示用于控制復(fù)制操作的交換機(jī)端口的方塊圖;圖2顯示根據(jù)本發(fā)明一方面RX_ID映像高速緩沖存儲(chǔ)器的邏輯圖;圖3是根據(jù)本發(fā)明一方面交換機(jī)控制復(fù)制操作的流程圖;及圖4根據(jù)本發(fā)明一方面顯示RX_ID替換的方塊圖。
具體實(shí)施例方式
定義之所以提供以下定義是因?yàn)樗鼈兺ǔ?但并不僅僅)用于光纖信道環(huán)境中,執(zhí)行本發(fā)明的各適用方面。
“D_ID”含有幀的目的地地址的24-位光纖信道標(biāo)題字段。
“交換”—對(duì)SCSI數(shù)據(jù)讀取或?qū)懭氲牟僮?。交換由三個(gè)操作階段構(gòu)成命令階段、數(shù)據(jù)傳送階段及響應(yīng)階段。
“E_端口”連接到另一個(gè)互連端口以產(chǎn)生交換機(jī)間鏈路的架構(gòu)擴(kuò)展端口。
“F_端口”非回路N_端口與之連接而連接到架構(gòu)的端口且不包括FL_端口。
“光纖信道ANSI標(biāo)準(zhǔn)”所述標(biāo)準(zhǔn)(其全部?jī)?nèi)容以引用方式并入本文中)描述用來(lái)支持與IPI、SCSI、IP、ATM等有關(guān)聯(lián)的其他高級(jí)協(xié)議的高性能串行鏈路的物理接口、傳輸和信令協(xié)議。
“架構(gòu)”一組交換機(jī)、目標(biāo)和主器件(NL_端口、N_端口等)的結(jié)構(gòu)或組織。
“架構(gòu)拓?fù)浣Y(jié)構(gòu)”這是其中將器件直接連接到光纖信道架構(gòu)的拓?fù)浣Y(jié)構(gòu),其使用嵌于幀標(biāo)題中的目的地標(biāo)識(shí)符將幀通過(guò)光纖信道架構(gòu)路由至期望的目的地。
“啟動(dòng)器”啟動(dòng)輸入/輸出(“IO”)操作的SCSI器件,例如HBA。
“L_端口”含有與仲裁回路拓?fù)浣Y(jié)構(gòu)相關(guān)聯(lián)的仲裁回路功能的端口。
“OX_ID”光纖信道幀標(biāo)題中的始發(fā)方(即起始交換的器件/端口)交換標(biāo)識(shí)字段。
“N_端口”直接架構(gòu)連接的端口,例如磁盤(pán)驅(qū)動(dòng)器或HBA。
“NL_端口”可實(shí)施N_端口功能的L_端口。
“PLOGI”標(biāo)準(zhǔn)光纖信道N_端口至N_端口注冊(cè)。PLOGI確定N_端口至N_端口參數(shù)并提供一組具體的操作參數(shù)來(lái)在N_端口間通信。端口請(qǐng)求PLOGI將尋址PLOGI擴(kuò)充鏈路服務(wù)請(qǐng)求發(fā)送到其需要與之通信的N_端口的D_ID。然后尋址N_端口傳回ACC(接受)回復(fù)。所述請(qǐng)求及回復(fù)含有在所述N_端口間通信的操作參數(shù)。所述請(qǐng)求及回復(fù)的格式由光纖信道標(biāo)準(zhǔn)提供。
“端口”通常指N.sub.--端口或F.sub.--端口。
“PRLI”由SCSI器件使用來(lái)建立SCSI連接的光纖信道進(jìn)程注冊(cè)。
“RX_ID”光纖信道幀標(biāo)題中的響應(yīng)方(即響應(yīng)的器件/端口)交換標(biāo)識(shí)字段。
“SAN”存儲(chǔ)區(qū)域網(wǎng)絡(luò)“SCSI FCP”用于在光纖信道SAN上執(zhí)行SCSI的標(biāo)準(zhǔn)協(xié)議,其全部?jī)?nèi)容以引用方式并入本文中。
“S_ID”含有幀的源地址的光纖信道幀標(biāo)題中的24-位字段。
“交換機(jī)”符合光纖信道交換機(jī)標(biāo)準(zhǔn)的架構(gòu)元件。
“目標(biāo)”接收來(lái)自啟動(dòng)器(例如存儲(chǔ)器件,例如磁盤(pán)及磁帶驅(qū)動(dòng)器)的IO操作的SCSI器件。
交換機(jī)元件為促進(jìn)對(duì)所述較佳實(shí)施例的理解,將對(duì)光纖信道交換機(jī)元件的一般構(gòu)造及操作加以描述。然后參照光纖信道交換機(jī)元件的一般結(jié)構(gòu)描述較佳實(shí)施例的具體結(jié)構(gòu)及操作。
圖1B是根據(jù)本發(fā)明一方面的20-端口A(yíng)SIC架構(gòu)元件的方塊圖。圖1B提供使用所述20-端口架構(gòu)元件的20-信道交換機(jī)底座的一般結(jié)構(gòu)。架構(gòu)元件包括在任何端口間均具有無(wú)阻塞光纖信道2類(lèi)(無(wú)連接,已確認(rèn))和3類(lèi)(無(wú)連接,未確認(rèn))服務(wù)的ASIC20。值得注意的是,在本文所述的本發(fā)明的范圍及操作內(nèi),ASIC 20也可設(shè)計(jì)用于1類(lèi)(面向連接的)服務(wù)。
本發(fā)明的架構(gòu)元件目前作為單CMOS ASIC實(shí)施,為此術(shù)語(yǔ)“架構(gòu)元件”與ASIC可互換使用,指本說(shuō)明書(shū)中的較佳實(shí)施例。盡管圖1B顯示20個(gè)端口,但本發(fā)明并不限于任何具體數(shù)量的端口。
ASIC 20具有在圖1B中標(biāo)記為GL0至GL19的20個(gè)端口。這些端口屬于常見(jiàn)光纖信道端口類(lèi)型,例如F_端口、FL_端口和E_端口。換言之,根據(jù)其連接目標(biāo),每一GL_端口均可起任一類(lèi)型端口的作用。并且,如下文所述,所述GL_端口可起用于架構(gòu)元件鏈結(jié)的特殊端口的作用。
僅出于例示的目的,在圖1B中將所有GL_端口均繪在A(yíng)SIC 20的同一側(cè)上。然而,如其他圖中所述,所述端口可位于A(yíng)SIC 20的兩側(cè)上。此并不表明端口或ASIC設(shè)計(jì)中有任何差異。端口的實(shí)際物理布局將取決于A(yíng)SIC的物理布局。
每一端口GL0至GL19均具有接至交換機(jī)縱橫結(jié)構(gòu)50的傳輸和接收連接。一個(gè)連接是通過(guò)接收緩沖器52,接收緩沖器52用于在路由操作期間接收并暫時(shí)保持幀。另一連接是通過(guò)傳輸緩沖器54。
交換機(jī)縱橫結(jié)構(gòu)50包括許多交換機(jī)縱橫結(jié)構(gòu),用來(lái)處理特定類(lèi)型的數(shù)據(jù)及數(shù)據(jù)流控制信息。僅出于例示的目的,將交換機(jī)縱橫結(jié)構(gòu)50顯示為單一縱橫結(jié)構(gòu)。交換機(jī)縱橫結(jié)構(gòu)50是無(wú)連接縱橫結(jié)構(gòu)(分組交換),其具有已知的常見(jiàn)設(shè)計(jì),尺寸經(jīng)設(shè)計(jì)以連接21×21個(gè)路徑。這是為了容納20個(gè)GL_端口加一個(gè)用于連接架構(gòu)控制器(其可在A(yíng)SIC 20的外部)的端口。
在本文所述的交換機(jī)底座較佳實(shí)施例中,所述架構(gòu)控制器為固件程控微處理器,也稱(chēng)為輸入/輸出處理器(“IOP”)。IOP 66在圖1C中作為利用一或多個(gè)ASIC 20的開(kāi)關(guān)底座的一部分顯示。在圖1B中可看出,至IOP 66的雙向連接通過(guò)端口67路由,而端口67內(nèi)部連接到控制總線(xiàn)60。傳輸緩沖器56、接收緩沖器58、控制寄存器62和狀態(tài)寄存器連接到總線(xiàn)60。傳輸緩沖器56和接收緩沖器58將內(nèi)部無(wú)連接交換機(jī)縱橫結(jié)構(gòu)50連接到IOP66,以便其可發(fā)出或接收幀。
控制寄存器62接收并保持來(lái)自IOP 66的控制信息,以便IOP 66可通過(guò)置換寄存器62中的某些控制字來(lái)改變ASIC 20的特性或操作配置。IOP 66通過(guò)監(jiān)控電路(未圖示)可監(jiān)控制放置在狀態(tài)寄存器64中的各種代碼,從而可讀取ASIC 20的狀態(tài)。
圖1C顯示使用ASIC 20和IOP 66的20-信道交換機(jī)底座S2。S2也可包括其他元件,例如電源(未圖示)。這20個(gè)GL_端口響應(yīng)于信道C0至C19。每個(gè)GL_端口均具有指定為S0至S19的串行/反串行器(SERDES)。理想地,將所述SERDES的功能構(gòu)建于A(yíng)SIC 20上以提高效率,但另一選擇為可處于各GL_端口的外部。SERDES將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)流以進(jìn)行傳輸并將所接收到的串行數(shù)據(jù)轉(zhuǎn)化成并行數(shù)據(jù)。8位至10位編碼便得SERDES能自所接收到的數(shù)據(jù)流產(chǎn)生時(shí)鐘信號(hào)。
如高性能交換機(jī)設(shè)計(jì)中所熟知,每個(gè)GL_端口均可具有光電轉(zhuǎn)換器(指定為OE0至OE19),這些光電轉(zhuǎn)換器通過(guò)串行線(xiàn)與其SERDES連接,用來(lái)提供光纖光輸入/輸出連接。這些轉(zhuǎn)換器連接到交換機(jī)信道C0至C19。值得注意的是,這些端口可通過(guò)銅路徑或其他構(gòu)件而不是通過(guò)光電轉(zhuǎn)換器連接。
圖1D顯示ASIC 20的方塊圖,ASIC 20具有16個(gè)GL_端口和用于4個(gè)指定為XGP0至XGP3的10G端口的4個(gè)指定為XG0至XG3的G(吉字節(jié))端口控制模塊。ASIC 20包括控制端口62A,控制端口62A通過(guò)PCI連接66A耦合到IOP66。
在本發(fā)明的一方面中,光纖信道交換機(jī)啟動(dòng)所述光纖信道SCSI命令,自源存儲(chǔ)器件讀取數(shù)據(jù)并將數(shù)據(jù)寫(xiě)入到目的地存儲(chǔ)器件中。對(duì)于源器件而言,交換機(jī)可視作目的地器件,而對(duì)于目的地器件而言,交換機(jī)可視作源器件。
交換機(jī)將數(shù)據(jù)幀直接自源存儲(chǔ)器件路由到目的地。交換機(jī)攔截控制幀,然后對(duì)其加以處理,如同所述交換機(jī)是SCSI FPC啟動(dòng)器。
圖1E顯示允許光纖交換機(jī)元件20控制并促進(jìn)存儲(chǔ)器件間的數(shù)據(jù)復(fù)制的系統(tǒng)。ASIC 20具有各自耦合至存儲(chǔ)器件18和16的F_端口22和19。提供在功能上耦合到交換機(jī)軟件/固件24的用戶(hù)接口23,而交換機(jī)軟件/固件24是交換機(jī)管理軟件程序(未圖示)的一部分。
軟件模塊24經(jīng)由用戶(hù)接口23接收用戶(hù)命令來(lái)實(shí)施備份或?qū)嵤?fù)制操作。用戶(hù)命令包括源(即欲自其中復(fù)制數(shù)據(jù)的存儲(chǔ)器件,例如器件18)器件信息及目的地器件(即,欲將數(shù)據(jù)復(fù)制于其中的器件,例如器件16)信息。
一旦接收到用戶(hù)命令,ASIC 20便著手控制所述復(fù)制操作。ASIC 20將寫(xiě)入命令發(fā)送給目標(biāo)器件,例如16,并將讀取命令發(fā)送給目標(biāo)器件,例如18。命令中的地址將可視作來(lái)自存儲(chǔ)器件,但實(shí)際上是來(lái)自ASIC 20。
圖1F根據(jù)本發(fā)明一方面顯示端口22的實(shí)例。端口22包括接收管線(xiàn)來(lái)接收光纖信道幀/數(shù)據(jù)29。所接收到的數(shù)據(jù)29經(jīng)過(guò)處理,然后經(jīng)由縱橫結(jié)構(gòu)50傳送到傳輸管線(xiàn)28。傳輸管線(xiàn)28將數(shù)據(jù)30傳輸?shù)侥康牡亍?004年6月20日提出申請(qǐng)的專(zhuān)利申請(qǐng)案第10,894,546號(hào)中提供關(guān)于管線(xiàn)及如何使用別名高速緩沖存儲(chǔ)器27傳輸幀的詳細(xì)情況,所述申請(qǐng)案的整個(gè)揭示內(nèi)容以引用方式并入本文中。
使用別名高速緩沖存儲(chǔ)器27來(lái)攔截來(lái)自復(fù)制操作的源器件18和目的地16的控制幀并將所述幀路由到交換機(jī)軟件24。別名高速緩沖存儲(chǔ)器的其他功能已在上述專(zhuān)利申請(qǐng)案中闡述。
端口22也包括RX_ID映像高速緩沖存儲(chǔ)器26,來(lái)替換由端口22接收或傳輸?shù)膸系腞X_ID。在本發(fā)明一方面中,響應(yīng)于將數(shù)據(jù)自器件18傳送到器件16的復(fù)制操作,RX_ID映像高速緩沖存儲(chǔ)器26用由器件18提供的RX_ID替換由器件16提供的RX_ID。如果沒(méi)有此替換,則器件16將看到與其預(yù)期不同的RX_ID,協(xié)議差錯(cuò)將導(dǎo)致交換失敗。下文參照?qǐng)D2詳細(xì)闡述RX_ID映像高速緩沖存儲(chǔ)器22。
如果出現(xiàn)預(yù)期狀況,例如如果目標(biāo)器件已超時(shí),則IOP 66固件處理所述預(yù)期狀況。
交換機(jī)控制的復(fù)制操作圖3顯示用于執(zhí)行由交換機(jī)20控制的復(fù)制操作的過(guò)程流程圖。
具體參照?qǐng)D3,在步驟S300中,經(jīng)由用戶(hù)接口23接收到進(jìn)行復(fù)制/備份操作的用戶(hù)命令。在這個(gè)實(shí)例中,待將數(shù)據(jù)自器件18復(fù)制到器件16。在步驟S301中,交換機(jī)軟件模塊24對(duì)器件16實(shí)施建立/注冊(cè)操作。交換機(jī)20將PLOGI幀發(fā)送到器件18和16,且如果成功則將PRLI幀發(fā)送到器件18和16,然后等待回復(fù)。值得注意的是,交換機(jī)20注冊(cè)入目標(biāo)(例如18)中,而不是目標(biāo)注冊(cè)入交換機(jī)20中。
如果所述建立/注冊(cè)成功,則在步驟S302中,交換機(jī)24建立別名高速緩沖存儲(chǔ)器27來(lái)攔截來(lái)自器件18和16的幀并將它們重新路由到IOP 66(控制交換機(jī)軟件24的操作)。在連接到器件18和16的兩個(gè)端口(即端口22和19)中均建立別名高速緩沖存儲(chǔ)器27。值得注意的是步驟S301和S302可同時(shí)發(fā)生來(lái)避免在執(zhí)行所述復(fù)制操作中的時(shí)延。并且,盡管建立別名高速緩沖存儲(chǔ)器27來(lái)攔截幀,但可使用任何其他組件來(lái)作用幀的過(guò)濾器。
在步驟S303中,使用軟件24的交換機(jī)20使用SCSI FCP_CMND消息啟動(dòng)對(duì)目的地16的SCSI寫(xiě)入操作。源地址設(shè)置成器件18的地址。在步驟S304中,交換機(jī)20也對(duì)所述交換分配OX_ID。
在步驟S305中,器件16答復(fù)在步驟S303中由交換機(jī)20發(fā)送的命令而發(fā)送SCSIFCP_XFER_RDY消息。來(lái)自器件16的消息包括為器件18(源器件)設(shè)置的D_ID及也由器件16分配的RX_ID。
在步驟S306中,交換機(jī)軟件24將自器件16接收到的消息路由到IOP 66,并且在步驟S307中,交換機(jī)軟件24在端口22中建立RX_ID映像高速緩沖存儲(chǔ)器26,所述RX_ID映像高速緩沖存儲(chǔ)器26接收來(lái)自器件18的幀。
在步驟S308中,交換機(jī)軟件24使用SCSI FCP_CMND消息啟動(dòng)對(duì)器件18的SCSI讀取命令。所述消息的源地址被設(shè)定成器件16的N_端口地址。
在步驟S309中,將數(shù)據(jù)自器件18直接路由到器件16。數(shù)據(jù)本身未被別名高速緩沖存儲(chǔ)器27攔截。RX_ID映像高速緩沖存儲(chǔ)器自數(shù)據(jù)幀中的FCP_XFER_RDY(步驟S305中)替換所述RX_ID,以便器件16得到所期望的RX_ID。由于所述替換的緣故,光纖信道寫(xiě)入目標(biāo)在所述源存儲(chǔ)器件看起來(lái)為目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,光纖信道讀取目標(biāo)看起來(lái)為源存儲(chǔ)器件。
在步驟S310中,在器件18已發(fā)送所有數(shù)據(jù)后,其發(fā)送FCP_RSP消息。此消息再次被別名高速緩沖存儲(chǔ)器27攔截并被路由到軟件24(即IOP 66)。
在步驟S311中,交換機(jī)軟件24將LOGO消息同時(shí)發(fā)送給器件18及16,如果在所述交換期間無(wú)差錯(cuò)。交換機(jī)軟件24也將完成消息發(fā)送給用戶(hù)。如果在所述交換期間有任何差錯(cuò),則交換機(jī)軟件24類(lèi)似于SCSI啟動(dòng)器實(shí)施差錯(cuò)恢復(fù)。
值得注意的是,存儲(chǔ)器件18和16并非直接修正到交換機(jī)20。并且,RX_ID映像高速緩沖存儲(chǔ)器26和別名高速緩沖存儲(chǔ)器27在執(zhí)行復(fù)制操作時(shí)僅須比較D_ID或S_ID。
RX_ID映像高速緩沖存儲(chǔ)器26RX_ID映像高速緩沖存儲(chǔ)器26包括多個(gè)表項(xiàng)并映射在端口處接收到的幀的D_ID或映射自所述端口發(fā)送到RX_ID的幀的S_ID。在上文參照?qǐng)D3描述的目標(biāo)對(duì)目標(biāo)復(fù)制操作期間高速緩沖存儲(chǔ)器26中的表項(xiàng)被交換機(jī)軟件24占據(jù)。圖2顯示具有表項(xiàng)00至表項(xiàng)15(即16個(gè)表項(xiàng))的RX_ID映像高速緩沖存儲(chǔ)器26的詳細(xì)邏輯圖。表項(xiàng)00包括26P,用于RX_ID替換的16位值。
值得注意的是盡管圖2中顯示多種不同的位值,但本發(fā)明的適用方面并不限于任何具體的位值。
高速緩沖存儲(chǔ)器26包括多工器26D,來(lái)接收所接收到的幀的24位D_ID值26C以及自端口(例如22)傳輸?shù)膸?4位S_ID值26B。使用命令/信號(hào)26A,以便能夠進(jìn)行接收側(cè)(即D_ID)比較。將類(lèi)似的命令/信號(hào)(未圖示)用于傳輸側(cè)。
邏輯26K、26L和26M分別對(duì)表項(xiàng)26F、26G和26H進(jìn)行D_ID或S_ID比較。對(duì)有效表項(xiàng)設(shè)置有效位26E。邏輯26N根據(jù)比較結(jié)果產(chǎn)生命令/信號(hào)(輸出26J)。將輸出26J發(fā)送到邏輯26Q,產(chǎn)生擊中信號(hào)26R或多擊中信號(hào)26S。如果產(chǎn)生多擊中信號(hào)26R,則可使用最低表項(xiàng)數(shù),并且錯(cuò)誤狀態(tài)被建立并被發(fā)送至IOP 66。
也將輸出26J發(fā)送到編碼器模塊26T,編碼器模塊26T的輸出發(fā)送到MUX 26U。如果產(chǎn)生擊中信號(hào)26R,則將來(lái)自高速緩沖存儲(chǔ)器表項(xiàng)(26P)的RX_ID代入幀標(biāo)題RX_ID字段中。此在圖2中顯示為26V。
圖4顯示RX_ID替換是如何發(fā)生的方塊圖。幀31進(jìn)入端口(例如22),各個(gè)幀字段顯示于表33中。自端口出來(lái)的幀顯示為32且各個(gè)幀字段顯示于表34中。上文已參照?qǐng)D2和3闡述RX_ID替換。
對(duì)于具有RX_ID替換的幀,更新循環(huán)冗余代碼(“CRC”)。在替換新的CRC值之前檢查先前的CRC值。如果檢測(cè)到CRC錯(cuò)誤,則對(duì)幀的幀結(jié)尾(“EOF”)加以修改以顯示為無(wú)效幀。
在本發(fā)明的一方面中,光纖信道交換機(jī)控制自一個(gè)存儲(chǔ)器件到另一個(gè)存儲(chǔ)器件的數(shù)據(jù)復(fù)制。此使得不需要將數(shù)據(jù)自源存儲(chǔ)器件復(fù)制到服務(wù)器,然后自服務(wù)器復(fù)制到目的地器件。
盡管已參照具體實(shí)施例對(duì)本發(fā)明加以描述,但這些實(shí)施例僅起說(shuō)明作用而不具有限制性。根據(jù)本揭示內(nèi)容及隨附權(quán)利要求書(shū)可明了本發(fā)明的許多其他應(yīng)用和實(shí)施例。
權(quán)利要求
1.一種用于在耦合到光纖信道交換機(jī)的存儲(chǔ)器件間實(shí)施復(fù)制操作的方法,其包括啟動(dòng)對(duì)目的地目標(biāo)存儲(chǔ)器件的寫(xiě)入操作,其中所述光纖信道交換機(jī)啟動(dòng)所述寫(xiě)入操作并設(shè)定要自其中復(fù)制數(shù)據(jù)的源存儲(chǔ)器件的源地址;接收來(lái)自所述目的地存儲(chǔ)器件的響應(yīng),其中所述響應(yīng)包括所述源存儲(chǔ)器件的D_ID;將所述響應(yīng)自所述目的地存儲(chǔ)器件路由到交換機(jī)處理器;啟動(dòng)對(duì)所述源存儲(chǔ)器件的讀取命令;及替換自所述目的地存儲(chǔ)器件接收的所述響應(yīng)中的RX_ID,以便所述源存儲(chǔ)器件接收預(yù)期的RX_ID。
2.如權(quán)利要求1所述的方法,其中將數(shù)據(jù)自所述源存儲(chǔ)器件直接路由到所述目的地存儲(chǔ)器件而不加以攔截。
3.如權(quán)利要求1所述的方法,其中別名高速緩沖存儲(chǔ)器攔截并路由控制幀。
4.如權(quán)利要求1所述的方法,其中使用RX_ID映像高速緩沖存儲(chǔ)器來(lái)替換RX_ID值。
5.如權(quán)利要求1所述的方法,其中對(duì)于具有經(jīng)替換RX_ID的幀,更新循環(huán)冗余代碼。
6.如權(quán)利要求1所述的方法,其中所述光纖信道交換機(jī)元件實(shí)施PLOGI操作。
7.如權(quán)利要求6所述的方法,其中所述光纖信道交換機(jī)元件實(shí)施PRLI操作。
8.一種用于在耦合到光纖信道交換機(jī)的存儲(chǔ)器件間實(shí)施復(fù)制操作的方法,其包括接收用戶(hù)命令來(lái)將數(shù)據(jù)自源存儲(chǔ)器件復(fù)制到目的地存儲(chǔ)器件,其中所述光纖信道交換機(jī)接收所述用戶(hù)命令并控制所述復(fù)制操作,以便所述光纖信道交換機(jī)在所述源存儲(chǔ)器件看起來(lái)為所述目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,所述光纖信道交換機(jī)看起來(lái)為所述源存儲(chǔ)器件。
9.如權(quán)利要求8所述的方法,其中所述光纖信道交換機(jī)起SCSI啟動(dòng)器作用并啟動(dòng)對(duì)所述目的地存儲(chǔ)器件的寫(xiě)入操作以及啟動(dòng)對(duì)所述源存儲(chǔ)器件的讀取操作。
10.如權(quán)利要求8所述的方法,其中所述光纖信道交換機(jī)使用別名高速緩沖存儲(chǔ)器在所述目的地和源存儲(chǔ)器件間攔截消息。
11.如權(quán)利要求8所述的方法,其中使用RX_ID映像高速緩沖存儲(chǔ)器來(lái)替換RX_ID,以便光纖信道寫(xiě)入目標(biāo)在所述源存儲(chǔ)器件看起來(lái)為所述目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,光纖信道讀取目標(biāo)看起來(lái)為所述源存儲(chǔ)器件。
12.如權(quán)利要求8所述的方法,其中對(duì)于具有經(jīng)替換RX_ID的幀,更新循環(huán)冗余代碼。
13.如權(quán)利要求8所述的方法,其中所述光纖信道交換機(jī)元件實(shí)施PLOGI操作。
14.如權(quán)利要求13所述的方法,其中所述光纖信道交換機(jī)元件實(shí)施PRLI操作。
15.一種具有至少一主系統(tǒng)及多個(gè)在功能上相互耦合的存儲(chǔ)器件的存儲(chǔ)區(qū)域網(wǎng)絡(luò),其包括光纖信道交換機(jī)元件,其接收用戶(hù)命令來(lái)將數(shù)據(jù)自源存儲(chǔ)器件復(fù)制到目的地存儲(chǔ)器件,其中所述光纖信道交換機(jī)接收所述用戶(hù)命令并控制所述復(fù)制操作,以便所述光纖信道交換機(jī)在所述源存儲(chǔ)器件看起來(lái)為所述目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,所述光纖信道交換機(jī)看起來(lái)為所述源存儲(chǔ)器件。
16.如權(quán)利要求15所述的存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述光纖信道交換機(jī)起SCSI啟動(dòng)器作用并啟動(dòng)對(duì)所述目的地存儲(chǔ)器件的寫(xiě)入操作以及啟動(dòng)對(duì)所述源存儲(chǔ)器件的讀取操作。
17.如權(quán)利要求15所述的存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述光纖信道交換機(jī)使用別名高速緩沖存儲(chǔ)器在所述目的地和源存儲(chǔ)器件間攔截消息。
18.如權(quán)利要求15所述的存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中使用RX_ID映像高速緩沖存儲(chǔ)器來(lái)替換RX_ID,以便光纖信道寫(xiě)入目標(biāo)在所述源存儲(chǔ)器件看起來(lái)為所述目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,光纖信道讀取目標(biāo)看起來(lái)為所述源存儲(chǔ)器件。
19.如權(quán)利要求15所述的存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中對(duì)于具有經(jīng)替換RX_ID的幀,更新循環(huán)冗余代碼。
20.如權(quán)利要求15所述的存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述光纖信道交換機(jī)元件實(shí)施PLOGI操作。
21.如權(quán)利要求20所述的存儲(chǔ)區(qū)域網(wǎng)絡(luò),其中所述光纖信道交換機(jī)元件實(shí)施PRLI操作。
22.一種在功能上耦合到主系統(tǒng)及多個(gè)存儲(chǔ)器件的光纖信道交換機(jī)元件,其包括交換機(jī)軟件模塊,其接收用戶(hù)命令來(lái)將數(shù)據(jù)自源存儲(chǔ)器件復(fù)制到目的地存儲(chǔ)器件,其中所述光纖信道交換機(jī)控制所述復(fù)制操作,以便所述光纖信道交換機(jī)在所述源存儲(chǔ)器件看起來(lái)為所述目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,所述光纖信道交換機(jī)看起來(lái)為所述源存儲(chǔ)器件。
23.如權(quán)利要求22所述的光纖信道交換機(jī)元件,其中所述光纖信道交換機(jī)起SCSI啟動(dòng)器作用并啟動(dòng)對(duì)所述目的地存儲(chǔ)器件的寫(xiě)入操作以及啟動(dòng)對(duì)所述源存儲(chǔ)器件的讀取操作。
24.如權(quán)利要求22所述的光纖信道交換機(jī),其中所述光纖信道交換機(jī)使用別名高速緩沖存儲(chǔ)器在所述目的地和源存儲(chǔ)器件間攔截消息。
25.如權(quán)利要求22所述的光纖信道交換機(jī),其中使用RX_ID映像高速緩沖存儲(chǔ)器來(lái)替換RX_ID,以便光纖信道寫(xiě)入目標(biāo)在所述源存儲(chǔ)器件看起來(lái)為所述目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,光纖信道讀取目標(biāo)看起來(lái)為所述源存儲(chǔ)器件。
26.如權(quán)利要求22所述的光纖信道交換機(jī),其中對(duì)于具有經(jīng)替換RX_ID的幀,更新循環(huán)冗余代碼。
27.如權(quán)利要求22所述的光纖信道交換機(jī),其中所述光纖信道交換機(jī)元件實(shí)施PLOGI操作。
28.如權(quán)利要求27所述的光纖信道交換機(jī),其中所述光纖信道交換機(jī)元件實(shí)施PRLI操作。
全文摘要
本發(fā)明提供一種用于在耦合到光纖信道交換機(jī)元件的存儲(chǔ)器件間實(shí)施復(fù)制操作的方法和系統(tǒng)。所述光纖信道交換機(jī)元件接收用戶(hù)命令來(lái)將數(shù)據(jù)自源存儲(chǔ)器件復(fù)制到目的地存儲(chǔ)器件并控制所述復(fù)制操作。所述光纖信道交換機(jī)起SCSI啟動(dòng)器作用并啟動(dòng)對(duì)所述目的地存儲(chǔ)器件的寫(xiě)入操作以及啟動(dòng)對(duì)所述源存儲(chǔ)器件的讀取操作;并使用別名高速緩沖存儲(chǔ)器在所述目的地與源存儲(chǔ)器件間攔截消息。使用RX_ID映像高速緩沖存儲(chǔ)器來(lái)替換RX_ID,以便光纖信道寫(xiě)入目標(biāo)在所述源存儲(chǔ)器件看起來(lái)為目的地存儲(chǔ)器件,而對(duì)于所述目的地存儲(chǔ)器件而言,光纖信道讀取目標(biāo)看起來(lái)為源存儲(chǔ)器件。
文檔編號(hào)G06F3/06GK101040251SQ200580032889
公開(kāi)日2007年9月19日 申請(qǐng)日期2005年9月27日 優(yōu)先權(quán)日2004年10月1日
發(fā)明者弗蘭克·R·德羅普斯, 凱文·M·武爾策 申請(qǐng)人:Q邏輯公司