5.23 Format NVM command - NVM Command Set Specific

Format NVM命令用于低级格式化NVM媒介。这个命令被host主机使用,来变更LBA数据大小和(或)元数据大小。一个低级格式化可以销毁命令指定的相关所有namespace或仅特定的namespace上的所有数据和元数据(参考Identify Controller数据结构中的Format NVM Attributes字段)。Foamat NVM命令成功完成之后,之前包含在对应namespace的任何用户数据都不能再由controller读出来了。

作为Format NVM命令的一部分,主机请求一个格式化操作并且可以请求一个NVM内容的安全擦除(参考Figure 328的SES字段)。有两种类型的擦除。User Data Erase擦除所有呈现在NVM subsystem中的用户内容。Cryptographic Erase是通过删除用于之前加密用户数据所用的加密密钥来擦除NVM subsystem中呈现的所有用户内容。

格式化操作的范围和安全擦除格式化的范围依赖于controller对Format NVM命令支持的属性和命令中指定的Namespace Identifier,请参见Figure 327中的描述。安全擦除类型,如果能使用的话,它基于Command Dword 10中Secure Erase Settings字段,如Figure 328中定义。

如果controller处于一种无效的安全状态(参考相应的安全规范,例如:TCG Storage Interface Interactions Specification)Format NVM命令将失败。如果有待处理的I/O命令到指定的被格式化的namespace,Format NVM命令可以失败。如果Format NVM命令正在被处理,发向此namespace的I/O命令可能被中止,如果中止发生controller就返回一个Format in Progress状态码。

对于一个NSID字段设置为0xFFFFFFFF的Format命令指定安全的擦除:

a)如果FNA字段的第1位设置为1(参考Figure247)并且NVM subsystem中没有namespaces,那么Format命令应该无错误完成;

b)如果FNA字段的第1位设置为0,并且没有挂载namespaces,那么Format命令应该无错误完成。

对于一个NSID字段设置为0xFFFFFFFF的Format命令未指定安全的擦除:

a)如果FNA字段的第0位设置为1,并且NVM subsystem中没有namespaces,那么Format命令应该无错误完成;

b)如果FNA字段的第0位设置为0,并且没有挂载namespaces,那么Format命令应该无错误完成。

Format NVM命令成功完成支持,Format NVM命令中指定的设置(例如PI,MSET,LBAF)被上报,作为Identify Namespace数据结构的一部分。如果Format NVM命令导致namespace的逻辑块大小变化,那么致使namespace大小(即:NSZE)(参考Figure245)和namespace能力(即:NCAP)(参考Figure245)与Format NVM命令处理之前指示的值可能不同。

Format NVM命令使用Command Dword 10字段。所有其他特定于命令的字段保留。

5.23.1 命令Completion

当NVM媒介格式化完成后CQE被推送到Admin CQ中。Format NVM命令特定状态值定义在Figure 329中。

《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(5.23)-- Format NVM command的更多相关文章

  1. 2019/1/10 redis学习笔记(二)

    本文不涉及集群搭建操作 关于在lua脚本中操作redis的应用场景 大家都知道redis对于单个集合的操作是原子性的;但是有可能有一种场景是这样.比如说抢红包,现在有十个人抢五份红包,抽象到我们jav ...

  2. 《Java核心技术·卷Ⅰ:基础知识(原版10》学习笔记 第5章 继承

    <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 目录 <Java核心技术·卷Ⅰ:基础知识(原版10>学习笔记 第5章 继承 5.1 类.超类和子类 5.1 ...

  3. Flutter学习笔记(23)--多个子元素的布局Widget(Rwo、Column、Stack、IndexedStack、Table、Wrap)

    如需转载,请注明出处:Flutter学习笔记(23)--多个子元素的布局Widget(Rwo.Column.Stack.IndexedStack.Table.Wrap) 上一篇梳理了拥有单个子元素布局 ...

  4. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(1)

    材料说明: 文档<NVM-Express-1_4-2019.06.10-Ratified.pdf>来自于NVMe网站:https://nvmexpress.org/ 笔记目的是学习NVMe ...

  5. 201521123003《Java程序设计》第10周学习笔记

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...

  6. Jerry Wang从2017年到2019年的自由泳学习笔记

    打腿 把注意力调整到脚部,尽量不要让他打出水面,因为在空气中大腿完全是无用功,但是如果只是脚跟出水一点,倒也没什么关心,但是主观上,要控制一下,如果你听到你的打腿是"咚咚咚咚"这样 ...

  7. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(5.21.1.10-加-6.4)Atomic_Operations

    5.21.1.10 Write Atomicity Normal 这个特性控制AWUN和NAWUN参数的操作.设置的属性值在set Feature命令的Dword 11中表明. 如果提交Get Fea ...

  8. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8.8)-- Reservations

    8.8 Reservations 预订 NVMe的reservation预订功能,用于让两个或多个主机能够协调配合的访问共享namespace.使用这些功能的协议和方式超出了本规格说明书的范围.对这些 ...

  9. 《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(8.20)-- ANA

    8.20 非对称namespace访问报告 8.20.1 非对称namespace访问报告概况 非对称Namespace访问(ANA)在如下场景下产生,基于访问这个namespace的controll ...

随机推荐

  1. Spark SQL 之自定义删除外部表

    前言 Spark SQL 在删除外部表时,本不能删除外部表的数据的.本篇文章主要介绍如何修改Spark SQL 源码实现在删除外部表的时候,可以带额外选项来删除外部表的数据. 本文的环境是我一直使用的 ...

  2. 在debian10启动器中添加自定义应用

    首先要添加一个desktop类型的文件,搜索一下即可 若将desktop文件放在/usr/share/applicatios/中,需要执行update-desktop-database使新添加的应用生 ...

  3. 本地与github建立连接,本地代码上传到github

    1,已有github账号 2,本地已经安装git 3,本地创建ssh-key 在git bash中输入后直接回车. $ ssh-keygen -t rsa -C "your_email@yo ...

  4. MongoDB导入导出以及数据库备份111

      -------------------MongoDB数据导入与导出------------------- 用命令行打开mongo安装路径如图: 执行后, 在此处输入命令,如:mongoexport ...

  5. linux中压缩解压缩命令

    目录 gzip gunzip tar(打包压缩) tar(解包解压) zip unzip bzip2 bunzip2 gzip 解释 命令名称:gzip 命令英文原意:GUN zip 命令所在路径:/ ...

  6. ARC-082F Sandglass

    题意 有一个含有两个玻璃球的沙漏,分别称这两个玻璃球为\(

  7. postgresql 文件布局

    我们知道linux中一个思想:一切皆文件,那么在我们安装完postgresql数据库后,她长什么样呢?本文带着你一起揭开她的面纱,看看postgresql的文件布局. 说明:由于安装测试的版本是10. ...

  8. day8 编码2

    #!/usr/bin/env python # -*- coding:utf-8 -*- #str --->byte encode 编码 s = '二哥' b = s.encode('utf-8 ...

  9. 无人机通信协议MAVLink简介

    MAVLink MAVLink(Micro Air Vehicle Link,微型空中飞行器链路通讯协议)是无人飞行器与地面站(Ground Control Station ,GCS)之间通讯,以及无 ...

  10. 判定PDF文件是否能够正常打开

    下载iTextSharp.dll using iTextSharp.text.pdf; PdfReader reader = new PdfReader(strPath + "\\" ...