OCP NVME SSD规范解读-4.NVMe IO命令-2

  1. NVMe-IO-3:

    由于设备具有掉电保护功能(如Power Loss Protection,PLP),因此在以下情况下,性能不应降低:

FUA(Force Unit Access) :是计算机存储设备中的一种命令标志或选项。在数据写入操作中,当主机发出带有FUA标志的写入命令时,它强制存储设备直接将数据写入到非易失性存储介质上,而不是先写入缓存中。

在正常情况下,存储设备可能会使用缓存来提高写入性能。数据首先被写入缓存,然后在后台异步地转移到非易失性存储介质。这种方式可以减少实际写入物理介质所需的时间,从而提高系统的整体性能。

当FUA被设置时,存储设备会确保数据直接写入到非易失性存储介质上,然后再返回写入完成的确认给主机。这样可以保证在任何情况下,数据都已经安全地存储在设备上,即使立即发生电源故障也不会丢失。

Flush Cache:由于PLP使得任何缓存都变为非易失性,因此刷新缓存不应有任何影响。

Volatile Write Cache(特性标识符06h):设置禁用写缓存的功能,这部分在NVME协议中也有对应的定义

  1. NVMe-IO-4/5/6/7:

    设备应支持Write Zeroes命令,并支持以下设置:

    • De-allocate (DEAC) :用于指示设备是否应在写入零的同时释放已分配的空间。

    • Force Unit Access (FUA) :用于指示设备是否应立即将数据写入持久化存储介质。

如果Write Zeroes命令的DEAC位设置为1b,且FUA位清除为0b,设备应释放指定的块,并在随后对指定块的任何读取操作中返回零值,直到被其他命令(如Write, Copy等)修改,无论Dataset Management命令的行为如何。

同时这种情况下,OCP要求,一个或多个Write Zeroes命令应当能够在一分钟内完全释放整个设备,包括更新FTL(Flash Translation Layer)映射

  1. NVMe-IO-8:

    设备应支持Compare命令,该命令用于比较设备上的数据和主机提供的数据。

  2. NVMe-IO-9:

    设备应支持Compare and Write fused command pair,这是一种将比较和写入操作组合在一起的优化命令,可以提高效率。

  3. NVMe-IO-10/11/12/13/14:

    设备应支持Write Uncorrectable命令,该命令用于标记无法纠正的逻辑块地址(LBAs)。支持以单个LBA的粒度标记LBAs为不可纠正,而不考虑FTL间接寻址粒度中的LBA数量。

关于Write Uncorrectable命令注入的UNC报错信息,NVME协议并没有给出明确要求,是否要包含在SMART Media Error技术之中

但是,在OCP规范中,明确要求Write Uncorrectable命令注入的不可纠正错误(例如读取错误)不应计入Smart / Health Information(日志标识符02h)的Media and Data Integrity Errors字段

小编每日撰文不易,如果您看完有所受益,欢迎点击文章底部左下角"关注 "并点击"分享 "、"在看",非常感谢!

精彩推荐:

相关推荐
oMcLin几秒前
如何在Ubuntu 22.04 LTS上优化PostgreSQL 14集群,提升大数据查询的响应速度与稳定性?
大数据·ubuntu·postgresql
bu_shuo8 分钟前
将AI生成的数学公式正确复制到word中
人工智能·chatgpt·word·latex
AI科技星11 分钟前
光速飞行器动力学方程的第一性原理推导、验证与范式革命
数据结构·人工智能·线性代数·算法·机器学习·概率论
tao35566712 分钟前
VS Code登录codex,报错(os error 10013)
java·服务器·前端
摘星编程14 分钟前
RAG的下一站:检索增强生成如何重塑企业知识中枢?
android·人工智能
Hey小孩15 分钟前
[个人总结] LDD3:3.字符驱动 - scull(4)
linux·驱动开发
陈让然15 分钟前
VS Code新版本无法连接WSL ubuntu18.04
linux·运维·ubuntu
Aaron_94516 分钟前
BitNet:1-bit大语言模型的高效推理框架详解
人工智能·语言模型·自然语言处理
wenzhangli717 分钟前
「1+3 架构驱动」OoderAI 企业级解决方案:破解 AI 落地三大痛点,实现能力可控、交互智能与代码一致
人工智能
oMcLin18 分钟前
如何在Oracle Linux 8.4上通过配置Oracle RAC集群,确保企业级数据库的高可用性与负载均衡?
linux·数据库·oracle