CN105700830B - 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 - Google Patents

一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 Download PDF

Info

Publication number
CN105700830B
CN105700830B CN201610104845.4A CN201610104845A CN105700830B CN 105700830 B CN105700830 B CN 105700830B CN 201610104845 A CN201610104845 A CN 201610104845A CN 105700830 B CN105700830 B CN 105700830B
Authority
CN
China
Prior art keywords
worm
data
solid state
hard disc
state hard
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
CN201610104845.4A
Other languages
English (en)
Other versions
CN105700830A (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.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics 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 Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201610104845.4A priority Critical patent/CN105700830B/zh
Publication of CN105700830A publication Critical patent/CN105700830A/zh
Application granted granted Critical
Publication of CN105700830B publication Critical patent/CN105700830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种支持WORM存储的固态硬盘主控、固态硬盘及WORM存储方法,将TRNG和OTP用于固态硬盘,通过FTL映射表记录WORM数据区和非WORM数据区的映射关系,使得固态硬盘可以同时在WORM区域支持WORM业务和在非WORM区域支持非WORM业务;OTP内部存放的数据外部不可见,在访问WORM区域时,可以初始化读写通路上的加解密引擎,并可以加解密WORM区域的FTL映射表和WORM区域的用户数据,保证WORM区域FTL映射表和用户数据的私密性和完整性,防止篡改WORM数据;在解密失败时,若解密不成功,则返回错误报告,在第一时间检查到数据被篡改过,减小用户的损失;通过FTL映射表记录WORM区域是否写过数据,如果写过,则不能再次写入数据,防止WORM数据被覆盖,提高WORM存储的安全性和可靠性。

Description

一种支持WORM存储的固态硬盘主控、固态硬盘及WORM存储 方法
技术领域
本发明涉及WORM存储技术,具体为一种支持WORM存储的固态硬盘主控、固态硬盘及WORM存储方法。
背景技术
当前,很多企业在办公过程中会产生各种各样的计算机数据,其中一部分数据是属于要固化内容、防止篡改的,典型的如电子商务过程中产生的电子商务合同以及相关财务报告等。这类数据具有一次性写入、不可再编辑、可多次读取等特点。企业或单位在存储这类数据时,通常采用的是具备WORM属性的存储介质,如光盘、WORM磁带等。虽然这些介质在通常意义上是一次性写入的介质,但采用一些特殊技术还是能够对数据进行更改,且更改后的数据无法进行识别。
现有的WORM存储技术无法绕开非常规手段的数据篡改行为,如绕开存储阵列,直接对存储数据的磁盘进行数据更改、对光盘进行激光篡改等,这些篡改是无法被直接发现的,从而给WORM存储的使用者带来不可预估的损失。
本发明用到的名词解释如下:
WORM:Write Once Read Many,一次写入,多次读取,一般用于防篡改的数据存储。
SSD Controller:固态硬盘主控,用于管理NAND存储介质的模块,一方面向主机提供数据的输入输出接口,一方面利用NAND的接口将数据写入NAND或从NAND读取数据。
TRNG:真随机数产生电路。
NAND:用于存放数据的flash介质。
OTP:One Time Programming,一次性编程的电路,该电路一旦被编程过后就不能被再次编程。该电路从物理特性上保证数据只能写入一次,通常用于小量一次性数据存放。
FTL:Flash Translation Layer,Flash地址转换表,里面记录了主机侧用户数据在NAND上的物理位置信息等。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种支持WORM存储的固态硬盘主控、固态硬盘及WORM存储方法。
为解决上述技术问题,本发明所采用的技术方案是:一种支持WORM存储的固态硬盘主控,包括:
TRNG:用于在生产固态硬盘主控时产生一个真随机数,并烧录在OTP内;
OTP:用于存放固态硬盘主控生产时TRNG产生的真随机数;
FTL映射表:用于记录数据从主机地址到NAND地址的映射关系,每一种映射关系对应FTL映射表中的一条表项,同时记录WORM数据区和非WORM数据区的映射关系;
CPU:用于负责监控WORM数据区和非WORM数据区的数据,并决定是否利用加解密模块对WORM数据区和非WORM数据区的数据进行加解密处理;
加解密模块:用于利用OTP记录的真随机数,根据CPU的指令负责对FTL映射表记录的WORM数据区的用户数据以及WORM数据区的FTL映射表项进行加/解密。
所述加解密模块包括:
Encrypt Engine(加密引擎):用于利用OTP记录的真随机数,负责对FTL映射表记录的WORM数据区的用户数据以及WORM数据区的FTL映射表项进行加密;
Decrypt Engine(解密引擎):用于利用OTP里面记录的真随机数,负责对FTL映射表记录的WORM数据区的用户数据以及WORM数据区的FTL映射表项进行解密。
利用加/解密引擎对数据进行加解密,实现过程简单,安全可靠。
本发明还包括至少两个用于搬移加密和解密之后的数据的DMA组件,方便搬移数据。
相应地,本发明还提供了一种支持WORM存储的固态硬盘,包括上述固态硬盘主控和NAND;所述NAND用于存放WORM数据区已经加密的用户数据和WORM数据区已经加密的映射表项,同时存放非WORM数据区的用户数据和映射表项。
本发明还提供了一种利用上述固态硬盘实现WORM存储的方法,该方法包括数据写入部分和数据读取部分:
所述数据写入部分包括以下步骤:
1)CPU收到主机数据后,查找FTL映射表,判断所述主机数据写入的区域是否为WORM数据区,若是,则进入2);否则,将主机数据直接写入NAND,添加更新的FTL映射表项,并进入4);
2)判断主机数据写入的区域是否已经写入过数据,若是,则直接返回数据写保护;若否,则利用OTP内存放的真随机数配置Encrypt Engine,控制写数据通路经过EncryptEngine;
3)将经过Encrypt Engine加密的数据写入NAND,同时在FTL映射表中添加表项和WORM标记;
4)数据写入结束;
所述数据读取部分包括以下步骤:
1)CPU收到数据读取命令后,查找FTL映射表,判断是否读取WORM数据区的数据;若是,则进入2);否则,根据FTL映射表项读取NAND上存储的数据,并进入4);
2)判断WORM数据区的FTL映射表项是否已加载,若是,则利用OTP内存放的真随机数配置Decrypt Engine,控制读数据通路经过Decrypt Engine,然后进入3);否则,利用OTP内存放的真随机数配置Decrypt Engine,控制读数据通路经过Decrypt Engine,然后加载WORM数据区的FTL映射表项,并判断配置后的Decrypt Engine是否解密成功,若是,进入3);否则,返回错误报告;
3)根据加载的WORM数据区的FTL映射表项,读取NAND上的用户数据,然后判断配置后的Decrypt Engine是否解密成功,若否,则返回错误报告;否则,进入4);
4)数据读取完成。
与现有技术相比,本发明所具有的有益效果为:本发明将TRNG和OTP用于固态硬盘,使固态硬盘作为WORM存储的存储设备成为可能,通过FTL映射表记录WORM数据区和非WORM数据区的映射关系,使得固态硬盘可以同时在WORM区域支持WORM业务和在非WORM区域支持非WORM业务;OTP内部存放的数据外部不可见,在访问WORM区域时,可以初始化读写通路上的加解密引擎,并可以加解密WORM区域的FTL映射表,防止篡改WORM数据,保证WORM区域FTL映射表的私密性和完整性;在数据被篡改,即解密失败时,返回错误报告,在第一时间检查到数据被篡改,减小用户的损失;通过FTL映射表记录WORM区域是否写过数据,如果写过,则不能再次写入数据,防止WORM数据被覆盖,提高WORM存储的安全性和可靠性。
附图说明
图1为本发明实施例固态硬盘的整体结构框图;
图2为本发明实施例写入数据流程图;
图3为本发明实施例读取数据流程图。
具体实施方式
如图1所示,本发明实施例固态硬盘主控(SSD Controller)包括以下组成部分:
FTL为映射表,记录数据从主机地址到NAND地址的映射关系,每一种关系对应FTL映射表中的一条表项。该FTL同时记录了WORM数据区和非WORM数据区的映射关系。
CPU,负责总调度,负责监控WORM和非WORM区域的数据,并决定是否对数据进行加解密。
TRNG为真随机数发生器,用于在生产固态硬盘主控时,产生一个真随机数,并烧录在OTP内。该真随机数可视为该固态硬盘主控内部的唯一标识,外部不可见。
OTP可用于存放少量一次性写入的数据。本发明主要用于存放固态硬盘主控生产时,TRNG产生的真随机数。
Encrypt/Decrypt Engine,加解密引擎,利用OTP里面记录的key(生产固态硬盘主控时,由TRNG产生的真随机数),负责对FTL里面记录的WORM数据区的用户数据以及WORM区域的FTL映射表项进行加解密。
DMA,数据读写通路上,用于搬移数据的组件。
本发明的固态硬盘包括上述固态硬盘主控和NAND,NAND用于存放WORM区域的已经加密的用户数据和已经加密的WORM区域映射表项,同时存放非WORM区域的用户数据和映射表项。
本发明实施例的数据写入和数据读取流程分别见图2和图3。
为了实现本发明,在生产固态硬盘主控时,需要通过生产工具触发主控内部的TRNG产生随机数,并将该随机数以key的方式存放于内部的OTP区域;生产固态硬盘时,需要配置固态硬盘的WORM和非WORM区间。
在固态硬盘使用阶段:
a)用户将需要固化内容的数据写入WORM区域,并受到固态硬盘的WORM保护;不需要进行WORM保护的数据,可写入非WORM区域。
b)数据写到盘内,在写入NAND介质之前,主控检测是否为WORM区域数据写入。如果是,通过FTL表项内容检查是否已经写入过数据。
c)在b的基础上,如果没有写入过数据,那么OTP内存储的key配置加密引擎以及DMA,让数据在写通路上经过加密引擎。确保数据写入到NAND后防止被篡改。
d)在b、c基础上,添加FTL的WORM映射表项,同时将WORM映射表项经过加密引擎加密后写入NAND。
e)用户读取数据时,如果是WORM区域数据,需要使用OTP内部存储的key配置解密引擎,并配置DMA控制读通路上数据经过解密引擎。
在e的基础上,如果解密失败,则数据可能被篡改,进行报错。

Claims (5)

1.一种支持WORM存储的固态硬盘主控,其特征在于,包括:
TRNG:用于在生产固态硬盘主控时产生一个真随机数,并烧录在OTP内;TRNG为真随机数产生电路;
OTP:用于存放固态硬盘主控生产时TRNG产生的真随机数;OTP为一次性编程的电路;
FTL映射表:用于记录数据从主机地址到NAND地址的映射关系,每一种映射关系对应FTL映射表中的一条表项,同时记录WORM数据区和非WORM数据区的映射关系;FTL为Flash地址转换表;
CPU:用于负责监控WORM数据区和非WORM数据区的数据,并决定是否利用加解密模块对WORM数据区和非WORM数据区的数据进行加解密处理;
加解密模块:用于利用OTP记录的真随机数,根据CPU的指令负责对FTL映射表记录的WORM数据区的用户数据以及WORM数据区的FTL映射表项进行加/解密;WORM为一次写入,多次读取。
2.根据权利要求1所述的支持WORM存储的固态硬盘主控,其特征在于,还包括至少两个用于搬移加密和解密之后的数据的DMA组件。
3.根据权利要求1所述的支持WORM存储的固态硬盘主控,其特征在于,所述加解密模块包括:
加密引擎:用于利用OTP记录的真随机数,负责对FTL映射表记录的WORM数据区的用户数据以及WORM数据区的FTL映射表项进行加密;
解密引擎:用于利用OTP记录的真随机数,负责对FTL映射表记录的WORM数据区的用户数据以及WORM数据区的FTL映射表项进行解密。
4.一种支持WORM存储的固态硬盘,其特征在于,包括权利要求1~3之一所述的固态硬盘主控和NAND;所述NAND用于存放WORM数据区已经加密的用户数据和WORM数据区已经加密的映射表项,同时存放非WORM数据区的用户数据和映射表项。
5.一种利用权利要求4所述固态硬盘实现WORM存储的方法,其特征在于,该方法包括数据写入部分和数据读取部分:
所述数据写入部分包括以下步骤:
1)CPU收到主机数据后,查找FTL映射表,判断所述主机数据写入的区域是否为WORM数据区,若是,则进入2);否则,将主机数据直接写入NAND,添加更新的FTL映射表项,并进入4);
2)判断主机数据写入的区域是否已经写入过数据,若是,则直接返回数据写保护;若否,则利用OTP内存放的真随机数配置加密引擎,控制写数据通路经过加密引擎;
3)将经过加密引擎加密的数据写入NAND,同时在FTL映射表中添加表项和WORM标记;
4)数据写入结束;
所述数据读取部分包括以下步骤:
1)CPU收到数据读取命令后,查找FTL映射表,判断是否读取WORM数据区的数据;若是,则进入2);否则,根据FTL映射表项读取NAND上存储的数据,并进入4);
2)判断WORM数据区的FTL映射表项是否已加载,若是,则利用OTP内存放的真随机数配置解密引擎,控制读数据通路经过解密引擎,然后进入3);否则,利用OTP内存放的真随机数配置解密引擎,控制读数据通路经过解密引擎,然后加载WORM数据区的FTL映射表项,并判断配置后的解密引擎是否解密成功,若是,进入3);否则,返回错误报告;
3)根据加载的WORM数据区的FTL映射表项,读取NAND上的用户数据,然后判断配置后的解密引擎是否解密成功,若否,则返回错误报告;否则,进入4);
4)数据读取完成。
CN201610104845.4A 2016-02-26 2016-02-26 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 Active CN105700830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610104845.4A CN105700830B (zh) 2016-02-26 2016-02-26 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610104845.4A CN105700830B (zh) 2016-02-26 2016-02-26 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法

Publications (2)

Publication Number Publication Date
CN105700830A CN105700830A (zh) 2016-06-22
CN105700830B true CN105700830B (zh) 2017-07-14

Family

ID=56223407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610104845.4A Active CN105700830B (zh) 2016-02-26 2016-02-26 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法

Country Status (1)

Country Link
CN (1) CN105700830B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106599701A (zh) * 2016-12-06 2017-04-26 华为技术有限公司 一种硬盘加密方法、硬盘及硬盘加密设备
KR102434840B1 (ko) * 2017-08-28 2022-08-22 에스케이하이닉스 주식회사 데이터 저장 장치
CN109033357B (zh) * 2018-07-24 2021-12-03 广东浪潮大数据研究有限公司 一种worm属性的同步方法及装置
CN109508151A (zh) * 2018-11-15 2019-03-22 苏州韦科韬信息技术有限公司 一种提升固态硬盘性能的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014110088A1 (en) * 2013-01-08 2014-07-17 Greentec-Usa, Inc. Write once read many media methods and systems

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8280855B2 (en) * 2009-11-04 2012-10-02 International Business Machines Corporation Extended logical worm data integrity protection with unique worm identifier in header and database
US20140109234A1 (en) * 2012-10-15 2014-04-17 Condel International Technologies Inc. Systems and methods for limiting the number of electronic devices accessing digital rights management (drm) content in a portable memory device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014110088A1 (en) * 2013-01-08 2014-07-17 Greentec-Usa, Inc. Write once read many media methods and systems

Also Published As

Publication number Publication date
CN105700830A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
CN102623030B (zh) 记录装置以及内容数据再现系统
CN105700830B (zh) 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法
US11416417B2 (en) Method and apparatus to generate zero content over garbage data when encryption parameters are changed
US20060136342A1 (en) Content protection method, and information recording and reproduction apparatus using same
US7570560B2 (en) System and method for logical shredding of data stored on WORM media
US8429401B2 (en) Method and apparatus for virtually erasing data from WORM storage devices
US20100217977A1 (en) Systems and methods of security for an object based storage device
CN104424016B (zh) 用于自加密驱动器的虚拟带集中
CN102955746A (zh) 一种只读模式的移动存储装置及其访问数据的方法
CA2332034C (en) A method and system for providing copy-protection on a storage medium and storage medium for use in such a system
CN102799803A (zh) 安全可携式媒体以及管理安全可携式媒体的方法
CN110045919A (zh) 用于验证存储装置上的安全擦除操作的系统和方法
KR20120026974A (ko) 복제 방지를 위한 비휘발성 저장 장치 및 그 저장 장치의 인증 방법
KR20180128064A (ko) 데이터베이스에서 암호문의 암호 변경의 실패를 처리하기 위한 방법 및 장치
JP3773697B2 (ja) メディア固有化情報を移動可能にする情報記録方法
US20190377693A1 (en) Method to generate pattern data over garbage data when encryption parameters are changed
JP2006343887A (ja) 記憶媒体、サーバ装置、情報セキュリティシステム
CN102012874A (zh) 带有资源管理器的usb存储设备
CN101199013A (zh) 内容数据记录再现装置
JP2001209584A (ja) 情報暗号化装置及びその方法
JP4537772B2 (ja) ディスクシステム
CN102375958B (zh) 限制文件存取的方法
Suthar et al. Guaranteed Data Destruction Strategies and Drive Sanitization: SSD
KR101854192B1 (ko) 저장 장치의 데이터 보호 장치 및 방법
US11216209B2 (en) Secure storage using a removable bridge

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160622

Assignee: Jiangsu Xinsheng Intelligent Technology Co., Ltd.

Assignor: GOKE MICROELECTRONICS CO., LTD.

Contract record no.: 2018430000021

Denomination of invention: Solid-state disk master control supporting WORM storage, solid-state disk and WORM storage method

Granted publication date: 20170714

License type: Common License

Record date: 20181203