• Keine Ergebnisse gefunden

WRITE DATA BUFFER

Im Dokument SCSI Controller KENNEDV (Seite 65-73)

The Write Data Buffer command is used in conjunction with the Read Data Buffer command as a diagnostic function for testing the 9502 memory and SCSI Bus integrity.

Table 1-38. WRITE DATA BUPPER Command (3BH)

Bit~ 7 6 5 4 3 2 1

o

Byte 0 0 0 1 1 1 0 1 1

~:~~~~~~ __ ~~~~~~ _______ IlES~~~~~~~~~Jl~~~~~~~~

Byte 2 BUFFER ID

---Byte 3 BUFFER OFFSET (MSB)

---Byte 4 BUFFER OFFSET

---Byte 5 BUFFER OFFSET (LSB)

---Byte 6 TRANSFER LENGTH (MSB)

Byte 7 TRANSFER LENGTH

---Byte 8 TRANSFER LENGTH (LSB)

Byte 9 0 0 RESERVED FLAG LINK

---~---

---

---r---The MODE field is defined as follows:

Value Description

Combined Header and Data Reserved

Data Mode Reserved

General Description

Completion Status Codes for Test Unit Ready Command:

Good (OOl-,r) Good Status

Busy

{osii>

The 9502 is busy executing a command.

Reservation Conflict (ISH)

Check (02H) Refer to Request Sense extended status (Non-Buffered Mode Only)

Possible conditions are:

Not Ready Illegal Request Aborted Command COMBINED HEADER AND DATA MODE:

Hardware Error Unit Attention

93-09612-103

In this mode, data to be tra~ferred is preceded by a four byte header. The Buffer Id and Buffer Offset bytes are ignored and should be set to zero. The Transfer Length specifies the maximum number of bytes that shall be transferred during the Data Out phase. This number includes the four byte header, so the data length to be stored in the 9502 buffer is the transfer Length minus four.

If the User wishes to write to all memory locations of the 9502 buffer, the Transfer Length should be set to 4004H. If the Transfer Length exceeds the 9502 buffer size plus four, Check Condition status will be returned and the Sense Key in the Extended Sense will be set to illegal Request.

The four byte header consists of all reserved bytes. No check is performed by the 9502 on the validity of the header data transferred.

DATA MODE:

In this mode, the Data Out phase contains buffer data. The buffer within the 9502 is arranged as one contiguous buffer, the Buffer ID byte should be set to zero. If the Buffer ID byte is non-zero, Check Condition status will be returned and the Sense Key in the Extended Sense will be set to Illegal Request.

The Buffer Offset is the byte offset within the 9502 where the data will be stored. The Transfer Length specifies the maximum number of bytes that shall be transferred during the Data Out phase and stored in the 9502 buffer. The User should 'ensure that the Transfer Length plus the Buffer Offset does not exceed the capacity of the 9502 buffer. If the Transfer Length plus Buffer Offset specify a length that exceeds the 9502 buffer size, Check Condition status will be returned and the Sense Key in the Extended Sense will be set to Illegal Request.

93-09612-103 General Description 1.13.22 READ DATA BUPPER

The Read Data Buffer command is used in conjunction with the Write Data Buffer command as a diagnostic function for testing the 9502 memory and the SCSI Bus integrity.

Table 1-39. READ DATA BUPPER Command (3CH)

Bit--.. 7 6 5 4 3 2 1

o

Byte 2 BUFFERID

---Byte 3 BUFFER OFFSET (MSB)

Byte 4 BUFFER OFFSET

Byte 5 BUFFER OFFSET (LSB)

Byte 6 ALLOCATION LENGTH (MSB)

---

---_._---Byte 7 ALLOCATION LENGTH

---

---,---Byte 8 ALLOCATION LENGTH (LSB)

--- --- --- r---

---Byte 9

o o

RESERVED

The MODE field is defined as follows:

Value Definition

0H Combined Header and Data IH Reserved

2H Data Mode 3H Descriptor Mode

Completion Status Codes for Test Unit Ready Command:

Good (OOH) Good Status

Busy (08H) The 9502 is busy executing a command.

Reservation Conflict (18H)

Check (02H) Refer to Request Sense extended status (Non-Buffered Mode Only)

Possible conditions are:

Not Ready Illegal Request Aborted Com mand

Hardware Error Unit Attention

FLAG LINK

General Description 93-09612-103 COMBINED HEADER AND DATA MODB:

In this mode, a four byte header (see Table 1-40), followed by data bytes are returned to the Initiator during the Data In phase. The Buffer 10 and the Buffer Offset are reserved. The Allocation Length specifies the maximum number of bytes that the Initiator has allocated for the returned header and data. An Allocation Length of zero indicates that no header or data shall be transferred. Any other value indicates the maximum number of bytes that shall be transferred.

The 9502 terminates the Data In phase when the Allocation Length bytes of header plus data have been transferred, or when all available header and data has been transferred to the Initiator, whichever is less.

DATA MODE:

In this mode, the Data In phase contains buffer data. The buffer within the 9502 is arranged as one contiguous buffer, the buffer 10 byte should be set to zero. If the Buffer 10 is non-zero, Check Condition status will be returned and the Sense Key in the Extended Sense will be set to Illegal Request.

The Buffer Offset is the byte offset within the 9502 from where data will be transferred.

The Allocation Length specifies the maximum number of bytes that shall be transferred during the Data In phase. The Initiator should ensure that the Transfer Length plus the Buffer Offset does not exceed the capacity of the 9502 buffer.

The Available Length specifies the total number of data bytes that are available in the 9502's buffer. This number is not reduced to reflect the Allocation Length, nor is it reduced to reflect the number of bytes written using the Write Buffer command. Following the Read Buffer Header, the 9502 transfers data from the buffer. The number of data bytes transferred following the Read Buffer Header will be the lesser of the Allocation Length minus four, or the A vailable Length.

93-09612-103

Table 1-40. READ BUFFER HEADER

Bit~ 7 6 5 4 3 2 1

o

Byte 0 RESERVED

---~---Byte 1 A VAILABLE LENGTH (MSB)

---~---Byte 2 A VAILABLE LENGTH

---~---~---Byte 3 AVAILABLE LENGTH (LSB)

I

DESCRIPTOR MODE:

In this mode, a minimum of four bytes of Read Buffer information are returned. The 9502 returns information for the buffer specified by the buffer ID. Since the 9502 is organized as one contiguous buffer and if the buffer 10 byte is non zero, the 9502 will return all zeros. If the initiator selects an allocation length of greater than four bytes, only four bytes are transferred to the initiator. The Read Data Buffer is defined as follows:

Table 1-41. READ BUFFER DATA

Bit~ 7 6 5 4 3 2 1

o

Byte 0

o o o o o o o o

---~---Byte 1 MSB BUFFER CAPACITY

---~---Byte 2 BUFFER CAPACITY

---~---Byte 3 LSB BUFFER CAPACITY

1.14: HOST INTERFACE TIMING

Figures 1-3 thru 1-5 illustrate SCSI Timing.

General Description 93-09612-103

D8(7~.P) ---~-....,y Arbttretlan 0'. *r-~I:-nlt~I:-.t:-or--::O~&::-:Terget---~ID=---{

BUS I Initiator Tries to : Initiator has 8w; and I

General Description

~ <Read Peripheral Device>

I

Figure 1-4. SCSI Timing Diagram, Command, and Data Phases

General Description

Im Dokument SCSI Controller KENNEDV (Seite 65-73)