.TH SG_WRITE_SAME "8" "June 2020" "sg3_utils\-1.45" SG3_UTILS
.SH NAME
sg_write_same \- send SCSI WRITE SAME command
.SH SYNOPSIS
.B sg_write_same
[\fI\-\-10\fR] [\fI\-\-16\fR] [\fI\-\-32\fR] [\fI\-\-anchor\fR]
[\fI\-\-ff\fR] [\fI\-\-grpnum=GN\fR] [\fI\-\-help\fR] [\fI\-\-in=IF\fR]
[\fI\-\-lba=LBA\fR] [\fI\-\-lbdata\fR] [\fI\-\-num=NUM\fR]
[\fI\-\-ndob\fR] [\fI\-\-pbdata\fR] [\fI\-\-timeout=TO\fR]
[\fI\-\-unmap\fR] [\fI\-\-verbose\fR] [\fI\-\-version\fR]
[\fI\-\-wrprotect=WPR\fR] [\fI\-\-xferlen=LEN\fR]
\fIDEVICE\fR
.SH DESCRIPTION
.\" Add any additional description here
Send the SCSI WRITE SAME (10, 16 or 32 byte) command to \fIDEVICE\fR. This
command writes the given block \fINUM\fR times to consecutive blocks on
the \fIDEVICE\fR starting at logical block address \fILBA\fR.
.PP
The length of the block to be written multiple times is obtained from either
the \fILEN\fR argument, or the length of the given input file \fIIF\fR,
or by calling READ CAPACITY(16) on \fIDEVICE\fR. The contents of the
block to be written are obtained from the input file \fIIF\fR or
zeros are used. If READ CAPACITY(16) is called (which implies \fIIF\fR
was not given) and the PROT_EN bit is set then an extra 8 bytes (i.e.
more than the logical block size) of 0xff are sent. If READ CAPACITY(16)
fails then READ CAPACITY(10) is used to determine the block size.
.PP
If neither \fI\-\-10\fR, \fI\-\-16\fR nor \fI\-\-32\fR is given then
WRITE SAME(10) is sent unless one of the following conditions is met.
If \fILBA\fR (plus \fINUM\fR) exceeds 32 bits, \fINUM\fR exceeds 65535,
or the \fI\-\-unmap\fR option is given then WRITE SAME(16) is sent.
The \fI\-\-10\fR, \fI\-\-16\fR and \fI\-\-32\fR options are mutually
exclusive.
.PP
SBC\-3 revision 35d introduced a "No Data\-Out Buffer" (NDOB) bit which, if
set, bypasses the requirement to send a single block of data to the
\fIDEVICE\fR together with the command. Only WRITE SAME (16 and 32 byte)
support the NDOB bit. If given, a user block of zeros is assumed; if
required, protection information of 0xffs is assumed.
.PP
In SBC\-3 revision 26 the UNMAP and ANCHOR bits were added to the
WRITE SAME (10) command. Since the UNMAP bit has been in WRITE SAME (16)
and WRITE SAME (32) since SBC\-3 revision 18, the lower of the two (i.e.
WRITE SAME (16)) is the default when the \fI\-\-unmap\fR option is given.
To send WRITE SAME (10) use the \fI\-\-10\fR option.
.PP
.B Take care:
The WRITE SAME(10, 16 and 32) commands may interpret a \fINUM\fR of zero as
write to the end of \fIDEVICE\fR. This utility defaults \fINUM\fR to 1 .
The WRITE SAME commands have no IMMED bit so if \fINUM\fR is large (or
zero) then an invocation of this utility could take a long time, potentially
as long as a FORMAT UNIT command. In such situations the command timeout
value \fITO\fR may need to be increased from its default value of 60
seconds. In SBC\-3 revision 26 the WSNZ (write same no zero) bit was added
to the Block Limits VPD page [0xB0]. If set the WRITE SAME commands will not
accept a \fINUM\fR of zero. The same SBC\-3 revision added the "Maximum
Write Same Length" field to the Block Limits VPD page.
.PP
The Logical Block Provisioning VPD page [0xB2] contains the LBPWS and
LBPWS10 bits. If LBPWS is set then WRITE SAME (16) supports the UNMAP bit.
If LBPWS10 is set then WRITE SAME (10) supports the UNMAP bit. If either
LBPWS or LBPWS10 is set and the WRITE SAME (32) is supported then WRITE
SAME (32) supports the UNMAP bit.
.PP
As a precaution against an accidental 'sg_write_same /dev/sda' (for example)
overwriting LBA 0 on /dev/sda with zeros, at least one of the
\fI\-\-in=IF\fR, \fI\-\-lba=LBA\fR or \fI\-\-num=NUM\fR options must be
given. Obviously this utility can destroy a lot of user data so check the
options carefully.
.SH OPTIONS
Arguments to long options are mandatory for short options as well.
The options are arranged in alphabetical order based on the long
option name.
.TP
\fB\-R\fR, \fB\-\-10\fR
send a SCSI WRITE SAME (10) command to \fIDEVICE\fR. The ability to
set the \fI\-\-unmap\fR (and \fI\-\-anchor\fR) options to this command
was added in SBC\-3 revision 26.
.TP
\fB\-S\fR, \fB\-\-16\fR
send a SCSI WRITE SAME (16) command to \fIDEVICE\fR.
.TP
\fB\-T\fR, \fB\-\-32\fR
send a SCSI WRITE SAME (32) command to \fIDEVICE\fR.
.TP
\fB\-a\fR, \fB\-\-anchor\fR
sets the ANCHOR bit in the cdb. Introduced in SBC\-3 revision 22.
That draft requires the \fI\-\-unmap\fR option to also be specified.
.TP
\fB\-f\fR, \fB\-\-ff\fR
the data\-out buffer sent with this command is initialized with 0xff bytes
when this option is given.
.TP
\fB\-g\fR, \fB\-\-grpnum\fR=\fIGN\fR
sets the 'Group number' field to \fIGN\fR. Defaults to a value of zero.
\fIGN\fR should be a value between 0 and 63.
.TP
\fB\-h\fR, \fB\-\-help\fR
output the usage message then exit.
.TP
\fB\-i\fR, \fB\-\-in\fR=\fIIF\fR
read data (binary) from file named \fIIF\fR and use it as the data\-out
buffer for the SCSI WRITE SAME command. The length of the data\-out buffer
is \fI\-\-xferlen=LEN\fR or, if that is not given, the length of the \fIIF\fR
file. If \fIIF\fR is "\-" then stdin is read. If this option and the
\fI\-\-ff\fR are not given then 0x00 bytes are used as fill with the length
of the data\-out buffer obtained from \fI\-\-xferlen=LEN\fR or by calling
READ CAPACITY(16 or 10).  If the response to READ CAPACITY(16) has the
PROT_EN bit set then data\- out buffer size is modified accordingly with
the last 8 bytes set to 0xff.
.TP
\fB\-l\fR, \fB\-\-lba\fR=\fILBA\fR
where \fILBA\fR is the logical block address to start the WRITE SAME command.
Defaults to lba 0 which is a dangerous block to overwrite on a disk that is
in use. Assumed to be in decimal unless prefixed with '0x' or has a
trailing 'h'.
.TP
\fB\-L\fR, \fB\-\-lbdata\fR
sets the LBDATA bit in the WRITE SAME cdb. This bit was made obsolete in
sbc3r32 in September 2012.
.TP
\fB\-N\fR, \fB\-\-ndob\fR
sets the NDOB bit in the WRITE SAME (16 and 32 byte) commands. NDOB stands
for No Data\-Out Buffer. Default is to clear this bit. When this option
is given then \fI\-\-in=IF\fR is not allowed and \fI\-\-xferlen=LEN\fR can
only be given if \fILEN\fR is 0 .
.br
By default zeros are written in each block, but it is possible that
the "provisioning initialization pattern" is written depending on other
settings.
.TP
\fB\-n\fR, \fB\-\-num\fR=\fINUM\fR
where \fINUM\fR is the number of blocks, starting at \fILBA\fR, to write the
data\-out buffer to. The default value for \fINUM\fR is 1. The value
corresponds to the 'Number of logical blocks' field in the WRITE SAME cdb.
.br
Note that a value of 0 in \fINUM\fR may be interpreted as write the data\-out
buffer on every block starting at \fILBA\fR to the end of the \fIDEVICE\fR.
If the WSNZ bit (introduced in sbc3r26, January 2011) in the Block Limits VPD
page is set then the value of 0 is disallowed, yielding an Invalid request
sense key.
.TP
\fB\-P\fR, \fB\-\-pbdata\fR
sets the PBDATA bit in the WRITE SAME cdb. This bit was made obsolete in
sbc3r32 in September 2012.
.TP
\fB\-t\fR, \fB\-\-timeout\fR=\fITO\fR
where \fITO\fR is the command timeout value in seconds. The default value is
60 seconds. If \fINUM\fR is large (or zero) a WRITE SAME command may require
considerably more time than 60 seconds to complete.
.TP
\fB\-U\fR, \fB\-\-unmap\fR
sets the UNMAP bit in the WRITE SAME(10, 16 and 32) cdb. See UNMAP section
below.
.TP
\fB\-v\fR, \fB\-\-verbose\fR
increase the degree of verbosity (debug messages).
.TP
\fB\-V\fR, \fB\-\-version\fR
output version string then exit.
.TP
\fB\-w\fR, \fB\-\-wrprotect\fR=\fIWPR\fR
sets the "Write protect" field in the WRITE SAME cdb to \fIWPR\fR. The
default value is zero. \fIWPR\fR should be a value between 0 and 7.
When \fIWPR\fR is 1 or greater, and the disk's protection type is 1 or
greater, then 8 extra bytes of protection information are expected or
generated (to place in the command's data\-out buffer).
.TP
\fB\-x\fR, \fB\-\-xferlen\fR=\fILEN\fR
where \fILEN\fR is the data\-out buffer length. Defaults to the length of
the \fIIF\fR file or, if that is not given, then the READ CAPACITY(16 or 10)
command is used to find the 'Logical block length in bytes'. That figure
may be increased by 8 bytes if the \fIDEVICE\fR's protection type is 1 or
greater and the WRPROTECT field (see \fI\-\-wrprotect=WPR\fR) is 1 or
greater. If both this option and the \fIIF\fR option are given and
\fILEN\fR exceeds the length of the \fIIF\fR file then \fILEN\fR is the
data\-out buffer length with zeros used as pad bytes.
.SH UNMAP
Logical block provisioning is a new term introduced in SBC\-3 revision 25
for the ability to mark blocks as unused. For large storage arrays, it is a
way to provision less physical storage than the READ CAPACITY command reports
is available, potentially allocating more physical storage when WRITE
commands require it. For flash memory (e.g. SSD drives) it is a way of
potentially saving power (and perhaps access time) when it is known large
sections (or almost all) of the flash memory is not in use. SSDs need wear
levelling algorithms to have acceptable endurance and typically over
provision to simplify those algorithms; hence they typically contain more
physical flash storage than their logical size would dictate.
.PP
Support for logical block provisioning is indicated by the LBPME bit being
set in the READ CAPACITY(16) command response (see the sg_readcap utility).
That implies at least one of the UNMAP or WRITE SAME(16) commands is
implemented. If the UNMAP command is implemented then
the "Maximum unmap LBA count" and "Maximum unmap block descriptor count"
fields in the Block Limits VPD page should both be greater than zero. The
READ CAPACITY(16) command response also contains a LBPRZ bit which if set
means that if unmapped blocks are read then zeros will be returned for the
data (and if protection information is active, 0xff bytes are returned for
that). In SBC\-3 revision 27 the same LBPRZ bit was added to the Logical
Block Provisioning VPD page.
.PP
In SBC\-3 revision 25 the LBPU and ANC_SUP bits where added to the
Logical Block Provisioning VPD page. When LBPU is set it indicates that
the device supports the UNMAP command (see the sg_unmap utility). When the
ANC_SUP bit is set it indicates the device supports anchored LBAs.
.PP
When the UNMAP bit is set in the cdb then the data\-out buffer is also sent.
Additionally the data section of that data\-out buffer should be full of 0x0
bytes while the data protection block, 8 bytes at the end if present, should
be set to 0xff bytes. If these conditions are not met and the LBPRZ bit is
set then the UNMAP bit is ignored and the data\-out buffer is written to the
\fIDEVICE\fR as if the UNMAP bit was zero. In the absence of the
\fI\-\-in=IF\fR option, this utility will attempt build a data\-out buffer
that meets the requirements for the UNMAP bit in the cdb to be acted on by
the \fIDEVICE\fR.
.PP
Logical blocks may also be unmapped by the SCSI UNMAP and FORMAT UNIT
commands (see the sg_unmap and sg_format utilities).
.PP
The unmap capability in SCSI is closely related to the ATA DATA SET
MANAGEMENT command with the "Trim" bit set. That ATA trim capability does
not interact well with SATA command queueing known as NCQ. T13 have
introduced a new command called the SFQ DATA SET MANAGEMENT command also
with a the "Trim" bit to address that problem. The SCSI WRITE SAME with
the UNMAP bit set and the UNMAP commands do not have any problems with
SCSI queueing.
.SH NOTES
Various numeric arguments (e.g. \fILBA\fR) may include multiplicative
suffixes or be given in hexadecimal. See the "NUMERIC ARGUMENTS" section
in the sg3_utils(8) man page.
.PP
In Linux, prior to lk 3.17, the sg driver did not support cdb sizes greater
than 16 bytes. Hence a device node like /dev/sg1 which is associated with
the sg driver would fail with this utility if the \fI\-\-32\fR option was
given (or implied by other options). The bsg driver with device nodes like
/dev/bsg/6:0:0:1 does support cdb sizes greater than 16 bytes since its
introduction in lk 2.6.28 .
.SH EXIT STATUS
The exit status of sg_write_same is 0 when it is successful. Otherwise see
the sg3_utils(8) man page.
.SH EXAMPLES
BEWARE: all these examples will overwrite the data on one or more blocks,
potentially CLEARING the WHOLE DISK.
.PP
One simple usage is to write blocks of zero from (and including) a given LBA
for 63 blocks:
.PP
  sg_write_same \-\-lba=0x1234 \-\-num=63 /dev/sdc
.PP
Since \fI\-\-xferlen=LEN\fR has not been given, then this utility will
call the READ CAPACITY command on /dev/sdc to determine the number
of bytes in a logical block.  Let us assume that is 512 bytes. Since
\fI\-\-in=IF\fR is not given a block of zeros is assumed. So 63 blocks
of zeros (each block containing 512 bytes) will be written from (and
including) LBA 0x1234 . Note that only one block of zeros is passed
to the SCSI WRITE SAME command in the data\-out buffer (as required by
SBC\-3). Using the WRITE SAME SCSI command to write one or more blocks
blocks of zeros is equivalent to the NVMe command: Write Zeroes.
.br
Now we will write zero blocks to the WHOLE disk. [Note sanitize type commands
will also clear blocks and metadata that are not directly visible]:
.PP
  sg_write_same \-\-lba=0x0 \-\-num=0 /dev/sdc
.PP
Yes, in this context \-\-num=0 means the rest of the disk. The above
invocation may give an error due to the WSNZ bit in the Block Limits VPD
page being set. To get around that try:
.PP
  sg_write_same \-\-lba=0x0 \-\-ndob /dev/sdc
.PP
this invocation, if supported, has the added benefit of not sending a data
out buffer of zeros. Notes that it is possible that the "provisioning
initialization pattern" is written to each block instead of zeros.
.PP
A similar example follows but in this case the blocks
are "unmapped" ("trimmed" in ATA speak) rather than zeroed:
.PP
  sg_write_same \-\-unmap \-L 0x1234 \-n 63 /dev/sdc
.PP
Note that if the LBPRZ bit in the READ CAPACITY(16) response is set (i.e.
LPPRZ is an acronym for logical block provisioning read zeros) then these
two examples do the same thing, at least seen from the point of view of
subsequent reads.
.PP
This utility can also be used to write protection information (PI) on disks
formatted with a protection type greater than zero. PI is 8 bytes of extra
data appended to the user data of a logical block: the first two bytes are a
CRC (the "guard"), the next two bytes are the "application tag" and the last
four bytes are the "reference tag". With protection types 1 and 2 if the
application tag is 0xffff then the guard should not be checked (against the
user data).
.PP
In this example we assume the logical block size (of the user data) is 512
bytes and the disk has been formatted with protection type 1. Since we are
going to modify LBA 2468 then we take a copy of it first:
.PP
  dd if=/dev/sdb skip=2468 bs=512 of=2468.bin count=1
.PP
The following command line sets the user data to zeros and the PI to 8
0xFF bytes on LBA 2468:
.PP
  sg_write_same \-\-lba=2468 /dev/sdb
.PP
Reading back that block should be successful because the application tag
is 0xffff which suppresses the guard (CRC) check (which would otherwise be
wrong):
.PP
  dd if=/dev/sdb skip=2468 bs=512 of=/dev/null count=1
.PP
Now an attempt is made to create a binary file with zeros in the user data,
0x0000 in the application tag and 0xff bytes in the other two PI fields. It
is awkward to create 0xff bytes in a file (in Unix) as the "tr" command
below shows:
.PP
  dd if=/dev/zero bs=1 count=512 of=ud.bin
.br
  tr "\\000" "\\377" < /dev/zero | dd bs=1 of=ff_s.bin count=8
.br
  cat ud.bin ff_s.bin > lb.bin
.br
  dd if=/dev/zero bs=1 count=2 seek=514 conv=notrunc of=lb.bin
.PP
The resulting file can be viewed with 'hexdump \-C lb.bin' and should
contain 520 bytes. Now that file can be written to LBA 2468 as follows:
.PP
  sg_write_same \-\-lba=2468 wrprotect=3 \-\-in=lb.bin /dev/sdb
.PP
Note the \fI\-\-wrprotect=3\fR rather than being set to 1, since we want
the WRITE SAME command to succeed even though the PI data now indicates
the user data is corrupted. When an attempt is made to read the LBA, an
error should occur:
.PP
  dd if=/dev/sdb skip=2468 bs=512 of=/dev/null count=1
.PP
dd errors are not very expressive, if dmesg is checked there should be
a line something like this: "[sdb]  Add. Sense: Logical block guard check
failed". The block can be corrected by doing a "sg_write_same \-\-lba=1234
/dev/sdb" again or restoring the original contents of that LBA:
.PP
  dd if=2468.bin bs=512 seek=2468 of=/dev/sdb conv=notrunc count=1
.PP
Hopefully the dd command would never try to truncate the output file when
it is a block device.
.SH AUTHORS
Written by Douglas Gilbert.
.SH "REPORTING BUGS"
Report bugs to <dgilbert at interlog dot com>.
.SH COPYRIGHT
Copyright \(co 2009\-2020 Douglas Gilbert
.br
This software is distributed under a BSD\-2\-Clause license. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
.SH "SEE ALSO"
.B sg_format,sg_get_lba_status,sg_readcap,sg_vpd,sg_unmap,
.B sg_write_x(sg3_utils)
