READ BUFFER | 3Ch |
READ BUFFER reads data from the memory on the drive and sends it to the initiator. The value of the Mode field determines whether only the
Illegal Field | Reservation | Deferred Error | Unit Attention |
If any of the following rules are broken then CHECK CONDITION status is reported. Sense data will be as described in Illegal Field Checks.
Command descriptor block:
|
| 7 |
| 6 | 5 | 4 |
| 3 | 2 | 1 | 0 |
|
|
|
|
|
|
|
|
|
|
| |
| 0 |
|
|
|
| Operation | Code (3Ch) |
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
| Reserved(0) |
|
|
|
| Mode |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
|
|
|
| Buffer ID |
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| 3 | (MSB) |
|
|
| Buffer Offset |
|
|
| ||
|
|
|
|
|
|
|
|
| |||
| 5 |
|
|
|
|
|
| (LSB) | |||
|
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
| 6 | (MSB) |
|
|
| Allocation Length |
|
|
| ||
|
|
|
|
|
|
|
|
| |||
| 8 |
|
|
|
|
|
| (LSB) | |||
|
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
| |
| 9 |
|
|
|
| Control |
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
CDB fields:
Mode | 00000b A | |
|
| is read from the buffer identified by the Buffer ID, starting from offset zero in the buffer. |
|
| The Buffer ID and Buffer Offset must both be 00h. |
|
|
|
| 00010b | The drive returns Allocation Length bytes of data which is read from the buffer identified |
|
| by the Buffer ID, starting from Buffer Offset bytes from the start of the buffer. |
|
| There are no restrictions on the value of Buffer ID and Buffer Offset, except that the Buffer |
|
| Offset must be kept within the buffer size. |
|
|
|
| 00011b | The drive returns a |
|
| buffer IDs will return a buffer descriptor of all zeros. |
|
| The Buffer Offset field must be zero. |
|
|
|
| 01010b | The drive returns data from the Echo Buffer. The Buffer ID and Offset are ignored. |
|
|
|
| 01011b | The drive returns the Echo Buffer descriptor. The Buffer ID and Offset are ignored. |
Buffer ID The Buffer ID indicates which buffer is to be read. The buffers are defined as follows:
Buffer ID Memory Area | Category | Offset Boundary |
| |
00h | Main buffer memory | RAM | 4 bytes |
|
|
|
|
|
|
01h | Processor addressable memory | RAM | 1 byte |
|
|
|
|
|
|
Commands
READ BUFFER 3Ch 121