首页> 中国专利> 一种支持WORM存储的固态硬盘主控、固态硬盘及WORM存储方法

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

摘要

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

著录项

  • 公开/公告号CN105700830A

    专利类型发明专利

  • 公开/公告日2016-06-22

    原文格式PDF

  • 申请/专利权人 湖南国科微电子股份有限公司;

    申请/专利号CN201610104845.4

  • 申请日2016-02-26

  • 分类号G06F3/06;

  • 代理机构长沙正奇专利事务所有限责任公司;

  • 代理人卢宏

  • 地址 410131 湖南省长沙市经济技术开发区东十路南10号

  • 入库时间 2023-12-18 15:45:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-12-25

    专利实施许可合同备案的生效 IPC(主分类):G06F3/06 合同备案号:2018430000021 让与人:湖南国科微电子股份有限公司 受让人:江苏芯盛智能科技有限公司 发明名称:一种支持WORM存储的固态硬盘主控、固态硬盘及WORM存储方法 申请公布日:20160622 授权公告日:20170714 许可种类:普通许可 备案日期:20181203 申请日:20160226

    专利实施许可合同备案的生效、变更及注销

  • 2017-07-14

    授权

    授权

  • 2016-07-20

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20160226

    实质审查的生效

  • 2016-06-22

    公开

    公开

说明书

技术领域

本发明涉及WORM存储技术,具体为一种支持WORM存储的固态硬盘主控、固态硬盘 及WORM存储方法。

背景技术

当前,很多企业在办公过程中会产生各种各样的计算机数据,其中一部分数据是 属于要固化内容、防止篡改的,典型的如电子商务过程中产生的电子商务合同以及相关财 务报告等。这类数据具有一次性写入、不可再编辑、可多次读取等特点。企业或单位在存储 这类数据时,通常采用的是具备WORM属性的存储介质,如光盘、WORM磁带等。虽然这些介质 在通常意义上是一次性写入的介质,但采用一些特殊技术还是能够对数据进行更改,且更 改后的数据无法进行识别。

现有的WORM存储技术无法绕开非常规手段的数据篡改行为,如绕开存储阵列,直 接对存储数据的磁盘进行数据更改、对光盘进行激光篡改等,这些篡改是无法被直接发现 的,从而给WORM存储的使用者带来不可预估的损失。

本发明用到的名词解释如下:

WORM:WriteOnceReadMany,一次写入,多次读取,一般用于防篡改的数据存储。

SSDController:固态硬盘主控,用于管理NAND存储介质的模块,一方面向主机提 供数据的输入输出接口,一方面利用NAND的接口将数据写入NAND或从NAND读取数据。

TRNG:真随机数产生电路。

NAND:用于存放数据的flash介质。

OTP:OneTimeProgramming,一次性编程的电路,该电路一旦被编程过后就不能 被再次编程。该电路从物理特性上保证数据只能写入一次,通常用于小量一次性数据存放。

FTL:FlashTranslationLayer,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映射表项进行加/解密。

所述加解密模块包括:

EncryptEngine(加密引擎):用于利用OTP记录的真随机数,负责对FTL映射表记录的 WORM数据区的用户数据以及WORM数据区的FTL映射表项进行加密;

DecryptEngine(解密引擎):用于利用OTP里面记录的真随机数,负责对FTL映射表记 录的WORM数据区的用户数据以及WORM数据区的FTL映射表项进行解密。

利用加/解密引擎对数据进行加解密,实现过程简单,安全可靠。

本发明还包括至少两个用于搬移加密和解密之后的数据的DMA组件,方便搬移数 据。

相应地,本发明还提供了一种支持WORM存储的固态硬盘,包括上述固态硬盘主控 和NAND;所述NAND用于存放WORM数据区已经加密的用户数据和WORM数据区已经加密的映射 表项,同时存放非WORM数据区的用户数据和映射表项。

本发明还提供了一种利用上述固态硬盘实现WORM存储的方法,该方法包括数据写 入部分和数据读取部分:

所述数据写入部分包括以下步骤:

1)CPU收到主机数据后,查找FTL映射表,判断所述主机数据写入的区域是否为WORM数 据区,若是,则进入2);否则,将主机数据直接写入NAND,添加更新的FTL映射表项,并进入 4);

2)判断主机数据写入的区域是否已经写入过数据,若是,则直接返回数据写保护;若 否,则利用OTP内存放的真随机数配置EncryptEngine,控制写数据通路经过Encrypt Engine;

3)将经过EncryptEngine加密的数据写入NAND,同时在FTL映射表中添加表项和WORM 标记;

4)数据写入结束;

所述数据读取部分包括以下步骤:

1)CPU收到数据读取命令后,查找FTL映射表,判断是否读取WORM数据区的数据;若是, 则进入2);否则,根据FTL映射表项读取NAND上存储的数据,并进入4);

2)判断WORM数据区的FTL映射表项是否已加载,若是,则利用OTP内存放的真随机数配 置DecryptEngine,控制读数据通路经过DecryptEngine,然后进入3);否则,利用OTP内存 放的真随机数配置DecryptEngine,控制读数据通路经过DecryptEngine,然后加载WORM 数据区的FTL映射表项,并判断配置后的DecryptEngine是否解密成功,若是,进入3);否 则,返回错误报告;

3)根据加载的WORM数据区的FTL映射表项,读取NAND上的用户数据,然后判断配置后的 DecryptEngine是否解密成功,若否,则返回错误报告;否则,进入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所示,本发明实施例固态硬盘主控(SSDController)包括以下组成部分:

FTL为映射表,记录数据从主机地址到NAND地址的映射关系,每一种关系对应FTL映射 表中的一条表项。该FTL同时记录了WORM数据区和非WORM数据区的映射关系。

CPU,负责总调度,负责监控WORM和非WORM区域的数据,并决定是否对数据进行加 解密。

TRNG为真随机数发生器,用于在生产固态硬盘主控时,产生一个真随机数,并烧录 在OTP内。该真随机数可视为该固态硬盘主控内部的唯一标识,外部不可见。

OTP可用于存放少量一次性写入的数据。本发明主要用于存放固态硬盘主控生产 时,TRNG产生的真随机数。

Encrypt/DecryptEngine,加解密引擎,利用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的基础上,如果解密失败,则数据可能被篡改,进行报错。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号