最近,实现了来自两个客户的真实需求,出于安全考虑,客户要求SSD与主机唯一对应,也就是说SSD只能在本机使用,当SSD被插入非法主机时,自动启动销毁程序,同时,主机必须可以正常使用其他任何一家公司的非定制化SSD。
一、项目需求描述
1) 主机接口:SATA 6Gbps
2) 尺寸:2.5"
3) 容量:4TB
4) 存储介质:MLC
5) 环境温度:-40°C ~ +85°C
6) SSD只能识别唯一的主机;
7) 当SSD插入到其他主机时,SSD启动自毁功能,将数据销毁;
8) 主机必须可以正常使用其他厂商的非定制化SSD。
二、总体架构设计
1) 主控使用瑞耐斯自主可控芯片,型号:RS3502-IT,SATA 6Gb接口,单颗主控支持容量2TB,使用2颗主控组RAID0;
2) 使用Xilinx FPGA做RAID0芯片,支持Trim功能;
(市场上的RAID芯片具备下面两个缺陷:a、不能满足工业级温度需求;2、不带TRIM功能,会导致在SSD数据写满时才固态硬盘才开始做垃圾回收,在垃圾回收过程中,写入性能会大幅下降甚至会掉到0MB,此时,可能导致关键应用场景的应用失效)
3) 自毁功能:数据销毁可以实现物理烧毁和逻辑销毁(任选或全选)两种方式;
4) 逻辑销毁功能可以实现10秒内的快速销毁,销毁后SSD可以继续在“初始化”操作后继续使用(数据全部丢失)或者SSD无法继续使用,必须返厂维修才可继续使用,但所有数据无法恢复;
5) 物理烧毁,是指在SSD被插入非法主机后,所有存储芯片被高压一一击穿,所有存储介质物理性损坏,任何手段都将无法恢复数据。
三、功能实现具体描述
1) 主机与SSD唯一对应的实现方式:
客户端主机SATA接口管脚定义不做任何更改,以确保其他普通SSD插入后可以正常工作。
硬盘增加一颗FPGA芯片(或单片机)利用sata空余pin脚实现硬盘和主板特征码的握手通讯,如果在3秒内(时间可以自由设定)握手不成功,则触发数据销毁功能。
对于普通硬盘由于空余pin脚没有定义,则不会与主板特征码进行握手,可以正常使用。
2) 一键自毁销毁的实现和结果
安全删除是由IO 拓展芯片的GPIO 动作,传送给主控芯片实施。信号下拉3 秒安全删除功能被触发,无论是通过硬件或软件。控制器将擦除命令发送到闪存启动安全删除。
瑞耐斯可以对硬盘实现两种销毁方式:逻辑销毁和物理销毁。
2.1逻辑销毁
逻辑销毁是指通过软件的方式将固态硬盘的数据进行删除、覆盖等操作,包括对加密key、固件、映射表等进行删除操作,逻辑销毁不会损坏存储介质。
快速删除的要求一般有如下几种,每种做法的固件实现方法不同:
2.1.1删除后仍然可以在OS下看到盘符,格式化后仍然可以进行正常的读写操作,只是删除后的状态用winhex检查全部为0xFF;
这种删除方法必须要考虑的事项是:在执行删除过程中,如果SSD再次接收写命令,或者SDRAM中仍有未写入Nand的数据,在执行删除后,会继续向SSD中写入数据,用winhex查看会看到数据不全是0xFF。
解决办法可以有两种:一是在执行数据销毁前,先清空SDRAM中的数据,避免缓存数据在执行安全删除之后写入Nand Flash;二是,在执行销毁时,开启写保护功能,直到SSD第二次上电为止,这样就可以避免执行销毁之后接收到的写命令将数据写入到SSD。
2.1.2删除后SSD无法被系统识别,当然,也无法用软件来查看SSD内部数据状态。
2.2物理销毁
执行物理销毁SSD上的闪存颗粒将完全被烧穿:
2.2.1 瑞耐斯独特的设计思路,确保45秒以内可以烧毁所有的闪存芯片,,不存在个别芯片无法销毁的情况。
2.2.2 闪存被烧毁是彻底摧毁每个颗粒中的所有的Die,而不是仅仅烧毁IO接口,如果仅仅烧毁IO接口,那么,仍然可以通过芯片打磨,将存储数据的Die重新布线后读取数据。
2.2.3 在执行销毁的过程中如果被拔掉电源,重新上电后,仍然继续执行未完成的烧毁,而不会终止。
https://www.storlead.com/zh-CN/1543816586000.html