WRITE BUFFER3Bh

Write Buffer is used to transfer data into memory on the drive for the purposes of diagnostics, tests or firmware upgrade. The data is placed into one of the drive buffers depending on the Mode and Buffer ID fields of the command.

CAUTION: Do not attempt to use the buffer modifying functions of this command unless you really know what you are doing. The buffer modifying functions are intended as a diagnostic aid to be used in conjunction with the Read Buffer command. It is not possible to modify data in the buffer so that it subsequently written to media because all host data is flushed before executing the command.

The firmware download functions are intended for use by manufacturing and by customers using upgrade utilities supplied by HP.

Pre-execution checks:

Illegal Field Reservation Deferred Error Unit Attention

Command descriptor block:

 

 

7

 

6

5

4

 

3

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

Operation

Code (3Bh)

 

 

 

 

1

 

Reserved (0)

 

 

 

 

Mode

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Buffer ID

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

(MSB)

 

 

 

Buffer Offset

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

(LSB)

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

(MSB)

 

 

 

Parameter List Length

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

(LSB)

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Control

 

 

 

 

CDB fields:

Mode

This field can be set to one of the following values:

 

00h The drive transfers a 4-byte header from the host (which should be set to zeros),

 

followed by (allocation length 4) bytes of data. The data is written into the

 

buffer identified by the Buffer ID, starting from offset zero in the buffer.

 

The Buffer ID and Buffer Offset must both be zero. Allocation Length must not

 

exceed (buffer size + 4).

 

02h The drive transfers allocation length bytes of data from the host, bytes of data

 

which is placed in the buffer indicated by Buffer ID, starting from Buffer Offset

 

from the start of the buffer. No header is sent.

 

The Buffer Offset and Allocation Length must be kept within the buffer size, and

 

the Buffer ID must to set to one of the valid values.

Commands

WRITE BUFFER 3Bh 183