Fujitsu MAA3182SC, MAB3091SC Oem Manual

MAA3182SC, MAB3091SC
INTELLIGENT DISK DRIVES
OEM MANUAL
– SCSI LOGICAL INTERFACE SPECIFICATIONS –
C141-E039-01EN
FOR SAFE OPERATION
This manual contains important information for using this product. Read thoroughly before using the product. Use this product only after thoroughly reading and understanding especially the section “Important Alert Items” in this manual. Keep this manual handy, and keep it carefully.
FUJITSU makes every effort to prevent users and bystanders from being injured or from suffering damange to their property. Use the product according to this manual.
Functional Limitations
There may be certain functional limitations concerning the specifications and functions of the products covered by this manual depending on the equipment version, especially concerning the following functions.
Versions in which there functions can be used will be communicated through “ENGINEERING CHANGE REQUEST/NOTICE”, issued by Fujitsu.
Function Equipment Version Which Supports These Functions
Equipment Version No.
EPROM Version No.
Standard INQUIRY Data Product Revision (ASCII)
READ RAM Command
WRITE RAM Command
These commands cannot be used in the current version.
(Proceed to the Copyright Page)
C141-E039-01EN i
Related Standards
Specifications and functions of products covered by this manual comply with the following standards.
Standard (Text) No. Name Enacting
ANSI X3. 131-1986 American National Standard for
ANSI X3. 131-1994 American National Standard for
X3T9.2/85-52 Rev
4.B
X3T9.2 855D Rev 12 WORKING DRAFT Information
Information Systems --- Small Computer System Interface (SCSI)
Information Systems --- Small Computer System Interface-2 (SCSI-2) COMMON COMMAND SET (CCS) of the Small Computer System Interface (SCSI)
Technology SCSI-3 Parallel Interface
Organization
American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI)
All Rights Reserved, Copyright 1997 Fujitsu, Limited
C141-E039-01ENii
REVISION RECORD
Edition Date
published
01 May.,1997
Revised contents
Specification No.: C141-E039-**EN
The contents of this manual is subject to change without prior notice.
All Rights Reserved. Copyright 1997 FUJITSU LIMITED
C141-E039-01EN iii
This manual explains concerning the MAA3182SC and MAB3091SC series 3.5 inch hard disk drives with internal SCSI controller.
The purpose of this manual is to provide specifications of each command and detailed explanations of their functions for use of these magnetic disk drives incorporated into user systems, and to present the information necessary for creating host system software. This manual is written for users who have a basic knowledge of hard disk drives and their use in computer systems.
The composition of manuals related to these disk drives and the range of subjects covered in this manual are shown in “Manual Organization,” provided on a subsequent page. Please use these other manuals along with this manual as necessary.
Composition and Contents of This Manual
This manual is composed of the 5 chapters shown below, a glossary and a list of abbreviations.
Chapter 1 Command Processing
This chapter describes the basic logical specifications related to SCSI command processing in the MAA3182SC and MAB3091SC series disk drives.
PREFACE
Chapter 2 Data Buffer Management
This chapter describes the data buffer configuration provided in the MAA3182SC and MAB3091SC series disk drives and concerning data transfer processing functions and cache operation.
Chapter 3 Command Specifications
This chapter describes detailed specifications of SCSI commands provided by the MAA3182SC and MAB3091SC series disk drives and how to use them..
Chapter 4 Sense Data and Error Recovery Methods
This chapter describes the configuration and contents of sense data which report to the host system when an error occurs, etc., key information necessary for error recovery, recommended procedures for error recovery to be executed through host system software and retry processing executed internally in the MAA3182SC and MAB3091SC series disk drives for recovery.
Chapter 5 Disk Media Management
This chapter describes the procedure for initializing the disk media, methods of treating media defects and data recovery methods for the MAA3182SC and MAB3091SC series disk drives.
C141-E039-01EN v
Glossary
The glossary explains technical terms which are necessary to the reader’s understanding when reading this manual.
List of Abbreviations
This list shows the full spelling of abbreviations used in this manual.
The model name of disk drives covered by this manual differs in its ending suffix (Note 1) depending on its device type (3 types), the electrical conditions of the SCSI interface used to connect the disk drive to the host system and its capacity and data format at the time it was shipped, but in this manual, except in cases where models need to be especially distinguished, a representative model name (Note 2) is used. In addition, these disk drives are called Intelligent Disk Drive (IDD), “drive” or “device” in this manual.
Note 1: Model Name
M29 0 X S A
Format When X: 256-byte format (except for M294x and M295x) Shipped A: 512-byte format (except for M294x and M295x)
B: 1024-byte format (except for M294x and M295x)
SCSI Electrical S: Single-ended, 8-bit SCSI (all series) Conditions H: Differential, 8-bit SCSI (except for M294x and M295x)
Q: Single-ended, 16-bit SCSI (all series) R: Differential, 16-bit SCSI (except for M294x and M295x) C: SCA-1, 16-bit SCSI (M293) E: SCA-2, 16-bit SCSI (M294x, M295x)
Capacity and 9: 19 heads (M2909) 9: 9 GB (M2949) Number of 3: 13 heads (M2903) 2: 2 GB (M2932, M2952) Heads 5: 15 heads (M2915) 4: 5 GB (M2934, M2954)
Device Type 0: Full height, large capacity (M2903, M2909)
1: Full height, high performance (M2915) 3: Full height, large capacity, high performance (M293x) 4: Full height, large capacity, high performance (M2949) 5: 1-inch height, high performance (M2952, M2954)
vi C141-E039-01EN
Note 2: Representative Model Names
Representative Model Name
M2909 M2909SX/SA/SB, M2909HX/HA/HB, M2909QX/QA/QB,
M2903 M2903SX/SA/SB, M2903HX/HA/HB, M2903QX/QA/QB,
M2915 M2915SX/SA/SB, M2915HX/HA/HB, M2915QX/QA/QB,
M2934 M2934SX/SA/SB, M2934HX/HA/HB, M2934QX/QA/QB,
M2932 M2932SX/SA/SB, M2932HX/HA/HB, M2932QX/QA/QB,
M2949 M2949S, M2949Q, M2949E M2952 M2952S, M2952Q, M2952E M2954 M2954S, M2954Q, M2954E
Warning Indications
The following warning indications are shown in this manual to prevent the user and other nearby persons or property from being injured or damaged.
Model Name
M2909RX/RA/RB
M2903RX/RA/RB
M2915RX/RA/RB
M2934RX/RA/RB, M2934CX/CA/CB
M2932RX/RA/RB, M2932CX/CA/CB
Note “Note” indicates the most effective method of use or information that is of value to the
user.
Requesting for User’s Comments
Please use the User’s Comment Form attached to the end of this manual to identify user comments including error, inaccurate and misleading information of this manual. Contact to your Fujitsu representative for additional comment forms if required.
C141-E039-01EN vii
Manual Organization
Product Manual
SCSI Physical
Interface Specifications
SCSI Logical Interface
Specifications (This Manual)
Maintenance Manual
1. Outline
2. Specifications
3. Data Format
4. Installation Conditions
5. Installation Procedure
6. Diagnosis and Maintenance
1. SCSI Bus
2. SCSI Messages
3. SCSI Bus Error Recovery Processing
1. Command Processing
2. Data Buffer Management
3. Command Specifications
4. Sense Data and Error Recovery Methods
5. Disk Media Management
1. Specifications and Equipment Configuration
2. Maintenance and Diagnosis
3. Troubleshooting
4. Removal and Replacement Procedures
5. Operating Theory
C141-E039-01EN ix
CONTENTS
page
CHAPTER 1 COMMAND PROCESSING.......................................................... 1-1
1.1 Command Format........................................................................................................... 1-1
1.2 Status Byte ....................................................................................................................... 1-7
1.3 Outline of Command Processing....................................................................................1-10
1.3.1 Single Commands............................................................................................................1-10
1.3.2 Command Link................................................................................................................1-11
1.3.3 Disconnect/Reconnect Procedure..................................................................................... 1-13
1.3.4 Synchronous Mode Data Transfer/Wide Mode Data Transfer..........................................1-17
1.4 Command Queuing Function ......................................................................................... 1-19
1.4.1 Untagged Queuing...........................................................................................................1-19
1.4.2 Tagged Queuing..............................................................................................................1-21
1.5 UNIT ATTENTION Condition...................................................................................... 1-23
1.5.1 Generating the UNIT UNIT ATTENTION Condition.....................................................1-23
1.5.2 Response to the ATTENTION Condition Hold State
and Cancellation Conditions............................................................................................1-25
1.5.3 UNIT ATTENTION Condition Multiple Hold................................................................1-26
1.6 Sense Data Hold State ..................................................................................................... 1-27
1.6.1 Sense Data Hold Conditions............................................................................................1-27
1.6.2 Response to the Sense Data Hold State and Cancellation Conditions...............................1-28
1.7 Command Processing Exceptions................................................................................... 1-29
1.7.1 Overlapping Commands..................................................................................................1-29
1.7.2 Illegal LUN Specification................................................................................................1-30
1.7.3 Reserved Operation Codes...............................................................................................1-30
1.7.4 Command Processing in the Not Ready State..................................................................1-30
1.7.5 Error Recovery Processing...............................................................................................1-32
1.7.6 Reset Processing..............................................................................................................1-34
1.7.7 Fatal Hardware Errors.....................................................................................................1-36
1.8 Data Block Addressing.................................................................................................... 1-37
1.8.1 Definition of Data Space..................................................................................................1-37
1.8.2 Logical Block Addressing................................................................................................1-39
CHAPTER 2 DATA BUFFER MANAGEMENT ............................................... 2-1
2.1 Data Buffer ...................................................................................................................... 2-1
2.1.1 Data Buffer Configuration and Basic Operation...............................................................2-1
2.1.2 Setting the Operating Mode.............................................................................................2-5
C141-E039-01EN xi
2.2 Look-ahead Cache Mechanism ...................................................................................... 2-7
2.2.1 Caching Operation...........................................................................................................2-7
2.2.2 Caching Parameters .........................................................................................................2-9
2.2.3 Look-ahead Operation, Look-ahead Volume....................................................................2-10
2.3 Write Cache ................................................................ .....................................................2-11
CHAPTER 3 COMMAND SPECIFICATIONS.................................................. 3-1
3.1 Control/Sense Commands................................................................ ............................... 3-1
3.1.1 TEST UNIT READY (00)...............................................................................................3-1
3.1.2 INQUIRY (12) ...............................................................................................................3-2
3.1.3 READ CAPACITY (25) .................................................................................................3-11
3.1.4 CHANGE DEFINITION (40) .......................................................................................3-13
3.1.5 MODE SELECT (15) .....................................................................................................3-17
3.1.6 MODE SELECT EXTENDED (55) ...............................................................................3-57
3.1.7 MODE SENSE (1A) ......................................................................................................3-59
3.1.8 MODE SENSE EXTENDED (5A) .................................................................................3-65
3.1.9 REZERO UNIT (01) ......................................................................................................3-67
3.1.10 START/STOP UNIT (1B) ..............................................................................................3-68
3.1.11 RESERVE (16) ..............................................................................................................3-70
3.1.12 RESERVE EXTENDED (56) (Not Supported)...............................................................3-74
3.1.13 RELEASE (17) ............................................................................................................... 3-75
3.1.14 RELEASE EXTENDED (57) (Not Supported)................................................................3-77
3.1.15 REQUEST SENSE .........................................................................................................3-78
3.2 Data Access Commands..................................................................................................3-80
3.2.1 READ (08) .....................................................................................................................3-80
3.2.2 READ EXTENDED (28) ...............................................................................................3-81
3.2.3 WRITE (0A) ..................................................................................................................3-82
3.2.4 WRITE EXTENDED (2A) .............................................................................................3-84
3.2.5 WRITE AND VERIFY (2E) ..........................................................................................3-85
3.2.6 VERIFY (2F) .................................................................................................................3-86
3.2.7 SEEK (0B) .....................................................................................................................3-87
3.2.8 SEEK EXTENDED (2B) ...............................................................................................3-88
3.2.9 SET LIMITS (33) ...........................................................................................................3-89
3.2.10 SYNCHRONIZE CACHE (35) ......................................................................................3-92
3.3 Format Commands.......................................................................................................... 3-93
3.3.1 FORMAT UNIT (04) .....................................................................................................3-93
3.3.2 REASSIGN BLOCKS (07).............................................................................................3-104
3.3.3 READ DEFECT DATA (37)...........................................................................................3-108
C141-E039-01ENxii
3.4 Maintenance, Diagnostic Commands.............................................................................3-113
3.4.1 SEND DIAGNOSTIC (1D).............................................................................................3-113
3.4.2 RECEIVE DIAGNOSTIC RESULTS (1C).....................................................................3-119
3.4.3 WRITE BUFFER (3B)....................................................................................................3-123
3.4.4 READ BUFFER (3C)......................................................................................................3-127
3.4.5 READ LONG (3E) .........................................................................................................3-131
3.4.6 WRITE LONG (3F) .......................................................................................................3-133
CHAPTER 4 SENSE DATA AND ERROR RECOVERY METHODS ........... 4-1
4.1 Sense Data........................................................................................................................4-1
4.1.1 Sense Data Format...........................................................................................................4-1
4.1.2 Sense Data Basic Information..........................................................................................4-3
4.1.3 Sense Data Additional Information.................................................................................. 4-13
4.2 INIT Error Recovery Methods (Recommended) ..........................................................4-13
4.2.1 End Status Analysis and Error Recovery Method.............................................................4-14
4.2.2 Sense Data Analysis and Error Recovery Method............................................................4-16
4.2.3 Error Logging..................................................................................................................4-25
4.3 Disk Drive Error Recovery Processing..........................................................................4-26
4.3.1 Error States and Retry Processing Procedure...................................................................4-26
4.3.2 Automatic Alternate Block Allocation Processing...........................................................4-28
4.3.3 Error Recovery Processing Control..................................................................................4-30
CHAPTER 5 DISK MEDIA MANAGEMENT ................................................... 5-1
5.1 Defect Management......................................................................................................... 5-1
5.2 Disk Media Initialization................................................................................................. 5-4
5.2.1 Initialization during Installation.......................................................................................5-4
5.2.2 Re-initialization...............................................................................................................5-6
5.3 Data Block Verification Method (Recommended) ........................................................ 5-7
5.4 Alternate Block Allocation Processing........................................................................... 5-9
GLOSSARY
ABBREVIATIONS
INDEX
C141-E039-01EN xiii
List of Figures and Tables
< Figures >
Fig. 1.1 Basic Format of 6-byte CDB......................................................................................................1-2
Fig. 1.2 Basic Format of 10-byte CDB....................................................................................................1-2
Fig. 1.3 Status Byte.................................................................................................................................1-7
Fig. 1.4 Data Space Configuration...........................................................................................................1-38
Fig. 2.1 Data Buffer Configuration (In the case of 4 cache segments)......................................................2-2
Fig. 2.2 Example of Data Buffer Operation During Read........................................................................2-3
Fig. 2.3 Example of Data Buffer Operation During Write.......................................................................2-4
Fig. 2.4 Reconnection Timing Control Parameters..................................................................................2-5
Fig. 2.5 Cache Control Parameters..........................................................................................................2-9
Fig. 3.1 Standard INQUIRY Data ...........................................................................................................3-1
Fig. 3.2 VPD Information: Identifier List................................................................................................3-8
Fig. 3.3 VPD Information: Device Serial Number...................................................................................3-9
Fig. 3.4 VPD Information: Operation Modes...........................................................................................3-10
Fig. 3.5 READ CAPACITY Data ...........................................................................................................3-12
Fig. 3.6 MODE SELECT Parameter Structure........................................................................................3-19
Fig. 3.7 MODE SELECT Command (Group 0) Parameter Configuration...............................................3-21
Fig. 3.8 MODE SELECT Parameters: Read/Write Error Recovery Parameters.......................................3-26
Fig. 3.9 MODE SELECT Parameters: Disconnect/Reconnect Parameters...............................................3-34
Fig. 3.10 MODE SELECT Parameters: Format Parameters......................................................................3-37
Fig. 3.11 MODE SELECT Parameters: Drive Parameters.........................................................................3-41
Fig. 3.12 MODE SELECT Parameters: Verify Error Recovery Parameters..............................................3-12
Fig. 3.13 MODE SELECT Parameters: Caching Parameters.....................................................................3-13
Fig. 3.14 MODE SELECT Parameters: Control Mode Parameters............................................................3-14
Fig. 3.15 MODE SELECT Parameters: Additional Error Recovery Parameters........................................3-56
Fig. 3.16 MODE SELECT EXTENDED Commands (Group 2) Parameter Configuration........................3-58
Fig. 3.17 MODE SENSE Command (Group 0) Parameter Configuration..................................................3-62
Fig. 3.18 MODE SENSE Command (Group 2) Parameter Configuration..................................................3-66
Fig. 3.19 SET LIMITS Command: Access Enable Range Specification....................................................3-90
Fig. 3.20 FORMAT UNIT Command Parameter List Configuration.........................................................3-96
Fig. 3.21 Defect Descriptor: Byte Distance Format from Index.................................................................3-99
Fig. 3.22 Defect Descriptor: Physical Sector Address Format...................................................................3-100
Fig. 3.23 REASSIGN BLOCKS Command: Defect Data List Configuration............................................3-105
Fig. 3.24 READ DEFECT DATA Command: Defect Data List Configuration.........................................3-109
Fig. 3.25 SEND DIAGNOSTIC Command: Parameter List Configuration...............................................3-116
C141-E039-01ENxiv
Fig. 3.26 SEND DIAGNOSTIC Parameters: Page Code List....................................................................3-117
Fig. 3.27 SEND DIAGNOSTIC Parameters: Logical/Physical Address Conversion.................................3-117
Fig. 3.28 RECEIVE DIAGNOSTIC RESULTS Command: Response Data Configuration.......................3-120
Fig. 3.29 RECEIVE DIAGNOSTIC RESULTS Response Data: Page Code List......................................3-121
Fig. 3.30 RECEIVE DIAGNOSTIC RESULTS Response Data:
Logical/Physical Address Conversion.........................................................................................3-121
Fig. 3.31 WRITE BUFFER Command: Buffer Data (Mode = 000, 001)...................................................3-124
Fig. 3.32 READ BUFFER Command: Buffer Data (Mode = 000, 001).....................................................3-128
Fig. 3.33 READ BUFFER Command: Buffer Descriptor..........................................................................3-130
Fig. 4.1 Expansion Sense Data Format....................................................................................................4-2
Fig. 4.2 Sense Key Inherent Information.................................................................................................4-4
Fig. 4.3 End Status Analysis....................................................................................................................4-14
Tables
Table 1.1 Response to the Link Specification Command............................................................................1-12
Table 1.2 Types of Command and Disconnect Processing..........................................................................1-14
Table 1.3 Sense Data in the Not Ready State.............................................................................................1-31
Table 1.4 Outline of SCSI Bus Error Recovery Processing........................................................................1-33
Table 1.5 Outline of Disk drive Error Recovery Processing.......................................................................1-33
Table 1.6 Reset Processing during Write....................................................................................................1-35
Table 3.1 Combinations of Error Recovery Flags.......................................................................................3-30
Table 3.2 MODE SENSE Data Specifications by Type.............................................................................3-61
Table 3.3 FORMAT UNIT Command Defect Processing..........................................................................3-102
Table 3.4 Error Recovery Flags During the Self-diagnosis Test ................................................................3-114
Table 4.1 Sense Key ..................................................................................................................................4-5
Table 4.2 Sense Code/Subsense Code........................................................................................................4-6
Table 4.3 Sense Data Error Classification..................................................................................................4-17
Table 4.4 Error Recovery Processing Procedure.........................................................................................4-21
Table 4.5 Disk Drive Errors and Number of Retries...................................................................................4-31
C141-E039-01EN xv
CHAPTER 1 COMMAND PROCESSING
1.1 Command Format
1.2 Status Byte
1.3 Outline of Command Processing
1.4 Command Queuing Function
1.5 UNIT ATTENTION Conditions
1.6 Sense Data Maintenance State
1.7 Command Processing Exceptions
1.8 Data Block Addressing
This chapter describes the basic logical specifications of the IDD command processing functions.
Note The IDD operates as the target (TARG) on the SCSI bus. In the explanations in this
chapter, the IDD is mentioned as “TARG”, except in cases where a particularly clear distinction is necessary.
1.1 Command Format
Input/output operation commands from INIT (initiator) to the IDD are accomplished by the CDB (Command Descriptor Block). The CDB is information transferred from INIT to TARG in the COMMAND phase. In a number of commands, the parameters which are necessary for command execution in the DATA OUT phase may be specified in addition to the CDB specification. Details concerning these are described in the specifications for each individual command in Chapter 3.
The CDB used by the IDD has 2 formats, one with a length of 6 bytes and the other with a length of 10 bytes. The basic format of each respective CDB is shown in Fig. 1.1 and Fig. 1.2.
C141-E039-01EN 1 - 1
Bit Byte
7 6 5 4 3 2 1 0
0 Operation Code 1 LUN Logical Block Address (MSB) 2 Logical Block Address 3 Logical Block Address (LSB) 4 Transfer Data Length 5 Control Byte
Fig. 1.1 6 Byte CDB Basic Format
Bit Byte
7 6 5 4 3 2 1 0
0 Operation Code 1 LUN 0 0 0 0 0 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 0 0 0 0 0 0 0 0 7 Transfer Data Length (MSB) 8 Transfer Data Length (LSB) 9 Control Byte
Fig. 1.2 10 Byte CDB Basic Format
The meanings of each of the fields in the CDB are explained below. Depending on the type of command, the basic format of the CDB, the definitions of fields and their meanings may differ. Details are described in the specifications for each individual command in Chapter 3.
C141-E039-01EN1 - 2
(1) Operation code
Bit 7 6 5 4 3 2 1 0
Group Code Command Code
The top byte of all CDBs shows the format and type of command to be executed.
a. Group Code
The group code specifies the number of bytes and format of the CDB. The groups of commands shown below are used in the IDD.
Group 0 (“000”): 6-byte CDB (Shown in Fig. 1.1)
Group 1 (“001”): 10-byte CDB (Shown in Fig. 1.2)
Group 2 (“010”): 10-byte CDB (Shown in Fig. 1.2)
Group 3 (“110”): 10-byte CDB (Shown in Fig. 1.2)
Group 4 (“111”): Reserved Operation Code (Shown in item 1.7.3.)
b. Command Code
Command code specifies the type of command in each group.
(2) LUN (Logical Unit Number)
This field specifies the address of the logical unit (device) connected under the TARG in cases where the IDENTIFY message is not used. If the IDENTIFY message is used, the value of the CDB’s LUN field is disregarded when the LUN is specified.
Note:
It is possible that the definition of this field may be changed in future SCSI standards. It is recommended that the LUN be specified using the IDENTIFY message, and that a zero be specified in this CDB field.
(3) Logical Block Address
This field shows the top logical data block address of the data block on the disk media to be processed by the command. In the group 0 CDB, 21 bit block addressing is possible and in the group 1, group 2 and group 6 CDBs, 32 bit block addressing is possible. Specifications for logical data block addressing in the IDD are described in section 1.8.
C141-E039-01EN 1 - 3
(4) Transfer Data Length
In this field, the length of data to be transferred between INIT and TARG when the command is executed is specified by the number of logical data blocks or the number of bytes. In subsequent descriptions, the former is called the “transfer block count” and the latter is called the “transfer byte length” or “parameter list length.”
Furthermore, this field may be used with a different meaning, or it may not have any meaning at all, depending on the type of command. There are also some commands which allocate 3 or more bytes as the transfer data length field. Detailed specifications of these commands are described in the individual command specifications in Chapter 3.
a. Transfer Block Count
When the “Transfer Data Length” is specified as the “Transfer Block Count,” this field specifies the number of logical data blocks to be transferred between INIT and the IDD.
In commands where this field is 1 byte in length, if the field’s specified value is 0, it is regarded as specifying 256 blocks, and it is possible to specify a block count ranging from 1 to 256 blocks. On the other hand, in commands where this field is 2 bytes in length, if the field’s specified value is 0, no data transfer is executed. It is possible to specify a block count ranging from 0 to 65,535 blocks.
b. Transfer Byte Length or Parameter List Length
When this field is specified as the “Transfer Byte Length” or “Parameter List Length,” that command specifies data length to be transferred between the INIT and the IDD, expressed as the number of bytes. When 0 is specified in this field, data transfer is not executed, except in cases where it is expressly stated in the individual command specifications in Chapter 3.
In commands which send parameters necessary for executing a command from the INIT to the IDD, this field is called the “Parameter List Length,” and it specifies the total number of types in the parameter list which the INIT is sending.
On the other hand, in commands for receiving information from the IDD (REQUEST SENSE, INQUIRY, etc.), this field is called the “Transfer Byte Length,” and specifies the maximum number of bytes (the which the INIT can receive (the number of bytes of area secured within the INIT for receiving information). The IDD transfers either the number of effective bytes of the type of information specified in the command, or the value specified in the “Transfer Byte Length” field, whichever is the smallest number of bytes, and only that number, to the INIT.
C141-E039-01EN1 - 4
(5) Control Byte
Bit 7 6 5 4 3 2 1 0
0 0 0 0 0 0 Flag Link
a. Link
Command link is specified by this bit is “1.” Details of the operation of the command link are described in item 1.3.2.
b. Flag
This bit is valid only when “1” is specified in the Link bit. If “0” is specified in the Link bit, “1” must not be specified in this bit.
This bit specifies the type of message sent from the TARG to the INIT when a command which is a link specification has been completed normally. The IDD sends the LINKED COMMAND COMPLETE WITH FLAG message when this bit is “1,” and the LINKED COMMAND COMPLETE message when this bit is “0,” to the INIT.
Normally, this bit is used to generate an interrupt to software in the INIT when execution of a specific command in a group of commands linked together in a series has been completed.
c. Bit 7, 6 (vendor unique)
Except in cases where it is expressly specified in the individual commands, specification of these bits has no meaning, and the IDD disregards the specified values.
Note
It is possible that bits 7 and 6 of the control byte will be used in future product specifications as an inherent control field. It is recommended that zeros be specified in this field.
C141-E039-01EN 1 - 5
(6) Handling an Illegal CDB
If there is an error in the contents of a description (specification) in the CDB, or if there is an error in the specifications in parameters transferred from the INIT, that command ends with a CHECK CONDITION status. In the case of a command to change the data on the disk media, when there is an error in the CDB’s specifications, the disk media is not changed by that command, but when there is an error in the parameters transferred in the DATA OUT phase, the contents of the disk media in the range specified by the command may be changed. Also, even in cases where there is an error in the CDB’s specifications in a command accompanying the DATA OUT phase, the DATA OUT phase is executed after the COMMAND phase is terminated, but those data are not used. For example, if there is an error in the CDB specification of a WRITE command, the IDD executes the transfers several bytes of data (the data length to be transferred is not specified), but those data are not written to the disk media. Details are described in the individual command specifications in Chapter 3.
If there is an error in the CDB specification in a command which executes disconnect processing (shown in item 1.3.3), the disconnect processing may be executed after the COMMAND phase is terminated. In this case, reconnect processing is executed afterward and the status (CHECK CONDITION) is reported.
Note:
If a CDB with an undefined group code (group 3, 4, 5) is specified, the IDD requests transfer of 10 bytes in the COMMAND phase and if the group code [group 5] is specified, it requests transfer of 12 bytes. After that has been received, the status (CHECK CONDITION) is reported.
C141-E039-01EN1 - 6
1.2 Status Byte
Fig. 1.3 shows status byte format and the type of status the IDD supports.
The status byte is one byte of information sent from the TARG to the INIT in the STATUS phase when one command is completed, and notifies the INIT of the results of the command’s execution. The status byte is also sent even in cases when the TARG is in a state which it makes it impossible for it to execute the command when it receives a request for an input/output operation. However, if the command is cleared by switching to the BUS FREE phase forcibly through an ABORT message, an ABORT TAG message, a CLEAR QUEUE message, a BUS DEVICE RESET message, a RESET condition or a SCSI bus error state, etc., the status byte for that command is not reported.
After the TARG reports the status byte in the STATUS phase, it will always send a COMMAND COMPLETE message or a LINKED COMMAND COMPLETE (WITH FLAG) message, and notify the INIT of the validity of the status byte.
Bit 7 6 5 4 3 2 1 0
0 0 Status Byte Code 0
Bit 5 4 3 2 1
0 0 0 0 0 GOOD Status 0 0 0 0 1 CHECK CONDITION Status 0 0 0 1 0 CONDITION MET Status 0 0 1 0 0 BUSY Status 0 1 0 0 0 INTERMEDIATE Status 0 1 0 1 0 INTERMEDIATE CONDITION MET Status 0 1 1 0 0 RESERVATION CONFLICT Status 1 0 0 0 1 COMMAND TERMINATED Status 1 0 1 0 0 QUEUE FULL Status
Figure 1.3 Status Byte
C141-E039-01EN 1 - 7
(1) GOOD Status
This status indicates that execution of the command ended normally.
(2) CHECK CONDITION Status
This status is reported in the following cases a) to c). The IDD generates sense data when it reports this status and displays the detailed cause. The INIT issues a REQUEST SENSE command when it receives this status and should sample sense data.
a) If the sense key of the sense data indicates RECOVERED ERROR [=1], the last command,
which is the final command, indicates that it ended normally with the error recovery processing executed by the IDD.
b) If the sense key of the sense data indicates UNIT ATTENTION [=6], it indicates that the
IDD was holding the UNIT ATTENTION condition. Details of the UNIT ATTENTION condition are described in section 1.5.
c) In cases other than the above, it indicates that command execution is impossible, or that
command execution was terminated abnormally.
(3) CONDITION MET Status
This status indicates that the PRE-FETCH command condition has been met, and is reported when it is possible to secure the cache memory area necessary for reading all the logical data blocks specified in the PRE-FETCH command (in the case of “Immed = 1”), or when reading of all the specified logical data blocks is completed (in the case of “Immed = 0”).
The IDD does not support the PRE-FETCH command. Therefore, reporting of this status is not reported.
(4) BUSY Status
This status indicates that the IDD is in the busy state or that it cannot receive a new command. Normally, an INIT that receives this status reissues the original command after waiting an appropriate period of time.
The IDD reports the BUSY status in the following cases (the command stack function is explained in section 1.4).
a) If the IDD receives a new command while it is executing a command, is queuing or is
executing its initial self-diagnosis (except a command with an object other than disconnect processing as shown in item 1.3.3), if the INIT which issued that command does not satisfy the disconnect enable conditions.
b) If the IDD receives a command with an object other than disconnect processing (as shown
in item 1.3.3) while it is executing a command, is queuing or is executing its initial self-
diagnosis. c) If the DISCONNECT message for command queuing has been rejected by the INIT. d) If a command with untagged disconnect processing as its object is received while the
command queue is full.
C141-E039-01EN1 - 8
(5) INTERMEDIATE Status
This status indicates that a command which specifies a link (except the final command in a group of linked commands with “1” as its Link bit) has been completed normally. If a command which specifies a link is completed abnormally and the CHECK CONDITION status or RESERVATION CONFLICT status is reported, the command link is broken an the subsequent linked commands are not executed.
(6) INTERMEDIATE CONDITION MET Status
This status indicates that the PRE-FETCH command intermediate condition has been met, and is reported when it is possible to secure the cache memory area necessary to read all the logical data blocks specified in a PRE-FETCH command which specifies a link (in the case of “Immed = 1”), or when reading of all the specified logical data blocks is completed (in the case of “Immed = 0”).
The IDD does not support the PRE-FETCH command. Therefore, this status is not reported.
(7) RESERVATION CONFLICT Status
This status indicates that the IDD is reserved by another INIT, and that use is impossible until the reserved status is canceled. Normally, an INIT which receives this status reissues the original command after waiting an appropriate period of time.
(8) COMMAND TERMINATED Status
This status is reported when the IDD has completed the input/output operation it was executing when it received a TERMINATE I/O PROCESS message from the INIT.
(9) QUEUE FULL Status
This status is reported if the IDD cannot register a tagged command it has received in the command queue because there is no empty space in the command queue.
C141-E039-01EN 1 - 9
1.3 Outline of Command Processing
1.3.1 Single Commands
Some processing examples of single commands which are the most basic operations on the SCSI bus are shown below. Furthermore, if disconnect processing is permitted, it may be accompanied by disconnect/reconnect processing during the interval until execution is completed, depending on the type of command, but this operation is omitted in the following explanation. The disconnect function is described in item 1.3.3.
1) The INIT sets the command’s initial values in the command pointer, data pointer and
status pointer.
2) The INIT selects the TARG in the SELECTION phase after acquiring the right to use the
SCSI bus in the ARBITRATION phase. After the SELECTION phase is ended, the right
to control the SCSI bus is entrusted to the TARG.
3) If the ATTENTION condition exists when the TARG responds to the SELECTION phase,
the TARG executes the MESSAGE OUT phase. Normally, the INIT sends the IDENTIFY
message as the initial message and specifies the device (LUN) that is the object of the
operation.
4) The TARG next executes the COMMAND phase and receives the CDB from the INIT.
The TARG judges the length of the CDB by the group code in the first byte of the CDB
and requests transfer of the necessary number of bytes.
5) The TARG interprets the contents of the command and executes the requested operation.
In the case of commands for which data transfer on the SCSI bus is necessary, the DATA
IN or the DATA OUT phase is executed.
6) When execution of the command is completed, the TARG notifies the INIT of the
execution results by the status byte in the STATUS phase.
7) The TARG notifies the INIT of the COMMAND COMPLETE message in the final
MESSAGE IN phase and enters the BUS FREE phase.
C141-E039-01EN1 - 10
1.3.2 Command Link
The command link function is a function which causes the TARG to execute continuous processing of multiple commands. Some examples of command link processing are shown below.
1) The INIT sets the command’s initial values in the command pointer, data pointer and
status pointer.
2) Acquiring of the right to use the SCSI bus, selection of the TARG and specification of the
LUN by the IDENTIFY message are the same as in the case of single commands.
3) The TARG receives commands from the INIT in the COMMAND phase, but “1” is
specified in the Link bit of the CDB’s control byte.
4) The TARG analyzes the command and executes the requested processing.
5) If processing of the command is completed normally, the TARG notifies the INIT of the
INTERMEDIATE status in the STATUS phase. At this time, the command link function
becomes effective.
6) The TARG informs the INIT of the LINKED COMMAND COMPLETE or the LINKED
COMMAND COMPLETE WITH FLAG message, depending on the value of the Flag bit
in the CDB’s control byte. When the INIT has received the LINKED COMMAND
COMPLETE (WITH FLAG) message, the command, data and status pointers are updated
to the initial values for the next command in the link.
7) The TARG enters the COMMAND phase immediately after the MESSAGE IN phase and
receives the command it is to execute next. After that, it performs either single command
(Link bit = “0”) processing or command link (Link bit = “1”) processing.
The command link continues until a command with “0” specified in the Link bit of its CDB is issued or until a command terminates abnormally.
The command link function is made effective only in the case that commands with link specifications are completed normally. If a command with a link specification is completed in an error state or in an exception state, the command link function is invalidated. Table 1.1 shows the response of the IDD when commands with a Link specification are terminated.
C141-E039-01EN 1 - 11
Table 1.1 Responses to Link Specification Commands
Flag End Status Status Message Link Function
0
1
×
0
1
×
×
×
×
Completed
Normally
Completed
Normally
Completed
Abnormally
Conditions Met INTERMEDIATE
Conditions Met INTERMEDIATE
Unable to Start
Receive
Reserved State RESERVATION
Forced
Termination
Queue Full
State
INTERMEDIATE LINKED COMMAND
INTERMEDIATE LINKED COMMAND
CONDITION
CONDITION MET
CONDITION MET
COMMAND
TERMINATED
QUEUE FULL COMMAND COMPLETE Not Effective
Effective
COMPLETE
Effective
COMPLETE WITH FLAG
CHECK
BUSY COMMAND COMPLETE Not Effective
CONFLICT
COMMAND COMPLETE Not Effective
LINKED COMMAND
COMPLETE
LINKED COMMAND
COMPLETE WITH FLAG
COMMAND COMPLETE Not Effective
COMMAND COMPLETE Not Effective
Effective
Effective
Only a single logical unit can operate a series of linked commands. When the IDD receives the first command, the logical unit specified by the IDENTIFY message or the LUN field of the CDB becomes the object of operation in a series of linked commands and the values specified in the LUN field in the 2nd and subsequent CDBs are disregarded.
Note:
An INIT which uses the command link function must make the ATN signal in the
SELECTION phase TRUE and notify the TARG that it is capable of receiving messages
other than the COMMAND COMPLETE message. If “1” has been specified in the Link
bit of the CDB without the ATN being made TRUE by the INIT in the SELECTION
phase, the IDD terminates that command abnormally by sending a CHECK CONDITION
status (ILLEGAL REQUEST [=5] / Invalid field in CDB [=24-00]).
C141-E039-01EN1 - 12
1.3.3 Disconnect/Reconnect Processing
When processing is performed by the TARG during the command execution process which does not require operation on the SCSI bus, the TARG temporarily returns the SCSI bus to the BUS FREE phase by disconnect processing, making it possible for the TARG to execute the command internally. Through this function, the INIT is enabled to process multiple commands on the SCSI bus.
(1) Conditions where disconnects are permitted and commands which are the object of
disconnect processing
If all of the conditions shown below for permitting a disconnect are satisfied, the IDD executes disconnect processing. However, As shown in Table 1.2, disconnect processing may be valid or invalid, and the disconnect processing execution timing may differ, depending on the type of command.
Conditions for Permitting a Disconnect
1) The SCSI ID of the INIT is notified in the SELECTION phase.
2) The INIT generates the ATTENTION condition in the selection phase.
3) The INIT notifies the TARG that disconnect processing is permitted by an IDENTIFY
message.
C141-E039-01EN 1 - 13
Loading...
+ 220 hidden pages