M2488 PRODUCT GUIDE TAPE UNIT SCSI COMMANDS
April 1997 CG00000-011503 REV. A 4-99
4-3.21.2 RECOVER BUFFER ED DATA Ope ration
Unlike the READ command, one can control the order that blocks are transferred for the
RECOVER BUFFERED DATA command. The Recover Buffer Order (RBO) bit of the Mode
Parameter Device Configuration page controls the transfer order. If the RBO bit is set to zer o then
blocks are transferred in the order that they were received from the initiator (First In First Out,
FIFO, order); if the RBO bit is set to one then blocks are transferred in the opposite order that they
were received from the initiator (Last In First Out, LIFO, order.)
The RECOVER BUFFERED DATA command is typically used in conjunction with the READ
POSITION command following a permanent write error being detected. Here is one possible
sequence to perform write error recovery after a write error has been detected:
1. A READ POSITION command is issued. This determines two items: first is how many
blocks didn’t get written to tape and are still buffered (this will be in the Number of blocks in
buffer field) and second is the start location where the buffered blocks are to be written (this
will be in the Last block location field.)
2. One or more RECOVER BUFFERED DATA commands are issued by the initiator to
recover all blocks that still need to be written.
3. The tape cartridge being written to is unloaded, moved and loaded into a second tape unit.
4. A LOCATE command is issued to the second tape unit using as the target the start location
obtained from the READ POSITION command issued earlier.
5. The recovered blocks are sent to the second tape unit using one or more WRITE commands.
4-3.21.3 RECOVER BUFFER ED DATA CHE CK CONDITION S tatus
The RECOVER BUFFERED DATA command will cause any buffered write data to be written to
tape if the command is issued when no exception condition exists preventing data to be written to
tape. In this case, assuming no errors occur when writing the buffered data to tape, CHECK CON-
DITION status will be reported for the command and the error sense will be as described for the
case of requesting more blocks than are available to be recovered.
If a buffered filemark is encountered during a RECOVER BUFFERED DATA command, the tar-
get returns CHECK CONDITION status. Within the sense data for the CHECK CONDITION sta-
tus, the sense key is NO SENSE, and both the Filemark and Valid bits are set to one. If the Fixed
bit was one, the Information field will contain the difference (residue) of the requested transfer
count minus the actual number of blocks recovered not including the filemark encountered. If the
Fixed bit was zero, the Information field contains the requested transfer length.
If the RECOVER BUFFERED DATA command requests to transfer more blocks than remain in
the buffer then CHECK CONDITION status will be returned after sending as many blocks as are
available. In the sense data for the CHECK CONDITION status, the sense key is NO SENSE, and
both the Valid bit and EOM bit are set to one. If the Fixed bit was one, the Information field will
contain the difference (residue) of the requested transfer count minus the actual number of blocks
recovered. If the Fixed bit was zero, the Information field contains the requested transfer length.