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字段

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

精彩推荐:

相关推荐
Wnq1007235 分钟前
养猪场巡检机器人的设计与应用研究
大数据·人工智能·数据挖掘·机器人·巡检机器人·北京玉麟科技巡检机器人
FL1717131442 分钟前
UR5e机器人Matlab仿真
linux·matlab·机器人
不知几秋5 小时前
数字取证-内存取证(volatility)
java·linux·前端
珊珊而川6 小时前
ChatPromptTemplate创建方式比较
服务器·langchain
CM莫问6 小时前
<论文>(微软)避免推荐域外物品:基于LLM的受限生成式推荐
人工智能·算法·大模型·推荐算法·受限生成
康谋自动驾驶7 小时前
康谋分享 | 自动驾驶仿真进入“标准时代”:aiSim全面对接ASAM OpenX
人工智能·科技·算法·机器学习·自动驾驶·汽车
欧先生^_^8 小时前
Linux内核可配置的参数
linux·服务器·数据库
若风的雨8 小时前
【deekseek】P2P通信路由过程
服务器·网络协议·p2p
海尔辛8 小时前
学习黑客5 分钟读懂Linux Permissions 101
linux·学习·安全
Python私教8 小时前
征服Rust:从零到独立开发的实战进阶
服务器·开发语言·rust