C141-C013-01EN MBA3073RC, MBA3147RC, MBA3300RC SERIES, MBB2073RC, MBB2147RC SERIES, MBC2036RC, MBC2073RC SERIES DISK DRIVES SERIAL ATTACHED SCSI INTERFACE SPECIFICATIONS
FOR SAFE OPERATION Handling of This Manual This manual contains important information for using this product. Read thoroughly before using the product. Use this product only after thoroughly reading and understanding especially the section "Important Alert Items" in this manual. Keep this manual handy, and keep it carefully. FUJITSU makes every effort to prevent users and bystanders from being injured or from suffering damage to their property. Use the product according to this manual.
Revision History (1/1) Edition Date Revised section (*1) (Added/Deleted/Altered) Details 01 2007.02.28 — — *1 Section(s) with asterisk (*) refer to the previous edition when those were deleted.
This page is intentionally left blank.
Preface This manual explains concerning the hard disk drives with internal Serial Attached SCSI (SAS) controller. The purpose of this manual is to provide the specifications and functions of SAS for use of these magnetic disk drives incorporated into user systems, and to present the information necessary for creating host system software. This manual is written for users who have a basic knowledge of hard disk drives and their use in computer systems.
Preface Chapter 6 Sense Data and Error Recovery Methods This chapter describes the configuration and contents of sense data which report to the host system when an error occurs, etc., key information necessary for error recovery, recommended procedures for error recovery to be executed through host system software and retry processing. Chapter 7 Disk Media Management This chapter describes the procedure for initializing the disk media, methods of treating media defects and data recovery methods.
Preface CONVENTIONS USED IN THIS MANUAL The model names of the disk drives covered by this manual differ depending on their device types and capacity (*1). In addition, these disk drives are called Hard Disk Drive (HDD), "drive" or "device" in this manual. Note: Model Name M BA 3 147 RC Interface type Formatted capacity [One gigabyte (GB) = one billion bytes; accessible capacity will be less and actual capacity depends on the operating environment and formatting.] Disk size 3: 3.5 inch 2: 2.
Preface Conventions for Alert Messages This manual uses the following conventions to show the alert messages. An alert message consists of an alert signal and alert statements. The alert signal consists of an alert symbol and a signal word or just a signal word. The following are the alert signals and their meanings: This indicates a hazardous situation likely to result in serious personal injury if the user does not perform the procedure correctly.
Preface MANUAL ORGANIZATION Product Maintenance Manual 1. 2. 3. 4. 5. 6. 7. General Description Specifications Data Format Installation Requirements Installation Diagnostics and Maintenance Error Analysis Interface Specifications (This Manual) 1. 2. 3. 4. 5. 6. 7.
Preface REFERENCED STANDARDS The product specifications and functions described in this manual conform to the following standards: Specification (document) number 6 Name Concerned organization T10/1562-D Revision 05 Serial Attached SCSI (SAS) American national Standards Institute (ANSI) T10/1601-D Revision 10 Serial Attached SCSI-1.1 (SAS-1.
Contents CHAPTER 1 SAS Interface .............................................................................21 1.1 Topologies in SAS Interface ....................................................................22 1.1.1 SAS Layering ........................................................................................23 1.1.2 Physical links and phys .........................................................................24 1.1.3 Ports (narrow ports and wide ports) .............................
Contents 1.4.3.3 BREAK................................................................................................. 48 1.4.3.4 BROADCAST ...................................................................................... 48 1.4.3.5 CLOSE.................................................................................................. 49 1.4.3.6 EOAF (End of address frame) .............................................................. 49 1.4.3.7 ERROR...................................................
Contents 1.5.6 SSP link layer ........................................................................................72 1.5.6.1 SSP frame transmission and reception ..................................................73 1.5.6.2 SSP flow control....................................................................................73 1.5.6.3 Interlocked frames .................................................................................73 1.5.6.4 Closing an SSP connection....................................
Contents 2.8.3 Reserved operation code..................................................................... 118 2.8.4 Error recovery processing................................................................... 118 2.8.5 Abort processing................................................................................. 119 2.8.6 Fatal hardware errors .......................................................................... 122 2.9 CHAPTER 3 2.9.1 Definition of data space ..........................
Contents 4.1.16 LOG SENSE (4D) ...............................................................................192 4.1.17 PERSISTENT RESERVE IN (5E)......................................................194 4.1.18 PERSISTENT RESERVE OUT (5F) ..................................................201 4.1.19 REPORT LUNS (A0)..........................................................................207 4.1.20 REPORT DEVICE IDENTIFIER (A3)...............................................209 4.1.
Contents 5.1.3 Format Parameters (Page Code = 3) ................................................... 289 5.1.4 Drive Parameters (Page Code = 4) ..................................................... 294 5.1.5 Verify Error Recovery Parameters (Page Code = 7) .......................... 296 5.1.6 Caching Parameters (Page Code = 8) ................................................. 298 5.1.7 Control Mode Parameters (Page Code = 0A) ..................................... 304 5.1.
Contents 6.2.1 Termination status analysis and error recovery methods ....................372 6.2.2 Sense data analysis and error recovery methods .................................374 6.2.3 Error logging .......................................................................................382 6.3 CHAPTER 7 Disk Drive Error Recovery Processing .................................................382 6.3.1 Error states and retry processing procedures.......................................382 6.3.
Contents 7.6 SMART (Self-Monitoring Analysis and Reporting Technology)......... 410 7.6.1 Overview ............................................................................................ 410 7.6.2 Data analysis....................................................................................... 411 7.6.3 Failure prediction method................................................................... 412 7.6.4 Reporting function ....................................................................
Contents Illustrations Figures Figure 1.1 SAS drive connection patterns ............................................................. 22 Figure 1.2 SAS control layers................................................................................ 23 Figure 1.3 Physical links and phys ........................................................................ 24 Figure 1.4 Ports (narrow ports and wide ports) ..................................................... 25 Figure 1.5 SAS devices ......................
Contents Table 1.5 Table 1.6 Table 1.7 Table 1.8 Table 1.9 Table 1.10 Table 1.11 Table 1.12 Table 1.13 Table 1.14 Table 1.15 Table 1.16 Table 1.17 Table 1.18 Table 1.19 Table 1.20 Table 1.21 Table 1.22 Table 1.23 Table 1.24 Table 1.25 Table 1.26 Table 1.27 Table 1.28 Table 1.29 Table 1.30 Table 1.31 Table 1.32 Table 1.33 Table 1.34 Table 1.35 Table 1.36 Table 1.37 Table 1.38 Table 1.39 Table 1.40 Table 1.41 Table 1.42 Table 1.43 Table 1.44 Table 1.45 Table 2.1 Table 2.2 Table 2.
Contents Table 2.4 Table 2.5 Table 2.6 Table 2.7 Table 2.8 Table 2.9 Table 2.10 Table 4.1 Table 4.2 Table 4.3 Table 4.4 Table 4.5 Table 4.6 Table 4.7 Table 4.8 Table 4.9 Table 4.10 Table 4.11 Table 4.12 Table 4.13 Table 4.14 Table 4.15 Table 4.16 Table 4.17 Table 4.18 Table 4.19 Table 4.20 Table 4.21 Table 4.22 Table 4.23 Table 4.24 Table 4.25 Table 4.26 Table 4.27 Table 4.28 Table 4.29 Table 4.30 Table 4.31 Table 4.32 Table 4.33 Table 4.34 Table 4.35 C141-C013 Operation code .............................
Contents Table 4.36 Table 4.37 Table 4.38 Table 4.39 Table 4.40 Table 4.41 Table 4.42 Table 4.43 Table 4.44 Table 4.45 Table 4.46 Table 4.47 Table 4.48 Table 4.49 Table 4.50 Table 4.51 Table 4.52 Table 4.53 Table 4.54 Table 4.55 Table 4.56 Table 4.57 Table 4.58 Table 4.59 Table 4.60 Table 4.61 Table 4.62 Table 4.63 Table 4.64 Table 4.65 Table 5.1 Table 5.2 Table 5.3 Table 5.4 Table 5.5 Table 5.6 Table 5.7 Table 5.8 Table 5.9 18 Defect list format............................................................
Contents Table 5.10 Table 5.11 Table 5.12 Table 5.13 Table 5.14 Table 5.15 Table 5.16 Table 5.17 Table 5.18 Table 5.19 Table 5.20 Table 5.21 Table 5.22 Table 5.23 Table 5.24 Table 5.25 Table 5.26 Table 5.27 Table 5.28 Table 5.29 Table 5.30 Table 5.31 Table 5.32 Table 5.33 Table 5.34 Table 5.35 Table 5.36 Table 5.37 Table 5.38 Table 5.39 Table 5.40 Table 5.41 Table 5.42 Table 5.43 C141-C013 MODE SELECT parameters: notch parameters................................
Contents Table 5.44 Total unrecoverable verify errors posted to INIT (page 05, code 0006) .......................................................................................... 341 Table 5.45 Non-medium error count page (X'06')................................................ 342 Table 5.46 Temperature page (X'0D') .................................................................. 342 Table 5.47 Temperature (page 0D, code 0000) .................................................... 343 Table 5.
CHAPTER 1 SAS Interface 1.1 Topologies in SAS Interface 1.2 Names and identifiers 1.3 Phy layer 1.4 Link layer 1.5 Address frames 1.6 Transport layer This chapter describes the topology, interface protocol, and operation of the SAS interface.
SAS Interface 1.1 Topologies in SAS Interface As shown in Figure 1.1, SAS drives have two connection patterns: point-topoint connection and expander connection. Figure 1.1 SAS drive connection patterns SAS supports the three protocols listed below. Among these protocols, SAS drives support only SSP.
1.1 Topologies in SAS Interface 1.1.1 SAS Layering As shown in Figure 1.
SAS Interface 1.1.2 Physical links and phys A physical link is a set of four wires used as two differential signal pairs. One differential signal transmits in one direction while the other differential signal transmits in the opposite direction. Data may be transmitted in both directions simultaneously. A physical phy contains a transceiver which electrically interfaces to a physical link, which attaches to another physical phy. Phys are contained in ports. Phys interface to the service delivery subsystem.
1.1 Topologies in SAS Interface A wide port is created if there is more than one phy in the port. A narrow port is a port with only one phy. A wide link is the set of physical links that attach a wide port to another wide port. A narrow link is the physical link that attaches a narrow port to another narrow port. Figure 1.4 shows examples of narrow ports and wide ports, with a representation of the SAS address transmitted during the identification sequence.
SAS Interface 1.1.4 SAS devices A SAS device contains one or more SAS ports, each containing one or more phys (i.e., a SAS port may be a narrow port or a wide port). Each single HDD unit is a separate SAS device. Usually, it is a single port or dual port device, but does not use a wide port. Figure 1.5 shows examples of SAS devices with different port and phy configurations. Figure 1.
1.1 Topologies in SAS Interface 1.1.5 Pathways A potential pathway is a set of physical links between a SAS INIT phy and a SAS TARG phy. When a SAS INIT phy is directly attached to a SAS TARG phy, there is one potential pathway. When there are expander devices between a SAS INIT phy and a SAS TARG phy, there are multiple potential pathways, each consisting of a set of physical links between the SAS INIT phy and the SAS TARG phy. The physical links may or may not be using the same physical link rate.
SAS Interface 1.1.6 Connections A connection is a temporary association between a SAS INIT port and a SAS TARG port. During a connection all dwords from the SAS INIT port are forwarded to the SAS TARG port, and all dwords from the SAS TARG port are forwarded to the SAS INIT port. A connection is pending when an OPEN address frame has been delivered along a completed pathway to the destination phy but the destination phy has not yet responded to the connection request.
1.2 Names and identifiers 1.2 Names and identifiers Device names are worldwide unique names for devices within a transport protocol. Port names are worldwide unique names for ports within a transport protocol. Port identifiers are the values by which ports are identified within a domain, and are used as SAS addresses. Phy identifiers are unique within a device. 1.2.1 SAS addresses Table 1.1 defines the SAS address format.
SAS Interface 1.2.2 Hashed SAS address SSP frames include a hashed version of the SAS address to provide an additional level of verification of proper frame routing. The code used for the hashing algorithm is a cyclic binary Bose, Chaudhuri, and Hocquenghem (BCH) (63, 39, 9) codes. Table 1.2 lists the parameters for the code. Table 1.
1.3 Phy layer 1.3 Phy layer In the phy layer, 8b10b coding and the link reset sequence are defined. 1.3.1 8b10b coding All information transferred in SAS is encoded into 10-bit characters using 8b10b encoding. Information includes data bytes representing data in a frame and control characters used for frame delimiters. Ten-bit characters are transferred in units of dwords, where a dword contains four ten-bit characters.
SAS Interface multiple bit errors that may occur during transmission and reception of information. In addition, some of the control characters of the transmission code contain a distinct and easily recognizable bit pattern called a comma pattern which assists a receiver in achieving character and dword alignment on the incoming bit stream. 1.3.2 Link reset sequence The link reset sequence consists of the phy reset sequence and the identification sequence.
1.3 Phy layer 1.3.3 Start conditions of the link reset sequence Drives start the link reset sequence when they detect any of the following conditions: • The power is turned on. • A loss of signal is detected (OOB from the INIT). • A loss of sync is detected. • A HARD_RESET primitive is received during the link reset sequence. • A hot-plug timeout (500 ms) is detected during the link reset sequence. • The IDENTIFY address frame could not be received. 1.3.
SAS Interface Table 1.5 OOB signal transmitter requirements Signal Burst time Idle time Negation time COMINIT/RESET 160 OOBI 480 OOBI 800 OOBI COMSAS 160 OOBI 1440 OOBI 2400 OOBI To transmit an OOB signal, a transmitter shall repeat these steps six times: 1) transmit D.C. idle for an idle time; and 2) transmit an ALIGN burst for a burst time. It shall then transmit D.C. idle for an OOB signal negation time. The ALIGNs used in OOB signals should be at generation 1 (G1) physical link rates (i.e.
1.3 Phy layer Table 1.6 describes the OOB signal receiver requirements for detecting burst times, assuming Tburst is the length of the detected burst time. The burst time is not used to distinguish between signals. Table 1.6 OOB signal receiver burst time detection requirements Signal Detection requirements may detect shall detect COMINIT/COMRESET Tburst ≤ 100 ns Tburst > 100 ns COMSAS Tburst ≤ 100 ns Tburst > 100 ns Table 1.
SAS Interface Figure 1.9 describes SAS OOB signal detection by the SP receiver. COMRESET/COMINIT 1 2 3 4 Any transitions n COMINIT negation COMINIT detected COMSAS 2 1 3 4 n COMSAS negation Any transitions n idle ALIGN burst nth idle/Burst pair COMSAS detected idle/Burst pair Figure 1.9 OOB signal detection 1.3.5 SAS OOB sequency During the OOB sequence, the INIT and the drive first send the COMINIT signal to each other, then the COMSAS signal.
1.
SAS Interface 1.3.5.1 Exception handling in the OOB sequence • When the COMINIT signal cannot be detected When a drive sends the COMINIT signal but the COMINIT signal from the other side cannot be detected, the drive waits for the reception of the COMINIT signal from the INIT or expander until the hot-plug timeout time (500 ms) elapses.
1.3 Phy layer ALIGN(0)s ALIGN(1)s Speed negotiation lock time(SNLT) Rate change delay time (RCDT) Speed negotiation transmit time(SNTT) Speed negotiation window Figure 1.11 SAS speed negotiation window Table 1.9 defines the timing specifications for the SAS speed negotiation sequence. Table 1.9 SAS speed negotiation sequence timing specifications Parameter Time Comments 750 000 OOBI The time the transmitter shall transmit D.C. idle between rates during speed negotiation.
SAS Interface If the phy supports the physical link rate, it shall attempt to synchronize on an incoming series of dwords at that rate for the SNLT. The received dwords may be ALIGN (0) or ALIGN (1) primitives. If the phy achieves dword synchronization within the SNLT, it shall change from transmitting ALIGN (0) primitives to transmitting ALIGN (1) primitives for the remainder of the SNTT (i.e., the remainder of the speed negotiation window).
1.3 Phy layer no dword sync RCD dword sync RCD no dword sync SNTT SNTT Phy A Tx/ RCD RCD SNTT dword sync SNTT Phy B Rx RCD RCD dword sync SNTT SNTT Phy A Rx/ Phy B Tx RCD SNTT Not supported Not supported by phy B by phy B G1 rate G2 rate G3 rate dword sync SNTT G2 rate (negotiated rate) Time z: SAS speed negotiation sequence begins ALIGN(0)s ALIGN(1)s Time Figure 1.
SAS Interface 1.3.6.1 Phy reset sequence after devices are attached Since SAS signal cable connector does not include power lines, it is not possible to detect the physical insertion of the signal cable connector onto a plug. Noncabled environments may similarly not have a way to detect physical insertion of a device. As a result, every time a phy reset sequence is originated: Figure 1.14 shows how two phys complete the phy reset sequence if the phys are not attached at power on.
1.3 Phy layer 1.3.6.2 When the speed negotiation sequence is successful When the speed negotiation sequence is successful, the identification sequence (sending and receiving the IDENTIFY frame) is performed subsequently. However, the INIT may have started the hard reset sequence at the time when the drive starts the identification sequence. In this case, the drive will start the link reset sequence, because it receives the HARD_RESET. 1.3.6.
SAS Interface 1.4 Link layer The link layer defines primitives, address frames, and connections. 1.4.1 Primitives Table 1.10 defines the primitives not specific to the type of connection. Table 1.10 Primitives not specific to type of connection (1/2) From Primitive To Sequence USE (*4) I E T I E T Type SAS 1.1 FJ supported rev.
1.4 Link layer Table 1.10 Primitives not specific to type of connection (2/2) From Primitive To Sequence USE (*4) SAS 1.1 FJ supported rev.
SAS Interface Table 1.11 Primitives used only inside SSP and SMP connections From Primitive To Sequence USE (*4) I E T I E T Type SAS 1.1 FJ supported rev.
1.4 Link layer 1.4.2 Primitive sequences Table 1.12 summarizes the types of primitive sequences. Table 1.
SAS Interface Phys shall use ALIGN (0) to construct OOB signals as described in 6.6. Phys shall use ALIGN (0) and ALIGN (1) during the speed negotiation sequence as described in 6.7.4.2. Phys shall rotate through ALIGN (0), ALIGN (1), ALIGN (2), and ALIGN (3) for all ALIGNs sent after the phy reset sequence. 1.4.3.3 BREAK The BREAK primitive is used to cancel the connection request, or to cancel the connection. The BREAK primitive is sent in cases 1) to 4) shown below.
1.4 Link layer 1.4.3.5 CLOSE A CLOSE primitive is used to close a connection. When a CLOSE primitive is sent, the close timer (1 ms) is started. If a CLOSE primitive is not received within 1 ms of sending CLOSE primitive, the BREAK primitive is sent. The recipient must send a CLOSE primitive within 1 ms of receiving a CLOSE primitive. Drives support only the CLOSE (NORMAL) primitive as a CLOSE primitive, while the CLOSE (CLEAR AFFILIATION), CLOSE (RESERVED 0), and CLOSE (RESERVED 1) primitives are ignored.
SAS Interface 1.4.3.9 NOTIFY The NOTIFY (ENABLE SPINUP) primitive is sent by a SAS INIT device or expander device. When receiving the NOTIFY (ENABLE SPINUP) primitive in the active wait state of SCSI power conditions, a drive enters the active state. A NOTIFY primitive is sometime used as a substitute for an ALIGN primitive, and it is sent by the initiator or expander at regular intervals.
1.4 Link layer Table 1.13 OPEN_REJECT abandon primitives Primitive Issuer Processing by the drive that receives the OPEN_REJECT primitive OPEN_REJECT (BAD DESTINATION) Expander phy Cancels the connection request, and aborts the TASK (command). OPEN_REJECT (CONNECTION RATE NOT SUPPORTED) Any phy 1) When the physical link rate is 3.0 Gbps and the connection link rate is 3.0 Gbps, the drive changes the connection rate to 1.5 Gbps, and resends the OPEN frame. 2) When the physical link rate is 3.
SAS Interface Table 1.14 OPEN_REJECT retry primitives Primitive OPEN_REJECT (NO DESTINATION) Issuer Expander phy Processing by the drive that receives the OPEN_REJECT primitive 1) If the I_Tnexus loss timer is working, the drive leaves the timer working. If the I_Tnexus loss timer has expired, the drive aborts all the commands of the relevant initiator. Otherwise, if the timer has not expired, the drive resends the OPEN frame.
1.4 Link layer 4) When, in contradiction to the fact that the physical link rate is 1.5 Gbps, the CONNECTION RATE field in a received OPEN frame is 3.0G, the drive sends the OPEN_REJECT (CONNECTION RATE NOT SUPPORTED) primitive. 5) A dual port drive may process requests from up to four INITs at a time for each port.
SAS Interface 1.4.4 Primitives used only inside SSP and SMP connections 1.4.4.1 ACK (acknowledge) The ACK primitive indicates that an SSP frame is received normally. When a drive receives an SSP frame, and the CRC field in the received SSP frame is correct, the drive sends the ACK primitive within 1 ms. 1.4.4.2 CREDIT_BLOCKED The CREDIT_BLOCKED primitive indicates that no more credits can be sent during this connection.
1.4 Link layer Table 1.15 DONE primitives primitive Description DONE (ACK/NAK TIMEOUT) When the sender of an SSP frame does neither receive the ACK nor the NAK primitive after sending the SSP frame, the sender sends the DONE (ACK/NAK TIMEOUT) primitive. DONE (RESERVED TIMEOUT 0) This primitive is processed in the same manner as the DONE (ACK/NAK TIMEOUT) primitive. DONE (RESERVED TIMEOUT 1) This primitive is processed in the same manner as the DONE (ACK/NAK TIMEOUT) primitive.
SAS Interface Meanwhile, when a drive receives the DONE primitive, the drive performs the following processing: 1) If the drive has SSP frames to send at the time of the receipt of the DONE primitive from the initiator, the drive can send as many SSP frames as there are credits being held at this time. 2) If the drive has no SSP frames to send at the time of the receipt of the DONE primitive from the initiator, the drive sends the DONE (NORMAL) primitive.
1.4 Link layer 1.4.5 Clock skew management The internal clock for a device is typically based on a PLL with its own clock generator and is used when transmitting dwords on the physical link. When receiving, however, dwords need to be latched based on a clock derived from the input bit stream itself. Although the input clock is nominally a fixed frequency, it may differ slightly from the internal clock frequency up to the physical link rate tolerance.
SAS Interface 1.4.7 Scrambling Scrambling is used to reduce the probability of long strings of repeated patterns appearing on the physical link. All data dwords are scrambled. Table 1.17 lists the scrambling for different types of data dwords. Table 1.
1.5 Address frames 1.5 Address frames 1.5.1 Address frames overview Address frames are used for the identification sequence and for connection requests. The address frame follows an SOAF and ends with an EOAF. Address frames shall only be sent outside connections. Address frames shall not be terminated early. All data dwords in an address frame shall be scrambled. Table 1.18 defines the address frame format. Table 1.
SAS Interface 1.5.2 IDENTIFY address frame Table 1.19 defines the IDENTIFY address frame format used for the identification sequence. The IDENTIFY address frame is sent after the phy reset sequence completes if the physical link is a SAS physical link. Table 1.
1.5 Address frames An SSP INITIATOR PORT bit set to one specifies that an SSP INIT port is present. An SSP INITIATOR PORT bit set to zero specifies that an SSP INIT port is not present. Expander devices shall set the SSP INITIATOR PORT bit to zero. An SSP TARGET PORT bit set to one specifies that an SSP TARG port is present. An SSP TARGET PORT bit set to zero specifies that an SSP TARG port is not present. Expander devices shall set the SSP TARGET PORT bit to zero.
SAS Interface 1.5.3 OPEN address frame Table 1.21 defines the OPEN address frame format used for connection requests. Table 1.
1.5 Address frames The ADDRESS FRAME TYPE field shall be set to 1h. The FEATURES field shall be set to zero. The CONNECTION RATE field specifies the connection rate being requested between the source and destination, and is defined in Table 1.23. Table 1.23 CONNECTION RATE field Code Description 8h 1,5 Gbps 9h 3,0 Gbps All others Reserved When requesting a connection to a SAS TARG port, a SAS INIT port shall set the CONNECTION RATE field to a value supported by at least one potential pathway.
SAS Interface The COMPATIBLE FEATURES field is set to zero. The destination device ignores the COMPATIBLE FEATURES field. The PATHWAY BLOCKED COUNT field specifies the number of times the port has retried this connection request due to receiving OPEN_REJECT (PATHWAY BLOCKED). The port shall not increment the PATHWAY BLOCKED COUNT value past FFh. If the port changes connection requests, it shall use a PATHWAY BLOCKED COUNT of 00h.
1.5 Address frames • DESTINATION SAS ADDRESS: The SAS address when an initiator makes a connection request • SOURCE SAS ADDRESS: The SAS address of the drive • PATHWAY BLOCKED COUNT: At the time of the first connection request, this field is set to 0h. Otherwise, it indicates how many times the OPEN_REJECT (PATHWAY BLOCKED) primitive has been received. • ARBITRATION WAIT TIME: At the time of the first connection request, this field is set to 0h.
SAS Interface 1.5.5 Connections 1.5.5.1 Connections overview A connection is opened between a SAS INIT port and a SAS TARG port before communication begins. A connection is established between one SAS INIT phy in the SAS INIT port and one SAS TARG phy in the SAS TARG port. SSP INIT ports open SSP connections to transmit SCSI commands, task management functions, or transfer data. SSP TARG ports open SSP connections to transfer data or transmit status.
1.5 Address frames 1.5.5.3 Connection responses Table 1.25 lists the responses to an OPEN address frame being transmitted. Table 1.25 Connection responses Response Description AIP Arbitration in progress. When an expander device is trying to open a connection to the selected destination port, it returns an AIP to the source phy. The source phy shall reinitialize and restart its Open Timeout timer when it receives an AIP.
SAS Interface Each SAS port and expander port shall include an Arbitration Wait Time timer which counts the time from the moment when the port makes a connection request until the request is accepted or rejected. The Arbitration Wait Time timer shall count in microseconds from 0 µs to 32 767 µs and in milliseconds from 32 768 µs to 32 767 ms + 32 768 µs. The Arbitration Wait Time timer shall stop incrementing when its value reaches 32 767 ms + 32 768 µs. SAS ports (i.e.
1.5 Address frames 1.5.5.5 Aborting a connection request BREAK may be used to abort a connection request. The source phy shall transmit a BREAK after the Open Timeout timer expires or if it chooses to abort its request for any other reason. After transmitting BREAK, the source phy shall initialize a Break Timeout timer to 1 ms and start the Break Timeout timer. Table 1.27 lists the responses to a BREAK being transmitted before a connection response has been received. Table 1.
SAS Interface 1.5.5.6 Closing a connection CLOSE is used to close a connection of any protocol. After transmitting CLOSE, the source phy shall initialize a Close Timeout timer to 1 ms and start the Close Timeout timer. Table 1.28 lists the responses to a CLOSE being transmitted. Table 1.28 Close connection responses Response Description CLOSE This confirms that the connection has been closed. Close Timeout timer expires The originating phy shall attempt to break the connection. Figure 1.
1.5 Address frames 1.5.5.7 Breaking a connection In addition to aborting a connection request, BREAK may also be used to break a connection, in cases where CLOSE is not available. After transmitting BREAK, the originating phy shall ignore all incoming dwords except for BREAKs. After transmitting BREAK, the source phy shall initialize a Break Timeout timer to 1 ms and start the Break Timeout timer. Table 1.29 lists the responses to a BREAK being transmitted after a connection has been established. Table 1.
SAS Interface Table 1.30 Rate matching ALIGN and/or NOTIFY insertion requirements Physical link rate Connection rate 1,5 Gbps 1,5 Gbps None 1,5 Gbps One ALIGN or NOTIFY within every 2 dwords that are not clock skew management ALIGNs or NOTIFYs (i.e.
1.5 Address frames 1.5.6.1 SSP frame transmission and reception During an SSP connection, SSP frames are preceded by SOF and followed by EOF. The last data dword after the SOF prior to the EOF always contains a CRC. An SSP phy checks the frame length and validity of the CRC. Receiving phys must acknowledge ACK or NAK within 1 ms if there is no condition for discarding frames. The ACK primitive indicates that SSP frames have been received into a frame buffer without errors.
SAS Interface Table 1.31 SSP frame interlock requirements SSP frame type Interlock requirement COMMAND Interlocked TASK Interlocked XFER_RDY Interlocked DATA Non-interlocked RESPONSE Interlocked Before transmitting an interlocked frame, an SSP phy shall wait for all SSP frames to be acknowledged with ACK or NAK, even if credit is available.
1.5 Address frames Of the primitives that may be inserted in SSP frames sent from the SSP INIT port and expander port, a drive can detect the following: a) ACK b) NAK c) RRDY d) CREDIT_BLOCKED e) NOTIFY f) BREAK g) ERROR Meanwhile, the primitives that may be inserted in SSP frames sent from the drive are as follows: a) ACK b) NAK c) RRDY d) CREDIT_BLOCKED Figure 1.17 shows an example of the transfer of interlocked frames. Figure 1.
SAS Interface Figure 1.18 Non-interlocked frames with the same tag Figure 1.19 Non-interlocked frames with different tags 1.5.6.4 Closing an SSP connection DONE shall be exchanged prior to closing an SSP connection.
1.5 Address frames b) DONE (CREDIT TIMEOUT) specifies that the transmitter still has SSP frames to transmit but did not receive an RRDY granting frame credit within 1 ms, or the transmitter has received a CREDIT_BLOCKED and has consumed all RRDYs received; and c) DONE (ACK/NAK TIMEOUT) specifies that the transmitter transmitted an SSP frame but did not receive the corresponding ACK or NAK within 1 ms.
SAS Interface 1.6 Transport layer 1.6.1 SSP frame format This layer defines the processing of each of a COMMAND frame, TASK frame, DATA frame, XFER_RDY frame and RESPONSE frame. Table 1.32 contains the definitions of the SSP frame format. An SSP frame consists of the header part, information unit part, and CRC. Table 1.
1.6 Transport layer Table 1.33 defines the FRAME TYPE field. Table 1.
SAS Interface The TAG field contains a value that allows the SSP INIT port to establish a context for commands and task management functions. For COMMAND frames and TASK frames, the SSP INIT port shall set the TAG field to a value that is unique for the I_T nexus established by the connection. An SSP INIT port shall not reuse the same tag when transmitting COMMAND frames or TASK frames to different LUNs in the same SSP TARG port.
1.6 Transport layer If necessary, fill bytes are placed after the INFORMATION UNIT field so that the CRC field is aligned on a four-byte boundary. The number of the fill bytes is specified by the NUMBER OF FILL BYTES field. If the transferred bytes in the last DATA frame are not aligned on a four byte boundary, this field is set to the number of the extra bytes (4 - the remainder of (the number of transferred bytes/4) bytes).
SAS Interface ATTRIBUTE code is specified, a drive will treat the task as one with the SIMPLE task attribute. Table 1.35 TASK ATTRIBUTE field Code Task attribute 000b SIMPLE 001b HEAD OF QUEUE 010b ORDERED 011b Reserved 100b ACA (not supported) 101b-111b Reserved The ADDITIONAL CDB LENGTH field contains the length of the ADDITIONAL CDB field in dwords (four bytes). A drive expects a max 64-byte long COMMAND frame.
1.6 Transport layer • TAG field The drive checks for duplication of tags. If a tag is found to be duplicated in the SAS address of the port, the drive sends the ACK primitive to temporarily close the connection. Then, after re-establishing a connection, the drive reports the CHECK CONDITION status with the OVERLAPPED COMMANDS DETECTS error. At this time, the drive aborts processing of all the commands received from the SAS address of the port.
SAS Interface 1.6.2.2 TASK information unit Table 1.36 defines the task management function IU. The TASK frame is sent by an SSP INIT port to request that a task management function be processed by the task manager in a logical unit. Table 1.
1.6 Transport layer Table 1.37 TASK MANAGEMENT FUNCTION field Task Management function Code LOGICAL UNIT NUMBER field TAG OF TASK TO BE MANAGED Field Description 01h ABORT TASK yes yes Aborts a task that matches with respect to I-T-L-Q. 02h ABORT TASK SET yes no Aborts all the tasks that match with respect to I-T-L. Aborts all the tasks of the INIT. Reports UNIT ATTENTION (06/2F/00) to the INIT other than nexus that performed abort processing.
SAS Interface The drive checks for duplication of tags between multiple TASK frames or between a COMMAND frame and a TASK frame. If a tag is found to be duplicated in the INIT, the drive sends the ACK primitive to temporarily close the connection. Then the drive reports the RESPONSE CODE of the OVERLAPPED TAG ATTEMPTED (0x0A). • CRC field When a CRC error is detected, the drive sends the NAK primitive, and discards the TASK frame.
1.6 Transport layer If any additional XFER_RDY frames are required, the REQUESTED OFFSET field must be set to the value of the REQUESTED OFFSET in the previous XFER_RDY frame plus the value of the WRITE DATA LENGTH field in the previous XFER_RDY frame. The WRITE DATA LENGTH field contains the number of bytes of write data the SSP INIT port will send to the logical unit from the application client buffer starting at the requested offset.
SAS Interface LENGTH First frame 0000h 0400h Second frame 0400h 0400h Third frame 0800h 0400h • WRITE DATA LENGTH field This field is used to set the number of data bytes that the drive can receive. The WRITE DATA LENGTH field indicates the actual number of data bytes to be received by the drive, and may not be divisible by four. Figure 1.21 shows an example case where multiple XFER_RDY frames are sent. Figure 1.
1.6 Transport layer 1.6.2.4 DATA information unit Table 1.40 defines the data IU. The DATA frame is sent by an SSP INIT port to deliver write data (i.e., a write DATA frame) and is sent by an SSP TARG port to deliver read data (i.e., a read DATA frame). The maximum size of the data IU is the maximum size of any IU in an SSP frame. The minimum size of the data IU is one byte. Table 1.
SAS Interface The initial read DATA frame for a given command shall set the DATA OFFSET field to zero. If any additional read DATA frames are required, the DATA OFFSET field shall be set to the value of the previous read DATA frame's data offset plus the previous read DATA frame's data length. The initial write DATA frame for a given command shall set the DATA OFFSET field to zero.
1.6 Transport layer • DATA OFFSET field The DATA OFFSET field is used to check whether frames are being transferred in the correct order. When the drive receives a frame with an offset value that the drive does not expect, the drive sends the ACK primitive and CREDIT_BLOCKED primitive, and discards the DATA frame. At this time, after temporarily closing the connection, the drive re-opens a connection and sends the SENSE DATA for DATA OFFSET ERROR.
SAS Interface 1.6.2.5 RESPONSE information unit Table 1.41 defines the response IU. The RESPONSE frame is sent by an SSP TARG port to deliver SCSI status (e.g., GOOD or CHECK CONDITION) and sense data, or to deliver SSP-specific status (e.g., illegal frame format). The maximum size of the RESPONSE frame is the maximum size of any IU in an SSP frame. Table 1.
1.6 Transport layer The SSP TARG port shall return a RESPONSE frame with the DATAPRES field set to RESPONSE_DATA in response to every TASK frame and in response to errors that occur while the transport layer is processing a COMMAND frame. The SSP TARG port shall return a RESPONSE frame with the DATAPRES field set to SENSE_DATA if a command completes with sense data to return (e.g., CHECK CONDITION status).
SAS Interface Table 1.43 RESPONSE DATA field Bit 7 Byte 6 5 4 3 0 Reserved 1 Reserved 2 Reserved 3 RESPONSE CODE 2 1 0 Table 1.44 defines the RESPONSE CODE field, which specifies the error condition or the completion status of a task management function. Table 1.
1.6 Transport layer When the drive sends a RESPONSE frame, the following values are set: • HASHED DESTINATION SAS ADDRESS field The hashed SAS address of the COMMAND frame is set. • HASHED SOURCE SAS ADDRESS field The hashed SAS address of the drive is set. • NUMBER OF FILL BYTES field Set to zero. • RETRANSMIT bit When Ack timeout occurs after the drive sends a RESPONSE frame, the drive resends the RESPONSE frame with this bit set to 1. • TAG field The tag value of the COMMAND frame is set.
SAS Interface 1.6.3 Sequences of SSP frames Figure 1.22, Figure 1.23, and Figure 1.24 show examples of the sequences of frames for single task management functions and commands. Frames may be interleaved in any order when multiple commands and/or task management functions are outstanding. Frames may be transmitted during one or more connections (e.g.
1.6 Transport layer Figure 1.23 shows the sequence of SSP frames for a write command. Figure 1.23 Example of write command Figure 1.24 shows the sequence of SSP frames for a read command. Figure 1.
SAS Interface 1.6.4 Exceptional event processing of a drive If an exceptional event of the SAS protocol system (refer to Table 1.45) occurs in a drive, the drive temporarily rejects an SSP frame from the SSP INIT port due to recovery processing (abort processing). Therefore, the drive may return the OPEN_REJECT (RETRY) primitive for the connection request from an initiator. This is because the drive cannot perform abort processing completely while receiving an SSP frame from the SSP INIT port.
1.6 Transport layer Figure 1.25 shows an example of the processing sequence a drive performs for an exceptional event. Figure 1.
SAS Interface Table 1.45 lists the events for which a drive performs exceptional event processing. Table 1.45 Exceptional event processing of a drive (1/2) Exceptional event TASK management Processing TASK frame (ABORT TASK) Aborts a task that matches with respect to I-T-L-Q, and reports TASK MANAGEMENT FUNCTION COMPLETE. TASK frame (ABORT TASK SET) Aborts all the tasks that match with respect to I-T-L, and reports TASK MANAGEMENT FUNCTION COMPLETE.
1.6 Transport layer Table 1.45 Exceptional event processing of a drive (2/2) Exceptional event Transmitting system Others Processing Ack timeout in XFER_RDY sending Reports for ACK/NAK TIMEOUT (0B/4B/03). NAK reception in XFER_RDY sending Reports for NAK RECEIVED (0B/4B/04). ACK timeout in DATA frame sending Reports for ACK/NAK TIMEOUT (0B/4B/03). NAK reception in DATA frame sending Reports for NAK RECEIVED (0B/4B/04).
SAS Interface 102 C141-C013
CHAPTER 2 Command Processing 2.1 Command Format 2.2 Status Byte 2.3 Command Queuing Function 2.4 UNIT ATTENTION Condition 2.5 Sense Data Hold State 2.6 Power Condition 2.7 LED Display 2.8 Command Processing Exceptions 2.9 Data Block Addressing In this chapter, the basic theory and specifications concerning HDD command processing functions are described. The HDD operates as the target (TARG).
Command Processing Table 2.1 6-Byte CDB basic format Bit Byte 7 6 5 0 4 3 2 1 0 Operation Code 1 Reserved Logical Block Address (MSB) 2 Logical Block Address 3 Logical Block Address (LSB) 4 Transfer Data Length 5 Control Byte Table 2.
2.1 Command Format Table 2.3 12-Byte CDB basic format Bit Byte 7 6 5 4 0 3 2 1 0 0 0 0 0 0 Operation Code 1 Reserved 0 0 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 Transfer Data Length (MSB) 7 Transfer Data Length (LSB) 8 Transfer Data Length (MSB) 9 Transfer Data Length (LSB) 10 0 0 0 11 0 0 0 Control Byte The meanings of each of the fields in the CDB are explained below.
Command Processing Group 3 ("011"): Reserved Operation Code (Shown in Section (6)) Group 4 ("100"): 16-byte CDB Group 5 ("101"): 12-byte CDB (Shown in Table 2.3) Group 6 ("110"): Vendor unique CDB (shown in Section 2.8.3) Group 7 ("111"): Vendor unique CDB (shown in Section 2.8.3) b. Command code The command code specifies the type of command in each group.
2.1 Command Format b. Transfer byte length or parameter list length When the transfer data length is specified as the "Transfer Byte Length" or "Parameter List Length", this field specifies the length of the data transferred between the INIT and HDD by that command in number of bytes. When zero is specified in this field, data transfer is not executed, except in cases where it is particularly stipulated in the specifications for individual commands in Chapter 4.
Command Processing 2.2 Status Byte The format of the status byte and the types of status which the HDD supports are shown in Table 2.6. The status byte is 1 byte of information in the RESP (response) frame which notifies the INIT from the TARG after a command is completed, and which shows the results of executing the command. Also, when an Input/Output operation request has been received, even if the TARG cannot execute the command, the status byte is reported.
2.2 Status Byte c) Any cases other than the above indicate that it was impossible to execute the command or the command ended abnormally. (3) CONDITION MET Status Not supported. (4) BUSY status This status indicates that the HDD is busy, and it cannot accept a new command. Usually, an INIT that has received this status re-issues the same command after an adequate period of time.
Command Processing 2.3 Command Queuing Function The HDD is equipped with the command queuing function. Through command queuing, the HDD can receive multiple commands in advance and can execute them. Through the tagged queuing function, the HDD can receive multiple commands from the same INIT or from different INITs until the command queue is full. The number of commands that can be received by the HDD is 128 per HDD, without relation to the INIT.
2.4 UNIT ATTENTION Condition The RESERVE, RELEASE, RESERVE EXTENDED, and RELEASE EXTENDED commands should be issued with the specification of ORDERED QUEUE. If any of these commands is issued with the specification of HEAD OF QUEUE, the command may cause the duplicated reserved status with a command that has been issued before. Since the TEST UNIT READY and INQUIRY commands do not affect the HDD status, they can be issued with the specification of HEAD OF QUEUE.
Command Processing (4) Commands cleared by another INIT If the following events have occurred, the command which is currently being executed and commands in the queue are cleared, and this Unit Attention condition is generated. • The CLEAR TASK SET is issued by any INIT. • An INIT reports an error when the QErr bits of MODE SELECT parameter page A are set to "01'.
2.5 Sense Data Hold State (2) INQUIRY command The INQUIRY command is executed normally, but the Unit Attention condition is not cleared. (3) REQUEST SENSE command The HDD executes the REQUEST SENSE command normally, and sends the sense data which show the Unit Attention condition which is currently being held to the INIT. At this time, the Unit Attention condition with respect to that INIT is cleared.
Command Processing 2.6 Power Condition The HDD has three power condition states: Active, Active_Wait, and Stopped. Powered_On Active_Wait Active NOTIFY (ENABLE SPINUP) Stopped STOP STOP START • Active_Wait state In this state, the HDD is waiting for motor start with NOTIFY (ENABLE SPINUP). When the HDD receives a command that cannot be executed due to "not ready" during this state, the HDD reports the CHECK CONDITION status.
2.7 LED Display The HDD enters the Active_Wait state after the power is turned on. When the spindle motor reaches the state of steady rotation with NOTIFY for the first time after the power is turned on, the HDD reads the "System Information" from the system space on the disk drive and initializes each type of control information. ("System information" includes such information as information on MODE SELECT parameters and disk media defects).
Command Processing Table 2.7 LED display Mode Page 19 Ready LED Meaning 0 1 a) On when a command is not being executed. Active state (power condition) b) Flashes when a command is being executed (50 ms/ON, 50 ms/OFF). a) Off when a command is not being executed. Active_Wait or Stopped state (power condition) b) Flashes when a command is being executed (50 ms/ON, 50 ms/OFF). a) Off when a command is not being executed. b) Flashes when a command is being executed (50 ms/ON, 50 ms/OFF).
2.8 Command Processing Exceptions The HDD terminates abnormally all commands and tasks (which are being executed or are being queued) which it has already received from an overlapping INIT and also terminates abnormally both the command or task that caused the overlap, in the order described below. 1) If, during execution of a command received from an INIT, the HDD terminates execution of the command. If the command is still in the queue and has not yet been executed, the HDD clears that command.
Command Processing 2.8.3 Reserved operation code Group 6, 7 command operation codes (X'C0' ~ X'FF') are reserved by Fujitsu. When any command which has these operation codes is issued, the HDD may not necessarily respond with the CHECK CONDITION status (ILLEGAL REQUEST [= 5] Invalid command operation code [= 20-00]). The INIT must not issue commands which have these operation codes. 2.8.
2.8 Command Processing Exceptions The start of execution timing for this automatic readjustment operation is ordinarily impossible for the INIT to predict. The automatic readjustment operation is performed when there is no command being executed or waiting in the queue, but execution of commands issued immediately after the HDD starts a readjustment operation is caused to wait until the readjustment operation is completed. 2.8.
Command Processing (1) HARD RESET HARD RESET is used to abort all commands and to initialize the HDD to restore it to the same state as at the time of power-on. After this reset operation, the UNIT ATTENTION condition with SCSI Reset Occurred [= 06-29-02] is generated for all the INITs. (2) LOGICAL UNIT RESET LOGICAL UNIT RESET TASK can be used to abort an L nexus command specified by an INIT and to initialize TARG to restore it to the same state as at the time of power-on.
2.8 Command Processing Exceptions Table 2.10 Reset processing during write Type of command Halting process of command execution WRITE WRITE EXTENDED WRITE AND VERIFY SEND DIAGNOSTIC (Write/Read Test) WRITE LONG WRITE SAME Data blocks which are currently being written are processed normally, including the ECC portion, and execution of the command is terminated at the point when that processing is completed.
Command Processing 2.8.6 Fatal hardware errors (1) Self-diagnostic errors If a fatal error was detected in the hardware through an initial self-diagnosis, offline self-diagnosis or on-line self diagnosis (SEND DIAGNOSTIC Command), turning of the spindle motor is stopped. When in this state, the HDD reports the CHECK CONDITION status for all Input/Output operation requests except the REQUEST SENSE command.
2.9 Data Block Addressing A spare sector area (replacement area) is assured in the user space for replacement of defective sectors. The user can (using the MODE SELECT or MODE SELECT EXTENDED command), allocate several sectors in the final track of each cylinder and several cylinders (replacement cylinders) inside the user space (replacement cylinders) as the replacement area.
Command Processing Physical cylinder [System space] Cylinder 0 Head 0 Cylinder Cell 0 (Cell) Head 1 Cylinder 1 Cylinder 0 Zone 0 Head (a-1) [User space] Cell n-1 (Cell) Zone 1 Zone (x-1) Alternate cell Last cylinder Alternate cylinder Figure 2.
2.9 Data Block Addressing 2.9.2 Logical block addressing The HDD 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 HDD makes correspondence between each physical sector and each logical data clock address during formatting. Access to the data on the disk medium is performed in logical data block units and the INIT specifies the logical data block address that is its object during access.
Command Processing (2) Alternate area The alternate area in user space (spare sectors within each cell and alternate cells) are excluded from the abovementioned logical data block addresses. Access to allocated sectors as alternate blocks within the alternate area is performed automatically by the HDD's defect management (sector slip processing and alternate block processing), so it is not particularly necessary for the user to access the alternate area.
CHAPTER 3 Data Buffer Management 3.1 Data Buffer 3.2 Look-Ahead Cache Feature In this chapter, the configuration of the data buffer with which the HDD is equipped, its operation and the operation of the cache feature are described. 3.1 Data Buffer 3.1.1 Data buffer configuration and basic operation The HDD is equipped with a data buffer, which makes it possible to efficiently execute data transfer operations between INIT (initiator) and a disk drive.
Data Buffer Management Segment Segment 7 Segment 6 Segment 5 Segment 4 Segment 3 Segment 2 Segment 1 Segment 0 Disk Media Valid Data INIT W rite → W rite → ←Read ←Read Figure 3.1 Data buffer configuration (in the case of 8 cache segments) The basic functions and operations of the data buffer in a read operation and a write operation are shown below. (1) Read operation Data read from the disk media are temporarily stored in the data buffer.
3.1 Data Buffer 5) If the number of blocks specified in the command to be transferred is larger than the capacity of a cache segment and if the data transfer speed of the INIT is lower than the data transfer speed of the disk drive, the empty space in the data buffer disappears from step 3) and the HDD may soon not be able to read data from the disk media (data overrun).
Data Buffer Management 3.2 Look-Ahead Cache Feature In order to use the data buffer more effectively and improve the disk drive's effective access speed, the HDD 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 blocks on the disk media sequentially using multiple commands. 3.2.
3.2 Look-Ahead Cache Feature a) Data read by a READ or a READ EXTENDED command and which have been read to the data buffer by Look-Ahead are data which are objects of caching. Depending on the timing for halting Look-Ahead, it is possible that data read by the READ command will be overwritten by Look-Ahead. 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.
Data Buffer Management c) − MODE SENSE EXTENDED − READ CAPACITY − READ DEFECT DATA (12) − REASSIGN BLOCKS − RELEASE EXTENDED − RESERVE EXTENDED − WRITE BUFFER − WRITE SAME − PERSISTENT RESERVE IN − PERSISTENT RESERVE OUT − REPORT DEVICE IDENTIFIER − SET DEVICE IDENTIFIER If the data buffer where data which are objects of caching are stored is used by any of the following commands, the data existing in that data buffer which are objects of caching are disabled.
3.2 Look-Ahead Cache Feature 3.2.2 Caching parameters The HDD supports the MODE SELECT parameters (caching parameters: page code = 8) for controlling the cache feature. See Chapter 5 concerning details of the MODE SELECT parameters. 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.
This page is intentionally left blank.
CHAPTER 4 Command Specifications 4.1 Control/Sense Commands 4.2 Data Access Commands 4.3 Format Commands 4.4 Maintenance, Diagnostic Commands This chapter describes detailed specifications of the SCSI commands which the HDD is equipped with and how to use them. 4.1 Control/Sense Commands 4.1.
Command Specifications 4.1.2 INQUIRY (12) Bit Byte 7 6 5 4 0 1 0 0 0 1 0 0 0 0 CmdDt EVPD 0 0 0 0 0 0 Page Code/Operation Code 0 0 0 4 5 2 X'12' 2 3 3 0 0 Transfer Byte Length 0 0 0 0 0 This command transfers the information showing the HDD's characteristics (INQUIRY data) to the application client. This command is executed normally even in cases where the UNIT ATTENTION condition is held, and the UNIT ATTENTION condition is not cleared.
4.1 Control/Sense Commands (1) EVPD (Enable Vital Product Data) a) If the specification in this bits is zero, the HDD transfers the standard INQUIRY data or the command supported data, mentioned later, to the INIT. b) If the specification in this bits is one, product information called VPD (vital product data) is transferred to the INIT. (2) CmdDt (Command Supported Data) a) If the specification in this bits is zero, the HDD transfers the standard INQUIRY data, mentioned later, to the INIT.
Command Specifications Table 4.
4.1 Control/Sense Commands 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" field, but it shows that an actual input/output device is not connected to that logical unit. The HDD does not report this code.
Command Specifications e. Response data format field This field shows the code which shows the standard INQUIRY data format. f. Additional data length This field shows the length of the INQUIRY data (byte length) after byte 5. This value shows the length in the INQUIRY data held by the HDD without relation to the specification in the transfer byte length field in the CDB, and is always X'5B' (total data length = 96 bytes). g.
4.1 Control/Sense Commands [Byte 7] − − − − WBus16 (16-bit wide data transfer): Data transfer on a 2-byte bus [0] Sync (Synchronous data transfer): Data transfer on the synchronous mode [0] Linked (Linked command): Command link function [0] CmdQue (Command queuing): Command queuing function [1] Table 4.
Command Specifications m. QAS (Quick Arbitrate Supported) bit "0" as Reserved. n. IUS (Information unit supported) bit "0" as Reserved. o. Version Descriptor field This field is provided for identifying up to eight standards to which the Device claims conformance. The HDD shall be indicated as shown below. Table 4.4 Version descriptor BYTE 142 Code Description 58 to 59 OX00, OX40 SAM2 60 to 61 OX0B, OXFC SAS 62 to 63 OX01, OX3C SPC ANSI/3.
4.1 Control/Sense Commands (6) Command support data Table 4.5 shows the format and contents of the command support data transferred to the INIT by this command if "0" is specified in the "EVPD" bit and "1" is specified in the "CmdDt" bit. Table 4.5 Command support data Bit Byte 7 6 0 5 4 3 Qualifier 1 0 0 2 1 0 Device Type Code 0 0 0 2 Version 3 X'00' (Reserved) 4 X'00' (Reserved) 5 CDB Size (m-5) Support 6 ~ CDB Usage Data ~ ~ m a.
Command Specifications Table 4.6 Support "Support" Bit 2 1 0 Description 0 0 0 Data about the requested SCSI operation code is not currently available. 0 0 1 The device server does not support the tested SCSI operation code. All data after byte 1 is undefined. 0 1 0 Reserved 0 1 1 The device server supports the tested SCSI operation code in conformance with an SCSI standard.
4.1 Control/Sense Commands When "1" is specified in the "EVPD" bits of the CDB, the VPD information described below is transferred to the INIT by this command. The INIT specifies the type of VPD information required in the "Page code" field of the CDB. The type of VPD information supported by the HDD and its page code number are as shown in Table 4.7. Table 4.
Command Specifications 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" field in byte 3 indicates the length (byte length) after byte 4.
4.1 Control/Sense Commands c. Device unique information This VPD information reports the HDD unique information. The format of this VPD information is shown in Table 4.10. Table 4.
Command Specifications Table 4.
4.1 Control/Sense Commands a. PROTOCOL IDENTIFIER "6": b. Indicates that this page conforms to the SAS device specifications. CODE SET Indicates the type of the code shown in the "Identifier (ID)" field. c. d. "1": The IDENTIFIER field shall contain binary values. "2": The IDENTIFIER field shall contain ASCII printable characters (i.e., code values 20h through 7Eh) "3": The IDENTIFIER field shall contain ISO/IEC 10646-1 (UTF-8) codes.
Command Specifications f. Identifier length Indicates the Identifier length. Even when a value that is insufficient for transferring all the Identifiers is specified for the Transfer Byte Length of the CDB, this value indicates the actual byte length g. IDENTIFIER for the logical unit Indicates the device unique WWN. h. IDENTIFIER for the target port Indicates the SAS address. i.
4.1 Control/Sense Commands 4.1.3 READ CAPACITY (25) Bit Byte 7 6 5 4 0 1 3 2 1 0 0 0 0 0 X'25' 0 0 0 0 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 PMI 9 0 0 0 0 0 0 0 0 This command transfers information related to the disk drive's capacity and the data block size to the INIT.
Command Specifications Table 4.
4.1 Control/Sense Commands 4.1.4 MODE SELECT (15) Bit Byte 7 6 5 4 0 3 2 1 0 X'15' 1 0 0 0 PF 0 0 0 SP 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 4 5 Parameter List Length 0 0 0 0 0 This command performs setting and changing of each type of parameter related to disk drive physical attributes, data format, timing of SAS interface transferring processing and error recovery procedures, etc.
Command Specifications 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.
4.
Command Specifications If the HDD 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 the CHECK CONDITION status is reported depends on whether "rounding up" or "rounding down" is specified.
4.1 Control/Sense Commands Table 4.
Command Specifications Table 4.12 MODE SELECT command (Group 0) parameter configuration (2/2) Sub Page Descriptor Bit Byte 7 6 0 0 SPF 5 1 Page Header 4 3 2 1 0 Page Code Sub Page Code 2 Page Length 3 4 ~ ~ ~ ~ Parameter Field ~ ~ n 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.
4.1 Control/Sense Commands b. Block descriptor The logical attributes of the data format on the disk media are described in the 8-byte long "Block descriptor." − 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.
Command Specifications c. Page descriptor The "Page Descriptor" consists of a two-byte page header (or four-byte page header when using subpage format) followed by a parameter field. It is classified based on the parameter function attribute into units called "Pages." The individual "Page descriptors" in the MODE SELECT and MODE SELECT EXTENDED commands may be specified independently by the INIT and multiple "Page descriptors" may be specified continuously in the desired sequence.
4.1 Control/Sense Commands Table 4.
Command Specifications 1) 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 HDD in the future.
4.1 Control/Sense Commands 4.1.
Command Specifications Table 4.
4.1 Control/Sense Commands Table 4.
Command Specifications 4.1.6 MODE SENSE (1A) Bit Byte 7 6 5 4 0 1 3 2 1 0 DBD 0 0 0 0 0 X'1A' 0 2 0 0 0 PC Page Code 3 Sub Page Code 4 Transfer Byte Length 5 0 0 0 0 0 0 This command reports the values for each type of parameter related to the disk drive's physical attributes, data format, timing of SAS interface transferring processing, error recovery procedures, etc., as well as the attributes of those parameters, to the INIT.
4.1 Control/Sense Commands Table 4.
Command Specifications Table 4.16 MODE SENSE data type specifications PC 00 Type of Parameter Transferred to the INIT Current Values: Reports each "Current" parameter value. The "Current" values are either of the following values. 01 • Values specified by a MODE SELECT or MODE SELECT EXTENDED command which is finally normally terminated.
4.1 Control/Sense Commands The "Transfer Byte Length" field in the CDB specifies the total number of bytes of MODE SENSE data which can be transferred to the INIT by this command. The HDD transfers the number of bytes of all the MODE SENSE data specified in the "Page code" field or the portion of MODE SENSE data with the length specified in the "Transfer Byte Length" field, whichever is smaller.
Command Specifications Table 4.
4.1 Control/Sense Commands Table 4.17 MODE SENSE command (group 0) parameter configuration (2/2) Sub Page Descriptor Bit Byte 7 6 0 PS SPF 5 1 Page Header 4 3 2 1 0 Page Code Sub Page Code 2 Page Length 3 4 ~ ~ ~ ~ Parameter Field ~ ~ n (1) 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.
Command Specifications e. Block descriptor length This field indicates the "Block descriptor" length (byte length) which follows after the header. The "Page descriptor" length is not included in this value. The HDD always reports X '08' in this field if "0" is specified in the DBD bit of this command's CDB, and thus indicates that one "Block descriptor" set follows after the header. When "1" is specified in the DBD bit of the CDB, the value of this field is X '00'.
4.1 Control/Sense Commands b. Page length This field indicates the length of the parameter field (number of bytes) from byte 2, excluding the page header of that "Page descriptor." The HDD always shows a value in this field which is the same as the length defined in that "Page descriptor" regardless of the type of parameter requested in the "PC (page control)" field of the CDB, and reports all the parameter fields that "Page descriptor" in byte 2 and subsequent bytes. c.
Command Specifications 4.1.
4.1 Control/Sense Commands Table 4.
Command Specifications Table 4.
4.1 Control/Sense Commands 4.1.8 REZERO UNIT (01) Bit Byte 7 6 5 4 0 3 2 1 0 X'01' 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 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.
Command Specifications 4.1.9 START/STOP UNIT (1B) Bit Byte 7 6 5 4 0 3 2 1 0 X'1B' 1 0 0 0 0 0 0 0 Immed 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 LoEj Start 5 0 0 0 0 0 0 0 0 This command controls the power condition of the disk drive. For the power condition, see Chapter 2, "Power Condition." The control of the power condition is performed with the Start bit in bit 0 of the CDB byte 4.
4.1 Control/Sense Commands − b. C141-C013 When the Immed bit is "0," the power condition state becomes Active_Wait, and the spindle motor is started after the NOTIFY (ENABLE SPINUP) primitive has been received. Then, when the disk drive enters the ready state, the status byte is reported and command execution is completed.
Command Specifications 4.1.10 RESERVE (16) Bit Byte 7 6 5 4 0 3 2 1 0 X'16' 1 0 0 0 3rd Pty 3rd Pty Dev ID 0 2 × × × × × × × × 3 × × × × × × × × 4 × × × × × × × × 5 0 0 0 0 0 0 0 0 Together with the RELEASE command, this command controls exclusive access to the logical unit (HDD) under a multi-initiator environment. The HDD is reserved by this command for the INIT which issued this command.
4.1 Control/Sense Commands (2) Reserve right and third party reserve function The third party reserve function is not supported by the drive. If the 3rd Pty bit of CDB byte 1 is "0," the HDD is reserved for the INIT that has issued this command. The INIT has the reserve right for the HDD. If the 3rd Pty bit is "1," execution of this command is terminated with the CHECK CONDITION status (ILLEGAL REQUEST [= 5]/Invalid field in CDB [= 24-00]).
Command Specifications 4.1.11 RESERVE EXTENDED (56) Bit Byte 7 6 5 4 0 3 2 1 0 X'56' 1 0 0 0 3rd Pty 0 0 0 0 2 × × × × × × × × 3 Third Party Device ID 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 7 × × × × × × × × 8 × × × × × × × × 9 0 0 0 0 0 0 0 0 Together with the RELEASE command, this command controls exclusive access to the HDD under a multi-initiator environment.
4.1 Control/Sense Commands 4.1.12 RELEASE (17) Bit Byte 7 6 5 4 0 3 2 1 0 X'17' 1 0 0 0 3rd Pty 3rd Pty Dev ID 0 2 × × × × × × × × 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 This command releases the reserve state of an HDD in relation to the INIT that issued this command. When a reserve state in relation to the INIT that issues this command, or an HDD does not exist, this command is terminated normally with a GOOD status.
Command Specifications 4.1.13 RELEASE EXTENDED (57) Bit Byte 7 6 5 4 0 3 2 1 0 X'57' 1 0 0 0 3rd Pty 0 0 0 0 2 × × × × × × × × 3 Third Party Devices ID 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 7 × × × × × × × × 8 × × × × × × × × 9 0 0 0 0 0 0 0 0 Same as RELEASE command.
4.1 Control/Sense Commands 4.1.14 REQUEST SENSE (03) Bit Byte 7 6 5 4 0 3 2 1 0 X'03' 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 4 5 Transfer Byte Length 0 0 0 0 0 This command transfers sense data to the INIT. This command is executed in any state other than a CDB specification error. The sense data of the HDD has a length of 48 bytes.
Command Specifications 1) When sending of sense data is impossible due to an HDD hardware error. 2) When an irrecoverable error is detected on the SAS interface. 3) If an overlapped command occurs. In cases other than the above, this command sends sense data to the INIT and terminates with the "GOOD" Status.
4.1 Control/Sense Commands 4.1.15 LOG SELECT (4C) Bit Byte 7 6 5 4 0 1 3 2 1 0 X'4C' 0 2 0 PC 0 0 0 0 PCR SP 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 7 Parameter List Length (MSB) 8 Parameter List Length (LSB) 9 0 0 0 0 0 This command provides a means for an application client to manage statistical information maintained by the HDD about HDD.
Command Specifications Table 4.19 PC (page control) Value Description 00b Current threshold values 01b Current cumulative values 10b Default threshold values 11b Default cumulative values The "PC" bits are ignored by the drive. The drive assumes that current cumulative parameters are selected. The "Parameter List Length" field specifies the length in bytes of the parameter list that is located in the Data-Out Buffer.
4.1 Control/Sense Commands a. Page code This field identifies which log page is being transferred. The log pages that can be transferred by this command are shown in Table 4.21. Table 4.
Command Specifications Table 4.22 Log parameter Bit Byte 7 6 5 4 3 2 0 Parameter Code (MSB) 1 Parameter Code (LSB) 2 DU DS TSD 3 ETC TMC 1 0 LBIN LP Parameter Length 4 ~ ~ Parameter Value ~ n a. Parameter code This field identifies the log parameter being transferred for that log page. b. Byte 2 1) DU (Disable Update) "1": The HDD does not update the log parameter value except in response to a LOG SELECT command that specifies a new value for the parameter.
4.1 Control/Sense Commands 5) TMC (Threshold Met Criteria) This field is ignored when "ETC" bit is 0. For LOG SELECT command (See 4.1.15), the HDD accepts this field value of other than "00b", but ignores its functionality. 6) LBIN This bit is only valid if the "LP" bit is one. If the "LP" bit is one and this bit is zero then the list parameter is a string of ASCII graphic codes. If the "LP" bit is one and this bit is one then the list parameter is a list of binary information.
Command Specifications 4.1.
4.1 Control/Sense Commands Table 4.
Command Specifications CHAPTER 4 4.1 Control/Sense Commands Command Specifications 4.1.
4.1 Control/Sense Commands (1) PERSISTENT RESERVE IN service actions In each Service Action, the drive needs to be in the ready state for accessing reserve conditions and registered information. When the drive is not in the ready state, the drive reports the CHECK CONDITION status. The sense key is set to NOT READY [= 2], and sense data similar to data reported with the TEST UNIT READY command is set. The service action codes for the PERSISTENT RESERVE IN command are defined below. Table 4.
Command Specifications (2) PERSISTENT RESERVE IN parameter data for READ KEYS The format for the parameter data provided in response to a PERSISTENT RESERVE IN command with the READ KEYS service action is shown in Table 4.25. Table 4.
4.1 Control/Sense Commands The "Additional Length" field contains a count of the number of bytes in the Reservation key list. If the Allocation Length value specified by the PERSISTENT RESERVE IN command is too small to transfer the entire valid parameter list, the bytes starting at byte 0 of the list and numbering as many as the specified byte count are transferred to the INIT.
Command Specifications The format of the Reservation descriptors is defined in Table 4.27. Table 4.27 Format of reservation descriptors Bit Byte 7 0 (MSB) 6 5 ~ ~ 4 3 2 1 ~ Reservation Key 7 (LSB) 8 ~ (MSB) ~ ~ Scope-specific Address 11 (LSB) 12 13 14-15 0 X'00' (Reserved) Scope Type X'00' (Reserved) The Reservation Descriptor in the parameter data contains the information on each reserve condition held in the logical unit.
4.1 Control/Sense Commands • Persistent reservations scope The value in the "Scope" field shall indicate whether a persistent reservation applies to an entire logical unit or to an element. The values in the "Scope" field are defined in Table 4.28. Table 4.
Command Specifications Table 4.29 Persistent reservations type codes Code Name 0h 1h Reserved Write Exclusive 2h 3h 6h 7h-Fh 200 Reads Shared: Any INIT can execute a read-type command. Writes Exclusive: Any write-type command that is issued by an INIT other than the INIT holding this reservation state results in a Reservation Conflict.
4.1 Control/Sense Commands 4.1.18 PERSISTENT RESERVE OUT (5F) Bit Byte 7 6 5 4 0 1 3 2 1 0 X'5F' 0 0 2 0 Service Action Scope Type 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 7 Parameter List Length (MSB) 8 Parameter List Length (LSB) 9 0 0 0 0 0 This command is used for reserving so that the particular initiator can use the logical unit exclusively or share with others.
Command Specifications If illegal drive resources exist when this command is issued, the drive reports the CHECK CONDITION status. The sense key is set to ILLEGAL REQUEST [= 5], and the sense data is set to INSUFFICIENT REGISTRATION [= 55-04]. (However, this sense data is not reported for a SCSI device.
4.1 Control/Sense Commands A logical unit uses the SA space to maintain PERSISTENT RESERVATION and registered keys (across a power shutdown). If the drive is not in the Ready state when the Activate Persist Through Power Loss mechanism (this mechanism maintains reserve conditions during a power shutdown) is enabled by the PERSISTENT RESERVE OUT command, the drive reports the CHECK CONDITION status.
Command Specifications (2) PERSISTENT RESERVE OUT parameter list The parameter list of the PERSISTENT RESERVE OUT command is shown in Table 4.31. Some fields of the parameter list of a particular Service Action and scope values may be invalid, but all the fields must always be transferred. Table 4.
4.1 Control/Sense Commands The specification of the "Service Action Reservation Key" field is necessary for the REGISTER, PREEMPT, and PREEMPT and ABORT Service Actions. For the REGISTER Service Action, a Reservation Key to be newly registered is set in this field. For the PREEMPT and, PREEMPT and ABORT Service Actions, the Reservation Key of the INIT that holds a reserve condition to be cleared (preempted) is set in this field.
Command Specifications Table 4.
4.1 Control/Sense Commands 4.1.19 REPORT LUNS (A0) Bit Byte 7 6 5 4 0 3 2 1 0 X'A0' 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 Allocation Length (MSB) 7 Allocation Length 8 Allocation Length 9 Allocation Length (LSB) 10 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 This command requests that the peripheral device logical unit inventory be sent to the application client.
Command Specifications Table 4.33 REPORT LUNS parameter data Bit Byte 7 0 (MSB) ~ ~ 6 5 4 3 2 (MSB) ~ (LSB) 8 (MSB) ~ ~ ~ (LSB) ~ ~ ~ ~ n-7 ~ ~ First LUN 15 LUN List ~ Reserved 7 ~ ~ (LSB) 4 ~ 0 LUN List Length (N-7) 3 Header 1 (MSB) ~ ~ Last LUN n (LSB) The "LUN List Length" field shall contain the length in bytes of the LUN list that is available to be transferred.
4.1 Control/Sense Commands 4.1.
Command Specifications Table 4.34 REPORT DEVICE IDENTIFIER parameter data Bit Byte 7 0 (MSB) ~ ~ 6 5 4 3 0 ~ (LSB) 4 (MSB) ~ n 1 Identifier Length (n-4) 3 ~ 2 ~ Identifier (LSB) The "Identifier Length" field specifies the length in bytes of the "Identifier" field. If the "Allocation Length" field in the CDB is too small to transfer all of the identifier, the length shall not be adjusted to reflect the truncation.
4.1 Control/Sense Commands 4.1.
Command Specifications Table 4.35 SET DEVICE IDENTIFIER parameter data Bit Byte 7 0 (MSB) ~ ~ n 6 5 4 3 2 1 0 Identifier (LSB) The "Identifier" field shall be a vendor specific value, to be returned in subsequent REPORT DEVICE IDENTIFIER commands.
4.2 Data Access Commands 4.2 Data Access Commands 4.2.1 READ (08) Bit Byte 7 6 5 4 0 1 3 2 0 X'08' 0 0 0 Logical Block Address (MSB) 2 Logical Block Address 3 Logical Block Address (LSB) 4 Transfer Block Count 5 1 0 0 0 0 0 0 0 0 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" field in the CDB as the top.
Command Specifications If the Look-Ahead cache feature is permitted, a caching operation is performed using the HDD's data buffer by this command. See Chapter 3, "Data Buffer Management," concerning details of data buffer operation and the Look-Ahead cache feature.
4.2 Data Access Commands 4.2.
Command Specifications 4.2.3 WRITE (0A) Bit Byte 7 6 5 4 0 1 3 2 0 X'0A' 0 0 0 Logical Block Address (MSB) 2 Logical Block Address 3 Logical Block Address (LSB) 4 Transfer Block Count 5 1 0 0 0 0 0 0 0 0 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" field in the CDB as the top.
4.2 Data Access Commands Even when there is an error in the specification in the CDB, or when a write operation to the disk media cannot be executed normally due to various other causes, the transfer of data (data is pre-fetched to the data buffer) from the INIT to the HDD may be executed. In this case, the length of data transferred from the INIT to the HDD is undefined. Also, all the data transferred to the HDD will not necessarily be actually written to the disk media.
Command Specifications 4.2.
4.2 Data Access Commands 4.2.
Command Specifications 4.2.
4.2 Data Access Commands 4.2.7 SEEK (0B) Bit Byte 7 6 5 4 0 1 3 2 1 0 X'0B' 0 0 0 Logical Block Address (MSB) 2 Logical Block Address 3 Logical Block Address (LSB) 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 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. When disconnect processing is permitted, the HDD performs disconnect processing after receiving the CDB.
Command Specifications 4.2.8 SEEK EXTENDED (2B) Bit Byte 7 6 5 4 0 1 3 2 1 0 0 0 0 0 X'2B' 0 0 0 0 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 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.
4.2 Data Access Commands 4.2.9 SYNCHRONIZE CACHE (35) Bit Byte 7 6 5 4 0 1 3 2 1 0 0 0 Immed 0 0 0 0 0 0 0 X'35' 0 0 0 0 2 Logical Block Address (MSB) 3 Logical Block Address 4 Logical Block Address 5 Logical Block Address (LSB) 6 0 0 0 0 0 7 Block Count (MSB) 8 Block Count (LSB) 9 0 0 0 0 0 This command matches the logical block data in the data buffer with the same logical block data recorded on the disk media.
Command Specifications 4.3 Format Commands 4.3.1 FORMAT UNIT (04) Bit Byte 7 6 5 4 0 3 2 1 0 X'04' FmtData CmpLst 1 0 0 0 Defect List Format 2 0 0 0 0 0 0 0 0 3 × × × × × × × × 4 × × × × × × × × 5 0 0 0 0 0 0 0 0 This command initializes (formats) the entire area of the disk media that can be accessed from the INIT (User Space).
4.3 Format Commands (1) 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. The P List registers areas on the disk media which clearly cannot be accessed from the INIT.
Command Specifications (2) 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.
4.3 Format Commands (3) Format parameters Table 4.37 lists the data format of the Format parameter transferred from the INIT when "1" is specified in the "FmtData (format data)" bit of the CDB. Table 4.
Command Specifications 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" to "STPF".).
4.3 Format Commands − STPF (stop format) 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 HDD, this bit's specification is disabled, and the specified value is disregarded. When the necessary defect list cannot be read, this command is terminated with a CHECK CONDITION status.
Command Specifications b. Defect list (D List) The defect list (D List) contains defect position information about the disk media specified by the INIT and is configured from one or more "Defect descriptors." "Defect descriptors must be described in the format specified in the "Defect List Format" field of the CDB. 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.
4.3 Format Commands − Physical sector address format defect descriptor Table 4.39 lists 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. must be specified in the top position and the physical sector No.
Command Specifications − Cautions in specifying the D list The P List, containing defect position information, is always recorded on the HDD when it is shipped from the factory. Also, information on defect positions for which alternate block processing has been implemented during operation is recorded as the G List.
4.3 Format Commands (4) Defect processing during initialization Table 4.40 shows each combination of control flag specification values and the contents of processing executed by the HDD. Furthermore, see Chapter 3 "Data Format" of the "Product Manual" concerning alternate block allocation processing methods. Table 4.
Command Specifications Table 4.40 FORMAT UNIT command defect processing (2/2) CDB Byte 1 FmtData 1 CmpLst 0 Header Defect list format 1 0 0 FOV 1 DPRY 1 Defect List Length >0 1 0 1 Defect Processing Method 1) Alternate block allocation is performed for defects registered in the previously existing G List and the defects described in the D List transferred from the INIT. 2) The P List is saved, but it is not used in defect processing.
4.3 Format Commands 4.3.2 REASSIGN BLOCKS (07) Bit Byte 7 6 5 4 0 3 2 1 0 X'07' 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 This command allocates alternate data blocks for defective data blocks specified in the "Defect Data" list transferred form the INIT. The INIT specifies the logical block address of one or more defective data blocks in the "Defect Data" list which it transfers to the HDD.
Command Specifications The format of the "Defect Data" list transferred from the INIT by this command is shown in Table 4.41. Table 4.
4.3 Format Commands The HDD allocates alternate blocks to the specified data blocks in order from the top of the defect descriptor list. When all the usable spare sectors have been used up, and it is impossible to allocate alternate blocks, execution of this command is terminated at that point and a CHECK CONDITION status is reported. The sense data at this time indicate the following contents.
Command Specifications If this command is terminated with a CHECK CONDITION status, the additional sense code/additional sense code qualifier in the sense data is other than "No defect spare location available [=3200], and a valid logical block address (other than X 'FFFFFFFF') is displayed in the "Command inherent information" field, it is necessary for the INIT to reissue this command by the following procedure after executing recovery processing (shown in Section 5.
4.3 Format Commands 4.3.3 READ DEFECT DATA (37) Bit Byte 7 6 5 4 0 3 2 1 0 0 0 0 X'37' 1 0 0 0 0 0 2 0 0 0 PList GList 3 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 7 Transfer Byte Length (MSB) 8 Transfer Byte Length (LSB) 9 0 0 0 0 0 Defect List Format This command transfers the list described in the defect position information of the disk media (defect data) to the INIT.
Command Specifications Table 4.43 Defect data format Defect List Format Defect Data Format 0 0 0 Block Address Format 1 0 0 Byte Distance from the Index Format 1 0 1 Physical Sector Address Format The "Transfer byte length" field in the CDB specifies the defect data length (number of bytes) that can be received by the INIT.
4.3 Format Commands c. Defect list format This field indicates the description format of the defect descriptor list that is actually transferred to the INIT. It is possible for the HDD to transfer defect data in 3 different formats which it can specify in the CDB, and the values in this field are the same as the values specified in the "Defect List Format" field in the CDB. d.
Command Specifications 3. Even if defect data of the type specified in the CDB do not exist in the defect list (P List or G List) (if the defect list is empty), "1" is displayed in the "PList" bit and the "GList" bit in the header transferred to the INIT corresponding to the specification in the CDB. 4.
4.3 Format Commands 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. − When data are in the "Block Address Format" or the "Physical Sector Address Format," even if defects exist in multiple locations within that sector, that defect information is reported by one defect descriptor.
Command Specifications 4.3.
4.3 Format Commands Table 4.
Command Specifications 4.4 Maintenance, Diagnostic Commands 4.4.1 SEND DIAGNOSTIC (1D) Bit Byte 7 6 5 4 3 2 1 0 PF 0 SelfTest DevOfl UnitOfl 0 0 0 0 0 0 0 0 0 X'1D' 1 2 SELF-TEST CODE 0 0 0 3 Parameter List Length (MSB) 4 Parameter List Length (LSB) 5 0 0 0 0 0 This command executes self-diagnosis tests which the HDD is equipped to perform and operation specified in the parameter list transferred from the INIT.
4.4 Maintenance, Diagnostic Commands Table 4.47 Self-diagnosis test Type of Self-diagnosis Test 1) Controller Function Test UnotOfl = "0" UnitOfl = "1" × × 2) Disk Drive Seek Test × 3) Disk Media Write/Read/Data Comparison Test × ×: Execution Object When the HDD completes all the specified self-diagnosis tests normally, it reports a GOOD status.
Command Specifications Table 4.48 Error recovery control flags during the self-diagnosis test PER DTE Diagnostic test operation 0 0 The diagnostic test continues when error recovery is successful. The contents of recovered errors are not reported. When an error which cannot be recovered from is detected, the diagnostic test terminates at that point with an error. 1 0 The diagnostic test continues when error recovery is successful.
4.4 Maintenance, Diagnostic Commands The "Parameter list length" field in the CDB shows the length (number of bytes) of the parameter list that is transferred from the INIT when the "SelfTest (self test)" bit's specification is "0." When zero is specified in the "Parameter list length" field, this command is terminated without anything being executed.
Command Specifications Table 4.49 SEND DIAGNOSTIC command: parameter list configuration Bit 7 Byte 6 5 0 3 2 1 0 0 0 0 Page Code 1 Header 4 0 0 0 0 0 2 Page Parameter Length (MSB) 3 Page Parameter Length (LSB) 4 Page ~ Parameter ~ ~ ~ Parameter ~ ~ n • Page code This field specifies the code which identifies the type of parameter page being transferred from the INIT and the operation that should be executed.
4.4 Maintenance, Diagnostic Commands a. Page code list This parameter page specifies transfer of the "Page code" list of the parameter page supported by the HDD in the SEND DIAGNOSTIC command and the RECEIVE DIAGNOSTIC RESULTS command to the INIT. Table 4.51 shows the format of this parameter page.
Command Specifications Table 4.52 SEND DIAGNOSTIC parameters: PHY Test function Bit Byte 7 6 0 1 5 4 3 2 0 X'3F' (page code) 0 0 0 0 X'6' (Protocol Identifier) 2-3 X'001C' (page parameter length) 4 PHY Identifier 5 PHY Test Function 6 PHY Test Pattern 7 1 0 0 0 0 8 PHY Test Pattern Physical Link Rate X'0000' (Reserved) 10 11 PHY Test Pattern DWORD Control 12 PHY Test Pattern DWORDS 19 20 X'0000' (Reserved) 31 − Protocol Identifier Specify value (0x06).
4.4 Maintenance, Diagnostic Commands − PHY Identifier Specify the PHY that will become the operation target of the PHY Test function. If a value other than either of the values below is specified, HDD processing ends with a failure with CHECK CONDITION status "ILLEGAL REQUEST [=5]/ Invalid field in parameter list [=26-00]". 0h: Primary Port (Port-A) 1h: Secondary Port (Port-B) − PHY Test Function Specify the operation to be performed by the PHY Test function.
Command Specifications − PHY Test Pattern Physical Link Rate Specify the Link Rate when INIT sends the PHY Test Pattern. If a value other than any of the values below is specified, HDD processing ends with a failure with CHECK CONDITION status "ILLEGAL REQUEST [=5]/ Invalid field in parameter list [=26-00]". 8h: 1.5 Gbps 9h: 3.
4.4 Maintenance, Diagnostic Commands c. Logical/physical address conversion This parameter page specifies conversion of the address information expressed in either the "Logical Block Address," "Physical Sector Address" or "Byte Distance from the Index" format to another expression format. Table 4.53 shows this parameter page format.
Command Specifications The description format of the address information specified in bytes 6 to 13 is the same as the description specification of the D List transferred from the INIT by the FORMAT UNIT command. For details, see the description of the FORMAT UNIT command (Section 4.3.1). furthermore, when the logical block address format is specified, it must be described in bytes 6 to 9 and zero must be specified in the remaining byte positions.
4.4 Maintenance, Diagnostic Commands Table 4.55 SELF-TEST Page code (Hex) Function 0,0,0 Refer to clause (2), Parameter Specification. 0,0,1 The device server shall start its short self-test routine in the background mode. 0,1,0 The device server shall start its extended self-test routine in the background mode. 0,1,1 Reserved 1,0,0 Abort the current self-test running in background mode.
Command Specifications 4.4.2 RECEIVE DIAGNOSTIC RESULTS (1C) Bit Byte 7 6 5 4 0 3 2 1 0 X'1C' 1 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 3 Transfer Byte Length (MSB) 4 Transfer Byte Length (LSB) 5 0 0 0 0 0 This command transfers data (response data) which show the results of executing the SEND DIAGNOSTIC command from the HDD to the INIT.
4.4 Maintenance, Diagnostic Commands Table 4.
Command Specifications (1) Page code list This response data reports the "Page code" list of the parameter page supported by the HDD 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 Table 4.57. Table 4.
4.4 Maintenance, Diagnostic Commands (2) Logical/physical address conversion This response data reports the execution results of address conversion specified in the "Logical/Physical Address Conversion" parameter in the SEND DIAGNOSTIC command in bytes after byte 4. The format and contents of this response data are shown in Table 4.58. Table 4.
Command Specifications The "Address Format Before Conversion" field in byte 4 and the "Address Format After Conversion" field in byte 5 are the same values as the codes which show the expression format for address information specified by the SEND DIAGNOSTIC command parameters. The "Address Format After Conversion" field shows the expression format of the address information reported in bytes 6 to 13 of this response data. "Address format" codes are as shown in Table 4.59. Table 4.
4.4 Maintenance, Diagnostic Commands 4.4.3 WRITE BUFFER (3B) Bit Byte 7 6 5 4 0 1 3 2 0 0 0 X'3B' 0 0 0 0 Mode 2 X '00' (Buffer ID) 3 Buffer Address (MSB) 4 Buffer Address 5 Buffer Address (LSB) 6 Transfer Byte Length (MSB) 7 Transfer Byte Length 8 Transfer Byte Length (LSB) 9 1 0 0 0 0 0 0 This command is used in combination with the READ BUFFER command to diagnose the normality of the HDD's data buffer memory or the SAS interface, or to download microcode to the HDD.
Command Specifications Table 4.
4.4 Maintenance, Diagnostic Commands Table 4.
Command Specifications (3) Mode = 0, 0, 1, 0: Data only, with address specification In this mode, data transfer from the INIT includes buffer data only without the 4byte header being added. The top address of the data buffer where the data transferred from the INIT are to be stored can be specified in the "Buffer address" field. The "Transfer byte length" field in the CDB specifies the total number of bytes of data transferred by the INIT.
4.4 Maintenance, Diagnostic Commands When abnormal termination for reasons other than ILLEGAL REQUEST [=5] / Invalid field in CDB [=24-00] or ILLEGAL REQUEST [=5] / Invalid field in parameter list [=26-00] occurs, the HDD indicates that downloading of the new microcode failed, and it is therefore necessary for the INIT to quickly download the new microcode.
Command Specifications The microcode or control information is written to the logical unit buffer starting at the location specified by the BUFFER Address field. If the HDD is unable to accept the specified buffer address, it shall return CHECK CONDITION status and it shall set the sense key to ILLEGAL REQUEST [=5] with an additional sense code of INVALID FIELD IN CDB [=24-00].
4.4 Maintenance, Diagnostic Commands (8) Mode = 1, 0, 1, 0 : Echo buffer In this mode the HDD transfers data from the INIT and stores it in the echo buffer. The BUFFER ID and BUFFER OFFSET fields are ignored in this mode.
Command Specifications 4.4.4 READ BUFFER (3C) Bit 7 Byte 6 5 4 0 3 2 1 0 0 0 X'3C' 1 0 0 0 0 Mode 2 X'00' (Buffer ID) 3 Buffer Offset (MSB) 4 Buffer Offset 5 Buffer Offset (LSB) 6 Transfer Byte Length (MSB) 7 Transfer Byte Length 8 Transfer Byte Length (LSB) 9 0 0 0 0 0 0 This command is used in combination with the WRITE BUFFER command to diagnose the normalcy of the HDD's data buffer memory and the SAS interface.
4.4 Maintenance, Diagnostic Commands (1) Mode = 0, 0, 0, 0: Header + data, without address specification When this mode is specified, the data stored in the HDD's data buffer are transferred to the INIT after the 4-byte header. Zero must be specified in the "Buffer offset" field in the CDB. The "Transfer byte count" field in the CDB specifies the total number of bytes of the header and buffer data which can be received by the INIT.
Command Specifications (2) Mode = 0, 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, 0, with the data stored in the HDD's data buffer transferred to the INIT following the 4-byte header. In this mode, the address in the data buffer can be specified in the "Buffer offset" field in the CDB.
4.4 Maintenance, Diagnostic Commands (4) Mode = 0, 0, 1, 1: Buffer descriptor When this mode is specified, the HDD transfers only the 4-byte buffer descriptor to the INIT. the HDD's data buffer attributes are indicated in the 4-byte buffer descriptor. Zero must be specified in the "Buffer offset" field in the CDB when this mode is specified. The HDD transfers the data length specified in the "Transfer byte length" field in the CDB or 4 bytes, whichever portion of data is smaller, to the INIT.
Command Specifications (6) Mode = 1, 0, 1, 1 : Echo buffer descriptor In this mode, a maximum of four bytes of READ BUFFER descriptor information is returned. The device server shall return the descriptor information for the echo buffer. The "Buffer Offset" field is reserved in this mode. The allocation length should be set to four or greater. The device server shall transfer the lesser of the allocation length or four bytes of READ BUFFER descriptor.
4.4 Maintenance, Diagnostic Commands 4.4.
Command Specifications • Sense Key • Additional sense code/ : 24-00 = Invalid field in CDB Additional sense code qualifier • "VALID" Bit : "1" • "ILI" bit : "1" • Information Field: ("Transfer byte length in the CDB) – (Original "Transfer byte length") : 05 = ILLEGAL REQUEST Remark: The calculation formula for the information field expresses 1 logical data block as n physical sectors, and when negative, as a complement of 2.
4.4 Maintenance, Diagnostic Commands 4.4.
Command Specifications • Sense Key • Additional sense code/ : 24-00 = Invalid field in CDB Additional sense code qualifier • "VALID" Bit : "1" • "ILI" bit : "1" • Information Field: ("Transfer byte length in the CDB) – (Original "Transfer byte length") : 05 = ILLEGAL REQUEST Remark: The calculation formula for the information field expresses 1 logical data block as n physical sectors and n sub-sectors, and when negative, as a complement of 2.
4.4 Maintenance, Diagnostic Commands 4.4.
Command Specifications The "Number of Blocks" field specifies the number of contiguous logical blocks to be written. A "Number of Blocks" field of zero requests that all the remaining logical blocks on the medium be written.
CHAPTER 5 Parameter Data Format 5.1 Mode Parameters 5.2 Log Parameters This chapter describes the HDD-provided detailed parameter data formats and how to use these formats. 5.1 Mode Parameters This section describes the pages used by the MODE SELECT, MODE SELECT EXTENDED, MODE SENSE, and MODE SENSE EXTENDED commands, which are applicable to any SAS devices. Pages that are specific to each device format are described in the command standard that applies to the pertinent device format.
Parameter Data Format 5.1.1 Read/Write Error Recovery Parameters (Page Code = 1) Table 5.1 lists the format of the page descriptor of this MODE SELECT parameter. Table 5.
5.1 Mode Parameters Error recovery parameters defined in this page descriptor are applicable for the following commands, except in cases where it is specifically pointed out. • READ • READ EXTENDED • READ LONG • SEND DIAGNOSTIC (Write/read test) • WRITE • WRITE AND VERIFY (Write operation) • WRITE EXTENDED • WRITE LONG • WRITE SAME a.
Parameter Data Format 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. d. RC (read continuous) This bit specifies continuous transfer of all the data requested by a command unaccompanied by a delay for executing error recovery processing.
5.1 Mode Parameters h. DCR (disable correction) "1": Even when a correctable data check has been detected, data correction according to the ECC is prohibited. "0": When a correctable data check has been detected, data correction according to the ECC is applied. The HDD disregards this bit and operates according to the default value (=0). i. Read Retry Count This parameter specifies the number of retries that should be executed for "Data Check" type errors detected in read operations on the disk media.
Parameter Data Format This parameter specifies the maximum time that can be used by the TARG for error recovery processing, as a 1ms constant. The value specified in this parameter is the maximum permissible time for error recovery processing for each individual command. When both this parameter and the "Number of retries" parameter are specified, the parameter which specifies the shortest time must be given priority in application.
5.1 Mode Parameters 5.1.2 Disconnect/Reconnect Parameters (Page Code = 2) The format of the page descriptor in this MODE SELECT parameter is shown in Table 5.3. Table 5.
Parameter Data Format b Connect time limit This parameter specifies the maximum period of time for which the open state of the connection can be maintained before the TARG starts the closing processing as a multiple of 100 μs. This value of the HDD is infinite. This parameter cannot be changed by INITs. The HDD ignores the value specified for this parameter. c.
5.1 Mode Parameters 5.1.3 Format Parameters (Page Code = 3) The Page descriptor format of this MODE SELECT parameter is shown in Table 5.4. Table 5.
Parameter Data Format 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 HDD's alternate block processing. − Track count/zone This parameter specifies the number of tracks a unit for alternating blocks.
5.1 Mode Parameters b. Parameters specifying track format (bytes 10, 11) − Sector count/track This parameter specifies the number of physical sectors per 1 track. In the HDD, the number of physical sectors in a track is set unilaterally according to the data format specified by the "Data Block Length" parameter in the block descriptor or the "Data byte length/Physical sector" parameter in this page descriptor, so this parameter cannot be changed. The HDD disregards the value specified in this field.
Parameter Data Format − 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 HDD uses only the "hard sectoring" method (refer to previously shown item b), this bit is disregarded. Furthermore, it is impossible to change this parameter. − HSEC (hard sectoring) When this bit is "1," it indicates that the data formatting method on the disk media is "hard sectoring.
5.1 Mode Parameters Table 5.
Parameter Data Format 5.1.4 Drive Parameters (Page Code = 4) The page descriptor format of this MODE SELECT parameter is shown in Table 5.6. Table 5.
5.1 Mode Parameters a. Cylinder count This parameter specifies the total number of cylinders configured in the user space on the disk media. This value includes the number of cylinders for alternate blocks specified in the "Alternate Track Count/Drive" parameter of the format parameters (Page code = 3). It is impossible to change this parameter. b. Number of heads This parameter indicates the number of data Read/Write heads in the disk drive. It is impossible to change this parameter.
Parameter Data Format 5.1.5 Verify Error Recovery Parameters (Page Code = 7) The page descriptor format of this MODE SELECT parameter is shown in Table 5.7. Table 5.7 MODE SELECT parameters: verify error recovery parameters Bit Byte 0 7 6 5 4 3 2 1 0 0 0 0 0 0 1 1 1 EER PER DTE DCR 1 X'0A' (Page Length) 2 (Reserved) Default 0 0 0 0 1 0 0 0 Variable 0 0 0 0 1 1 1 1 3 Number of retries during VERIFY.
5.1 Mode Parameters a. Error recovery flags − EER (enable early recovery) − PER (post error) − DTE (disable transfer on error) − DCR (disable correction) The definitions and functions of these control flags are the same as for the read/write error recovery parameters. See Section 5.1.1 concerning the details. 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.
Parameter Data Format 5.1.6 Caching Parameters (Page Code = 8) The page descriptor format of this MODE SELECT parameter is shown in Table 5.8. Table 5.
5.1 Mode Parameters 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 3.2, "Look-Ahead Cache Feature" concerning details of the LookAhead cache feature and parameter setting methods. a. RCD (read cache disable) This bit can be specified, and its operation is as specified. This bit specifies whether or not to activate the cache operation for a read command.
Parameter Data Format "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 waiting for writing data to the disk media. Sequential writing is performed without waiting for rotation. "0": This prohibits operation of the write cache function.
5.1 Mode Parameters "1": Data put into the cache via a READ command was replaced sooner than data placed into the cache by other means. "0": Indicates the device server was not distinguish between retaining the indicated data and data placed into the cache memory by other means. h. Write retention priority (not supported) This field advises the device server the retention priority to assign for data written into the cache that has also been transferred from the cache memory to the medium.
Parameter Data Format This parameter cannot be changed. The HDD disregards the specification in this field. l. Maximum pre-fetch ceiling This parameter specifies the maximum quantity of logical data blocks prefetched to the data buffer with the READ command or READ EXTENDED command. In the HDD the maximum pre-fetch quantity cannot be limited. This parameter cannot be changed. The HDD disregards the specification in this bit and operates according to the "Default" value (= X 'FFFF'). m.
5.1 Mode Parameters This parameter can be changed though the HDD disregards the specification of this field. The HDD divided the Cache Segments according to the inherent algorithm. That is, the Cache Segment size is best tuned per the request data size of Host command. Within one Cache Segment, data for various commands are stored. q.
Parameter Data Format 5.1.7 Control Mode Parameters (Page Code = 0A) The page descriptor format of this MODE SELECT parameter is shown in Table 5.9. Table 5.
5.1 Mode Parameters a. TST (task set type) This field specifies the type of task set defined below. Value Description 000b Task set per logical unit for all initiators 001b Task set per initiator per logical unit 010b-111b Reserved The HDD operates according to "000b". If other value is specified in this field, the HDD reports a "CHECK CONDITION" status (ILLEGAL REQUEST [=5] / Invalid parameter in list [=26-00]). b.
Parameter Data Format "0": The HDD executes the command which is issued next normally. Since the HDD does not support the reporting function of exception condition, the HDD disregards the specification in this bit. e. DQue (disable queuing) (not supported) This bit specifies whether the HDD will execute processing of tagged commands or not. f. QErr (queue error management) This field controls processing of commands queued after a sense hold state is canceled when the HDD is in the sense hold state.
5.1 Mode Parameters h. RAC (report check) (not supported) The HDD is not supported in this bit. Therefore, the HDD always report "0", and ignore specified value. i. SWP (soft write protect) (not supported) This bit specifies whether or not to execute for the device server write operation to the medium. The HDD is not supported this bit. Therefore, the HDD always report "0", and ignore specified value. j.
Parameter Data Format 5.1.8 Notch Parameters (Page Code = 0C) Table 5.
5.1 Mode Parameters Note: Normally, the number of tracks (logical heads) per cell is set in the track count/zone, but in the case of notching only, the total track count (number of cylinders in the zone x number of logical heads) of the affected zone is reported. 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.
Parameter Data Format This field is enabled by the MODE SENSE command. This field indicates the beginning of the active notch or, if the active notch is zero, the beginning of the logical unit (HDD). f. Ending Boundary This field is valid in the MODE SENSE command. This field indicates the ending of the active notch or, if the active notch is zero, the ending of the logical unit (HDD). g. Page Notch This is a bit map which shows whether or not other mode pages are being changed if the device is notched.
5.1 Mode Parameters Table 5.11 Port control parameter: Page 0 Format (Short Page Format) Bit Byte 0 7 6 5 4 3 2 1 0 PS SPF (0) 0 1 1 0 0 1 1 X ' 06 ' (Page Length) 2 Ready LED Reserved PROTOCOL IDENTIFIER Default 0 0 0 0 0 1 1 0 Variable 0 0 0 1 0 0 0 0 3 X'00' (Reserved) 4-5 I_T NEXUS LOSS TIME Default X ' 07D0 ' Variable X ' FFFF ' 6-7 INITIATOR RESPONSE TIMEOUT Default X ' 07D0 ' Variable X ' FFFF ' a.
Parameter Data Format d. I_T NEXUS LOSS TIME Specifies the maximum time for which the HDD performs error recovery processing for I_T Nexus Loss as a multiple of 1 ms. CODE DESCRIPTION 0000h Vender-specific 0001h to FFFEh Specifies the maximum time for error recovery processing as a multiple of 1 ms (recommended value: 2,000 ms). FFFFh The error recovery processing time is not limited. e.
5.1 Mode Parameters b. NUMBER OF PHYS Indicates the total number of phys the TARG maintains. The following shows the details of the SAS phy mode descriptor that is reported in Byte 8 and subsequent bytes: Table 5.
Parameter Data Format a. PHY IDENTIFIER Indicates the reported number for a Primary/Secondary Port. For a Primary Port, X'00' is set, and for a Secondary Port, X'01' is set. b. PHY OPERATION CODE The operation code specified by SMP PHY CONTROL is set. c. ATTACHED DEVICE TYPE Indicates the "Device Type" received in the IDENTIFY address frame. d. NEGOTIATE PHYSICAL LINK RATE Indicates the physical link rate that has been established through a speed negotiation sequence. "8": 1.5 Gbps "9": 3.0 Gbps e.
5.1 Mode Parameters k. SAS ADDRESS Indicates the Port SAS ADDRESS of the TARGET. port SAS address (Port-A): 5CCC CCCX XXXX XXX 2 port SAS address (Port-B): l. 5CCC CCCX XXXX XXX 3 C: Company ID X: Serial number for WWN ATTACHED SAS ADDRESS Indicates the SAS address received from the INIT with an IDENTIFY address frame. m. ATTACHED PHY IDENTIFIER Indicates the phy address received from the INIT with an IDENTIFY address frame. n.
Parameter Data Format 5.1.10 Power Condition Parameter (Page Code = 1A) Table 5.
5.1 Mode Parameters If "1" is specified, the HDD is permitted to enter the Standby condition after the elapse of the time specified in the "Standby Condition Timer" field. If "0" is specified, the HDD is prohibited from entering the Standby condition. d. Standby Condition Timer (unsupported) Specifies the time before the HDD enters the Standby condition.
Parameter Data Format This bit of zero indicates the target disables reporting of the warning. The "MRIE" field is ignored when "DExcpt" is set to one and "EWASC" is set to zero. An "EWASC" bit of one indicates warning reporting is enabled. The method for reporting the warning when the "EWASC" bit is set to one is determined from the "MRIE" field. These bits are used to indicate DE temperature elapse (see 7.6.
5.1 Mode Parameters f. EBACKERR (Enable Background Error) "0": Background self-test and Background Scan errors are not reported. "1": Background self-test and Background Scan errors are reported. However, the reporting means is determined depending on the value of the "MRIE" bit, and the values in the Interval timer and Report Count fields are ignored. This bit is valid when the EWASC bit is set to "1".
Parameter Data Format Table 5.16 MRIE (1/2) MRIE X'00' Descriptor No reporting of informational exception conditions: This method instructs the target to not report informational exception conditions. X'01' Asynchronous event reporting: This method instructs the target to report informational exception conditions by using the rules for asynchronous event reporting as described in the SCSI3 Architecture Model and the relevant Protocol Standard.
5.1 Mode Parameters Table 5.16 MRIE (2/2) MRIE Descriptor X'05' Generate no sense: This method instructs the target to report informational exception conditions by returning a CHECK CONDITION status on any command. The sense key shall be set to NO SENSE and the additional sense code shall indicate the cause of the informational exception condition. (setting prohibited) The command that has the CHECK CONDITION shall complete without error before any informational exception condition may be reported.
Parameter Data Format j. Report Count This field indicates the number of timer to report an informational exception conditions to the application client. A value of zero in the Report Count field indicates there is no limit on the number of timers the target shall report an information exception condition. 5.1.12 Background Control Mode Parameter (Page Code = 1C/subpage = 01) Table 5.
5.1 Mode Parameters a. b. c. S_L_FULL (Suspended on Log FULL) "1": Scanning is interrupted if the BMS Result Log Medium Scan Parameter indicates full status. "0": Scanning continues even if the BMS Result Log Medium Scan Parameter indicates full status. LOWIR (Log Only When Intervention Required) "1": Error information is stored in the BMS Result Log Medium Scan Parameter only when the host requires information for error processing.
Parameter Data Format f. Pre-Scan Timeout Value This parameter specifies the maximum time, in hours, for a pre-scan operation to complete. If the pre-scan operation does not complete within the specified time then it is halted. A value of zero specifies an unlimited timeout value. g. Minimum IDLE TIME before Background Scan Displays the time from IDLE status to start of BMS (unit: milliseconds). HDD ignors the values specified for this parameter and operates in accordance with the default value. h.
5.1 Mode Parameters 5.1.13 Additional Error Recovery Parameters (Page Code = 21) The page descriptor format of this MODE SELECT parameter is shown in Table 5.19. Table 5.
Parameter Data Format Table 5.
5.2 Log Parameters 5.2 Log Parameters This section describes the log page structure and log pages that can be used for all SAS devices. Pages that are specific to each device format are described in the command standard that applies to the pertinent device format. The LOG SENSE command reports the log page that is specified in the page code field of the command descriptor block. Table 5.21 shows the log parameter format on each parameter page. Table 5.
Parameter Data Format The HDD does not support this bit. It always reports "0" in response to the LOG SENSE command (see Section 4.1.15). The LOG SELECT command will be accepted when this bit value is "1." However, the HDD will save the target with a specific algorithm, ignoring the value specified in the command. e. ETC (Enable Threshold Comparison) The HDD does not support this bit. It always reports "0" to the LOG SENSE command (see Section 4.1.15). The HDD will accept this command when this bit is "1.
5.2 Log Parameters 5.2.1 Support Log Page (X'00') The supported log page returns the list of log pages implemented by the drive. Table 5.
Parameter Data Format 5.2.2 Buffer Overrun/Underrun Page (X'01') Table 5.
5.2 Log Parameters • Count Basis 0h : Undefined 1h : Per command, optional 2h : Per failed reconnect, optional 3h : Per unit of time, optional 4h-7h : Reserved The drive does not support this field. Zero is always reported. • Data Underrun Count of data underruns which occur during write operation when a buffer empty condition prevents continued transfer of data to the media from the buffer. The drive does not support this field due to a hardware limitation. Zero is always reported.
Parameter Data Format • Write errors recovered without delays (page 02, code 0000) Table 5.
5.2 Log Parameters • Total write errors posted (page 02, code 0002) Table 5.27 Total write errors posted (page 02, code 0002) Bit Byte 4 7 6 5 4 3 2 1 0 (MSB) X'0002' (Parameter code) (Total Posted Errors) 5 6 DU DS TSD ETC 0 0 0 0 7 (LSB) TMC 0 0 LBIN LP 0 0 X'04' (Parameter Length) 8 (MSB) 9 Counter Value 10 11 (LSB) The Counter Value indicates the count of all posted errors to the interface during write operations.
Parameter Data Format • Total write bytes processed (page 02, code 0005) Table 5.29 Total write bytes processed (page 02, code 0005) Bit 7 Byte 4 6 5 4 3 2 1 0 (MSB) X'0005' (Parameter code) (Total Bytes Processed) 5 6 DU DS TSD ETC 0 0 0 0 7 (LSB) TMC 0 LBIN LP 0 0 0 X'0A' (Parameter Length) 8 (MSB) 9 ~ ~ ~ ~ ~ ~ Total Write Bytes Processed (10 bytes) 16 17 (LSB) The Total Write Bytes Processed indicates the total processed bytes during write operations.
5.2 Log Parameters 5.2.4 Read Error Count Page (X'03') Table 5.31 Read error count page (X'03') Bit Byte 0 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 1 1 X'00' (Reserved) 2 Page Length (MSB) 3 Page Length (LSB) All of the following parameters have this header. Page Length will be defined based on the value of Parameter Pointer. (CDB 5-6) • Read errors recovered without delays (page 03, code 0000) Table 5.
Parameter Data Format • Read errors recovered with possible delays (page 03, code 0001) Table 5.
5.2 Log Parameters • Total recoverable read errors posted to INIT (page 03, code 0003) Table 5.
Parameter Data Format • Total unrecoverable read errors posted to INIT (page 03, code 0006) Table 5.
5.2 Log Parameters • Verify errors recovered without delays (page 05, code 0000) Table 5.
Parameter Data Format • Total verify errors posted (page 05, code 0002) Table 5.41 Total verify errors posted (page 05, code 0002) Bit Byte 4 7 6 5 4 3 2 1 0 (MSB) X'0002' (Parameter code) (Total Posted Errors) 5 6 DU DS TSD ETC 0 0 0 0 (LSB) TMC 0 0 7 X'04' (Parameter Length) 8 (MSB) 9 LBIN LP 0 0 Counter Value 10 11 (LSB) The Counter Value indicates the count of all posted errors to the interface during verify operations.
5.2 Log Parameters • Total verify bytes processed (page 05, code 0005) Table 5.43 Total verify bytes processed (page 05, code 0005) Bit 7 Byte 4 6 5 4 3 2 1 0 (MSB) X'0005' (Parameter code) (Total Bytes Processed) 5 6 DU DS TSD ETC 0 0 0 0 7 (LSB) TMC 0 LBIN LP 0 0 0 X'0A' (Parameter Length) 8 (MSB) 9 ~ ~ ~ ~ ~ ~ Total Verify Bytes Processed (10 bytes) 16 17 (LSB) The Total Verify Bytes Processed indicates the total processed bytes during verify operation.
Parameter Data Format 5.2.6 Non-Medium Error Count Page (X'06') Table 5.
5.2 Log Parameters • Temperature (page 0D, code 0000) Table 5.47 Temperature (page 0D, code 0000) Bit Byte 4 7 6 5 4 3 2 1 0 (MSB) X'0000' (Parameter code) (Temperature) 5 6 DU DS TSD ETC 0 1 0 0 (LSB) TMC 0 LBIN LP 1 1 0 7 X'02' (Parameter Length) 8 X'00' (Reserved) 11 Temperature (degrees Celsius) The Temperature sensed in the device at the time the LOG SENSE command is performed shall be returned in the parameter code 0000h.
Parameter Data Format 5.2.8 Start-Stop Cycle Counter Page (X'0E') Table 5.49 Start-stop cycle counter page (X'0E') Bit Byte 0 7 6 5 4 3 2 1 0 0 0 0 0 1 1 1 0 1 X'00' (Reserved) 2 Page Length (MSB) 3 Page Length (LSB) All of the following parameters have this header. Page Length will be defined based on the value of Parameter Pointer. (CDB 5-6) • Date of manufacture (page 0E, code 0001) Table 5.
5.2 Log Parameters • Accounting date (page 0E, code 0002) Table 5.
Parameter Data Format The Specified cycle count over device lifetime is a parameter provided by the device sever. The specified cycle count over device lifetime parameter shall not be savable by the INIT using the LOG SELECT command. The parameter value is a 4-byte binary number. The value indicates how operation or reliability outside the limits specified by the manufacture of the device. • Start-stop cycle counter (page 0E, code 0004) Table 5.
5.2 Log Parameters 5.2.9 Application Client Page (X'0F') Table 5.54 Application client page (X'0F') Bit Byte 0 7 6 5 4 3 2 1 0 0 0 0 0 1 1 1 1 1 X'00' (Reserved) 2 Page Length (MSB) 3 Page Length (LSB) All of the following parameters have this header. Page Length will be defined based on the value of Parameter Pointer. (CDB 5-6) • General usage application client parameter data (page 0F, code 0000-003F) Table 5.
Parameter Data Format 5.2.10 Self-Test Result Page (X'10') Table 5.56 Self-test result page (X'10') Bit Byte 0 7 6 5 4 3 2 1 0 0 0 0 1 0 0 1 0 1 X'00' (Reserved) 2 Page Length (MSB) 3 Page Length (LSB) All of the following parameters have this header. Page Length will be defined based on the value of Parameter Pointer. (CDB 5-6) • Self-test result parameter data (page 10, code 0001-0014) Table 5.
5.2 Log Parameters When the self-test is initiated, the value specified in the SELF-TEST CODE field in the CDB is reported to the SELF-TEST CODE field by a SEND DIAGNOSTICS command. The values reported to the "Self-Test Result Value" field are defined in Table 5.58. Table 5.58 Self-test results values Value Description 0h The self-test completed without error.
Parameter Data Format 5.2.11 Background Medium Scan Page (X'15') Note: These parameters (Table 5.60, "Background medium scan status parameter" and Table 5.62, "Background medium scan parameter") are not supported. In LOG SENSE, these parameters are not transferred. Table 5.59 Background medium scan page (X'15') Bit 7 6 5 4 3 2 1 0 0 0 0 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 Byte 2 Page Length (MSB) 3 Page Length (LSB) All of the following parameters have this header.
5.2 Log Parameters The accumulated power-on time (unit: minute) at processing the LOG SENSE command is shown in the "Time Stamp" field. The values reported to the "BMS Status" field are defined below. Table 5.
Parameter Data Format Table 5.62 Background medium scan parameter Bit Byte 0 7 6 (MSB) 4 3 2 1 X'0001' - X'0400' (Parameter code) 1 2 5 DU DS TSD ETC 0 0 0 0 3 TMC 0 0 (LSB) LBIN LP 1 1 0 X'14' (Parameter Length) 4 (MSB) 5 Time Stamp 6 7 (LSB) 8 Reassign Status Sense Key 9 Additional Sense Code 10 Additional Sense Code Qualifier 11 Vender Specific (0x00) 15 16 (MSB) LBA 23 (LSB) The values reported to the "Reassign Status" field are defined below. Table 5.
5.2 Log Parameters 5.2.12 Protocol Specific Port Log Page (X'18') Table 5.64 Protocol specific port log page format Bit Byte 7 6 5 4 3 0 Page Code (18h) 1 Reserved (x'00) 2 (MSB) 2 0 Parameter Length (n-3) 3 4 1 (LSB) First Protocol log parameter Nth Protocol log parameter m This log page is used to report the information on an error that occurs on the SAS bus. As to the log parameters reported in byte 4 and the subsequent bytes, refer to Table 5.65, "Log parameter format.
Parameter Data Format • Details of the log parameter Table 5.
5.2 Log Parameters a. Parameter Code Indicates the port number of a transferred log parameter. For port A, "0001" is reported, and for port B, "0002" is reported. b. PROTOCOL IDENTIFIER "6h" is set. c. NUMBER OF PHYS Indicates the number of SAS phy log descriptors that follow. d. PHY IDENTIFIER Indicates the number of ports the TARG has minus one. For a single port drive, X'00' is reported, and for a dual port drive, X'01' is reported. e. ATTACHED DEVICE TYPE Indicates the device type.
Parameter Data Format l. ATTACHED SMP TARGET PORT Reports the SMP TARGET value received from the INIT with an IDENTIFY address frame. m. SAS ADDRESS Reports the port SAS address of the HDD. - port SAS address (Port-A): - port SAS address (Port-B): n. 5CCC CCCX XXXX XXX 2 5CCC CCCX XXXX XXX 3 C: Company ID X: Serial number for WWN ATTACHED SAS ADDRESS Reports the SAS address received from the INIT with an IDENTIFY address frame. o.
5.2 Log Parameters 5.2.13 SMART Status Page (X'2F') Table 5.66 SMART status page (X'2F') [Fujitsu unique page] Bit Byte 0 7 6 5 4 3 2 1 0 0 0 1 0 1 1 1 1 1 X'00' (Reserved) 2 Page Length (MSB) 3 Page Length (LSB) 4 ~ ~ ~ ~ ~ ~ SMART Status Parameter n This page contains parameters which allow the application client to check the predictive drive failure condition of the HDD.
This page is intentionally left blank.
CHAPTER 6 Sense Data and Error Recovery Methods 6.1 Sense Data 6.2 INIT Error Recovery Methods (Recommended) 6.3 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 HDD are described. 6.
Sense Data and Error Recovery Methods 2) In the REQUEST SENSE command, even if a Transfer byte length that is shorter than the length of the sense data supported by the device which is the object of the command, the command will terminate normally, but in that case, some of the sense data only will be received and the remaining information will be lost. Sufficient caution should be exercised with regard to the devices connected to the INIT and all the sense data of those devices should be read. Table 6.
6.1 Sense Data 6.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. Each field and the meanings of bits in the sense data basic information are explained below.
Sense Data and Error Recovery Methods (6) 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 HDD without relation to the value specified in the "Transfer byte length" in the CDB of the REQUEST SENSE command. The length of the HDD's sense data is fixed at 48 bytes and this field always indicates X '28' (40 bytes).
6.1 Sense Data Table 6.
Sense Data and Error Recovery Methods Table 6.3 Sense key Sense Key Name Explanation 0 NO SENSE The specific sense key does not exist. 1 RECOVERED ERROR 1) Indicates that the command which was executed last was terminated normally with a recovery operation by the HDD. If multiple errors which were successfully recovered from during processing of a single command occurred, the last error to have occurred is reported. 2) Rounding processing of the MODE SELECT parameter was performed.
6.1 Sense Data Table 6.4 Additional Sense Code and Additional Sense Code Qualifier (1/6) Name Explanation Sense key C* Q* 00 00 No additional sense information No specific sense code exists. 0 01 00 No index/sector signal The target sector was not detected by the sector counter within the specified time. 4 03 00 Peripheral device write fault A write operation to the disk media was terminated abnormally.
Sense Data and Error Recovery Methods Table 6.4 Additional Sense Code and Additional Sense Code Qualifier (2/6) Name Sense key Explanation C* Q* 0E 01 Information Unit Too Short The received write data is shorter than the stipulated length. B 02 Information Unit Too Long The received write data is longer than the stipulated length. B 01 Read retries exhausted Unrecovered error was detected during data read (retry out).
6.1 Sense Data Table 6.4 Additional Sense Code and Additional Sense Code Qualifier (3/6) Name Explanation Sense key C* Q* 1C 01 Primary defect list not found The defect list (P List) header is incorrect. 3 02 Grown defect list not found The defect list (G List) header is incorrect. 3 80 SA information list not found The SA information (MODE SELECT parameter) header is incorrect.
Sense Data and Error Recovery Methods Table 6.4 Additional Sense Code and Additional Sense Code Qualifier (4/6) Name Sense key Explanation C* Q* 31 00 Medium format corrupted The media format is different from the original format. (The media was not formatted after the data format specification was changed by the MODE SELECT command.) 3 01 FORMAT command failed For some reason, formatting cannot be completed and reformatting is necessary.
6.1 Sense Data Table 6.4 Additional Sense Code and Additional Sense Code Qualifier (5/6) C* Q* Name 44 nn Internal target failure 47 03 4B 01 02 03 04 05 06 4C nn Explanation An error was detected in self-diagnosis.
Sense Data and Error Recovery Methods Table 6.4 Additional Sense Code and Additional Sense Code Qualifier (6/6) Name Sense key Explanation C* Q* 4E 00 Overlapped commands attempted Before execution of a tagged command was completed, the same INIT issued a command to the same LUN with the same tag. B 55 04 Insufficient Registration Resource PERSISTENT RESERVATION OUT command is issued from insufficient device server resource.
6.1 Sense Data 6.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. (1) PORT The Port bit indicates the connected port. Port-A: '0'; Port-B: '1' (2) 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. When sense data are generated without relation to the INIT issuing a command, this field shows zero.
Sense Data and Error Recovery Methods 6.2 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. 6.2.
6.2 INIT Error Recovery Methods (Recommended) (1) TASK SET FULL status This status indicates that the HDD 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 HDD can receive the next command depends on the operating state with other INITs, so ordinarily, it cannot be predicted.
Sense Data and Error Recovery Methods • Since the command stack feature exists (see Section 2.4), even if the HDD 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. The execution wait time is dependent upon the type of command issued by the other INITs and the contents of its specifications.
6.2 INIT Error Recovery Methods (Recommended) Table 6.5 Sense data error classification (1/3) L* Recovery Method (See Table 6.6.) No sense data showing the error contents are held. None 4 00 Sync Mark not found for data field Need 8 15 xx Positioning error 17 xx Recovered data without ECC 18 xx Recovered data with error correction applied.
Sense Data and Error Recovery Methods Table 6.5 Sense data error classification (2/3) Outline of Error K* C* Q* 3 31 00 Medium form at corrupted 31 01 FORMAT command failed The data format on the disk media is not correct. L* Recovery Method (See Table 6.6.) Need 18 Need 7 None 19 Need 13 Need 20 Need 10 None 2 The data format on the disk media is not correct. 4 03 xx Peripheral device write fault This is an error of the disk drive's write system.
6.2 INIT Error Recovery Methods (Recommended) Table 6.5 Sense data error classification (3/3) K* C* Q* 6 29 xx Outline of Error Power on, reset, or HARD RESET occurred L* Recovery Method (See Table 6.6.) None 14 None 21 None 25 None 27 The HDD was initialized by a Power on or HARD RESET sequence. 6 2A 01 Mode parameters changed The MODE SELECT parameters were changed by another INIT. 6 2F 00 Commands cleared by another INIT Commands were cleared by another INIT.
Sense Data and Error Recovery Methods Table 6.6 Error recovery processing procedures (1/4) Recovery Method Recovery Processing Procedure 0 It is not necessary to perform the error recovery processing. Continue processing. 1 Error recovery processing is impossible. Terminate processing. 2 This is a programming error and error recovery processing is impossible. Terminate processing and correct the error in the system (INIT) programming.
6.2 INIT Error Recovery Methods (Recommended) Table 6.6 Error recovery processing procedures (2/4) Recovery Method 9 Recovery Processing Procedure 1) Issue the MODE SENSE command and when a RECOVERED ERROR is reported, read the "Current" value in the changed MODE SELECT or MODE SELECT EXTENDED parameter. 2) If the value actually set in that parameter page is within the INIT's permissible range, perform recovery method 0.
Sense Data and Error Recovery Methods Table 6.6 Error recovery processing procedures (3/4) Recovery Method 13 Recovery Processing Procedure 1) Execute a HARD RESET sequence. 2) After waiting 2 seconds or longer, reissue the original command (Retry), and if the spindle motor's start mode is set on "Start by Command," issue the START instruction by the NOTIFY Primitive (ENABLE SPINUP) before retrying. 3) If the retry procedure 2) does not terminate normally, perform recovery method 1.
6.2 INIT Error Recovery Methods (Recommended) Table 6.6 Error recovery processing procedures (4/4) Recovery Method Recovery Processing Procedure 19 Initialize the entire disk media surface. It is desirable at this time to increase the number of spare sectors as much as possible. If this error occurs repeatedly, it is necessary to perform alternate block allocation processing through the system (shown in Chapter 7) or reconfirm the use conditions of the disk drive, such as the installation environment.
Sense Data and Error Recovery Methods 6.2.3 Error logging In order to collect information that is effective in maintenance, it is desirable for the INIT to accumulate (log) error information related to the SAS interface which it has detected itself (error frame detection, command completion wait time-out, etc.) and error information reported by the HDD.
6.3 Disk Drive Error Recovery Processing If the error cannot be recovered from even when retry processing is executed the specified number of times, the HDD terminates the command which is currently being executed with a CHECK CONDITION status. The sense key in the sense data at this time is "MEDIUM ERROR [=3]" and the ASC/ASCO indicates "Mechanical positioning error [=15-01]" or "Positioning error detected by read of medium [=15-02].
Sense Data and Error Recovery Methods judges that correction is possible, it regards verification as being successful and continues processing of subsequent data blocks. (5) Other internal HDD errors If an irrecoverable error other than those in items (1) to (4) above is detected internally in the HDD, the HDD terminates the command that is currently being executed with a CHECK CONDITION status. The sense key in the sense data at this time is "HARDWARE ERROR [=4]." 6.3.
6.3 Disk Drive Error Recovery Processing even if "1" is specified in the ARRE flag, auto alternate block allocation processing will not be executed for errors in the data area. 2. When errors in the data area are recovered from by ECC correction processing, before implementing alternate block allocation processing, rewriting of the recovered data and a verify check (rereading) are performed. If data are recovered by rewriting, alternate block allocation of that data block is not performed.
Sense Data and Error Recovery Methods If error recovery is completed by rewriting the data to the data block, alternate block allocation is not performed for this data block. The data block is removed as the target of AWRE processing. (3) Auto alternate block allocation processing during a write operation 2 (servo auto alternate) This function is enabled by specifying "1" in the AWRE flag in the MODE SELECT parameters. Furthermore, this function is applicable to the following commands only.
6.3 Disk Drive Error Recovery Processing EXTENDED command as necessary and select the error recovery flags and the number of retries. a. b. c. 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) − DCR (disable correction) − Number of retries during read (See Table 6.
Sense Data and Error Recovery Methods • 388 In processing of data blocks for which alternate sector processing is completed, the number of retries on the defective sectors is calculated separately from the number of retries on the alternate sectors.
CHAPTER 7 Disk Media Management 7.1 Defect Management 7.2 Disk Media Initialization 7.3 Alternate Block Allocation Processing 7.4 Background Media Scan (BMS) 7.5 Drive Self-Test (DST) 7.6 SMART (Self-Monitoring Analysis and Reporting Technology) 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.
Disk Media Management (2) Alternate block allocation Alternate data blocks are allocated in defective sector units for defective data blocks (= sectors) on the disk media by the HDD'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. When the INIT initializes the disk media, it can specify the spare sector area to be prepared on the disk drive and the size of that area.
7.1 Defect Management c. Alternate block allocation processing Alternate block allocation processing is implemented by the FORMAT UNIT command, REASSIGN BLOCKS command or "Auto Alternate Block Allocation Processing.
Disk Media Management 7.2 Disk Media Initialization 7.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.
7.2 Disk Media Initialization (2) 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.
Disk Media Management (2) 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" field. Also, prepare only a 4-byte header, specify "0" in the "FOV," "DPRY," "DCRT" and "STPF" bits and zero in the "Defect List Length" field.
7.3 Alternate Block Allocation Processing 7.3 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. The procedure for alternate block processing is shown below.
Disk Media Management 7.4 Background Media Scan (BMS) 7.4.1 Overview This function performs a background task that verifies the entire media surface by scanning it during idle time based on the specification on Mode Page 0x1C SubPage 0x01 (Background Control mode Page). During the scan, automatic alternate processing is performed based on what is specified by the Retry Parameter.
7.4 Background Media Scan (BMS) If a scan ends with an error, the next Pre-Scan operation will begin with LBA 0. If the Write command is issued to an LBA that was not scanned, this LBA will be verified after data is written to it. (For further information, see the next section.) 7.4.2.3 Write command operation during a Pre-Scan If the Write command is issued to an LBA that has yet to be scanned, the Write command will function as a Write&Verify command during the Pre-Scan period.
Disk Media Management 7.4.3 Mode Page Table 7.
7.4 Background Media Scan (BMS) • EN_BMS (Enable Background Media Scan) When this bit is set to "1," the Background Media Scan (BMS) function is enabled. Media scan processing will begin at the time determined by the BMS Interval Time (bytes 6-7) specification. When this bit is cleared to "0," the BMS function is disabled. Clearing this bit to "0" while BMS media scan processing is in progress immediately suspends the media scan processing.
Disk Media Management 7.4.4 Background Media Scan Log Page The Background Media Scan log page includes one BMS Status parameter and up to 1024 medium scan parameters. The table below shows the Background Scan Result Log Page format. Table 7.2 Background Media Scan Log Page format Bit 7 6 5 4 3 2 1 0 0 0 0 Page code (0 × 15) Byte 0 1 0 2 (MSB) 0 0 0 0 Page length (19 + 24N − 3) 3 4 (LSB) BMS Status parameter (Table 5.60) 19 20 BMS parameter - 1 (Table 5.
7.4 Background Media Scan (BMS) Table 7.
Disk Media Management The "Number of Scans Performed" field reports the number of times scanning has been performed. The "Medium Scan Progress" field reports the scan progress in percentage. The table below shows the (xxxx/10000h) Medium Scan parameter format. Table 7.
7.4 Background Media Scan (BMS) The values that may be reported in the "Reassign Status" field are as follows: "0h" Reassignment has not been performed. "1h" The Reassign or Write command issued by the initiator is being awaited. "2h" Automatic alternate processing has been performed. "3h" Reserved "4h" Automatic alternate processing failed. "5h" Rewrite processing has succeeded in recovery. "6h" From Initiator, alternate processing is executed via the Reassign command or Write command.
Disk Media Management 7.5 Drive Self-Test (DST) 7.5.1 Overview This function supports two types of self-tests based on the specification in the "SELF-TEST CODE" field of the SEND DIAGNOSTICS command as follows: • Short self-test • Extended self-test A short self-test is conducted to quickly verify whether the HDD contains a defect, whereas an extended self-test is a more comprehensive test conducted by the HDD without INIT intervention.
7.5 Drive Self-Test (DST) 7.5.2 Self-test modes Self-tests of each type are conducted in either of the following two modes: • Foreground mode • Background mode The subsequent sections explain both modes in detail. 7.5.2.1 Foreground mode Before the INIT initiates a self-test in foreground mode, the HDD should be reserved. If the HDD specifies the execution of a self-test in foreground mode, it will report the status when a pertinent command is issued after completion of the self-test.
Disk Media Management 7.5.2.2 Background mode If the HDD receives a SEND DIAGNOSTICS command that specifies the execution of a self-test in background mode, it will report the status immediately after verifying the CDB.
7.5 Drive Self-Test (DST) 7.5.3 Matters that are common to both modes During a self-test, the INIT can obtain the progress of the self-test by referencing the "sense key specific information" field (bytes 16-17), which is returned in response to the REQUEST SENSE command. When the self-test has encountered no error, the HDD terminates the command with CHECK CONDITION status (NOT READY [=2]/LOGICAL UNIT NOT READY, SELF-TEST IN PROGRESS [04-09]).
Disk Media Management b. Flash ROM test This test segment conducts a sumcheck test on each block of program code contained in flash ROM. If a sumcheck error is detected on one block, Hardware Error [=4]/F/W Header/Check SUM Error [=40-84] is reported on the self-test result log page. c. Pre-SMART test This test segment uses the failure prediction function (SMART) to determine whether the target device has detected a failure prediction reporting condition.
7.5 Drive Self-Test (DST) e. Data compare test This test segment compares data by performing write/read processing on the internal-test cylinder using all heads. If it encounters an error while performing data compare processing, Miscompare [=E]/Miscompare During Self Configuration [=1D-80] is reported on the self-test result log page.
Disk Media Management 7.6 SMART (Self-Monitoring Analysis and Reporting Technology) 7.6.1 Overview The SMART function of the HDD monitors events that represent signs of HDD deterioration or failure. The HDD monitors the following metrics (attributes): • Read error rate • Write error rate • Seek error rate • Number of remaining alternate sectors • Spin-up time • G-list update frequency • Device temperature (High-temperature state, rather than failure prediction, is reported.
7.6 SMART (Self-Monitoring Analysis and Reporting Technology) (5) At certain time intervals (nearly hourly). If the state where there is no command to execute does not last for one second or longer, a log save operation may be postponed until the appropriate condition is fulfilled.
Disk Media Management Table 7.5 SMART ASC/ASCQ ASC 5D 0B ASCQ Description 12 The value of the read error rate attribute has reached its threshold. 14 The value of the G-list update frequency attribute has reached its threshold. 41 The value of the write error rate attribute has reached its threshold. 43 The value of the seek error rate attribute has reached its threshold. 56 The value of the spin-up attribute has reached its threshold.
7.6 SMART (Self-Monitoring Analysis and Reporting Technology) b.
Disk Media Management d. Number of remaining alternate sectors The HDD monitors the number of remaining alternate sectors. If the number of spare sectors that can be allocated as alternatives drops below the threshold for a physical reason or due to the size of a control table within the HDD, the HDD considers that a failure prediction reporting condition has developed. Threshold e. 200 spare sectors Spin-up time The HDD monitors the spin-up time.
7.6 SMART (Self-Monitoring Analysis and Reporting Technology) h. DE temperature The HDD measures the device temperature at one-minute intervals.
Disk Media Management 7.6.4 Reporting function If failure is predicted, the HDD notifies the INIT of failure prediction at the specified time intervals by the reporting method specified by the MODE SELECT parameter on Page 1C as described in Section 5.1.11. This reporting to the INIT begins when failure is predicted. Later, each time the HDD is initialized at power-on by a reset operation or for another reason, a warning is issued again to the INIT.
Glossary Additional Sense Code This is a 1-byte code displayed in the sense data and is information which specifies the type of error that was detected. CDB Command Descriptor Block A series of data which describes commands related to input/output operations, sent from the initiator to the target. Command This is a command to a target to perform an input/output operation, and it is described as the CDB.
This page is intentionally left blank.
Acronyms and Abbreviations DTE Disable Transfer on Error A ACK AEN AIP ALT ARRE ACKnowledge Asynchoronous Event Notification Arbitration In Progress primitive ALTernated (block) Automatic Read Reallocation Enabled ASCII American Standard Code for Information Interchange ASG ASiGned block AWG American Wire Gauge AWRE Automatic Write Reallocation Enabled B BMS BIST bpi BSY BytChk Background Media Scan Build In Self Test bits per inch BuSY Byte Check E ECC EER EOAF EOF EVPD F FC FG FIFO FmtData FOV FUA
Acronyms and Abbreviations O OEM OOB Original Equipment Manufacturer Out Of Band P P list Primary defect list P/N Parts/Number PBdata Physical Block data PC board Printed Circuit board PCA Printed Circuit Assembly PER Post ERror PF Page Format PLOSync Phase Lock Oscillator Synchronous PMI Partial Medium Indicator PR4ML Partial Response class 4 Maximum Likelihood SCSI SCT SEL SelfTest SG SOAF SOF SP SPR SR SSEC STPF SURF T TB TPI TRM R RC RCD REQ RH RMB RST RSV Read Continuous Read Cache Disable Reques
Index 10-Byte CDB basic format........................104 12-Byte CDB basic format........................105 6-Byte CDB basic format..........................104 8b10b coding...............................................31 A abort processing ........................................119 ABORT TASK..................................119, 120 ABORT TASK SET..........................119, 120 accounting date .........................................345 ACK ........................................................
Index C cache segment count..................................302 cache segment size ....................................302 cached command .......................................130 cached data ................................................130 caching operation ......................................130 caching parameter..............................133, 298 caution in specifying D list........................232 CDB operation code ..................................371 CDB size ............................
Index demand read retention priority ..................300 detailed information ..................................371 details of parameters on MODE SELECT parameter ..............................293 device serial No.................................146, 147 device serial number field .........................141 device type code................................139, 143 device unique information.........................147 DExcpt ......................................................318 diagnostic command.....
Index FORMAT UNIT command parameter list configuration .................227 FOV...........................................................228 FSW...........................................................302 G G list ..................................................225, 389 G list bit.....................................................240 general usage application client parameter data .......................................347 generation of UNIT ATTENTION condition........................................
Index look-ahead cache feature...........................130 look-ahead operation.................................133 look-ahead volume ....................................133 LP .............................................................191 LPN ...........................................................309 M maintenance command..............................246 maximum burst size ..................................288 maximum number of notch .......................309 maximum pre-fetch ....................
Index P P list...........................................225, 240, 389 page code...........137, 160, 189, 192, 250, 259 page code = 0A..........................................304 page code = 0C..........................................308 page code = 1.............................................282 page code = 1C..........................................317 page code = 2.............................................287 page code = 21...........................................325 page code = 3..............
Index queue algorithm qualifier ..........................305 queue error management ...........................306 quick arbitrate supported bit .....................142 R RAC ..........................................................307 rate matching...............................................71 RC .............................................................284 RCD ..........................................................299 READ (08) ................................................
Index SAS drive connection pattern......................22 SAS interface...............................................21 SAS interface, topology ..............................22 SAS layering ...............................................23 SAS OOB sequency ....................................36 SAS protocol log page (page code = 18) .....................................................353 SAS speed negotiation sequence.................38 scrambling ...................................................
Index TASK SET FULL status ...................109, 373 task set type...............................................305 TB284 temperature................................................343 temperature page (X'0D') ..........................342 termination status analysis ........................372 TEST .........................................................318 TEST UNIT READY (00) ........................135 third party release function .......................183 threshold met criteria....................
READER’S COMMENT FORM Your comments or suggestions on this document are cordially solicited. For any comments and suggestions you may have, please complete and submit this form to your FUJITSU representative. The comments and suggestions will be used in planning future editions. Thank you for your cooperation.
This page is intentionally left blank.
MBA3073RC, MBA3147RC, MBA3300RC SERIES, MBB2073RC, MBB2147RC SERIES, MBC2036RC, MBC2073RC SERIES DISK DRIVES SERIAL ATTACHED SCSI INTERFACE SPECIFICATIONS C141-C013-01EN MBA3073RC, MBA3147RC, MBA3300RC SERIES, MBB2073RC, MBB2147RC SERIES, MBC2036RC, MBC2073RC SERIES DISK DRIVES SERIAL ATTACHED SCSI INTERFACE SPECIFICATIONS C141-C013-01EN