TW201905710A - 具近資料端處理引擎的晶片組 - Google Patents
具近資料端處理引擎的晶片組Info
- Publication number
- TW201905710A TW201905710A TW106129303A TW106129303A TW201905710A TW 201905710 A TW201905710 A TW 201905710A TW 106129303 A TW106129303 A TW 106129303A TW 106129303 A TW106129303 A TW 106129303A TW 201905710 A TW201905710 A TW 201905710A
- Authority
- TW
- Taiwan
- Prior art keywords
- flow control
- control module
- chipset
- data
- peripheral device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0638—Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/205—Hybrid memory, e.g. using both volatile and non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
具近資料端處理引擎的晶片組,以該近資料端處理引擎進行指令轉換,以產生一輸入輸出埠指令,操作連接該晶片組的一週邊裝置。該晶片組更包括一流量控制模組,將該晶片組所接收之關於該週邊裝置的一操作要求導向該近資料端處理引擎,以轉換成上述輸入輸出埠指令。近資料端處理引擎用於實現檔案系統、或數據庫加速、或應付遠端直接記憶體存取封包。
Description
高功能晶片組。
隨著資料儲存裝置發展,電腦系統常有大量的數據存取需求。為了減輕電腦系統之中央處理單元的工作量,傳統技術是使數據存取的大部分運算在數據端完成。如此一來,數據端產品通常內含廠商所各自設計的運算模塊。為了相容不同數據端產品,電腦系統之輸入輸出(I/O)通訊相當複雜。
本案在電腦系統的晶片組上設計一近端資料處理(Near Data Processing,簡稱NDP)引擎,使數據端產品之設計單純,避免相容性問題。
根據本案一種實施方式實現的一晶片組包括一近資料端處理引擎以及一流量控制模組。該流量控制模組,將該晶片組所接收之關於連接該晶片組的一週邊裝置的一操作要求導向該近資料端處理引擎,其中該近資料端處理引擎進行指令轉換,以產生一輸入輸出埠指令,操作該週邊裝置。該近資料端處理引擎包括一數據緩衝器以及一處理器。該流量控制模組是將該晶片組接收到的該操作要求置於該數據緩衝器,該處理器將該操作要求轉換為上述輸入輸出埠指令後發送至該流 量控制模組,由該流量控制模組導向該週邊裝置。
上述近資料端處理引擎可用於實現檔案系統、或數據庫加速、或應付遠端直接記憶體存取封包。
下文特舉實施例,並配合所附圖示,詳細說明本發明內容。
100‧‧‧電腦系統
102‧‧‧中央處理單元
104‧‧‧動態隨機存取記憶體(DRAM)
106‧‧‧晶片組
108_1...108_3‧‧‧儲存裝置
108_4‧‧‧網卡
110‧‧‧網路
112‧‧‧遠端電腦系統
120‧‧‧流量控制模組
122‧‧‧近資料端處理引擎
124‧‧‧表格
126‧‧‧處理器
128‧‧‧數據緩衝器
130‧‧‧快取一致性介面
132‧‧‧樣式比對模塊
134‧‧‧資料壓縮器
140‧‧‧DRAM控制器
SATA、NVMe1、NVMe2、PCIe‧‧‧連接埠
S202...S214、S302...S314、S402...S414‧‧‧步驟
第1圖為方塊圖,根據本案一種實施方式圖解一電腦系統100;第2圖為流程圖,參考第1圖說明該近資料端處理引擎122實現一檔案系統(file system)的一種實施方式;第3圖為流程圖,參考第1圖說明該近資料端處理引擎122加速數據庫的一種實施方式;以及第4圖為流程圖,參考第1圖說明該近資料端處理引擎122如何應付遠方電腦系統112傳來的遠端直接記憶體存取(Remote Direct Memory Access,簡稱RDMA)封包。
以下敘述列舉本發明的多種實施例。以下敘述介紹本發明的基本概念,且並非意圖限制本發明內容。實際發明範圍應依照申請專利範圍界定之。
第1圖為方塊圖,根據本案一種實施方式圖解一電腦系統100,其中包括一中央處理單元(CPU)102、一動態隨機存取記憶體(DRAM)104、一晶片組106、以及連接埠SATA、NVMe1、NVMe2、PCIe與所連結之週邊設備(包括儲存裝置 108_1~108_3以及網卡108_4)。
連接埠SATA、NVMe1、NVMe2、PCIe屬電腦系統100的輸入輸出端(I/O),各自有遵循的傳輸介面,包括串型高級技術附件(Serial Advanced Technology Attachment,簡稱SATA)介面、高速非揮發式記憶體(Nonvolatile Memory Express,簡稱NVMe)介面、以及高速週邊元件互連(Peripheral Component Interconnect Express,簡稱PCIe)介面。更有其他實施方式的連接埠使用乙太(Ethernet)技術。連接埠SATA、NVMe1、NVMe2連結的週邊設備分別為儲存裝置108_1、108_2、108_3。儲存裝置108_2與108_3可為固態硬碟SSD。連接埠PCIe連接的週邊設備為網卡108_4。透過網卡108_4,電腦系統100經網路110與遠端電腦系統112通訊。值得注意的是,本發明不限於上述連接埠所連結之週邊設備108_1~108_4的類型,例如PCIe介面亦可通過轉接卡連結SATA介面週邊裝置或NVMe介面週邊裝置,並不局限於第1圖所示的網卡108_4。
特別是,晶片組106除了具有一流量控制模組(Traffic Control Module)120,更內建一近資料端處理(Near Data Processing,簡稱NDP)引擎122。流量控制模組(Traffic Control Module)120除了提供傳統的週邊-核心(peripheral and core)與週邊-系統記憶體(peripheral and DRAM)流量控制,更提供導向近資料端處理引擎122的流量控制。流量控制模組120將辨識是否使用該近資料端處理引擎122。近資料端處理引擎122用於實現一檔案系統(file system)、或數據庫加速(acceleration of database)、或應付遠端電腦系統112發出的遠 端直接記憶體存取(Remote Direct Memory Access,簡稱RDMA)封包。
如第1圖所示,流量控制模組120可以一表格124詳列各連接埠SATA、NVMe1、NVMe2、PCIe所連結之週邊裝置108_1...108_4是否需要該近資料端處理引擎122協同運作。該表格124可由該電腦系統100的驅動程式(driver)填寫。”常設”模式代表不使用該近資料端處理引擎122。”NDP”模式代表使用該近資料端處理引擎122。圖例之表格124顯示SATA儲存裝置108_1為”常設”模式,且NVMe儲存裝置108_2與108_3以及PCIe網卡108_4為”NDP”模式。設置於中央處理單元102以及連接埠(包括SATA、NVMe1、NVMe2、PCIe)之間的流量控制模組120係根據表格124導引信號。
在下行傳輸區間(downstream cycle),中央處理單元102發出信號,以操作輸入輸出端(I/O)的目標週邊裝置。流量控制模組120將比對表格124。若目標週邊裝置為”NDP”模式,流量控制模組120會將中央處理單元102提供的信號導向該近資料端處理引擎122。待該近資料端處理引擎122完成信號處理後,將處理後的信號(或數據)發送至流量控制模組120,流量控制模組120判斷到接收到的信號的來源(source)為該近資料端處理引擎122時,略過比對表格124,根據信號中所包含的最初的目的地(destination)將其發送至對應的目標週邊裝置。反之,流量控制模組120比對表格124時若目標週邊裝置標註為”常設”模式,流量控制模組120會將中央處理單元102提供的信號不經該近資料端處理引擎122導向該目標週邊裝置。
在上行傳輸區間(upstream cycle),信號是源自輸入輸出端(I/O)的來源週邊裝置。流量控制模組120將比對表格124。若來源週邊裝置為”NDP”模式,流量控制模組120會將來源週邊裝置提供的信號導向該近資料端處理引擎122。待該近資料端處理引擎122完成信號處理後,將處理後的信號(或數據)發送至流量控制模組120,流量控制模組120判斷到接收到的信號的來源(source)為該近資料端處理引擎122時,略過比對表格124,根據信號中所包含的最初的目的地(destination)將其發送至對應的目的地(中央處理單元102或其他週邊裝置)。反之,流量控制模組120比對表格124時若來源週邊裝置為”常設”模式,流量控制模組120會將來源週邊裝置提供的信號不經該近資料端處理引擎122導向中央處理單元102或其他週邊裝置。
第1圖實施例更顯示近資料端處理引擎122具有一處理器(processor)126、一數據緩衝器(data buffer)128、一快取一致性介面(Cache-Coherent Interface)130、一樣式比對模塊(Pattern Matching Module)132、以及一資料壓縮器134。以下將列舉實施方式說明該近資料端處理引擎122各模塊的功能。
第2圖為流程圖,參考第1圖說明該近資料端處理引擎122實現一檔案系統(file system)的一種實施方式。電腦系統100是以檔案方式管理例如儲存裝置108_2與108_3內容。關於中央處理單元102指示的檔案操作(file operations),步驟S202是以流量控制模組120接收,並據以查詢表格124,獲知目標之週邊裝置為”NDP”模式。步驟S204繼而以近資料端處理引擎122實現檔案系統(file system)。在一實施例中,流量控制模 組120將檔案操作(file operations)暫置於數據緩衝器128。處理器126經快取一致性介面130自數據緩衝器128取得檔案操作(file operations),將之轉換為輸入輸出埠指令(I/O commands)後回存該數據緩衝器128。步驟S206,流量控制模組120接收来自數據緩衝器128的輸入輸出埠指令(I/O commands)。步驟S208,流量控制模組120將輸入輸出埠指令(I/O commands)導向目標之週邊裝置,並接收目標之週邊裝置的回應(可為原始數據(raw data))。步驟S210再次以近資料端處理引擎122實現檔案系統(file system)。在一實施例中,流量控制模組120將目標之週邊裝置之回應置於數據緩衝器128,由處理器126經快取一致性介面130取出並轉換為檔案資料回存到該數據緩衝器128。步驟S212,流量控制模組120接收來自數據緩衝器128的檔案資料。步驟S214,流量控制模組120將檔案資料導向中央處理單元102。一種實施方式中,流量控制模組120是以動態隨機存取記憶體(DRAM)控制器140為檔案資料目的地,以更暫存至DRAM 104。
晶片組106提供的近資料端處理引擎122所實現的檔案系統(file system)有效降低中央處理單元102運算負擔。中央處理單元102僅需單純以檔案為單位指示檔案操作(file operations),無須進行耗費資源的檔案系統(file system)運算。
一種實施方式中,中央處理單元102是呈虛擬檔案系統(virtual file system,簡稱VFS)。如此一來,近資料端處理引擎122可實現任何實體檔案系統。近資料端處理引擎122負責將虛擬檔案系統指令(VFS commands)轉換為檔案系統管理指 令(file system management commands)之後,再轉換為區塊輸入輸出埠指令(block I/O commands)。
中央處理單元102端的虛擬檔案系統指令(VFS commands)可包括Iseek、read、write、mmap、open、ioctl...等。近資料端處理引擎122可由ARM架構嵌入式系統的Etx4fs技術實現。輸入輸出端的區塊輸入輸出埠指令(block I/O commands)可包括create、lookup、link、readpage、mknod...等。
第3圖為流程圖,參考第1圖說明該近資料端處理引擎122加速數據庫的一種實施方式。例如,電腦系統100用於實現一數據中心。中央處理單元102發出的係數據庫要求(database requests)-如:空間配置create_namespace、空間移除remove_namespace、查詢get(namespace_id,key),儲存put(namespace_ids,keys,values,lengths)...等。至於數據庫要求至輸入輸出埠指令(I/O commands)的轉換則是由近資料端處理引擎122負責,數據庫操作因而加速。以下以查詢get要求為例進行說明。
步驟S302令流量控制模組120接收中央處理單元102提出的數據庫查詢要求get,並查詢表格124獲知是”NDP”模式裝置的數據查詢。步驟S304以近資料端處理引擎122實現數據庫加速。在一實施例中,流量控制模組120將數據庫查詢要求get置於數據緩衝器128。經快取一致性介面130,處理器126自數據緩衝器128取出數據庫查詢要求get、並辨識出欲查詢的固態硬碟以轉換出對應的輸入輸出埠指令(I/O commands)回存到該數據緩衝器128。步驟S306,流量控制模組120接收來 自數據緩衝器128的輸入輸出埠指令(I/O commands)。步驟S308,流量控制模組120將輸入輸出埠指令(I/O commands)導向至目標之固態硬碟,使目標之固態硬碟提供查詢內容並回傳到流量控制模組120。步驟S310再次以近資料端處理引擎122加速數據庫。在一實施例中,流量控制模組120將查詢內容置於數據緩衝器128。經快取一致性介面130,處理器126自數據緩衝器128取出查詢內容、並轉換為中央處理單元102相容的格式回存到該數據緩衝器128。流量控制模組120以步驟S312接收來自數據緩衝器128的轉換完成的查詢內容,再將之以步驟S314導向中央處理單元102。一種實施方式中,流量控制模組120是以動態隨機存取記憶體(DRAM)控制器140為數據目的地,以更暫存至DRAM 104。
晶片組106的近資料端處理引擎122實現的數據庫加速有效減輕中央處理單元102運算負擔,也無須對數據端裝置有特別改動。晶片組106具有高相容性。
第4圖為流程圖,參考第1圖說明該近資料端處理引擎122如何應付遠方電腦系統112傳來的遠端直接記憶體存取(Remote Direct Memory Access,簡稱RDMA)封包。該RDMA封包是經”NDP”模式的網卡108_4從網路110接收並輸入該電腦系統100。該RDMA封包的存取對象為電腦系統100裝配的本地記憶體,如皆是”NDP”模式的儲存裝置108_2或108_3(此處為固態硬碟SSD)。以下討論遠端讀取操作。
步驟S402令流量控制模組120接收網卡108_4上傳的RDMA封包,並查詢表格124獲知網卡108_4係”NDP”模式。 步驟S404繼而以近資料端處理引擎122實現遠端直接記憶體存取(RDMA)。在一實施例中,流量控制模組120將RDMA封包置於數據緩衝器128。經該快取一致性介面130,樣式比對模塊132辨識該數據緩衝器128內容確實為RDMA封包,並辨識出係要求讀取同為”NDP”模式的本地固態硬碟108_2(例如,檢查RDMA封包內的Hash值)。經該快取一致性介面130,處理器126自數據緩衝器128取得並轉換該RDMA封包為操作固態硬碟的NVMe指令,將之回存數據緩衝器128。步驟S406,流量控制模組120接收來自數據緩衝器128的NVMe指令。步驟S408,流量控制模組120將NVMe指令導向固態硬碟108_2,使固態硬碟108_2提供要求內容並回傳到流量控制模組120。值得注意的是,NVMe指令自身包含字段標示其目的地(destination)為固態硬碟108_2,流量控制模組120可根據該字段將其導向正確的目的地。步驟S410再次以近資料端處理引擎122實現遠端直接記憶體存取(RDMA)。在一實施例中,流量控制模組120將要求內容置於數據緩衝器128。經快取一致性介面130,處理器126自數據緩衝器128取出要求內容、並包裝為數據封包後回存到該數據緩衝器128。流量控制模組120以步驟S412接收來自數據緩衝器128的數據封包,再將之以步驟S414傳遞網卡108_4,經網路110供應給遠端電腦系統112。
晶片組106提供的近資料端處理引擎122確實在電腦系統100以及遠端電腦系統112之間實現遠端直接記憶體存取(RDMA)。中央處理單元102無介入固態記憶體108_2以及遠端電腦系統112之間的數據交流中。
值得注意的是,倘若樣式比對模塊132判斷網卡108_4傳來的非RDMA封包,則流量控制模組120會改將網卡108_4提供的該個封包導向中央處理單元102處理。
另外,倘若判斷網卡108_4傳來的RDMA封包要求存取目標並非本地記憶體108_2或108_3,樣式比對模塊132會形成一回傳封包標記存取目標,經快取一致性介面130將該回傳封包存入數據緩衝器128。處理器126將該回傳封包發送至流量控制模組120,並經由該流量控制模組120交由該網卡108_4根據標記經網路110發送到正確目標。例如,樣式比對模塊132在判斷RDMA封包要求存取一第三端(非由電腦系統100管理、也非遠端電腦系統112)之週邊裝置時,會形成一回傳封包標記該第三端,經快取一致性介面130將該回傳封包存入數據緩衝器128。處理器126將該回傳封包發送至流量控制模組120,並經由該流量控制模組120交由該網卡108_4根據該第三端標記經網路110發送到第三端。
近資料端處理引擎122的資料壓縮器134係選用模塊,利用快取一致性介面130與處理器126以及數據緩衝器128通訊,實現目標週邊裝置的數據壓縮亦或可實現對中央處理單元102所下達之指令或操作的解壓縮。近資料端處理引擎122可更添加加解密(encryption and decryption)模塊(未標示在圖中),利用快取一致性介面130與處理器126以及數據緩衝器128通訊,實現目標週邊裝置的數據加解密亦或可實現對中央處理單元102所下達之指令或操作或回傳的回應或數據的加解密。
雖然本發明已以較佳實施例揭露如上,然其並非 用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
Claims (20)
- 一種晶片組,包括:一近資料端處理引擎;以及一流量控制模組,將該晶片組所接收之關於連接該晶片組的一週邊裝置的一操作要求導向該近資料端處理引擎,其中該近資料端處理引擎進行指令轉換,以產生一輸入輸出埠指令,操作該週邊裝置,其中:該近資料端處理引擎包括一數據緩衝器以及一處理器;該流量控制模組是將該晶片組接收到的該操作要求置於該數據緩衝器,該處理器將該操作要求轉換為上述輸入輸出埠指令後發送至該流量控制模組,由該流量控制模組導向該週邊裝置。
- 如申請專利範圍第1項所述之晶片組,其中:該近資料端處理引擎用作檔案系統;且該流量控制模組將一中央處理單元下達的一檔案操作置於該數據緩衝器,該處理器將該檔案操作轉換為上述輸入輸出埠指令後發送至該流量控制模組,由該流量控制模組導向該週邊裝置。
- 如申請專利範圍第2項所述之晶片組,其中:該流量控制模組將上述輸入輸出埠指令導向該週邊裝置後,更將該週邊裝置的回應存入該數據緩衝器,待由該處理器轉換為檔案資料後,導向該中央處理單元。
- 如申請專利範圍第2項所述之晶片組,其中: 該中央處理單元係發出虛擬檔案系統指令至該晶片組;且該流量控制模組將上述虛擬檔案系統指令交由該近資料端處理引擎轉換為檔案系統管理指令後,再轉換為區塊輸入輸出埠指令。
- 如申請專利範圍第1項所述之晶片組,其中:該近資料端處理引擎用作數據庫加速;且該流量控制模組將一中央處理單元下達的一數據庫要求置於該數據緩衝器,該處理器將該檔案操作轉換為上述輸入輸出埠指令後發送至該流量控制模組,由該流量控制模組導向該週邊裝置。
- 如申請專利範圍第5項所述之晶片組,其中:該流量控制模組將上述輸入輸出埠指令導向該週邊裝置後,更將該週邊裝置的回應存入該數據緩衝器,待由該處理器轉換呈該中央處理單元的一相容格式後,導向該中央處理單元。
- 如申請專利範圍第1項所述之晶片組,其中:該近資料處理引擎更包括一樣式比對模塊,使該近資料端處理引擎應付一遠方電腦系統傳來的一遠端直接記憶體存取封包。
- 如申請專利範圍第7項所述之晶片組,其中:該流量控制模組將該遠端直接記憶體存取封包置於該數據緩衝器,由該樣式比對模塊辨識出係要求操作該週邊裝置、且由該處理器轉換為上述輸入輸出埠指令後,導向該週邊裝置。
- 如申請專利範圍第8項所述之晶片組,其中:該流量控制模組將上述輸入輸出埠指令導向該週邊裝置後,更將該週邊裝置的回應存入該數據緩衝器,待由該處理器包裝為數據封包後,導向該遠方電腦系統。
- 如申請專利範圍第7項所述之晶片組,其中:該流量控制模組將該遠端直接記憶體存取封包置於該數據緩衝器,由該樣式比對模塊辨識;該樣式比對模塊辨識出該遠端直接記憶體存取封包要求操作一第三端之週邊裝置時,形成一回傳封包標記該第三端、並儲存該回傳封包於該數據緩衝器;且該處理器將該回傳封包發送至該流量控制模組、並經由該流量控制模組導向該第三端。
- 如申請專利範圍第7項所述之晶片組,其中:該流量控制模組將該遠端電腦裝置所傳來的一遠端封包置於該數據緩衝器,由該樣式比對模塊辨識;該樣式比對模塊辨識出該遠端封包非上述遠端直接記憶體存取封包時,由該流量控制模組將該遠端封包導向一中央處理單元。
- 如申請專利範圍第1項所述之晶片組,其中:該近資料處理引擎更包括一快取一致性介面;且該處理器係經該快取一致性介面存取該數據緩衝器。
- 如申請專利範圍第12項所述之晶片組,其中:該近資料處理引擎更包括一資料壓縮器,壓縮該週邊裝置之數據;且 該處理器係經該快取一致性介面操作該資料壓縮器。
- 如申請專利範圍第12項所述之晶片組,其中:該近資料處理引擎更包括一加解密模塊,加解密該週邊裝置之數據;且該處理器係經該快取一致性介面操作該加解密模塊。
- 如申請專利範圍第1項所述之晶片組,其中:該流量控制模組除了提供導向該近資料端處理引擎的流量控制,更提供一”常設”模式週邊裝置與一中央處理單元之間不經過該近資料端處理引擎的流量控制。
- 如申請專利範圍第15項所述之晶片組,其中:該流量控制模組包括一表格,標示該週邊裝置的模式;且該流量控制模組在接收到上述操作要求時,更查詢該表格,當確認上述操作要求指示的該週邊裝置為一”近資料端處理”模式時,將上述操作要求導向該近資料端處理引擎。
- 如申請專利範圍第16項所述之晶片組,其中:該流量控制模組更將該週邊裝置的回應導向該近資料端處理引擎處理。
- 如申請專利範圍第15項所述之晶片組,其中:該流量控制模組包括一表格,標示該晶片組連接的一網卡的模式,且上述操作要求是由該網卡傳遞給該晶片組;且該流量控制模組在接收到上述操作要求時,更查詢該表格,當確認傳遞上述操作要求的該網卡為一”近資料端處理”模式時,將上述操作要求導向該近資料端處理引擎。
- 如申請專利範圍第18項所述之晶片組,其中: 該流量控制模組更將該週邊裝置的回應導向該近資料端處理引擎處理。
- 如申請專利範圍第1項所述之晶片組,其中:該週邊裝置係儲存裝置,採用的是高速非揮發式記憶體介面NVMe;且上述輸入輸出埠指令為NVMe指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??201710516312.1 | 2017-06-29 | ||
CN201710516312.1A CN107341130B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI637267B TWI637267B (zh) | 2018-10-01 |
TW201905710A true TW201905710A (zh) | 2019-02-01 |
Family
ID=60217882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106129303A TWI637267B (zh) | 2017-06-29 | 2017-08-29 | 具近資料端處理引擎的晶片組 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10678717B2 (zh) |
CN (2) | CN107341131B (zh) |
TW (1) | TWI637267B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10884672B2 (en) * | 2018-04-02 | 2021-01-05 | Samsung Electronics Co., Ltd. | NDP-server: a data-centric computing architecture based on storage server in data center |
US11119928B2 (en) * | 2019-02-27 | 2021-09-14 | International Business Machines Corporation | Instant quiescing of an accelerator |
CN112399524A (zh) * | 2019-08-13 | 2021-02-23 | 苹果公司 | 连接模式下的系统信息请求和获取 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020097416A1 (en) | 2001-01-19 | 2002-07-25 | Chang William Ho | Output controller processor for universal data output |
US6996642B2 (en) * | 2002-04-02 | 2006-02-07 | International Business Machines Corporation | Adapter, converted data storage device and method of operation of a converted data storage device |
JP2004062468A (ja) * | 2002-07-26 | 2004-02-26 | Renesas Technology Corp | Dsrc車載器 |
US7188219B2 (en) | 2004-01-30 | 2007-03-06 | Micron Technology, Inc. | Buffer control system and method for a memory system having outstanding read and write request buffers |
TWI251745B (en) * | 2004-07-27 | 2006-03-21 | Via Tech Inc | Apparatus and related method for calculating parity of redundant array of inexpensive disks |
US20080263254A1 (en) * | 2007-04-20 | 2008-10-23 | Via Technologies, Inc. | Method and System For Adjusting Bus Frequency And Link Width On A Bus |
CN101882084B (zh) * | 2009-05-08 | 2013-04-24 | 英业达股份有限公司 | 基本输入输出系统的数据处理装置 |
CN101841566B (zh) * | 2010-04-01 | 2013-12-18 | 中兴通讯股份有限公司南京分公司 | 一种网络存储目标端驱动系统和方法 |
US8923892B2 (en) * | 2010-05-14 | 2014-12-30 | Qualcomm Incorporated | Method and apparatus for updating femtocell proximity information |
US20150121003A1 (en) * | 2010-09-07 | 2015-04-30 | Daniel L. Rosenband | Storage controllers |
WO2012103245A2 (en) | 2011-01-27 | 2012-08-02 | Soft Machines Inc. | Guest instruction block with near branching and far branching sequence construction to native instruction block |
US8984228B2 (en) * | 2011-12-13 | 2015-03-17 | Intel Corporation | Providing common caching agent for core and integrated input/output (IO) module |
KR20130070251A (ko) * | 2011-12-19 | 2013-06-27 | 에스케이하이닉스 주식회사 | 브릿지 칩셋 및 그것을 포함하는 데이터 저장 시스템 |
TWI497306B (zh) * | 2012-11-29 | 2015-08-21 | Faraday Tech Corp | 超高速通用序列匯流排集線器及其相關流量管理方法 |
US9176911B2 (en) * | 2012-12-11 | 2015-11-03 | Intel Corporation | Explicit flow control for implicit memory registration |
GB2519140B (en) * | 2013-10-11 | 2021-03-10 | Advanced Risc Mach Ltd | Cumulative error detection in data transmission |
CN103902486B (zh) * | 2014-04-08 | 2017-02-22 | 华为技术有限公司 | 一种远端直接内存访问实现方法、装置及系统 |
US9396065B2 (en) | 2014-06-25 | 2016-07-19 | Intel Corporation | Extensible memory hub |
US9910786B2 (en) * | 2015-11-03 | 2018-03-06 | Intel Corporation | Efficient redundant array of independent disks (RAID) write hole solutions |
US20170155717A1 (en) * | 2015-11-30 | 2017-06-01 | Intel Corporation | Direct memory access for endpoint devices |
CN113407244A (zh) | 2016-03-01 | 2021-09-17 | 华为技术有限公司 | 一种级联板、ssd远程共享访问的系统和方法 |
-
2017
- 2017-06-29 CN CN201710526692.7A patent/CN107341131B/zh active Active
- 2017-06-29 CN CN201710516312.1A patent/CN107341130B/zh active Active
- 2017-08-29 TW TW106129303A patent/TWI637267B/zh active
- 2017-10-30 US US15/797,490 patent/US10678717B2/en active Active
- 2017-10-30 US US15/797,681 patent/US10521370B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN107341130B (zh) | 2020-11-17 |
CN107341131B (zh) | 2021-02-09 |
CN107341131A (zh) | 2017-11-10 |
US10521370B2 (en) | 2019-12-31 |
US10678717B2 (en) | 2020-06-09 |
CN107341130A (zh) | 2017-11-10 |
TWI637267B (zh) | 2018-10-01 |
US20190004992A1 (en) | 2019-01-03 |
US20190004981A1 (en) | 2019-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755527B2 (en) | Techniques for command validation for access to a storage device by a remote client | |
US11929927B2 (en) | Network interface for data transport in heterogeneous computing environments | |
JP6046140B2 (ja) | デバイス通信チャネルパケットのためのデータ変更 | |
US9558146B2 (en) | IWARP RDMA read extensions | |
US10083131B2 (en) | Generating and/or employing a descriptor associated with a memory translation table | |
WO2022126919A1 (zh) | 文件传输方法、装置、计算机设备及存储介质 | |
TWI637267B (zh) | 具近資料端處理引擎的晶片組 | |
WO2017114091A1 (zh) | 一种nas数据访问的方法、系统及相关设备 | |
WO2019129167A1 (zh) | 一种处理数据报文的方法和网卡 | |
WO2020029254A1 (zh) | 一种SoC芯片及总线访问控制方法 | |
WO2014086219A1 (zh) | 一种基于外设部件互联总线的内容查找芯片及系统 | |
WO2022161182A1 (zh) | 基于数据流的可信计算的方法及装置 | |
US11281602B1 (en) | System and method to pipeline, compound, and chain multiple data transfer and offload operations in a smart data accelerator interface device | |
CN105491082A (zh) | 远程资源访问方法和交换设备 | |
US20220114030A1 (en) | Initiator-side offload for scale-out storage | |
CN116070239A (zh) | 文件加密、解密方法、装置、设备及存储介质 | |
US8868674B2 (en) | Streaming and bulk data transfer transformation with context switching | |
US11601515B2 (en) | System and method to offload point to multipoint transmissions | |
WO2019061271A1 (zh) | 一种数据加密的加速方法和系统 | |
US11422963B2 (en) | System and method to handle uncompressible data with a compression accelerator | |
US20230418697A1 (en) | Data transmission system and related device | |
US20240128982A1 (en) | Hardware acceleration of data reduction operations | |
TWI788682B (zh) | 透過第三方區塊鏈進行保單存證與驗證之系統及方法 | |
EP3804244B1 (en) | Systems and methods for transport layer processing of server message block protocol messages | |
JP2022165569A (ja) | メモリシステム、メモリデバイス、およびデータ送信方法 |