1、American National StandardDeveloped byfor Information Technology SCSI Object-Based Storage Device Commands (OSD)ANSI INCITS 400-2004ANSIINCITS400-2004ANSIINCITS 400-2004American National Standardfor Information Technology SCSI Object-Based StorageDevice Commands (OSD)SecretariatInformation Technolog
2、y Industry CouncilApproved December 15, 2004 American National Standards Institute, Inc.AbstractThis SCSI command set is designed to provide efficient operation of input/output logical units thatmanage the allocation, placement, and accessing of variable-size data-storage containers, calledobjects.
3、Objects are intended to contain operating system and application constructs.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
4、 judgement of the ANSI Board 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
5、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 has approvedthe standards or not, from manufacturing, marketing, purchasing, or usingproducts, processes, or procedures
6、not conforming to the standards.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 i
7、n 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 standard.CAUTION NOTICE: This American National Standard may be revised orwithdrawn at any time. The procedures of the Ame
8、rican National StandardsInstitute 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 Standa
9、rdPublished byAmerican National Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2005 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 wr
10、itten 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 patents that may be re-quired for the implementation of the standard disclose such patents to the publisher. However, nei-
11、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 standard, followingcalls for the identification of patents that may be required for the implementation of the standard,no
12、tice 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 therewith. The knownpatent holder(s) has (have), however, filed a statement of willingness to grant a license underthese r
13、ights 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 is con-ducted by the developer or publisher in respect to any standard it processes. No representation ismade or impli
14、ed that this is the only license that may be required to avoid infringement in the use ofthis standard.iContentsPageForeword xIntroduction xv1 Scope . 12 Normative references. 52.1 Normative references 52.2 Approved ISO references 52.3 Approved FIPS references 52.4 Approved IETF References. 52.5 Ref
15、erences under development 63 Definitions, symbols, abbreviations, and conventions 73.1 Definitions . 73.2 Acronyms 103.3 Keywords 103.4 Conventions 113.5 Bit and byte ordering . 123.6 Notation conventions. 123.6.1 Notation for byte encoded character strings 123.6.2 Notation for procedure calls . 133
16、.7 Data field requirements . 143.7.1 ASCII data field requirements 143.7.2 Data field termination and padding requirements 144 SCSI OSD Model . 154.1 The request-response model 154.2 OSD type devices . 154.3 OSD object abstraction . 164.4 Elements of the example configuration . 174.5 Description of
17、the OSD Architecture . 184.6 Stored data objects . 184.6.1 Stored data object types 184.6.2 Identifying OSD objects 194.6.3 Root object . 194.6.4 Partitions 194.6.5 User objects . 204.6.6 Collections 204.7 OSD object attributes 214.7.1 Overview 214.7.2 Command function ordering for commands that get
18、 and/or set attributes. 21iiPage4.7.3 Attributes pages . 224.7.4 Attributes 234.7.5 Attributes directories 244.8 Quotas. 244.8.1 Introduction 244.8.2 Quota errors. 254.8.3 Quota testing 254.8.4 Changing quotas 254.9 Policy/storage management 264.9.1 Overview 264.9.2 Capabilities. 264.9.2.1 Introduct
19、ion . 264.9.2.2 Capability format . 274.9.2.2.1 Introduction 274.9.2.2.2 U/C capability object descriptor 314.9.2.2.3 PAR capability object descriptor 324.9.2.3 Capabilities and commands allowed. 334.9.3 Policy access tags 374.10 Security . 384.10.1 Basic security model 384.10.2 Trust assumptions 40
20、4.10.3 Preparing credentials . 414.10.4 Security methods . 424.10.4.1 Introduction . 424.10.4.2 The NOSEC security method 434.10.4.3 The CAPKEY security method 444.10.4.4 The CMDRSP security method. 444.10.4.5 The ALLDATA security method. 454.10.5 Credentials. 484.10.5.1 Credential format. 484.10.5.
21、2 Capability key 484.10.6 OSD device server security algorithms 494.10.6.1 Credential validation 494.10.6.2 Reconstructing the credential 494.10.6.3 Computing the credential integrity check value. 504.10.6.4 Invalidating credentials 504.10.7 Request nonces . 514.10.7.1 Request nonce format. 514.10.7
22、.2 Device server validation of request nonces 514.10.7.3 Lists of previously used request nonces . 524.10.7.3.1 Introduction 524.10.7.3.2 Freezing capability audit fields. 524.10.7.3.3 Freezing working keys . 534.10.8 Integrity check values. 534.10.9 Secret keys 544.10.9.1 Introduction . 544.10.9.2
23、Computing updated generation keysand new authentication keys 554.10.10 OSD security interactions with SPC-3 commands and SAM-3 task management functions . 56iiiPage4.11 Data persistence model. 564.12 Data-In and Data-Out Buffer model. 574.12.1 Bidirectional data transfers. 574.12.2 OSD meta data. 57
24、4.12.3 OSD Data-In Buffer format . 584.12.4 OSD Data-Out Buffer format 594.12.5 Data-In and Data-Out buffer offsets . 604.13 Interactions between concurrently processed commands. 604.14 Error reporting . 614.14.1 Introduction. 614.14.2 OSD-specific sense data descriptors . 624.14.2.1 OSD error ident
25、ification sense data descriptor 624.14.2.2 OSD response integrity check value sense data descriptor 644.14.2.3 OSD attribute identification sense data descriptor 644.14.3 Auto contingent allegiance . 654.15 Linked commands . 654.16 Reservations . 655 Common Formats. 685.1 OSD CDB format. 685.2 Field
26、s commonly used in OSD commands 695.2.1 Overview 695.2.2 Get and set attributes parameters 705.2.2.1 Get and set attributes CDB format selection . 705.2.2.2 Get an attributes page and set an attribute value . 705.2.2.3 Get and set attributes lists. 725.2.3 Length 735.2.4 Options byte . 735.2.5 Parti
27、tion_ID. 745.2.6 Security parameters . 745.2.7 Starting byte address . 745.2.8 Timestamps control 755.2.9 User_Object_ID 756 Commands for OSD type devices 766.1 Summary of commands for OSD type devices 766.2 APPEND 786.3 CREATE 806.4 CREATE AND WRITE. 826.5 CREATE COLLECTION 846.6 CREATE PARTITION 8
28、66.7 FLUSH. 876.8 FLUSH COLLECTION. 896.9 FLUSH OSD 90ivPage6.10 FLUSH PARTITION 926.11 FORMAT OSD 936.12 GET ATTRIBUTES . 956.13 LIST. 966.14 LIST COLLECTION. 996.15 PERFORM SCSI COMMAND. 1026.16 PERFORM TASK MANAGEMENT FUNCTION . 1046.17 READ 1066.18 REMOVE. 1086.19 REMOVE COLLECTION. 1096.20 REMO
29、VE PARTITION 1106.21 SET ATTRIBUTES 1116.22 SET KEY. 1126.23 SET MASTER KEY. 1146.23.1 Introduction 1146.23.2 Seed exchange 1156.23.3 Change master key 1166.24 WRITE. 1187 Parameters for OSD type devices 1207.1 Attributes parameters 1207.1.1 Attributes parameter formats 1207.1.2 OSD attributes pages
30、. 1207.1.2.1 Attributes pages overview. 1207.1.2.2 Attribute number 0h in all attributes pages 1227.1.2.3 Attribute number 0h for unidentified attributes pages . 1227.1.2.4 Root Directory attributes page 1237.1.2.5 Partition Directory attributes page. 1247.1.2.6 Collection Directory attributes page
31、1257.1.2.7 User Object Directory attributes page. 1267.1.2.8 Root Information attributes page. 1277.1.2.9 Partition Information attributes page . 1297.1.2.10 Collection Information attributes page. 1307.1.2.11 User Object Information attributes page . 1317.1.2.12 Root Quotas attributes page . 1327.1
32、.2.13 Partition Quotas attributes page 1347.1.2.14 User Object Quotas attributes page 1367.1.2.15 Root Timestamps attributes page . 1377.1.2.16 Partition Timestamps attributes page 1397.1.2.17 Collection Timestamps attributes page. 1417.1.2.18 User Object Timestamps attributes page 1437.1.2.19 Colle
33、ctions attributes page 1447.1.2.20 Root Policy/Security attributes page . 147vPage7.1.2.21 Partition Policy/Security attributes page 1527.1.2.22 Collection Policy/Security attributes page . 1537.1.2.23 User Object Policy/Security attributes page 1577.1.2.24 Current Command attributes page 1597.1.2.2
34、5 Null attributes page . 1617.1.3 OSD attributes lists. 1617.1.3.1 Attributes lists overview. 1617.1.3.2 List entry format for retrieving attributes for this OSD object. 1627.1.3.3 List entry format for retrieved attributes and for setting attributes for this OSD object . 1637.1.3.4 List entry forma
35、t for attributes retrieved by CREATE command that creates multiple user objects . 1647.2 Diagnostic parameters 1657.3 Log parameters . 1657.4 Mode parameters 1657.5 Vital product data parameters . 1667.5.1 Overview 1667.5.2 OSD Information VPD page . 1667.5.2.1 Overview . 1667.5.2.2 OSD logical unit
36、 security methods information descriptor. 1677.5.3 Security Token VPD page 168AnnexesA Attributes page numbers assigned by other standards 169B Numeric order codes . 170C Examples of OSD Operation 171Tables1 OSD model objects 182 Partition_ID and User_Object_ID value assignments 193 Attributes page
37、numbers 224 Attributes page number sets 235 Attributes directory pages. 246 Capability format 277 Capability format values . 278 Created time for OSD objects by type 289 Object type values 2910 Permissions bit mask format 2911 Object descriptor types. 3012 User object/collection descriptor format .
38、3113 Policy access tag usage for OSD object types and commands . 31viPage14 Partition descriptor format 3215 Commands allowed by specific capability field values. 3316 Attribute retrieving and setting function allowed by specific capability field values 3517 Policy access tag format 3718 Security ma
39、nager communications trust requirements 4019 OSD security methods . 4220 Security methods and threats thwarted 4321 Data-out integrity information format 4622 Data-in integrity information format 4723 Credential format 4824 Request nonce format 5125 OSD secret key hierarchy 5426 OSD Data-In Buffer a
40、nd Data-Out Buffer model 5727 OSD Data-In Buffer format. 5828 Summary of OSD Data-In Buffer offsets 5829 OSD Data-Out Buffer format 5930 Summary of OSD Data-Out Buffer offsets . 5931 CDB Data-In Buffer and Data-Out Buffer offset field format 6032 OSD object identification sense data descriptor forma
41、t . 6233 Command functions bits. 6334 Command functions indicated by the command functions bits 6335 Command functions bits combinations 6336 OSD response integrity check value sense data descriptor format . 6437 OSD attribute identification sense data descriptor format 6438 Sense data attribute des
42、criptor format. 6539 OSD commands that are allowed in the presence of various reservations 6740 Basic OSD CDB. 6841 OSD service action specific fields 7042 Get and set attributes CDB format code values. 7043 Page oriented get and set attributes CDB parameters format . 7044 List oriented get and set
43、attributes CDB parameters format 7245 Option byte format 7346 Security parameters format 7447 Timestamps control values 75viiPage48 Commands for OSD type devices 7649 APPEND command 7850 CREATE command 8051 CREATE AND WRITE command. 8252 CREATE COLLECTION command 8453 CREATE PARTITION command 8654 F
44、LUSH command. 8755 User object flush scope values. 8856 FLUSH COLLECTION command. 8957 Collection flush scope values . 8958 FLUSH OSD command 9059 Root object flush scope values. 9160 FLUSH PARTITION command. 9261 Partition flush scope values 9262 FORMAT OSD command. 9363 GET ATTRIBUTES command 9564
45、 LIST command . 9665 LIST sort order values 9666 LIST command parameter data 9867 LIST COLLECTION command . 9968 LIST COLLECTION command parameter data 10069 PERFORM SCSI COMMAND command . 10270 Request CDBs allowed in the PERFORM SCSI COMMAND 10371 PERFORM TASK MANAGEMENT FUNCTION command 10472 Tas
46、k management function values. 10573 READ command. 10674 REMOVE command . 10875 REMOVE COLLECTION command . 10976 REMOVE PARTITION command. 11077 SET ATTRIBUTES command 11178 SET KEY command . 11279 Key to set code values . 11380 SET MASTER KEY command . 11481 Diffie-Hellman exchange step values . 11
47、482 Seed exchange device server DH_data format 115viiiPage83 Change master key DH_data format 11784 WRITE command. 11885 Attributes pages defined by this standard 12186 Attribute number 0h format for all attributes pages 12287 Example Root Directory attributes page contents 12388 Example Partition D
48、irectory attributes page contents 12489 Example Collection Directory attributes page contents 12590 Example User Object Directory attributes page contents 12691 Root Information attributes page contents . 12792 Partition Information attributes page contents 12993 Collection Information attributes pa
49、ge contents. 13094 User Object Information attributes page contents 13195 Root Quotas attributes page contents 13296 Root Quotas attributes page format. 13397 Partition Quotas attributes page contents 13498 Partition Quotas attributes page format . 13599 User Object Quotas attributes page contents 136100 User Object Quotas attributes page format 136101 Root Timestamps attributes page contents 137102 Timestamp bypass attribute values 137103 Root Timestamps attributes page format. 138104 Partition Timestamps attributes page contents 139105 Partition Timestamps attributes page format . 14010