Fujitsu MAS3367, MAP3367, MAP3735, MAS3735, MAP3147 User Manual

C141-E167-01EN
MAP3367, MAP3735, MAP3147 NP/NC SERIES
MAS3367, MAS3735 NP/NC SERIES
DISK DRIVES
SCSI LOGICAL INTERFACE SPECIFICATIONS

FOR SAFE OPERATION

Handling of This Manual
FUJITSU makes every effort to prevent users and bystanders from being injured or from suffering damage to their property. Use the product according to this manual.
This product is designed and manufactured for use in standard applications such as office work, personal devices and household appliances. This product is not intended for special uses (atomic controls, aeronautic or space systems, mass transport controls, medical devices for life support, or weapons firing controls) where particularly high reliability requirements exist, where the pertinent levels of safety are not guaranteed, or where a failure or operational error could threaten a life or cause a physical injury (hereafter referred to as "mission-critical" use). Customers considering the use of these products for mission-critical applications must have safety-assurance measures in place beforehand. Moreover, they are requested to consult our sales representative before embarking on such specialized use
.
First Edition May 2002
T
his manual is for internal use only. Fujitsu takes no responsibility for any other use.
The contents of this manual may be revised without prior notice.
The contents of this manual shall not be disclosed in any way or reproduced in any media without
the express written permission of Fujitsu Limited.
All Rights Reserved, Copyright FUJITSU LIMITED 2002
C141-E167

Revision History

(1/1)
Edition Date
01 May, 2002
Revised section (*1)
(Added/Deleted/Altered)
Details
*1 Section(s) with asterisk (*) refer to the previous edition when those were deleted.
C141-E167
This page is intentionally left blank.
This manual explains concerning the MAS3367, MAS3735, MAP3367, MAP3735, MAP3147 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 kno wledge 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.
Remark:
Product development of MAK3728 described in this manual has been discontinued.
Overview of Manual
This manual consists of the following six chapters, glossary, abbreviation, and index:

Preface

Chapter 1 Command Processing
This chapter describes the basic logical specifications related to SCSI command processing in the disk drives.
Chapter 2 Data Buffer Management
This chapter describes the data buffer configuration provided in the disk drives and concerning data transfer processing functions and cache operation.
Chapter 3 Command Specifications
This chapter describes specifications of SCSI commands provided by the disk drives and how to use them.
Chapter 4 Parameter Data Formats
This chapter describes the parameter data formats provided by the disk drives and how to use them.
Chapter 5 Sense Data 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 disk drives for recovery
Chapter 6 Disk Media Management
C141-E167
This chapter describes the procedure for initializing the disk media, methods of treating media defects and data recovery methods for the disk drives.
i
Preface
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 manu al.
Index
ii C141-E167
CONVENTIONS USED INTHIS MANUAL
Note 1: Model Name
Preface
MAP3
Note 2: Typical model name
367 NC
Type model name Model name MAS3367 MAS3367NP, MAS3367NC MAS3735 MAS3735NP, MAS3735NC MAP3367 MAP3367NP, MAP3367NC MAP3735 MAP3735NP, MAP3735NC MAP3147 MAP3147NP, MAP3147NC
Interface type NP: Low voltage differential 16-bit SCSI Ultra-320
NC: Low voltage differential 16-bit SCSI Ultra-320
SCA2 connector
Formatted capacity (1,000 MB units for MAP3147) Formatted capacity (100 MB units for all the models except MAP3147)
Disk size
Type AS: 1-inch height (15,000 rpm)
AP: 1-inch height (10,025 rpm)
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.
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-E167 iii
Preface
Related Standards
Specifications and functions of products covered by this manual comply with the following standards.
Standard (Text) No. Name Enacting Organization
ANSI X3. 131-1986 American National Standard for
ANSI X3. 131-1994 American National Standard for
X3T9.2/85-52 Rev 4.B COMMON COMMAND SET (CCS) of
X3T9.2 855D Rev 12 WORKING DRAFT Information
T10/1236-D Rev 19 Information technology SCSI Primary
T10 project 996D Rev 8C Information Technology --- SCSI-3 Block
X3T10/994D Rev 18 Information technology SCSI-3
T10/1302D Rev 14 Information technology SCSI Parallel
Information Systems --- Small Computer System Interface (SCSI)
Information Systems --- Small Computer System Interface-2 (SCSI-2)
the Small Computer System Interface (SCSI)
Technology SCSI-3 Parallel Interface
Commands-2 (SPC-2)
Commands (S BC)
Architecture Model (SAM)
Interface-3 (SPI-3)
American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI) American National Standards Institute (ANSI)
Attention
Please forward any comments you may have regarding this manual.
To make this manual easier for users to understand, opinions from readers are needed. Please write your opinions or requests on the Comment at the back of this manual and forward it to the address described in the sheet.
iv C141-E167
MANUAL ORGANIZATION
Product/
Maintenance Manual
SCSI Physical
Interface Specifications
SCSI Logical Interface Specifications
(This Manual)
1. General Description
2. Specifications
3. Data Format
4. Installation Requirements
5. Installation
6. Diagnostics and Maintenance
7. Error Analysis
8. Principle of Operation
1. SCSI Bus
2. SCSI Messages
3. Error Recovery
1. Command Processing
2. Data Buffer Management
3. Command Specifications
4. Parameter Data Formats
5. Sense Data Error Recovery Methods
6. Disk Media Management
C141-E167 v
This page is intentionally left blank.

Contents

CHAPTER 1 Command Processing........................................................................................................1-1
1.1 Command Format..........................................................................................................................1-1
1.2 Status Byte.....................................................................................................................................1-6
1.3 Outline of Command Processing................................................................................................... 1-8
1.3.1 Single commands....................................................................................................................1-8
1.3.2 Command link ........................................................................................................................1-9
1.3.3 Disconnect/reconnect processing..........................................................................................1-11
1.3.4 Synchronous mode data transfer/wide mode data transfer...................................................1-15
1.4 Command Queuing Function .......................................................................................................1-16
1.4.1 Untagged queuing.................................................................................................................1-16
1.4.2 Tagged queuing....................................................................................................................1-18
1.5 UNIT ATTENTION Condition ...................................................................................................1-19
1.5.1 Generation of the UNIT ATTENTION condition ................................................................1-19
1.5.2 Response and release condition at UNIT ATTENTION condition hold
state.......................................................................................................................................1-20
1.5.3 UNIT ATTENTION condition multiple hold.......................................................................1-22
1.6 Sense Data Hold State..................................................................................................................1-22
1.6.1 Sense data hold condition.....................................................................................................1-22
1.6.2 Response and release conditions at sense data hold state.....................................................1-22
1.7 Command Processing Exceptions................................................................................................1-23
1.7.1 Overlapping commands........................................................................................................1-23
1.7.2 Illegal LUN specification......................................................................................................1-24
1.7.3 Reserved operation code.......................................................................................................1-24
1.7.4 Command processing in the not ready state .........................................................................1-24
1.7.5 Error recovery processing .....................................................................................................1-26
1.7.6 Reset processing ...................................................................................................................1-27
1.7.7 Fatal hardware errors............................................................................................................1-29
1.8 Data Block Addressing................................................................................................................1-29
1.8.1 Definition of data space........................................................................................................1-29
1.8.2 Logical block addressing......................................................................................................1-32
C141-E167 vii
Contents
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 Operation mode setting.......................................................................................................... 2-5
2.2 Look-Ahead Cache Feature .......................................................................................................... 2-6
2.2.1 Caching operation.................................................................................................................. 2-6
2.2.2 Caching parameters................................................................................................................ 2-8
2.2.3 Look-Ahead operation, Look-Ahead volume........................................................................ 2-9
2.3 Write Cache ................................................................................................................................ 2-10
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-13
3.1.4 CHANGE DEFINITION (40).............................................................................................. 3-14
3.1.5 MODE SELECT (15) .......................................................................................................... 3-19
3.1.6 MODE SELECT EXTENDED (55) .................................................................................... 3-26
3.1.7 MODE SENSE (1A)............................................................................................................3-28
3.1.8 MODE SENSE EXTENDED (5A)...................................................................................... 3-34
3.1.9 REZERO UNIT (01)............................................................................................................ 3-35
3.1.10 START/STOP UNIT (1B)................................................................................................... 3-36
3.1.11 RESERVE (16).................................................................................................................... 3-37
3.1.12 RESERVE EXTENDED (56)............................................................................................. 3-40
3.1.13 RELEASE (17).................................................................................................................... 3-41
3.1.14 RELEASE EXTENDED (57)............................................................................................. 3-42
3.1.15 REQUEST SENSE (03)....................................................................................................... 3-42
3.1.16 LOG SELECT (4C)............................................................................................................. 3-44
3.1.17 LOG SENSE (4D) ............................................................................................................... 3-48
3.1.18 PERSISTENT RESERVE IN (5E)...................................................................................... 3-49
3.1.18.1 PERSISTENT RESERVE IN service actions............................................................... 3-50
3.1.18.1.1 READ KEYS...........................................................................................................3-50
3.1.18.1.2 READ RESERVATIONS ....................................................................................... 3-51
3.1.18.2 PERSISTENT RESERVE IN parameter data for READ KEYS.................................... 3-51
3.1.18.3 PERSISTENT RESERVE IN parameter data for READ RESERVATIONS................ 3-52
3.1.18.3.1 Persistent reservation scope..................................................................................... 3-53
3.1.18.3.2 Persistent reservations type ..................................................................................... 3-54
viii C141-E167
Contents
3.1.19 PERSISTENT RESERVE OUT (5E)...................................................................................3-56
3.1.19.1 PERSISTENT RESERVE OUT service actions.............................................................3-57
3.1.19.2 PERSISTENT RESERVE OUT parameter list...............................................................3-58
3.1.20 REPORT LUNS (A0)...........................................................................................................3-60
3.1.21 REPORT DEVICE IDENTIFIER (A3)................................................................................3-62
3.1.22 SET DEVICE IDENTIFIER (A4)........................................................................................3-63
3.2 Data Access Commands ..............................................................................................................3-65
3.2.1 READ (08)............................................................................................................................3-65
3.2.2 READ EXTENDED (28)......................................................................................................3-66
3.2.3 WRITE (0A).........................................................................................................................3-67
3.2.4 WRITE EXTENDED (2A)...................................................................................................3-68
3.2.5 WRITE AND VERIFY (2E).................................................................................................3-69
3.2.6 VERIFY (2F)............................................................................................................... .........3-70
3.2.7 SEEK (0B)............................................................................................................................3-71
3.2.8 SEEK EXTENDED (2B)......................................................................................................3-71
3.2.9 SET LIMITS (33) (Not Supported)......................................................................................3-72
3.2.10 SYNCHRONIZE CACHE (35)............................................................................................3-74
3.3 Format Commands.......................................................................................................................3-75
3.3.1 FORMAT UNIT (04) ...........................................................................................................3-75
3.3.2 REASSIGN BLOCKS (07)...................................................................................................3-85
3.3.3 READ DEFECT DATA (37)................................................................................................3-88
3.4 Maintenance, Diagnostic Commands ..........................................................................................3-92
3.4.1 SEND DIAGNOSTIC (1D)..................................................................................................3-92
3.4.2 RECEIVE DIAGNOSTIC RESULTS (1C)..........................................................................3-98
3.4.3 WRITE BUFFER (3B) .......................................................................................................3-102
3.4.4 READ BUFFER (3C).........................................................................................................3-107
3.4.5 READ LONG (3E) .............................................................................................................3-111
3.4.6 WRITE LONG (3F)............................................................................................................3-112
3.4.7 WRITE SAME (41)............................................................................................................ 3-113
CHAPTER 4 Parameter Data Formats..................................................................................................4-1
4.1 Mode Parameters ...........................................................................................................................4-1
4.1.1 Read/Write error recovery parameters (page code = 1)..........................................................4-1
4.1.2 Disconnect/reconnect parameters (page code = 2) ...............................................................4-10
4.1.3 Format parameter (page code = 3)........................................................................................4-14
4.1.4 Drive parameter (page code = 4) ..........................................................................................4-17
4.1.5 Verify error recovery parameters (page code = 7)...............................................................4-19
C141-E167 ix
Contents
4.1.6 Caching parameters (page code = 8).................................................................................... 4-21
4.1.7 Control mode parameters (page code = 0A)....................................................................... 4-27
4.1.8 Notch parameter (page code = 0C)...................................................................................... 4-31
4.1.9 Informational exceptions control page (page code = 1C).................................................... 4-33
4.1.10 Additional error recovery parameters (page code = 21)...................................................... 4-36
4.2 Log Parameters ........................................................................................................................... 4-37
4.2.1 Supprot log page (X'00')...................................................................................................... 4-38
4.2.2 Buffer overrun / underrun page (X'01') ............................................................................... 4-39
4.2.3 Write error count page (X'02').............................................................................................4-40
4.2.3.1 Write errors recovered without delays (Page 02, Code 0000) ...................................... 4-40
4.2.3.2 Write errors recovered with possible delays (Page 02, Code 0001) ............................. 4-41
4.2.3.3 Total posted write errors (Page 02, Code 0002)........................................................... 4-41
4.2.3.4 Total posted recoverable write errors (Page 02, Code 0003)........................................ 4-42
4.2.3.5 Total write bytes processed (Page 02, Code 0005)....................................................... 4-42
4.2.3.6 Total posted unrecoverable write errors (Page 02, Code 0006).................................... 4-43
4.2.4 Read error count page (X'03')..............................................................................................4-43
4.2.4.1 Read errors recovered without delays (Page 03, Code 0000)....................................... 4-44
4.2.4.2 Read errors recovered with possible delays (Page 03, Code 0001).............................. 4-44
4.2.4.3 Total posted read errors (Page 03, Code 0002) ............................................................ 4-45
4.2.4.4 Total posted recoverable read errors (Page 03, Code 0003)......................................... 4-45
4.2.4.5 Total read bytes processed (Page 03, Code 0005)........................................................ 4-46
4.2.4.6 Total posted unrecoverable read errors (Page 03, Code 0006)..................................... 4-46
4.2.5 Verify error count page (X'05')............................................................................................4-47
4.2.5.1 Verify errors recovered without delays (Page 05, Code 0000)..................................... 4-47
4.2.5.2 Vefiry errors recovered with possible delays (Page 05, Code 0001)............................ 4-48
4.2.5.3 Total posted verify errors (Page 05, Code 0002).......................................................... 4-48
4.2.5.4 Total posted recoverable verify errors (Page 05, Code 0003)...................................... 4-49
4.2.5.5 Total verify bytes processed (Page 05, Code 0005)..................................................... 4-49
4.2.5.6 Total posted unrecoverable verify errors (Page 05, Code 0006).................................. 4-50
4.2.6 Non-medium error count page (X'06')................................................................................. 4-50
4.2.7 Temperature page (X'0D').................................................................................................... 4-51
4.2.7.1 Temperature (Page 0D, Code 0000)............................................................................. 4-51
4.2.7.2 Reference temperature (Page 0D, Code 0001) ............................................................. 4-52
4.2.8 Start-stop cycle counter page (X'0E')................................................................................... 4-52
4.2.8.1 Date of manufacture (Page 0E, Code 0001)................................................................. 4-53
4.2.8.2 Accounting date (Page 0E, Code 0002)........................................................................ 4-53
4.2.8.3 Specified cycle count over device lifetime (Page 0E, Code 0003)............................... 4-54
x C141-E167
Contents
4.2.8.4 Start-stop cycle counter (Page 0E, Code 0004).............................................................4-54
4.2.9 Application client page (X'0F')............................................................................................. 4-55
4.2.9.1 General usage application client parameter data (Page 0F, Code 0000-003F)..............4-55
4.2.10 Self-test result page (X'10')...................................................................................................4-56
4.2.10.1 Self-test result parameter data (Page 10, Code 0001-0014) ............................................4-56
4.2.11 SMART status page (X'2F')..................................................................................................4-57
4.2.12 SMART data page (X'38') ....................................................................................................4-57
CHAPTER 5 Sense Data Error Recovery Methods ..............................................................................5-1
5.1 Sense Data......................................................................................................................................5-1
5.1.1 Sense data format.................................................................................................................... 5-1
5.1.2 Sense data basic information ..................................................................................................5-2
5.1.3 Sense data additional information.........................................................................................5-11
5.2 INIT Error Recovery Methods (Recommended).........................................................................5-11
5.2.1 Termination status analysis and error recovery methods......................................................5-11
5.2.2 Sense data analysis and error recovery methods...................................................................5-14
5.2.3 Error logging ........................................................................................................................5-21
5.3 Disk Drive Error Recovery Processing........................................................................................5-22
5.3.1 Error states and retry processing procedures........................................................................5-22
5.3.2 Auto alternate block allocation processing...........................................................................5-23
5.3.3 Error recovery processing control ........................................................................................5-24
CHAPTER 6 Disk Media Management..................................................................................................6-1
6.1 Defect Management.......................................................................................................................6-1
6.2 Disk Media Initialization ...............................................................................................................6-3
6.2.1 Initialization during installation..............................................................................................6-3
6.2.2 Re-initialization ......................................................................................................................6-5
6.3 Data Block Verification Methods (Recommended).......................................................................6-6
6.4 Alternate Block Allocation Processing..........................................................................................6-7
Glossary .........................................................................................................................................GL-1
Abbreviations ......................................................................................................................................... AB-1
Index ..........................................................................................................................................IN-1
C141-E167 xi
Contents

Illustrations

Figures

1.1 6-Byte CDB Basic Format..................................................................................................... ....... 1-1
1.2 10-Byte CDB Basic Format.......................................................................................................... 1-2
1.3 12-Byte CDB Basic Format.......................................................................................................... 1-2
1.4 Status Byte.................................................................................................................................... 1-6
1.5 Data space configuration............................................................................................................. 1-31
2.1 Data buffer configuration (in the case of 8 cache segments)........................................................ 2-2
2.2 Example of data buffer operation during read.............................................................................. 2-3
2.3 Example of data buffer operation during write............................................................................. 2-4
2.4 Parameters for controlling reconnection timing............................................................................ 2-5
2.5 Cache control parameters.............................................................................................................. 2-9
3.1 Standard INQUIRY data............................................................................................................... 3-4
3.2 Command support data................................................................................................................. 3-9
3.3 VPD information: VPD identifier list........................................................................................3-11
3.4 VPD information: device serial No............................................................................................ 3-11
3.5 VPD information: operation mode.............................................................................................3-12
3.6 READ CAPACITY data............................................................................................................. 3-14
3.7 MODE SELECT parameter structure ......................................................................................... 3-21
3.8 MODE SELECT command (Group 0) parameter configuration................................................ 3-23
3.9 MODE SELECT EXTENDED command (Group 2) parameter configuration.......................... 3-28
3.10 MODE SENSE command (Group 0) parameter configuration................................................... 3-31
3.11 MODE SENSE EXTENDED command (Group 2) parameter configuration............................. 3-35
3.12 SET LIMITS command: Specifying the range where access is permitted................................. 3-73
3.13 FORMAT UNIT command parameter list configuration............................................................ 3-78
3.14 Defect descriptor: Byte distance from index format.................................................................. 3-80
3.15 Defect descriptor: physical sector address format......................................................................3-81
3.16 REASSIGN BLOCK command: defect data list configuration................................................. 3-86
3.17 READ DEFECT DATA command: Defect data configuration................................................. 3-89
3.18 SEND DIAGNOSTIC command: parameter list configuration................................................. 3-95
3.19 SEND DIAGNOSTIC parameters: page code list ..................................................................... 3-96
3.20 SEND DIAGNOSTIC parameters: logical/physical address conversion................................... 3-96
3.21 RECEIVE DIAGNOSTIC RESULTS command: Response data configuration ....................... 3-99
3.22 RECEIVE DIAGNOSTIC RESULTS response data: page code list....................................... 3-100
3.23 RECEIVE DIAGNOSTIC RESULTS response data: logical/physical address conversion .... 3-101
3.24 WRITE BUFFER command: buffer data (Mode =000,001).................................................... 3-103
3.25 READ BUFFER command: buffer data (Mode =0000,0001)................................................. 3-108
3.26 READ BUFFER command: buffer descriptor......................................................................... 3-109
3.27 READ BUFFER command: Echo buffer descriptor................................................................ 3-110
xii C141-E167
Contents
4.1 MODE SELECT parameters: read/write error recovery parameters............................................4-2
4.2 MODE SELECT parameters: disconnect/reconnect parameters.................................................4-10
4.3 MODE SELECT parameters: format parameters .......................................................................4-14
4.4 MODE SELECT parameters: drive parameters..........................................................................4-18
4.5 MODE SELECT parameters: verify error recovery parameters.................................................4-20
4.6 MODE SELECT parameters: caching parameters......................................................................4-22
4.7 MODE SELECT parameters: control mode parameters.............................................................4-28
4.8 MODE SELECT parameters: informal exception control page..................................................4-33
4.9 MODE SELECT parameters: additional error recovery parameters ..........................................4-36
5.1 Expanded sense data format ..........................................................................................................5-2
5.2 Sense key inherent information .....................................................................................................5-4
5.3 Analysis of the termination status................................................................................................5-12

Tables

1.1 Responses to Link Specification Commands...............................................................................1-10
1.2 Types of Command and Disconnect Processing..........................................................................1-12
1.3 Sense data in not ready state........................................................................................................1-25
1.4 Outline of SCSI Bus Error Recovery Processing.........................................................................1-26
1.5 Outline of disk drive error recovery processing ..........................................................................1-27
1.6 Reset processing during write......................................................................................................1-28
3.1 MODE SENSE Data Type Specifications ...................................................................................3-30
3.2 Persistent reservation type codes.................................................................................................3-55
3.3 PERSISTENT RESERVE OUT command service action codes.................................................3-58
3.4 PERSISTENT RESERVE OUT service actions and valid parameters........................................3-60
3.5 FORMAT UNIT command defect processing.............................................................................3-83
3.6 Error recovery control flags during the self-diagnosis test..........................................................3-96
4.1 Combinations of error recovery flags............................................................................................4-7
5.1 Sense key.......................................................................................................................................5-5
5.2 Sense and subsense codes ............................................................................................................. 5-6
5.3 Sense data error classification .....................................................................................................5-14
5.4 Error recovery processing procedures ........................................................................................5-17
5.5 Disk drive errors and number of retries.......................................................................................5-25
C141-E167 xiii
This page is intentionally left blank.

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 Condition
1.6 Sense Data Hold 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 3 formats, these formats have length of 6, 10 and 12 bytes. The basic format of each respective CDB is shown in Figures 1.1, 1.2 and 1.3.
Bit Byte
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
76543210
Figure 1.1 6-Byte CDB Basic Format
C141-E167 1 - 1
Command Processing
Bit Byte
0 Operation Code
1 LUN 00000
2 Logical Block Address (MSB)
3 Logical Block Address
4 Logical Block Address
5 Logical Block Address (LSB)
600000000
7 Transfer Data Length (MSB)
8 Transfer Data Length (LSB)
9 Control Byte
Bit Byte
76543210
Figure 1.2 10-Byte CDB Basic Format
76543210
0 Operation Code
1 LUN 00000
2 Logical Block Address (MSB)
3 Logical Block Address
4 Logical Block Address
5 Logical Block Address (LSB)
6 Transfer Data Length (MSB)
7 Transfer Data Length (LSB)
8 Transfer Data Length (MSB)
9 Transfer Data Length (LSB)
1000000000
11 Control Byte
Figure 1.3 12-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.
1 - 2 C141-E167
(1) Operation code
Bit 76543210
Group Code Command Code
The leading 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 Figure 1.1)
Group 1 (“001”):10-byte CDB (Shown in Figure 1.2)
Group 2 (“010”):10-byte CDB (Shown in Figure 1.2)
Group 3 ("011"):Reserved Operation Code (Shown in Section 1.7.3.)
Group 4 ("100"):16-byte CDB
Group 5 ("101"):12-byte CDB (Shown in Figure 1.3)
b. Command code
1.1 Command Format
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 ignored 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 leading 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 5 CDBs, 32-bit block addressing is possible. Specifications for logical data block addressing in the IDD are described in Section 1.8.
(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.”
C141-E167 1 - 3
Command Processing
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 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.
(5) Control byte
Bit 76543210
0000000Link
a. Link
Command link is specified by this bit is “1.” Details of the operation of the command link are described in Section 1.3.2.
b. 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.
1 - 4 C141-E167
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.
(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 by CDB specifying, 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 Section 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.
1.1 Command Format
Note:
If a CDB with an undefined group code (group 3, 4) is specified, the IDD requests transfer of 10 bytes in the COMMAND phase. After that has been received, the status (CHECK CONDITION) is reported.
C141-E167 1 - 5
Command Processing

1.2 Status Byte

Figure 1.4 shows status byte format and the type of status that 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 TASK SET message, an ABORT TASK message, a CLEAR TASK SET message, a TARGET 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 TASK COMPLETE message or a LINKED TASK COMPLETE (WITH FLAG) message to notify the INIT of the validity of the status byte.
Bit 76543210
0 0 Status Byte Code 0
Bit 5 4 3 2 1
(1) GOOD status
This status indicates that execution of the command ended normally.
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.4 Status byte
1 - 6 C141-E167
(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 indicates 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 last 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 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”).
1.2 Status Byte
The IDD does not support the PRE-FETCH command. Therefore, this status is not reported.
(4) BUSY status
This status indicates that the IDD is in the busy state and 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 or is queuing command (except a
command without executing disconnect processing as shown in Section 1.3.3) but the INIT which issued that command does not satisfy the disconnect enable conditions.
b) If the IDD receives a command without executing disconnect processing (as shown in Section
1.3.3) while it is executing or is queuing command.
c) If the DISCONNECT message for command queuing has been rejected by the INIT while the
IDD is executing or queuing command.
d) If a command with executing untagged disconnect processing is received while the command
queue is full.
(5) INTERMEDIATE status
This status indicates that a command which specifies a link (except the last 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.
C141-E167 1 - 7
Command Processing
(6) INTERMEDIATE CONDITION MET Status
This status 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 executing input/output operation 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 received tagged command in the command queue because there is no empty space in the command queue.

1.3 Outline of Command Processing

1.3.1 Single commands

Following shows single command processing examples which are the most basic operations on the SCSI bus. Furthermore, if disconnect processing is permitted, it may be accompanied by disconnect/reconnect processing during the command execution, depending on the type of command, but this operation is omitted in the following explanation. The disconnect function is described in Section 1.3.3.
1) The INIT sets the initial values for the command in the command pointer, data pointer and status pointer.
2) The INIT selects the TARG in the SELECTION phase after obtaining the SCSI bus usage in the ARBITRATION phase. After the SELECTION phase is ended, the SCSI bus control 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 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 investigates 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.
1 - 8 C141-E167
6) When execution of the command is completed, the TARG reports the execution results by the status byte in the STATUS phase to the INIT.
7) The TARG reports the TASK COMPLETE message to the INIT in the MESSAGE IN phase and
enters the BUS FREE phase.

1.3.2 Command link

The command link function is a function which causes the TARG to execute continuous processing of multiple commands. Following shows examples of command link processing.
1) The INIT sets the initial values for the command in the command pointer, data pointer and status pointer.
2) Obtaining the SCSI bus usage, selection of the TARG and specification of the LUN by the IDENTIFY message are the same as in the case of single command.
3) The TARG receives commands from the INIT in the COMMAND phase, but “1” is specified in the Link bit of the control byte of the CDB.
4) The TARG analyzes the command and executes the requested processing.
1.3 Outline of Command Processing
5) If processing of the command is completed normally, the TARG reports the INTERMEDIATE status in the STATUS phase to the INIT. At this time, the command link function becomes effective.
6) The TARG informs the INIT of the LINKED TASK COMPLETE or the LINKED TASK COMPLETE WITH FLAG message, depending on the value of the Flag bit in the control byte of the CDB. When the INIT has received the LINKED TASK COMPLETE (WITH FLAG) message, the command, data and status pointers are updated to the initial values for the next linked command.
7) The TARG enters the COMMAND phase immediately after the MESSAGE IN phase and receives the command to be executed 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-E167 1 - 9
Command Processing
Flag End Status Status Message Link Function
Table 1.1 Responses to Link Specification Commands
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 QUEUE FULL TASK COMPLETE Not Effective
INTERMEDIATE LINKED TASK COMPLETE Effective
INTERMEDIATE LINKED TASK COMPLETE WITH
FLAG
CHECK CONDITION TASK COMPLETE Not Effective
LINKED TASK COMPLETE Effective
CONDITION MET
LINKED TASK COMPLETE WITH
CONDITION MET
BUSY TASK COMPLETE Not Effective
CONFLICT
COMMAND
TERMINATED
FLAG
TASK COMPLETE Not Effective
TASK 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 second 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
TASK
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]).
1 - 10 C141-E167
1.3 Outline of Command Processing

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 can return the SCSI bus to the BUS FREE phase temporarily by disconnect processing and execute command internally. Through this function, the INIT is enabled to process multiple commands on the SCSI bus.
(1) Disconnect permission conditions and commands with executing disconnect process
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-E167 1 - 11
Command Processing
Table 1.2 Types of Command and Disconnect Processing
Commands with executing disconnect processing. (Note 2)
Commands without executing disconnect processing. (Note 1)
C CHANGE DEFINITION (40) O F FORMAT UNIT (04) O
I INQUIRY (12) O
L LOG SELECT (4C) O
LOG SENSE (4D) O
M MODE SELECT (15) O
MODE SELECT EXTENDED (55) O MODE SENSE (1A) O
MODE SENSE EXTENDED (5A) O N P PERSISTENT RESERVE IN (5E) O
PERSISTENT RESERVE OUT (5F) O R READ (08) O
READ BUFFER (3C) O
READ CAPACITY (25) O
READ DEFECT DATA (37) O
READ EXTENDED (28) O
READ LONG (3E) O
REASSIGN BLOCKS (07) O
RECEIVE DIAGNOSTIC RESULTS (1C) O
RELEASE (17) O
REPORT DEVICE IDENTIFIER (A3) O
REPORT LUN (A0) O
REQUEST SENSE (03) O
RESERVE (16)
REZERO UNIT (01) O S SEEK (0B) O
SEEK EXTENDED (2B) O
SEND DIAGNOSTIC (1D) O
SET DEVICE IDENTIFIER (A4) O
START/STOP UNIT (1B) O
SYNCHRONIZE CACHE (35) O T TEST UNIT READY (00) O VVERIFY (2F) O
WWRITE (0A) O
WRITE AND VERIFY (2E) O
WRITE BUFFER (3B) O
WRITE EXTENDED (2A) O
WRITE LONG (3F) O
WRITE SAME (41) O
(Note 1) Commands without executing disconnect processing: In cases only where commands are issued
without a tag, queuing processing (see Section 1.4) and disconnect processing cannot be performed in the execution sequence.
(Note 2) Commands with executing disconnect processing: Regardless of command queuing, in a command’s
execution process (after the COMMAND phase is completed, or during or after the completion of data transfer), disconnect processing is performed. However, in the case of commands with a data state (in cases where it is hit in the cache, etc.), or with a number of processing modes, other than cases where the command is in a queue, disconnect processing may not be executed depending on the processing content specification of the command.
1 - 12 C141-E167
Loading...
+ 260 hidden pages