1、American National StandardDeveloped byfor Information Technology SCSI/ATA Translation(SAT)ANSI INCITS 431-2007ANSIINCITS431-2007ANSIINCITS 431-2007American National Standardfor Information Technology SCSI/ATA Translation(SAT)SecretariatInformation Technology Industry CouncilApproved August 9, 2007 A
2、merican National Standards Institute, Inc.AbstractThis standard specifies a translation layer between SCSI and ATA protocols. This translation layer is used by storage controllers to emulate objects in a SCSI logical unit using an ATA device, providing capabilities defined by SCSI standards (e.g., t
3、he SCSI Block Commands (SBC-2) and SCSI Primary Commands (SPC-3) standards). For the purposes of this standard, ATA device capabilities are defined by ATA8-AAM, ATA8-ACS, ATA8-APT, and SATA 2.5.Approval of an American National Standard requires review by ANSI that therequirements for due process, co
4、nsensus, and other criteria for approval havebeen met by the standards developer.Consensus is established when, in the judgement of the ANSI Board ofStandards Review, substantial agreement has been reached by directly andmaterially affected interests. Substantial agreement means much more thana simp
5、le majority, but not necessarily unanimity. Consensus requires that allviews and objections be considered, and that a concerted effort be madetowards their resolution.The use of American National Standards is completely voluntary; theirexistence does not in any respect preclude anyone, whether he ha
6、s approvedthe standards or not, from manufacturing, marketing, purchasing, or usingproducts, processes, or procedures not conforming to the standards.The American National Standards Institute does not develop standards andwill in no circumstances give an interpretation of any American NationalStanda
7、rd. Moreover, no person shall have the right or authority to issue aninterpretation of an American National Standard in the name of the AmericanNational Standards Institute. Requests for interpretations should beaddressed to the secretariat or sponsor whose name appears on the titlepage of this stan
8、dard.CAUTION NOTICE: This American National Standard may be revised orwithdrawn at any time. The procedures of the American National StandardsInstitute require that action be taken periodically to reaffirm, revise, orwithdraw this standard. Purchasers of American National Standards mayreceive curren
9、t information on all standards by calling or writing the AmericanNational Standards Institute.American National StandardPublished byAmerican National Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2007 by Information Technology Industry Council (ITI)All rights reserved.No
10、part of this publication may be reproduced in anyform, in an electronic retrieval system or otherwise,without prior written permission of ITI, 1250 Eye Street NW, Washington, DC 20005. Printed in the United States of AmericaCAUTION: The developers of this standard have requested that holders of pate
11、nts that may be re-quired for the implementation of the standard disclose such patents to the publisher. However, nei-ther the developers nor the publisher have undertaken a patent search in order to identify which, ifany, patents may apply to this standard. As of the date of publication of this sta
12、ndard, followingcalls for the identification of patents that may be required for the implementation of the standard,notice of one or more such claims has been received. By publication of this standard, no positionis taken with respect to the validity of this claim or of any rights in connection ther
13、ewith. The knownpatent holder(s) has (have), however, filed a statement of willingness to grant a license underthese rights on reasonable and nondiscriminatory terms and conditions to applicants desiring to ob-tain such a license. Details may be obtained from the publisher. No further patent search
14、is con-ducted by the developer or publisher in respect to any standard it processes. No representation ismade or implied that this is the only license that may be required to avoid infringement in the use ofthis standard.iContentsPageForeword xIntroducttion xiv1 Scope 12 References 42.1 Normative re
15、ferences 42.2 Approved references . 42.3 References under development 42.4 Other references . 43 Definitions, symbols, abbreviations, and conventions 53.1 Definitions 53.2 Symbols and abbreviations . 103.3 Keywords 113.4 SAT specific terminology 123.5 Conventions 123.5.1 Overview . 123.5.2 Numeric c
16、onventions 123.5.3 Bit and byte ordering . 133.5.4 Notation for byte encoded character strings . 143.5.5 Use of and/or 153.5.6 Notation for command descriptions 153.5.6.1 Description 153.5.7 Use of field names defined in ATA standards and specifications . 154 General . 175 SCSI architectural element
17、s . 185.1 Overview . 185.2 Unit attention condition . 195.3 Handling errors in ATA commands . 205.4 ATA nexus loss . 205.5 ATA hardware and software reset processing 206 Task management model . 226.1 Overview . 226.2 Queued commands . 236.2.1 Comparison of SCSI and ATA queuing 236.2.2 Mapping of SCS
18、I queued commands to ATA queued commands 246.2.3 Commands the SATL queues internally . 246.2.4 Command queuing with multiple I_T nexuses 246.2.5 Collateral abort with queued commands . 256.3 Task management functions . 25iiPage6.3.1 Task management functions overview . 256.3.2 Aborting ATA queued co
19、mmands . 256.3.3 Aborting ATA non-queued commands 266.3.4 ABORT TASK . 266.3.5 ABORT TASK SET . 266.3.6 CLEAR ACA . 276.3.7 CLEAR TASK SET . 276.3.8 LOGICAL UNIT RESET 286.3.9 QUERY TASK . 286.3.10 Obsolete reset task management functions . 286.4 Control Byte 286.4.1 CONTROL byte overview . 286.5 I_
20、T nexus loss . 297 Summary of SCSI / ATA command mappings 307.1 Translated and emulated commands . 308 SCSI Primary Commands (SPC) mapping . 328.1 INQUIRY command 328.1.1 INQUIRY command overview . 328.1.2 Standard INQUIRY data . 338.2 LOG SENSE command 358.2.1 LOG SENSE command overview . 358.2.2 P
21、C (page control) field . 368.2.3 PAGE CODE field 368.3 MODE SELECT (6) command 378.3.1 MODE SELECT (6) command overview . 378.3.2 MODE SELECT (6) CDB fields . 378.4 MODE SELECT (10) command 378.5 MODE SENSE (6) command 378.5.1 MODE SENSE (6) command overview 378.5.2 MODE SENSE (6) CDB fields 388.6 M
22、ODE SENSE (10) command 388.7 READ BUFFER command 398.7.1 READ BUFFER command overview 398.7.2 MODE field 398.7.2.1 MODE field overview 398.7.2.2 Data mode 398.7.2.3 Descriptor mode . 408.8 REQUEST SENSE command 408.8.1 REQUEST SENSE command overview . 408.8.2 FORMAT UNIT in progress 418.8.3 SMART th
23、reshold exceeded condition . 418.8.4 Stopped power condition 418.8.5 Unit attention condition established 418.9 SEND DIAGNOSTIC command 428.9.1 SEND DIAGNOSTIC command overview 42iiiPage8.9.2 SELF-TEST CODE field 438.9.3 SELFTEST bit 458.10 TEST UNIT READY command . 468.10.1 TEST UNIT READY command
24、overview 468.10.2 TEST UNIT READY command translation 468.11 WRITE BUFFER command 478.11.1 WRITE BUFFER command overview . 478.11.2 MODE field 478.11.2.1 MODE field overview . 478.11.2.2 Write data mode 488.11.2.3 Download microcode mode . 489 SCSI Block Commands (SBC) mapping . 499.1 Translating LB
25、A and transfer length and ATA command use constraints . 499.1.1 Overview . 499.1.2 Direct block mapping model 499.1.3 Indirect block mapping model . 499.1.4 Selection of ATA block commands . 499.2 FORMAT UNIT command . 519.2.1 FORMAT UNIT command overview 519.2.2 FORMAT UNIT parameter list . 529.2.3
26、 SATL defect list header field combinations . 529.2.4 FOV bit . 529.2.5 DCRT bit . 529.2.6 IP bit . 539.3 READ commands overview 539.3.1 READ commands operation code translation . 539.3.2 READ commands with FUA 539.4 READ (6) command 549.5 READ (10) command 549.6 READ (12) command 569.7 READ (16) co
27、mmand 579.8 READ CAPACITY (10) command . 589.8.1 READ CAPACITY (10) command overview 589.8.2 READ CAPACITY (10) parameter data 589.9 READ CAPACITY (16) command . 599.9.1 READ CAPACITY (16) command overview 599.9.2 READ CAPACITY (16) parameter data 599.10 REASSIGN BLOCKS command . 609.10.1 REASSIGN B
28、LOCKS command overview 609.10.2 REASSIGN BLOCKS operation code . 609.11 START STOP UNIT command . 629.11.1 START STOP UNIT command overview 629.11.2 Processing ending status if an error occurs 629.11.3 START STOP UNIT START bit LOEJ bit combinations 63ivPage9.12 SYNCHRONIZE CACHE (10) command 649.13
29、 SYNCHRONIZE CACHE (16) command 649.14 VERIFY (10) command . 659.15 VERIFY (12) command . 669.16 VERIFY (16) command . 679.17 WRITE commands overview 689.17.1 WRITE commands operation code translation . 689.17.2 WRITE commands with FUA 689.18 WRITE (6) command 699.19 WRITE (10) command 709.20 WRITE
30、(12) command 719.21 WRITE (16) command 729.22 WRITE AND VERIFY commands overview 729.23 WRITE AND VERIFY (10) command . 739.24 WRITE AND VERIFY (12) command . 749.25 WRITE AND VERIFY (16) command . 759.26 WRITE SAME (10) command . 769.26.1 WRITE SAME (10) command overview 769.26.2 LBDATA bit and PBD
31、ATA bit 779.27 WRITE SAME (16) command . 7810 Parameters for SAT implementations . 7910.1 Mode parameters 7910.1.1 General information 7910.1.2 Commonly used SCSI mode pages overview 7910.1.3 Mode parameter headers . 8010.1.4 Mode parameter block descriptor fields 8110.1.5 Control mode page . 8110.1
32、.5.1 General translation . 8110.1.5.2 Extended self-test completion time . 8310.1.6 Read-Write Error Recovery mode page . 8310.1.7 Caching mode page 8410.1.8 Informational Exceptions Control mode page . 8610.1.8.1 Informational Exceptions Control mode page overview 8610.1.8.2 Method of reporting inf
33、ormational exceptions (MRIE) 8610.2 Log pages . 8710.2.1 Log pages overview 8710.2.2 Supported Log Pages log page 8710.2.3 Self-Test Results log page 8710.2.3.1 Self-Test Results log page overview 8710.2.3.2 A method of determining ATA command selection for field translations . 9110.2.3.3 Sense key
34、and additional sense code 9210.2.4 Informational Exceptions log page 92vPage10.2.4.1 Informational Exceptions log page overview . 9210.2.4.2 Additional sense code and additional sense code qualifier translations 9310.2.4.3 Most recent temperature reading translation 9410.3 Vital product data paramet
35、ers . 9410.3.1 Vital product data parameters overview 9410.3.2 Supported VPD pages VPD page . 9410.3.3 Unit Serial Number VPD page 9410.3.4 Device Identification VPD page . 9610.3.4.1 Device Identification VPD page overview . 9610.3.4.2 Logical unit name 9610.3.4.2.1 Logical unit name overview . 961
36、0.3.4.2.2 Logical unit name derived from the world wide name . 9710.3.4.2.3 Logical unit name derived from the model number and serial number . 9810.3.4.3 Examples of additional identification descriptors 9910.3.4.3.1 Identification descriptors included by a SATL in an ATA host . 9910.3.4.3.2 Identi
37、fication descriptors included by a SATL in a SAS initiator device 9910.3.4.3.3 Identification descriptors included by a SATL in a SCSI to ATA protocol bridge 10010.3.5 Mode Page Policy VPD page 10111 Error and sense reporting . 10211.1 Error translation ATA device error to SCSI error map 10212 SAT-s
38、pecific SCSI extensions 10312.1 SAT-specific SCSI extensions overview . 10312.2 ATA PASS-THROUGH commands . 10312.2.1 ATA PASS-THROUGH commands overview . 10312.2.2 ATA PASS-THROUGH (12) command . 10412.2.3 ATA PASS-THROUGH (16) command . 10712.2.4 Mapping of ATA PASS-THROUGH CDB field translations
39、. 10812.2.5 ATA PASS-THROUGH status return 10912.2.6 ATA Return descriptor . 11012.3 SAT-specific mode pages . 11112.3.1 SAT-specific mode pages overview 11112.3.2 PATA Control mode page . 11112.4 SAT-specific VPD pages . 11612.4.1 SAT-specific VPD pages overview 11612.4.2 ATA Information VPD page .
40、 11612.4.2.1 ATA Information VPD page overview 11612.4.2.2 ATA device signature 11812.4.2.3 ATA IDENTIFY DEVICE data or ATA IDENTIFY PACKET DEVICE data 119Annex A INQUIRY command translation for ATAPI devices 120A.1 INQUIRY command overview . 120viPageA.2 Supported VPD Pages VPD page 120A.3 ATA Info
41、rmation VPD page . 120Tables1 ISO and American numbering conventions examples 132 Example of ordering of bits and bytes within a multi-byte element . 143 Example of ordering of bits and bytes within a multiple element 144 Format for translated command field descriptions 155 Comparison of SCSI and AT
42、A queuing methods . 236 SATL processing of ATA commands aborted by ATA collateral abort 257 Control byte fields . 288 Summary of SCSI / ATA Command Mapping . 309 INQUIRY CDB field translations . 3210 Standard INQUIRY data fields 3311 LOG SENSE CDB field translations . 3512 PC field 3613 PAGE CODE fi
43、eld . 3614 MODE SELECT (6) CDB field translations . 3715 MODE SENSE (6) CDB field translations . 3816 READ BUFFER CDB field translations . 3917 MODE field 3918 Special Request Sense behavior reference . 4019 REQUEST SENSE CDB field translations 4120 SEND DIAGNOSTIC CDB field translations . 4221 SELF
44、-TEST CODE field translation 4322 SELFTEST bit 4523 TEST UNIT READY CDB field translations 4624 WRITE BUFFER CDB field translations . 4725 MODE field 4726 ATA commands used for SCSI block command translations . 5027 FORMAT UNIT CDB field translations 5128 SATL defect list header 5229 SATL defect lis
45、t header field combinations . 5230 READ (6) CDB field translations . 5431 READ (10) CDB field translations . 55viiPage32 READ (12) CDB field translations . 5633 READ (16) CDB field translations . 5734 READ CAPACITY (10) CDB field translations 5835 READ CAPACITY (10) parameter data 5836 READ CAPACITY
46、(16) CDB field translations . 5937 READ CAPACITY (16) parameter data 5938 REASSIGN BLOCKS CDB field translations 6039 START/STOP UNIT CDB field translations . 6240 Definition of START and LOEJ bits in the START STOP UNIT CDB 6341 SYNCHRONIZE CACHE (10) CDB field translations . 6442 SYNCHRONIZE CACHE
47、 (16) CDB field translations . 6443 VERIFY (10) CDB field translations 6544 VERIFY (12) CDB field translations 6645 VERIFY (16) CDB field translations 6746 WRITE (6) CDB field translations 6947 WRITE (10) CDB field translations 7048 WRITE (12) CDB field translations 7149 WRITE (16) CDB field transla
48、tions 7250 WRITE AND VERIFY (10) CDB field translations . 7351 WRITE AND VERIFY (12) CDB field translations . 7452 WRITE AND VERIFY (16) CDB field translations . 7553 WRITE SAME (10) CDB field translations 7654 LBDATA and PBDATA fields 7755 WRITE SAME (16) CDB field translations 7856 Summary of SCSI
49、 / ATA mode page mapping 7957 Mode parameter header (6) fields . 8058 Mode parameter header (10) fields . 8059 Mode parameter block descriptor fields 8160 Control mode page fields 8261 Read-Write Error Recovery mode page fields 8362 Caching mode page fields . 8463 Informational Exceptions Control mode page fields 8664 Summary of SCSI / ATA log page mapping 8765 Supported Log Pages log page fields . 8766 Self-Test Results log page fields . 87viiiPage67 Self-Test Results log parameters . 8868 ATA Self-test execution status values translated to SCSI sense keys and sense codes . 9269 Inform