Proposal to add a new modifier to SCSI Write commands.
coughlan at star.zko.dec.com
Tue Nov 26 13:16:21 PST 1996
* From the SCSI Reflector (scsi at symbios.com), posted by:
* coughlan at star.zko.dec.com (Tom)
Some implementations of disk mirroring use the SCSI Write Long
command. Write Long is used to propagate an unrecovered read error
from one member of the mirror set to all the other members. This
ability to create error-for-error identical volumes is an important
feature for some mirror set implementations. There are some
problems, though, with the Write Long mechanism:
- It is impossible for the Initiator to be certain that a particular
Write Long data pattern will generate a subsequent read error. This
is because the error correction algorithms are complex and are not
known by the host (nor should they be).
- Storage vendors are growing reluctant to support Read and Write Long,
because they expose the internals of the error detection scheme which
are usually vendor specific and subject to change.
- It is relatively difficult to determine the transfer length that the
device supports for Read Long.
Because of these issues, Read Long and Write Long are on many people's
list of commands that should be obsoleted eventually.
I would like to propose an alternative to the Write Long mechanism to
provide the "forced error" behavior. The idea is to add a bit to the
Write commands that instructs the drive to force an ECC error for all
subsequent reads of the block. The drive is free to implement this
command in any convenient way, provided that all subsequent reads
result in a "Medium Error", "Unrecovered Read Error". A subsequent write
to the block with the "force error" bit clear would return the block to
normal status. Write commands with the "force error" bit set will be
restricted to one block transfer lengths.
This would allow us to phase out Read Long and Write Long, while
improving the function they provide today for mirroring. Target devices
should (not required) implement the Command Support Inquiry data, so
that the initiator will be able to easily determine whether the new
Write bit is supported.
The cost is the addition of a bit-check to every Write command.
Checking the bit wouldn't be too costly, though, since it could be
checked for zero at the same time that the other bits in the Write
CDB are checked.
In the interest of full disclosure:
Digital holds a patent on a technique for forcing errors that is similar
to the one described here. It has been determined that this proposal
does not infringe on the Digital patent. This determination must be
reassessed if the current proposal is modified.
I'd like to request that this topic be added to a future Working
OpenVMS SCSI Project Leader
Digital Equipment Corporation
Nashua, New Hampshire
tom.coughlan at zko.mts.dec.com
* For SCSI Reflector information, send a message with
* 'info scsi' (no quotes) in the message body to majordomo at symbios.com
More information about the T10