Scs Command

39
Command Specification SCS3-xxxxBA Series Rev1.0 SCSI Model Flash Drive --- SCS3-xxxxBA Series --- Command Specification 2002-04-10 1/39

description

Scs Command

Transcript of Scs Command

Page 1: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

SCSI Model Flash Drive --- SCS3-xxxxBA Series ---

Command Specification

2002-04-10 1/39

Page 2: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

SCSI Commands 1. CDB Command from the initiator to the drives in this series is performed by a CDB (Command Descriptor Block). CDBs are classified into 3 sizes: 6, 10, and 12-byte length. Their basic formats will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code 1 LUN 2 3 4 5 Reserved Flag(0) Link(0)

6-byte CDB

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code 1 LUN Reserved 2 3 4

5 6 7

8 9 Reserved Flag(0) Link(0)

10-byte CDB

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code 1 LUN Reserved 2 3 4

5 6 7 8 9

10 11 Reserved Flag(0) Link(0)

12-byte CDB

2002-04-10 2/39

Page 3: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

Reserved, Link, Flag, RelAdr, and LUN used in common by each CDB will be described below.

(1) Reserved

This field must be set to ‘0’. The CHECK CONDITION status is returned otherwise. (2) Link

Since the drive in this series does not support Link, this field must be set to ‘0’. The CHECK CONDITION status is returned otherwise.

(3) Flag Since the drive in this series does not support Flag, this field must be set to ‘0’. The CHECK CONDITION status is returned otherwise.

(4) RelAdr Since the drive in this series does not support RelAdr, this field must be set to ‘0’.

(5) LUN (Logical Unit Number) The drive in this series always sets this field to ‘0’. If a value other than ‘0’ is set, the drive accepts the INQUIRY(12h) and REQUEST SENSE(03h) commands, and for other commands, it returns the CHECK CONDITION status. When receiving a command with an Identify message from the initiator, the drive in this series reefers to LUN in the Identify message and ignores the LUN in the CDB.

2. Supported commands The drive in this series supports the commands listed below.

Code Command 00h TEST UNIT READY 01h REZERO UNIT 03h REQUEST SENSE 04h FORMAT UNIT 07h REASSIGN BLOCKS 08h READ(6) 0Ah WRITE(6) 0Bh SEEK(6) 12h INQUIRY 15h MODE SELECT 16h RESERVE UNIT 17h RELEASE UNIT 1Ah MODE SENSE 1Bh START/STOP UNIT 1Ch RECEIVE DIAGNOSTIC RESULT 1Dh SEND DIAGNOSTIC 25h READ CAPACITY 28h READ(10) 2Ah WRITE(10) 2Bh SEEK(10) 2Eh WRITE AND VERIFY(10) 2Fh VERIFY(10) 37h READ DEFECT DATA 55h MODE SELECT(10) 5Ah MODE SENSE(10) E0h READ DELAY CHECK E1h WRITE DELAY CHECK E8h DUAL EDGE READ EAh DUAL EDGE WRITE

2002-04-10 3/39

Page 4: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

3. Unit attention condition Immediately after the power of the drive in this series is turned on or immediately after a reset according to the SCSI RESET and BUS DEVICE RESET messages, 06-29-00 (POWER ON, RESET, OR BUS DEVICE RESET OCCURRED) is retained as error information at each initiator until the retention is cancelled by a command from the initiator. Response to commands in UNIT ATTENTION CONDITION and cancellation of the retention status are performed according to the following conditions.

(1) The INQUIRY (12h) command is executed normally. The retention of UNIT ATTENTION CONDITION is not

cancelled. (2) The REQUEST SENSE (03h) command is executed normally. As sense data transferred to the initiator,

sense data that has generated UNIT ATTENTION CONDITION is returned. The retention of UNIT ATTENTION CONDITION is cancelled.

(3) Commands other than those described above return the CHECK CONDITION status and cancel the retention of UNIT ATTENTION CONDITION. At this time, since UNIT ATTENTION=06h is written in a sense key in the sense data, the initiator can determine the cause of generation of UNIT ATTENTION CONDITION from the sense data by issuing the REQUEST SENSE command.

4. Sense data The drive in this series generates sense data in the following cases.

(1) When the CHECK CONDITION status is returned during execution of the SCSI command. (2) When UNIT ATTENTION CONDITION is generated.

Generated sense data is retained for the initiator that has issued the SCSI command. The retention of the sense data is cancelled in the following cases.

(1) The retention of the sense data is cancelled when the initiator issues a new SCSI command. If the new

command is the REQUEST SENSE (03h), the sense data being retained is transferred. (2) A command from an initiator other than the one for which the sense data is retained is accepted normally. (3) If RESET CONDITION occurs on a SCSI bus, or if an arbitrary initiator issues the Bus Device Reset

message, UNIT ATTENTION CONDITION is generated, the sense data that has generated UNIT ATTENTION CONDITION is retained, and the previously retained sense data is lost.

2002-04-10 4/39

Page 5: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

SCSI Messages The drive in this series supports the following messages.

Code Message Name 00h COMMAND COMPLETE 01h EXTEND MESSAGE 02h SAVE DATA POINTER 04h DISCONNECT 05h INITIATOR DETECT ERROR 06h ABORT 07h MESSAGE REJECT 08h NO OPERAION 0Ch BUS DEVICE RESET

80-FFh IDENTIFY MESSAGE The drive in this series supports the following extend messages.

Code Length Extend Message Name 01h 5 SYNCHRONUS TRANSFER MESSAGE 03h 4 WIDE TRANSFER REQUEST DEh 5 DUAL EDGE SUM CHECK

The format of WIDE TRANSFER REQUEST will be shown below.

Byte 0 1 2 3 MSG 01 02 03 m

If m = DEh, Dual Edge is designated, and No Operation (08h) is returned to the initiator to report that it is ready for Dual Edge transfer. Before Dual Edge transfer, it is also necessary to use Synchronous Transfer Message to set the synchronous transfer rate to 20 MB/s. If m is a value other than DEh, Message Reject is returned. The format of DUAL EDGE SUM CHECK will be shown below.

Byte 0 1 2 3 4 MSG 01 03 DE SUMH SUML

After completion of the DUAL EDGE transfer status phase, the message above is transferred. After that, the Command Complete message is transferred. SCSI Status Byte The data format of SCSI Status Byte will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 0 0 Status Byte Code 0 The drive in this series supports the following SCSI Status.

Byte Status 00h GOOD 02h CHECK CONDITION 08h BUSY 18h RESERVATION CONFLICT

2002-04-10 5/39

Page 6: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

SCSI Command Descriptions 1. TEST UNIT READY [00h] The TEST UNIT READY command checks if a drive linked to the drive in this series is in the Ready state or not.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(00h) 1 LUN(0) Reserved(0) 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) Flag(0) Link(0)

Error codes for TEST UNIT READY will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2. REZERO UNIT [01] The REZERO UNIT command calibrates a head.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(01h) 1 LUN(0) Reserved(0) 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) Flag(0) Link(0)

Error codes for REZERO UNIT will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 06 00 NO REFERENCE POSITION FOUND 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 6/39

Page 7: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

3. REQUEST SENSE [03] The REQUEST SENSE command transfers sense information (error information) retained in the drive in this series to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(03h) 1 LUN(0) Reserved(0) 2 Reserved(0) 3 Reserved(0) 4 Allocation Length 5 Reserved(0) Flag(0) Link(0)

Allocation Length designates the number of data bytes to be transferred to an initiator. After this command is issued, sense information that has been retained by the drive in this series is cleared. Sense information in the following format is transferred to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Valid(0) Error Code(70h) 1 Reserved(0) 2 Reserved(0) Sense Key 3 6

Information(0)

7 Additional Sense Length(0Ah) 8 11

Command Specific Information(0)

12 Additional Sense Code(ASC) 13 Additional Sense Code Qualifier(ASQ) 14 Reserved(0) 15 17

Sense Key Specific

Sense key indicates brief error information. Additional Sense Code (ASC)/Additional Sense Code Qualifier (ASQ) indicate detailed error information.

2002-04-10 7/39

Page 8: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

The following list shows errors reported in the drive in this series.

SenseKey ASC ASQ Description 00 00 00 NO SENSE INFORMATION 02 04 00 NOT READY, CAUSE NOT REPORTABLE 02 04 01 LOGICAL UNIT IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 06 00 NO REFERENCE POSITION FOUND 03 0C 02 WRITE ERROR – AUTO REALLOCATION FAILURE 03 11 00 UNRECOVERED READ ERROR 04 02 00 NO SEEK COMPLETE 04 32 00 NO DEFECT SPARE LOCATION AVAILABLE 04 40 NN DIAGNOSTIC FAILURE ON COMPONENT NN 04 47 00 PARITY ERROR 04 48 00 INITIATOR DETECTED ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 INVLID LBA ADDRESS 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORT 05 26 00 INVALID FIELD IN PARAMETER LIST 05 3D 00 INVALID IDENTIFY FIELD 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCURRED

If sense code 02-04-04 (LOGICAL UNIT NOT READY, FORMAT IN PROGRESS) is reported, information indicating the progress of the formatting is set for Sense Key Specific.

Bit Byte 7 6 5 4 3 2 1 0

15 SKSV Reserved(0)

16

17

(MSB) Progress Indication

(LSB) This information makes sense only if SKSV = 1. Progress Indication indicates the completion rate of formatting with a denominator of 65536.

2002-04-10 8/39

Page 9: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

4. FORMAT UNIT [04] The FORMAT UNIT command performs ERASE processing on a drive linked to the drive in this series.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(04h) 1 LUN(0) FmtData CmpList(0) Defect List Format(0) 2 Reserved(0) 3

4

(MSB) Interleave

(LSB)5 Reserved(0) Flag(0) Link(0)

If the FmtData bit is ‘1’, FORMAT UNIT Parameter list from an initiator must be transferred. The Interleave field is ignored. The data format of FORMAT UNIT Parameter list will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Reserved(0)

1 0 0 0 0 0 0 Immed 0

2

3

(MSB) Defect List Length(0)

(LSB) Only the Immed bit is supported. All other fields must be ‘0’. If the Immed bit is ‘1’, this command reports the status without waiting for the completion of formatting. During execution of formatting, this command responds to all commands except for the INQUIRY and REQUEST SENSE commands with CHECK CONDITION and retains 02-04-04 (LOGICAL UNIT NOT READY, FORMAT IN PROGRESS) as error information. If the Immed bit is ‘0’, this command reports the status after completion of formatting. Error codes for FORMAT UNIT will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 0C 02 WRITE ERROR – AUTO REALLOCATION FAILED 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 05 26 00 INVALID FIELD IN PARAMETER LIST 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 9/39

Page 10: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

5. REASSIGN BLOCKS [07] The REASSIGN BLOCKS command performs replacement processing on logical blocks in a drive.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(07h) 1 LUN(0) Reserved(0) 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) Flag(0) Link(0)

Since the drive in this series has no replacing function for arbitrary blocks (uses automatic replacement of a drive linked to the drive in this series), this command always retains 04-32-00 (NO DEFECT SPARE LOCATION AVAILABLE) as error information, and reports the CHECK CONDITION status. Error codes for REASSIGN BLOCKS will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 04 32 00 NO DEFECT SPARE LOCATION AVAILABLE 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

6. READ (6) [08] The READ(6) command transfers a designated number of blocks of data from a designated logical block address to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(08h) 1 LUN(0) (MSB) 2 Logical Block Address 3 (LSB)4 Transfer Length 5 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address at which transfer begins. Transfer Length designates the number of blocks to be transferred. If ‘0’ is designated for Transfer Length, 256 blocks are transferred. Error codes for READ(6) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 11 00 UNRECOVERED READ ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 10/39

Page 11: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

7. WRITE(6) [0A] The WRITE (6) command transfers a designated number of blocks of data from an initiator to a designated logical block address.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(0Ah) 1 LUN(0) (MSB) 2 Logical Block Address 3 (LSB)4 Transfer Length 5 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address at which transfer begins. Transfer Length designates the number of blocks to be transferred. If ‘0’ is designated for Transfer Length, 256 blocks are transferred. Error codes for WRITE(6) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 0C 02 WRITE ERROR – AUTO REALLOCATION FAILED 04 47 00 PARITY ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

8. SEEK(6) [0B] The SEEK (6) command shifts a head to a designated logical block address.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(0Bh) 1 LUN(0) (MSB) 2 Logical Block Address 3 (LSB)4 Reserved(0) 5 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address to which a head is shifted. Error codes for SEEK(6) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 02 00 NO SEEK COMPLETE 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 11/39

Page 12: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

9. INQUIRY [12] The INQUIRY command transfers information about a device to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(12h) 1 LUN Reserved(0) 2 Reserved(0) 3 Reserved(0) 4 Allocation Length 5 Reserved(0) Flag(0) Link(0)

Allocation Length designates the number of data bytes to be transferred to an initiator. Executing this command does not clear error information 06-29-00 (POWER ON, RESET, OR BUS DEVICE RESET OCCURRED). The format of INQUIRY DATA to be transferred to an initiator will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Qualifier(0) Peripheral Device Type(0) 1 RMB(0) Device Type Modifier(0) 2 ISO Version(0) ECMA Version(0) ANSI Version(2) 3 Reserved(0) Response Data Format(2) 4 Additional Length() 5 Reserved(0) 6 Reserved(0) 7 REL_A(0) WB_32(0) WB_16(0) Sync(1) Link(0) TTD(0) CmdQu(0) SftRe(0)

8 15

Vendor Information ‘HAGIWARA‘

16 31

Product Identifier ‘SCS3-xxxxB’

32 35

Firmware Revision Level ‘nnnn’

36 95

Reserved(0)

96 223

Vendor Specific

If a value other than ‘0’ is designated in the LUN field, as an exception, Qualifier=3, Peripheral Device Type = 1Fh is set.

2002-04-10 12/39

Page 13: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

10. MODE SELECT (6) [15] The MODE SELECT(6) command sets various operations of a device.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(15h) 1 LUN(0) PF Reserved(0) SP 2 Reserved(0) 3 Reserved(0) 4 Parameter List Length 5 Reserved(0) Flag(0) Link(0)

The PF bit and SP bit are ignored. Parameter List Length designates the number of bytes of MODE Parameter List to be transferred from an initiator. The format of MODE Parameter List is shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 3

Mode Parameter Header

4 11

Block Descriptor

12 n

Page Descriptor(s)

Mode Parameter List consists of 4 bytes of Mode Page Header, 8 bytes of Block Descriptor (if necessary), and variable number of bytes of Page Descriptor. The data format of Mode Parameter Header will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Mode Data Length 1 Medium Type(0) 2 Reserved(0) 3 Block Descriptor Length(0 or 8)

Only Block Descriptor Length in MODE Parameter Header is examined. If Block Descriptor Length is ‘0’, it is assumed that Block Descriptor is not present. If Block Descriptor Length is ‘8’, it is assumed that Block Descriptor is present subsequent to MODE Parameter Header. Otherwise, this command retains 05-26-00 (INVALID FIELD IN PARAMETER LIST) as error information and reports the CHECK CONDITION status.

2002-04-10 13/39

Page 14: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

The data format of Block Descriptor will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Density Code(0)

1

2

3

(MSB)

Number of Blocks

(LSB)4 Reserved(0)

5

6

7

(MSB)

Block Length in Bytes(512)

(LSB) The Number of Blocks field and Density Code are ignored. Block Length in Bytes must always be 512. Otherwise, this command retains 05-26-00(INVALID FIELD IN PARAMETER LIST) as error information, and reports the CHECK CONDITION status.

Bit Byte 7 6 5 4 3 2 1 0

0 0 0 Page Code

1 Page Length

2

n Mode Parameter

See 13. MODE SENSE (6) [1A] for more detail information about Page Descriptor. Error codes for MODE SELECT (6) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 05 26 00 INVALID FIELD IN PARAMETER LIST 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 14/39

Page 15: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

11. RESERVE UNIT [16] The RESERVE UNIT command reserves the drive for a specific initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(16h) 1 LUN(0) SPT Third Party ID 0 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) Flag(0) Link(0)

If the SPT bit is ‘1’, Third Party ID is used as the number of an initiator to be reserved. If the SPT bit is ‘0’, the drive is reserved for an initiator that has issued the command. Reservation by this command is retained until any of the following conditions occurs.

(1) The reservation has been updated by the RESERVE UNIT command from a reserved initiator. (2) The reservation has been cancelled by the RELEASE command from a reserved initiator. (3) The BUS DEVICE RESET message has been issued from any initiator. (4) A hardware reset has occurred.

When the drive in this series are reserved by an initiator, if an unreserved initiator issues a command other than the REQUEST SENSE, INQUIRY, and RELEASE commands, this command returns the RESERVATION CONFLICT status to reject the execution of the issued command. Error codes for RESERVE UNIT will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 15/39

Page 16: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

12. RELASE UNIT [17h] The RELEASE UNIT command releases a reservation status that has been set by the RESERVE UNIT command.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(17h) 1 LUN(0) SPT Third Party ID 0 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) Flag(0) Link(0)

If the SPT bit is ‘1’, Third Party ID is used as the number of an initiator the reservation of which is released. If the SPT bit is ‘0’, the reservation of an initiator that has issued the RESERVE UNIT command. When the drive in this series is not in the reserved state, even if the RELEASE command is issued, it is not considered to be error. Error codes for RELEASE UNIT will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 16/39

Page 17: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

13. MODE SENSE (6) [1A] The MODE SENSE (6) command transfers mode parameters to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(1Ah) 1 LUN(0) 0 DBD Reserved(0) 2 PC Page Code 3 Reserved(0) 4 Allocation Length 5 Reserved(0) Flag(0) Link(0)

Allocation Length designates the number of bytes of mode data to be transferred to an initiator. If DBD (Disable Block Descriptor) is ‘1’, Block Descriptor is not transferred. PC (Page Control) designates the type of Page Descriptor to be transferred.

Bit 7 Bit 6 Parameter Type 0 0 Current Value 0 1 Changeable Value 1 0 Default Value 1 1 Save Value

Page Code supports the following pages.

Page Code Description

01h Read/Write Recovery Page 03h Format Device Page 04h Rigid Disk Geometry Page 08h Caching Page 3Fh All Page

If Page Code 3Fh is designated, all Page Descriptors are transferred to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 3

Mode Parameter Header

4 11

Block Descriptor

12 N

Page Descriptor(s)

Mode Parameter List consists of 4 bytes of Mode Page Header, 8 bytes of Block Descriptor (if DBD = 0), and a variable number of bytes of Page Descriptor.

2002-04-10 17/39

Page 18: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

The data format of Mode Parameter Header will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Mode Data Length 1 Medium Type(0) 2 WP(0) Reserved(0) 3 Block Descriptor Length(0 or 8)

MODE Parameter Length indicates the number of bytes of subsequent mode data. WP and Medium Type are always set to ‘0’. If Block Descriptor Length is ‘0’, Block Descriptor is not present. A value of ‘8’ of Block Descriptor Length indicates that Block descriptor is present subsequent to MODE Parameter Header. The data format of Block Descriptor will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Density Code(0)

1

2

3

(MSB)

Number of Blocks

(LSB)4 Reserved(0)

5

6

7

(MSB)

Block Length in Bytes(512)

(LSB) The Number of Blocks field indicates the total number of blocks of the drive. Block Length in Bytes indicates the number of bytes per block, and is always set to 512.

Bit Byte 7 6 5 4 3 2 1 0

0 PS 0 Page Code

1 Page Length

2

N Mode Parameter

The value of ‘1’ of PS indicates that the page can be saved. Page Length indicates the number of bytes of subsequent Page Descriptor. The detailed description of each Page Descriptor will be shown below.

2002-04-10 18/39

Page 19: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

Read-Write Error Recovery Page

Bit Byte 7 6 5 4 3 2 1 0

0 PS(0) 0 Page Code(01h) 1 Page Length(0Ah) 2 AWRE(1) ARRE(0) TB(0) RC(0) EER(0) PER(0) DTE(0) DCR(0)3 Read Retry Count(01h) 4 Correction Span(0) 5 Head Offset Count(0) 6 Data Strobe Offset Count(0) 7 Reserved(0) 8 Write Retry Count(01h) 9 Reserved(0) 10

11

(MSB) Recovery Time Limit(0ffffh)

(LSB)

2002-04-10 19/39

Page 20: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

Format Device Page

Bit Byte 7 6 5 4 3 2 1 0

0 PS(0) 0 Page Code(03h)

1 Page Length(16h)

2

3

(MSB) Tracks per Zone(0)

(LSB)4

5

(MSB) Alternate Sectors per Zone(0)

(LSB)6

7

(MSB) Alternate Tracks per Zone(0)

(LSB)8

9

(MSB) Alternate Tracks per Disk(0)

(LSB)10

11

(MSB) Sectors per Track

(LSB)12

13

(MSB) Data Bytes per Physical Sector(200h)

(LSB)14

15

(MSB) Interleave(1)

(LSB)16

17

(MSB) Track Skew Factor(1)

(LSB)18

19

(MSB) Cylinder Skew Factor(1)

(LSB)20 SSEC(1) HSEC(0) RMB(0) SURF(0) Reserved(0)

21 Reserved(0)

22 Reserved(0)

23 Reserved(0) Sectors per Track indicates the number of sectors per track of a drive linked to the drive in this series. Data Bytes per Physical Sector indicates the number of bytes per block, and is always set to 512.

2002-04-10 20/39

Page 21: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

Rigid Disk Geometry Page

Bit Byte 7 6 5 4 3 2 1 0

0 PS 0 Page Code(05h) 1 Page Length(16h) 2 (MSB)

3 Number of cylinders 4 (LSB)5 Number of heads 6 (MSB)

7 Starting cylinder-write precompensation(0) 8 (LSB)9 (MSB) 10 Starting cylinder-reduced write current(0)

11 (LSB)12

13

(MSB) Drive step rate(0)

(LSB)14 (MSB)

15 Landing zone cylinder(0) 16 (LSB)17 Reserved(0) RPL 18 Rotation Offset(0)

19 Reserved(0) 20 21

Medium rotation rate(5400)

22 Reserved(0)

23 Reserved(0) Number of cylinders indicates the total number of cylinders of a drive linked to the drive in this series. Number of heads indicates the number of heads of a drive linked to the drive in this series.

2002-04-10 21/39

Page 22: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

Caching Page

Bit Byte 7 6 5 4 3 2 1 0

0 PS 0 Page Code(08h)

1 Page Length(0Ah)

2 Reserved(0) WCE(0) MF(0) RCD(0)

3 Read Retention Priority(0) Write Retention Priority(0)

4

5

(MSB) Disable Pre-fetch Transfer Length(0)

(LSB)6

7

(MSB) Minimum Pre-fetch(0)

(LSB)8

9

(MSB) Maximum Pre-fetch(0)

(LSB)10

11

(MSB) Maximum Pre-fetch Ceiling(0)

(LSB) Error codes for MODE SENSE (6) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 22/39

Page 23: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

14. START/STOP UNIT [1B] The START/STOP UNIT command starts and stops the rotation of a spindle motor of a drive.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(1Bh) 1 LUN(0) Reserved(0) Immed 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) LoEj(0) Start 5 Reserved(0) Flag(0) Link(0)

If the Immed bit is ‘0’, this command waits for the completion of the processing, and then reports the status. If the Immed bit is ‘1’, this command reports the status without waiting for the completion of the processing. If the Start bit is ‘0’, this command stops the rotation of the spindle motor of a drive linked to the drive in this series. If the Start bit is ‘1’, this command starts the rotation of the spindle motor of a drive linked to the drive in this series. Error codes for START/STOP UNIT will be listed below.

SenseKey ASC ASQ Description 02 04 00 NOT READY, CAUSE NOT REPORTABLE 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 23/39

Page 24: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

15. RECEIVE DIAGNOSTIC RESULT [1C] The RECEIVE DIAGNOSTIC RESULT command transfers a diagnostic result retained in the drive by the execution of the SEND DIAGNOSTIC command to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(1Ch)

1 LUN(0) Reserved(0)

2 Reserved(0)

3

4

(MSB) Parameter List Length

(LSB)

5 Reserved(0) Flag(0) Link(0)

This command is implemented for compatibility. Since a diagnostic result retained by the SEND DIAGNOSTIC command is not present, no data transfer occurs. Error codes for RECEIVE DIAGNOSTIC RESULT will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

16. END DIAGNOSTIC [1D] The SEND DIAGNOSTIC command performs self diagnostics for a drive.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(1Dh) 1 LUN(0) PF 0 SlfTst(1) DevOfl UntOfl 2 Reserved(0) 3

4

(MSB) Parameter List Length

(LSB)5 Reserved(0) Flag(0) Link(0)

Only SlfTst=1 is supported. PF, DevOfl, UntOfl, and Parameter List Length are ignored. Error codes for SEND DIAGNOSTIC will be listed below.

SenseKey ASC ASQ Description

02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 04 40 NN DIAGNOSTIC FAILURE ON COMPONENT NN 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 24/39

Page 25: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

17. READ CAPACITY [25] The READ CAPACITY command transfers information about the capacity of a drive to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(25h) 1 LUN(0) Reserved(0) 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) 6 Reserved(0) 7 Reserved(0) 8 Reserved(0) 9 Reserved(0) Flag(0) Link(0)

This command transfers data in the following format to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 1 2 3

(MSB)

Last Logical Block Address (LSB)

4 5 6 7

(MSB)

Block Length in Bytes(512)

(LSB) Last Logical Block Address indicates the last accessible logical block address of a drive linked to the drive in this series. Block Length in Bytes indicates the number of bytes per block, and is always set to 512. Error codes for READ CAPACITY will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 25/39

Page 26: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

18. READ(10) [28] The READ (10) command transfers a designated number of blocks of data from a designated logical block address to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(28h) 1 LUN(0) Reserved(0) 2 (MSB) 3 4

Logical Block Address

5 (LSB)6 Reserved(0) 7

8

(MSB) Transfer Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Logical Block Address designates the first logical block address to be transferred. Transfer Length designates the number of blocks to be transferred. A value ‘0’ of Transfer Length causes no data transfer. Error codes for READ (10) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 11 00 UNRECOVERED READ ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 LOGICAL BLOCK ADDRESS OUT OF RANGE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 26/39

Page 27: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

19. WRITE(10) [2A] The WRITE (10) command transfers a designated number of blocks of data from an initiator to a designated logical block address.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(2Ah) 1 LUN(0) Reserved(0) 2 (MSB) 3 4

Logical Block Address

5 (LSB)6 Reserved(0) 7

8

(MSB) Transfer Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address at which transfer begins. Transfer Length designates the number of blocks to be transferred. The value ‘0’ of Transfer Length causes no data transfer. Error codes for WRITE(10) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 0C 02 WRITE ERROR – AUTO REALLOCATION FAILED 04 47 00 PARITY ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 LOGICAL BLOCK ADDRESS OUT OF RANGE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 27/39

Page 28: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

20. SEEK(10) [2B] The SEEK (10) command shifts a head to a designated logical block address.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(2Bh) 1 LUN(0) Reserved(0) 2 (MSB) 3 4

Logical Block Address

5 (LSB)6 Reserved(0) 7 Reserved(0) 8 Reserved(0) 9 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address to which a head is shifted. Error codes for SEEK (10) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 04 02 00 NO SEEK COMPLETE 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 LOGICAL BLOCK ADDRESS OUT OF RANGE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 28/39

Page 29: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

21. WRITE AND VERIFY(10) [2E] The WRITE AND VERIFY (10) command transfers a designated number of blocks of data from an initiator to a designated logical block address, then verifies that data can be read successfully.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(2Eh) 1 LUN(0) Reserved(0) ByteChk(0) 0 2 (MSB) 3 4

Logical Block Address

5 (LSB)6 Reserved(0) 7

8

(MSB) Transfer Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address at which transfer starts. Transfer Length designates the number of blocks to be transferred. The value ‘0’ of Transfer Length causes no data transfer and verification. Error codes for WRITE AND VERIFY (10) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 0C 02 WRITE ERROR – AUTO REALLOCATION FAILED 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 LOGICAL BLOCK ADDRESS OUT OF RANGE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 29/39

Page 30: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

22. VERIFY(10) [2F] The VERIFY (10) command verifies if a number of referenced blocks of data can be read successfully at a designated logical block address.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(2Fh) 1 LUN(0) Reserved(0) ByteChk(0) 0 2 (MSB) 3 4

Logical Block Address

5 (LSB)6 Reserved(0) 7

8

(MSB) Verification Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address at which transfer begins. Verification Length designates the number of blocks to be referenced. The value of ‘0’ of Verification Length causes no verification. The Byte Chk bit is not supported, so must always be set to ‘0’. Error codes for VERIFY (10) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 11 00 UNRECOVERED READ ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 LOGICAL BLOCK ADDRESS OUT OF RANGE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 30/39

Page 31: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

23. READ DEFECT DATA [37] The READ DEFECT DATA command transfers alternate information of a drive to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(37h) 1 LUN(0) Reserved(0) 2 Reserved(0) Plist Glist Defect List Format 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) 6 Reserved(0) 7

8

(MSB) Allocation Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Allocation Length designates the number of bytes of alternate information transferred to an initiator. The format of data transferred to an initiator will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Reserved(0)

1 Reserved(0) Plist Glst Defect List Format

2

3

(MSB) Defect List Length(0)

(LSB) Since a drive cannot obtain alternate information, data in the format above (indicating that there is no alternate information) is always transferred. Plist, Glist, and Defect List Format of CDB are not examined, and only the value is copied onto the field with a name identical to Defect list above. Error codes for READ DEFECT DATA will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 31/39

Page 32: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

24. MODE SELECT (10) [55] The MODE SELECT (10) command sets the various operations of a device.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(55h) 1 LUN(0) PF Reserved(0) SP 2 Reserved(0) 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) 6 Reserved(0) 7

8

(MSB) Parameter List Length

(LSB)9 Reserved(0) Flag(0) Link(0)

The PF bit and SP bit are ignored. Parameter List Length designates the number of bytes of MODE Parameter List transferred from an initiator. The format of MODE Parameter List will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 7

Mode Parameter Header

8 15

Block Descriptor

16 N

Page Descriptor(s)

Mode Parameter List consists of 8 bytes of Mode Page Header, 8 bytes of Block Descriptor (if necessary), and a variable number of bytes of Page Descriptors. The data format of Mode Parameter Header will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0

1

(MSB) Mode Data Length

(LSB)2 Medium Type(0)

3 Reserved(0)

4 Reserved(0)

5 Reserved(0)

6

7

(MSB) Block Descriptor Length(0 or 8)

(LSB) In MODE Parameter Header, only Block Descriptor Length is examined. The value of ‘0’ of Block Descriptor Length indicates that Block Descriptor is not present. The value of ‘8’ indicates that Block Descriptor is present subsequent to MODE Parameter Header. Otherwise, this command retains 05-26-00(INVALID FIELD IN PARAMETER LIST) as error information, and reports the CHECK CONDITION status.

2002-04-10 32/39

Page 33: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

The data format of Block Descriptor will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Density Code(0)

1

2

3

(MSB)

Number of Blocks

(LSB)4 Reserved(0)

5

6

7

(MSB)

Block Length in Bytes(512)

(LSB) The number of Blocks field and Density Code are ignored. Block Length in Bytes must always be 512. Otherwise, this command retains 05-26-00 (INVALID FIELD IN PARAMETER LIST) as error information, and reports the CHECK CONDITION status.

Bit Byte 7 6 5 4 3 2 1 0

0 0 0 Page Code

1 Page Length

2

n Mode Parameter

See 13. MODE SENSE (6) [1A] for more detail information about Page Descriptor. Error codes for MODE SELECT (10) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 05 26 00 INVALID FIELD IN PARAMETER LIST 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 33/39

Page 34: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

25. MODE SENSE(10) [5A] The MODE SENSE (10) command transfers mode parameters to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(5Ah) 1 LUN(0) 0 DBD Reserved(0) 2 PC Page Code 3 Reserved(0) 4 Reserved(0) 5 Reserved(0) 6 Reserved(0) 7

8

(MSB) Allocation Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Allocation Length designates the number of bytes of mode data to be transferred to an initiator. If DBD (Disable Block Descriptor) is 1, Block Descriptor is not transferred. PC (Page Control) designates a type of Page Descriptor to be transferred.

Bit 7 Bit 6 Parameter Type 0 0 Current Value 0 1 Changeable Value 1 0 Default Value 1 1 Save Value

Page Code supports pages listed below.

Page Code Description

01h Read/Write Recovery Page 03h Format Device Page 04h Rigid Disk Geometry Page 08h Caching Page 3Fh All Page

If Page Code 3Fh is designated, all Page Descriptors are transferred to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 7

Mode Parameter Header

8 15

Block Descriptor

16 n

Page Descriptor(s)

Mode Parameter List consists of 4 bytes of Mode Page Header, 8 bytes of Block Descriptor (if DBD = 0), and a variable number of bytes of Page Descriptor.

2002-04-10 34/39

Page 35: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

The data format of Mode Parameter Header will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0

1

(MSB) Mode Parameter Length

(LSB)2 Medium Type(0)

3 WP(0) Reserved(0)

4 Reserved(0)

5 Reserved(0)

6

7

(MSB) Block Descriptor Length(0 or 8)

(LSB) MODE Parameter Length indicates the number of bytes of subsequent mode data. WP and Medium Type are always set to ‘0’. The value of ‘0’ of Block Descriptor Length indicates that Block Descriptor is not present. The value of ‘8’ of Block Descriptor Length indicates that Block Descriptor is present subsequent to MODE Parameter Header. The data format of Block Descriptor will be shown below.

Bit Byte 7 6 5 4 3 2 1 0

0 Density Code(0)

1

2

3

(MSB)

Number of Blocks

(LSB)4 Reserved(0)

5

6

7

(MSB)

Block Length in Bytes(512)

(LSB) The Number of Blocks field indicates the total number of blocks of a drive. Block Length in Bytes indicates the number of bytes per block, and is always set to 512. See 13 MODE SENSE (6) [1A] for more detail information about Page Descriptor. Error codes for MODE SENSE (10) will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 35/39

Page 36: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

26. READ DELAY CHECK[E0] READ DELAY CHECK is a read-data check command for DUAL EDGE transfer.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(E0h) 1 LUN(0) Reserved(0) 2 Reserved(0) 3 Initial Data Pattern 4 Pattern Control Byte 5 Reserved(0) 6 Reserved(0) 7 Reserved(0) 8 Allocation Length(80h) 9 Reserved(0) Flag(0) Link(0)

This command performs Dual Edge read transfer in a data pattern designated by Initial Data Pattern and Pattern Control. The number of transfers is always set to 128 bytes. After data transfer, this command further transfers sum check words in the MSG IN phase. Initial Data Pattern designates the first bytes in the data in phase. Pattern Control Byte defines data subsequent to Initial Data Pattern. It designates data patterns in bits.

Pattern Control Byte 7 6 5 4 3 2 1 0

Bit SAME DECINV INCINV INVFF INV00 INV DEC INC

INC If ‘1’ is set, incremented data transfer is performed. With the Initial Data Pattern value 00, transfer is performed in the order of 00 → 01 → 02 → … DEC If ‘1’ is set, decremented data transfer is performed. With the Initial Data Pattern value 00, data transfer is performed in the order of 00 → FF → FE → … INV If ‘1’ is set, inverted data transfer is performed. With the Initial Data Pattern value 00, data transfer is performed in the order of 00 → FF → 00 → FF → … INV00 (INV WORD Boundary with 00)

If ‘1’ is set, inverted data transfer is performed on every other byte. With the Initial Data Pattern value 55, data transfer is performed in the order of 55 → 00 → AA → 00 → 55 → …

INVFF (INV WORD Boundary with FF) If ‘1’ is set, inverted data transfer is performed on every other byte. With the Initial Data Pattern value 55, data transfer is performed in the order of 55 → FF → AA → FF → 55 → …

INCINV (INC WORD Boundary with INV) If ‘1’ is set, incremented data transfer is performed on every other byte. Inverted previous data is inserted between the incremented data. With the Initial Data Pattern value 00, data transfer is performed in the order of 00 → FF → 01 → FE → 02 → …

DECINV (DEC WORD Boundary with INV) If ‘1’ is set, decremented data transfer is performed every other byte. Inverted previous data is inserted between the decremented data. With the Initial Data Pattern value 00, data transfer is performed in the order of 00 → FF → FF → 00 → FE → 01 → FD …

SAME If ‘1’ is set, a single pattern data transfer is performed.

With the Initial Data Pattern value AA, data transfer is performed in the order of AA → AA → AA → …

2002-04-10 36/39

Page 37: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

Error codes for READ DELAY CHECK will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

27. WRITE DELAY CHECK [E1] WRITE DELAY CHECK is a write data check command for DUAL EDGE transfer.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(E1h) 1 LUN(0) Reserved(0) 2 Reserved(0) 3 Initial Data Pattern 4 Pattern Control Byte 5 Reserved(0) 6 Reserved(0) 7 Reserved(0) 8 Allocation Length(80h) 9 Reserved(0) Flag(0) Link(0)

This command performs Dual Edge write transfer in a data pattern designated by Initial Data Pattern and Pattern Control. The number of transfers is always set to 128 bytes. After data transfer, this command further transfers sum check words in the MSG IN phase. On reception of an incorrect data pattern, this command reports the CHECK CONDITION status. On occurrence of a parity error during transfer, this command retains 04-47-00(PARITY ERROR) as error information, and reports the CHECK CONDITION status. Initial Data Pattern designates the first byte in the DATA IN phase. Pattern Control Byte defines data subsequent to Initial Data Pattern. It designates a data pattern in bits. See 26. READ DELAY CHECK[E0] for more detail information about Pattern Control Byte. Error codes for WRITE DELAY CHECK will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 04 47 00 PARITY ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 37/39

Page 38: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

28. DUAL EDGE READ [E8] The DUAL EDGE READ command transfers a designated number of blocks of data from a designated logical block address in DUAL EDGE to an initiator.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(E8h) 1 LUN(0) Reserved(0) 2 (MSB) 3 4

Logical Block Address

5 (LSB)6 Reserved(0) 7

8

(MSB) Transfer Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address at which transfer begins. Transfer Length designates the number of blocks to be transferred. The Transfer Length value of ‘0’ causes no data transfer. Error codes for DUAL EDGE READ will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 11 00 UNRECOVERED READ ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 LOGICAL BLOCK ADDRESS OUT OF RANGE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 38/39

Page 39: Scs Command

Command SpecificationSCS3-xxxxBA Series Rev1.0

29. DUAL EDGE WRITE [EA] The DUAL EDGE WRITE command transfers a designated number of blocks of data from an initiator to a designated logical block address in DUAL EDGE.

Bit Byte 7 6 5 4 3 2 1 0

0 Operation Code(EAh) 1 LUN(0) Reserved(0) 2 (MSB) 3 4

Logical Block Address

5 (LSB)6 Reserved(0) 7

8

(MSB) Transfer Length

(LSB)9 Reserved(0) Flag(0) Link(0)

Logical Block Address designates a logical block address at which transfer begins. Transfer Length designates the number of blocks to be transferred. The Transfer Length value of ‘0’ causes no data transfer. Error codes for DUAL EDGE WRITE will be listed below.

SenseKey ASC ASQ Description 02 04 01 LOGICAL UNIT IS IN PROCESS OF BECOMING READY 02 04 04 LOGICAL UNIT NOT READY, FORMAT IN PROGRESS 03 0C 02 WRITE ERROR – AUTO REALLOCATION FAILED 04 47 00 PARITY ERROR 05 20 00 INVALID COMMAND OPERATION CODE 05 21 00 LOGICAL BLOCK ADDRESS OUT OF RANGE 05 24 00 INVALID FIELD IN CDB 05 25 00 LOGICAL UNIT NOT SUPPORTED 06 29 00 POWER ON, RESET, OR BUS DEVICE RESET OCCURRED

2002-04-10 39/39