WORKING X3T9.2 DRAFT Project 375D Revision 10L 7-SEP-93 NOTE: This file is provided to facilitate review and comments on the draft SCSI-2 standard. It is NOT intended as a substitute for obtaining a paper copy of this document. The figures and formatting information are omitted. Please contact Global Engineering Documents at (800) 854-7179 or (303) 792-2181 to obtain a paper copy. Information technology - Small Computer System Interface - 2 Secretariat: Computer & Business Equipment Manufacturers Association This is a draft proposed American National Standard of Accredited Standards Committee X3. As such this is not a completed standard. The X3T9 Technical Committee may modify this document as a result of comments received during the public review process and the approval of this document as a standard. Use of the information contained herein is at your own risk. Permission is granted to members of X3 and ISO, their technical committees, and their associated task groups to reproduce this document for the purposes of X3 and ISO standardization activities without further permission, provided this notice is included. All other rights are reserved. Any commercial or for-profit use is strictly prohibited. ASC X3T9.2 Technical Editor: Lawrence J. Lamers Maxtor Corporation MS A697 150 River Oaks Parkway San Jose, CA 95134-1983 USA Telephone: 408-432-3889 Facsimile: 408-432-3833 Email: larry_lamers@maxtor.com Reference number ISO/IEC 9316-1 : 199x ANSI X3.131 - 199x Printed November, 7, 1993 3:39pm POINTS OF CONTACT: X3T9.2 Chair X3T9.2 Vice-Chair John B. Lohmeyer I. Dal Allan NCR Corporation ENDL 1635 Aeroplaza Drive 14426 Black Walnut Court Colo Spgs, CO 80916 Saratoga, CA 95070 Tel: (719) 573-3362 Tel: (408) 867-6630 Fax: (719) 597-8225 Fax: (408) 867-2115 Email: john.lohmeyer@ftcollinsco.ncr.com Email: 2501752@mcimail.com X3 Secretariat Lynn Barra Administrator Standards Processing X3 Secretariat Telephone: 202-626-5738 1250 Eye Street, NW Suite 200 Facsimile: 202-638-4922 Washington, DC 20005 SCSI Reflector Internet address for subscription to the SCSI reflector: scsiadm@wichitaks.ncr.com Internet address for distribution via SCSI reflector: scsi@wichitaks.ncr.com SCSI Bulletin Board 719-574-0424 Document Distribution Global Engineering Telephone: 303-792-2181 or 15 Inverness Way East 800-854-7179 Englewood, CO 80112-5704 Facsimile: 303-792-2192 ABSTRACT The SCSI protocol is designed to provide an efficient peer-to-peer I/O bus with up to 16 devices, including one or more hosts. Data may be transferred asynchronously at rates that only depend on device implementation and cable length. Synchronous data transfers are supported at rates up to 10 mega-transfers per second. With the 32-bit wide data transfer option, data rates of up to 40 megabytes per second are possible. SCSI-2 includes command sets for magnetic and optical disks, tapes, printers, processors, CD-ROMs, scanners, medium changers, and communications devices. PATENT STATEMENT The developers of this standard have requested that holder's of patents that may be required for the implementation of the standard, disclose such patents to the publisher. However neither the developers nor the publisher have undertaken a patent search in order to identify which if any patents may apply to this standard. No position is taken with respect to the validity of any claim or any patent rights that may have been disclosed. Details of submitted statements may be obtained from the publisher concerning any statement of patents and willingness to grant a license under these rights on reasonable and nondiscriminatory terms and conditions to applicants desiring to obtain such a license. Document Status The following are the changes from revision 10k to 10l. 1. Page 3, clause 3, move the sentence beginning "For the purposes" after the title to subclause 3.1. 2. Pages 3 to 5, clause 3, definitions should not begin with phrases such as "This term refers to" etc. 3. Page 8, clause 5, remove the full stop after the clause number. 4. Page 8, subclause 5.2.1, line 1, replace "meters" with "m". 5. In the Introduction, item c) under the list of new low-level requirements should read: "The arbitration delay was increased from 2.2 to 2.4 us" 6. In 4.1 Overview, the last line of the fifth paragraph should read: "are contending and can be completed in less than 10 us." 7. In 8.3.3.2 Disconnect-reconnect page, there are three occurrences of 100 ms being substituted for 100 microsecond. These should all be changed to 100 us. The corrected lines should read: "The bus inactivity limit field indicates the maximum time in 100 us ...". "The disconnect time limit field indicates the minimum time in 100 us ...". "The connect time limit field indicates the maximum time in 100 us ..." 8. In 9.3.3.2 Flexible disk page, the paragraph describing the drive step rate should begin: "The drive step rate field specifies the step rate in units of 100 us." 9. In 12.2.2, paragraph 7, the reference is to Table 65, not 8.2.14.1. 10. The Foreword and Introduction clauses were modified to correctly reflect the ANSI/ISO style. 11. Updated the Vendor ID list in Annex E. ERRATA The following errors have been reported. Due to the constraints of the standards process these errors cannot be corrected within the body of the document. The X3T9.2 committee plans to issue errata to correct these items. 1. An error exists in Table 161. The Head load bit pattern should be P011 not P000. Contents Page Foreword. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xxix Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxx 1 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Normative references. . . . . . . . . . . . . . . . . . . . . . . . . . 2 3 Definitions, symbols and abbreviations. . . . . . . . . . . . . . . . . 3 3.1 Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3.2 Symbols and abbreviations. . . . . . . . . . . . . . . . . . . . . 5 4 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2 Conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 Physical characteristics. . . . . . . . . . . . . . . . . . . . . . . . 9 5.1 Physical description . . . . . . . . . . . . . . . . . . . . . . . 9 5.2 Cable requirements . . . . . . . . . . . . . . . . . . . . . . . 9 5.2.1 Single-ended cable . . . . . . . . . . . . . . . . . . . . . . . 9 5.2.2 Differential cable . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.3 Cable requirements for fast synchronous data transfer. . . . . . 10 5.3 Connector requirements . . . . . . . . . . . . . . . . . . . . . . 10 5.3.1 Non-shielded connector requirements. . . . . . . . . . . . . . . 10 5.3.1.1 Non-shielded connector alternative 1 - A cable . . . . . . . . 10 5.3.1.2 Non-shielded connector alternative 2 - A cable . . . . . . . . 11 5.3.1.3 Non-shielded connector - B cable . . . . . . . . . . . . . . . 11 5.3.2 Shielded connector requirements. . . . . . . . . . . . . . . . . 16 5.3.2.1 Shielded connector alternative 1 - A cable . . . . . . . . . . 16 5.3.2.2 Shielded connector alternative 2 - A cable . . . . . . . . . . 16 5.3.2.3 Shielded connector - B cable . . . . . . . . . . . . . . . . . 16 5.3.3 Connector contact assignments. . . . . . . . . . . . . . . . . . 21 5.4 Electrical description . . . . . . . . . . . . . . . . . . . . . . 26 5.4.1 Single-ended alternative . . . . . . . . . . . . . . . . . . . . 26 5.4.1.1 Output characteristics . . . . . . . . . . . . . . . . . . . . 26 5.4.1.2 Input characteristics. . . . . . . . . . . . . . . . . . . . . 26 5.4.2 Differential alternative . . . . . . . . . . . . . . . . . . . . 27 5.4.2.1 Output characteristics . . . . . . . . . . . . . . . . . . . . 27 5.4.2.2 Input characteristics. . . . . . . . . . . . . . . . . . . . . 27 5.4.3 Terminator power . . . . . . . . . . . . . . . . . . . . . . . . 27 5.4.4 RESERVED lines . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.5 SCSI bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5.6 SCSI bus signals . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.6.1 Signal values. . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.6.2 OR-tied signals. . . . . . . . . . . . . . . . . . . . . . . . . 34 5.6.3 Signal sources . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.7 SCSI bus timing. . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.7.1 Arbitration delay . . . . . . . . . . . . . . . . . . . . . . . 36 5.7.2 Assertion period . . . . . . . . . . . . . . . . . . . . . . . . 36 5.7.3 Bus clear delay . . . . . . . . . . . . . . . . . . . . . . . . 36 5.7.4 Bus free delay . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.5 Bus set delay . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.6 Bus settle delay . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.7 Cable skew delay . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.8 Data release delay . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.9 Deskew delay . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.10 Disconnection delay . . . . . . . . . . . . . . . . . . . . . . 37 5.7.11 Hold time . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.12 Negation period . . . . . . . . . . . . . . . . . . . . . . . . 37 5.7.13 Power-on to selection time . . . . . . . . . . . . . . . . . . 37 5.7.14 Reset to selection time . . . . . . . . . . . . . . . . . . . . 38 5.7.15 Reset hold time . . . . . . . . . . . . . . . . . . . . . . . . 38 5.7.16 Selection abort time . . . . . . . . . . . . . . . . . . . . . 38 5.7.17 Selection time-out delay . . . . . . . . . . . . . . . . . . . 38 5.7.18 Transfer period . . . . . . . . . . . . . . . . . . . . . . . . 38 5.8 Fast synchronous transfer option . . . . . . . . . . . . . . . . . 38 5.8.1 Fast assertion period . . . . . . . . . . . . . . . . . . . . . 38 5.8.2 Fast cable skew delay . . . . . . . . . . . . . . . . . . . . . 38 5.8.3 Fast deskew delay . . . . . . . . . . . . . . . . . . . . . . . 39 5.8.4 Fast hold time . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.8.5 Fast negation period . . . . . . . . . . . . . . . . . . . . . . 39 6 Logical characteristics . . . . . . . . . . . . . . . . . . . . . . . . 41 6.1 SCSI bus phases. . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.1.1 BUS FREE phase . . . . . . . . . . . . . . . . . . . . . . . . . 41 6.1.2 ARBITRATION phase. . . . . . . . . . . . . . . . . . . . . . . . 42 6.1.3 SELECTION phase. . . . . . . . . . . . . . . . . . . . . . . . . 42 6.1.3.1 SELECTION time-out procedure . . . . . . . . . . . . . . . . . 43 6.1.4 RESELECTION phase. . . . . . . . . . . . . . . . . . . . . . . . 43 6.1.4.1 RESELECTION . . . . . . . . . . . . . . . . . . . . . . . . 43 6.1.4.2 RESELECTION time-out procedure . . . . . . . . . . . . . . . . 44 6.1.5 Information transfer phases. . . . . . . . . . . . . . . . . . . 44 6.1.5.1 Asynchronous information transfer. . . . . . . . . . . . . . . 45 6.1.5.2 Synchronous data transfer. . . . . . . . . . . . . . . . . . . 45 6.1.5.3 Wide data transfer . . . . . . . . . . . . . . . . . . . . . . 46 6.1.6 COMMAND phase. . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.7 Data phase . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.7.1 DATA IN phase. . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.7.2 DATA OUT phase . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.8 STATUS phase . . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.9 Message phase. . . . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.9.1 MESSAGE IN phase . . . . . . . . . . . . . . . . . . . . . . . 48 6.1.9.2 MESSAGE OUT phase. . . . . . . . . . . . . . . . . . . . . . . 48 6.1.10 Signal restrictions between phases. . . . . . . . . . . . . . . 49 6.2 SCSI bus conditions. . . . . . . . . . . . . . . . . . . . . . . . 50 6.2.1 Attention condition. . . . . . . . . . . . . . . . . . . . . . . 50 6.2.2 Reset condition. . . . . . . . . . . . . . . . . . . . . . . . . 51 6.2.2.1 Hard reset alternative . . . . . . . . . . . . . . . . . . . . 51 6.2.2.2 Soft reset alternative . . . . . . . . . . . . . . . . . . . . 51 6.3 SCSI bus phase sequences . . . . . . . . . . . . . . . . . . . . . 52 6.4 SCSI pointers. . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.5 Message system description . . . . . . . . . . . . . . . . . . . . 55 6.6 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.6.1 ABORT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.6.2 ABORT TAG. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.6.3 BUS DEVICE RESET . . . . . . . . . . . . . . . . . . . . . . . . 59 6.6.4 CLEAR QUEUE. . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.6.5 COMMAND COMPLETE . . . . . . . . . . . . . . . . . . . . . . . . 59 6.6.6 DISCONNECT . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.6.7 IDENTIFY . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 6.6.8 IGNORE WIDE RESIDUE. . . . . . . . . . . . . . . . . . . . . . . 61 6.6.9 INITIATE RECOVERY. . . . . . . . . . . . . . . . . . . . . . . . 61 6.6.10 INITIATOR DETECTED ERROR. . . . . . . . . . . . . . . . . . . . 62 6.6.11 LINKED COMMAND COMPLETE . . . . . . . . . . . . . . . . . . . . 62 6.6.12 LINKED COMMAND COMPLETE (WITH FLAG) . . . . . . . . . . . . . . 62 6.6.13 MESSAGE PARITY ERROR. . . . . . . . . . . . . . . . . . . . . . 62 6.6.14 MESSAGE REJECT. . . . . . . . . . . . . . . . . . . . . . . . . 62 6.6.15 MODIFY DATA POINTER Message . . . . . . . . . . . . . . . . . . 63 6.6.16 NO OPERATION. . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.6.17 Queue tag messages. . . . . . . . . . . . . . . . . . . . . . . 63 6.6.17.1 HEAD OF QUEUE TAG . . . . . . . . . . . . . . . . . . . . . . 64 6.6.17.2 ORDERED QUEUE TAG . . . . . . . . . . . . . . . . . . . . . . 64 6.6.17.3 SIMPLE QUEUE TAG. . . . . . . . . . . . . . . . . . . . . . . 64 6.6.18 RELEASE RECOVERY. . . . . . . . . . . . . . . . . . . . . . . . 64 6.6.19 RESTORE POINTERS. . . . . . . . . . . . . . . . . . . . . . . . 65 6.6.20 SAVE DATA POINTER . . . . . . . . . . . . . . . . . . . . . . . 65 6.6.21 SYNCHRONOUS DATA TRANSFER REQUEST message . . . . . . . . . . . 65 6.6.22 TERMINATE I/O PROCESS . . . . . . . . . . . . . . . . . . . . . 67 6.6.23 WIDE DATA TRANSFER REQUEST message. . . . . . . . . . . . . . . 67 7 SCSI commands and status. . . . . . . . . . . . . . . . . . . . . . . . 71 7.1 Command implementation requirements. . . . . . . . . . . . . . . . 71 7.1.1 Reserved . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.1.2 Operation code types . . . . . . . . . . . . . . . . . . . . . . 71 7.2 Command descriptor block . . . . . . . . . . . . . . . . . . . . . 72 7.2.1 Operation code . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.2.2 Logical unit number. . . . . . . . . . . . . . . . . . . . . . . 74 7.2.3 Logical block address. . . . . . . . . . . . . . . . . . . . . . 74 7.2.4 Transfer length. . . . . . . . . . . . . . . . . . . . . . . . . 74 7.2.5 Parameter list length. . . . . . . . . . . . . . . . . . . . . . 74 7.2.6 Allocation length. . . . . . . . . . . . . . . . . . . . . . . . 75 7.2.7 Control field. . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.3 Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 7.4 Command examples . . . . . . . . . . . . . . . . . . . . . . . . . 77 7.4.1 Single command example . . . . . . . . . . . . . . . . . . . . . 77 7.4.2 Disconnect example . . . . . . . . . . . . . . . . . . . . . . . 77 7.4.3 Linked command example . . . . . . . . . . . . . . . . . . . . . 78 7.5 Command processing considerations and exception conditions . . . . 79 7.5.1 Programmable operating definition. . . . . . . . . . . . . . . . 79 7.5.2 Incorrect initiator connection . . . . . . . . . . . . . . . . . 79 7.5.3 Selection of an invalid logical unit . . . . . . . . . . . . . . 80 7.5.4 Parameter rounding . . . . . . . . . . . . . . . . . . . . . . . 80 7.5.5 Asynchronous event notification . . . . . . . . . . . . . . . . 81 7.5.6 Unexpected reselection . . . . . . . . . . . . . . . . . . . . . 82 7.6 Contingent allegiance condition. . . . . . . . . . . . . . . . . . 82 7.7 Extended contingent allegiance condition . . . . . . . . . . . . . 83 7.8 Queued I/O processes . . . . . . . . . . . . . . . . . . . . . . . 84 7.8.1 Untagged queuing . . . . . . . . . . . . . . . . . . . . . . . . 84 7.8.2 Tagged queuing . . . . . . . . . . . . . . . . . . . . . . . . . 84 7.8.3 Example of queued I/O process. . . . . . . . . . . . . . . . . . 86 7.8.3.1 Typical sequences for tagged queuing . . . . . . . . . . . . . 86 7.8.3.2 Example of tagged queuing. . . . . . . . . . . . . . . . . . . 86 7.9 Unit attention condition. . . . . . . . . . . . . . . . . . . . . 88 8 All device types . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.1 Model for all device types . . . . . . . . . . . . . . . . . . . . 91 8.1.1 SCSI addresses . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.1.1.1 SCSI device address. . . . . . . . . . . . . . . . . . . . . . 91 8.1.1.2 Logical units. . . . . . . . . . . . . . . . . . . . . . . . . 91 8.1.1.3 Target routines. . . . . . . . . . . . . . . . . . . . . . . . 91 8.1.2 Commands implemented by all SCSI devices . . . . . . . . . . . . 91 8.1.2.1 Using the INQUIRY command. . . . . . . . . . . . . . . . . . . 92 8.1.2.2 Using the REQUEST SENSE command. . . . . . . . . . . . . . . . 92 8.1.2.3 Using the SEND DIAGNOSTIC command. . . . . . . . . . . . . . . 92 8.1.2.4 Using the TEST UNIT READY command. . . . . . . . . . . . . . . 92 8.2 Commands for all device types. . . . . . . . . . . . . . . . . . . 92 8.2.1 CHANGE DEFINITION command. . . . . . . . . . . . . . . . . . . . 93 8.2.2 COMPARE command. . . . . . . . . . . . . . . . . . . . . . . . . 95 8.2.3 COPY command . . . . . . . . . . . . . . . . . . . . . . . . . . 96 8.2.3.1 Errors detected by the managing SCSI device. . . . . . . . . . 98 8.2.3.2 Errors detected by a target. . . . . . . . . . . . . . . . . . 98 8.2.3.3 COPY function code 00h and 01h . . . . . . . . . . . . . . . . 99 8.2.3.4 COPY function code 02h . . . . . . . . . . . . . . . . . . . . 100 8.2.3.5 COPY function code 03h . . . . . . . . . . . . . . . . . . . . 100 8.2.3.6 COPY function code 04h . . . . . . . . . . . . . . . . . . . . 101 8.2.3.7 Copies with unequal block lengths. . . . . . . . . . . . . . . 102 8.2.4 COPY AND VERIFY command. . . . . . . . . . . . . . . . . . . . . 103 8.2.5 INQUIRY command. . . . . . . . . . . . . . . . . . . . . . . . . 104 8.2.5.1 Standard INQUIRY data. . . . . . . . . . . . . . . . . . . . . 105 8.2.5.2 Vital product data . . . . . . . . . . . . . . . . . . . . . . 108 8.2.6 LOG SELECT command . . . . . . . . . . . . . . . . . . . . . . . 109 8.2.7 LOG SENSE command. . . . . . . . . . . . . . . . . . . . . . . . 111 8.2.8 MODE SELECT(6) command . . . . . . . . . . . . . . . . . . . . . 112 8.2.9 MODE SELECT(10) command. . . . . . . . . . . . . . . . . . . . . 114 8.2.10 MODE SENSE(6) command . . . . . . . . . . . . . . . . . . . . . 115 8.2.10.1 Current values. . . . . . . . . . . . . . . . . . . . . . . . 116 8.2.10.2 Changeable values . . . . . . . . . . . . . . . . . . . . . . 116 8.2.10.3 Default values. . . . . . . . . . . . . . . . . . . . . . . . 116 8.2.10.4 Saved values. . . . . . . . . . . . . . . . . . . . . . . . . 116 8.2.10.5 Initial responses . . . . . . . . . . . . . . . . . . . . . . 117 8.2.11 MODE SENSE(10) command. . . . . . . . . . . . . . . . . . . . . 117 8.2.12 READ BUFFER Command . . . . . . . . . . . . . . . . . . . . . . 118 8.2.12.1 Combined header and data mode (000b). . . . . . . . . . . . . 118 8.2.12.2 Vendor-specific mode (001b) . . . . . . . . . . . . . . . . . 119 8.2.12.3 Data mode (010b). . . . . . . . . . . . . . . . . . . . . . . 119 8.2.12.4 Descriptor mode (011b). . . . . . . . . . . . . . . . . . . . 119 8.2.13 RECEIVE DIAGNOSTIC RESULTS command. . . . . . . . . . . . . . . 121 8.2.14 REQUEST SENSE Command . . . . . . . . . . . . . . . . . . . . . 122 8.2.14.1 Sense-key specific. . . . . . . . . . . . . . . . . . . . . . 125 8.2.14.2 Deferred errors . . . . . . . . . . . . . . . . . . . . . . . 126 8.2.14.3 Sense key and sense code definitions. . . . . . . . . . . . . 128 8.2.15 SEND DIAGNOSTIC Command . . . . . . . . . . . . . . . . . . . . 134 8.2.16 TEST UNIT READY Command . . . . . . . . . . . . . . . . . . . . 135 8.2.17 WRITE BUFFER command. . . . . . . . . . . . . . . . . . . . . . 136 8.2.17.1 Combined header and data mode (000b). . . . . . . . . . . . . 137 8.2.17.2 Vendor-specific mode (001b) . . . . . . . . . . . . . . . . . 137 8.2.17.3 Data mode (010b). . . . . . . . . . . . . . . . . . . . . . . 137 8.2.17.4 Download microcode mode (100b). . . . . . . . . . . . . . . . 138 8.2.17.5 Download microcode and save mode (101b) . . . . . . . . . . . 138 8.3 Parameters for all device types. . . . . . . . . . . . . . . . . . 138 8.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 138 8.3.1.1 Supported diagnostic pages . . . . . . . . . . . . . . . . . . 139 8.3.2 Log parameters . . . . . . . . . . . . . . . . . . . . . . . . . 140 8.3.2.1 Buffer over-run/under-run page . . . . . . . . . . . . . . . . 143 8.3.2.2 Error counter pages. . . . . . . . . . . . . . . . . . . . . . 144 8.3.2.3 Last n error events page . . . . . . . . . . . . . . . . . . . 145 8.3.2.4 Non-medium error page . . . . . . . . . . . . . . . . . . . . 145 8.3.2.5 Supported log pages. . . . . . . . . . . . . . . . . . . . . . 145 8.3.3 Mode parameters. . . . . . . . . . . . . . . . . . . . . . . . . 146 8.3.3.1 Control mode page. . . . . . . . . . . . . . . . . . . . . . . 149 8.3.3.2 Disconnect-reconnect page. . . . . . . . . . . . . . . . . . . 152 8.3.3.3 Peripheral device page . . . . . . . . . . . . . . . . . . . . 154 8.3.4 Vital product data parameters. . . . . . . . . . . . . . . . . . 154 8.3.4.1 ASCII implemented operating definition page. . . . . . . . . . 155 8.3.4.2 ASCII information page . . . . . . . . . . . . . . . . . . . . 156 8.3.4.3 Implemented operating definition page. . . . . . . . . . . . . 156 8.3.4.4 Supported vital product data pages . . . . . . . . . . . . . . 158 8.3.4.5 Unit serial number page. . . . . . . . . . . . . . . . . . . . 159 9 Direct-access devices . . . . . . . . . . . . . . . . . . . . . . . . . 161 9.1 Direct-access device model . . . . . . . . . . . . . . . . . . . . 161 9.1.1 Removable medium . . . . . . . . . . . . . . . . . . . . . . . . 161 9.1.2 Logical blocks . . . . . . . . . . . . . . . . . . . . . . . . . 161 9.1.3 Ready state. . . . . . . . . . . . . . . . . . . . . . . . . . . 162 9.1.4 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . 162 9.1.5 Medium defects . . . . . . . . . . . . . . . . . . . . . . . . . 162 9.1.6 Data cache . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 9.1.7 Reservations . . . . . . . . . . . . . . . . . . . . . . . . . . 164 9.1.8 Seek and rezero. . . . . . . . . . . . . . . . . . . . . . . . . 165 9.1.9 Notched drives . . . . . . . . . . . . . . . . . . . . . . . . . 165 9.1.10 Rotational position locking . . . . . . . . . . . . . . . . . . 165 9.1.11 Relative addressing . . . . . . . . . . . . . . . . . . . . . . 165 9.1.12 Error reporting . . . . . . . . . . . . . . . . . . . . . . . . 166 9.1.13 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 9.1.13.1 Rotating media. . . . . . . . . . . . . . . . . . . . . . . . 166 9.1.13.2 Sequential media. . . . . . . . . . . . . . . . . . . . . . . 167 9.1.13.3 Memory media. . . . . . . . . . . . . . . . . . . . . . . . . 167 9.2 Commands for direct-access devices.. . . . . . . . . . . . . . . . 168 9.2.1 FORMAT UNIT command. . . . . . . . . . . . . . . . . . . . . . . 169 9.2.1.1 Defect list formats. . . . . . . . . . . . . . . . . . . . . . 174 9.2.1.2 Initialization pattern option. . . . . . . . . . . . . . . . . 175 9.2.2 LOCK UNLOCK CACHE command. . . . . . . . . . . . . . . . . . . . 177 9.2.3 PRE-FETCH command. . . . . . . . . . . . . . . . . . . . . . . . 178 9.2.4 PREVENT ALLOW MEDIUM REMOVAL command . . . . . . . . . . . . . . 179 9.2.5 READ(6) command. . . . . . . . . . . . . . . . . . . . . . . . . 180 9.2.6 READ(10) command . . . . . . . . . . . . . . . . . . . . . . . . 181 9.2.7 READ CAPACITY command. . . . . . . . . . . . . . . . . . . . . . 182 9.2.8 READ DEFECT DATA command . . . . . . . . . . . . . . . . . . . . 183 9.2.9 READ LONG command. . . . . . . . . . . . . . . . . . . . . . . . 185 9.2.10 REASSIGN BLOCKS command . . . . . . . . . . . . . . . . . . . . 186 9.2.11 RELEASE command . . . . . . . . . . . . . . . . . . . . . . . . 187 9.2.11.1 Logical unit release. . . . . . . . . . . . . . . . . . . . . 188 9.2.11.2 Extent release. . . . . . . . . . . . . . . . . . . . . . . . 188 9.2.11.3 Third-party release . . . . . . . . . . . . . . . . . . . . . 188 9.2.12 RESERVE command . . . . . . . . . . . . . . . . . . . . . . . . 189 9.2.12.1 Logical unit reservation. . . . . . . . . . . . . . . . . . . 189 9.2.12.2 Extent reservation. . . . . . . . . . . . . . . . . . . . . . 189 9.2.12.3 Third-party reservation . . . . . . . . . . . . . . . . . . . 191 9.2.12.4 Superseding reservations. . . . . . . . . . . . . . . . . . . 192 9.2.13 REZERO UNIT command . . . . . . . . . . . . . . . . . . . . . . 192 9.2.14 SEARCH DATA commands. . . . . . . . . . . . . . . . . . . . . . 193 9.2.14.1 SEARCH DATA EQUAL command . . . . . . . . . . . . . . . . . . 195 9.2.14.2 SEARCH DATA HIGH command. . . . . . . . . . . . . . . . . . . 195 9.2.14.3 SEARCH DATA LOW command . . . . . . . . . . . . . . . . . . . 195 9.2.15 SEEK(6) and SEEK(10) commands . . . . . . . . . . . . . . . . . 196 9.2.16 SET LIMITS command. . . . . . . . . . . . . . . . . . . . . . . 197 9.2.17 START STOP UNIT command . . . . . . . . . . . . . . . . . . . . 198 9.2.18 SYNCHRONIZE CACHE command . . . . . . . . . . . . . . . . . . . 199 9.2.19 VERIFY command. . . . . . . . . . . . . . . . . . . . . . . . . 200 9.2.20 WRITE(6) command. . . . . . . . . . . . . . . . . . . . . . . . 201 9.2.21 WRITE(10) command . . . . . . . . . . . . . . . . . . . . . . . 202 9.2.22 WRITE AND VERIFY command. . . . . . . . . . . . . . . . . . . . 203 9.2.23 WRITE LONG command. . . . . . . . . . . . . . . . . . . . . . . 204 9.2.24 WRITE SAME command. . . . . . . . . . . . . . . . . . . . . . . 205 9.3 Parameters for direct-access devices . . . . . . . . . . . . . . . 206 9.3.1 Diagnostic parameters. . . . . . . . . . . . . . . . . . . . . . 206 9.3.1.1 Translate address page - SEND DIAGNOSTIC . . . . . . . . . . . 206 9.3.1.2 Translate address page - RECEIVE DIAGNOSTIC . . . . . . . . . 207 9.3.2 Log parameters . . . . . . . . . . . . . . . . . . . . . . . . . 208 9.3.3 Mode parameters. . . . . . . . . . . . . . . . . . . . . . . . . 208 9.3.3.1 Caching page . . . . . . . . . . . . . . . . . . . . . . . . . 210 9.3.3.2 Flexible disk page . . . . . . . . . . . . . . . . . . . . . . 213 9.3.3.3 Format device page . . . . . . . . . . . . . . . . . . . . . . 216 9.3.3.4 Medium types supported page. . . . . . . . . . . . . . . . . . 219 9.3.3.5 Notch and partition page . . . . . . . . . . . . . . . . . . . 220 9.3.3.6 Read-write error recovery page . . . . . . . . . . . . . . . . 222 9.3.3.7 Rigid disk drive geometry page . . . . . . . . . . . . . . . . 229 9.3.3.8 Verify error recovery page . . . . . . . . . . . . . . . . . . 231 9.4 Definitions specific to direct-access devices. . . . . . . . . . . 232 10 Sequential-access devices. . . . . . . . . . . . . . . . . . . . . . . 233 10.1 Sequential-access device model. . . . . . . . . . . . . . . . . . 233 10.1.1 Physical elements . . . . . . . . . . . . . . . . . . . . . . . 233 10.1.2 Data storage characteristics. . . . . . . . . . . . . . . . . . 234 10.1.3 Partitions within a volume. . . . . . . . . . . . . . . . . . . 236 10.1.4 Logical elements within a partition . . . . . . . . . . . . . . 237 10.1.5 Data buffering. . . . . . . . . . . . . . . . . . . . . . . . . 238 10.1.6 Recorded object descriptors (block identifiers) . . . . . . . . 239 10.1.7 Direction and position definitions. . . . . . . . . . . . . . . 239 10.1.8 Error reporting . . . . . . . . . . . . . . . . . . . . . . . . 240 10.2 Command descriptions for sequential-access devices. . . . . . . . 241 10.2.1 ERASE command . . . . . . . . . . . . . . . . . . . . . . . . . 243 10.2.2 LOAD UNLOAD command . . . . . . . . . . . . . . . . . . . . . . 244 10.2.3 LOCATE command. . . . . . . . . . . . . . . . . . . . . . . . . 245 10.2.4 READ command. . . . . . . . . . . . . . . . . . . . . . . . . . 246 10.2.5 READ BLOCK LIMITS command . . . . . . . . . . . . . . . . . . . 248 10.2.6 READ POSITION command . . . . . . . . . . . . . . . . . . . . . 249 10.2.7 READ REVERSE command. . . . . . . . . . . . . . . . . . . . . . 251 10.2.8 RECOVER BUFFERED DATA command . . . . . . . . . . . . . . . . . 252 10.2.9 RELEASE UNIT command. . . . . . . . . . . . . . . . . . . . . . 253 10.2.9.1 Third-party release . . . . . . . . . . . . . . . . . . . . . 253 10.2.10 RESERVE UNIT command . . . . . . . . . . . . . . . . . . . . . 254 10.2.10.1 Third-party reservation. . . . . . . . . . . . . . . . . . . 254 10.2.10.2 Superseding reservations . . . . . . . . . . . . . . . . . . 255 10.2.11 REWIND command . . . . . . . . . . . . . . . . . . . . . . . . 255 10.2.12 SPACE command. . . . . . . . . . . . . . . . . . . . . . . . . 256 10.2.13 VERIFY command . . . . . . . . . . . . . . . . . . . . . . . . 258 10.2.14 WRITE command. . . . . . . . . . . . . . . . . . . . . . . . . 259 10.2.15 WRITE FILEMARKS command. . . . . . . . . . . . . . . . . . . . 261 10.3 Parameters for sequential-access devices. . . . . . . . . . . . . 262 10.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 262 10.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 262 10.3.3 Mode parameters . . . . . . . . . . . . . . . . . . . . . . . . 263 10.3.3.1 Device configuration page . . . . . . . . . . . . . . . . . . 266 10.3.3.2 Medium partition page(1). . . . . . . . . . . . . . . . . . . 269 10.3.3.3 Medium partition page(2-4). . . . . . . . . . . . . . . . . . 270 10.3.3.4 Read-write error recovery page. . . . . . . . . . . . . . . . 270 10.4 Definitions specific to sequential access devices . . . . . . . . 272 11 Commands for printer devices . . . . . . . . . . . . . . . . . . . . . 273 11.1 Model for printer devices . . . . . . . . . . . . . . . . . . . . 273 11.2 Commands for printer devices. . . . . . . . . . . . . . . . . . . 274 11.2.1 FORMAT command. . . . . . . . . . . . . . . . . . . . . . . . . 275 11.2.2 PRINT command . . . . . . . . . . . . . . . . . . . . . . . . . 276 11.2.3 RECOVER BUFFERED DATA command . . . . . . . . . . . . . . . . . 276 11.2.4 SLEW AND PRINT command. . . . . . . . . . . . . . . . . . . . . 277 11.2.5 STOP PRINT command. . . . . . . . . . . . . . . . . . . . . . . 278 11.2.6 SYNCHRONIZE BUFFER command. . . . . . . . . . . . . . . . . . . 278 11.3 Parameters for printer devices. . . . . . . . . . . . . . . . . . 279 11.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 279 11.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 279 11.3.3 Mode parameters . . . . . . . . . . . . . . . . . . . . . . . . 279 11.3.3.1 Parallel printer interface page . . . . . . . . . . . . . . . 280 11.3.3.2 Printer options page. . . . . . . . . . . . . . . . . . . . . 282 11.3.3.3 Serial printer interface page . . . . . . . . . . . . . . . . 285 12 Processor devices. . . . . . . . . . . . . . . . . . . . . . . . . . . 287 12.1 Model for processor devices . . . . . . . . . . . . . . . . . . . 287 12.1.1 Host-to-host communication, SEND only . . . . . . . . . . . . . 288 12.1.2 Host-to-host communication, SEND and RECEIVE. . . . . . . . . . 288 12.1.3 Host-to-special-output peripheral . . . . . . . . . . . . . . . 288 12.1.4 Host-to-special-input peripheral. . . . . . . . . . . . . . . . 288 12.2 Commands for processor devices. . . . . . . . . . . . . . . . . . 289 12.2.1 RECEIVE command . . . . . . . . . . . . . . . . . . . . . . . . 289 12.2.2 SEND command. . . . . . . . . . . . . . . . . . . . . . . . . . 290 12.3 Parameters for processor devices. . . . . . . . . . . . . . . . . 291 12.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 291 12.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 291 12.4 Definitions specific to processor devices . . . . . . . . . . . . 292 13 Write-once devices . . . . . . . . . . . . . . . . . . . . . . . . . . 293 13.1 Model for write-once devices. . . . . . . . . . . . . . . . . . . 293 13.1.1 Logical blocks. . . . . . . . . . . . . . . . . . . . . . . . . 293 13.1.2 Initialization. . . . . . . . . . . . . . . . . . . . . . . . . 293 13.1.3 Physical medium defects . . . . . . . . . . . . . . . . . . . . 293 13.1.4 Error reporting . . . . . . . . . . . . . . . . . . . . . . . . 293 13.2 Commands for write-once devices . . . . . . . . . . . . . . . . . 294 13.3 Parameters for write-once devices . . . . . . . . . . . . . . . . 296 13.4 Definitions specific to write-once devices. . . . . . . . . . . . 296 14 CD-ROM devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 14.1 Model for CD-ROM devices. . . . . . . . . . . . . . . . . . . . . 297 14.1.1 CD-ROM media organization . . . . . . . . . . . . . . . . . . . 297 14.1.2 CD-ROM physical data format . . . . . . . . . . . . . . . . . . 300 14.1.2.1 Frame format for audio. . . . . . . . . . . . . . . . . . . . 300 14.1.2.2 Sector format for data. . . . . . . . . . . . . . . . . . . . 301 14.1.2.3 Sub-channel information formats . . . . . . . . . . . . . . . 301 14.1.3 CD Audio error reporting. . . . . . . . . . . . . . . . . . . . 302 14.1.4 CD-ROM ready condition/not ready condition. . . . . . . . . . . 302 14.1.5 CD-ROM address reporting formats (MSF bit). . . . . . . . . . . 303 14.1.6 Sensing support for CD-audio commands.. . . . . . . . . . . . . 303 14.1.7 Error reporting . . . . . . . . . . . . . . . . . . . . . . . . 303 14.2 Commands for CD-ROM devices . . . . . . . . . . . . . . . . . . . 305 14.2.1 PAUSE RESUME command. . . . . . . . . . . . . . . . . . . . . . 306 14.2.2 PLAY AUDIO(10) command. . . . . . . . . . . . . . . . . . . . . 307 14.2.3 PLAY AUDIO(12) command . . . . . . . . . . . . . . . . . . . . 308 14.2.4 PLAY AUDIO MSF command. . . . . . . . . . . . . . . . . . . . . 309 14.2.5 PLAY AUDIO TRACK INDEX command. . . . . . . . . . . . . . . . . 310 14.2.6 PLAY AUDIO TRACK RELATIVE(10) command . . . . . . . . . . . . . 311 14.2.7 PLAY AUDIO TRACK RELATIVE(12) command . . . . . . . . . . . . . 312 14.2.8 READ CD-ROM CAPACITY command. . . . . . . . . . . . . . . . . . 313 14.2.9 READ HEADER command . . . . . . . . . . . . . . . . . . . . . . 314 14.2.10 READ SUB-CHANNEL command . . . . . . . . . . . . . . . . . . . 316 14.2.10.1 Sub-Q channel data format. . . . . . . . . . . . . . . . . . 317 14.2.10.2 CD-ROM current position data format. . . . . . . . . . . . . 320 14.2.10.3 Media catalogue number data format . . . . . . . . . . . . . 320 14.2.10.4 Track international standard recording code data format. . . 321 14.2.11 READ TOC command . . . . . . . . . . . . . . . . . . . . . . . 323 14.3 Parameters for CD-ROM devices . . . . . . . . . . . . . . . . . . 325 14.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 325 14.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 325 14.3.3 Mode parameters . . . . . . . . . . . . . . . . . . . . . . . . 325 14.3.3.1 CD-ROM audio control parameters . . . . . . . . . . . . . . . 327 14.3.3.2 CD-ROM device parameters . . . . . . . . . . . . . . . . . . 329 14.3.3.3 Read error recovery parameters . . . . . . . . . . . . . . . 330 14.3.3.4 Verify error recovery parameters. . . . . . . . . . . . . . . 336 14.4 Definitions specific to CD-ROM devices. . . . . . . . . . . . . . 336 15 Scanner devices. . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 15.1 Model for scanner devices . . . . . . . . . . . . . . . . . . . . 339 15.2 Commands for scanner devices. . . . . . . . . . . . . . . . . . . 340 15.2.1 GET DATA BUFFER STATUS command. . . . . . . . . . . . . . . . . 341 15.2.2 GET WINDOW command. . . . . . . . . . . . . . . . . . . . . . . 343 15.2.3 OBJECT POSITION command . . . . . . . . . . . . . . . . . . . . 347 15.2.4 READ command. . . . . . . . . . . . . . . . . . . . . . . . . . 349 15.2.5 SCAN command. . . . . . . . . . . . . . . . . . . . . . . . . . 350 15.2.6 SEND command. . . . . . . . . . . . . . . . . . . . . . . . . . 350 15.2.7 SET WINDOW command. . . . . . . . . . . . . . . . . . . . . . . 351 15.3 Parameters for scanner devices. . . . . . . . . . . . . . . . . . 352 15.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 352 15.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 352 15.3.3 Mode parameters . . . . . . . . . . . . . . . . . . . . . . . . 353 15.3.3.1 Measurement units page. . . . . . . . . . . . . . . . . . . . 353 15.4 Definitions specific to scanner devices . . . . . . . . . . . . . 355 16 Optical memory devices. . . . . . . . . . . . . . . . . . . . . . . . 357 16.1 Model for optical memory devices. . . . . . . . . . . . . . . . . 357 16.1.1 Defect management . . . . . . . . . . . . . . . . . . . . . . . 358 16.1.2 Error reporting . . . . . . . . . . . . . . . . . . . . . . . . 358 16.2 Commands for optical memory devices . . . . . . . . . . . . . . . 359 16.2.1 ERASE(10) command . . . . . . . . . . . . . . . . . . . . . . . 360 16.2.2 ERASE(12) command . . . . . . . . . . . . . . . . . . . . . . . 361 16.2.3 MEDIUM SCAN command . . . . . . . . . . . . . . . . . . . . . . 362 16.2.4 READ(12) command. . . . . . . . . . . . . . . . . . . . . . . . 364 16.2.5 READ DEFECT DATA(12) command. . . . . . . . . . . . . . . . . . 364 16.2.6 READ GENERATION command . . . . . . . . . . . . . . . . . . . . 366 16.2.7 READ UPDATED BLOCK(10) command. . . . . . . . . . . . . . . . . 367 16.2.8 SEARCH DATA(12) commands. . . . . . . . . . . . . . . . . . . . 368 16.2.9 SET LIMITS(12) command. . . . . . . . . . . . . . . . . . . . . 368 16.2.10 UPDATE BLOCK command . . . . . . . . . . . . . . . . . . . . . 369 16.2.11 VERIFY(10) command . . . . . . . . . . . . . . . . . . . . . . 370 16.2.12 VERIFY(12) command . . . . . . . . . . . . . . . . . . . . . . 371 16.2.13 WRITE(10) command. . . . . . . . . . . . . . . . . . . . . . . 372 16.2.14 WRITE(12) command. . . . . . . . . . . . . . . . . . . . . . . 373 16.2.15 WRITE AND VERIFY(10) command . . . . . . . . . . . . . . . . . 373 16.2.16 WRITE AND VERIFY(12) command . . . . . . . . . . . . . . . . . 374 16.3 Parameters for optical memory devices . . . . . . . . . . . . . . 375 16.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 375 16.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 375 16.3.3 Mode parameters . . . . . . . . . . . . . . . . . . . . . . . . 375 16.3.3.1 Optical memory page . . . . . . . . . . . . . . . . . . . . . 378 16.4 Definitions specific to write-once and optical memory devices . . 378 17 Medium-changer devices . . . . . . . . . . . . . . . . . . . . . . . . 379 17.1 Medium-changer device model . . . . . . . . . . . . . . . . . . . 379 17.1.1 Medium-changer elements . . . . . . . . . . . . . . . . . . . . 379 17.1.1.1 Medium transport elements . . . . . . . . . . . . . . . . . . 379 17.1.1.2 Storage elements. . . . . . . . . . . . . . . . . . . . . . . 380 17.1.1.3 Import export elements. . . . . . . . . . . . . . . . . . . . 380 17.1.1.4 Data transfer element . . . . . . . . . . . . . . . . . . . . 380 17.1.2 SCSI addressing of medium changer devices . . . . . . . . . . . 381 17.1.3 Data access operations using a medium changer device. . . . . . 381 17.1.4 Element status maintenance requirements . . . . . . . . . . . . 381 17.1.5 Volume tags . . . . . . . . . . . . . . . . . . . . . . . . . . 381 17.1.5.1 Volume tag format . . . . . . . . . . . . . . . . . . . . . . 382 17.1.5.2 Primary and alternate volume tag information. . . . . . . . . 382 17.2 Commands for medium changer devices . . . . . . . . . . . . . . . 383 17.2.1 EXCHANGE MEDIUM command . . . . . . . . . . . . . . . . . . . . 384 17.2.2 INITIALIZE ELEMENT STATUS command . . . . . . . . . . . . . . . 385 17.2.3 MOVE MEDIUM command . . . . . . . . . . . . . . . . . . . . . . 386 17.2.4 POSITION TO ELEMENT command . . . . . . . . . . . . . . . . . . 387 17.2.5 READ ELEMENT STATUS command . . . . . . . . . . . . . . . . . . 388 17.2.5.1 Element status data . . . . . . . . . . . . . . . . . . . . . 389 17.2.5.2 Element status page . . . . . . . . . . . . . . . . . . . . . 391 17.2.5.3 Medium transport element descriptor . . . . . . . . . . . . . 392 17.2.5.4 Storage element descriptor. . . . . . . . . . . . . . . . . . 393 17.2.5.5 Import export element descriptor. . . . . . . . . . . . . . . 394 17.2.5.6 Data transfer element descriptor. . . . . . . . . . . . . . . 395 17.2.6 REQUEST VOLUME ELEMENT ADDRESS command. . . . . . . . . . . . . 396 17.2.7 RELEASE command . . . . . . . . . . . . . . . . . . . . . . . . 398 17.2.7.1 Logical unit release. . . . . . . . . . . . . . . . . . . . . 398 17.2.7.2 Element release (optional). . . . . . . . . . . . . . . . . . 398 17.2.7.3 Third party release . . . . . . . . . . . . . . . . . . . . . 398 17.2.8 RESERVE command . . . . . . . . . . . . . . . . . . . . . . . . 399 17.2.8.1 Logical unit reservation. . . . . . . . . . . . . . . . . . . 399 17.2.8.2 Element reservation (optional). . . . . . . . . . . . . . . . 399 17.2.8.3 Third party reservation . . . . . . . . . . . . . . . . . . . 400 17.2.8.4 Superseding reservations. . . . . . . . . . . . . . . . . . . 401 17.2.9 SEND VOLUME TAG command . . . . . . . . . . . . . . . . . . . . 401 17.3 Parameters for medium changer devices . . . . . . . . . . . . . . 404 17.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 404 17.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 404 17.3.3 Mode parameters . . . . . . . . . . . . . . . . . . . . . . . . 404 17.3.3.1 Device capabilities page. . . . . . . . . . . . . . . . . . . 405 17.3.3.2 Element address assignment page . . . . . . . . . . . . . . . 406 17.3.3.3 Transport geometry parameters page. . . . . . . . . . . . . . 409 17.4 Definitions specific to medium changer devices. . . . . . . . . . 410 18 Communications devices . . . . . . . . . . . . . . . . . . . . . . . . 411 18.1 Communications device model . . . . . . . . . . . . . . . . . . . 411 18.1.1 Implementation examples . . . . . . . . . . . . . . . . . . . . 412 18.1.1.1 Host-to-host communications . . . . . . . . . . . . . . . . . 412 18.1.1.2 Host-to-device communications . . . . . . . . . . . . . . . . 412 18.1.1.3 Multiple role communications . . . . . . . . . . . . . . . . 413 18.2 Command descriptions for communications devices . . . . . . . . . 413 18.2.1 GET MESSAGE(6) command. . . . . . . . . . . . . . . . . . . . . 414 18.2.2 GET MESSAGE(10) command . . . . . . . . . . . . . . . . . . . . 414 18.2.3 GET MESSAGE(12) command . . . . . . . . . . . . . . . . . . . . 415 18.2.4 SEND MESSAGE(6) command . . . . . . . . . . . . . . . . . . . . 416 18.2.5 SEND MESSAGE(10) command. . . . . . . . . . . . . . . . . . . . 416 18.2.6 SEND MESSAGE(12) command. . . . . . . . . . . . . . . . . . . . 417 18.3 Parameters for communication devices. . . . . . . . . . . . . . . 418 18.3.1 Diagnostic parameters . . . . . . . . . . . . . . . . . . . . . 418 18.3.2 Log parameters. . . . . . . . . . . . . . . . . . . . . . . . . 418 18.3.3 Mode parameters . . . . . . . . . . . . . . . . . . . . . . . . 418 18.4 Definitions specific to communications devices. . . . . . . . . . 419 C.1 SCSI-3 standards projects. . . . . . . . . . . . . . . . . . . . . 427 C.2 Digital data exchange for colour electronic prepress systems . . . 427 C.3 Fibre channel. . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 Annexes Page Annex A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 SCSI signal sequence example. . . . . . . . . . . . . . . . . . . . . . . 421 Annex B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Fast SCSI skew time . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 Annex C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Other SCSI standardization activities . . . . . . . . . . . . . . . . . . 427 Annex D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Numeric order codes . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 Annex E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Vendor identification . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Figures Page Figure 1 - 50/68-contact non-shielded high-density SCSI device connector. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figure 2 - 50/68-contact non-shielded high-density cable connector. . . . 13 Figure 3 - 50-contact non-shielded low-density SCSI device connector. . . 14 Figure 4 - 50-Contact non-shielded low-density cable connector. . . . . . 15 Figure 5 - 50/68-contact shielded high-density SCSI device connector. . . 17 Figure 6 - 50/68-contact shielded high-density cable connector. . . . . . 18 Figure 7 - 50-contact shielded low-density SCSI device connector. . . . . 19 Figure 8 - 50-contact shielded low-density cable connector. . . . . . . . 20 Figure 9 - Alternative 1 termination. . . . . . . . . . . . . . . . . . . 29 Figure 10 - Alternative 2 termination for single-ended devices. . . . . . 29 Figure 11 - Termination for differential devices. . . . . . . . . . . . . 30 Figure 12 - Differential driver protection circuit. . . . . . . . . . . . 30 Figure 13 - SCSI ID bits. . . . . . . . . . . . . . . . . . . . . . . . . 31 Figure 14 - Sample SCSI configurations. . . . . . . . . . . . . . . . . . 32 Figure 15 - Wide SCSI byte ordering . . . . . . . . . . . . . . . . . . . 47 Figure 16 - Phase sequences . . . . . . . . . . . . . . . . . . . . . . . 53 Figure 17 - Simplified SCSI system. . . . . . . . . . . . . . . . . . . . 54 Figure 18 - Typical volume layout . . . . . . . . . . . . . . . . . . . . 234 Figure 19 - Typical medium track layout . . . . . . . . . . . . . . . . . 234 Figure 20 - Serpentine recording example . . . . . . . . . . . . . . . . 234 Figure 21 - Parallel recording example. . . . . . . . . . . . . . . . . . 235 Figure 22 - Helical scan recording example. . . . . . . . . . . . . . . . 235 Figure 23 - Early-warning example . . . . . . . . . . . . . . . . . . . . 235 Figure 24 - Partitioning example - one partition per track group. . . . . 236 Figure 25 - Partitioning example - one partition per two track groups . . 236 Figure 26 - Partitioning example - two partitions per track group . . . . 237 Figure 27 - SCSI printer model. . . . . . . . . . . . . . . . . . . . . . 273 Figure 28 - Illustration of element status data structure . . . . . . . . 390 Figure A.1 - SCSI signal sequence example . . . . . . . . . . . . . . . . 424 Figure C.1 - SCSI-3 standards structure . . . . . . . . . . . . . . . . . 427 Tables Page Table 1 - Cross-reference to connector contact assignments. . . . . . . . 21 Table 2 - Single-ended contact assignments - A cable. . . . . . . . . . . 21 Table 3 - Single-ended contact assignments - B cable. . . . . . . . . . . 22 Table 4 - Differential contact assignments - A cable. . . . . . . . . . . 23 Table 5 - Differential contact assignments - B cable. . . . . . . . . . . 24 Table 6 - Signal sources. . . . . . . . . . . . . . . . . . . . . . . . . 34 Table 7 - SCSI bus timing values. . . . . . . . . . . . . . . . . . . . . 36 Table 8 - Information transfer phases . . . . . . . . . . . . . . . . . . 45 Table 9 - Message format. . . . . . . . . . . . . . . . . . . . . . . . . 55 Table 10 - Message codes. . . . . . . . . . . . . . . . . . . . . . . . . 55 Table 11 - Extended message format. . . . . . . . . . . . . . . . . . . . 57 Table 12 - Extended message codes . . . . . . . . . . . . . . . . . . . . 57 Table 13 - IDENTIFY message format. . . . . . . . . . . . . . . . . . . . 60 Table 14 - IGNORE WIDE RESIDUE message format . . . . . . . . . . . . . . 61 Table 15 - Ignore field definition. . . . . . . . . . . . . . . . . . . . 61 Table 16 - MODIFY DATA POINTER. . . . . . . . . . . . . . . . . . . . . . 63 Table 17 - Queue tag message format . . . . . . . . . . . . . . . . . . . 63 Table 18 - SYNCHRONOUS DATA TRANSFER REQUEST. . . . . . . . . . . . . . . 65 Table 19 - WIDE DATA TRANSFER MESSAGE . . . . . . . . . . . . . . . . . . 67 Table 20 - Operation code type. . . . . . . . . . . . . . . . . . . . . . 71 Table 21 - Typical command descriptor block for six-byte commands . . . . 72 Table 22 - Typical command descriptor block for ten-byte commands . . . . 72 Table 23 - Typical command descriptor block for twelve-byte commands. . . 72 Table 24 - Operation code . . . . . . . . . . . . . . . . . . . . . . . . 74 Table 25 - Control field. . . . . . . . . . . . . . . . . . . . . . . . . 75 Table 26 - Status byte. . . . . . . . . . . . . . . . . . . . . . . . . . 76 Table 27 - Status byte code . . . . . . . . . . . . . . . . . . . . . . . 76 Table 28 - Commands in order received by target . . . . . . . . . . . . . 86 Table 29 - Commands in order of execution . . . . . . . . . . . . . . . . 87 Table 30 - Modified by HEAD OF QUEUE TAG message. . . . . . . . . . . . . 87 Table 31 - Commands for all device types. . . . . . . . . . . . . . . . . 92 Table 32 - CHANGE DEFINITION command. . . . . . . . . . . . . . . . . . . 93 Table 33 - Definition parameter field . . . . . . . . . . . . . . . . . . 94 Table 34 - COMPARE command. . . . . . . . . . . . . . . . . . . . . . . . 95 Table 35 - COPY command . . . . . . . . . . . . . . . . . . . . . . . . . 96 Table 36 - COPY parameter list. . . . . . . . . . . . . . . . . . . . . . 96 Table 37 - COPY function codes. . . . . . . . . . . . . . . . . . . . . . 97 Table 38 - Segment descriptor for COPY function codes 00h and 01h . . . . 99 Table 39 - Segment descriptor for COPY function code 02h. . . . . . . . . 100 Table 40 - Segment descriptor for COPY function code 03h. . . . . . . . . 100 Table 41 - Segment descriptor for COPY function code 04h. . . . . . . . . 102 Table 42 - Pad and cat bit definition . . . . . . . . . . . . . . . . . . 102 Table 43 - COPY AND VERIFY command. . . . . . . . . . . . . . . . . . . . 103 Table 44 - INQUIRY command. . . . . . . . . . . . . . . . . . . . . . . . 104 Table 45 - Standard INQUIRY data format . . . . . . . . . . . . . . . . . 105 Table 46 - Peripheral qualifier . . . . . . . . . . . . . . . . . . . . . 105 Table 47 - Peripheral device type . . . . . . . . . . . . . . . . . . . . 106 Table 48 - ANSI-approved version. . . . . . . . . . . . . . . . . . . . . 107 Table 49 - LOG SELECT command . . . . . . . . . . . . . . . . . . . . . . 109 Table 50 - Page control field . . . . . . . . . . . . . . . . . . . . . . 110 Table 51 - LOG SENSE command. . . . . . . . . . . . . . . . . . . . . . . 111 Table 52 - MODE SELECT(6) command . . . . . . . . . . . . . . . . . . . . 112 Table 53 - MODE SELECT(10) command. . . . . . . . . . . . . . . . . . . . 114 Table 54 - MODE SENSE(6) command. . . . . . . . . . . . . . . . . . . . . 115 Table 55 - Page control field . . . . . . . . . . . . . . . . . . . . . . 115 Table 56 - Mode page code usage for all devices . . . . . . . . . . . . . 115 Table 57 - MODE SENSE(10) command . . . . . . . . . . . . . . . . . . . . 117 Table 58 - READ BUFFER command. . . . . . . . . . . . . . . . . . . . . . 118 Table 59 - READ BUFFER mode field . . . . . . . . . . . . . . . . . . . . 118 Table 60 - READ BUFFER header . . . . . . . . . . . . . . . . . . . . . . 118 Table 61 - READ BUFFER descriptor . . . . . . . . . . . . . . . . . . . . 119 Table 62 - Buffer offset boundary . . . . . . . . . . . . . . . . . . . . 120 Table 63 - RECEIVE DIAGNOSTIC RESULTS command . . . . . . . . . . . . . . 121 Table 64 - REQUEST SENSE command. . . . . . . . . . . . . . . . . . . . . 122 Table 65 - Error codes 70h and 71h sense data format. . . . . . . . . . . 123 Table 66 - Field pointer bytes. . . . . . . . . . . . . . . . . . . . . . 125 Table 67 - Actual retry count bytes . . . . . . . . . . . . . . . . . . . 125 Table 68 - Format progress indication bytes . . . . . . . . . . . . . . . 126 Table 69 - Sense key (0h-7h) descriptions . . . . . . . . . . . . . . . . 128 Table 70 - Sense key (8h-Fh) descriptions . . . . . . . . . . . . . . . . 129 Table 71 - ASC and ASCQ assignments . . . . . . . . . . . . . . . . . . . 130 Table 72 - SEND DIAGNOSTIC command. . . . . . . . . . . . . . . . . . . . 134 Table 73 - TEST UNIT READY command. . . . . . . . . . . . . . . . . . . . 135 Table 74 - Preferred TEST UNIT READY responses. . . . . . . . . . . . . . 135 Table 75 - WRITE BUFFER command . . . . . . . . . . . . . . . . . . . . . 136 Table 76 - WRITE BUFFER mode field. . . . . . . . . . . . . . . . . . . . 137 Table 77 - Diagnostic page format . . . . . . . . . . . . . . . . . . . . 138 Table 78 - Diagnostic page codes. . . . . . . . . . . . . . . . . . . . . 139 Table 79 - Supported diagnostic pages . . . . . . . . . . . . . . . . . . 139 Table 80 - Log page format. . . . . . . . . . . . . . . . . . . . . . . . 140 Table 81 - Log parameter. . . . . . . . . . . . . . . . . . . . . . . . . 140 Table 82 - Threshold met criteria . . . . . . . . . . . . . . . . . . . . 142 Table 83 - Log page codes . . . . . . . . . . . . . . . . . . . . . . . . 143 Table 84 - Parameter code field for buffer over-run/under-run counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Table 85 - Count basis definition . . . . . . . . . . . . . . . . . . . . 144 Table 86 - Cause field definition . . . . . . . . . . . . . . . . . . . . 144 Table 87 - Parameter codes for error counter pages. . . . . . . . . . . . 144 Table 88 - Non-medium error event parameter codes . . . . . . . . . . . . 145 Table 89 - Supported log pages. . . . . . . . . . . . . . . . . . . . . . 146 Table 90 - Mode parameter list. . . . . . . . . . . . . . . . . . . . . . 146 Table 91 - Mode parameter header(6) . . . . . . . . . . . . . . . . . . . 146 Table 92 - Mode parameter header(10). . . . . . . . . . . . . . . . . . . 147 Table 93 - Mode parameter block descriptor. . . . . . . . . . . . . . . . 148 Table 94 - Mode page format . . . . . . . . . . . . . . . . . . . . . . . 148 Table 95 - Mode page codes. . . . . . . . . . . . . . . . . . . . . . . . 149 Table 96 - Control mode page. . . . . . . . . . . . . . . . . . . . . . . 149 Table 97 - Queue algorithm modifier . . . . . . . . . . . . . . . . . . . 150 Table 98 - Disconnect-reconnect page. . . . . . . . . . . . . . . . . . . 152 Table 99 - Data transfer disconnect control . . . . . . . . . . . . . . . 153 Table 100 - Peripheral device page. . . . . . . . . . . . . . . . . . . . 154 Table 101 - Interface identifier codes. . . . . . . . . . . . . . . . . . 154 Table 102 - Vital product data page codes . . . . . . . . . . . . . . . . 154 Table 103 - ASCII implemented operating definition . . . . . . . . . . . 155 Table 104 - ASCII information page. . . . . . . . . . . . . . . . . . . . 156 Table 105 - Implemented operating definition page . . . . . . . . . . . . 156 Table 106 - Supported vital product data pages. . . . . . . . . . . . . . 158 Table 107 - Unit serial number page . . . . . . . . . . . . . . . . . . . 159 Table 108 - Commands for direct-access devices. . . . . . . . . . . . . . 168 Table 109 - FORMAT UNIT command . . . . . . . . . . . . . . . . . . . . . 169 Table 110 - FORMAT UNIT parameter list. . . . . . . . . . . . . . . . . . 170 Table 111 - Defect list header. . . . . . . . . . . . . . . . . . . . . . 170 Table 112 - FORMAT UNIT defect descriptor format and requirements . . . . 171 Table 113 - Defect descriptor - Block format. . . . . . . . . . . . . . . 174 Table 114 - Defect descriptor - Bytes from index format . . . . . . . . . 174 Table 115 - Defect descriptor - Physical sector format. . . . . . . . . . 175 Table 116 - Initialization pattern descriptor . . . . . . . . . . . . . . 175 Table 117 - Initialization pattern modifier . . . . . . . . . . . . . . . 175 Table 118 - Initialization pattern type . . . . . . . . . . . . . . . . . 176 Table 119 - LOCK UNLOCK CACHE command . . . . . . . . . . . . . . . . . . 177 Table 120 - PRE-FETCH command . . . . . . . . . . . . . . . . . . . . . . 178 Table 121 - PREVENT ALLOW MEDIUM REMOVAL command. . . . . . . . . . . . . 179 Table 122 - READ(6) command . . . . . . . . . . . . . . . . . . . . . . . 180 Table 123 - READ(10) command. . . . . . . . . . . . . . . . . . . . . . . 181 Table 124 - READ CAPACITY command . . . . . . . . . . . . . . . . . . . . 182 Table 125 - READ CAPACITY data. . . . . . . . . . . . . . . . . . . . . . 182 Table 126 - READ DEFECT DATA command. . . . . . . . . . . . . . . . . . . 183 Table 127 - READ DEFECT DATA defect list. . . . . . . . . . . . . . . . . 184 Table 128 - READ LONG command . . . . . . . . . . . . . . . . . . . . . . 185 Table 129 - REASSIGN BLOCKS command . . . . . . . . . . . . . . . . . . . 186 Table 130 - REASSIGN BLOCKS defect list . . . . . . . . . . . . . . . . . 186 Table 131 - RELEASE command . . . . . . . . . . . . . . . . . . . . . . . 187 Table 132 - RESERVE command . . . . . . . . . . . . . . . . . . . . . . . 189 Table 133 - Data format of extent descriptors . . . . . . . . . . . . . . 190 Table 134 - Reservation types . . . . . . . . . . . . . . . . . . . . . . 190 Table 135 - REZERO UNIT command . . . . . . . . . . . . . . . . . . . . . 192 Table 136 - SEARCH DATA commands. . . . . . . . . . . . . . . . . . . . . 193 Table 137 - SEARCH DATA parameter list. . . . . . . . . . . . . . . . . . 194 Table 138 - SEEK(6) command . . . . . . . . . . . . . . . . . . . . . . . 196 Table 139 - SEEK(10) command. . . . . . . . . . . . . . . . . . . . . . . 196 Table 140 - SET LIMITS command. . . . . . . . . . . . . . . . . . . . . . 197 Table 141 - START STOP UNIT command . . . . . . . . . . . . . . . . . . . 198 Table 142 - SYNCHRONIZE CACHE command . . . . . . . . . . . . . . . . . . 199 Table 143 - VERIFY command. . . . . . . . . . . . . . . . . . . . . . . . 200 Table 144 - WRITE(6) command. . . . . . . . . . . . . . . . . . . . . . . 201 Table 145 - WRITE(10) command . . . . . . . . . . . . . . . . . . . . . . 202 Table 146 - WRITE AND VERIFY command. . . . . . . . . . . . . . . . . . . 203 Table 147 - WRITE LONG command. . . . . . . . . . . . . . . . . . . . . . 204 Table 148 - WRITE SAME command. . . . . . . . . . . . . . . . . . . . . . 205 Table 149 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 206 Table 150 - Translate address page - SEND DIAGNOSTIC. . . . . . . . . . . 206 Table 151 - Translate address page - RECEIVE DIAGNOSTIC . . . . . . . . . 207 Table 152 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 208 Table 153 - Direct-access medium-type codes . . . . . . . . . . . . . . . 208 Table 154 - Device specific parameter . . . . . . . . . . . . . . . . . . 209 Table 155 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 210 Table 156 - Caching page. . . . . . . . . . . . . . . . . . . . . . . . . 210 Table 157 - Demand read and write retention priority. . . . . . . . . . . 211 Table 158 - Flexible disk page. . . . . . . . . . . . . . . . . . . . . . 213 Table 159 - Examples of transfer rates. . . . . . . . . . . . . . . . . . 214 Table 160 - Pin 34 field. . . . . . . . . . . . . . . . . . . . . . . . . 215 Table 161 - Pin 4 field . . . . . . . . . . . . . . . . . . . . . . . . . 215 Table 162 - Pin 34 field. . . . . . . . . . . . . . . . . . . . . . . . . 216 Table 163 - Format device page. . . . . . . . . . . . . . . . . . . . . . 216 Table 164 - Reporting of default sector formatting support. . . . . . . . 218 Table 165 - Reporting of changeable sector formatting support . . . . . . 219 Table 166 - Medium types supported page . . . . . . . . . . . . . . . . . 219 Table 167 - Notch page. . . . . . . . . . . . . . . . . . . . . . . . . . 220 Table 168 - Read-write error recovery page. . . . . . . . . . . . . . . . 222 Table 169 - Error recovery bit definitions. . . . . . . . . . . . . . . . 223 Table 170 - Combined error recovery parameter descriptions. . . . . . . . 224 Table 171 - Rigid disk drive geometry page. . . . . . . . . . . . . . . . 229 Table 172 - Rotational position locking . . . . . . . . . . . . . . . . . 230 Table 173 - Verify error recovery page. . . . . . . . . . . . . . . . . . 231 Table 174 - Commands for sequential-access devices. . . . . . . . . . . . 241 Table 175 - ERASE command . . . . . . . . . . . . . . . . . . . . . . . . 243 Table 176 - LOAD UNLOAD command . . . . . . . . . . . . . . . . . . . . . 244 Table 177 - LOCATE command. . . . . . . . . . . . . . . . . . . . . . . . 245 Table 178 - READ command. . . . . . . . . . . . . . . . . . . . . . . . . 246 Table 179 - READ BLOCK LIMITS command . . . . . . . . . . . . . . . . . . 248 Table 180 - READ BLOCK LIMITS data. . . . . . . . . . . . . . . . . . . . 248 Table 181 - READ POSITION command . . . . . . . . . . . . . . . . . . . . 249 Table 182 - READ POSITION data format . . . . . . . . . . . . . . . . . . 249 Table 183 - READ REVERSE command. . . . . . . . . . . . . . . . . . . . . 251 Table 184 - RECOVER BUFFERED DATA command . . . . . . . . . . . . . . . . 252 Table 185 - RELEASE UNIT command. . . . . . . . . . . . . . . . . . . . . 253 Table 186 - RESERVE UNIT command. . . . . . . . . . . . . . . . . . . . . 254 Table 187 - REWIND command. . . . . . . . . . . . . . . . . . . . . . . . 255 Table 188 - SPACE command . . . . . . . . . . . . . . . . . . . . . . . . 256 Table 189 - Code field definition . . . . . . . . . . . . . . . . . . . . 256 Table 190 - VERIFY command. . . . . . . . . . . . . . . . . . . . . . . . 258 Table 191 - WRITE command . . . . . . . . . . . . . . . . . . . . . . . . 259 Table 192 - WRITE FILEMARKS command . . . . . . . . . . . . . . . . . . . 261 Table 193 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 262 Table 194 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 262 Table 195 - Device-specific parameter . . . . . . . . . . . . . . . . . . 263 Table 196 - Buffered modes. . . . . . . . . . . . . . . . . . . . . . . . 263 Table 197 - Speed field definition. . . . . . . . . . . . . . . . . . . . 263 Table 198 - Sequential-access density codes . . . . . . . . . . . . . . . 264 Table 199 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 265 Table 200 - Device configuration page . . . . . . . . . . . . . . . . . . 266 Table 201 - EOD formats . . . . . . . . . . . . . . . . . . . . . . . . . 268 Table 202 - Medium partition page(1). . . . . . . . . . . . . . . . . . . 269 Table 203 - Medium partition page(2-4). . . . . . . . . . . . . . . . . . 270 Table 204 - Read-write error recovery page. . . . . . . . . . . . . . . . 270 Table 205 - Commands for printer devices. . . . . . . . . . . . . . . . . 274 Table 206 - FORMAT command. . . . . . . . . . . . . . . . . . . . . . . . 275 Table 207 - Format type . . . . . . . . . . . . . . . . . . . . . . . . . 275 Table 208 - PRINT command . . . . . . . . . . . . . . . . . . . . . . . . 276 Table 209 - RECOVER BUFFERED DATA command . . . . . . . . . . . . . . . . 276 Table 210 - SLEW AND PRINT command. . . . . . . . . . . . . . . . . . . . 277 Table 211 - STOP PRINT command. . . . . . . . . . . . . . . . . . . . . . 278 Table 212 - SYNCHRONIZE BUFFER command. . . . . . . . . . . . . . . . . . 278 Table 213 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 279 Table 214 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 279 Table 215 - Printer device-specific parameter . . . . . . . . . . . . . . 279 Table 216 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 280 Table 217 - Parallel printer interface. . . . . . . . . . . . . . . . . . 280 Table 218 - Parity select . . . . . . . . . . . . . . . . . . . . . . . . 281 Table 219 - VFU control byte. . . . . . . . . . . . . . . . . . . . . . . 281 Table 220 - Printer options . . . . . . . . . . . . . . . . . . . . . . . 282 Table 221 - Font identification . . . . . . . . . . . . . . . . . . . . . 282 Table 222 - Slew mode . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Table 223 - Line slew . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Table 224 - Form slew . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Table 225 - Data termination option . . . . . . . . . . . . . . . . . . . 284 Table 226 - Serial printer interface. . . . . . . . . . . . . . . . . . . 285 Table 227 - Parity selection. . . . . . . . . . . . . . . . . . . . . . . 286 Table 228 - Pacing protocol . . . . . . . . . . . . . . . . . . . . . . . 286 Table 229 - Commands for processor devices. . . . . . . . . . . . . . . . 289 Table 230 - RECEIVE command . . . . . . . . . . . . . . . . . . . . . . . 289 Table 231 - SEND command. . . . . . . . . . . . . . . . . . . . . . . . . 290 Table 232 - SEND command - AEN data format. . . . . . . . . . . . . . . . 290 Table 233 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 291 Table 234 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 291 Table 235 - Commands for write-once devices . . . . . . . . . . . . . . . 294 Table 236 - Example mixed mode CD-ROM disc layout . . . . . . . . . . . . 298 Table 237 - MSF address format. . . . . . . . . . . . . . . . . . . . . . 303 Table 238 - Commands for CD-ROM device. . . . . . . . . . . . . . . . . . 305 Table 239 - PAUSE RESUME command. . . . . . . . . . . . . . . . . . . . . 306 Table 240 - PLAY AUDIO(10) command. . . . . . . . . . . . . . . . . . . . 307 Table 241 - PLAY AUDIO(12) command. . . . . . . . . . . . . . . . . . . . 308 Table 242 - PLAY AUDIO MSF command. . . . . . . . . . . . . . . . . . . . 309 Table 243 - PLAY AUDIO TRACK INDEX command. . . . . . . . . . . . . . . . 310 Table 244 - PLAY AUDIO TRACK RELATIVE(10) command . . . . . . . . . . . . 311 Table 245 - PLAY AUDIO TRACK RELATIVE(12) command . . . . . . . . . . . . 312 Table 246 - READ CD-ROM CAPACITY command. . . . . . . . . . . . . . . . . 313 Table 247 - READ CAPACITY data format . . . . . . . . . . . . . . . . . . 314 Table 248 - READ HEADER command . . . . . . . . . . . . . . . . . . . . . 314 Table 249 - READ HEADER data format . . . . . . . . . . . . . . . . . . . 314 Table 250 - CD-ROM data mode codes. . . . . . . . . . . . . . . . . . . . 315 Table 251 - READ SUB-CHANNEL command. . . . . . . . . . . . . . . . . . . 316 Table 252 - Sub-channel data format codes . . . . . . . . . . . . . . . . 316 Table 253 - Sub-Q channel data format . . . . . . . . . . . . . . . . . . 317 Table 254 - Audio status codes. . . . . . . . . . . . . . . . . . . . . . 318 Table 255 - ADR sub-channel Q field . . . . . . . . . . . . . . . . . . . 318 Table 256 - Sub-channel Q control bits. . . . . . . . . . . . . . . . . . 318 Table 257 - CD-ROM current position data format . . . . . . . . . . . . . 320 Table 258 - Media catalogue number data format. . . . . . . . . . . . . . 320 Table 259 - Track international standard recording code data format . . . 321 Table 260 - READ TOC command. . . . . . . . . . . . . . . . . . . . . . . 323 Table 261 - READ TOC data format . . . . . . . . . . . . . . . . . . . . 323 Table 262 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 325 Table 263 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 325 Table 264 - CD-ROM medium type codes. . . . . . . . . . . . . . . . . . . 325 Table 265 - CD-ROM device-specific parameter. . . . . . . . . . . . . . . 326 Table 266 - CD-ROM density codes. . . . . . . . . . . . . . . . . . . . . 326 Table 267 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 327 Table 268 - CD-ROM audio control parameters page. . . . . . . . . . . . . 327 Table 269 - Multiplier for LBAs . . . . . . . . . . . . . . . . . . . . . 328 Table 270 - Output port channel selection . . . . . . . . . . . . . . . . 328 Table 271 - CD-ROM parameters page. . . . . . . . . . . . . . . . . . . . 329 Table 272 - Inactivity timer multiplier values. . . . . . . . . . . . . . 329 Table 273 - Read error recovery parameters page . . . . . . . . . . . . . 330 Table 274 - Error recovery bit settings . . . . . . . . . . . . . . . . . 331 Table 275 - CD-ROM error recovery descriptions. . . . . . . . . . . . . . 331 Table 276 - Verify error recovery parameters page . . . . . . . . . . . . 336 Table 277 - Commands for scanner devices. . . . . . . . . . . . . . . . . 340 Table 278 - GET DATA BUFFER STATUS command. . . . . . . . . . . . . . . . 341 Table 279 - Data buffer status format . . . . . . . . . . . . . . . . . . 341 Table 280 - GET WINDOW command. . . . . . . . . . . . . . . . . . . . . . 343 Table 281 - Get window data header. . . . . . . . . . . . . . . . . . . . 343 Table 282 - Window descriptor bytes . . . . . . . . . . . . . . . . . . . 344 Table 283 - Image composition codes . . . . . . . . . . . . . . . . . . . 345 Table 284 - Padding types . . . . . . . . . . . . . . . . . . . . . . . . 346 Table 285 - Compression types and arguments . . . . . . . . . . . . . . . 346 Table 286 - OBJECT POSITION command . . . . . . . . . . . . . . . . . . . 347 Table 287 - Position function . . . . . . . . . . . . . . . . . . . . . . 347 Table 288 - READ command. . . . . . . . . . . . . . . . . . . . . . . . . 349 Table 289 - Data type codes . . . . . . . . . . . . . . . . . . . . . . . 349 Table 290 - SCAN command. . . . . . . . . . . . . . . . . . . . . . . . . 350 Table 291 - SEND command. . . . . . . . . . . . . . . . . . . . . . . . . 350 Table 292 - SET WINDOW command. . . . . . . . . . . . . . . . . . . . . . 351 Table 293 - Set window data header. . . . . . . . . . . . . . . . . . . . 351 Table 294 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 352 Table 295 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 352 Table 296 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 353 Table 297 - Measurement units page. . . . . . . . . . . . . . . . . . . . 353 Table 298 - Basic measurement units . . . . . . . . . . . . . . . . . . . 354 Table 299 - Commands for optical memory devices . . . . . . . . . . . . . 359 Table 300 - ERASE(10) command . . . . . . . . . . . . . . . . . . . . . . 360 Table 301 - ERASE(12) command . . . . . . . . . . . . . . . . . . . . . . 361 Table 302 - MEDIUM SCAN command . . . . . . . . . . . . . . . . . . . . . 362 Table 303 - MEDIUM SCAN parameter list. . . . . . . . . . . . . . . . . . 363 Table 304 - READ(12) command. . . . . . . . . . . . . . . . . . . . . . . 364 Table 305 - READ DEFECT DATA(12) command. . . . . . . . . . . . . . . . . 364 Table 306 - READ DEFECT DATA(12) list header. . . . . . . . . . . . . . . 365 Table 307 - READ GENERATION command . . . . . . . . . . . . . . . . . . . 366 Table 308 - Maximum generation data block . . . . . . . . . . . . . . . . 366 Table 309 - READ UPDATED BLOCK(10) command. . . . . . . . . . . . . . . . 367 Table 310 - SEARCH DATA(12) commands. . . . . . . . . . . . . . . . . . . 368 Table 311 - SET LIMITS(12) command. . . . . . . . . . . . . . . . . . . . 368 Table 312 - UPDATE BLOCK command. . . . . . . . . . . . . . . . . . . . . 369 Table 313 - VERIFY command. . . . . . . . . . . . . . . . . . . . . . . . 370 Table 314 - VERIFY(12) command. . . . . . . . . . . . . . . . . . . . . . 371 Table 315 - WRITE(10) command . . . . . . . . . . . . . . . . . . . . . . 372 Table 316 - WRITE(12) command . . . . . . . . . . . . . . . . . . . . . . 373 Table 317 - WRITE AND VERIFY(10) command. . . . . . . . . . . . . . . . . 373 Table 318 - WRITE AND VERIFY(12) command. . . . . . . . . . . . . . . . . 374 Table 319 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 375 Table 320 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 375 Table 321 - Optical memory medium-type codes. . . . . . . . . . . . . . . 375 Table 322 - Optical memory device specific parameter. . . . . . . . . . . 376 Table 323 - Optical memory density codes. . . . . . . . . . . . . . . . . 376 Table 324 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 377 Table 325 - Optical memory page . . . . . . . . . . . . . . . . . . . . . 378 Table 326 - Volume tag information format . . . . . . . . . . . . . . . . 382 Table 327 - Commands for medium changer devices . . . . . . . . . . . . . 383 Table 328 - EXCHANGE MEDIUM command . . . . . . . . . . . . . . . . . . . 384 Table 329 - INITIALIZE ELEMENT STATUS command . . . . . . . . . . . . . . 385 Table 330 - MOVE MEDIUM command . . . . . . . . . . . . . . . . . . . . . 386 Table 331 - POSITION TO ELEMENT command . . . . . . . . . . . . . . . . . 387 Table 332 - READ ELEMENT STATUS command . . . . . . . . . . . . . . . . . 388 Table 333 - Element type code . . . . . . . . . . . . . . . . . . . . . . 388 Table 334 - Element status data . . . . . . . . . . . . . . . . . . . . . 389 Table 335 - Element status page . . . . . . . . . . . . . . . . . . . . . 391 Table 336 - Medium transport element descriptor . . . . . . . . . . . . . 392 Table 337 - Storage element descriptor. . . . . . . . . . . . . . . . . . 393 Table 338 - Import export element descriptor. . . . . . . . . . . . . . . 394 Table 339 - Data transfer element descriptor. . . . . . . . . . . . . . . 395 Table 340 - REQUEST VOLUME ELEMENT ADDRESS command. . . . . . . . . . . . 396 Table 341 - Volume element address header format. . . . . . . . . . . . . 397 Table 342 - RELEASE command . . . . . . . . . . . . . . . . . . . . . . . 398 Table 343 - RESERVE command . . . . . . . . . . . . . . . . . . . . . . . 399 Table 344 - Data format of element list descriptors . . . . . . . . . . . 400 Table 345 - SEND VOLUME TAG command . . . . . . . . . . . . . . . . . . . 401 Table 346 - Send volume tag action codes. . . . . . . . . . . . . . . . . 402 Table 347 - Send volume tag parameters format . . . . . . . . . . . . . . 402 Table 348 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 404 Table 349 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 404 Table 350 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 405 Table 351 - Device capabilities page. . . . . . . . . . . . . . . . . . . 405 Table 352 - Element address assignment page . . . . . . . . . . . . . . . 406 Table 353 - Transport geometry parameters page. . . . . . . . . . . . . . 409 Table 354 - Commands for communications devices . . . . . . . . . . . . . 413 Table 355 - GET MESSAGE(6) command. . . . . . . . . . . . . . . . . . . . 414 Table 356 - GET MESSAGE(10) command . . . . . . . . . . . . . . . . . . . 414 Table 357 - GET MESSAGE(12) command . . . . . . . . . . . . . . . . . . . 415 Table 358 - SEND MESSAGE(6) command . . . . . . . . . . . . . . . . . . . 416 Table 359 - SEND MESSAGE(10) command. . . . . . . . . . . . . . . . . . . 416 Table 360 - SEND MESSAGE(12) command. . . . . . . . . . . . . . . . . . . 417 Table 361 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 418 Table 362 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 418 Table 363 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 419 Table B.1 - Fast SCSI jitter budget . . . . . . . . . . . . . . . . . . . 425 Table B.2 - Mapping of jitter to SCSI . . . . . . . . . . . . . . . . . . 425 Table D.1 - ASC and ASCQ assignments. . . . . . . . . . . . . . . . . . . 429 Table D.2 - SCSI-2 Operation Codes. . . . . . . . . . . . . . . . . . . . 435 Table E.1 - Vendor identification list. . . . . . . . . . . . . . . . . . 439 Table 1 - Cross-reference to connector contact assignments. . . . . . . . 20 Table 2 - Single-ended contact assignments - A cable. . . . . . . . . . . 20 Table 3 - Single-ended contact assignments - B cable. . . . . . . . . . . 21 Table 4 - Differential contact assignments - A cable. . . . . . . . . . . 22 Table 5 - Differential contact assignments - B cable. . . . . . . . . . . 23 Table 6 - Signal sources. . . . . . . . . . . . . . . . . . . . . . . . . 33 Table 7 - SCSI bus timing values. . . . . . . . . . . . . . . . . . . . . 35 Table 8 - Information transfer phases . . . . . . . . . . . . . . . . . . 43 Table 9 - Message format. . . . . . . . . . . . . . . . . . . . . . . . . 53 Table 10 - Message codes. . . . . . . . . . . . . . . . . . . . . . . . . 53 Table 11 - Extended message format. . . . . . . . . . . . . . . . . . . . 55 Table 12 - Extended message codes . . . . . . . . . . . . . . . . . . . . 55 Table 13 - IDENTIFY message format. . . . . . . . . . . . . . . . . . . . 58 Table 14 - IGNORE WIDE RESIDUE message format . . . . . . . . . . . . . . 59 Table 15 - Ignore field definition. . . . . . . . . . . . . . . . . . . . 59 Table 16 - MODIFY DATA POINTER. . . . . . . . . . . . . . . . . . . . . . 61 Table 17 - Queue tag message format . . . . . . . . . . . . . . . . . . . 61 Table 18 - SYNCHRONOUS DATA TRANSFER REQUEST. . . . . . . . . . . . . . . 63 Table 19 - WIDE DATA TRANSFER MESSAGE . . . . . . . . . . . . . . . . . . 65 Table 20 - Operation code type. . . . . . . . . . . . . . . . . . . . . . 68 Table 21 - Typical command descriptor block for six-byte commands . . . . 69 Table 22 - Typical command descriptor block for ten-byte commands . . . . 69 Table 23 - Typical command descriptor block for twelve-byte commands. . . 69 Table 24 - Operation code . . . . . . . . . . . . . . . . . . . . . . . . 71 Table 25 - Control field. . . . . . . . . . . . . . . . . . . . . . . . . 72 Table 26 - Status byte. . . . . . . . . . . . . . . . . . . . . . . . . . 73 Table 27 - Status byte code . . . . . . . . . . . . . . . . . . . . . . . 73 Table 28 - Commands in order received by target . . . . . . . . . . . . . 83 Table 29 - Commands in order of execution . . . . . . . . . . . . . . . . 84 Table 30 - Modified by HEAD OF QUEUE TAG message. . . . . . . . . . . . . 84 Table 31 - Commands for all device types. . . . . . . . . . . . . . . . . 88 Table 32 - CHANGE DEFINITION command. . . . . . . . . . . . . . . . . . . 89 Table 33 - Definition parameter field . . . . . . . . . . . . . . . . . . 90 Table 34 - COMPARE command. . . . . . . . . . . . . . . . . . . . . . . . 91 Table 35 - COPY command . . . . . . . . . . . . . . . . . . . . . . . . . 92 Table 36 - COPY parameter list. . . . . . . . . . . . . . . . . . . . . . 92 Table 37 - COPY function codes. . . . . . . . . . . . . . . . . . . . . . 93 Table 38 - Segment descriptor for COPY function codes 00h and 01h . . . . 95 Table 39 - Segment descriptor for COPY function code 02h. . . . . . . . . 96 Table 40 - Segment descriptor for COPY function code 03h. . . . . . . . . 96 Table 41 - Segment descriptor for COPY function code 04h. . . . . . . . . 98 Table 42 - Pad and cat bit definition . . . . . . . . . . . . . . . . . . 98 Table 43 - COPY AND VERIFY command. . . . . . . . . . . . . . . . . . . . 99 Table 44 - INQUIRY command. . . . . . . . . . . . . . . . . . . . . . . . 100 Table 45 - Standard INQUIRY data format . . . . . . . . . . . . . . . . . 101 Table 46 - Peripheral qualifier . . . . . . . . . . . . . . . . . . . . . 101 Table 47 - Peripheral device type . . . . . . . . . . . . . . . . . . . . 102 Table 48 - ANSI-approved version. . . . . . . . . . . . . . . . . . . . . 103 Table 49 - LOG SELECT command . . . . . . . . . . . . . . . . . . . . . . 105 Table 50 - Page control field . . . . . . . . . . . . . . . . . . . . . . 106 Table 51 - LOG SENSE command. . . . . . . . . . . . . . . . . . . . . . . 107 Table 52 - MODE SELECT(6) command . . . . . . . . . . . . . . . . . . . . 108 Table 53 - MODE SELECT(10) command. . . . . . . . . . . . . . . . . . . . 110 Table 54 - MODE SENSE(6) command. . . . . . . . . . . . . . . . . . . . . 111 Table 55 - Page control field . . . . . . . . . . . . . . . . . . . . . . 111 Table 56 - Mode page code usage for all devices . . . . . . . . . . . . . 111 Table 57 - MODE SENSE(10) command . . . . . . . . . . . . . . . . . . . . 113 Table 58 - READ BUFFER command. . . . . . . . . . . . . . . . . . . . . . 114 Table 59 - READ BUFFER mode field . . . . . . . . . . . . . . . . . . . . 114 Table 60 - READ BUFFER header . . . . . . . . . . . . . . . . . . . . . . 114 Table 61 - READ BUFFER descriptor . . . . . . . . . . . . . . . . . . . . 115 Table 62 - Buffer offset boundary . . . . . . . . . . . . . . . . . . . . 116 Table 63 - RECEIVE DIAGNOSTIC RESULTS command . . . . . . . . . . . . . . 117 Table 64 - REQUEST SENSE command. . . . . . . . . . . . . . . . . . . . . 118 Table 65 - Error codes 70h and 71h sense data format. . . . . . . . . . . 119 Table 66 - Field pointer bytes. . . . . . . . . . . . . . . . . . . . . . 121 Table 67 - Actual retry count bytes . . . . . . . . . . . . . . . . . . . 121 Table 68 - Format progress indication bytes . . . . . . . . . . . . . . . 122 Table 69 - Sense key (0h-7h) descriptions . . . . . . . . . . . . . . . . 124 Table 70 - Sense key (8h-Fh) descriptions . . . . . . . . . . . . . . . . 125 Table 71 - ASC and ASCQ assignments . . . . . . . . . . . . . . . . . . . 126 Table 72 - SEND DIAGNOSTIC command. . . . . . . . . . . . . . . . . . . . 130 Table 73 - TEST UNIT READY command. . . . . . . . . . . . . . . . . . . . 131 Table 74 - Preferred TEST UNIT READY responses. . . . . . . . . . . . . . 131 Table 75 - WRITE BUFFER command . . . . . . . . . . . . . . . . . . . . . 132 Table 76 - WRITE BUFFER mode field. . . . . . . . . . . . . . . . . . . . 133 Table 77 - Diagnostic page format . . . . . . . . . . . . . . . . . . . . 134 Table 78 - Diagnostic page codes. . . . . . . . . . . . . . . . . . . . . 135 Table 79 - Supported diagnostic pages . . . . . . . . . . . . . . . . . . 135 Table 80 - Log page format. . . . . . . . . . . . . . . . . . . . . . . . 136 Table 81 - Log parameter. . . . . . . . . . . . . . . . . . . . . . . . . 136 Table 82 - Threshold met criteria . . . . . . . . . . . . . . . . . . . . 138 Table 83 - Log page codes . . . . . . . . . . . . . . . . . . . . . . . . 139 Table 84 - Parameter code field for buffer over-run/under-run counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Table 85 - Count basis definition . . . . . . . . . . . . . . . . . . . . 140 Table 86 - Cause field definition . . . . . . . . . . . . . . . . . . . . 140 Table 87 - Parameter codes for error counter pages. . . . . . . . . . . . 140 Table 88 - Non-medium error event parameter codes . . . . . . . . . . . . 141 Table 89 - Supported log pages. . . . . . . . . . . . . . . . . . . . . . 142 Table 90 - Mode parameter list. . . . . . . . . . . . . . . . . . . . . . 142 Table 91 - Mode parameter header(6) . . . . . . . . . . . . . . . . . . . 142 Table 92 - Mode parameter header(10). . . . . . . . . . . . . . . . . . . 143 Table 93 - Mode parameter block descriptor. . . . . . . . . . . . . . . . 144 Table 94 - Mode page format . . . . . . . . . . . . . . . . . . . . . . . 144 Table 95 - Mode page codes. . . . . . . . . . . . . . . . . . . . . . . . 145 Table 96 - Control mode page. . . . . . . . . . . . . . . . . . . . . . . 145 Table 97 - Queue algorithm modifier . . . . . . . . . . . . . . . . . . . 146 Table 98 - Disconnect-reconnect page. . . . . . . . . . . . . . . . . . . 148 Table 99 - Data transfer disconnect control . . . . . . . . . . . . . . . 149 Table 100 - Peripheral device page. . . . . . . . . . . . . . . . . . . . 150 Table 101 - Interface identifier codes. . . . . . . . . . . . . . . . . . 150 Table 102 - Vital product data page codes . . . . . . . . . . . . . . . . 150 Table 103 - ASCII implemented operating definition . . . . . . . . . . . 151 Table 104 - ASCII information page. . . . . . . . . . . . . . . . . . . . 152 Table 105 - Implemented operating definition page . . . . . . . . . . . . 152 Table 106 - Supported vital product data pages. . . . . . . . . . . . . . 154 Table 107 - Unit serial number page . . . . . . . . . . . . . . . . . . . 155 Table 108 - Commands for direct-access devices. . . . . . . . . . . . . . 163 Table 109 - FORMAT UNIT command . . . . . . . . . . . . . . . . . . . . . 164 Table 110 - FORMAT UNIT parameter list. . . . . . . . . . . . . . . . . . 165 Table 111 - Defect list header. . . . . . . . . . . . . . . . . . . . . . 165 Table 112 - FORMAT UNIT defect descriptor format and requirements . . . . 166 Table 113 - Defect descriptor - Block format. . . . . . . . . . . . . . . 169 Table 114 - Defect descriptor - Bytes from index format . . . . . . . . . 169 Table 115 - Defect descriptor - Physical sector format. . . . . . . . . . 170 Table 116 - Initialization pattern descriptor . . . . . . . . . . . . . . 170 Table 117 - Initialization pattern modifier . . . . . . . . . . . . . . . 170 Table 118 - Initialization pattern type . . . . . . . . . . . . . . . . . 171 Table 119 - LOCK UNLOCK CACHE command . . . . . . . . . . . . . . . . . . 172 Table 120 - PRE-FETCH command . . . . . . . . . . . . . . . . . . . . . . 173 Table 121 - PREVENT ALLOW MEDIUM REMOVAL command. . . . . . . . . . . . . 174 Table 122 - READ(6) command . . . . . . . . . . . . . . . . . . . . . . . 175 Table 123 - READ(10) command. . . . . . . . . . . . . . . . . . . . . . . 176 Table 124 - READ CAPACITY command . . . . . . . . . . . . . . . . . . . . 177 Table 125 - READ CAPACITY data. . . . . . . . . . . . . . . . . . . . . . 177 Table 126 - READ DEFECT DATA command. . . . . . . . . . . . . . . . . . . 178 Table 127 - READ DEFECT DATA defect list. . . . . . . . . . . . . . . . . 179 Table 128 - READ LONG command . . . . . . . . . . . . . . . . . . . . . . 180 Table 129 - REASSIGN BLOCKS command . . . . . . . . . . . . . . . . . . . 181 Table 130 - REASSIGN BLOCKS defect list . . . . . . . . . . . . . . . . . 181 Table 131 - RELEASE command . . . . . . . . . . . . . . . . . . . . . . . 182 Table 132 - RESERVE command . . . . . . . . . . . . . . . . . . . . . . . 184 Table 133 - Data format of extent descriptors . . . . . . . . . . . . . . 185 Table 134 - Reservation types . . . . . . . . . . . . . . . . . . . . . . 185 Table 135 - REZERO UNIT command . . . . . . . . . . . . . . . . . . . . . 187 Table 136 - SEARCH DATA commands. . . . . . . . . . . . . . . . . . . . . 188 Table 137 - SEARCH DATA parameter list. . . . . . . . . . . . . . . . . . 189 Table 138 - SEEK(6) command . . . . . . . . . . . . . . . . . . . . . . . 191 Table 139 - SEEK(10) command. . . . . . . . . . . . . . . . . . . . . . . 191 Table 140 - SET LIMITS command. . . . . . . . . . . . . . . . . . . . . . 192 Table 141 - START STOP UNIT command . . . . . . . . . . . . . . . . . . . 193 Table 142 - SYNCHRONIZE CACHE command . . . . . . . . . . . . . . . . . . 194 Table 143 - VERIFY command. . . . . . . . . . . . . . . . . . . . . . . . 195 Table 144 - WRITE(6) command. . . . . . . . . . . . . . . . . . . . . . . 196 Table 145 - WRITE(10) command . . . . . . . . . . . . . . . . . . . . . . 197 Table 146 - WRITE AND VERIFY command. . . . . . . . . . . . . . . . . . . 198 Table 147 - WRITE LONG command. . . . . . . . . . . . . . . . . . . . . . 199 Table 148 - WRITE SAME command. . . . . . . . . . . . . . . . . . . . . . 200 Table 149 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 201 Table 150 - Translate address page - SEND DIAGNOSTIC. . . . . . . . . . . 201 Table 151 - Translate address page - RECEIVE DIAGNOSTIC . . . . . . . . . 202 Table 152 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 203 Table 153 - Direct-access medium-type codes . . . . . . . . . . . . . . . 203 Table 154 - Device specific parameter . . . . . . . . . . . . . . . . . . 204 Table 155 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 205 Table 156 - Caching page. . . . . . . . . . . . . . . . . . . . . . . . . 205 Table 157 - Demand read and write retention priority. . . . . . . . . . . 206 Table 158 - Flexible disk page. . . . . . . . . . . . . . . . . . . . . . 208 Table 159 - Examples of transfer rates. . . . . . . . . . . . . . . . . . 209 Table 160 - Pin 34 field. . . . . . . . . . . . . . . . . . . . . . . . . 210 Table 161 - Pin 4 field . . . . . . . . . . . . . . . . . . . . . . . . . 210 Table 162 - Pin 34 field. . . . . . . . . . . . . . . . . . . . . . . . . 211 Table 163 - Format device page. . . . . . . . . . . . . . . . . . . . . . 211 Table 164 - Reporting of default sector formatting support. . . . . . . . 213 Table 165 - Reporting of changeable sector formatting support . . . . . . 214 Table 166 - Medium types supported page . . . . . . . . . . . . . . . . . 214 Table 167 - Notch page. . . . . . . . . . . . . . . . . . . . . . . . . . 215 Table 168 - Read-write error recovery page. . . . . . . . . . . . . . . . 217 Table 169 - Error recovery bit definitions. . . . . . . . . . . . . . . . 218 Table 170 - Combined error recovery parameter descriptions. . . . . . . . 219 Table 171 - Rigid disk drive geometry page. . . . . . . . . . . . . . . . 224 Table 172 - Rotational position locking . . . . . . . . . . . . . . . . . 225 Table 173 - Verify error recovery page. . . . . . . . . . . . . . . . . . 226 Table 174 - Commands for sequential-access devices. . . . . . . . . . . . 236 Table 175 - ERASE command . . . . . . . . . . . . . . . . . . . . . . . . 238 Table 176 - LOAD UNLOAD command . . . . . . . . . . . . . . . . . . . . . 239 Table 177 - LOCATE command. . . . . . . . . . . . . . . . . . . . . . . . 240 Table 178 - READ command. . . . . . . . . . . . . . . . . . . . . . . . . 241 Table 179 - READ BLOCK LIMITS command . . . . . . . . . . . . . . . . . . 243 Table 180 - READ BLOCK LIMITS data. . . . . . . . . . . . . . . . . . . . 243 Table 181 - READ POSITION command . . . . . . . . . . . . . . . . . . . . 244 Table 182 - READ POSITION data format . . . . . . . . . . . . . . . . . . 244 Table 183 - READ REVERSE command. . . . . . . . . . . . . . . . . . . . . 246 Table 184 - RECOVER BUFFERED DATA command . . . . . . . . . . . . . . . . 247 Table 185 - RELEASE UNIT command. . . . . . . . . . . . . . . . . . . . . 248 Table 186 - RESERVE UNIT command. . . . . . . . . . . . . . . . . . . . . 249 Table 187 - REWIND command. . . . . . . . . . . . . . . . . . . . . . . . 250 Table 188 - SPACE command . . . . . . . . . . . . . . . . . . . . . . . . 251 Table 189 - Code field definition . . . . . . . . . . . . . . . . . . . . 251 Table 190 - VERIFY command. . . . . . . . . . . . . . . . . . . . . . . . 253 Table 191 - WRITE command . . . . . . . . . . . . . . . . . . . . . . . . 254 Table 192 - WRITE FILEMARKS command . . . . . . . . . . . . . . . . . . . 256 Table 193 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 257 Table 194 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 257 Table 195 - Device-specific parameter . . . . . . . . . . . . . . . . . . 258 Table 196 - Buffered modes. . . . . . . . . . . . . . . . . . . . . . . . 258 Table 197 - Speed field definition. . . . . . . . . . . . . . . . . . . . 258 Table 198 - Sequential-access density codes . . . . . . . . . . . . . . . 259 Table 199 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 260 Table 200 - Device configuration page . . . . . . . . . . . . . . . . . . 261 Table 201 - EOD formats . . . . . . . . . . . . . . . . . . . . . . . . . 263 Table 202 - Medium partition page(1). . . . . . . . . . . . . . . . . . . 264 Table 203 - Medium partition page(2-4). . . . . . . . . . . . . . . . . . 265 Table 204 - Read-write error recovery page. . . . . . . . . . . . . . . . 265 Table 205 - Commands for printer devices. . . . . . . . . . . . . . . . . 269 Table 206 - FORMAT command. . . . . . . . . . . . . . . . . . . . . . . . 270 Table 207 - Format type . . . . . . . . . . . . . . . . . . . . . . . . . 270 Table 208 - PRINT command . . . . . . . . . . . . . . . . . . . . . . . . 271 Table 209 - RECOVER BUFFERED DATA command . . . . . . . . . . . . . . . . 271 Table 210 - SLEW AND PRINT command. . . . . . . . . . . . . . . . . . . . 272 Table 211 - STOP PRINT command. . . . . . . . . . . . . . . . . . . . . . 273 Table 212 - SYNCHRONIZE BUFFER command. . . . . . . . . . . . . . . . . . 273 Table 213 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 274 Table 214 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 274 Table 215 - Printer device-specific parameter . . . . . . . . . . . . . . 274 Table 216 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 275 Table 217 - Parallel printer interface. . . . . . . . . . . . . . . . . . 275 Table 218 - Parity select . . . . . . . . . . . . . . . . . . . . . . . . 276 Table 219 - VFU control byte. . . . . . . . . . . . . . . . . . . . . . . 276 Table 220 - Printer options . . . . . . . . . . . . . . . . . . . . . . . 277 Table 221 - Font identification . . . . . . . . . . . . . . . . . . . . . 277 Table 222 - Slew mode . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Table 223 - Line slew . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Table 224 - Form slew . . . . . . . . . . . . . . . . . . . . . . . . . . 279 Table 225 - Data termination option . . . . . . . . . . . . . . . . . . . 279 Table 226 - Serial printer interface. . . . . . . . . . . . . . . . . . . 280 Table 227 - Parity selection. . . . . . . . . . . . . . . . . . . . . . . 281 Table 228 - Pacing protocol . . . . . . . . . . . . . . . . . . . . . . . 281 Table 229 - Commands for processor devices. . . . . . . . . . . . . . . . 284 Table 230 - RECEIVE command . . . . . . . . . . . . . . . . . . . . . . . 284 Table 231 - SEND command. . . . . . . . . . . . . . . . . . . . . . . . . 285 Table 232 - SEND command - AEN data format. . . . . . . . . . . . . . . . 285 Table 233 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 286 Table 234 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 286 Table 235 - Commands for write-once devices . . . . . . . . . . . . . . . 289 Table 236 - Example mixed mode CD-ROM disc layout . . . . . . . . . . . . 293 Table 237 - MSF address format. . . . . . . . . . . . . . . . . . . . . . 298 Table 238 - Commands for CD-ROM device. . . . . . . . . . . . . . . . . . 300 Table 239 - PAUSE RESUME command. . . . . . . . . . . . . . . . . . . . . 301 Table 240 - PLAY AUDIO(10) command. . . . . . . . . . . . . . . . . . . . 302 Table 241 - PLAY AUDIO(12) command. . . . . . . . . . . . . . . . . . . . 303 Table 242 - PLAY AUDIO MSF command. . . . . . . . . . . . . . . . . . . . 304 Table 243 - PLAY AUDIO TRACK INDEX command. . . . . . . . . . . . . . . . 305 Table 244 - PLAY AUDIO TRACK RELATIVE(10) command . . . . . . . . . . . . 306 Table 245 - PLAY AUDIO TRACK RELATIVE(12) command . . . . . . . . . . . . 307 Table 246 - READ CD-ROM CAPACITY command. . . . . . . . . . . . . . . . . 308 Table 247 - READ CAPACITY data format . . . . . . . . . . . . . . . . . . 309 Table 248 - READ HEADER command . . . . . . . . . . . . . . . . . . . . . 309 Table 249 - READ HEADER data format . . . . . . . . . . . . . . . . . . . 309 Table 250 - CD-ROM data mode codes. . . . . . . . . . . . . . . . . . . . 310 Table 251 - READ SUB-CHANNEL command. . . . . . . . . . . . . . . . . . . 311 Table 252 - Sub-channel data format codes . . . . . . . . . . . . . . . . 311 Table 253 - Sub-Q channel data format . . . . . . . . . . . . . . . . . . 312 Table 254 - Audio status codes. . . . . . . . . . . . . . . . . . . . . . 313 Table 255 - ADR sub-channel Q field . . . . . . . . . . . . . . . . . . . 313 Table 256 - Sub-channel Q control bits. . . . . . . . . . . . . . . . . . 313 Table 257 - CD-ROM current position data format . . . . . . . . . . . . . 315 Table 258 - Media catalogue number data format. . . . . . . . . . . . . . 315 Table 259 - Track international standard recording code data format . . . 316 Table 260 - READ TOC command. . . . . . . . . . . . . . . . . . . . . . . 318 Table 261 - READ TOC data format . . . . . . . . . . . . . . . . . . . . 318 Table 262 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 320 Table 263 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 320 Table 264 - CD-ROM medium type codes. . . . . . . . . . . . . . . . . . . 320 Table 265 - CD-ROM device-specific parameter. . . . . . . . . . . . . . . 321 Table 266 - CD-ROM density codes. . . . . . . . . . . . . . . . . . . . . 321 Table 267 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 322 Table 268 - CD-ROM audio control parameters page. . . . . . . . . . . . . 322 Table 269 - Multiplier for LBAs . . . . . . . . . . . . . . . . . . . . . 323 Table 270 - Output port channel selection . . . . . . . . . . . . . . . . 323 Table 271 - CD-ROM parameters page. . . . . . . . . . . . . . . . . . . . 324 Table 272 - Inactivity timer multiplier values. . . . . . . . . . . . . . 324 Table 273 - Read error recovery parameters page . . . . . . . . . . . . . 325 Table 274 - Error recovery bit settings . . . . . . . . . . . . . . . . . 326 Table 275 - CD-ROM error recovery descriptions. . . . . . . . . . . . . . 326 Table 276 - Verify error recovery parameters page . . . . . . . . . . . . 331 Table 277 - Commands for scanner devices. . . . . . . . . . . . . . . . . 335 Table 278 - GET DATA BUFFER STATUS command. . . . . . . . . . . . . . . . 336 Table 279 - Data buffer status format . . . . . . . . . . . . . . . . . . 336 Table 280 - GET WINDOW command. . . . . . . . . . . . . . . . . . . . . . 338 Table 281 - Get window data header. . . . . . . . . . . . . . . . . . . . 338 Table 282 - Window descriptor bytes . . . . . . . . . . . . . . . . . . . 339 Table 283 - Image composition codes . . . . . . . . . . . . . . . . . . . 340 Table 284 - Padding types . . . . . . . . . . . . . . . . . . . . . . . . 341 Table 285 - Compression types and arguments . . . . . . . . . . . . . . . 341 Table 286 - OBJECT POSITION command . . . . . . . . . . . . . . . . . . . 342 Table 287 - Position function . . . . . . . . . . . . . . . . . . . . . . 342 Table 288 - READ command. . . . . . . . . . . . . . . . . . . . . . . . . 344 Table 289 - Data type codes . . . . . . . . . . . . . . . . . . . . . . . 344 Table 290 - SCAN command. . . . . . . . . . . . . . . . . . . . . . . . . 345 Table 291 - SEND command. . . . . . . . . . . . . . . . . . . . . . . . . 345 Table 292 - SET WINDOW command. . . . . . . . . . . . . . . . . . . . . . 346 Table 293 - Set window data header. . . . . . . . . . . . . . . . . . . . 346 Table 294 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 347 Table 295 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 347 Table 296 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 348 Table 297 - Measurement units page. . . . . . . . . . . . . . . . . . . . 348 Table 298 - Basic measurement units . . . . . . . . . . . . . . . . . . . 349 Table 299 - Commands for optical memory devices . . . . . . . . . . . . . 353 Table 300 - ERASE(10) command . . . . . . . . . . . . . . . . . . . . . . 354 Table 301 - ERASE(12) command . . . . . . . . . . . . . . . . . . . . . . 355 Table 302 - MEDIUM SCAN command . . . . . . . . . . . . . . . . . . . . . 356 Table 303 - MEDIUM SCAN parameter list. . . . . . . . . . . . . . . . . . 357 Table 304 - READ(12) command. . . . . . . . . . . . . . . . . . . . . . . 358 Table 305 - READ DEFECT DATA(12) command. . . . . . . . . . . . . . . . . 358 Table 306 - READ DEFECT DATA(12) list header. . . . . . . . . . . . . . . 359 Table 307 - READ GENERATION command . . . . . . . . . . . . . . . . . . . 360 Table 308 - Maximum generation data block . . . . . . . . . . . . . . . . 360 Table 309 - READ UPDATED BLOCK(10) command. . . . . . . . . . . . . . . . 361 Table 310 - SEARCH DATA(12) commands. . . . . . . . . . . . . . . . . . . 362 Table 311 - SET LIMITS(12) command. . . . . . . . . . . . . . . . . . . . 362 Table 312 - UPDATE BLOCK command. . . . . . . . . . . . . . . . . . . . . 363 Table 313 - VERIFY command. . . . . . . . . . . . . . . . . . . . . . . . 364 Table 314 - VERIFY(12) command. . . . . . . . . . . . . . . . . . . . . . 365 Table 315 - WRITE(10) command . . . . . . . . . . . . . . . . . . . . . . 366 Table 316 - WRITE(12) command . . . . . . . . . . . . . . . . . . . . . . 367 Table 317 - WRITE AND VERIFY(10) command. . . . . . . . . . . . . . . . . 367 Table 318 - WRITE AND VERIFY(12) command. . . . . . . . . . . . . . . . . 368 Table 319 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 369 Table 320 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 369 Table 321 - Optical memory medium-type codes. . . . . . . . . . . . . . . 369 Table 322 - Optical memory device specific parameter. . . . . . . . . . . 370 Table 323 - Optical memory density codes. . . . . . . . . . . . . . . . . 370 Table 324 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 371 Table 325 - Optical memory page . . . . . . . . . . . . . . . . . . . . . 372 Table 326 - Volume tag information format . . . . . . . . . . . . . . . . 376 Table 327 - Commands for medium changer devices . . . . . . . . . . . . . 377 Table 328 - EXCHANGE MEDIUM command . . . . . . . . . . . . . . . . . . . 378 Table 329 - INITIALIZE ELEMENT STATUS command . . . . . . . . . . . . . . 379 Table 330 - MOVE MEDIUM command . . . . . . . . . . . . . . . . . . . . . 380 Table 331 - POSITION TO ELEMENT command . . . . . . . . . . . . . . . . . 381 Table 332 - READ ELEMENT STATUS command . . . . . . . . . . . . . . . . . 382 Table 333 - Element type code . . . . . . . . . . . . . . . . . . . . . . 382 Table 334 - Element status data . . . . . . . . . . . . . . . . . . . . . 383 Table 335 - Element status page . . . . . . . . . . . . . . . . . . . . . 385 Table 336 - Medium transport element descriptor . . . . . . . . . . . . . 386 Table 337 - Storage element descriptor. . . . . . . . . . . . . . . . . . 387 Table 338 - Import export element descriptor. . . . . . . . . . . . . . . 388 Table 339 - Data transfer element descriptor. . . . . . . . . . . . . . . 389 Table 340 - REQUEST VOLUME ELEMENT ADDRESS command. . . . . . . . . . . . 390 Table 341 - Volume element address header format. . . . . . . . . . . . . 391 Table 342 - RELEASE command . . . . . . . . . . . . . . . . . . . . . . . 392 Table 343 - RESERVE command . . . . . . . . . . . . . . . . . . . . . . . 393 Table 344 - Data format of element list descriptors . . . . . . . . . . . 394 Table 345 - SEND VOLUME TAG command . . . . . . . . . . . . . . . . . . . 395 Table 346 - Send volume tag action codes. . . . . . . . . . . . . . . . . 396 Table 347 - Send volume tag parameters format . . . . . . . . . . . . . . 396 Table 348 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 398 Table 349 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 398 Table 350 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 399 Table 351 - Device capabilities page. . . . . . . . . . . . . . . . . . . 399 Table 352 - Element address assignment page . . . . . . . . . . . . . . . 400 Table 353 - Transport geometry parameters page. . . . . . . . . . . . . . 403 Table 354 - Commands for communications devices . . . . . . . . . . . . . 407 Table 355 - GET MESSAGE(6) command. . . . . . . . . . . . . . . . . . . . 408 Table 356 - GET MESSAGE(10) command . . . . . . . . . . . . . . . . . . . 408 Table 357 - GET MESSAGE(12) command . . . . . . . . . . . . . . . . . . . 409 Table 358 - SEND MESSAGE(6) command . . . . . . . . . . . . . . . . . . . 410 Table 359 - SEND MESSAGE(10) command. . . . . . . . . . . . . . . . . . . 410 Table 360 - SEND MESSAGE(12) command. . . . . . . . . . . . . . . . . . . 411 Table 361 - Diagnostic page codes . . . . . . . . . . . . . . . . . . . . 412 Table 362 - Log page codes. . . . . . . . . . . . . . . . . . . . . . . . 412 Table 363 - Mode page codes . . . . . . . . . . . . . . . . . . . . . . . 413 Table B.1 - Fast SCSI jitter budget . . . . . . . . . . . . . . . . . . . 418 Table B.2 - Mapping of jitter to SCSI . . . . . . . . . . . . . . . . . . 418 Table D.1 - ASC and ASCQ assignments. . . . . . . . . . . . . . . . . . . 421 Table D.2 - SCSI-2 Operation Codes. . . . . . . . . . . . . . . . . . . . 427 Table E.1 - Vendor identification list. . . . . . . . . . . . . . . . . . 431 Foreword This Small Computer System Interface -2 standard is designed to provide an efficient peer-to-peer I/O bus with up to 16 devices, including one or more hosts. Data may be transferred asynchronously at rates that only depend on device implementation and cable length. Synchronous data transfers are supported at rates up to 10 mega-transfers per second. With the 32-bit wide data transfer option, data rates of up to 40 megabytes per second are possible. This standard includes command sets for magnetic and optical disks, tapes, printers, processors, CD-ROMs, scanners, medium changers, and communications devices. Introduction This part of ANSI X3.131-199x replaces ANSI X3.131-1986 Small Computer System Interface. The clauses contain material as described below. Clause 1 describes the scope. Clause 2 lists the normative references. Clause 3 provides a glossary common to the whole document. Clause 4 provides descriptions and conventions. Clause 5 describes the physical characteristics. Clause 6 describes the logical characteristics of the interface. Clause 7 describes the SCSI command and status structure. Clause 8 specifies those commands that have a consistent meaning for all device types. Clause 9 specifies commands for direct-access devices. Clause 10 specifies commands for sequential-access devices. Clause 11 specifies commands for printer devices. Clause 12 specifies commands for processor devices. Clause 13 specifies commands for write-once devices. Clause 14 specifies commands for CD-ROM devices. Clause 15 specifies commands for scanner devices. Clause 16 specifies commands for optical memory devices. Clause 17 specifies commands for medium changer devices. Clause 18 specifies commands for communications devices. Annex A illustrates SCSI signal sequence. Annex B illustrates fast SCSI skew time. Annex C describes other SCSI standardization activities. Annex D contains SCSI-2 additional sense codes and operation codes in numeric order. Annex E contains the list of SCSI-2 vendor identifications. The SCSI protocol is designed to provide an efficient peer-to-peer I/O bus with up to 16 devices, including one or more hosts. Data may be transferred asynchronously at rates that only depend on device implementation and cable length. Synchronous data transfers are supported at rates up to 10 mega-transfers per second. With the 32-bit wide data transfer option, data rates of up to 40 megabytes per second are possible. SCSI-2 includes command sets for magnetic and optical disks, tapes, printers, processors, CD-ROMs, scanners, medium changers, and communications devices. In 1985, when the first SCSI standard was being finalized several manufacturers wanted to increase the mandatory requirements of SCSI and to define further features for direct-access devices. Rather than delay the SCSI standard, formed an ad hoc group was formed to develop a working paper that was eventually called the Common Command Set (CCS). Many disk products were designed using this working paper. In parallel with the development of the CCS working paper, work began on an enhanced SCSI standard which was named SCSI-2. SCSI-2 included the results of the CCS working paper and extended them to all device types. It also added caching commands, performance enhancement features, and other worthwhile functions. While SCSI-2 has gone well beyond the original SCSI standard (now referred to as SCSI-1), it retains a high degree of compatibility with SCSI-1 devices. SCSI-2 has evolved significantly from SCSI-1 with the new document nearly three times larger. Most of the changes are additions, but several obsolete options were removed: a) Single initiator option b) Non-arbitrating systems option c) The SCSI-1 alternative 1 shielded connector d) Non-extended sense data option e) Reservation queuing option f) The read-only device command set. There are several new low-level requirements: a) Parity is now required b) Initiators are required to provide terminator power c) The arbitration delay was increased from 2.2 to 2.4 us d) Message support is now required. Several low-level options were added: a) Wide SCSI (up to 32 bits wide using a second cable) b) Fast SCSI (synchronous data transfers of up to 10 mega-transfers per second) c) Command queuing (up to 256 commands per initiator per logical unit) d) High-density connector alternatives were added e) Asynchronous event notification f) Extended contingent allegiance. New command sets were added including: a) CD-ROM (replaces read-only device) b) Scanner device c) Optical memory device (provides for write-once, read-only, and erasable media) d) Medium changer device e) Communications device All command sets were enhanced: a) Device models were added b) Extended sense was expanded c) The INQUIRY data was expanded d) The MODE SELECT and MODE SENSE commands were paged for all device types e) The CHANGE DEFINITION, LOG SELECT, LOG SENSE, READ BUFFER, and WRITE BUFFER commands were added for all device types f) The COPY command definition was expanded to include inexact block size handling and an image copy option. g) The direct-access device command set was enhanced to add cache management, several new commands and to provide more initiator control over defect management h) The sequential-access device command set was enhanced to add a partitioned media concept i) The printer device command set was enhanced by adding several mode pages j) The write-once (optical) device command set was enhanced by adding several new commands plus extending several command descriptor blocks to twelve bytes to accommodate larger transfer lengths. draft proposed American National Standard for Information Systems Information technology - Small Computer System Interface-2 1 Scope This standard defines an input/output bus for interconnecting computers and peripheral devices. It defines extensions to the Small Computer System Interface (ISO 9316:1989), referred to herein as SCSI-1. It also provides more complete standardization of the previously defined command sets. It includes the necessary specification of the mechanical, electrical, and functional characteristics of the interface to allow inter-operability of conforming devices. This standard is referred to herein as SCSI-2. The term SCSI is used wherever it is not necessary to distinguish between the two versions. 2 Normative references The following standards contain provisions which, through reference in this text, constitute provisions of this standard. At the time of publication, the editions indicated were valid. All standards are subject to revision, and parties to agreements based on this standard are encouraged to investigate the possibility of applying the most recent editions of the standards indicated below. Members of IEC and ISO maintain registers of currently valid standards. ISO/IEC 10149:1989, Information technology - Data interchange on read-only 120 mm optical data disks (CD-ROM). IEC 908:1987, Compact Disc Digital Audio System. American National Standard ANSI BSR X3.170A-1991, Enhanced Small Device Interface. EIA RS-485-1983, Standard for Electrical Characteristics of Generators and Receivers for use in Balanced Digital Multipoint Systems. 3 Definitions, symbols and abbreviations 3.1 Definitions For the purposes of this standard, the following definitions apply. 3.1.1 active I/O process: An I/O process that is presently in execution (not queued). 3.1.2 byte: Indicates an 8-bit construct. 3.1.3 command descriptor block (CDB): The structure used to communicate commands from an initiator to a target. 3.1.4 command queue: The queue used to store the queued I/O processes (see 7.8). 3.1.5 connect: The initiator function that selects a target to establish a nexus and to start an I/O process. The connection that results is an initial connection. 3.1.6 connection: An initial connection or reconnection. A connection can only occur between one initiator and one target. 3.1.7 contact: The electrically-conductive portion of a connector associated with a single conductor in a cable. 3.1.8 contingent allegiance: A condition typically generated by a CHECK CONDITION status during which a target preserves sense data (see 7.6.). 3.1.9 current I/O process: The I/O process that is presently connected on the SCSI bus. 3.1.10 disconnect: The action that occurs when an SCSI device releases control of the SCSI bus, allowing it to go to the BUS FREE phase. 3.1.11 extended contingent allegiance: A condition generated by an INITIATE RECOVERY message to assist in extended error recovery procedures in multi-initiator systems (see 7.7). 3.1.12 field: A group of one or more contiguous bits. 3.1.13 host adapter: A device which connects between a host system and the SCSI bus. The device usually performs the lower layers of the SCSI protocol and normally operates in the initiator role. This function may be integrated into the host system. 3.1.14 initial connection: An initial connection is the result of a connect and it exists from the assertion of the BSY signal in a SELECTION phase until the next BUS FREE phase occurs. 3.1.15 initiator: An SCSI device that requests an I/O process to be performed by another SCSI device (a target). 3.1.16 invalid: An illegal (reserved) or unsupported field or code value. 3.1.17 I/O process: An I/O process consists of one initial connection and zero or more reconnections, all pertaining to a single command or a group of linked commands. More specifically, the connection(s) pertain to a nexus in which zero or more command descriptor blocks are transferred. An I/O process begins with the establishment of a nexus. An I/O process normally ends with the BUS FREE phase following successful transfer of a COMMAND COMPLETE or a RELEASE RECOVERY message. An I/O process also ends with the BUS FREE phase following an ABORT, ABORT TAG, BUS DEVICE RESET, CLEAR QUEUE message, or a hard RESET condition, or an unexpected disconnect occurs. 3.1.18 I_T nexus: A nexus which exists between an initiator and a target. 3.1.19 I_T_L nexus: A nexus which exists between an initiator, a target, and a logical unit. This relationship replaces the prior I_T nexus. 3.1.20 I_T_R nexus: A nexus which exists between an initiator, a target, and a target routine. This relationship replaces the prior I_T nexus. 3.1.21 I_T_x nexus: A nexus which is either an I_T_L or I_T_R nexus. 3.1.22 I_T_L_Q nexus: A nexus between an initiator, a target, a logical unit, and a queue tag following the successful receipt of one of the queue tag messages. This relationship replaces the prior I_T_L nexus. 3.1.23 I_T_x_y nexus: A nexus which is either an I_T_x or I_T_L_Q. 3.1.24 logical block: A unit of data supplied or requested by an initiator. 3.1.25 logical unit: A physical or virtual peripheral device addressable through a target. 3.1.26 logical unit number: An encoded three-bit identifier for the logical unit. 3.1.27 mandatory: The referenced item is required to claim compliance with this standard. 3.1.28 nexus: A relationship that begins with the establishment of an initial connection and ends with the completion of the I/O process. The relationship may be restricted to specify a single logical unit or target routine by the successful transfer of an IDENTIFY message. The relationship may be further restricted by the successful transfer of a queue tag message. 3.1.29 one: A true signal value or a true condition of a variable. 3.1.30 optional: The referenced item is not required to claim compliance with this standard. Implementation of an optional item must be as defined in this standard. 3.1.31 page: Several commands use regular parameter structures that are referred to as pages. These pages are identified with a value known as a page code. 3.1.32 peripheral device: A physical peripheral device that can be attached to an SCSI device, which connects to the SCSI bus. The peripheral device and the SCSI device (peripheral controller) may be physically packaged together. Often there is a one-to-one mapping between peripheral devices and logical units, but this is not required. Examples of peripheral devices are: magnetic disks, printers, optical disks, and magnetic tapes. 3.1.33 queue tag: The value associated with an I/O process that uniquely identifies it from other queued I/O processes in the logical unit for the same initiator. 3.1.34 queued I/O process: An I/O process that is in the command queue. 3.1.35 reconnect: The act of reviving a nexus to continue an I/O process. A target reconnects to an initiator by using the RESELECTION and MESSAGE IN phases after winning arbitration. An initiator reconnects to a target by using the SELECTION and MESSAGE OUT phases after winning arbitration (see 7.5.2). 3.1.36 reconnection: A reconnection is the result of a reconnect and it exists from the assertion of the BSY signal in a SELECTION or RESELECTION phase until the next BUS FREE phase occurs. 3.1.37 reserved: Identifies bits, fields, and code values that are set aside for future standardization. 3.1.38 SCSI address: The hex representation of the unique address (0-15) assigned to an SCSI device. This address would normally be assigned and set in the SCSI device during system installation. 3.1.39 SCSI ID: The bit-significant representation of the SCSI address referring to one of the signal lines DB(7-0). 3.1.40 SCSI device: A host adapter or a target controller that can be attached to the SCSI bus. 3.1.41 signal assertion: The act of driving a signal to the true state. 3.1.42 signal negation: The act of driving a signal to the false state or allowing the cable terminators to bias the signal to the false state (by placing the driver in the high impedance condition). 3.1.43 signal release: The act of allowing the cable terminators to bias the signal to the false state (by placing the driver in the high impedance condition). 3.1.44 status: One byte of information sent from a target to an initiator upon completion of each command. 3.1.45 target: An SCSI device that performs an operation requested by an initiator. 3.1.46 target routine: A target routine is an I/O process directed to a target, and not to a logical unit (see 6.6.7). 3.1.47 third-party: When used in reference to COPY commands, third-party means a COPY command issued to one device to perform a copy operation between two other devices. When used in reference to RESERVE, or RELEASE commands, third-party means a reservation made on behalf of another device (e.g. A processor device requests that a direct-access device reserve itself for exclusive use by a sequential-access device). 3.1.48 unexpected disconnect: A disconnection that occurs as a result of an exception condition (see 6.1.1). 3.1.49 vendor-specific (VS): Something (e.g. a bit, field, code value, etc.) that is not defined by this standard and may be used differently in various implementations. 3.1.50 zero: A false signal value or a false condition of a variable. 3.2 Symbols and abbreviations AEN Asynchronous event notification (see 7.5.5) AWG American Wire Gauge LSB Least significant bit LUN Logical unit number MSB Most significant bit SCSI Either SCSI-1 or SCSI-2 SCSI-1 The Small Computer System Interface (ISO 9316:1989) SCSI-2 The Small Computer System Interface - 2 (this atandard) 4 General 4.1 Overview SCSI is a local I/O bus that can be operated over a wide range of data rates. The primary objective of the interface is to provide host computers with device independence within a class of devices. Thus, different disk drives, tape drives, printers, optical media drives, and other devices can be added to the host computers without requiring modifications to generic system hardware or software. Provision is made for the addition of special features and functions through the use of vendor unique fields and codes. Reserved fields and codes are provided for future standardization. A second key objective of SCSI-2 is to provide compatibility with those SCSI-1 devices that support bus parity and that meet conformance level 2 of SCSI-1. While some previously vendor unique commands and parameters have been defined by the SCSI-2 standard, devices meeting SCSI-1 and SCSI- 2 can co-exist on the same bus. It is intended that those operating systems providing support for both command sets be able to operate in environments mixing SCSI-1 and SCSI-2 devices. Properly conforming SCSI-1 devices, both initiators and targets, should respond in an acceptable manner to reject SCSI-2 protocol extensions. All SCSI-2 protocol extensions are designed to be permissive of such rejections and to allow the SCSI-1 device to continue operation without requiring the use of the extension. A third key objective of SCSI-2 is to move device-dependent intelligence out to the SCSI-2 devices. The command set definitions allow a sophisticated operating system to obtain all required initialization information from the attached SCSI-2 devices. The formalized sequence of requests identify the type of attached SCSI-2 device, the characteristics of the device, and all the changeable parameters supported by the device. Further requests can determine the readiness of the device to operate, the types of media supported by the device, and all other pertinent system information. Those parameters not required by the operating system for operation, initialization, or system tuning are not exposed to the SCSI-2 interface, but are managed by the SCSI-2 device itself. The interface uses logical rather than physical addressing for all data blocks. For direct-access devices, each logical unit may be interrogated to determine how many blocks it contains. A logical unit may coincide with all or part of a peripheral device. The interface protocol includes provision for the connection of multiple initiators (SCSI devices capable of initiating an operation) and multiple targets (SCSI devices capable of responding to a request to perform an operation). Distributed arbitration (i.e. bus-contention logic) is built into the architecture of SCSI. A priority system awards interface control to the highest priority SCSI device that is contending for use of the bus. The time to complete arbitration is independent of the number of devices that are contending and can be completed in less than 10 us. There are two electrical alternatives: single-ended and differential. Single-ended and differential devices are electrically incompatible and can not be mixed on the same physical bus. Provision is made for cable lengths up to 25 m using differential drivers and receivers. A single-ended driver and receiver configuration is defined for cable lengths of up to 6 m and is primarily intended for applications within a cabinet. Arbitration is defined to permit multiple initiators and to permit concurrent I/O operations. All SCSI devices are required to be capable of operating with the defined asynchronous transfer protocol. In addition, an optional synchronous transfer protocol is defined. A message protocol for control of the interface is also specified. In most cases, messages are not directly apparent to the host computer software. Commands are classified as mandatory, optional, or vendor-specific. SCSI devices are required to implement all mandatory commands defined for the appropriate device type and may implement other commands as well. SCSI devices contain commands that facilitate the writing of self-configuring software drivers that can discover all necessary attributes without prior knowledge of specific peripheral characteristics (such as storage capacity). Many commands also implement a very large logical block address space (232 blocks), although some commands implement a somewhat smaller logical block address space (221 blocks). Starting with clause 8 and for each clause on a specific device type, the clause is constructed of at least four subclauses. The first subclause is the model for the device type. The model establishes the framework for interpreting the commands for the device type. The attributes and capabilities of the device type are discussed and examples are given. The second subclause defines the commands applicable to the device type. The third subclause defines the parameters applicable to the device type. These are the diagnostic parameters, log parameters, mode parameters and vital product data parameters that are transmitted as part of the appropriate commands. Most of the parameters are formatted into pages. The fourth subclause gives the definition of terms that apply specifically to that device type. Starting with clause 9 the commands in each of these clauses are unique to the device type, or they have interpretations, fields, or features that are specific for the device type. Thus, for example, although the WRITE command is used for several device types, it has a somewhat different form for each type, with different parameters and meanings. Therefore, it is specified separately for each device type. 4.2 Conventions Certain words and terms used in this International Standard have a specific meaning beyond th