OCP NVME SSD规范解读-3.NVMe管理命令-part1

图片

图片

图片

图片

4.4 NVMe Admin Command Set章节详细介绍了设备应支持的NVMe管理命令集,包括必需的和可选的命令。以下是一些关键要求和描述:

  1. NVMe-AD-2:识别命令除了支持所有必需的CNS值和相关的必需字段外,还应支持以下可选字段:

    • 格式进度指示器(FPI),更新粒度为1%。

    • I/O性能和耐久性提示:NSFEAT位4设置为1b。

  1. NVMe-AD-3和NVMe-AD-4:在一个NVMe设备中,可以创建多个命名空间,每个命名空间都有自己的LBA(逻辑块地址)范围、容量和其他特性,也就是nvme协议规定的multi-namespace。

图片

OCP详细规定了设备应支持的命名空间数量与设备可用容量之间的关系。具体来说:

图片

图片

  • 如果设备的可用容量小于或等于1TB,那么设备至少应支持16个命名空间。

  • 如果设备的可用容量大于1TB但小于或等于2TB,那么设备应支持至少32个命名空间。

  • 如果设备的可用容量大于2TB但小于或等于3TB,那么设备应支持至少48个命名空间。

  • 这种模式继续下去,每增加1TB的可用容量,所需的最小命名空间数量就会增加16个。

  • 当设备的可用容量大于7TB时,设备应支持至少128个命名空间。

  1. NVMe-AD-5和NVMe-AD-6:设备应支持格式NVM命令,并支持安全擦除设置值000b、001b和010b。

  2. NVMe-AD-7:设备应支持Sanitize命令,并支持Block Erase(010b)、Overwrite(011b)和Crypto Erase(100b)sanitize操作。从NVMe Spec 1.3开始,对数据安全方面增加了一个“Sanitize”功能

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级别清除所有的用户数据;

  • Crypo Erase: 擦除安全密匙;

  • Overwrite: 用特定的pattern数据覆盖用户数据。不过这个对NAND-based SSD不提倡,因为会降低NAND的使用寿命。

图片

一旦启动了Sanitize操作,是不能中断的,除非fail了。即使power cycle或者controller level reset之后,santize会继续执行。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-29 22:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-29 22:40:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-29 22:40:02       82 阅读
  4. Python语言-面向对象

    2023-12-29 22:40:02       91 阅读

热门阅读

  1. 《网络安全面试总结》--大厂面试题目及经验

    2023-12-29 22:40:02       53 阅读
  2. LeetCode 2660. 保龄球游戏的获胜者

    2023-12-29 22:40:02       50 阅读
  3. 力扣200. 岛屿数量

    2023-12-29 22:40:02       52 阅读
  4. 中介者模式(Mediator)

    2023-12-29 22:40:02       58 阅读
  5. 未来编程语言的演进:迎接技术革新的挑战

    2023-12-29 22:40:02       55 阅读