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.
FunctionEquipment 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-01ENi
Related Standards
Specifications and functions of products covered by this manual comply with the following
standards.
Standard (Text) No.NameEnacting
ANSI X3. 131-1986American National Standard for
ANSI X3. 131-1994American National Standard for
X3T9.2/85-52 Rev
4.B
X3T9.2 855D Rev 12WORKING 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
EditionDate
published
01May.,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-01ENiii
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-01ENv
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 WhenX: 256-byte format (except for M294x and M295x)
ShippedA: 512-byte format (except for M294x and M295x)
B: 1024-byte format (except for M294x and M295x)
SCSI ElectricalS: Single-ended, 8-bit SCSI (all series)
ConditionsH: Differential, 8-bit SCSI (except for M294x and M295x)
Capacity and 9: 19 heads (M2909)9: 9 GB (M2949)
Number of 3: 13 heads (M2903) 2: 2 GB (M2932, M2952)
Heads5: 15 heads (M2915) 4: 5 GB (M2934, M2954)
Device Type0: 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)
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.
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.5 Disk Drive Errors and Number of Retries...................................................................................4-31
C141-E039-01ENxv
CHAPTER 1COMMAND PROCESSING
1.1Command Format
1.2Status Byte
1.3Outline of Command Processing
1.4Command Queuing Function
1.5UNIT ATTENTION Conditions
1.6Sense Data Maintenance State
1.7Command Processing Exceptions
1.8Data Block Addressing
This chapter describes the basic logical specifications of the IDD command processing functions.
NoteThe 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.1Command 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.
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 76543210
Group CodeCommand 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-01EN1 - 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 76543210
000000FlagLink
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-01EN1 - 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.2Status 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 76543210
00Status Byte Code0
Bit 5 4 3 2 1
0 0 0 0 0GOOD Status
0 0 0 0 1CHECK CONDITION Status
0 0 0 1 0CONDITION MET Status
0 0 1 0 0BUSY Status
0 1 0 0 0INTERMEDIATE Status
0 1 0 1 0INTERMEDIATE CONDITION MET Status
0 1 1 0 0RESERVATION CONFLICT Status
1 0 0 0 1COMMAND TERMINATED Status
1 0 1 0 0QUEUE FULL Status
Figure 1.3Status Byte
C141-E039-01EN1 - 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-01EN1 - 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-01EN1 - 11
Table 1.1Responses to Link Specification Commands
FlagEnd StatusStatusMessageLink Function
0
1
×
0
1
×
×
×
×
Completed
Normally
Completed
Normally
Completed
Abnormally
Conditions MetINTERMEDIATE
Conditions MetINTERMEDIATE
Unable to Start
Receive
Reserved StateRESERVATION
Forced
Termination
Queue Full
State
INTERMEDIATELINKED COMMAND
INTERMEDIATELINKED COMMAND
CONDITION
CONDITION MET
CONDITION MET
COMMAND
TERMINATED
QUEUE FULLCOMMAND COMPLETENot Effective
Effective
COMPLETE
Effective
COMPLETE WITH FLAG
CHECK
BUSYCOMMAND COMPLETENot Effective
CONFLICT
COMMAND COMPLETENot Effective
LINKED COMMAND
COMPLETE
LINKED COMMAND
COMPLETE WITH FLAG
COMMAND COMPLETENot Effective
COMMAND COMPLETENot 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.3Disconnect/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-01EN1 - 13
Loading...
+ 220 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.