TWI774255B - Bridge circuit and computer system - Google Patents
Bridge circuit and computer system Download PDFInfo
- Publication number
- TWI774255B TWI774255B TW110107558A TW110107558A TWI774255B TW I774255 B TWI774255 B TW I774255B TW 110107558 A TW110107558 A TW 110107558A TW 110107558 A TW110107558 A TW 110107558A TW I774255 B TWI774255 B TW I774255B
- Authority
- TW
- Taiwan
- Prior art keywords
- nvme
- tcp
- data
- circuit
- storage
- Prior art date
Links
Images
Landscapes
- Bus Control (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
Description
本發明係有關於資料處理,尤指一種可於PCIe-NVMe協定與NVMe-TCP協定之間提供轉換的橋接電路與採用此橋接電路的電腦系統。 The present invention relates to data processing, especially to a bridge circuit that can provide conversion between PCIe-NVMe protocol and NVMe-TCP protocol and a computer system using the bridge circuit.
NVMe(Non-Volatile Memory Express)是一種非揮發性記憶體的主機控制介面規格,專門搭配使用PCIe(Peripheral Component Interconnect Express)匯流排的快閃記憶體裝置而設計的通訊協定,例如電腦主機可透過PCIe-NVMe協定來將資料寫入具有PCIe介面的固態硬碟(solid-state drive,SSD),以及可透過PCIe-NVMe協定來讀取具有PCIe介面的固態硬碟中所儲存的資料,相較於採用其它輸入/輸出介面的固態硬碟,具有PCIe介面的固態硬碟可藉由PCIe-NVMe協定而具備更快的讀寫速度。然而,由於電腦主機需要透過PCIe匯流排來存取固態硬碟,因此標準的PCIe-NVMe協定無法適用於遠端儲存設備的資料存取,故近年來出現了NVMe-oF(NVMe-over-Fabrics)方案以支持資料中心的網路儲存,其中NVMe-TCP(NVMe-over-TCP)協定可以在現有的網路基礎設施上運作,不需要特殊的交換機、路由器與網路卡,因此透過NVMe-TCP協定可簡單實現遠端儲存設備的部署。 NVMe (Non-Volatile Memory Express) is a host control interface specification for non-volatile memory. It is a communication protocol specially designed for flash memory devices using PCIe (Peripheral Component Interconnect Express) bus. The PCIe-NVMe protocol is used to write data into a solid-state drive (SSD) with a PCIe interface, and the data stored in a solid-state drive with a PCIe interface can be read through the PCIe-NVMe protocol. For SSDs using other I/O interfaces, SSDs with PCIe interface can have faster read and write speeds through the PCIe-NVMe protocol. However, since the computer host needs to access the SSD through the PCIe bus, the standard PCIe-NVMe protocol cannot be used for data access of remote storage devices, so NVMe-oF (NVMe-over-Fabrics) ) solution to support network storage in data centers, in which the NVMe-TCP (NVMe-over-TCP) protocol can operate on existing network infrastructure without special switches, routers and network cards. The TCP protocol can easily implement the deployment of remote storage devices.
然而,對於主機端而言,NVMe-TCP協定本身的複雜度會大幅增加中央處理器的運算負載,此外,為了存取NVMe-TCP裝置(例如連接至區域網路的固態硬碟),主機端另需要安裝新的驅動程式,由於需要不同的驅動程式來分別 處理PCIe-NVMe協定以及NVMe-TCP協定,也必然會增加系統複雜度。 However, for the host side, the complexity of the NVMe-TCP protocol itself will greatly increase the computing load of the CPU. In addition, in order to access NVMe-TCP devices (such as solid-state drives connected to the local area network), the host side In addition, a new driver needs to be installed, because different drivers are required to separate Dealing with the PCIe-NVMe protocol and the NVMe-TCP protocol will inevitably increase the system complexity.
因此,本發明的目的之一在於提出一種可於PCIe-NVMe協定與NVMe-TCP協定之間提供轉換的橋接電路與採用此橋接電路的電腦系統。 Therefore, one of the objectives of the present invention is to provide a bridge circuit that can provide conversion between the PCIe-NVMe protocol and the NVMe-TCP protocol and a computer system using the bridge circuit.
在本發明的一個實施例中,揭露一種橋接電路。該橋接電路包含有一NVMe裝置控制器、一網路子系統以及一資料轉送電路。該NVMe裝置控制器用以透過一PCIe匯流排來與一電腦主機進行溝通。該網路子系統用以透過一網路來與一NVMe-TCP裝置進行溝通。該資料轉送電路耦接於該NVMe裝置控制器與該網路子系統之間,並用以在無須該電腦主機的介入之下,處理有關該NVMe-TCP裝置的資料轉送。 In one embodiment of the present invention, a bridge circuit is disclosed. The bridge circuit includes an NVMe device controller, a network subsystem, and a data transfer circuit. The NVMe device controller is used to communicate with a computer host through a PCIe bus. The network subsystem is used to communicate with an NVMe-TCP device through a network. The data transfer circuit is coupled between the NVMe device controller and the network subsystem, and is used for processing data transfer related to the NVMe-TCP device without the intervention of the computer host.
在本發明的另一個實施例中,揭露一種電腦系統。該電腦系統包含有一電腦主機以及一橋接電路。該橋接電路包含有一NVMe裝置控制器、一網路子系統以及一資料轉送電路。該NVMe裝置控制器用以透過一PCIe匯流排來與該電腦主機進行溝通。該網路子系統用以透過一網路來與一NVMe-TCP裝置進行溝通。該資料轉送電路耦接於該NVMe裝置控制器與該網路子系統之間,並用以處理有關該NVMe-TCP裝置的資料轉送。該橋接電路會讓該NVMe-TCP裝置被該電腦主機視為一PCIe-NVMe裝置來進行存取。 In another embodiment of the present invention, a computer system is disclosed. The computer system includes a computer host and a bridge circuit. The bridge circuit includes an NVMe device controller, a network subsystem, and a data transfer circuit. The NVMe device controller is used to communicate with the computer host through a PCIe bus. The network subsystem is used to communicate with an NVMe-TCP device through a network. The data transfer circuit is coupled between the NVMe device controller and the network subsystem, and is used for processing data transfer related to the NVMe-TCP device. The bridge circuit allows the NVMe-TCP device to be accessed by the computer host as a PCIe-NVMe device.
在本發明的另一個實施例中,揭露一種電腦系統。該電腦系統包含有一電腦主機以及一橋接電路。該橋接電路包含有一NVMe裝置控制器、一網路子系統以及一資料轉送電路。該NVMe裝置控制器用以透過一PCIe匯流排來與該 電腦主機進行溝通。該網路子系統用以透過一網路來與一NVMe-TCP裝置進行溝通。該資料轉送電路耦接於該NVMe裝置控制器與該網路子系統之間,並用以處理有關該NVMe-TCP裝置的資料轉送。該電腦主機載入並執行PCIe-NVMe驅動程式來控制該電腦主機與該NVMe裝置控制器之間的溝通,且無須具備NVMe-TCP驅動程式。 In another embodiment of the present invention, a computer system is disclosed. The computer system includes a computer host and a bridge circuit. The bridge circuit includes an NVMe device controller, a network subsystem, and a data transfer circuit. The NVMe device controller is used to communicate with the communicate with the host computer. The network subsystem is used to communicate with an NVMe-TCP device through a network. The data transfer circuit is coupled between the NVMe device controller and the network subsystem, and is used for processing data transfer related to the NVMe-TCP device. The computer host loads and executes the PCIe-NVMe driver to control the communication between the computer host and the NVMe device controller, and does not need to have the NVMe-TCP driver.
本發明所揭示的橋接電路可將NVMe-TCP的處理自主機端處理器卸載出來,因而大幅降低主機端處理器的運算負載,另外,主機端處理器僅需執行PCIe-NVMe驅動程式即可藉由本發明所揭示的橋接電路來完成NVMe-TCP裝置的資料存取,無須安裝並執行NVMe-TCP驅動程式,故可降低系統複雜度。 The bridge circuit disclosed in the present invention can offload the processing of NVMe-TCP from the host-side processor, thereby greatly reducing the computing load of the host-side processor. In addition, the host-side processor only needs to execute the PCIe-NVMe driver. The bridge circuit disclosed in the present invention completes the data access of the NVMe-TCP device without installing and executing the NVMe-TCP driver, so the system complexity can be reduced.
100:電腦系統 100: Computer System
102:電腦主機 102: Computer host
103:PCIe匯流排 103: PCIe bus
104:PCIe介面卡 104: PCIe interface card
105:網路 105: Internet
106:NVMe-TCP裝置 106: NVMe-TCP device
112:中央處理器 112: CPU
114:系統儲存裝置 114: System Storage Device
116:提交佇列 116:Submit Queue
118:完成佇列 118: Complete the queue
122,200:橋接電路 122,200: Bridge circuit
124:本地儲存裝置 124: local storage device
132:非揮發性記憶體 132: non-volatile memory
201:晶片 201: Wafer
202,300:NVMe裝置控制器 202,300: NVMe Device Controller
204,400:資料轉送電路 204,400: Data transfer circuit
206,500:網路子系統 206,500: Network Subsystem
302:PCIe控制器 302: PCIe Controller
304:主機控制器 304: Host Controller
306:提交佇列處理電路 306: Submission queue processing circuit
308:完成佇列處理電路 308: Complete the queue processing circuit
310:儲存位址處理電路 310: storage address processing circuit
312,314,316,318:功能區塊 312, 314, 316, 318: Functional Blocks
402:資料存取電路 402: Data access circuit
404,406,408:儲存元件 404, 406, 408: Storage elements
410:查找表 410: Lookup Table
412,414:鏈接串列 412, 414: Linked Sequence
502:卸載引擎 502: Unload engine
504:NVMe-TCP控制器 504: NVMe-TCP Controller
第1圖為本發明採用橋接電路之電腦系統的示意圖。 FIG. 1 is a schematic diagram of a computer system using a bridge circuit according to the present invention.
第2圖為根據本發明一實施例之橋接電路的示意圖。 FIG. 2 is a schematic diagram of a bridge circuit according to an embodiment of the present invention.
第3圖為根據本發明一實施例之NVMe裝置控制器的示意圖。 FIG. 3 is a schematic diagram of an NVMe device controller according to an embodiment of the present invention.
第4圖為根據本發明一實施例之資料轉送電路的示意圖。 FIG. 4 is a schematic diagram of a data transfer circuit according to an embodiment of the present invention.
第5圖為根據本發明一實施例之網路子系統的示意圖。 FIG. 5 is a schematic diagram of a network subsystem according to an embodiment of the present invention.
第1圖為本發明採用橋接電路之電腦系統的示意圖。電腦系統100包含電腦主機102、PCIe介面卡104以及至少一NVMe-TCP裝置106,為了簡潔起見,第1圖僅繪示出一個NVMe-TCP裝置106,然而,於實際應用時,電腦系統100可根據應用需求而設置複數個NVMe-TCP裝置106。電腦主機102包含中央處理器112
與系統儲存裝置114,例如系統儲存裝置114可以是記憶體。另外,系統儲存裝置114中設置有提交佇列(submission queue,SQ)116與完成佇列(completion queue,CQ)118,其中提交佇列116用以儲存電腦主機102所發出的命令,而完成佇列118會與提交佇列116配對,用來儲存該命令的完成資訊。PCIe介面卡104上設置有橋接電路122與可供橋接電路122使用的本地儲存裝置124,例如本地儲存裝置124可以是記憶體。PCIe介面卡104可安裝於電腦主機102上的PCIe插槽,因此,橋接電路122便可透過PCIe匯流排103來跟電腦主機102進行溝通。本實施例中,橋接電路122與NVMe-TCP裝置106均連接至網路105,例如網路105為區域網路。NVMe-TCP裝置106包含非揮發性記憶體132,例如NVMe-TCP裝置106為採用NVMe-TCP協定的固態硬碟。本實施例中,橋接電路122可於PCIe-NVMe協定與NVMe-TCP協定之間提供轉換,換言之,橋接電路122透過PCIe-NVMe協定來跟電腦主機102溝通,並透過NVMe-TCP協定來跟NVMe-TCP裝置106進行溝通,因此,電腦主機102本身無須處理NVMe-TCP協定堆疊(stack),故電腦主機102僅需載入並執行PCIe-NVMe驅動程式DRV_NVMe來控制電腦主機102與橋接電路122之間的溝通,實際上無須具備NVMe-TCP驅動程式,進一步來說,橋接電路104可讓NVMe-TCP裝置106被電腦主機102視為PCIe-NVMe裝置來進行存取。
FIG. 1 is a schematic diagram of a computer system using a bridge circuit according to the present invention. The
第2圖為根據本發明一實施例之橋接電路的示意圖。第1圖所示之橋接電路122可由第2圖所示之橋接電路200來實現。如第2圖所示,橋接電路200包含NVMe裝置控制器202、資料轉送電路204以及網路子系統206。本實施例中,NVMe裝置控制器202、資料轉送電路204以及網路子系統206均設置於同一晶片201中。NVMe裝置控制器202用以透過PCIe匯流排103來與電腦主機102進行溝通。網路子系統206用以透過網路(例如區域網路)105來與NVMe-TCP裝置106進行溝通。資料轉送電路204具備直接記憶體存取(direct memory access,DMA)的能
力,並耦接於NVMe裝置控制器202與網路子系統206之間,用以在無須電腦主機102的介入之下,處理有關NVMe-TCP裝置106的資料轉送(包含透過NVMe裝置控制器202與網路子系統206來將電腦主機102的資料轉送至NVMe-TCP裝置106中的非揮發性記憶體132,以及透過NVMe裝置控制器202與網路子系統206來將NVMe-TCP裝置106的非揮發性記憶體132所儲存的資料轉送至電腦主機102)。
FIG. 2 is a schematic diagram of a bridge circuit according to an embodiment of the present invention. The
第3圖為根據本發明一實施例之NVMe裝置控制器的示意圖。第2圖所示之NVMe裝置控制器202可由第3圖所示之NVMe裝置控制器300來實現。如第3圖所示,NVMe裝置控制器300包含PCIe控制器302、主機控制器304、提交佇列處理電路306、完成佇列處理電路308以及儲存位址處理電路310。PCIe控制器302用以存取PCIe匯流排103。主機控制器304包含複數個功能區塊,其中功能區塊(標示為DNTRFC)312用以控制PCIe匯流排103的下行資料處理(downstream transaction),功能區塊(標示為UPTRFC)314用以控制PCIe匯流排103的上行資料處理(upstream transaction),功能區塊(標示為PCIe_cfg)316包含有暫存器以儲存PCIe組態設定,以及功能區塊(標示為NVMe_cfg)318包含有暫存器以儲存NVMe組態設定。
FIG. 3 is a schematic diagram of an NVMe device controller according to an embodiment of the present invention. The
提交佇列處理電路306用以讀取並處理電腦主機102之提交佇列116中的命令(例如寫入命令或讀取命令),例如,當電腦主機102將命令(例如寫入命令或讀取命令)寫入提交佇列116之後,電腦主機102會通知NVMe裝置控制器300,而提交佇列處理電路306後續便會將此命令(例如寫入命令或讀取命令)自提交佇列116中擷取出來。完成佇列處理電路308用以將該命令(例如寫入命令或讀取命令)的完成資訊寫入電腦主機102之完成佇列118中,例如,當資料轉送電路204已經將寫入命令所指示的主機端資料傳送至NVMe-TCP裝置106中的非揮發性記憶
體132,則完成佇列處理電路308會將此寫入命令的完成資訊寫入至完成佇列118中;同樣地,當資料轉送電路204已經將讀取命令所指示的裝置端資料傳送至主機裝置102中的系統儲存裝置114,則完成佇列處理電路308會將此讀取命令的完成資訊寫入至完成佇列118中。
The submission
儲存位址處理電路310用以擷取該命令(例如寫入命令或讀取命令)所附帶的儲存位址資訊,並可根據該儲存位址資訊來設定資料轉送電路204,例如該儲存位址資訊會指定系統儲存裝置114中的儲存位址,當提交佇列116中所要處理的命令是寫入命令時,要被寫入至NVMe-TCP裝置106中非揮發性記憶體132的主機端資料會位於該儲存位址資訊所指定的儲存位址,另外,當提交佇列116中所要處理的命令是讀取命令時,要從NVMe-TCP裝置106中非揮發性記憶體132讀取出來的裝置端資料會寫入至該儲存位址資訊所指定的儲存位址。本實施例中,該儲存位址資訊可利用分散聚合表(Scatter Gather List,SGL)的資料結構來紀錄,然而,本發明並不以此為限,於其它實施例中,該儲存位址資訊亦可利用物理區域頁(Physical Region Page,PRP)的資料結構來紀錄。由於NVMe命令(例如寫入命令或讀取命令)所附帶的該儲存位址資訊會指定系統儲存裝置114中的儲存位址,因此,儲存位址處理電路310可據此來設定資料轉送電路204,以使資料轉送電路204可正確處理有關NVMe-TCP裝置106的資料轉送作業。
The storage
第4圖為根據本發明一實施例之資料轉送電路的示意圖。第2圖所示之資料轉送電路204可由第4圖所示之資料轉送電路400來實現。如第4圖所示,資料轉送電路400包含資料存取電路402與複數個儲存元件(例如記憶體)404、406、408。儲存元件406用以儲存一鏈接串列(linked list)412,其中鏈接串列412中的每一節點會紀錄系統儲存裝置114中的一儲存位址,例如鏈接串列412的複數節點分
別紀錄系統儲存裝置114中的複數個儲存位址ADDR_A1、ADDR_A2、ADDR_A3、ADDR_A4。儲存元件408則用以儲存另一鏈接串列414,其中鏈接串列414中的每一節點會紀錄本地儲存裝置124中的一儲存位址,例如鏈接串列414的複數節點分別紀錄本地儲存裝置124中的複數個儲存位址ADDR_B1、ADDR_B2、ADDR_B3、ADDR_B4。儲存元件404則用以儲存一查找表410,其中查找表410會紀錄鏈接串列412中第一節點(本實施例為紀錄儲存位址ADDR_A1的節點)於儲存元件406中的儲存位址PTR_1以及鏈接串列414中第一節點(本實施例為紀錄儲存位址ADDR_B1的節點)於儲存元件408中的儲存位址PTR_2。資料存取電路402用以依據查找表410來讀取鏈接串列412及鏈接串列414,以處理電腦主機102與NVMe-TCP裝置106之間的資料轉送作業。
FIG. 4 is a schematic diagram of a data transfer circuit according to an embodiment of the present invention. The
當電腦主機102將NVMe命令(例如寫入命令或讀取命令)寫入至提交佇列116,該NVMe命令會具有相對應的NVMe命令識別碼HID,此外,透過網路105,橋接電路122會藉由TCP連線識別碼(TCP session ID)SID來與NVMe-TCP裝置106進行溝通,並會基於該PCIe-NVMe命令來產生並傳送NVMe-TCP命令(例如寫入命令或讀取命令)至NVMe-TCP裝置106,而該NVMe-TCP命令同樣會具有相對應的命令識別碼CID,本實施例中,NVMe命令識別碼HID會綁定相對應的一對TCP連線識別碼SID與NVMe-TCP命令識別碼CID來作為查找表410的索引,如第4圖所示,查找表410會將一組NVMe命令識別碼HID、TCP連線識別碼SID與NVMe-TCP命令識別碼CID映射至鏈接串列412中第一節點於儲存元件406中的儲存位址PTR_1以及鏈接串列414中第一節點於儲存元件408中的儲存位址,因此,資料存取電路402便可依據該組NVMe命令識別碼HID、TCP連線識別碼SID與NVMe-TCP命令識別碼CID來自查找表410讀取出有關鏈接串列起始點的指標(包含鏈接串列412中第一節點於儲存元件406中的儲存位址PTR_1以及鏈接串列414
中第一節點於儲存元件408中的儲存位址PTR_2)。
When the
根據電腦主機102所發出的NVMe命令(例如寫入命令或讀取命令),資料存取電路402可以參照所要存取的命名空間(namespace)來決定網路105上哪個NVMe-TCP裝置要被存取,假若所要存取的是NVMe-TCP裝置106,則資料存取電路402會將橋接電路122與NVMe-TCP裝置106之間的TCP連線跟NVMe-TCP裝置106的命名空間進行綁定,而當橋接電路122將NVMe-TCP命令傳送至NVMe-TCP裝置106時,資料存取電路402便會建立對照表410並根據儲存位址處理電路310所提供的資訊(亦即NVMe命令所附帶的儲存位址資訊)來設定儲存元件406中的鏈接串列412與儲存元件408中的鏈接串列414。
According to the NVMe command (such as a write command or a read command) issued by the
假如電腦主機102所發出的NVMe命令是寫入命令,則資料存取電路402依據鏈接串列412中第一節點於儲存元件406中的儲存位址PTR_1來開始讀取鏈接串列412所紀錄的儲存位址ADDR_A1~ADDR_A4,以從系統儲存裝置114讀取一筆資料(從儲存位址ADDR_A1~ADDR_A4讀取),並依據鏈接串列414中第一節點於儲存元件408中的儲存位址PTR_2來開始讀取鏈接串列414所紀錄的儲存位址ADDR_B1~ADDR_B4,來將該筆資料寫入至本地儲存裝置124(寫入至儲存位址ADDR_B1~ADDR_B4)。之後,資料存取電路402再依據鏈接串列414中第一節點於儲存元件408中的儲存位址PTR_2來開始讀取鏈接串列414所紀錄的儲存位址ADDR_B1~ADDR_B4,以自本地儲存裝置124讀取該筆資料(從儲存位址ADDR_B1~ADDR_B4讀取),並透過網路子系統206來將該筆資料傳送至NVMe-TCP裝置106以寫入至非揮發性記憶體132。
If the NVMe command issued by the
假如電腦主機102所發出的NVMe命令是讀取命令,則網路子系統206
會自NVMe-TCP裝置106接收一筆資料,另外,資料存取電路402便依據鏈接串列414中第一節點於儲存元件408中的儲存位址PTR_2來開始讀取鏈接串列414所紀錄的儲存位址ADDR_B1~ADDR_B4,以將該筆資料寫入至本地儲存裝置124(寫入至儲存位址ADDR_B1~ADDR_B4)。之後,資料存取電路402會再依據鏈接串列414中第一節點於儲存元件408中的儲存位址PTR_2來開始讀取鏈接串列414所紀錄的儲存位址ADDRB1~ADDR_B4,以自本地儲存裝置124讀取該筆資料(從儲存位址ADDR_B1~ADDR_B4讀取),並且會依據鏈接串列412中第一節點於儲存元件406中的儲存位址PTR_1來開始讀取鏈接串列412所紀錄的儲存位址ADDR_A1~ADDR_A4,以將該筆資料寫入至系統儲存裝置114(寫入至儲存位址ADDR_A1~ADDR_A4)。
If the NVMe command issued by the
如前所述,網路子系統206會透過網路(例如區域網路)105來與NVMe-TCP裝置106進行溝通,例如,網路子系統206透過網路105來將命令傳遞至NVMe-TCP裝置106、將寫入資料傳遞至NVMe-TCP裝置106,以及自NVMe-TCP裝置106接收讀取資料。第5圖為根據本發明一實施例之網路子系統的示意圖。第2圖所示之網路子系統206可由第5圖所示之網路子系統500來實現。如第5圖所示,網路子系統500包含卸載引擎502以及NVMe-TCP控制器504。卸載引擎502是專門用以處理網路子系統500與NVMe-TCP裝置106之間的傳輸控制協定/網際網路協定堆疊(TCP/IP stack)的硬體,因此,橋接電路122/200無須處理器介入傳輸控制協定/網際網路協定堆疊的處理。NVMe-TCP控制器504用以觸發資料轉送電路204/400來自電腦主機102讀取資料以透過卸載引擎502傳送至NVMe-TCP裝置106,以及觸發資料轉送電路204/400來將卸載引擎502自NVMe-TCP裝置106所接收之資料傳送至電腦主機102。另外,NVMe-TCP控制器504亦可根據NVMe命令識別碼HID來將TCP連線識別碼SID與NVMe-TCP命令識別碼CID編碼至網路封包
中,以及另對NVMe-TCP資料(包含寫入命令或讀取指令)進行編碼並加入相對應循環冗餘校驗(Cyclic Redundancy Check)資料至網路封包;以及NVMe-TCP控制器504亦可對網路封包進行解碼來得到NVMe-TCP資料(包含寫入命令的完成資訊或讀取命令的完成資訊),並根據相對應循環冗餘校驗資料來進行資料正確性檢查與錯誤更正。
As previously mentioned, the
綜上所述,本發明所揭示的橋接電路可將NVMe-TCP的處理自主機端處理器卸載出來,因而大幅降低主機端處理器的運算負載,另外,主機端處理器僅需執行PCIe-NVMe驅動程式即可藉由本發明所揭示的橋接電路來完成NVMe-TCP裝置的資料存取,無須安裝並執行NVMe-TCP驅動程式,故可降低系統複雜度。 To sum up, the bridge circuit disclosed in the present invention can offload the processing of NVMe-TCP from the host-side processor, thereby greatly reducing the computing load of the host-side processor. In addition, the host-side processor only needs to execute PCIe-NVMe The driver can complete the data access of the NVMe-TCP device through the bridge circuit disclosed in the present invention, and there is no need to install and execute the NVMe-TCP driver, so the system complexity can be reduced.
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。 The above descriptions are only preferred embodiments of the present invention, and all equivalent changes and modifications made according to the scope of the patent application of the present invention shall fall within the scope of the present invention.
100:電腦系統 100: Computer Systems
102:電腦主機 102: Computer host
103:PCIe匯流排 103: PCIe bus
104:PCIe介面卡 104: PCIe interface card
105:網路 105: Internet
106:NVMe-TCP裝置 106: NVMe-TCP device
112:中央處理器 112: CPU
114:系統儲存裝置 114: System Storage Device
116:提交佇列 116:Submit Queue
118:完成佇列 118: Complete the queue
122:橋接電路 122: Bridge circuit
124:本地儲存裝置 124: local storage device
132:非揮發性記憶體 132: non-volatile memory
Claims (12)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110325479.6A CN113051206B (en) | 2020-05-04 | 2021-03-26 | Bridge circuit and computer system |
US17/234,751 US11442882B2 (en) | 2020-05-04 | 2021-04-19 | Bridge circuit for providing conversion between PCIe-NVMe protocol and NVMe-TCP protocol and computer system using the same |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063019435P | 2020-05-04 | 2020-05-04 | |
US63/019,435 | 2020-05-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202143035A TW202143035A (en) | 2021-11-16 |
TWI774255B true TWI774255B (en) | 2022-08-11 |
Family
ID=80783330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110107558A TWI774255B (en) | 2020-05-04 | 2021-03-03 | Bridge circuit and computer system |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI774255B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12014086B2 (en) * | 2022-07-15 | 2024-06-18 | Dell Product L.P. | High availability in non-volatile memory express (NVMe®) over transmission control protocol (NVMe/TCP) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10075524B1 (en) * | 2015-09-29 | 2018-09-11 | Amazon Technologies, Inc. | Storage bridge device for communicating with network storage |
CN108733601A (en) * | 2017-04-25 | 2018-11-02 | 三星电子株式会社 | The direct access block storage of low latency in NVMe-oF Ethernets SSD |
CN110147335A (en) * | 2018-02-09 | 2019-08-20 | 三星电子株式会社 | For associated system and method between NVME order in SSD reservoir |
TW201945956A (en) * | 2018-02-27 | 2019-12-01 | 美商國科美國研究實驗室 | Method and apparatus for high speed data processing |
TW201945921A (en) * | 2018-03-08 | 2019-12-01 | 日商東芝記憶體股份有限公司 | Workload-adaptive overprovisioning in solid state storage drive arrays |
-
2021
- 2021-03-03 TW TW110107558A patent/TWI774255B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10075524B1 (en) * | 2015-09-29 | 2018-09-11 | Amazon Technologies, Inc. | Storage bridge device for communicating with network storage |
CN108733601A (en) * | 2017-04-25 | 2018-11-02 | 三星电子株式会社 | The direct access block storage of low latency in NVMe-oF Ethernets SSD |
CN110147335A (en) * | 2018-02-09 | 2019-08-20 | 三星电子株式会社 | For associated system and method between NVME order in SSD reservoir |
TW201945956A (en) * | 2018-02-27 | 2019-12-01 | 美商國科美國研究實驗室 | Method and apparatus for high speed data processing |
TW201945921A (en) * | 2018-03-08 | 2019-12-01 | 日商東芝記憶體股份有限公司 | Workload-adaptive overprovisioning in solid state storage drive arrays |
Also Published As
Publication number | Publication date |
---|---|
TW202143035A (en) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL2011838B1 (en) | Storage device, computing system including the same and data transferring method thereof. | |
US7849242B2 (en) | PCI express-compatible controller and interface that provides PCI express functionality and flash memory operations to host device | |
TWI537969B (en) | Response control for memory modules that include or interface with non-compliant memory technologies | |
TWI699696B (en) | Electronic system with interface control mechanism and method of operation thereof | |
US10891078B2 (en) | Storage device with a callback response | |
US20080155145A1 (en) | Discovery of a Bridge Device in a SAS Communication System | |
US20140149706A1 (en) | Storage device and data transfering method thereof | |
TWI443513B (en) | Memory storage device, memory controller thereof, and method for programming data thereof | |
KR102646616B1 (en) | METHOD OF NVMe OVER FABRIC RAID IMPLEMENTATION FOR READ COMMAND EXECUTION | |
US11726666B2 (en) | Network adapter with efficient storage-protocol emulation | |
WO2007135967A1 (en) | Data memory device and data memorizing method | |
JP6649989B2 (en) | Storage system and control method thereof | |
TWI774255B (en) | Bridge circuit and computer system | |
TWI710906B (en) | Method and apparatus for performing access control between host device and memory device | |
JP2018060419A (en) | Storage controller and storage device | |
US20090083021A1 (en) | Emulation of ahci-based solid state drive using nand interface | |
TWI820951B (en) | Method and apparatus for performing data access control of memory device with aid of predetermined command | |
CN113051206B (en) | Bridge circuit and computer system | |
US11558296B2 (en) | Transaction analyzer for peripheral bus traffic | |
CN112579328A (en) | Method for processing programming error and storage device | |
JP7553783B2 (en) | STORAGE CONTROL DEVICE, DELIVERY STATUS DETECTION PROGRAM, AND STORAGE SYSTEM | |
CN112578993A (en) | Method for processing programming error of multi-plane NVM and storage device | |
TWI814655B (en) | Memory device, flash memory controller and control method thereof | |
TWI802113B (en) | Method for performing access management of memory device with aid of universal asynchronous receiver-transmitter connection, memory device, electronic device, and controller of memory device | |
US20240061614A1 (en) | Error detection and correction in a controller |