CN107341130B - 具有近端数据处理引擎的芯片组 - Google Patents
具有近端数据处理引擎的芯片组 Download PDFInfo
- Publication number
- CN107341130B CN107341130B CN201710516312.1A CN201710516312A CN107341130B CN 107341130 B CN107341130 B CN 107341130B CN 201710516312 A CN201710516312 A CN 201710516312A CN 107341130 B CN107341130 B CN 107341130B
- Authority
- CN
- China
- Prior art keywords
- control module
- flow control
- chipset
- data processing
- processing engine
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- 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
- 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
- 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)引擎,使数据端产品的设计简单,避免兼容性问题。
根据本发明一种实施方式实现的芯片组包括近端数据处理引擎以及流量控制模块。该流量控制模块,将该芯片组所接收的关于连接该芯片组的外围设备的操作要求导向该近端数据处理引擎,其中该近端数据处理引擎进行指令转换,以产生输入输出端口指令,操作该外围设备。该近端数据处理引擎包括数据缓冲器以及处理器。该流量控制模块是将该芯片组接收到的该操作要求置于该数据缓冲器,该处理器将该操作要求转换为上述输入输出端口指令后发送至该流量控制模块,由该流量控制模块导向该外围设备。
上述近端数据处理引擎可用于实现文件系统、或数据库加速、或应付远程直接存储器存取封包。
下文特举实施例,并配合所附图示,详细说明本发明内容。
附图说明
图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 TechnologyAttachment,简称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。流量控制模块(TrafficControl 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完成中央处理单元102提供的信号处理后,将处理后的信号(或数据)发送至流量控制模块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将文件操作(fileoperations)暂置于数据缓冲器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 systemmanagement 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发出的是数据库要求(databaserequests)─如:空间配置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/Ocommands)。步骤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.根据权利要求1所述的芯片组,其特征在于:
该近端数据处理引擎用于文件系统;以及
该流量控制模块将中央处理单元发出的文件操作置于该数据缓冲器,该处理器将该文件操作转换为上述输入输出端口指令后发送至该流量控制模块,由该流量控制模块导向该外围设备。
3.根据权利要求2所述的芯片组,其特征在于:
该流量控制模块将上述输入输出端口指令导向该外围设备后,将该外围设备的响应存入该数据缓冲器,待由该处理器转换为文件数据后,导向该中央处理单元。
4.根据权利要求2所述的芯片组,其特征在于:
该中央处理单元发出虚拟文件系统指令至该芯片组;以及
该流量控制模块将上述虚拟文件系统指令交由该近端数据处理引擎转换为文件系统管理指令后,再转换为区块输入输出端口指令。
5.根据权利要求2所述的芯片组,其特征在于:
该近端数据处理引擎用于数据库加速;以及
该流量控制模块将中央处理单元发出的数据库要求置于该数据缓冲器,该处理器将该文件操作转换为上述输入输出端口指令后发送至该流量控制模块,由该流量控制模块导向该外围设备。
6.根据权利要求5所述的芯片组,其特征在于:
该流量控制模块将上述输入输出端口指令导向该外围设备后,将该外围设备的响应存入该数据缓冲器,当由该处理器转换成该中央处理单元的兼容格式后,导向该中央处理单元。
7.根据权利要求1所述的芯片组,其特征在于:
该近端数据处理引擎还包括样式比对模块,使该近端数据处理引擎处理远程计算机系统传送的远程直接存储器存取封包。
8.根据权利要求7所述的芯片组,其特征在于:
该流量控制模块将该远程直接存储器存取封包置于该数据缓冲器,由该样式比对模块判断是否要求操作该外围设备、且由该处理器转换为上述输入输出端口指令后,导向该外围设备。
9.根据权利要求8所述的芯片组,其特征在于:
该流量控制模块将上述输入输出端口指令导向该外围设备后,将该外围设备的响应存入该数据缓冲器,当由该处理器包装为数据封包后,导向该远程计算机系统。
10.根据权利要求7所述的芯片组,其特征在于:
该流量控制模块将该远程直接存储器存取封包置于该数据缓冲器,由该样式比对模块辨识;
该样式比对模块辨识出该远程直接存储器存取封包要求操作第三端的外围设备时,形成回传封包标记该第三端、并储存该回传封包于该数据缓冲器;以及
该处理器将该回传封包发送至该流量控制模块、并经由该流量控制模块导向该第三端。
11.根据权利要求7所述的芯片组,其特征在于:
该流量控制模块将该远程计算机系统所传来的远程封包置于该数据缓冲器,由该样式比对模块辨识;以及
该样式比对模块辨识出该远程封包非上述远程直接存储器存取封包时,由该流量控制模块将该远程封包导向中央处理单元。
12.根据权利要求1所述的芯片组,其特征在于:
该近端数据处理引擎包括缓存一致性接口;以及
该处理器经该缓存一致性接口存取该数据缓冲器。
13.根据权利要求12所述的芯片组,其特征在于:
该近端数据处理引擎包括数据压缩器,压缩该外围设备的数据;以及
该处理器经该缓存一致性接口操作该数据压缩器。
14.根据权利要求12所述的芯片组,其特征在于:
该近端数据处理引擎包括加解密模块,加解密该外围设备的数据;以及
该处理器经该缓存一致性接口操作该加解密模块。
15.根据权利要求1所述的芯片组,其特征在于:
该流量控制模块提供导向该近端数据处理引擎的流量控制,以及提供常设模式外围设备与中央处理单元之间不经过该近端数据处理引擎的流量控制。
16.根据权利要求15所述的芯片组,其特征在于:
该流量控制模块包括表格,标示该外围设备的模式;以及
该流量控制模块在接收到上述操作要求时,查询该表格,当确认上述操作要求指示的该外围设备为近端数据处理模式时,将上述操作要求导向该近端数据处理引擎。
17.根据权利要求16所述的芯片组,其特征在于:
该流量控制模块将该外围设备的响应导向该近端数据处理引擎处理。
18.根据权利要求15所述的芯片组,其特征在于:
该流量控制模块包括表格,标示该芯片组连接的网卡的模式,以及上述操作要求是由该网卡传递给该芯片组;以及
该流量控制模块在接收到上述操作要求时,查询该表格,当确认传递上述操作要求的该网卡为近端数据处理模式时,将上述操作要求导向该近端数据处理引擎。
19.根据权利要求18所述的芯片组,其特征在于:
该流量控制模块将该外围设备的响应导向该近端数据处理引擎处理。
20.根据权利要求1所述的芯片组,其特征在于:
该外围设备为储存装置,采用的是高速非挥发式存储器接口;以及
上述输入输出端口指令为高速非挥发式存储器指令。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710526692.7A CN107341131B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
CN201710516312.1A CN107341130B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
TW106129303A TWI637267B (zh) | 2017-06-29 | 2017-08-29 | 具近資料端處理引擎的晶片組 |
US15/797,490 US10678717B2 (en) | 2017-06-29 | 2017-10-30 | Chipset with near-data processing engine |
US15/797,681 US10521370B2 (en) | 2017-06-29 | 2017-10-30 | Chipset with near-data processing engine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710516312.1A CN107341130B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710526692.7A Division CN107341131B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107341130A CN107341130A (zh) | 2017-11-10 |
CN107341130B true CN107341130B (zh) | 2020-11-17 |
Family
ID=60217882
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710516312.1A Active CN107341130B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
CN201710526692.7A Active CN107341131B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710526692.7A Active CN107341131B (zh) | 2017-06-29 | 2017-06-29 | 具有近端数据处理引擎的芯片组 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10678717B2 (zh) |
CN (2) | CN107341130B (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 | 苹果公司 | 连接模式下的系统信息请求和获取 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882084A (zh) * | 2009-05-08 | 2010-11-10 | 英业达股份有限公司 | 基本输入输出系统的数据处理装置 |
CN103853681A (zh) * | 2012-11-29 | 2014-06-11 | 智原科技股份有限公司 | 超高速通用串行总线集线器及其相关流量管理方法 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020099884A1 (en) | 2001-01-19 | 2002-07-25 | Chang William Ho | Output controller systems and method 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 |
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 | 에스케이하이닉스 주식회사 | 브릿지 칩셋 및 그것을 포함하는 데이터 저장 시스템 |
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 CN201710516312.1A patent/CN107341130B/zh active Active
- 2017-06-29 CN CN201710526692.7A patent/CN107341131B/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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882084A (zh) * | 2009-05-08 | 2010-11-10 | 英业达股份有限公司 | 基本输入输出系统的数据处理装置 |
CN103853681A (zh) * | 2012-11-29 | 2014-06-11 | 智原科技股份有限公司 | 超高速通用串行总线集线器及其相关流量管理方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201905710A (zh) | 2019-02-01 |
US10678717B2 (en) | 2020-06-09 |
CN107341131A (zh) | 2017-11-10 |
US20190004981A1 (en) | 2019-01-03 |
TWI637267B (zh) | 2018-10-01 |
CN107341130A (zh) | 2017-11-10 |
US10521370B2 (en) | 2019-12-31 |
CN107341131B (zh) | 2021-02-09 |
US20190004992A1 (en) | 2019-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5220974B2 (ja) | ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法 | |
CN107341130B (zh) | 具有近端数据处理引擎的芯片组 | |
CN111797046B (zh) | PCIe控制器及其数据传输方法 | |
TWI767893B (zh) | 包含多處理器所共享之記憶體的多處理器系統 | |
JP2008197578A (ja) | データ暗号化装置、データ復号化装置、データ暗号化方法、データ復号化方法およびデータ転送制御装置 | |
US7469309B1 (en) | Peer-to-peer data transfer method and apparatus with request limits | |
US20110238869A1 (en) | Autonomous Multi-Packet Transfer for Universal Serial Bus | |
CN110688333A (zh) | 一种基于pcie的dma数据传输系统及方法 | |
KR102395075B1 (ko) | PCIe 장치들에서의 고속 입출력을 위한 스토리지 시스템, 방법 및 장치 | |
JP6021132B2 (ja) | 連続データをパケットにより無線通信する送信装置、受信装置、通信装置、プログラム、送信方法、及び、受信方法 | |
WO2022086772A1 (en) | Programmable atomic operator resource locking | |
CN114547663B (zh) | 基于usb接口的高速芯片实现数据加解密及读取的方法 | |
CN109634901A (zh) | 一种基于uart的数据传输系统及其控制方法 | |
US11960423B2 (en) | PCIe controller and loopback data path using PCIe controller | |
EP1759297B1 (en) | Interrupt scheme for bus controller | |
CN111158936B (zh) | 队列交换信息的方法及系统 | |
CN113422792B (zh) | 数据传输方法、装置、电子设备及计算机存储介质 | |
CN110765044B (zh) | 数据包传输装置及系统 | |
US9535850B1 (en) | System and method for efficient DMA transfers | |
CN109558347B (zh) | PCIe控制器与使用PCIe控制器的密钥更新 | |
CN110737614B (zh) | 具有dma加速器的电子设备及其dma命令处理方法 | |
US20230418697A1 (en) | Data transmission system and related device | |
KR100821276B1 (ko) | 이동 통신 단말의 모뎀 장치 | |
CN113468081A (zh) | 基于ebi总线的串口转udp的装置及方法 | |
JPWO2018101136A1 (ja) | 情報処理システム、半導体集積回路及び情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee after: Shanghai Zhaoxin Semiconductor Co.,Ltd. Address before: Room 301, 2537 Jinke Road, Zhangjiang High Tech Park, Pudong New Area, Shanghai 201203 Patentee before: VIA ALLIANCE SEMICONDUCTOR Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |