SBC-2 PRE-FETCH behavior

Elliott, Robert (Server Storage) elliott at hp.com
Mon Jan 19 14:11:27 PST 2004


* From the T10 Reflector (t10 at t10.org), posted by:
* "Elliott, Robert (Server Storage)" <elliott at hp.com>
*
SBC-2 defines a few rules for the PRE-FETCH command, which is the only
command left in SCSI returning the "CONDITION MET" status:

IMMED=1, cache has sufficient room => CONDITION MET status
IMMED=1, cache does not have sufficient room => GOOD status
IMMED=0, complete success => CONDITION MET

However, it does not mention what to do if IMMED=0 and there is not
complete success transferring the requested blocks into the cache.
Errors could range from not enough room in the cache to an unrecoverable
read error.

When should it return GOOD status (like the IMMED=1 case) versus CHECK
CONDITION status?  To parallel the IMMED=1 behavior, it seems like it
should return GOOD if the cache isn't big enough.  A CHECK CONDITION for
other reasons (that would generate deferred errors under IMMED=1) seems
appropriate.

Alternatives: obsolete PRE-FETCH (see 8 Oct 03 thread).  Or, we could
keep it but dump the CONDITION MET status and just have it return GOOD
and CHECK CONDITION like other commands.


The current wording is:
If the immed bit is zero and the specified logical blocks were
successfully transferred to the cache memory, the device server
shall return CONDITION MET status. If the link bit is set to one
in the control byte (see SPC-3), the device server shall return
INTERMEDIATE-CONDITION MET status. 

If the immed bit is set to one, and the unlocked cache memory
has sufficient capacity to accept all of the specified logical
blocks, the device server shall return CONDITION MET status. If
the link bit is one, and the unlocked cache memory has sufficient
capacity to accept all of the specified logical blocks, the device
server shall return INTERMEDIATE-CONDITION MET status. 

If the immed bit is set to one, and the unlocked cache memory
does not have sufficient capacity to accept all of the specified
logical blocks, the device server shall return GOOD status. The
device server shall transfer to cache memory as many logical
blocks that fit. If the link bit is one, the device server
shall return INTERMEDIATE status.


--
Rob Elliott, elliott at hp.com
Hewlett-Packard Industry Standard Server Storage Advanced Technology
https://ecardfile.com/id/RobElliott



*
* 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 mailing list