CN110163011B - 一种高速安全硬盘设计方法 - Google Patents

一种高速安全硬盘设计方法 Download PDF

Info

Publication number
CN110163011B
CN110163011B CN201910397568.4A CN201910397568A CN110163011B CN 110163011 B CN110163011 B CN 110163011B CN 201910397568 A CN201910397568 A CN 201910397568A CN 110163011 B CN110163011 B CN 110163011B
Authority
CN
China
Prior art keywords
data
encryption
hard disk
command
address
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
CN201910397568.4A
Other languages
English (en)
Other versions
CN110163011A (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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201910397568.4A priority Critical patent/CN110163011B/zh
Publication of CN110163011A publication Critical patent/CN110163011A/zh
Application granted granted Critical
Publication of CN110163011B publication Critical patent/CN110163011B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种高速安全硬盘设计方法,涉及计算机存储技术领域。本发明采用延迟更低、速度更高的NVMe接口与主机连接,安全加密防护单元设置多个加密算法核对数据进行加解密,并设置多个硬盘并行存取数据,数据吞吐率可达千兆字节每秒数量级,大大提高了安全硬盘的性能。

Description

一种高速安全硬盘设计方法
技术领域
本发明涉及计算机存储技术领域,具体涉及一种高速安全硬盘设计方法。
背景技术
安全硬盘是为保护用户数据安全而进行安全增强设计的计算机存储设备。
传统的安全硬盘采用传统硬盘接口、单算法核加密、单硬盘存储数据的架构。传统硬盘接口为IDE接口或者SATA接口,其理论传输速率被限制在百兆字节每秒数量级。单算法核加密、单硬盘存储数据的架构也限制了传统安全硬盘的数据吞吐率。传统的安全硬盘组成框图如图1所示。
可以看出,传统的安全硬盘受限于加密技术、接口速度或者硬盘本身的访问速度,其性能难以满足高性能计算机、服务器对存储设备的性能需求。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种高速安全硬盘,突破原有单核加密、单盘存储对安全硬盘性能的限制。
(二)技术方案
为了解决上述技术问题,本发明提供了一种高速安全硬盘设计方法,所述高速安全硬盘设计为采用NVMe接口与外部主机连接,包括安全加密防护单元和N个SATA接口硬盘,安全加密防护单元和N个SATA接口硬盘之间分别通过SATA接口连接,所述安全加密防护单元包括N个加密算法通道和N个存储通道,安全加密防护单元内采用硬件对NVMe协议进行解析,解析出主机下发的命令类型、扇区地址以及数据载荷;然后把地址信息通过映射算法映射到对应的加密算法通道或存储通道,每个存储通道对应一个SATA接口硬盘。
优选地,所述安全加密防护单元还包括NVMe协议处理单元、映射单元和临时缓冲区,所述NVMe协议处理单元用于解析写命令或读命令。
优选地,所述NVMe协议有两种命令:管理命令和I/O命令,管理命令用于主机管理和控制存储设备,I/O命令用于主机和存储设备间数据传输;NVMe驱动支持的I/O命令包括读命令、写命令;
所述高速安全硬盘的工作原理设计为:主机进行写操作时,首先把写命令放入提交队列,并通过门铃的方式通知高速安全硬盘,高速安全硬盘收到门铃后启动DMA操作取出写命令,然后NVMe协议处理单元解析出该写命令的信息,包括起始地址、扇区数;然后,映射单元根据映射算法把扇区地址映射到相应的加密通道,扇区地址的低位地址作为加密通道选择信号,高位地址作为相应存储通道的地址;接着,把数据载荷依次送入对应的加密算法通道进行加密操作;加密算法核设计为对称加密算法,既可做加密运算,也可做解密运算;明文数据每M字节一组输入加密算法核,经过加密运算后输出M字节密文数据;密文数据存入临时缓冲区;最后,同时向N个存储通道发出写数据请求,即SATA写命令,把加密结果存入普通SATA接口硬盘;待所有数据写入完成后,NVMe协议处理单元把命令执行结果写入主机完成队列。
优选地,所述高速安全硬盘的工作原理还设计为:主机进行读操作时,首先把读命令放入提交队列,并通过门铃的方式通知所述高速安全硬盘,高速安全硬盘收到门铃后启动DMA操作取出读命令,然后NVMe协议处理单元解析出该读命令的信息,包括起始地址、扇区数;然后,同时向N个存储通道发出读数据请求,即SATA读命令,N个存储通道同时从扇区地址高两位指示的地址处读数据,读出的数据存入临时缓冲区;接着,密文数据每M字节一组输入加密算法通道的加密算法核,经过解密运算后输出M字节的明文数据;最后,根据扇区地址信息的低两位把从N个加密算法通道获得的明文数据重新排序,由NVMe协议处理单元组成数据包返回给主机,待所有数据读取完毕,NVMe协议处理单元把命令执行结果写入主机完成队列。
优选地,N=4。
优选地,扇区地址的低两位地址作为加密通道选择信号,00代表0通道,01代表1通道,10代表2通道,11代表3通道。
优选地,M=16。
本发明还提供了一种利用所述的方法所设计的高速安全硬盘。
(三)有益效果
本发明采用延迟更低、速度更高的NVMe接口与主机连接,安全加密防护单元设置多个加密算法核对数据进行加解密,并设置多个硬盘并行存取数据,数据吞吐率可达千兆字节每秒数量级,大大提高了安全硬盘的性能。
附图说明
图1为传统安全硬盘组成框图;
图2为本发明设计的高速安全硬盘组成框图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图2所示,本发明的高速安全硬盘设计为采用NVMe接口与外部主机连接,包括安全加密防护单元和N个普通SATA接口硬盘,安全加密防护单元和N个普通SATA接口硬盘之间分别通过SATA接口连接,所述安全加密防护单元包括NVMe协议处理单元、映射单元、N个加密算法通道、N个存储通道和临时缓冲区。安全加密防护单元内采用硬件对NVMe协议进行解析,解析出主机下发的命令类型、扇区地址以及数据载荷。然后把地址信息通过映射算法映射到对应的加密及存储通道。
为了解决数据加解密的速度瓶颈,安全加密防护单元内实现多个硬件加密核并行对数据进行加解密。与加解密通道对应,设置多个通往存储通道的普通硬盘,多通道并行存取数据,大大提高了数据吞吐率。本发明中以通用的SATA接口硬盘为例。该架构易于扩展,本发明中以四个加密及存储通道为例,具体实现时可以根据需求进行扩展。
NVMe协议有两种命令:管理命令和I/O命令。管理命令用于主机管理和控制存储设备,I/O命令用于主机和存储设备间数据传输。
NVMe驱动支持的I/O命令主要包括读命令(READ)、写命令(WRITE)。
主机进行写操作时,首先把写命令放入提交队列,并通过门铃的方式通知设备,设备收到门铃后启动DMA操作取出写命令,然后NVMe协议处理单元解析出该写命令的详细信息,包括起始地址、扇区数。然后,映射单元根据映射算法把扇区地址映射到相应的加密通道。以四个加密通道为例,扇区地址的低两位地址作为加密通道选择信号,00代表0通道,01代表1通道,10代表2通道,11代表3通道。高位地址作为相应存储通道的地址。接着,把数据载荷依次送入对应的加密算法通道进行加密操作。加密算法核设计为对称加密算法,既可以做加密运算,也可以做解密运算。明文数据每16字节一组输入加密算法核,经过加密运算后输出16字节密文数据。密文数据存入临时缓冲区。最后,同时向四个存储通道发出写数据请求,即SATA写命令,把加密结果存入普通SATA接口硬盘。待所有数据写入完成后,NVMe协议处理单元把命令执行结果写入主机完成队列。
主机进行读操作时,首先把读命令放入提交队列,并通过门铃的方式通知设备,设备收到门铃后启动DMA操作取出读命令,然后NVMe协议处理单元解析出该读命令的详细信息,例如起始地址、扇区数等。然后,同时向四个存储通道发出读数据请求,即SATA读命令,四个存储通道同时从扇区地址高位(除了低两位)指示的地址处读数据,读出的数据存入临时缓冲区。接着,密文数据每16字节一组输入加密算法通道的加密算法核,经过解密运算后输出16字节的明文数据。最后,根据扇区地址信息的低两位把从四个加密算法通道获得的明文数据重新排序,由NVMe协议处理单元组成数据包返回给主机。待所有数据读取完毕,NVMe协议处理单元把命令执行结果写入主机完成队列。
可以看出,由于NVMe是基于PCIe接口封装的一种针对固态存储的协议,所以本发明使用硬件对该协议进行解析才能充分发挥其性能。为了提高系统整体吞吐率,本发明设置多个加密算法核对数据进行加解密,相应地设置多个硬盘并行存取数据。主机写数据时把主机下发的数据根据其扇区地址映射到不同的硬盘存储,主机读取数据时需要根据该映射算法到指定硬盘读取数据,返回主机。本发明实现了多个硬盘并行处理数据,数据吞吐率可达千兆字节每秒数量级,大大提高了安全硬盘的性能。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (5)

1.一种高速安全硬盘设计方法,其特征在于,所述高速安全硬盘设计为采用NVMe接口与外部主机连接,包括安全加密防护单元和N个SATA接口硬盘,安全加密防护单元和N个SATA接口硬盘之间分别通过SATA接口连接,所述安全加密防护单元包括N个加密算法通道和N个存储通道,安全加密防护单元内采用硬件对NVMe协议进行解析,解析出主机下发的命令类型、扇区地址以及数据载荷;然后把地址信息通过映射算法映射到对应的加密算法通道或存储通道,每个存储通道对应一个SATA接口硬盘;
所述安全加密防护单元还包括NVMe协议处理单元、映射单元和临时缓冲区,所述NVMe协议处理单元用于解析写命令或读命令;
所述NVMe协议有两种命令:管理命令和I/O命令,管理命令用于主机管理和控制存储设备,I/O命令用于主机和存储设备间数据传输;NVMe驱动支持的I/O命令包括读命令、写命令;
所述高速安全硬盘的工作原理设计为:主机进行写操作时,首先把写命令放入提交队列,并通过门铃的方式通知高速安全硬盘,高速安全硬盘收到门铃后启动DMA操作取出写命令,然后NVMe协议处理单元解析出该写命令的信息,包括起始地址、扇区数;然后,映射单元根据映射算法把扇区地址映射到相应的加密通道,扇区地址的低位地址作为加密通道选择信号,高位地址作为相应存储通道的地址;接着,把数据载荷依次送入对应的加密算法通道进行加密操作;加密算法核设计为对称加密算法,既可做加密运算,也可做解密运算;明文数据每M字节一组输入加密算法核,经过加密运算后输出M字节密文数据;密文数据存入临时缓冲区;最后,同时向N个存储通道发出写数据请求,即SATA写命令,把加密结果存入普通SATA接口硬盘;待所有数据写入完成后,NVMe协议处理单元把命令执行结果写入主机完成队列;
所述高速安全硬盘的工作原理还设计为:主机进行读操作时,首先把读命令放入提交队列,并通过门铃的方式通知所述高速安全硬盘,高速安全硬盘收到门铃后启动DMA操作取出读命令,然后NVMe协议处理单元解析出该读命令的信息,包括起始地址、扇区数;然后,同时向N个存储通道发出读数据请求,即SATA读命令,N个存储通道同时从扇区地址高两位指示的地址处读数据,读出的数据存入临时缓冲区;接着,密文数据每M字节一组输入加密算法通道的加密算法核,经过解密运算后输出M字节的明文数据;最后,根据扇区地址信息的低两位把从N个加密算法通道获得的明文数据重新排序,由NVMe协议处理单元组成数据包返回给主机,待所有数据读取完毕,NVMe协议处理单元把命令执行结果写入主机完成队列。
2.如权利要求1所述的方法,其特征在于,N=4。
3.如权利要求2所述的方法,其特征在于,扇区地址的低两位地址作为加密通道选择信号,00代表0通道,01代表1通道,10代表2通道,11代表3通道。
4.如权利要求1所述的方法,其特征在于,M=16。
5.一种利用如权利要求1至4中任一项所述的方法所设计的高速安全硬盘。
CN201910397568.4A 2019-05-14 2019-05-14 一种高速安全硬盘设计方法 Active CN110163011B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910397568.4A CN110163011B (zh) 2019-05-14 2019-05-14 一种高速安全硬盘设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910397568.4A CN110163011B (zh) 2019-05-14 2019-05-14 一种高速安全硬盘设计方法

Publications (2)

Publication Number Publication Date
CN110163011A CN110163011A (zh) 2019-08-23
CN110163011B true CN110163011B (zh) 2021-06-08

Family

ID=67634519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910397568.4A Active CN110163011B (zh) 2019-05-14 2019-05-14 一种高速安全硬盘设计方法

Country Status (1)

Country Link
CN (1) CN110163011B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076066B (zh) * 2021-04-14 2023-12-08 湖南兴天电子科技股份有限公司 大容量高速存储设备及其运行方法
CN114691584B (zh) * 2022-04-01 2023-10-27 广州万协通信息技术有限公司 一种基于pcie接口高速数据流的sm1加解密装置
CN115033188B (zh) * 2022-08-10 2022-11-15 武汉麓谷科技有限公司 一种基于zns固态硬盘的存储硬件加速模块系统
CN116860182B (zh) * 2023-09-04 2023-11-07 江苏华存电子科技有限公司 一种利用cxl协议把ftl全映射表放在主机端ram的读写方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852025B2 (en) * 2016-03-29 2017-12-26 Alibaba Group Holding Limited Protecting data stored on a solid state drive
CN109271096A (zh) * 2017-12-28 2019-01-25 新华三技术有限公司 Nvme存储扩展系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106104500B (zh) * 2013-11-26 2020-05-19 英特尔公司 存储数据的方法和设备
CN204791027U (zh) * 2015-07-02 2015-11-18 沈阳睿隆鸿业科技有限公司 安全固态硬盘控制器
CN106169041B (zh) * 2016-07-06 2019-05-28 于哲 一种基于usbkey鉴权的安全加密移动硬盘及其数据传输方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852025B2 (en) * 2016-03-29 2017-12-26 Alibaba Group Holding Limited Protecting data stored on a solid state drive
CN109271096A (zh) * 2017-12-28 2019-01-25 新华三技术有限公司 Nvme存储扩展系统

Also Published As

Publication number Publication date
CN110163011A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110163011B (zh) 一种高速安全硬盘设计方法
TWI594121B (zh) 使用資料壓縮的快取技術
CN107256363B (zh) 一种由加解密模块阵列组成的高速加解密装置
CN104424016B (zh) 用于自加密驱动器的虚拟带集中
US7533273B2 (en) Method and system for controlling an encryption/decryption engine using descriptors
CN107092835B (zh) 一种虚拟存储盘的计算机数据加密装置及方法
KR100533682B1 (ko) 플래시 메모리의 데이터 관리 장치 및 방법
US8478984B2 (en) Data encryption apparatus, data decryption apparatus, data encryption method, data decryption method, and data relay apparatus
TWI715248B (zh) 主機輸出入命令的執行裝置及方法及電腦程式產品
CN112765055B (zh) 存储设备的控制部件
CN112764669B (zh) 一种硬件加速器
CN112115076A (zh) 使用者数据的加解密装置及方法
CN113721838B (zh) 用于存储设备的写、读数据方法、存储控制器以及dma引擎
CN110765467A (zh) 一种加密固态硬盘
US20160026582A1 (en) Encrypt data of storage device
CN108563603B (zh) 一种基于uasp协议的高效数据加密设备
US9898208B2 (en) Storage system with hybrid logical volumes utilizing in-band hinting
CN116070295B (zh) 数据处理系统
CN110765498A (zh) 一种加密计算机
US20240078322A1 (en) Memory system, memory controller and operation method thereof
TWI835027B (zh) 更新主機與閃存位址對照表的方法及電腦程式產品及裝置
US20240211612A1 (en) Data Storage Method and Apparatus, Device, and Readable Medium
CN101727408A (zh) 一种基于硬盘接口控制器的数据加密方法
TWI781464B (zh) 用於資料之加密及解密的運算裝置
CN117850663A (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