XT-4000S Product Specification and OEM Technical Manual Document 1014995 Revision B July 1989 REVISION RECORD Revision Date Published Revised Contents 01 April 1988 Preliminary Release (originally released as revision A) 02 May 1988 Preliminary Release 03 July 1988 Preliminary Release A-1 August 1988 Formal Release A-1 (Adden 1) February 1989 Formal Release A-1 (Adden 2) April 1989 Formal Release B July 1989 Formal Release B (Adden 1) January 1990 Formal Release Document No: 1014995 WARRANTY Maxtor warrants the XT-4000S Family of disk drives against defects in materials and workmanship for a period of twelve months, for the original purchaser. Direct any questions regarding the warranty to your Maxtor Sales Representative. Maxtor maintains Customer Service Centers for the repair/reconditioning of all Maxtor products. Direct all requests for repair to the Maxtor Service Center in San Jose. This assures you of the fastest possible service. REGULATORY APPROVALS UL Recognition obtained: File Number E87276(s) CSA Certification obtained: File Number LR54048-6 VDE Recognition obtained: File Number 41296G Address comments concerning this manual to: Maxtor Corporation Technical Publications 211 River Oaks Parkway San Jose, California 95134-1913 Telephone: (408) 432-1700 Telex: 171074 FAX: (408) 434-6469 Technical Data Restrictions In case of sale to or use of units by DoD, use, duplication or disclosure of any software, firmware or related documentation is subject to restrictions stated in paragraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013. For Civilian Agencies: Use, reproduction, or disclosure of the software and related documentation is subject to restrictions set forth in FAR 52.227-19. Unpublished rights reserved under the copyright laws of the United States. Maxtor Corporation, 211 River Oaks Parkway, San Jose, CA 95134. Copyright Notice This manual and all material contained in it are copyrighted. The manual may not be copied, in whole or in part, without the written consent of Maxtor Corporation. The contents of thismanual may be revised without prior notice. © Copyright 1988 by Maxtor Corporation, San Jose, California, USA. All rights reserved PREFACE Maxtor reserves the right to make changes and/or improvements to its products without incurring any obligation to incorporate such changes or improvements in units previously sold or shipped. Maxtor publishes descriptive Brochures and Data Sheets, an OEM Manual, and a Quick Reference Guide for each product line. In addition, important changes to a product are conveyed in the form of a Technical Bulletin sent to all product customers of record. Changes that affect the content of any manual recovered by publishing addenda or revisions to the affected manual. XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS PREFACE.....................................................V 1.0..............................................INTRODUCTION 1 1.1.....................................General Description 1 1.2......................................Key Drive Features 2 1.3.................................Key Controller Features 3 1.4......................Summary of Supported SCSI Commands 5 2.0.....................................SPECIFICATION SUMMARY 7 2.1..............................Performance Specifications 7 2.2...............................Functional Specifications 8 2.3............................Environmental Specifications 9 2.4.................................Physical Specifications 9 2.5..............................Reliability Specifications 10 2.6.......................Error Rates at the SCSI Interface 10 2.7...................................DC Power Requirements 11 2.8...............................Standards and Regulations 11 3.0................................FUNCTIONAL CHARACTERISTICS 13 3.1.............................General Theory of Operation 13 3.2......Read/Write Control and SCSI Controller Electronics 13 3.3.........................................Drive Mechanism 14 Doc 1014995, Rev B ix Maxtor Corporation Doc 1014995, Rev B ix Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 3.4...................................Air Filtration System 14 3.5..............................Head Positioning Mechanism 15 3.6..............................Read/Write Heads and Disks 16 3.7.................................Track and Sector Format 17 3.8..........................................SCSI Interface 17 3.8.1....................Initiator-Target Configurations 17 3.8.2..............Logical/Electrical Signal Definitions 19 3.8.3......................Pin Assignments and Connector 20 3.9..............................Electrical Power Interface 23 3.9.1..................................Power-Up Sequence 23 3.9.2....................................Power Connector 24 3.9.3...................................Ground Connector 25 3.10..............................Mounting and Installation 25 3.11...............................................Shipping 28 4.0...................................USER SELECTABLE OPTIONS 29 4.1.......................................SCSI ID Selection 32 4.2..................................Drive Power Up Options 32 4.3..............................Terminator Power Selection 33 4.4....................................Write Protect Option 34 4.5...........................................Parity Option 34 4.6...........................................Other Jumpers 34 4.7.............................................Sector Size 35 4.8...................................Interface Termination 35 4.9.....................................Auxiliary Connector 36 Doc 1014995, Rev B x Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 5.0...................................LOGICAL CHARACTERISTICS 39 5.1..................................Power Up and BUS RESET 39 5.1.1.................................Self-Test Sequence 39 5.1.2............................Initialization Sequence 40 5.1.3.................................Self Configuration 41 5.1.4...........................UNIT ATTENTION Condition 41 5.2........................................Buffering Scheme 41 6.0..................................SCSI PHASES AND MESSAGES 43 6.1..........................................BUS FREE Phase 44 6.2.......................................ARBITRATION Phase 45 6.3.........................................SELECTION Phase 45 6.4.......................................RESELECTION Phase 46 6.5.............................Information Transfer Phases 47 6.5.1..................Asynchronous Information Transfer 48 6.5.2..........................Synchronous Data Transfer 48 6.5.3......................................COMMAND Phase 49 6.5.4........................DATA IN and DATA OUT Phases 50 6.5.5.......................................STATUS Phase 50 6.5.6......................................MESSAGE Phase 52 6.6...........................................SCSI Messages 52 6.6.1...................................MESSAGE IN Phase 52 6.6.2..................................MESSAGE OUT Phase 53 6.6.3.............................COMMAND COMPLETE (00h) 53 6.6.4............................SAVE DATA POINTER (02h) 54 Doc 1014995, Rev B xi Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 6.6.5.............................RESTORE POINTERS (03h) 54 6.6.6...................................DISCONNECT (04h) 54 6.6.7.....................INITIATOR DETECTED ERROR (05h) 54 6.6.8........................................ABORT (06h) 55 6.6.9...............................MESSAGE REJECT (07h) 55 6.6.10................................NO OPERATION (08h) 55 6.6.11........................MESSAGE PARITY ERROR (09h) 55 6.6.12.....................LINKED COMMAND COMPLETE (0Ah) 56 6.6.13.........LINKED COMMAND COMPLETE (WITH FLAG) (0Bh) 56 6.6.14............................BUS DEVICE RESET (0Ch) 56 6.6.15................................IDENTIFY (C0h/80h) 56 6.6.16...SYNCHRONOUS DATA TRANSFER REQUEST Message (01h) 57 6.7........................................Error Conditions 59 6.7.1.....................MESSAGE OUT Phase Parity Error 59 6.7.2.........................COMMAND Phase Parity Error 60 6.7.3........................DATA OUT Phase Parity Error 60 6.7.4...........................Initiator Detected Error 60 6.7.5...................................REJECTED Message 61 6.7.6.....................Initiator MESSAGE PARITY ERROR 62 6.7.7...............................RESELECTION Time-Out 62 6.7.8.........................Internal Controller Errors 62 7.0.................................SCSI COMMAND DESCRIPTIONS 61 7.1...................................SCSI Command Overview 61 7.2.............................................FORMAT UNIT 66 Doc 1014995, Rev B xii Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 7.2.1.............................Defect List Management 67 7.2.2....................................SCSI Deviations 68 7.2.3.................................Command Parameters 68 7.2.4.......................................Format Modes 70 7.2.5..............................Initiator Defect List 75 A..................................D List Block Format 76 B.......................D List Bytes from Index Format 77 C........................D List Physical Sector Format 78 7.2.6...................................Error Conditions 80 7.3.................................................INQUIRY 82 7.3.1....................................SCSI Deviations 82 7.3.2.................................Command Parameters 82 7.3.3........................................Data Format 83 7.4.............................................MODE SELECT 87 7.4.1....................................SCSI Deviations 88 7.4.2.................................Command Parameters 88 7.4.3..............................Parameter List Format 89 A.........................Parameter List Header Format 89 B...............Parameter List Block Descriptor Format 90 C...................................Page Header Format 91 7.4.4.....................Error Recovery Parameters Page 92 7.4.5..........................Disconnect-Reconnect Page 99 7.4.6.................................Format Device Page 100 7.4.7..........Rigid Disk Drive Geometry Parameters Page 103 7.4.8.......................................Caching Page 105 Doc 1014995, Rev B xiii Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 7.4.9..........................Maxtor Drive Control Page 107 7.4.10...........................Read-Ahead Control Page 109 7.4.11..................................Error Conditions 110 7.5..............................................MODE SENSE 112 7.5.1....................................SCSI Deviations 113 7.5.2.................................Command Parameters 113 7.5.3..............................Parameter List Format 115 A.........................Parameter List Header Format 116 B...............Parameter List Block Descriptor Format 117 C...................................Page Header Format 118 7.5.4.....................Error Recovery Parameters Page 118 7.5.5...............Disconnect/Reconnect Parameters Page 121 7.5.6........Direct-Access Device Format Parameters Page 123 7.5.7..........Rigid Disk Drive Geometry Parameters Page 126 7.5.8.......................................Caching Page 128 7.5.9..........................Maxtor Drive Control Page 130 7.5.10................Read-Ahead Control Parameters Page 132 7.5.11..................................Error Conditions 133 7.6....................................................READ 134 7.6.1....................................SCSI Deviations 134 7.6.2.................................Command Parameters 134 7.6.3...................................Error Conditions 135 7.7.........................................READ (EXTENDED) 136 7.7.1....................................SCSI Deviations 136 7.7.2.................................Command Parameters 136 Doc 1014995, Rev B xiv Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 7.7.3...................................Error Conditions 137 7.8.............................................READ BUFFER 138 7.8.1....................................SCSI Deviations 138 7.8.2.................................Command Parameters 138 7.8.3......................................Command Usage 139 7.8.4........................................Data Format 139 7.8.5...................................Error Conditions 140 7.9...........................................READ CAPACITY 141 7.9.1....................................SCSI Deviations 141 7.9.2.................................Command Parameters 141 7.9.3........................................Data Format 142 7.9.4...................................Error Conditions 143 7.10.......................................READ DEFECT LIST 144 7.10.1...................................SCSI Deviations 144 7.10.2................................Command Parameters 144 7.10.3............................................Header 146 7.10.4......................................Block Format 147 7.10.5...........................Bytes from Index Format 148 7.10.6............................Physical Sector Format 149 7.10.7..................................Error Conditions 150 7.11..............................................READ LONG 151 7.11.1...................................SCSI Deviations 151 7.11.2................................Command Parameters 151 7.11.3..................................Error Conditions 152 7.12.....................................READ LONG (SCSI-2) 153 Doc 1014995, Rev B xv Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 7.13.........................READ MANUFACTURERS DEFECT LIST 155 7.13.1...................................SCSI Deviations 155 7.13.2................................Command Parameters 155 7.13.3.......................................Data Format 156 7.14.........................................REASSIGN BLOCK 158 7.14.1...................................SCSI Deviations 158 7.14.2................................Command Parameters 158 7.14.3................................Defect List Format 159 7.14.4..................................Error Conditions 160 7.15.............................RECEIVE DIAGNOSTIC RESULTS 161 7.15.1...................................SCSI Deviations 161 7.15.2................................Command Parameters 161 7.15.3.......................................Data Format 162 7.15.4..................................Error Conditions 162 7.16...........................................RELEASE UNIT 163 7.16.1...................................SCSI Deviations 163 7.16.2................................Command Parameters 163 7.16.3..................................Error Conditions 164 7.17..........................................REQUEST SENSE 165 7.17.1...................................SCSI Deviations 165 7.17.2................................Command Parameters 165 7.17.3.......................................Data Format 166 A........................Nonextended Sense Data Format 167 B...........................Extended Sense Data Format 167 C..........................................Sense Codes 173 Doc 1014995, Rev B xvi Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 7.17.4..................................Error Conditions 177 7.18...........................................RESERVE UNIT 178 7.18.1...................................SCSI Deviations 178 7.18.2................................Command Parameters 178 7.18.3..................................Error Conditions 179 7.19............................................REZERO UNIT 180 7.19.1...................................SCSI Deviations 180 7.19.2................................Command Parameters 180 7.20...................................................SEEK 181 7.20.1...................................SCSI Deviations 181 7.20.2................................Command Parameters 181 7.20.3..................................Error Conditions 182 7.21........................................SEEK (EXTENDED) 183 7.21.1...................................SCSI Deviations 183 7.21.2................................Command Parameters 183 7.21.3..................................Error Conditions 184 7.22........................................SEND DIAGNOSTIC 185 7.22.1...................................SCSI Deviations 185 7.22.2................................Command Parameters 185 7.22.3..................................Error Conditions 187 7.22.4.......................................Subcommands 188 A..........................GET DRIVE STATUS Subcommand 188 B........................PASS DRIVE COMMAND Subcommand 190 C...............................READ HEADER Subcommand 193 7.23........................................START/STOP UNIT 196 Doc 1014995, Rev B xvii Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 7.23.1...................................SCSI Deviations 196 7.23.2................................Command Parameters 196 7.23.3..................................Error Conditions 197 7.24........................................TEST UNIT READY 198 7.24.1...................................SCSI Deviations 198 7.24.2................................Command Parameters 198 7.24.3..................................Error Conditions 198 7.25.................................................VERIFY 199 7.25.1...................................SCSI Deviations 199 7.25.2................................Command Parameters 199 7.25.3..................................Error Conditions 200 7.26..................................................WRITE 201 7.26.1...................................SCSI Deviations 201 7.26.2................................Command Parameters 201 7.26.3..................................Error Conditions 202 7.27.......................................WRITE (EXTENDED) 203 7.27.1...................................SCSI Deviations 203 7.27.2................................Command Parameters 203 7.27.3..................................Error Conditions 204 7.28.......................................WRITE AND VERIFY 205 7.28.1...................................SCSI Deviations 205 7.28.2................................Command Parameters 205 7.29...........................................WRITE BUFFER 207 7.29.1...................................SCSI Deviations 207 7.29.2................................Command Parameters 207 Doc 1014995, Rev B xviii Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual TABLE OF CONTENTS 7.29.3.......................................Data Format 208 7.29.4..................................Error Conditions 209 7.30.............................................WRITE LONG 210 7.30.1...................................SCSI Deviations 210 7.30.2................................Command Parameters 210 7.30.3..................................Error Conditions 211 7.31....................................WRITE LONG (SCSI-2) 212 APPENDIX A: DISCONNECT/RECONNECT CONDITIONS..............215 APPENDIX B: DEFECT MANAGEMENT............................217 Reassignment Sequences..................................218 Cylinder-Oriented Reassignment Sequence..............218 Track-Oriented Reassignment Sequence.................220 Drive-Oriented Reassignment Sequence.................220 Host Defect Management Sequence......................221 Defect Management Assumptions and Statistics............221 APPENDIX C: CDB BIT DEFINITIONS..........................225 APPENDIX D: UNITS OF MEASURE.............................227 APPENDIX E: BUFFER RATIO APPLICATIONS....................229 What are the Buffer Ratios?.............................229 What are the Performance Benefits from Buffer Ratios?...229 Buffer Full Ratio.......................................229 Buffer Empty Ratio......................................231 What value should be used for the Buffer Ratios?........231 APPENDIX F: THE READ-AHEAD FEATURE.......................233 What is Read-Ahead?.....................................233 How Does it Work?.......................................233 Key Read-Ahead Parameters...............................235 Controlling the Read-Ahead Feature......................236 Read Algorithm..........................................236 Read-Ahead Performance..................................237 GLOSSARY..................................................239 Doc 1014995, Rev B xix Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FIGURES XT-4000S Product Specification & OEM Technical Manual FIGURES Figure 3o1..............................Air Filtration System 15 Figure 3o2.........................Head Positioning Mechanism 16 Figure 3o3.......................................Track Format 17 Figure 3o4........................Typical SCSI Configurations 18 Figure 3o5............Connector Locations, Rear View of Drive 22 Figure 3o6...............................SCSI Cable Connector 23 Figure 3o7...................Motor Start Current Requirements 24 Figure 3o8.......................................J3 Connector 25 Figure 3o9.............Mechanical Outline, Top and Side Views 26 Figure 3o10................Mechanical Outline, Isometric View 27 Figure 3o11...............................Removable Faceplate 28 Figure 4o1.........................................PCB Layout 29 Figure 4o2..................................Fab #3 PCB Layout 30 Figure 4o2A.................................Fab #6 PCB Layout 31 Figure 6o1..............Signal Sequence Chart for SCSI Phases 44 Figure 7o1...............Flow Chart of Automatic Reallocation 95 Figure Eo1.......Data Transfer Rate Without Buffer Full Ratio 230 Figure Eo2..........Data Transfer Rate With Buffer Full Ratio 231 Figure Fo1................Sequential Reads without Read-Ahead 234 XT-4000S Product Specification & OEM Technical Manual TABLES XT-4000S Product Specification & OEM Technical Manual TABLES Table 2o1..........................Performance Specifications 7 Table 2o2...........................Functional Specifications 8 Table 2o3................................Environmental Limits 9 Table 2o4.................................Physical Dimensions 9 Table 2o5..........................Reliability Specifications 10 Table 2o6.........................................Error Rates 10 Table 2o7...............................DC Power Requirements 11 Table 3o1...........................Connector Pin Assignments 21 Table 4o1.....................................SCSI ID Jumpers 32 Table 4o2.........................Summary of Power-Up Options 33 Table 4o3................Other Jumper Pin Assignments, Fab #1 34 Table 4o4................Other Jumper Pin Assignments, Fab #3 35 Table 4o5.................Auxiliary Connector Pin Assignments 36 Table 4o6.............Remote SCSI ID Programming Combinations 37 Table 6o1........................Signal States and Bus Phases 43 Table 6o2.....................................SCSI Bus Timing 47 Table 6o3.........................................Status Byte 50 Table 6o4........................................Status Codes 51 Table 6o5.......................................Message Codes 52 Table 6o6..............................IDENTIFY Message Codes 57 Table 6o7.......SYNCHRONOUS DATA TRANSFER REQUEST Byte Values 58 Table 6o8....Drive Responses to the SYNCHRONOUS DATA TRANSFER REQUEST Message............................................58 Table 7o1.....................Typical CDB for 6-Byte Commands 61 XT-4000S Product Specification & OEM Technical Manual TABLES Table 7o2....................Typical CDB for 10-Byte Commands62 Table 7o3...........................CDB Operation Code Format 63 Table 7o4.................................CDB Operation Codes 63 Table 7o5........................................Control Byte 64 Table 7o6.....................................FORMAT UNIT CDB 69 Table 7o7......................FORMAT UNIT Defect List Header 71 Table 7o8...................Initialization Pattern Descriptor 72 Table 7o9.....................Initialization Pattern Modifier 73 Table 7o10........................Initialization Pattern Type 73 Table 7o11.....................FORMAT UNIT Drive Format Modes 75 Table 7o12.........................FORMAT UNIT D List Formats 76 Table 7o13.....FORMAT UNIT Defect Descriptor(s), Block Format 77 Table 7o14.FORMAT UNIT Defect Descriptor(s), Bytes from Index Format 78 Table 7o15..FORMAT UNIT Defect Descriptor(s), Physical Sector Format 79 Table 7o16........................................INQUIRY CDB 82 Table 7o17..............................INQUIRY Response Data 84 Table 7o18................................MODE SELECT Command 88 Table 7o19..................MODE SELECT Parameter List Header 90 Table 7o20.MODE SELECT Parameter List Block Descriptor Format 91 Table 7o21.............................MODE SELECT Page Codes 92 Table 7o22..................Error Recovery Page (Page Code 1) 93 Table 7o23...................MODE SELECT Error Recovery Modes 98 Table 7o24..........................Disconnect-Reconnect Page 99 Table 7o25.................................Format Device Page 101 Table 7o26...MODE SELECT Rigid Disk Drive Geometry Parameters (Page Code 4).............................................104 XT-4000S Product Specification & OEM Technical Manual TABLES Table 7o27.......................................Caching Page 106 Table 7o28..........................Maxtor Drive Control Page 107 Table 7o29............Read-Ahead Control Page (Page Code 38h) 109 Table 7o30.................................MODE SENSE Command 113 Table 7o31.....................MODE SENSE Page Control Fields 114 Table 7o32..............................MODE SENSE Page Codes 115 Table 7o33...................MODE SENSE Parameter List Header 116 Table 7o34..MODE SENSE Parameter List Block Descriptor Format 117 Table 7o35..................MODE SENSE Page Header Page Codes 118 Table 7o36.MODE SENSE Error Recovery Parameters (Page Code 1) 119 Table 7o37.MODE SENSE Disconnect/Reconnect Control Parameters (Page Code 2).............................................122 Table 7o38..MODE SENSE Direct-Access Device Format Parameters (Page Code 3).............................................124 Table 7o39....MODE SENSE Rigid Disk Drive Geometry Parameters (Page Code 4).............................................127 Table 7o40.................MODE SENSE Default Number of Heads 128 Table 7o41.......................................Caching Page 129 Table 7o42..........................Maxtor Drive Control Page 130 Table 7o43......Read-Ahead Control Parameters (Page Code 38h) 132 Table 7o44...........................................READ CDB 134 Table 7o45................................READ (EXTENDED) CDB 136 Table 7o46....................................READ BUFFER CDB 138 Table 7o47.................................READ BUFFER Header 140 Table 7o48..................................READ CAPACITY CDB 142 Table 7o49..........................READ CAPACITY Data Format 143 Table 7o50...............................READ DEFECT LIST CDB 144 Table 7o51...............READ DEFECT LIST Defect List Formats 146 XT-4000S Product Specification & OEM Technical Manual TABLES Table 7o52............................READ DEFECT LIST Header 147 Table 7o53READ DEFECT LIST Defect Descriptor(s), Block Format 148 Table 7o54..READ DEFECT LIST Defect Descriptor(s), Bytes from Index Format..............................................149 Table 7o55....READ DEFECT LIST Defect Descriptor(s), Physical Sector Format.............................................150 Table 7o56......................................READ LONG CDB 152 Table 7o57..................................READ LONG Command 153 Table 7o58.................READ MANUFACTURERS DEFECT LIST CDB 156 Table 7o59..READ MANUFACTURERS DEFECT LIST Defect Descriptors Returned Format...........................................157 Table 7o60.................................REASSIGN BLOCK CDB 159 Table 7o61..................REASSIGN BLOCK Defect List Header 159 Table 7o62................REASSIGN BLOCK Defect Descriptor(s) 160 Table 7o63.....................RECEIVE DIAGNOSTIC RESULTS CDB 161 Table 7o64...................................RELEASE UNIT CDB 163 Table 7o65..................................REQUEST SENSE CDB 166 Table 7o66........REQUEST SENSE Nonextended Sense Data Format 167 Table 7o67.........................Extended Sense Data Format 168 Table 7o68................................Field Pointer Bytes 170 Table 7o69...........................Actual Retry Count Bytes 170 Table 7o70...................Format Progress Indication Bytes 171 Table 7o71.............REQUEST SENSE Extended Sense Key Codes 172 Table 7o72.............................Additional Sense Codes 174 Table 7o73...................................RESERVE UNIT CDB 179 Table 7o74....................................REZERO UNIT CDB 180 Table 7o75...........................................SEEK CDB 181Table 7o76................................SEEK (EXTENDED) CDB 184 XT-4000S Product Specification & OEM Technical Manual TABLES Table 7o77................................SEND DIAGNOSTIC CDB 186 Table 7o78............SEND DIAGNOSTIC Drive Self-Test Options 187 Table 7o79.........GET DRIVE STATUS Subcommand Parameter List 188 Table 7o80.......................GET DRIVE STATUS Data Format 189 Table 7o81.............GET DRIVE STATUS Command Status Values 190 Table 7o82.......PASS DRIVE COMMAND Subcommand Parameter List 191 Table 7o83..............PASS DRIVE COMMAND Status Data Format 192 Table 7o84...........PASS DRIVE COMMAND Command Status Values 192 Table 7o85...PASS DRIVE COMMAND Standard Status Response Bits 193 Table 7o86..............READ HEADER Subcommand Parameter List 194 Table 7o87............................READ HEADER Data Format 194 Table 7o88................TRANSLATE Subcommand parameter List 195 Table 7o89..............................TRANSLATE Data Format 195 Table 7o90................................START/STOP UNIT CDB 196 Table 7o91................................TEST UNIT READY CDB 198 Table 7o92.........................................VERIFY CDB 199 Table 7o93..........................................WRITE CDB 201 Table 7o94...............................WRITE (EXTENDED) CDB 203 Table 7o95...............................WRITE AND VERIFY CDB 205 Table 7o96...................................WRITE BUFFER CDB 208 Table 7o97......................Combined Header and Data Mode 209 Table 7o98.....................................WRITE LONG CDB 211 Table 7o99.................................WRITE LONG Command 212Table Bo1........................Defect Management Selections 218 Table Bo2.....................Spares Versus Capacity, XT-4380 222 XT-4000S Product Specification & OEM Technical Manual TABLES Table Bo3.....................Spares Versus Capacity, XT-4170 223 Table Eo1.................................Buffer Ratio Values 232 Table Fo1......................................READ Algorithm 236 XT-4000S Product Specification & OEM Technical Manual TABLES XT-4000S Product Specification & OEM Technical Manual 1.0 INTRODUCTION 1.1 GENERAL DESCRIPTION The XT-4000S| Family disk drives are low cost, high capacity, high performance, random access storage devices which use nonremovable 5.25 inch disks as storage media. Each disk surface employs one moveable head to access the data tracks. The total unformatted capacity of these drives ranges from 179 to 384 megabytes. The drives include the Small Computer System Interface (SCSI) controller embedded in the drive electronics. Some of the resulting benefits of having an integrated controller include the elimination of a separate controller printed circuit board (PCB), reduction in the number of associated cables, and elimination of the controller-specific power supply. Low cost and high performance are achieved through the use of a rotary voice coil actuator and a closed loop servo system using a dedicated servo surface. The innovative MAXTORQ| rotary voice coil actuator provides performance usually achieved only with larger, higher powered linear actuators. The closed loop servo system and dedicated servo surface combine to allow state of the art recording densities (1,070 tracks per inch, 21,064 bits per inch) in a 5.25 inch package. High capacity is achieved by a balanced combination of high areal recording density, run-length limited (RLL) data encoding techniques, and high density packaging techniques. Maxtor's advanced MAXPAK| electronic packaging techniques use miniature surface-mounted devices to allow all electronic circuitry to fit on one PCB. Advanced flexures and heads allow closer spacing of disks, and therefore allow a higher number of disks in a 5.25 inch package. Maxtor's unique integrated drive motor/spindle design allows a deeper head disk assembly (HDA) casting than conventional designs, thus permitting eight disks to be used. The drive's electrical interface is compatible with the ANSI SCSI standard X3.131-1986, plus the Common Command Set (CCS) requirements. Size and mounting conform to the industry standard 5.25 inch form factor for floppy and Winchester disk drives, and the same direct current (DC) voltages and connectors are used. XT-4000S Product Specification & OEM Technical Manual 1.2 KEY DRIVE FEATURES FEATURE BENEFITS o Storage capacity of 179 Ideal for multiuser to 384 megabytes systems and graphics (unformatted) workstations o Single PCB High reliability, ease of maintenance o Rotary voice coil Fast, accurate head actuator and closed loop positioning servo system o Separate microprocessor- Fast access times, high controlled servo reliability, and high density packaging o Thin film metallic media Higher bit density and resolution, plus improved durability o Automatic actuator lock, High reliability, data with dedicated head protected from mechanical landing and shipping shock zone o Brushless DC spindle Maximum storage capacity motor inside hub o Separate microprocessor- Precise speed control controlled spindle motor under all load conditions o Dynamic braking during Minimum head/disk contact power down cycle time during spindown cycle o Industry standard DC Ease of integration power supply requirements (no alternating current (AC) power required) o Industry standard Ease of integration physical size and mounting XT-4000S Product Specification & OEM Manual 1.3 KEY CONTROLLER FEATURES FEATURE BENEFITS o Sophisticated, hardware- Minimum time on SCSI bus; based control of SCSI Maximum bus use protocol o Up to 4.8 megabytes per Maximum SCSI bus use second data transfer rate, in either asynchronous or synchronous mode o Synchronous offsets up Provides for high to 15 bytes performance on long cables o High performance buffer Simultaneous data manager transfers from disk to buffer and buffer to initiator o In-line sector sparing Maintains high performance over life of drive, even after numerous reassignments o Cylinder-oriented defect Maximizes formatted management capacity available to system o Programmable cylinder No slipped revolutions skewing when crossing cylinder boundaries o 45 kilobytes dual ported Maintains maximum SCSI bus first-in, first-out transfer rate buffer; two full tracks capacity o Hardware head switching No head skewing required to prevent slipped revolutions due to software overhead o Programmable Flexibility; more alternates/zones available capacity o Dedicated microprocessor SCSI bus unaffected by for SCSI drive interface functions, such as SEEK XT-4000S Product Specification & OEM Manual o Error map on disk Automatic defect deallocation during format; no manual entry FEATURE BENEFITS o ANSI SCSI Standard Compatibility; ease of X3.131-1986 Level 2 integration conformance o Full implementation of Availability of options CCS revision 4B and industry compatibility o Programmable 48 bit High data integrity error correction code (ECC). o Programmable automatic Flexibility and high data retry on READ errors integrity o Interleave of 1:1 Maximum data throughput supported o Full Optimum SCSI bus disconnect/reconnect performance capability o Sector sizes User flexibility; system programmable from 180 to compatibility 4,096 bytes o SCSI implementation Ease of integration and compatible with all upgrade Maxtor Winchester and optical drives XT-4000S Product Specification & OEM Manual XT-4000S Product Specification & OEM Manual 1.4 SUMMARY OF SUPPORTED SCSI COMMANDS The commands supported by the drive are listed and discussed in Section 7.0, SCSI Command Descriptions. For more information on Group 0 and Group 1 commands for direct-access devices, see the reference documents below: o ANSI X3.131-1986, SCSI, American National Standards Institute, Inc., June 23, 1986. o X3T9.2/85-52 Rev 4.B CCS, June 23, 1986, a document of the American Standards Committee. XT-4000S Product Specification & OEM Manual XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual 2.0 SPECIFICATION SUMMARY 2.1 PERFORMANCE SPECIFICATIONS Table 2o1 Performance Specifications 2.2 FUNCTIONAL SPECIFICATIONS Table 2o2 Functional Specifications 2.3 ENVIRONMENTAL SPECIFICATIONS Table 2o3 Environmental Limits 2.4 PHYSICAL SPECIFICATIONS Table 2o4 Physical Dimensions 2.5 RELIABILITY SPECIFICATIONS Table 2o5 Reliability Specifications XT-4000S Product Specification & OEM Technical Manual 2.6 ERROR RATES AT THE SCSI INTERFACE Table 2o6 Error Rates 2.7 DC POWER REQUIREMENTS Table 2o7 DC Power Requirements 2.8 STANDARDS AND REGULATIONS The Maxtor XT-4000S Family disk drives satisfy the following standards and regulations: UNDERWRITERS LABORATORIES (UL) = United States safety; UL 478, Standard for Safety, Electronic Processing Units and Systems. CANADIAN STANDARDS ASSOCIATION (CSA) = Canadian safety; CSA C22.2 No. 220, 1986, Information Processing and Business Equipment (Consumer and Commercial Products). VERBAND DEUTSCHER ELECTROTECHNIKER (VDE) = German safety; VDE 0806/8.81, Safety of Office Appliances and Business Equipment. INTERNATIONAL ELECTROTECHNICAL COMMISSION (IEC) = International safety commission; IEC 950 (formerly 380), Safety of Information Technology Equipment. FEDERAL COMMUNICATIONS COMMISSION (FCC) = United States radiation emissions; Part 15, Subpart J, Class B Consumer Computing Devices. CAUTION: Connections between equipment must be made with shielded cables, and a shielded power cord must be used to connect AC power to the unit. CAUTION: This equipment generates and uses radio frequency energy, and may cause interference to radio and television reception if not installed and used in XT-4000S Product Specification & OEM Technical Manual strict accordance with the instructions in this manual . The drive has been tested and found to comply with the limits for a Class B computing device, in accordance with the specifications in Subpart J of Part 15 of FCC Rules, which are designed to provide reasonable protection against radio and television reception interference in a residential installation. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference using one or more of the following measures: o reorient the receiving antenna o reorient the computer with respect to the receiver o move the computer away from the receiver o plug the computer into a different outlet, so that the computer and receiver are on different branch circuits If necessary, consult the dealer, or an experience radio/television technician, for additional suggestions. You may find the FCC booklet How to Identify and Resolve Radio TV Interference Problems helpful. This booklet is available from the United States Government Printing Office, Washington, D.C., 20402, stock number 004-000-00345-4. Maxtor is not responsible for any radio or television interference caused by unauthorized modifications to the drive. It is the responsibility of the user to correct such interference. XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual Doc 1014995, Rev B 1 Maxtor Corporation Doc 1014995, Rev B 1 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 3.0 FUNCTIONAL CHARACTERISTICS 3.1 GENERAL THEORY OF OPERATION The disk drive consists of read/write, control, and interface electronics, read/write heads, a servo head, a head positioning actuator, a disk drive motor/spindle, media, and an air filtration system. The components perform the following functions: o interpret and generate control signals o position the heads over the desired track o read and write data o provide automatic error correction to the data o provide a contamination-free environment o provide a controller to interact with the initiator o maintain precise spindle rotation speed 3.2 READ/WRITE CONTROL AND SCSI CONTROLLER ELECTRONICS All the disk drive and controller electronics are packaged on a single PCB. This PCB, which includes three microprocessors, performs the following disk drive functions: o data separation o reading/writing of data o index detection o head positioning o head selection o disk drive selection o fault detection o track zero detection o recalibration to track zero on power up o track position counter o power and speed control for spindle disk drive motor o braking for the spindle disk drive motor o disk drive up-to-speed indication o reduced write current on the inner tracks o monitoring for WRITE FAULT conditions o control of all internal timing o generation of SEEK COMPLETE signals o RLL encoding/decoding The PCB performs the following controller functions: o error detection and correction Doc 1014995, Rev B 2 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual o SCSI bus disconnect/reconnect functions o SCSI bus arbitration o defect handling o data transfer o automatic retries o data buffering o command linking o sector formatting 3.3 DRIVE MECHANISM The HDA is a sealed subassembly containing the mechanical portion of the disk drive. A brushless DC disk drive motor contained within the spindle hub rotates the spindle and is controlled by a dedicated microprocessor. The motor and spindle are dynamically balanced to ensure a low vibration level, and dynamic braking is used to quickly stop the spindle motor when power is removed. The HDA is shock mounted to minimize vibration through the frame. The frame is the mechanical assembly holding the HDA and PCB. 3.4 AIR FILTRATION SYSTEM The disks and read/write heads are assembled in a Class 100 environment and then sealed within the HDA. The HDA contains an absolute filter, mounted inside the casting, to provide constant internal air filtration (see Figure 3o1, Air Filtration System). A second absolute filter, located on the HDA top cover, permits pressure equalization between internal and ambient air. Figure 3o1 Air Filtration System 3.5 HEAD POSITIONING MECHANISM The read/write heads are mounted on a head/arm assembly, which is then mounted on a ball bearing supported shaft (see F, Head Positioning Mechanism). The voice coil, an integral part of the head/arm assembly, lies inside the magnet housing when installed in the disk drive. Current from the power amplifier, controlled by the servo system, induces a magnetic field in the voice coil which either aids or opposes Doc 1014995, Rev B 3 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual the field around the permanent magnets. This reaction causes the voice coil to move within the magnetic field. Because the head/arm assemblies are connected to the voice coil, voice coil movement is transferred, through the pivot point, directly to the heads, to position them over the desired cylinder. Figure 3o2 Head Positioning Mechanism Actuator movement is controlled by the servo feedback signal from the servo head. The servo information is prewritten at the factory and is used as a control signal for the actuator to provide track crossing signals during a seek operation, track following signals during on cylinder operation, and timing information, such as index and servo clock. The servo information also provides the timing to divide a track into sectors used for data storage. The servo control system has a dedicated microprocessor for fast, optimized performance. 3.6 READ/WRITE HEADS AND DISKS The disk drive employs state of the art sliders and flexures. The configuration of the sliders and flexures provides improved aerodynamic stability, superior head/disk compliance, and a higher signal-to- noise ratio. The disk media uses thin metallic film, deposited on 130 millimeter diameter aluminum substrates. The coating formulation, together with the low load force/low mass heads, permits highly reliable contact start/stop operation. The nickel-cobalt metallic film yields high amplitude signals, and very high resolution performance, compared to conventional oxide coated media. It also provides a highly abrasion and impact resistant surface, decreasing the potential for damage caused by shock and vibration. Data on each of the data surfaces is read by one read/write head; each head accesses 1,224 physical tracks. There is one surface dedicated to servo information in each disk drive. Doc 1014995, Rev B 4 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 3.7 TRACK AND SECTOR FORMAT The standard track format is organized into numbered data segments, or sectors (see Figure 3o3, Track Format). The sectors are addressed via the logical block address (LBA) in the SCSI commands. The method of encoding is 2, 7 RLL. Figure 3o3 Track Format 3.8 SCSI INTERFACE 3.8.1 Initiator-Target Configurations The SCSI initiator interface offers a number of unique advantages, facilitating the interconnection of the disk drive with one (or more) computer systems. Unlike traditional microcomputer disk interfaces, such as ST506, SCSI supports multiple peripherals and different peripheral types, all operating on the same bus structure. Figure 3o4, Typical SCSI Configurations, shows examples of typical configurations. Figure 3o4 Typical SCSI Configurations The disk drive also supports multiple initiator configurations consistent with the established arbitration cycle outlined in the SCSI standards. Configuration changes are made by SCSI address jumpers, which are set when the disk drive is installed in the system (jumper settings are discussed in Section 4.0, User Selectable Options). The SCSI implementation used in the disk drive is intended to facilitate high-speed data transfer between the initiator and the drive. Interconnection between the initiator system(s) and the drive is via a fifty- pin ribbon cable, and uses the single-ended alternative, which allows up to 6 meters of cable length. Doc 1014995, Rev B 5 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 3.8.2 Logical/Electrical Signal Definitions The SCSI bus uses eighteen signals. Nine signals are for the 8-bit data bus, with one data parity bit; the other nine signals are the SCSI control lines, which coordinate bus accesses for transfers of commands, data, status, and messages. The interface signals are listed below; refer to the SCSI standard for further details. Pin assignments of the connector are provided in section 3.8.3, Pin Assignments and Connector. Across the SCSI bus all initiator signals are low-true. The signals are asserted, or active, at 0 to 0.4 volts DC, and negated, or inactive, at 2.5 to 5.25 volts DC. This low-true logic is indicated by the negative sign which precedes the signal name. -RST The -RST (reset) signal is an OR-tied signal asserted by the initiator, causing the disk drive to do a "hard" RESET, self configure, and return to the IDLE condition. This signal is normally used during a power-up sequence. The -RST pulse should be at least 25 microseconds wide. -SEL The -SEL (select) signal is asserted by the initiator, along with the disk drive's SCSI ID bit (zero through seven), causing the drive to be selected. The -SEL line must be negated by the initiator after the drive asserts the - BSY line in response to a proper selection. The signal can be asserted by the arbiter (initiator or disk drive) in the ARBITRATION phase. The signal is also asserted by the disk drive during the RESELECTION phase. -BSY The -BSY (busy) signal is an OR-tied signal asserted by the disk drive, indicating that the bus is being used. It is also asserted by the arbiter during the ARBITRATION phase and by the initiator and the disk drive during the RESELECTION phase. -C/D Assertion of the -C/D (control/data) signal by the disk drive indicates that command, status, or message information is to be transferred on the data bus. Negation of this line indicates that data is to be transferred on the data bus. Doc 1014995, Rev B 6 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual -I/O When the -I/O (input/output) signal is asserted by the disk drive it indicates that information is transferred to the initiator from the disk drive. Negation of the signal indicates that information is transferred to the disk drive from the initiator. Note that IN means toward the initiator. -REQ When asserted by the disk drive, the -REQ (request) signal indicates that a byte is to be transferred on the data bus. -REQ is negated following assertion of the -ACK line by the initiator. -ACK The -ACK (acknowledge) signal is asserted by the initiator, following assertion of the -REQ line, to indicate data has been accepted by the initiator, or that data is ready to be transferred from the initiator to the disk drive. -ACK is negated following negation of the -REQ line. -ATN The -ATN (attention) signal is asserted by the initiator to indicate the ATTENTION condition, which is a request for the disk drive to enter the MESSAGE OUT phase. -MSG The -MSG (message) signal is asserted by the disk drive during one of the message phases. Messages may be either IN or OUT, depending on the state of the -I/O signal. -DB (7-0, P) The eight bidirectional data bus lines (DB 7-0) and parity line (DBP) are used to transfer 8 bit parallel data to/from the initiator. Bit seven is the most significant bit. Bits zero through seven are also used as SCSI ID bits during the ARBITRATION, SELECTION and RESELECTION phases. Data bus parity (DBP) is odd. 3.8.3 Pin Assignments and Connector The disk drive communicates with an initiator system via a fifty-pin connector, J1. The logical/electrical configuration of the SCSI connector is given in Table 3o1, Connector Pin Assignments. Note that the minus sign (-) indicates low-true logic, and that all odd- numbered pins are return (ground) pins for the associated even-numbered pins, except for pin twenty- Doc 1014995, Rev B 7 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual five, which is not connected. Pin one is located on the end of J1 closest to the DC power connector, J3. (See Figure 3o5, Connector Locations, Rear View of Drive.) Table 3o1 Connector Pin Assignments Figure 3o5 Connector Locations, Rear View of Drive Connection to J1 is via a nonshielded fifty-conductor connector, consisting of two rows of twenty-five female contacts on 0.1 inch centers. Figure 3o6, SCSI Cable Connector, shows the configuration and dimensions of a suitable mating connector. Recommended strain-relief connectors are AMP part number 1-499506-2, or Dupont part number 669002 (66900-250). Use of a keyed connector is recommended. Figure 3o6 SCSI Cable Connector 3.9 ELECTRICAL POWER INTERFACE This section describes the power-up sequence for the disk drive, and the two connectors associated with the electrical power interface. These connectors are the power connector, J3, and the ground connector, J4. 3.9.1 Power-Up Sequence DC power (+5 volts and +12 volts) may be supplied in any order. Both power supplies must be present, and within the tolerances of the power sensing circuit, before the motor will spin up. Typical current draw during power up is shown in Figure 3o7, Motor Start Doc 1014995, Rev B 8 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual Current Requirements. When the spindle reaches full speed, the actuator lock automatically disengages. The disk drive performs automatic SEEK calibration during start up for optimum SEEK performance. The disk drive executes its recalibration sequence whenever power is applied or the START STOP UNIT command is received. You may delay starting the spindle motor, to minimize power surges in multidrive configurations, by using the jumper options (see section 4.2, Drive Power-Up Options). The two jumpers controlling the disk drive power up-options are also covered in this section. Figure 3o7 Motor Start Current Requirements 3.9.2 Power Connector The DC power connector,J3 (shown in Figure 3o8, J3 Connector) is a four-pin AMP MATE-N-LOCK connector, part number 3505430-1. The recommended mating connector is AMP part number 1-480424-0, using AMP pins part number 350078-4 (strip) or part number 61173-4 (loose piece). J3 pins are numbered and assigned as shown in Figure 3o8. Figure 3o5, Connector Locations, Rear View of Drive, shows the location of J3 on the disk drive. Figure 3o8 J3 Connector 3.9.3 Ground Connector The DC logic ground connector at the back of the HDA, J4, is a Faston-type connector, AMP part number 61761- 2. (See Figure 3o5.) The recommended mating connector is AMP part number 62187-1. If wire is used, the hole in J4 will accommodate a maximum wire size of 18 AWG. This ground is optional. The frame of the disk drive is insulated from the HDA and the DC logic ground. The frame is electrically Doc 1014995, Rev B 9 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual connected to the computer system chassis when mounted in a computer system. Normally the chassis, and hence the frame of the drive, is at earth ground. 3.10 MOUNTING AND INSTALLATION The disk drive may be mounted in any orientation. In any final mounting configuration, ensure that the operation of the three shock mounts, which isolate the HDA from the frame, is not restricted. Certain switching power supplies may emanate electrical noise, which can degrade the specified read error rate. For best results, orient the disk drive so that the PCB assembly is not adjacent to these noise sources. Eight mounting holes, four on the bottom and two on each side, are provided for mounting the disk drive into an enclosure. The size and location of these holes, shown in Figure 3o9, Mechanical Outline, Top and Side Views, are identical to industry standards. Overall height, width, and depth, along with other key dimensions, are shown in Figure 3o9, and Figure 3o10, Mechanical Outline, Isometric. Figure 3o9 Mechanical Outline, Top and Side Views Figure 3o10 Mechanical Outline, Isometric View The faceplate may be removed in installations that do not require it. Remove the two E-Rings and unplug the light-emitting diode (LED) cable from the PCB, as shown in Figure 3o11, Removable Faceplate. Figure 3o11 Removable Faceplate Doc 1014995, Rev B 10 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 3.11 SHIPPING At power down, the heads are automatically positioned over the nondata, dedicated landing zone on each disk surface. The automatic shipping lock solenoid is also engaged at this time. Maxtor ships the disk drive in single and multipack shipping containers. Users can ship the disk drive installed when the nonoperating shock and vibration limits are not exceeded. Doc 1014995, Rev B 11 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 4.0 USER SELECTABLE OPTIONS Jumper locations for Fab #1 (part numbers 1015664, 1015377, and 1014207) are identified in Figure 4o1, PCB Layout. Figure 4o1 PCB Layout Jumper locations for Fab #3 (part numbers 1018353 and 1018359) are identified in Figure 4o2, Fab #3 PCB Layout. Figure 4o2 Fab #3 PCB Layout Doc 1014995, Rev B 44 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual Jumper locations for Fab #6 PCB (part number 1019822) are identified in Figure 4o2A, Fab #6 PCB Layout. Figure 4o2A Fab #6 PCB Layout 4.1 SCSI ID SELECTION SCSI ID jumpers (JP35 through JP37) are provided to configure each drive with a SCSI device ID for use in multiple SCSI device configurations. Table 4o1, SCSI ID Jumpers, is a reference table for the jumper configuration, ID, and priority on the SCSI bus. An ID of seven is the highest priority in a multidevice configuration, and is usually used for the initiator. Table 4o1 SCSI ID Jumpers The drive is shipped from the factory with a SCSI ID of six. This assures that sufficient jumpers are available for any address except seven, which is usually reserved for the host system. The SCSI ID can also be set remotely through the auxiliary connector, as mentioned in Section 4.9, Auxiliary Connector. The SCSI ID jumpers must be removed for this option and any shorting required for a selected SCSI ID is done outside the drive. 4.2 DRIVE POWER UP OPTIONS In order to allow for system power supply constraints, which may require minimizing surge current when powering up multiple drives, three modes of start up sequencing are provided (see Table 4o2, Summary of Power Up Options). Doc 1014995, Rev B 45 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual Table 4o2 Summary of Power-Up Options Start by ID Sequence: With both JP14 and JP38 out, the drive delays spinup for approximately 11 to 13 seconds times the SCSI ID. This allows for power up sequencing. A RESET condition results in the drive delaying its spinup according to its SCSI ID. Wait for Start Command: With JP14 out and JP38 in, the drive does not spin up until the initiator issues a START STOP UNIT command with the start bit equal to one. Start When Power Applied: When JP14 is in and JP38 is out, the motor starts as soon as power is applied. The drive is shipped in this configuration. NOTE: If the drive has JP14 in and JP38 out, it does not respond to a START/STOP UNIT command. 4.3 TERMINATOR POWER SELECTION Power to the terminators may come internally from the drive, or externally from the SCSI bus. If JP41 is in, the terminator power is internal, from the drive. If JP34 is in, the terminator power is external, from the SCSI bus. With both JP41 and JP34 in, terminator power is provided from the drive and to the SCSI bus. Hence, the drive is at one end of the SCSI bus with terminators in place and is also supplying terminator power for the device at the other end of the SCSI bus (see Figure 3o4, Typical SCSI Configurations). Additional discussion of the termination of the SCSI bus and location of the drive on the bus is presented in Section 4.8, Interface Termination. As shipped, JP41 is in and the drive supplies power to the terminators. JP34 is out. 4.4 WRITE PROTECT OPTION The write protect jumper, JP18, is used to protect the data written to the drive. When the jumper is in, data cannot be written on the drive; only READ operations can be executed. Installation of JP18 grounds the Doc 1014995, Rev B 46 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual remote write protect line, J2-7, forcing WRITE PROTECT on, and prevents remote control through J2-7 on the ten-pin connector. As shipped from the factory, JP18 is out, allowing normal reading/writing, or optional remote control through the J2 connector. See Section 4.9, Auxiliary Connector, for details of the J2 connector. 4.5 PARITY OPTION The parity jumper, JP40, enables (in) or disables (out) odd parity detection in the drive. Odd parity is always generated by the drive and provided to the SCSI bus. The drive is shipped with JP40 in, enabling parity detection. 4.6 OTHER JUMPERS Other jumper positions are not user selectable and are shipped as indicated in Table 4o3 and Table 4o4, Other Jumper Pin Assignments. The user should avoid changing these jumpers, or improper operation may occur. Table 4o3 Other Jumper Pin Assignments, Fab #1 Table 4o4 Other Jumper Pin Assignments, Fab #3 NOTE: Positions JP1, JP2, JP3, JP8, JP9, JP32 and JP33 are eliminated in the Fab #6 PCB. 4.7 SECTOR SIZE The drive is shipped from the factory formatted with 512 byte sectors. Configuration parameters are default values in all optional cases. It is recommended that users reformat the drive with the user's sector size, Doc 1014995, Rev B 47 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual using the P list, and the user's configuration parameters. 4.8 INTERFACE TERMINATION SCSI devices require proper interface termination. The first device and the last physical, not SCSI ID, device on the daisy chain SCSI bus must be terminated (see Figure 3o4, Typical SCSI Configurations). Remove the terminators from any devices in between. For instance, if the drive is in the middle of the string, remove its terminators. The disk drive terminators are shown in Figure 4o1, PCB Layout and Figure 4o2, Fab #3 PCB Layout. Pin one is on the end of the terminator that is marked with a dot in Figure 12, PCB Layout. The orientation of the terminator in the PCB is also shown. RN17 through RN19 all look like the side view inset in the figure. Note that the hole/solder pad for pin one has a square outline, whereas all others have a round outline. Pin one is oriented toward the power connector, J3. NOTE: All terminator packs (RN17 through RN19) must be oriented with the dot toward J3 for the drive to work properly. As shipped, interface signal lines are terminated with three removable 220/330 ohm resistor network packs. The devices driving the drive inputs should be open collector devices capable of sinking at least 48 milliamps at a voltage level of less than 0.5 volts DC (7438 or equivalent). Devices receiving the drive outputs should be of SCHMITT trigger type to improve noise immunity, 74LS14, 74LS240, or equivalent. The initiator should not load the bus with more than one standard low power Schotky transistor-transistor logic (LSTTL) input load per line, and should terminate all signals with 220/330 ohm terminators. 4.9 AUXILIARY CONNECTOR Connector J2 in Figure 3o5, Connector Locations, Rear View of Drive, is an auxiliary connector providing remote control of write protect and SCSI ID, and ability to carry the LED signal beyond the drive. The Doc 1014995, Rev B 48 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual auxiliary connector is a Berg 68451-121, ten-pin part. The mating connector is a 3M 3473-6010 part. Pin assignments are as in Table 4o5, Auxiliary Connector Pin Assignments (also see Figure 3o5, Connector Locations, Rear View of Drive). Table 4o5 Auxiliary Connector Pin Assignments When pin seven is connected to ground, the drive is protected from writing, regardless of commands sent to the drive via the SCSI interface. The write protect signal may also be connected to an LED whose (+) terminal is tied to a voltage source, so that the LED is illuminated when the pin is grounded and the drive is in write protect mode. For remote write protect, JP18 must be removed (see Section 4.4, Write Protect Option). When an LED is connected to pin one (+) and pin five (- ), that LED functions in the same manner as the LED which is mounted on the drive's front faceplate. This is typically used in cases where the drive is mounted in a position where the drive's LED is not visible and the faceplate is removed. Pin three is not present so that users can key the mating connector. Pin three of the mating connector should be blocked for this purpose. The SCSI ID of the drive may be programmed remotely by selectively connecting pins six, eight, and ten to ground, or leaving them open. The various combinations are shown in Table 4o6, Remote SCSI ID Programming Combinations. Table 4o6 Remote SCSI ID Programming Combinations SCSI ID jumpers (JP35 through JP37) must be removed for the remote SCSI ID option. Doc 1014995, Rev B 49 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual Doc 1014995, Rev B 51 Maxtor Corporation Doc 1014995, Rev B 51 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 5.0 LOGICAL CHARACTERISTICS The following information is based on the ANSI SCSI standard (X3.131-1986), and the Common Command Set (CCS). For more information, refer to these publications. 5.1 POWER UP AND BUS RESET The following sections describe the sequence of events during drive self-test and initialization sequences. The self-test sequence occurs before the initialization sequence. 5.1.1 Self-Test Sequence The self-test sequence is executed upon drive power up. The self-test sequence verifies the integrity of the hardware. This test is not an exhaustive hardware diagnostic, but checks the major components for full function. The drive does not respond to SELECTION for the first 250 milliseconds of the self-test. After 250 milliseconds have elapsed, the drive responds to SELECTION with a BUSY status for 2 to 3 seconds: this time is spent completing the remaining self-test sequences, initializing the SCSI circuitry, and enabling the SCSI interrupts. After the self-test is complete and the interface circuitry is initialized (approximately 3 seconds), the drive responds to SELECTION with CHECK CONDITION status and the appropriate sense data (i.e., UNIT ATTENTION, POWER ON/RESET condition). The self-test sequence consists of the following events: o Hardware Reset Test - This routine tests the microprocessor, buffer controller, disk formatter, and SCSI reset latch for the proper power up condition. If any of these tests fail, the drive can only be reset by a POWER UP condition. o Microprocessor Test - This routine tests the microprocessor's internal memory, timers, and register bank switching for proper operation. o Erasable Programmable Read Only Memory (EPROM) Checksum Test - This routine performs a checksum calculation on the controller firmware EPROM and compares it against the checksum stored in the EPROM. Doc 1014995, Rev B 52 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual o Buffer Controller Test - This routine tests the buffer controller for proper operation. All the registers are tested and the chip is engaged to access random-access memory (RAM). o Dynamic RAM Test - This routine tests the dynamic RAM by writing and reading different patterns to memory. In addition, the buffer controller is tested for proper refresh operation and parity detection. This test also tests the memory parity interrupt. o Disk Formatter Test - This routine tests the disk formatter chip by writing and reading all possible patterns to each of the disk formatter chip registers. After the registers are tested, the interrupts are tested to ensure that the formatter chip generates an interrupt when a command completes. o SCSI Controller Test - This routine tests the SCSI controller chip by executing the chip diagnostic command. After the diagnostic test completes, the interrupts are tested to ensure that the SCSI chip generates an interrupt when a command completes. Finally, the registers are tested by writing and reading all possible patterns to each of the SCSI controller chip registers. If any portion of the self-test fails, except the hardware reset test, the drive can be reset by a SCSI bus RESET condition or a power up RESET condition. The failure of the hardware reset test is considered a catastrophic failure and the controller can only be reset from such a failure by a power up RESET condition. 5.1.2 Initialization Sequence The initialization sequence is executed for any one of the following three reasons: o a POWER UP condition occurs o the SCSI bus -RST signal is asserted o a BUS DEVICE RESET message (on the SCSI bus) is received After a successful initialization, the first command from each initiator is terminated with CHECK CONDITION status. The sense data is set to UNIT ATTENTION/POWER ON, RESET, or BUS DEVICE RESET OCCURRED. Until the drive has spun up, any command sent by an initiator which requires a ready drive for GOOD Doc 1014995, Rev B 53 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual completion status, is terminated with CHECK CONDITION status. The sense data is set to DRIVE NOT READY. Commands that may complete with GOOD status prior to the drive being ready are REQUEST SENSE, INQUIRY, RESERVE UNIT, RELEASE UNIT, START STOP UNIT, READ BUFFER, and WRITE BUFFER. Note that the INQUIRY command results in the general model designation (XT-4000S) being returned prior to the drive being READY. Afterwards, the specific model number is returned. After a RESET CONDITION occurs, the first command sent by the initiator that causes a medium access loads the saved mode parameters into the current mode parameters. 5.1.3 Self Configuration When the drive powers up or a RESET CONDITION occurs, it configures itself from the parameters and information saved on the medium from the previous format operation. This includes the model number returned in the INQUIRY command and the mode parameters. Refer to 7.4 MODE SELECT, and 7.5 MODE SENSE later in this manual, which describe the mode parameters. 5.1.4 UNIT ATTENTION Condition A UNIT ATTENTION condition is generated for each initiator whenever the drive has been reset (by a BUS DEVICE RESET message or a RESET condition), or when the mode parameters have been changed by other initiators. The UNIT ATTENTION condition persists for each initiator until that initiator issues any command other than INQUIRY. The generation of a UNIT ATTENTION condition supercedes any pending sense data. If an INQUIRY command is received from an initiator with a pending UNIT ATTENTION condition, the last UNIT ATTENTION generated condition is reported. The drive returns the INQUIRY data and does not clear the UNIT ATTENTION condition. 5.2 BUFFERING SCHEME The drive has 64 kilobytes of RAM. The drive uses 4 kilobytes of RAM for a scratchpad, 16 kilobytes of RAM Doc 1014995, Rev B 54 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual for a write buffer and 45,056 bytes of RAM for a data buffer. The drive will use the data buffer for read-ahead cache if this feature is enabled. The drive will use the data buffer for write operations if the transfer length exceeds 16 kilobytes. Normally, the drive uses the split buffering, that is, separate buffers for write operations (write buffer) and read operations (data buffer) to optimize throughput. This is particularly advantageous in systems that perform extensive read-modify-write processes. The buffer controller is dual parted, allowing simultaneous transfers to and from the initiator and the medium. Doc 1014995, Rev B 55 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual Doc 1014995, Rev B 1 Maxtor Corporation Doc 1014995, Rev B 1 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 6.0 SCSI PHASES AND MESSAGES The condition on the SCSI bus can be divided into eight distinct phases: BUS FREE phase ARBITRATION phase SELECTION phase RESELECTION phase COMMAND phase \ DATA phase \ These phases are collectively termed the STATUS phase / Information Transfer phases. MESSAGE phase / The various phases are defined by the state of the SCSI bus signals -SEL, -BSY, -MSG, -C/D, -I/O, -REQ, and -ACK (see Table 6o1, Signal States and Bus Phases). The SCSI bus can never be in more than one phase at a time. Figure 6o1, Signal Sequence Chart for SCSI Phases, shows the signal sequence of the eight phases. See the figure while reading the following sections. NOTE: The condition of the control lines for information transfer is valid only when the SCSI bus - REQ signal is asserted; therefore, the disk drive is not "in a phase" unless the --REQ signal is asserted. Table 6o1 Signal States and Bus Phases Figure 6o1 Signal Sequence Chart for SCSI Phases 6.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 occurs when the drive releases -BSY following a RESET condition or certain message phases (i.e., COMMAND COMPLETE and DISCONNECT). Doc 1014995, Rev B 2 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 6.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 (drive). The arbitrating device waits for the BUS FREE phase to occur. It then asserts its own SCSI ID bit and -BSY. The arbitrating device then examines the data bus. If a higher priority SCSI ID bit exists on the data bus, the arbitrating device loses arbitration and releases -BSY and the data bus. Otherwise, the arbitrating device wins arbitration and asserts -SEL. 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 SELECTION PHASE If the initiator wins arbitration, it enters the SELECTION phase by continuing to assert its own initiator SCSI ID bit and asserting the drive's SCSI ID bit. The initiator then negates -BSY (-SEL remains asserted by the initiator). If the initiator expects the drive to disconnect/reconnect, the initiator must assert the -ATN line prior to the negation of -BSY. If the initiator does not support arbitration, then the SELECTION phase is entered from the BUS FREE phase. The initiator asserts only the disk drive's SCSI ID bit and asserts -SEL. During the SELECTION phase, the drive maintains a negated -I/O line so that the SELECTION phase may be distinguished from the RESELECTION phase. The drive determines that it has been selected by detecting its SCSI ID bit asserted on the bus (as determined by the ID jumpers, see 4.1 SCSI ID Selection earlier in this manual). If more than two IDs are asserted on the data bus, or parity is enabled and bad parity is detected, the drive does not respond to the SELECTION phase. The drive asserts -BSY after detecting that it has been selected. At this point, the initiator must negate - SEL and may remove the IDs from the data bus. Doc 1014995, Rev B 3 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 6.4 RESELECTION PHASE After disconnecting to free the bus for other activity, the drive reconnects when it is ready to transfer data or status across the bus. The drive arbitrates for the bus and, if it wins, reselects the initiator. The RESELECTION phase is similar to the SELECTION phase, except that the -I/O signal line is asserted. The drive asserts its own SCSI ID bit and the SCSI ID bit of the initiator which is being reselected. The drive releases -BSY (-BSY was already asserted during arbitration) and continues to assert -SEL. The initiator detects that it has been selected and responds by asserting -BSY. The drive detects that the -BSY signal is now true and responds by also asserting -BSY (at this point, both the initiator and the drive are holding the -BSY signal low). The drive then releases -SEL and the initiator responds by releasing - BSY (-BSY is still being asserted by the drive). See Figure 6o1, Signal Sequence Chart for SCSI Phases. After reselecting the initiator, the drive sends an IDENTIFY message to identify itself to the initiator. If the initiator does not respond to the reselection within a selection time-out delay (see Table 6o2, SCSI Bus Timing), the drive releases the bus and then rearbitrates for the bus, trying to reselect the initiator. It does this up to 255 times, or until the initiator responds or the drive is reset. NOTE: The drive does not disconnect if, during the SELECTION phase, the initiator does not set its initiator SCSI device ID on the bus and if the initiator does not send an IDENTIFY message out (with bit six asserted) to the drive. Table 6o2 SCSI Bus Timing 6.5 INFORMATION TRANSFER PHASES The -C/D, -I/O, and -MSG signals are used to distinguish between the different information transfer phases (COMMAND, DATA, STATUS, and MESSAGE). The drive controls these three signals, and, therefore, controls all changes from one phase to another. The initiator Doc 1014995, Rev B 4 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual can request a MESSAGE OUT phase by asserting -ATN, and the drive can cause a BUS FREE phase by negating/releasing -SEL and -BSY (and all other SCSI bus signals). The information transfer phases use one or more -REQ/- ACK handshakes to control the information transfer. Each -REQ/-ACK handshake allows the transfer of one byte of information. During the information transfer phases, -BSY remains true and -SEL remains false. Additionally, during the information transfer phases, the drive continuously envelopes the -REQ/-ACK handshake(s) with -C/D, -I/O, and -MSG in such a manner that these control signals are valid for a bus settle delay (see Table 6o2, SCSI Bus Timing) before the assertion of -REQ of the first handshake, and remain valid until the negation of -ACK at the end of the last handshake. 6.5.1 Asynchronous Information Transfer The drive controls the direction of information transfer by means of the -I/O signal. When -I/O is true, information is transferred from the drive to the initiator. When -I/O is false, information is transferred from the initiator to the drive. If -I/O is true (transfer to the initiator), the drive first asserts -DB (7-0, P) to their desired values, delays at least one deskew delay, plus a cable skew delay (see Table 6o2, SCSI Bus Timing), and then asserts -REQ. -DB (7-0, P) remain valid until -ACK is true at the drive. The initiator reads -DB (7-0, P) after -REQ is true, then signals its acceptance of the data by asserting -ACK. When -ACK becomes true at the drive, the drive may change or release -DB (7-0, P), and negates -REQ. After -REQ is false, the initiator then negates -ACK. After -ACK is false, the drive may continue the transfer by asserting -DB (7-0, P) and - REQ as described above. If -I/O is false (transfer to the drive), the drive requests information by asserting -REQ. The initiator drives -DB (7-0, P) to their desired values, delays at least one deskew delay, plus a cable skew delay (see Table 6o2, SCSI Bus Timing), and asserts -ACK. The initiator continues to drive -DB (7-0, P) until -REQ is false. When -ACK becomes true at the drive, the drive reads -DB (7-0, P) and then negates -REQ. When -REQ becomes false at the initiator, the initiator may Doc 1014995, Rev B 5 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual change or release -DB (7-0, P), and negates -ACK. The drive may continue the transfer by asserting -REQ as described above. 6.5.2 Synchronous Data Transfer Synchronous data transfer is optional, and may be used only if previously agreed to by the initiator and drive through the message system (see 6.6.16 SYNCHRONOUS DATA TRANSFER REQUEST Message later in this chapter). The messages determine the use of synchronous mode by the initiator and the drive, and establish a -REQ/-ACK offset and a transfer period. The synchronous mode, once established, remains in effect for all DATA phases until a RESET condition or power cycle occurs, or until one of the devices elects to modify the agreement. The -REQ/-ACK offset specifies the maximum number of - REQ pulses that can be sent by the target in advance of the number of -ACK pulses received from the initiator, thereby establishing a pacing mechanism. If the number of -REQ pulses exceeds the number of -ACK pulses by the -REQ/-ACK offset, the drive does not assert -REQ until the next -ACK pulse is received. A requirement for successful completion of the DATA phase is that the number of -ACK and -REQ pulses be equal. The transfer period specifies the minimum time allowed between leading edges of successive -REQ and -ACK pulses. The drive asserts the -REQ signal for a minimum of one assertion period. The drive waits at least the greater of a transfer period from the last transition of -REQ to true, or the minimum of a negation period from the last transition of -REQ to false before the disk drive asserts the -REQ signal. The initiator sends one pulse of the -ACK signal for each -REQ pulse received. The initiator asserts the - ACK signal for a minimum of one assertion period. The initiator waits at least the greater of a transfer period from the last transition of -ACK to true, or for a minimum of a negation period from the last transition of -ACK to false, before the initiator asserts the -ACK signal. If -I/O is true (transfer to the initiator), the drive first asserts -DB (7-0, P) to their desired values, waits at least one deskew delay, plus one cable skew Doc 1014995, Rev B 6 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual delay (see Table 6o2, SCSI Bus Timing), and then asserts -REQ. -DB (7+0, P) are held valid for a minimum of one deskew delay, plus one cable skew delay, plus one hold time (see Table 6o2) after the assertion of -REQ. The drive asserts -REQ for a minimum of one assertion period. The drive may then negate -REQ and change or release -DB (7-0, P). The initiator reads the value on -DB (7-0, P) within one hold time of the transition of -REQ to true. The initiator then responds with a -ACK pulse. If -I/O is false (transfer to the drive), the initiator transfers 1 byte for each -REQ pulse received. After receiving a -REQ pulse, the initiator first asserts -DB (7-0, P) to the desired value, delays at least one deskew delay, plus one cable skew delay (see Table 6o2, SCSI Bus Timing), and then asserts -ACK. The initiator holds -DB (7-0, P) valid for at least one deskew delay, plus one cable skew delay, plus one hold time (see Table 6o2) after the assertion of -ACK. The initiator asserts -ACK for a minimum of one assertion period. The initiator may then negate -ACK and may change or release -DB (7-0, P). The drive reads the value of -DB (7-0, P) within one hold time of the transition of -ACK to true. 6.5.3 COMMAND Phase After being selected and processing the IDENTIFY message, if any, the drive normally switches to the COMMAND phase. The 6 or 10 bytes of command information (command descriptor block, or CDB) are transferred from the initiator to the drive. If enabled, parity is checked on each command byte. If bad parity is detected, the command is aborted. The drive switches to the STATUS phase, returns CHECK CONDITION status, and sets the sense data to ABORTED COMMAND/PARITY ERROR for that initiator. The drive then switches to the MESSAGE phase, returns a COMMAND COMPLETE message, and goes to the BUS FREE phase. After each command byte transfer, the -ATN bit is checked; if the -ATN line is active the drive switches to the MESSAGE OUT phase and receives and then acts on the message. Doc 1014995, Rev B 7 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 6.5.4 DATA IN and DATA OUT Phases In commands that require a DATA phase (READ, WRITE, MODE SELECT, etc.), the drive enters a DATA phase. During the DATA IN phase, data is transferred from the drive to the initiator. During the DATA OUT phase, data is transferred from the initiator to the drive. If bus parity is enabled and bad parity is detected, the command is aborted. The controller switches to the STATUS phase, returns CHECK CONDITION status, and sets the sense data to ABORTED COMMAND/PARITY ERROR for that initiator. The drive then switches to the MESSAGE phase, returns a COMMAND COMPLETE message, and goes to the BUS FREE phase. After each block, or group of blocks, is transferred, the -ATN bit is checked; if set, the disk drive switches to the MESSAGE phase to receive, and then act on, the message. 6.5.5 STATUS Phase After completing any command (successfully or unsuccessfully, as indicated by the status byte), the drive switches to the STATUS phase and returns the status byte to the initiator. The drive also switches to the STATUS phase for reporting a BUSY, INTERMEDIATE- GOOD, or RESERVATION CONFLICT status. The drive does not go to the STATUS phase if it is cleared by a BUS DEVICE RESET or ABORT message, or by a "hard" RESET condition. Following the STATUS phase, the drive enters the MESSAGE phase. The format of the status byte containing the command completion information is defined in Table 6o3, Status Byte. Table 6o3 Status Byte The reserved bits are set aside for future standardization and is always set to zero. The status code field is used to specify the status of the completed command. Table 6o4, Status Codes, gives Doc 1014995, Rev B 8 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual the bit values for the status codes returned by the disk drive. Table 6o4 Status Codes Descriptions of the status codes are given below: GOOD - This status byte indicates that the operation completed as expected. CHECK CONDITION - Any error, exception, or abnormal condition, that causes sense data to be set causes a CHECK CONDITION status. The REQUEST SENSE command should be issued following a CHECK CONDITION status to determine the condition. NOTE: If any command other than REQUEST SENSE or INQUIRY is issued following a CHECK CONDITION, the sense data is lost. BUSY - The drive returns this status whenever it is unable to accept a command. For example, the drive returns this status when it is busy doing self-tests and self configuration after being powered up or reset, or if the drive is busy executing a previously received command. INTERMEDIATE-GOOD - This status is 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 the INTERMEDIATE-GOOD status is not returned, the chain of linked commands is broken; no further commands in the series are executed. RESERVATION CONFLICT - This status is returned whenever an initiator attempts to access a drive that is reserved by another initiator. 6.5.6 MESSAGE Phase The MESSAGE phase is used to transfer information about exception conditions between the initiator and the drive. The MESSAGE IN and MESSAGE OUT phases are Doc 1014995, Rev B 9 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual discussed below, followed by descriptions of the SCSI messages. Message codes supported by the drive are shown in Table 6o5, Message Codes. Table 6o5 Message Codes 6.6 SCSI MESSAGES 6.6.1 MESSAGE IN Phase During the MESSAGE IN phase, a message is transferred from the drive to the initiator. The drive may enter this phase at any time. 6.6.2 MESSAGE OUT Phase During the MESSAGE OUT phase, a message is transferred from the initiator to the drive. The initiator requests that the drive enter the MESSAGE OUT phase by asserting the -ATN line. The drive frequently monitors the -ATN line and enters the MESSAGE OUT phase at its earliest convenience in response to the initiator's assertion of -ATN. After being selected, the drive sets the control lines in preparation for the MESSAGE OUT phase. If the initiator has -ATN asserted, the drive requests a message from the initiator by asserting -REQ. The first message is expected to be an IDENTIFY message, but the drive also accepts a BUS DEVICE RESET, or an ABORT message. If any other message is received the drive goes to the BUS FREE phase. (See 6.6.16 SYNCHRONOUS DATA TRANSFER REQUEST Message later in this chapter for additional information.) If, during the selection, the initiator does not assert its ID on the bus, the drive does not examine the -ATN signal. The drive assumes the initiator cannot support any message except COMMAND COMPLETE, and does not support DISCONNECT-RECONNECT. The drive also assumes the initiator ID is zero, and saves any status for that initiator as initiator zero. Doc 1014995, Rev B 10 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual NOTE: If the initiator expects the drive to disconnect-reconnect, then a MESSAGE OUT phase (the IDENTIFY message with bit six true) must occur immediately following a SELECTION phase which had both the initiator's, and the drive's, SCSI device ID asserted on the bus. 6.6.3 COMMAND COMPLETE (00h) The COMMAND COMPLETE message is sent from the drive to the initiator to indicate that the execution of a command (or a series of linked commands) has terminated, and that valid status has been sent to the initiator. After sending this message successfully, the drive goes to the BUS FREE phase by releasing - BSY, unless the initiator sets the -ATN line. NOTE: The command may or may not have been executed successfully, as indicated in the status. If the initiator rejects this message with a MESSAGE REJECT message, the drive goes to the BUS FREE phase and does not consider this an error. 6.6.4 SAVE DATA POINTER (02h) When doing disconnects, the SAVE DATA POINTER message is sent before every DISCONNECT message . If the initiator rejects this message with a MESSAGE REJECT message, the drive does not disconnect. 6.6.5 RESTORE POINTERS (03h) The RESTORE POINTERS message is sent from the drive to the initiator. The message acts to restore to the active state the most recently saved pointers for the currently attached logical unit. Pointers to the command, data, and status locations for the logical unit are restored to the active pointers. Command and status pointers are restored to the beginning of the present command and status areas. The data pointer is restored to the value at the beginning of the data area, or to the value at the point at which the last SAVE DATA POINTERS message occurred for that logical unit. If the initiator rejects this message with a MESSAGE REJECT message, the drive immediately terminates the present command with a CHECK CONDITION status and sets Doc 1014995, Rev B 11 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual the sense data to HARDWARE ERROR/MESSAGE REJECT ERROR (04h, 43h) for that initiator. When the drive reselects the initiator, the IDENTIFY message implies that the initiator should restore its pointers. Therefore, this message is not normally used in reselection. 6.6.6 DISCONNECT (04h) This message is sent by the drive to inform the initiator that the present physical path is about to be broken (the drive plans to disconnect by releasing - BSY), but that a later reconnect is required in order to complete the current operation. This message does not cause the initiator to save the data pointer. If the initiator rejects this message with a MESSAGE REJECT message, the drive does not disconnect. 6.6.7 INITIATOR DETECTED ERROR (05h) The INITIATOR DETECTED ERROR message is issued by an initiator to inform the drive that an error has occurred during an operation. This message should be sent by the initiator when a parity error is detected. 6.6.8 ABORT (06h) The ABORT message is sent from the initiator to the drive to clear the present operation. All pending data and status for the issuing initiator is cleared from the drive, and the drive goes to the BUS FREE phase. Pending data and status for other initiators is not cleared. No status or ending message is sent for the operation. It is not an error to issue this message to a logical unit that is not currently performing an operation for the initiator. 6.6.9 MESSAGE REJECT (07h) The MESSAGE REJECT message is sent from either the initiator or the drive to indicate that the last message received was inappropriate or has not been implemented. To create a MESSAGE REJECT message the initiator asserts -ATN prior to releasing -ACK; the handshake of Doc 1014995, Rev B 12 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual the message is then rejected. When the drive sends this message it changes to the MESSAGE IN phase and sends this message prior to requesting additional message bytes from the initiator. This provides an interlock so that the initiator can determine which message is rejected. If the initiator responds to this message with a MESSAGE REJECT message, the drive immediately terminates the present command with a CHECK CONDITION status and sets the sense data to HARDWARE ERROR/MESSAGE ERROR (04h, 43h) for that initiator. 6.6.10 NO OPERATION (08h) The initiator sends the NO OPERATION message when it has no valid message for the drive request. The drive receives and ignores this message. 6.6.11 MESSAGE PARITY ERROR (09h) The initiator sends a MESSAGE PARITY ERROR message to indicate a parity error on one or more bytes of the last message sent from the drive. The initiator asserts -ATN prior to releasing -ACK for the last byte of the message in error, so that the drive knows which message is in error. The drive resends the message. If the Message Parity Error is received again, the drive goes to the BUS FREE phase and aborts the current command for that initiator. No further reconnection is attempted, and neither STATUS nor COMMAND COMPLETE messages are returned for the command. The sense data is set to ABORTED COMMAND/SCSI PARITY ERROR (04h, 47h) for that initiator. 6.6.12 LINKED COMMAND COMPLETE (0Ah) The LINKED COMMAND COMPLETE message is sent to the initiator to indicate that the execution of a linked command has completed and that the status has been sent. If the initiator responds with a MESSAGE REJECT message, the drive goes to the BUS FREE phase and does not execute the next command. The sense data is set to HARDWARE ERROR/MESSAGE ERROR (04h, 43h) for that initiator. Doc 1014995, Rev B 13 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 6.6.13 LINKED COMMAND COMPLETE (WITH FLAG) (0Bh) The LINKED COMMAND COMPLETE (WITH FLAG) message is sent to the initiator to indicate that the execution of a linked command (with the flag bit set to one) has completed and that the status has been sent. If the initiator responds with a MESSAGE REJECT message, the drive goes to the BUS FREE phase and does not execute the next command. The sense data is set to HARDWARE ERROR/MESSAGE ERROR (04h, 43h). 6.6.14 BUS DEVICE RESET (0Ch) An initiator may send the BUS DEVICE RESET message to the drive to clear all current commands on that SCSI device. The drive clears all commands, goes through its initial power up checks, its self configuration, and goes to the BUS FREE condition ("hard" RESET). 6.6.15 IDENTIFY (C0h/80h) The IDENTIFY message is sent by an initiator after it selects a drive. It is sent by the drive as the first message after a reconnection. In addition, this message specifies that the sender supports some or all of the optional messages. The bits in Table 6o6, IDENTIFY Message Codes, show that the only truly changeable bit is bit six; therefore, the command can have only two values: C0h if the disconnect/reconnect feature is supported, or 80h if the disconnect/reconnect feature is not supported. Table 6o6 IDENTIFY Message Codes If the initiator responds to this message with a MESSAGE REJECT message, the drive immediately terminates the present command with a CHECK CONDITION status and sets the sense key/error code to HARDWARE ERROR/Message Reject Error (04h, 43h) for that initiator. NOTE: The drive does not disconnect if, during the SELECTION phase, the initiator does not set its initiator SCSI device ID on the bus, and if the Doc 1014995, Rev B 14 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual initiator does not send an IDENTIFY message out (with bit six set) to the drive. 6.6.16 SYNCHRONOUS DATA TRANSFER REQUEST Message (01h) The drive can, optionally, perform synchronous data transfers, as discussed in 6.5.2 Synchronous Data Transfer earlier in this chapter. A pair of SYNCHRONOUS DATA TRANSFER REQUEST messages (see Table 6o7 SYNCHRONOUS DATA TRANSFER REQUEST Byte Values) are exchanged between an initiator and the drive under the following conditions: o a SCSI device that supports synchronous data transfer recognizes it has not communicated with the other SCSI device since receiving the last "hard" RESET o A SCSI device that supports synchronous data transfer recognizes it has not communicated with the other SCSI device since receiving a BUS DEVICE RESET message SCSI devices may also exchange messages to establish synchronous data transfer when requested to do so. The messages exchanged establish the transfer period and the -REQ/-ACK offset. Table 6o7 SYNCHRONOUS DATA TRANSFER REQUEST Byte Values The transfer period is defined as the minimum time between the leading edge of a -REQ pulse and of its corresponding -ACK pulse. The -REQ/-ACK offset is defined as the maximum number of -REQ pulses that may be outstanding before the corresponding -ACK pulse is received at the drive. A -REQ/-ACK offset value of zero indicates asynchronous mode; a value of 0Fh yields the maximum number of outstanding -REQ pulses supported (fifteen). If the initiator recognizes that negotiation is required, it asserts -ATN and, if the drive implements message transfers, sends a SYNCHRONOUS DATA TRANSFER REQUEST message, specifying the -REQ/-ACK offset and minimum transfer period. The -REQ/-ACK offset is Doc 1014995, Rev B 15 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual chosen to meet the data handling requirements of the target, while the minimum transfer period is chosen to meet the data handling requirements of the initiator. The drive responds in any of the ways outlined in Table 6o8, Drive Responses to the SYNCHRONOUS DATA TRANSFER REQUEST Message. Table 6o8 Drive Responses to the SYNCHRONOUS DATA TRANSFER REQUEST Message The implied agreement remains in effect until a BUS DEVICE RESET message is received, a "hard" RESET condition occurs, or until one of the two SCSI devices elects to modify the agreement. Renegotiation at every selection is not recommended since a significant performance impact is likely. The default mode of data transfer is asynchronous. The default mode is entered at power on, after a BUS DEVICE RESET message, or after a "hard" RESET condition. The SYNCHRONOUS DATA TRANSFER REQUEST message exchange can only take place following a SELECTION phase that includes the SCSI IDs for both the initiator and the target. Violation of this rule may make data transfer impossible owing to disagreements among SCSI devices about the data transfer mode. 6.7 ERROR CONDITIONS Under several error conditions, the drive changes the phase to BUS FREE without correctly terminating the command (i.e., no DISCONNECT or COMMAND COMPLETE message is sent). The drive clears all information regarding the command, except sense data (if any), and does not attempt to reconnect, or in any other way terminate, the command. The initiator must assume that this is a catastrophic failure and return the error to the system software. Sense data may or may not be valid when this condition occurs. If the initiator issues a REQUEST SENSE command and the returned sense key and additional sense code are not zero, the sense data is valid. Doc 1014995, Rev B 16 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 6.7.1 MESSAGE OUT Phase Parity Error If the drive detects a parity error during the MESSAGE OUT phase it retries the MESSAGE OUT phase once using the following sequence: 1. Continue the -REQ/-ACK handshake until the initiator negates -ATN (receives all of the message bytes). 2. Instruct the initiator to resend all of the message bytes sent during the previous MESSAGE OUT phase by not changing the phase and asserting -REQ. 3. The initiator then resends all of the previous message bytes. If, after one retry, the message is still not received correctly, the drive processes the error using one of the following sequences: o If an IDENTIFY message is not received, the drive immediately goes to the BUS FREE phase. No sense data code information is set for this type of error. o If an IDENTIFY message is received, the drive terminates the present command with a CHECK CONDITION status and sets the sense data to ABORTED COMMAND/SCSI PARITY ERROR (0Bh/47h). This error does not prevent the initiator from retrying the command. 6.7.2 COMMAND Phase Parity Error When the drive detects a parity error during the COMMAND phase, it retries the COMMAND phase one time using the following sequence: 1. Send the initiator a RESTORE POINTERS message to reset the pointers to the start of the command. 2. Attempt to receive the entire command again. If, after one retry, the command is still not received successfully, the drive aborts the command using one of the following sequences: o If the initiator does not send an IDENTIFY message, the drive immediately goes to the BUS FREE phase. No sense data information is sent for this type of error. Doc 1014995, Rev B 17 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual o If the drive receives an IDENTIFY message, it terminates the command with a CHECK CONDITION status and sets the sense data to ABORTED COMMAND/SCSI PARITY ERROR (0Bh/47h). This error does not prevent the initiator form retrying the command. 6.7.3 DATA OUT Phase Parity Error If the drive detects a parity error during the DATA OUT phase, it terminates the command with a CHECK CONDITION status, and sets the sense data to ABORTED COMMAND/SCSI PARITY ERROR(0Bh/47h). This error does not prevent the initiator from retrying the command. 6.7.4 Initiator Detected Error If the drive receives an initiator detected error message at any time during the command, except during the STATUS phase or COMMAND COMPLETE message, it terminates the current command with a CHECK CONDITION status and sets the sense data to ABORTED COMMAND/INITIATOR DETECTED ERROR MESSAGE RECEIVED(0Bh/48h). This error does not prevent the initiator from retrying the command. If the initiator sends an initiator detected error message immediately after the STATUS phase, the drive sends a RESTORE POINTERS message and resends the status. If the initiator sends another initiator detected error message in response to the resent status, the drive immediately goes to the BUS FREE phase. The sense data is set to ABORTED COMMAND/INITIATOR DETECTED ERROR MESSAGE RECEIVED(0Bh/48h). This error does not prevent the initiator from retrying the command. If the initiator sends an initiator detected error message immediately after the COMMAND COMPLETE message is sent, the drive immediately goes to the BUS FREE phase. The sense data is set to ABORTED COMMAND/INITIATOR DETECTED ERROR MESSAGE RECEIVED(0Bh/48h). This error does not prevent the initiator from retrying the command. 6.7.5 REJECTED Message When the drive receives a MESSAGE REJECT message from the initiator, it resends the original message. If the Doc 1014995, Rev B 18 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual message is rejected again, the drive takes one of the following actions, based on which message was rejected: o COMMAND COMPLETE - If the rejected message is a COMMAND COMPLETE message, the disk drive goes to the BUS FREE phase and does not consider this an error. o DISCONNECT - If the rejected message is a DISCONNECT message, the drive does not disconnect from the initiator and continues the current command. This condition does not preclude the drive from attempting to disconnect at a later time. NOTE: The drive does not send a DISCONNECT message to an initiator which does not support the disconnect/reconnect option. o IDENTIFY (Reconnect) - If the rejected message is an IDENTIFY message, the drive immediately goes to the BUS FREE phase and aborts the current SCSI command. No further reconnection is attempted, and no STATUS or COMMAND COMPLETE message is sent for the command. The sense data is set to HARDWARE ERROR/MESSAGE ERROR(04h/43h). o LINKED COMMAND COMPLETE - If the rejected message is a LINKED COMMAND COMPLETE message, the drive immediately goes to the BUS FREE phase and does not read the next command in the linked list. The sense data is set to HARDWARE ERROR/MESSAGE ERROR(04h/43h). o MESSAGE REJECT - If the rejected message is a MESSAGE REJECT message, the drive immediately terminates the present command with a CHECK CONDITION status and sets the sense data to HARDWARE ERROR/ MESSAGE ERROR (04h/43h). o RESTORE POINTERS - Since the RESTORE POINTERS message is only used in an error recovery or retry situation, if the rejected message is a RESTORE POINTERS message, the drive aborts the recovery or retry attempt, assumes the error is unrecoverable, and completes the command according to the error condition. o SAVE DATA POINTER - The drive assumes the initiator does not support this message and does not attempt to disconnect from the bus during this command. Doc 1014995, Rev B 19 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 6.7.6 Initiator MESSAGE PARITY ERROR When the drive receives a MESSAGE PARITY ERROR message from the initiator, it retries the operation by resending the original message. If the message cannot be sent successfully, the drive immediately goes to the BUS FREE phase and aborts the current SCSI command. No further reconnection is attempted and no STATUS or COMMAND COMPLETE message is returned for the command. The sense data is set to ABORTED COMMAND/SCSI PARITY ERROR (0Bh/47h). 6.7.7 RESELECTION Time-Out When the drive attempts to reselect the initiator and the initiator does not respond within a selection time- out delay (as defined in the SCSI standard), the reselection is aborted. The drive attempts the reselection 254 more times and, if all attempts fail, the drive aborts the current SCSI command. No further reconnection is attempted, and no STATUS or COMMAND COMPLETE message is returned for the command. The sense data is set to HARDWARE ERROR/SELECT/RESELECT FAILURE (04h/45h). NOTE: The initiator must have an overall command time- out delay to detect this error. 6.7.8 Internal Controller Errors If an error occurs within the embedded controller that is related to the SCSI hardware or firmware, the drive terminates the present command with a CHECK CONDITION status and sets the sense data to HARDWARE ERROR/INTERANALTARGET FAILURE (04h/44h). This error does not prevent the initiator from retrying the command. Doc 1014995, Rev B 20 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual Doc 1014995, Rev B 61 Maxtor Corporation Doc 1014995, Rev B 61 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 7.0 SCSI COMMAND DESCRIPTIONS This chapter describes the SCSI commands implemented by the Maxtor XT-4000S Family disk drives. The command descriptions are listed alphabetically as a reference aid. The SCSI Command Overview explains the fields in the command descriptor block (CDB) that are common to all commands. Each individual command description explains the command function, the CDB, and any data returned. 7.1 SCSI COMMAND OVERVIEW This section describes the fields in the CDB common to every command. Each SCSI command is described in a separate subsection, including CDB formats, hexadecimal operation code, byte and bit functions, and any necessary effects produced by the commands. A request from the initiator is performed by sending a CDB to the drive. For some commands, the request is accompanied by a list of parameters, or other information sent during the DATA OUT phase, or a list may be returned to the initiator from the drive during the DATA IN phase. Table 7o1, Typical CDB for 6-Byte Commands, and Table 7o2, Typical CDB for 10-Byte Commands, show the basic organization of CDBs. Explanations of those fields which are common among all commands follow. Table 7o1 Typical CDB for 6-Byte Commands Table 7o2 Typical CDB for 10-Byte Commands The reserved bits, bytes, fields, and code values are set aside for future standardization. All reserved bits, bytes, or fields are checked by the drive and must be set to zero. If a reserved field is not set to zero, the drive terminates the command with a CHECK CONDITION status. The sense data is set to ILLEGAL Doc 1014995, Rev B 62 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual REQUEST/INVALID FIELD IN CDB (05h/24h), or ILLEGAL REQUEST/PARAMETER NOT SUPPORTED (05h/26h). The operation code is the first byte of a CDB (see Table 7o3, CDB Operation Code Format). The operation code contains two fields: the group code in the high- order three bits, bits five through seven, and the command code in the low-order five bits, bits zero through four. The group code specifies the length of the CDB and, together with the command code, determines the operation to be performed. If the specified operation code is invalid or not implemented, the drive returns a CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID COMMAND OPERATION CODE (05h/20h). Table 7o3 CDB Operation Code Format The group code specifies one of the following groups: Group 0 - 6-byte commands (see Table 7o1). Group 1 & 7 - 10-byte commands (see Table 7o2). The command code specifies one of the commands in Table 7o4, CDB Operation Codes. Table 7o4 CDB Operation Codes The logical unit number (LUN) field contains the number of the device being addressed. The drive, acting as a SCSI bus target, supports only a LUN field value of zero. Therefore, the value for the LUN field (in byte one of the CDB) is limited to 000 (binary). If an invalid LUN field value is specified, the drive returns a CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/UNSUPPORTED LOGICAL UNIT (05h/25h). The drive provides this method of addressing the device for initiators that do not implement the IDENTIFY message. An LUN specified in the IDENTIFY message overrides any LUN specified in the CDB. Doc 1014995, Rev B 63 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual The relative address (RelAdr) bit is set to one to indicate that the LBA portion of the CDB is a twos complement displacement. This negative or positive displacement is added to the LBA last accessed on the logical unit, to form the LBA for this command. This feature is only available when linking commands, and it requires that a previous command in the linked group have accessed a block of data on the logical unit. The LBA field begins with block zero and is contiguous up to the last logical block. The maximum LBA is variable, depending on the parameters selected for the number of bytes per sector and number of alternate sectors. NOTE: The maximum LBA allowable is returned to a READ CAPACITY command with a partial media indicator (PMI) bit equal to zero. Group 0 commands contain 21-bit LBAs. Group 1 and 7 commands contain 32-bit LBAs. The control byte is the last byte in every CDB. The control byte is separated into three fields, as shown in Table 7o5, Control Byte. Table 7o5 Control Byte Bits seven through two are reserved. Bit one is defined as the flag bit, and is only checked when the link bit is set to one. When the flag bit is zero, the drive sends a LINKED COMMAND COMPLETE message when the command completes successfully. If the flag bit is set to one, the drive sends a LINKED COMMAND COMPLETE (WITH FLAG) message when the command completes successfully. Bit zero is defined as the link bit. When the current command completes successfully and the link bit is set to one, the drive returns an INTERMEDIATE status, followed by one of the two messages defined by the flag bit above. The drive then automatically links to the next command. If a linked command is not completed successfully, the drive returns a CHECK CONDITION status, and does not link to the next command. Doc 1014995, Rev B 64 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual The remaining bytes in the CDB are primarily command dependent, and are described in the following individual command sections. Doc 1014995, Rev B 65 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT 7.2 FORMAT UNIT The FORMAT UNIT command ensures that the medium is formatted so that all data blocks can be accessed. The drive maintains a defective sector and track file on the disk on a cylinder that is not accessible to the initiator. During the formatting process, the initiator may specify a set of defective blocks or tracks to be reassigned using spare blocks or alternate tracks, as appropriate. The FORMAT UNIT command requires two disk revolutions to format each track. When certification is enabled, a minimum of four revolutions is required to format each track. The FORMAT UNIT command uses four different sets of defect information: o Primary, or Manufacturer's, Defect List (P list) - The primary defect list is supplied by the manufacturer, and is stored on the disk. o Certification Defect List (C list or Certification Process) - The certification defect list includes the defects detected by the drive during a verify operation of the FORMAT UNIT command. The certification defects are added to the grown list (G list) by the drive. During the FORMAT UNIT command, if the format data (FmtData) bit is one, the format options valid (FOV) header bit equals one, and the disable certification (DCRT) header bit equals zero, the drive automatically develops the certification defect list and maps out the defects from the user accessible area of the disk. o Initiator Defect List (D list) - The initiator defect list is supplied to the drive by the initiator in the DATA OUT phase. The list is supplied by the initiator when the FmtData bit is one, and the defect list length of the defect list header is greater than zero. If the defect list length is zero, no defect descriptor(s) are transferred. The defects identified by the initiator in the D list are mapped out and added to the grown list (G list). The initiator defect list is added to the G list. The drive automatically maps out the defects from the user accessible area. Doc 1014995, Rev B 66 Maxtor Corporation Doc 1014995, Rev B 66 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT o Grown Defect List (G list) - This list includes defects identified to, or by, the drive (the C, D, and G lists). It does not include the P list. These defects are classified as flaws appearing after the media have been formatted. The initiator may request that the current G list be used during formatting by setting CmpLst to zero, and FmtData to one, or that the current G list be erased and a new one begun by setting CmpLst to one, and FmtData to one). Entries to this G list include defects provided to the drive in D lists during previous FORMAT UNIT commands, the drive C list defects detected during the previous FORMAT UNIT command, and defects appended by successful completion of the REASSIGN BLOCKS command. NOTE: If a P list defect is near the boundary of two sectors, the G list may contain an entry after formatting, even though the initiator did not supply a D list or enable certification. This additional entry indicates that the second sector was reassigned to prevent a known defect in the first sector from affecting data in the second. If the new entry in the G list shows a length of FFFFFFFFh, the track was reassigned due to a lack of alternate sectors. 7.2.1 Defect List Management The FORMAT UNIT command uses the drive geometry, and format information read from a reserved area on the disk during power up, to format the media. These parameters may be changed by using the MODE SELECT command prior to issuing the FORMAT UNIT command. If the information contained in the reserved area is invalid, or cannot be read, the FORMAT UNIT command uses the default parameters, as returned by a MODE SENSE command. See 7.5 MODE SENSE later in this chapter. In order for any list of defects to be relocated, the drive's current values for the alternates per zone field in MODE SELECT, Page Code 3, or MODE SENSE, Page Code 3, must be greater than zero. The initiator may select how the drive handles the list by using bits in the CDB and the defect list header (see Table 7o6, FORMAT UNIT CDB). The drive has the capability of mapping out defective sectors so that the media appears error free to the Doc 1014995, Rev B 67 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT initiator. The initiator may use the disable primary (DPRY), and format options valid (FOV), bits to request the drive to relocate the P list recorded by Maxtor prior to shipment. The drive maintains, and maps out, an additional list of flaws (G list) on the disk unless requested not to by the initiator in the FORMAT UNIT CDB, by setting the complete list (CmpLst) bit. The G list, if it exists and is readable, may include any errors identified by the initiator in the D list supplied in the defect descriptors during the DATA OUT phase of the FORMAT UNIT command. The G list may also include any errors identified by the drive (C list) by using the disable certification (DCRT), and format options valid (FOV), bits in the D list header during the DATA OUT phase of a FORMAT UNIT command. The G list also includes errors previously identified by all REASSIGN BLOCK commands that have been issued since the last completion of a FORMAT UNIT command with the complete list (CmpLst) bit set to one. With the MODE SELECT command, the initiator specifies how many sectors are deallocated, either per track or per cylinder, to handle bad sectors. See the zone definition in 7.5.6 Direct-Access Device Format Parameters Page later in this chapter. If the initiator deallocates no spare sectors with the MODE SELECT command (zero alternates per zone), then the drive does not map out any flaws or create any spare sectors (the initiator operating system must handle the defects). If the initiator attempts either a REASSIGN BLOCK , or FORMAT UNIT, command which involves block reassignment, without first deallocating spare sectors, the drive returns an error condition. The initiator may disable the relocation of all defect lists (including default format) while enabling the deallocation of spare sectors (assuming the current value of alternates per zone is greater than zero), by performing a FORMAT UNIT command 04, 18, 00, 00, 00, 00, with a header DATA OUT phase of 00, E0 (or F0), 00, 00. The initiator may disable deallocation of spare sectors, and relocation of all defect lists, by performing a MODE SELECT command, which sets alternates per zone, and alternates per volume, to zero, followed by a FORMAT UNIT command 04, 00, 00, 00, 00, 00. Doc 1014995, Rev B 68 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT 7.2.2 SCSI Deviations The vendor unique byte in the CDB is used to specify a 1 byte data pattern, to be written in the sector data area during the format operation, if certification is disabled (disable certification+DCRT+bit equals zero). 7.2.3 Command Parameters The CDB for the FORMAT UNIT command is formatted as shown in Table 7o6, FORMAT UNIT CDB. Table 7o6 FORMAT UNIT CDB A format data (FmtData) bit of one indicates that a DATA OUT phase takes place during command execution. The DATA OUT phase consists of the 4 byte defect list header and, if there is a nonzero defect list length, a D list. The header specifies if the drive formats using the P list and/or C list, if the drive stops on an error during format, and the length of the D list, if any. The optional D list follows the header during the DATA OUT phase. The D list consists of one or more defect descriptors. The format of the D list is determined by the defect list format defined by bits zero through two of the CDB. A format data (FmtData) bit of zero indicates that the DATA OUT phase does not occur (no defect list header and no defect descriptors are supplied by the initiator). If MODE SELECT Page Code 3 (alternates per zone) does not equal zero, then the P list and the G list (if one exits) are mapped out. If alternates per zone equals zero, then no defects are mapped out and the drive is not requested to handle defects at all. No spare locations are deallocated by the drive. Further REASSIGN BLOCK commands are rejected with a CHECK CONDITION status and ILLEGAL REQUEST sense key. A complete list (CmpLst) bit of one indicates the D list defined by the initiator during the DATA OUT phase of the command execution is the complete list of known defects. The result is to erase the current G list and build a new G list. Doc 1014995, Rev B 69 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT NOTE: The format data (FmtData) bit must equal one if the complete list (CmpLst) bit equals one. A complete list (CmpLst) bit of zero indicates that the data supplied by the initiator during the DATA OUT phase (header only, or header and descriptors) is an addition to existing defect data already removed from the initiator-addressable blocks. The result is that the existing G list (if one exists) is used. At the initiator request, the P, C, and/or D lists are also used. The defect list format is used to specify the format of the defect descriptors used for a D list. See 7.2.5 Initiator Defect List later in this chapter. The format data pattern field specifies the byte pattern to be written in the data area when the drive is formatted. A value of zero in this field specifies that the drive should use the default pattern of E5h, if CERTIFY is disabled. The interleave field specifies the interleave factor to be used for this format operation. The drive checks the most significant byte of the interleave field (byte three) for a zero. An interleave value of zero or one requests that the target use its default interleave (1:1 sequential). NOTE: It is recommended that an interleave of 1:1 be used in all cases. Any other value degrades performance. 7.2.4 Format Modes The format mode is selected by a combination of the FORMAT UNIT CDB, and the defect list header. Through control of the appropriate fields, the initiator determines whether the drive's internal defect lists are used, the initiator is to supply the defect list, or both. The D list is discussed in detail in 7.2.5 Initiator Defect List later in this chapter. If the format data (FmtData) bit is set to one, the drive transfers the defect list header from the initiator to the drive during the DATA OUT phase of the FORMAT UNIT command. The defect list header is 4 bytes long, followed by zero or more defect descriptors. The header specifies the total number of bytes in the defect list and several parameters for the format mode (see Table 7o7, FORMAT UNIT Defect List Header). Doc 1014995, Rev B 70 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT Table 7o7 FORMAT UNIT Defect List Header A format options valid (FOV) bit of one indicates that the other fields in this byte are valid and may be set to one also. If this bit is set to zero, bits one through six must also be set to zero, and the drive formats the disk drive using the P list. A disable primary (DPRY) bit of one specifies that the drive is to format the media without using the P list. If this bit is zero, the drive uses the P list. This bit is only valid if the format options valid (FOV) bit is set to one. A disable certification (DCRT) bit of one indicates that the drive enables the certification routine while formatting. When set to one, the bit indicates that the drive disables the certification routine while formatting. This bit is only valid if the format options valid (FOV) bit is set to one. A stop format (STPF) bit of one specifies that the drive terminates the command when it encounters an unrecoverable error while accessing any of the defect lists. When this bit is zero, the drive continues the format operation if any of the above errors occur. This bit is only valid if the format options valid (FOV) bit is set to one. The initialization pattern option allows the initiator to initialize the initiator accessible areas of the media to a specified pattern. The pattern is specified in the initialization pattern descriptor output during the DATA OUT phase. The initialization pattern is not intended for media analysis or certification. It is used to initialize the data in the initiator accessible area of the media to the specified pattern. An initialization pattern (IP) bit of one indicates that an initialization pattern descriptor is supplied during the DATA OUT phase, immediately following the defect list header. An IP bit of zero indicates that no initialization pattern descriptor will be sent during the DATA OUT phase. If the IP bit is zero the drive will use its default initialization pattern when Doc 1014995, Rev B 71 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT it formats the disk. See Table 7o8 for Initialization Pattern Descriptor. Table 7o8 Initialization Pattern Descriptor The IP modifier field specifies the type and location of a header that modifies the initialization pattern. The IP modifier is defined in Table 7o9. The initialization pattern type field indicates the type of pattern the drive will use to initialize each logical block within the initiator accessible portion of the media. The initialization pattern type is defined in Table 7o10. All bytes within a logical block are written with the initialization pattern. The initialization pattern may be modified by the IP modifier field as described above in Table 7o9. Table 7o9 Initialization Pattern Modifier Table 7o10 Initialization Pattern Type The initialization pattern length field indicates the number of bytes contained in the initialization pattern. If the length exceeds the current logical block size, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST. The pattern may be modified by the IP modifier field. The disable saving parameters (DSP) bit is not supported by the drive and must be set to zero. An immediate (Immed) bit of zero specifies that the drive return status after the format operation has completed. An Immed bit of one specifies that the Doc 1014995, Rev B 72 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT drive return status as soon as the command descriptor block has been validated, and the entire defect list has been transferred. If the Immed bit is one during the format operation, the drive will respond as follows: o In response to all commands except REQUEST SENSE and INQUIRY, the drive will return CHECK CONDITION status. o In response to the INQUIRY command, the drive will return the INQUIRY data. o In response to the REQUEST SENSE command, unless an error has occurred, the drive will return a sense data of NOT READY/LOGICAL UNIT NOT READY FORMAT IN PROGRESS, with the sense key specific bytes set for format progress indication. The vendor unique (VU) bit is reserved, and must be set to zero. The defect list length field specifies the total number of bytes (not the total number of defect descriptors) in the D list (provided by the initiator). This length does not include the 4 bytes in the header. A defect list length of zero indicates that no D list is provided by the initiator, and is not considered an error by the disk drive. The format mode for the drive is specified with the following bits: format data (FmtData), complete list (CmpLst), disable primary (DPRY), and disable certification (DCRT). If the format options valid (FOV) bit in the defect list header is zero, or if the format data (FmtData) bit is zero, the drive treats the disable primary (DPRY) and disable certification (DCRT) bits as if they were set to zero and one, respectively. Table 7o11, FORMAT UNIT Drive Format Modes, lists the format modes supported by the drive, and their corresponding states for the 4 bits. Table 7o11 FORMAT UNIT Drive Format Modes Doc 1014995, Rev B 73 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT 7.2.5 Initiator Defect List In order for the initiator to provide a D list, the format data (FmtData) bit must be set to one in the CDB, and bits zero through two of byte one in the CDB must be set to one of the three valid options shown in Table 7o12, FORMAT UNIT D List Formats. Also, the defect list length, bytes two and three of the defect list header, must be set to the appropriate nonzero value. The three valid D list options, block, bytes from index, and physical, are detailed as in Table 7o12. NOTE: The initiator should use the drive's internal defect maps, rather than sending a D list to the drive. Maxtor performs extensive testing of all drives, and adds all areas of defective or marginal performance to the defect lists. If the initiator disables the internal lists using the disable primary (DPRY) bit, marginal sectors might cause future loss of data. Also, the drive uses sophisticated algorithms to determine when to deallocate multiple sectors for a single defect. The limitations of the bytes from index format of the READ DEFECT LIST and FORMAT UNIT commands do not allow for reporting the length of a defect, even though this information is stored in the P list. Therefore, the drive is better able to judge when a defect will cross sector boundaries than is the initiator. Table 7o12 FORMAT UNIT D List Formats A D LIST BLOCK FORMAT The D list is transferred from the initiator to the drive during the DATA OUT phase of the FORMAT UNIT command. NOTE: It is recommended that the bytes from index, or physical sector, defect list formats be used during the format operation. The D list begins with a 4 byte header, followed by zero or more 4 byte defect descriptors. When the D list is specified using block addresses, the disk drive Doc 1014995, Rev B 74 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT uses the following format described in Table 7o13, FORMAT UNIT Defect Descriptor(s), Block Format. Table 7o13 FORMAT UNIT Defect Descriptor(s), Block Format The D list LBA field specifies the address of the logical block that contains the defect. The location of the blocks in the D list refers to the current block length and block addresses. Each defect descriptor for the block format mode specifies a 4 byte defect LBA that contains the defect. The defect descriptors must be in ascending order. B D LIST BYTES FROM INDEX FORMAT The D list is transferred from the initiator to the drive during the DATA OUT phase of the FORMAT UNIT command. The D list begins with a 4 byte header, followed by zero or more 8 byte defect descriptors. When the D list is specified using the number of bytes from index, the drive uses the format described in Table 7o14, FORMAT UNIT Defect Descriptor(s), Bytes from Index Format. Table 7o14 FORMAT UNIT Defect Descriptor(s), Bytes from Index Format The cylinder number of defect field specifies the physical cylinder number which contains the defect. The head number of defect field specifies the head number which contains the defect. The defect bytes from index field specifies the number of bytes between the index and the defect on the specified track. A value of FFFFFFFFh in the bytes from index field indicates that the entire track is to be reassigned. Doc 1014995, Rev B 75 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT The defect descriptors must be in ascending order. For determining ascending order, the cylinder number of 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. C D LIST PHYSICAL SECTOR FORMAT The defect list is transferred from the initiator to the drive during the DATA OUT phase of the FORMAT UNIT command. The defect list begins with a 4 byte header, followed by zero or more 8 byte defect descriptors. When the defect list is specified using physical sector addresses, the drive uses the format in Table 7o15, FORMAT UNIT Defect Descriptor(s), Physical Sector Format. Table 7o15 FORMAT UNIT Defect Descriptor(s), Physical Sector Format The cylinder number of defect field specifies the physical cylinder number which contains the defect. The head number of defect field specifies the head number which contains the defect. The defect sector number field specifies the sector number which contains the defect. A value of FFFFFFFFh in the defect sector number field indicates that the entire track is to be reassigned. The defect descriptors must be in ascending order. For determining ascending order, the cylinder number of defect is considered the most significant part of the address, and the defect sector number is considered the least significant part of the address. 7.2.6 Error Conditions If the interleave value exceeds the maximum number of sectors per track, the drive terminates the command with a CHECK CONDITION status and sets the sense data to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). If the format mode is invalid, the drive terminates the command with a CHECK CONDITION status and sets the Doc 1014995, Rev B 76 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual FORMAT UNIT sense data to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h), or ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h), whichever is applicable. If the stop format (STPF) bit is one, and the drive encounters an unrecoverable error reading or accessing a defect list, the drive terminates the command with a CHECK CONDITION status and sets the sense data to MEDIUM ERROR/DEFECT LIST ERROR (03h/19h). If the drive has insufficient capacity to reassign all the defective blocks, it terminates the command with a CHECK CONDITION status and sets the sense data to MEDIUM ERROR/DEFECT LIST UPDATE FAILURE (03h/32h). If the stop format (STPF) bit is zero, and the drive encounters an error while accessing a defect list, it continues the FORMAT UNIT command. When the command is completed, and no other errors occur, it terminates with a CHECK CONDITION status and and sets the sense data to RECOVERED ERROR/DEFECT LIST ERROR (01h/19h). If the format options valid (FOV) bit in the defect list header is zero, and the disable primary (DPRY), disable certification (DCRT), and stop format (STPF), bits are not zero, the drive terminates the command with a CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If the stop format (STPF) bit is one, the disable primary (DPRY) bit is zero, and the drive cannot locate the P list, the drive terminates the command with a CHECK CONDITION status and sets the sense data to ILLEGAL REQUEST/DEFECT LIST NOT FOUND (05h/1Ch). If the stop format (STPF) bit is zero, the disable primary (DPRY) bit is zero, and the drive cannot locate the P list, it continues the FORMAT UNIT command. When the command is completed, and no other errors occur, the drive terminates with a CHECK CONDITION status and sets the sense data to a RECOVERABLE ERROR/DEFECT LIST NOT FOUND (01h/1Ch) . If the drive does not have valid data in the configuration cylinder or a FORMAT UNIT command was interrupted by a RESET, the drive terminates with a CHECK CONDITION status and sets the sense data to MEDIUM ERROR/MEDIUM FORMAT CORRUPTED (03h/31h). Doc 1014995, Rev B 77 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual INQUIRY XT-4000S Product Specification & OEM Technical Manual INQUIRY 7.3 INQUIRY The INQUIRY command provides a means by which the initiator may request information regarding the drive. If an INQUIRY command is received from an initiator with a pending UNIT ATTENTION condition, the drive executes the INQUIRY command, returns a GOOD status, and does not clear the UNIT ATTENTION condition. When the INQUIRY command is sent to a nonexistent LUN (i.e., any LUN other than zero), the drive transfers the INQUIRY response data back to the initiator and terminates the command with GOOD status. The initiator must examine the peripheral device type field to determine if it is a valid LUN. 7.3.1 SCSI Deviations There are no deviations. 7.3.2 Command Parameters The INQUIRY CDB is formatted as shown in Table 7o16, INQUIRY CDB. Table 7o16 INQUIRY CDB The enable vital product data (EVPD) bit is not supported by the drive and must be set to zero. The page code field is not supported by the drive and must be set to zero. The allocation length field specifies the number of bytes the initiator has allocated for the returned INQUIRY data. An allocation length of zero indicates that no data is transferred to the initiator, and this is not considered an error. Any other value indicates the maximum number of bytes that are transferred. The drive terminates the data transfer when the number of bytes specified in the allocation length field is XT-4000S Product Specification & OEM Technical Manual INQUIRY transferred, or when all available INQUIRY data is transferred, whichever is less. 7.3.3 Data Format The INQUIRY command returns 36 bytes of data to the initiator. This data is formatted as in Table 7o17, INQUIRY Response Data. Table 7o17 INQUIRY Response Data The peripheral qualifier and peripheral device type fields identify the device characteristics of the logical unit. If the logical unit number is zero the peripheral qualifier is 000b and the peripheral device type is 00000b. This indicates that the device is currently connected as logical unit zero and that it is a direct-access device. If the logical unit number is not zero, the peripheral qualifier is 011b and the peripheral device type is 11111b. This indicates that the logical unit is not supported and the peripheral device type is unknown. The removable medium bit (RMB) is zero since the medium is not removable. The ISO version field is zero because the drive does not claim compliance to the ISO version of SCSI (ISO IS 9316). The ECMA version field is zero since the drive does not claim compliance to the ECMA version of SCSI (ECMA- 111). The ANSI-approved version field is 001b to indicate the drive claims compliance with the ANSI version of SCSI (X3.131-1986). The asynchronous event notification capability (AENC) bit is not supported by the drive and is zero. The terminate I/O process (TrmIOP) bit is not supported by the drive and is zero. XT-4000S Product Specification & OEM Technical Manual INQUIRY The response data format is 1h to indicate the drive is compatible with the Common Command Set (CCS) requirements. The additional length field indicates the length in bytes of the remaining data to be returned. If the allocation length of the command descriptor block is too small to transfer all of the parameters, the additional length is not adjusted to reflect the truncation. The relative addressing (RelAdr) bit is one to indicate that the drive supports the relative addressing mode. The wide bus 32 (WBus32) bit is not supported by the drive and is zero. The wide bus 16 (WBus16) bit is not supported by the drive and is zero. The synchronous transfer (Sync) bit is one to indicate that the drive supports synchronous data transfer. The linked command (Linked) bit is one to indicate that the drive supports linked commands. The command queuing (CmdQue) bit is not supported by the drive and is zero. The soft reset (SftRe) bit is zero to indicate that the drive supports the hard RESET alternative. ASCII data fields shall contain only graphic codes (i.e., code values 20h through 7Eh). Left-aligned fields shall place any unused bytes at the end of the field (highest offset) and the unused bytes shall be filled with space characters (20h). Right-aligned fields shall place any unused bytes at the start of the field (lowest offset) and the unused bytes shall be filled with space characters (20h). The vendor identification field contains eight bytes of ASCII data identifying MAXTOR as the vendor of the product. The data is left aligned within this field. The product identification field contains sixteen bytes of ASCII data as defined by the vendor. The data is left-aligned within this field. The following product identifications are returned: o The XT-4170S drive returns "XT-4170S________" o The XT-4380S drive returns "XT-4380S________" XT-4000S Product Specification & OEM Technical Manual INQUIRY o Prior to becoming ready the the XT-4000S drives return "XT-4000S________" The product revision level field contains four bytes of ASCII data that indicate the firmware revision level. The data is left-aligned within this field. NOTE: Products that incorporate an EEPROM will report the correct model number before spinning up to READY, as well as after. The revision level field contains the Maxtor firmware revision level in ASCII. There are four characters in the string. XT-4000S Product Specification & OEM Technical Manual MODE SELECT XT-4000S Product Specification & OEM Technical Manual MODE SELECT 7.4 MODE SELECT The MODE SELECT command provides a means by which the initiator may specify various parameters to the drive. Any changes in the mode parameters take effect upon successful completion of the MODE SELECT command. The MODE SELECT command is complementary to the MODE SENSE command, which allows the initiator to request the values of the mode parameters from the drive. The initiator can send the drive optional blocks of parameters that are separated into pages. The individual pages specify mode parameters which control the configuration and performance of the drive. The mode parameter pages 3 and 4 are written to the medium when the FORMAT UNIT command is executed. Subsequent drive power up or reset conditions cause the drive to read this information from the medium. The initiator sends those pages to the drive for which it requests parameters to be changed. The initiator may send pages individually, or all pages at one time, and the pages do not need to be sent in any particular order. It is recommended that, prior to issuing a MODE SELECT command, the initiator first issue a MODE SENSE command, with the page code set for all pages, and the page control field set for current values, to determine which pages are implemented, the page lengths, and current values. This should be followed by another MODE SENSE command, with the page control field set to changeable values, to determine which values may be altered. The initiator should analyze this information, and should not issue a MODE SELECT command which attempts to change values in fields which are not implemented or not changeable. Following a MODE SELECT command that changes any parameters, the drive returns a CHECK CONDITION status to the first command received from all initiators, except the one that issued the MODE SELECT command. The sense data is set to UNIT ATTENTION/MODE PARAMETERS CHANGED (06h/2Ah). When a MODE SELECT command is issued that changes any parameters in page 3 or 4, a FORMAT UNIT command must be issued prior to the next media access command. If this is not done, current values for pages 3 and 4 are not saved, and physical to logical translations are incorrect for media access. XT-4000S Product Specification & OEM Technical Manual MODE SELECT The MODE SELECT command can affect the following types of drive parameters: o Saved Values: The saved values are all the changeable MODE SELECT parameters saved by the drive on the medium. The initiator may change the saved values of pages 1 and 2 by issuing a MODE SELECT command with the save parameters (SP) bit set to one. This action does not change the saved values of pages 3 and 4. Only a FORMAT UNIT Command can change the saved values of pages 3 and 4. o Current Values: The current values are the MODE SELECT parameters used by the drive during normal operation. Any MODE SELECT command issued changes the current values. 7.4.1 SCSI Deviations Only a single block descriptor may be sent to the drive. The number of blocks field in the block descriptor is ignored. MODE SELECT data for pages 1 and 2 (both current and saved values) are maintained separately for each of the seven possible initiators. This avoids the necessity of reporting an UNIT ATTENTION condition to all initiators when one initiator has changed the mode parameters. 7.4.2 Command Parameters The MODE SELECT command descriptor block is defined in Table 7o18, MODE SELECT Command. Table 7o18 MODE SELECT Command A page format (PF) bit of one indicates that the data sent by the initiator, after the header and the block descriptors (if any), is in page format. A save parameters (SP) bit of one specifies that the drive should take the current values and write them to XT-4000S Product Specification & OEM Technical Manual MODE SELECT the medium as the saved values. Before the drive saves the parameters, it makes any changes to these pages as specified in the current MODE SELECT command. If the drive encounters an error during the MODE SELECT command, it terminates the command without writing the parameters to the medium as the saved values. If the save parameters (SP) bit is zero, the drive updates the current values and does not modify the saved values. The SP bit is ignored for pages 3 and 4, which are always saved by a FORMAT UNIT command. The parameter list length field specifies the length, in bytes, of the data that is sent from the initiator. A parameter list length of zero indicates that no data is transferred and is not considered an error by the drive. 7.4.3 Parameter List Format The MODE SELECT data is sent by the initiator to the drive during the DATA OUT phase. This data consists of a parameter list header, zero or one block descriptors, and zero or more page descriptors. The entire length of the data is specified in the MODE SELECT command descriptot block. The parameter list header is 4 bytes, and specifies the medium type and the length of the block descriptor. The block descriptor consists of 8 bytes, and specifies the density code, the number of blocks, and the block length. The page descriptors contain the mode parameters, separated into pages. These mode parameters control options and features which the initiator may change. One or more pages may be sent during the MODE SELECT command. A PARAMETER LIST HEADER FORMAT The MODE SELECT parameter list header is the first part of the parameter list. The header is formatted as shown in Table 7o19, MODE SELECT Parameter List Header. XT-4000S Product Specification & OEM Technical Manual MODE SELECT Table 7o19 MODE SELECT Parameter List Header The medium type field must be set to zero. The block descriptor length field specifies the length, in bytes, of the block descriptor. The drive supports zero or one block descriptors, so the only valid block descriptor lengths are 0 and 8 bytes. B PARAMETER LIST BLOCK DESCRIPTOR FORMAT The MODE SELECT block descriptor immediately follows the parameter list header. The drive does not report an error if the block descriptor is not in the parameter list (block descriptor length equals zero). The block descriptor is defined in Table 7o20, MODE SELECT Parameter List Block Descriptor Format. Table 7o20 MODE SELECT Parameter List Block Descriptor Format The number of blocks field is ignored by the drive. The block length field specifies the length of the logical block, in bytes. The block length must be equal to, or an exact multiple of, the physical sector size. The disk drive supports logical block sizes of 256 to 4,096 bytes. Due to the constraints of the REASSIGN BLOCK command, it is recommended that the logical block size be the same as the physical sector size. When the logical block size exceeds the physical sector size, the REASSIGN BLOCK command must reassign all the physical sectors contained in the logical block. If the number of sectors per logical block exceeds the number of spare sectors per zone, the entire zone is reassigned whenever a REASSIGN BLOCK command is executed. XT-4000S Product Specification & OEM Technical Manual MODE SELECT C PAGE HEADER FORMAT Each mode page contains a page code length and a set of mode parameters. The page codes are defined in Table 7o21. The page code field identifies the format and parameters defined for that mode page. Table 7o21 MODE SELECT Page Codes The page length field specifies the length, in bytes, of the mode parameters that follow. If the initiator does not set this value to the value that is returned for the page by the MODE SENSE command, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST. 7.4.4 Error Recovery Parameters Page This section specifies the mode parameters for the error recovery options supported by the drive. The format for the error recovery page (page code 1) is shown in Table 7o22, Error Recovery Page (Page Code 1). A copy of each of these parameters is saved for each initiator. This allows any initiator to change its own parameters without affecting the parameters of any other initiator. Table 7o22 Error Recovery Page (Page Code 1) NOTE: The drive saves this page whenever the initiator issues a FORMAT UNIT, or MODE SELECT command , with the save parameters (SP) bit set to one. An automatic write reallocation enabled (AWRE) bit of one indicates that the drive will enable automatic reallocation of defective data blocks detected during write operations. All error recovery actions required by the error recovery bits (EER, PER, DTE, and DCR) are executed. The automatic reallocation is performed only if the drive encounters a BLOCK NOT FOUND (03h/14h) during the write process. The defective sector is then XT-4000S Product Specification & OEM Technical Manual MODE SELECT relocated and the write data is then placed in the reallocated block. Error reporting as required by the error recovery bits is performed only after completion of the reallocation. The drive presents any failures that occur during the reallocation process. The automatic reallocation process follows the same error procedures as the REASSIGN BLOCKS command. An AWRE bit of zero indicates that the drive does not perform automatic reallocation of defective data blocks during write operations. An automatic read reallocation enabled (ARRE) bit of one indicates that the drive will enable automatic reallocation of defective data blocks during read operations. All error recovery actions required by the error recovery bits (TB, EER, PER, DTE, and DCR) are executed. The automatic reallocation is then performed only if the target successfully recovers the data. The recovered data is then placed in the reallocated block. Error reporting as required by the error recovery bits is performed only after completion of the reallocation. The drive presents any failures that occur during the reallocation process. The automatic reallocation process follows the same error procedures as the REASSIGN BLOCKS command. An ARRE bit of zero indicates that the target shall not perform automatic reallocation of defective data blocks during read operations. See Figure 7o1 for a flow chart of automatic read reallocation. Figure 7o1 Flow Chart of Automatic Reallocation A transfer block (TB) bit of one specifies that the drive transfers the block with the data error before terminating the command. This bit is only applicable when an unrecoverable data error is encountered, or when the disable transfer on error (DTE) bit is set to one and a recoverable error is encountered. If this bit is zero, the drive does not transfer the block with the data error. In both cases, the drive reports the address of the block with the error, rather than that of the preceding block, in the sense data. If the transfer terminates with other than a data error (i.e., data not found), the drive does not transfer the block. XT-4000S Product Specification & OEM Technical Manual MODE SELECT A read continuous (RC) bit of one overrides the enable early correction (EEC), disable transfer on error (DTE), post error (PER), and disable correction (DCR) bits, and disables all retries and data correction. The transfer block (TB) bit is not applicable. When the read continuous (RC) bit is set to one, the drive transfers the entire requested length of data without adding delays that are caused by its error recovery schemes. The drive sends data which may be erroneous, or fabricated, to maintain a continuous flow of data and avoid delays. An enable early correction (EEC) bit of one specifies that the drive does not exhaust the retry count before attempting any ECC correction. When this bit is zero, the drive exhausts the retry count before it attempts any ECC correction. Also, the drive attempts to recover the data, using head offset and data strobe offset, before attempting ECC correction. NOTE: This field does not disable retries during seek operations. For any seek or positioning error, the drive performs a recalibrate operation, then retries the seek operation. If the second attempt also fails, the drive terminates the command. A post error (PER) bit of one instructs the drive to report any recoverable errors to the initiator. This error is either reported immediately, or at the normal completion of the command, depending on the state of the disable transfer on error (DTE) bit. The drive may terminate the data transfer before all data has been transferred, depending on the error encountered and the states of the other error recovery bits in byte two. When set to zero, this bit suppresses the reporting of recovered errors. Unrecovered errors are always reported. A disable transfer on error (DTE) bit of one and a post error (PER) bit of one instruct the drive to terminate the command immediately when a recoverable error is encountered, and create the CHECK CONDITION status. The drive may or may not transfer the data contained in the block in error, depending on the setting of the transfer block (TB) bit. The initiator can only set the disable transfer on error (DTE) bit to one if it has set the post error (PER) bit to one. If the disable transfer on error (DTE) bit is zero, the disk drive continues the data transfer when a recoverable error is encountered. When disable transfer on error (DTE) equals zero, and post error (PER) equals one, the XT-4000S Product Specification & OEM Technical Manual MODE SELECT sense data reports the last recoverable error that occurred within a transfer. A disable correction (DCR) bit of one disables ECC correction when reading a sector from the drive. No correction is attempted, and if a correctable ECC error occurs it is treated as an unrecoverable error. The retry count field specifies the maximum number of retries to attempt when an error is encountered. The drive supports retry counts from 0 to 255. The default is 16. The correction span field specifies the largest read data error, in bits, on which correction may be attempted. The drive supports a correction span of 0 to 17 bits. The default is 12. The head offset count field specifies a forced incremental offset, from the center of the track, to use when performing a disk read operation. When set to zero, the disk drive does not apply any offset. When set to a positive value, the drive applies the offset in an increasing distance in the direction of the next physical track. When set to a twos complement, the drive applies the offset in an increasing distance in the opposite direction of a positive value. The drive supports three levels of offset in each direction. This field has no effect on offsets used in retry procedures. The data strobe offset count field is not supported by the drive and must be set to zero. The recovery time limit field is not supported by the drive and must be set to FFh. Table 7o23, MODE SELECT Error Recovery Modes, lists the possible error recovery modes which may occur using the above parameters. Those combinations which do not provide any useful function, i.e., terminate on errors but do not report them, are marked as invalid mode and should not be selected by the initiator. Data transfers terminate immediately for any unrecoverable error. Table 7o23 MODE SELECT Error Recovery Modes XT-4000S Product Specification & OEM Technical Manual MODE SELECT 7.4.5 Disconnect-Reconnect Page This section describes the disconnect-reconnect mode parameters supported by the drive. These mode parameters modify the disconnect-reconnect strategy used by the drive. Refer to Appendix B for more information. The format for the disconnect-reconnect page is shown in Table 7o24, Disconnect-Reconnect Page. The drive saves a copy of these parameters for each initiator. This allows any initiator to change its own parameters without affecting the parameters of other initiators. Table 7o24 Disconnect-Reconnect Page NOTE: The drive saves this page whenever the initiator issues a MODE SELECT command, with the save parameters (SP) bit set to one. The buffer full ratio indicates to the target, on read operations, how full the buffer should be prior to attempting a reselection. The buffer empty ratio indicates to the target, on write operations, how empty the buffer should be prior to attempting a reselection. The performance benefit from using buffer ratios is in a multi-target environment where SCSI bus utilization is critical. Proper use of the buffer ratios can ensure maximum utilization of the SCSI bus, by minimizing the time to transfer data. The buffer ratio is the percentage of the buffer, or the transfer length, whichever is less. If the transfer length is less than the buffer, the buffer ratio will be applied to the transfer length. If the transfer length is greater than the buffer, the buffer ratio will be applied to the buffer size. The buffer full and buffer empty ratios are numerators of a fractional multiplier that has 256 as its denominator. A value of zero indicates that the target initiates reselection as soon as one sector of data is available (default). A value of 255 indicates that 100% of the data transfer is in the buffer or the buffer was filled with data before reselection, whichever is applicable. See appendix B for further information. XT-4000S Product Specification & OEM Technical Manual MODE SELECT The bus inactivity limit field specifies the maximum time, in 100 microsecond increments, that the drive will stay connected to the SCSI bus without any bus activity. The drive supports a range of 1 (100 microseconds) to 650 (65,000 microseconds). A value of zero in this field means the drive can stay connected to the bus indefinitely. The default is 10 The disconnect time limit field is not supported by the drive and must be set to zero. The connect time limit field is not supported by the drive and must be set to zero. 7.4.6 Format Device Page This section specifies the format device mode parameters supported by the drive. The format for the format device page is shown in Table 7o25, Format Device Page NOTE: The drive saves this page whenever the initiator issues a FORMAT UNIT command. Table 7o25 Format Device Page The tracks per zone field specifies the number of tracks per zone to use in dividing the capacity of the drive for the purpose of allocating alternate sectors. The drive supports either one track, or one cylinder per zone. This field may be set to either one or the number of data heads in the drive. The alternate sectors per zone field specifies the number of alternate sectors per zone to allocate during formatting. If the tracks per zone field equals one, the drive supports up to three alternate sectors. If the tracks per zone field equals the number of data heads, the drive supports up to one less than the number of sectors per track alternate sectors. The default is 5 alternate sectors per zone. The alternate tracks per zone field is not used by the drive and must be set to zero. XT-4000S Product Specification & OEM Technical Manual MODE SELECT The alternate tracks per volume field specifies the number of tracks per drive to deallocate, for defect handling during a format operation. A track is mapped onto the alternate tracks by the FORMAT UNIT or REASSIGN BLOCK commands, when relocation occurs in a zone whose alternate sectors have been exhausted. NOTE: The drive rounds the number of tracks to deallocate up to the nearest cylinder boundary. The drive supports from 0 to 255 alternate tracks per volume, in multiples of tracks per cylinder. The default is 3 cylinders allocated (For example, 45 tracks on an XT-8760, 24 on an XT-8380S, and 21 on XT- 4170S and XT-4380S.) The sectors per track field specifies the number of physical sectors per track. If this field is set to zero, the drive calculates the sectors per track based on the value in the data bytes per physical sector field. The data bytes per physical sector field specifies the number of bytes per physical sector. The drive supports sector sizes from 256 to 4,096 bytes per sector. The interleave field is ignored by the drive and may be set to any value. The interleave value is set in the FORMAT UNIT command. The track skew field specifies the number of physical sectors between the last logical block of one track and the first logical block on the next sequential track on the same cylinder. It is recommended that this value always be set to zero, since the drive does not require head switching time. The track skew cannot exceed the value in the sectors per track field. The cylinder skew field specifies the number of physical sectors between the last logical block of one cylinder and the first logical block of the next sequential cylinder. By setting this field to FFFFh, the initiator requests that the drive compute the optimum value, based on the selected sector size. The soft sector format (SSEC) bit cannot be set by the MODE SELECT command and the drive ignores this field (see 7.5 MODE SENSE later in this chapter). The hard sector format (HSEC) bit cannot be set by the MODE SELECT command and the drive ignores this field (see 7.5 MODE SENSE later in this chapter). XT-4000S Product Specification & OEM Technical Manual MODE SELECT The removable media (RMB) bit is not used by the drive and must be set to zero. The surface (SURF) bit is not supported by the drive and must be set to zero. 7.4.7 Rigid Disk Drive Geometry Parameters Page This section defines the rigid disk drive geometry mode parameters supported by the drive. The format for the rigid disk drive geometry page is shown in Table 7o26, MODE SELECT Rigid Disk Drive Geometry Parameters (Page Code 4). NOTE: The drive saves this page whenever the initiator issues a FORMAT UNIT command. Table 7o26 MODE SELECT Rigid Disk Drive Geometry Parameters (Page Code 4) The maximum number of cylinders field specifies the maximum number of cylinders available on the medium. This value, minus the alternate tracks per volume value (converted to cylinders), and minus the three cylinders reserved by the disk drive, equals the number of cylinders addressable by the user. The most significant byte (MSB), byte two, must be set to zero. The maximum number of heads field specifies the number of data heads on the drive. The drive supports one to fifteen heads. The starting cylinder - write precompensation field is not supported by the drive and must be set to zero. The starting cylinder - reduced write current field is not supported by the drive and must be set to zero. The drive step rate field is not supported by the drive and must be set to zero. The landing zone cylinder field is not supported by the drive and must be set to zero. XT-4000S Product Specification & OEM Technical Manual MODE SELECT 7.4.8 Caching Page The caching parameters page defines the parameters that affect the use of the read-ahead cache. See Table 7o27, Caching Page. Table 7o27 Caching Page The write cache enable (WCE) bit is not supported by the drive and must be set to zero. The multiplication factor (MF) bit is not supported by the drive and must be set to zero. A read cache disable (RCD) bit of zero specifies that the target may return data requested by a READ command by accessing either the cache or media. A RCD bit of one specifies that the target shall transfer all of the data requested by a READ command from the medium (i.e., data cannot be transferred from the cache). The demand read retention priority field is not supported by the drive and must be set to zero. The write retention priority field is not supported by the drive and must be set to zero. The disable pre-fetch transfer length field is not supported by the drive and must be set to zero. The minimum pre-fetch field is not supported by the drive and must be set to zero. Setting the minimum pre-fetch field to zero, causes the read-ahead to be terminated whenever another command is ready for executing. The maximum pre-fetch field is not supported by the drive and must be set to zero. The maximum pre-fetch ceiling field is not supported by the drive and must be set to zero. 7.4.9 Maxtor Drive Control Page Maxtor drive control parameters are in page code 32h. This vendor unique page allows greater flexibility for XT-4000S Product Specification & OEM Technical Manual MODE SELECT custom firmware requirements. See Table 7o28 for the format of the Maxtor Drive Control Page. Table 7o28 Maxtor Drive Control Page Bytes two and three specify unique firmware and user options. An enable synchronous data transfer request (ESDTR) bit of zero specifies that the target comply with SCSI-2 for negotiating a synchronous data transfer. An ESDTR bit of one specifies that following a power-on or reset, the target will not initiate the first negotiations for a synchronous data transfer. The default condition is one. A format data pattern enable (FDPE) bit of zero specifies that when byte 2 (format data pattern) in the FORMAT UNIT command contains 00h, the default pattern of E5h be used for the format data pattern. An FDPE bit of one specifies that the target not use the default pattern. The data pattern of 00h will be used in place of the default pattern. The default condition is zero. A contingent reservation (CR) bit of zero specifies that the target comply with SCSI-2 and not set up a contingent reservation. A CR bit of one specifies that an "implied reservation" condition be in effect for the active initiator whenever a check condition occurs. A check condition will cause the target to send RESERVATION CONFLICT status to any other initiator until the check condition is addressed and a RELEASE UNIT command is issued by the active initiator or a SCSI bus reset occurs. The default condition is zero. A disable unit attention (DUA) bit of zero specifies that the target comply with SCSI-2 after reset or power-up. A DUA bit of one specifies that the drive will not issue a CHECK CONDITION for a UNIT ATTENTION condition after reset or on power-up. The default condition is zero. * A START bit of zero specifies that the target start up according to jumpers JP14 and JP38. A START bit of one allows the drive to start as soon as power is applied XT-4000S Product Specification & OEM Technical Manual MODE SELECT regardless of the jumper configurations. Subsequent START commands will be accepted without error. The default condition is zero. * A software selectable ID (SSID) bit of zero specifies that the drive SCSI ID will be determined by the value set by jumpers JP35, JP36, and JP37 on the drive PCB. An SSID bit of one specifies that the drive SCSI ID will be determined by the value of the SCSI address (SCSIADR) bits and the value set by the jumpers will be ignored. The default condition is zero. * The SCSI address (SCSIADR) bits determine the SCSI ID if the SSID bit is set to one. The default condition is 000b. * Bytes four through seven are reserved for future applications or parameters and are set to zero. * These bits are supported in products that incorporate EEPROM. 7.4.10 Read-Ahead Control Page This section describes the read-ahead control mode parameters supported by the drive. The format for the read-ahead control page is shown in Table 7o29, Read- Ahead Control Page (Page Code 38h). Table 7o29 Read-Ahead Control Page (Page Code 38h) If the read-ahead with mechanical delay (RAMD) bit is set to one, read-ahead will not stop when a SEEK is required. This includes a SEEK to the next cylinder or a SEEK to an alternate track. An RAMD bit of zero stops Read-Ahead whenever a SEEK is required. A cache enable (CE) bit of one enables read-ahead. A CE bit of zero disables read-ahead. The cache table size field is non-changeable and set to 0001b. The prefetch threshold field is non-changeable and set to FFh. An FFh value indicates that Read-Ahead (if XT-4000S Product Specification & OEM Technical Manual MODE SELECT enabled by the CE bit) is performed for all READ commands, regardless of the transfer length. The prefetch threshold field is the maximum value of the transfer length (as specified in the CDB) for which a Read-Ahead operation is performed. The maximum prefetch field is non-changeable and is reported as the number of logical blocks (at the current block length) which can be stored in the Read- Ahead buffer, which is 45,056 bytes. The maximum prefetch field is the maximum number of data blocks which are prefetched by a Read-Ahead operation. 7.4.11 Error Conditions If any field not used or supported by the drive is not set to zero, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If the medium type is not set to zero, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If a block descriptor length of other than zero or eight is specified, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If the density code is not set to zero, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If the bytes per physical sector is less than 256, or greater than 4,096, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If the track skew parameter exceeds the number of sectors per track, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST(05h/26h). If the cylinder skew parameter exceeds the number of sectors per track (except for 0FFFFh), the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). XT-4000S Product Specification & OEM Technical Manual MODE SELECT If the tracks per zone field is not set to zero, one, or the number of heads, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETERS LIST (05h/26h). If the saved MODE SELECT configuration information has been destroyed, and the initiator issues a MODE SELECT command with a save parameters (SP) bit of one, the drive returns CHECK CONDITION status. The sense data is set to NOT READY/ILLEGAL FUNCTION FOR DEVICE TYPE (02h/22h) . If the alternate sectors per zone field value is not within the supported range, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMTERS LIST (05h/26h). If the initiator specifies an invalid mode in the error recovery bits, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If, in the rigid drive geometry parameters page, the drive receives a value in the maximum number of heads field that is greater than the actual maximum number of heads, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). If the page length byte in each page header does not match the page length, as specified in this document and returned by the MODE SENSE command, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). XT-4000S Product Specification & OEM Technical Manual MODE SENSE XT-4000S Product Specification & OEM Technical Manual MODE SENSE 7.5 MODE SENSE The MODE SENSE command provides a means by which the initiator may receive various parameters from the drive. MODE SENSE is a complementary command to the MODE SELECT command. The drive sends blocks of parameters that are separated into pages. These pages specify various options and features which the initiator may change. Each page is preceded by a page code and the length of the page. The page length value does not include bytes zero or one. The drive maintains the following four different sets of MODE SENSE data: o Default Values: The default values are obtained from the drive's programmable read only memory (PROM), the media, and the drive jumpers. o Saved Values: The saved values are the MODE SELECT parameters saved by the drive on the medium. This is done when the drive performs a FORMAT UNIT command for pages 3 and 4, or MODE SELECT command, with the save parameters (SP) bit set to one, for pages 1, 2, 8, and 38. o Current Values: The current values are the MODE SELECT parameters used by the drive during normal operation. Any MODE SELECT command issued, changes the current values. o Changeable Values: The changeable values are those parameters supported by the drive that can be changed by the MODE SELECT command. At initialization time, a POWER ON or RESET condition has occurred, see Chapter 4.0, User Selectable Options. After the drive spins up, it reads the saved values from the drive and copies them into the current values. When the drive completes a FORMAT UNIT command, it writes all supported pages to the medium. (On an unformatted drive, the current parameters are the same as the default parameters.) The initiator may then change the current parameters upon successful completion of the MODE SELECT command prior to formatting the drive. When the FORMAT UNIT command completes, the drive writes the current values for XT-4000S Product Specification & OEM Technical Manual MODE SENSE pages 3 and 4 (which may have been changed by a MODE SELECT command) to the medium as the saved values. 7.5.1 SCSI Deviations MODE SENSE data for pages 1 and 2 (both current and saved values) are maintained separately for each of the seven possible initiators. This avoids the necessity of reporting a UNIT ATTENTION condition to all initiators when one initiator has changed the mode parameters. 7.5.2 Command Parameters The MODE SENSE command description block is defined in Table 7o30, MODE SENSE Command. Table 7o30 MODE SENSE Command The page control field (PCF) indicates the type of page values the drive returns: current, changeable, default, or saved. Table 7o31, MODE SENSE Page Control Fields, lists and describes the page control fields. Table 7o31 MODE SENSE Page Control Fields A page code field indicates the page(s) to be returned in the MODE SENSE data. Table 7o32, MODE SENSE Page Codes, lists and describes the page codes. If a single page is requested, the drive only returns the requested page. The block descriptor information is always sent with MODE SENSE data. Table 7o32 MODE SENSE Page Codes XT-4000S Product Specification & OEM Technical Manual MODE SENSE The allocation length field indicates the number of bytes the initiator has allocated for returned MODE SENSE data. If the drive receives a zero value in byte four, it does not transfer any data and does not treat this condition as an error. A nonzero allocation length value indicates the maximum number of bytes to be transferred. The drive terminates the DATA IN phase when the number of bytes which have been transferred reaches the value of the allocation length field, or when all available MODE SENSE data has been transferred to the initiator, whichever is less. 7.5.3 Parameter List Format The MODE SENSE data is sent by the drive to the initiator during the DATA IN phase. This data consists of a parameter list header, one block descriptor, and the specified page descriptors. The parameter list header is 4 bytes long, and specifies the medium type and the length of the block descriptor. The block descriptor is 8 bytes long, and specifies the density code, the number of blocks, and the block length. The page descriptors contain various parameters separated into pages. These parameters specify various options and features which the initiator may change with the MODE SELECT command. The type of page data returned is specified with the page code and page control field (PCF) in the CDB. Each defined page is preceded by a header of 2 bytes that specifies the page code and the page length. The page code identifies the meaning of the bytes which follow it. The page length field indicates the number of bytes supported by the disk drive for that page. The page length value does not include the page code on page length bytes. After the header, the pages are separated into sub-blocks that contain a list of related flags and/or values. A PARAMETER LIST HEADER FORMAT The MODE SENSE parameter list header is the first part of the parameter list. The header is formatted as shown in Table 7o33, MODE SENSE Parameter List Header. XT-4000S Product Specification & OEM Technical Manual MODE SENSE Table 7o33 MODE SENSE Parameter List Header The sense data length field indicates the length of the data that is sense, returned when a MODE SENSE command is issued. This length does not include the data length field itself. The sense data length varies depending on which page(s) are requested. The medium type field indicates the media type on the drive. The drive always returns a medium type of zero. A write protect (WP) bit of one indicates the drive is write protected. When the write protect (WP) bit is set to zero, the drive is not write protected. The block descriptor length field indicates the length of the block descriptor and is set to eight. B PARAMETER LIST BLOCK DESCRIPTOR FORMAT The MODE SENSE parameter list block descriptor immediately follows the parameter list header. The block descriptor is formatted as shown in Table 7o34, MODE SENSE Parameter List Block Descriptor Format. Table 7o34 MODE SENSE Parameter List Block Descriptor Format The density code field defines the density of the media on the addressed disk drive. The density code has a value of zero, to indicate only the default density of the medium is supported. The number of blocks field indicates the total number of logical blocks which use media of the density code defined in byte zero. The number of blocks field always returns zeros to indicate that all blocks have the same media type. The logical block length field indicates the length of the logical block, in bytes. XT-4000S Product Specification & OEM Technical Manual MODE SENSE C PAGE HEADER FORMAT Each of the optional page descriptors is preceded by a page header. The page header is 2 bytes long and identifies the page type length. Each page header is immediately followed by its corresponding page parameters. The page code field identifies the page type. Table 7o35, MODE SENSE Page Header Page Codes, lists the page codes and their corresponding page descriptions. Table 7o35 MODE SENSE Page Header Page Codes The page length field indicates the number of bytes in the page, not including the page length byte. 7.5.4 Error Recovery Parameters Page This subsection specifies the format of the error recovery parameter page (page code 1), as returned by the MODE SENSE command (see Table 7o36, MODE SENSE Error Recovery Parameters (Page Code 1)). A copy of each of these parameters is saved for each initiator. The values returned are for the initiator which sent the MODE SENSE command. Table 7o36 MODE SENSE Error Recovery Parameters (Page Code 1) A parameter savable (PS) bit of one indicates the that drive saves the parameters supported in this page. When the parameter savable (PS) bit is zero, the drive does not save the page parameters. The drive always returns a one in this field. An automatic write reallocation enabled (AWRE) bit of one indicates that the drive will enable automatic reallocation of defective data blocks during write operation. All error recovery actions required by the error recovery bits (EER, PER, DTE, and DCR) are executed. The automatic reallocation is performed only XT-4000S Product Specification & OEM Technical Manual MODE SENSE if the drive encounters a BLOCK NOT FOUND (03h/14h) during the write process. The defective sector is then relocated and the write data is then placed in the reallocated block. Error posting as required by the error recovery bits is performed only after completion of the reallocation. The drive presents any failures that occur during the reallocation process. The automatic reallocation process follows the same error procedures as the REASSIGN BLOCKS command. An AWRE bit of zero indicates that the drive does not perform automatic reallocation of defective data blocks during write operations. An automatic read reallocation enabled (ARRE) bit of one indicates that the drive will enable automatic reallocation of defective data blocks during read operations. All error recovery actions required by the error recovery bits (TB, EER, PER, DTE, and DCR) are executed. The automatic reallocation is then performed only if the target successfully recovers the data. The recovered data is then placed in the reallocated block. Error posting as required by the error recovery bits is performed only after completion of the reallocation. The drive presents any failures that occur during the reallocation process. The automatic reallocation process follows the same error procedures as the REASSIGN BLOCKS command. An ARRE bit of zero indicated that the target shall not perform automatic reallocation of defective data blocks during read operations. See Figure 7o1 for a flow chart of automatic read reallocation. A transfer block (TB) bit of one indicates that the drive should transfer the block with the data error before terminating the command. This bit is only applicable when unrecoverable error is encountered, or when the disable transfer on error (DTE) bit is set to one, and a recoverable error is encountered. If the transfer block (TB) bit is zero, the drive does not transfer the block with the data error. In both cases, the drive reports the block address of the block with the error, rather than that of the preceding block, in the sense data. If the transfer terminates with other than a data error (i.e., data not found), the block is not transferred. If the initiator requested the changeable values, the transfer block (TB) bit is set to one. XT-4000S Product Specification & OEM Technical Manual MODE SENSE A read continuous (RC) bit of one overrides the enable early correction (EEC), disable transfer on error (DTE), post error (PER), and disable correction (DCR) bits, and disables all retries and data correction. The transfer block (TB) bit is not applicable. When the read continuous (RC) bit is set to one, the drive transfers the entire requested length of data without adding delays that are caused by its error recovery schemes. The drive sends data which may be erroneous, or fabricated, to maintain a continuous flow of data and avoid delays. If the initiator requested the changeable values, this bit is set to one. The enable early correction (EEC) bit indicates that the drive should perform a minimum number of retries before applying any correction algorithm. When this bit is set to one, the disk drive does not exhaust the retry count before attempting any ECC correction. When this bit is set to zero, the drive exhausts the retry count, before it attempts any ECC correction. If the initiator requested the changeable values, this bit is set to one. NOTE: The enable early correction (EEC) bit does not disable retries during seek operations. For any seek or positioning error, the drive issues a RECALIBRATE command to the disk drive, then retries the seek operation. If the second attempt also fails, the drive terminates the command. A post error (PER) bit of one instructs the drive to report any recoverable errors to the initiator. This error is either reported immediately, or at the normal completion of the command, depending on the state of the disable transfer on error (DTE) bit. The error reported to the initiator is the last error encountered during the data transfer. If multiple errors occur, the drive reports (in the sense information) the block address of either 1) the last block where the recovered error occurred; or 2) the block with the first unrecoverable error. If the initiator requested the changeable values, the post error (PER) bit is set to one. A disable transfer on error (DTE) bit of one and a post error (PER) bit of one instruct the drive to terminate the command immediately when a recoverable error is encountered, and create the CHECK CONDITION status. The drive may or may not transfer the data contained in the block in error, depending on the setting of the transfer block (TB) bit. The initiator can only set the disable transfer on error (DTE) bit to one if it XT-4000S Product Specification & OEM Technical Manual MODE SENSE has set the post error (PER) bit to one. If the disable transfer on error (DTE) bit is set to zero, the drive continues the data transfer when a recoverable error is encountered. If the initiator requested the changeable values, the disable transfer on error (DTE) bit is set to one. A disable correction (DCR) bit of one disables ECC correction when reading a sector from the drive. No correction is attempted, and if a correctable ECC error occurs, it is treated as a recoverable error. If the initiator requested the changeable values, this bit is set to one. The retry count field indicates the maximum number of retries to attempt when an error is encountered. The drive supports retry counts from 0 to 255 (decimal). If the initiator requested the changeable values, this field is set to FFh. The correction span field indicates the largest read data error, in bits, on which correction may be attempted. The drive supports a correction span of 0 to 17 (decimal). If the initiator requested the changeable values, this field is set to FFh. The head offset count field indicates a forced incremental offset, from the center of the track, to use when performing a disk operation. The drive supports three levels of offset in each direction. This field has no effect on offsets used in retry procedures. The data strobe offset count field is not supported by the drive and must be set to zero. The recovery time limit field is not supported and the drive always returns FFh in this field. 7.5.5 Disconnect/Reconnect Parameters Page This section specifies the format of the disconnect/reconnect parameter page (page code 2), as returned by the MODE SENSE command (see Table 7o37, MODE SENSE Disconnect/Reconnect Control Parameters (Page Code 2)). The drive saves a copy of each of these parameters for each initiator. This allows any one initiator to examine its own parameters without affecting the parameters of any other initiator. XT-4000S Product Specification & OEM Technical Manual MODE SENSE Table 7o37 MODE SENSE Disconnect/Reconnect Control Parameters (Page Code 2) A parameter savable (PS) bit of one indicates that the drive saves the parameters supported in this page. When the parameter savable (PS) bit is zero, the drive does not save the page parameters. The drive always returns a one in this bit. The buffer full ratio field specifies how full the internal buffer will be before the drive reconnects to transfer the data to the initiator. The buffer empty ratio field indicates how empty the internal buffer will be before the drive reconnects to transfer more data from the initiator. See Appendix E for further information. The bus inactivity limit field indicates the length of time, in 100 microsecond increments, that the drive is allowed to stay connected to the SCSI bus without any bus activity. The drive supports a range of 1 to 650 (100 to 65,000 microseconds). If the initiator requested the changeable values, this field is set to FFFFh. The disconnect time limit field is not supported and the drive always returns a zero in this field. The connect time limit field is not supported and the drive always returns a zero in this field. 7.5.6 Direct-Access Device Format Parameters Page This section specifies the format of the direct-access device format parameters page (page code 3), as returned by the MODE SENSE command (see Table 7o38, MODE SENSE Direct-Access Device Format Parameters (Page Code 3)). Table 7o38 MODE SENSE Direct-Access Device Format Parameters (Page Code 3) XT-4000S Product Specification & OEM Technical Manual MODE SENSE The parameter savable (PS) bit is always one to indicate that the drive saves the parameters supported in this page. The tracks per zone field indicates the number of tracks per zone. The drive supports either one track per zone, or n tracks per zone, where n is the number of heads. If the initiator requests the changeable values, this field is set to FFFFh. The alternate sectors per zone field indicates the number of alternate sectors per zone to allocate during formatting. The disk drive supports from zero to three alternate sectors per track, or one to n sectors per cylinder, where n is the number of sectors per track, minus one. If the initiator requests the changeable values, this field is set to FFFFh. The alternate tracks per zone field is not supported, and the drive always returns a zero in this field. The alternate tracks per volume field indicates the number of alternate tracks to allocate, or the entire disk, during formatting. Bad tracks are mapped onto the alternate tracks by the FORMAT UNIT or REASSIGN BLOCK commands. If the initiator requests the changeable values, this field is set to FFFFh. NOTE: The number of alternate tracks is rounded up to the nearest cylinder boundary. The actual number of tracks is dependent on the number of heads. The sectors per track field indicates the number of physical sectors per track. If the initiator requests the changeable values, this field is set to FFFFh. The bytes per physical sector field indicates the number of bytes per physical sector. The drive supports sectors sizes of 256 to 4,096 bytes. If the initiator requests the changeable values, this field is set to FFFFh. The interleave value field returns the interleave value specified in the FORMAT UNIT command when the drive was formatted. If the initiator requests the changeable values, this field is set to 0000h. The track skew field indicates the number of physical sectors between the last logical block of one track and the first logical block of the next sequential track of the same cylinder. If the initiator requests the changeable values, this field is set to FFFFh. XT-4000S Product Specification & OEM Technical Manual MODE SENSE The cylinder skew field indicates the number of physical sectors between the last logical block of one cylinder and the first logical block of the next sequential cylinder. The default value FFFFh is a dummy value, which should be used in the MODE SELECT command to indicate that the drive is to compute the value which provides the optimum performance, based upon the selected bytes per physical sector field. If the initiator requests either the current or saved values, the actual value used is reported. If the initiator requests the changeable values, this field is set to FFFFh. The soft sector format (SSEC) bit is not supported and is always set to zero. The hard sector format (HSEC) bit is set to one to indicate that the drive uses hard sector formatting. If the initiator requested the changeable values, this bit is set to zero. The removable media (RMB) bit is not supported and is always set to zero. The surface (SURF) bit is not supported, and the drive always returns a zero in this bit. 7.5.7 Rigid Disk Drive Geometry Parameters Page This section defines the format of the rigid disk drive geometry page (page code 4), as returned by the MODE SENSE command (see Table 7o39, MODE SENSE Rigid Disk Drive Geometry Parameters (Page Code 4)). Table 7o39 MODE SENSE Rigid Disk Drive Geometry Parameters (Page Code 4) A parameter savable (PS) bit of one indicates that the drive saves the parameters supported in this page. When the parameter savable (PS) bit is zero, the drive does not save the page parameters. The drive always returns a one in this bit. The maximum number of cylinders field indicates the maximum number of cylinders available on the drive. This value, minus the alternate tracks per volume (converted to cylinders), and the three cylinders XT-4000S Product Specification & OEM Technical Manual MODE SENSE reserved by the drive, equals the number of cylinders addressable by the user. If the initiator requests the changeable values, this field is set to FFFFFFh. The maximum number of heads field indicates the number of data heads on the drive. The default value for this field depends on the model number (see Table 7o40, MODE SENSE Default Number of Heads). If the initiator requests the changeable values, this field is set to FFh. Table 7o40 MODE SENSE Default Number of Heads The starting cylinder - write precompensation field is not supported, and the drive always returns a zero in this field. The starting cylinder - reduced write current field is not supported, and the drive always returns a zero in this field. The drive step rate field is not supported, and the drive always returns a zero in this field. The landing zone cylinder field is not supported, and the drive always returns a zero in this field. 7.5.8 Caching Page The caching parameters page defines the parameters that affect the use of the read-ahead cache. See Table 7o41, Caching Page. Table 7o41 Caching Page The parameters savable (PS) bit is only used with the MODE SENSE command. This bit is reserved with the MODE SELECT command. A PS bit of one indicates that the drive is capable of saving the page. XT-4000S Product Specification & OEM Technical Manual MODE SENSE The write cache enable (WCE) bit is not supported by the drive and must be set to zero. The multiplication factor (MF) bit is not supported by the drive and must be set to zero. A read cache disable (RCD) bit of zero specifies that the target may return data requested by a READ command by accessing either the cache or media. A RCD bit of one specifies that the target shall transfer all of the data requested by a READ command from the medium (i.e., data cannot be transferred from the cache). The demand read retention priority field is not supported by the drive and must be set to zero. The write retention priority field is not supported by the drive and must be set to zero. The disable pre-fetch transfer length field is not supported by the drive and must be set to zero. The minimum pre-fetch field is not supported by the drive and must be set to zero. Setting the minimum pre-fetch field to zero, causes the read-ahead to be terminated whenever another command is ready for executing. The maximum pre-fetch field is not supported by the drive and must be set to zero. The maximum pre-fetch ceiling field is not supported by the drive and must be set to zero. 7.5.9 Maxtor Drive Control Page Maxtor drive control parameters are in page code 32h. This vendor unique page allows greater flexibility for custom firmware requirements. See Table 7o42 for the format of the Maxtor Drive Control Page. Table 7o42 Maxtor Drive Control Page Bytes two and three indicate unique firmware and user options. XT-4000S Product Specification & OEM Technical Manual MODE SENSE An enable synchronous data transfer request (ESDTR) bit of zero indicates that the target complies with SCSI-2 for negotiating a synchronous data transfer. An ESDTR bit of one indicates that following a power-on or reset, the target will not initiate the first negotiations for a synchronous data transfer. The default condition is one. A format data pattern enable (FDPE) bit of zero indicates that when byte 2 (format data pattern) in the FORMAT UNIT command contains 00h, the default pattern of E5h is used for the format data pattern. An FDPE bit of one indicates that the target does not use the default pattern. The data pattern of 00h will be used in place of the default pattern. The default condition is zero. A contingent reservation (CR) bit of zero indicates that the target comply with SCSI-2 and not set up a contingent reservation. A CR bit of one indicates that an "implied reservation" condition is in effect for the active initiator whenever a check condition occurs. A check condition will cause the target to send RESERVATION CONFLICT status to any other initiator until the check condition is addressed and a RELEASE UNIT command is issued by the active initiator or a SCSI bus reset occurs. The default condition is zero. A disable unit attention (DUA) bit of zero indicates that the target complies with SCSI-2 after reset or power-up. A DUA bit of one indicates that the drive will not issue a CHECK CONDITION for a UNIT ATTENTION condition after reset or on power-up. The default condition is zero. * A START bit of zero indicates that the target start up according to jumpers JP14 and JP38. A START bit of one allows the drive to start as soon as power is applied regardless of the jumper configurations. Subsequent START commands will be accepted without error. The default condition is zero. * A software selectable ID (SSID) bit of zero indicates that the drive SCSI ID is determined by the value set by jumpers JP35, JP36, and JP37 on the drive PCB. An SSID bit of one indicates that the drive SCSI ID is determined by the value of the SCSI address (SCSIADR) bits and the value set by the jumpers will be ignored. The default condition is zero. * XT-4000S Product Specification & OEM Technical Manual MODE SENSE The SCSI address (SCSIADR) bits determine the SCSI ID if the SSID bit is set to one. The default condition is 000b. * Bytes four through seven are reserved for future applications or parameters and are set to zero. *These bits are supported in products that incorporate EEPROM. 7.5.10 Read-Ahead Control Parameters Page This section describes the read-ahead control mode parameters supported by the drive. The format for the read-ahead control page is shown in Table 7o43, Read- Ahead Control Parameters (Page Code 38h). Table 7o43 Read-Ahead Control Parameters (Page Code 38h) If the read-ahead with mechanical delay (RAMD) bit is set to one, read-ahead will not stop when a SEEK is required. This includes a SEEK to the next cylinder or a SEEK to an alternate track. An RAMD bit of zero stops read-ahead whenever a SEEK is required. A cache enable (CE) bit of one enables Read-Ahead. A CE bit of zero disables read-ahead. The cache table size field is non-changeable and set to 0001b. The prefetch threshold field non-changeable and set to FFh. This FFh value indicates that read-ahead (if enabled by the CE bit) is performed for all READ commands, regardless of the transfer length. The prefetch threshold field is the maximum value of the transfer length (as specified in the CDB) for which a read-ahead operation is performed. The maximum prefetch field is not changeable and is reported as the number of logical blocks (at the current block length) which can be stored in the Read- Ahead buffer, which is approximately 45 kilobytes. The maximum prefetch field is the maximum number of data blocks which are prefetched by a Read-Ahead operation. XT-4000S Product Specification & OEM Technical Manual MODE SENSE 7.5.11 Error Conditions If the page code is not valid, the drive returns a CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). If the drive cannot read the default information from the disk drive, it terminates the command with a CHECK CONDITION status. The sense data is set to NOT READY/ILLEGAL FUNCTION FOR DEVICE TYPE (02h/22h). XT-4000S Product Specification & OEM Technical Manual READ XT-4000S Product Specification & OEM Technical Manual READ 7.6 READ The READ command requests that the drive transfer data from the logical unit to the initiator. It causes the disk drive to perform an implied SEEK to the cylinder, head, and sector, which corresponds to the specified LBA. 7.6.1 SCSI Deviations There are no deviations. 7.6.2 Command Parameters The READ CDB is formatted as shown in Table 7o44, READ CDB. Table 7o44 READ CDB The LBA field specifies the logical block at which the read operation begins. The transfer length field specifies the number of contiguous logical blocks of data to be transferred. A transfer length of zero indicates that 256 logical blocks are transferred. 7.6.3 Error Conditions If the LBA is invalid, or if the LBA plus the transfer length results in an invalid block address, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). No data is transferred if this condition occurs. XT-4000S Product Specification & OEM Technical Manual READ (EXTENDED) XT-4000S Product Specification & OEM Technical Manual READ (EXTENDED) 7.7 READ (EXTENDED) The READ (EXTENDED) command requests that the disk drive transfer data from the logical unit to the initiator. It causes the drive to perform an implied SEEK to the cylinder, head, and sector, which corresponds to the specified LBA. 7.7.1 SCSI Deviations There are no deviations. 7.7.2 Command Parameters The READ (EXTENDED) CDB is formatted as shown in Table 7o45, READ (EXTENDED) CDB. Table 7o45 READ (EXTENDED) CDB The LBA specifies the logical block at which the read operation begins. The transfer length field specifies the number of contiguous logical blocks of data to be transferred. A transfer length of zero indicates that no data is transferred, and is not considered an error by the disk drive. 7.7.3 Error Conditions If the LBA is invalid, and/or if the LBA plus the transfer length results in an invalid block address, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). No data is transferred if this condition occurs. XT-4000S Product Specification & OEM Technical Manual READ BUFFER XT-4000S Product Specification & OEM Technical Manual READ BUFFER 7.8 READ BUFFER The READ BUFFER command is used in conjunction with the WRITE BUFFER command as a diagnostic function for testing the drive's data buffer memory and the SCSI bus integrity. There is no media access with this command. 7.8.1 SCSI Deviations There are no deviations. 7.8.2 Command Parameters The READ BUFFER CDB is formatted as shown in Table 7o46, READ BUFFER CDB. Table 7o46 READ BUFFER CDB The function of this command and the meaning of fields within the command descriptor block depend on the contents of the mode field. The drive only supports the combined header and data mode (000b). The allocation length field specifies the number of bytes the initiator has allocated for the returned buffer data. An allocation length of zero is not considered an error by the drive, and no data is sent to the initiator. The initiator may request up to 65,535 bytes to be transferred, including the 4 byte header. If the number of bytes requested exceeds the drive buffer size, the drive transfers the entire buffer and terminates the command without an error. Under this condition, the initiator must check the value in the available length field in the READ BUFFER header (see Table 7o47, READ BUFFER Header) to determine the number of bytes returned. 7.8.3 Command Usage It is recommended that the initiator issue the RESERVE UNIT command before it issues the READ BUFFER command, to ensure that no other initiator sends data to the XT-4000S Product Specification & OEM Technical Manual READ BUFFER drive's data buffer. After the drive has completed the READ BUFFER command, the initiator issues a RELEASE UNIT command to release the drive. To determine the maximum amount of data that can be transferred with the READ BUFFER and WRITE BUFFER commands, the initiator can issue a READ BUFFER command with the allocation length set to four. This causes the drive to return only the READ BUFFER header. Bytes one through three of the header contain the maximum buffer size. 7.8.4 Data Format The combined header and data mode utilizes a four-byte header followed by the data bytes. In this mode the buffer ID and the buffer offset fields are reserved. See Table 7o47, READ BUFFER Header. Table 7o47 READ BUFFER Header The available length field specifies the total number of data bytes that are available in the target's data buffer. This number is not reduced to reflect the allocation length nor is it reduced to reflect the actual number of bytes written using the WRITE BUFFER command. Following the READ BUFFER header, the target shall transfer data from its data buffer. The target terminates the DATA IN phase when allocation length bytes of header plus data have been transferred or when all available header and buffer data have been transferred to the initiator, whichever is less 7.8.5 Error Conditions If the data in the buffer has been modified since the last WRITE BUFFER command was issued, or if no WRITE BUFFER command has been issued since the last RESET condition, the READ BUFFER command is terminated with a CHECK CONDITION status and a MISCOMPARE/Compare Error (0Eh/1Dh) sense key/error code. If the allocation length is set to four or less, the drive does not return this error. XT-4000S Product Specification & OEM Technical Manual READ CAPACITY XT-4000S Product Specification & OEM Technical Manual READ CAPACITY 7.9 READ CAPACITY The READ CAPACITY command is used to determine the maximum logical block number which can be accessed by the initiator. This command also returns the size of the logical block. The information is returned to the initiator during the DATA IN phase. In addition, the command is used to determine whether a file of a given size will fit within a physically contiguous space, by requesting the number of blocks past a specified block before a substantial delay is encountered (i.e., a cylinder boundary). 7.9.1 SCSI Deviations There are no deviations. 7.9.2 Command Parameters The READ CAPACITY CDB is formatted as shown in Table 7o48, READ CAPACITY CDB. Table 7o48 READ CAPACITY CDB The LBA field is only used when the partial medium indicator (PMI) bit is set to one. This field specifies the block address to use when computing the last block before a substantial delay is encountered. A partial medium indicator (PMI) bit of one indicates that the information returned is for the last full logical block (from the block specified in the LBA field) which can be transferred before a substantial delay is encountered (i.e., a cylinder boundary). A partial medium indicator (PMI) bit of zero indicates that the information returned is for the last logical block of the disk drive. XT-4000S Product Specification & OEM Technical Manual READ CAPACITY 7.9.3 Data Format The 8 bytes of READ CAPACITY data is sent to the initiator during the DATA IN phase and is formatted as shown in Table 7o49, READ CAPACITY Data Format. Table 7o49 READ CAPACITY Data Format The LBA field specifies the last logical block on the unit (if the partial medium indicator (PMI) bit is zero), or the last full logical block before a substantial delay is encountered (if the partial medium indicator (PMI) bit is one). The block length field specifies the size of the logical block, in bytes. 7.9.4 Error Conditions If the partial medium indicator (PMI) bit is one, and the LBA is invalid, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). If the partial medium indicator (PMI) bit is zero and the LBA is not zero, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). XT-4000S Product Specification & OEM Technical Manual READ DEFECT LIST XT-4000S Product Specification & OEM Technical Manual READ DEFECT LIST 7.10 READ DEFECT LIST The READ DEFECT LIST command requests that the drive transfer one or more of the defect lists maintained by the drive to the initiator. The initiator may request the original P list, the G list, or both. 7.10.1 SCSI Deviations There are no deviations. 7.10.2 Command Parameters The READ DEFECT LIST CDB is formatted as shown in Table 7o50, READ DEFECT LIST CDB. Table 7o50 READ DEFECT LIST CDB A P list bit of one specifies that the P list should be returned by the drive during the DATA IN phase. To request both lists, this bit may be set in combination with the G list bit. A G list bit of one, specifies that the G list should be returned by the drive during the DATA IN phase. To request both lists, this bit may be set in combination with the P list bit. A request by the initiator for a G list to a drive that has no entries in the G list is not considered an error; instead the drive returns only the P list, if also requested, or if only the G list is requested, the 4 byte header, with the defect list length field set to zero. When both the P and G list bits are set to one, the drive returns both lists. The drive sends the list in ascending order, and merges the lists. When both the P and G list bits are set to zero, the disk drive returns only the defect list header. The defect list format field, byte one, bits zero through two, specifies the format of the returned defect list. Table 7o51, READ DEFECT LIST Defect List XT-4000S Product Specification & OEM Technical Manual READ DEFECT LIST Formats, lists the types of formats supported by the disk drive. NOTE: The initiator should use the drive's internal defect maps, rather than sending a D list to the drive. Maxtor performs extensive testing of all drives, and adds all areas of defective or marginal performance to the defect lists. If the initiator disables the internal lists using the disable primary (DPRY) bit, marginal sectors might cause future loss of data. Also, the drive uses sophisticated algorithms to determine when to deallocate multiple sectors for a single defect. The limitations of the bytes from index format of the READ DEFECT LIST and FORMAT UNIT commands do not allow for reporting the length of a defect, even though this information is stored in the P list. Therefore, the drive is better able to judge when a defect will cross sector boundaries than is the initiator. Table 7o51 READ DEFECT LIST Defect List Formats The allocation length field specifies the number of bytes the initiator has allocated for the returned defect list. The drive terminates the DATA IN phase when the number of bytes transferred reaches the allocation length field value, or when the entire list has been transferred, whichever is less. 7.10.3 Header The defect list header (see Table 7o52, READ DEFECT LIST Header) is transferred from the drive to the initiator during the DATA IN phase of the READ DEFECT LIST command. The defect list header is 4 bytes long, followed by zero or more defect descriptors. The header specifies the format and the total number of bytes in the returned defect list. Table 7o52 READ DEFECT LIST Header XT-4000S Product Specification & OEM Technical Manual READ DEFECT LIST A P list bit of one indicates that the drive returns the P list during the DATA IN phase. This bit may be set in combination with the G list bit. A G list bit of one indicates that the drive returns the G list during the DATA IN phase. This bit may be set in combination with the P list bit. The defect list format field specifies the format of the returned defect list. The defect list length field specifies the total number of bytes (not the total number of defect descriptors) in the defect list. This length does not include the 4 bytes in the header. The defect descriptors are in ascending order. For determining ascending order, the cylinder number of defect is considered the most significant part of the address, and the defect bytes from index/physical sector is considered the least significant part of the address. 7.10.4 Block Format When the block address format is specified, the defect list transferred to the initiator from the drive during the DATA IN phase is formatted as shown in Table 7o53, READ DEFECT LIST Defect Descriptor(s), Block Format. NOTE: This format is not recommended. Table 7o53 READ DEFECT LIST Defect Descriptor(s), Block Format The defect list format field is set to zero to indicate that the list is in block format. The defect list block address field specifies the address of the block that contains the defect. Each defect descriptor for the block format mode specifies a 4 byte block address that contains the defect. XT-4000S Product Specification & OEM Technical Manual READ DEFECT LIST 7.10.5 Bytes from Index Format When the bytes from index format is specified, the defect list, transferred to the initiator from the drive during the DATA IN phase, is formatted as shown in Table 7o54, READ DEFECT LIST Defect Descriptor(s), Bytes from Index Format. Table 7o54 READ DEFECT LIST Defect Descriptor(s), Bytes from Index Format The defect list format is set to 04h to indicate that the list is in bytes from index format. The cylinder number of defect field specifies the physical cylinder number which contains the defect. The head number of defect field specifies the head number which contains the defect. The defect bytes from index field specifies the number of bytes between the index and the defect on the specified track. A value of FFFFFFFFh in the bytes from index field indicates that the entire track is reassigned. 7.10.6 Physical Sector Format When the physical sector format is specified, the defect list, transferred to the initiator from the drive during the DATA IN phase, is formatted as shown In Table 7o55, READ DEFECT LIST Defect Descriptor(s), Physical Sector Format. Table 7o55 READ DEFECT LIST Defect Descriptor(s), Physical Sector Format The defect list format field is set to 05h to indicate the list is in physical sector format. The cylinder number of defect field specifies the cylinder number which contains the defect. XT-4000S Product Specification & OEM Technical Manual READ DEFECT LIST The head number of defect field specifies the head number which contains the defect. The defect sector number field specifies the sector number which contains the defect. A defect sector number of FFFFFFFFh indicates that the entire track was reassigned. 7.10.7 Error Conditions If the preferred defect list format does not specify block, bytes from index, or physical format, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). XT-4000S Product Specification & OEM Technical Manual READ LONG XT-4000S Product Specification & OEM Technical Manual READ LONG 7.11 READ LONG The READ LONG command requests the drive to perform a read operation of one data block and the 6 ECC bytes associated with that block. The data from the block and the ECC bytes are transferred to the initiator during the DATA IN phase. NOTE: The READ LONG command does not perform any ECC correction when reading the disk. 7.11.1 SCSI Deviations The disk drive recognizes either E8h or 3Eh as being the READ LONG command. Maxtor implemented E8h before the SCSI-2 definition of 3Eh. The E8h form is a vendor unique command, and thus is outside of the SCSI standard. The 3Eh form of the command is the defined SCSI-2 version of the READ LONG command. The Maxtor vendor unique definition differs from the SCSI-2 definition in that Maxtor (E8h) defines bytes seven and eight of the CDB as always equal to zero, and the transfer length is always one sector (plus the ECC bytes). The E8h command does not support the CORRCT bit in byte one. 7.11.2 Command Parameters The READ LONG CDB is formatted as shown in Table 7o56, READ LONG CDB. Table 7o56 READ LONG CDB The block address field specifies the block at which the read long operation begins. CAUTION: The physical location of the READ LONG and WRITE LONG block address is always computed using the physical sector size instead of the logical block size. XT-4000S Product Specification & OEM Technical Manual READ LONG 7.11.3 Error Conditions If the block address is invalid, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). XT-4000S Product Specification & OEM Technical Manual READ LONG (SCSI-2) XT-4000S Product Specification & OEM Technical Manual READ LONG (SCSI-2) 7.12 READ LONG (SCSI-2) The READ LONG command requests that the drive transfer data to the initiator. The data passed during the READ LONG command includes the data bytes and the ECC bytes recorded on the medium. The most recent data written in the addressed logical block is returned. See Table 7o57, READ LONG Command. Table 7o57 READ LONG Command A corrected (CORRCT) bit of zero causes a logical block to be read without any correction made by the target. A CORRCT bit of one causes the data to be corrected by ECC before being transferred to the initiator. The logical block address field specifies the logical block to be read. The byte transfer length field must specify the exact number of bytes of data to be transferred. If a non- zero byte transfer length does not exactly match the available data length, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB. The valid and ILI bits are set to one and the information field is set to the difference of the requested length minus the actual length in bytes. Negative values are indicated by two's complement notation. XT-4000S Product Specification & OEM Technical Manual READ MANUFACTURERS DEFECT LIST XT-4000S Product Specification & OEM Technical Manual READ MANUFACTURERS DEFECT LIST 7.13 READ MANUFACTURERS DEFECT LIST The READ MANUFACTURERS DEFECT LIST returns a list of defects recorded by the manufacturer for the drive. The data is returned in the format shown in Table 7o59, READ MANUFACTURERS DEFECT LIST Defect Descriptors Returned Format. The defect descriptor is repeated once for each defect reported. 7.13.1 SCSI Deviations This implementation is vendor unique. 7.13.2 Command Parameters The READ MANUFACTURERS DEFECT LIST CDB is formatted as shown in Table 7o58. Table 7o58 READ MANUFACTURERS DEFECT LIST CDB 7.13.3 Data Format The defect descriptor(s) returned is shown in Table 7o59. Table 7o59 READ MANUFACTURERS DEFECT LIST Defect Descriptors Returned Format XT-4000S Product Specification & OEM Technical Manual REASSIGN BLOCK XT-4000S Product Specification & OEM Technical Manual REASSIGN BLOCK 7.14 REASSIGN BLOCK The REASSIGN BLOCK command requests that the drive relocate a logical block(s) from a defective physical sector(s) to a physical sector(s) without defect. During the DATA OUT phase, the initiator transfers a defect list that contains the logical block(s) to be reassigned. The drive reassigns the media used for each logical block specified by the initiator. The data contained in those blocks specified by the initiator may be altered, but the data in all other blocks is preserved. During the reassign operation, if all available spare sectors within a zone (see 7.4.6 Format Device Page (MODE SELECT), or 7.5.6 Direct-Access Device Format Parameters Page (MODE SENSE) earlier in this chapter) become allocated, the entire track is marked as defective in the G list, and an alternate track is used. The disk drive moves all data blocks on the track to the alternate track. If all the spare sectors on an alternate track have been used, the alternate track is relocated to another alternate track. Successful completion of a REASSIGN BLOCK command results in one or more new entries in the G list. 7.14.1 SCSI Deviations There are no deviations. 7.14.2 Command Parameters The REASSIGN BLOCK CDB is formatted as shown in Table 7o60, REASSIGN BLOCK CDB. Table 7o60 REASSIGN BLOCK CDB XT-4000S Product Specification & OEM Technical Manual REASSIGN BLOCK 7.14.3 Defect List Format The REASSIGN BLOCK parameter list consists of a 4 byte header (Table 7o61, REASSIGN BLOCK Defect List Header), which contains the defect list length, followed by zero or more defect descriptors. The length of each descriptor is 4 bytes. This information is transferred from the initiator to the drive during the DATA OUT phase of the REASSIGN BLOCK command. Table 7o61 REASSIGN BLOCK Defect List Header The defect list length field specifies the total length, in bytes, of the defect descriptors that follow. The length is equal to four times the number of defect descriptors. A defect list length of zero is not considered an error by the drive. The defect descriptor contains the 4 byte defect LBA (see Table 7o62, REASSIGN BLOCK Defect Descriptor(s)) that specifies the location of the defect. The defect descriptors must be in ascending order. Table 7o62 REASSIGN BLOCK Defect Descriptor(s) 7.14.4 Error Conditions If the drive has insufficient capacity to reassign all the defective blocks, the drive terminates the command with CHECK CONDITION status. The sense data is set to MEDIUM ERROR/NO DEFECT SPARE LOCATION AVAILABLE (03h/32h). If the defect LBA is invalid, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). XT-4000S Product Specification & OEM Technical Manual RECEIVE DIAGNOSTIC RESULTS XT-4000S Product Specification & OEM Technical Manual RECEIVE DIAGNOSTIC RESULTS 7.15 RECEIVE DIAGNOSTIC RESULTS The RECEIVE DIAGNOSTIC RESULTS command requests analysis data be sent to the initiator after completion of a SEND DIAGNOSTIC command. 7.15.1 SCSI Deviations There are no deviations. 7.15.2 Command Parameters The RECEIVE DIAGNOSTIC RESULTS CDB is formatted as shown in Table 7o63, RECEIVE DIAGNOSTIC RESULTS CDB. Table 7o63 RECEIVE DIAGNOSTIC RESULTS CDB The allocation length field specifies the number of bytes that the initiator has allocated for the returned diagnostic data. An allocation length of zero indicates that no diagnostic data is returned. Any other value indicates the maximum number of bytes the drive transfers. The data transfer terminates when the number of bytes in the allocation length has been transferred, or when all the available diagnostic data has been transferred, whichever is less. See 7.22 SEND DIAGNOSTIC later in this chapter, for a description of data sent to the initiator from the disk drive during the DATA IN phase of a RECEIVE DIAGNOSTIC RESULTS command. 7.15.3 Data Format See 7.22 SEND DIAGNOSTIC later in this chapter. 7.15.4 Error Conditions If the RECEIVE DIAGNOSTIC RESULTS command is not preceded by a SEND DIAGNOSTIC command, the disk drive terminates the command with CHECK CONDITION status. XT-4000S Product Specification & OEM Technical Manual RECEIVE DIAGNOSTIC RESULTS The sense data is set to ILLEGAL REQUEST/INVALID COMMAND (05h/20h). XT-4000S Product Specification & OEM Technical Manual RELEASE UNIT XT-4000S Product Specification & OEM Technical Manual RELEASE UNIT 7.16 RELEASE UNIT The RELEASE UNIT command causes the drive (previously reserved by the RESERVE UNIT command) to be released. Once the RELEASE UNIT command is issued, other initiators can access the disk drive. It is not an error to release a disk drive which is not currently reserved. An initiator that holds a current reservation may modify that reservation by issuing another RELEASE UNIT command. The superseding RELEASE UNIT command releases the previous reservation when the new reservation is granted. The previous reservation is not modified if the new reservation cannot be granted, and the drive returns a RESERVATION CONFLICT status. 7.16.1 SCSI Deviations The disk drive does not support the extent release option. 7.16.2 Command Parameters The RELEASE UNIT CDB is formatted as shown in Table 7o64, RELEASE UNIT CDB. Table 7o64 RELEASE UNIT CDB If the third party reservation (3rdPty) bit is set to one, the drive is released, provided the following conditions are true: o The unit was originally reserved using the third party option in the RESERVE UNIT command. o The same initiator that issued the RESERVE UNIT command is requesting the release of the drive. o The initiator specifies the same SCSI bus device ID in the third party ID field as was specified in that field by the initiator in the RESERVE UNIT command. XT-4000S Product Specification & OEM Technical Manual RELEASE UNIT The third party device ID field specifies the SCSI bus device ID for which the drive was reserved. 7.16.3 Error Conditions If the extent reservation option is specified, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). If the third party release option is specified, and the unit was not originally reserved with the third party option, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). If the third party release option is specified, and the third party device ID is not the same as the one specified in the original RESERVE UNIT command, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). If the third party release option is specified, and the initiator SCSI ID is not the same as that of the initiator which originally reserved the unit, the drive terminates the command with a RESERVATION CONFLICT status. XT-4000S Product Specification & OEM Technical Manual REQUEST SENSE XT-4000S Product Specification & OEM Technical Manual REQUEST SENSE 7.17 REQUEST SENSE The REQUEST SENSE command provides a means for the initiator to obtain more detailed information after execution of a command. Typically, a REQUEST SENSE command is issued if the previous command has completed with a CHECK CONDITION status returned to the initiator. An initiator should issue a REQUEST SENSE command as soon as it receives a CHECK CONDITION status to obtain the sense data saved by the drive. The initiator can issue several REQUEST SENSE commands at this time to obtain the extended sense data, as well as the nonextended sense data. However, when the drive receives a command other than a REQUEST SENSE the drive clears the sense data for the previous command. Although Maxtor supports the nonextended sense format, it is not recommended that this format be used in any future products. All new development should use the extended sense format, and the sense key, to process any errors. 7.17.1 SCSI Deviations There are no deviations. 7.17.2 Command Parameters The REQUEST SENSE CDB is formatted as shown in Table 7o65, REQUEST SENSE CDB. Table 7o65 REQUEST SENSE CDB The allocation length field specifies the number of bytes of data the initiator has allocated for the sense information. The drive transfers sense data until the allocation length is exhausted, or until all of the sense data has been transferred, whichever is less. The count supplied determines the format of the returned sense data, as explained in the following subsection. XT-4000S Product Specification & OEM Technical Manual REQUEST SENSE 7.17.3 Data Format The format of the returned sense data depends on the number of bytes specified in the allocation length field of the CDB. Two sense data formats are supported: o An allocation length of zero results in a transfer of 4 bytes in the nonextended sense data format. o An allocation length greater than zero results in a transfer of up to the requested number of sense bytes, or until all the sense data has been transferred, in the extended sense data format. A NONEXTENDED SENSE DATA FORMAT When the allocation length is zero, the disk drive returns the nonextended sense data for all commands (see Table 7o66, REQUEST SENSE Nonextended Sense Data Format). Although Maxtor supports the nonextended sense data format, it is not recommended that this format be used in any future products. All new development should use the extended sense data format, and the sense key, to process any errors. Table 7o66 REQUEST SENSE Nonextended Sense Data Format When set, the valid bit indicates that the LBA field contains valid information related to the error condition. The LBA field specifies the LBA associated with the error class and error code. For the FORMAT UNIT command, these bytes can be either logical or physical block addresses, depending on the format specified for the defect list. Together, the error class field and the error code field are called the nonextended sense code and indicate the type of error that occurred. (See Table 7o72, Additional Sense Codes.) XT-4000S Product Specification & OEM Technical Manual REQUEST SENSE B EXTENDED SENSE DATA FORMAT The extended sense data format is available for all commands, and is returned by the drive when the allocation length specified in the REQUEST SENSE command is greater than 0 bytes (see Table 7o67, Extended Sense Data Format). Table 7o67 Extended Sense Data Format A valid bit of one indicates the information field contains valid information related to the error condition. The error code field indicates the type of error being reported. The drive supports the reporting of current errors. The segment number field is not supported by the drive and is returned as zero. The incorrect length indicator (ILI) bit indicates that the data available in the buffer is greater than the allocation length specified in the READ BUFFER command. The sense key, additional sense code and additional sense code qualifier provide information relating to the error and exception conditions. The sense key definitions are given in Table 7o72. The contents of the information field is command specific and is valid only if the valid bit is one. The additional sense length field indicates the number of additional sense bytes to follow. If the allocation length of the command descriptor block is too small to transfer all of the additional sense bytes, the additional sense length is not adjusted to reflect the truncation. The command-specific information field may contain information following a REASSIGN BLOCKS command that fails. The additional sense code definitions are given in Table 7o72. If the condition is not reportable by the XT-4000S Product Specification & OEM Technical Manual REQUEST SENSE drive, the additional sense code is set to NO ADDITIONAL SENSE INFORMATION. The additional sense code qualifier definitions are given in Table 7o72. If the error condition is not reportable by the drive, the additional sense code qualifier should be set to NO ADDITIONAL SENSE INFORMATION. The field replaceable unit code is not supported by the drive is returned as zero. The sense-key specific field is valid when the value of the sense-key specific valid (SKSV) bit is one. The definition of this field is determined by the value of the sense key field. This field is reserved for sense keys not described below. An SKSV bit of zero indicates that this field does not contain valid information. If the sense key is ILLEGAL REQUEST and the SKSV bit is one these fields point to illegal parameters in command descriptor blocks and data parameters. These sense-key specific fields are defined in Table 7o68. Table 7o68 Field Pointer Bytes A command data (C/D) bit of one indicates that the illegal parameter is in the command descriptor block. A C/D bit of zero indicates that the illegal parameter is in the data parameters sent by the initiator during the DATA OUT phase. A bit pointer valid (BPV) bit of zero indicates that the value in the bit pointer field is not valid. A BPV bit of one indicates that the bit pointer field specifies which bit of the byte designated by the field pointer field is in error. When a multiple-bit field is in error, the bit pointer field points to the most- significant (left-most) bit of the field. The field pointer field indicates which byte of the command descriptor block or of the parameter data was in error. Bytes are numbered starting from zero, as shown in the tables describing the commands and parameters. When a multiple-byte field is in error, XT-4000S Product Specification & OEM Technical Manual REQUEST SENSE the pointer points to the most- significant (left-most) byte of the field. If the sense key is RECOVERED ERROR, HARDWARE ERROR or MEDIUM ERROR and if the SKSV bit is one, the sense-key specific fields identify the actual number of retries used in attempting to recover from the error condition. These fields are defined in Table 7o69. Table 7o69 Actual Retry Count Bytes The actual retry count field returns information on the actual number of retries used in attempting to recover an error or exception condition. If the sense key is NOT READY and the SKSV bit is one, the sense-key specific these fields are defined for the FORMAT UNIT command with the Immed bit set to one. These fields are defined in Table 7o70. Table 7o70 Format Progress Indication Bytes The progress indication field is a percent complete indication in which the returned value is the numerator that has 65536 (10000h) as its denominator. The progress indication is based upon the total format operation including any certification or initialization operations. The sense key field indicates status information about any errors detected during the operation. The errors are listed and defined in Table 7o71, REQUEST SENSE Extended Sense Key Codes. Table 7o71 REQUEST SENSE Extended Sense Key Codes XT-4000S Product Specification & OEM Technical Manual REQUEST SENSE C SENSE CODES Table 7o72, Additional Sense Codes, lists and describes the sense codes supported by the disk drive. Table 7o72 Additional Sense Codes Table 7o72 (cont'd) Additional Sense Codes Table 7o72 (cont'd) Additional Sense Codes 7.17.4 Error Conditions If a CHECK CONDITION status is received on a REQUEST SENSE command, any sense data returned by the target is invalid. XT-4000S Product Specification & OEM Technical Manual RESERVE UNIT XT-4000S Product Specification & OEM Technical Manual RESERVE UNIT 7.18 RESERVE UNIT The RESERVE UNIT command is used to reserve the specified drive for exclusive use by the initiator or a designated third party. This reservation remains in effect until one of the following conditions releases the reservation: o a RELEASE UNIT command from the same initiator is received by the drive. o a BUS DEVICE RESET message is received by the drive from any initiator. o a SCSI BUS RESET occurs. If a RESERVE UNIT command, or any other command, is received for a drive which is reserved by another initiator, the drive returns RESERVATION CONFLICT status. An initiator that holds a current reservation may modify that reservation by issuing another RESERVE UNIT command. The superseding RESERVE UNIT command releases the previous reservation when the new reservation is granted. The previous reservation is not modified if the new reservation cannot be granted, and the drive returns RESERVATION CONFLICT status. 7.18.1 SCSI Deviations The disk drive does not support the extent reservation option. The disk drive does not support reservation queuing. If a RESERVE UNIT command is received for a logical unit which is already reserved for a different initiator, the drive returns RESERVATION CONFLICT status. 7.18.2 Command Parameters The RESERVE UNIT CDB is formatted as shown in Table 7o73, RESERVE UNIT CDB. Table 7o73 RESERVE UNIT CDB XT-4000S Product Specification & OEM Technical Manual RESERVE UNIT The third party reservation (3rdPty) bit allows an initiator to reserve a disk drive for another device on the SCSI bus. If the third party reservation (3rdPty) bit is set to one, an initiator is allowed to reserve the specified drive for the SCSI bus device specified in the third party device ID field, byte one, bits one through three. This option is intended for use in multiple-initiator systems. Any device that uses the third party reservation option to reserve must also use the third party reservation option to release (see 7.16 RELEASE UNIT earlier in this chapter) before any other commands can be sent. The third party device ID field specifies the SCSI bus device ID of the device being reserved. The ID is valid only when the third party reservation bit is set to one. The extent bit is not supported and must be set to zero. The reservation identification field is not supported and must be set to zero. The extent list length field is not supported and must be set to zero. 7.18.3 Error Conditions If the extent, reservation identification, or extent list length fields are not zero, the drive terminates the command with a CHECK CONDITION status and an ILLEGAL REQUEST/Invalid Field in CDB (05h/24h) sense key/error code. XT-4000S Product Specification & OEM Technical Manual REZERO UNIT XT-4000S Product Specification & OEM Technical Manual REZERO UNIT 7.19 REZERO UNIT The REZERO UNIT command requests that the drive set the logical unit to cylinder zero. 7.19.1 SCSI Deviations There are no deviations. 7.19.2 Command Parameters The REZERO UNIT CDB is formatted as shown in Table 7o74, REZERO UNIT CDB. Table 7o74 REZERO UNIT CDB XT-4000S Product Specification & OEM Technical Manual SEEK XT-4000S Product Specification & OEM Technical Manual SEEK 7.20 SEEK The SEEK command causes the disk drive to SEEK to the cylinder of the specified logical block location. If the logical block number specifies a block on a defective track, the SEEK to the alternate track is not performed until the drive receives and processes a command which accesses the media. 7.20.1 SCSI Deviations There are no deviations. 7.20.2 Command Parameters The SEEK CDB is formatted as shown in Table 7o75, SEEK CDB. Table 7o75 SEEK CDB The LBA field specifies the LBA to seek to. When the SEEK command completes without any errors, the read/write heads are positioned at the cylinder of the specified block address. 7.20.3 Error Conditions If the LBA is invalid, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). XT-4000S Product Specification & OEM Technical Manual SEEK (EXTENDED) XT-4000S Product Specification & OEM Technical Manual SEEK (EXTENDED) 7.21 SEEK (EXTENDED) The SEEK (EXTENDED) command causes the disk drive to SEEK to the cylinder of the specified logical block location. If the logical block number specifies a block on a defective track, the SEEK to the alternate track is not performed until the drive receives and processes a command which accesses the media. 7.21.1 SCSI Deviations There are no deviations. 7.21.2 Command Parameters The SEEK (EXTENDED) CDB is formatted as shown in Table 7o76, SEEK (EXTENDED) CDB. Table 7o76 SEEK (EXTENDED) CDB The LBA field specifies the block address to seek to. When the SEEK command completes without any errors the drive is positioned at the specified block address. 7.21.3 Error Conditions If the LBA is invalid, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC 7.22 SEND DIAGNOSTIC The SEND DIAGNOSTIC command requests the drive to perform diagnostic tests. This command is usually followed by the RECEIVE DIAGNOSTIC RESULTS command, except when the self-test (SlfTst) bit is set to one. The SEND DIAGNOSTIC and RECEIVE DIAGNOSTIC RESULTS commands support a number of vendor unique subcommands. See 7.22.4 Subcommands (SEND DIAGNOSTIC) later in this chapter, for details. 7.22.1 SCSI Deviations Except for the self-test, the specified diagnostic command is not executed until the drive receives a RECEIVE DIAGNOSTIC RESULTS command from the same initiator that issued the SEND DIAGNOSTIC command. The device off-line (DevOfl) and unit off-line (UntOfl) fields (see Table 7o77, SEND DIAGNOSTIC CDB) are only used for the self-test mode of the SEND DIAGNOSTIC command. Except for the self-test mode, any errors that occur during the execution of a diagnostic subcommand are reported as a CHECK CONDITION status for the RECEIVE DIAGNOSTIC RESULTS command. This condition occurs because the diagnostic subcommand is not actually executed until the RECEIVE DIAGNOSTIC RESULTS command is issued. 7.22.2 Command Parameters The SEND DIAGNOSTICS CDB is formatted as shown in Table 7o77, SEND DIAGNOSTIC CDB. Table 7o77 SEND DIAGNOSTIC CDB The self-test (SlfTst) bit directs the drive to perform the self-test on the drive specified in the CDB. No device access occurs during this test. XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC The device off-line (DevOfl) bit is not supported by the drive and is always set to zero. The unit off-line (UntOfl) bit directs the drive to perform the device diagnostics on the disk drive. This bit is only used when the self-test bit is set to one, and must be set to zero at all other times. The unit off-line (UntOfl) bit, in conjunction with the self-test bit, specifies the type of tests to be performed by the drive. Table 7o78, SEND DIAGNOSTIC Drive Self-Test Options, lists and describes the options and the tests performed. Table 7o78 SEND DIAGNOSTIC Drive Self-Test Options The device diagnostics perform write and verify operations on each surface of the diagnostic cylinder of the specified drive. If any sectors on the diagnostic cylinder cannot be written or verified by using two different bit patterns, the drive returns CHECK CONDITION status. The sense data is set to MEDIA ERROR/UNCORRECTABLE DATA ERROR (03h/11h). The sense information bytes contain the number of bad sectors found on this cylinder. The parameter list length field, bytes three and four, specifies the length (in bytes) of the parameter list transferred from the initiator to the drive during the DATA OUT phase of the SEND DIAGNOSTIC command. The parameter list contains a diagnostic subcommand and any additional information required. Each subcommand is described in 7.22.4 Subcommands (SEND DIAGNOSTIC) later in this chapter. When the self-test (SlfTst) bit is set to one, the parameter list length field must be set to zero. 7.22.3 Error Conditions If the device off-line (DevOfl) bit is not zero, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC If the self-test (SlfTst) bit is zero and the unit off- line (UntOfl) bit is not zero, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). If the self-test (SlfTst) bit is set to one and the parameter list length field is not zero, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB (05h/24h). If the diagnostic subcommand specified in the parameter list is not legal, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN PARAMETER LIST (05h/26h). 7.22.4 Subcommands A GET DRIVE STATUS SUBCOMMAND The GET DRIVE STATUS subcommand, shown in Table 7o79, GET DRIVE STATUS Subcommand Parameter List, causes the drive to return unmodified status from the drive. The disk drive begins to execute the subcommand and transfer the status data when it has received the appropriate RECEIVE DIAGNOSTIC RESULTS command from the initiator Table 7o79 GET DRIVE STATUS Subcommand Parameter List The subcommand code field is set to 03h to specify the GET DRIVE STATUS diagnostic subcommand. The number of bytes to transfer field specifies the number of status bytes to transfer to the initiator during the RECEIVE DIAGNOSTIC RESULTS command. The GET DRIVE STATUS subcommand always returns five bytes, or the number specified in this field, whichever is less. The remaining bytes are reserved and must be set to zero. Data for the GET DRIVE STATUS diagnostic subcommand is transferred in the format shown in Table 7o80, GET DRIVE STATUS Data Format. XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC Table 7o80 GET DRIVE STATUS Data Format The command status field indicates the status of the command. Table 7o81, GET DRIVE STATUS Command Status Values, lists the possible values for this field. NOTE: If the last ESDI command to the drive caused a fault condition, the drive returns the status of the previous command. Otherwise, it gets the current status from the drive. Table 7o81 GET DRIVE STATUS Command Status Values The ESDI drive status field indicates the status of the ESDI drive. The status returned is specific to the Maxtor XT-4000E Family disk drive. For further details, see XT-4000E Product Specification & OEM Manual. NOTE: The drive clears the ESDI drive status field after it has processed the GET DRIVE STATUS subcommand. The vendor unique status field specifies vendor unique status. B PASS DRIVE COMMAND SUBCOMMAND The PASS DRIVE COMMAND subcommand, shown in Table 7o82, PASS DRIVE COMMAND Subcommand Parameter List, causes the drive to pass the drive command from the initiator to the disk drive. The drive begins to execute the subcommand and transfer status data when it has received the appropriate RECEIVE DIAGNOSTIC RESULTS command from the initiator. Table 7o82 PASS DRIVE COMMAND Subcommand Parameter List XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC The subcommand code is set to 04h to specify the PASS DRIVE COMMAND diagnostic subcommand. The number of bytes to transfer field specifies the number of status bytes to transfer to the initiator during the RECEIVE DIAGNOSTIC RESULTS command. The initiator may request up to 5 bytes of drive status. The PASS DRIVE COMMAND subcommand always returns 5 bytes, or the number specified in this field, whichever is less. The drive command field specifies a command specific to the ESDI internal interface within the disk drive. For further details, see XT-4000E Product Specification & OEM Manual. The remaining bytes are reserved and must be set to zero. The format for the status data returned from the PASS DRIVE COMMAND diagnostic subcommand is shown in Table 7o83, PASS DRIVE COMMAND Status Data Format. Table 7o83 PASS DRIVE COMMAND Status Data Format The command status field indicates the status of the command. Table 7o84, PASS DRIVE COMMAND Command Status Values, lists the possible values for this field. Table 7o84 PASS DRIVE COMMAND Command Status Values The ESDI drive status field indicates the status of the ESDI disk drive. The status returned is specific to the XT-4000E and XT-8000E Family disk drives. See Table 7o85, PASS DRIVE COMMAND Standard Status Response Bits. NOTE: The disk drive clears the ESDI drive status field after it has processed the PASS DRIVE COMMAND subcommand. XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC Table 7o85 PASS DRIVE COMMAND Standard Status Response Bits C READ HEADER SUBCOMMAND The READ HEADER diagnostic subcommand, shown in Table 7o86, READ HEADER Subcommand Parameter List, causes the drive to perform a read operation of the header address field for all blocks on a track. The drive begins to execute the subcommand and transfer data when it has received the appropriate RECEIVE DIAGNOSTIC RESULTS command from the initiator. Table 7o86 READ HEADER Subcommand Parameter List The subcommand code is set to 07h to specify the READ HEADER diagnostic subcommand. The block address field specifies the block address on the track where the read header diagnostic operation is performed. The remaining byte is reserved and must be set to zero. The drive transfers data for the READ HEADER diagnostic subcommand during the DATA OUT phase, in the format shown in Table 7o87, READ HEADER Data Format. The data format is repeated for each block in the track. Table 7o87 READ HEADER Data Format Table 7o88 TRANSLATE Subcommand parameter List XT-4000S Product Specification & OEM Technical Manual SEND DIAGNOSTIC Table 7o89 TRANSLATE Data Format The cylinder number field indicate the cylinder number of the specified track. The head number field indicates the head number. The sector number field indicates the sector number. A defective track (DT) bit of one indicates the entire track is defective. A spare sector (SS) bit of one indicates this is a spare sector on the track XT-4000S Product Specification & OEM Technical Manual START/STOP UNIT XT-4000S Product Specification & OEM Technical Manual START/STOP UNIT 7.23 START/STOP UNIT The START/STOP UNIT command requests that the drive spin up or spin down. 7.23.1 SCSI Deviations There are no deviations. 7.23.2 Command Parameters The CDB for the START/STOP UNIT command is formatted as shown in Table 7o90, START/STOP UNIT CDB. Table 7o90 START/STOP UNIT CDB An immediate (Immed) bit of one indicates that status is to be returned as soon as the operation is initiated. If the immediate bit is zero, the drive returns the status when the operation is completed. A start bit of one requests that the drive be made ready for use. A start bit of zero requests that the drive be spun down. 7.23.3 Error Conditions If a command which accesses the media is sent to the drive after a STOP UNIT command (START/STOP UNIT command with start bit equal to zero), the drive returns CHECK CONDITION status. The sense data is set to NOT READY/DRIVE NOT READY (02h/04h). XT-4000S Product Specification & OEM Technical Manual TEST UNIT READY XT-4000S Product Specification & OEM Technical Manual TEST UNIT READY 7.24 TEST UNIT READY The TEST UNIT READY command provides a means for the initiator to check whether the drive is ready. 7.24.1 SCSI Deviations There are no deviations. 7.24.2 Command Parameters The CDB for the TEST UNIT READY command is formatted as shown in Table 7o91, TEST UNIT READY CDB. Table 7o91 TEST UNIT READY CDB 7.24.3 Error Conditions If the logical unit is not ready, the drive returns a CHECK CONDITION or BUSY status in response to this command. A REQUEST SENSE command can be issued to obtain detailed information about the reason the drive is not ready (unavailable). XT-4000S Product Specification & OEM Technical Manual VERIFY XT-4000S Product Specification & OEM Technical Manual VERIFY 7.25 VERIFY The VERIFY command requests that the drive verify the data written on the drive. Verification may be performed either as a byte-by-byte comparison, or by confirming that the data and ECCs correspond to each other. 7.25.1 SCSI Deviations There are no deviations. 7.25.2 Command Parameters The VERIFY CDB is formatted as shown in Table 7o92, VERIFY CDB. Table 7o92 VERIFY CDB A byte check (BytChk) bit of one causes the specified logical blocks to be read from the disk and compared with the data transferred from the initiator. The ECC is also checked. Data is transferred from the initiator in a DATA OUT phase, just as in a write operation. If the byte check (BytChk) bit is set to zero, the data is read from the disk and the ECC is checked for correctness; no DATA OUT phase occurs between the initiator and the drive. The LBA field specifies the logical block at which the verify operation begins. The verification length field specifies the number of contiguous logical blocks of data to be verified. A verification length of zero indicates that no data is verified and is not considered an error by the drive. 7.25.3 Error Conditions If the LBA is invalid, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). XT-4000S Product Specification & OEM Technical Manual VERIFY If the LBA, plus the verification length, results in an invalid block address, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). XT-4000S Product Specification & OEM Technical Manual WRITE XT-4000S Product Specification & OEM Technical Manual WRITE 7.26 WRITE The WRITE command requests that the drive write the data transferred by the initiator to the media. It also causes the drive to perform an implied SEEK to the cylinder, head, and sector which corresponds to the specified LBA. 7.26.1 SCSI Deviations There are no deviations. 7.26.2 Command Parameters The CDB for the WRITE command is formatted as shown in Table 7o93, WRITE CDB. Table 7o93 WRITE CDB The LBA field specifies the logical block at which the write operation begins. The transfer length field specifies the number of contiguous logical blocks of data to be transferred. A transfer length of zero indicates that 256 logical blocks are transferred. 7.26.3 Error Conditions If the LBA is invalid or if the LBA plus the transfer length result in an invalid block address, the disk drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). No data is transferred if this condition occurs. XT-4000S Product Specification & OEM Technical Manual WRITE (EXTENDED) XT-4000S Product Specification & OEM Technical Manual WRITE (EXTENDED) 7.27 WRITE (EXTENDED) The WRITE (EXTENDED) command requests that the drive write the data transferred by the initiator to the media. It also causes the drive to perform an implied SEEK to the cylinder, head, and sector which corresponds to the specified LBA. 7.27.1 SCSI Deviations There are no deviations. 7.27.2 Command Parameters The CDB for the WRITE (EXTENDED) command is formatted as shown in Table 7o94, WRITE (EXTENDED) CDB. Table 7o94 WRITE (EXTENDED) CDB The LBA field specifies the logical block at which the write operation begins. The transfer length field specifies the number of contiguous logical blocks of data to be transferred. A transfer length of zero indicates that no data is transferred, and is not considered an error by the drive. 7.27.3 Error Conditions If the LBA field is invalid, and/or if the LBA plus the transfer length result in an invalid block address, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). No data is transferred if this condition occurs. XT-4000S Product Specification & OEM Technical Manual WRITE & VERIFY XT-4000S Product Specification & OEM Technical Manual WRITE & VERIFY 7.28 WRITE AND VERIFY The WRITE AND VERIFY command requests that the drive write the data transferred from the initiator to the disk drive and then verify that the data is correctly written. The drive supports both the media verification against ECC, and byte-by-byte comparison options. 7.28.1 SCSI Deviations There are no deviations. 7.28.2 Command Parameters The WRITE AND VERIFY CDB is formatted as in Table 7o95, WRITE AND VERIFY CDB. Table 7o95 WRITE AND VERIFY CDB A byte check (BytChk) bit of one causes the specified logical blocks to be read from the disk and compared with the data transferred from the initiator. The ECC is also checked. Data is transferred from the initiator in a DATA OUT phase, just as in a write operation. If the byte check (BytChk) bit is set to zero, the data is read from the disk and the ECC is checked for correctness; no DATA OUT phase occurs between the initiator and the disk drive. The LBA field specifies the logical block at which the write operation begins. The transfer length field specifies the number of contiguous logical blocks of data are transferred. A transfer length of zero indicates that no logical blocks are transferred. This condition is not considered an error and no data is written. Any other value indicates the number of logical blocks that are transferred. XT-4000S Product Specification & OEM Technical Manual WRITE BUFFER XT-4000S Product Specification & OEM Technical Manual WRITE BUFFER 7.29 WRITE BUFFER The WRITE BUFFER command is used in conjunction with the READ BUFFER command, as a diagnostic function for testing the disk drive's data buffer memory and the SCSI bus integrity. There is no media access with this command. To determine the maximum amount of data that can be transferred with the READ BUFFER and WRITE BUFFER commands, the initiator can issue a READ BUFFER command with the allocation length field set to four. Bytes two and three contain the maximum buffer size. 7.29.1 SCSI Deviations There are no deviations. 7.29.2 Command Parameters The WRITE BUFFER CDB is formatted as shown in Table 7o96, WRITE BUFFER CDB. Table 7o96 WRITE BUFFER CDB This command does not alter the medium of the drive. The function of this command and the meaning of fields within the command descriptor block depend on the contents of the mode field. The drive supports only the combined header and data mode (000b). 7.29.3 Data Format The combined header and data mode specifies that the data to be transferred is preceded by a four-byte header. The four-byte header consists of all reserved bytes. The buffer ID and the buffer offset fields must be zero. The parameter list length field specifies the maximum number of bytes that are transferred during the DATA OUT phase. This number includes four bytes of header, so the data length to be stored in the target's XT-4000S Product Specification & OEM Technical Manual WRITE BUFFER buffer is parameter list length minus four. The initiator should attempt to ensure that the parameter list length is not greater than four plus the available length that is returned in the header of the READ BUFFER command (mode 00b). If the parameter list length exceeds the available length plus four, the drive returns CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST. Table 7o97 Combined Header and Data Mode 7.29.4 Error Conditions If the byte transfer length exceeds the size of the drive's buffers, the command terminates with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL FIELD IN CDB (05h/24h). XT-4000S Product Specification & OEM Technical Manual WRITE LONG XT-4000S Product Specification & OEM Technical Manual WRITE LONG 7.30 WRITE LONG The WRITE LONG command requests the drive to perform a write operation of one data block and the six bytes of ECC information. The data and the six ECC bytes for the specified logical block are supplied by the initiator during the DATA OUT phase. 7.30.1 SCSI Deviations The drive recognizes either EAh or 3Fh as being the WRITE LONG command. Maxtor implemented EAh before the SCSI-2 definition of 3Fh. The EAh form is a vendor unique command, and thus is outside of the SCSI standard. The 3Fh form of the command is the defined SCSI-2 version of the WRITE LONG command. The Maxtor vendor unique definition differs from the SCSI-2 definition in that Maxtor (EAh) defines bytes seven and eight of the CDB as always equal to zero, and the transfer length is always one sector (plus the ECC bytes). 7.30.2 Command Parameters The CDB for the WRITE LONG command is formatted as shown in Table 7o98, WRITE LONG CDB. Table 7o98 WRITE LONG CDB The block address field specifies the block at which the write long operation begins. CAUTION: The physical location of the READ LONG and WRITE LONG block address is computed using the physical sector size instead of the logical block size. 7.30.3 Error Conditions If the LBA is invalid, the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/ILLEGAL BLOCK ADDRESS (05h/21h). XT-4000S Product Specification & OEM Technical Manual WRITE LONG (SCSI-2) XT-4000S Product Specification & OEM Technical Manual WRITE LONG (SCSI-2) 7.31 WRITE LONG (SCSI-2) The WRITE LONG command requests that the drive write the data transferred by the initiator to the medium. The data passed during the WRITE LONG command is includes the data bytes and the ECC bytes. See Table 7o99, WRITE LONG Command. Table 7o99 WRITE LONG Command The logical block address field specifies the logical block at which the data is written. The byte transfer length field specifies the number of bytes of data that the drive returns for the READ LONG command. If a non-zero byte transfer length does not exactly match the data length the drive returns for the READ LONG command, then the drive terminates the command with CHECK CONDITION status. The sense data is set to ILLEGAL REQUEST/INVALID FIELD IN CDB. The ILI and valid bits are set to one and the Information field is set to the difference of the requested length minus the actual length in bytes. Negative values are indicated by two's complement notation. A transfer length of zero indicates that no bytes are transferred and is not considered an error. XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual Doc 1014995, Rev B 1 Maxtor Corporation Doc 1014995, Rev B 1 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual APPENDIX A: DISCONNECT/RECONNECT CONDITIONS This section describes the conditions under which the drive disconnects from, and reconnects to the SCSI bus. These are the default options provided by the drive, but may be modified by the initiator using the MODE SELECT command. The normal DISCONNECT/RECONNECT options stress maximum throughput, yet do not monopolize the SCSI bus, providing maximum bus use. These options would be used in a multiple initiator environment. Also, the initiator should be capable of sustaining a SCSI bus throughput which is equal to, or greater than, the drive's internal data transfer rate. To disable disconnects, the initiator should not set bit six in the ID message that it sends at the start of a command. If the drive is processing a command which does not support disconnects (bit six in the ID message equals zero), and any other command is active, the drive immediately terminates the command that cannot disconnect with a BUSY status. If normal system operation includes multiple commands sent to the drive simultaneously, the initiator should enable the DISCONNECT/RECONNECT option (bit six in the ID message set to one). The disconnect/reconnect conditions are as follows: o When the SCSI bus is anticipated to be idle (no -REQ is active) for the amount of time specified in the MODE SELECT command bus inactivity limit field, the drive automatically disconnects from the SCSI bus. o When a drive receives a command while a command from another initiator is active, the drive disconnects from the bus as soon as the entire command from the initiator has been received. o READ commands always disconnect immediately after receipt of the command. This allows access to the SCSI bus during the disk latency and/or seek time. o When executing a READ command, if the drive anticipates that the bus will be idle for longer than the time specified in the MODE SELECT bus inactivity limit field, the drive disconnects from the bus as soon as the bus becomes idle. The drive then reconnects when data is available to be transferred. This condition may occur if: 1) the read operation crosses a cylinder boundary and a Doc 1014995, Rev B 2 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual seek operation is required; 2) a seek operation to an alternate track is required; or 3) the SCSI data transfer rate is greater than the drive's internal data transfer rate and the buffer has been emptied. o When the drive receives a WRITE command, it reads data from the initiator until the internal buffer is filled. Once the buffer is filled, or all the data has been transferred, the drive disconnects from the bus. The reconnect occurs when the drive starts to write data to the disk, and the internal buffer becomes available for more data to be transferred from the initiator. A reconnect also occurs, after all the data has been written to the disk, to return the status and terminate the command. Doc 1014995, Rev B 3 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual Doc 1014995, Rev B 5 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual APPENDIX B: DEFECT MANAGEMENT There are four different ways in which defects can be managed in the XT-4000S Family disk drives: o Cylinder-Oriented. Each cylinder is an integral unit, with the alternates per zone number of spares assigned to the cylinder. A defect anywhere within the cylinder is reassigned by invoking one of the spare sectors, which are initially located at the end of the last track of the cylinder. If the number of reassigned sectors exceeds the number of spare sectors, one track of the cylinder is relocated to the area of the drive defined by the alternate tracks per volume field. o Track-Oriented. Each track is an integral unit, with one or more spares assigned to the track. A defect anywhere within the track is reassigned by invoking one of the spare sectors, which are initially located at the end of the track, just prior to index. If the number of reassigned sectors exceeds the number of spare sectors, the track is relocated to the area of the drive defined by the alternate tracks per volume field. o Drive-Oriented. The entire drive is an integral unit, with the alternates per zone number of spares assigned to the drive. A defect anywhere on the drive is reassigned by relocating the sector to one of the spare sectors, which are located in the area of the drive defined by the alternate tracks per volume field. o Host Defect Management. The entire drive is an integral unit, with no spares. A defect anywhere on the drive is deallocated by the host operating system, and future access to this sector are inhibited. An error occurs if you use the REASSIGN BLOCK command in this mode. Set the MODE SELECT values of tracks per zone, alternate sectors per zone, and alternate tracks per volume, as shown in Table Bo1, Defect Management Selections, to choose one of the four techniques. Table Bo1 Defect Management Selections XT-4000S Product Specification & OEM Technical Manual NOTE: The alternate sectors per zone, and alternate tracks per volume, field values are recommended by Maxtor for most applications, but may vary per customer requirements of capacity versus performance. For example, if cylinder-oriented mode is selected, the systems integrator may elect to increase capacity by reserving fewer alternate sectors per zone. This increases the probability that a track may have to be relocated because of more defects than spares in a given cylinder, so the number of alternate tracks per volume may need to be increased. Also, performance may be degraded as a result of the additional SEEKs imposed by track relocation. REASSIGNMENT SEQUENCES When a defective area is found, a reassignment algorithm is invoked by either the REASSIGN BLOCK or FORMAT UNIT command, and multiple blocks may be reassigned in one operation. For simplicity, the following reassignment sequences assume a single block reassignment. Cylinder-Oriented Reassignment Sequence 1. The designated block is located, and the entire cylinder in which it resides is verified to ensure that there are no unflagged defects. 2. The cylinder is copied to the reserved cylinder (MAX-1). 3. Flags in the configuration area (cylinder zero) are updated, to indicate completion of the first phase in case a power failure or RESET interrupts the process. 4. The affected cylinder is reformatted, with the headers updated to "slip" the bad block and all following blocks (up to the end of the cylinder) by one. This causes some logical blocks to move from the last position on one track to the first position on the next track, but all blocks are contiguous within the cylinder. 5. Flags in the configuration area are updated to indicate completion of the second phase. 6. The content of the reserved cylinder is copied back to the original cylinder. Doc 1014995, Rev B 7 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual 7. Flags in the configuration area are updated to indicate completion of the operation. In the event that there are insufficient spares in the cylinder, one of the tracks in the cylinder are relocated to the area defined by the alternate tracks per volume. These are located in the area ending with cylinder MAX-2 (the starting cylinder depends on the number of alternate tracks, which is always a multiple of the number of heads). This restores to the cylinder those spares which had been consumed by the defects in this track, and reduces the probability that a future reassignment in the same cylinder results in a track relocation. When a SEEK is performed to an LBA which has been reassigned, the following sequence applies: 1. The drive SEEKs to the cylinder and head where the sector was originally located, and begins a search for the header. 2. Upon reading the first header encountered, the drive determines whether the target sector is within the current track. Information in the header indicates the number of the last sector on the current track, and whether the track has been relocated. 3. If the target sector was once the last one on a track, and has been rolled over to the next track in the cylinder due to a reassignment, this is detected from the "last sector" information in the header that was read, and a head switch is performed immediately. 4. If the track has been relocated, the drive SEEKs to the alternate area. If the data transfer is long enough to go beyond the end of the track, a SEEK back to the original cylinder takes place to continue the transfer. Track-Oriented Reassignment Sequence 1. The designated block is located, and the entire track in which it resides is verified, to ensure that there are no unflagged defects. 2. The track is copied to a track in the reserved cylinder (MAX-1). XT-4000S Product Specification & OEM Technical Manual 3. Flags in the configuration area (cylinder zero) are updated, to indicate completion of the first phase in case a power failure or RESET interrupts the process. 4. The affected track is reformatted, with the headers updated to "slip" the bad block and all following blocks (up to the end of the track) by one. All blocks are contiguous within the track. 5. Flags in the configuration area are updated to indicate completion of the second phase. 6. The content of the reserved area is copied back to the original track. 7. Flags in the configuration area are updated to indicate completion of the operation. In the event that there are insufficient spares in the track, the entire track is relocated to the area defined by the alternate tracks per volume field. When a SEEK is performed to an LBA which has been reassigned, the following sequence applies: 1. The drive SEEKs to the cylinder and head where the sector was originally located, and begins a search for the header. 2. Upon reading the first header encountered, the drive determines whether the track has been relocated. 3. If the track has been relocated, the drive SEEKs to the alternate area. If the data transfer length extends beyond the end of the relocated track, a SEEK back to the original cylinder takes place to continue the transfer. Drive-Oriented Reassignment Sequence 1. The designated block is copied to a sector in the reserved cylinder (MAX-1). 2. The header of the designated block is written with a pattern which indicates that it has been relocated. In the event that there are insufficient spares in the reserved area, the drive returns an error condition indicating that no spares are available. Doc 1014995, Rev B 9 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual When a SEEK is performed to an LBA which has been reassigned, the following sequence applies: 1. The drive SEEKs to the cylinder and head where the sector was originally located, and begins a search for the header. 2. Upon reading the target header, the drive determines that the sector has been relocated. 3. The drive SEEKs to the alternate area to access the requested LBA. A SEEK back to the original cylinder takes place to continue the transfer, if necessary. Host Defect Management Sequence 1. The defective block is allocated to either a dummy file or a "bad block" list. 2. The host ensures that no accesses are performed to the defective block. DEFECT MANAGEMENT ASSUMPTIONS AND STATISTICS In order to choose a defect management mode, it may be useful to examine some of the assumptions and statistics which affect the media. The number of spares allocated must make allowance for the sum of: o the initial maximum number of defects specified by the manufacturer (less than or equal to one per unformatted megabyte) o any additional defects found at receiving inspection and system integration o the additional "grown" defects which accumulate during the life of the drive The following tables, Table Bo2 and Table Bo3, illustrate the effect of spares and defects on capacity. Table Bo2 Spares Versus Capacity, XT-4380 XT-4000S Product Specification & OEM Technical Manual Table Bo3 Spares Versus Capacity, XT-4170 Doc 1014995, Rev B 11 Maxtor Corporation XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual APPENDIX C: CDB BIT DEFINITIONS Abbreviation Meaning ARRE automatic read reallocation enabled bit AWRE automatic write reallocation enabled bit BytChk byte check bit DCR disable correction bit DCRT disable certification bit DevOfl device off-line bit DPRY disable primary bit DT defective track bit DTE disable transfer on error bit EEC enable early correction bit FmtData format data bit FOV format options valid bit HSEC hard sector format bit ILI incorrect length indicator bit Immed immediate bit INS inhibit save bit PCF page control field bit PER post error bit PF page format bit PMI partial medium indicator bit PS parameters saveable bit RC read continuous bit RelAdr relative address bit RMB removable media bit SlfTst self-test bit SP save parameters bit SS spare sector bit SSEC soft sector format bit STPF stop format bit SURF surface bit TB transfer block bit 3rdPty third party reservation bit UntOfl unit off-line bit VU vendor unique bit WP write protect bit XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual XT-4000S Product Specification & OEM Technical Manual APPENDIX D: UNITS OF MEASURE Abbreviation Meaning A/m amps per meter AWG American wire gauge bpi bits per inch dBa decibel, A-weighted fci flux changes per inch g gram Gbyte gigabyte Hz hertz mA milliamp A microamp Mbit megabit Mbyte megabyte m micrometer msec millisecond sec microsecond nsec nanosecond Oe oersted RH relative humidity rpm revolutions per minute tpi tracks per inch xxb binary values xxh hexadecimal values APPENDIX E: BUFFER RATIO APPLICATIONS WHAT ARE THE BUFFER RATIOS? The Buffer Ratios indicate to the target how full, on a READ command, or how empty, on a WRITE command, the buffer should be prior to attempting reselection. SCSI MODE SELECT parameter page 2 defines the Buffer Ratio parameters as numerators of a fractional multiplier that has 256 (FFh) as its denominator. A value of 128 (80h) would equate to a ratio of 50%, and 192 (C0h) equates to a ratio of 75%, etc. In standard SCSI, the percentage is applied to the total size of the data buffer. In Maxtor's implementation of the Buffer Ratios, the percentage is applied to either the data buffer or the data transfer, whichever is less. In other words, if the data transfer is less than the disk buffer, the Buffer Ratio will be applied to the transfer length. If the data transfer is greater than the disk buffer, the Buffer Ratio will be applied to the disk buffer. This implementation allows one value be used for the Buffer Ratios, regardless of the data transfer length. WHAT ARE THE PERFORMANCE BENEFITS FROM BUFFER RATIOS? The performance benefit from the Buffer Ratios is in a multi-target environment where SCSI "on-bus" time is critical. The Buffer Ratios ensure that the time on the SCSI bus is minimized and the data transfer rate across the SCSI bus is maximized. BUFFER FULL RATIO Without the Buffer Full Ratio the target would reconnect to the SCSI bus as soon as data is in the buffer. If the SCSI bus transfer rate is higher then the disk transfer rate, the transfer rate across the SCSI bus will slow to that of the disk. This will increase the total time on the bus for a given data transfer. Figure Eo1. shows this condition where the "Hold-off Time" is minimal and the "Total Time on Bus" is significant. Note that if the SCSI bus transfer rate is lower than the disk transfer rate, the Buffer Full Ratio should be zero (disabled). This will optimize performance in slower systems and is the default value for the Buffer Ratios. Figure Eo1 Data Transfer Rate Without Buffer Full Ratio With Buffer Full Ratio, the target will "Hold off" reconnecting to the bus until the desired percentage of data is in the buffer to ensure that the maximum SCSI bus rate can be achieved. This maximizes the SCSI bus rate and minimizes total "On-Bus" time. Figure Eo2. shows that by increasing the "Hold-off Time" the SCSI bus transfer rate is maximized and the "Total Time on Bus" is minimized, with the "Total Time to Data" remaining the same. Minimizing the total "On bus" time is essential for performance in a multi-target environment. Figure Eo2 Data Transfer Rate With Buffer Full Ratio BUFFER EMPTY RATIO The Buffer Empty Ratio applies to how empty of Write Data the buffer should be before reconnecting to obtain more Write Data. Maxtor's SCSI implementation "pre- reads" Write Data into the data buffer directly after the WRITE command is decoded. Because the size of the data buffer is 45,056 bytes the Buffer Empty Ratio will only apply to WRITE commands with data transfers over 45,056 bytes per command and a disconnect/reconnect is required for the remaining data. If WRITE commands have long data transfers, it is recommended that the Buffer Full Ratio and the Buffer Empty Ratio be Equal. WHAT VALUE SHOULD BE USED FOR THE BUFFER RATIOS? The value chosen for the Buffer Ratios should be selected to optimize the difference between the disk speed and the SCSI bus speed. In Figures Eo1 and Eo2, the difference in speed between the disk data rate and the SCSI bus are reflected by a difference in slopes, with a steep slope representing a higher speed. Table Eo1 below shows the calculated values for the Buffer Ratios with the given SCSI bus speed. Table Eo1 Buffer Ratio Values APPENDIX F: THE READ-AHEAD FEATURE WHAT IS READ-AHEAD? Read-Ahead is a form of data caching where data is read from the disk to the buffer in anticipation of future operations. This feature can greatly improve system access times and throughput in many applications by reducing the time required to make data available to the host. Read-Ahead can be switched on or off by means of the MODE SELECT command. HOW DOES IT WORK? To understand how Read-Ahead works, it is first useful to examine how data is stored in typical systems applications. The tracks on a drive are divided into sectors as the smallest addressable unit of storage. Data is stored as files of various lengths, with one sector as a minimum, but most files are spread across a number of sectors. When a file spans multiple sectors, it can be stored and retrieved most quickly if the sectors are written consecutively, and so most operating systems allocate a contiguous group of sectors to a file, and write the data in a sequential fashion within this allocated area. Thus, although the drive is a random- access device, files tend to be localized, and much of the data transferred is sequential. As applications use larger files (such as the multimegabyte graphics images created by CAD workstations), disk accesses tend to become more sequential. When retrieving a file stored in this way, the highest performance is achieved if a single READ command is issued, with the transfer length field set to the full length of the file. In reality, however, this is rarely the case. In operating systems such as UNIX, READ commands are usually issued with a fixed transfer length (typically 1 to 8 kilobytes), and several successive commands are required to retrieve larger files. When an access of many sectors is broken up into smaller commands, it is not possible to transfer the data in the most efficient way, because the time delay between the completion of one command and the beginning of the next is much longer than the gap time between adjacent sectors. By the time the next command has been received, the disks have already rotated beyond the start of the next consecutive sector, so it is usually necessary to wait for nearly a full latency period before the disk drive is able to continue the data transfer. Obviously, this additional latency increases the time required to read the entire file, and significantly degrades performance. As an example, consider the situation shown in Figure Fo1, Sequential READs without Read-Ahead. 1. The host issues a command to read sectors zero and one. 2. Some amount of latency is required to arrive at the starting sector. 3. Data is read from the disk to the data buffer. 4. When one full sector is available in the buffer, the drive starts to transfer data to the host. 5. After all the data has been sent to the host and status information has been provided, the host prepares to send the next command. 6. The second command (requesting a READ of sectors two and three) arrives, well after the heads have passed the start of sector two. almost a full revolution is required before sector two rotates back around to the read/write head. Figure Fo1 Sequential READs without Read-Ahead Read-Ahead avoids the loss of performance represented by step five by taking advantage of the disk drive's idle time to read additional data into the buffer. There it is available for immediate transfer in the event that the next READ command requests blocks which are already in the buffer. The probability of a "hit" (a match between data requested and data in the buffer) is relatively high in systems which store data contiguously. When the initiator sends a READ command to the drive, it appears to complete normally. In the background, however, while the system is obtaining status and preparing to send the next command, the disk drive continues to read data from the disk to the buffer. If the next command is also a READ, the disk drive checks to see if the requested data is in the buffer, and if so, the data is transferred to the host immediately, without a delay for rotational latency. Of course, not all READ commands request contiguous sectors, so it is important that the Read-Ahead feature not impair performance when it is not needed. For example, if the disk drive is reading ahead and the next command received is anything other than a READ command (e.g. WRITE, SEEK, etc.), or the new command is a READ command for logical blocks which are not already in the buffer, the Read-Ahead operation immediately aborts and the new command is executed. Additionally, the host system can disable Read-Ahead via the MODE SELECT command if it is known that data accesses will be largely random rather than sequential. This technique avoids the overhead (approximately 100 microseconds) associated with checking the buffer to see if requested data is already present. KEY READ-AHEAD PARAMETERS Size of Read-Ahead Buffer: The Read-Ahead buffer has 45 kilobytes. This is equivalent to approximately one and a half tracks. When Invoked: If enabled, Read-Ahead is automatically performed after every READ or READ (EXTENDED) command. When Aborted: Read-Ahead is aborted for any of the following reasons. o The buffer has been filled with 45 kilobytes of data. o A new command is received which is not a READ command, or which requires an access to a different area of the disk. o A data error occurs while reading ahead. o A SEEK is required to continue reading ahead (for example, a cylinder boundary is encountered) with the RAMD bit set to zero in page code 38h. CONTROLLING THE READ-AHEAD FEATURE The Read-Ahead feature is controlled by either setting the read cache disable bit (RCD) to zero in the caching page (page code 08h) or by setting the cache enable bit (CE) to one in the read-ahead control page (page code 38h). See Table 7o29 or Table 7o43. READ ALGORITHM The sequence of a READ command varies depending on the answers to the following questions: (a) is Read-Ahead enabled, (b) is the READ command requesting data which has been prefetched, and (c) does the transfer length exceed the range of data which has been prefetched, thus requiring a media access. See Table Fo1, READ Algorithm. Table Fo1 READ Algorithm READ-AHEAD PERFORMANCE The performance benefits of Read-Ahead vary depending on the operating system and application programs. The greatest benefits will be seen in UNIX-based systems which transfer large blocks of data with few users, such as graphics workstations. The least benefit will be seen in systems with many users and short files, such as transaction processing. The greater the randomness of disk accesses, the less likely it is that the next command will request data that has been prefetched. GLOSSARY ack. Acknowledge adr. Address ANSC. American National Standards Committee ANSI. American National Standards Institute arbitration winner. The arbitrating SCSI device which has the highest SCSI address. assert. A signal driven to the true state. async. Asynchronous BCV. Buffer control valid bit. Binary digit byte. Eight consecutive binary digits C/C. Continuous/composite (format) C/D. CONTROL/DATA signal CCS. Common Command Set CDB. Command descriptor block, the structure used to communicate requests from an initiator to a drive. cmd. Command connect. The function that occurs when an initiator selects a target to start an operation. CRC. Cyclic redundancy check CSA. Canadian Standards Association DB (7-0, P). Eight data-bit signals, plus a parity-bit signal, that form a data bus. DC. Direct current DCR. Disabled correction (signal) disconnect. The function that occurs when a target releases control of the SCSI bus allowing it to go to the BUS FREE phase. DMA. Direct memory access EBP. Erase bypass ECC. Error correction code ECL. Emitter-coupled logic EDAC. Error detection and correction EIA. Electrical Industry Association ENDEC. Encoder/decoder EPROM. Erasable programmable read-only memory ERA. Erase all FIFO. First-in, first-out, storage and retrieval technique FCC. Federal Communication Commission firmware. Computer programs encoded permanently into a ROM FW. Firmware G. Constant of gravitation gnd. Ground hard error. An error due to faulty equipment, transmission techniques, recording media, etc. HDA. Head disk assembly hex. Hexadecimal HW. Hardware I/O. Input and/or output initiator. A SCSI device, usually a host system, that requests that an operation be performed by another SCSI device. INTERMEDIATE status. A status code sent from a target to an initiator upon completion of each command in a set of linked commands, except for the last command in the set. ISG. Inter-sector gap ISO. International Standardization Organization LBA. Logical block address LED. Light-emitting diode logical thread. The logical path which exists between an initiator's memory and a bus device LUN, even though the physical path may be disconnected. logical unit. A physical or virtual device addressable through a target. LSB. Least significant byte LSTTL. Low power, Schotky transistor-transistor logic LUN. Logical unit number, an encoded 3-bit identifier for the logical unit. C. Microcomputer computer. Microcomputer MFM. Modified frequency modulation (encoding) MO. Magneto optics MSB. Most significant byte MSG. Message MTBF. Mean time between failures MTTR. Mean time to repair MZCAV. Maxtor Zoned Constant Angular Velocity (format) N.C. No connection negate. A signal driven to the false state nom. Nominal OEM. Original equipment manufacturer one. True signal value parity. A method of checking the accuracy of binary numbers PC. Polycarbonate PCB. Printed circuit board peripheral device. A peripheral that can be attached to a SCSI device PLL. Phase-locked loop PLO. Phase-locked oscillator PM. Preventive maintenance P/N. Part number POH. Power On hours P-P. Peak to peak PROM. Programmable read only memory PTRN. Pattern RAM. Random-access memory reconnect. The function that occurs when a target selects an initiator to continue an operation after disconnect. req. Request reserved. Bits, bytes, fields and code values that are set aside for future standardization. RLL. Run-length limited ROM. Read-only memory rsrv. Reserved R/W. Read and/or write SCSI. Small Computer Systems Interface SCSI address. The octal representation of the unique address (0 - 7) assigned to a SCSI device. SCSI ID. The bit-significant representation of the SCSI address, referring to one of the signal lines DB (7 - 0). status. One byte of information sent from a target to an initiator upon completion of each command. STD. Standard SW. Software sync. Synchronization, synchronous target. A SCSI device that performs an operation requested by an initiator, in this manual, usually a disk drive. tbd. To be determined. Values which are not defined as of the date this manual is published. TLA. Top level assembly TTL. Transistor-transistor logic typ. Typical UL. Underwriter's Laboratories, Inc. UNC. Unified National Coarse UNF. Unified National Fine VDE. Verband Deutscher Electrotechniker vendor unique. The bits, fields, or code values that are vendor specific. WORM. Write once read multiple XFER. Transfer zero. False signal code Rev B Anderson/Sandoval 10/16/93