• / 18
  • 下載費用:30 金幣  

SATA發起方尋址和存儲設備分片.pdf

摘要
申請專利號:

CN201380072004.4

申請日:

2013.04.02

公開號:

CN104956348A

公開日:

2015.09.30

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||專利申請權的轉移IPC(主分類):G06F 13/14登記生效日:20161230變更事項:申請人變更前權利人:惠普發展公司,有限責任合伙企業變更后權利人:慧與發展有限責任合伙企業變更事項:地址變更前權利人:美國德克薩斯州變更后權利人:美國德克薩斯州|||實質審查的生效 IPC(主分類):G06F 13/14申請日:20130402|||公開
IPC分類號: G06F13/14; G06F13/38; G06F15/16 主分類號: G06F13/14
申請人: 惠普發展公司,有限責任合伙企業
發明人: M.L.薩波塔; B.納特拉簡; H.F.小拉達; C.R.漢娜
地址: 美國德克薩斯州
優先權:
專利代理機構: 中國專利代理(香港)有限公司72001 代理人: 張凌苗; 徐紅燕
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201380072004.4

授權公告號:

|||||||||

法律狀態公告日:

2018.04.20|||2017.01.18|||2015.11.04|||2015.09.30

法律狀態類型:

授權|||專利申請權、專利權的轉移|||實質審查的生效|||公開

摘要

示例實施例涉及提供串行ATA(SATA)發起方尋址和存儲設備分片。在示例實施例中,擴展器設備將發起方串行附接SCSI(SAS)地址配置成唯一地標識SATA發起方,其中SATA發起方與SATA存儲橋接器的目標地址相關聯。另外,擴展器設備的STP存儲橋接器被配置成將發起方SAS地址與SATA存儲設備的驅動片相關聯。在該階段,擴展器設備從SATA發起方接收SATA請求,其中SATA請求包括SATA命令和邏輯塊尋址(LBA)地址,并且在將發起方SAS地址插入到SATA請求中之后,向目標地址發送STP連接請求。擴展器設備然后可以基于發起方SAS地址對LBA地址進行偏移以獲得SATA存儲設備的偏移的LBA地址。

權利要求書

權利要求書
1.  一種串行附接小型計算機系統接口(SAS)擴展器設備,包括:
發起方管理模塊,以將發起方SAS地址配置成唯一地標識串行高級技術附接(SATA)發起方,其中SATA發起方與SATA隧道協議(STP)存儲橋接器的目標地址相關聯;
STP發起方橋接器,以:
  從SATA發起方接收SATA請求,其中SATA請求包括SATA命令和邏輯塊尋址(LBA)地址;并且
  在將發起方SAS地址插入到SATA請求中之后向目標地址發送STP連接請求;
存儲管理模塊,以將STP存儲橋接器配置成將發起方SAS地址與SATA存儲設備的多個驅動片中的驅動片相關聯;以及
STP存儲橋接器,以基于發起方SAS地址而對LBA地址進行偏移以獲得SATA存儲設備的偏移的LBA地址。

2.  根據權利要求1所述的擴展器設備,其中STP存儲橋接器還:
對SATA存儲設備進行劃分以獲得多個驅動片,其中多個驅動片中的每一個被分配給多個SATA發起方中的一個。

3.  根據權利要求1所述的擴展器設備,其中STP存儲橋接器還:
向SATA存儲設備發送SATA命令和偏移的LBA地址。

4.  根據權利要求1所述的擴展器設備,還包括服務器擴展器和存儲擴展器,其中發起方管理模塊和STP發起方橋接器由服務器擴展器包括,并且其中存儲管理模塊和STP存儲橋接器由存儲擴展器包括。

5.  根據權利要求1所述的擴展器設備,其中STP存儲橋接器還:
從STP發起方橋接器接收對于與SATA發起方相關聯的存儲參數的SATA查詢請求,其中由STP發起方橋接器從SATA發起方接收SATA查詢請求;并且
傳輸將多個驅動片中的所述驅動片描述為不同的存儲設備的存儲參數。

6.  根據權利要求1所述的擴展器設備,其中存儲管理模塊還:
將STP存儲橋接器配置成提供用于SATA發起方的預確定的時間共享。

7.  根據權利要求6所述的擴展器設備,其中STP存儲橋接器還:
檢測在擴展器設備的操作期間SATA發起方的性能要求;以及
基于所述性能要求而修改預確定的時間共享以獲得經修改的時間共享。

8.  根據權利要求7所述的擴展器設備,其中所述性能要求包括選自最大命令數目、最大執行時間量和命令超時的組的至少一個要求。

9.  一種用于提供串行高級技術附接(SATA)發起方尋址和存儲設備分片的方法,包括:
將發起方串行附接小型計算機系統接口(SAS)地址配置成唯一地標識SATA發起方,其中SATA發起方與SATA存儲橋接器的目標地址相關聯;
對SATA存儲設備進行劃分以獲得多個驅動片,其中所述發起方SAS地址與多個驅動片中的驅動片相關聯;
從SATA發起方接收SATA請求,其中SATA請求包括SATA命令和邏輯塊尋址(LBA)地址;
在將發起方SAS地址插入到SATA請求中之后,向目標地址發送SATA隧道協議(STP)連接請求;以及
基于發起方SAS地址對LBA地址進行偏移以獲得SATA存儲設備的偏移的LBA地址。

10.  根據權利要求9所述的方法,還包括:
向SATA存儲設備發送SATA命令和偏移的LBA地址。

11.  根據權利要求9所述的方法,還包括:
從STP發起方橋接器接收對于與SATA發起方相關聯的存儲參數的SATA查詢請求;以及
傳輸將多個驅動片中的所述驅動片描述為不同的存儲設備的存儲參數。

12.  根據權利要求9所述的方法,還包括:
將STP存儲橋接器配置成提供用于SATA發起方的預確定的時間共享;
檢測SATA發起方的運行時性能要求;以及
基于運行時性能要求而修改預確定的時間共享以獲得經修改的時間共享。

13.  一種編碼有由處理器可執行的指令的非暫時性、計算機可讀介質,機器可讀存儲介質包括:
用于將發起方串行附接小型計算機系統接口(SAS)地址配置成唯一地標識串行高級技術附接(SATA)發起方的指令,其中SATA發起方與SATA存儲橋接器的目標地址相關聯;
用于對SATA存儲設備進行劃分以獲得多個驅動片的指令,其中發起方SAS地址與多個驅動片中的驅動片相關聯;
用于從SATA發起方接收SATA請求的指令,其中SATA請求包括SATA命令和邏輯塊尋址(LBA)地址;
用于在將發起方SAS地址插入到SATA請求中之后向目標地址發送SATA隧道協議(STP)連接請求的指令;以及
用于基于發起方SAS地址對LBA地址進行偏移以獲得SATA存儲設備的偏移的LBA地址的指令。

14.  根據權利要求13所述的計算機可讀介質,還包括用于以下的指令:
從STP發起方橋接器接收對于與SATA發起方相關聯的存儲參數的SATA查詢請求;以及
傳輸將多個驅動片中的所述驅動片描述為不同的存儲設備的存儲參數。

15.  根據權利要求13所述的計算機可讀介質,還包括用于以下的指令:
將STP存儲橋接器配置成提供用于SATA發起方的預確定的時間共享;
檢測SATA發起方的運行時性能要求;以及
基于運行時性能要求而修改預確定的時間共享以獲得經修改的時間共享。

說明書

說明書SATA發起方尋址和存儲設備分片
背景技術
串行附接小型計算機系統接口(SAS)是用于使得能夠實現計算設備之間的通信的通信協議。SAS設備包括發起方(initiator)、目標和擴展器。發起方是可以發起SAS請求的設備,并且目標是接收和處理來自發起方的SAS請求的存儲設備。擴展器設備是可以促進多個目標和單個發起方之間的連接的設備。SAS協議利用點對點總線拓撲;因此,每一個目標通過專用鏈路連接到發起方,除非使用擴展器。
附圖說明
以下詳細描述參考附圖,其中:
圖1是用于提供SATA發起方尋址和存儲設備分片的示例擴展器設備的框圖;
圖2是用于提供SATA發起方尋址和存儲設備分片的示例系統的框圖;
圖3是用于提供SATA發起方尋址和存儲設備分片的示例模塊化系統的框圖;
圖4是用于由擴展器設備執行以用于提供SATA發起方尋址和存儲設備分片的示例方法的流程圖;
圖5是用于由擴展器執行以用于提供存儲設備分片和迭代SATA發起方尋址和處理的示例方法的流程圖;
圖6是用于由擴展器執行以用于提供存儲設備片(slice)的SATA發起方時間共享的示例方法的流程圖;以及
圖7是示出存儲用于提供SATA發起方尋址和存儲設備分片的指令的示例非暫時性、計算機可讀介質的框圖。
具體實施方式
如以上討論的,SAS配置允許SAS存儲設備與SAS發起方對接。例如,一些專用服務器平臺應用具有專用存儲設備,但是僅使用存儲設備的總容量的小部分。服務器平臺一般包括支持超過所托管的應用的存儲要求的大量存儲容量的陣列控制器。因此,服務器平臺可能未被優化成允許多個服務器節點被較小的存儲設備支持。
已經嘗試了具有多樣結果的聚焦于存儲優化的不同方面的各種方案。例如,可以從光纖通道存儲區域網絡(SAN)啟動以將儲存器重定位到統一的位置。在該示例中,專用基礎設施引入大于對主機更高的量級的成本結構(cost stucture)。在另一示例中,在數據網絡頂部上的分層的互聯網小型計算機系統接口(iSCSI)SAN可以允許成本結構與單個啟動驅動器競爭,但是該方案的尺度引入令人不快的大故障域。在又一示例中,諸如預啟動執行環境(PXE)和網絡文件系統(NFS)之類的協議上的聯網啟動可以實現具有良好可管理性的合理成本結構但是限制可支持操作系統的廣度。在又一示例中,可以提供在主機側上呈現標準儲存器控制器并且在構造(fabric)的另一側上對存儲設備進行細分的專有構造。
本文所公開的示例實施例提供用于SATA發起方尋址和存儲設備分片的擴展器。例如,在一些實施例中,擴展器設備將發起方SAS地址配置成唯一地標識SATA發起方,其中SATA發起方與SATA存儲橋接器的目標地址相關聯。STP存儲橋接器可以被配置成將發起方SAS地址與SATA存儲設備的驅動片相關聯。在這階段,可以從SATA發起方接收包括存儲命令和邏輯塊尋址(LBA)地址的SATA請求。響應于SATA請求,在建立STP連接以向目標地址發送SATA請求之前,可以將發起方SAS地址插入到SATA請求中。在SATA請求在目標地址處被接收之后,LBA地址可以基于發起方SAS地址而被偏移。
以此方式,本文所公開的示例實施例允許多個SATA發起方共享單個SATA存儲設備。具體地,通過向SATA發起方分配發起方SAS地址,SATA請求可以被擴展器攔截并且路由至所共享的SATA存儲設備的適當的驅動片。因為路由被擴展器抽象,所以SATA發起方和SATA存儲設備可以在沒有發起方SAS地址分配的任何知識的情況下以常規方式操作。
現在參考附圖,圖1是用于提供SATA發起方尋址和存儲設備分片的示例擴展器設備100的框圖。示例擴展器設備100可以被實現在服務器計算設備中,諸如刀片式服務器、機架式服務器、筆記本計算機、臺式計算機或適合用于提供SATA發起方尋址和存儲設備分片的任何其它電子設備。在圖1的實施例中,擴展器設備100包括STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)、發起方管理模塊103、STP存儲橋接器104和存儲管理模塊106。
每一個STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)可以被配置成與相關聯的發起方通信。具體地,STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)提供發起方與諸如存儲設備之類的SATA目標之間的橋接功能。例如,STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)可以被配置成發起與STP存儲橋接器104的STP連接并且然后經由STP連接將SATA協議傳遞到STP存儲橋接器104。
發起方管理模塊103可以利用操作參數配置STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)。具體地,發起方管理模塊103可以向每一個STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)分配SAS地址。在該情況中,SAS地址充當用于連接到每一個STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)的對應發起方的唯一標識符。另外,發起方管理模塊103可以將目標地址與每一個STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)相關聯,其中目標地址是由STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)轉發的SATA協議的目的地。在該示例中,目標地址標識作為用于SATA協議的目的地的STP存儲橋接器104。
一旦被發起方管理模塊103配置,STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)可以將其所分配的SAS地址注入到從相關聯的發起方接收的SATA請求中。SATA請求可以包括SATA命令,并且在一些情況中,包括邏輯塊尋址(LBA)地址。SAS地址被注入到SATA請求中,使得在轉發SATA請求之后,STP存儲橋接器104可以標識發起SATA請求的發起方。
STP存儲橋接器104可以被配置成與相關聯的存儲設備通信。具體地,STP存儲橋接器104提供存儲設備與發起方之間的橋接功能。例如,STP存儲橋接器104可以被配置成響應于STP連接請求而連接到STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)并且然后從STP發起方橋接器接收SATA協議。
存儲管理模塊106可以利用操作參數配置STP存儲橋接器104。具體地,存儲管理模塊106可以定義用于STP存儲橋接器104的查找表,其中查找表中的每一個記錄包括用于標識與連接到STP存儲橋接器104的存儲設備的驅動片相關聯的發起方的SAS地址(即針對由發起方管理模塊103分配給發起方的每一個SAS地址的記錄)。發起方可以通過被包括在查找表的每一個記錄中的偏移值而與驅動片相關聯,其中偏移值對應于存儲設備中的驅動片的起始地址。查找表允許STP存儲橋接器通過基于來自查找表中的相關記錄的偏移值來對SATA請求中的LBA地址進行偏移而處理從STP發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)接收的SATA請求,其中偏移的LBA地址被指向與發起方相關聯的驅動片處。在該階段,存儲設備然后可以通過使用偏移的LBA地址來實行SATA請求。
存儲管理模塊106還可以向STP存儲橋接器104提供驅動片配置,STP存儲橋接器104然后使用驅動片配置來將存儲設備劃分成用于發起方的驅動片。驅動片配置可以包括諸如驅動片的數量、每一個驅動片的大小、分配給每一個驅動片的發起方的時間共享(time share)等之類的參數。發起方的時間共享可以是被分派以實行來自發起方的SATA請求的時間部分。在該示例中,多個發起方共享對相同存儲設備的訪問,并且STP存儲橋接器104可以使用計及每一個發起方的時間共享的調度算法來調度針對每一個發起方的訪問。
在一些情況中,管理模塊(例如發起方管理模塊103、存儲管理模塊106)可以包括用于允許諸如擴展器設備100的系統管理員之類的用戶指定或修改操作參數的接口。接口可以允許系統管理員使用諸如個人計算機之類的具有用于配置管理模塊的用戶接口的電子設備來訪問操作參數。例如,接口可以允許系統管理員指定應當由發起方管理模塊103分配給對應發起方橋接器(例如STP發起方橋接器A 102A,STP發起方橋接器N 102N等)處的每一個發起方的SAS地址和目標地址。在另一示例中,接口可以允許系統管理員指定應當由存儲管理模塊106分配給STP存儲橋接器104的驅動片參數、用于每一個發起方的時間共享參數和發起方查找表。
以上描述的每一個模塊可以被實現成在具有適合用于檢索和執行存儲在機器可讀存儲介質中的指令的一個或多個中央處理單元(CPU)、微處理器和/或其它硬件設備的處理器上執行。作為替換或除檢索和執行指令之外,處理器還可以包括包含用于執行指令中的一個或多個的功能的數個電子組件的一個或多個電子電路。
機器可讀存儲介質可以是存儲可執行指令的任何電子、磁性、光學或其它物理存儲設備。因此,機器可讀存儲介質可以是例如隨機存取存儲器(RAM)、電可擦除可編程只讀存儲器(EEPROM)、存儲驅動器、光盤等。
圖2是包括用于提供SATA發起方尋址和存儲設備分片的擴展器202的示例系統200的框圖。正如圖1的擴展器設備100,擴展器202可以被實現在適合用于提供SATA發起方尋址和存儲設備分片的任何電子設備上。擴展器202的組件可以類似于關于圖1描述的擴展器設備100的對應組件。
STP服務器橋接器(例如STP服務器橋接器A 204A,STP服務器橋接器N 204N等)被配置成提供相關聯的服務器節點(例如服務器節點A 206A,服務器節點N 206N等)與STP存儲橋接器210之間的橋接功能,從而促進與存儲設備214的通信。每一個STP服務器橋接器(例如STP服務器橋接器A 204A,STP服務器橋接器N 204N等)可以被服務器管理模塊205配置成向每一個服務器節點(例如服務器節點A 206A,服務器節點N 206N等)分配SAS地址并且將STP存儲橋接器210的目標地址與每一個服務器節點(例如服務器節點A 206A,服務器節點N 206N等)相關聯。一旦被配置,STP服務器橋接器(例如STP服務器橋接器A 204A,STP服務器橋接器N 204N等)可以在將SATA協議傳遞到目標地址處的STP存儲橋接器210之前將SAS地址注入到從其相應服務器節點(例如服務器節點A 206A,服務器節點N 206N等)接收的SATA協議中。
每一個服務器節點(例如服務器節點A 206A,服務器節點N 206N等)可以包括具有一個或多個中央處理單元(CPU)和/或核的處理器以及相關聯的存儲器。服務器節點(例如服務器節點A 206A,服務器節點N 206N等)可以執行指令以用于系統200提供各種計算功能(例如提供web(網絡)服務、處理數據等)。在該示例中,服務器節點(例如服務器節點A 206A,服務器節點N 206N等)可以共享和使用存儲設備214以用于長期存儲。
STP存儲橋接器210提供存儲設備214與STP服務器橋接器(例如STP服務器橋接器A 204A,STP服務器橋接器N 204N等)之間的橋接功能。具體地,STP存儲橋接器210可以被配置成響應于STP連接請求而連接到STP服務器橋接器(例如STP服務器橋接器A 204A,STP服務器橋接器N 204N等)并且然后處理來自服務器節點(例如服務器節點A 206A,服務器節點N 206N等)的SATA請求。STP存儲橋接器210可以通過基于被分配給發起服務器節點(例如服務器節點A 206A,服務器節點N 206N等)的所包括的SAS地址而對SATA請求中的LBA地址進行偏移來處理SATA請求。在對LBA地址進行偏移之后,STP存儲橋接器210可以將SATA請求傳遞到具有偏移的LBA地址的存儲設備214。
STP存儲橋接器210還可以被配置成如存儲管理模塊212指定的那樣將存儲設備214劃分成驅動片(例如片A 216A,片N 216N等)。例如,存儲管理模塊212可以指定驅動片的數量和每一個驅動片的大小,其中每一個驅動片被分配給對應服務器節點(例如服務器節點A 206A,服務器節點N 206N等)。存儲設備214的驅動片(例如片A 216A,片N 216N等)可以是邏輯存儲單元。例如,驅動片(例如片A 216A,片N 216N等)可以是被保留以供對應服務器節點(例如服務器節點A 206A,服務器節點N 206N等)使用的硬驅動器的一系列存儲柱體(cylinder)。
存儲設備214可以是用于維護對服務器節點(例如服務器節點A 206A,服務器節點N 206N等)而言可訪問的數據的任何硬件存儲設備。例如,存儲設備214可以包括一個或多個硬盤驅動器、固態驅動器、帶驅動器和/或任何其它合適的存儲設備。
圖3是包括用于提供SATA發起方尋址和存儲設備分片的擴展器的示例模塊化系統300的框圖。擴展器的組件可以類似于關于圖1描述的擴展器設備100或關于圖2描述的擴展器202的對應組件。
系統300包括服務器單元301和存儲單元307。系統300可以是諸如機架式服務器或刀片式服務器之類的模塊化系統,其中服務器單元301和存儲單元307可以容易地從系統300移除或安裝在系統300中。服務器單元301可以是提供用于系統300的處理的模塊化單元,并且存儲單元307可以是提供用于系統300的儲存器的模塊化單元。任何數目的模塊化單元可以在給定時間安裝在系統300中。
服務器單元301和存儲單元307中的每一個具有通過構造305連接的擴展器,相應地服務器擴展器302和存儲擴展器308。服務器擴展器302包括STP服務器橋接器(例如STP服務器橋接器A 304A,STP服務器橋接器N 304N等),其被配置成經由構造305提供相關聯的服務器節點(例如服務器節點A 306A,服務器節點N 306N等)與STP存儲橋接器310之間的橋接功能,從而促進與存儲設備314的通信。STP服務器橋接器(例如STP服務器橋接器A 304A,STP服務器橋接器N 304N等)中的每一個可以被服務器管理模塊305配置成向每一個服務器節點(例如服務器節點A 306A,服務器節點N 306N等)分配SAS地址并且將STP存儲橋接器310的目標地址與每一個服務器節點(例如服務器節點A 306A,服務器節點N 306N等)相關聯。一旦被配置,STP服務器橋接器(例如STP服務器橋接器A 304A,STP服務器橋接器N 304N等)可以在將SATA協議傳遞到目標地址處的STP存儲橋接器310之前,將相關聯的SAS地址注入到從其相應服務器節點(例如服務器節點A 306A,服務器節點N 306N等)接收的SATA協議中。
存儲擴展器308包括提供存儲設備314與STP服務器橋接器(例如STP服務器橋接器A 304A,STP服務器橋接器N 304N等)之間的橋接功能的STP存儲橋接器310。具體地,STP存儲橋接器310可以被配置成響應于STP連接請求而連接到STP服務器橋接器(例如STP服務器橋接器A 304A,STP服務器橋接器N 304N等)并且然后處理來自服務器節點(例如服務器節點A 306A,服務器節點N 306N等)的SATA請求。STP存儲橋接器310可以通過基于被分配給源發(originating)服務器節點(例如服務器節點A 306A,服務器節點N 306N等)的所包括的SAS地址而對SATA請求中的LBA地址進行偏移來處理SATA請求。在對LBA地址進行偏移之后,STP存儲橋接器310可以將SATA請求傳遞到具有偏移的LBA地址的存儲設備314。
構造305提供可以包括提供通過構造305在服務器單元301與存儲單元307之間的通信的任何構件的通信路徑。例如,物理層(PHY)可以是服務器擴展器302的端口的輸入/輸出模塊的部分并且可以包括用于與存儲擴展器308的PHY的發射器和接收器通信的發射器和接收器。在構造305中,PHY表示可以被分組為表示邏輯通信結構的端口的物理通信結構。通信鏈路可以包括通信介質,其可以包括提供電學或光學通信的任何物理構件,諸如光纖線纜、銅線纜、其合適的組合等。
構造305被描述為諸如SAS構造架構之類的數據存儲構造的部分;然而,諸如存儲區域網絡(SAN)或直接附接網絡(DAN)之類的其它架構也可以是適用的。存儲設備314被示出為連接到存儲擴展器308,但是存儲設備314可以包括與所示不同的數目和配置的擴展器。構造305可以包括具有附加擴展器的設備,所述附加擴展器可以包括作為擴展器的端口的部分的PHY。PHY可以提供物理通信構件并且可以包括用于允許與耦合到構造305的其它設備的其它PHY通信的發射器和接收器。PHY表示物理通信元件并且可以被分組或組織為可以表示邏輯通信元件的端口。
圖4是用于由擴展器設備100執行以用于提供SATA發起方尋址和存儲設備分片的示例方法400的流程圖。盡管以下參考圖1的擴展器設備100描述方法400的執行,但是可以使用用于執行方法400的其它合適設備,諸如圖2的擴展器202或圖3的服務器擴展器302和存儲擴展器308。方法400可以以存儲在諸如圖7的計算機可讀介質700之類的機器可讀存儲介質上的可執行指令的形式和/或以電子電路的形式實現。
方法400可以在塊405中開始并且繼續到塊410,其中擴展器設備100可以利用SAS和目標地址來配置STP發起方橋接器。具體地,可以向與STP發起方橋接器相關聯的發起方分配SAS地址,并且STP存儲橋接器的目標地址可以與發起方相關聯。接下來,在塊415中,擴展器設備100可以將STP存儲橋接器配置成將SAS地址與存儲設備的驅動片相關聯。例如,可以在查找表中創建通過指定偏移值來將SAS地址與驅動片相關聯的記錄。偏移值可以對應于存儲設備中的驅動片的起始地址。
在塊420中,從發起方接收SATA請求。SATA請求可以包括SATA命令和LBA地址。SATA命令的示例包括尋找命令、讀取命令、寫入命令、拷貝命令、查詢命令等。在塊425中,將與發起方相關聯的SAS地址插入到SATA請求中。接下來,在塊430中,基于與發起方相關聯的SAS地址而對LBA地址進行偏移。具體地,SAS地址可以被用于從查找表獲得偏移值,其中偏移值被用于對LAB地址進行偏移。方法400可以隨后進行到塊435,其中方法400可以停止。
圖5是用于由擴展器202執行以用于提供存儲設備分片和迭代SATA發起方尋址和處理的示例方法500的流程圖。盡管以下參考圖2的擴展器202描述方法500的執行,但是可以使用用于執行方法500的其它合適設備,諸如圖1的擴展器設備100或圖3的服務器擴展器302和存儲擴展器308。方法500可以以存儲在諸如圖7的計算機可讀介質700之類的機器可讀存儲介質上的可執行指令的形式和/或以電子電路的形式實現。
方法500可以在塊505中開始并且繼續到塊510,其中擴展器202可以利用SAS和目標地址來配置STP服務器橋接器。具體地,可以向與對應STP服務器橋接器相關聯的服務器節點中的每一個分配SAS地址,并且STP存儲橋接器的目標地址可以與每一個服務器節點相關聯。連接到STP存儲橋接器的存儲設備可以是服務器節點的共享存儲資源。接下來,在塊515中,可以利用諸如驅動片的數量和每一個驅動片的大小之類的存儲片參數來配置STP存儲橋接器。在被配置之后,STP存儲橋接器可以根據存儲片參數將存儲設備劃分成驅動片。
在塊520中,擴展器202可以將STP存儲橋接器配置成將每一個SAS地址與存儲設備的驅動片相關聯。例如,可以在查找表中創建通過指定用于每一個SAS地址的偏移值來將每一個SAS地址與驅動片相關聯的記錄。每一個偏移值可以對應于存儲設備中的驅動片的起始地址。
在塊525中,確定是否已經從服務器節點接收到SATA請求。如果未從服務器節點接收到SATA請求,方法500進行到塊545,其中擴展器202確定是否存在要執行的另外的處理。如果不存在要執行的另外的處理,方法500可以進行到塊550,其中方法500可以停止。如果存在要執行的另外的處理,方法500可以返回到塊525以確定是否已經接收到另一SATA請求。
如果已經接收到SATA請求,在塊530中將與請求服務器節點相關聯的SAS地址插入到SATA請求中。接下來,在塊535中,基于與請求服務器節點相關聯的SAS地址來對LAB地址進行偏移。具體地,SAS地址可以被用于從查找表獲得偏移值,其中偏移值被用于對LBA地址進行偏移。在塊540中,將具有偏移的LBA地址的SATA請求傳遞到存儲設備。在該階段,存儲設備可以通過在偏移的LBA地址處執行所請求的SATA命令來處理SATA請求。
圖6是用于由擴展器202執行以用于提供存儲設備片的SATA發起方時間共享的示例方法600的流程圖。盡管以下參考圖2的擴展器202描述方法600的執行,但是可以使用用于執行方法600的其它合適設備,諸如圖1的擴展器設備100或圖3的服務器擴展器302和存儲擴展器308。方法600可以以存儲在諸如圖7的計算機可讀介質700之類的機器可讀存儲介質上的可執行指令的形式和/或以電子電路的形式實現。
方法600可以在塊605中開始并且繼續到塊610,其中擴展器202可以配置STA服務器橋接器。具體地,可以向與對應STP服務器橋接器相關聯的每一個服務器節點分配SAS地址,并且STP存儲橋接器的目標地址可以與每一個服務器節點相關聯。連接到STP存儲橋接器的存儲設備可以是服務器節點的共享存儲資源。接下來,在塊612中,擴展器202可以配置STP存儲橋接器。例如,擴展器202可以設置存儲片參數并且在STP存儲橋接器中創建SAS地址查找表。另外,擴展器202可以在STP存儲橋接器中設置用于每一個發起方的初始時間共享參數。
在塊615中,擴展器202可以處理來自當前發起方的SATA請求。當前發起方可以是當前具有關于STP存儲橋接器的優先(priority)的發起方,因為當前發起方的時間共享是活動的。在一些情況中,可以如以上關于圖5的圖的塊530-540討論的那樣處理SATA請求。在其它情況中,如果來自發起方的SATA請求包括用于存儲參數的查詢命令,可以由STP存儲橋接器通過返回就像驅動片是不同的存儲設備那樣地描述與發起方相關聯的驅動片的存儲參數來處理SATA。換言之,發起方沒有意識到其正在訪問共享存儲設備的分區。由STP存儲橋接器提供的存儲參數可以包括存儲設備類型(例如磁盤、磁帶、光學驅動設備等)、驅動片的大小、對于各種尋址模式的支持、驅動片的人類可讀描述等。接下來,在塊620中,確定當前發起方的時間共享是否完成。如果時間共享未完成,方法600返回到塊615,其中擴展器202繼續處理來自當前發起方的SATA請求。
如果時間共享完成,在塊625中確定是否應當作出時間共享調節。所述確定可以基于發起方的性能要求來進行,這可以通過測量每一個發起方的運行時(即在擴展器202的操作期間)性能度量來計算。性能度量可以包括例如在發起方的每一個時間共享期間的命令超時(timeout)(即沒有命令活動的時間共享)數目和命令數目。在其時間共享期間具有大數目的命令超時的發起方可以是用于使其時間共享降低的候選。相反,在其時間共享期間具有大數目的命令的發起方可以是用于使其時間共享增加的候選。
如果確定應當進行時間共享調節,在塊630中可以調節用于發起方的時間共享參數。例如,在其時間共享期間具有大數目的命令的發起方可以接收增加的時間共享,而在其時間共享期間具有大數目的命令超時的發起方可以接收減少的時間共享。如果確定不應當進行時間共享調節,在塊635中可以將當前發起方設置成具有時間共享的下一發起方。在該階段,方法600可以返回到塊615,其中擴展器可以處理來自下一發起方的SATA請求。
圖7是示出存儲用于操作存儲設備以提供SATA發起方尋址和存儲設備分片的代碼的非暫時性、計算機可讀介質的示例框圖。非暫時性、計算機可讀介質通常用附圖標記700指示并且可以包括在關于圖1描述的擴展器設備中。非暫時性、計算機可讀介質700可以對應于存儲諸如編程代碼等之類的計算機實現的指令的任何典型存儲設備。例如,非暫時性、計算機可讀介質700可以包括非易失性存儲器、易失性存儲器和/或一個或多個存儲設備中的一個或多個。非易失性存儲器的示例包括但不限于,電可擦除可編程只讀存儲器(EEPROM)和只讀存儲器(ROM)。易失性存儲器的示例包括但不限于,靜態隨機存取存儲器(SRAM)和動態隨機存取存儲器(DRAM)。存儲設備的示例包括但不限于,硬盤驅動器、壓縮盤驅動器、數字多功能盤驅動器、光學驅動器、固態驅動器和閃速存儲器設備。
處理器702通常檢索和執行存儲在非暫時性、計算機可讀介質700中的指令以依照示例操作存儲設備。在示例中,有形、機器可讀介質700可以由處理器702通過總線704訪問。非暫時性、計算機可讀介質700的第一區域706可以包括實現如本文所描述的擴展器設備的功能。
盡管被示出為連續塊,但是軟件組件可以以任何次序或配置被存儲。例如,如果非暫時性、計算機可讀介質700是硬驅動器,軟件組件可以被存儲在非連續或甚至重疊的扇區中。
前述公開描述了用于提供SATA發起方尋址和存儲設備分片的數個示例實施例。以此方式,本文所公開的實施例將SATA發起方尋址封裝在將SATA請求從多個發起方路由至單個目標設備的驅動片的擴展器設備中。

關 鍵 詞:
SATA 發起 尋址 存儲 設備 分片
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:SATA發起方尋址和存儲設備分片.pdf
鏈接地址:http://www.rgyfuv.icu/p-6381505.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图