1、American National StandardDeveloped byfor Information Technology SCSI Architecture Model - 4SAM-4INCITS 447-2008INCITS 447-2008INCITS 447-2008American National Standardfor Information Technology SCSI Architecture Model - 4(SAM-4)SecretariatInformation Technology Industry CouncilApproved November 14,
2、 2008American National Standards Institute, Inc.AbstractThis standard specifies the SCSI Architecture Model. The purpose of the architecture is to provide a common basis for the coordination of SCSI standards and to specify those aspects of SCSI I/O system behavior that are independent of a particul
3、ar technology and common to all implementations.Approval of an American National Standard requires review by ANSI that therequirements for due process, consensus, and other criteria for approval havebeen met by the standards developer.Consensus is established when, in the judgement of the ANSI Board
4、 ofStandards Review, substantial agreement has been reached by directly andmaterially affected interests. Substantial agreement means much more thana simple majority, but not necessarily unanimity. Consensus requires that allviews and objections be considered, and that a concerted effort be madetowa
5、rds their resolution.The use of American National Standards is completely voluntary; theirexistence does not in any respect preclude anyone, whether he has approvedthe standards or not, from manufacturing, marketing, purchasing, or usingproducts, processes, or procedures not conforming to the standa
6、rds.The American National Standards Institute does not develop standards andwill in no circumstances give an interpretation of any American NationalStandard. Moreover, no person shall have the right or authority to issue aninterpretation of an American National Standard in the name of the AmericanNa
7、tional Standards Institute. Requests for interpretations should beaddressed to the secretariat or sponsor whose name appears on the titlepage of this standard.CAUTION NOTICE: This American National Standard may be revised orwithdrawn at any time. The procedures of the American National StandardsInst
8、itute require that action be taken periodically to reaffirm, revise, orwithdraw this standard. Purchasers of American National Standards mayreceive current information on all standards by calling or writing the AmericanNational Standards Institute.American National StandardPublished byAmerican Natio
9、nal Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2008 by Information Technology Industry Council (ITI)All rights reserved.No part of this publication may be reproduced in anyform, in an electronic retrieval system or otherwise,without prior written permission of ITI, 125
10、0 Eye Street NW, Washington, DC 20005. Printed in the United States of AmericaCAUTION: The developers of this standard have requested that holders of patents that may berequired for the implementation of the standard disclose such patents to the publisher. However,neither the developers nor the publ
11、isher have undertaken a patent search in order to identifywhich, if any, patents may apply to this standard. As of the date of publication of this standardand following calls for the identification of patents that may be required for the implementation ofthe standard, no such claims have been made.
12、No further patent search is conducted by the de-veloper or publisher in respect to any standard it processes. No representation is made or impliedthat licenses are not required to avoid infringement in the use of this standard.iContentsPageForeword .xiIntroduction .xiv1 Scope. 11.1 Introduction 11.2
13、 Requirements precedence. 11.3 SCSI standards family . 22 References. 42.1 Normative references. 42.2 Approved references 42.3 References under development. 42.4 Other references 43 Definitions, symbols, abbreviations, and conventions . 53.1 Definitions 53.2 Acronyms. 123.3 Keywords . 123.4 Editoria
14、l conventions 133.5 Numeric conventions . 133.6 Notation conventions . 143.6.1 UML notation conventions . 143.6.1.1 Notation conventions overview 143.6.1.2 Constraint and note conventions . 143.6.1.3 Class diagram conventions 143.6.1.4 Object diagram conventions 183.6.2 Notation for procedure calls.
15、 203.6.3 Notation for state diagrams 204 SCSI architecture model 224.1 Introduction 224.2 The SCSI distributed service model. 224.3 The SCSI client-server model 234.3.1 SCSI client-server model overview 234.3.2 Synchronizing client and server states 244.3.3 Request/Response ordering 244.4 The SCSI s
16、tructural model. 254.5 SCSI classes 264.5.1 SCSI classes overview 264.5.2 SCSI Domain class 274.5.3 Service Delivery Subsystem class. 284.5.4 SCSI Device class . 294.5.4.1 SCSI Device class overview 29iiPage4.5.4.2 SCSI Device Name attribute 294.5.5 SCSI Port class 304.5.5.1 SCSI Port class overview
17、 304.5.5.2 Relative Port Identifier attribute . 314.5.6 SCSI Target Port class 314.5.6.1 SCSI Target Port class overview . 314.5.6.2 Target Port Identifier attribute 314.5.6.3 Target Port Name attribute 314.5.7 SCSI Initiator Port class. 324.5.7.1 SCSI Initiator Port class overview 324.5.7.2 Initiat
18、or Port Identifier attribute. 324.5.7.3 Initiator Port Name attribute. 324.5.8 Task Router class 324.5.9 SCSI Initiator Device class 334.5.10 Application Client class 344.5.11 Application Client Task Management Function class 344.5.11.1 Application Client Task Management Function class overview . 34
19、4.5.11.2 Function Identifier attribute 344.5.11.3 Nexus attribute. 344.5.11.4 Service Response attribute 344.5.11.5 Additional Response Information attribute. 344.5.12 Application Client Task Set class. 354.5.13 Application Client Command class 354.5.13.1 Application Client Command class overview .
20、354.5.13.2 I_T_L_Q Nexus attribute 354.5.13.3 CDB attribute . 354.5.13.4 Task Attribute attribute. 354.5.13.5 Status attribute. 354.5.13.6 Service Response attribute 354.5.13.7 Data-In Buffer attribute 354.5.13.8 Data-In Buffer Size attribute 354.5.13.9 Data-Out Buffer attribute 354.5.13.10 Data-Out
21、 Buffer size attribute 364.5.13.11 CRN attribute . 364.5.13.12 Command Priority attribute 364.5.13.13 First Burst Enabled attribute 364.5.13.14 Sense Data attribute 364.5.13.15 Sense Data Length attribute 364.5.13.16 Status Qualifier attribute 364.5.14 SCSI Target Device class 364.5.15 Level 1 Hiera
22、rchical Logical Unit class 374.5.16 Level 2 Hierarchical Logical Unit class 394.5.17 Level 3 Hierarchical Logical Unit class 394.5.18 Level 4 Hierarchical Logical Unit class 394.5.19 Logical Unit class. 404.5.19.1 Logical Unit class overview 404.5.19.2 LUN attribute 424.5.19.3 Logical Unit Name attr
23、ibute . 424.5.19.4 Dependent Logical Unit attribute . 424.5.20 Device Server class . 434.5.21 Task Manager class. 434.5.22 Task Set class . 43iiiPage4.5.23 Command class . 434.5.23.1 Command class overview 434.5.23.2 I_T_L_Q Nexus attribute 434.5.23.3 Task Attribute attribute . 434.5.23.4 CDB attrib
24、ute 444.5.23.5 CRN attribute . 444.5.23.6 Command Priority attribute 444.5.23.7 Status attribute . 444.5.23.8 Sense Data attribute 444.5.23.9 Sense Data Length attribute 444.5.23.10 Service Response attribute 444.5.23.11 Status Qualifier attribute. 444.5.23.12 First Burst Enabled attribute. 444.5.23
25、.13 Device Server Buffer attribute 444.5.23.14 Application Client Buffer Offset attribute 444.5.23.15 Request Byte Count attribute . 444.5.23.16 Delivery Result attribute . 444.5.24 Task Management Function class . 454.5.24.1 Task Management Function class overview 454.5.24.2 Function Identifier att
26、ribute. 454.5.24.3 Nexus attribute . 454.5.24.4 Service Response attribute 454.5.24.5 Additional Response Information attribute . 454.5.25 Well Known Logical Unit class . 454.6 Logical unit number (LUN) . 464.6.1 Introduction 464.6.2 Logical unit representation format 464.6.3 LUNs overview . 464.6.4
27、 Minimum LUN addressing requirements 464.6.5 Single level LUN structure 464.6.6 Eight byte LUN structure 484.6.7 Peripheral device addressing method 514.6.8 Flat space addressing method . 524.6.9 Logical unit addressing method . 534.6.10 Extended logical unit addressing . 544.6.11 Well known logical
28、 unit addressing 574.6.12 Extended flat space addressing method 574.6.13 Logical unit not specified addressing . 584.7 Nexus . 584.7.1 Nexus overview 584.7.2 Command identifier 594.7.3 Nexus usage rules . 594.8 SCSI ports 594.8.1 SCSI port configurations 594.8.2 SCSI devices with multiple ports 604.
29、8.3 Multiple port SCSI target device structure 604.8.4 Multiple port SCSI initiator device structure . 614.8.5 Multiple port SCSI device structure 624.8.6 SCSI initiator device view of a multiple port SCSI target device 634.8.7 SCSI target device view of a multiple port SCSI initiator device 66ivPag
30、e4.9 The SCSI model for distributed communications. 665 SCSI command model. 715.1 The Execute Command procedure call . 715.2 Command descriptor block (CDB) . 725.3 Status. 735.3.1 Status codes 735.3.2 Status qualifier . 745.3.3 Status precedence. 765.4 SCSI transport protocol services in support of
31、Execute Command. 775.4.1 Overview 775.4.2 Command and status SCSI transport protocol services 775.4.2.1 Command and status SCSI transport protocol services overview. 775.4.2.2 Send SCSI Command SCSI transport protocol service request 785.4.2.3 SCSI Command Received SCSI transport protocol service in
32、dication. 785.4.2.4 Send Command Complete SCSI transport protocol service response . 795.4.2.5 Command Complete Received SCSI transport protocol service confirmation 795.4.3 Data transfer SCSI transport protocol services . 805.4.3.1 Introduction 805.4.3.2 Data-In delivery service . 825.4.3.2.1 Send
33、Data-In SCSI transport protocol service request 825.4.3.2.2 Data-In Delivered SCSI transport protocol service confirmation . 825.4.3.3 Data-Out delivery service 825.4.3.3.1 Receive Data-Out SCSI transport protocol service request 825.4.3.3.2 Data-Out Received SCSI transport protocol service confirma
34、tion. 835.4.3.4 Terminate Data Transfer service . 835.4.3.4.1 Terminate Data Transfer SCSI transport protocol service request 835.4.3.4.2 Data Transfer Terminated SCSI transport protocol service confirmation 845.5 Command lifetimes 845.6 Aborting commands. 855.7 Command processing example . 895.8 Co
35、mmands that complete with CHECK CONDITION status . 905.8.1 Overview 905.8.2 Handling commands when ACA is not in effect. 905.8.3 Aborting commands terminated with a CHECK CONDITION status without establishing an ACA . 905.9 Auto contingent allegiance (ACA) 915.9.1 ACA overview 915.9.2 Establishing a
36、n ACA 925.9.3 Handling new commands received on the faulted I_T nexus when ACA is in effect 925.9.4 Handling new commands received on non-faulted I_T nexuses when ACA is in effect 93vPage5.9.4.1 Command processing permitted for commands received on non-faulted I_T nexuses during ACA 935.9.4.2 Handli
37、ng new commands received on non-faulted I_T nexuses when ACA is in effect 935.9.5 Clearing an ACA condition . 945.10 Overlapped commands 955.11 Incorrect logical unit . 955.12 Task attribute exception conditions 955.13 Sense data . 965.14 Unit attention condition. 966 SCSI events and event notificat
38、ion model . 1006.1 SCSI events overview 1006.2 Establishing a unit attention condition subsequent to detection of an event 1026.3 Conditions resulting from SCSI events 1036.3.1 Power on 1036.3.2 Hard reset 1046.3.3 Logical unit reset 1046.3.4 I_T nexus loss 1046.3.5 Power loss expected 1056.4 Event
39、notification SCSI transport protocol services . 1057 Task management functions 1077.1 Task management function procedure calls 1077.2 ABORT TASK 1087.3 ABORT TASK SET 1097.4 CLEAR ACA. 1097.5 CLEAR TASK SET. 1097.6 I_T NEXUS RESET 1107.7 LOGICAL UNIT RESET . 1107.8 QUERY TASK 1107.9 QUERY TASK SET 1
40、117.10 QUERY ASYNCHRONOUS EVENT 1117.11 Task management function lifetime . 1127.12 Task management SCSI transport protocol services. 1137.12.1 Task management SCSI transport protocol services overview 1137.12.2 Send Task Management Request SCSI transport protocol service request 1137.12.3 Task Mana
41、gement Request Received SCSI transport protocol service indication. 114viPage7.12.4 Task Management Function Executed SCSI transport protocol service response. 1147.12.5 Received Task Management Function Executed SCSI transport protocol service confirmation 1157.13 Task management function example.
42、1158 Task set management . 1178.1 Introduction to task set management. 1178.2 Implicit head of queue 1178.3 Command management model . 1178.4 Command management events. 1188.5 Command states 1188.5.1 Overview 1188.5.1.1 Command state nomenclature. 1188.5.1.2 Suspended information 1188.5.2 Enabled co
43、mmand state 1198.5.3 Blocked command state 1198.5.4 Dormant command state . 1198.5.5 Completed command state 1198.5.6 Command states and command lifetimes 1198.6 Task attributes . 1208.6.1 Overview 1208.6.2 Commands having the SIMPLE task attribute 1208.6.3 Commands having the ORDERED task attribute
44、 1218.6.4 Commands having the HEAD OF QUEUE task attribute 1218.6.5 Commands having the ACA task attribute 1218.7 Command priority 1218.8 Command state transitions 1228.9 Task set management examples. 1238.9.1 Introduction 1238.9.2 Commands having the HEAD OF QUEUE task attribute 1248.9.3 Commands h
45、aving the ORDERED task attribute 1258.9.4 Commands having the ACA task attribute 126AnnexesA (Identifiers and names for objects 128A.1 Identifiers and names overview . 128A.2 Identifiers and names 128A.3 SCSI transport protocol acronyms and bibliography . 132B SCSI Initiator Port attributes and SCSI
46、 Target Port attributes supported by SCSI transport protocols. 134C Terminology mapping to previous versions of this standard 136viiPageTables1 Numbering conventions . 142 Constraint and note notation 143 Class diagram notation for classes 154 Multiplicity notation. 155 Class diagram notation for as
47、sociations 166 Class diagram notation for aggregations . 177 Class diagram notation for generalizations 178 Class diagram notation for dependency. 189 Object diagram notation for objects . 1910 Object diagram notation for link . 1911 Single level LUN structure using peripheral device addressing meth
48、od 4712 Single level LUN structure using flat space addressing method 4713 Single level LUN structure using extended flat space addressing method 4814 Eight byte LUN structure adjustments 4915 Eight byte LUN structure 5016 Format of addressing fields 5017 ADDRESS METHOD field 5118 Peripheral device
49、addressing format 5119 Flat space addressing format. 5320 Logical unit addressing format . 5321 Extended logical unit addressing format 5522 LENGTH field and related sizes 5523 Two byte extended logical unit addressing format . 5524 Four byte extended logical unit addressing format 5625 Six byte extended logical unit addressing format. 5626 Eight byte extended logical unit addressing format 5627 Logical unit extended addressing. 5728 Well known logical unit extended addressing format . 5729 Extended flat space addressing format 5830 Logical unit not specified extended addressing format 583