CN105700830B - 一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 - Google Patents
一种支持worm存储的固态硬盘主控、固态硬盘及worm存储方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing 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: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)数据读取完成。
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)
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)
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)
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 |
-
2016
- 2016-02-26 CN CN201610104845.4A patent/CN105700830B/zh active Active
Patent Citations (1)
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 |