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会继续执行。

相关推荐
冬奇Lab1 小时前
Agent 系列(23):Web Agent——让 Agent 真正浏览网页
人工智能·llm·agent
冬奇Lab1 小时前
每日一个开源项目(第135篇):codebase-memory-mcp - 给 AI Agent 一张代码库的知识图谱
人工智能·开源·llm
IT_陈寒4 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
jooloo7 小时前
Codex 间歇性 400 之谜:一条对话里,它为什么有时候用 chat/completions,有时候切到 responses?
人工智能
用户5191495848458 小时前
OpenSSL PKCS#12 PBMAC1 堆栈缓冲区溢出漏洞 (CVE-2025-11187) 分析与验证
人工智能·aigc
用户5191495848459 小时前
HP Sound Research SECOMNService 权限提升漏洞利用工具
人工智能·aigc
用户018349301699 小时前
给 AI 智能体能力包一层 BFF,前端只调一个接口
人工智能
A小辣椒9 小时前
TShark:Wireshark CLI 功能
linux