Nvme-Cli使用心得(二) Read/Write测试经验

1.Write

    首先看Write命令的官方说明:

nvme-write  [--start-block= | -s ]
                        [--block-count= | -c ]
                        [--data-size= | -z ]
                        [--metadata-size= | -y ]
                        [--ref-tag= | -r ]
                        [--data= | -d ]
                        [--metadata= | -M ]
                        [--prinfo= | -p ]
                        [--app-tag-mask= | -m ]
                        [--app-tag= | -a ]
                        [--limited-retry | -l]
                        [--force-unit-access | -f]
                        [--dir-type= | -T ]
                        [--dir-spec= | -S ]
                        [--dsm= | -D ]
                        [--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  [--start-block= | -s ]
                        [--block-count= | -c ]
                        [--data-size= | -z ]
                        [--metadata-size= | -y ]
                        [--ref-tag= | -r ]
                        [--data= | -d ]
                        [--metadata= | -M ]
                        [--prinfo= | -p ]
                        [--app-tag-mask= | -m ]
                        [--app-tag= | -a ]
                        [--limited-retry | -l]
                        [--force-unit-access | -f]
                        [--dir-type= | -T ]
                        [--dir-spec= | -S ]
                        [--dsm= | -D ]
                        [--show-command | -v]
                        [--dry-run | -w]
                        [--latency | -t]

    其中Start LBA,读取block的数量,读取的data-size的大小比较重要,其他信息可以看官方说明:https://www.mankier.com/1/nvme-read

--start-block=, -s 
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=, -z 
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

     对读写的数据进行对比

    左右一样,表明读写功能完全正常。

 

你可能感兴趣的:(协议解读,工具,linux)