CN114969851B - 一种基于fpga的数据处理方法、装置、设备及介质 - Google Patents

一种基于fpga的数据处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN114969851B
CN114969851B CN202210609566.9A CN202210609566A CN114969851B CN 114969851 B CN114969851 B CN 114969851B CN 202210609566 A CN202210609566 A CN 202210609566A CN 114969851 B CN114969851 B CN 114969851B
Authority
CN
China
Prior art keywords
data
processed
fpga
executed
application program
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
Application number
CN202210609566.9A
Other languages
English (en)
Other versions
CN114969851A (zh
Inventor
张静东
王江为
阚宏伟
郝锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202210609566.9A priority Critical patent/CN114969851B/zh
Publication of CN114969851A publication Critical patent/CN114969851A/zh
Application granted granted Critical
Publication of CN114969851B publication Critical patent/CN114969851B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/76Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了一种基于FPGA的数据处理方法、装置、设备及介质,涉及计算机技术领域,所述方法包括:将从服务器主板中获取的加密后的指令以及数据保存至FPGA数据处理板本地的第一内存空间中;基于指令的配置信息和数据的存储信息确定出目标微核,并通过目标微核从第一内存空间中读取数据以及指令,在对读取到的数据以及指令进行解密后,利用指令对数据进行处理;对相应的处理结果进行加密后保存至FPGA数据处理板本地的第二内存空间中。可见,本申请中数据、指令以及处理结果均以加密的方式在服务器主板与FPGA数据处理板之间进行传输,降低了数据泄露风险,由此保证了数据的安全性,此外,本申请将加解密任务卸载至FPGA数据处理板上,降低了CPU的负载率。

Description

一种基于FPGA的数据处理方法、装置、设备及介质
技术领域
本发明涉及计算机技术领域,特别涉及一种基于FPGA的数据处理方法、装置、设备及介质。
背景技术
随着云计算和大数据的不断发展,数据中心的CPU(Central Processing Unit,中央处理器)、网络、内存等硬件资源消耗越来越大,各种各样的网络应用不断上云,国家对网络安全、数据隐私等问题越来越重视。
现有的加密可信计算技术一般是利用CPU的可信执行环境(TEE,TrustedExecution Environment)技术实现数据的加密,这种加密方式对于单个物理机使用起来没有问题,但对于云计算时代下的虚拟机,会使敏感数据、程序指令等暴露在超级虚拟管理层下。使用TEE技术的单节点内加密计算方案,需要特定的CPU型号才能支持,不同CPU厂商采用的TEE技术接口形式不统一,技术框架不同,软件应用调用及平台移植开销大,同时增加了CPU处理内存加解密的任务负载。对于分布式云计算的场景,敏感数据加密计算过程中,数据加密完成后需要缓存,等待服务器的网卡将数据传输至其他节点,需要频繁拷贝内存数据,这不但增加了数据传输延时,还增加了系统能耗,同时多次的拷贝、传输也增加了敏感数据泄露的风险。
参见图1所示,现有的基于FPGA(Field Programmable Gate Array,现场可编程与门阵列)的数据加密卡方案,通常需要专用的密码芯片对数据进行加密,FPGA主要负责在主机和密码芯片之间对于明文和密文的传输,而不对数据进行加密和解密的处理,该方案成本高,系统设计复杂,系统能耗欠佳;还有一种基于FPGA的数据加密方案,FPGA内部实现了加解密功能,既可以对数据进行搬移,又进行明文和密文的处理,相比第一种简化了系统集成设计,但只能用作加解密数据,保护敏感数据存储的安全性,仍然没有解决敏感数据在被通过PCIE(peripheral component interconnect express,高速串行计算机扩展总线标准)通道传输到加密卡处理时暴露给超级虚拟监管层的安全问题。
为此,如何降低数据泄露风险以及CPU的负载率是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种基于FPGA的数据处理方法、装置、设备及介质,能够降低数据泄露风险以及CPU的负载率,其具体方案如下:
第一方面,本申请公开了一种基于FPGA的数据处理方法,应用于FPGA数据处理板,所述FPGA数据处理板安装于服务器节点,并与所述服务器节点中的服务器主板建立通信连接,所述方法包括:
从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;
基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,并通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;
对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。
可选的,所述从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据之前,还包括:
通过本地主机与所述FPGA数据处理板确定目标加密算法以及相应的密钥,并通过所述目标加密算法对所述待执行应用程序指令以及所述待处理数据进行加密;
或,通过虚拟机与所述FPGA数据处理板确定目标加密算法以及相应的密钥,并通过所述目标加密算法对所述待执行应用程序指令以及所述待处理数据进行加密。
可选的,所述基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核之前,还包括:
基于所述目标算法对所述待执行应用程序指令的配置信息和所述待处理数据的存储信息进行加密,并将加密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息保存至所述环形缓冲队列中。
可选的,所述基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,包括
当检测到所述环形缓冲队列为非空队列,则利用指令调度引擎从所述环形缓冲队列中读取所述待执行应用程序指令的配置信息和所述待处理数据的存储信息;
利用所述FPGA数据处理板内的解密模块对所述待执行应用程序指令的配置信息所述待处理数据的存储信息进行解密,得到解密后的所述待执行应用程序指令的配置信息以及所述待处理数据的存储信息;
通过RISC-V调度模块,基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出目标微核。
可选的,所述基于FPGA的数据处理方法,还包括:
当所述指令调度引擎从所述环形缓冲队列中读取的配置信息以及存储信息满足预设指标,则对所述环形缓冲队列进行更新,以释放所述环形缓冲队列中的缓存空间。
可选的,所述基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出目标微核,包括:
基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出一个或多个所述目标微核。
可选的,所述对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,包括:
如果所述目标微核为一个,则对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中。
可选的,所述对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,包括:
如果所述目标微核为多个,则在所有所述目标微核均处理完成后,将相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中。
可选的,通过所述目标微核利用所述待执行应用程序指令对所述待处理数据进行处理的过程,包括:
从所有所述目标微核中筛选出第一个目标微核作为当前目标微核;
利用所述当前目标微核以及所述待执行应用程序指令对所述待处理数据进行处理,以得到相应的处理结果,然后将该处理结果作为新的所述待处理数据并发送至所有所述目标微核中的下一个目标微核;
将所述下一个目标微核作为新的当前目标微核,并重新跳转至所述利用所述当前目标微核利用所述待执行应用程序指令对所述待处理数据进行处理的步骤,直到所有所述目标微核均处理完毕。
可选的,所述基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核之后,还包括:
为所述目标微核配置所述待执行应用程序指令的配置信息和所述待处理数据的存储信息。
可选的,所述通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,包括:
通过所述目标微核中的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令。
可选的,所述将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中之后,还包括:
当检测到所述第一队列为非空队列,则将所述第一队列中的所述处理完成信息写入至本地主机或虚拟机的第二队列中,并向所述本地主机或虚拟机发送中断通知,以便所述本地主机或所述虚拟机在接收到所述中断通知后,基于所述处理完成信息从所述第二内存空间中确定出相应的所述处理结果。
第二方面,本申请公开了一种基于FPGA的数据处理装置,应用于FPGA数据处理板,所述FPGA数据处理板安装于服务器节点,并与所述服务器节点中的服务器主板建立通信连接,所述装置包括:
指令及数据保存模块,用于从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;
微核确定模块,用于基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核;
数据处理模块,用于通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;
处理结果保存模块,用于对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的基于FPGA的数据处理方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的基于FPGA的数据处理方法。
可见,本申请提出一种基于FPGA的数据处理方法,包括:从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,并通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。由此可见,首先,本申请中的待处理数据、待执行应用程序指令以及相应的处理结果均以加密的方式在服务器主板与FPGA数据处理板之间进行传输,如此一来,降低了数据泄露风险,保证了数据的安全性;其次,本申请将加解密任务卸载至FPGA数据处理板上,降低了CPU的负载率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种基于FPGA的加解密卡技术方法;
图2为本申请公开的一种基于FPGA的数据处理方法流程图;
图3为本申请公开的一种基于FPGA的数据处理方法子流程图;
图4为本申请公开的一种具体的基于FPGA的数据处理方法流程图;
图5为本申请公开的一种基于FPGA的数据处理流图;
图6为本申请公开的一种基于FPGA的数据处理方法装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
无论是单节点内采用TEE技术的加密计算,还是多节点分布式云计算下的加密计算,传统的方案加解密的工作都是由CPU深度参与来执行的,这个过程中需要消耗大量的CPU资源来计算;同时敏感数据和程序指令都是在明文状态下经过超级虚拟管理层进行交互,存在较大敏感数据泄露的安全风险。
为此,本申请实施例提出一种基于FPGA的数据处理方案,能够降低数据泄露风险以及CPU的负载率。
本申请实施例公开了一种基于FPGA的数据处理方法,应用于FPGA数据处理板,所述FPGA数据处理板安装于服务器节点,并与所述服务器节点中的服务器主板建立通信连接,参见图2所示,该方法包括:
步骤S11:从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中。
本实施例中,在从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据之前,需要通过本地主机与所述FPGA数据处理板确定目标加密算法以及相应的密钥,并通过所述目标加密算法对所述待执行应用程序指令以及所述待处理数据进行加密;或,通过虚拟机与所述FPGA数据处理板确定目标加密算法以及相应的密钥,并通过所述目标加密算法对所述待执行应用程序指令以及所述待处理数据进行加密。
步骤S12:基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核。
可以理解的是,在基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核之前,首先要将所述待执行应用程序指令的配置信息和所述待处理数据的存储信息保存至环形缓冲队列中,具体的,基于所述目标算法对所述待执行应用程序指令的配置信息和所述待处理数据的存储信息进行加密,并将加密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息保存至所述环形缓冲队列中。
需要指出的是,所述待执行应用程序指令的配置信息和所述待处理数据的存储信息能够反映所述待执行应用程序指令以及和所述待处理数据的基本信息,例如所述待执行应用程序指令以及和所述待处理数据的存储位置信息,如此一来,根据相应的存储位置信息便能够确定出所述待执行应用程序指令以及和所述待处理数据在所述第一内存空间中的位置。此外,本申请基于FPGA内部硬件资源实现基于RISC-V的指令集,在保证了数据安全性的同时加速了计算处理过程。RISC-V指令集是一个最近形成的开源指令集架构,具有模块化、社区化和清晰的分层设计等特点,其核心基础是RV32I,属于最基本的指令集模块,可以根据应用程序需要扩展其他模块指令集,根据不同场景和位数还有RV32E、RV64I、RV128I三种基本指令集。
步骤S13:通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理。
本实施例中,所述目标微核用于从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理。
步骤S14:对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。
本实施例中,当处理完成后,将相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。当检测到所述第一队列为非空队列,则将所述第一队列中的所述处理完成信息写入至本地主机或虚拟机的第二队列中,并向所述本地主机或虚拟机发送中断通知,以便所述本地主机或所述虚拟机在接收到所述中断通知后,基于所述处理完成信息从所述第二内存空间中确定出相应的所述处理结果。
可见,本申请提出一种基于FPGA的数据处理方法,包括:从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,并通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。由此可见,首先,本申请中的待处理数据、待执行应用程序指令以及相应的处理结果均以加密的方式在服务器主板与FPGA数据处理板之间进行传输,如此一来,降低了数据泄露风险,保证了数据的安全性;其次,本申请将加解密任务卸载至FPGA数据处理板上,降低了CPU的负载率。
本实施例是对步骤S12的进一步细化,参见图3所示,步骤S12具体包括:
步骤S121:当检测到所述环形缓冲队列为非空队列,则利用指令调度引擎从所述环形缓冲队列中读取所述待执行应用程序指令的配置信息和所述待处理数据的存储信息。
步骤S122:利用所述FPGA数据处理板内的解密模块对所述待执行应用程序指令的配置信息所述待处理数据的存储信息进行解密,得到解密后的所述待执行应用程序指令的配置信息以及所述待处理数据的存储信息。
步骤S123:通过RISC-V调度模块,基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出目标微核。
需要指出的是,当所述指令调度引擎从所述环形缓冲队列中读取的配置信息以及存储信息满足预设指标,则对所述环形缓冲队列进行更新,以释放所述环形缓冲队列中的缓存空间。
本实施例中,所述基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出目标微核,具体包括:基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出一个或多个所述目标微核。
在一种具体的实施方式中,如果所述目标微核为一个,则对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中。在另一种具体的实施方式中,如果所述目标微核为多个,则在所有所述目标微核均处理完成后,将相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中。
当所述目标微核为多个,则通过所述目标微核利用所述待执行应用程序指令对所述待处理数据进行处理的过程,包括:从所有所述目标微核中筛选出第一个目标微核作为当前目标微核;利用所述当前目标微核以及所述待执行应用程序指令对所述待处理数据进行处理,以得到相应的处理结果,然后将该处理结果作为新的所述待处理数据并发送至所有所述目标微核中的下一个目标微核;将所述下一个目标微核作为新的当前目标微核,并重新跳转至所述利用所述当前目标微核利用所述待执行应用程序指令对所述待处理数据进行处理的步骤,直到所有所述目标微核均处理完毕。
本申请实施例公开了一种具体的基于FPGA的数据处理方法,应用于FPGA数据处理板,所述FPGA数据处理板安装于服务器节点,并与所述服务器节点中的服务器主板建立通信连接,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图4所示,具体包括:
步骤S21:从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中。
关于步骤S21更加具体的过程参见前述公开的实施例所示,在此不做具体赘述。
步骤S22:基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,并为所述目标微核配置所述待执行应用程序指令的配置信息和所述待处理数据的存储信息。
本实施例中,在确定出目标微核后,为所述目标微核配置所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,由于所述待执行应用程序指令的配置信息和所述待处理数据的存储信息能够反映所述待执行应用程序指令以及和所述待处理数据的存储位置信息,如此一来,本实施例中的目标微核能够根据所述目标微核中的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令。
步骤S23:通过所述目标微核中的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理。
本实施例中,通过所述目标微核中的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,由于所述待处理数据以及所述待执行应用程序指令均是以加密状态存储至所述第一内存空间的,因此本实施例需要并对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理。
步骤S24:对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。
关于步骤S24更加具体的过程参见前述公开的实施例所示,在此不做具体赘述。
可见,本申请提出一种基于FPGA的数据处理方法,包括:从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,并为所述目标微核配置所述待执行应用程序指令的配置信息和所述待处理数据的存储信息;通过所述目标微核中的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中,由此可见,首先,本申请中的待处理数据、待执行应用程序指令以及相应的处理结果均以加密的方式在服务器主板与FPGA数据处理板之间进行传输,如此一来,降低了数据泄露风险,保证了数据的安全性;其次,本申请将加解密任务卸载至FPGA数据处理板上,降低了CPU的负载率。
示例性的,参见图5所示,图5为本申请公开的一种基于FPGA的数据处理流图。
首先为每个服务器节点Node1配备一张基于FPGA数据处理板,板上有FPGA芯片、FPGA内存,FPGA芯片通过Gen5PCIex16物理链路与服务器主板连接,
FPGA内部逻辑处理模块有加解密模块、指令数据调度引擎、内存控制器模块、RISC-V微核阵列、RISC-V微核调度模块、DMA(Direct Memory Access,直接数据存取)引擎处理模块、指令数据信息Ring Buffer(指令处理环形缓冲队列)和完成FIFO(数据结构中的先入先出队列)。
具体步骤如下:
1、本地主机或虚拟机首先与FPGA数据处理系统协商所用加密算法和密钥。
2、本地主机或虚拟机申请FPGA硬件加速处理任务,将基于RISC-V的加密后的应用程序指令和加密后的数据通过CXL/Gen5PCIe以及DMA引擎发送给FPGA。
3、FPGA通过CXL/Gen5PCIe链路和DMA引擎接收、存储应用程序指令和数据到FPGA数据处理板的本地内存空间1中;
4、主机或虚拟机同时将应用程序指令的配置信息和数据的存储信息通过DMA引擎写入到FPGA内的指令处理环形缓冲队列中。
5、当该队列非空时,指令数据调度引擎读出一条配置信息和存储信息,并将所述配置信息和存储信息发送给解密模块,解密模块进行解密后,输出给指令数据调度引擎,引擎再传给RISC-V微核调度模块,RISC-V微核调度模块根据解密后的配置信息和存储信息从微核阵列中分配1个或多个可用微核,并为分配出的每个微核配置信息和存储信息。
6、当指令调度引擎从环形缓冲队列中读取的配置信息以及存储信息满足预设指标,则对所述环形缓冲队列指针进行更新,以释放所述环形缓冲队列中的缓存空间。
7、被配置的每个RISC-V微核根据上述配置信息及存储信息,通过总线、控制器从内存空间1中读取相应数据及应用程序指令,并利用解密模块对读取到的数据及应用程序指令进行解密后,根据应用程序指令处理所述数据。
8、每个RISV-V微核根据指令处理完数据后,根据所述配置信息和所述存储信息选择将处理结果输出给下一级微核再次经过指令处理还是输出给加解密模块准备写入板卡内存空间2,所述内存空间2用于存储加密后的处理结果。
9、如果输出给下一级微核处理,则第一级处理结果被输入到第二级微核根据配置的指令再次进行处理,直到最后一级微核处理完成输出结果给加解密模块。
10、加解密模块中的加密模块收到处理结果后进行加密,然后通过总线和控制器将加密后的结果写入板卡内存空间2;同时将该条指令执行完成信息、结果存储信息写入FPGA数据处理板内的指令完成FIFO。
11、CXL/Gen5PCIe和DMA引擎在检测到指令完成FIFO非空时,将该FIFO中的指令完成队列信息,通过DMA引擎写入到主机的指令完成队列,并发送中断通知主机进行读取处理,然后释放该条指令。
12、本地主机或虚拟机收到中断后根据完成队列里的信息,从FPGA数据处理板内存空间2读取处理完的结果并进行使用。
综上可知,本申请主要优点为:敏感数据在加密状态下被存入本地服务器内存,有效降低了以明文的方式被导入本地存储造成的泄露风险;对于采用虚拟机的用户应用程序处理敏感数据时,不通过本地虚拟机直接访问敏感数据,减少敏感数据明文状态下不必要的交互,避免超级虚拟管理层访问内存明文数据,进一步降低数据泄露风险;将加解密任务由CPU或者虚拟机卸载到基于FPGA的数据处理板上,提高加解密的处理速度,降低CPU的负载率;在FPGA内灵活实现基于RISC-V的基本指令集和扩展指令集,卸载虚拟机内处理敏感数据的计算任务,加速计算处理过程;在FPGA内实现多个基于RISC-V的微核处理单元,形成二维(也可以一维,或者更多维)多核处理矩阵,实现敏感数据的流式处理和多任务处理;处理板采用Gen5PCIe标准,支持CXL(Compute Express Link,计算快速连接)总线协议,FPGA与CPU之间具有cache(高速缓冲存储器)一致性的特点。
相应的,本申请实施例还公开了一种基于FPGA的数据处理装置,参见图6所示,该装置包括:
指令及数据保存模块11,用于从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;
微核确定模块12,用于基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核;
数据处理模块13,用于通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;
处理结果保存模块14,用于对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请提出一种基于FPGA的数据处理方法,包括:从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,并通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。由此可见,首先,本申请中的待处理数据、待执行应用程序指令以及相应的处理结果均以加密的方式在服务器主板与FPGA数据处理板之间进行传输,如此一来,降低了数据泄露风险,保证了数据的安全性;其次,本申请将加解密任务卸载至FPGA数据处理板上,降低了CPU的负载率。
进一步的,本申请实施例还提供了一种电子设备。图7是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、显示屏23、输入输出接口24、通信接口25、电源26、和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的基于FPGA的数据处理方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源26用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括计算机程序221,存储方式可以是短暂存储或者永久存储。其中,计算机程序221除了包括能够用于完成前述任一实施例公开的由电子设备20执行的基于FPGA的数据处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的基于FPGA的数据处理方法。
关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种基于FPGA的数据处理方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种基于FPGA的数据处理方法,其特征在于,应用于FPGA数据处理板,所述FPGA数据处理板安装于服务器节点,并与所述服务器节点中的服务器主板建立通信连接,所述方法包括:
从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;
基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,并通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;
对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。
2.根据权利要求1所述的基于FPGA的数据处理方法,其特征在于,所述从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据之前,还包括:
通过本地主机与所述FPGA数据处理板确定目标加密算法以及相应的密钥,并通过所述目标加密算法对所述待执行应用程序指令以及所述待处理数据进行加密;
或,通过虚拟机与所述FPGA数据处理板确定目标加密算法以及相应的密钥,并通过所述目标加密算法对所述待执行应用程序指令以及所述待处理数据进行加密。
3.根据权利要求2所述的基于FPGA的数据处理方法,其特征在于,所述基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核之前,还包括:
基于目标算法对所述待执行应用程序指令的配置信息和所述待处理数据的存储信息进行加密,并将加密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息保存至所述环形缓冲队列中。
4.根据权利要求3所述的基于FPGA的数据处理方法,其特征在于,所述基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核,包括
当检测到所述环形缓冲队列为非空队列,则利用指令调度引擎从所述环形缓冲队列中读取所述待执行应用程序指令的配置信息和所述待处理数据的存储信息;
利用所述FPGA数据处理板内的解密模块对所述待执行应用程序指令的配置信息所述待处理数据的存储信息进行解密,得到解密后的所述待执行应用程序指令的配置信息以及所述待处理数据的存储信息;
通过RISC-V调度模块,基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出目标微核。
5.根据权利要求4所述的基于FPGA的数据处理方法,其特征在于,还包括:
当所述指令调度引擎从所述环形缓冲队列中读取的配置信息以及存储信息满足预设指标,则对所述环形缓冲队列进行更新,以释放所述环形缓冲队列中的缓存空间。
6.根据权利要求4所述的基于FPGA的数据处理方法,其特征在于,所述基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出目标微核,包括:
基于解密后的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述RISC微核阵列中确定出一个或多个所述目标微核。
7.根据权利要求6所述的基于FPGA的数据处理方法,其特征在于,所述对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,包括:
如果所述目标微核为一个,则对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中。
8.根据权利要求6所述的基于FPGA的数据处理方法,其特征在于,所述对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,包括:
如果所述目标微核为多个,则在所有所述目标微核均处理完成后,将相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中。
9.根据权利要求8所述的基于FPGA的数据处理方法,其特征在于,通过所述目标微核利用所述待执行应用程序指令对所述待处理数据进行处理的过程,包括:
从所有所述目标微核中筛选出第一个目标微核作为当前目标微核;
利用所述当前目标微核以及所述待执行应用程序指令对所述待处理数据进行处理,以得到相应的处理结果,然后将该处理结果作为新的所述待处理数据并发送至所有所述目标微核中的下一个目标微核;
将所述下一个目标微核作为新的当前目标微核,并重新跳转至所述利用所述当前目标微核利用所述待执行应用程序指令对所述待处理数据进行处理的步骤,直到所有所述目标微核均处理完毕。
10.根据权利要求1所述的基于FPGA的数据处理方法,其特征在于,所述基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核之后,还包括:
为所述目标微核配置所述待执行应用程序指令的配置信息和所述待处理数据的存储信息。
11.根据权利要求10所述的基于FPGA的数据处理方法,其特征在于,所述通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,包括:
通过所述目标微核中的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息,从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令。
12.根据权利要求1至11任一项所述的基于FPGA的数据处理方法,其特征在于,所述将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中之后,还包括:
当检测到所述第一队列为非空队列,则将所述第一队列中的所述处理完成信息写入至本地主机或虚拟机的第二队列中,并向所述本地主机或虚拟机发送中断通知,以便所述本地主机或所述虚拟机在接收到所述中断通知后,基于所述处理完成信息从所述第二内存空间中确定出相应的所述处理结果。
13.一种基于FPGA的数据处理装置,其特征在于,应用于FPGA数据处理板,所述FPGA数据处理板安装于服务器节点,并与所述服务器节点中的服务器主板建立通信连接,所述装置包括:
指令及数据保存模块,用于从所述服务器主板中获取加密后的待执行应用程序指令以及待处理数据,并将所述待执行应用程序指令以及所述待处理数据保存至所述FPGA数据处理板本地的第一内存空间中;
微核确定模块,用于基于环形缓冲队列中预先保存的所述待执行应用程序指令的配置信息和所述待处理数据的存储信息从RISC微核阵列中确定出目标微核;
数据处理模块,用于通过所述目标微核从所述第一内存空间中读取所述待处理数据以及所述待执行应用程序指令,并在对读取到的所述待处理数据以及待执行应用程序指令进行解密后,利用所述待执行应用程序指令对所述待处理数据进行处理;
处理结果保存模块,用于对相应的处理结果进行加密后保存至所述FPGA数据处理板本地的第二内存空间中,并将相应的处理完成信息保存至所述FPGA数据处理板本地的第一队列中。
14.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至12任一项所述的基于FPGA的数据处理方法。
15.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的基于FPGA的数据处理方法。
CN202210609566.9A 2022-05-31 2022-05-31 一种基于fpga的数据处理方法、装置、设备及介质 Active CN114969851B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210609566.9A CN114969851B (zh) 2022-05-31 2022-05-31 一种基于fpga的数据处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210609566.9A CN114969851B (zh) 2022-05-31 2022-05-31 一种基于fpga的数据处理方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN114969851A CN114969851A (zh) 2022-08-30
CN114969851B true CN114969851B (zh) 2024-02-23

Family

ID=82957130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210609566.9A Active CN114969851B (zh) 2022-05-31 2022-05-31 一种基于fpga的数据处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114969851B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117272352B (zh) * 2023-11-21 2024-01-30 北京国科天迅科技股份有限公司 多核并行加解密方法、装置、计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008054456A2 (en) * 2006-02-22 2008-05-08 Luna Innovations Inc. Hardware-facilitated secure software execution environment
CN107491317A (zh) * 2017-10-10 2017-12-19 郑州云海信息技术有限公司 一种基于异构加速平台的aes对称加解密方法及系统
CN107528690A (zh) * 2017-10-10 2017-12-29 郑州云海信息技术有限公司 一种基于异构加速平台的sm4对称加解密方法及系统
CN107615285A (zh) * 2015-03-05 2018-01-19 美国亚德诺半导体公司 包括物理不可克隆功能和阈值加密的认证系统和装置
CN111193591A (zh) * 2019-12-31 2020-05-22 郑州信大先进技术研究院 一种基于cpu+fpga的加解密方法及系统
CN114465770A (zh) * 2021-12-29 2022-05-10 天翼云科技有限公司 数据处理方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11516010B2 (en) * 2019-12-10 2022-11-29 Baidu Usa Llc System and method to securely broadcast a message to accelerators using virtual channels

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008054456A2 (en) * 2006-02-22 2008-05-08 Luna Innovations Inc. Hardware-facilitated secure software execution environment
CN107615285A (zh) * 2015-03-05 2018-01-19 美国亚德诺半导体公司 包括物理不可克隆功能和阈值加密的认证系统和装置
CN107491317A (zh) * 2017-10-10 2017-12-19 郑州云海信息技术有限公司 一种基于异构加速平台的aes对称加解密方法及系统
CN107528690A (zh) * 2017-10-10 2017-12-29 郑州云海信息技术有限公司 一种基于异构加速平台的sm4对称加解密方法及系统
CN111193591A (zh) * 2019-12-31 2020-05-22 郑州信大先进技术研究院 一种基于cpu+fpga的加解密方法及系统
CN114465770A (zh) * 2021-12-29 2022-05-10 天翼云科技有限公司 数据处理方法及相关装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种基于云端加密的FPGA自适应动态配置方法;陈利锋;朱路平;;计算机科学;20200715(07);全文 *
多协议仲裁加解密读写CPU内存的IP核设计;罗平;王瑞雪;覃海洋;;计算机工程与设计;20200516(05);全文 *

Also Published As

Publication number Publication date
CN114969851A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
US20230110230A1 (en) Technologies for secure i/o with memory encryption engines
US11943340B2 (en) Process-to-process secure data movement in network functions virtualization infrastructures
CN107077441B (zh) 用于提供使用rdma和主动消息的异构i/o的方法和装置
JP4768386B2 (ja) 外部デバイスとデータ通信可能なインターフェイスデバイスを有するシステム及び装置
US7240203B2 (en) Method and apparatus for establishing secure sessions
TW201413490A (zh) 管理具有隔離元件的現場可程式設計閘陣列的使用
US11863469B2 (en) Utilizing coherently attached interfaces in a network stack framework
CN112149144A (zh) 聚合密码引擎
US20110296437A1 (en) Method and apparatus for lockless communication between cores in a multi-core processor
JP2017091543A (ja) マルチプロセッサによって共有されるメモリを含むマルチプロセッサシステム、及び該システムの動作方法
WO2022161182A1 (zh) 基于数据流的可信计算的方法及装置
CN114969851B (zh) 一种基于fpga的数据处理方法、装置、设备及介质
WO2023201987A1 (zh) 请求处理方法、装置、设备及介质
KR101684042B1 (ko) 네트워크 장치에서 프로세싱 요소를 위한 공유 버퍼
US10505704B1 (en) Data uploading to asynchronous circuitry using circular buffer control
CN116070239A (zh) 文件加密、解密方法、装置、设备及存储介质
CN114051029B (zh) 授权方法、授权装置、电子设备和存储介质
CN115348363A (zh) 一种基于国密算法的加/解密芯片、方法、设备和介质
CN117083612A (zh) 处置未对齐事务以用于内联加密
CN115033904A (zh) 数据处理方法、装置、系统、介质和产品
KR20090059602A (ko) 세션 메모리 버스를 구비한 암호화 장치
WO2018214649A1 (zh) 一种生成ic卡安全数据的方法及装置
EP3234786B1 (en) Scalable synchronization mechanism for distributed memory
CN115297169B (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