《NVM-Express-1_4-2019.06.10-Ratified》学习笔记(6.8)-- Flush命令
6.8 Flush命令
Flush命令是用于把易失性写缓存的内容变成非易失性内容的请求。
如果使能了易失性写缓存(参考第5.21.1.6章节),那么Flush命令应该把指定的namespace(s)相应的数据和元数据提交到非易失介质中。这个flush刷新对所有在提交Flush命令之前被controller完成的这些指定的namespace(s)的命令都适用。controller也可以从任意namespace刷新附加的数据和/或元数据。
如果VWC(Volatile Write Cache)字段域(参考Figure 274)中的位2:1被设置成了二进制的11,并且指定的NSID为0xFFFFFFFF,那么Flush命令对隶属于这个处理Flush命令的controller的所有namespaces都适用。如果VWC字段域中的位2:1被设置成了二进制的10,并且指定NSID为0xFFFFFFFF,那么controller失败这个命令,返回状态码为Invalid Namespace or Format。如果VWC字段域中的位2:1被设置成了二进制的00,且指定NSID为0xFFFFFFFF时,controller的行为是未指示的。版本1.4及之后的规格说明书指示controller应该不要设置VWC字段域中的位2:1为二进制00。
如果易失性写缓存未呈现或未使能,那么Flush命令应该成功完成,无实际效果。
所有命令特定域都reserved保留。
6.8.1 Command Completion
依据Flush命令的Completion,controller发送一个CQE到对应的I/O完成队列。
附加:


浙公网安备 33010602011771号