CN111600872B - 一种访存合法性检查控制器,芯片及设备 - Google Patents
一种访存合法性检查控制器,芯片及设备 Download PDFInfo
- Publication number
- CN111600872B CN111600872B CN202010403722.7A CN202010403722A CN111600872B CN 111600872 B CN111600872 B CN 111600872B CN 202010403722 A CN202010403722 A CN 202010403722A CN 111600872 B CN111600872 B CN 111600872B
- Authority
- CN
- China
- Prior art keywords
- memory
- bit
- request
- message
- logic
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种访存合法性检查控制器,芯片及设备,本发明的访存合法性检查控制器包括内存注册表、控制与状态寄存器模块、请求调度模块,请求调度模块包括请求栈存逻辑、仲裁请求生成逻辑、访存合法性检测逻辑与公平仲裁器,请求栈存逻辑分别与p个报文发送引擎及q个报文接收引擎相连,仲裁请求生成逻辑分别与请求栈存逻辑、访存合法性检测逻辑、公平仲裁器相连,访存合法性检测逻辑与内存注册表相连。本发明通过在网络接口芯片中实现访存合法性检查控制器,可扩展支持多个外部的请求源,能够在使用较少的硬件资源的情况下,能够显著提高RDMA访存合法性检查的性能并大幅降低了延迟。
Description
技术领域
本发明涉及高性能并行计算机和数据中心的网络接口芯片技术,具体涉及一种访存合法性检查控制器,芯片及设备。
背景技术
在高性能并行计算机与大规模数据中心中,成千上万个节点(微处理器或加速器)之间的通信都是基于网络接口芯片与交换芯片的高速通信协议。为了解决网络传输中各个节点数据处理的延迟,用户级的通信操作已经成为高速通信协议中主要采用的技术途径,最常见的是远程内存直接访问(Remote Direct Memory Access,RDMA)技术,RDMA技术允许用户态的应用程序直接读取或写入远程节点的内存,不需要内核干预以及内存拷贝的发生。RDMA技术的主要思想是通过虚拟化通信硬件的资源,将其直接映射到用户进程地址空间,实现完全用户层的通信操作,在通信的关键路径上旁路操作系统的介入,再结合硬件的可靠性精简通信协议,减少内存拷贝操作,在用户进程缓冲区之间直接进行数据传输,从而实现最优化的通信性能。因此,RDMA技术具备低延迟、高吞吐率、占用CPU资源少等优点。
由于在用户级直接实现了内存访问,绕开了操作系统对内存数据的保护,那么如何保障内存数据的安全性将是RDMA技术的首要问题,因此RDMA中访存合法性检查技术成为亟待解决的关键技术。目前,最常见的访存合法性检查技术是在软件驱动层面实现。采用软件实现访存合法性检查技术的优点是灵活性强,不足之处是性能低、延迟大、占用带宽资源,无法满足硬件大规模RDMA数据传输的需求。因此采用硬件实现访存合法性检查技术是必然的趋势。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种访存合法性检查控制器,芯片及设备,本发明通过在网络接口芯片中实现访存合法性检查控制器(MemoryAceessing Validity Checker,MAVC),可扩展支持多个外部的请求源,能够在使用较少的硬件资源的情况下,能够显著提高RDMA访存合法性检查的性能并大幅降低了延迟。
为了解决上述技术问题,本发明采用的技术方案为:
一种访存合法性检查控制器,包括内存注册表、控制与状态寄存器模块、请求调度模块,所述控制与状态寄存器模块分别与内存注册表的控制端、请求调度模块的输出端以及网络接口芯片的寄存器管理模块相连,所述请求调度模块包括请求栈存逻辑、仲裁请求生成逻辑、访存合法性检测逻辑与公平仲裁器,所述请求栈存逻辑分别与p个报文发送引擎及q个报文接收引擎相连,所述仲裁请求生成逻辑分别与请求栈存逻辑、访存合法性检测逻辑、公平仲裁器相连,所述访存合法性检测逻辑与内存注册表相连。
可选地,所述内存注册表中存储的内存注册表项包含6个位域,每一项内存注册表项的宽度是w位,所述6个位域分别为有效位、读位、写位、密钥、末页地址和首页地址。
可选地,所述内存注册表为随机访问存储器,且该随机访问存储器深度为d、宽度为w位,包含1个读端口和1个写端口;地址位的宽度为m位,且满足m=log2d。
可选地,所述控制与状态寄存器模块用于缓存内存注册报文、发送写入内存注册表的控制信号、以及用于保存FIFO溢出以及访存不合法的地址信息以便寄存器管理模块读取,所述控制与状态寄存器模块中包含用于保存内存注册报文的一组报文寄存器以及输出寄存器,该组报文寄存器为w位且包括读写位、注册表地址、密钥、起始页地址、页面长度5个位域,该输出寄存器用于保存FIFO溢出以及访存不合法的地址信息以便寄存器管理模块读取。
可选地,所述请求栈存逻辑用于将p个报文发送引擎及q个报文接收引擎共计p+q个请求源的请求报文进行栈存后发送到请求到仲裁请求生成逻辑,以及当接收到仲裁请求生成逻辑返回的应答信号后将合法性检查应答发送给对应的报文发送引擎或报文接收引擎。
可选地,所述仲裁请求生成逻辑用于在接收到请求栈存逻辑发送的p+q个请求报文后产生p+q位的仲裁请求发送到公平仲裁器,所述仲裁请求中的每一位对应一个请求源;当接收到公平仲裁器返回的位仲裁应答信号,所述仲裁应答信号表示对应的哪一路请求源被授权,而后将授权的请求源的合法性检查报文发射到访存合法性检测逻辑;当接收到访存合法性检测逻辑返回的检查应答信号后,根据p+q位的授权信号将授权信号为1那位的应答有效信号置为高电平,同时将应答信号返回请求栈存逻辑。
可选地,所述访存合法性检测逻辑用于在接收到仲裁请求生成逻辑发送的合法性检查请求报文后取出第i+j+k+m-1:i+j+k位作为读取内存注册表存储器的地址,同时将读使能信号置为高电平,发送到内存注册表,其中i表示报文访问内存区域的页面长度,j表示报文访问内存区域的起始页地址的宽度,k表示密钥的宽度,m表示地址位的宽度;当内存注册表返回读出的数据后,进行如下的四项比对,第一项比对:取出内存注册表项的最高位,即有效位是否为1;如果为1,表示当前内存区域已注册,内存检查请求合法;否则表示不合法;第二项比对:根据合法性检查报文中作为读写位的最高位,如果最高位为1,表示对内存区域是读操作,同时取出内存注册表项中作为读位的第2j+k+1位,如果为1,表示内存区域允许读操作,那么检查合法,如果为0,那么检查不合法;如果读写位为0,表示对内存区域是写操作,取出内存注册表项的第2j+k位,即写位,如果为1,表示内存区域允许写操作,那么检查合法,如果为0,那么检查不合法;第三项比对:取出内存注册表项中作为密钥的第2j+k-1:2j+k位,与合法性检查报文的第i+j+k-1:i+j位密钥进行比对;如果完全相同,表示内存检查合法;如果存在不一致的位,表示内存检查不合法;第四项比对:取出合法性检查报文的第i-1:0位页面长度域L,第i+j-1:i位起始页地址As;取出内存注册表项的第2j-1:j位末页地址Ah,第j-1:0位首页地址Al;判断是否满足公式:Al≤(As+L)≤Ah,如果满足公式,那么内存检查合法,如果不满足公式,那么内存检查不合法;如果上面四项比对全部通过,表示内存检查报文合法,那么将应答有效位置1,同时将1位的检查结果置1,返回给仲裁请求生成逻辑;如果上面四项比对至少有一项没有通过,表示内存检查报文不合法,那将应答有效位置1,同时将1位的检查结果置0,返回给仲裁请求生成逻辑。
此外,本实施例还提供一种网络接口芯片,包括芯片本体,所述芯片本体中设有p个报文发送引擎、q个报文接收引擎以及寄存器管理模块,所述芯片本体中还设有所述的访存合法性检查控制器。
此外,本实施例还提供一种网络设备,该网络设备包含网络接口芯片,所述网络接口芯片的芯片本体中设有p个报文发送引擎、q个报文接收引擎以及寄存器管理模块,其特征在于,所述芯片本体中还设有所述的访存合法性检查控制器。
和现有技术相比,本发明具有下述优点:本发明通过在网络接口芯片中实现访存合法性检查控制器,该访存合法性检查控制器包括内存注册表、控制与状态寄存器模块、请求调度模块,控制与状态寄存器模块分别与内存注册表的控制端、请求调度模块的输出端以及网络接口芯片的寄存器管理模块相连,请求调度模块包括请求栈存逻辑、仲裁请求生成逻辑、访存合法性检测逻辑与公平仲裁器,请求栈存逻辑分别与p个报文发送引擎及q个报文接收引擎相连,仲裁请求生成逻辑分别与请求栈存逻辑、访存合法性检测逻辑、公平仲裁器相连,访存合法性检测逻辑与内存注册表相连,可扩展支持多个外部的请求源,能够在使用较少的硬件资源的情况下,能够显著提高RDMA访存合法性检查的性能并大幅降低了延迟。
附图说明
图1是本发明实施例中访存合法性检查控制器及其的逻辑结构及接口示意图。
图2是本发明实施例中请求调度模块的逻辑结构示意图。
图3是本发明实施例中访存合法性请求报文的格式。
图4是本发明实施例中内存注册表项的格式。
具体实施方式
如图1和图2所示,本实施例中的访存合法性检查控制器包括内存注册表1、控制与状态寄存器模块2、请求调度模块3,控制与状态寄存器模块2分别与内存注册表1的控制端、请求调度模块3的输出端以及网络接口芯片的寄存器管理模块相连,请求调度模块3包括请求栈存逻辑31、仲裁请求生成逻辑32、访存合法性检测逻辑33与公平仲裁器34,请求栈存逻辑31分别与p个报文发送引擎及q个报文接收引擎相连,仲裁请求生成逻辑32分别与请求栈存逻辑31、访存合法性检测逻辑33、公平仲裁器34相连,访存合法性检测逻辑33与内存注册表1相连。如图1所示,本发明的访存合法性检查控制器与p个报文发送引擎、q个报文接收引擎相连,接收共计p+q组访存合法性检查请求报文,并对相应的请求源返回访存是否合法的应答信号。本发明的访存合法性检查控制器外部与寄存器管理模块相连,访存合法性检查控制器将内部的错误状态信息收集后,发送给网络接口芯片中的寄存器管理模块,并接收寄存器管理模块发送的内存注册报文。
本实施例中访存合法性检查控制器与p个报文发送引擎及q个报文接收引擎相连,接收共计p+q组访存合法性检查请求报文,并对相应的请求源返回访存是否合法的应答信号。在实现RDMA机制的网络接口芯片中,通常在描述符中保存访问内存的地址,要求描述符的所有源端地址合法后才开始发送报文,因此报文发送引擎将描述符中的访存地址发送给访存合法性检查控制器。而对目的端访存地址合法性的检查则因网络接口芯片的不同传输模式而采取不同的检查方法:(1)如果是连接方式传输模式,源节点接口芯片的报文发送引擎将目的端的访存地址信息随连接申请报文发往目的节点,目的节点接口芯片中的报文接收引擎将访存地址发送到访存合法性检查控制器进行检查,并把控制器返回的检查结果放在连接响应报文中发送回源节点,源节点确认目的地址合法后开始发送报文。(2)如果是非连接方式传输模式,则源节点接口芯片把目的端的访存地址信息嵌在RDMA报文中发往目的节点,目的节点接口芯片的报文接收引擎将每一个报文的访存地址都发送到访存合法性检查控制器进行检查,根据控制器返回的检查结果,将访存地址不合法的RDMA报文丢弃。RDMA描述符中通常包含了寻址内存注册表的地址、密钥、读写位、页面地址范围等信息,检查内容包括密钥的比对,读写控制是否合法,地址是否落在合法的地址区间。只有地址合法的RDMA报文数据才读写远程节点的内存,这样可防止未经授权的RDMA操作发生。报文发送引擎与报文接收引擎从RDMA描述符中析取出这些位域,构成发送到访存合法性检查控制器的报文。
如图3所示,访存合法性请求报文由5个位域构成,分别包括读写位、注册表地址、密钥、起始页地址、页面长度。其中读写位的宽度是1位,表示RDMA报文对内存区域是进行读操作还是写操作,“1”表示读操作,“0”表示写操作,或反之。访问注册表地址的宽度是m位,由于内存注册表1的深度为d,因此m=log2d,该m位用于寻址内存注册表1存储体的d项。密钥的宽度为k位,与内存注册表1中的密钥位域进行比较,用于进行身份识别,相同表示合法的访存操作,不同表示非法操作。起始页地址的宽度为j位,表示RDMA报文访问的一片内存区域的起始页地址。而宽度为i位的页面长度表示这片内存区域的长度,即内存区域所包含的页面数。
为防止RDMA访问内存时携带错误地址信息进行非法访存操作,采用内存注册表1保存所有合法的已注册内存信息,以便对RDMA访存的合法性进行检查。内存注册表1与控制与状态寄存器模块2、请求调度模块3相连。如图4所示,本实施例中内存注册表1中存储的内存注册表项包含6个位域,每一项内存注册表项的宽度是w位,6个位域分别为有效位、读位、写位、密钥、末页地址和首页地址。内存注册表1能够保存d项内存注册表项,每一项的宽度是w位,内存注册表项的格式如图4所示,包含6个位域,那么宽度w满足w=(2j+k+2),其中j表示起始页地址的宽度,k表示密钥的宽度。6个位域中,有效位的宽度是1位,表示当前的注册表项是否有效,“1”表示该项内容有效,“0”表示该项内容无效。读位的宽度是1位,表示该表项中给出的内存区域是否可读,为“1”表示该内存区域允许读出,“0”表示该内存区域不可读。写位的宽度是1位,表示该表项中给出的内存区域是否可写,为“1”表示该内存区域允许写入,“0”表示该内存区域不可写。密钥的宽度为k位,由驱动程序定义,与访存合法性请求报文中的密钥位域进行比较,相同表示合法的访存操作,不同表示非法操作。末页面地址的宽度是j位,表示驱动程序所注册的内存区域的最高页面地址。首页地址的宽度是j位,表示驱动程序所注册的内存区域的最低页面地址。本实施例中,内存注册表1为随机访问存储器(Random Access Memory,RAM),且该随机访问存储器深度为d、宽度为w位,包含1个读端口和1个写端口;地址位的宽度为m位,且满足m=log2d。
内存注册表1读取时,当接收到请求调度模块3发送的读表项请求后,判断读使能信号为高电平,根据读地址信号寻址存储器,对应行的数据输出,返回到请求调度模块3。内存注册表1写入时,首先由驱动程序通过寄存器管理模块发送注册报文,再由控制与状态寄存器模块2完成操作。控制与状态寄存器模块2中设置了一组寄存器,宽度为w位,用于保存内存注册报文,而后发送写入内存注册表1的控制信号。控制与状态寄存器模块2还有一组寄存器用于保存FIFO溢出以及访存不合法的地址信息,驱动程序通过寄存器管理模块读取这些寄存器的内容。
内存注册表1的写入操作通过写控制与状态寄存器模块2内部寄存器的方式,将内存注册表1项的内容逐项写入。由于内部寄存器的宽度w位,而内存注册表1每项的宽度也是w位,因此每次写入操作,需要写2个寄存器,分别为更新数据寄存器R0与更新控制寄存器R1。更新数据寄存器的地址为Addr0,保存待写入的注册表项内容,其格式如图3所示;更新控制寄存器的地址为Addr1,内容包括待写表项的地址、以及数据和地址是否就绪的标识位。
写入操作分为四个步骤:
第一步,写地址为Addr0的寄存器,内容为待写入的表项,其格式如图4所示;
第二步,写地址为Addr1的寄存器,内容为待写表项的地址、以及数据和地址是否就绪的标识位,其中第(m-1):0位,共计m位是待写表项的地址,第m位是数据和地址是否就绪的标识位,该位此时写1;
第三步,控制与状态寄存器模块2根据更新控制寄存器的第m位产生写使能信号,第(m-1):0位产生写地址信号,根据更新数据寄存器产生写数据信号,发送到内存注册表1;
第四步,内存注册表1接收到写使能、写地址与写数据信号后,通过RAM存储器的写端口,将表项写入。
本实施例中,控制与状态寄存器模块2用于缓存内存注册报文、发送写入内存注册表1的控制信号、以及用于保存FIFO溢出以及访存不合法的地址信息以便寄存器管理模块读取,控制与状态寄存器模块2中包含用于保存内存注册报文的一组报文寄存器以及输出寄存器,该组报文寄存器为w位且包括读写位、注册表地址、密钥、起始页地址、页面长度5个位域,该输出寄存器用于保存FIFO溢出以及访存不合法的地址信息以便寄存器管理模块读取。
请求调度模块3包含请求栈存逻辑31、仲裁请求生成逻辑32、访存合法性检测逻辑33与公平仲裁器34共4个子模块。请求栈存逻辑31与仲裁请求逻辑、外部的p个报文发送引擎以及q个报文接收引擎相连。请求栈存逻辑31将共计p+q个请求源的请求报文进行栈存,而后发送到请求到仲裁请求生成逻辑32。请求报文格式如图3所示,包括读写位、注册表地址、密钥、起始页地址、页面长度5个域。当接收到仲裁请求生成逻辑32返回的应答信号后,将合法性检查应答发送给对应的外部报文发送或接收引擎。每一组应答信号为2位,其中1位表示有效信号,为高电平时表示当前应答有效;另一位表示访存是否合法信号,为高电平表示合法,低电平表示不合法,或反之。
本实施例中,请求栈存逻辑31用于将p个报文发送引擎及q个报文接收引擎共计p+q个请求源的请求报文进行栈存后发送到请求到仲裁请求生成逻辑32,以及当接收到仲裁请求生成逻辑32返回的应答信号后将合法性检查应答发送给对应的报文发送引擎或报文接收引擎。
本实施例中,仲裁请求生成逻辑32用于在接收到请求栈存逻辑31发送的p+q个请求报文后产生p+q位的仲裁请求发送到公平仲裁器34,仲裁请求中的每一位对应一个请求源;当接收到公平仲裁器34返回的位仲裁应答信号,仲裁应答信号表示对应的哪一路请求源被授权,而后将授权的请求源的合法性检查报文发射到访存合法性检测逻辑33;当接收到访存合法性检测逻辑33返回的检查应答信号后,根据p+q位的授权信号将授权信号为1那位的应答有效信号置为高电平,同时将应答信号返回请求栈存逻辑31。
本实施例中,访存合法性检测逻辑33用于在接收到仲裁请求生成逻辑32发送的合法性检查请求报文后取出第i+j+k+m-1:i+j+k位作为读取内存注册表1存储器的地址,同时将读使能信号置为高电平,发送到内存注册表1,其中i表示报文访问内存区域的页面长度,j表示报文访问内存区域的起始页地址的宽度,k表示密钥的宽度,m表示地址位的宽度;当内存注册表1返回读出的数据后,进行如下的四项比对:
第一项比对:取出内存注册表1项的最高位,即有效位是否为1;如果为1,表示当前内存区域已注册,内存检查请求合法;否则表示不合法;
第二项比对:根据合法性检查报文中作为读写位的最高位,如果最高位为1,表示对内存区域是读操作,同时取出内存注册表1项中作为读位的第2j+k+1位,如果为1,表示内存区域允许读操作,那么检查合法,如果为0,那么检查不合法;如果读写位为0,表示对内存区域是写操作,取出内存注册表1项的第2j+k位,即写位,如果为1,表示内存区域允许写操作,那么检查合法,如果为0,那么检查不合法;
第三项比对:取出内存注册表1项中作为密钥的第2j+k-1:2j+k位,与合法性检查报文的第i+j+k-1:i+j位密钥进行比对;如果完全相同,表示内存检查合法;如果存在不一致的位,表示内存检查不合法;
第四项比对:取出合法性检查报文的第i-1:0位页面长度域L,第i+j-1:i位起始页地址As;取出内存注册表1项的第2j-1:j位末页地址Ah,第j-1:0位首页地址Al;判断是否满足公式:Al≤(As+L)≤Ah,如果满足公式,那么内存检查合法,如果不满足公式,那么内存检查不合法;
如果上面四项比对全部通过,表示内存检查报文合法,那么将应答有效位置1,同时将1位的检查结果置1,返回给仲裁请求生成逻辑32;如果上面四项比对至少有一项没有通过,表示内存检查报文不合法,那将应答有效位置1,同时将1位的检查结果置0,返回给仲裁请求生成逻辑32。
本实施例中,公平仲裁器34用于接收到仲裁请求生成逻辑32发送的p+q位仲裁请求信号后通过公平的轮转调度策略从中选出第r个授权、将r编码为二进制,产生位的仲裁应答信号,发送给仲裁请求生成逻辑32。本实施例中公平的轮转调度策略采用公平的轮转(Round-Robin)调度仲裁算法,其特点是公平、不会出现死锁和“饿死”现象。
综上所述,本实施例的访存合法性检查控制器提供了一种提供了硬件实现的访存合法性检查的方案,通过在网络接口芯片中实现访存合法性检查控制器,可扩展支持多个外部的请求源,并能够在使用较少的硬件资源的情况下,显著提高RDMA访存合法性检查的性能,能够大幅降低延迟。
此外,本实施例还提供一种网络接口芯片,包括芯片本体,芯片本体中设有p个报文发送引擎、q个报文接收引擎以及寄存器管理模块,芯片本体中还设有前述的访存合法性检查控制器,该网络接口芯片可以为计算节点的网络接口控制器NIC或交换节点网络交换芯片NRC。此外,本实施例还提供一种网络设备,该网络设备包含网络接口芯片,网络接口芯片的芯片本体中设有p个报文发送引擎、q个报文接收引擎以及寄存器管理模块,芯片本体中还设有前述的访存合法性检查控制器。该网络设备可以为计算节点或交换节点。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种访存合法性检查控制器,其特征在于,包括内存注册表(1)、控制与状态寄存器模块(2)、请求调度模块(3),所述控制与状态寄存器模块(2)分别与内存注册表(1)的控制端、请求调度模块(3)的输出端以及网络接口芯片的寄存器管理模块相连,所述请求调度模块(3)包括请求栈存逻辑(31)、仲裁请求生成逻辑(32)、访存合法性检测逻辑(33)与公平仲裁器(34),所述请求栈存逻辑(31)分别与p个报文发送引擎及q个报文接收引擎相连,所述仲裁请求生成逻辑(32)分别与请求栈存逻辑(31)、访存合法性检测逻辑(33)、公平仲裁器(34)相连,所述访存合法性检测逻辑(33)与内存注册表(1)相连;
所述控制与状态寄存器模块(2)用于缓存内存注册报文、发送写入内存注册表(1)的控制信号、以及用于保存FIFO溢出以及访存不合法的地址信息以便寄存器管理模块读取,所述控制与状态寄存器模块(2)中包含用于保存内存注册报文的一组报文寄存器以及输出寄存器,该组报文寄存器为w位且包括读写位、注册表地址、密钥、起始页地址、页面长度5个位域,该输出寄存器用于保存FIFO溢出以及访存不合法的地址信息以便寄存器管理模块读取;
所述请求栈存逻辑(31)用于将p个报文发送引擎及q个报文接收引擎共计p+q个请求源的请求报文进行栈存后发送到仲裁请求生成逻辑(32),以及当接收到仲裁请求生成逻辑(32)返回的应答信号后将合法性检查应答发送给对应的报文发送引擎或报文接收引擎;
所述仲裁请求生成逻辑(32)用于在接收到请求栈存逻辑(31)发送的p+q个请求报文后产生p+q位的仲裁请求发送到公平仲裁器(34),所述仲裁请求中的每一位对应一个请求源;当接收到公平仲裁器(34)返回的位仲裁应答信号,所述仲裁应答信号表示对应的哪一路请求源被授权,而后将授权的请求源的合法性检查报文发送到访存合法性检测逻辑(33);当接收到访存合法性检测逻辑(33)返回的检查应答信号后,根据p+q位的授权信号将授权信号为1那位的应答有效信号置为高电平,同时将应答信号返回请求栈存逻辑(31);
所述访存合法性检测逻辑(33)用于在接收到仲裁请求生成逻辑(32)发送的合法性检查请求报文后取出第i+j+k+m-1:i+j+k位作为读取内存注册表(1)存储器的地址,同时将读使能信号置为高电平,发送到内存注册表(1),其中i表示报文访问内存区域的页面长度,j表示报文访问内存区域的起始页地址的宽度,k表示密钥的宽度,m表示地址位的宽度;当内存注册表(1)返回读出的数据后,进行如下的四项比对,第一项比对:取出内存注册表(1)项的最高位,即有效位是否为1;如果为1,表示当前内存区域已注册,内存检查请求合法;否则表示不合法;第二项比对:根据合法性检查报文中作为读写位的最高位,如果最高位为1,表示对内存区域是读操作,同时取出内存注册表(1)项中作为读位的第2j+k+1位,如果为1,表示内存区域允许读操作,那么检查合法,如果为0,那么检查不合法;如果读写位为0,表示对内存区域是写操作,取出内存注册表(1)项的第2j+k位,即写位,如果为1,表示内存区域允许写操作,那么检查合法,如果为0,那么检查不合法;第三项比对:取出内存注册表(1)项中作为密钥的第2j+k-1:2j+k位,与合法性检查报文的第i+j+k-1:i+j位密钥进行比对;如果完全相同,表示内存检查合法;如果存在不一致的位,表示内存检查不合法;第四项比对:取出合法性检查报文的第i-1:0位页面长度域L,第i+j-1:i位起始页地址As;取出内存注册表(1)项的第2j-1:j位末页地址Ah,第j-1:0位首页地址Al;判断是否满足公式:Al≤(As+L)≤Ah,如果满足公式,那么内存检查合法,如果不满足公式,那么内存检查不合法;如果上面四项比对全部通过,表示内存检查报文合法,那么将应答有效位置1,同时将1位的检查结果置1,返回给仲裁请求生成逻辑(32);如果上面四项比对至少有一项没有通过,表示内存检查报文不合法,那将应答有效位置1,同时将1位的检查结果置0,返回给仲裁请求生成逻辑(32);
2.根据权利要求1所述的访存合法性检查控制器,其特征在于,所述内存注册表(1)中存储的内存注册表项包含6个位域,每一项内存注册表项的宽度是w位,所述6个位域分别为有效位、读位、写位、密钥、末页地址和首页地址。
3.根据权利要求2所述的访存合法性检查控制器,其特征在于,所述内存注册表(1)为随机访问存储器,且该随机访问存储器深度为d、宽度为w位,包含1个读端口和1个写端口;地址位的宽度为m位,且满足m=log2d。
4.一种网络接口芯片,包括芯片本体,所述芯片本体中设有p个报文发送引擎、q个报文接收引擎以及寄存器管理模块,其特征在于,所述芯片本体中还设有权利要求1~3中任意一项所述的访存合法性检查控制器。
5.一种网络设备,该网络设备包含网络接口芯片,所述网络接口芯片的芯片本体中设有p个报文发送引擎、q个报文接收引擎以及寄存器管理模块,其特征在于,所述芯片本体中还设有权利要求1~3中任意一项所述的访存合法性检查控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010403722.7A CN111600872B (zh) | 2020-05-13 | 2020-05-13 | 一种访存合法性检查控制器,芯片及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010403722.7A CN111600872B (zh) | 2020-05-13 | 2020-05-13 | 一种访存合法性检查控制器,芯片及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111600872A CN111600872A (zh) | 2020-08-28 |
CN111600872B true CN111600872B (zh) | 2022-05-31 |
Family
ID=72191323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010403722.7A Active CN111600872B (zh) | 2020-05-13 | 2020-05-13 | 一种访存合法性检查控制器,芯片及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600872B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113220625B (zh) * | 2021-05-12 | 2024-05-14 | 北京汇智诚芯科技有限公司 | 一种基于流式处理芯片的计算量证明系统的设计方法 |
CN114090479B (zh) * | 2021-11-30 | 2023-12-15 | 上海阵量智能科技有限公司 | 访问报告系统、方法、装置、芯片及电子设备 |
CN116455849B (zh) * | 2023-06-15 | 2023-08-11 | 中国人民解放军国防科技大学 | 一种面向众核处理器的并发通信方法、装置、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2372521A2 (en) * | 2010-04-02 | 2011-10-05 | Intel Corporation | Remote direct storage access |
CN105389272A (zh) * | 2015-12-03 | 2016-03-09 | 上海高性能集成电路设计中心 | 一种安全计算机系统中io设备分时分域管控装置及方法 |
CN106372013A (zh) * | 2015-07-24 | 2017-02-01 | 华为技术有限公司 | 远程内存访问方法、装置和系统 |
CN109117288A (zh) * | 2018-08-15 | 2019-01-01 | 无锡江南计算技术研究所 | 一种低延迟旁路的消息优化方法 |
CN110677220A (zh) * | 2019-09-09 | 2020-01-10 | 无锡江南计算技术研究所 | 一种基于多轨冗余应答的rdma消息机制及其实现装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042657B2 (en) * | 2017-09-30 | 2021-06-22 | Intel Corporation | Techniques to provide client-side security for storage of data in a network environment |
US10523675B2 (en) * | 2017-11-08 | 2019-12-31 | Ca, Inc. | Remote direct memory access authorization |
-
2020
- 2020-05-13 CN CN202010403722.7A patent/CN111600872B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2372521A2 (en) * | 2010-04-02 | 2011-10-05 | Intel Corporation | Remote direct storage access |
CN106372013A (zh) * | 2015-07-24 | 2017-02-01 | 华为技术有限公司 | 远程内存访问方法、装置和系统 |
CN105389272A (zh) * | 2015-12-03 | 2016-03-09 | 上海高性能集成电路设计中心 | 一种安全计算机系统中io设备分时分域管控装置及方法 |
CN109117288A (zh) * | 2018-08-15 | 2019-01-01 | 无锡江南计算技术研究所 | 一种低延迟旁路的消息优化方法 |
CN110677220A (zh) * | 2019-09-09 | 2020-01-10 | 无锡江南计算技术研究所 | 一种基于多轨冗余应答的rdma消息机制及其实现装置 |
Non-Patent Citations (3)
Title |
---|
Masoud Daneshtalab ; Masoumeh Ebrahimi,Pasi Liljeberg等.Memory-efficient logic layer communication platform for 3D-stacked memory-on-processor architectures.《2011 IEEE International 3D Systems Integration Conference (3DIC)》.2012, * |
StRoM: smart remote memory;David Sidler,Zeke Wang,Monica Chiosa,Amit Kulkarni,Gustavo Alons;《EuroSys "20: Proceedings of the Fifteenth European Conference on Computer Systems》;20200415;第1-16页 * |
天河-1A互连系统的接口设计;刘路等;《计算机工程与科学》;20130215(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111600872A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111600872B (zh) | 一种访存合法性检查控制器,芯片及设备 | |
US9672143B2 (en) | Remote memory ring buffers in a cluster of data processing nodes | |
US7103744B2 (en) | Binding a memory window to a queue pair | |
US9112752B2 (en) | Network interface and protocol | |
US8244826B2 (en) | Providing a memory region or memory window access notification on a system area network | |
US6854032B2 (en) | System for accessing a region of memory using remote address translation and using a memory window table and a memory region table | |
US20070041383A1 (en) | Third party node initiated remote direct memory access | |
WO1999035579A1 (en) | Two-level address translation and memory registration system and method | |
US8990540B2 (en) | Integrated circuit system providing enhanced communications between integrated circuit dies and related methods | |
US20090158001A1 (en) | Accessing control and status register (csr) | |
CN112152932B (zh) | 片上网络路由控制方法、片上网络路由器及可读存储介质 | |
CN110677220B (zh) | 一种基于多轨冗余应答的rdma消息机制及其实现装置 | |
CN1291329C (zh) | 用于访问存储器的装置和方法 | |
US20040193833A1 (en) | Physical mode addressing | |
CN115114042A (zh) | 存储数据访问方法、装置、电子设备和存储介质 | |
US5895496A (en) | System for an method of efficiently controlling memory accesses in a multiprocessor computer system | |
US20040193832A1 (en) | Physical mode windows | |
US7565504B2 (en) | Memory window access mechanism | |
WO2022199357A1 (zh) | 数据处理方法及装置、电子设备、计算机可读存储介质 | |
Kim et al. | A high-bandwidth PCM-based memory system for highly available IP routing table lookup | |
Agrawal et al. | High-bandwidth network memory system through virtual pipelines | |
CN116455849B (zh) | 一种面向众核处理器的并发通信方法、装置、设备和介质 | |
CN109901880B (zh) | 一种spinlock硬件电路及电子设备 | |
CN118093468A (zh) | 具有RDMA加速功能的PCIe交换芯片及PCIe交换机 | |
CN117389939A (zh) | 数据传输方法、装置、电子设备及介质 |
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 |