1.Write
首先看Write命令的官方说明:
nvme-write <device> [--start-block=<slba> | -s <slba>]
[--block-count=<nlb> | -c <nlb>]
[--data-size=<size> | -z <size>]
[--metadata-size=<size> | -y <size>]
[--ref-tag=<reftag> | -r <reftag>]
[--data=<data-file> | -d <data-file>]
[--metadata=<metadata-file> | -M <metadata-file>]
[--prinfo=<prinfo> | -p <prinfo>]
[--app-tag-mask=<appmask> | -m <appmask>]
[--app-tag=<apptag> | -a <apptag>]
[--limited-retry | -l]
[--force-unit-access | -f]
[--dir-type=<type> | -T <type>]
[--dir-spec=<spec> | -S <spec>]
[--dsm=<dsm> | -D <dsm>]
[--show-command | -v]
[--dry-run | -w]
[--latency | -t]
其中Start LBA,读取block的数量,读取的data-size的大小比较重要,其他信息可以看官方说明:https://www.mankier.com/1/nvme-write
这里我们如果要查看读取的数据的话,那还需要使用date-file参数。比如这里我们想从nand写10个block的数据(这里设定一个block的大小为4K),并且将读取数据进行观察的话,那么使用如下命令即可:
sudo nvme write /dev/nvme0n1 -s 0 -c 10 -z 40980 -d examples.desktop
*:为了方便观察这里我们使用了ubantu的桌面文件example.desktop,可以自订。
提示Wrtie: Success后就表明写成功。
2.Read
先来看Read的官方说明:
nvme-read <device> [--start-block=<slba> | -s <slba>]
[--block-count=<nlb> | -c <nlb>]
[--data-size=<size> | -z <size>]
[--metadata-size=<size> | -y <size>]
[--ref-tag=<reftag> | -r <reftag>]
[--data=<data-file> | -d <data-file>]
[--metadata=<metadata-file> | -M <metadata-file>]
[--prinfo=<prinfo> | -p <prinfo>]
[--app-tag-mask=<appmask> | -m <appmask>]
[--app-tag=<apptag> | -a <apptag>]
[--limited-retry | -l]
[--force-unit-access | -f]
[--dir-type=<type> | -T <type>]
[--dir-spec=<spec> | -S <spec>]
[--dsm=<dsm> | -D <dsm>]
[--show-command | -v]
[--dry-run | -w]
[--latency | -t]
其中Start LBA,读取block的数量,读取的data-size的大小比较重要,其他信息可以看官方说明:https://www.mankier.com/1/nvme-read
--start-block=<slba>, -s <slba>
Start block.
--block-count, -c
The number of blocks to transfer. This is a zeroes based value to align with the kernel’s use of this field. (ie. 0 means transfer 1 block).
--data-size=<size>, -z <size>
Size of data, in bytes.
这里我们如果要查看读取的数据的话,那还需要使用date-file参数。比如这里我们想从nand读10个block的数据(这里设定一个block的大小为4K),并且将读取数据进行观察的话,那么使用如下命令即可:
sudo nvme read /dev/nvme0n1 -s 0 -c 10 -z 40960 -d read_1.txt
这样,host就会从nand读取40960byte的数据,并将这些数据显示在read_1.txt中。
3. 测试Write/Read的功能是否正常
在完成上述操作之后, 使用vim进行观察
vimdiff examples.desktop read_1.txt
对读写的数据进行对比
左右一样,表明读写功能完全正常。

本文详细介绍了如何使用Nvme-Cli进行Write和Read测试,包括Start LBA、block数量和data-size等关键参数的设置。通过举例说明如何写入和读取数据,并提供测试Write/Read功能是否正常的步骤,最终通过对比数据验证了NVMe设备的读写功能正常。
 ReadWrite测试经验&spm=1001.2101.3001.5002&articleId=85068284&d=1&t=3&u=c678977c902445619268242194195f5a)
4964

被折叠的 条评论
为什么被折叠?



