用于通過全雙工排隊命令接口抽象化存儲介質(zhì)裝置的系統(tǒng)和方法
【專利摘要】簡化的主機通過利用一個全雙工協(xié)議抽象化SATA和SAS協(xié)議來訪問SATA和SAS存儲介質(zhì)裝置,該全雙工協(xié)議支持對無論是SATA還是SAS的每個存儲介質(zhì)裝置的全命令排隊,其中抽象協(xié)議是以性能為中心的并且支持對存儲介質(zhì)裝置池的共同高級讀訪問和寫訪問,其中每個存儲介質(zhì)裝置可具有SATA或SAS接口。該抽象協(xié)議為鏈路無關(guān)的,并且可通過多個直接附接或網(wǎng)絡(luò)接口來承載,該直接附接或聯(lián)網(wǎng)接口包含但不限于PCIe接口、以太網(wǎng)(例如,1GbE、10GbE、40GbE或100GbE)接口、無限寬帶接口、雷電接口、防火墻接口、USB接口和/或定制接口。
【專利說明】
用于通過全雙工排隊命令接口抽象化存儲介質(zhì)裝置的系統(tǒng)和方法
技術(shù)領(lǐng)域
[0001]本發(fā)明總體涉及存儲裝置的領(lǐng)域。更具體地,本發(fā)明涉及用于通過全雙工排隊命令接口抽象化SATA和/或SAS存儲介質(zhì)裝置以增加性能、降低主機開銷并簡化定標(biāo) (scaling)存儲介質(zhì)裝置和系統(tǒng)的系統(tǒng)和方法?!颈尘凹夹g(shù)】
[0002]本領(lǐng)域中用于與存儲介質(zhì)裝置(旋轉(zhuǎn)硬盤、固態(tài)硬盤、RAM驅(qū)動器等)直接交互的當(dāng)前狀態(tài)用于使用接口協(xié)議,諸如SATA(串行ATA,其中ATA =高級技術(shù)附件)或SAS (串行附接 SCSI)。這兩個接口都起源于更古老的并行接口(PATA和SCSI)。通用協(xié)議仍保持原來的平行規(guī)范不變,他們現(xiàn)在只是通過串行接口而不是通過共享接入雙向并行總線來傳輸。在SATA 的情況下,這限制了高速全雙工串行鏈路高效地半雙工,因為全命令排隊和無序響應(yīng)本身不受支持。雖然本機命令排隊(NCQ)通過SATA存儲介質(zhì)裝置的子集來支持,但是其只是解決一些數(shù)據(jù)傳輸而不是所有命令,并且通常不支持交錯讀取和寫入命令。SAS支持標(biāo)記命令排隊(TCQ)以利用SATA克服的這些限制中的一些限制。在訪問裝置的混合物(一些SATA、一些 SAS)時,主機必須支持和管理這兩個協(xié)議。與SATA或SAS交互的主機軟件層必須支持它們的高協(xié)議開銷。
[0003]SATA可具有端口倍增器并且SAS可具有端口擴展器。這些裝置中的每個裝置分別將出口 SATA或SAS鏈路分開到另外的端口。SATA或SAS協(xié)議中的任一者為從主機到這些裝置中的路徑,因此,主機必須處理SATA或SAS。此外,在倍增器/擴展器和主機之間的這個鏈路帶寬在下游的存儲介質(zhì)裝置之間共享。SATA端口倍增器通常用于增加存儲容量,從而細(xì)分在控制器和端口倍增器之間的帶寬。SATA端口倍增器不能被級聯(lián),從而限制增加存儲容量。 此外,不是所有SATA控制器支持端口倍增器。SAS端口擴展器也可用于增加存儲容量,但是也允許至主機的若干SAS鏈路被組合在一起(聯(lián)合)為一個端口以增加在控制器和端口倍增器之間的帶寬。SAS接口通過SAS-STP(SAS SATA傳輸協(xié)議)來承載SATA是可能的。
[0004]在現(xiàn)有技術(shù)中,如圖1所示,主機計算機或處理單元100支持SATA和/或SAS作為分別與SATA存儲介質(zhì)裝置(SATA SMD)106&110和SAS存儲介質(zhì)裝置(SAS SMD)108通信的裝置。 至SMD的物理接口通過SATA控制器102或SAS控制器104和105進(jìn)行,每個控制器通過串行接口與SMD通信。SAS控制器能夠與SAS SMD(例如,與SAS SMD 108交互的SAS控制器104)以及 SATA SMD(例如,與SATA SMD 110交互的SAS控制器105)交互,其中,SATA SMD通過SAS-STP (SAS SATA傳輸協(xié)議)來支持。SATA控制器只能夠與SATA SMD交互(S卩,SATA控制器102只能夠與類似SATA SMD 106的SATA SMD裝置交互)。
[0005]可選地,如圖2所示,SATA控制器202可與端口倍增器204交互以連接至一個或多個 SATA SMD。同樣,SAS控制器206可與端口擴展器208交互以連接至一個或多個SAS SMD或 SATA SMD〇
[0006]然而,諸如上述的現(xiàn)有技術(shù)系統(tǒng)不提供用于通過全雙工排隊命令接口抽象化SATA和/或SAS存儲介質(zhì)裝置以增加性能、降低主機開銷并簡化定標(biāo)存儲介質(zhì)裝置和系統(tǒng)的系統(tǒng)和方法。本發(fā)明的實施例是對現(xiàn)有系統(tǒng)和方法的改進(jìn)。
【發(fā)明內(nèi)容】
[0007]在一個實施例中,本發(fā)明提供由抽象協(xié)議支持的可路由分組交換網(wǎng)絡(luò),其包括:至少一個主機;主控制器,該主控制器包括主處理單元、可選的主存儲器、與主機通信的主控制器接口以及至少一個主控制器控制鏈路接口;以及至少一個邊緣控制器,該邊緣控制器包括邊緣處理單元、可選的邊緣存儲器、通過主控制器控制鏈路接口與主控制器通信的邊緣控制器控制鏈路接口以及與至少一個存儲介質(zhì)裝置通信的至少一個存儲介質(zhì)裝置接口, 其中,該主控制器和邊緣控制器通過抽象協(xié)議來通信,該抽象協(xié)議包括支持至少一個存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議。
[0008]在另一實施例中,本發(fā)明提供通過抽象協(xié)議來支持的可路由分組交換網(wǎng)絡(luò),包括: 至少一個主機;第一主控制器,第一主控制器包括第一主處理單元、可選的第一主存儲器、 與主機通信的第一主控制器接口以及至少一個第一主控制器控制鏈路接口;以及至少一個第一邊緣控制器,第一邊緣控制器包括:第一邊緣處理單元、可選的第一邊緣存儲器、通過第一主控制器控制鏈路接口與第一主控制器通信的第一邊緣控制器控制控制鏈路接口、可選的轉(zhuǎn)發(fā)鏈路接口,該轉(zhuǎn)發(fā)鏈路接口與第二邊緣控制器通信以從所述第一主控制器向所述第二邊緣控制器轉(zhuǎn)發(fā)抽象協(xié)議包,所述第二邊緣控制器包括第二邊緣處理單元、可選的第二邊緣存儲器、允許所述第二邊緣處理單元與該轉(zhuǎn)發(fā)鏈路接口通信的第二邊緣控制器控制鏈路接口以及與所述第二邊緣控制器通信的至少一個第二主控制器控制鏈路接口;可選的第二主控制器,第二主控制器包括第二主處理單元、可選的第二主存儲器、與第一邊緣處理單元通信的第二主控制器接口以及與第二邊緣控制器通信的至少一個第二主控制器控制鏈路接口;以及與至少一個存儲介質(zhì)裝置通信的至少一個存儲介質(zhì)裝置接口,其中第一和第二主控制器、第一邊緣控制器和第二邊緣控制器通過抽象協(xié)議來通信,該抽象協(xié)議包括支持至少一個存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議。
[0009]在一個實施例中,本發(fā)明提供通過抽象協(xié)議支持的可路由分組交換網(wǎng)絡(luò),其包括: 至少一個主機;主控制器,該主控制器包括主處理單元、可選的主存儲器、與主機通信的主控制器接口以及至少一個主控制器控制鏈路接口;以及至少一個邊緣控制器,該邊緣控制器包括邊緣處理單元、可選的邊緣存儲器、通過主控制器控制鏈路接口與主控制器通信的邊緣控制器控制鏈路接口、通過SATA協(xié)議與多個第一存儲介質(zhì)裝置通信的SATA端口倍增器以及通過SAS協(xié)議與多個第二存儲介質(zhì)裝置通信的SAS端口擴展器,其中該主控制器和邊緣控制器通過抽象協(xié)議來通信,該抽象協(xié)議同時支持串行ATA( SATA)和串行附接SCSI (SAS)存儲介質(zhì)裝置兩者,該抽象協(xié)議包括支持第一和第二存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議。
[0010]在另一實施例中,本發(fā)明提供通過抽象協(xié)議支持的可路由分組交換網(wǎng)絡(luò),包括:至少一個主機;主控制器,該主控制器包括主處理單元、與主機通信的主控制器接口以及至少一個主控制器控制鏈路接口;以及至少一個邊緣控制器,該邊緣控制器包括邊緣處理單元、 可選的邊緣存儲器、通過主控制器控制鏈路接口與主控制器通信的邊緣控制器控制鏈路接口、與多個存儲介質(zhì)裝置通信的端口倍增器,其中該主控制器和邊緣控制器通過抽象協(xié)議來通信,該抽象協(xié)議包括支持存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議。
[0011]在另一實施例中,本發(fā)明提供通過抽象協(xié)議支持的可路由分組交換網(wǎng)絡(luò),包括:至少一個主機;主控制器,該主控制器包括主處理單元、與主機通信的主控制器接口以及至少一個主控制器控制鏈路接口;以及至少一個邊緣控制器,該邊緣控制器包括邊緣處理單元、 可選的邊緣存儲器、通過主控制器控制鏈路接口與主控制器通信的邊緣控制器控制鏈路接口以及與多個存儲介質(zhì)裝置通信的端口擴展器,其中,該主控制器和邊緣控制器通過抽象協(xié)議來通信,該抽象協(xié)議包括支持存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議?!靖綀D說明】
[0012]本公開根據(jù)一個或多個不同的示例參考附圖來詳細(xì)描述。僅出于例示的目的來提供附圖,并且該附圖只描繪本公開的示例。所提供的這些附圖有利于讀者對本公開的理解, 不應(yīng)視為對本公開的廣度、范圍或適用性的限制。應(yīng)指出,為清楚和易于說明起見,這些附圖不必按比例繪制。
[0013]圖1示出通過SATA、SAS或SAS-STP協(xié)議與SATA和SAS控制器通信的現(xiàn)有技術(shù)的主機。
[0014]圖2示出現(xiàn)有技術(shù)的與SATA端口倍增器通信的SATA控制器以及與SAS擴展器通信的SAS控制器。
[0015]圖3示出本發(fā)明的與主機和邊緣控制器通信的主控制器的一個示例。
[0016]圖4A至4C示出本發(fā)明的邊緣控制器的各種非限制性示例。
[0017]圖5A和5B示出本發(fā)明的主控制器的非限制性示例的系統(tǒng)級概況,該主控制器和一個邊緣控制器以及另一個邊緣控制器交互,該邊緣控制器與存儲介質(zhì)裝置通信,該另一個邊緣控制器與其它邊緣控制器和其它存儲介質(zhì)裝置通信。
[0018]圖6示出本發(fā)明的能夠與SATA端口倍增器、SAS端口擴展器中的一個或兩者通信的邊緣控制器?!揪唧w實施方式】
[0019]雖然在優(yōu)選實施例中示出和描述本發(fā)明,但是本發(fā)明可在許多不同的配置中實施。通過對本公開的理解,在附圖中繪出的并且將在本文中詳細(xì)描述的本發(fā)明的優(yōu)選實施例應(yīng)視為本發(fā)明的原理及其構(gòu)造的相關(guān)功能規(guī)范的范例,并不旨在將本發(fā)明限制在所示出的實施例。本領(lǐng)域中的技術(shù)人員應(yīng)可設(shè)想在本發(fā)明的范圍內(nèi)的許多其它變型。
[0020]應(yīng)指出,在本描述中,引用“一個實施例”或“實施例”意指所引用的特征被包含在本發(fā)明的至少一個實施例中。另外,在本描述中單獨引用“一個實施例”時,并不一定意指相同的實施例;不過,正如對于本領(lǐng)域的普通技術(shù)人員來說顯而易見的是,此類實施例既不是互相排斥的也不是不同的,除非另有說明。因此,本發(fā)明可以包含本文所述實施例的任何種類的組合和/或集成。
[0021]本發(fā)明通過利用一個全雙工協(xié)議抽象SATA和SAS協(xié)議來簡化訪問SATA和SAS存儲介質(zhì)裝置的主機,該全雙工協(xié)議支持對無論是SATA還是SAS的每個存儲介質(zhì)裝置的全命令排隊。本發(fā)明包括硬件(系統(tǒng)_架構(gòu))和軟件(方法-抽象協(xié)議)兩者。該簡化的抽象協(xié)議提供至存儲介質(zhì)裝置的高級訪問命令。高級命令可最終解析在SATA或SAS接口的若干命令,從而允許主機發(fā)出并跟蹤更少的命令。其中的示例為利用不是SATA或SAS協(xié)議本身支持的命令移動大量數(shù)據(jù)。存儲介質(zhì)裝置的SATA或SAS接口被推送至邊緣,遠(yuǎn)離主機并朝向該SATA或 SAS接口支持的存儲介質(zhì)裝置。將SAS/SATA協(xié)議推至邊緣簡化了主機/控制器,這是因為該主機/控制器不實現(xiàn)傳統(tǒng)的SAS/SATA協(xié)議,它可以做最佳適配其應(yīng)用的事情。由于SAS/SATA 被推送到邊緣并對于主機被抽象化,SATA和SAS可以被混合而不影響主機(主機是SAS/SATA 無關(guān)的)。甚至在SATA隧道通過SAS(STP)時,主機正在使用SATA/STP協(xié)議。主機通常不需要在操作期間意識到存儲介質(zhì)裝置的接口協(xié)議。此外,可恢復(fù)存儲介質(zhì)裝置錯誤(如重試)可以在存儲介質(zhì)裝置本地的邊緣被處理,從而將該任務(wù)從主機卸載。在希望數(shù)據(jù)復(fù)制的情況下,也可在邊緣處理,從而從主機卸載該任務(wù)。如果要使用NCQ,這種卸載對于SATA可能是重要的,因為如果發(fā)生錯誤任何剩下的排隊讀或?qū)懨顚⒈凰⑿?,從而需要重新發(fā)出這些命令。抽象協(xié)議支持在主機和邊緣之間的流控制。由于SATA和SAS差異化地處理流控制,這種存儲介質(zhì)裝置流控制在邊緣被處理,而無需加重主機的負(fù)擔(dān)。
[0022]這種抽象協(xié)議是以性能為中心的并且支持對存儲介質(zhì)裝置池的共同高級讀和寫訪問,其中每個存儲介質(zhì)裝置可具有SATA或SAS接口。該抽象協(xié)議是鏈路無關(guān)的,并且可通過多個直接附接或聯(lián)網(wǎng)接口來承載,該直接附接或聯(lián)網(wǎng)接口包含但不限于PCIe接口、以太網(wǎng)(例如,lGbE、10GbE、40GbE或lOOGbE)接口、無限寬帶(Infiniband)接口、USB接口、雷電 (ThunderBo 11)接口、防火墻(Firewire)接口和/或定制接口。該抽象協(xié)議鏈路帶寬不需要與個別存儲介質(zhì)裝置的SATA或SAS接口相關(guān)。被寫入存儲介質(zhì)裝置的數(shù)據(jù)和從存儲介質(zhì)裝置讀出的數(shù)據(jù)可由源推送或可由目的地牽引。例如,在鏈路為以太網(wǎng)時,在寫入的情況下, 通常最佳的是與命令包一起發(fā)送塊數(shù)據(jù),在讀出(推送)的情況下,與響應(yīng)包一起發(fā)送塊數(shù)據(jù)通常是最佳的。在鏈路為PCIe時,在準(zhǔn)備好執(zhí)行命令或收到(引入)響應(yīng)時,從發(fā)出的命令或響應(yīng)單獨檢索塊數(shù)據(jù)通常是最佳的。
[0023]該抽象協(xié)議支持分組交換路由構(gòu)造和錯誤恢復(fù)。路由可基于邏輯地址、WWN(萬維網(wǎng)號碼-唯一的全球ID號)或物理地址。邏輯地址或WWN可被映射到物理地址(例如,通過查找表)。這種映射可在存儲介質(zhì)裝置(i)被插入系統(tǒng)或從系統(tǒng)移除和/或(ii)通電或斷電時基于恢復(fù)過程靜態(tài)或動態(tài)被更新。[〇〇24] 如圖3所示,主控制器304包含(i)一個或多個主處理單元306,其執(zhí)行抽象協(xié)議的主側(cè)的處理并通過主控制器接口 308與至少一個主機302通信,該主控制器接口通過主機鏈路320連接至主機302,以及(ii)一個或多個控制鏈路接口310至312,該一個或多個控制鏈路接口 310-312通過控制鏈路320和322與一個或多個邊緣控制器316至318通信。主控制器 304可以可選地具有其自己的主存儲器314,該主存儲器314由包含在用于處理、緩沖、排隊等在內(nèi)的功能使用。主存儲器314可在主控制器304的內(nèi)部或外部,主存儲器314包括SRAM、 DRAM、RLDRAM、FLASH或它們的組合。主機302、主控制器304和邊緣控制器316-318—起形成由抽象協(xié)議支持的可路由分組交換網(wǎng)絡(luò)。一個或多個主機、主控制器和/或邊緣控制器存在于同一物理裝置(例如,現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)或不同的任何組合的裝置)是可能的??捎每芍苯訉ぶ返拇鎯ζ鹘涌凇⑼ㄓ么锌偩€(USB)、以太網(wǎng)、高速外設(shè)組件互連(PCIe)、無限寬帶(Infiniband)、雷電、防火墻和/或其它公用或定制互連技術(shù)來實現(xiàn)主機鏈路320。也可用可直接尋址的存儲器接口、USB、以太網(wǎng)、PCIe、無限寬帶、雷電、 防火墻和/或其它公用或定制互連技術(shù)來實現(xiàn)控制鏈路320和(&)322??捎貌煌幕ミB技術(shù)來實現(xiàn)主機鏈路320和控制鏈路320&322中的每個,這些互連技術(shù)不必為相同的。例如,可用 PCIe來實現(xiàn)主機鏈路320,而可用10Gb以太網(wǎng)來實現(xiàn)控制鏈路320和322。[〇〇25]圖4A描繪了邊緣控制器的非限制性示例。邊緣控制器402包含(i) 一個或多個邊緣處理單元404,其執(zhí)行抽象協(xié)議的邊緣側(cè)的處理并且通過控制鏈路接口 410和412與一個或多個主控制器406和408通信,該控制鏈路接口 410和412通過控制鏈路414和416與主控制器 406和408通信;(ii)一個或多個SMD接口418和420,其通過SATA和/或SAS鏈路426和428與一個或多個SMD 422和424通信;(iii)可選地,一個或多個轉(zhuǎn)發(fā)鏈路接口430通過控制鏈路448 與其它邊緣控制器432通信,該控制鏈路448用于從(通過控制鏈路接口 410和412(控制鏈路接口 410和412未被指定用于接收這些抽象協(xié)議包的邊緣控制器402)接收的)主控制器406 或408向另一邊緣控制器432轉(zhuǎn)發(fā)這些抽象協(xié)議包;以及(iv)可選地,一個或多個主控制器 434和436,其在邊緣處理單元404希望向其它邊緣控制器438和440發(fā)起抽象協(xié)議消息時與其它邊緣控制器438和440通信。轉(zhuǎn)發(fā)鏈路接口 430在某些實施例中可在功能上等同于控制鏈路接口 410和412。邊緣控制器402可以可選地具有其自己的邊緣存儲器446,該邊緣存儲器由包含在用于處理、緩沖、排隊等中的功能使用。邊緣存儲器446可在邊緣控制器402的內(nèi)部或外部,該邊緣存儲器446包括51^11、01^11、1?0)1^11、閃速存儲器$1^51〇或它們的組合。在物理位置接近的邊緣控制器允許共享相同的邊緣存儲器時,該多個邊緣控制器共享相同的邊緣存儲器是可能的。在物理位置接近的主控制器和邊緣控制器允許組合時,邊緣存儲器和與主控制器相關(guān)聯(lián)的主存儲器被組合為一個存儲器也是可能的。[〇〇26]圖4B描繪充當(dāng)轉(zhuǎn)發(fā)/路由裝置的邊緣控制器的另一非限制性示例。邊緣控制器474 包含(i) 一個或多個邊緣處理單元460,其執(zhí)行抽象協(xié)議的邊緣側(cè)的處理并通過控制鏈路接口 456和458與一個或多個主控制器448和450通信,該控制鏈路接口 456和458通過控制鏈路 452和454與主控制器448和450通信;以及(ii)一個或多個主控制器462和468,該一個或多個主控制器462和468在邊緣處理單元460希望向其它邊緣控制器466和472發(fā)起抽象協(xié)議消息時通過控制鏈路464和472與其它邊緣控制器466和472通信。應(yīng)指出,在該實施例中,邊緣控制器474充當(dāng)轉(zhuǎn)發(fā)/路由裝置,因為不存在連接至該邊緣控制器的存儲介質(zhì)裝置。邊緣控制器474可以可選地具有其自己的邊緣存儲器476,該邊緣存儲器476由包含在用于處理、緩沖、排隊等中的功能使用。邊緣存儲器476可在邊緣控制器474的內(nèi)部或外部,該邊緣存儲器 476包括31^11、01^11、1?〇)1^11、閃速存儲器或它們的組合。在物理位置接近的邊緣控制器允許共享相同的邊緣存儲器時,多個邊緣控制器共享相同的邊緣存儲器是可能的。在物理位置接近的主控制器和邊緣控制器允許組合時,邊緣存儲器和與主控制器相關(guān)聯(lián)主存儲器被組合為一個存儲器也是可能的。[〇〇27]圖4C描繪邊緣控制器的另一非限制性示例,該邊緣控制器為圖4A所示的邊緣控制器的變型。邊緣控制器402’包含(i) 一個或多個邊緣處理單元404’,其執(zhí)行抽象協(xié)議的邊緣側(cè)的處理并通過控制鏈路接口 410’和412’與一個或多個主控制器406’和408’通信,該控制鏈路接口410’和412’通過控制鏈路414’和416’與主控制器406’和408’通信;(ii)一個或多個SMD接口 418’和420’,其通過SATA和/或SAS鏈路426’和428’與一個或多個SMD 422’和 424 ’通信;(i i i)可選地,一個或多個轉(zhuǎn)發(fā)鏈路接口 430 ’,其通過控制鏈路448 ’與另一邊緣控制器432 ’通信,該控制鏈路448 ’用于從(通過控制鏈路接口 410 ’和412 ’(控制鏈路接口 410’和412’未被指定用于接收這些抽象協(xié)議包的邊緣控制器402’)接收的)主控制器406’或408’向另一邊緣控制器432’轉(zhuǎn)發(fā)這些抽象協(xié)議包;以及(iv)可選地,一個或多個主控制器434 ’和436 ’,在邊緣處理單元404 ’希望向邊緣控制器432 ’和/或440 ’發(fā)起抽象協(xié)議消息時,主控制器434 ’通過控制鏈路442 ’與邊緣控制器432 ’通信并且主控制器436 ’通過控制鏈路444’與邊緣控制器440’通信。轉(zhuǎn)發(fā)鏈路接口 430’在某些實施例中可以功能上等同于控制鏈路接口410’和412’。邊緣控制器402’可以可選地具有其自己的邊緣存儲器446’,該邊緣存儲器446’由包含在用于處理、緩沖、排隊等中的功能使用。邊緣存儲器446’可在邊緣控制器402’的內(nèi)部或外部,邊緣存儲器446’包括51^、01^、1?〇)1^、閃速存儲器或它們的組合。 在物理位置接近的邊緣控制器允許共享相同的邊緣存儲器時,多個邊緣控制器共享相同的邊緣存儲器是可能的。在物理位置接近的主控制器和邊緣控制器允許這種組合時,邊緣存儲器和與主控制器相關(guān)聯(lián)的主存儲器被組合為一個存儲器是可能的。為了簡化起見,控制鏈路448 ’和442 ’被示為各自連接至邊緣控制器432 ’,然而,控制鏈路448 ’和控制鏈路442 ’ 可被組合為至邊緣控制器432’的單個連接(例如,混合或復(fù)用在一起)。[〇〇28] 在如圖5A所示的一個實施例中,主控制器502分別通過控制鏈路508和510與一個或多個邊緣控制器504和506通信。邊緣控制器504根據(jù)SMD的類型(S卩,SATA或SAS)通過SATA 和/或SAS鏈路516和518與多個SMD 512至514通信。邊緣控制器506與兩個其它邊緣控制器 528和530通信并且根據(jù)SMD的類型(S卩,SATA或SAS)經(jīng)由SATA和/或SAS鏈路524和526與多個 SMD 520至522通信。邊緣控制器528通過轉(zhuǎn)發(fā)鏈路接口532和控制鏈路534與邊緣控制器506 通信。在此情況下,來自主控制器502的抽象協(xié)議包基于某些標(biāo)準(zhǔn)可被轉(zhuǎn)發(fā)或代理至另一邊緣控制器528,包含但不限于被轉(zhuǎn)發(fā)或代理至不在邊緣控制器506本地的廣播或目的地。另一邊緣控制器530通過主控制器536和控制鏈路538與邊緣控制器506通信。在此情況下,邊緣控制器506可正在提供抽象協(xié)議命令,在抽象協(xié)議命令中,在邊緣控制器506需要一些動作,并且在不同的邊緣控制器530需要一些動作,這包含將抽象協(xié)議命令分離為多個抽象協(xié)議命令,每個抽象協(xié)議命令被指定用于一個或多個其它邊緣控制器530。邊緣控制器528根據(jù)SMD的類型(S卩,SATA或SAS)通過SATA和/或SAS鏈路544和546與多個SMD 540和542通信。 邊緣控制器530根據(jù)SMD的類型(S卩,SATA或SAS)通過SATA和/或SAS鏈路550和552與多個SMD 548和549通信。多個控制鏈路508、510、534和538可用相同或不同的互連技術(shù)來實現(xiàn),該互連技術(shù)包含但不限于可直接尋址的存儲器接口、USB、以太網(wǎng)、PCIe、無限寬帶 (Infiniband)、雷電和/或防火墻。在某些情況下,諸如在以太網(wǎng)情況下,每個控制鏈路508、 510、534和/或538可以是相同的網(wǎng)絡(luò)。[〇〇29] 在如圖5B所示的另一實施例中,主控制器502分別通過控制鏈路508’和510’與一個或多個邊緣控制器504’和506’通信。邊緣控制器504’根據(jù)SMD的類型(S卩,SATA或SAS)通過SATA和/或SAS鏈路516’和518’與多個SMD 512’至514’通信。邊緣控制器506’與兩個其它邊緣控制器528 ’和530 ’通信并且根據(jù)SMD的類型(S卩,SATA或SAS)通過SATA和/或SAS鏈路 524 ’和526 ’與多個SMD 520 ’至522 ’通信。邊緣控制器528 ’通過轉(zhuǎn)發(fā)鏈路接口 532 ’和控制鏈路534 ’與邊緣控制器506 ’通信。在此情況下,來自主控制器502 ’的抽象協(xié)議包基于某些標(biāo)準(zhǔn)可被轉(zhuǎn)發(fā)或代理至另一邊緣控制器528’,該標(biāo)準(zhǔn)包含但不限于不在邊緣控制器506 ’本地的廣播或目的地。邊緣控制器506 ’通過主控制器536 ’和控制鏈路538 ’與邊緣控制器528 ’通信。邊緣控制器506 ’可正在提供抽象協(xié)議命令,在抽象協(xié)議命令中,在邊緣控制器506 ’需要一些動作,并且在不同的邊緣控制器528’需要一些動作,這包含將抽象協(xié)議命令分離為多個抽象協(xié)議命令,每個抽象協(xié)議命令被指定用于至少一個另外的邊緣控制器528’。邊緣控制器528 ’根據(jù)SMD的類型(S卩,SATA或SAS)通過SATA和/或SAS鏈路544 ’、546 ’、550 ’或552 ’與多個SMD 540’、542’、548’和549’通信。多個控制鏈路508’、510’、534’和538’可用相同或不同的互連技術(shù)來實現(xiàn),該互連技術(shù)包含但不限于可直接尋址的存儲器接口、USB、以太網(wǎng)、 PCIe、無限寬帶、雷電和/或防火墻。在某些情況下,諸如以太網(wǎng),每個控制鏈路508’、510’、 534’和/或538’可為相同的網(wǎng)絡(luò)。為了簡化起見,控制鏈路534’和538’被示為各自連接至邊緣控制器528 ’,然而,控制鏈路534 ’和控制鏈路538 ’可被組合為至邊緣控制器528 ’的單個連接(例如,混合或復(fù)用在一起)。
[0030] 在如圖6所示的另一實施例中,邊緣控制器602與SAS端口擴展器606通信,該邊緣控制器接著與一個或多個SAS和或SATA SMD 616-620通信。邊緣控制器602也可通過SATA鏈路608與SATA端口倍增器604通信,該邊緣控制器接著與一個或多個SATA SMD 612-614通{目。[0031 ] 雖然圖6描繪端口倍增器604和端口擴展器606兩者,但應(yīng)認(rèn)識到,僅有端口倍增器和僅有端口擴展器的實施例在本發(fā)明的范圍內(nèi)。
[0032]例如,在一個實施例中,本發(fā)明提供由抽象協(xié)議支持的可路由分組交換網(wǎng)絡(luò),該可路由分組交換網(wǎng)絡(luò)包括:至少一個主機;主控制器,該主控制器包括主處理單元、可選的主存儲器、與主機通信的主控制器接口以及至少一個主控制器控制鏈路接口;以及至少一個邊緣控制器,該邊緣控制器包括邊緣處理單元、可選的邊緣存儲器、通過主控制器控制鏈路接口與主控制器通信的邊緣控制器控制鏈路接口、與多個存儲介質(zhì)裝置通信的端口倍增器,其中,該主控制器和邊緣控制器通過抽象協(xié)議來通信,該抽象協(xié)議包括支持存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議。
[0033]在另一實施例中,本發(fā)明提供通過抽象協(xié)議支持的可路由分組交換網(wǎng)絡(luò),該可路由分組交換網(wǎng)絡(luò)包括:至少一個主機;主控制器,該主控制器包括主處理單元、可選的主存儲器、與主機通信的主控制器接口以及至少一個主控制器控制鏈路接口;以及至少一個邊緣控制器,該邊緣控制器包括邊緣處理單元、可選的邊緣存儲器、通過主控制器控制鏈路接口與主控制器通信的邊緣控制器控制鏈路接口以及與多個存儲介質(zhì)裝置通信的端口擴展器,其中,該主控制器和邊緣控制器通過抽象協(xié)議來通信,該抽象協(xié)議包括支持存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議。
[0034]為了簡化起見,該系統(tǒng)被描述為在機箱內(nèi),但是應(yīng)認(rèn)識到,整個系統(tǒng)不需要共同位于一個機箱內(nèi)或共同位于一個物理位置處,這是因為一個或多個個別單元可被定位為不同機箱/位置的一部分。
[0035]上述特征和應(yīng)用可以被實施為具體指定為記錄在計算機可讀存儲介質(zhì)(也被稱為計算機可讀介質(zhì))上的一組指令的軟件過程。在這些指令由一個或多個處理單元(例如,一個或多個處理器、處理器核心或其它處理單元)執(zhí)行時,這些指令致使(多個)處理單元完成在該指令中指示的動作。在本公開的范圍內(nèi)的實施例也可包含有形和/或非暫時性計算機可讀存儲介質(zhì),其用于承載或具有儲存在其中的計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)。此類非暫時性機器可讀存儲介質(zhì)可以是通過通用或?qū)S糜嬎銠C(包含任何專用處理器的功能設(shè)計) 可存取的任何可用介質(zhì)。以該示例的方式,此類非暫時性計算機可讀介質(zhì)可以包含但不限于閃存存儲器、1^11、如11、££?1?011、00-1?(麗或其它光盤存儲、磁盤存儲或其它磁性存儲裝置,或可以用于以計算機可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)或處理器芯片設(shè)計的形式攜帶或存儲預(yù)期的程序代碼裝置的任何其它介質(zhì)。該計算機可讀介質(zhì)不包含無線地或通過有線連接傳送的載波和電子信號。
[0036]計算機可執(zhí)行指令包含例如使得通用計算機、專用計算機或?qū)S锰幚硌b置完成特定功能或功能組的指令和數(shù)據(jù)。計算機可執(zhí)行指令也包含由獨立或網(wǎng)絡(luò)環(huán)境中的計算機執(zhí)行的程序模塊。一般來講,程序模塊包含完成具體任務(wù)或?qū)崿F(xiàn)具體抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)、對象和專用處理器的設(shè)計中固有的功能等。計算機可執(zhí)行指令、關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)和程序模塊表示用于執(zhí)行本文公開的方法的步驟的程序代碼裝置的示例。此類可執(zhí)行指令或關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)的特定順序表示用于實現(xiàn)在此類步驟中描述的功能的對應(yīng)動作的示例。
[0037]計算機程序(也被稱為程序、軟件、軟件應(yīng)用、腳本或代碼)可以以任何形式的編程語言編寫,該編程語言包含編譯或解釋語言、說明性或過程語言,并且該計算機程序可以以包含適用于計算環(huán)境中的獨立程序或模塊、組件、子例程、對象或其它單元的任何形式部署。計算機程序可對應(yīng)于文件系統(tǒng)中的文件但不必一定對應(yīng)。程序可以被存儲在保持其它程序或數(shù)據(jù)的文件的一部分中(例如,存儲在標(biāo)記語言文檔中的一個或多個腳本)、存儲在專用于正在討論的程序的單個文件中或存儲在多個協(xié)調(diào)文件(例如,存儲一個或多個模塊、 子程序或部分代碼的文件)中。計算機程序可以被部署為在一個計算機或多個計算機上執(zhí)行,該多個計算機位于一個地點或分布在多個地點并通過通信網(wǎng)絡(luò)互連。
[0038]這些上述的功能可以被實現(xiàn)在數(shù)字電子電路、計算機軟件、固件或硬件中??梢允褂靡粋€或多個計算機程序產(chǎn)品來實現(xiàn)該技術(shù)。該過程和邏輯流程可以由一個或多個可編程處理器并且由一個或多個可編程邏輯電路執(zhí)行。通用并且專用計算裝置和存儲裝置可以通過通信網(wǎng)絡(luò)互連。[〇〇39] 一些實施方式包含電子部件例如微處理器、在機器可讀或計算機可讀介質(zhì)(替換地被稱為計算機可讀存儲介質(zhì)、機器可讀介質(zhì)或機器可讀存儲介質(zhì))中存儲計算機程序指令的存儲和存儲器。此類計算機可讀介質(zhì)的一些示例包含RAM、R0M、只讀光盤(CD-ROM)、刻錄光盤(CD-R )、可擦寫光盤(CD-RW )、只讀數(shù)字通用盤(例如,DVD-ROM、雙層DVD-ROM )、各種可刻錄/可擦寫DVD (例如,DVD-RAM、DVD-RW、DVD+RW等)、閃存存儲器(例如,SD卡、迷你SD卡、 小型SD卡等)、磁性或固態(tài)硬盤驅(qū)動器、只讀可刻錄藍(lán)光光盤、超密度光盤、任何其它光學(xué)或磁性介質(zhì)以及軟盤。計算機可讀介質(zhì)可以存儲可由至少一個處理單元執(zhí)行并包含用于執(zhí)行各種操作的指令集的計算機程序。計算機程序或計算機代碼的示例包含例如通過編譯器產(chǎn)生的機器代碼以及包含使用編譯器通過計算機、電子部件或微處理器執(zhí)行的更高級別的代碼的文件。
[0040]雖然上面的討論主要涉及執(zhí)行軟件的微處理器或多核處理器,但是一些實施方式由一個或多個集成電路例如專用集成電路(ASIC)或現(xiàn)場可編程門陣列(FPGA)執(zhí)行。在一些實施方式中,此類集成電路執(zhí)行存儲在該電路上/自身內(nèi)的指令。在一些實施方式中,諸如利用FPGA、軟件可被用于描述硬件電路,該軟件的示例為FPGA編程文件。此類FPGA編程文件也可包含計算機程序、機器代碼、微代碼、固件和其它軟件。FPGA編程文件可被存儲在FPGA、 ASIC、計算機可讀存儲介質(zhì)、機器可讀介質(zhì)或機器可讀存儲介質(zhì)內(nèi)。
[0041]如在本說明書和本申請的任何權(quán)利要求中所使用,術(shù)語“計算機”、“服務(wù)器”、“處理器”和“存儲器”全部是指電子或其它技術(shù)裝置。這些術(shù)語不包括人或人群。出于本說明書的目的,術(shù)語顯示器或顯示意指在電子裝置上顯示。如在本說明書和本申請的任何權(quán)利要求中所使用,術(shù)語“計算機可讀介質(zhì)”和“計算機可讀介質(zhì)”完全局限于以計算機可讀的形式存儲信息的有形實物。這些術(shù)語不包括任何無線信號、有線下載的信號和任何其它短暫信號。
[0042]本領(lǐng)域中的技術(shù)人員應(yīng)該認(rèn)識到,本公開的其它實施例可在具有許多類型計算機系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實施,該計算機系統(tǒng)配置包含個人計算機、手持裝置、多處理器系統(tǒng)、基于ASIC的系統(tǒng)、基于FPGA的系統(tǒng)、基于微處理器的或可編程的消費電子、網(wǎng)絡(luò)PC、小型計算機、大型計算機等。實施例也可在分布式計算環(huán)境中實施,其中,通過本地和遠(yuǎn)程處理裝置來執(zhí)行任務(wù),該本地和遠(yuǎn)程裝置通過通信網(wǎng)絡(luò)(或通過硬連線鏈路、無線鏈路或通過該硬連線鏈路或無線鏈路的組合)鏈接。在分布式計算環(huán)境中,程序模塊可以被定位在本地和遠(yuǎn)端存儲器存儲裝置兩者中。[〇〇43]應(yīng)理解,在所論述的過程中的任何具體順序或分級步驟是示例方法的例證。應(yīng)理解,基于設(shè)計優(yōu)選要求,在該過程中的具體順序或分級步驟可被重新安排或執(zhí)行所示出的所有步驟。該步驟的一些步驟可同時執(zhí)行。例如,在某些情況下,多任務(wù)和并行處理可能是有利的。此外,上面示出的各種系統(tǒng)組件的分離不應(yīng)被理解為需要此類分離,而應(yīng)理解為, 所述的程序組件和系統(tǒng)通常可以被一起集成到單個軟件產(chǎn)品或封裝到多個軟件產(chǎn)品中。 [〇〇44]對這些方面的各種修改將是顯而易見的,并且本文定義的一般原理可應(yīng)用于其它方面。因此,權(quán)利要求并不旨在局限于本文所示的各方面,而是被賦予和書面權(quán)利要求一致的全部范圍,其中,在以單數(shù)引用元件時,并不旨在意指“一個并且只有一個”而是應(yīng)為“一個或多個”,除非特別說明。除非另外特別說明,術(shù)語“一些”是指一個或多個。男性代詞(例如,他的)包括女性和中性(例如,她的和它的),并且反之亦然。如果有的話,標(biāo)題和副標(biāo)題僅僅出于方便來使用,并不限制本技術(shù)主題。
[0045]短語,例如“方面”并不暗示該方面為本技術(shù)主題必不可少的,或該方面應(yīng)用于本技術(shù)主題的所有配置。涉及方面的公開可應(yīng)用于所有配置或一個或多個配置。短語,例如方面可指一個或多個方面,并且反之亦然。短語,例如“配置”并不暗示此配置為本技術(shù)主題必不可少的,或此配置應(yīng)用于本技術(shù)主題的所有配置。涉及配置的公開可應(yīng)用于所有配置或一個或多個配置。短語,例如配置可指一個或多個配置,并且反之亦然。
[0046]上述的各種實施例僅借助于例證來提供,并且不應(yīng)限制本公開的范圍。本領(lǐng)域的技術(shù)人員應(yīng)很容易認(rèn)識到,可對本文所述的原理進(jìn)行各種更改和改變,而無需遵循在本文中示出和描述的示例實施例和應(yīng)用并且不脫離本公開的精神和范圍。
[0047]雖然本說明書包含許多【具體實施方式】細(xì)節(jié),但是這些實施方式細(xì)節(jié)不應(yīng)構(gòu)成任何發(fā)明的范圍或要求保護(hù)的范圍的限制,而是構(gòu)成可指定給特定發(fā)明的特定實施例的特征的描述。在本說明書中在獨立實施例的背景下描述的某些特征也可結(jié)合單個實施例來實現(xiàn)。 相反,在單個實施例的背景下描述的各種特征也可以在以單獨方式提供的多個實施例中或在任何合適的子組合中實現(xiàn)。此外,雖然上述的特征可被描述為在某些組合中起作用甚至初始要求如此,但是在一些情況下,來自要求保護(hù)的組合的一個或多個特征可從該組合實施,并且要求保護(hù)的組合可涉及子組合或子組合的變型。[〇〇48]同時,雖然各操作在附圖中以特定的順序描述,但是不應(yīng)理解為需要此類操作以所示的特定順序或連續(xù)順序執(zhí)行,或全部示出的操作被執(zhí)行以實現(xiàn)所期望的結(jié)果。在某些情況下,多任務(wù)和并行處理可能是有利的。此外,上述的在各實施例中分開的各種系統(tǒng)組件不應(yīng)理解為在所有實施例中需要此類分開,而應(yīng)理解為,所述的程序組件和系統(tǒng)通??梢员灰黄鸺傻絾蝹€軟件產(chǎn)品或封裝到多個軟件產(chǎn)品中。
[0049]如上所述,已描述了本主題的具體實施例,但是其它實施例在附屬權(quán)利要求的范圍內(nèi)。例如,在附屬權(quán)利要求中引用的行為可以以不同的順序執(zhí)行并且仍然實現(xiàn)所需的結(jié)果。例如,在附圖中繪出的過程并不一定需要所示的特定順序或連續(xù)順序來實現(xiàn)所需的結(jié)果。在某些實施方式中,多任務(wù)和并行處理可能是有利的。
[0050]莖造
[0051]在上面的實施例中已示出用于有效實施用于通過全雙工排隊命令接口抽象化 SATA和/或SAS存儲介質(zhì)裝置以增加性能、降低主機開銷并簡化定標(biāo)存儲介質(zhì)裝置和系統(tǒng)的系統(tǒng)和方法的系統(tǒng)和方法。雖然已經(jīng)示出和描述各種優(yōu)選實施例,但是應(yīng)理解,并不旨在將本發(fā)明限制在此公開,而是旨在涵蓋落入本發(fā)明的精神和范圍內(nèi)的所有修改,如在附屬權(quán)利要求中定義的。例如,本發(fā)明不應(yīng)由軟件/程序、計算環(huán)境或特定的計算硬件來限制。
【主權(quán)項】
1.一種通過抽象協(xié)議來支持的可路由分組交換網(wǎng)絡(luò),其包括:至少一個主機;主控制器,所述主控制器包括主處理單元、與所述主機通信的主控制器接口以及至少 一個主控制器控制鏈路接口;以及至少一個邊緣控制器,所述邊緣控制器包括邊緣處理單元、通過所述主控制器控制鏈 路接口與所述主控制器通信的邊緣控制器控制鏈路接口以及與至少一個存儲介質(zhì)裝置通 信的至少一個存儲介質(zhì)裝置接口,其中所述主控制器和所述邊緣控制器通過所述抽象協(xié)議通信,所述抽象協(xié)議包括支持 所述至少一個存儲介質(zhì)裝置的全命令排隊的全雙工協(xié)議。2.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中所述抽象協(xié)議同時支持串行ATA即 SATA和串行附接SCSI即SAS存儲介質(zhì)裝置兩者。3.根據(jù)權(quán)利要求2所述的可路由分組交換網(wǎng)絡(luò),其中由所述主控制器發(fā)出的單個高級 命令解析為一個或多個SATA命令和一個或多個SAS命令。4.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中所述抽象協(xié)議支持串行ATASP SATA〇5.根據(jù)權(quán)利要求4所述的可路由分組交換網(wǎng)絡(luò),其中由所述主控制器發(fā)出的單個高級 命令解析為一個或多個SATA命令。6.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中所述抽象協(xié)議支持串行附接SCSI 即 SAS〇7.根據(jù)權(quán)利要求6所述的可路由分組交換網(wǎng)絡(luò),其中由所述主控制器發(fā)出的單個高級 命令解析為一個或多個SAS命令。8.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中在所述主控制器和所述邊緣控制 器之間的路由基于下面中的任一個:邏輯地址、萬維網(wǎng)號碼即醫(yī)N或物理地址。9.根據(jù)權(quán)利要求8所述的可路由分組交換網(wǎng)絡(luò),其中在所述主控制器和所述邊緣控制 器之間的路由基于被映射到所述物理地址的所述邏輯地址。10.根據(jù)權(quán)利要求9所述的可路由分組交換網(wǎng)絡(luò),其中在存儲介質(zhì)裝置被(a)插入;(b) 去除;(c)通電;或(d)斷電時,在所述邏輯地址和所述物理地址之間的映射基于恢復(fù)過程來 動態(tài)被更新。11.根據(jù)權(quán)利要求8所述的可路由分組交換網(wǎng)絡(luò),其中在所述主控制器和所述邊緣控制 器之間的路由基于被映射到所述物理地址的所述醫(yī)N。12.根據(jù)權(quán)利要求11所述的可路由分組交換網(wǎng)絡(luò),其中在存儲介質(zhì)裝置被(a)插入;(b) 去除;(c)通電;或(d)斷電時,在所述WWN和所述物理地址之間的映射基于恢復(fù)過程來動態(tài)更新。13.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中所述邊緣控制器進(jìn)一步包括至少 一個其它主控制器,在與所述邊緣控制器相關(guān)聯(lián)的所述邊緣處理單元發(fā)起意在用于其它邊 緣控制器的抽象協(xié)議消息時,所述至少一個其它主控制器進(jìn)一步與至少一個其它邊緣控制器通信。14.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中所述邊緣控制器進(jìn)一步包括至少 一個轉(zhuǎn)發(fā)鏈路接口,所述至少一個轉(zhuǎn)發(fā)鏈路接口與至少一個其它邊緣控制器通信并從所述主控制器向其它邊緣控制器轉(zhuǎn)發(fā)抽象協(xié)議分組。15.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中所述主控制器和至少一個邊緣控 制器被實現(xiàn)在一個物理裝置中,所述物理裝置為下面中的任一種:現(xiàn)場可編程門陣列即 FPGA或?qū)S眉呻娐芳碅SIC。16.根據(jù)權(quán)利要求1所述的可路由分組交換網(wǎng)絡(luò),其中所述主控制器接口通過下面接口 中的任一種與所述主機通信:可直接尋址的存儲器接口、USB、PCIe、以太網(wǎng)、無限寬帶、雷電 或防火墻。17.—種通過抽象協(xié)議來支持的可路由分組交換網(wǎng)絡(luò),其包括:至少一個主機;第一主控制器,所述第一主控制器包括第一主處理單元、與所述主機通信的第一主控 制器接口以及至少一個第一主控制器控制鏈路接口;以及至少一個第一邊緣控制器,所述第一邊緣控制器包括:第一邊緣處理單元,第一邊緣控制器控制鏈路接口,所述第一邊緣控制器控制鏈路接口通過所述第一主控 制器控制鏈路接口與所述第一主控制器通信,第二主控制器,所述第二主控制器包括第二主處理單元、與所述第一邊緣處理單元通 信的第二主控制器接口以及與第二邊緣控制器通信的至少一個第二主控制器控制鏈路接 口,所述第二邊緣控制器包括第二邊緣處理單元、第二邊緣控制器控制鏈路接口,所述第二 邊緣控制器控制鏈路接口允許所述第二邊緣處理單元與所述第二主控制器通信;以及與至少一個存儲介質(zhì)裝置通信的至少一個存儲介質(zhì)裝置接口,其中所述第一主控制器和第二主控制器、所述第一邊緣控制器和第二邊緣控制器通過 所述抽象協(xié)議通信,所述抽象協(xié)議包括支持所述至少一個存儲介質(zhì)裝置的全命令排隊的全 雙工協(xié)議。18.根據(jù)權(quán)利要求17所述的可路由分組交換網(wǎng)絡(luò),其中所述第一邊緣控制器進(jìn)一步包 括轉(zhuǎn)發(fā)鏈路接口以及與所述第二邊緣控制器通信的至少一個第二主控制器控制鏈路接口, 所述轉(zhuǎn)發(fā)鏈路接口與所述第二邊緣控制器通信以從所述第一主控制器向所述第二邊緣控 制器轉(zhuǎn)發(fā)抽象協(xié)議分組。19.根據(jù)權(quán)利要求17所述的可路由分組交換網(wǎng)絡(luò),其中由所述主控制器發(fā)出的單個高 級命令解析為一個或多個SATA命令。20.根據(jù)權(quán)利要求17所述的可路由分組交換網(wǎng)絡(luò),其中由所述主控制器發(fā)出的單個高 級命令解析為一個或多個SAS命令。
【文檔編號】G06F13/42GK105981001SQ201480075072
【公開日】2016年9月28日
【申請日】2014年12月8日
【發(fā)明人】J·D·比森, J·B·耶茨
【申請人】并發(fā)投資有限責(zé)任公司