summaryrefslogtreecommitdiffstats
path: root/Documentation/nvme-write.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/nvme-write.txt')
-rw-r--r--Documentation/nvme-write.txt145
1 files changed, 145 insertions, 0 deletions
diff --git a/Documentation/nvme-write.txt b/Documentation/nvme-write.txt
new file mode 100644
index 0000000..2074f52
--- /dev/null
+++ b/Documentation/nvme-write.txt
@@ -0,0 +1,145 @@
+nvme-write(1)
+=============
+
+NAME
+----
+nvme-write - Send an NVMe write command, provide results
+
+SYNOPSIS
+--------
+[verse]
+'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]
+
+DESCRIPTION
+-----------
+The Write command writes the logical blocks specified by the command to
+the medium from the data data buffer provided. Will use stdin by default
+if you don't provide a file.
+
+OPTIONS
+-------
+--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.
+
+--metadata-size=<size>::
+-y <size>::
+ Size of metadata in bytes.
+
+--data=<data-file>::
+-d <data-file>::
+ Data file. If none provided, contents are sent from STDIN.
+
+--metadata=<metadata-file>::
+-M <metadata-file>::
+ Metadata file, if necessary.
+
+--prinfo=<prinfo>::
+-p <prinfo>::
+ Protection Information field definition.
++
+[]
+|=================
+|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
+|=================
+
+--ref-tag=<reftag>::
+-r <reftag>::
+ Optional reftag when used with protection information.
+
+--app-tag-mask=<appmask>::
+-m <appmask>::
+ Optional application tag mask when used with protection information.
+
+--app-tag=<apptag>::
+-a <apptag>::
+ Optional application tag when used with protection information.
+
+--limited-retry::
+-l::
+ Sets the limited retry flag.
+
+--force-unit-access::
+-f::
+ Set the force-unit access flag.
+
+-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
+ specifcation (1.3a) defines only one directive, 01h, for write
+ stream idenfiers.
+
+-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 lower 16 bits of the DSM field in a write
+ command; the upper 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).
+
+EXAMPLES
+--------
+No examples yet.
+
+NVME
+----
+Part of the nvme-user suite