Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NVME-COMPARE(1)			  NVMe Manual		       NVME-COMPARE(1)

NAME
       nvme-compare - Send an NVMe Compare command, provide results

SYNOPSIS
       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 | -C]
			       [--force]
			       [--output-format=<fmt> |	-o <fmt>] [--verbose | -v]
			       [--timeout=<timeout>]

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).

       -g <storage-tag>, --storage-tag=<storage-tag>
	   Variable Sized Expected Logical Block Storage Tag(ELBST).

       -C, --storage-tag-check
	   This	flag enables Storage Tag field checking	as part	of end-to-end
	   data	protection processing.

       --force
	   Ignore namespace is currently busy and performed the	operation even
	   though.

       -o <fmt>, --output-format=<fmt>
	   Set the reporting format to normal, json or binary. Only one	output
	   format can be used at a time.

       -v, --verbose
	   Increase the	information detail in the output.

       --timeout=<timeout>
	   Override default timeout value. In milliseconds.

EXAMPLES
       No examples yet.

NVME
       Part of the nvme-user suite

NVMe				  10/31/2024		       NVME-COMPARE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nvme-compare&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help