SEQUENTIAL WRITE PROBLEM
Mark_Heath at notes.seagate.com
Fri Mar 22 10:08:55 PST 1996
* From the SCSI Reflector, posted by:
* Mark Heath <Mark_Heath at notes.seagate.com>
>Many existing applications put time stamps on each end of log records so
>thay they may recover after a system crash during the log write. If the
>timestamps at each end of the log record are equal during recovery, then
>they treat the record as valid.
>Note that this behavior depends on the sectors being written to the disk
>media in order. If a drive happens to write the last half of the data
>before the first half (for latency minimization), then both beginning and
>ending stamps can be correct while the center data has not been written.
>This obviously results in an invalid log being recovered on restart.
>SSA has addressed this problem by adding a bit in it's frame header to
>require sequential writes to the media, but unfortunately it cannot be used
>for FCP or parallel SCSI. In order to provide a common method for all
>physical media, a very slight revision to the EMDP bit in the
>Disconnect/Reconnect mode page could be used.
>The only modification would be to make the following change to the wording
>of the EDMP bit definition: (Please see SPC, rev 8, p.101)
> "If the EMDP bit is zero, the target shall not reorder the SCSI data
> transfer OR THE DATA TRANSFER TO THE MEDIA."
> (Capitals indicate the change.)
This issue is already addressed in SBC. Bit 7 of byte 12 of Mode Page 8 is the
"FSW" bit, defined as follows:
The Force Sequential Write (FSW) bit when set to one, indicates
that multiple block writes are to be transferred over the SCSI bus
and written to the media in an ascending, sequential, logical block
order. When the FSW bit equals zero, the device server is allowed
to reorder the sequence of writing addressed logical blocks in order
to achieve a faster command completion.
More information about the T10