sbc: reading blocks prior to a medium error
gerry.houlder at seagate.com
Wed Dec 15 11:21:19 PST 2010
Formatted message: <a href="http://www.t10.org/cgi-bin/ac.pl?t=r&f=r1012151_f.htm">HTML-formatted message</a>
Correct, there are no guarantees on this behavior. for instance:
- most protocols define an our of order data delivery mechanism, although
most products do not support them; and
- responding with CHECK CONDITION, unrecovered error response when no
data is transferred is not prohibited in the standard.
This "lack of guarantee" is the reason the recommended host response to an
unrecovered error is to retry the entire range of LBAs in the failing
command, perhaps broken into several commands to read the LBAs before the
error address and the LBAs after the error address.
On Wed, Dec 15, 2010 at 11:29 AM, Douglas Gilbert
<dgilbert at interlog.com>wrote:
> * From the T10 Reflector (t10 at t10.org), posted by:
> * Douglas Gilbert <dgilbert at interlog.com>
> When the TB bit is set in the Read-Write Error
> Recovery mode page section 6.4.7 of sbc3r25.pdf
> seems to imply that the good logical blocks
> read prior to the unrecovered error will be
> placed in the data-in buffer.
> The TB bit only applies to the lowest numbered
> LBA with an unrecovered error that is being read.
> It seems counter intuitive to place that logical
> block in the data-in buffer and not the good blocks
> that precede it.
> But I can't see the words that imply that the good
> logical blocks prior to the unrecovered error will
> be placed in the data-in buffer when the TB bit is
> clear. Is this guaranteed?
> Douglas Gilbert
> * For T10 Reflector information, send a message with
> * 'info t10' (no quotes) in the message body to majordomo at t10.org
More information about the T10