READ BUFFER3Ch

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 4-byte descriptor is returned, only the data is returned, or whether both are returned.

Pre-execution checks:

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 4-byte descriptor is returned, followed by (Allocation Length 4) bytes of data.The data

 

 

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 4-byte descriptor for the buffer identified by the Buffer ID field. Invalid

 

 

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