在今年5月份发布的NVMe Spec 1.3中,对数据安全方面增加了一个“Sanitize”功能,如下图。其实,Sanitize清除功能并不是NVMe新创,SATA和SAS硬盘早已支持的这个功能,现在终于加入到NVMe协议上面了。
在今年5月份发布的NVMe Spec 1.3中,对数据安全方面增加了一个“Sanitize”功能,如下图。其实,Sanitize清除功能并不是NVMe新创,SATA和SAS硬盘早已支持的这个功能,现在终于加入到NVMe协议上面了。
当你手上有一块NVMe SSD不想使用或者想改换其他用途,为了保证SSD的数据不被泄露,你可能会想到用Secure Erase安全擦除的命令。但是,值得警惕的是,Secure Erase只会擦除映射表并标记无效数据,也就是说物理上的数据并没有被删除。而Sanitize则是直接从block级别在物理擦除SSD上的数据。
Sanitize清除的数据很彻底,对FTL映射表、User Data(包括已经写入NAND和仍在cache里的)、Meta Data、安全密匙、CMB中SQ/CQ相关信息、可能含有用户数据的log等等会全部清除。不过,sanitize操作不会改变RPMB、boot分区、不包含用户数据的cache等内容。
RPMB是Replay Protected Memory Block的缩写,他的存在目的是用来给系统存放一些特殊的、需要进行访问授权的数据。
NVMe Spec中定义了三种Sanitize类型:Block Erase, Crypto Erase和Overwirte.
- Block Erase:采用block级别清除所有的用户数据;
- Overwrite: 用特定的pattern数据覆盖用户数据。不过这个对NAND-based SSD不提倡,因为会降低NAND的使用寿命。
一旦启动了Sanitize操作,是不能中断的,除非fail了。即使power cycle或者controller level reset之后,santize会继续执行。
另外,在Sanitize执行过程中,不允许执行任何NVMe IO command, 但是允许执行一部分的NVMe admin command, 具体包括:
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。