MAA3182FC SERIES MAF3364FC SERIES MAG3091FC, MAG3182FC SERIES DISK DRIVES FIBRE CHANNEL INTERFACE SPECIFICATIONS C141-E054-02EN...
Page 2
“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.
Page 6
PREFACE This manual explains concerning the MAA3182FC (hereinafter described as MAA31xxFC), MAF3364FC (hereinafter described as MAF33xxFC), MAG3091FC, MAG3182FC (hereinafter described as MAG3xxxFC) series 3.5 inch hard disk drives with internal Fibre channel controller. The purpose of this manual is to provide the specifications and functions of Fibre channel (FC) for use of these magnetic disk drives incorporated into user systems, and to present the information necessary for creating host system software.
Page 7
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 (three types), the electrical conditions of the Fibre channel 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...
Page 8
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-E054-02EN...
Page 9
This page is intentionally left blank. viii C141-E054-02EN...
Page 10
Manual Organization 1. Outline Product Manual 2. Specifications 3. Data Format 4. Installation Conditions 5. Installation Procedure 6. Diagnosis and Maintenance Interface Specifications 1. Fibre Channel Interface (This Manual) 2. Command Processing 3. Data Buffer Management 4. Command Specifications 5. Sense Data and Error Recovery Methods 6.
Page 16
4.4.2 RECEIVE DIAGNOSTIC RESULTS (1C)..............4-118 4.4.3 WRITE BUFFER (3B)....................4-122 4.4.4 READ BUFFER (3C)..................... 4-127 4.4.5 READ LONG (3E) ......................4-131 4.4.6 WRITE LONG (3F) ...................... 4-133 CHAPTER 5 SENSE DATA AND ERROR RECOVERY METHODS ....... 5-1 Sense Data........................5-1 5.1.1 Sense data format ......................
Page 17
FIGURES Pages Example of FC-AL connection ..................1-2 Port Bypass Circuit ......................1-3 Buffer to Buffer Data Transfer ..................1-4 Format of Ordered Sets ....................1-6 Frame Format......................... 1-7 Examples of Exchange....................1-9 SCA2 type interface connector (IDD) ................1-10 Locations of connectors ....................
Page 18
2.10 Data space configuration....................2-28 Data buffer configuration (in the case of 4 cache segments) .......... 3-2 Example of data buffer operation during read ..............3-3 Example of data buffer operation during write............... 3-4 Parameters for controlling reconnection timing ............. 3-5 Cache control parameters ....................
Page 19
4.31 READ BUFFER command: buffer data (Mode = 000, 001) .......... 4-128 4.32 READ BUFFER command: buffer descriptor..............4-130 Expanded sense data format................... 5-2 Sense key inherent information..................5-4 Analysis of the termination status .................. 5-10 xviii C141-E054-02EN...
Page 20
TABLES Data category on the Loop ..................... 1-5 Frame header format ...................... 1-7 FC-SCA connector: CN1 ....................1-11 Charge supply to the drive ..................... 1-12 Characteristics of Fault LED out signal................1-12 Definition of motor start/mated control................1-13 Electric requirement for input control................1-13 Electric requirement for SEL_n inputs ................
CHAPTER 1 FIBRE CHANNEL INTERFACE Topologies in Fibre Channel Interface Information Transmitted on the Loop Physical Requirements, Electrical Requirements Drive Operation on the Loop Ordered Sets (Refer to FC-PH, Section 11.4 and FC-AL, Chapter 6) Basic Link Service Extended Link Service Extended Link Service (Loop initialization) FC-4 Device Data 1.10 Errors on Loop (Refer to FP-PH, Section 29.9)
Topologies in Fibre Channel Interface Three kind of topologies are defined in ANSI standards. (Arbitrated Loop, Fabric and Point-to- Point) The drive only supports one of them, which is Arbitrated Loop (FC-AL). Figure 1.1 shows the example of connection for disk drives in FC-AL. Figure 1.1 Example of FC-AL connection BC are port bypass circuits on the back plane commonly, where Node mean the Target or...
1.1.1 Node/Port Any device connected to Fibre Channel topology is called “node”. In the application of this drive, the drive itself and the initiator are the nodes. Each node has at least one port to connect other nodes and the port is called N_port. Especially, in FC-AL, the port is called “NL_Port”...
1.1.5 Encoding & Decoding On FC-AL, the data is encoded prior to transmission and should be decoded when receiving. The 10-bit character consists of 1,024 data space with 13-bit data mapped 1 control character. This method is called 8B/10B encoding. And to prevent too many same signal (ones or zeros), 10-bit character has an option to balance total numbers of ones or zeros.
Information Transmitted on the Loop Since information is exchanged between the ports through serial signals, both loop control information and information at user level are defined in frame format. The information on the loop is categorized into two groups. One is “ordered sets” and the other is called “frame”. Ordered sets consist of four 10-bit character to control port circuit mainly.
1.2.1 Ordered Sets (Refer to FC-PH, Section 11.4) There are three kind of Ordered Sets. (1) –Primitive signals (2) –Frame delimiters (3) –Primitive sequence which consist of four 10 bit character combination. Each ordered set has string of data shown in Figure 1.4. The K28.5 special character is always used as the first character of all ordered sets.
1.2.2 Frame Structure (Refer to FC-PH, Chapter 17) A frame format is shown in Figure 1.5. byte count 0-2048+64 (optional header) min24 Frame Payload fill words fill words Header 0-528 min6 word count Figure 1.5 Frame Format ; Start of frame indicates the beginning of the frame. Frame Header ;...
Page 29
Link Data Link Data is used when the initiator transmit control code to the target or when the target responsds to the iniator. Link Data supported by the drive are listed below. 1. Basic link service a) Abort Sequence ABTS ;...
FC-4 Device Data Exchanges consist of two or more frame sequences between the initator and the target. Exchanges starts from command frame by the initiator and ends at response frame by the target. Four FC-4 Device Data (FCP_CMND_IU, FCP_XFER_RDY_IU, FCP_DATA_IU, FCP_RSP_IU) are used to implement SCSI protocol.
Physical Requirements, Electrical Requirements 1.3.1 Interface connector The connector for the fibre channel loop bus is an unshielded SCA-2 connector conforming to SCSI-3 type which has two 20-pin rows spaced 1.27 mm (0.05 inch) apart. Figure 1.7 shows the fibre channel connector. See Section 1.3.2, 1.3.3 for signal assignments on the connector. ESD contact Figure 1.7 SCA2 type interface connector (IDD)
Pin 2 Pin 1 Figure 1.8 Locations of connectors Table 1.3 FC-SCA connector: CN1 Pin No. Signal Signal Pin No. –EN bypass port A +12V charge +12V +12V +12V +PortA_in –Parallel ESI –PortA_in –Drive present Active LED out +PortB_in –Spindle sync –PortB_in Start_1/Mated Start_2/Mated...
1.3.2 Signal function in SFF8045 mode +12V charge, +5V charge These signals are used to precharge of the internal circuits to avoid excessive surge current while hot plugging is being operated. Before power voltage pins (+12V and +5V) make contact, these precharge pins mate early. Precharge control circuits are external to the drive.
The drive supports hot plug implementation described below. [TBD] a) The Active LED out signal does not light if the drive is not connected. b) The Active LED out signal blinks for approximately 0.5 sec. intervals when the drive is spinning.
SEL_0, _1, _2, _3, _4, _5, _6 These seven SEL lines are provided for the binary value of the loop identifier by the backplane. This identifier is name AL_PA and is used for 126 unique value except 00h. These ID signals are tested by the drive when powered on. SEL_6 is the most significant bit and SEL_0 is the elast significant bit.
Table 1.9 Arbitrated loop physical address (AL_PA) values AL_PA SEL ID AL_PA SEL ID AL_PA SEL ID (hex) (hex) (hex) (hex) (hex) (hex) C141-E054-02EN 1 - 15...
Port out (+Port A_out, +Port B_out) Port out signals are output by the drive. These signals are differential copper with a termination of 75 Ω and there is a termination of 150 Ω to output ECL signal label on the loop . The output circuit is shown in Figure 1.9.
(10) –Drive present ; This signal connected to the ground. 1.3.3 Signal function in SFF8067 mode –Parallel ESI –Parallel ESI signal is used to request the enclosure to provide the SEL_x (x = 0-6) addressing signals and to request ESI block Read/Write operation. Table 1.9 defines electronic characteristics of this signal.
Drive Operation on the Loop This section describes the following as the operations which the drive is required to perform at FC level: – Loop initialization – Arbitration – Communication between the initiator and target 1.4.1 Loop Initialization Process Outline Loop Initialization is a process for the purpose listed below.
AL_PA This sub-section describes the addresses (AL_PA) used on the loop. AL_PA is a 8-bit character and when encoded to 10 bits, AL_PA has an equal number of ones or zeros to maintain neutral running disparity. Table 1.11 shows the AL_PA values and the priority used on the loop. Details of AL_PA is described in Table 1.9.
LIP (Loop Initialization on Primitive) Loop Initialization is generated by sending any LIPs in Table 1.12. The NL_Port which received a LIP then transmit the LIP to the next port on the loop. This cycle terminates when the NL_Port that started the initialization process receives the LIP. Table 1.12 LIP sequences LIP type Description...
Step Port Name n [1] Transmits LISM with its own port LISM (n) LISM (n+1) LISM (n+2) name to the next port. [2] Receives LISM from the upper loop port. LISM (n+2) LISM (n) LISM (n+1) [3] Compares the port name with its own port name and transmits LISM (n) LISM (n)
LIFA/LIPA/LIHA/LISA This sub-section describes a process for each port to obtain AL_PA. Figure 1.12 shows the process for non loop master to obtain unique AL_PA after ending a process for selecting the loop master. Loop Master Other NL_Port on the loop LIFA ;...
1.4.2 Arbitration For information to be exchanged between the ports connected to a loop, generally the two ports (send side and receive side) must occupy the loop (placed in point-to-point connection state). Arbitration is a process to win access right on the loop and must be done before communicating with another port.
1.4.3 Communication between Initiator and Target This section shows the figure of the protocol using FC-4 Device Data on Fibre Channel layer. The following procedures are followed to send FC-4 device data. - Issue ARB by which the source of FC-4 device data asserts the occupation of the loop. - After occupying the loop, the source issues “Open”...
(3) Write Data Transfer Initiator Target When the target recognizes the sending of ARBx write data R_RDY R_RDY R_RDY R_RDY Write Data 1 R_RDY FCP_Data_IU Write Data 3 Write Data 4 Figure 1.15 Write Data Transfer (4) Read Data Transfer Initiator Target When the targetsends read data:...
Ordered Sets (Refer to FC-PH, Section 11.4 and FC-AL, Chapter 6) Table 1.13 shows the Ordered Sets specification. This section describes handling of the Ordered Sets of this drive. Table 1.13 Ordered Sets Specification No. Frame Delimiters Symbol The drive can; SOF Connect Class 1 SOFc1...
Basic Link Service This section defines handling of the link service of this drive and handling of each frame. Table 1.14 shows the Link Data specification Table 1.14 Basic Link Data Specification Basic Link Service Symbol The drive can; No Operation receive only (discard) Abort Sequence ABTS...
Page 49
The Basic Link Services supported by this drive are the Abort Sequence (ABTS) and its responses, Basic Accept (BA_ACC) and Basic Reject (BA_RJT). Other Basic Link Services are discarded. The header field of the Basic Link Service is defined below. (1) R_CTL..
(9) OX_ID.. (Originator Exchange Identifier) • Assigned for the initiator to begin the exchange of ABTS. • For a response to ABTS, respond with the same OX_ID as received. (10) RX_ID.. (Responder Identifier) Set FFFFh to indicate that RX_ID is unused. (11) Parameter Unused in the Basic Link Service.
1.6.2 Basic Access (BA_ACC) The drive responds with BA_ACC to the initiator BA_ACC Byte when the received ABTS frame is correct. Word <SOF> Header <R_CTL> <D_ID> ×× ×× ×× The payload field of the BA_ACC frame is Reserve <S_ID> ×× ××...
1.6.3 Basic Reject (BA_RJT) BA_RJT The drive responds with BA_RJT to the initiator Byte when RX_ID of the received ABTS frame is not <SOF> FFFFh. <R_CTL> <D_ID> ×× ×× ×× Reserve <S_ID> ×× ×× ×× The payload field of the BA_RJT frame is <TYPE>...
Extended Link Service Table 1.15 Extended Link Data Specification Extended Link Service Symbol The drive can; N_Port Login PLOGI receive only Logout LOGO receive or transmit Process Login PRLI receive only Process Logout PRLO receive or transmit Read Link Status receive only Reinstate Recovery Qualifier receive only...
Page 54
(6) SEQ_ID.. (Sequence Identifier) • The drive does not check this item. • The drive responds with FFh. (7) DF_CTL.. (Data Field Control) Set 00h because no optional header is used. (8) SEQ_CNT.. (Sequence Count) • The drive does not check this item. •...
1.7.1 Port Login (PLOGI/PLOGI_ACC) The initiator issues PLOGI to establish the Byte connection with the drive by notifying the drive of Word <SOF> <SOF> the service parameter. The drive responds with Header <R_CTL> <D_ID> <R_CTL> <D_ID> ×× ×× ×× ×× ××...
(5) Class 1 Service Parameters [PL:W09-12] This drive does not check Class 1 Service Parameter. (6) Class 2 Service Parameters [PL:W13-16] This drive does not check Class 2 Service Parameter. (7) Class 3 Service Parameters [PL:W17-20] For details, refer to "xxx Class 3 Service Parameters."...
1.7.1.2 Common Service Parameter (1) Highest version supported [PL:W01/B0] WD Byte Latest version number of FC-PH supported by FC-PH Version (High) the device. = h ‘20’ FC-PH Version (Low) 09h: Denotes FC-PH version 4.3. = h ‘20’ • The drive responds with LS_RJT (03h, (MSB) Buffer-to-Buffer Credit no-check...
Page 58
• The drive responds with LS_RJT (03h, 0Bh) when (this bit) = 0. • For ACC, the drive responds with 1b. (5) Buffer-to-buffer Receive Size [PL:W02/B2-3] • The drive responds with LS_RJT (03h, 07h) when 256 = < (this field) = < 2112 not a multiple of 4.
1.7.1.3 Class 3 Service Parameter (1) Service Options [PL:W17/B0-1] WD Byte a) 1b: Class Validity [B0/bit7] Service Options (Word 17/Byte 0-1) Class Intermix Stacked Connect Sequential Dedicated Camp-on Buffered • The drive responds with LS_RJT(03h, Validity Mode Requests Delivery Simplex Class1 Ignorance Ignorance (=00)
Page 60
d) ACK generation assistance [B2/bit1] • This field is invalid for Class 3 and the drive ignores it. e) 0b: Initiator Data compression capable [B2/bit0] • The drive does not check this field. 00b: Initiator Data compression History buffer size [B3/bit7-6] •...
(5) Concurrent Sequence [PL:W19/B1] • The drive responds with LS_RJT (03h, 09h) when (this field) = 0. (6) N_Port End-to-end Credit [PL:W19/B2-3] • This field is invalid for Class 3 and the drive ignores it. (7) Open Sequence per Exchange [PL:W20/B1] •...
1.7.3 Process Login (PRLI/PRLI_ACC) The initiator issues PRLI to the drive to establish Byte Word an operating environment. The drive responds with <SOF> <SOF> PLOGI_ACC when the frame of the received Header <R_CTL> <D_ID> <R_CTL> <D_ID> ×× ×× ×× ×× ××...
Page 63
1.7.3.1 Service Parameter pages These pages are used by PRLI. WD Byte Type Code (1) Type Code [PL:W01/B0] = h ‘08’ Type Code Extension 08h: Denotes SCSI FCP process. = h ‘00’ • Orig Proc Res Proc Establish Reserved The drive responds with LS_RJT(03h, Assc Valid Assc Valid Image Pair...
c) 0b: Target Function [B3/bit4] • The drive does not check this bit. d) 0b: Command/Data Mix Allowed [B3/bit3] • The drive neither supports nor checks this bit. e) 0b: Data/Response Mix Allowed [B3/bit2] • The drive neither supports nor checks this bit.
Page 65
• The drive responds with the value specified by PRLI. (6) Response Code [PL:W01/B2/bit3-0] 1h: Request executed. • The drive responds with 1h by ACC when PRLI is executed. (7) Originator Process Associator [PL:W02] 0000h: The drive does not support this field and responds with 0000h by ACC.
1.7.4 Process Logout (PRLO/PRLO_ACC) The initiator issues PRL0 to the drive to cancel the Byte Word established login. The drive responds with <SOF> <SOF> PRLO_ACC when the frame of the received PRLO Header <R_CTL> <D_ID> <R_CTL> <D_ID> ×× ×× ×× ××...
1.7.4.1 Logout Parameter pages These pages are used by PRLO. WD Byte Type Code (1) Type Code [PL:W01/B0] = h ‘00’ Type Code Extension 00h: The drive neither supports nor checks this = h ‘00’ Orig Proc Res Proc Reerved field.
1.7.4.2 Logout Parameter Response pages These pages are used by PRLO_ACC. WD Byte Type Code (1) Type Code [PL:W01/B0] = h ‘00’ Type Code Extension = h ‘00’ 00h: The drive neither supports nor checks this Orig Proc Res Proc Reserved Response Code field.
1.7.5 Port Discovery (PDISC/PDISC_ACC) The initiator issues PDISC to the drive to check if Byte the drive address has changed immediately after Word <SOF> <SOF> initialization. drive responds with Header <R_CTL> <D_ID> <R_CTL> <D_ID> ×× ×× ×× ×× ×× ×× PDISC_ACC when the frame of the received Reserve <S_ID>...
1.7.6 Discover Address (ADISC/ADISC_ACC) Byte The initiator issues ADISC to the drive to check if Word <SOF> <SOF> the drive address has changed immediately after Header <R_CTL> <D_ID> <R_CTL> <D_ID> initialization. drive responds with ×× ×× ×× ×× ×× ×× ADISC_ACC when the frame of the received Reserve <S_ID>...
1.7.7 Reinstate Recovery Qualifier (RRQ/RRQ_ACC) The initiator issues RRQ to the drive to notify the Byte drive of reuse of Recovery Qualifier (S_ID, D_ID, Word <SOF> <SOF> OX_ID, RX_ID, SEQ_CNT) aborted by ABTS. Header <R_CTL> <D_ID> <R_CTL> <D_ID> ×× ×× ××...
1.7.8 Read Link Error Status Block (RLS/RLS_ACC) The initiator issues RLS to the drive when Byte requesting the drive for Fibre Channel link error Word <SOF> <SOF> information. The drive responds with Link Error Header <R_CTL> <D_ID> <R_CTL> <D_ID> Status Block by RLS_ACC when the frame of the ××...
Page 73
d) Primitive Sequence Protocol Error (PL:W04) The drive does not support this field and responds with all zeros. e) Invalid Transmission Word (PL:W05) The drive does not support this field and responds with all zeros. Invalid CRC Count [PL:W06] The drive does not support this field and responds with all zeros.
• For ACC, the drive responds with 18h. (4) Logout Parameter pages [PL:W01-05] Forms the payload of TPRLO. For details, refer to "1.7.9.1 Logout Parameter pages." 1.7.9.1 Logout Parameter pages These pages are used by TPRLO/TPRLO_ACC. WD Byte Type Code (1) Type Code [PL:W01/B0] = h ‘08’...
0000h: The drive neither supports nor checks this field. (9) Third Party Responder Process Associator [PL:W04] 0000h: The drive neither supports nor checks this field. 1.7.10 Link Service Reject (LS_RJT) Responds with LS_RJT when rejecting the Byte Word received Extended Link Service frame. <SOF>...
Page 76
• PLOGI (PL:W01/B0-1): Error Highest/Lowest version supported field. • PLOGI (PL:W02/B0): Error Continuously Increasing Offset field. • PLOGI (PL:W02/B0): Error N_Port/F_Port field. 1Fh: Invalid N_Port Identifier • RLS (PL:W01/B1-3): Port Identifier (4) Link Error Status Block [PL:W01-06] This field is used by ACC of the drive. a) Link Failure Count [PL:W01] The drive counts the number of times when synchronization is not achieved for a...
Extended Link Service (Loop Initialization) Listed below are the frames used by Loop Initialization in the Extended Link Service supported by this drive. 1. LISM frame: Used for selecting Loop Master. 2. LIFA, LIPA, LIHA, LISA frame: Used to assign AL_PA in Loop Initialization. 3.
(11) Parameter Not used by Extended Link Service. • The drive responds with 0000h. 1.8.1 Loop Initialization Select Master (LISM) Frame sent determine Loop Master Byte Word initialization. <SOF> Header Note) ×× ×× ×× The payload field of the LISM frame is described Note) ××...
1.8.2 Assign AL_PA frame (LIFA, LIPA, LIHA, LISA) Frame used to assign AL_PA in initialization. The payload field of the LIFA/LIPA/LIHA/LISA frame is described below. For the header field, refer to Section 1.8, "Extended Link Service (Loop Initialization)." Word <SOF> <SOF>...
1.8.3 Position Map Information (LIRP, LILP) Byte Used for collection and notification of connection Word <SOF> <SOF> information for the initiator and drive connected on the loop, in initialization. Header Note) Note) ×× ×× ×× ×× ×× ×× Note) Note) ××...
FC-4 Device Data FC-4 Device Data indicates supported by this drive. 1.9.1 FCP CMND The initiator issues FCP_CMND frame when it issues SCSI_Command. The header field of the FCP CMND is defined below. (1) R_CTL.. (Routing Control) <SOF> 06h: Indicates FCP CMND Header <D_ID>...
Page 82
The payload field of the FCP CMND frame is defined below. Word xx and byte y of the payload are represented Word <SOF> by [PL:Wxx/By]. Header <D_ID> ×× ×× ×× (1) Logical Unit Numer (FCP_LUN) [PL: WOO- <S_ID> ×× ×× ××...
e) Abort Task Set [B2/bit1] • This drive clears all Task set issued by the initiator of commands abort-queued when this drive receives the Abort Task Set. Read Data [B3/bit1] • In case of the command has the Read data (the data is transferred from drive to initiator), 1 is set.
(4) Control Byte This field includes the following informations. a) NACA (Normal Auto Contingent Allegiance) • This drive does not support this bit. b) Flag • This drive does not support this bit. c) Link • This drive does not support this bit. 1.9.2 FCP XFER RDY In case of transferring the drive, the drive issues FCP XFER_RDY frame to the initiator.
Page 86
(9) OX_ID.. (Originator Exchange Identifier) • The drive responds the OX_ID of FCP CMND received from the initiator. (10) RX_ID.. (Responder Identifier) Set FFFFh to indicate that RX_ID is unused. (11) Parameter Unused the parameter in the FCP XFER_RDY and 00000000h entered. The payload field of the FCP XFER_RDY is defined below.
1.9.3 FCP DATA This frame is used for transferring between the initiator and the drive. <SOF> Header <D_ID> ×× ×× ×× The header field of the FCP DATA is defined <S_ID> ×× ×× ×× below. <F_CTL> ×× ×× ×× <SEQ_CNT> 3 <SEQ_ID (1) R_CTL..
Page 88
(5) F_CTL.. (Frame Control) Section F_CTL value Write data frame (from initiator to drive) a) not last frame of sequence a1) with Relative Offset 000008h a2) without Relative Offset 000000h b) lase frame of sequence 09000xh x indicates 4 bit as below. bit 3 when x is 1: with Relative Offset...
Page 89
In case of accessing media, buffer, this drive demands that the byte velocity is a multiple of 4 byte. This drive supports the Fill Data Byte in ..(6) SEQ_ID.. (Sequence Identifier) • In case of transferred Data Frame from the initiator to the drive, the drive has the memory of the first frame SEQ_ID of the sequence and checks the frame SEQ_ID...
1.9.4 FCP RSP The drive reports the operation results of received FCP CMND by using FCP RSP frame. The header field of the FCP RSP is defined below. (1) R_CTL.. (Routing Control) <SOF> 07h: Indicates FCP RSP frame Header <D_ID> ××...
The payload field of the FCP RSP is defined below. Word xx and byte y of the payload are represented by [PL:Wxx/By]. (1) FCP Status [PL:W02] For details, refer to 1.9.4.1 FCP Status. (2) Residual Count (FCP_RESID) [PL:W03] This field indicates the field byte length “FCP Sense Information”.
Page 92
1.9.4.1 FCP Status (1) FCP RESID UNDER [PL:WO2/B2/bit3] Byte In case of Reserved = h ‘00’ FCP_DL (FCP_CNMD) > (transferred data byte Reserved = h ‘00’ velocity based on CDB) Reserved FCP SNS FCP RSP Residual Counter = FCP_DL – (transferred data = b ‘0000’...
Page 93
1.9.4.3 FCP Sense Information Refer to Section 5.1 Sense Data. WD Byte Validity bit Error Code = h ‘70’ or h ‘71’ = h ‘00’ = b ‘0’ = b ‘0’ = b ‘0’ Sense key (MSB) Information (LSB) Additional Sense Data Length = h ‘28’ (MSB) Command Inheret Information (LSB)
1.10 Errors on Loop (Refer to FP-PH , Section 29.9) This section describes errors which may occur on the loop and actions to be taken for them. Table 1.16, Detail errors and action lists types of errors and actions for them by number. For details of the actions to be taken for errors, refer to Table 1.17, Actions by recipient.
Table 1.17 Actions by recipient Action Discard policy If an invalid frame is detected, the entire invalid frame shall be discarded. If a valid frame is received and a rejectable or busy condition in Class 3 is detected, the entire frame shall be discarded. Abnormally terminate Sequence When a Sequence Recipient detects a Sequence timeout and no Data frames are being received for the Sequence, the Recipient shall terminate the Sequence and update the...
1.11 Enclosure Service Interface (ESI) Enclosure Service Interface provides the protocol defining the information between the enclosure and the drive. The drive starts to execute Enclosure Service when the drive receives “Send Diagnostic” command or “Receive Diagnostic Result” command with Enclosure Service page specified. SFF8045 Two modes in SFF8045 exist, which are Without Parallel ESI and With Parallel ESI.
assuming that the enclosure can operate as SFF8067, then transmits sense data to the initiator. ; case 2 in Figure 1.18. 1.11.2 Discovery phase The drive; asserts –Parallel ESI case 1; The drive assumes SFF8045 w/o Parallel ESI enclosure and transmits sense data (ASC = 35, ASCQ = 01) to the initiator.
1.11.3 COMMAND phase In COMMAND phase, the drive transmits the command receiving from the initiator to the enclosure. Because the data bits are 4 bits width, the drive has to transmit the data even times. COMMAND Protocol The drive communicates with the enclosure as shown in Figure 1.19. Figure 1.19 COMMAND, WRITE phase (a) ;...
Byte/bit alignment The COMMAND and READ/WRITE data are transfered in the following allignment. (Figure 1.20) byte number ; #0 …… #n-1 #n byte transfer order in ESI ; 1st n-1 th n th transfer order in ESI 1st nibble 2nd nibble bit alignment ;...
1.12 Public Loop Public loop consists of the private loop through the multiple FL_Port or N_Port device through the multiple F_Port. (Shown as Figure 1.22) The FL_Port is the gateway to the Fabric for the Public NL_Ports on its Local Loop, allowing NL_Ports to act as if they were N_Ports and interact with other N_Ports and NL_Ports attached to the fabric.
Example for Establishment Fabric side Drive side Completion of Loop Initialization FLOGI FLOGI ACC PLOGI PLOGI ACC RFC-4 RFC-4 ACC PLOGI PLOGI ACC PRLI PRLI ACC Figure 1.23 General Public Loop Initialization sequence At this point, Public Loop establishes between Fabric and Drive. 1.13 Dual Loop This drive has a Dual Port configuration with two ports (A, B).
CHAPTER 2 COMMAND PROCESSING Command Format Status Byte Outline of Command Processing Command Queuing Function UNIT ATTENTION Condition Sense Data Hold State Command Processing Exceptions Data Block Addressing In this chapter, the basic theory and specifications concerning IDD command processing functions are described.
Byte Operation Code Reserved Logical Block Address (MSB) Logical Block Address Logical Block Address (LSB) Transfer Data Length Control Byte Figure 2.1 6-Byte CDB Basic Format Byte Operation Code Reserved Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Transfer Data Length (MSB) Transfer Data Length (LSB)
Page 104
Operation code Bit 7 Group Code Command Code The top byte of all CDBs shows the format and type of command that is being executed. a. Group code The group code decides the number of bytes in the CDB and its format. The IDD uses the commands of the groups shown below.
Page 105
a. Transfer block count When the “Transfer Data Length” field is specified as the “Number of Transfer Blocks”, this field specifies the number of logical data blocks transferred between the INIT and IDD. In a command with a 1-byte length, if the value specified in this field is zero, it is regarded that 256 blocks have been specified, and specification in a range of from 1 to 256 blocks is possible.
Page 106
Control byte Bit 7 a. Bits 7, 6 (vendor unique) The values specified in these bits have no meaning except in cases where it is specified in individual commands, and the IDD disregards the specified values. IMPORTANT It is possible to use bit 7 and bit 6 of the control byte as an inherent control field in future product specifications.
IMPORTANT If a CDB is issued which specifies an undefined group code (Group 3, 4, 5), the IDD requests transfer of 10 bytes in the COMMAND frame, and if a group code [Group 5] has been specified, it requests transfer of 12 bytes. After reception of those data is completed, the status (CHECK CONDITION) is reported.
Page 108
CHECK CONDITION status This status is reported in the case of a)~c) below. The IDD generates sense data when this status is reported and displays the detailed cause. The IDD transfers the generated sense data together with this status report in the same FCP_RSP frame. Therefore, it is unnecessary to gather sense data using the REQUEST SENSE command.
Outline of Command Processing 2.3.1 Single commands A diagram of processing of single commands, which are the most basic operations in the FC LOOP, is shown below. a. Read processing INIT (Initiator side) IDD (Driver side) [ALPA: x] [ALPA: y] A primitive.
Page 111
Signal Interchanges on the FC Loop a. Acquisition of loop use rights The IDD performs arbitration with the other devices on the loop in order to use the loop. Arbitration is accomplished by setting its own ALPA in the ARB primitive and outputting it in the form ARB (ALPA, ALPA).
Since one frame can be output for one R_RDY primitive, when wanting to send 2 or more frames, after 1 frame is sent, the transfer source device must wait until another R_RDY primitive is sent from the transfer destination device. However, if the buffer is not empty and it is impossible for the transfer destination device to receive data, the CLS primitive is sent.
Establishing Connections with the INIT and Command Execution Even if this IDD receives a SCSI command after the power is turned on and loop initialization is completed, that command is not executed. In order to execute a SCSI command, it is necessary to establish logical connections with the INIT.
If the connection is interrupted, commands waiting in the queue are all aborted and no response is returned. Also, the LOGO (Extended Link Service) frame is returned as a response to the SCSI command from the INIT. An example of confirmation of connections that is performed by the INIT is shown below. INIT (Initiator side) IDD (Drive side) (INIT#1) FCP_CMND (read)
The volume of data which can be received is called the Burst length, and the data pointer is called the Relative Offset. If multiple FCP_XFER_RDY frames are sent during 1 exchange, the Relative Offset is added to the Burst length, and is incremented continuously. Transfer of Odd-numbered Bytes On the FC loop, since the smallest unit is 4 bytes, transfer of odd numbers of bytes cannot be done.
Command Queuing Function The IDD is equipped with the command queuing function. Through command queuing, the IDD can receive multiple commands in advance and can execute them. For the queuing function, there are two methods, tagged and untagged. In tagged queuing, it is possible to receive multiple commands from each INIT.
Page 117
When commands with a HEAD OF QUEUE TAG are received continuously, the IDD executes the latest command to be received first. The RESERVE, RELEASE, RESERVE EXTENDED and RELEASE EXTENDED commands should be issued together with an ORDERED QUEUE TAG. If HEAD OF QUEUE is used with these commands, it may result in duplication of the previously issued command and the Reserve state.
UNIT ATTENTION Condition The Unit Attention condition is a function for notifying the INIT asynchronously of events (status changes) which occur in the TARG or logical unit. 2.5.1 Generation of the UNIT ATTENTION condition Events which cause the Unit Attention condition to be generated are any of the following events.
Commands other than the INQUIRY and REQUEST SENSE commands The IDD reports the CHECK CONDITION status in response to the issued command. Through the CHECK CONDITION status report, the Unit Attention condition with respect to that INIT is cleared. The sense key for the sense data generated at this time is UNIT ATTENTION [= 6] and the sense code shows the event which generated the Unit Attention condition, as shown below.
Sense Data Hold State If the status is the Check Condition status when the status is reported, this IDD adds that sense data to the response frame and notifies the INIT of it. Therefore, the sense data hold state does not occur and the CA status does not occur. The function which reports sense data automatically is called the Auto Sense function.
2.7.3 Reserved operation code Group 7 command operation codes (X‘E0’ ~ X‘FF’) are reserved by Fujitsu. When any command which has these operation codes is issued, the IDD may not necessarily respond with the CHECK CONDITION status (ILLEGAL REQUEST [= 5] Invalid command operation code (= 20-00]).
General response in not ready state The IDD, except in cases where the received command corresponds to either of the commands in item 2.7.4 (2), reports the CHECK CONDITION status in response to that command. The sense data generated at this time show one of the conditions in Table 2.1, depending on the state of the IDD.
Operation if formatting is not completed normally While the FORMAT UNIT command is not being executed following a change of parameters related to data format with the MODE SELECT command, or if the operation terminates abnormally for any reason (for example, the power going off or a RESET condition) during FORMAT UNIT command execution, the data on the disk medium cannot be accessed normally.
Table 2.2 Outline of disk drive error recovery processing Item Type of Error Error Recovery Processing Seek Error Rezero (Return to Zero Cylinder), readjustment of positioning control system, and repositioning to the data block. Uncorrectable Data Error Reread Correctable Data Error Correct by ECC.
Generally, there are 3 types of LIP. 1. LIP (F7, F7): LIP that is output when ALPA is not fixed. 2. LIP (ALPD, ALPS): LIP that is output when the ALPS (transmission source) desires to reset the ALPD (transmission destination) device. 3) LIP (F8, F7), LIP (F8, ALPS): LIP that is output when the device recognizes that the loop has been disconnected for some reason.
Page 126
CLEAR TASK SET clears all commands which are currently being executed or which are queued. The previously set environment and conditions such as the MODE SELECT parameters are not changed. ABORT TASK SET This processing is the same as the processing of SCSI equivalent messages, as can be understood from Table 2.3.
Table 2.4 Reset processing during write Type of command Halting process of command execution WRITE Data blocks which are currently being written are WRITE EXTENDED processed normally, including the ECC portion, and WRITE AND VERIFY execution of the command is terminated at the point SEND DIAGNOSTIC (Write/Read Test) when that processing is completed.
See the SEND DIAGNOSTIC Command and RECEIVE DIAGNOSTIC RESULT Command concerning the self-diagnosis function. Unrecoverable hardware errors Limited to cases in which a fatal hardware error occurs during execution of a command, and termination processing such as a CHECK CONDITION status report cannot be executed, the IDD may halt rotation of the spindle motor.
2.8.2 Logical block addressing The IDD uses logical data block addressing which is not dependent on the disk drive’s physical structure as the method of data access on the disk medium. The IDD makes correspondence between each physical sector and each logical data clock address during formatting.
CHAPTER 3 DATA BUFFER MANAGEMENT Data Buffer Look-Ahead Cache Feature Write Cache In this chapter, the configuration of the data buffer with which the IDD is equipped, its operation and the operation of the cache feature are described. Data Buffer 3.1.1 Data buffer configuration and basic operation The IDD is equipped with a 3,888 KB data buffer, which makes it possible to efficiently...
Data Buffer (512 KB FIFO) Data Buffer (3,888 KB FIFO) Buffer 3 Buffer 2 Buffer 1 Buffer 0 Disk Media Valid Data INIT Write→ Write→ ←Read ←Read (If data buffer 0 is selected) Figure 3.1 Data buffer configuration (in the case of 4 cache segments) The basic functions and operations of the data buffer in a read operation and a write operation are shown below.
IMPORTANT In order to avoid frequent repetition of the Loop CLOSE/OPEN processing after data frame transfer starts on the FC interface, and avoid the occurrence of data overruns, it is necessary to set the buffer full ratio (see Section 3.1.2) of the MODE SELECT parameter so the difference in the data transfer rates between the INIT (FC interface) and the disk drive is maintained in a good balance.
may not be possible to write the data continuously to the disk (data underrun). In this case, the IDD waits one disk revolution while continuing to pre-fetch data from the INIT, then repositions the block that caused the data underrun and continues the writing of data to the disk. 4) If all the blocks of data specified in the command have not yet been transferred from the INIT, as writing of data to the disk media progresses, at the point when the empty space in the data buffer reaches the amount specified in the buffer empty ratio in the MODE...
3.1.2 Operation mode setting MODE SELECT parameter In order to make it possible to control from the INIT the Loop OPEN processing start timing for executing data transfers to the FC interface in read and write operations, the IDD is provided with the MODE SELECT parameter (Disconnect/Reconnect Parameter: Page code = 2) shown in Figure 3.4.
Page 137
For example, if a read operation of 16 blocks with a logical data block length of 512 bytes (8 Kbytes) is requested, when the value specified in this parameter is 32, Loop OPEN processing is performed when it becomes possible to transfer 2 blocks of data [16 x (32/256)], from the data buffer.
Look-Ahead Cache Feature In order to use the data buffer more effectively and improve the disk drive's effective access speed, the IDD is equipped with a simple cache feature called a "Look-Ahead Cache Feature." The Look-Ahead cache feature is an effective, simple cache function for an INIT which reads data block groups on the disk media sequentially using multiple commands.
Page 139
b) Data which have been hit by the READ or READ EXTENDED command and transferred to the INIT once are also objects of caching as long as they are not invalidated. c) Data transferred from the INIT and written to the disk media by the WRITE, WRITE EXTENDED, WRITE AND VERIFY or other data writing command are not objects of caching.
3.2.3 Look-Ahead operation, Look-Ahead volume 1) Excluding the conditions in 3) and 4) for the amount of data specified as the minimum pre- fetch volume, data are read for look-ahead irrespective of track boundaries or cylinder boundaries. Commands which are already in the queue or commands which are newly received while a look-ahead operation is in progress, are executed after the look-ahead operation is completed.
Write Cache The IDD is equipped with a write cache function in order to reduce the INIT's command processing time. If that operation is permitted by the MODE SELECT command (caching parameters: Page code = 8, WCE bit), at the point when the IDD completes the transfer of all data specified in the WRITE or WRITE EXTENDED command, it reports the GOOD status and terminates the command.
CHAPTER 4 COMMAND SPECIFICATIONS Control/Sense Commands Data Access Commands Format Commands Maintenance, Diagnostic Commands This chapter describes detailed specifications of the SCSI commands which the IDD is equipped with and how to use them. Control/Sense Commands 4.1.1 TEST UNIT READY (00) Byte X‘00’...
4.1.2 INQUIRY (12) Byte X‘12’ EVPD Page Code Transfer Byte Length This command transfers the information showing the IDD's characteristics (INQUIRY data) to the INIT. This command is executed normally even in cases where the UNIT ATTENTION condition is held, and the UNIT ATTENTION condition is not cleared. This command is also executed normally when the disk drive is not in the ready state or even when an illegal logical unit number (LUN) is specified.
Page 147
a. Qualifier field (0,0,0): The specified logical unit shows the type of input/output device shown in the "Device Type Code" field. Even if this code is reported, it does not mean that that logical unit is in the ready state. (0,0,1): The specified logical unit shows the type of input/output device shown in the "Device Type Code"...
Page 148
f. Response data format field This field shows the code which shows the INQUIRY data format. The definition of the code is as shown below. Supporting only SCSI-2, the IDD reports (0,0,1,0). "Response Data Format" 3 2 1 0 Standard INQUIRY Data Format 0 0 0 0 Format specified in ANSI X3.131-1986 (SCSI-1).
Page 149
Vendor ID field This field indicates the name of the product's supplier in left-justified ASCII code, and always indicates FUJITSU. The unused right end is space for the ASCII code. j. Product ID field The product's model name is displayed in left-justified ASCII code in this field.
l. Device Serial Number field The value following byte 4 of the device serial number in the VPD information is indicated in this field. Higher order digits which do not contain valid numbers are filled with ASCII code spaces (X '20'). After byte 48, all the positions contain X"00." VPD information When "1"...
The values indicated in the "Qualifier" and "Device Type Code" fields in byte 0 are the same as those in the previously mentioned standard INQUIRY data. The "Page code" field in byte 1 indicates the page code (X '00') of this VPD information itself. Also, the "Page length"...
c. Operation mode This VPD information reports the IDD's current operation mode. The format of this VPD information is shown in Figure 4.4. Byte Qualifier Device Type Code X‘C0’ (Page Code) X‘00’ X‘04’ (Page Length) UNTAN X‘xx’ (Spindle Motor Start Delay Timing) X‘00’...
4.1.3 READ CAPACITY (25) Byte X‘25’ Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) This command transfers information related to the disk drive's capacity and the data block size to the INIT. When bit 0 "PMI (partial medium indicator)" of CDB byte 8 is "0," the logical block address and block length (byte length) of the final data block which is accessible in the disk drive (user space) are transferred to the INIT.
By using this command with the "PMI" bit specified as "1", the INIT can search for usable data space continuously without being interrupted by data transfers for alternate sector processing or switching of cylinders. The format of the data transferred to the INIT by this command is shown in Figure 4.5. Byte Logical Block Address (MSB) Logical Block Address...
4.1.4 MODE SELECT (15) Byte X‘15’ Parameter List Length This command performs setting and changing of each type of parameter related to disk drive physical attributes, data format, timing of FC interface transferring processing and error recovery procedures, etc. The INIT can know the types of parameters, the current settings of each parameter and the types of parameters which can be changed, and the ranges for such changes, etc.
Page 156
The "Parameter length" field of the CDB specifies the total byte length of the MODE SELECT parameters transferred from the INIT by this command. If zero is specified in the "Parameter length" field, this command is terminated normally without data transfer being executed with the INIT.
Power-on Current values Save values LIP (y, x) TARGET RESET [Command to all INITs] [Command to all INITs] BUS DEVICE RESET MODE message SELECT Pages: Pages: MODE SELECT (SP=1) 1, 2, 7, 8, A, C, 19, 1, 2, 7, 8, A, C, 19, 1C, 1C, 21 Power-on [Command to...
Page 158
If the IDD performs rounding processing ("rounding up" or "rounding down") of parameter values specified by the INIT, in some cases a "CHECK CONDITION" status (RECOVERED ERROR [=1] / Rounded parameter [37-00]) is reported, and in some cases it is not reported. Whether or not a "CHECK CONDITION"...
Header Byte X‘00’ X‘00’ (Media Type) × × X‘00’ or X‘08’ (Product Descriptor Length) Block Descriptor Byte Data Block Count (MSB) Data Block Count Data Block Count Data Block Count (LSB) X‘00’ Data Block Length (MSB) Data Block Length Data Block Length (LSB) Page Descriptor Byte Page Code...
Page 160
a. Header • Media type X '00' (default type) must be specified in this field. • Byte 2 Bits 7 and 4 of this field have meaning only in the header transferred to the INIT by the MODE SENSE and MODE SENSE EXTENDED commands. The values specified in these bits are disregarded in the MODE SELECT and MODE SELECT EXTENDED commands.
Page 161
• Data block count This field specifies the total number of logical data blocks (the block length is specified in “Data block length”) allocated in the user space on the disk media. The maximum logical block address is a value with 1 subtracted from the value in this field.
Page 162
c. Page descriptor The "Page descriptor" is configured from a 2-byte page header followed by a parameter field and each parameter function attribute is classified in a unit called a "Page." The individual "Page descriptors" in the MODE SELECT and MODE SELECT EXTENDED commands may be specified independently by the INIT and multiple "Page descriptors"...
Page 163
IMPORTANT The MODE SELECT parameter is ordinarily different in its configuration depending on the input/output device and the type of controller. It is also possible that current definitions may be expanded in accordance with the expansion of the functions of the IDD in the future.
Read/Write error recovery parameters (page code = 1) Figure 4.8 shows the format of the page descriptor of this MODE SELECT parameter. Byte X‘0A’ (Page Length) (Note) AWRE ARRE Default Variable Number of retries during READ (=63 Default X‘3F’ times) Variable X‘FF’...
Page 165
Error recovery parameters defined in this page descriptor are applicable for the following commands, except in cases where it is specifically pointed out. • READ • WRITE • READ EXTENDED • WRITE AND VERIFY (Write operation) • READ LONG • WRITE EXTENDED •...
Page 166
c. TB (transfer block) "1" : Data blocks which contain errors that are impossible to correct are transferred to the INIT during a read operation. "0" : Data blocks which contain errors that are impossible to correct are not transferred to the INIT during a read operation.
Page 167
The IDD disregards this bit and operates according to the default value (=0). h. DCR (disable correction) "1" : Even when a correctable data check has been detected, data correction according to the ECC is prohibited. However, On-the-fly correction processing is not prohibited. "0"...
the value specified in the "Number of retries during READ," on the same page, is also applied to this field by the IDD. l. Recovery time limit (Not supported) This parameter specifies the maximum time that can be used by the TARG for error recovery processing, as a 1ms constant.
Page 169
Table 4.1 Combinations of Error Recovery Flags (2 of 4) Error Recovery Procedure 1. Rereading is tried repeatedly up to the number of times specified in the "Read Retry Count", "Write Retry Count" or "Verify Retry Count" parameter. Data correction is not executed according to the ECC. 2.
Page 170
Table 4.1 Combinations of error recovery flags (3 of 4) Error Recovery Procedure 1. When a correctable data check is detected, immediately, correction is executed according to the ECC. For data checks which cannot be corrected, rereading is tried repeatedly up to the number of times specified in the "Read Retry Count", "Write Retry Count"...
Page 171
Table 4.1 Combinations of Error Recovery Flags (4 of 4) Error Recovery Procedure 1. When a correctable data check is detected, immediately, correction is executed according to the ECC. For data checks which cannot be corrected, rereading is tried repeatedly up to the number of times specified in the "Read Retry Count", "Write Retry Count"...
Disconnect/reconnect parameters (page code = 2) The format of the page descriptor in this MODE SELECT parameter is shown in Figure 4.9. Byte X‘0E’ or X‘0A’ (Page Length) (See the "Note." Buffer Full Ratio Default X‘20’ Variable X‘FF’ (See the "Note."...
Page 173
IMPORTANT If transfer of this page descriptor is required by the MODE SENSE or MODE SENSE EXTENDED command, the IDD reports X '0E' as the page length (byte 1). However, if either X '0E' or X '0A' is specified for the page length in the MODE SELECT command, the IDD regards it as if the correct page length was specified.
Page 174
If the total number of bytes in the transferred data block count specified in the command is less than the capacity of the buffer segment, all the data are pre-fetched in a batch, so the specification in this parameter is not applied. Note: If the value specified for the "buffer full ratio"...
Page 175
The default value in the IDD is 0100h. If 0000h is specified, it in effect means unlimited, but in the FC, operation is executed with the Buffer capacity calculated from the Buffer Empty Ratio value as the Maximum Burst Length value. In this case, all you are doing is changing the internal value without making any changes in the parameter, so even if read out by Mode Sense, 0000h is reported.
Page 176
j. Dlmm (disconnect immediate) (not supported) This controls when to execute Loop CLOSE after receiving the frame. The IDD does not support this bit. If 1 is specified in this bit, the command is terminated with the "CHECK CONDITION" status. k.
Format parameter (page code = 3) The Page descriptor format of this MODE SELECT parameter is shown in Figure 4.10. Byte X‘16’ (Page Length) Track Count/Zone (= 1 cylinder) Default X‘000x’ Variable X‘0000’ Alternate Sector Count/Zone (= 20 sectors) Default X‘0014’...
Page 178
a. Parameters for specifying alternate processing areas for defective blocks (bytes 2 to 9) The following 4 parameters specify the position and number of spare sectors for performing defective block alternate allocation processing on the disk media. See Chapter 3, "Data Format" of Product Manual for details of the IDD's alternate block processing. •...
Page 179
c. Parameters specifying sector format (bytes 12 to 19) • Data byte length/physical sectors This parameter specifies the data length per 1 physical sector as the number of bytes. In the IDD, the data byte length per 1 physical sector is the same as the data byte length in 1 logical data block.
Page 180
d. Parameters related to device type (byte 20) • SSEC (soft sectoring) When this bit is "1," it indicates that the data formatting method on the disk media is "soft sectoring." However, since the IDD uses only the "hard sectoring" method (refer to previously shown item b), this bit is disregarded.
Drive parameter (page code = 4) The page descriptor format of this MODE SELECT parameter is shown in Figure 4.11. Byte (See the X‘16’ (Page Length) "Note") Cylinder Count Default X‘00xxxx’ Variable X‘FFFFFF’ Number of Heads Default X‘00xx’ Variable X‘0000’ "Write Precompensation"...
Page 182
IMPORTANT When transfer of this page is requested by the MODE SENSE or MODE SENSE EXTENDED command, the IDD reports X '16' as the page length. However, in the MODE SELECT and MODE SELECT EXTENDED commands, if either X '16,' X '12' or X '0A' is specified, it is treated as if the IDD has specified the correct page length.
Page 183
00] is reported for that command. Therefore, if the number of cylinders configured in the "User Space" is clearly specified in this parameter, it is necessary for the INIT to specify zero in the "Data block count" parameter in the block descriptor or transfer this page descriptor without specifying the block descriptor.
Verify error recovery parameters (page code = 7) The page descriptor format of this MODE SELECT parameter is shown in Figure 4.12. Byte X‘0A’ (Page Length) (Reserved) Default Variable Number of retries during VERIFY. (=63 Default X‘3F’ times) Variable X‘FF’ Correctable Bit Length (=89 bits Default...
Page 185
b. Number of retries during VERIFY This parameter specifies the number of times reading of the disk media should be retried when a "Data Check" type error is detected in a read operation. the number of retries specified by this parameter is the maximum number of times reading of each individual data area in each logical data block is retried.
Caching parameters (page code = 8) The page descriptor format of this MODE SELECT parameter is shown in Figure 4.13. Byte X‘0A’ or X‘12’ (Page Length) (ABPF) (CAP) DISC SIZE Default Variable X‘00’ (Reserved) Pre-fetch inhibit block count Default X‘FFFF’ Variable X‘0000’...
Page 187
The parameters defined in this page descriptor control the range of look-ahead data in the Look-Ahead cache feature and enable or disable the caching operation. See Section 2.2, "Look-Ahead Cache Feature" and Section 2.3, "Write Cache" concerning details of the Look- Ahead cache feature and parameter setting methods.
Page 188
"1" : This enables the write cache. Write data remains in the buffer memory, the cache is made the object even for a read command, and when all of the write data has been received, "GOOD" status is reported without disconnecting. Sequential writing is performed without waiting for rotation.
Page 189
g. Pre-fetch inhibit block count (not supported) This parameter is used to selectively prohibit data Look-Ahead operations in the READ command or the READ EXTENDED command. When the "Transfer block count" specified in the CDB of the READ command or the READ EXTENDED command is greater than the value in this parameter, data Look-Ahead operations are not executed in that command.
Page 190
l. Cache segment count This parameter specifies the number of cache segments used by the IDD. This parameter is valid when the SIZE bit specification is "0." The INIT can specify X'01' to X'10' in this parameter. When X'00' is specified in this parameter, the IDD performs rounding processing of the parameter.
n. DRA (disable read-ahead) (not supported) This bit specifies whether the read-ahead operation will be performed or not. The IDD disregards the specification in this bit and operates in accordance with the default value "0". "1": Reading is not performed after the logical data block specified by Read or Read Extended.
Page 192
a. RLEC (report log exception condition) (not supported) Since the IDD does not support the LOG SELECT command, "1" cannot be specified in this field. Even if "1" is specified, the IDD will disregard it. This bit controls operations in cases where the accumulated value log parameter reaches the maximum value.
Page 193
When "1" is specified in this bit, the IDD prohibits tagged queuing processing. The IDD clears queued commands and generates a UNIT ATTENTION condition (Command cleared by another initiator [=2F-00]) for each of the INITs that issued the commands which were cleared. After that, the when a QUEUE TAG message is received, it is rejected with a MESSAGE REJECT message and executed as an untagged command.
Page 195
If this parameter is issued, only the format parameter of the zone specified by the MODE SENSE command can be referred to without changing the number of accessible blocks. Also, if a MODE SENSE command with a SP = "1" that includes a notch page is issued, the current value is reported for this page and the zone value which is the object is reported if Page 3 is notched, then the command is terminated normally.
Page 196
The IDD does not support the Standby condition. The "Standby" bit specification and the "Standby Condition Timer" specification are disregarded. Fibre Channel Control Parameters (Page code = 19) [Fujitsu unique parameter] Byte (PS)* *: Not checked. X‘06’ (Page Length) X‘00’...
Page 197
a. DTOLI (disable target originated loop initialization) This bit is impossible to specify and operates according to the default value. This bit specifies concerning LIP. "1" : • An Initializing LIP is not issued when the HDD enters the loop. •...
Page 198
e. DLM (disable loop master) This bit is impossible to specify and operates according to the default value. This bit specifies enabling or disabling of the Loop Master operation. "1" : • The HDD does not become the Loop Master. •...
Page 199
(10) Information Exception Control Parameter (1C) Byte (PS)* *: Not checked. X‘0A’ (Page Length) PERF Reserved TEST DEXCPT LOGERR Default Variable Notification Method Default Variable Failure prediction notice time interval Default X‘00000000’ Zero check is Variable X‘FFFFFFFF’ not performed 10-11 Number of failure prediction notices Default X‘00000001’...
Page 200
"1" : Prohibits the failure prediction function. The Reporting Method and TEST specification are disregarded. c. PERF (performance) This bit permits/prohibits performance drops due to the failure prediction function. "0" : Permits a drop in performance due to the failure prediction function. "1"...
Page 201
Report method Failure prediction notification method Notification of the failure prediction is not performed. Failure prediction notification is performed by asynchronous event reporting. The failure prediction notification is performed by a UNIT ATTENTION condition. The sense key of the sense data at this time is UNIT ATTENTION [= 6], and the sense code is SMART predictive failure [5D/nn].
See the SMART specifications for detailed use instructions. (11) Additional error recovery parameters (page code = 21) The page descriptor format of this MODE SELECT parameter is shown in Figure 4.15. [Fujitsu unique parameter] Byte X‘02’ (Page Length) Number of retries during a Seek Error...
Page 203
RFJ (reserved by Fujitsu) All the bits in byte 3 are reserved by Fujitsu. The user should specify "0" in this bit. 4 - 60 C141-E054-02EN...
4.1.5 MODE SELECT EXTENDED (55) Byte X‘55’ Parameter List Length (MSB) Parameter List Length (LSB) This command performs setting and changing of each type of parameter related to disk drive physical attributes, data format, timing of Loop OPEN and error recovery procedures, etc. This command's function is the same as that of the Group 0 MODE SELECT command (Section 4.1.5), except that the format of its data transferred by the INIT differs partially from that of the (MODE SELECT) data format.
4.1.6 MODE SENSE (1A) Byte X‘1A’ Page Code Transfer Byte Length This command reports the values for each type of parameter related to the disk drive's physical attributes, data format, timing for FC interface Loop OPEN/CLOSE processing, error recovery procedures, etc., as well as the attributes of those parameters, to the INIT. The data (MODE SENSE data) transferred to the INIT from the IDD by this command are configured from a "Header,"...
Page 207
When the value specified in the "Page code" field is other than X '3F', the specified "Page descriptor" only is transferred to the INIT, and when X '3F' is specified, all the "Page descriptors" supported by the IDD are transferred to the INIT in the ascending order of the page code.
Table 4.2 MODE SENSE Data Type Specifications Type of Parameter Transferred to the INIT 00 Current Values: Reports each "Current" parameter value. The "Current" values are either of the following values. • Values specified by a MODE SELECT or MODE SELECT EXTENDED command which is finally normally terminated.
Header Byte Sense Data Length X‘00’ (Media Type) X‘00’ or X‘08’ (Block Descriptor Length) Block Descriptor Byte Data Block Count (MSB) Data Block Count Data Block Count Data Block Count (LSB) X‘00’ Data Block Length (MSB) Data Block Length Data Block Length (LSB) Page Descriptor Byte Page Code...
Page 210
Header a. Sense data length This field indicates the length (number of bytes) of the parameter list (MODE SENSE data) which it is possible to transfer to the INIT by this command. The length of the "Sense data length" field itself is not included in this value. Also, a value for a portion of data with a length that is supported by the IDD is reported in this field for a parameter list of the type specified in the CDB regardless of the specification of the "Transfer byte length"...
Page 211
b. Data block length This field indicates the length (byte length) of 1 logical data block on the disk media. Page descriptor The "Page descriptor" is configured from a parameter field which follows a 2-byte page header, and is divided into units called "Page" for each parameter's functional attributes. See the description of the MODE SELECT command (Section 4.1.5) concerning the configuration of each page descriptor and their contents.
4.1.7 MODE SENSE EXTENDED (5A) Byte X‘5A’ Page Code Transfer Byte Length (MSB) Transfer Byte Length (LSB) This command reports the values for each type of parameter related to the disk drive's physical attributes, data format, timing for FC interface Loop OPEN/CLOSE processing, error recovery procedures, etc., as well as the attributes of those parameters, to the INIT.
Header Byte Sense Data Length (MSB) Sense Data Length (LSB) X‘00’ (Media Type) X‘00’ X‘00’ X‘00’ (Block Descriptor Length: MSB) X‘00’ or X‘08’ (Block Descriptor Length: LSB) Block Descriptor Byte Data Block Count (MSB) Data Block Count Data Block Count Data Block Count (LSB) X‘00’...
4.1.8 REZERO UNIT (01) Byte X‘01’ This command moves the read/write heads of the disk drive to the initial position (physical cylinder 0 / physical track 0). A data block with the physical block address of zero exists at the initial position. Initialization of the disk drive's positioning control system and automatic adjustment are also performed by this command.
Page 215
Bit 1 (LoEj (load/eject) of byte 4 of the CDB is the exclusive bit which controls devices with replaceable recording media, and it has no meaning for the IDD. The IDD disregards the value specified in this bit and controls starting and stopping of the spindle motor in accordance with the "Start"...
The operation of the spindle motor when the "Immed" bit is specified corresponding to the various spindle motor conditions (normal system) is shown below. • When Stop Unit is Issued • When the motor is in the stopped state and Start Unit is issued. →...
Page 217
The IDD is reserved by this command for the INIT which issued this command. The values specified in bytes 2 to 4 of the CDB have no meaning and are disregarded, but it is preferable that the INIT specify X'00' in these bytes. Logical unit reserve function This command reserves the entire IDD (logical unit) for use as a special FC device.
INIT INIT FC interface TARG 1. If INIT #A issues a RESERVE command to TARG #0, TARG #0 enters the reserved state from INIT #A and INIT #A has the reserve right with respect to TARG #0. In this case, •...
Page 219
The IDD is reserved by this command for the INIT which issued this command. The values specified in bytes 2 to 4 of the CDB have no meaning and are disregarded, but it is preferable that the INIT specify X'00' in these bytes. Also, the value specified in CDB byte 3 to 4 reports CHECK CONDITION status "05-24-00"...
4.1.12 RELEASE (17) Byte X‘17’ 3rd Pty 3rd Pty Dev ID × × × × × × × × This command releases the reserve state of an IDD in relation to the INIT that issued this command. When a reserve state in relation to the INIT that issues this command, or an IDD does not exist, this command is terminated normally with a GOOD status.
4.1.13 RELEASE EXTENDED (57) Byte X‘57’ 3rd Pty × × × × × × × × Third Party Devices ID × × × × × × × × × × × × × × × × This command releases the reserve state of an IDD in relation to the INIT that issued this command.
In order to release the reserve status, it is necessary for the INIT which issued this command to issue the RELEASE command (shown in item 4.1.13) or the RELEASE EXTENDED command (shown in item 4.1.14). 4.1.14 REQUEST SENSE (03) Byte X‘03’...
Page 223
Concerning the format of sense data, see the "Sense Data Specifications" or for details on the sense data hold state, see the "Command Processing Function Specifications". If this command is executed when the IDD is holding the Unit Attention condition, at that point, if the IDD is not in the sense data hold state, sense data showing the Unit Attention condition are created by this command and are sent to the INIT, and the Unit Attention condition is cleared.
Data Access Commands 4.2.1 READ (08) Byte X‘08’ Logical Block Address (MSB) Logical Block Address Logical Block Address (LSB) Transfer Block Count This command reads the number of blocks of data in continuous logical data blocks specified in the "Transfer block count" field with the logical data block on the disk media specified in the "Logical block address"...
4.2.2 READ EXTENDED (28) Byte X‘28’ × Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Transfer Block Count (MSB) Transfer Block Count (LSB) This command reads the number of blocks of data in continuous logical data blocks specified in the "Transfer block count"...
4.2.3 WRITE (0A) Byte X‘0A’ Logical Block Address (MSB) Logical Block Address Logical Block Address (LSB) Transfer Block Count This command transfers the number of blocks of data specified in the "Transfer block count" field from the INIT and writes them in continuous logical data blocks with the logical data block on the disk media specified in the "Logical block address"...
Page 227
If the write cache function is enabled, the IDD reports a status byte at the point when reception of all the data transferred from the INIT is completed. If an error occurs while data are being written to the disk media, a CHECK CONDITION status is reported for the command to be executed next.
4.2.4 WRITE EXTENDED (2A) Byte X‘2A’ × Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Transfer Block Count (MSB) Transfer Block Count (LSB) This command transfers the number of blocks of data specified in the "Transfer block count" field from the INIT and writes them in continuous logical data blocks with the logical data block on the disk media specified in the "Logical block address"...
WRITE AND VERIFY (2E ) 4.2.5 Byte X‘2E’ × Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Transfer Block Count (MSB) Transfer Block Count (LSB) This command transfers the number of blocks of data specified in the "Transfer block count" field from the INIT and writes them in continuous logical data blocks with the logical data block on the disk media specified in the "Logical block address"...
4.2.6 VERIFY (2F) Byte X‘2F’ × BytChk Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Transfer Block Count (MSB) Transfer Block Count (LSB) This command reads the number of continuous logical data blocks specified in the "Number of Blocks"...
Page 231
2) If "1" is specified in "BytChk", the IDD performs a comparison of data read from the disk medium using the HDC hardware and the data transferred from the INIT. The procedure at this time is shown below. HDC on-the-fly correction is prohibited and byte check processing is performed. When there is an error in the above processing, on-the-fly correction is permitted and Verify processing of the error sector is performed.
4.2.7 SEEK (0B) Byte X‘0B’ Logical Block Address (MSB) Logical Block Address Logical Block Address (LSB) This command executes a seek operation of the cylinder/track where the logical data block specified in the "Logical block address" field in the CDB exists. In the FC, after the CDB is received, Loop CLOSE processing is performed.
4.2.8 SEEK EXTENDED (2B) Byte X‘2B’ Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) This command executes a seek operation of the cylinder/track where the logical data block specified in the "Logical block address" field in the CDB exists. The functions and operation of this command are the same as those of the Group 0 SEEK command (Section 4.2.7), except that it is possible to specify 4-byte logical block addresses.
4.2.9 SYNCHRONIZE CACHE (35) Byte X‘35’ Immed Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Block Count (MSB) Block Count (LSB) This command matches the data in a logical block in the IDD's data buffer with the data in the same logical block stored on the disk medium.
Format Commands 4.3.1 FORMAT UNIT (04) Byte X‘04’ FmtData CmpLst Defect List Format Interleave factor (MSB) Interleave factor (LSB) This command initializes (formats) the entire area of the disk media that can be accessed from the INIT (User Space). At the same time, the IDD also implements defect management processing, allocating alternate blocks for defective portions of the disk media in accordance with the specifications in this command.
Page 236
Defect list In order to register or specify the positions of defects on the disk media in connection with defect management processing that can be specified from the INIT, the following types of “Defect List” are defined. a. P List: primary defect list Defect position information (permanent defects) is registered in this list at the time the disk drive is shipped from the factory.
Page 237
Specifying the initialization method The INIT can specify the method of defect processing executed by this command in the “FmtData (format data)” bit and “CmpLst (complete list)” bit of CDB byte 1 and the “Defect List Format” field. When “1” is specified in the “FmtData (format data) bit, it indicates that the format parameters (header and defect list), described later, are transferred from the INIT when this command is executed.
Format parameters Figure 4.19 shows the data format of the Format parameter transferred from the INIT when “1” is specified in the “FmtData (format data)” bit of the CDB. Header Byte X‘00’ DPRY DCRT STPF Immed × Defect List Length (MSB) Defect List Length (LSB) Defect List (D List) Byte...
Page 239
a. Header The top of the format parameter transferred from the INIT is a 4-byte header. The INIT can specify the method used for defect processing that is executed by this command by control flags within the header. • FOV (format option valid) “0”: Indicates that the INIT does not specially specify concerning the functions specified by the control flags in bits 6 to 4 of byte 1 (see following “DPRY”...
Page 240
• STPF (stop format): Default value: “1” When the defect list (P List or G List) necessary for executing the defect processing specified in this command, cannot be read from the disk media, this bit indicates whether to continue (“0” is specified) or terminate (“1” is specified) command processing, but in the IDD, this bit’s specification is disabled, and the specified value is disregarded.
The configurations which it is possible to specify for the “Defect descriptors” in the defect list (D List), and their description formats, are shown below. Furthermore, it is possible only to specify User Space and CE Space address information on the disk media in the Defect list (D List).
• Physical sector address format defect descriptor Figure 4.21 shows this description format of the defect descriptor. A defect descriptor with this format specifies the physical sector number of the data block which includes the defect on the disk media together with the cylinder No. and the head (track) No. When specifying multiple defect descriptors, the cylinder No.
Page 243
• Cautions in specifying the D list The P List, containing defect position information, is always recorded on the IDD when it is shipped from the factory. Also, information on defect positions for which alternate block processing has been implemented during operation are recorded as the G List. The function which specifies defect position information as the D List when the FORMAT UNIT command is executed, is prepared mainly to specify initial defect position information of the disk media which does not have the P List recorded on it.
Defect processing during initialization Table 4.3 shows each combination of control flag specification values and the contents of processing executed by the IDD. Furthermore, see Chapter 3 “Data Format” of the “Product Manual” concerning alternate block allocation processing methods. Table 4.3 FORMAT UNIT command defect processing (1 of 2) CDB Byte 1 Header...
Page 245
Table 4.3 FORMAT UNIT command defect processing (2 of 2) CDB Byte 1 Header Defect FmtData CmpLst Defect list DPRY Defect Processing Method List format Length Alternate block allocation is 1 0 0 >0 performed for defects registered in 1 0 1 the previously existing G List and the defects described in the D List transferred from the INIT.
4.3.2 REASSIGN BLOCKS (07) Byte X‘07’ This command allocates alternate data blocks for defective data blocks specified in the “Defect Data” list transferred form the INIT. See Chapter 3, “Product Specifications/Installation Procedures” in the Product Manual concerning alternate block processing methods implemented by this command.
The format of the “Defect Data” list transferred from the INIT by this command is shown in Figure 4.22. Byte X‘00’ X‘00’ Header Defect List Length (m) (MSB) Defect List Length (m) (LSB) Defective Block Logical Block Address (MSB) Defective Block Logical Block Address Defect Defective Block Logical Block Address Descriptor...
Page 248
The logical block address of defective data blocks is described in 4-byte format in the defect descriptor. When multiple defect descriptors are specified, it is best for the INIT to describe defect descriptors in the ascending order of the logical data block addresses. Furthermore, if the addresses of logical data blocks specified in the defect descriptor list overlap each other, This command is terminated with a CHECK CONDITION status (ILLEGAL REQUEST [=5] / Invalid field in parameter list [=26-00] and none of the alternate...
Page 249
IMPORTANT If this command is terminated with a CHECK CONDITION status, the sense code/sub-sense code in the sense data is other than “No defect spare location available [=32-00], and a valid logical block address (other than X ‘FFFFFFFF’) is displayed in the “Command inherent information”...
4.3.3 READ DEFECT DATA (37) Byte X‘37’ PList GList Defect List Format Transfer Byte Length (MSB) Transfer Byte Length (LSB) This command transfers the list described in the defect position information of the disk media (defect data) to the INIT. There are two types of defect data, the P List (primary defect list) and the G list (grown defect list).
The “Transfer byte length” field in the CDB specifies the defect data length (number of bytes) that can be received by the INIT. The IDD terminates data transfer when transfer of the length of defect data specified in the “Transfer byte length” field is completed or when transfer of all the defect data of the specified type is completed.
Page 252
Header a. P List (primary list) bit When this bit is “1,” it indicates that P List defect data are included in the defect descriptor list that is actually transferred to the INIT. When it is “0,” it indicates that the P List defect data are not included.
Page 253
1) When “1” is specified in both the “P List” bit and the “G List” bit in the CDB, and transfer of both the P List and G List is requested, the IDD first of all transfers the P List, then transfers the G List afterward (merging of the defect information in the two lists is not performed).
Page 254
6) The number of defects reported by this command differs depending on the defect data format. • When data are in the “Block Address Format,” defect position information is not reported for portions which cannot be clearly accessed from the INIT. •...
Maintenance, Diagnostic Commands 4.4.1 SEND DIAGNOSTIC (1D) Byte X‘1D’ SelfTest DevOfl UnitOfl Parameter List Length (MSB) Parameter List Length (LSB) This command executes self-diagnosis tests which the IDD is equipped to perform and operation specified in the parameter list transferred from the INIT. Self-diagnosis test When the “SelfTest (self test)”...
“Diagnostic failure on component ‘nn’ [=40-nn].” (nn is the code in the range X ‘80’ to X ‘FF,’ which shows the type of error. This code is a Fujitsu unique definition for the purpose of analysis when there is a failure, and its meaning is not released to the public. The user should present the value displayed in this sense data as repair information to the Fujitsu representative.)
Page 257
Remark: The error recovery control flag is valid only for PER. Therefore, the only error recovery flag combination that is actually executed in the above self-diagnosis tests is the (PER, DTE) = (1, 0) combination. Parameter specification When “0” is specified in the “SelfTest (self test) bit in the CDB, the IDD executes the operations specified in the parameter list transferred from the INIT by this command.
When a command other than the RECEIVE DIAGNOSTIC RESULTS command is linked to this command, the execution results (response data) may no longer be secure. Byte Page Code Header Page Parameter Length (MSB) Page Parameter Length (LSB) Page Parameter Parameter Figure 4.24 SEND DIAGNOSTIC command: parameter list configuration •...
a. Page code list This parameter page specifies transfer of the “Page code” list of the parameter page supported by the IDD in the SEND DIAGNOSTIC command and the RECEIVE DIAGNOSTIC RESULTS command to the INIT. Figure 4.25 shows the format of this parameter page.
Page 260
The “Address Format Before Conversion” field shows the format of the address information specified in bytes 6 to 13. The IDD converts that address information to the expression format specified in the “Address Format After Conversion” field. the following codes can be specified as the “Address Format.” Code Address Format Logical Block Address Format...
4.4.2 RECEIVE DIAGNOSTIC RESULTS (1C) Byte X‘1C’ Transfer Byte Length (MSB) Transfer Byte Length (LSB) This command transfers data (response data) which show the results of executing the SEND DIAGNOSTIC command from the IDD to the INIT. The format and content of response data are determined by the parameter list (page code) specified by the INIT in the SEND DIAGNOSTIC command.
If this command is issued when valid response data do not exist, the IDD transfers a maximum of 4 bytes of X ‘00’ data to the INIT. Figure 4.27 shows the format of response data transferred to the INIT from the IDD by this command.
Page code list This response data reports the “Page code” list of the parameter page supported by the IDD in the SEND DIAGNOSTIC command and the RECEIVE DIAGNOSTIC RESULTS command after byte 4. The format and contents of this response data are shown in Figure 4.28. Byte X ‘00’...
Page 264
IMPORTANT The value of the “Page Parameter Length” field in this response data is a variable length within the range of [2 + 8n] in the ANSI specifications. For example, If multiple logical data blocks are located in 1 physical sector, or if 1 logical data block is located in multiple physical sectors, n address information items are reported as the address conversion results.
4.4.3 WRITE BUFFER (3B) Byte X‘3B’ Mode X‘00’ (Buffer ID) Buffer Address (MSB) Buffer Address Buffer Address (LSB) Transfer Byte Length (MSB) Transfer Byte Length Transfer Byte Length (LSB) This command is used in combination with the READ BUFFER command to diagnose the normality of the IDD’s data buffer memory or the FC interface, or to download microcode to the IDD.
Mode = 0, 0, 0: Header + data, without address specification In this mode, a 4-byte header (with all zero’s specified for the contents) must be added to the top of the data transferred from the INIT. Also, zero must be specified in the “Buffer address” field of the CDB.
Page 267
Mode = 0, 0, 1: Header + data, without address specification The format of data transferred from the INIT in this mode must be the same as in the case of Mode = 0, 0, 0, and the 4-byte header (with zero specified in all its contents) must be added to them.
Page 268
Mode = 1, 0, 0: Microcode download, without saving In this mode, the controller’s microcode or control information is transferred to the IDD’s control memory area. “0” must be specified in the “Buffer ID” field and the “Buffer address” field. The “Transfer byte length”...
Page 269
Mode = 1, 1, 0 : Microcode Download, Address specified, not saved In this mode, the controller's microcode is transferred to the data buffer. Depending on the specification, the device is restarted with the transferred microcode. In this mode, by specifying in the CDB's "Buffer Address" field the head address of the data buffer which stores the data transferred from the INIT, microcode can be divided and transferred in address ascending order.
4.4.4 READ BUFFER (3C) Byte X‘3C’ Mode X‘00’ (Buffer ID) Buffer Address (MSB) Buffer Address Buffer Address (LSB) Transfer Byte Length (MSB) Transfer Byte Length Transfer Byte Length (LSB) This command is used in combination with the WRITE BUFFER command to diagnose the normalcy of the IDD’s data buffer memory and the FC interface.
Mode = 0 0 0: Header + data, without address specification When this mode is specified, the data stored in the IDD’s data buffer are transferred to the INIT after the 4-byte header. Zero must be specified in the “Buffer address” field in the CDB. The “Transfer byte count”...
Page 272
Mode = 0, 0, 1: Header + data, with address specification The format of the data transferred to the INIT when this mode is specified is the same as the format of the data in the case of Mode = 0, 0, 0, with the data stored in the IDD’s data buffer transferred to the INIT following the 4-byte header.
Mode = 0, 1, 1: Buffer descriptor When this mode is specified, the IDD transfers only the 4-byte buffer descriptor to the INIT. the IDD’s data buffer attributes are indicated in the 4-byte buffer descriptor. Zero must be specified in the “Buffer address” field in the CDB when this mode is specified. The IDD transfers the data length specified in the “Transfer byte length”...
4.4.5 READ LONG (3E) Byte X‘3E’ CORRCT Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Transfer Byte Length (MSB) Transfer Byte Length (LSB) This command reads the logical data block data and its ECC byte, specified in the "Logical block address"...
Page 275
This IDD does not support the CORRCT bit function, and the setting in this bit operates as if it was "CORRCT = 0" (no correction). The CDB's "Transfer Byte Length" field shows the number of bytes of data transferred to the INIT by this command.
4.4.6 WRITE LONG (3F) Byte X‘3F’ CORRCT Logical Block Address (MSB) Logical Block Address Logical Block Address Logical Block Address (LSB) Transfer Byte Length (MSB) Transfer Byte Length (LSB) This command writes the data block data transferred from the INIT, together with the ECC to form bytes, in the logical data blocks on the disk media specified in the “Logical block address”...
Page 277
1) Sense Key : 05 = ILLEGAL REQUEST 2) Sense Code : 24 = Invalid field in CDB 3) “Valid” Bit : “1” 4) “ILI” Bit : “1” 5) Information Field : (“Transfer Byte Length” of CDB) - (Logical data block length + n x 4 + n x 4 + n x ECC byte length) Remark: The calculation formula in 5) expresses one logical data block divided into n divisions or...
CHAPTER 5 SENSE DATA AND ERROR RECOVERY METHODS Sense Data INIT Error Recovery Methods (Recommended) Disk Drive Error Recovery Processing In this chapter, the configuration and contents of sense data reported to the INIT (initiator) when an error occurs, etc., key information for interpreting error states, recommended procedures for error recovery processing that should be executed by software in the INIT and error recovery processing executed internally by the IDD are described.
Byte Valid X ‘70’ or X ‘71’ (Error Code) X‘00’ Sense Key Information X ‘28’ (Additional Sense Data Length) Command Inherent Information Basic Informatio Sense Code Sub-sense Code X‘00’ SKSV Sense Key Inherent Information Port CDB Operation Code Additional Detailed Information Informatio Figure 5.1 Expanded sense data format...
5.1.2 Sense data basic information Bytes 0 to 17 of the sense data are basic information which show the contents of the error that has occurred. The INIT can know the contents of the error and the key information that is necessary for recovery processing by analyzing this basic information.
Additional sense data length This field indicates the length (number of bytes) after byte 8 of the sense data. The value shown in this field shows the length of sense data provided by the IDD without relation to the value specified in the “Transfer byte length” in the CDB of the REQUEST SENSE command. The length of the IDD’s sense data is fixed at 48 bytes and this field always indicates X ‘28’...
Page 282
Table 5.1 Sense key Sense Name Explanation NO SENSE The specific sense key does not exist. RECOVERED 1) Indicates that the command which was executed last was ERROR terminated normally with a recovery operation by the IDD. If multiple errors which were successfully recovered from during processing of a single command occurred, the last error to have occurred is reported.
Table 5.2 Sense and subsense codes (1 of 4) Sense Name Explanation 00 No additional sense No specific sense code exists. information 00 Peripheral device write A write operation to the disk media was terminated abnormally. 1, 4 fault • Off track during write. 80 Peripheral device write A write operation to the disk media was terminated abnormally.
Page 284
Table 5.2 Sense and subsense codes (2 of 4) Sense Name Explanation 02 Defect list error in An error was detected during reading of the defect list (P List). primary list 03 Defect list error in grown An error was detected during reading of the defect list (G List). list 80 Log information read error An error was detected during reading of statistical information.
Page 285
A CRC error was detected on the FC Loop. 00 Invalid message error An unsupported or inappropriate message was received. nn Logical unit failed self- The IDD's initial setup failed. ('nn' is the Fujitsu unique code configuration (80 to FF)) * C: Sense Code, Q: Sub-sense Code...
* C: Sense Code, Q: Sub-sense Code 5.1.3 Sense data additional information Bytes 18 to 47 of sense data are defined as a Fujitsu unique field, and indicate the additional information which is explained below. CDB operation code This field indicates the operation code (the value in the first byte of the CDB) of the command where the error occurred.
INIT Error Recovery Methods (Recommended) When a single command or a series of linked commands are not terminated with a status reported, the INIT should execute error recovery processing corresponding to the state in which the command was terminated. Here, the procedure for analyzing the command execution termination state and recommended procedures for error recovery processing executed by the INIT in accordance with the results are explained.
Page 288
TASK FULL status This status indicates that the IDD is currently executing processing of another command and that a new command cannot be received. The INIT that receives this status can reissue the original command. Under a multi-initiator environment, when an INIT receives this status, the time until the IDD can receive the next command depends on the operating state with other INITs, so ordinarily, it cannot be predicted.
• Since the command stack feature exists (see Section 1.4), even if the IDD accepts a command normally, if a command issued by another INIT is being executed, or if there are other commands in the stack, execution of the command is caused to wait until all the other commands have been processed.
Table 5.3 Sense data error classification (1 of 3) Recovery Method Outline of Error (See Table 5.4.) No sense data showing the error contents are held. None 00 Sync byte not found for data field Need xx Positioning error xx Recovered error without ECC These errors are errors detected during accessing of the disk media, but they are recovered from through the IDD's retry processing.
Page 291
Table 5.3 Sense data error classification (2 of 3) Recovery Method Outline of Error (See Table 5.4.) xx Peripheral device write fault Need 01 Defect list update failure These are errors detected in the operation of the disk drive. xx Positioning error Need This is an error of the disk drive's seek system.
Table 5.3 Sense data error classification (3 of 3) Recovery Method Outline of Error (See Table 5.4.) 00 Commands cleared by another INIT None Commands were cleared by another INIT. 01 Microcode has been changed None 01 Log exception (Threshold condition met) None The current cumulative value exceeded the current threshold value.
Page 293
Table 5.4 Error recovery processing procedures (2 of 5) Recovery Recovery Processing Procedure Method Reissue the original command (Retry). If it doesn't recover after 10 retries, perform recovery method 3. Reissue the original command (Retry). If it doesn't recover after 10 retries, perform recovery method 1. If the DTE flag in the MODE SELECT parameter is "0,"...
Page 294
Table 5.4 Error recovery procedure (3 of 5) Recovery Recovery processing procedure method Set the "Number of Retries" value in the MODE SELECT parameters at the "Default" value. Reissue the original command (Retry). (Note) If the error is not recovered from after the first retry, issue the REZERO UNIT command. Reissue the original command (Retry).
Page 295
Table 5.4 Error recovery procedure (4 of 5) Recovery Recovery processing procedure method Issue the MODE SENSE or MODE SENSE EXTENDED command and confirm the values of the disk media data format related parameters (Block descriptor, Page 3: Format parameters, Page 4: Drive parameters). If the parameter values are correct, issue the FORMAT UNIT command and initialize the entire disk media surface.
Table 5.4 Error recovery procedure (5 of 5) Recovery Recovery processing procedure method Issue the LOG SENSE command and read the "Current" values of the LOG SELECT parameters. Search for any parameter values which exceed the threshold value or have reached the maximum value, then issue the LOG SELECT command from the INIT and perform resetting.
Disk Drive Error Recovery Processing This section explains concerning error recovery processing methods and procedures executed by the IDD for each type of disk drive related error. The INIT can control the error recovery processing methods executed by the IDD using the MODE SELECT parameters. 5.3.1 Error states and retry processing procedures Seek error...
Correctable data read error This error is a correctable ECC error when data are being read. Processing methods when this error is detected differ depending on the values specified in the EER flag and DCR flag in the MODE SELECT parameters. If immediate correction of errors is permitted (DCR = 0, EER = 1), the IDD immediately makes error corrections in the data buffer and sends the corrected data to the INIT.
This function is applied once only during execution of one command. Alternate block allocation processing and copying are executed for the first defective data block to be detected during execution of a command, but if a second defective data block is detected, the command that is being executed at that point is terminated with an error.
Page 300
a. Read/Write Error Recovery Parameters (Page Code = 1) • AWRE (automatic write reallocation enabled) • ARRE (automatic read reallocation enabled) • TB (transfer block) • EER (enable early recovery) • PER (post error) • DTE (disable transfer on error) •...
Table 5.5 Disk drive errors and number of retries Item Type of Error Number of Tries Specification [Default value] Seek Error Number of Retries during a Seek Error [15] Data field Read Error Number of Retries during Read or [64] of Data field Number of Retries during Verify Remark:...
CHAPTER 6 DISK MEDIA MANAGEMENT Defect Management Disk Media Initialization Data Block Verification Methods (Recommended) Alternate Block Allocation Processing In this chapter, disk media defect management methods, treatment methods for media defects which occur during operation, reinitialization procedures and other disk media management methods are discussed.
Page 303
Alternate block allocation Alternate data blocks are allocated in defective sector units for defective data blocks (= sectors) on the disk media by the IDD's internal defect management methods. a. Spare sector area Spare sectors for allocation as alternate blocks are secured in one or both of the following areas.
Page 304
• Alternate block allocation processing during FORMAT UNIT command execution With the FORMAT UNIT command, alternate block allocation is done by sector slip processing until all the spare sectors within the same cylinder have been used up for defective sectors included in the type of defect list (P, G or D) specified in the command.
Disk Media Initialization 6.2.1 Initialization during installation The disk drive is initialized for the inherent (default) data format for each respective model name (model class) when it is shipped from the factory, so ordinarily, it is not necessary to initialized (format) the disk media when it is installed in a system. However, in cases where data attributes which differ from the default format are necessary, initialization (formatting) of the entire disk media by the following procedures is necessary.
Issuing the FORMAT UNIT command Issue the FORMAT UNIT command and initialize the entire disk media surface. In this FORMAT UNIT command, the entire disk media surface is initialized using the P List, then after initialization, the data blocks are verified. If any defective blocks are detected in the Verify operation, alternate blocks are allocated for those data blocks.
Page 307
FORMAT UNIT command Issue the FORMAT UNIT command in either of the following two formats and initialize the entire disk media surface. a) Specify "1" in the "FmtData" bit, "0" in the "CmpLst" bit and "000" in the "Defect List Format"...
Data Block Verification Methods (Recommended) The recommended procedure for verifying from the INIT the normalcy of logical data blocks located on the disk media is as shown below. It is desirable for the INIT to verify the data blocks after initialization of the disk media is completed or when executing alternate block allocation processing by the REASSIGN BLOCKS command.
Page 309
Writing a data pattern Write a data pattern for verification in the data block which is the object. The recommended data pattern at this time is X '0123456789ABCDEF' repeated. The WRITE or WRITE EXTENDED command can be used to write data. Reading and verification of data Issue the READ, READ EXTENDED or VERIFY command and verify that the data written to the disk media in item (2) were read correctly.
Alternate Block Allocation Processing If errors on the disk media which cannot be recovered from are detected, or if a recoverable error occurs repeatedly in the same data block, it is necessary for the INIT to allocate an alternate block for the data block where the error occurred using the REASSIGN BLOCKS command.
Glossary CCS ......Common Command Set This is the standard form of SCSI logical specifications stipulated by the operations subcommittee of the American National Standards Institute (ANSI) which stipulates functions which a direct access device (magnetic disk, etc.) should support. CDB ......
Abbreviations Disable Transfer on Error ACKnowledge Asynchoronous Event Notification ALTernated (block) Error Correction Code ARRE Automatic Read Reallocation Enable Early Recovery Enabled EVPD Enable Vital Product Data ASCII American Standard Code for Information Interchange ASiGned block ATTeNtion Fibre Channel American Wire Gauge Frame Ground AWRE Automatic Write Reallocation...
Page 315
MeSsaGe Transfer Block Tracks Per Inch Original Equipment Manufacturer TeRMinator P list Primary defect list Parts/Number UnitOfl Unit Offline PBdata Physical Block data PC board Printed Circuit board Printed Circuit Assembly Post ERror Voice Coil Motor Page Format Vital Product Data PLOSync Phase Lock Oscillator Syncronous Vendor Unique Partial Medium Indicator...
Index 6-Byte CDB Basic Format 2 - 2 AWRE 4 - 22 10-Byte CDB Basic Format 2 - 2 BA_ACC 1 - 30 Abort Sequence 1 - 29 BA_RJT 1 - 31 ABORT TASK SET 2 - 25 Basic Access 1 - 30 ABTS 1 - 29, 2 - 25 Basic Link Data Specification 1 - 27 Acquisition of loop use rights 2 - 10...
Page 317
Changing the reserve conditions 4 - 74, 4 - 76 Data buffer configuration and basic operation Charge 1 - 12 3 - 1 CHECK CONDITION status 2 - 7 Data Buffer Management 3 - 1 Class 3 Service Parameter 1 - 38 Data byte length/physical sectors 4 - 36 CLEAR TASK SET 2 - 24 Data category on the Loop 1 - 5...
Page 318
Disconnect parameters 4 - 29 Example of data buffer operation during read Disconnect time limit 4 - 31 3 - 3 Disconnecting from the transfer destination Example of data buffer operation during write device 2 - 11 3 - 4 Discontinuity 4 - 45 Example of Establishing Logical Connections Discover Address 1 - 49...
Page 319
FSW 4 - 46 Link Data 1 - 8 Link Service Reject 1 - 54 LIP 1 - 20, 2 - 23 LIP sequences 1 - 20 G List 4 - 93, 6 - 1 LIPA 1 - 22, 1 - 58 G List bit 4 - 109 LIRP 1 - 59 General read 2 - 8...
Page 322
Sense Commands 4 - 1 Sense data 2 - 21, 5 - 1 Tagged queuing 2 - 15 Sense data additional information 5 - 9 Target certification list 4 - 93 Sense data analysis and error recovery methods TARGET RESET 2 - 24 5 - 12 TASK FULL status 5 - 11 Sense data and error recovery methods 5 - 1...
Page 323
Write cache enable 4 - 44 Write Data Transfer 1 - 25 WCE 4 - 44 WRITE EXTENDED 4 - 85 When a Power On, LIP 2 - 17 WRITE LONG 4 - 133 When Start Unit is Issued 4 - 72 Write operation 3 - 3 When Stop Unit is Issued 4 - 73 WRITE phase 1 - 78...
Page 325
46-8-626-4588 FAX: 886-2-717-4644 FUJITSU ITALIA S.p.A. FUJITSU SYSTEMS BUSINESS (MALAYSIA) SDN. BHD. Via Nazario Sauro, 38 20099 Sesto S. Giovanni (MI), ITALY Fujitsu Plaza, 1A, Jalan Tandang 204, P.O. Box 636 Pejabat Pos TEL: 39-2-26294-1 Jalan Sultan FAX: 39-2-26294-201 46770 Petaling Jaya, Selangor Darul Ehsan, Malaysia...
Page 326
FUJITSU LIMITED Reader Comment Form We would appreciate your comments and suggestions for improving this publication. Publication No. Rev. Letter Title Current Date How did you use this publication? Is the material presented effectively? Learning Sales Installing Fully Well Well...