目前我需要构建一个自动化测试来检查系统如何处理 LBA 错误。是否有任何命令可以通过任何方式使 SSD 硬盘返回读取错误。根据NVMe 协议-6.15 写入不可纠正命令应该有这样的命令。
答案1
有nvme-write-uncor
命令nvme-cli
nvme-write-uncor - Send an NVMe write uncorrectable command, return results
根据NVMe协议:
When the specified logical block(s) are read after this operation, a failure
is returned with Unrecovered Read Error status.
因此,要获得读取错误,您需要读取以前损坏的块。
答案2
我对 nvme 完全陌生。因此,nvme-cli 是硬盘驱动器供应商应该支持的界面。但在某些模块中,命令不起作用。所以不要放弃!尝试另一个硬盘驱动器。
nvme write-uncor /dev/nvme2n1 -s 0 -c 5 -n 1
装置-s和-C很清楚(查看帮助)-n,namespace-id 在设备名称中给出,nvme2n1意思是-n是1。