---------------------------------------------------------------------- (c)Kalok Corporation K-Board BBS 408-734-4258 300-14400 Baud, 8-N-1 ---------------------------------------------------------------------- KL-341 OEM Manual ----------------- This manual is in text free-format with no printer or character codes for text highlighting or form feeds, though IBM line graphics are used that may appear as alternate characters if your printer is set up differently. As there is no formatting you do not need to set up a specific page length on your printer, however you may want to ensure that your printer supports IBM line graphics. ----------------------------------------------------------------------------- KALOK KL 341 SERIES SCSI INTELLIGENT DISK DRIVE User Manual Model: KL 341 P/N 86003-001 Rev. C ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Kalok Corporation 1289 Anvilwood Avenue Sunnyvale, CA 94089 Telephone: (408) 747-1315 FAX (408) 747-1319 Copyright(c) 1988 Kalok Corporation All Rights Reserved First Edition . . . . . . . . . . . . . . . . . . . . . . . . October 1988 Second Edition . . . . . . . . . . . . . . . . . . . . . . May 12,1989 Third Edition . . . . . . . . . . . . . . . . . . . . . . . July 9, 1990 This document contains proprietary information which is protected by copyright. This document may not, in whole or part, be copied, photographed, translated, or reproduced in any form or by any means, electrical or mechanical, without prior written permission from Kalok Corporation. Printed in U.S.A. ÉÍÍÍÍÍÍÍÍÍÍÍÍ» º Notice º ÈÍÍÍÍÍÍÍÍÍÍÍͼ The information contained in this document is subject to change without notice. New editions are complete revisions of the manual. The date on the title page of the manual changes only when a new edition is published. KALOK CORPORATION MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Kalok Corporation shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance or use of this material. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ TABLE OF CONTENTS SECTION 1 INTRODUCTION 1.1 Purpose.......................................1-1 1.2 General.......................................1-1 1.3 Model description.............................1-1 1.4 Functional Organization.......................1-2 1.4.1 Host Interface ................................1-2 1.4.2 Microprocessor ................................1-2 1.4.3 Two-Channel DMA Controller ....................1-2 1.4.4 Data Sequencer ................................1-2 1.4.5 VCO/Encode/Decode .............................1-2 1.5 Buffering Scheme..............................1-3 1.6 Specifications................................1-4 1.6.1 Capacity......................................1-4 1.6.2 Configuration.................................1-4 1.6.3 Performance...................................1-4 1.6.4 Physical Specification........................1-4 1.6.5 Environmental Specification...................1-4 1.6.6 Power Requirements............................1-5 1.6.7 Shock and Vibration...........................1-5 1.6.8 Acoustic Levels...............................1-5 1.6.9 Reliability Specification.....................1-5 SECTION 2 STANDARD FEATURES 2.1 General.......................................2-1 SECTION 3 INSTALLATION 3.1 Unpacking and Inspection......................3-1 3.2 Drive Preparation.............................3-1 3.3 Drive Mounting................................3-1 3.4 Cable Connections.............................3-1 SECTION 4 SYSTEM CONFIGURATION 4.1 General.......................................4-1 4.2 Pin Assignments...............................4-1 4.2.1 Power Connector...............................4-2 4.3 Jumper Allocation.............................4-2 SECTION 5 TRACK AND SECTOR FORMAT 5.1 Disk Track Format.............................5-1 5.2 Volume Format.................................5-1 SECTION 6 FUNCTIONAL DESCRIPTION 6.1 General.......................................6-1 6.2 Bus Timings...................................6-2 6.3 Phases........................................6-1 6.3.1 Bus Free Phase............................6-2 6.3.2 Arbitration Phase.........................6-2 6.3.3 Selection Phase..........................6-2 6.3.4 Reselection...............................6-2 6.3.4.1 Information Transfer Phases................6-3 6.3.4.2 Attention Condition........................6-3 6.4 SCSI Bus Error Handling.......................6-3 6.4.1 Bus Parity Errors.........................6-3 6.5 Internal Diagnostics.........................6-4 6.5.1 Self-Test.................................6-4 6.6 Host Interface Protocol.......................6-5 6.7 Automatic Self Configuration..................6-5 SECTION 7 SCSI COMMANDS SUMMARY 7.1 General......................................7-1 7.2 Command Set Summary..........................7-1 SECTION 8 SCSI COMMANDS 8.1 General....................................8-1 8.1.1 Reserved....................................8-1 8.1.2 Unit Attention Condition....................8-1 8.1.3 Command Descriptor Block (CDB).............8-2 8.1.4 Operation Code..............................8-2 8.1.5 Logical Unit Number (LUN)...................8-3 8.1.6 Logical Block Address (LBA).................8-3 8.1.7 Transfer Length.............................8-3 8.1.8 Control Byte................................8-4 8.1.9 Status Byte.................................8-5 8.1.10 Command Processing...........................8-6 8.2 Command Set................................8-7 8.2.1 Test Unit Ready Command.....................8-8 8.2.2 Request Sense Command.......................8-9 8.2.3 Inquiry Command.............................8-14 8.2.4 Send Diagnostic Command.....................8-17 8.3 Group 0 Direct Access Commands................8-18 8.3.1 Rezero Unit Command.........................8-19 8.3.2 Format Unit.................................8-20 8.3.3 Reassign Blocks Command.....................8-28 8.3.4 Read Command................................8-30 8.3.5 Write Command.................................8-31 8.3.6 Seek Command................................8-32 8.3.7 Mode Select Command.........................8-33 8.3.8 Reserve Command.............................8-45 8.3.9 Release Command.............................8-46 8.3.10 Mode Sense....................................8-47 8.3.11 Start/Stop Unit Command........................8-62 SECTION 9 GROUP 1 & 7 COMMANDS FOR DIRECT ACCESS DEVICES 9.1 General.......................................9-1 9.1.1 Read Capacity Command........................9-2 9.1.2 Read Extended Command........................9-4 9.1.3 Write Extended Command.......................9-5 9.1.4 Seek Extended Command........................9-6 9.1.5 Write and Verify Command.....................9-7 9.1.6 Verify Command...............................9-8 9.1.7 Read Defect Data Command.....................9-9 9.1.8 Write Buffer Command.........................9-12 9.1.9 Read Buffer Command..........................9-14 9.2. Group 7 Commands for Direct Access Devices...9-16 9.2.1 Read ID......................................9-17 9.2.2 Read Long Command............................9-18 9.2.3 Write Long Command...........................9-19 9.2.4 Read Abs Command.............................9-20 9.2.5 Write Abs Command............................9-21 9.1.9 Read Buffer Command..........................9.2.1 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 1 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ INTRODUCTION 1.1 PURPOSE This manual introduces the user to the KL341 series of high performance SCSI (Small Computer System Interface) Disk Drive. It provides the information needed to install, configure and maintain the KL341 series Disk Drive. The manual is a reference source for OEM engineers, system integrators, service and maintenance technicians. 1.2 GENERAL The KL341 SCSI Disk Drive is a high performance 3.5 inch 41.3 megabyte (formatted) disk drive with the Small Computer System Interface (SCSI). SCSI is the industry-standard 8-bit parallel bidirectional Small Computer Systems Interface . The command set complies with the Industry Standard 8-Bit SCSI Common Command Set (ANSC X3T9.2). 1.3 MODEL DESCRIPTION KL-341-8K This is the standard model including 8k bytes of buffer memory. KL-341-32K This model includes 32k bytes of buffer memory. KL-341-64K This model includes 64k bytes of buffer memory. 1.4 FUNCTIONAL ORGANIZATION 1.4.1 Host Interface1.4 The SCSI host interface is a bidirectional bus interface that provides the computer with device independence so that disk drives, tape drives, optical disks, printers, communication devices, processor devices, and other devices can be added to the system configuration. A single SCSI multi-functional device, provides control and data signals to the SCSI interface and embedded single ended drivers/receivers. 1.4.2 Microprocessor The controller board contains a ROMless Zilog 12 Mhz Z8 Microcomputer. The Z8 provides a powerful instruction set, external program expansion capabilities, and flexible serial and parallel I/O capabilities. It contains a 16-bit program counter and a separate 16-bit stack pointer. The Z8 has 128 internal registers. 1.4.3 Two-Channel DMA Controller Data control functions are handled by the two channel Direct Memory Access Controller (DMA Controller). The DMA manages the flow of block-level information between buffer memory and host and/or byte-oriented peripheral interfaces. 1.4.4 Data Sequencer Disk data function is handled by the Data Sequencer chip. The Sequencer manages the flow of block-level information between the disks and the DMA. It also handles SERDES (Serialize, Deserialize) functions to and from NRZ data, format operations, and ECC generation and checking. 1.4.5 VCO/Encode/Decode These functions are handled by the VCO/Encode/Decode device for 2,7 RLL encoding. These are fifth-generation data separators that convert 2,7 RLL serial data to NRZ data and clock transitions. 1.5 BUFFERING SCHEME The controller includes a static 8K/32k or 64k byte data buffer on KL341 series . The buffer is used to enhance the performance of the controller by storing blocks of data while the controller is disconnected from the host and to match the speed of the host and the controller. The buffer is used as a ring buffer, controlled by the DMA Controller chip. Each channel has its own separate 16-bit address and byte count register. The channels operate simultaneously, allowing read and write operations to the buffer from various data paths at the same time. Of these channels : - Channel 0 is dedicated to the Sequencer chip and is used to transfer data between the buffer and the disks. - Channel 2 is connected to the SCSI bus and operates in the SCSI mode. EXAMPLE OF BUFFER USE: The following case is a multi-block READ command from the disk: - the first logical block, specified as the starting block address in the SCSI command, is read from the disk and written into the buffer using the chip channel 0. - when the ECC is calculated, the data block is available for transfer to the host bus; - if the controller has disconnected from the host, the controller will reconnect, - the data block is then transferred asynchronously at the host memory speed (Handshake Timing). - the next block on the disk is stored in the buffer (at the address, in the buffer, below the previous block), as soon as it is read, independently of the access from the host. Reading of data from the disk, and sending data to the host are independent, and take place at the same time.- blocks are stored below each other in the buffer,until the maximum address is reached, then the channel wraps around to the first address in the buffer (assuming that the first block has already been transferred to the host). - if the host is too slow to empty all data blocks stored in the buffer from the disk, and another block is ready to be stored in the buffer with no space available, an overrun situation occurs. In this case, the controller will stop reading from the disk and wait for one block size to be available to start reading again. This will occur only if the host transfer rate is much slower than the disk transfer rate, 8 Megabit/second. - The controller allows switching heads and cylinders without losing a disk revolution during READ or WRITE operations. 1.6 SPECIFICATIONS The following lists environmental, power requirements, and mounting and dimensional characteristics. All KL341 series models use the same Printed Circuit Board. 1.6.1 Capacity Unformatted Formatted 44.1 MBytes 41.3 MBytes 1.6.2 Configuration Number of Disks...........2 Number of heads...........4 Tracks per suface.........660 Bytes per Block...........512 Blocks per track..........31 Blocks per Drive..........80,688 Blocks per Cylinder.......123 1.6.3 Performance Rotation Speed............3375 RPM Controller Overhead.......1 ms typ. Average Latency...........8.88 ms Interface Burst rate......3 MBytes/sec. Start up time.............5 sec. typ., 10 sec. max. Seek Time Track to Track.........8 ms Average................40 ms Maximum.................85 ms 1.6.4 Physical Specifications Width 4 inches (10.2 cm) Length 5.75 inches (14.6 cm) Height 1.62 inches (4.13 cm) Weight 1.6 lbs 1.6.5 Environmental Specifications Operating Storage Temperature 10 to 50C -40 to 75C Relative Humidity 10% to 80% 10% to 95% Max. Wet Bulb 26C¡ Non-condensing Altitude -1000 to +10000 ft -1000 to +30000 ft 1.6.6 Power Requirements +5 VDC (+/-5%) .4amp max +12 VDC (+/- 5%) .8amp typical 2amps max during inital 7 seconds The maximum ripple and noise (P/P) is 100mV. 1.6.7 Shock and Vibration Vibration Operating Frequency Linear Rotational 5-22 Hz .010 inch .005 Radians 23-500 Hz .250 G 50 Rad/SecSq (See Note 1) Non-operating 5-22 Hz .040 inch .020 Radians 23-500 Hz 1.00 G 200 Rad/Sec Sq (See Note 2) Shock Operating Direction Linear Rotational All axis 10 G 2000 Rad/Secsq Non-operating All Axis 40 G 8000 Rad/Secsq (See Note 2) Note 1: While subjected to shock and vibration at these specified limits and testing at a sweep rate of .067 Decades/Min., the drive will meet its Read/Write performance specifications. Note 2: The drive will withstand shock and vibration at these specifications without incurring permanent damage or loss of data. 1.6.8 Acoustic Levels Overall: 40dbA 1.6.9 Reliability Specification Mean time between failures (MTBF)......30,000 hours Mean time to repair....................5 minutes Preventive maintenance required........none Service life...........................6 years Error Rate Hard errors 1 per 10^12 bits read Soft errors 1 per 10^10 bits read Seek errors 1 per 5* 10^6 seeks Hard errors/surface (mapped) 10 max. Hard errors/Drive (mapped) 30 max. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 2 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ STANDARD FEATURES 2.1 GENERAL This section contains a list of the standard features for the KL341 Disk Drive. Each feature has a brief description. For additional information see Section 3 through Section 9 of this manual . ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ HOST INTERFACE SCSI (Small Computer System Interface) - Including Arbitration, Disconnect and Reconnect, and all messages (except extended messages) - Supports the Common Command Set. SCSI BUS Up to 3 MegaBytes per second in asynchronous data transfer TRANSFER RATE mode. DISCONNECT/ Supports Disconnect/Arbitration/Reconnect to enhance system RECONNECT performance. SCSI BUS PARITY On all data transfers, odd parity is generated and, unless disabled, is checked. MULTIPLE DEVICESÄÄThe SCSI bus allows multiple controllers and multiple Hosts for a total of seven devices to attach to the Bus in any combination. All devices are daisy-chain connected. Each controller is selectable to be one of the eight devices with the selection address of 0 to 7. Several KL341's can be connected to the same SCSI bus. DEVICE The KL341 save the drive characteristics and MODE SELECT INDEPENDENCE parameters on a reserved track. On Power Up or Reset these AUTO parameters are used to automatically configure the drive and CONFIGURATION provide complete device software independence. COMMAND Upon successful completion of a command, chaining of LINKING LINKING commands is allowed, which prevents the entering of a new Selection phase. See Control Byte definition. ERROR RETRY Performs automatic retry on errors unless disabled by the host. ERROR REPORTINGÄÄUses Extended Sense error reporting with Additional Sense codes to further define errors. Allows the host to disable recoverable error reporting and other error recovery parameters (see MODE SELECT and MODE SENSE Page 1). PROGRAMMABLE Uses the MODE SENSE command to inform the host which parameters PARAMETERS are changeable, current, default and saved. Allows the host to set system parameters using the MODE SELECT command. BUFFER The KL341 Series offer 8K Bytes Ring Buffer (wraps arround) with 2 independent ports.depending on model. LOW POWER The KL341 series features an autosleep and autopark mode providing CONSUMPTION less then 5 wattts of power comsumed. Typical 10 watts. LIMITED PART Featuring VLSI Chips. COUNT PERFORMANCEÄÄÄDisconnects during seeks and at other times to maximize system performance. Uses the RING buffer to allow simultaneous transfer of data between devices and the SCSI bus INTERLEAVING One to One sector interleaving. SKEWING Cylinder skewing. SECTORING Soft BLOCK OR SECTOR 512 bytes IMPLIED SEEK Supported with all data transfer commands. HEAD PARKING Heads are parked by using the Stop Motor command. LOGICAL BLOCK With all data transfer commands. ADDRESSING AUTOMATIC HEAD Supported on multi-block data transfers. OR CYLINDER SWITCHING MULTI-BLOCK Up to 65,535 blocks per command(with any block size listed TRANSFER above) CONTROLLER 1 ms typical OVERHEAD SECTOR LEVEL During FORMAT UNIT all bad sectors (if any) are mapped out DEFECT HANDLING (if requested by the initiator). -The controller performs in-line sparing during FORMAT UNIT and REASSIGN BLOCKS commands by skipping known defects for better performance. -Controller uses the drive manufacturer defect list (if available and readable). This list is defined as Primary (P) defect list. -Optionally accepts a list of defects from the host. Defined as Data Out (D) defect list. -Maintains a list of grown defects in ascending order recorded twice on the disk (G list). The host can read this list using the READ DEFECT DATA command. -The host may request to use or delete the G list during a new FORMAT UNIT command. -When all alternate sectors of a zone are used or bad, the controller searches in the next consecutive zone(s) for an available spare sector to be used as an alternate. ERROR CORRECTING Powerful computer generated 48 bit polynomial 11 bit correct CODE 27 bit detect Properties when polynomial is used for error detection only ; -Single burst detection span ; any single burst not exceeding 48 bits in length is guaranteed to be detected regardless of record length. -Double burst detection span ; any combination of double bursts is guaranteed to be detected provided the sum of the two bursts does not exceed x, where x is specified in the table below. Record Length (bytes) x 548 33 -Misdetection Probability ; is 3.55 E-15 regardless of record length Properties when polynomial is used for error correction ; -Single burst correction span Record Length (bytes) bits 548 18 -Single burst detection span Record Length (bytes) correction span detection span 548 11 27 -Double burst detection span Record Length (bytes) correction span detection span 548 7 12 -Miscorrection Probability (Pmc) Pmc = n * 2 (b-1) n= record length 2 48 b = single burst correction span in bits Data Correction options. See MODE SELECT Page 1 : -Halt or don't halt on correctable ECC errors. -Report or don't report correctable ECC errors. -Correct first occurrance of ECC error or get two matching syndromes before applying correction. COMMAND SET The SCSI Common Command Set (CCS) plus some additional commands. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 3 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ INSTALLATION 3.1 UNPACKING AND INSPECTION Upon receipt of your Disk Drive, inspect the packaging for evidence of shipping damage. Open the package and inspect the disk drive for visible damage such as scratches, loose components, or broken connectors. If there is damage, immediately notify the carrier's agent and your KALOK Corporation' customer service representative. Compare the items listed on your original Purchase Order to the actual contents of the package and the packing list. If discrepencies exist, notify your Kalok Corporation customer service representative. Retain the shipping container and packing material for examination (if there are signs of damage), or for reuse when returning the disk drive to the factory. 3.2 DRIVE PREPARATION Figure 3-1 illustrates the appropriate drive layout, connector locations and jumper locations. Consult section 4.5 and 4.6 for the various jumper selectable drive functions and ensure that the factory installed jumpers are correctly in place. It is also possible to install optional jumpers to tailor the drive's functions to the specific requirements of your system. 3.3 DRIVE MOUNTING Holes for mounting your disk drive are dimensionally located. An important consideration is that air be allowed to freely pass by the drive. 3.4 CABLE CONNECTIONS After your drive is mounted, connect the DC power cord and the cables to the disk drive and host computer. Refer to the appropriate Connector and Jumper Location drawing for the location of connectors on your board. The System Configuration drawings presented in the next section will also help in identifying the cable hookup for your particular system. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 4 SYSTEM CONFIGURATION for the KALOK KL341 4.1 GENERAL SCSI bus : The interface between the host computer and the drive is a 50-pin cable. This cable is connected to J1 connector on the drive. The length of the host interface cable should not exceed 20 feet (6 meters), from the first to the last device (up to eight devices) on the bus. 4.2 PIN ASSIGNMENTS The recommended mating connector for J1 is : J1 AMP P/N 499956-0 The host computer SCSI interface signals are as shown below. All signals are low true. Asserted By ________________________________________________________________________________ GND 1 2 -DATA BIT 0 (-DB0) Bidirectional GND 3 4 -DATA BIT 1 (-DB1) Bidirectional GND 5 6 -DATA BIT 2 (-DB2) Bidirectional GND 7 8 -DATA BIT 3 (-DB3) Bidirectional GND 9 10 -DATA BIT 4 (-DB4) Bidirectional GND 11 12 -DATA BIT 5 (-DB5) Bidirectional GND 13 14 -DATA BIT 6 (-DB6) Bidirectional GND 15 16 -DATA BIT 7 (-DB7) Bidirectional GND 17 18 -DATA PARITY (-DBP) Bidirectional GND 19 20 OPEN GND 21 22 OPEN GND 23 24 OPEN OPEN 25 26 POWER TERMINATION The drive GND 27 28 OPEN GND 29 30 OPEN GND 31 32 -ATTENTION (-ATN) The Host(s) GND 33 34 GND GND 35 36 -BUSY (-BSY) Bidirectional GND 37 38 -ACKNOWLEDGE (-ACK) The Host GND 39 40 -RESET (-RST) The Host GND 41 42 -MESSAGE (-MSG) The drive GND 43 44 -SELECT (-SEL) The Host GND 45 46 -CONTROL/DATA (-C/D) The drive GND 47 48 -REQUEST (-REQ) The drive GND 49 50 -INPUT/OUTPUT (-I/O) The drive ________________________________________________________________________________ The minus sign next to the signal indicates active low. 4.2.1 Power Connector Power is applied to the controller via J2 which is a 4-pin AMP connector. The recommended mating connector, P2, is an AMP P/N 1-480424-0 using AMP pins, P/N 60617-4, or equivalent. J2 POWER CONNECTOR ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º +12 VDC........PIN 1 º º +12 RTN........PIN 2 º º +5 RTN.........PIN 3 º º +5 VDC.........PIN 4 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ 4.3 KALOK KL341 SERIES JUMPER ALLOCATION The KALOK KL341 Disk Drive allow the user to select the various controller functions listed below : J6 PIN ASSIGNMENTS ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºPIN 1.........RXD(Rs422 receive data input º ºPIN 2.........TXD(Rs422 transmit data output º ºPIN 3.........Ground º ºPIN 4.........Enable Rs422 mode(enable=jumper pins 3 & 4 º ºPIN 5ÄÄÄ10....SCSI LUN ID ADDRESS º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ PC BOARD ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÙ PIN 2ÄÄÄÄÄ> ³0 4 6 8 0 ³<ÄÄÄPIN 10 PIN 1 ÄÄÄÄ> ³0 3 5 7 0 ³<ÄÄÄPIN 9 ÀÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ J 6 ³ ADDRESS ³ ³ SCSI ID (LUN) ³ ÃÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ´ ³LUN O ³NO JUMPERS³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³LUN 1 ³9 TO 10 ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³LUN 2 ³7 TO 8 ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³LUN 3 ³7 TO 8 ³ ³ ³9 TO 10 ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³LUN 4 ³5 TO 6 ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³LUN 5 ³5 TO 6 ³ ³ ³9 TO 10 ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³LUN 6 ³5 TO 6 ³ ³ ³7 TO 8 ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³LUN 7 ³5 TO 6 ³ ³ ³7 TO 8 ³ ³ ³9 TO 10 ³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 5 TRACK AND SECTOR FORMAT 5.1 WINCHESTER DISK TRACK FORMAT The standard track format for a soft sectored Disk drives is organized into numbered data segments, or sectors (See Figure 6-1 and 6-2). KL341: The nominal Disk capacity is 16,701 Bytes. The miminum track capacity is based on a one percent speed variation. The method of encoding used is 2,7 RLL. ÚÄÄÄÄÄÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÂÄÄÄÄ¿ ³INDEX GAP³GAP1³ID FIELD³GAP2³DATA FIELD³GAP3³GAP4³ ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÄÄÄÁÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÁÄÄÄÄÙ ³<ÄÄÄÄÄÄÄÄÄÄ-1 SECTORÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ (Repeated n times) Disk Soft Sector Track Format 5.2 VOLUME FORMAT During the FORMAT UNIT command the controller de-allocates some tracks from the user addressable blocks. They are: ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Cylinder 0 ³ CONTROLLER TRACKS ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Cylinder 1 ³ CONTROLLER TRACKS ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Cylinder 2 ³ CONTROLLER TRACKS ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Cylinder 3 ³ CONTROLLER TRACKS ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Cylinder 4 ÄÄ 660 ³ USER DATA CYLINDERS ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Cylinder 661 ³ SPARE TRACKS ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ Cylinder 662 ³ REASSIGN BLOCK ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Cylinder 0-3 : Used for Self or Auto Configuration information. The Block Length of this track is the same as the other tracks. This track is formatted during the FORMAT UNIT command. It is written during the format command after all tracks are formatted and is written during the MODE SELECT command if the Save Parameters bit, SP bit, is set. Track zero contains the saved parameters . The contents of track zero can be read by the host by issuing a READ BUFFER command immediately after powering up or resetting the system. Track zero information is read into the buffer when the system is configured. Reassign Block Track : This track is used during the REASSIGN BLOCK command to contain the data from the tracks that contain the defective sector while these tracks are being re-formatted. A backup of this track is used in case there is a defect on the first track. Spare Tracks: These tracks are used to spare any defective sectors that overflow the spares contained on the last zone in the user area. WHEN FORMATTING: G List Tracks: These tracks are formatted during formats with the Complete List bit set. Reassign Blocks and Spare Track per Volume tracks: These tracks are formatted during each format. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 6 FUNCTIONAL DESCRIPTION 6.1 GENERAL This section describes the host controller interface. The host controller interface is the Small Computer Systems Interface (SCSI) general purpose 8-bit bi-directional bus. All commands are issued to the controller over the host bus using a predefined protocol. The host always initiates a command sequence by first arbitrating for the bus and selecting the controller. After the controller accepts selection, the controller takes control of the bus and requests the appropriate command bytes from the host. 6.2 BUS TIMINGS Arbitration Delay ..............(2.2 microseconds) Bus Clear Delay.................(800 nanoseconds) Bus Free Delay..................(800 nanoseconds) Bus Set Delay...................(1.8 microseconds) Bus Settle Delay................(400 nanoseconds) Data Release Delay..............(400 nanoseconds) Reset Hold Delay................(25 microseconds) Selection Abort Delay...........(200 microseconds) Selection Time-out Delay........(250 milliseconds) The controller fully complies to the timing requirements as described in the ANSI document (refer to that document for detailed information). 6.3 PHASES The Host interface includes eight distinct operational phases as follows: 1. BUS FREE phase (BSY de-asserted) 2. ARBITRATION phase (Optional. Used by the host in a Multiple Host configuration or by the controller while reconnecting). 3. SELECTION phase 4. RESELECTION phase 5. COMMAND phase 6. DATA IN (Read) or OUT (Write) phase 7. STATUS phase 8. MESSAGE IN (to host) or OUT (to controller) phase The Host bus can never be in more than one phase at any given time. The order in which SCSI bus phases are used on the bus follows a prescribed sequence. The Reset condition can interrupt any phase and is always followed by the BUS FREE phase. 6.3.1 BUS FREE Phase The BUS FREE phase is used to indicate that no SCSI device is actively using the SCSI bus and that it is available for subsequent users. The BUS FREE phase is detected after SEL and BSY signals are both false at least for a bus settle delay. 6.3.2 ARBITRATION Phase The ARBITRATION phase allows one SCSI device to gain control of the SCSI bus so that it can assume the role of an initiator or target. The controller analyzes whether or not the host initiator implements the ARBITRATION phase and memorizes the initiator ID, if any, for further references. If the host supports Disconnect/Reconnect, the controller will generate the ARBITRATION phase prior to entering the RESELECTION phase. ÉÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄNOTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ» ³Implementation of the ARBITRATION phase is a system option. Systems ³ ³that do not implement this option can have only one initiator. The ³ ³ARBITRATION phase is required for systems that use the DISCONNECT/RECONNECT³ ³feature. ³ ÈÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄļ 6.3.3 SELECTION Phase The controller detects selection after the host has won Arbitration (optional), and has asserted the SEL signal and both IDs (its ID and the controller ID) on the DATA BUS. The signal I/O is de-asserted by the controller during this phase. If more than two IDs are asserted on the DATA BUS, or parity is enabled and bad parity is detected, the controller will abort SELECTION by going to BUS FREE phase. After accepting selection, the controller asserts BUSY. The host must then de-assert SEL and may remove the IDs from the DATA BUS. ÉÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄNOTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ» ³Upon Power-On reset or bus Reset, the controller will execute a ³ ³comprehensive self-test. During this test the controller will respond ³ ³to any SELECTION by asserting BUSY. ³ ÈÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄļ If the host did not assert its ID on the bus during the SELECTION, the controller will assume the host cannot support any message other than the COMMAND COMPLETE message and does not support Disconnect/Reconnect. Also, the controller will assume the host ID is zero and will save any status for that host as host zero. 6.3.4 RESELECTION Phase After disconnecting to free the bus for other activities, the controller will reconnect when it is ready to transfer data or status across the bus. The controller will arbitrate for the bus and, if it wins the arbitration, will select the host and assert the I/O signal. After reselecting the host, the controller will send an IDENTIFY message to identify the LUN to the host. If the host does not respond to the reselection within a Selection Time-out Delay (250 milliseconds), the controller will release the bus and then re- arbitrate for the bus and try to reselect the host again. It will do this until the host responds or the controller is reset. The controller will respond to selects from the same or other hosts between reselection retries. 6.3.4.1 Information Transfer Phases Transfer Phases ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Signals MSG C/D I/O Phase Name Direction Of Transfer Comment ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ- 0 0 0 DATA OUT Initiator to controller \ Data 0 0 1 DATA IN Initiator from controller / Phases 0 1 0 COMMAND Initiator to controller 0 1 1 STATUS Initiator from controller 1 0 0 * 1 0 1 * 1 1 0 MESSAGE OUT Initiator to controller \ Message 1 1 1 MESSAGE IN Initiator from controller / Phases ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Key: 0 = False or de-asserted 1 = True or asserted * = Reserved 6.3.4.2 ATTENTION Condition The ATTENTION condition allows an initiator to inform the controller that the initiator has a message ready. The controller may get this message at its convenience by performing a MESSAGE OUT phase. The initiator creates the ATTENTION condition by asserting ATN at any time except during the ARBITRATION or BUS FREE phases. The initiator shall keep ATN asserted if more than one byte is to be transferred. The initiator may negate the ATN signal at any time except when the ACK signal is asserted during a MESSAGE OUT phase. Normally, the initiator negates ATN while REQ is true and ACK is false during the last REQ/ACK handshake of the MESSAGE OUT phase. 6.4 SCSI BUS ERROR HANDLING If the host detects the BUS FREE phase (other than which results from a RESET condition) without first receiving a DISCONNECT or COMMAND COMPLETE message, the host should consider this a catastrophic error condition. If the controller intentionally creates this condition, then it will clear the current command. 6.4.1 Bus Parity Errors Identify Message Parity Error If the controller detects a parity error while receiving the IDENTIFY message, it will attempt to receive the IDENTIFY a second time. If the second attempt also fails, the controller will go to BUS FREE Phase. Message Out Phase Parity Error If the controller detects a parity error during the MESSAGE OUT Phase (other than IDENTIFY message), it will attempt to receive the message again. If the second attempt fails, the controller will go to BUS FREE Phase, clear the present command, and set the Sense Key/Error Code to ABORTED COMMAND/SCSI Parity Error. Command Phase or Data Out Phase Parity Error If enabled, parity is checked on each command byte (in the COMMAND phase) or after each block or group of blocks is transferred in the DATA OUT phase. If bad, parity is detected and command is aborted as follows. The controller enters the STATUS phase, creates a CHECK CONDITION status, and sets the Sense Key/Error code to "ABORTED COMMAND/SCSI bus Parity Error" for that host. The controller will then enter the MESSAGE IN phase, return a COMMAND COMPLETE message, and go to BUS FREE phase. 6.5 INTERNAL DIAGNOSTICS 6.5.1 Self-Test The controller performs a hard reset after each Power-On or Bus Reset. After power-up, the drive executes the following self-tests : ÚÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³TEST³DEVICE ³ ³ # ³TESTED ³ COMMENTS ÃÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³Z8 Includes test of the control functions and registers. ÃÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ 0 ³Program ROM³Uses the ROM checksum to verify the ROM. ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ 1 ³Micro RAM ³Uses a moving inversion test to test the RAM. ³ ³ ³Leaves the RAM filled with zeros. ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ 2 ³Buffer RAM ³Determines the size of the buffer RAM and then tests it. ³ ³ ³Leaves the buffer filled with zeros. ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ 3 ³SCSI chip ³Tests the SCSI chip including the interrupt. ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ 4 ³DMA ³Tests the DMA including the interrupt. ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ 5 ³Sequencer ³Tests the Sequencer chip, including the interrupt. ÃÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³ 6 ³Sequencer ³Tests and then initializes the State controller RAM. ³ ³ State ³ ÀÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ After a Bus Reset the controller executes tests 3 - 6. 6.6 HOST INTERFACE PROTOCOL The ANSI X3.131-1986 System Computer System Interface (SCSI) specification (approved as a standard since June 23rd, 1986) may be ordered from: American National Standard Institute, Inc. 1430 Broadway, New York, N.Y. 10018 Tel. (212) 642-4900 Fax (212) 302-1286 Telex 42 42 96 ANSI UI For Global Engineering Documents 2805 McGaw Irvine, CA 92714 Tel. (800) 854-7179 (714) 261-1455 6.7 AUTOMATIC SELF CONFIGURATION During initialization, the KL341 Series store configuration information on the disks. This allows the drive to self-configure upon each power up to a preset state established by the application under Mode Select. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 7 SCSI COMMANDS SUMMARY 7.1 General This section contains a summary of group 0, 1, and 7 SCSI commands. Command definitions provide continuous logical blocks of a fixed data length. Refer to Section 8 for detailed description of SCSI commands. A single command may transfer one or more logical blocks of data. Multiple commands may be linked if they are sent to the same logical unit. The controller may disconnect from the SCSI bus to allow activity by other SCSI devices while a logical unit is being prepared to transfer data. 7.2 COMMAND SET SUMMARY ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³COMMAND ³OPERATION ³COMMAND ³ DATA IN ³NAME ³CODE (HEX) ³LENGTH ³ OR OUT ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ×ÍÍÍÍÍÍÍÍÍÍÍÍ×ÍÍÍÍÍÍÍÍÍ×ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³TEST UNIT READY³ 00 ³ 6 ³ 0 ³REZERO UNIT ³ 01 ³ 6 ³ 0 ³REQUEST SENSE ³ 03 ³ 6 ³ up to 16 Bytes ³FORMAT UNIT ³ 04 ³ 6 ³ 0, 4 or Host dependent ³REASSIGN BLOCKS³ 07 ³ 6 ³ Host dependent ³READ ³ 08 ³ 6 ³ up to 256 Blocks ³WRITE ³ 0A ³ 6 ³ up to 256 Blocks ³SEEK ³ 0B ³ 6 ³ 0 ³INQUIRY ³ 12 ³ 6 ³ up to 36 Bytes ³MODE SELECT ³ 15 ³ 6 ³ ³RESERVE UNIT ³ 16 ³ 6 ³ 0 ³RELEASE UNIT ³ 17 ³ 6 ³ 0 ³MODE SENSE ³ 1A ³ 6 ³ ³START/STOP UNIT³ 1B ³ 6 ³ 0 ³SEND DIAGNOSTIC³ 1D ³ 6 ³ 0 ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³GROUP 1 : : : ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³READ CAPACITY ³ 25 ³ 10 ³ 8 Bytes ³READ EXTENDED ³ 28 ³ 10 ³ up to 64K Blocks ³WRITE EXTENDED ³ 2A ³ 10 ³ up to 64K Blocks ³SEEK EXTENDED ³ 2B ³ 10 ³ 0 ³WRITE & VERIFY ³ 2E ³ 10 ³ up to 64K Blocks ³VERIFY ³ 2F ³ 10 ³ 0 ³RD DEFECT DATA ³ 37 ³ 10 ³ Medium dependent ³WRITE BUFFER ³ 3B ³ 10 ³ up to Buffer Size ³READ BUFFER ³ 3C ³ 10 ³ up to Buffer Size ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³GROUP 7 : : : ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ³READ ID ³ E2 ³ 10 ³ 2 Bytes ³READ LONG ³ E8 ³ 10 ³ One Block + 6 Bytes ³WRITE LONG ³ EA ³ 10 ³ One Block + 6 Bytes ³READ ABS ³ EC ³ 10 ³ up to 64K Blocks ³WRITE ABS ³ EF ³ 10 ³ up to 64K Blocks ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 8 SCSI COMMANDS 8.1 GENERAL This section provides a detailed description of SCSI commands. The command definitions provide continuous logical blocks of a fixed data length. A single command may transfer one or more logical blocks of data. Multiple commands may be linked if they are sent to the same logical unit. The controller may disconnect from the SCSI bus to allow activity by other SCSI devices while a logical unit is being prepared to transfer data. Upon command completion (successful or unsuccessful), the controller returns a status byte to the initiator. 8.1.1 Reserved Reserved bits, fields, bytes, and code values are set aside. A reserved bit, field, or byte shall be set to zero by the initiator. When receiving a reserved bit, field, or byte that is not zero, the controller terminates the command with a CHECK CONDITION status and the sense key is set to ILLEGAL REQUEST. 8.1.2 Unit Attention Condition A Unit Attention condition for a Logical Unit is created (reported by a Sense Key in the REQUEST SENSE data) and if enabled (depending on the ATTN bit of MODE SELECT command Page 0) for each initiator whenever: -the removable medium may have been changed. -the device becomes ready after a START/STOP UNIT command. -the controller has been reset (by a BUS DEVICE RESET message or a "hard" RESET condition). -the MODE SELECT parameters have been changed from other hosts. The Unit Attention condition, if enabled, persists for each initiator until that initiator issues a command to the Logical Unit other than REQUEST SENSE or INQUIRY for which the controller returns CHECK CONDITION status. If the next command from that initiator to the Logical Unit (following the CHECK CONDITION status) is REQUEST SENSE, the UNIT ATTENTION sense key is returned. (If any other command is received, the Unit Attention condition is lost). If an INQUIRY command is received from an initiator with a pending Unit Attention condition (before the controller reports CHECK CONDITION status), the controller performs the INQUIRY command and does not clear the Unit Attention condition. If a REQUEST SENSE command is received from an initiator with a pending Unit Attention condition (before the controller reports CHECK CONDITION status), then the controller will report any pending sense data and preserve the Unit Attention condition. If an initiator issues a command other than INQUIRY or REQUEST SENSE while a Unit Attention condition exists for that initiator, the controller does not perform the command and reports CHECK CONDITION status. 8.1.3 Command Descriptor Block (CDB) A request from an initiator to a peripheral device is performed by sending a CDB to the controller during the COMMAND phase. For some commands, the request is accompanied by a list of parameters sent during the DATA OUT phase. 8.1.4 Operation Code The operation code of the CDB has a group code field and a command code field defined in byte 0 of each command. The group code specifies one of the following groups : Group 0 - six-byte commands Group 1 - ten-byte commands Group 7 - ten byte commands Operation Code ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄGroup CodeÄÄÄ>³<ÄÄÄÄÄÄCommand CodeÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Typical CDB for Six-byte Commands for Direct Access Devices LUN= LOGICAL UNIT NUMBER ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄÄ OPERATION CODE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄLOGICAL BLOCK ADDR. (MSB)Ä>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄLOGICAL BLOCK ADDR.ÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄLogical Block Addr. (LSB)Ä>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄTRANSFER LENGTHÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ Typical CDB for Ten-byte Commands for Direct Access Devices LUN= LOGICAL UNIT NUMBER ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄÄ OPERATION CODE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDR. (MSB)ÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDR (LSB)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄTRANSFER LENGTH (MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄTRANSFER LENGTH (LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ 8.1.5 Logical Unit Number (LUN) The logical unit number is always 00. 8.1.6 Logical Block Address (LBA) The logical block address begins with block zero, head one, cylinder four and is contiguous up to the last logical block on that logical unit. Track zero- three is de-allocated from the user addressable blocks and reserved for the controller's use. 8.1.7 Transfer Length The Transfer Length specifies the amount of data to be transferred (which is with the number of blocks). Six-byte commands that use one byte for Transfer Length, allow up to 256 blocks of data to be transferred by one command. A Transfer Length value of 1 to 255 indicates the number of blocks that shall be transferred. A value of zero indicates 256 blocks." Ten-byte commands that use two bytes for Transfer Length, allow up to 65,535 blocks of data to be transferred by one command. In this case, a Transfer Length of zero indicates that no data transfer shall take place. A value of 1 to 65,535 indicates the number of blocks to be transferred." A Transfer Length of the commands that are used to send a list of parameters to a controller is called the Parameter List Length. The Parameter List Length specifies the number of bytes sent during the DATA OUT phase." The Transfer Length of the commands that are used to return sense data (e.g. REQUEST SENSE, INQUIRY, MODE SENSE, etc.) to an initiator is called the Allocation Length. The Allocation Length specifies the number of bytes that the initiator has allocated for returned data. The controller terminates the DATA IN phase when Allocation Length bytes have been transferred or when all Available Sense Data have been transferred to the initiator, whichever is less. 8.1.8 Control Byte The Control Byte is the last byte of every CDB. Control Byte ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³Last ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄReservedÄÄÄÄÄÄÄÄÄÄÄÄ>³ FLAG³ LINK³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ BYTES 7 - 2 Reserved 1 Flag bit - If the Link bit is zero, then the Flag bit is set to zero. If the Link bit is one, and if the command terminates successfully the controller will send the LINKED COMMAND COMPLETE message if the Flag bit is zero and will send LINKED COMMAND COMPLETE (WITH FLAG) message if the Flag bit is one. 0 Link bit - This bit is set to one to indicate that the host desires an automatic Link to the next command upon successful completion of the current command. If the Link bit is one, the controller will, upon successful termination of the command, return INTERMEDIATE status and then send one of two messages defined by the Flag bit (above). Next, the controller will enter the "COMMAND"phase for the next command from the host link list. The controller creates the CHECK CONDITION status with ILLEGAL REQUEST Sense Key when FLAG = 1 and LINK = 0. 8.1.9 Status Byte The controller sends a status byte to the host during the STATUS phase at the termination of each command as specified in the following table unless the command is cleared by an ABORT message, by a BUS DEVICE RESET message, by a "hard" RESET condition, or by a hardware error in the controller. Status Byte Code Bit Values ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Bits of Status Byte 7 6 5 4 3 2 1 0 Status(es) Represented ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ- 0 0 0 0 0 0 0 0 00h GOOD 0 0 0 0 0 0 1 0 02h CHECK CONDITION 0 0 0 0 1 0 0 0 08h BUSY 0 0 0 1 0 0 0 0 10h INTERMEDIATE/GOOD 0 0 0 1 0 1 0 0 14h INTERMEDIATE 0 0 0 1 1 0 0 0 18h RESERVATION CONFLICT ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ A description of the status byte codes is given below. GOOD (00h) This status indicates that the controller has successfully completed the command. CHECK CONDITION (02h) Any error, exception, or abnormal condition that causes sense data to be set, shall cause a CHECK CONDITION status. The REQUEST SENSE command should be issued following a CHECK CONDITION status, to determine the nature of the condition. BUSY (08h) The controller is busy. The controller will return this status whenever it is unable to accept a command. The controller returns this status when it is busy doing its self-tests and self-configuration (reading the device independence parameters on track zero for Winchester devices) at power-up or following a bus reset. INTERMEDIATE (10h and 14h) This status is to be returned for every command in a series of linked commands (except the last command), unless an error, exception, or abnormal condition causes a CHECK CONDITION status or a RESERVATION CONFLICT status to be set. If this status is not returned, the chain of linked commands is broken; no further commands in the series are executed. RESERVATION CONFLICT (18h) This status is returned whenever a host attempts to access a logical unit that is reserved by another host. 8.1.10 Command Processing The following is common to all commands. After being selected, the controller sets C/D, I/O and MSG for the MESSAGE OUT phase and, if the host bus asserted the ATN signal, the controller will issue the REQ signal and get the message from the host. If the message was the IDENTIFY message, the controller switches to the COMMAND phase and transfers the command into the Z8's registers unless the controller is disconnected while executing a command. In this case, the command is not transferred, but the controller responds with busy signal. The controller performs the following functions on every command: -Checks if a self-test failure exists. If the controller has failed one of its self-tests and the command is not a REQUEST SENSE, INQUIRY or DIAGNOSTIC command, it returns CHECK CONDITION status. -Checks if this is the first command after power-up or reset for this host. If the Unit Attention condition exists. -Decodes command operation code. If the command is not supported, the CHECK CONDITION status is created with the Sense Key/Error Code to "ILLEGAL REQUEST/Invalid Command Operation Code". -Checks the reserved bits. If nonzero, the CHECK CONDITION status is created with the Sense Key/error Code "ILLEGAL REQUEST/Illegal Field". 8.2 COMMAND SET Group 0 Commands ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Operation code Command Name Section ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ- 00h TEST UNIT READY 8.2.2 03h REQUEST SENSE 8.2.3 12h INQUIRY 8.2.4 1Dh SEND DIAGNOSTIC 8.2.5 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Refer to section 8.3 for other Group 0 commands. 8.2.2 TEST UNIT READY Command TEST UNIT READY Command Descriptor Block LUN= LOGICAL UNIT NUMBER ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄÄ OPERATION CODE 00hÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ This command selects the drive; and if the device is ready and not seeking, GOOD STATUS is returned. This command does not disconnect while executing. Valid responses ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ- SENSE KEY ADDITIONAL CODE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Drive not ready NOT READY DRIVE NOT READY Seek/Command in Progress NOT READY SEEK IN PROGRESS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 8.2.2 REQUEST SENSE Command LUN= LOGICAL UNIT NUMBER ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄÄ OPERATION CODE 03hÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄLUNÄÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄALLOCATION LENGTHÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The REQUEST SENSE command requests that the controller transfer sense data to the host. The sense data is valid for a CHECK CONDITION status returned on the prior command. This sense data is preserved by the controller for the host until retrieved by the REQUEST SENSE command or until the receipt of any other command from the host that issued the command resulting in the CHECK CONDITION status. Sense data is cleared upon receipt of any subsequent command from the host receiving the CHECK CONDITION status. In the case of the single host option, the controller will assume that the REQUEST SENSE command is from host zero. The ALLOCATION LENGTH specifies the number of bytes that the host has allocated for returned sense data. An Allocation Length of zero indicates that four bytes of sense data are to be transferred. Any other value indicates the maximum number of bytes that are to be transferred. The controller will terminate the DATA IN phase when the Allocation Length bytes have been transferred or when all available sense data have been transferred to the host, whichever is less. The controller will return up to 16 bytes of sense for Direct Access devices. The Additional Sense code 00h indicates that the controller does not support any Additional Sense Code for the related Sense Key or does not have any appropriate additional sense to return for the CHECK CONDITION status that it created. Additional Sense Codes VALUE DEFINITION 00 No Additional Sense Information. 01 No Index/Sector signal 03 Write Fault 04 Drive Not Ready 07 Reserved 08h through 0Ch Reserved 0Dh Operation in Progress 10h ID CRC error 11h Unrecovered Read error of data blocks (Uncorrectable) 12h No Address Mark found in ID field 13h No Address Mark found in Data field 14h No record found 15h Seek Positioning error 16h Reserved 17h Recovered Read data with controller's Read retries (not with ECC) 18h Reserved 19h Defect List (P or G lists) read error 1Ah Parameter Overrun 1Bh Reserved 1Ch Primary Defect List not found 1Dh Reserved 1Eh Reserved 20h Invalid Command Operation Code 21h Invalid Logical Block Address. Address greater than the LBA returned by the READ CAPACITY data with PMI bit set in the CDB. 22h Illegal function for device type. 23h Reserved 24h Illegal field in Command Descriptor Block 25h Invalid LUN 26h Invalid field Parameter List (data out bytes) 27h Write Protected 28h Medium Changed 29h Power On or Reset or Bus Device Reset occurred. 2Ah Mode Select Parameters changed 2Ch through 2Fh Reserved 31h Medium Format Corrupted 32h No Defect Spare Location Available 33h through 3Fh Reserved VALUE DEFINITION 40h RAM Failure 41h through 42h Reserved 43h Message Reject Error 44h Internal Controller Error 45h Select/Reselect failed 46h Reserved 47h SCSI Interface Parity Error 48h Initiator Detected Error 49h Inappropriate/Illegal Message 4Ah through 7Fh Reserved 80h through 8Bh Correctable ECC error, number of bits correctable = x (0 through B) 8Ch through 8Fh Reserved 90h Configuration Error 91h through 9Fh Reserved A0h through AFh SelfTest "Ax" Failed B0h through FFh Reserved The REQUEST SENSE command will return the CHECK CONDITION status only to report fatal errors for the REQUEST SENSE command. This usually happens under the following circumstances: 1. The controller receives a non-zero reserved bit in the CDB. 2. An unrecovered parity error occurs on the DATA BUS. 3. A controller malfunction prevents return of the sense data. If any non-fatal error occurs during the execution of the REQUEST SENSE command, the controller will return the sense data with GOOD status. Following a fatal error on a REQUEST SENSE command, sense data may be invalid. Extended Sense. Error class 7 specifies Extended Sense. Error Code zero specifies the Extended Sense data format. The Extended Sense Data Format is shown in the following table. Extended Sense Data Format ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³valid³<ÄÄÄÄCLASS(7)ÄÄÄ>³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄCOPY SEGMENT NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³FILEM³ EOM ³ 0 ³ 0 ³<ÄÄÄSENSE KEYÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄINFORMATION BYTE (MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄINFORMATION BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄINFORMATION BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄINFORMATION BYTE(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄADDITIONAL SENSE MSB) 08h or 10hÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 10 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 11 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 12 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄADDITIONAL SENSE CODEÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 13 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 14 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 15 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE (00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The INFORMATION BYTES are not defined if the Valid bit is zero. If the Valid bit is one, the Information Bytes contain the unsigned LBA associated with the Sense Key. When requesting access to more blocks than recorded, the difference between the Block Count of the command and the Information bytes, computed by the host software, would provide the remaining block count requested. The ADDITIONAL SENSE LENGTH specifies the number of additional sense bytes to follow, which is 8 for Direct Access devices. If the Allocation Length of the CDB is too small to transfer all of the additional sense bytes, the Additional Sense Length is not adjusted to reflect the truncation. SENSE KEYs Description (Byte 2) ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Sense Key Description ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 0h NO SENSE. Indicates that there is no specific sense key information to be reported for the designated logical unit. This is the case for a successful command. 1h RECOVERED ERROR. Indicates that the last command was completed successfully with some recovery action performed by the controller. Details may be determined by examining the additional sense bytes and the information bytes. 2h NOT READY. Indicates that the logical unit addressed cannot be accesed Operator intervention may be required to correct this condition. 3h MEDIUM ERROR. Indicates that the command terminated with a nonrecovered error condition that was probably caused by a flaw in the medium or an error in the recorded data. 4h HARDWARE ERROR. Indicates that the controller detected a nonrecoverable hardware failure (for example, controller failure, device failure, parity error, etc) while performing the command or during a self test. 5h ILLEGAL REQUEST. Indicates that there was an illegal parameter in the CDB or in the additional parameters supplied as data for some commands (FORMAT UNIT, etc).If the controller detects an invalid parameter in the CDB, then it will terminate the command without altering the medium. 6h UNIT ATTENTION. Indicates that the removable medium may have been changed or the controller has been reset or MODE SELECT Parameters have changed. This status is reported to all hosts as the initial status after the controller is powered-up or reset unless the controller had a self-test failure. 7h DATA PROTECT. Indicates that a command that reads or writes the medium was attempted on a block that is protected from this operation. The read or write operation is not performed. Bh ABORTED COMMAND. Indicates that the controller aborted the command. The host may be able to recover by trying the command again. 8.2.4 INQUIRY Command INQUIRY Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄINQUIRY COMMAND(12h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄALLOCATION LENGTHÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The INQUIRY command requests that information regarding parameters of the controller and its attached peripheral device(s) be sent to the initiator. The ALLOCATION LENGTH specifies the number of bytes the initiator has allocated for returned INQUIRY data. An Allocation Length of zero indicates that no INQUIRY data is transferred. This condition will not be considered an error. Any other value indicates the maximum number of bytes that are to be transferred. The controller will terminate the DATA-IN phase when Allocation Length bytes have been transferred or when all available INQUIRY data have been transferred to the host, whichever is less. The controller will return up to 54 bytes of INQUIRY data depending on the device type and the revision level of the product. The INQUIRY command will return a CHECK CONDITION status only when the controller cannot return the requested INQUIRY data. The INQUIRY data is returned even though the peripheral device may not be ready for other commands. If an INQUIRY command is received from an initiator with a pending unit attention condition (before the controller reports CHECK CONDITION status), the controller will perform the INQUIRY command and will not clear the unit attention condition. INQUIRY COMMAND DESCRIPTOR BLOCK ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄINQUIRY COMMAND(12h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄALLOCATION LENGTHÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The INQUIRY data contains a 5-byte Header followed with 49 (31h) bytes of Data Format. INQUIRY Data RMB=REMOVABLE MEDIUM ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄPERIPHERAL DEVICE TYPE(03h)ÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄISO VERSIONÄÄ>³<ÄÄECMA VERSIONÄ>³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄRESERVED(00h)ÄÄÄÄÄÄ>³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄADDITIONAL LENGTH(31h)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍDATA FORMATÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ ³ 5-7 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 8-15 ³<ÄÄÄÄVENDOR IDENTIFICATION "KALOK" IN ASCIIÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³16-31 ³<ÄÄÄÄPRODUCT IDENTIFICATION "KL343" IN ASCIIÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³32-35 ³<ÄÄÄÄFIRMWARE REVISION LEVEL "X.X" IN ASCIIÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³36-37 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 38 ³<ÄÄÄÄÄÄÄÄÄÄÄGROUP 0 COMMAND LISTÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 39 ³<ÄÄÄÄBIT MAP OF SUPPORTED COMMANDS 0h TO 7hÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 40 ³<ÄÄÄÄBIT MAP OF SUPPORTED COMMANDS 8h TO FhÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 41 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 10h TO 17hÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 42 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 18h TO 1FhÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 43 ³<ÄÄÄÄÄÄÄÄÄGROUP 1 COMMAND LISTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 44 ³<ÄÄÄBIT MAP OF SUPPORTED COMMANDS 0h TO 7hÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 45 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 8h TO FhÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 46 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 10h TO 17hÄÄÄ>³ ÃÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 45 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 8h TO FhÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 46 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 10h TO 17hÄÄÄ>³ ÃÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 45 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 8h TO FhÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 46 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 10h TO 17hÄÄÄ>³ ÃÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 45 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 8h TO FhÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 46 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 10h TO 17hÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 47 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 18h TO 1FhÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 48 ³<ÄÄÄÄÄÄÄÄGROUP 7 COMAND LIST(E0h)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 49 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 0h TO 7hÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 50 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 8h TO FhÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 51 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 0h TO 7hÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 50 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 10h TO 17hÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 51 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 10h TO 17hÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 52 ³<ÄÄBIT MAP OF SUPPORTED COMMANDS 18h TO 1FhÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 53 ³<ÄÄÄÄÄÄÄÄÄÄEND OF LIST(FFh)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ Peripheral Device Type ÉÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³Code ³ Description ³ ÃÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³00h ³ Direct-Access device ³ ³7Fh ³ Logical Unit not present ³ ÈÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ The RMB (removable medium) byte 1, bit 7 will always be set to zero indicating fixed disk. The VERSION BYTE 2 set to one is the implemented version number of the SCSI standard. The ADDITIONAL LENGTH specifies the length in bytes of the following parameters. If the Allocation Length of the CDB is too small to transfer all of the parameters, the Additional Length is not adjusted to reflect the truncation. RESPONSE DATA FORMAT Code 01h indicates compliance to CCS (Common Command Set ). 8.2.5 SEND DIAGNOSTIC Command SEND DIAGNOSTIC Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄSEND DIAGNOSTIC COMMAND(1Dh)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³³SELF>³ 0 ³ 0 ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The SEND DIAGNOSTIC command requests the controller to perform its default diagnostic test. The SELFTEST bit is ignored. The controller executes the following self tests: ÚÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³TEST #³ TEST ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ 0 ³ROM ³ ³ 1 ³Micro RAM ³ ³ 2 ³Buffer RAM ³ ³ 3 ³SCSI Chip ³ ³ 4 ³DMA Chip ³ ³ 5 ³Sequencer Chip ³ ³ 6 ³Sequencer State Control RAM ³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If the self test successfully passes, the command is terminated with a GOOD status. Otherwise, the command will be terminated with a CHECK CONDITION status and the sense key is set to HARDWARE ERROR/Additional sense set to the Self Test number (A0 to AF) that failed. 8.3 GROUP 0 DIRECT ACCESS COMMANDS Group 0 Commands for Direct-Access Devices ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ºOperation º º code Command Name Section º ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹ º01h REZERO UNIT..........8.3.1 º º04h FORMAT UNIT..........8.3.2 º º07h REASSIGN BLOCKS......8.3.3 º º08h READ.................8.3.4 º º0Ah WRITE................8.3.5 º º0Bh SEEK.................8.3.6 º º15h MODE SELECT..........8.3.7 º º16h RESERVE..............8.3.8 º º17h RELEASE..............8.3.9 º º1Ah MODE SENSE...........8.3.10 º º1Bh START/STOP UNIT......8.3.11 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ 8.3.1 REZERO UNIT Command REZERO UNIT Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄREZERO UNIT COMMAND(01h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The Head carriage on the drive is positioned at track zero. The controller will disconnect from the host while this command is in progress, if the host indicated that it supports disconnect in the IDENTIFY message. 8.3.2 FORMAT UNIT Command FORMAT UNIT Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄFORMAT UNIT COMMAND(04h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³³³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄINTERLEAVE FACTOR(MSB)(00h)ÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄINTERLEAVE FACTOR(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The FORMAT UNIT command formats the medium on the logical unit. An FMTDATA (Format Data) bit set to one indicates that a DATA OUT Phase takes place during the command execution. The defect list header can be used to do the following: ÄÄto specify that P list be used (DPRY) ÄÄto check if the controller should stop if it is unable to read the defect Lists (STPF) ÄÄto find out the length of the defect list if one is included (List Length) The defect list (which may be included if Defect List Length is different than zero with this data) specifies the defect list that shall be entered into the defect map. The flaw areas of this map will be removed by the controller from the host addressable blocks. The format of the defect list is determined by the Defect List Format defined by bits 0 through 2. The controller accepts Bytes from Index and Physical Sector defect list format. An FMTDATA bit set to zero indicates that the DATA OUT phase shall not occur (no defect list header and no defect data are supplied by the host). The controller will format without using a P list, without certification,will format the G list tracks and initialize with zero defects, and will stop if it is unable to read or write the G list tracks. An FMTDATA bit set to one indicates that the DATAOUT phase shall occur. The Defect List header defines this Format Option. A CMPLST (Complete List) bit set to one indicates the data supplied by the host during the DATA OUT phase of the command execution is the complete list of known defects. Any previous host-specified defect map or defect data will be erased by the controller. The result is to format the tracks containing the G List and initialize with zero defects. A CMPLST bit set to zero indicates that the data supplied by the host during the DATA OUT phase will be added to the current G list. NOTE: If the current G list is unreadable this option will cause an error. INTERLEAVE The Interleave field (byte 3 and 4) requests that the logical blocks be related in a specific fashion to the physical blocks to facilitate speed matching. An interleave value of zero requests that the controller use its default interleave which is one to one. An interleave value of one requests that consecutive logical blocks be placed in consecutive physical order. The controller will not accept a value different than zero or one. An interleave value greater than one is not needed because of the large buffer provided and because the controller Ring buffer scheme implemented in the Kalok chip set allow simultaneous access to the RAM from the drive and from the SCSI bus. The controller disconnects after the command phase to release the bus for hosts that support disconnect/reconnect. FORMAT UNIT command (continued) The defect list shown in the following table contains a four-byte header followed by one or more Defect Descriptors. The Defect List Length is equal to eight times the number of Defect Descriptors. Defect List Header ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³DPRY>³ 0 ³STPF>³ 0 ³<ÄÄRESERVEDÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄDEFECT LIST LENGHT(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄDEFECT LIST LENGHT(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ Byte 1 of the Defect List Header defines how the host may optionally control the Primary defect list flaw management scheme during the FORMAT UNIT command. -Bits 0 through 3 are reserved. FOV (Format Options Valid) Bit 7 set to zero indicates that the initiator requests the controller's default values to be set for the functions defined by bits 4 through 6. If bit 7 is set to zero, the initiator shall set bits 4 through 6 to zero. Otherwise, the controller creates the CHECK CONDITION status with ILLEGAL REQUEST Sense Key. - DPRY (Disable Primary) bit set to zero and FOV set to one indicates that the controller shall manage the Primary list of defects while formatting. DPRY bit set to one and FOV set to one indicates that the controller shall exclude the Primary list from the list of flaws to manage while formatting. - STPF (Stop Format) bit set to zero indicates that the controller shall continue the format process, even if either of the lists of defects P or G are not successfully accessed in whole or in part. The controller will create the CHECK CONDITION status after completion of the format process with RECOVERED ERROR Sense key, if no other error occurred and access the P or G lists is successful. STPF bit set to one indicates that the controller shall stop the format process upon failing to access, in whole or in part, any of the lists of defects (P or G). The controller creates the CHECK CONDITION status with MEDIUM ERROR Sense key. If the Fmtdata bit is set to zero by the initiator, the default format parameters set by the controller are: Defect Descriptor(s) PHYSICAL SECTOR FORMAT ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄCYLINDER NUMBER OF DEFECT(MSB)(00h)ÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄCYLINDER NUMBER OF DEFECTÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄCYLINDER NUMBER OF DEFECT(LSB)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄHEAD NUMBER OF DEFCECTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄDEFECT SECTOR NUMBER(MSB)(00h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄDEFECT SECTOR NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄDEFECT SECTOR NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄDEFECT SECTOR NUMBER(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ Each defect descriptor for the physical sector format specifies a sector size defect location comprized of the cylinder number of the defect, the head, and the defect sector number. The defect descriptors shall be in ascending order. For determining ascending order, the cylinder number of the defect is considered the most significant part of the address and the defect sector number is considered the least significant part. A defect sector number of FFFFFFFFh indicates that the entire track shall be reassigned. The controller stores these defects in the G list in the Bytes From Index format. The defect is assumed to be 80h bytes from the beginning of the specified sector. FORMAT UNIT COMMAND (continued) BYTES FROM INDEX FORMAT ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄCYLINDER NUMBER OF DEFECT(MSB)(00h)ÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄCYLINDER NUMBER OF DEFECTÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄCYLINDER NUMBER OF DEFECT(LSB)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄHEAD NUMBER OF DEFCECTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄDEFECT BYTE FROM INDEX(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄDEFECT BYTE FROM INDEXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄDEFECT BYTE FROM INDEXÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄDEFECT BYTE FROM INDEX(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ Each Defect Descriptor for the Bytes From Index format specifies the starting byte address of the defect on the medium. The Defect Descriptor is defined as an eight-byte field in the Data Out phase. Each Defect Descriptor is comprised of the cylinder number of the defect, the head number of the defect, and the defect bytes from index. The Defect Descriptors shall be sent in ascending order by the host. To determine ascending order, the cylinder number of the defect is considered the most significant part of the address and the defect Bytes From Index is considered the least significant part of the address. If the defect length is over 11 bits, it is recommended that the host specify multiple defect descriptors. A defect Bytes From Index of FFFFFFFFh indicates that the entire track is to be reassigned. Bad Sector Handling The controller has the capability of mapping out bad sectors on Winchester Disks so the medium appears error free to the host. The controller de-allocates spare sectors at the end of the zone (See MODE SENSE default values). Defective Sector Scheme The scheme that Kalok chose to implement avoids any impact on performance when a single or multi-block data transfer does not include handling a defective block among the blocks to access. Impact on command time of execution will only occur when accessing an alternate location (or spare). The controller does not read a lookup table to count the previous defect addresses prior to converting the Logical Block address of the CDB to physical address. Other schemes implementing a lookup table would have to access this table for each access, whether the blocks to transfer include a defective sector or not. Accessing the table is time consuming, and is added to the overhead. The result of this scheme is lower overhead and a faster time of execution in Command phase and/or Data phase. Also during FORMAT or REASSIGN BLOCKS command, the controller skips known defects. This scheme is also described as "in line sparing" and is designed to minimize the number of revolutions necessary to read consecutive tracks. In the following example, the 3 tracks will be read in 3 disk revolutions (even with 2 defects included). Only if two sectors are defective in one track (with one spare available per track) will the controller read in 4 revolutions. The extra revolution would be for accessing the next spare available on the next track(s). The following table shows the defective sector scheme. The following example is with: Zone = one track (of 6 physical sectors) one alternative sector per Zone(track) 5 Logical sectors per track ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿ T1³DEFECT ³ LOG 0 ³ LOG 1 ³ LOG 2 ³ LOG 3 ³ LOG 4 ³ ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ ³ ³ ³ ÚÄÄÄÄ>ÄÄÄ¿ ³ ³ ³ T2³ LOG 5 ³ LOG 6 ³DEFECT ³ LOG 7 ³ LOG 8 ³ LOG 9 ³ ÃÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄ´ T3³LOG 10 ³LOG 11 ³LOG 12 ³LOG 13 ³LOG 14 ³ALTERNATE ³ ³ ³ ³ ³ ³ ³NOT USED ³ ÀÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÙ S=SECTOR T=TRACK LOG=LOGICAL BLOCK ADDRESS Defect Lists P= PRIMARY DEFECT LIST This list refers to the list of defects recorded on the medium (if any) by the manufacturer (of ESDI drives) or by the WRITE PRIMARY DEFECT LIST command. During the FORMAT UNIT command, if FMTDATA (see CDB) is set to zero or if FMTDATA is set to one, and DRPY (see header of Data Out phase) is not set to one, the controller attempts to read the P list in order to remove the P list flaws from the host addressable data blocks. There are actually two primary lists maintained on the disk: the Manufacturer's list, which was written by the manufacturer of the drive, and P list. The Manufacturer's list is read only once and the defects are written to the P list. The P list is then used during all subsequent FORMAT or REASSIGN BLOCK commands unless it becomes unreadable, in which case, the Manufacturer's list is again used to create the P list. The P list is contained on two tracks for redundancy. These tracks are formatted during the initial format of the drive or by issuing the WRITE PRIMARY DEFECT LIST command. Once this list is created by the controller, it is not written to during subsequent FORMAT or REASSIGN BLOCK commands to assure its integrity. A copy of the P list is created at the same time as the P list. The list is updated during a format with the cylinder, head and sector address of where each defect is mapped to. Assuming that the list of defects had grown during the lifetime of the medium, the host can select the controller to use only the P List flaws to return to the "as shipped" condition from the manufacturer. G = GROWN DEFECT LIST This list is maintained by the controller on the disk. This list includes defects identified to or by the controller. This list does not include the Primary list of defects (P list). Entries to this Grown Defect List include: - Defects provided to the controller in Data Defect lists during previous and Current FORMAT UNIT commands. - Defects found during the certification process of the FORMAT UNIT command. - Defects appended by the REASSIGN BLOCKS commands. - Defects added to the G list if the original defects are within 32 bytes of the end or the start of a sector. D = DATA DEFECT LIST This list is supplied to the controller by the host in the DATA OUT phase. The Defect List Length (Byte 2 and 3) of the Defect List Header may be null. The D defects identified by the host are mapped out and added to the Grown list (G List). Number of Defects the Controller Can Handle During the process of finding alternates for the defects, the controller uses a table to hold the defect addresses that are being remapped. The maximum size of this table is 128 addresses. As an example, one sector per track is deallocated. The combined P and G lists (if both requested) have two sectors to be reassigned in the first track and 3 in the following track. The first sector of the first track to be reassigned will use the alternate sector of the first track. The second sector of the first track to be reassigned will use the alternate sector of the second track. Prior to formatting the second track, the address of this second sector is stored in the table limited to 128 addresses. Prior to formatting the third track, the address of the 3 sectors of the second track are stored in the table limited to 128 addresses. As another example, with 32 sectors per track, no more than 4 tracks (or 4 times 32 sectors) in a row can be specified as Defect Descriptor with a value of FFFFFFFFh. P & G List Sizes The maximum number of defects the controller may authorize per P or G lists depends on the RAM BUFFER size and the block size. The reason is that the G and P lists are kept in the RAM BUFFER during the FORMAT UNIT and REASSIGN BLOCKS commands. With an 8K RAM BUFFER, the maximum number of defects is 390 per list for a total of 780 defects or 390 total if there is no P list recorded or found. With some block sizes the number is less. The maximum number of defects with an 8K RAM BUFFER and 820h block size is 223 defects per list. If too many defects are being added to the "G" list during the WRITE PRIMARY DEFECT LIST, FORMAT UNIT, and REASSIGN BLOCKS commands, the controller reports an ILLEGAL REQUEST Sense Key with No Spare Location Available additional sense code. 8.3.3 REASSIGN BLOCKS Command REASSIGN BLOCKS Command Descriptor Block (07h) ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄREASSIGN BLOCKS COMMAND(07h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The REASSIGN BLOCKS command requests the controller to reassign the defective logical blocks to an area on the logical unit reserved for this purpose. If the MODE SELECT command in Page 3 was set with no alternate sectors to de- allocate, the drive was not requested to reserve blocks for the defect management. In this case, the drive will reject the REASSIGN BLOCKS command with the CHECK CONDITION status and Sense Key/Error Code set to ILLEGAL REQUEST/No Defect Spare Location Available. The host transfers a defect list that contains the logical block addresses to be reassigned. The controller will reassign the physical medium used for each logical block address in the list. The data contained in the logical blocks specified in the defect list may be altered, but the data in all other logical blocks on the medium is preserved. ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍNoteÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³The data contained in the logical block reassigned will not be corrected.³ ÈÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄļ The REASSIGN BLOCKS defect list contains a four-byte Header followed by one or more Defect Descriptors. The length of each Defect Descriptor is four bytes. REASSIGN BLOCKS Defect List ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄDEFECT LIST LENGHT(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄDEFECT LIST LENGHT(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ Defect Descriptor(s) ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄDEFECT LOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄDEFECT LOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄDEFECT LOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄDEFECT LOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The DEFECT LIST LENGTH specifies the total length in bytes of the Defect Descriptors that follow. The Defect List Length is equal to four times the number of Defect Descriptors. All defects specified by the REASSIGN BLOCKS command will be recorded in the G list which is limited to approximately 390 defects. The Defect Descriptor specifies a four-byte DEFECT LOGICAL BLOCK ADDRESS that contains the defect. The Defect Descriptors shall be sent by the host in descending order. If the logical unit has insufficient capacity to reassign all of the defective logical blocks, the command terminates with a CHECK CONDITION status and the Sense Key/Error Code is set to "MEDIUM ERROR/No Defect Locations Available" Additional Sense Code. 8.3.4 READ Command READ Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄREAD COMMAND(08h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄLOGICAL BLOCK ADDRESST(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄTRANSFER LENGHTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ command requests that the controller transfer data to the host. The logical block address specifies the logical block at which the read operation will begin. The Transfer Length specifies the number of contiguous logical blocks of data to transfer. A Transfer Length of zero indicates that 256 logical blocks are transferred. Any other value indicates the number of logical blocks that are transferred. The most recent data value written in the addressed logical block will be returned. The progress of the command is influenced by the options set by the MODE SELECT command Page 1 parameters such as the number of retries. Refer to the MODE SENSE and MODE SELECT commands for more information. The controller disconnects after the command phase to release the bus while seeking for hosts that support disconnect/reconnect. 8.3.5 WRITE Command WRITE Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄWRITE COMMAND(0Ah)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄLOGICAL BLOCK ADDRESST(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄTRANSFER LENGHTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The WRITE command requests that the controller write the data transferred by the host to the medium. The LBA specifies the logical block at which the write operation will begin. The Transfer Length specifies the number of contiguous logical blocks of data to be transferred. A Transfer Length of zero indicates that 256 logical blocks are to be transferred. Any other value indicates the number of logical blocks that are to be transferred. The progress of the command is influenced by the options set up by the MODE SELECT command Page 1 parameters, such as the number of retries. Refer to the MODE SENSE and MODE SELECT commands for more information. The controller disconnects after the command phase to release the bus while seeking for hosts that support disconnect/reconnect. 8.3.6 SEEK Command SEEK Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄSEEK COMMAND(0Ah)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄLOGICAL BLOCK ADDRESST(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The SEEK command causes the device to be physically positioned to the cylinder as difined in bytes one to three. No attempt to The controller creates the CHECK CONDITION status and sets the Sense Key/Error code to "ILLEGAL REQUEST/ Illegal Function for Device Type" for an invalid combination of the above bits. Retry Count is the number of times the controller shall attempt its recovery algorithm. The retry count is used for seek errors and read and write data errors. The maximum allowed is 7Fh or 127 retries. The default as set in the MODE SENSE is 8 retries. 8- ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ DIRECT ACCESS DEVICE FORMAT PARAMETERS Page code 3 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄRÄ>³<ÄRÄ>³<ÄÄÄÄÄPAGE CODE=3h (03h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄPAGE LENGTH(in inches)(16h)ÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍHANDLING OF DEFECTS FIELDSÍÍÍÍÍÍÍÍÍÍÍ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄTRACKS PER ZONE(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÅÄÄÄÄÄTRACKS PER ZONE(LSB)(04h)ÄÄÄÄÄÅÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄALTERNATE SECTORS PER ZONE(MSB)(00h)ÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄALTERNATE SECTORS PER ZONE(LSB)(01h)ÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6-7 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄALTERNATE SECTORS PER ZONE(MSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄALTERNATE SECTORS PER ZONE(MSB)(02h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍTRACK AND SECTOR FORMAT FIELDSÍÍÍÍÍÍÍÍÍÍÍ ³ 10 ³<ÄÄÄÄÄÄÄÄSECTORS PER TRACK(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 11 ³<ÄÄÄÄÄÄÄÄSECTORS PER TRACK(LSB)(1Fh)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 12 ³<ÄÄÄÄDATA BYTES PER PHYSICAL SECTOR(MSB)(02h)Ä>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 13 ³<ÄÄÄÄDATA BYTES PER PHYSICAL SECTOR(LSB)(00h)Ä>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 14 ³<ÄÄÄÄÄÄÄÄÄÄINTERLEAVE(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 15 ³<ÄÄÄÄÄÄÄÄÄÄINTERLEAVE(LSB)(01h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 16 ³<ÄÄÄÄÄÄÄÄTRACK SKEW FACTOR(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 17 ³<ÄÄÄÄÄÄÄÄTRACK SKEW FACTOR(LSB)(00h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 18 ³<ÄÄÄÄÄÄÄÄÄCYLINDER SKEW FACTOR(MSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 19 ³<ÄÄÄÄÄÄÄÄÄCYLINDER SKEW FACTOR(LSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 20 ³SSEC>³HSEC>³³<ÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³21-23 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The information of this Page is only valid when sent to the controller prior to the execution of the FORMAT UNIT command. Description of the Fields Tracks Per Zone Alternate Sectors Per Zone Track Format Field Sectors per Track ISector Format Field Data Bytes per Physical Sector Interleave is the same parameter value of the CDB of the last successfully completed FORMAT UNIT command, and is only returned by the MODE SENSE command. The controller reports this field as non-changeable in the corresponding MODE SENSE commands. The controller ignores this field in MODE SELECT commands. Track skew factor Cylinder skew factor Drive Type Field A SSEC bit of one indicates that the controller shall use soft sector formatting. A HSEC bit of one indicates that the controller shall use hard sector formatting. The HSEC bit and the SSEC bit are mutually exclusive. The RMB bit of one indicates that the logical unit is removeable. The RMB bit of zero indicates that the logical unit is not removeable. RIGID DISK DRIVE GEOMETRY PARAMETERS Page code 4 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄRÄ>³<ÄRÄ>³<ÄÄÄÄÄPAGE CODE=4h (04h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄPAGE LENGTH(in bytes)(12h)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄNUMBER OF CYLINDERS(MSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄNUMBER OF CYLINDERS(02h)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄNUMBER OF CYLINDERS(LSB)(90h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄNUMBER OF HEADS(04h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄSTARTING CYL-WRITE PRECOMPENSATION(MSB)(00h)>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄSTARTING CYL-WRITE PRECOMPENSATION(00h)ÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄSTARTING CYL-WRITE PRECOMPENSATION(LSB)(00h)>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄSTARTING CYL-REDUCED WRITE CURRENT(MSB)(00h)>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 10 ³<ÄSTARTING CYL-REDUCED WRITE CURRENT(00h)ÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 11 ³<ÄSTARTING CYL-REDUCED WRITE CURRENT(LSB)(00h)>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 12 ³<ÄÄÄÄÄÄÄÄDRIVE STEP RATE(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 13 ³<ÄÄÄÄÄÄÄÄDRIVE STEP RATE(LSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 14 ³<ÄÄÄÄÄÄÄLANDING ZONE CYCLINDER(MSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 15 ³<ÄÄÄÄÄÄÄLANDING ZONE CYCLINDER(00h)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 16 ³<ÄÄÄÄÄÄÄLANDING ZONE CYCLINDER(LSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³17-19 ³<ÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ SERIAL NUMBER Page code 20 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄRÄ>³<ÄRÄ>³<ÄÄÄÄÄPAGE CODE=20h(20h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄPAGE LENGTH(in bytes)(0Ah)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBER(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBER(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 10 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 11 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ This page is intended to be used in the MODE SELECT command by the drive vendor to record on disk the drive serial number. It is recommended that the initiator not attempt to modify this page. VENDOR ID Page code 30 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄRÄ>³<ÄRÄ>³<ÄÄÄÄÄPAGE CODE=30h(30h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄPAGE LENGTH(in bytes)(16h)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄVENDOR MESSAGEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ This page is intended to be used in the MODE SELECT command by the user to record on disk a vendor message or ID. This page must be sent alone. TARGET ID Page code 31 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄRÄ>³<ÄRÄ>³<ÄÄÄÄÄPAGE CODE=31h(31h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄPAGE LENGTH(in bytes)(16h)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄRESERVED(00)ÄÄÄÄÄÄÄ>³³³³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ This page is intended to be used in the MODE SELECT command to change the ID of this device , after power up or reset this new ID will be used. Enable soft ID if ID bit = 0 , then ID0-ID2 is soft ID. AUTOMATIC SHUTDOWN Page code 32 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄRÄ>³<ÄRÄ>³<ÄÄÄÄÄPAGE CODE=32h(32h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄPAGE LENGTH(in bytes)(16h)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄAUTO STANDBY TIME(SEC)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄAUTO STANDBY TIME(MIN)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ This page enables the autopark and standby power mode. The autopark feature will cause the heads to be positioned on the last track of the disk. If the auto standby time = 0 then this feature will be disabled. A time other then zero will cause the head to park after that time if no command has been sent. The range is from 1 second to 256 seconds. The Shutdown mode works the same way but after the heads are parked the spindle motor is also powered off . The range for this is 1 min. to 256 min. The power level drops to 5watts on the auto shutdown mode. 8.3.8 RESERVE Command RESERVE Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄRESERVE Command(16h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄ3rdPtyÄ>³<3D Pty Device ID³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄControl ByteÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The RESERVE command is used to reserve logical units. The RESERVE and RELEASE commands provide the basic mechanism for contention resolution in multiple- initiator systems. LOGICAL UNIT RESERVATION. The initiator requests that the entire logical unit be reserved for the exclusive use of the initiator until the reservation is released by a RELEASE command from the same initiator, by a BUS DEVICE RESET message from any initiator, or by a "hard" RESET condition. A logical unit reservation will not be granted if the logical unit is reserved by another initiator. It is permissible for an initiator to reserve a logical unit that is currently reserved by that initiator. After honoring the reservation, if any other initiator subsequently attempts to perform any command on the reserved logical unit, then the command is rejected with RESERVATION CONFLICT status. THIRD PARTY RESERVATION. The controller supports the third party reservation option. The third party reservation option for the RESERVE command allows an initiator to reserve a logical unit for another SCSI device. If the third-party (3rdPty) bit is zero, then the third-party reservation option is not requested. If the 3rdPty bit is one, the RESERVE command will reserve the specified logical unit for the SCSI device specified in the third-party device ID field. The controller will preserve the reservation until it is released by the same initiator (or by a BUS DEVICE RESET message from any initiator or a "hard" RESET condition). The controller will ignore any attempt to release the reservation made by any other initiator. 8.3.9 RELEASE Command RELEASE Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄRELEASE Command(17h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³3rdPy³<Ä3RD Pty Device IDÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄControl ByteÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The RELEASE command is used to release the previously reserved logical units. It is not an error for an initiator to attempt to release a reservation that is not currently active. LOGICAL UNIT RELEASE. The initiator requests the controller to terminate all logical unit reservations from the initiator. THIRD PARTY RELEASE. The controller supports the third party release option. The third party release option for the RELEASE command allows an initiator to release a logical unit that was previously reserved using the third-party reservation option. If the third party (3rdPty) bit is zero, then the third-party release option is not requested. If the 3rdPty bit is one then the controller will release the specified logical unit, but only if the reservation was made using the third-party reservation option by the same initiator for the same SCSI device as specified in the third-party device ID field. 8.3.10 MODE SENSE Command MODE SENSE Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄMODE SENSE COMMAND(17h)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³³< ÄÄÄÄÄÄÄÄÄPAGE CODEÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄALLOCATION LENGHTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The MODE SENSE command provides a means for a controller to report its medium, logical unit, or peripheral device parameters to the initiator. The PCF (Page Control Field) bits 7 and 6 of byte define the type of Page Parameter values to be returned. The values may be either: - Current - Changeable - Default or - Saved PCF (bits 7 & 6) = Byte 2 for all pages = Current 00 3Fh Changeable 01 7Fh Default 10 BFh Saved 11 FFh The PAGE CODE (bits 5 through 0 of byte 2) indicates which page(s) shall be returned in the Data In phase of the command execution. An initiator may request a single page or all Pages (with code 3Fh) to be returned by the controller. The ALLOCATION LENGTH specifies the number of bytes that the initiator has allocated for returned MODE SENSE data. An Allocation Length of zero indicates that no MODE SENSE data is to be transferred. This condition will not be considered an error. Any other value indicates the maximum number of bytes that are to be transferred. The controller will terminate the DATA IN phase when Allocation Length bytes have been transferred or when all available MODE SENSE data have been transferred to the initiator, whichever is less. The MODE SENSE data contains a four-byte Header, followed by one eight-byte Block Descriptor, followed by zero or more Pages. Pages returned (with code 3Fh ) Winchester disks : 0h.........Unit Attention 1h.........Error Recovery 3h.........Format 4h.........Disk drive Geometry 20h........Serial Number 31h........Target ID 32h........Automatic Shutdown Control page Page Code Page Length Total # bytes in Page (+ 2 bytes from Page Length) 0 2 4 1 6 8 3 22 24 4 18 20 20 10 12 30 16 18 31 02 4 32 02 4 Example of a Mode Sense DCB to request current values: 1Ah 00 3Fh 00 FFh** 00 **Less then FFh bytes can be specified if the host buffer size is limited. If the Page Code is equal to 3Fh, all Pages are returned to the initiator. If the Page Code is different than 3Fh, the Page defined by the Page Code is returned to the initiator. MODE SENSE command (continued) ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Page Code Field bits 7 and 6 byte 2 of the CDB. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 7 6 Bits ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 0 0 Report Current Values Pages are returned to the initiator with fields and bits set to Current values. The Current values are the values currently in the micro processor RAM and in the Z8 registers for the selected LUN. These values are either: - the same as the saved values if the last Self Configuration was successfull and a Mode Select has not been issued since the Self Configuration. - the default parameters if no Self Configuration was done or it was not successfull and no Mode Selects have been executed since the last power up or bus reset. - the latest successfull Mode Select. Fields and bits not supported by the controller are set to zero. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 0 1 Report Changeable Values Fields and bits that are allowed to be changed in MODE SELECT commands are set to one. The entire field is set to one even if part of the field may only be changed. Fields and bits not allowed to be changed are set to zero. Subsequent MODE SELECT commands shall issue those fields and bits set to zero. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 1 0 Report Default Values Fields and bits are set to the controller default values. All of these values are stored in the controller ROM, and not read from the system disk. Fields and bits not supported by the controller are set to zero. The value of the fields returned with this code is intended to avoid confusion over whether the value of zero is the default or the non-supported value. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 1 1 Report Saved Values Fields and bits are set to the saved values. The Saved values are either: - the values saved during the last successfully completed FORMAT UNIT or during the last successfully MODE SELECT commands with SP and PF = 1. - or identical to the Default values if saving was not requested or if access to the saved values is unsuccessful. The saved values are recorded on disk on track zero (not accessible to the user). Fields and bits not supported by the controller in the Pages are set to zero. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Page Code Page Codes (bits 0 through 5 of byte 0 in the Page Header) Page Codes (bits 0 through 5 of byte 2 of the CDB) Page code Meaning ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ 0h Unit Attention parameters (be advised that this page may not yet be supported. At the time of the printing of this document, the firmware has been released without this page being implemented. The MODE SENSE with PCF = 3Fh will inform you). 1h Error Recovery parameters 3h Direct Access Device Format parameters 4h Disk Drive Geometry parameters 20h Serial Number 30h Vendor ID 31h Target ID 32h Automatic Shutdown Control 3Fh Return all Pages to the initiator. See PCF bit configuration. Page Code is valid for MODE SENSE commands only. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ The controller returns the same Page Length value in each Page that it supports with the 3Fh Page Code whatever the value of each bit of the PCF field is. MODE SENSE Command (continued) MODE SENSE Data ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄSENSE DATA LENGTHÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄWP>³<ÄÄRESERVED(80h or 00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄBLOCK DESCRIPTOR LENGTH(08H)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄBLOCK DESCRIPTORÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Block Descriptor ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄDENSITY CODE(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄNUMBER OF BLOCKS(MSB)(01h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄNUMBER OF BlOCKS(33h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄNUMBER OF BLOCKS(LSB)(7Bh)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄBLOCK LENGTH(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄBLOCK LENGTHÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄBLOCK LENGTH(LSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The SENSE DATA LENGTH (Byte 0 of the Header) specifies the length in bytes of the following MODE SENSE data that is available for transfer during the DATA IN phase. The Sense Data Length does not include the byte 0. A WP (Write Protected) bit set to zero indicates that the logical unit is write enabled. A WP set to one indicates that the logical unit is write The BLOCK DESCRIPTOR LENGTH (Byte 3) specifies the length in bytes of the Block Descriptor. The controller only accepts one or zero Block Descriptor. A Block Descriptor Length of zero indicates that no Block Descriptor is included in the parameter list. This condition will not be considered an error. The Block Descriptor specifies the medium characteristics for all the logical unit numbers. The Block Descriptor contains a Density Code, a Number of Blocks, and a Block Length. Only the Block Length can be changed. The NUMBER OF BLOCKS field specifies the number of logical blocks on the medium that meet the density code and block length in the Block Descriptor. The BLOCK LENGTH specifies the length in bytes of each logical block (see MODE SELECT command). The data fields in each sector on the disk are the same size as the block size. Code values for the MEDIUM TYPE field and the DENSITY CODE field are set to 00h as default value for Winchester disk drives. See MODE SELECT for other device types. Page Descriptor ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³³<ÄRÄ>³<ÄÄÄÄÄÄÄÄÄPAGE CODEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄÄPAGE LENGTHÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2-N ³<ÄÄÄÄÄÄÄÄÄÄÄRefer to Page DefinitionsÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ Additional blocks of parameters called Pages may be sent to the controller in the DATA OUT phase of the MODE SELECT command, following either: -the MODE SELECT Header, if the Block Descriptor length is set to zero, or -the Block Descriptor The Block Descriptor Length does not include the length of the Pages. Each Page is preceded by a Header of two bytes defining the Page Code and the length of the Page. Following the Header, the Pages are separated into sub-blocks containing a list of related flags and/or values. Page Description PS (Parameters Saveable) bit 7 byte 0 of each Page Header is always set to one by the controller indicating that parameters of all Pages can be saved by the controller. When successfully completing MODE SELECT commands issued with the SP bit set in the CDB, the controller will save the parameters of the defined Page (if not already saved as for Pages 3 and 4). See MODE SELECT command definition. Bit 6 of byte 0 is reserved. The PAGE CODE identifies the meaning of the following bytes in the Page. The PAGE LENGTH indicates the number of bytes that the controller supports in each Page. The Page Length value of each page does not include the Page Length byte. The controller returns in the Pages of the MODE SENSE commands as many consecutive bytes that it supports for each Page that it supports. The Page Length shall be set in the pages of the MODE SELECT commands to the exact same value returned by the controller in the MODE SENSE Page Length bytes. Otherwise, the controller shall create CHECK CONDITION status with the Sense Key of ILLEGAL REQUEST. The initiator shall issue a MODE SENSE command requesting the controller to return all changeable values (CDB's byte 2 = 7Fh with PCF field configuration 0 1 and Page Code 3Fh) prior to issuing any MODE SELECT commands, in order to find out which pages are implemented by the controller and the length of each Page. UNIT ATTENTION PARAMETERS Page code 0 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code = 0h(80h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄPage Length (in bytes)(02h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<Ä0Ä>³<Ä0Ä>³<Ä0Ä>³UNATT³<Ä0Ä>³<Ä0Ä>³<Ä0Ä>³<Ä0Ä>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ MODE SENSE Page 0 returned values Current Changeable Default Saved Byte 0 80h 80h 80h 80h Byte 1 02h 02h 02h 02h Byte 2 Host dependent 10h 10h Host dependent Byte 3 00h 00h 00h 00h ERROR RECOVERY PARAMETERS Page code 1 Current, Changeable, Default and Saved values. ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code = 1h(81h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄPAGE LENGTH (in bytes)(02h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄRETRY COUNTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ00hÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ00hÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ00hÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ00hÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ00hÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code = 1h(81h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄPAGE LENGTH (in bytes)(02h)ÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ MODE SENSE Page 1 returned values Current Changeable Default Saved Byte 0 81h 81h 81h 81h Byte 1 02h 02h 02h 02h Byte 2 Host dependent 3Fh 20h (TB set) Host dependent Byte 3 Host dependent FFh (yes) 08h Host dependent DIRECT ACCESS DEVICE FORMAT PARAMETERS Page code 3 Current, Changeable, Default and Saved values ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code = 3h(83h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄPAGE LENGTH (in bytes)(16h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄTRACKS PER ZONE(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄTRACKS PER ZONE(LSB)(04h)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄALTERNATE SECTORS PER ZONE(MSB)(00h)ÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄALTERNATE SECTORS PER ZONE(LSB)(01h)ÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6-7 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUE(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄALTERNATE TRACKS PER VOLUME(MSB)(00h)ÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄALTERNATE TRACKS PER VOLUME(LSB)(02h)ÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 10 ³<ÄÄÄÄÄSECTORS PER TRACK(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 11 ³<ÄÄÄÄÄSECTORS PER TRACK(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 12 ³<ÄÄÄDATA BYTES PER PHYSICAL SECTOR(MSB)(02h)ÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 13 ³<ÄÄÄDATA BYTES PER PHYSICAL SECTOR(LSB)(00h)ÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 14 ³<ÄÄÄÄÄÄÄÄÄINTERLEAVE(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 15 ³<ÄÄÄÄÄÄÄÄÄINTERLEAVE(LSB)(01h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 16 ³<ÄÄÄÄÄÄÄÄTRACK SKEW FACTOR(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 17 ³<ÄÄÄÄÄÄÄÄTRACK SKEW FACTOR(LSB)(00h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 18 ³<ÄÄÄÄÄÄÄCYLINDER SKEW FACTOR(MSB)(00h)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 19 ³<ÄÄÄÄÄÄÄCYLINDER SKEW FACTOR(LSB)(00h)ÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 20 ³SSEC>³HSEC>³³<ÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³21-23 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄZERO VALUEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ MODE SENSE Page 3 returned values Current Changeable Default Saved Byte 0 83h 83h 83h 83h Byte 1 16h 16h 16h 16h Byte 2 and 3 0004h 0000h (no) 0004h (one cyl) 0004h Byte 4 and 5 0001h 0000h (no) 0001h (one sector) 0001h Byte 6 and 7 zero zero (no) zero zero Byte 8 and 9 0002h 0000h (no) 0002h 0002h Byte 10 and 11 001Eh 0000h (no) 001bh (31 sectors) 001Eh Byte 12 and 13 0200h 0000h (no) 0200h (512 bytes) 0200h Byte 14 and 15 0001h 0000h (no) 0001h 0001h Byte 16 to 19 0000h 0000h (no) zero 0000h Byte 20 00h 00h (no) 00h 00h Byte 21 to 23 zero zero (no) zero zero MODE SENSE Command (continued) DISK DRIVE GEOMETRY PARAMETERS Page code 4 Current, Changeable, Default and Saved values ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code = 4h(84h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄPAGE LENGTH (in bytes)(16h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄNUMBER OF CYLINDERS (MSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄNUMBER OF CYLINDERS(02h)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄNUMBER OF CYLINDERS(LSB)(63h)ÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄNUMBER OF HEADS(04h)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 10 ³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 11 ³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 12 ³<ÄÄÄÄÄÄÄÄÄÄÄDRIVE STEP RATE(MSB)(00h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 13 ³<ÄÄÄÄÄÄÄÄÄÄÄDRIVE STEP RATE(LSB)(00h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 14 ³<ÄÄÄÄÄÄÄÄLANDING ZONE CYLINDER(MSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 15 ³<ÄÄÄÄÄÄÄÄLANDING ZONE CYLINDER(00h)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 16 ³<ÄÄÄÄÄÄÄÄLANDING ZONE CYLINDER(LSB)(00h)ÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³17-19 ³<ÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ MODE SENSE Page 4 returned values ³ Current ³ Changeable ³ Default ³ Saved ÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ Byte 0 ³84h ³84h ³84h ³84h Byte 1 ³12h ³12h ³12h ³12h Byte 2-4 ³Host dependent³FFFFFFh (yes) ³000262h (656 cyl.³Host dependent Byte 5 ³Host dependent³FFh (yes) ³04h ( 4 heads) ³Drive dependent Byte 6-8 ³Host dependent³FFFFFFh (yes) ³000080h (128 cyl.³Drive dependent Byte 9-11 ³Host dependent³FFFFFFh (yes) ³000000h ³Drive dependent Byte 12&13³Host dependent³FFFFh (yes) ³0000h ³Drive dependent Byte 14-16³Host dependent³FFFFFFh (yes) ³000000h ³Drive dependent Byte 17-19³Host dependent³FFFF ³0000h ³Drive dependent ³ ³ ³ ³ The default Logical Block Address returned by the READ CAPACITY data is 01337bh. ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ SERIAL NUMBER. Page code 20 Current, Changeable, Default and Saved values. ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code =20h(A0h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBER(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBERÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄDRIVE SERIAL NUMBER(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 10 ³<ÄÄÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 11 ³<ÄÄÄÄÄÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ MODE SENSE Page 20 returned values ³ Current ³ Changeable ³ Default ³ Saved ÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄ Byte 0 ³A0h ³A0h ³A0h ³A0h Byte 1 ³0Ah ³0Ah ³0Ah ³0Ah Bytes 2-9 ³Drive dependent³8 x FFh ³zero ³Drive dependent Bytes 10-11³zero ³zero ³zero ³zero VENDOR ID Page code 30 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code =30h(30h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄPAGE LENGTH(IN BYTES)(16h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³2-24 ³<ÄÄÄÄÄÄÄÄÄVENDOR MESSAGEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ MODE SENSE Page 30 returned values ³ Current ³ Changeable ³ Default ³ Saved ÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Byte 0 ³ B0h ³B0h ³B0h ³B0h Byte 1 ³ 16h ³16h ³16h ³16h Byte 2-24 ³ Drive dependent³FFh ³zero ³Drive dependent ÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TARGET ID Page code 31 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code =31h(31h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄPAGE LENGTH(IN BYTES)(02h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄRESERVED(00h)ÄÄÄÄÄÄÄ>³³³³³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ MODE SENSE Page 31 returned values ³Current ³Changeable ³ Default ³ Saved ÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Byte 0 ³B1h ³B1h ³B1h ³B1h Byte 1 ³02h ³02h ³02h ³02h Byte 2 ³Drive dependent³0Fh ³zero ³Drive dependent Byte 3 ³zero ³zero ³zero ³zero ÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ AUTOMATIC SHUTDOWN Page code 32 ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<Ä1Ä>³<Ä0Ä>³<ÄÄÄÄÄPage Code =32h(32h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄPAGE LENGTH(IN BYTES)(02h)ÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄAUTOSTANDBY TIME(SEC)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄAUTOSTANDBY TIME(MIN)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ MODE SENSE Page 32 returned values ³ Current ³ Changeable ³ Default ³ Saved ÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Byte 0³B2h ³ B2h ³ B2h ³B2h Byte 1³02h ³ 02h ³ 02h ³02h Byte 2³Drive dependent³ FFh ³ zero ³Drive dependent Byte 3³Drive dependent³ FFh ³ zero ³Drive dependent ÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 8.3.11 START/STOP UNIT Command ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄSTART/STOP UNIT COMMAND(1Bh)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄLUNÄÄÄÄÄÄÄÄ>³<ÄÄÄÄÄRESERVEDÄÄÄÄÄÄÄÄ>³IMMED³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄRESERVED(00h)ÄÄÄÄÄÄÄÄÄÄ>³START³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The START/STOP UNIT command requests that the controller enable or disable the logical unit for further operations. An IMMED (immediate) bit of one indicates that status will be returned as soon as the operation is initiated. An IMMED bit of zero indicates that status will be returned after the operation is completed. If the Immediate bit is not set and the host supports disconnect/reconnect, the command will disconnect while performing the command. When the Stop command is issued, it causes the heads to be positioned over the Landing Zone Cylinder. ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ SECTION 9 ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ GROUP 1 COMMANDS FOR DIRECT ACCESS DEVICES 9.1 GENERAL This section describes the group 1 command s. The Group 1 commands supported by the controller for direct-access devices are shown in the following table: Group 1 Commands for Direct-Access Devices ÉÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³Operation³ ³ ³ ³Code ³ Command Name ³ Section ³ ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³ 25h ³ READ CAPACITY ³ 9.1.1 ³ ³ 28h ³ READ EXTENDED ³ 9.1.2 ³ ³ 2Ah ³ WRITE EXTENDED ³ 9.1.3 ³ ³ 2Bh ³ SEEK EXTENDED ³ 9.1.4 ³ ³ 2Eh ³ WRITE AND VERIFY ³ 9.1.5 ³ ³ 2Fh ³ VERIFY ³ 9.1.6 ³ ³ 37h ³ READ DEFECT DATA ³ 9.1.7 ³ ³ 3Bh ³ WRITE BUFFER ³ 9.1.8 ³ ³ 3Ch ³ READ BUFFER ³ 9.1.9 ³ ³ ³ ³ ³ ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 9.1.1 READ CAPACITY Command READ CAPACITY Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄREAD CAPACITY COMMAND(25h)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄControl ByteÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ CAPACITY command provides a means for the initiator to request information regarding the capacity of the logical unit. A PARTIAL MEDIUM INDICATOR (PMI) bit set to zero indicates that the information returned in the READ CAPACITY Data is the logical block address of the last logical block of the logical unit and the block length (in bytes) of all blocks in the unit. The LBA in the CDB shall be set to zero. If defect handling was requested by the host, only user addressable blocks are counted in the calculation of the last logical block address. Alternate and alternated blocks are not counted. A PMI bit set to one indicates that the information returned is the logical block address and block length (in bytes) of the last logical block after the logical block address specified in the CDB before a substantial delay in data transfer will be encountered (e.g., a cylinder boundary). This function is intended to assist storage management software in determining whether there is sufficient space on the current cylinder to contain a frequently accessed data structure such as a file directory or file index. The eight bytes of READ CAPACITY Data shown in the following table are sent during the DATA IN phase of the command. READ CAPACITY Data ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄBLOCK LENGTH(MSB)(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄBLOCK LENGTH(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄBLOCK LENGTH(00h)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄBLOCK LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The last LBA of the READ CAPACITY data is calculated with the number of cylinders, number of heads, number of sectors per track, and the number of sectors de-allocated per zone for defect handling (if any). 9.1.2 READ EXTENDED Command ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄREAD EXTENDED COMMAND(28h)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄTRANSFER LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄTRANSFER LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ EXTENDED command operates the same as the READ command except that the Transfer Length occupies two bytes and the starting Logical Block Address occupies four bytes. The TRANSFER LENGTH can be from 0000 to 65K-1 blocks. The maximum LBA allowed is the LBA value returned in the READ CAPACITY Data with PMI bit set to zero. Refer to the READ command Group 0 for more information. 9.1.3 WRITE EXTENDED Command WRITE EXTENDED Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄWRITE EXTENDED COMMAND(2Ah)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄTRANSFER LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄTRANSFER LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The WRITE EXTENDED command operates in the same manner as the WRITE command except the Transfer Length occupies two bytes and the starting Logical Block Address occupies four bytes. The TRANSFER LENGTH can be from 0000 to 65K-1 blocks. The maximum LBA allowed is the LBA value returned in the READ CAPACITY Data with PMI bit set to zero. Refer to the WRITE command Group 0 for more information. 9.1.4 SEEK EXTENDED Command SEEK EXTENDED Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄSEEK EXTENDED COMMAND(2Ah)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The SEEK EXTENDED is similar to the SEEK command. The maximum LBA allowed is the LBA value returned in the READ CAPACITY Data with PMI bit set to zero. 9.1.5 WRITE AND VERIFY Command WRITE AND VERIFY Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄWRITE AND VERIFY COMMAND(2Eh)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄTRANSFER LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄTRANSFER LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The WRITE AND VERIFY command requests that the controller write the data transferred from the initiator to the medium and then verify that the data is correctly written. The purpose of this command is to perform medium verification against ECC recorded immediately after the write operation occurred. However, the command will be executed according to the setting of the Error Recovery parameters in Page 1 of the MODE SELECT command. The CHECK CONDITION status will be created upon encountering uncorrectable errors or any error if the DTE bit is set. Correctable ECC errors will not be reported unless the PER bit is set. On correctable ECC errors, if PER bit is set, the number of bits in error will be reported. The LOGICAL BLOCK ADDRESS specifies the logical block at which the write and verify operation will begin. The maximum LBA allowed is the LBA value returned in the READ CAPACITY Data with PMI bit set to zero. The TRANSFER LENGTH specifies the number of contiguous logical blocks of data that shall be transferred from the host and verified in the data buffer of the controller. A Transfer Length of zero indicates that no logical blocks are transferred. This condition will not be considered an error and no data is written. Any other value indicates the number of logical blocks that shall be transferred and verified. 9.1.6 VERIFY Command VERIFY Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄÄVERIFY COMMAND(2Fh)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄVERIFICATION LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄVERIFICATION LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The VERIFY command requests that the controller verify the data written on the medium. The purpose of this command is to perform medium verification against ECC recorded. However, the command will be executed according to the setting of the Error Recovery parameters in Page 1 of the MODE SELECT command. The CHECK CONDITION status will be created upon encountering uncorrectable errors or any error if the DTE bit is set. Correctable ECC errors will not be reported unless the PER bit is set. On correctable ECC errors, if PER bit is set, the number of bits in error will be reported. The LOGICAL BLOCK ADDRESS specifies the logical block at which the verify operation will begin. The maximum LBA allowed is the LBA value returned in the READ CAPACITY Data with PMI bit set to zero. The VERIFICATION LENGTH specifies the number of contiguous logical blocks of data that is to be verified. A Transfer Length of zero indicates that no logical blocks are to be verified. This condition will not be considered as an error. Any other value indicates the number of logical blocks that will be verified. 9.1.7 READ DEFECT DATA Command READ DEFECT DATA Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄREAD DEFECT DATA COMMAND(37h)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄRESERVED(00)ÄÄ>³<ÄPÄ>³<ÄGÄ>³DEFECT LIST FRM'T³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄVERIFICATION LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄVERIFICATION LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ DEFECT DATA command requests that the controller transfer the medium defect data to the initiator. The meaning of bits 0 through 2 of byte 2 is similar to the bit definition of the bits 0 through 2 of the byte 1 of the FORMAT UNIT command. The host indicates with this field a preferred format for the defect list to be returned by the controller. The Defect List format the controller supports is : ÚÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³LIST BIT ³ 2 ³ 1 ³ 0 ³ FORMAT ³ ÃÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ ³P & G Lists ³ 1 ³ 0 ³ 0 ³ Bytes From Index ³ ³P & G Lists ³ 1 ³ 0 ³ 1 ³ Physical Sector Format ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If the host requests another format than "Bytes from Index" or "Physical Sector", the controller will return the list requested in the "Bytes from Index" format and create the CHECK CONDITION status with the Sense Key/Error Code set to "RECOVERED ERROR" at the end of the Read Defect Data data transfer. -The P bit set to one indicates that the initiator has requested that the Primary list of defects be returned. The P bit set to zero indicates that the controller shall not return the Primary list of defects. -The G bit set to one indicates that the initiator has requested that the Grown list of defects be returned. The G bit set to zero indicates that the controller shall not return the Grown list of defects. -With bits P and G both set to one, the controller shall return the Primary and the Grown list of defects. The controller returns the G list first, followed by the P list. If the host sent a value of FFFFFFFFh as "Bytes From Index" or "Physical Sector" value in the D list during the Data Out phase of the FORMAT UNIT command, the controller will return the READ DEFECT DATA all the sector addresses of the track(s) involved. -With bits P and G both set to zero, only the Defect List Header only is returned. If the controller is unable to read the defect list from the disk, it will create the CHECK CONDITION status and set the Sense Key/Error Code to "MEDIUM ERROR/No Record Found". The ALLOCATION LENGTH specifies the number of bytes that the initiator has allocated for returned READ DEFECT DATA. An Allocation Length of zero indicates that no READ DEFECT DATA is to be transferred. Any other value indicates the maximum number of bytes that is requested to be transferred. The controller terminates the DATA IN phase when the Allocation Length bytes have been transferred or when all available READ DEFECT DATA data have been transferred to the initiator, whichever is less. The READ DEFECT DATA contains a four byte header, followed by zero or more Defect Descriptors. Defect List Header ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄRESERVED(00)ÄÄ>³<ÄPÄ>³<ÄGÄ>³<ÄPÄ>³<Ä0Ä>³<Ä0Ä>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄDEFECT LIST LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄDEFECT LIST LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The meaning of bits 0 through 2 of byte 1 is similar to the Defect List Format of the FORMAT UNIT command. The bits P,G, and the Defect List Format indicate which defect list is actually returned by the controller. The format of the defect descriptors, if the Defect List Length is different than zero, is shown in the FORMAT UNIT command. The length of each defect descriptor is eight bytes. The Defect List Length specifies the total length in bytes of the defect descriptors that follow. The Defect List Length is equal to eight times the number of defect descriptors. If the Allocation Length of the CDB is too small to transfer all of the defect descriptors, the Defect List Length is not adjusted by the controller to reflect the truncation. The Defect Descriptors are in ascending order within each list returned. The initiator may be informed about the exact number of defects by dividing the Defect List Length by 8 (the Defect Descriptor Length). 9.1.8 WRITE BUFFER Command WRITE BUFFER command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄWRITE BUFFER COMMAND(3Bh)ÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄBYTE TRANSFER LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄBYTE TRANSFER LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The WRITE BUFFER Command is used in conjunction with the READ BUFFER command as a diagnostic function for testing the controller's buffer memory and the SCSI bus integrity. There is no access to the medium during the execution of this command. The BYTE TRANSFER LENGTH specifies the maximum number of bytes to be transferred to and retained in the controller buffer. The Byte Transfer Length contains a four-byte header, followed by the WRITE BUFFER data. A Byte Transfer Length of zero indicates that no Write Buffer Header and no WRITE BUFFER data shall be transferred. This condition does not create the CHECK CONDITION status. If the controller buffer size is 64K bytes, 65,531 bytes of WRITE BUFFER data is transferred. If the Byte Transfer Length is greater than the maximum size of the controller data buffer (Available length of the READ BUFFER command data) plus four, the controller creates the CHECK CONDITION status with the Sense Key of ILLEGAL REQUEST. In this case no data is transferred from the initiator. It is not an error to request a Byte Transfer Length less than the Available Length. WRITE BUFFER Header ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ It is recommended that the initiator link the WRITE BUFFER and READ BUFFER commands. Disconnection is not be allowed during this process to guarantee that the data buffer is not corrupted by incomplete commands issued from the same or other initiators to other LUNs. 9.1.9 READ BUFFER Command READ BUFFER Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄREAD BUFFER COMMAND(3Ch)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄALLOCATION LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄALLOCATION LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ BUFFER Command may be used in conjunction with the WRITE BUFFER command as a diagnostic function for testing the controller's buffer memory and the SCSI bus integrity. There is no access to the medium during the execution of this command. The ALLOCATION LENGTH specifies the maximum number of bytes that the initiator has allocated for returned READ BUFFER data. The Allocation Length contains a four byte header, followed by the READ BUFFER data. An Allocation Length of zero indicates that no Read Buffer Header and no READ BUFFER data shall be transferred. This condition does not create the CHECK CONDITION status. This data is to be used by the initiator for comparison with the data pattern sent during the WRITE BUFFER command. The entire controller buffer size may be requested for transfer including four bytes of header and the buffer size minus 4 bytes of READ BUFFER data. If the Allocation Length is greater than the Available Length added to the four bytes of Read Buffer Header, the Read Buffer Header and the Available Length shall be transferred to the initiator. It is not an error to request an Allocation Length less than the Available Length. The controller terminates the DATA IN phase when the Allocation Length bytes have been transferred or when the Read Buffer Header and the Available Length has been transferred to the initiator, whichever is less. READ BUFFER Header ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄAVAILABLE LENGTH(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄAVAILABLE LENGTH(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ It is recommended that the initiator issue the RESERVE UNIT command to all Logical Units prior to the WRITE BUFFER command, and the RELEASE UNIT command after the READ BUFFER command is completed. This will avoid corruption of the controller's data buffer by another initiator. 9.2 GROUP 7 COMMANDS for Direct Access Devices Group 7 Commands ÉÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍ» ³Operation³ ³ ³ ³Code ³ Command Name ³ Section ³ ÃÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄ´ ³E2h ³ READ ID ³ 9.2.1 ³ ³E8h ³ READ LONG ³ 9.2.2 ³ ³EAh ³ WRITE LONG ³ 9.2.3 ³ ³ECh ³ READ ABS ³ 9.2.4 ³ ³EFh ³ WRITE ABS ³ 9.2.5 ³ ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÙ 9.2.1 READ ID Command READ ID Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄREAD ID COMMAND(3Ch)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ ID command reads the track header of the current head position. READ ID Header ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄCYLINDER HIGH(hex)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³<ÄÄÄÄÄÄÄÄÄCYLINDER LOW(hex)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄÄÄÄHEAD(hex)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ 9.2.2 READ LONG Command READ LONG Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄREAD LONG COMMAND(E8h)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ LONG command is used to read the block addressed by the LBA and the 6-byte Error Correction Code that was written by the controller for that block. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄNOTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³The number of bytes transferred by this command is the block size + 6 bytes.³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 9.2.3 WRITE LONG Command WRITE LONG Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄWRITE LONG COMMAND(E8h)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The WRITE LONG command is used to write the block addressed by the LBA plus the 6 byte Error Correction Code. ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄNOTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³The number of bytes transferred by this command is the block size + 6 bytes³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ 9.2.4 READ ABS Command READ ABS Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄÄREAD ABS COMMAND(ECh)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The READ ABS command is used to read controller system tracks. 9.2.5 WRITE ABS Command WRITE ABS Command Descriptor Block ÚÄÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄÂÄÄÄÄÄ¿ ³BitÄ> ³ 7 ³ 6 ³ 5 ³ 4 ³ 3 ³ 2 ³ 1 ³ 0 ³ ³¸ Byte³ ³ ³ ³ ³ ³ ³ ³ ³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 0 ³<ÄÄÄÄÄÄÄÄÄÄWRITE ABS COMMAND(ECh)ÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 1 ³³<ÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 2 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(MSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 3 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESSÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 4 ³<ÄÄÄÄÄÄÄLOGICAL BLOCK ADDRESS(LSB)ÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 5 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 6 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 7 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 8 ³<ÄÄÄÄÄÄÄÄÄÄÄRESERVED(00)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÃÄÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄÅÄÄÄÄÄ´ ³ 9 ³<ÄÄÄÄÄÄÄÄÄÄCONTROL BYTEÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>³ ÀÄÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÁÄÄÄÄÄÙ The WRITE ABS command is used to write controller system tracks.