diff options
Diffstat (limited to 'Documentation/nvme-compare.txt')
-rw-r--r-- | Documentation/nvme-compare.txt | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/Documentation/nvme-compare.txt b/Documentation/nvme-compare.txt new file mode 100644 index 0000000..0137d8d --- /dev/null +++ b/Documentation/nvme-compare.txt @@ -0,0 +1,163 @@ +nvme-compare(1) +=============== + +NAME +---- +nvme-compare - Send an NVMe Compare command, provide results + +SYNOPSIS +-------- +[verse] +'nvme-compare' <device> [--start-block=<slba> | -s <slba>] + [--block-count=<nlb> | -c <nlb>] + [--data-size=<size> | -z <size>] + [--metadata-size=<metasize> | -y <metasize>] + [--ref-tag=<reftag> | -r <reftag>] + [--data=<data-file> | -d <data-file>] + [--metadata=<meta> | -M <meta>] + [--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] + [--storage-tag<storage-tag> | -g <storage-tag>] + [--storage-tag-check<storage-tag-check> | -C <storage-tag-check>] + [--force] + +DESCRIPTION +----------- +The Compare command reads the logical blocks specified by the command +from the medium and compares the data read to a comparison data buffer +transferred as part of the command. If the data read from the controller +and the comparison data buffer are equivalent with no miscompares, +then the command completes successfully. If there is any miscompare, +the command completes with an error of Compare Failure. If metadata is +provided, then a comparison is also performed for the metadata. + +OPTIONS +------- +-s <slba>:: +--start-block=<slba>:: + 64-bit address of the first block to access. + +-c <nlb>:: +--block-count=<nlb>:: + Number of blocks to be accessed (zero-based). + +-z <size>:: +--data-size=<size>:: + Size of data to be compared in bytes. + +-y <metasize>:: +--metadata-size=<metasize>:: + Size of metadata to be transferred in bytes. + +-r <reftag>:: +--ref-tag=<reftag>:: + Reference Tag for Protection Information + +-d <data-file>:: +--data=<data-file>:: + Data file. + +-M <meta>:: +--metadata=<meta>:: + Metadata file. + +-p <prinfo>:: +--prinfo=<prinfo>:: + Protection Information and check field. + ++ +[] +|================= +|Bit|Description +|3|PRACT: Protection Information Action. When set to 1, PI is stripped/inserted +on read/write when the block format's metadata size is 8. When set to 0, +metadata is passes. +|2:0|PRCHK: Protection Information Check: +|2|Set to 1 enables checking the guard tag +|1|Set to 1 enables checking the application tag +|0|Set to 1 enables checking the reference tag +|================= + +-m <appmask>:: +--app-tag-mask=<appmask>:: + App Tag Mask for Protection Information + +-a <apptag>:: +--app-tag=<apptag>:: + App Tag for Protection Information + +-l:: +--limited-retry:: + Number of limited attempts to media. + +-f:: +--force-unit-access:: + FUA option to guarantee that data is stored to media. + +-T <type>:: +--dir-type=<type>:: + Optional directive type. The nvme-cli only enforces the value + be in the defined range for the directive type, though the NVMe + specification (1.3a) defines only one directive, 01h, for write + stream identifiers. + +-S <spec>:: +--dir-spec=<spec>:: + Optional field for directive specifics. When used with + write streams, this value is defined to be the write stream + identifier. The nvme-cli will not validate the stream requested + is within the controller's capabilities. + +-D <dsm>:: +--dsm=<dsm>:: + The optional data set management attributes for this command. The argument + for this is the least significant 8 bits of the DSM field in a write + command; the most significant 16 bits of the field come from the directive + specific field, if used. This may be used to set attributes for + the LBAs being written, like access frequency, type, latency, + among other things, as well as yet to be defined types. Please + consult the NVMe specification for detailed breakdown of how to + use this field. +-v:: +--show-cmd:: + Print out the command to be sent. + +-w:: +--dry-run:: + Do not actually send the command. If want to use --dry-run option, + --show-cmd option _must_ be set. Otherwise --dry-run option will be + _ignored_. + +-t:: +--latency:: + Print out the latency the IOCTL took (in us). + +--storage-tag=<storage-tag>:: +-g <storage-tag>:: + Variable Sized Expected Logical Block Storage Tag(ELBST). + +--storage-tag-check=<storage-tag-check>:: +-C <storage-tag-check>:: + This bit specifies the Storage Tag field shall be checked as part of end-to-end + data protection processing. + +--force:: + Ignore namespace is currently busy and performed the operation + even though. + +EXAMPLES +-------- +No examples yet. + +NVME +---- +Part of the nvme-user suite |