两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

中間站的制作方法

文檔序號:6487333閱讀:312來源:國知局
專利名稱:中間站的制作方法
技術領域
所揭示的內(nèi)容涉及中間站。
背景技術
在常規(guī)的數(shù)據(jù)存儲安排中,一個計算機節(jié)點包括一個主機處理器和一個主機總線適配器(HBA)。該HBA包括端口,HBA通過此該端口,經(jīng)由各自的耦合到端口的點對點通訊鏈路與數(shù)據(jù)存儲裝置通訊。在常規(guī)安排中,采用擴展器以增加數(shù)據(jù)存儲裝置的數(shù)量和/或通訊鏈路的數(shù)量,HBA就經(jīng)由這些通訊鏈路和存儲裝置進行通訊。擴展器允許在HBA的端口之一和多個數(shù)據(jù)存儲裝置和/或通訊鏈路之間進行一對多的通訊。
在傳統(tǒng)安排中,數(shù)據(jù)存儲裝置包括一個獨立碟片冗余陣列(RAID)。主機處理器和/或HBA執(zhí)行RAID相關的操作(例如,涉及維護和/或?qū)嵤㏑AID的操作)。不幸的是,執(zhí)行此類操作可能會使用所不期望的大量的主機處理器和/或HBA處理資源。
附圖的簡要說明下文中參照附圖的詳細描述將使所要求保護的主題的實施例的特征和優(yōu)點變得顯而易見,附圖中相同的序號表示相同的部分,其中

圖1是示出系統(tǒng)實施例的圖表;圖2是用于說明根據(jù)一個實施例執(zhí)行的操作的流程圖。
盡管下文將參考所要求保護的主題的實施例圖示的進行詳細的描述,各種選擇、修改和其變化對應本領域技術人員而言將是顯而易見的。所以,希望所要求保護的主題能夠被從廣義上所理解,并且僅僅按照權利要求書中所闡明的那樣被定義。
詳細說明圖1示例一個系統(tǒng)實施例100。系統(tǒng)100包括一個耦合到芯片集14的處理器12。主機處理器12包括,例如,一種可從本申請的受讓人所購得的Intel奔騰4微處理器。當然,主機處理器12可以包括另一種微處理器,例如,在不背離本實施例的前提下,可以是一種可從本申請的受讓人之外的供應商所購得的微處理器。。
芯片集14包括一個耦合主機處理器12的主機橋接/集線器系統(tǒng),它將主處理器12、系統(tǒng)存儲器21和連接彼此的用戶界面系統(tǒng)16彼此耦合并連接到總線22。芯片集14也可以包括輸入/輸出(I/O)橋接/集線器系統(tǒng)(未示出),其可以將主機橋接/集線器系統(tǒng)耦合到總線22。芯片集14包括一個或多個集成電路芯片,例如那些從本申請的受讓人所購得的集成電路芯片集中所選出的集成電路芯片(例如,圖形存儲器和I/O控制器集線器芯片集),盡管在不背離本實施例的前提下,其它的集成電路芯片也可以被使用。用戶接口系統(tǒng)16包括,例如,鍵盤、定位裝置、和顯示系統(tǒng),其允許人類用戶輸入指令,并且監(jiān)視系統(tǒng)100的操作。
總線22包括符合外設部件互連(PCI)ExpressTM基本規(guī)范1.0版的總線,該基本說明發(fā)布于2002年7月22日,可以從美國俄勒岡州波特蘭市PCI專門興趣組(PCI Special Interest Group)所獲得(下文中將稱之為PCI ExpressTM總線)?;蛘?,總線22也可以包括符合PCI-X規(guī)范1.0a版的總線,該規(guī)范發(fā)布于2000年7月24日,可以從美國俄勒岡州波特蘭市PCI專門興趣組(PCI Special InterestGroup)所獲得(下文中將稱之為PCI-X總線)。在不背離本實施例的前提下,總線22也可以包括其它類型和配置的總線系統(tǒng)。
系統(tǒng)實施例100包括存儲裝置28A和27。存儲裝置28A包括一個或多個通信地經(jīng)由一個或多個通信媒體44A耦合到I/O控制電路卡20的大容量存儲裝置。在此,“存儲裝置”表示一種裝置或者介質(zhì),數(shù)據(jù)和/或指令可以分別存入其中或者從中取出。同樣地,“大容量裝置”表示一種存儲裝置,可用于非揮發(fā)地存儲數(shù)據(jù)和/或指令,并且,舉例而言,可以非限定性地包括磁性、光學、和/或半導體存儲裝置。在此實施例中,卡20包括,舉例而言,一個HBA。存儲裝置27可包括很多存儲裝置28B...28N,其通過一個或多個相應的通信媒體44C...44N分別地耦合到中間站40。存儲裝置28B...28N中的每一個包括一個相應的大容量存儲器。中間站40經(jīng)由一個或多個通信媒體44B通信地耦合到卡20。當然,存儲裝置28A和27的數(shù)量,以及通信媒體44A、44B、44C...44N的數(shù)量,可以在不背離實施例的前提下有所變化。
在此,“通信媒體”表示一種物理實體,電磁輻射可以由此而被發(fā)送和/或接收。同樣地,“中間站”表示網(wǎng)絡中的第一節(jié)點,其可以至少部分地響應第一節(jié)點對來自網(wǎng)絡中的第二節(jié)點的一個或多個分組的接收,從而將一個或多個其它分組轉發(fā)給網(wǎng)絡中的第三節(jié)點。同樣地,“分組”表示編碼一個或多個符號和/或值的一個或多個信號的序列。在此,由第一裝置“轉發(fā)”一個或多個分組,或者“轉發(fā)”來自/經(jīng)由第一裝置的分組表示由第一裝置發(fā)送一個或多個分組,或者發(fā)送來自/經(jīng)由第一裝置的分組表示。
在此實施例中,存儲裝置27可以包括一個或多個獨立磁盤冗余陣列(RAID)29,該冗余陣列可以使用大容量存儲裝置28B...28N來實現(xiàn)??梢杂蒖AID29實現(xiàn)的RAID的級別可以是0,1,或者比1更高。這要取決于,比如,在RAID29內(nèi)實現(xiàn)的RAID,包含在RAID29內(nèi)的大容量存儲裝置28B...28N的數(shù)量可以變化,使得大容量存儲裝置28A...28N的數(shù)量至少能足以實現(xiàn)在RAID29中實現(xiàn)的RAID級別。
處理器12、系統(tǒng)存儲器21、芯片集14、總線22、以及電路板插槽30可以包含在單個的電路板上,比如就像系統(tǒng)主板32。主機計算機系統(tǒng)110可包括系統(tǒng)主板32。
在此實施例內(nèi),卡20可以使用諸如串行高級技術連接(SATA)協(xié)議或/或串行連接小型計算機系統(tǒng)接口(SAS)協(xié)議,經(jīng)由一個或媒體44A和一個或多個媒體44B分別與一個或多個大容量存儲裝置28A和中間站40交換數(shù)據(jù)。當然,可選擇地,在不背離本實施例的前提下,I/O控制器卡20可以使用其它的和/或額外的通信協(xié)議來與一個或多個大容量存儲器28A和中間站40交換數(shù)據(jù)和/或命令。
在此實施例內(nèi),中間站40可以使用諸如S-ATA和/或SAS協(xié)議經(jīng)由通信媒體44C...44N來與存儲裝置27交換數(shù)據(jù)和/或命令。當然,可選擇地,在不背離本實施例的前提下,站40可以使用其它和/或額外的通信協(xié)議來與裝置27交換數(shù)據(jù)和/或命令。
根據(jù)本實施例,如果控制器卡20使用S-ATA協(xié)議來與一個或多個大容量存儲裝置28A和中間站40交換數(shù)據(jù)和/或命令,和/或如果中間站40使用S-ATA協(xié)議來與大容量存儲裝置27交換數(shù)據(jù)和/或命令,則該S-ATA協(xié)議應符合或者兼容由串行ATA工作組在2001年8月29日發(fā)布的“串行ATA高速序列化AT連接”,1.0版中的協(xié)議。如果控制器卡20使用SAS協(xié)議來與一個或多個大容量存儲裝置28A和中間站40交換數(shù)據(jù)和/或命令,和/或如果中間站40使用SAS協(xié)議來與大容量存儲裝置27交換數(shù)據(jù)和/或命令,則該SAS協(xié)議應符合或者兼容由美國國家標準協(xié)會于2002年10月19日發(fā)布的,國際委員會為信息技術標準(INCITS)T10技術委員會,T10/1562-D計劃的美國國家標準工作草案,即“信息技術-串行連接的SCSI(SAS)”(此處稱之為“SAS標準”),以及其后續(xù)發(fā)布的SAS標準版本。
依賴于,例如,總線22是否包括PCI ExpressTM總線或者PCI-X總線,電路卡插槽30包括,例如,PCI ExpressTM或PCI-X總線兼容或者一致的擴展插槽或接口36。接口36可包括總線連接器37,其電氣地并且機械地與匹配的總線連接器34相連接,該總線連接器34可包含在電路卡20內(nèi)的總線擴展插槽或者接口35中。
在此,“電路”包括,例如,以下的單個元件或者其結合硬件電路、可編程電路、狀態(tài)機電路、和/或包含可由可編程電路執(zhí)行的程序指令的存儲器。在此實施例中,電路卡20可包括工作電路38,其包括計算機可讀存儲器39。存儲器39可包括一個或多個以下類型的存儲器半導體固件存儲器、可編程存儲器、不揮發(fā)存儲器、只讀存儲器,電可編程存儲器、隨機訪問存儲器、閃存、磁盤存儲器、和/或光碟存儲器。另外地或者可選擇地,存儲器39還包括其它和/或新發(fā)展的類型的計算機可讀存儲器。
機器可讀固件程序指令可以存儲在存儲器39中。這些指令可以由工作電路38訪問和執(zhí)行。當這些指令被電路38執(zhí)行時,它們在導致20和/或電路38內(nèi)執(zhí)行此處所述的應由卡20和/或電路38所執(zhí)行的操作。
插槽30和卡20被構建為允許卡20被插入插槽30。當卡20被正確地插入插槽30時,連接器34和36彼此電氣地且機械地相連接。當連接器34和36照此互相連接時,卡20電氣地耦合到總線22上,并且經(jīng)由總線22和芯片集14與系統(tǒng)存儲器21、主機處理器12、和/或用戶接口系統(tǒng)16交換數(shù)據(jù)和/或指令。
另外,在不背離本實施例的前提下,工作電路38可以不包括在卡20內(nèi),而是包括在其它結構、系統(tǒng)和/或裝置內(nèi)。這些其它的結構、系統(tǒng)、和/或裝置可以,例如,包括在主板32內(nèi),耦合到總線22,并且和系統(tǒng)100內(nèi)的其它組件(例如,系統(tǒng)存儲器21、主機處理器12、和/或用戶接口系統(tǒng)16)交換數(shù)據(jù)和/或指令。
在此實施例內(nèi),中間站40可以包括獨立節(jié)點,其至少部分地耦合到主機系統(tǒng)110和RAID29并且在地理上與之相分開。在此實施例中,站40可包括工作電路,其包括,例如,分組轉發(fā)機制51。在此實施例內(nèi),機制51可包括,例如,一個擴展器52,除非有相反的聲明,其在本實施例內(nèi)符合且/或兼容于其定義,并且執(zhí)行由比如在SAS標準中所提供的SAS擴展器所執(zhí)行的執(zhí)行操作。擴展器52可以包括一個或多個I/O端口54、一個或多個I/O端口56、轉發(fā)/路由電路60、和計算機可讀存儲器64。存儲器64包括一個或多個以下類型的存儲器半導體固件存儲器、可編程存儲器、非揮發(fā)存儲器、只讀存儲器、電可編程存儲器、隨機訪問存儲器、閃存、磁盤存儲器、和/或光碟存儲器。額外地或者選擇地,存儲器64包括其它和/或新發(fā)展的計算機可讀存儲器類型。一個或多個I/O端口54經(jīng)由一個或多個媒介44B耦合到卡20。一個或多個I/O端口56包括多個經(jīng)由媒介44C...44N分別耦合到裝置28B...28N的I/O端口。電路60可以耦合到一個或多個端口54、存儲器64、和端口56。
作為選擇地,在不背離本實施例的前提下,工作電路50可以不包括在獨立中間站內(nèi),該中間站至少部分地與主機系統(tǒng)在地理上110分開,作為替代,工作電路50可以包括在其它例如包括在主板32內(nèi)且耦合到總線22,并且和系統(tǒng)110內(nèi)的其它組件(例如,系統(tǒng)存儲器、主機處理器12、和/或用戶接口系統(tǒng)16)交換數(shù)據(jù)和/或命令的結構、系統(tǒng)、和/或裝置內(nèi)。進一步可選擇地,在不背離其實施例的前提下,舉例來說,這些其它的結構、系統(tǒng)、和/或裝置可以包括在另一個電路卡(未示出)內(nèi),該電路卡經(jīng)由另一包括在主機系統(tǒng)110內(nèi)的電路卡插槽(未示出)耦合到總線22。
例如,存儲器64可儲存機器可執(zhí)行程序指令66和分組轉發(fā)和/或路由表69。表69包括轉發(fā)信息68。在此,“轉發(fā)信息”意為數(shù)據(jù)和/或一個或多個參數(shù),至少部分地取決于這些數(shù)據(jù)或參數(shù)至少部分地作出由其發(fā)出一個或多個分組的一個或多個裝置的確定或選擇。指令66,和/或其部分,可以從存儲器64獲取,并且由電路60、電路62、一個或多個端口54、和/或端口56執(zhí)行。指令66和/或其部分的在電路60、電路62、一個或多個端口54、和/或端口56內(nèi)的執(zhí)行會導致電路60、電路62、一個或多個端口54、和/或端口56分別執(zhí)行在此所述的,應由電路60、電路62、一個或多個端口54、和/或端口56執(zhí)行的功能和/或操作。
如以下所述的,電路60可以維持在存儲器64,并且從存儲器64獲取轉發(fā)信息68和/或表69。部分地基于轉發(fā)信息68和/或表69,電路60可以至少部分地確定一個或多個分組被擴展器52轉發(fā)的方式。此外,同樣如以下所描述的,電路62能夠執(zhí)行一個或多個涉及RAID的操作,它們可以使用,例如,包括在一個或多個被擴展器54從卡20和/或RAID29所接收的分組內(nèi)的操作數(shù)、校驗數(shù)據(jù)和/或其它數(shù)據(jù)(例如,從中至少部分地產(chǎn)生或者可能產(chǎn)生校驗數(shù)據(jù)的數(shù)據(jù))。至少部分地作為一個或多個RAID相關操作的結果所產(chǎn)生的校驗數(shù)據(jù)和/或其它數(shù)據(jù),可以分別包括在一個或多個由擴展器52產(chǎn)生并且轉發(fā)給RAID29或者卡20的其它分組之內(nèi)。在此,“校驗數(shù)據(jù)”意為至少部分地基于第二數(shù)據(jù)所產(chǎn)生的第一數(shù)據(jù),并且第二數(shù)據(jù)也可能至少部分地由其產(chǎn)生。在此實施例中,校驗數(shù)據(jù)包括RAID奇偶校驗數(shù)據(jù),例如,電路62可以包括算法電路(未示出),其可以執(zhí)行一個或多個使用和/或涉及校驗數(shù)據(jù)和/或其它從中產(chǎn)生或可以產(chǎn)生校驗數(shù)據(jù)的數(shù)據(jù)的算法和/或邏輯操作。這些一個或多個算法和/或邏輯操作可包括,例如,可以從初始用戶數(shù)據(jù)產(chǎn)生RAID奇偶校驗數(shù)據(jù),和/或可以從這些RAID奇偶校驗數(shù)據(jù)重新產(chǎn)生初始用戶數(shù)據(jù)的邏輯異或操作。
另外,盡管在圖中未示出,轉發(fā)信息68和/或表69的一個或多個部分可以儲存和/或維持在系統(tǒng)100的其它地方,例如,存儲器39和/或存儲器21。在另選的安排中,電路60可以提供一個或多個命令給諸如卡20和/或存儲器21,其可以導致從存儲器39和/或存儲器21接收信息68和/或表69的一個或多個部分,并且將信息68和/或表69的一個或多個部分提供給電路60。
出于此處所述的理由,電路60和/或電路62可以至少部分地基于常規(guī)的RAID技術而確定RAID29內(nèi)的大容量存儲裝置的一個或多個各自的位置,其中存儲或從中獲取校驗數(shù)據(jù)和/或由電路62基于至少部分地用戶數(shù)據(jù)至少部分地產(chǎn)生校驗數(shù)據(jù)的用戶數(shù)據(jù)的一個或多個相應部分。例如,如果在RAID29內(nèi)實施的RAID級別為0,則RAID29內(nèi)沒有校驗數(shù)據(jù),這些位置可以包括用戶數(shù)據(jù)的一個或多個條(未示出)的裝置27中的地址和/或塊位置。另外,如果RAID29內(nèi)實施的RAID級別為1(例如,RAID29實施數(shù)據(jù)鏡像),校驗數(shù)據(jù)可以包括一份用戶數(shù)據(jù)的拷貝,而所述位置可以包括,例如,用戶數(shù)據(jù)以及在各個RAID29的鏡像卷(未示出)內(nèi)用戶數(shù)據(jù)的冗余拷貝的地址和/或塊位置。
盡管所有的存儲裝置27如圖1中所示被包括在RAID29內(nèi),在不背離本實施例的前提下,存儲裝置27的一個子集可以不包括在RAID29內(nèi)。
現(xiàn)在參照圖2,將描述根據(jù)一個實施例所執(zhí)行的操作200。例如,在系統(tǒng)100復位之后,卡20可以經(jīng)由一個或多個媒介44B,把一個或多個分組70發(fā)送給中間站40,其中所述分組70可以包括一個或多個請求72,將包括在一個或多個分組70內(nèi)的用戶數(shù)據(jù)74存儲在RAID29之內(nèi)。一個或多個端口54可以接收一個或多個分組70,且將它們提供給電路60。
至少部分地響應中間站40接收的一個或多個分組70,在中間站40的電路60至少部分地確定多個存儲裝置27內(nèi)的一個或多個分別的位置(例如,位置106和108),從而至少部分地基于在中間站40處的哪個電路62會至少部分地產(chǎn)生校驗數(shù)據(jù),而存儲校驗數(shù)據(jù)和/或其它數(shù)據(jù)的一個或多個部分(例如,部分107和109),如圖2中的操作202所示。而且,至少部分地響應于中間站40接收的一個或多個分組70,在中間站40處的電路60至少部分地基于至少部分地存儲在中間站的轉發(fā)信息68來確定一個或多個包含在端口56內(nèi)的端口,通過該端口,至少部分地基于一個或多個分組70,將一個或多個由電路60產(chǎn)生的其它分組(例如,分組88和96)轉發(fā)給位于多個存儲裝置27的存儲裝置(例如,存儲裝置28B和28N),如圖2中所示。分組88和96包含校驗數(shù)據(jù)和/或其它數(shù)據(jù)(如用戶數(shù)據(jù))的各個部分(例如,帶),其共同地或者單獨的被圖1中的90和98表示,從而被存儲在存儲裝置27中的位置106和108處。當然,取決于在RAID29內(nèi)實現(xiàn)的RAID的級別,經(jīng)由端口56被轉發(fā)給存儲裝置27的分組的數(shù)量和其各自的內(nèi)容,以及傳播那些分組的存儲裝置的數(shù)量,以及存儲在裝置27內(nèi)的校驗數(shù)據(jù)和/或用戶數(shù)據(jù)的部分的數(shù)量,在不背離本實施例的前提下,可以變化以使得所述的RAID級別得以實現(xiàn)。在此,一“部分”數(shù)據(jù)可包括數(shù)據(jù)的部分或全部,或者所述部分或全部數(shù)據(jù)的拷貝。
在此實施例內(nèi),作為操作202和/或204的部分,電路60可以檢查頭信息,比如,可包括一個或多個請求72的目標地址。同樣的,作為操作202和/或204的一部分,電路60將頭信息和轉發(fā)信息68相關聯(lián)以確定端口56中的一個,經(jīng)由該端口,分組88和96經(jīng)由媒介44C和44N被發(fā)送給存儲裝置28B和28N。例如,在此實施例中,轉發(fā)信息68包括一個或多個表(未示出),這些表將可能包括在一個或多個請求72內(nèi)的頭信息中的目的地址與各個存儲裝置27(在其中存儲包括在一個或多個分組70內(nèi)的用戶數(shù)據(jù)的部分和/或由電路62至少部分地基于用戶數(shù)據(jù)所產(chǎn)生的校驗數(shù)據(jù)的部分)內(nèi)的位置(例如,地址和/或塊)相關聯(lián),從而在維持RAID29的同時使一個或多個請求72得到滿足。這些包括在轉發(fā)信息68內(nèi)的一個或多個表也可以將在存儲裝置27內(nèi)的位置和端口56內(nèi)的端口相關聯(lián),其中包括這些位置的存儲裝置經(jīng)由這些端口耦合到擴展器52。此外,轉發(fā)信息68將存儲在這些位置中的數(shù)據(jù)(例如,校驗數(shù)據(jù),或者至少部分地產(chǎn)生校驗數(shù)據(jù)的一個或多個部分的用戶數(shù)據(jù))的類型和存儲裝置27內(nèi)的這些位置的每一個相關聯(lián),以使得RAID29被維持和/或被實現(xiàn)。
作為操作202和/或204的一部分,電路62至少部分地基于用戶數(shù)據(jù)74和與由RAID29所實現(xiàn)的RAID級別相關聯(lián)的常規(guī)RAID技術而產(chǎn)生用戶數(shù)據(jù)74和/或校驗數(shù)據(jù)的一個或多個部分以存儲于存儲裝置27內(nèi),該存儲裝置27在維持RAID29時滿足一個或多個請求。在此實施例中,作為操作202的部分,至少部分地基于轉發(fā)信息68和包括在一個或多個請求中的頭信息,電路60至少部分地確定存儲裝置27內(nèi)的一個或多個各自位置106和108以存儲一個或多個各自的部分90和98以在維持RAID29時滿足一個或多個請求72。同樣,在此實施例中,作為操作204的一部分,至少部分的基于轉發(fā)信息68和包括在一個或多個請求72中的頭信息,電路60至少部分地確定包括在端口56內(nèi)的端口,其中經(jīng)由該端口分組88和96被轉發(fā)給存儲裝置28B和28N,從而在維持RAID29時滿足一個或多個請求72。
在執(zhí)行操作202和204之后,電路60可以產(chǎn)生分組88和96,從而使得各個分組88和96可以分別包括由電路62產(chǎn)生的用戶數(shù)據(jù)和/或校驗數(shù)據(jù)的一個或多個各自部分中的各自的一個。例如,在此實施例中,如果RAID29實現(xiàn)鏡像,一個或多個分組88可以包括與用戶數(shù)據(jù)74相同的用戶數(shù)據(jù)90,而且一個或多個分組96可以包括用戶數(shù)據(jù)90的一份拷貝98。一個或多個分組88同樣也可包括尋址信息,所述尋址信息對作為操作202的結果的由電路60所確定的一個或多個位置106進行尋址。此外,一個或多個分組96也包括尋址信息,該尋址信息對作為操作202的結果的,由電路60所確定的一個或多個位置108進行尋址。
在此實施例中,在產(chǎn)生分組88和96之后,電路60將分組88和96發(fā)送給由電路60作為操作204的結果所確定的,包括在端口56內(nèi)的端口,經(jīng)由這些端口,分組88和96可以被發(fā)送給存儲裝置28B和28N,以滿足一個或多個請求72且維持RAID29。端口56中的端口經(jīng)由一個或多個媒介44C將一個或多個分組88轉發(fā)給存儲裝置28B,并且經(jīng)由一個或多個媒介44N將一個或多個分組96轉發(fā)給存儲裝置28N。
在存儲裝置28B接收一個或多個分組88后,裝置28B可以存儲在由一個或多個分組88內(nèi)的尋址信息所尋址的一個或多個位置106處的一個或多個各自部分90的拷貝107。此外,在存儲裝置28N接收一個或多個分組96后,裝置28N可以在由在一個或多個分組96內(nèi)的尋址信息所尋址的一個或多個位置108處存儲一個或多個部分98的拷貝109。
另外或附加地,卡20可將一個或多個分組(未示出)發(fā)送給中間站40,其中那些分組包括一個或多個從RAID29獲取用戶數(shù)據(jù)的獲取請求(未示出)。一個或多個端口54接收這些一個或多個請求,并且將它們提供給電路60。
至少部分地響應于中間站40接收這些一個或多個獲取請求,電路60至少部分地基于轉發(fā)信息68和包含在一個或多個包括一個或多個請求的分組中的頭信息,從而至少部分地確定(例如,操作202的結果)在存儲裝置27中的一個或多個各自的位置(例如,位置106和108),其中從該位置獲取用戶數(shù)據(jù)74,和/或由電路62至少部分地基于用戶數(shù)據(jù)74所產(chǎn)生的校驗數(shù)據(jù)的一個或多個各自的部分(例如部分107和109)。同樣,至少部分地響應于中間站40接收這些一個或多個請求的,在中間站40處的電路60至少部分地基于至少部分地存儲于中間站的轉發(fā)信息68,和包括在包含所述一個或多個請求的一個或多個分組中的頭信息,從而至少部分地確定一個或多個包括在端口56內(nèi)的端口,其中一個或多個由電路60至少部分地基于一個或多個請求所產(chǎn)生的附加的分組通過所述端口被轉發(fā)給一個或多個存儲裝置27。所述一個或多個附加分組可以請求存儲裝置27獲取所述一個或多個用戶數(shù)據(jù)74的各自的部分,和/或至少部分地基于用戶數(shù)據(jù)74所產(chǎn)生的校驗數(shù)據(jù),并且將其轉發(fā)給中間站40。當然,基于在RAID29內(nèi)實現(xiàn)的RAID級別,經(jīng)由端口56被轉發(fā)給存儲裝置27的附加分組的數(shù)量,以及傳播那些附加分組的存儲裝置的數(shù)量,以及從裝置27所獲取的校驗數(shù)據(jù)和/或用戶數(shù)據(jù)的數(shù)量,在不背離本實施例的前提下,是可以變化的,以允許所述的RAID級別得以實現(xiàn)。
在此實施例中,作為操作202的一部分,至少部分地基于轉發(fā)信息68和包括在一個或多個包含一個或多個獲取請求的分組的頭信息,電路60經(jīng)由一個或多個端口56和媒介44C...44N將這些一個或多個附加的分組發(fā)送給一個或多個存儲裝置27。在此實施例中,這會使得存儲裝置28B從一個或多個位置106獲取一個或多個部分107,并且將一個或多個包括一個或多部分107的拷貝94的分組92發(fā)送給中間站40。另外,在此實施例中,這會導致存儲裝置28N從一個或多個位置108獲取一個或多個部分109,并且將包括一個或多個部分109的拷貝104的一個或多個分組102發(fā)送給中間站40。
無論是那種情況,一個或多個端口56可以接收一個或獨個分組92或102,并且將他們發(fā)送給電路60。一個或多個分組92和102包括頭信息102,其包括一個或多個可以指示一個或多個分組92和102期望被主機系統(tǒng)110和/或卡20所接收的目標地址。包括在轉發(fā)信息68中的一個或多個表可以將這些一個或多個目標地址和一個或多個耦合到卡20的端口54相關聯(lián)。電路60檢驗轉發(fā)信息68,并且作為操作204的結果,可以至少部分地基于轉發(fā)信息68,確定將一個或多個分組76經(jīng)由一個或多個在轉發(fā)信息68內(nèi)與所述一個或多個目標地址相關聯(lián)的端口轉發(fā)給卡20。電路60至少部分地基于先前由一個或多個端口56所接收的分組92或者102產(chǎn)生一個或多個分組76,從而使得一個或多個分組76包括從分組92或102所獲得的被請求數(shù)據(jù)74的拷貝80。電路62可以經(jīng)由一個或多個端口54將一個或多個分組76轉發(fā)給卡20。
另外,基于在RAID29內(nèi)實現(xiàn)的RAID級別,如果在用戶數(shù)據(jù)74的存儲27中的拷貝已經(jīng)被破壞,一個或多個從存儲27所獲取的分組92和102包括至少部分地基于用戶數(shù)據(jù)74所產(chǎn)生并被存儲在存儲27內(nèi)的校驗數(shù)據(jù)的拷貝94和104。在此替換方案中,在電路60接收一個或多個分組92和102之后,電路62至少部分地基于來自分組92和102的校驗數(shù)據(jù)的拷貝94和104,以及與RAID29中實現(xiàn)的RAID級別相關的常規(guī)RAID技術,從而至少部分地重新產(chǎn)生用戶數(shù)據(jù)74。電路60檢驗轉發(fā)信息68,并且作為操作204的結果,至少部分地基于轉發(fā)信息68而確定將一個或多個分組76經(jīng)由一個或多個端口54轉發(fā)給卡20。電路60產(chǎn)生一個或多個分組76使得一個或多個分組76可以包括至少部分地由電路62至少部分地基于來自分組92和102的校驗數(shù)據(jù)的拷貝94和104所重新產(chǎn)生的被請求數(shù)據(jù)74的拷貝80。電路62將一個或多個分組76經(jīng)由一個或多個端口54轉發(fā)給卡20。
卡20同樣也可以產(chǎn)生多個串行管理協(xié)議(SMP)消息(共同地或者單個地表示為圖1中數(shù)碼82所示部分)并將其發(fā)送給中間站。例如,一個或多個這樣的消息82包括頭信息84以及一個或多個請求86以修正RAID29的一個或多個操作參數(shù),例如,把RAID29分區(qū)為多個獨立磁盤冗余陣列,將多個這樣的陣列合并成一個單一的RAID,將存儲裝置的分配改成這樣的陣列,改變一個或多個由這樣的陣列所實現(xiàn)的RAID,等等。在此實施例中,一個或多個消息包括,例如,一個或多個SMP REQUEST消息一個和多個請求86可以在一個或多個消息82的一個或多個領域內(nèi)由一個或多個值所指示。所述一個或多個特別的領域可以被選則為一個買主和/或中間站40的連接器,從而可以唯一地與SMP消息相關聯(lián),所述消息意圖被一個或由供貨商和/或制造商所售賣和/或制造的多個SAS擴展器所接收,同時使得所述SMP消息與SAS標準兼容和/或相符。
一個或多個端口中的至少一個接收這些一個或多個消息82,如圖2中操作206所示。至少部分地響應于接收一個或多個消息82,一個或多個端口52可以將一個或多個消息82發(fā)送給電路60。這導致電路60產(chǎn)生一個或多個分組(未示出)并將其發(fā)送給RAID29,所述一個或多個分組將導致RAID根據(jù)常規(guī)RAID技術修改一個或多個RAID29的操作參數(shù),從而對在一個或多個請求86中所請求的一個或多個操作參數(shù)進行修改。電路60還修改轉發(fā)信息68和/或表69,從而使得他們與RAID29的一個或多個被修改的操作參數(shù)相符。
另外地或附加地,一個或多個其它的所述消息82可以包括頭信息84和一個或多個修改轉發(fā)信息68和/或表69的請求86。一個或多個端口54的至少一個或多個可以接收所述一個或多個消息82,如圖2中操作208所述。至少部分地響應于接收一個或多個消息82,一個或多個端口52將一個或多個消息82發(fā)送給電路62。這可以導致電路60修改轉發(fā)信息68和/或表69從而使得它們與一個或多個請求86相符。
所以,一個系統(tǒng)實施例包括電路以至少部分地在一個中間站確定在校驗數(shù)據(jù)和/或其它數(shù)據(jù)(例如,用戶數(shù)據(jù))的一個或多個各自的部分中的多個存儲裝置的一個或多個各自的位置。在此系統(tǒng)實施例中,校驗數(shù)據(jù)至少部分地在中間站至少部分地基于其它數(shù)據(jù)而產(chǎn)生。電路也可以至少部分地基于至少部分地存儲在中間站的轉發(fā)信息至少部分地確定中間站的一個或多個端口,其中一個或多個分組經(jīng)由該端口轉發(fā)。所述一個或多個分組至少部分地基于一個或多個經(jīng)由中間站的一個或多個其它端口在先前所接收的一個或多個分組從而在中間站處產(chǎn)生。所述一個或多個其它分組包括校驗數(shù)據(jù)和/或其它數(shù)據(jù)。該電路卡通過通信媒介通信地與中間站耦合。
就其有利之處而言,包括在該系統(tǒng)實施例中的中間站可以執(zhí)行部分或全部的RAID相關操作,而在現(xiàn)有技術中,這是由一個主機處理器和/或HBA所完成的。有利的是,與現(xiàn)有技術相比,這會減少用于執(zhí)行該系統(tǒng)實施例內(nèi)的此類操作的主機處理器和/或HBA處理資源的量。更為有利的是,該系統(tǒng)實施例的中間站也可提供相對簡單和透明(從主機系統(tǒng)的獨立點)的方法,其中把RAID功能添加到具有存儲裝置的存儲網(wǎng)絡,尤其在此類存儲裝置可以使用SAS和/或S-ATA協(xié)議通信的情況下。
此處所使用的術語和表達是出于描述而非限制的目的,并不意圖采用這樣的術語和表達來排除所示出和描述的特征(或者其一部分)的任何等價概念,應該認識到在權利要求的范圍內(nèi)各種修改均是可能的。
例如,中間站40可以不包括擴展器52而包括一個符合和/或兼容S-ATA協(xié)議的端口倍增器(multiplier),或者除了擴展器52之外還額外地包括一個所述端口倍增器。主機系統(tǒng)100可以提供一個或多個命令(例如,一個或多個專用于端口倍增器的銷售商和/或制造商和/或與其相關聯(lián)的命令),所述命令允許在端口倍增器中對轉發(fā)和/或路由表和/或管理信息的情況進行存儲和/或修改。通過這樣地存儲和/或修改這些表和/或信息,主機系統(tǒng)110可以管理和/或控制端口倍增器的操作。
另外地或附加地,擴展器52可以檢測裝置27內(nèi)的配置變化何時發(fā)生,并且當擴展器52檢測到此類配置變化的發(fā)生時,擴展器52將表示變化的發(fā)生和性質(zhì)的一個或多個消息提供給主機計算機系統(tǒng)110。被擴展器52所檢測到的配置變化的類型的例子包括RAID29的配置的變化,比如一個或多個大容量存儲裝置28B...28N的故障和/或移除,和/或一個或多個其它的和/或附加的大容量存儲裝置(未示出)被耦合進了RAID29(例如,一個或多個大容量存儲裝置“熱插入”RAID29)。
其它的修改同樣也是可能的。因此,權利要求希望能覆蓋所有的等效概念。
權利要求
1.一種方法,其包括在中間站處至少部分地確定在校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一的一個或多個相應的部分的多個存儲裝置中的一個或多個相應的位置,所述校驗數(shù)據(jù)至少部分地基于其它數(shù)據(jù)而至少部分地產(chǎn)生于中間站;在中間站處至少部分地基于至少部分地存儲于中間站的轉發(fā)信息從而至少部分地確定中間站的一個或多個端口,其中一個或多個分組通過這些端口轉發(fā),所述一個或多個分組在中間站至少部分地基于經(jīng)由中間站的一個或多個其它端口在先前所接收的一個或多個其它的分組而產(chǎn)生,所述一個或多個其它分組包括校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一。
2.如權利要求1所述的方法,其特征在于所述中間站包括串行連接小型計算機系統(tǒng)端口(SAS)擴展器;
3.如權利要求1所述的方法,其特征在于所述多個存儲裝置包括獨立磁盤冗余陣列(RAID);和所述一個或多個其它端口包括多個耦合到所述RAID的端口。
4.如權利要求3所述的方法,其特征在于所述一個或多個端口包括至少一個耦合到主機計算機系統(tǒng)的端口。
5.如權利要求1所述的方法,其特征在于,還包括在中間站經(jīng)由至少一個端口接收包括一個或多個修改RAID的操作參數(shù)的請求的串行管理協(xié)議(SMP)消息。
6.如權利要求5所述的方法,其還包括在中間站經(jīng)由至少一個端口接收包括一個或多個修改轉發(fā)信息的其它請求的另一個SMP消息。
7.如權利要求1所述的方法,其特征在于一個或多個路由表包括轉發(fā)信息。
8.如權利要求1所述的方法,其特征在于一個或多個相應的位置包括多個位置;和每個所述存儲裝置包括所述多個位置中的一個或多個。
9.一種裝置,其包括電路,用于在中間站處至少部分地確定在校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一的一個或多個相應的部分的多個存儲裝置中的一個或多個相應的位置,所述校驗數(shù)據(jù)在中間站至少部分地基于其它數(shù)據(jù)而被至少部分地產(chǎn)生;所述電路還可以用于在中間站處至少部分地基于至少部分地存儲在中間站中的轉發(fā)信息而至少部分地確定中間站的一個或多個端口,其中一個或多個分組經(jīng)由所述端口轉發(fā),所述一個或多個分組在中間站至少部分地基于先前經(jīng)由中間站的一個或多個其它端口所接收的一個或多個其它分組而產(chǎn)生,所述一個或多個其它分組包括校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一。
10.如權利要求9所述的裝置,其特征在于所述電路至少部分地被包括在中間站;和所述中間站包括串行連接小型計算機系統(tǒng)端口(SAS)擴展器。
11.如權利要求9所述的裝置,其特征在于所述多個存儲裝置包括獨立磁盤冗余陣列(RAID);和所述一個或多個其它端口包括多個耦合到RAID的端口。
12.如權利要求11所述的裝置,其特征在于所述一個或多個端口至少包括一個耦合到主機的端口。
13.如權利要求12所述的裝置,其特征在于所述中間站同樣可以經(jīng)由至少一個端口接收包括一個或多個修改RAID的操作參數(shù)的請求的串行管理協(xié)議(SMP)消息。
14.如權利要求13所述的裝置,其特征在于所述中間站同樣可以經(jīng)由至少一個端口接收包括一個或多個修改轉發(fā)信息的其它請求的另外的SMP消息。
15.如權利要求9所述的裝置,其特征在于所述一個或多個路由表包括轉發(fā)信息。
16.如權利要求9所述的裝置,其特征在于所述一個或多個相應的位置包括多個位置;和每個存儲裝置包括多個位置中的一個或多個。
17.一種物件,包括存儲介質(zhì),其上存儲有指令,當這些指令被機器執(zhí)行時,將產(chǎn)生以下結果在中間站處至少部分地確定在校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一的一個或多個相應的部分的多個存儲裝置中的一個或多個相應的位置,所述校驗數(shù)據(jù)至少部分地基于其它數(shù)據(jù)而至少部分地產(chǎn)生于中間站;在中間站處至少部分地基于至少部分地存儲于中間站的轉發(fā)信息從而至少部分地確定所述中間站的一個或多個端口,其中一個或多個分組通過該端口轉發(fā),所述一個或多個分組在中間站至少部分地基于經(jīng)由中間站的一個或多個其它端口在先前所接收的一個或多個其它的分組而產(chǎn)生,所述一個或多個其它分組包括校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一。
18.如權利要求17所述的物件,其特征在于所述中間站包括串行連接小型計算機系統(tǒng)接口(SAS)擴展器。
19.如權利要求17所述的物件,其特征在于所述多個存儲裝置包括獨立磁盤冗余陣列(RAID);和所述一個或多個其它端口包括多個耦合到所述RAID的端口。
20.如權利要求19所述的物件,其特征在于所述一個或多個端口至少包括一個耦合到主機計算機系統(tǒng)的端口。
21.如權利要求20所述的物件,其特征在于,當所述指令被機器執(zhí)行時導致在所述中間站經(jīng)由至少一個端口接收包括一個或多個修改RAID的操作參數(shù)的請求的串行管理協(xié)議(SMP)消息。
22.如權利要求21所述的物件,其特征在于,當所述指令被機器執(zhí)行時,還會導致在所述中間站經(jīng)由至少一個端口接收包括一個或多個修改轉發(fā)信息的其它請求的另一個SMP消息。
23.如權利要求17所述的物件,其特征在于所述一個或多個路由表包括轉發(fā)信息。
24.如權利要求17所述的裝置,其特征在于所述一個或多個相應的位置包括多個位置;和每個存儲裝置包括多個位置中的一個或多個。
25.一種系統(tǒng),其包括電路,用于在中間站處至少部分地確定在校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一的一個或多個相應的部分的多個存儲裝置中的一個或多個相應的位置,所述校驗數(shù)據(jù)在中間站至少部分地基于其它數(shù)據(jù)而被至少部分地產(chǎn)生;所述電路還可以用于在中間站處至少部分地基于至少部分地存儲在中間站中的轉發(fā)信息而至少部分地確定中間站的一個或多個端口,其中一個或多個分組經(jīng)由所述端口轉發(fā),所述一個或多個分組在中間站至少部分地基于先前經(jīng)由中間站的一個或多個其它端口所接收的一個或多個其它分組而產(chǎn)生,所述一個或多個其它分組包括校驗數(shù)據(jù)和其它數(shù)據(jù)的至少其中之一;和經(jīng)由通信媒介通信地耦合到所述中間站的電路卡。
26.如權利要求25所述的系統(tǒng),其特征在于,還包括電路板,其包括總線和總線接口槽,所述電路卡可以耦合到所述中間接口槽。
27.如權利要求26所述的系統(tǒng),其特征在于所述電路板包括耦合到所述總線的處理器。
28.如權利要求26所述的系統(tǒng),其特征在于,所述校驗數(shù)據(jù)包括以下之一至少部分地基于其它數(shù)據(jù)而產(chǎn)生的奇偶校驗數(shù)據(jù);和所述其它數(shù)據(jù)的拷貝。
29.如權利要求25所述的系統(tǒng),其特征在于所述電路卡耦合到獨立于所述多個存儲裝置的一個或多個其它存儲裝置。
30.如權利要求25所述的系統(tǒng),其特征在于所述多個存儲裝置包括實現(xiàn)的RAID級別大于1的獨立磁盤冗余陣列(RAID);和所述校驗數(shù)據(jù)包括至少部分地基于其它數(shù)據(jù)所產(chǎn)生的奇偶校驗數(shù)據(jù)。
31.如權利要求1所述的方法,其特征在于所述中間站包括串行高級技術連接端口倍增器。
32.如權利要求9所述的方法,其特征在于所述電路至少部分地包括在所述中間站;和所述中間站包括串行高級技術連接端口倍增器。
33.如權力要求17所述的物件,其特征在于所述中間站包括串行高級技術連接端口倍增器。
34.如權力要求1所述的方法,其特征在于,還包括由中間站提供給主機計算機一個或多個消息,所述消息表明在多個存儲裝置內(nèi)有配置變化發(fā)生。
35.如權力要求9所述的裝置,其特征在于所述電路同樣可以提供給主機計算機一個或多個消息,所述消息表明在多個存儲裝置內(nèi)有配置變化發(fā)生。
36.如權利要求17所述的物件,其特征在于,當所述指令被機器執(zhí)行時,還導致從中間站提供給主機計算機一個或多個消息,所述消息表明在多個存儲裝置內(nèi)有配置變化發(fā)生。
全文摘要
在一個實施例中,提供一種方法,其包括在一個中間站至少部分地確定校驗數(shù)據(jù)和/或其它數(shù)據(jù)的一個或多個部分在存儲裝置內(nèi)的一個或多個位置。校驗數(shù)據(jù)在中間站至少部分地基于其它數(shù)據(jù)所產(chǎn)生。該方法也包括在中間站至少部分地基于轉發(fā)信息確定一個或多個中間站的端口,一個或多個分組經(jīng)由該端口轉發(fā)。所述一個或多個分組在中間站至少部分地基于一個或多個經(jīng)由中間站的一個或多個其它端口所接收的一個或多個其它分組而產(chǎn)生。所述其它分組包括校驗數(shù)據(jù)和/或其它數(shù)據(jù)。
文檔編號G06F3/06GK1813249SQ200480018442
公開日2006年8月2日 申請日期2004年6月18日 優(yōu)先權日2003年6月30日
發(fā)明者M·克萊頓, M·布朗, B·斯凱瑞, F·科拉多, J·伍屯 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
凤阳县| 凤庆县| 错那县| 宣恩县| 南江县| 徐州市| 永川市| 安国市| 苏尼特左旗| 平南县| 南开区| 孝昌县| 祥云县| 宁河县| 扎鲁特旗| 修水县| 潢川县| 武强县| 太湖县| 福鼎市| 胶州市| 樟树市| 浙江省| 桦川县| 方正县| 桐城市| 鞍山市| 长治市| 合川市| 乌拉特中旗| 渭源县| 双流县| 夏邑县| 门头沟区| 罗田县| 盈江县| 涞源县| 泰安市| 绥滨县| 六盘水市| 泰宁县|