CN116932422A - 数据处理方法和装置 - Google Patents

数据处理方法和装置 Download PDF

Info

Publication number
CN116932422A
CN116932422A CN202210321960.2A CN202210321960A CN116932422A CN 116932422 A CN116932422 A CN 116932422A CN 202210321960 A CN202210321960 A CN 202210321960A CN 116932422 A CN116932422 A CN 116932422A
Authority
CN
China
Prior art keywords
data
index
dma
control information
encryption
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.)
Pending
Application number
CN202210321960.2A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210321960.2A priority Critical patent/CN116932422A/zh
Priority to PCT/CN2023/073603 priority patent/WO2023185230A1/zh
Publication of CN116932422A publication Critical patent/CN116932422A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例公开了数据处理方法和装置,涉及存储技术领域,能够降低数据加密操作的内存访问次数。该方法包括:首先接收存储设备发送的DMA读请求,所述DMA读请求用于指示读取第一数据。然后根据所述DMA读请求确定目标内存地址和所述第一数据的加密控制信息,所述加密控制信息包括第一索引、LBA、安全秘钥索引和加密开关信息。根据所述目标内存地址读取所述第一数据。根据所述加密控制信息进行第一操作或第二操作,所述第一操作包括对所述第一数据进行加密生成第二数据并将所述第二数据发送给所述存储设备,所述第二操作包括将所述第一数据发送给所述存储设备。

Description

数据处理方法和装置
技术领域
本申请实施例涉及存储技术领域,尤其涉及数据处理方法和装置。
背景技术
目前消费类产品(如手机、个人计算机(personal computer,PC)、笔记本等)对用户数据的隐私安全要求极高,用户数据一般需要经过加密后才能保存到存储设备(如固态硬盘(solid state disk,SSD)等)中。
相关技术中,存储设备(如非易失性存储器主机控制器接口规范(non volatilememo ry host controller interface specification,NVMe)SSD)对单个数据读写请求进行加密操作需要多次内存访问,从而造成输入输出(input output,IO)时延较大。
因此,如何降低数据加密操作的内存访问次数是本领域技术人员亟须解决的问题之一。
发明内容
本申请实施例提供了数据处理方法和装置,能够降低数据加密操作的内存访问次数。为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供了一种数据处理方法,该方法包括:首先接收存储设备发送的直接存储器访问(direct memory access,DMA)读请求,所述DMA读请求用于指示读取第一数据。然后根据所述DMA读请求确定目标内存地址和所述第一数据的加密控制信息,所述加密控制信息包括第一索引、起始逻辑区块地址(logical block addressin g,LBA)、安全秘钥索引和加密开关信息。根据所述目标内存地址读取所述第一数据。根据所述加密控制信息进行第一操作或第二操作,所述第一操作包括对所述第一数据进行加密生成第二数据并将所述第二数据发送给所述存储设备,所述第二操作包括将所述第一数据发送给所述存储设备。
相关技术中,对单个数据读写请求进行加密操作需要多次内存访问。而在本申请实施例提供的数据处理方法中,仅需单次内存访问就可以实现数据加密,相较于多次内存访问可以降低数据加密操作的内存访问次数,以降低IO时延。
在一种可能的实现方式中,根据所述DMA读请求确定目标内存地址和所述第一数据的加密控制信息,可以包括:根据所述DMA读请求确定目标内存地址和所述第一索引;根据所述第一索引确定所述加密控制信息。
可以看出,本申请实施例提供的数据处理方法可以先根据所述DMA读请求确定目标内存地址和所述第一索引,然后根据所述第一索引确定所述加密控制信息。之后通过该加密控制信息对数据进行加密。从而仅需单次内存访问就可以实现数据加密,相较于多次内存访问可以降低数据加密操作的内存访问次数,以降低IO时延。
在一种可能的实现方式中,所述加密开关信息用于指示是否对所述第一数据进行加密,所述根据所述加密控制信息进行第一操作或第二操作,可以包括:在所述加密开关信息指示对所述第一数据进行加密的情况下,进行所述第一操作;在所述加密开关信息指示对所述第一数据不进行加密的情况下,进行所述第二操作。
可以理解的是,加密开关信息指示对第一数据进行加密说明第一数据需要进行加密。因此可以通过执行第一操作对第一数据进行加密以确保数据安全。加密开关信息指示对第一数据不进行加密说明第一数据不需要进行加密。因此可以通过执行第二操作直接发送未加密的第一数据以提高传输效率,降低IO时延。
在一种可能的实现方式中,所述方法还可以包括:获取数据写操作,所述数据写操作用于指示写入所述第一数据;根据所述数据写操作确定所述第一索引;关联所述第一索引、所述起始LBA、安全秘钥索引和加密开关信息生成所述加密控制信息。
示例性地,获取数据写操作后,会将数据写操作在提交队列(submission queue,SQ)中顺序存放。然后根据该数据写操作的第二索引,确定上述第一索引,然后关联所述第一索引、所述起始LBA、安全秘钥索引和加密开关信息生成所述加密控制信息。其中,一个数据读(写)操作对应一个SQ。假设主机(Host)设备处理器为8核心(core),SS D设备为高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)NVMe SSD。Host设备侧SSD驱动软件会建立8个数据读(写)操作的SQ,每一个SQ对应一个处理器core;每个SQ由n个SQ条目(entry)组成(NVMe协议规定一个SQ entry为64字节),每个SQ entry包含数据读(写)操作相关的起始LBA、数据所在的内存地址信息(data memory addressinformation)(即目标内存地址)、长度(length)、操作码(op code)等信息。
上述第一索引可以满足:第一索引=SQ号*SQ深度+第二索引。例如,每个SQ的深度为256(每个SQ中存放256个entry),则SQ1中的entry1的第一索引=1*256+1=257。
所述第二索引用于指示所述数据写操作在SQ中的位置。此索引信息(第二索引)可以无需记录在SQ中,通过SQ entry在SQ中存放的位置可以计算出来。例如,SQ entry1存放的起始地址为SQ的第64字节(SQ从0字节开始存放),单个entry大小为64字节,则SQ entry1的索引信息(第二索引)=64/64=1。
在一种可能的实现方式中,所述方法还可以包括:所述方法还可以包括:向所述存储设备发送第二索引,所述第二索引用于指示所述数据写操作在SQ中的位置。
示例性地,可以将第二索引写入存储设备的门铃(doorbell)寄存器。
可选地,上述DMA读请求还可以包括LBA偏移。其中,LBA偏移是相对上述起始LBA的LBA偏移量。
在一种可能的实现方式中,可以根据起始LBA和LBA偏移得到目标LBA。目标LB A为数据加解密中使用的LBA信息。
可选地,目标LBA可以满足:目标LBA=起始LBA+LBA偏移。
第二方面,本申请实施例提供了另一种数据处理方法,该方法包括:接收第二索引,所述第二索引用于指示数据写操作在提交队列SQ中的位置,所述数据写操作用于指示写入第一数据;根据所述第二索引生成DMA读请求,所述DMA读请求用于读取第一数据;向主机设备发送所述DMA读请求。
相关技术中,对单个数据读写请求进行加密操作需要多次内存访问。而在本申请实施例提供的数据处理方法中,向主机设备发送DMA读请求后,主机设备根据该请求仅需单次内存访问就可以实现数据加密,相较于多次内存访问可以降低数据加密操作的内存访问次数,以降低IO时延。
示例性地,在检测到doorbell寄存器有更新后,可以从doorbell寄存器中读第二索引,并获取SQ中的数据写操作,然后跟根据第二索引生成DMA读请求。
可选地,上述DMA读请求可以为用于64位内存寻址的PCI内存请求事务层数据包头格式(memory request transaction layer packet header format for 64-bitAddressing of Memory)的请求。
在一种可能的实现方式中,所述根据所述第二索引生成DMA读请求,可以包括:根据所述第二索引确定第一索引;根据所述第一索引生成所述DMA读请求。
可选地,上述DMA读请求还可以包括LBA偏移。其中,LBA偏移是相对上述起始LBA的LBA偏移量。
在一种可能的实现方式中,所述方法还可以包括:接收所述第一数据或第二数据,所述第二数据为加密后的所述第二数据。
第三方面,本申请实施例提供了另一种数据处理方法,该方法包括:接收存储设备发送的DMA写请求,所述DMA写请求用于指示写入第一数据;根据所述DMA写请求确定目标内存地址和所述第一数据的解密控制信息,所述解密控制信息包括第一索引、起始LBA、安全秘钥索引和解密开关信息;根据所述目标内存地址读取所述第一数据;根据所述解密控制信息对所述第一数据进行解密生成第二数据。
相关技术中,对单个数据读写请求进行解密操作需要多次内存访问。而在本申请实施例提供的数据处理方法中,仅需单次内存访问就可以实现数据解密,相较于多次内存访问可以降低数据解密操作的内存访问次数,以降低IO时延。
在一种可能的实现方式中,所述解密开关信息用于指示是否对所述第一数据进行解密,所述根据所述解密控制信息对所述第一数据进行解密生成第二数据,可以包括:在所述解密开关信息指示对所述第一数据进行解密的情况下,根据所述解密控制信息对所述第一数据进行解密生成所述第二数据。
在一种可能的实现方式中,所述方法还可以包括:获取数据读操作,所述数据读操作用于指示读取所述第一数据或所述第二数据;根据所述数据写操作确定所述第一索引;关联所述第一索引、所述起始LBA、安全秘钥索引和解密开关信息生成所述解密控制信息。
在一种可能的实现方式中,所述方法还可以包括:向所述存储设备发送第二索引,所述第二索引用于指示所述数据读操作在SQ中的位置。
第四方面,本申请实施例提供了另一种数据处理方法,该方法包括:接收第二索引,所述第二索引用于指示数据读操作在提交队列SQ中的位置,所述数据读操作用于指示读取第一数据;根据所述第二索引生成DMA写请求,所述DMA写请求用于写入第一数据;向主机设备发送所述DMA写请求。
相关技术中,对单个数据读写请求进行解码操作需要多次内存访问。而在本申请实施例提供的数据处理方法中,向主机设备发送DMA读请求后,主机设备根据该请求仅需单次内存访问就可以实现数据加密,相较于多次内存访问可以降低数据加密操作的内存访问次数,以降低IO时延。
在一种可能的实现方式中,所述根据所述第二索引生成DMA写请求,可以包括:根据所述第二索引确定第一索引;根据所述第一索引生成所述DMA写请求。
第五方面,本申请实施例还提供了一种数据处理装置,该装置包括处理单元,所述处理单元用于:接收存储设备发送的直接存储器访问DMA读请求,所述DMA读请求用于指示读取第一数据;根据所述DMA读请求确定目标内存地址和所述第一数据的加密控制信息,所述加密控制信息包括第一索引、起始逻辑区块地址LBA、安全秘钥索引和加密开关信息;根据所述目标内存地址读取所述第一数据;根据所述加密控制信息进行第一操作或第二操作,所述第一操作包括对所述第一数据进行加密生成第二数据并将所述第二数据发送给所述存储设备,所述第二操作包括将所述第一数据发送给所述存储设备。
在一种可能的实现方式中,所述处理单元还用于:向所述存储设备发送第二索引,所述第二索引用于指示所述数据写操作在提交队列SQ中的位置。
第六方面,本申请实施例还提供了另一种数据处理装置,该装置包括处理单元,所述处理单元用于:接收第二索引,所述第二索引用于指示数据写操作在提交队列SQ中的位置,所述数据写操作用于指示写入第一数据;根据所述第二索引生成DMA读请求,所述DMA读请求用于读取第一数据;向主机设备发送所述DMA读请求。
在一种可能的实现方式中,所述装置还用于:根据所述第二索引确定第一索引;根据所述第一索引生成所述DMA读请求。
第七方面,本申请实施例还提供了另一种数据处理装置,该装置包括处理单元,所述处理单元用于:接收存储设备发送的DMA写请求,所述DMA写请求用于指示写入第一数据;根据所述DMA写请求确定目标内存地址和所述第一数据的解密控制信息,所述解密控制信息包括第一索引、起始LBA、安全秘钥索引和解密开关信息;根据所述目标内存地址读取所述第一数据;根据所述解密控制信息对所述第一数据进行解密生成第二数据。
在一种可能的实现方式中,所述处理单元还用于:获取数据读操作,所述数据读操作用于指示读取所述第一数据或所述第二数据;根据所述数据写操作确定所述第一索引;关联所述第一索引、所述起始LBA、安全秘钥索引和解密开关信息生成所述解密控制信息。
在一种可能的实现方式中,所述处理单元还用于:向所述存储设备发送第二索引,所述第二索引用于指示所述数据读操作在SQ中的位置。
第八方面,本申请实施例还提供了另一种数据处理装置,该装置包括处理单元,所述处理单元用于:接收第二索引,所述第二索引用于指示数据读操作在提交队列SQ中的位置,所述数据读操作用于指示读取第一数据;根据所述第二索引生成DMA写请求,所述DMA写请求用于写入第一数据;向主机设备发送所述DMA写请求。
在一种可能的实现方式中,所述处理单元具体用于:根据所述第二索引确定第一索引;根据所述第一索引生成所述DMA写请求。
第九方面,本申请实施例还提供一种数据处理装置,该数据处理装置包括:至少一个处理器,当所述至少一个处理器执行程序代码或指令时,实现上述第一方面或其任意可能的实现方式中所述的方法。
可选地,该数据处理装置还可以包括至少一个存储器,该至少一个存储器用于存储该程序代码或指令。
第十方面,本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于实现上述第一方面或其任意可能的实现方式中所述的方法。
第十一方面,本申请实施例还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机实现上述第一方面或其任意可能的实现方式中所述的方法。
本实施例提供的数据处理装置、计算机存储介质和计算机程序产品均用于执行上文所提供的数据处理方法,因此,其所能达到的有益效果可参考上文所提供的数据处理方法中的有益效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种存储系统的结构示意图;
图2为本申请实施例提供的一种数据处理方法的流程示意图;
图3为本申请实施例提供的一种提交队列的示意图;
图4为本申请实施例提供的DMA读写请求的示意图;
图5为本申请实施例提供的另一种数据处理方法的流程示意图;
图6为本申请实施例提供的一种装置的结构示意图;
图7为本申请实施例提供的另一种装置的结构示意图;
图8为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请实施例的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括其他没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
需要说明的是,本申请实施例的描述中,“示例性地”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性地”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性地”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
相关技术中,存储设备(如NVMeSSD)对单个数据读写请求进行加密操作需要多次内存访问,从而造成IO时延较大。
为此,本申请实施例提供了一种数据处理方法,能够降低数据加密操作的内存访问次数。该方法可应用于存储系统。
示例性地,图1是本申请实施例提供的一例存储系统的结构示意图。如图1所示,存储系统可以包括主机设备100和存储设备200。
本申请实施例对主机设备100(即Host设备)的具体类型不作任何限制。例如,主机设备可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等。
如图1所示,主机设备100包括处理器、易失存储器、加解密引擎和总线接口。
处理器,用于处理用户的IO请求(即数据读写操作)。
易失存储器,用于存放用户的IO请求(即数据读写操作)和IO请求相关的数据。
加解密引擎,用于对访问存储设备的数据进行加解密。
可选地,加解密引擎可以包括秘钥空间和缓存空间。
秘钥空间,用于存放数据加解密需要的秘钥信息。
缓存空间,用于存放数据加解密需要的控制信息。
总线接口,用于对外提供互联访问的功能。
本申请实施例对存储设备200的具体类型不作任何限制。例如,存储设备200可以为嵌入式多媒体卡(embedded multi media card,eMMC)芯片、通用闪存(universal flashstorage,UFS)芯片、SSD、双数据速率(double data rate,DDR)内存、静态随机存取存储器(static random access memory,SRAM)、动态随机存取存储器(dynamic random accessmemory,DRAM)、NAND Flash(一种非易失性存储)、NorFlash(一种非易失性存储)存储设备等。
主机设备100和存储设备200可以通过总线接口进行通信。
本申请实施例对总线接口的具体类型不作任何限制。例如,总线接口可以为PCIe接口、UFS接口、eMMC接口或NVMe接口。
本申请实施例对主机设备100和存储设备200之间的存储协议不作任何限制。例如,主机设备100和存储设备200可以通过以太网、RDMA等存储协议进行承载。
可以理解的是,本申请实施例示意的结构并不构成对存储系统、主机设备和存储设备的具体限定。在本申请另一些实施例中,存储系统、主机设备和存储设备可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。例如,主机设备还可以包括DMA模块。又例如,存储设备还可以包括doorbell寄存器。
下面结合附图对本申请实施例提供用于数据加密的数据处理方法,进行详细说明,如图2所示,本申请实施例提供的数据处理方法包括:
S201、主机设备获取数据写操作。
其中,所述数据写操作用于指示写入第一数据。数据写操作也可以称为IO写请求或IO写请求命令。
S202、主机设备根据数据写操作确定第一索引。
示例性地,主机设备在获取数据写操作后,会将数据写操作在SQ中顺序存放。然后根据该数据写操作的第二索引,确定上述第一索引,其中,一个数据读(写)操作对应一个SQ。第一索引也可以称为命令索引信息。
如图3所示,假设主机设备处理器为8core,存储设备为PCIe NVMe SSD。主机设备侧的SSD驱动软件会建立8个数据读(写)操作的SQ,每一个SQ对应一个处理器core;每个SQ由n个SQ entry组成(NVMe协议规定一个SQ entry为64字节)。
如图3所示,每个SQ entry中包含数据读(写)操作相关的起始LBA、data memoryaddress information、length、op code等信息。
上述第一索引可以满足:第一索引=SQ号*SQ深度+第二索引。例如,若上述数据写操作为SQ1中的entry1,每个SQ的深度为256(即每个SQ中可以存放256个entry),则SQ1中的entry1的第一索引=1*256+1=257。
所述第二索引用于指示所述数据写操作在SQ中的位置。此索引信息(第二索引)可以无需记录在SQ中,可以通过SQ entry在SQ中存放的位置可以计算出来。例如,SQ entry1存放的起始地址为SQ的第64字节(SQ从0字节开始存放),单个entry大小为64字节,则SQentry1的索引信息(第二索引)=64/64=1。
S203、主机设备关联第一索引、起始LBA、安全秘钥索引和加密开关信息生成加密控制信息。
加密控制信息可以不包括安全秘钥索引。例如,当加密引擎中仅有一组安全秘钥可用时,加密控制信息可以不包括安全秘钥索引信息。
如表1所示,每组加密控制信息可以对应一组安全加密秘钥。加密控制信息可以存放于加密引擎的缓存空间内,安全秘钥可以存放于加密引擎的密钥空间内。
表1
S204、主机设备向存储设备发送第二索引。
相应地,存储设备接收第二索引。
示例性地,主机设备可以将第二索引写入存储设备的doorbell寄存器中。存储设备在检测到doorbell寄存器有更新后,可以从doorbell寄存器中读取第二索引。
S205、存储设备根据第二索引生成DMA读请求。
其中,所述DMA读请求用于读取第一数据。DMA读请求可以包括第一索引。
在一种可能的实现方式中,存储设备可以先根据所述第二索引确定第一索引,然后根据所述第一索引生成所述DMA读请求。
可选地,DMA读请求还可以包括数据所在的内存地址信息(即目标内存地址)和/或LBA偏移。其中,LBA偏移是相对上述起始LBA的LBA偏移量。
示例性地,如表2所示,DMA请求中可以包括x比特(bit)的预留字段、11bit的第一索引、8bit的LBA偏移和(43-x)bit的DMA数据的真实内存地址。
表2
可选地,上述DMA读请求可以为图4所示的PCI memory request TLP header format for 64-bit Addressing of Memory的请求。
S206、存储设备向主机设备发送DMA读请求。
相应地,主机设备接收存储设备发送的DMA读请求。
S207、主机设备根据DMA读请求确定目标内存地址和第一数据的加密控制信息。
其中,加密控制信息包括第一索引、起始LBA、安全秘钥索引和加密开关信息。目标内存地址即上述DMA数据的真实内存地址。
可选地,加密开关信息可以用于指示是否对所述第一数据进行加密。
S208、主机设备根据目标内存地址读取第一数据。
在一种可能的实现方式中,主机设备的DMA模块可以根据上述目标内存地址读取所述第一数据。
S209、主机设备根据加密控制信息进行第一操作或第二操作。
其中,所述第一操作包括对所述第一数据进行加密生成第二数据并将所述第二数据发送给所述存储设备,所述第二操作包括将所述第一数据发送给所述存储设备。
在一种可能的实现方式中,若所述加密开关信息指示对所述第一数据进行加密,主机设备则进行所述第一操作。
示例性地,主机设备可以根据第一数据的加密控制信息中的第一索引、起始LBA、安全秘钥索引和表1所示的对应关系确定该加密控制信息对应的安全秘钥,然后利用加密算法结合该安全秘钥对上述第一数据进行加密生成第二数据,之后通过PCIe端口将第二数据发送给存储设备。
其中,密文数据(第二数据)可以通过明文数据(第一数据)、IV向量和安全秘钥得到。IV向量可以通过IV生成算法和目标LBA得到。目标LBA为数据加解密中使用的LBA信息。
可选地,目标LBA可以满足:目标LBA=起始LBA+LBA偏移。
在一种可能的实现方式中,若所述加密开关信息指示对所述第一数据不进行加密,主机设备则进行所述第二操作。
可以理解的是,加密开关信息指示对第一数据进行加密说明第一数据需要进行加密。因此可以通过执行第一操作对第一数据进行加密以确保数据安全。加密开关信息指示对第一数据不进行加密说明第一数据不需要进行加密。因此可以通过执行第二操作直接发送未加密的第一数据以提高传输效率,降低IO时延。
可以看出,在本申请实施例提供的数据处理方法中,仅需单次内存访问就可以实现数据加密,相较于多次内存访问可以降低数据加密操作的内存访问次数,以降低IO时延。
S210、存储设备将第一数据或第二数据保存到存储介质中。
可选地,存储设备将第一数据或第二数据保存到存储介质后,可以向主机设备发送IO写完成请求(数据写操作完成请求)。相应地,主机设备在收到IO写完成请求(数据写操作完成请求)后,完成IO加密操作(数据加密操作)。
下面结合附图对本申请实施例提供用于数据解密的数据处理方法,进行详细说明,如图5所示,本申请实施例提供的数据处理方法包括:
S501、主机设备获取数据读操作。
其中,所述数据读操作用于指示读取第一数据。数据读操作也可以称为IO读请求或IO读请求命令。
S502、主机设备根据数据读操作确定第一索引。
示例性地,主机设备在获取数据读操作后,会将数据写操作在SQ中顺序存放。然后根据该数据读操作的第二索引,确定上述第一索引,其中,一个数据读(写)操作对应一个SQ。第一索引也可以称为命令索引信息。
S502的具体实现方式可以参考上述S202,在此就不再赘述。
S503、主机设备关联第一索引、起始LBA、安全秘钥索引和解密开关信息生成解密控制信息。
解密控制信息可以不包括安全秘钥索引。例如,当解密引擎中仅有一组安全秘钥可用时,解密控制信息可以不包括安全秘钥索引信息。
其中,每组解密控制信息可以对应一组安全解密秘钥。解密控制信息可以存放于解密引擎的缓存空间内,安全秘钥可以存放于解密引擎的密钥空间内。
S504、主机设备向存储设备发送第二索引。
相应地,存储设备接收第二索引。
示例性地,主机设备可以将第二索引写入存储设备的doorbell寄存器中。存储设备在检测到doorbell寄存器有更新后,可以从doorbell寄存器中读取第二索引。
S505、存储设备根据第二索引生成DMA写请求。
其中,所述DMA写请求用于写入第一数据。DMA写请求可以包括第一索引。
在一种可能的实现方式中,存储设备可以先根据所述第二索引确定第一索引,然后根据所述第一索引生成所述DMA写请求。
可选地,DMA写请求还可以包括数据所在的内存地址信息(即目标内存地址)和/或LBA偏移。其中,LBA偏移是相对上述起始LBA的LBA偏移量。
S506、存储设备向主机设备发送DMA写请求。
相应地,主机设备接收存储设备发送的DMA写请求。
示例性地,存储设备可通过PCIe接口向主机设备发送DMA写请求。相应地,主机设备可以通过PCIe接口接收存储设备发送的DMA写请求。
S507、主机设备根据DMA写请求确定目标内存地址和第一数据的解密控制信息。
其中,解密控制信息包括第一索引、起始LBA、安全秘钥索引和解密开关信息。目标内存地址即上述DMA数据的真实内存地址。
可选地,解密开关信息可以用于指示是否对所述第一数据进行解密。
S508、主机设备根据目标内存地址读取第一数据。
在一种可能的实现方式中,主机设备的DMA模块可以根据上述目标内存地址读取所述第一数据。
S509、主机设备根据所述解密控制信息进行第三操作或第四操作。
其中,所述第三操作包括对所述第一数据进行解密生成第二数据并将所述第二数据写入易失存储器中,所述第二操作包括将所述第一数据写入易失存储器中。
在一种可能的实现方式中,若所述解密开关信息指示对所述第一数据进行解密,主机设备则进行所述第一操作。
示例性地,主机设备可以根据第一数据的解密控制信息中的第一索引、起始LBA、安全秘钥索引和解密控制信息与安全秘钥的对应关系确定该解密控制信息对应的安全秘钥,然后利用解密算法结合该安全秘钥对上述第一数据进行解密生成第二数据,之后将所述第二数据写入主机设备的易失存储器中。
其中,明文数据(第二数据)可以通过密文数据(第一数据)、IV向量和安全秘钥得到。IV向量可以通过IV生成算法和目标LBA得到。目标LBA为数据加解密中使用的LBA信息。
可选地,目标LBA可以满足:目标LBA=起始LBA+LBA偏移。
在一种可能的实现方式中,若所述解密开关信息指示对所述第一数据不进行解密,主机设备则进行所述第二操作。
可以看出,在本申请实施例提供的数据处理方法中,仅需单次内存访问就可以实现数据解密,相较于多次内存访问可以降低数据解密操作的内存访问次数,以降低IO时延。
可选地,存储设备在完成DMA写请求后,可以向主机设备发送IO读完成请求(数据读操作完成请求)。相应地,主机设备在收到IO读完成请求(数据读操作完成请求)后,完成IO解密操作(数据解密操作)。
下面将结合图6和图7介绍用于执行上述数据处理方法的数据处理装置。
可以理解的是,数据处理装置为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对数据处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图6示出了上述实施例中涉及的数据处理装置的一种可能的组成示意图,如图6所示,该装置600可以包括:收发单元601和处理单元602,该处理单元602可以实现上述方法实施例中由数据处理装置所执行的方法,和/或用于本文所描述的技术的其他过程。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,装置600可以包括处理单元、存储单元和通信单元。其中,处理单元可以用于对装置600的动作进行控制管理,例如,可以用于支持装置600执行上述各个单元执行的步骤。存储单元可以用于支持装置600执行存储程序代码、和/或数据等。通信单元可以用于支持装置600与其他设备的通信。
其中,处理单元可以是处理器或控制器。其可以实现或执行结合本申请实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储单元可以是存储器。通信单元具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他数据处理装置交互的设备。
在一种可能的实现方式中,本申请实施例所涉及的数据处理装置可以为具有图7所示结构的装置700,该装置700包括处理器701和收发器702图6中的收发单元601和处理单元602所实现的相关功能可以由处理器701来实现。
可选地,该装置700还可以包括存储器703,该处理器701和该存储器703通过内部连接通路互相通信。图6中的存储单元所实现的相关功能可以由存储器703来实现。
本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在数据处理装置上运行时,使得数据处理装置执行上述相关方法步骤实现上述实施例中的数据处理方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的数据处理方法。
本申请实施例还提供一种数据处理装置,这个装置具体可以是芯片、集成电路、组件或模块。具体的,该装置可包括相连的处理器和用于存储指令的存储器,或者该装置包括至少一个处理器,用于从外部存储器获取指令。当装置运行时,处理器可执行指令,以使芯片执行上述各方法实施例中的数据处理方法。
图8示出了一种芯片800的结构示意图。芯片800包括一个或多个处理器801以及接口电路802。可选的,上述芯片800还可以包含总线803。
处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述数据处理方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。
可选地,上述的处理器801可以是通用处理器、数字信号处理(digital signalproces sing,DSP)器、集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
接口电路802可以用于数据、指令或者信息的发送或者接收,处理器801可以利用接口电路802接收的数据、指令或者其他信息,进行加工,可以将加工完成信息通过接口电路802发送出去。
可选的,芯片还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-vo latile random access memory,NVRAM)。
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
可选的,芯片可以使用在本申请实施例涉及的数据处理装置或DOP中。可选的,接口电路802可用于输出处理器801的执行结果。关于本申请实施例的一个或多个实施例提供的数据处理方法可参考前述各个实施例,这里不再赘述。
需要说明的,处理器801、接口电路802各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
其中,本实施例提供的装置、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
应理解,在本申请实施例的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请实施例的具体实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。因此,本申请实施例的保护范围应所述以权利要求的保护范围为准。

Claims (27)

1.一种数据处理方法,其特征在于,包括:
接收存储设备发送的直接存储器访问DMA读请求,所述DMA读请求用于指示读取第一数据;
根据所述DMA读请求确定目标内存地址和所述第一数据的加密控制信息,所述加密控制信息包括第一索引、起始逻辑区块地址LBA、安全秘钥索引和加密开关信息;
根据所述目标内存地址读取所述第一数据;
根据所述加密控制信息进行第一操作或第二操作,所述第一操作包括对所述第一数据进行加密生成第二数据并将所述第二数据发送给所述存储设备,所述第二操作包括将所述第一数据发送给所述存储设备。
2.根据权利要求1所述的方法,其特征在于,所述根据所述DMA读请求确定目标内存地址和所述第一数据的加密控制信息,包括:
根据所述DMA读请求确定目标内存地址和所述第一索引;
根据所述第一索引确定所述加密控制信息。
3.根据权利要求1或2所述的方法,其特征在于,所述加密开关信息用于指示是否对所述第一数据进行加密,所述根据所述加密控制信息进行第一操作或第二操作,包括:
在所述加密开关信息指示对所述第一数据进行加密的情况下,进行所述第一操作;
在所述加密开关信息指示对所述第一数据不进行加密的情况下,进行所述第二操作。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取数据写操作,所述数据写操作用于指示写入所述第一数据;
根据所述数据写操作确定所述第一索引;
关联所述第一索引、所述起始LBA、安全秘钥索引和加密开关信息生成所述加密控制信息。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
向所述存储设备发送第二索引,所述第二索引用于指示所述数据写操作在提交队列SQ中的位置。
6.一种数据处理方法,其特征在于,包括:
接收第二索引,所述第二索引用于指示数据写操作在提交队列SQ中的位置,所述数据写操作用于指示写入第一数据;
根据所述第二索引生成DMA读请求,所述DMA读请求用于读取第一数据;
向主机设备发送所述DMA读请求。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二索引生成DMA读请求,包括:
根据所述第二索引确定第一索引;
根据所述第一索引生成所述DMA读请求。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括:
接收所述第一数据或第二数据,所述第二数据为加密后的所述第二数据。
9.一种数据处理方法,其特征在于,包括:
接收存储设备发送的DMA写请求,所述DMA写请求用于指示写入第一数据;
根据所述DMA写请求确定目标内存地址和所述第一数据的解密控制信息,所述解密控制信息包括第一索引、起始LBA、安全秘钥索引和解密开关信息;
根据所述目标内存地址读取所述第一数据;
根据所述解密控制信息对所述第一数据进行解密生成第二数据。
10.根据权利要求9所述的方法,其特征在于,所述解密开关信息用于指示是否对所述第一数据进行解密,所述根据所述解密控制信息对所述第一数据进行解密生成第二数据,包括:
在所述解密开关信息指示对所述第一数据进行解密的情况下,根据所述解密控制信息对所述第一数据进行解密生成所述第二数据。
11.根据权利要求9或10所述的方法,其特征在于,所述方法还包括:
获取数据读操作,所述数据读操作用于指示读取所述第一数据或所述第二数据;
根据所述数据写操作确定所述第一索引;
关联所述第一索引、所述起始LBA、安全秘钥索引和解密开关信息生成所述解密控制信息。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
向所述存储设备发送第二索引,所述第二索引用于指示所述数据读操作在SQ中的位置。
13.一种数据处理方法,其特征在于,包括:
接收第二索引,所述第二索引用于指示数据读操作在提交队列SQ中的位置,所述数据读操作用于指示读取第一数据;
根据所述第二索引生成DMA写请求,所述DMA写请求用于写入第一数据;
向主机设备发送所述DMA写请求。
14.根据权利要求13所述的方法,其特征在于,所述根据所述第二索引生成DMA写请求,包括:
根据所述第二索引确定第一索引;
根据所述第一索引生成所述DMA写请求。
15.一种数据处理装置,其特征在于,所述装置包括处理单元,所述处理单元用于:
接收存储设备发送的DMA读请求,所述DMA读请求用于指示读取第一数据;
根据所述DMA读请求确定目标内存地址和所述第一数据的加密控制信息,所述加密控制信息包括第一索引、起始LBA、安全秘钥索引和加密开关信息;
根据所述目标内存地址读取所述第一数据;
根据所述加密控制信息进行第一操作或第二操作,所述第一操作包括对所述第一数据进行加密生成第二数据并将所述第二数据发送给所述存储设备,所述第二操作包括将所述第一数据发送给所述存储设备。
16.根据权利要求15所述的装置,其特征在于,所述处理单元还用于:
获取数据写操作,所述数据写操作用于指示写入所述第一数据;
根据所述数据写操作确定所述第一索引;
关联所述第一索引、所述起始LBA、安全秘钥索引和加密开关信息生成所述加密控制信息。
17.根据权利要求15或16所述的装置,其特征在于,所述处理单元还用于:
向所述存储设备发送第二索引,所述第二索引用于指示所述数据写操作在提交队列SQ中的位置。
18.一种数据处理装置,其特征在于,所述装置包括处理单元,所述处理单元用于:
接收第二索引,所述第二索引用于指示数据写操作在提交队列SQ中的位置,所述数据写操作用于指示写入第一数据;
根据所述第二索引生成DMA读请求,所述DMA读请求用于读取第一数据;
向主机设备发送所述DMA读请求。
19.权利要求18所述的装置,其特征在于,所述装置还用于:
根据所述第二索引确定第一索引;
根据所述第一索引生成所述DMA读请求。
20.一种数据处理装置,其特征在于,所述装置包括处理单元,所述处理单元用于:
接收存储设备发送的DMA写请求,所述DMA写请求用于指示写入第一数据;
根据所述DMA写请求确定目标内存地址和所述第一数据的解密控制信息,所述解密控制信息包括第一索引、起始LBA、安全秘钥索引和解密开关信息;
根据所述目标内存地址读取所述第一数据;
根据所述解密控制信息对所述第一数据进行解密生成第二数据。
21.根据权利要求20所述的装置,其特征在于,所述处理单元还用于:
获取数据读操作,所述数据读操作用于指示读取所述第一数据或所述第二数据;
根据所述数据写操作确定所述第一索引;
关联所述第一索引、所述起始LBA、安全秘钥索引和解密开关信息生成所述解密控制信息。
22.根据权利要求20或21所述的装置,其特征在于,所述处理单元还用于:
向所述存储设备发送第二索引,所述第二索引用于指示所述数据读操作在SQ中的位置。
23.一种数据处理装置,其特征在于,所述装置包括处理单元,所述处理单元用于:
接收第二索引,所述第二索引用于指示数据读操作在提交队列SQ中的位置,所述数据读操作用于指示读取第一数据;
根据所述第二索引生成DMA写请求,所述DMA写请求用于写入第一数据;
向主机设备发送所述DMA写请求。
24.根据权利要求23所述的装置,其特征在于,所述处理单元具体用于:
根据所述第二索引确定第一索引;
根据所述第一索引生成所述DMA写请求。
25.一种数据处理装置,包括至少一个处理器和接口电路,所述至少一个处理器和所述接口电路耦合,其特征在于,所述至少一个处理器执行存储在存储器中的程序或指令,以使得所述数据处理装置实现权利要求1至14中任一项所述的方法。
26.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序包括用于实现上述权利要求1至14中任一项所述的方法的指令。
27.一种计算机程序产品,所述计算机程序产品中包含指令,其特征在于,当所述指令在计算机或处理器上运行时,使得所述计算机或所述处理器实现上述权利要求1至14中任一项所述的方法。
CN202210321960.2A 2022-03-30 2022-03-30 数据处理方法和装置 Pending CN116932422A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210321960.2A CN116932422A (zh) 2022-03-30 2022-03-30 数据处理方法和装置
PCT/CN2023/073603 WO2023185230A1 (zh) 2022-03-30 2023-01-28 数据处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210321960.2A CN116932422A (zh) 2022-03-30 2022-03-30 数据处理方法和装置

Publications (1)

Publication Number Publication Date
CN116932422A true CN116932422A (zh) 2023-10-24

Family

ID=88199031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210321960.2A Pending CN116932422A (zh) 2022-03-30 2022-03-30 数据处理方法和装置

Country Status (2)

Country Link
CN (1) CN116932422A (zh)
WO (1) WO2023185230A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101869059B1 (ko) * 2012-02-28 2018-06-20 삼성전자주식회사 저장 장치 및 그것의 메모리 컨트롤러
US10181946B2 (en) * 2015-07-20 2019-01-15 Intel Corporation Cryptographic protection of I/O data for DMA capable I/O controllers
CN108363670B (zh) * 2017-01-26 2020-07-14 华为技术有限公司 一种数据传输的方法、装置、设备和系统

Also Published As

Publication number Publication date
WO2023185230A1 (zh) 2023-10-05

Similar Documents

Publication Publication Date Title
US11088846B2 (en) Key rotating trees with split counters for efficient hardware replay protection
CN107430670B (zh) 用于存储器保护的柔性计数器系统
US8054972B2 (en) Encryption processor of memory card and method for writing and reading data using the same
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
EP2803012B1 (en) Using storage controller bus interfaces to secure data transfer between storage devices and hosts
JP4684550B2 (ja) 多数の動作モードを支援する暗号化装置
US10027640B2 (en) Secure data re-encryption
EP3326106A1 (en) Technologies for integrity, anti-replay, and authenticity assurance for i/o data
US20220197825A1 (en) System, method and apparatus for total storage encryption
KR20080074848A (ko) 마이크로제어기 내의 데이터 보안 처리를 위한 방법 및장치
US9419972B2 (en) Two dimensional direct memory access scheme for enhanced network protocol processing performance
WO2008031109A2 (en) System and method for encrypting data
US11288212B2 (en) System, apparatus, and method for secure deduplication
KR100827227B1 (ko) 저성능 저장장치의 drm 권리 객체를 효율적으로관리하는 방법 및 장치
CN111699467B (zh) 安全元件、数据处理装置及数据处理方法
CN112088376A (zh) 一种文件存储方法、装置及存储介质
CN116070239A (zh) 文件加密、解密方法、装置、设备及存储介质
CN116932422A (zh) 数据处理方法和装置
CN116010991A (zh) 数据加密方法、数据解密方法、电子设备及可读存储介质
CN111512308A (zh) 一种存储控制器、文件处理方法、装置及系统
US8010802B2 (en) Cryptographic device having session memory bus
US9058295B2 (en) Encrypt data of storage device
CN110837627A (zh) 一种基于硬盘序列号的软件版权认证方法、系统和设备
US20230116306A1 (en) Privacy preserving column binding implementation
CN101763485A (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