TWI387961B - 用以於串列進階附接技術通訊中之經改良主機/啟動器使用之方法及裝置 - Google Patents
用以於串列進階附接技術通訊中之經改良主機/啟動器使用之方法及裝置 Download PDFInfo
- Publication number
- TWI387961B TWI387961B TW100107598A TW100107598A TWI387961B TW I387961 B TWI387961 B TW I387961B TW 100107598 A TW100107598 A TW 100107598A TW 100107598 A TW100107598 A TW 100107598A TW I387961 B TWI387961 B TW I387961B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- size
- storage device
- sas
- sata storage
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0028—Serial attached SCSI [SAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0032—Serial ATA [SATA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Measuring Volume Flow (AREA)
Description
本發明大體上係關於儲存系統效能,且更具體言之關於用於改良一串列附接小型電腦系統介面(SCSI)串列進階附接技術穿隧協定(SAS/STP)啟動器器件與複數個SATA目標器件之間的透過一串列附接SCSI(SAS)擴充器之通訊中之啟動器效能之方法及裝置。
此申請案係2010年8月25日申請之標題為「Methods And Apparatus for Improved Host/Initiator Utilization in Serial Advanced Technology Attachment Communication」之美國專利申請案第12/868,279號之一部分接續,該案係以引用方式併入本文中。
在儲存系統中,一主機系統與一或多個儲存器件通訊。在一SAS域中組態之SATA儲存系統中,一SAS/STP啟動器器件(例如,一主機系統)與一SATA目標器件(例如,一SATA儲存器件,諸如一磁碟機)通訊。在原生SATA組態中,一主機系統(一原生SATA主機控制器)與一單一SATA儲存器件耦合以與該單一SATA儲存器件交換資料。在SATA原生指令佇列(NCQ)協定中,該SATA器件發送一直接記憶體存取設定(DMA SETUP)訊框資訊結構(FIS)至該SATA主機以指示該SATA器件現在已準備好自該主機接收資料至該器件。雖然SATA協定提供一種使該器件使用多個DMA SETUP FIS以完成一大型I/O(例如500百萬位元組)之機制,但是實際上該等SATA儲存器件將針對整個I/O大小(例如,如在前文實例中之500百萬位元組)選擇發送一單一DMA SETUP FIS。SATA規範中將此能力稱為非零緩衝器偏移。由於典型的SATA磁碟機未針對此大容量資料提供持續資料傳送,所以此SATA標準技術歸因於SATA介面上的流控制信號/訊框而引起長時間的停止運作。
在典型的桌上型個人電腦/工作站環境中,此問題在很大程度上係一不重要的問題,此係因為該SATA介面係介於該主機與該單一器件之間的一對等式介面。此停止運作行為不影響任何其他器件。
然而,當在使用SATA穿隧協定(STP)之一串列附接SCSI(SAS)拓樸中使用SATA儲存器件時,此等停止運作時間可為浪費,此係因為其等消耗其他SAS資源(尤其是可用於除與已停止運作大型DMA傳送之一SATA器件之停止運作連接以外之其他連接之SAS連接路徑)。然而,SAS啟動器或SATA主機確實不知道SATA儲存器件之內部緩衝器狀態,且因此無法明智地判定該磁碟機實際上可保持多少資料。在將複數個SATA儲存器件耦合至一SAS控制器(例如,透過一SAS擴充器)之一SAS拓樸中,總體系統效能被此SATA特徵劣化。
因此,改良由於使用充當與多個SATA儲存器件耦合之一SATA主機之一SAS啟動器引起的一SATA儲存系統之效能係一持續存在的挑戰。
本發明藉由提供一SAS/STP啟動器與多個STA目標器件之間的透過一增強型SAS擴充器之通訊中的增強效能之方法及裝置而解決以上問題及其他問題,藉此提高可用技術發展水平。根據本文之特徵及態樣增強該擴充器以自一儲存器件接收一DMA SETUP FIS及傳輸多個經修改的DMA SETUP FIS至該SAS/STP啟動器,其中各經修改的DMA SETUP FIS包括小於在該經接收DMA SETUP FIS中的最大計數之一子計數。
在本文之一態樣中,提供一種可在一切換器件中操作之方法,該切換器件係經調適以與一啟動器耦合並經調適以與複數個SATA儲存器件耦合。該方法包括自一SATA儲存器件接收一DMA SETUP FIS。該DMA SETUP FIS包括在需要另一DMA SETUP FIS之前自該啟動器傳送之一最大大小的資料。該方法接著傳輸複數個經修改的DMA SETUP FIS至該啟動器。各經修改的DMA SETUP FIS包括小於該最大大小之一子計數大小。各經修改的DMA SETUP FIS之子計數大小之總和不大於該最大大小。
本文之另一態樣提供一種可在一SAS擴充器中操作之方法,該SAS擴充器係用於自與該擴充器耦合之一SAS/STP啟動器傳送資料至與該擴充器耦合之複數個SATA儲存器件之一SATA儲存器件。該方法包括自該SAS/STP啟動器接收包括一指令之一暫存器訊框資訊結構(Register FIS)(下文亦稱為一「指令訊框資訊結構(COMMAND FIS)」),其中該COMMAND FIS包括指示待與該SATA儲存器件交換的資料大小之一I/O請求大小。該方法接著傳輸該COMMAND FIS至該SATA儲存器件。該方法亦包括a)自該SATA儲存器件接收一DMA SETUP FIS。該DMA SETUP FIS包括可回應於該DMA SETUP FIS而傳送至該SATA儲存器件之一最大大小的資料。該方法亦包括b)判定小於該最大大小之一子計數大小及c)傳輸一經修改的DMA SETUP FIS至該SAS/STP啟動器,其中該經修改的DMA SETUP FIS包括該子計數大小。該方法接著包括d)在該SAS/STP啟動器與該SATA儲存器件之間傳送資料,其中經轉遞的資料量不大於該子計數大小。該方法接著包括e)重複步驟b)、步驟c)及步驟d)直至經交換的資料量等於該最大大小或等於I/O請求大小為止。最後,該方法亦包括重複a)、b)、c)、d)及e)之步驟直至經交換的資料量等於該I/O請求大小為止。
本文之另一態樣提供一種切換器件,該切換器件包括:一前端埠,其經調適用於將該切換器件與一啟動器耦合;及複數個後端埠,各後端埠經調適以將該切換器件與一對應SATA儲存器件耦合。該切換器件亦包括與該前端埠耦合且與該複數個後端埠耦合之橋接器邏輯件。該橋接器邏輯件係經調適以透過其對應之後端埠自一SATA儲存器件接收一DMA SETUP FIS。該DMA SETUP FIS包括在需要另一DMA SETUP FIS之前自該啟動器傳送之一最大大小的資料。該橋接器邏輯件係進一步經調適以傳輸複數個經修改的DMA SETUP FIS至該啟動器,其中各經修改的DMA SETUP FIS包括小於該最大大小之一子計數大小,且其中各經修改的DMA SETUP FIS之子計數大小之總和不大於該最大大小。
圖1係一系統100之一方塊圖,根據本文之特徵及態樣增強該系統100以改良一啟動器器件(例如,一SATA主機/啟動器)與多個SATA目標器件之間的透過一增強型切換器件104(例如,在一SAS域拓樸中之一增強型SAS擴充器104)之通訊中之系統效能。切換器件104將啟動器102與複數個SATA目標器件106.1至106.n耦合。啟動器102可為經調適用於透過一中間切換器件與一或多個SATA儲存器件通訊之任何器件。在一例示性實施例中,啟動器102可為經調適用於使用SAS協定之通訊及更具體言之經調適用於使用SAS架構之SATA穿隧協定(STP)之通訊的任何器件。在此一實施例中,啟動器102可為一SAS/STP啟動器。SATA目標器件106.1至106.n可為經調適以根據該SATA協定接收及處理I/O請求之任何器件。特定言之,各SATA目標器件106.1至106.n可為一SATA儲存器件,諸如一旋轉磁碟機或光碟機或一半導體儲存器件(諸如一RAM碟或快閃記憶體儲存器件)。
切換器件104可為經調適以將啟動器102耦合至複數個SATA儲存器件106.1至106.n之任何者的任何器件。在一例示性實施例中,切換器件104可為包括在任何SAS擴充器中為典型的眾多標準組件之一SAS擴充器104。此等標準組件可包含(例如)前端埠邏輯件112及後端埠邏輯件電路114.1至114.n。前端埠邏輯件112可為在該SAS擴充器104內之經調適以處理SAS協定之實體層及鏈路層態樣(以及該等協定之其他層)之任何電路。同樣地,後端埠邏輯件電路114.1至114.n之各者包括在SAS擴充器104內之經調適以處理SAS及/或SATA協定之實體層及鏈路層態樣之用於將擴充器104與複數個SATA儲存器件106.1至106.n耦合之任何電路。此外,擴充器104內之縱橫式切換邏輯件108包括用於將SAT/STP啟動器102(透過前端埠邏輯件112而耦合)可控制地切換至該等SATA儲存器件106.1至106.n(透過其對應之後端埠邏輯電路114.1至114.n)之任何者的任何適合電路。
SAS擴充器104係經增強以包括經調適用於改良SAS/STP啟動器102與多個SATA儲存器件106.1至106.n之間的通訊效能之橋接器邏輯件110。如上文所提及,在先前SAS擴充器中,SAS/STP啟動器102可在邏輯上連接至一單一SATA儲存器件達具有自該SATA儲存器件接收之一DMA SETUP FIS所指示之一最大長度之一傳送之整個持續時間。雖然該DMA SETUP FIS所指示之該最大傳送長度指示允許自該SAS/STP啟動器102之一最大DMA傳送,但該SATA儲存器件106.1內之機械延時及其他額外負擔處理問題可暫時中止該DMA傳送(使用SAS協定之流控制特徵)。在此等中止期間,先前SAS擴充器未提供允許SAS/STP啟動器102執行關於其他SATA儲存器件之I/O處理的機制。相比之下,增強型SAS擴充器104之橋接器邏輯件110允許該SAS/STP啟
動器102在一第一SATA儲存器件可能已中止自該SAS/STP啟動器102之一資料傳送時處理關於其他SATA儲存器件之I/O請求。
更具體言之,橋接器邏輯件110包括橋接器邏輯組件110.1至110.n,各橋接器邏輯組件係與將該擴充器與一對應SATA儲存器件106.1至106.n耦合之一各自的後端埠邏輯件電路114.1至114.n相關聯。在操作中,橋接器邏輯件110回應於由SAS/STP啟動器102發送至該儲存器件之一COMMAND FIS而自一SATA儲存器件接收一DMA SETUP FIS。接著將與該經接收之DMA SETUP FIS相關聯之最大原始傳送大小分成多個經修改的DMA SETUP FIS,各經修改的DMA SETUP FIS指示小於該原始最大傳送大小之一子計數。接著傳送此等多個經修改的DMA SETUP FIS至SAS/STP啟動器102以允許該啟動器處理該多個經修改之DMA SETUP FIS之間的關於其他SATA儲存器件之I/O請求之DMA傳送。
在一例示性實施例中,橋接器邏輯件110可判定該子計數為一預定的固定緩衝器大小。可在初始化或安裝擴充器104時靜態地或動態地組態該預定的固定緩衝器大小。系統管理員可基於直觀推斷及該系統及/或個別儲存器件之經量測效能而在組態該預定的固定緩衝器大小中使用一手動程序。可在判定用於待傳輸至SAS/STP啟動器102之多個經修改的DMA SETUP FIS之各者中之子計數之該預定的固定緩衝器大小中考量任意數目的因素。
在另一例示性實施例中,橋接器邏輯件110可包括一或多個緩衝器記憶體,使得基於該橋接器邏輯件110中之該緩衝器記憶體的大小而判定用於各經修改的DMA SETUP FIS中之子計數。例如,如圖2中展示,各組件橋接器邏輯件110.1至110.n可分別包括一相關聯的緩衝器200.1至200.n。因此,基於分別與橋接器邏輯件110.1至110.n相關聯之緩衝器200.1至200.n之大小而判定用於此一實施例中之子計數。
在另一例示性實施例中,橋接器邏輯件110可能缺乏此一緩衝器並基於各SATA儲存器件106.1至106.n內之一緩衝器之大小而判定用於各經修改的DMA SETUP FIS中之子計數。如圖3中展示,各橋接器邏輯組件110.1至110.n可詢問SATA儲存器件106.1以判定其各自的緩衝器300.1至300.n之大小。
雖然主要參考一SAS拓樸環境(例如,透過SAS擴充器104耦合之SAS啟動器102)討論圖1,但是將容易瞭解切換器件104可為將任何啟動器器件耦合至複數個SATA儲存器件之任何者的任何適合的器件。例如,切換器件104可為經調適以將一啟動器器件耦合至複數個SATA儲存器件之任何者的一光纖通道或乙太網切換器。此外,啟動器102無需為SAS/STP啟動器器件,而是可為用於啟動與一目標器件接觸之任何器件。因此,切換器件104亦可包括用於在該切換器件104與啟動器102之間所使用之協定與切換器件104與該等SATA儲存器件106.1至106.n之間所使用之協定之間轉換的協定轉化特徵。
一般技術者將容易認知可存在於一全功能切換器件104中之眾多額外及等效組件。本文為了簡單化及簡短化此討論而省略此等額外及等效組件。因此,圖1至圖3中展示之特徵僅旨在建議用於實施本文之增強型特徵及態樣之例示性實施例。特定言之,橋接器邏輯件110可實施為一單一電路組件,可實施為多個橋接器邏輯電路(各後端埠對應一電路),或可與切換電路104之其他電路組件整合。此等設計選項為一般技術者所熟知。此外,一般技術者將容易認知當對於特定環境適當時,可使任何數目的埠邏輯元件存在於一全功能切換器件104中。此外,當對企業之特定需要適當時,切換器件104可與任何期望數目的啟動器器件及SATA儲存器件耦合。
圖4係描述一種根據本文之態樣及特徵描述之用於改良一啟動器器件與複數個SATA儲存器件之間透過一增強型切換器件(例如,SAS擴充器)之通訊之例示性方法之一流程圖。在圖1之增強型SAS擴充器104中大體上可操作圖4之該方法,且更具體言之可結合增強型SAS擴充器104之橋接器邏輯件110操作圖4之該方法。在步驟400處,自該SAS/STP啟動器接收一I/O請求。因為一適當的COMMAND FIS請求該儲存器件準備經指示之I/O請求(例如,在該器件準備好接收該資料時一寫入指令之後跟隨自該SAS/STP啟動器至該SATA儲存器件之許多資料訊框資訊結構(DATA FIS)),所以將該經接收之請求轉遞至經識別之SATA儲存器件。在步驟402處,該擴充器自該經識別之SATA儲存器件接收一第一DMA SETUP FIS。該DMA SETUP FIS包括可在一單一DMA操作中傳送之資料量之一最大計數(例如,「原始」計數)。此原始計數可保存在與對應於該SATA儲存器件(自該SATA儲存器件接收該DMA SETUP FIS)之橋接器邏輯件相關聯之一記憶體或暫存器中。在步驟404處,判定待用於待發送至該SAS/STP啟動器之複數個經修改的DMA SETUP FIS之各者的一子計數。如上文所提及,該子計數可判定為一預定的固定緩衝器大小或可基於與該橋接器邏輯件相關聯及/或與該經識別之SATA儲存器件相關聯之一緩衝器之大小而判定該子計數。
在步驟406處,發送一經修改的DMA SETUP FIS至該SAS/STP啟動器。該經修改的DMA SETUP FIS包括該經判定之子計數(或I/O請求之一較少剩餘傳送計數)。該經修改的DMA SETUP FIS允許該SAS/STP啟動器準備一較小的DMA傳送,使得該SAS/STP啟動器之DMA電路(以及與該SAS擴充器相關聯之任何DMA電路)將不會忙碌達SATA儲存器件應歸因於在該SATA儲存器件內的額外負擔處理或其他延時而中止資料傳送之一延長持續時間。在步驟408處,該SAS擴充器自該SAS/STP啟動器傳送資料至該經識別之SATA儲存器件多達等於該經修改的DMA SETUP FIS中所提供的子計數之一最大計數。步驟410判定是否已傳送子計數量的資料(或是否已完成整個I/O請求傳送)。若否,則處理繼續迴圈返回至步驟408以繼續自該SAS/STP啟動器傳送資料至該SATA儲存器件,直至已耗盡該子計數(或已傳送該整個I/O請求)為止。在步驟412處,該SAS擴充器之橋接器邏輯件判定是否已將等於該經接收之DMA SETUP FIS之原始計數的一資料量自該SAS/STP啟動器傳送至該SATA儲存器件。若否,則處理繼續迴圈返回至步驟406以傳輸下一經修改的DMA SETUP FIS,從而實現自該SAS/STP啟動器傳送另一子計數量的資料。當已傳送原始計數量的資料時,步驟414接著判定是否需要傳送更多資料以完成該經接收之I/O請求之整體。若需要傳送更多資料,則處理繼續迴圈返回至步驟402以等待自該SATA儲存器件接收下一個DMA SETUP FIS。當完全傳送該I/O請求之所有資料時,步驟416接著自該SATA儲存器件接收一完成狀態以返回至該SAS/STP啟動器以藉此完成該I/O請求。
因此,圖4之該方法將自該SATA儲存器件接收之各DMA SETUP FIS中之原始計數分成或再細分成待發送至該SAS/STP啟動器之多個經修改的DMA SETUP FIS。各經修改的DMA SETUP FIS包括一子計數(該經接收之DMA SETUP FIS之最大原始計數之一子集)。藉由此方法,該SAS/STP啟動器(尤其是該SAS/STP啟動器之DMA電路)無需忙碌並專用於一單一SATA儲存器件,同時該SATA儲存器件可歸因於該器件內之額外負擔處理而招致延遲或延時。實情係,該SAS/STP啟動器(且更具體言之為該啟動器之DMA電路)可經重新組態以啟動相似傳送至與該SAS擴充器耦合之其他SATA儲存器件。因此,可藉由減少歸因於該多個儲存器件之任一者之額外負擔處理及延時招致的延遲而改良一SAS/STP啟動器與多個SATA儲存器件之間的通訊中之總系統效能。
一般技術者將容易認知實質上可同時針對該多個儲存器件之各者操作圖4之該方法。換言之,該增強型SAS擴充器之橋接器邏輯件係針對該SAS/STP啟動器與該多個儲存器件之間的多個DMA傳送之各者執行圖4之該方法。
圖5至圖7係提供圖4之步驟404之例示性額外細節以判定小於自一SATA儲存器件接收之一DMA SETUP FIS中之原始計數之一子計數值的流程圖。在圖5中展示之一例示性實施例中,步驟500判定該子計數為一預定的固定緩衝器大小。管理員可在安裝或組態該SAS擴充器中設定該預定的固定緩衝器大小或可將該預定的固定緩衝器大小判定為該SAS擴充器之一經靜態組態的參數。在一管理員手動判定該預定的固定大小情況下,可在選擇一適當大小中考量任意數目的直觀判斷及因素,包含(例如)與過去效能量測相比之所要的效能目標,任何或所有儲存器件內之已知緩衝器大小等。在圖6中展示之另一例示性實施例中,步驟600基於與該SATA儲存器件相關聯之橋接器邏輯件中之一緩衝器之大小而判定子計數。增強型SAS擴充器之該橋接器邏輯件可包括一記憶體緩衝器,該記憶體緩衝器經邏輯再細分以提供與複數個儲存器件之一對應者一起使用之緩衝器之一部分。或者,該橋接器邏輯件可包括相異的緩衝器記憶體,各相異的緩衝器記憶體係與該等SATA儲存器件之一對應者相關聯。在圖7中展示之另一例示性實施例中,可基於SATA儲存器件之各者中之一緩衝器之緩衝器大小而判定子計數。在此一實施例中,步驟700可詢問該SATA儲存器件以判定其之緩衝器大小,及步驟702可將子計數值設定為等於對應SATA儲存器件之緩衝器大小。或者,步驟702可將該子計數值設定為自SATA儲存器件緩衝器大小之一函數導出之一值(例如,與該SATA儲存器件相關聯之總緩衝器大小之一預定百分比部分)。
一般技術者將容易認知可在處理圖4至圖7之方法中提供的眾多額外及等效步驟。例如,可採用一般技術者所熟知之錯誤復原及重試技術以自經修改的DMA傳送中發生的異常情況復原。本文為了簡單化及簡短化此討論而省略此等額外及等效步驟。
雖然已在圖式及前文描述中圖解說明及描述本發明,但是認為此圖解說明及描述在性質上係例示性而非限制性。
已展示及描述本發明之一實施例及其次要變體。特定言之,展示及描述為例示性軟體或韌體實施例之特徵可等效實施為客制化邏輯電路,且反之亦然。期望保護在本發明之精神內的所有變更及修改。熟習此項技術者將瞭解落於本發明之範疇內的上述實施例之變動。因此,本發明不限於上文討論之特定實例及圖解說明,但僅受隨附申請專利範圍及其等之等效物限制。
100‧‧‧系統
102‧‧‧(SAS/STP)啟動器
104‧‧‧切換器件(SAS擴充器)
106.1至106.n‧‧‧SATA目標(儲存)器件
108‧‧‧縱橫式切換邏輯件
110‧‧‧橋接器邏輯件
110.1至110.n‧‧‧橋接器邏輯件
112‧‧‧前端埠邏輯件
114.1至114.n‧‧‧後端埠邏輯件電路
200.1至200.n‧‧‧緩衝器
300.1至300.n‧‧‧緩衝器
圖1係一種包含一增強型切換器件之例示性系統之一方塊圖,該增強型切換器件係經調適以根據本文之特徵及態樣改良一啟動器器件與複數個SATA儲存器件之間的通訊中的效能;圖2及圖3係根據本文之特徵及態樣之提供圖1之橋接器邏輯件之例示性額外細節的方塊圖;及圖4至圖7係描述例示性方法之流程圖,該等例示性方法根據本文之特徵及態樣提供一SAS/STP啟動器與複數個SATA儲存器件之間的透過一增強型SAS擴充器之通訊中的增強效能。
100‧‧‧系統
102‧‧‧(SAS/STP)啟動器
104‧‧‧切換器件(SAS擴充器)
106.1至106.n
‧‧‧SATA目標(儲存)器件
108‧‧‧縱橫式切換邏輯件
110‧‧‧橋接器邏輯件
110.1至110.n
‧‧‧橋接器邏輯件
112‧‧‧前端埠邏輯件
114.1至114.n
‧‧‧後端埠邏輯件電路
Claims (18)
- 一種可在一切換器件中操作之方法,該切換器件係經調適以與一串列附接小型電腦系統介面(SCSI)串列進階附接技術穿隧協定啟動器器件(SAS/STP啟動器器件)耦合且經調適以與複數個串列進階附接技術(SATA)儲存器件耦合,該方法包括:藉由該切換器件自一SATA儲存器件接收一直接記憶體存取(DMA)SETUP訊框資訊結構(FIS),其中該DMASETUP FIS列舉在從該SATA儲存器件接收另一DMASETUP FIS之前自該SAS/STP啟動器器件傳送至該SATA儲存器件之一資料的最大大小;及自該切換器件將複數個新的DMA SETUP FIS傳輸至該SAS/STP啟動器器件,其中每一新的DMA SETUP FIS列舉欲自該SAS/STP啟動器傳送至該SATA儲存器件之資料之一子計數大小,其小於欲被傳送之資料之該最大大小,且其中各新的DMA SETUP FIS之資料之該子計數大小之總和不大於資料之該最大大小。
- 如請求項1之方法,該方法進一步包括:判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為一預定的固定值。
- 如請求項1之方法,該方法進一步包括:判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為等於該切換器件內的一緩衝器之一大小。
- 如請求項1之方法, 其中該切換器件包括複數個緩衝器,各緩衝器與一對應SATA儲存器件相關聯,該方法進一步包括:判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為等於與該SATA儲存器件相關聯之一緩衝器之一大小。
- 如請求項1之方法,該方法進一步包括:判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為等於該SATA儲存器件內之一緩衝器之一大小。
- 如請求項5之方法,該方法進一步包括:詢問該SATA儲存器件以判定其緩衝器之大小。
- 一種可在一串列附接SCSI(SAS)擴充器中操作之方法,其用於將資料自與該擴充器耦核之一串列附接SCSI串列進階附接技術穿隧協定啟動器(SAS/STP啟動器)傳送至與該擴充器耦合之複數個SATA儲存器件中之一SATA儲存器件,該方法包括:藉由該擴充器自該SAS/STP啟動器接收一包括一命令之暫存器訊框資訊結構(COMMAND FIS),其中該COMMAND FIS列舉指示待與該SATA儲存器件交換的資料之一大小之一I/O請求大小,且其中該COMMAND FIS係針對該SATA儲存器件;藉由該擴充器將該COMMAND FIS傳輸至該SATA儲存器件;a)藉由該擴充器自該SATA儲存器件接收一直接記憶體 存取(DMA)SETUP FIS,其中該DMA SETUP FIS列舉可自該SAS/STP啟動器被傳送至該SATA儲存器件以回應於該DMA SETUP FIS之資料之一最大大小;b)藉由該擴充器判定欲自該SAS/STP啟動器傳送至該SATA儲存器件之資料之一子計數大小,其小於欲被傳送之資料之該最大大小;c)藉由該擴充器傳輸一新的DMA SETUP FIS至該SAS/STP啟動器,其中該新的DMA SETUP FIS列舉資料之該子計數大小;d)藉由該擴充器在該SAS/STP啟動器與該SATA儲存器件之間傳送資料,其中經轉遞的資料量不大於資料之該子計數大小;e)重複步驟b)、步驟c)及步驟d)直至經交換的資料量等於資料之該最大大小或等於該I/O請求大小為止;及重複步驟a)、b)、c)、d)、及e)直至經交換的資料量等於該I/O請求大小為止。
- 如請求項7之方法,其中該判定步驟進一步包括:判定資料之該子計數大小為一預定的固定值。
- 如請求項8之方法,其中該判定步驟進一步包括:判定資料之該子計數大小為等於該複數個SATA儲存器件之每一者中的一緩衝器之大小之一預定的固定值。
- 如請求項9之方法,進一步包括: 佇列每一SATA儲存器件以判定其緩衝器之大小。
- 如請求項7之方法,其中該判定步驟進一步包括:判定資料之該子計數大小為與該SATA儲存器件相關聯之該擴充器中之一緩衝器之大小,及其中該轉遞步驟進一步包括:自該SAS/STP啟動器接收資料;將該所接收之資料儲存至該緩衝器中;及將儲存於該緩衝器中之資料傳輸至該SATA儲存器件。
- 一種切換器件,其包括:一前端埠,其係經調適用於將該切換器件與一串列附接SCSI串列進階附接技術穿隧協定啟動器(SAS/STP啟動器)耦合;複數個後端埠,各後端埠係經調適以將該切換器件與一對應SATA儲存器件耦合;及橋接器邏輯件,其係與該前端埠耦合且與該複數個後端埠耦合,其中該橋接器邏輯件係經調適以透過一SATA儲存器件之對應後端埠自該SATA儲存器件接收一直接記憶體存取(DMA)SETUP訊框資訊結構(FIS),其中該DMA SETUP FIS列舉在從該SATA儲存器件接收另一DMA SETUP FIS之前自該SAS/STP啟動器傳送至該SATA儲存器件的資料之一最大大小,且其中該橋接器邏輯件係進一步經調適以將複數個新的 DMA SETUP FIS傳輸至該SAS/STP啟動器(102),其中各新的DMA SETUP FIS包括小於資料之該最大大小之資料之一子計數大小,且其中各新的DMA SETUP FIS之資料之該子計數大小之總和不大於資料之該最大大小。
- 如請求項12之切換器件,其中該橋接器邏輯件係進一步經調適以判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為一預定的固定值。
- 如請求項12之切換器件,其中該橋接器邏輯件係進一步經調適以判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為等於在該切換器件內的一緩衝器之大小。
- 如請求項12之切換器件,其中該橋接器邏輯件進一步包括:複數個緩衝器,各緩衝器係與一對應後端埠相關聯,其中該橋接器邏輯件係進一步經調適以判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為等於與接收該DMA SETUP FIS所透過之後端埠相關聯之緩衝器的大小。
- 如請求項12之切換器件,其中該橋接器邏輯件係進一步經調適以判定該等新的DMA SETUP FIS之各者之資料之該子計數大小為等於該SATA儲存器件內的一緩衝器之大小。
- 如請求項16之切換器件, 其中該橋接器邏輯件係進一步經調適以詢問該SATA儲存器件以判定其緩衝器之大小。
- 如請求項12之切換器件,其中該切換器件係一串列附接SCSI(SAS)擴充器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US86827910A | 2010-08-25 | 2010-08-25 | |
| US12/870,975 US8281054B2 (en) | 2010-08-25 | 2010-08-30 | Methods and apparatus for improved host/initiator utilization in serial advanced technology attachment communication |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201209810A TW201209810A (en) | 2012-03-01 |
| TWI387961B true TWI387961B (zh) | 2013-03-01 |
Family
ID=44534029
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW100107598A TWI387961B (zh) | 2010-08-25 | 2011-03-07 | 用以於串列進階附接技術通訊中之經改良主機/啟動器使用之方法及裝置 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US8281054B2 (zh) |
| EP (1) | EP2423823B1 (zh) |
| JP (1) | JP2012048704A (zh) |
| KR (1) | KR101266572B1 (zh) |
| CN (1) | CN102387184B (zh) |
| TW (1) | TWI387961B (zh) |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8626974B2 (en) * | 2012-01-19 | 2014-01-07 | Lsi Corporation | Methods and systems for reduced signal path count for interconnect signals within a storage system expander |
| US8898506B2 (en) | 2012-07-25 | 2014-11-25 | Lsi Corporation | Methods and structure for hardware serial advanced technology attachment (SATA) error recovery in a serial attached SCSI (SAS) expander |
| US8589607B1 (en) * | 2012-08-07 | 2013-11-19 | Lsi Corporation | Methods and structure for hardware management of serial advanced technology attachment (SATA) DMA non-zero offsets in a serial attached SCSI (SAS) expander |
| US9424205B2 (en) | 2013-01-16 | 2016-08-23 | Applied Micro Circuits Corporation | System and method for SATA virtualization and domain protection |
| EP2946300B1 (en) * | 2013-04-02 | 2018-01-31 | Hewlett-Packard Enterprise Development LP | Sata initiator addressing and storage device slicing |
| US9424224B2 (en) * | 2013-06-18 | 2016-08-23 | Avago Technologies General Ip (Singapore) Pte. Ltd. | PCIe tunneling through SAS |
| CN103475695A (zh) * | 2013-08-21 | 2013-12-25 | 华为数字技术(成都)有限公司 | 存储系统互联方法及装置 |
| CN113127389B (zh) * | 2021-04-16 | 2022-08-26 | 无锡众星微系统技术有限公司 | Sas stp业务加速方法 |
Family Cites Families (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004030042A (ja) | 2002-06-24 | 2004-01-29 | Fuji Xerox Co Ltd | 画像形成システム、画像形成システムにおけるダウンロード方法 |
| US7376763B2 (en) * | 2003-07-17 | 2008-05-20 | International Business Machines Corporation | Method for transferring data from a memory subsystem to a network adapter by extending data lengths to improve the memory subsystem and PCI bus efficiency |
| US7032042B2 (en) * | 2003-09-10 | 2006-04-18 | Intel Corporation | Request conversion |
| US20060004935A1 (en) * | 2004-06-30 | 2006-01-05 | Pak-Lung Seto | Multi-protocol bridge |
| US20060218324A1 (en) * | 2005-03-25 | 2006-09-28 | Matsushita Electrical Industrial Co., Ltd | Systems and methods for flexible data transfers in SDIO and/or MMC |
| JP4836488B2 (ja) * | 2005-05-09 | 2011-12-14 | 株式会社東芝 | データ転送装置及び半導体集積回路装置 |
| US7539798B2 (en) | 2005-12-14 | 2009-05-26 | Lsi Logic Corporation | Mitigating performance degradation caused by a sata drive attached to a sas domain |
| US8307128B2 (en) * | 2006-12-08 | 2012-11-06 | International Business Machines Corporation | System and method to improve sequential serial attached small computer system interface storage device performance |
| US7761642B2 (en) * | 2006-12-22 | 2010-07-20 | Lsi Corporation | Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging |
| US20080183921A1 (en) * | 2007-01-29 | 2008-07-31 | Naichih Chang | Serial advanced technology attachment (SATA) frame information structure (FIS) processing |
| JP4356765B2 (ja) * | 2007-04-20 | 2009-11-04 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
| JP4445535B2 (ja) * | 2007-09-19 | 2010-04-07 | 富士通株式会社 | データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
| JP4809413B2 (ja) | 2008-10-08 | 2011-11-09 | 株式会社日立製作所 | ストレージシステム |
-
2010
- 2010-08-30 US US12/870,975 patent/US8281054B2/en not_active Expired - Fee Related
-
2011
- 2011-03-07 TW TW100107598A patent/TWI387961B/zh not_active IP Right Cessation
- 2011-03-28 CN CN201110075097.9A patent/CN102387184B/zh not_active Expired - Fee Related
- 2011-03-31 JP JP2011077840A patent/JP2012048704A/ja not_active Ceased
- 2011-08-24 KR KR1020110084522A patent/KR101266572B1/ko not_active Expired - Fee Related
- 2011-08-25 EP EP11178910.3A patent/EP2423823B1/en not_active Not-in-force
Also Published As
| Publication number | Publication date |
|---|---|
| US20120054404A1 (en) | 2012-03-01 |
| EP2423823B1 (en) | 2014-11-19 |
| KR101266572B1 (ko) | 2013-05-22 |
| CN102387184B (zh) | 2015-04-15 |
| EP2423823A2 (en) | 2012-02-29 |
| JP2012048704A (ja) | 2012-03-08 |
| US8281054B2 (en) | 2012-10-02 |
| TW201209810A (en) | 2012-03-01 |
| EP2423823A3 (en) | 2012-05-30 |
| KR20120019403A (ko) | 2012-03-06 |
| CN102387184A (zh) | 2012-03-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI387961B (zh) | 用以於串列進階附接技術通訊中之經改良主機/啟動器使用之方法及裝置 | |
| TWI408557B (zh) | 高速輸入輸出系統及其節能控制方法 | |
| KR101287353B1 (ko) | 직렬 연결 scsi 확장자 및 이를 통한 데이터 전송 방법 | |
| US7290066B2 (en) | Methods and structure for improved transfer rate performance in a SAS wide port environment | |
| US9652199B2 (en) | Doorbell-less protocol for solid state drive interface | |
| KR101579681B1 (ko) | Sas를 통한 pcie 터널링 | |
| CN113424147A (zh) | 用于流式传输存储设备内容的系统和方法 | |
| US20220050636A1 (en) | Method and Apparatus for Transmitting Data Processing Request | |
| US20130246663A1 (en) | Data redirection for universal serial bus devices | |
| US20150081955A1 (en) | Acknowledgement-less protocol for solid state drive interface | |
| TWI327275B (en) | Substitute sata host for communicating with a sata device and related methods | |
| US9436412B2 (en) | Preemptive connection switching for serial attached small computer system interface systems | |
| CN109491937A (zh) | 一种Scatter-Gather DMA的数据传输方法及装置 | |
| US20150227486A1 (en) | Method to Facilitate Fast Context Switching for Partial and Extended Path Extension to Remote Expanders | |
| CN103885900B (zh) | 数据访问处理方法、PCIe设备和用户设备 | |
| CN113138950B (zh) | 在串联连接的电子装置之间提前发送完成的计算系统 | |
| JP6777848B2 (ja) | 制御装置、及びストレージ装置 | |
| CN114090494B (zh) | 数据传输方法、装置、设备和存储介质 | |
| US9384160B2 (en) | Methods and controllers for affiliation managment | |
| CN118860934A (zh) | 集线器装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |