TWI452469B - 周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法 - Google Patents

周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法 Download PDF

Info

Publication number
TWI452469B
TWI452469B TW098130434A TW98130434A TWI452469B TW I452469 B TWI452469 B TW I452469B TW 098130434 A TW098130434 A TW 098130434A TW 98130434 A TW98130434 A TW 98130434A TW I452469 B TWI452469 B TW I452469B
Authority
TW
Taiwan
Prior art keywords
pcie
sata
storage device
mass storage
host
Prior art date
Application number
TW098130434A
Other languages
English (en)
Other versions
TW201017426A (en
Inventor
Mehdi Asnaashari
Original Assignee
Round Rock Res Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Round Rock Res Llc filed Critical Round Rock Res Llc
Publication of TW201017426A publication Critical patent/TW201017426A/zh
Application granted granted Critical
Publication of TWI452469B publication Critical patent/TWI452469B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3802Harddisk connected to a computer port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Description

周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法
本發明一般而言係關於記憶體裝置,且在一特定實施例中本發明係關於SATA大容量儲存裝置。
周邊元件互連(PCI)標準闡述用於將周邊裝置連接至一電腦母板之一電腦匯流排。此等周邊裝置通常採取一擴充卡或其他此種裝置之形式。PCI標準涵蓋該匯流排之實體大小、電特性、匯流排定時及經由該匯流排進行通信所需之協定。
基本PCI標準具有阻止其提供當前及新一代I/O及儲存裝置所需要之頻寬及特徵之某些缺點。一個此種問題係基本PCI標準之高度平行、共用匯流排之架構,該架構限制其匯流排速度及可擴縮性。此外,基本PCI標準之簡單、載入-儲存、基於扁平記憶體之通信模型不如一經選路、基於封包之模型穩健及可擴展。
PCI Express(PCIe)(一電腦擴充卡介面格式)經設計以解決基本PCI標準之某些問題。不同於PCI介面,PCIe介面係構造於點對點串列對(1位元)(單向鏈路,亦稱作巷道)周圍而非一匯流排。此與PCI標準相反,其係其中所有裝置共用相同雙向、32位元(或64位元)之並列信號路徑之一基於匯流排之系統。
在PCIe之點對點匯流排拓撲中,一共用開關替換PCI之共用匯流排作為單個共用資源,所有裝置藉由該單個共用 資源進行通信。不同於在共用匯流排拓撲中(其中裝置必須在其自身中針對匯流排之使用共同地仲裁),PCIe系統中之每一裝置具有對開關之直接及排他性存取。換言之,每一PCIe裝置係連接至其自身之專用巷道。
PCIe實施一串列點對點類型互連以用於兩個裝置之間的通信。多個PCIe裝置經由使用開關而互連,此意指實際上可將大量裝置一起連接於一系統中。一點對點互連意謂著鏈路上之允許傳輸頻率及接收頻率擴縮至高得多的數量之有限電負載。當前PCIe傳輸及接收資料速率係2.5Gbits/秒。兩個裝置之間的一串列互連導致每一裝置封裝之較少接針,此降低PCIe晶片及板設計成本且降低板設計複雜性。PCIe效能亦係高度可擴縮的。此藉由以下方式達成:基於對彼互連之通信效能要求實施針對每一互連之接針及信號巷道之可擴縮數量。
PCIe實施基於開關之技術以互連大量裝置。使用一基於封包之通信協定來實現經由串列互連之通信。服務品質(QoS)特徵為不同應用提供差異化之傳輸效能。熱插拔(Hot Plug)/熱抽換(Hot Swap)支援實現了「始終接通」式系統。進階電力管理特徵允許針對低電力行動應用進行設計。RAS(可靠、可用及可維護)錯誤處置特徵使PCI Express適用於穩健高端伺服器應用。使用基於封包之訊息傳遞(而非邊帶信號)在帶內實現熱插拔、電力管理、錯誤處置及中斷發信號。此使裝置接針計數保持較低且降低系統成本。
大容量儲存裝置(亦即,固態快閃記憶體、光學驅動器、磁碟驅動器)通常使用串列進階附接技術(SATA)標準來與主機電腦通信。實際上,SATA標準主要被設計用於在主機電腦與大容量儲存裝置之間以1.5Gbps至3.0Gbps之資料速率傳送資料。SATA勝過較舊之並列ATA介面之主要優點係更快之資料傳送、在操作(熱抽換)時移除或添加裝置之能力,及具有更嚴格資料完整性檢查之更可靠操作。
為使一SATA大容量儲存裝置連接至一主機電腦之PCIe連接,使用一PCIe至SATA橋接器控制器。該橋接器控制器對一SATA主機匯流排配接器(HBA)進行模擬。圖1圖解說明使用一PCIe至SATA橋接器100連接至一SATA大容量儲存裝置102之一典型先前技術電腦主機系統101之一方塊圖。橋接器100併入有一進階主機控制器介面(AHCI),該進階主機控制器介面係允許軟體與SATA裝置102通信之一硬體機制。AHCI係一PCIe類裝置,其用作主機電腦之系統記憶體與SATA裝置102之間的一資料移動引擎。
圖2圖解說明一典型先前技術PCIe至SATA橋接器控制器100之一方塊圖。橋接器控制器100係由一PCIe實體層區塊201組成,PCIe實體層區塊201提供自PCIe鏈路之類比性質至橋接器控制器100之數位環境之轉換。實體層區塊201亦將約2.5Gbps資料速率降頻轉換至Mbps範圍中。
PCIe核心202提供封包處理及解碼。PCIe至SATA核心橋接器203自PCIe核心202取得資料且將其置成SATA標準格 式。應用區塊204負責處理來自核心橋接器203之SATA資訊。SATA輸送區塊205負責管理訊框資訊結構(FIS),該訊框資訊結構係用以在主機與裝置應用層之間傳送資訊之機制。SATA鏈接層206提供SATA標準編碼。SATA實體層207執行自橋接器控制器100之數位環境至SATA介面之類比環境之轉換。SATA實體層區塊208係由經由SATA匯流排提供1.5Gbps至3.0Gbps資料速率之傳輸電路組成。
圖3圖解說明一典型先前技術SATA大容量儲存裝置102之一方塊圖。儲存媒體306使用與上述橋接器控制器100相同之層301至305(但以一相反順序)介接至SATA匯流排。不僅此等冗餘功能需要實施SATA大容量儲存裝置102上之額外佔用面積,由於自PCIe至SATA至儲存媒體306所必需之冗餘轉換自主機至大容量儲存裝置之通信所需之時間亦增加。
出於上文所陳述之原因且出於熟習此項技術者在閱讀及理解本說明書後將明瞭之下文所陳述之其他原因,在此項技術中需要一種經由PCIe進行通信以減少與使用一HBA及一SATA儲存裝置相關聯之延時及成本之大容量儲存裝置。
在本發明之以下詳細闡述中,參照形成本發明之一部分且其中以圖解說明之方式顯示可實踐本發明之具體實施例之附圖。在該等圖式中,在所有數個視圖中所有相同編號闡述大致類似之組件。充分詳細地描述此等實施例以使熟 習此項技術者能夠實踐本發明。熟習此項技術者可利用其他實施例且可在不背離本發明範疇之前提下做出結構、邏輯及電改動。因此,不應以一限制性意義理解以下詳細闡述,且本發明之範疇僅由隨附申請專利範圍及其等效內容界定。
圖4圖解說明一PCIe大容量儲存系統之一個實施例之一方塊圖。該系統係由一主機系統401及一PCIe大容量儲存裝置402組成,該PCIe大容量儲存裝置將AHCI主機匯流排配接器功能404與SATA大容量儲存裝置功能406整合至一PCIe裝置中。
主機系統401可係包含一PCIe鏈路及與一SATA裝置通信之能力之任一類型之系統。此等主機系統可包括電腦或控制器。舉例而言,主機系統401可係運行具有與一SATA大容量儲存裝置通信之能力之MICROSOFT WINDOWS作業系統之一個人電腦。
主機匯流排配接器(HBA)功能404係致能主機與SATA大容量儲存裝置406之間的通信之一介面。在一個實施例中,HBA功能404係由使來自主機之命令能夠被SATA大容量儲存裝置406所理解之硬體及/或軟體組成之一進階主機控制介面(AHCI)。
SATA大容量儲存裝置406可包括一固態驅動器(例如,快閃記憶體單元)、諸如一光碟驅動器之一光學記憶體裝置、諸如一電腦硬驅動器之一磁碟驅動器、MRAM、3D記憶體或任一其他大容量儲存裝置。在一個實施例中, SATA大容量儲存裝置406係在主機系統401內部且由主機系統401供電且經由一底板連接器耦合至一電腦母板。在另一實施例中,SATA大容量儲存裝置406係在主機系統401外部且經由一PCIe晶片至晶片互連及板對板互連導通卡及連接器耦合至主機401。
當PCIe大容量儲存裝置402連接至主機系統401時,裝置402自身作為一大容量儲存控制器識別至主機系統401且其係一AHCI順應裝置,類似於具有一已附接SATA儲存裝置之一HBA識別自身之方式。一旦主機系統401認為附接了具有一SATA裝置之一AHCI順應HBA,主機系統401即經由PCIe鏈路與PCIe大容量儲存裝置402通信。
圖5圖解說明圖4之PCIe大容量儲存裝置402之一個實施例之一更詳細方塊圖。此裝置402在無使用PCIe至SATA橋接器之冗餘之情形下對AHCI HBA及SATA大容量儲存裝置功能進行模擬。圖5之實施例亦消除先前技術之SATA串列化及解串列化以及實體層、資料鏈接層及由於傳輸錯誤而在HBA中為儲存中間資料及封包再試通常所需之緩衝器。
圖5之實施例係由一PCIe實體層(PHY)501組成。由於PCIe鏈路在類比域中操作而PCIe大容量儲存裝置402在數位域中操作,故PCIe實體層501在該兩個域之間轉換。換言之,PCIe實體層501對所接收之資料執行一類比信號至數位信號轉換以及針對自PCIe大容量儲存裝置402傳輸之資料執行一數位信號至類比信號轉換。
PCIe實體層501可包括用於臨時儲存來自儲存媒體506之 傳入資料及臨時儲存傳出資料之緩衝器。PCIe實體層501包括用於傳輸之一並列至串列轉換器連同一傳輸器差動驅動器以及用於接收之一差動接收器及串列至並列轉換器。
在一個實施例中,PCIe實體層501係一硬體功能。PCIe實體層501之替代實施例係硬體及軟體兩者。
一PCIe核心502執行封包處理。對經由PCIe鏈路接收之資料封包進行解碼以移除來自封包之剩餘部分(諸如標題、開始位元/停止位元及錯誤檢測位元/錯誤校正位元(例如,CRC))之所輸送之資料。PCIe核心502亦執行封包編碼以使得來自儲存媒體506之資料形成為用於經由PCIE鏈路傳輸之PCIe封包。
PCIe至AHCI橋接器503將來自PCIe核心502之PCIe資料轉譯為供儲存媒體506使用之SATA格式。PCIe至AHCI橋接器503亦自稍後供PCIe核心502使用之SATA格式移除資料以使得PCIe核心502可將資料編碼為用於傳輸之PCIe封包。
更詳細地圖解說明於圖6之方塊圖中之一AHCI引擎500係允許軟體與一SATA裝置通信之一硬體機制。AHCI引擎500用作一匯流排主控裝置以在PCIe大容量儲存裝置402與主機系統記憶體405之間傳送資料。透過用作系統記憶體405之一匯流排主控裝置之AHCI引擎500使用直接記憶體存取(DMA)執行AHCI引擎500與系統記憶體405之間的資料傳送。
AHCI HBA模擬器510使用系統記憶體405之一區域以在 所接收之訊框資訊結構上傳遞資訊。位於系統記憶體405中之一命令FIS由AHCI HBA模擬器510提取以提供媒體520與系統軟體之間的通信。
一SATA裝置504為PCIe大容量儲存裝置402提供SATA模擬。SATA裝置504使PCIe大容量儲存裝置402在系統主機看來為經由一PCIe鏈路耦合至該主機之一AHCI大容量儲存控制器。SATA裝置504處置來往於媒體520之來自FIS異動之資料,且經由AHCI引擎500處置來自主機之其他FIS之資料。SATA裝置504將來自媒體520之資料編碼為SATA標準且解碼並改變SATA封包為可由媒體520使用之一格式。
AHCI裝置控制器511係由PCIe至AHCI橋接器503、AHCI引擎500及SATA裝置504組成。此等層500、503、504之總體功能係用作系統記憶體405與媒體520之間的一資料移動引擎。該AHCI裝置控制器511減少主機CPU負荷且提供支援SATA特徵,諸如熱插拔、電力管理,及存取諸多SATA裝置而無需執行主控裝置/從屬裝置模擬。
媒體520係由媒體管理器505及儲存媒體自身506組成。媒體管理器505提供不同類型(例如,快閃記憶體、光學、磁)之儲存媒體506所需之控制功能及資料管理。舉例而言,倘若儲存媒體506係一固態驅動器(例如,快閃記憶體單元),則媒體管理器505將負責提供讀取、寫入及抹除該等快閃記憶體單元所需之各種控制信號。類似地,倘若儲存媒體506係一硬碟驅動器,則媒體管理器505將負責產生 用於操作該驅動器以及保持驅動器目錄及用於該驅動器操作之其他負荷任務之控制信號。
圖6圖解說明圖5之AHCI引擎500之一個實施例之一方塊圖。AHCI引擎500係由一DMA寫入引擎601、一DMA讀取引擎602及AHCI暫存器603組成。與AHCI引擎500之通信係住返於圖5之PCIe至AHCI橋接器503之PCIe至AHCI介面部分以及住返於系統記憶體405之控制信號及資料信號。
DMA寫入引擎601負責回應於主機讀取請求而產生存取該系統記憶體405所需之DMA信號,以執行一DMA寫入操作。DMA寫入引擎601產生至橋接器503之PCIe記憶體寫入控制信號且經由媒體管理器505及SATA裝置模擬器504輸出自PCIe大容量儲存裝置之儲存媒體506讀取之資料。
DMA讀取引擎602負責產生存取系統記憶體405所需之DMA信號以回應於主機寫入請求而執行一DMA讀取操作。DAM讀取引擎602產生至橋接器503之記憶體讀取控制信號且輸入來自記憶體之作為讀取操作之一結果之讀取資料。然後DMA讀取引擎602經由SATA裝置模擬器將此資料輸出至儲存媒體。
AHCI暫存器603係由主機暫存器及埠暫存器兩者組成。主機暫存器及埠暫存器由主機用來回應於輸入記憶體寫入控制信號而儲存控制及組態命令資料。控制及組態命令資料用於組態及控制PCIe大容量儲存裝置之操作。該等主機暫存器可係在PCI匯流排架構中所界定之標準PCIe暫存器。該等埠暫存器可用於裝置之主機控制。兩種暫存器皆 由PCI組態空間暫存器之AHCI基址暫存器(BAR5)鏈接。
主機藉由產生至PCIe大容量儲存裝置埠位址之記憶體讀取/寫入信號來存取該等暫存器。類似地,來自暫存器603之PCIe大容量儲存裝置狀態資料可由主機系統記憶體405藉由讀取信號之產生來存取。
AHCI HBA模擬器510使用系統記憶體405之一區域在所接收之訊框資訊結構(FIS)上傳遞資訊。用於FIS之此記憶體系統佈局圖解說明於圖7中。
圖7顯示當自媒體接收到一DMA設置FIS時,AHCI HBA模擬器510將其複製至此佈局之DSFIS區域701。當一PIO設置FIS自媒體到達時,AHCI HBA模擬器510將其複製至該佈局之PSFIS區域702。當自媒體接收到一D2H(裝置至HBA)暫存器FIS時,AHCI HBA模擬器510將其複製至該佈局之RFIS區域703。當自媒體接收到一設定裝置FIS時,AHCI HBA模擬器510將其複製至該佈局之SDBFIS區域704。圖7之記憶體佈局亦包括用於未知FIS之記憶體之一區域。當自媒體接收到一未知FIS時,AHCI HBA模擬器510將其複製至該佈局之UFIS區域705。
沿圖7之記憶體佈局之側之十六進制位址係僅出於圖解說明之目的。不需要FIS結構之每一區域係任意特定大小且因此不需要其指派有任一預定之位址空間。
PCIe大容量儲存裝置對HBA之圖7之記憶體佈局進行模擬以使得其可將彼資訊傳遞至主機系統。圖5之SATA裝置模擬器可產生用於圖5之AHCI HBA模擬器區塊之此等資料 結構。該模擬器區塊亦包括主機系統FIFO、主機位址指標,及主機資料流控制邏輯。
圖8圖解說明用於一PCIe大容量儲存裝置與一主機之間的通信之一方法之一個實施例之一流程圖。當該PCIe大容量儲存裝置經由PCIe鏈路連接至主機時,向該大容量儲存裝置施加電力且其被初始化。在初始化期間,該大容量儲存裝置向該主機發送一命令,該命令對該主機指示出視該裝置為一泛用大容量儲存裝置801。
然後該主機使用PCIe格式命令及AHCI協定經由該PCIe鏈路向該大容量儲存裝置發送命令803。如先前所闡述,該主機可向該PCIe大容量儲存裝置之組態暫存器發送組態命令以對其進行設置以用於操作且自該等暫存器擷取關於該大容量儲存裝置之操作狀態之狀態資料。AHCI HBA模擬器將呈PCIe格式之AHCI協定變換為SATA格式且反之依然804。該PCIe大容量儲存裝置以PCIe格式命令及資料回應於該等主機命令805。
結論
總而言之,PCIe大容量儲存裝置之一個或多個實施例利用可用於大多數作業系統(例如WINDOWS及MACINTOSH OSX)之現有軟體堆疊以使用SATA大容量儲存裝置標準經由一PCIe鏈路與一大容量儲存裝置通信。PCIe大容量儲存裝置可對一SATA HBA進行模擬且與主機通信如同其係一實際SATA大容量儲存裝置。本實施例可使用SATA III、PCIe II以及其他介面技術。
儘管本文已圖解說明並闡述了具體實施例,但熟習此項技術者將瞭解任何旨在達成相同目的之配置可替代所示之具體實施例。熟習此項技術者將明瞭本發明之諸多修改。因此,此申請案意欲涵蓋本發明之任何修改或變化。明確的計劃是本發明僅由以下申請專利範圍及其等效內容限定。
101‧‧‧電腦主機系統
100‧‧‧PCIe至SATA橋接器
102‧‧‧SATA大容量儲存裝置
201‧‧‧PCIe實體層區塊
202‧‧‧PCIe核心
203‧‧‧PCIe至SATA核心橋接器
204‧‧‧應用區塊
205‧‧‧SATA輸送區塊
206‧‧‧SATA鏈接層
207‧‧‧SATA實體層
208‧‧‧SATA實體層區塊
301‧‧‧SATA實體層區塊
302‧‧‧SATA實體層
303‧‧‧SATA鏈接層
304‧‧‧SATA輸送區塊
305‧‧‧應用區塊
306‧‧‧儲存媒體
401‧‧‧主機系統
402‧‧‧PCIe大容量儲存裝置
404‧‧‧主機匯流排配接器
405‧‧‧系統記憶體
406‧‧‧SATA大容量儲存裝置
501‧‧‧PCIe實體層
502‧‧‧PCIe核心
503‧‧‧PCIe至AHCI橋接器
500‧‧‧AHCI引擎
504‧‧‧SATA裝置
505‧‧‧媒體管理器
506‧‧‧儲存媒體
510‧‧‧AHCI HBA模擬器
511‧‧‧AHCI裝置控制器
520‧‧‧媒體
601‧‧‧DMA寫入引擎
602‧‧‧DMA讀取引擎
603‧‧‧AHCI暫存器
701‧‧‧DSFIS區域
702‧‧‧PSFIS區域
703‧‧‧PFIS區域
704‧‧‧SDBFIS區域
705‧‧‧UFIS區域
圖1顯示一SATA裝置至一主機系統之一典型先前技術連接之方塊圖;圖2顯示一典型先前技術PCIe至SATA橋接器控制器之一方塊圖;圖3顯示一典型先前技術SATA儲存裝置之一方塊圖;圖4顯示一PCIe大容量儲存裝置系統之一個實施例之一方塊圖;圖5顯示根據圖4之系統之一PCIe大容量儲存裝置之一個實施例之一方塊圖;圖6顯示根據圖5之實施例之一AHCI引擎之一個實施例之一方塊圖;圖7顯示用於圖6之實施例中之一訊框資訊結構之一個實施例;及圖8顯示用於一主機與一PCIe大容量儲存裝置之間的通信之一方法之一個實施例之一流程圖。
401‧‧‧主機系統
402‧‧‧PCIe大容量儲存裝置
404‧‧‧主機匯流排配接器
406‧‧‧SATA大容量儲存裝置

Claims (18)

  1. 一種PCIe大容量儲存裝置,其包含:一主機匯流排配接器,其經組態以在一PCIe鏈路上對一SATA裝置進行模擬,該主機匯流排配接器僅包含一實體層,該實體層經組態為一PCIe實體層;及一SATA儲存裝置,其耦合至該主機匯流排配接器,經組態以回應於來自該主機匯流排配接器之SATA命令,其中該PCIe實體層經組態以將該SATA儲存裝置介接至該PCIe鏈路,且進一步其中該PCIe實體層經組態以將PCIe資料自一PCIe鏈路資料速率降頻轉換至用於該PCIe大容量儲存裝置之一較低資料速率,且將SATA資料自該較低資料速率升頻轉換至該PCIe鏈路資料速率。
  2. 如請求項1之裝置,其中該SATA儲存裝置係一固態驅動器、一光學驅動器或一磁碟驅動器中之一者,且該固態驅動器係由快閃記憶體、MRAM或3D記憶體中之一者組成。
  3. 如請求項1之裝置,其中該主機匯流排配接器包含一進階主機控制介面(AHCI)主機匯流排配接器(HBA)模擬器。
  4. 如請求項3之裝置,其中該AHCI HBA模擬器包含一硬體介面,該硬體介面經組態以將一主機系統軟體與該SATA儲存裝置介接。
  5. 如請求項1之裝置,其中該主機匯流排配接器包含:一PCIe核心,其耦合至該PCIe實體層,經組態以對 PCIe封包進行編碼/解碼;一PCIe至AHCI橋接器,其耦合至該PCIe核心,經組態以將PCIe資料轉譯為SATA格式資料且將SATA格式資料轉譯為PCIe資料;一AHCI引擎,其耦合至該PCIe至AHCI橋接器,經組態以用作一主機記憶體與該PCIe大容量儲存裝置之間的一匯流排主控裝置;及該SATA裝置,其耦合至該AHCI引擎,經組態以為該PCIe大容量儲存裝置提供SATA模擬。
  6. 如請求項5之裝置,其中該AHCI引擎執行該主機記憶體與該PCIe大容量儲存裝置之間的直接記憶體存取操作。
  7. 如請求項5之裝置,其中該PCIe實體層經組態以將類比PCIe信號轉換為數位SATA信號,且該PCIe實體層進一步經組態以將數位SATA信號轉換為類比PCIe信號。
  8. 如請求項5之裝置,其中該PCIe實體層進一步包含用於臨時儲存傳入資料及傳出資料之緩衝器。
  9. 如請求項5之裝置,其中該AHCI引擎包含:一直接記憶體存取寫入引擎,其經組態以執行至該主機記憶體之直接記憶體存取寫入操作;一直接記憶體存取讀取引擎,其經組態以執行自該主機記憶體之直接記憶體存取讀取操作;及複數個AHCI暫存器,該複數個AHCI暫存器組態並控制該PCIe大容量儲存裝置。
  10. 如請求項5之裝置,其中該PCIe至AHCI橋接器、該AHCI 引擎及該SATA裝置構成一AHCI裝置控制器,該AHCI裝置控制器提供介於該主機記憶體與儲存媒體之間的資料移動。
  11. 一種用於操作一PCIe大容量儲存裝置之方法,該方法包含:在一PCIe介面上對一主機指示出該PCIe大容量儲存裝置係一SATA主機匯流排配接器;一SATA儲存裝置自該SATA主機匯流排配接器接收呈一SATA格式之通信,其中該SATA儲存裝置係在僅具有一實體層之該SATA主機匯流排配接器中之一PCIe實體層上直接連接至該SATA主機匯流排配接器,其中該PCIe實體層經組態以將該SATA儲存裝置介接至該PCIe介面,且進一步其中該PCIe實體層經組態以將PCIe資料自一PCIe鏈路資料速率降頻轉換至用於該PCIe大容量儲存裝置之一較低資料速率,且將SATA資料自該較低資料速率升頻轉換至該PCIe鏈路資料速率;及該PCIe大容量儲存裝置模擬該SATA格式。
  12. 如請求項11之方法,其中對該主機指示出該PCIe大容量儲存裝置係一SATA主機匯流排配接器包含:對該主機指示出經由一PCIe介面耦合至該主機之該PCIe大容量儲存裝置係一SATA主機匯流排配接器。
  13. 如請求項11之方法,且其進一步包含該SATA儲存裝置接收該PCIe大容量儲存裝置中之組態暫存器中之組態資料,該組態資料係呈一SATA格式。
  14. 如請求項11之方法,且其進一步包含以一SATA格式傳 輸關於該PCIe大容量儲存裝置之操作狀態之狀態資料。
  15. 一種PCIe大容量儲存系統,其包含:一主機系統,其經組態以控制該PCIe大容量儲存系統之操作;及一PCIe大容量儲存裝置,其經由一PCIe介面耦合至該主機系統,該PCIe大容量儲存裝置包含:一主機匯流排配接器,其經組態以藉助該主機系統對一SATA裝置進行模擬,該主機匯流排配接器僅包含一實體層,該實體層經組態為一PCIe實體層;及一SATA大容量儲存裝置,其直接耦合至該主機匯流排配接器且其經組態以回應於來自該主機系統之SATA命令,其中該PCIe實體層經組態以將該SATA大容量儲存裝置介接至該PCIe鏈路,且進一步其中該PCIe實體層經組態以將PCIe資料自一PCIe鏈路資料速率降頻轉換至用於該PCIe大容量儲存裝置之一較低資料速率,且將SATA資料自該較低資料速率升頻轉換至該PCIe鏈路資料速率。
  16. 如請求項15之系統,其中該主機系統包含經組態而以一SATA格式進行通信之軟體。
  17. 如請求項15之系統,其中該主機系統係具有一PCIe鏈接電路之一電腦,且該電腦包含具有經由該PCIe介面與一SATA大容量儲存裝置通信之一能力之一作業系統。
  18. 如請求項15之系統,其中該PCIe大容量儲存裝置在無一PCIe至SATA橋接器之情形下耦合至該主機系統。
TW098130434A 2008-09-22 2009-09-09 周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法 TWI452469B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/235,180 US8225019B2 (en) 2008-09-22 2008-09-22 SATA mass storage device emulation on a PCIe interface

Publications (2)

Publication Number Publication Date
TW201017426A TW201017426A (en) 2010-05-01
TWI452469B true TWI452469B (zh) 2014-09-11

Family

ID=42038761

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098130434A TWI452469B (zh) 2008-09-22 2009-09-09 周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法

Country Status (6)

Country Link
US (2) US8225019B2 (zh)
EP (1) EP2329386A4 (zh)
KR (1) KR101181150B1 (zh)
CN (1) CN102160044B (zh)
TW (1) TWI452469B (zh)
WO (1) WO2010033375A2 (zh)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201030526A (en) * 2009-02-09 2010-08-16 Prolific Technology Inc Bridge, data compressing mthod thereof and computer system applying the same
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8745292B2 (en) * 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8615586B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Discovery of logical images at storage area network endpoints
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
JP5966243B2 (ja) * 2010-12-20 2016-08-10 富士通株式会社 ストレージ装置及びストレージ装置の制御方法
US8874820B2 (en) * 2010-12-28 2014-10-28 Silicon Image, Inc. Mechanism for facilitating a configurable port-type peripheral component interconnect express/serial advanced technology attachment host controller architecture
US20120254501A1 (en) * 2011-03-28 2012-10-04 Byungcheol Cho System architecture based on flash memory
US8621113B2 (en) * 2011-05-31 2013-12-31 Micron Technology, Inc. Apparatus including host bus adapter and serial attachment programming compliant device and related methods
US8601198B2 (en) * 2011-06-30 2013-12-03 Intel Corporation Controllable transaction synchronization for merging peripheral devices
CN102393838B (zh) * 2011-07-04 2015-03-11 华为技术有限公司 数据处理方法及装置、pci-e总线系统、服务器
US8930602B2 (en) 2011-08-31 2015-01-06 Intel Corporation Providing adaptive bandwidth allocation for a fixed priority arbiter
US9021156B2 (en) 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor
US8713234B2 (en) * 2011-09-29 2014-04-29 Intel Corporation Supporting multiple channels of a single interface
US8805926B2 (en) 2011-09-29 2014-08-12 Intel Corporation Common idle state, active state and credit management for an interface
US8711875B2 (en) 2011-09-29 2014-04-29 Intel Corporation Aggregating completion messages in a sideband interface
US8929373B2 (en) 2011-09-29 2015-01-06 Intel Corporation Sending packets with expanded headers
US8713240B2 (en) 2011-09-29 2014-04-29 Intel Corporation Providing multiple decode options for a system-on-chip (SoC) fabric
US8874976B2 (en) 2011-09-29 2014-10-28 Intel Corporation Providing error handling support to legacy devices
US8775700B2 (en) 2011-09-29 2014-07-08 Intel Corporation Issuing requests to a fabric
US9053251B2 (en) 2011-11-29 2015-06-09 Intel Corporation Providing a sideband message interface for system on a chip (SoC)
KR101925870B1 (ko) 2012-03-21 2018-12-06 삼성전자주식회사 Ssd 콘트롤러 및 그의 제어 방법
US9141152B2 (en) 2012-05-04 2015-09-22 Hewlett-Packard Devlopment Company, L.P. Interface card mount
US20130346532A1 (en) * 2012-06-21 2013-12-26 Microsoft Corporation Virtual shared storage in a cluster
US8745296B2 (en) 2012-10-02 2014-06-03 Intel Corporation Serial storage protocol compatible frame conversion, at least in part being compatible with SATA and one packet being compatible with PCIe protocol
KR101934519B1 (ko) 2012-11-26 2019-01-02 삼성전자주식회사 저장 장치 및 그것의 데이터 전송 방법
KR101988287B1 (ko) * 2012-11-26 2019-06-12 삼성전자주식회사 저장 장치 및 그것을 포함하는 컴퓨팅 시스템, 및 그것의 데이터 전송 방법
KR101993187B1 (ko) 2012-11-26 2019-06-27 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
KR102107723B1 (ko) 2012-12-03 2020-05-07 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
CN103150129B (zh) * 2013-04-02 2015-09-16 哈尔滨工业大学 PXIe接口Nand Flash数据流盘存取加速方法
US10404520B2 (en) 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US9141563B2 (en) * 2013-09-11 2015-09-22 Kabushiki Kaisha Toshiba Memory system
US9069486B2 (en) 2013-09-11 2015-06-30 Kabushiki Kaisha Toshiba Data transfer control device and data storage device
KR101547317B1 (ko) * 2013-09-30 2015-08-26 주식회사 유니테스트 스토리지 테스트 장치에서 로직 블록 어드레스와 데이터 버퍼 주소를 이용한 불량 블록 검출 시스템
US10353633B2 (en) * 2013-12-19 2019-07-16 Sony Interactive Entertainment LLC Mass storage virtualization for cloud computing
WO2015126383A1 (en) * 2014-02-19 2015-08-27 Hewlett-Packard Development Company, L.P. Adapter for transmitting signals
JP6273353B2 (ja) * 2014-04-21 2018-01-31 株式会社日立製作所 計算機システム
TWI579762B (zh) * 2014-05-06 2017-04-21 瑞昱半導體股份有限公司 固態硬碟控制電路及相關的固態硬碟裝置與固態硬碟存取系統
CN105094687B (zh) * 2014-05-13 2018-10-26 瑞昱半导体股份有限公司 固态硬盘控制电路及固态硬盘装置与固态硬盘存取系统
US20150347324A1 (en) * 2014-05-30 2015-12-03 S2C Inc. System and Method for Shared Memory for FPGA Based Applications
JP6181304B2 (ja) 2014-06-19 2017-08-16 株式会社日立製作所 ストレージ装置およびインタフェース装置
US9804989B2 (en) 2014-07-25 2017-10-31 Micron Technology, Inc. Systems, devices, and methods for selective communication through an electrical connector
KR102255216B1 (ko) 2014-11-20 2021-05-24 삼성전자주식회사 Pci 장치와 이를 포함하는 pci 시스템
CN107408090B (zh) * 2015-03-27 2021-03-26 英特尔公司 输入/输出控制器访问通道的动态配置
KR102345720B1 (ko) * 2015-06-15 2022-01-03 한국전자통신연구원 광 신호를 이용한 sata 호스트 버스 어댑터 및 sata 저장소 연결 방법
US9792048B2 (en) 2015-06-22 2017-10-17 Western Digital Technologies, Inc. Identifying disk drives and processing data access requests
CN107006061B (zh) * 2015-08-31 2020-09-04 华为技术有限公司 一种获取终端的识别码的方法及其设备
US9760513B2 (en) 2015-09-22 2017-09-12 Cisco Technology, Inc. Low latency efficient sharing of resources in multi-server ecosystems
TWI566103B (zh) * 2015-11-16 2017-01-11 宇瞻科技股份有限公司 PCIe橋接器之轉換裝置及其方法
TWI582597B (zh) * 2016-12-07 2017-05-11 英業達股份有限公司 硬體資源共用系統及連線橋接平台的操作方法
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US10338838B2 (en) 2017-03-24 2019-07-02 Samsung Electronics Co., Ltd. Multi-mode NVMe over fabrics device for supporting CAN (controller area network) bus or SMBus interface
US10534738B2 (en) * 2018-01-17 2020-01-14 Western Digital Technologies, Inc. Host bus adaptor with configurable interface
US20200081628A1 (en) * 2018-09-12 2020-03-12 Dell Products, Lp Apparatus and Method for Monitoring Insertion and Removal of Devices
CN109446015B (zh) * 2018-10-26 2022-05-27 北京计算机技术及应用研究所 一种NVMe原型仿真验证结构
CN109753459A (zh) * 2018-12-07 2019-05-14 天津津航计算技术研究所 一种大容量数据记录器
CN111258504B (zh) * 2020-01-15 2023-05-30 西安电子科技大学 一种基于sata接口固态硬盘的存储控制系统
US11150842B1 (en) 2020-04-20 2021-10-19 Western Digital Technologies, Inc. Dynamic memory controller and method for use therewith
US11281399B2 (en) 2020-06-24 2022-03-22 Western Digital Technologies, Inc. Dual-interface storage system and method for use therewith
US11442665B2 (en) 2020-12-04 2022-09-13 Western Digital Technologies, Inc. Storage system and method for dynamic selection of a host interface
CN113051196B (zh) * 2021-03-26 2021-11-02 武汉理工大学 一种基于固态硬盘层差异特征的请求调度算法
US20230244613A1 (en) * 2022-01-28 2023-08-03 Seagate Technology Llc Scalable storage using nvme communication
CN114138702B (zh) * 2022-01-29 2022-06-14 阿里云计算有限公司 计算系统、pci设备管理器及其初始化方法
CN116700604B (zh) * 2023-02-20 2023-11-14 无锡众星微系统技术有限公司 一种基于sas hba的数据传输方法
CN117407348B (zh) * 2023-12-15 2024-03-22 成都电科星拓科技有限公司 PCIe自适应转接方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050005044A1 (en) * 2003-07-02 2005-01-06 Ling-Yi Liu Storage virtualization computer system and external controller therefor
TW200712895A (en) * 2005-06-30 2007-04-01 Intel Corp Multi-threaded transmit transport engine for storage devices
US7246192B1 (en) * 2003-01-10 2007-07-17 Marvell International Ltd. Serial/parallel ATA controller and converter

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909559A (en) * 1997-04-04 1999-06-01 Texas Instruments Incorporated Bus bridge device including data bus of first width for a first processor, memory controller, arbiter circuit and second processor having a different second data width
US7517231B2 (en) * 2004-11-16 2009-04-14 Super Talent Electronics, Inc. Solid state drive (SSD) with open top and bottom covers
US6889380B1 (en) * 2000-06-30 2005-05-03 Intel Corporation Delaying loading of host-side drivers for cluster resources to avoid communication failures
US7308521B1 (en) 2001-11-16 2007-12-11 Marvell International Ltd. Multi-port communications integrated circuit and method for facilitating communication between a central processing chipset and multiple communication ports
JP4351071B2 (ja) * 2002-04-03 2009-10-28 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Ata/sata複合コントローラ
US6931457B2 (en) 2002-07-24 2005-08-16 Intel Corporation Method, system, and program for controlling multiple storage devices
US6781826B1 (en) * 2002-12-24 2004-08-24 Western Digital Technologies, Inc. External disk drive compatible with a serial advanced technology attachment (SATA) standard including a SATA compatible shielded cable capable of receiving power signals from a host
US7085859B2 (en) * 2003-05-14 2006-08-01 International Business Machines Corporation Method, apparatus and program storage device for automatically presenting status from a host bus adapter until an error is detected
US20060161733A1 (en) * 2005-01-19 2006-07-20 Emulex Design & Manufacturing Corporation Host buffer queues
US7376782B2 (en) 2005-06-29 2008-05-20 Intel Corporation Index/data register pair for indirect register access
US7970953B2 (en) * 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
US7929486B2 (en) * 2005-11-22 2011-04-19 Broadcom Corporation Programmable wireless access point supporting configuration profile updating
US20070214277A1 (en) * 2006-03-07 2007-09-13 Ahmed Ali U Peer-to-peer network communications using SATA/SAS technology
US7464228B2 (en) 2006-05-31 2008-12-09 Dell Products L.P. System and method to conserve conventional memory required to implement serial ATA advanced host controller interface
KR20090102789A (ko) * 2006-12-06 2009-09-30 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법
US20080294421A1 (en) * 2007-05-23 2008-11-27 Kwok-Yan Leung Hard Disk Drive Adapter For Emulating Hard Disk Drive Interface
US7925802B2 (en) * 2007-06-21 2011-04-12 Seamicro Corp. Hardware-based virtualization of BIOS, disks, network-interfaces, and consoles using a direct interconnect fabric
US20090055157A1 (en) * 2007-08-23 2009-02-26 Beyond Blades Ltd. Server Having Remotely Manageable Emulated Functions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246192B1 (en) * 2003-01-10 2007-07-17 Marvell International Ltd. Serial/parallel ATA controller and converter
US20050005044A1 (en) * 2003-07-02 2005-01-06 Ling-Yi Liu Storage virtualization computer system and external controller therefor
TW200712895A (en) * 2005-06-30 2007-04-01 Intel Corp Multi-threaded transmit transport engine for storage devices

Also Published As

Publication number Publication date
EP2329386A2 (en) 2011-06-08
TW201017426A (en) 2010-05-01
WO2010033375A3 (en) 2010-05-27
KR20110046552A (ko) 2011-05-04
US20120271974A1 (en) 2012-10-25
KR101181150B1 (ko) 2012-09-17
WO2010033375A2 (en) 2010-03-25
US8478916B2 (en) 2013-07-02
EP2329386A4 (en) 2012-08-08
CN102160044A (zh) 2011-08-17
US8225019B2 (en) 2012-07-17
US20100077117A1 (en) 2010-03-25
CN102160044B (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
TWI452469B (zh) 周邊元件互連高速(PCIe)大容量儲存裝置、包含該PCIe大容量儲存裝置之系統及用於操作該PCIe大容量儲存裝置之方法
KR101744465B1 (ko) 데이터를 저장하기 위한 방법 및 장치
US7970953B2 (en) Serial ATA port addressing
KR101455016B1 (ko) 고가용성 솔리드 스테이트 드라이브를 제공하는 방법 및 장치
US9298648B2 (en) Method and system for I/O flow management using RAID controller with DMA capabilitiy to directly send data to PCI-E devices connected to PCI-E switch
US8990462B2 (en) Storage device, computing system including the same and data transferring method thereof
US9430432B2 (en) Optimized multi-root input output virtualization aware switch
US8949486B1 (en) Direct memory access to storage devices
US9239808B2 (en) Serial interface for FPGA prototyping
WO2014004021A2 (en) Tunneling platform management messages through inter-processor interconnects
US7225288B2 (en) Extended host controller test mode support for use with full-speed USB devices
JP2541767B2 (ja) スマ―ト・バス制御ユニット
CN110609659A (zh) 用于执行读取命令的NVMeoF RAID实现方法
US10896119B1 (en) Common input/output interface for application and debug circuitry
KR100922635B1 (ko) Pci 익스프레스 버스 기반 테스터 인터페이스 장치
US20230089389A1 (en) Transaction analyzer for communication bus traffic
Verma et al. Pcie bus: A state-of-the-art-review
Kazmi PCI Express™ Basics & Applications in Communication Systems
JP4432388B2 (ja) 入出力制御装置
WO2006019853A2 (en) System and method for transferring data using storage controllers
CN114968860B (zh) 高速外围组件互连接口装置以及包括该接口装置的系统
CN113688073B (zh) 一种sata从设备ip核测试系统
Yang et al. PCIe device drivers in Linux: Design and implementation of a high-speed PCI Express bridge
JP4930554B2 (ja) 入出力制御装置
JP2009037479A (ja) データ転送制御装置及び電子機器

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees