1、American National StandardDeveloped byfor Information Technology SCSI Object-Based Storage Device Commands - 2(OSD-2)INCITS 458-2011INCITS 458-2011INCITS 458-2011American National Standardfor Information Technology SCSI Object-Based StorageDevice Commands - 2(OSD-2)SecretariatInformation Technology
2、Industry CouncilApproved March 15, 2011American 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. Object
3、s 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 judge
4、ment 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 concer
5、ted 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 not co
6、nforming 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 in the
7、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 American
8、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 StandardPubl
9、ished byAmerican National Standards Institute, Inc.25 West 43rd Street, New York, NY 10036Copyright 2011 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
10、permission of ITI, 1101 K 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-ther the
11、 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,notice of
12、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 rights on
13、 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 implied that
14、this is the only license that may be required to avoid infringement in the use ofthis standard.iContentsPageForeword xviiIntroduction . xxiii1 Scope. 12 Normative references. 32.1 Normative references. 32.2 Approved ISO and ANSI references 32.3 Approved FIPS references. 32.4 Approved IETF References
15、 . 32.5 References under development. 43 Definitions, symbols, abbreviations, and conventions . 53.1 Definitions 53.2 Acronyms. 83.3 Keywords . 93.4 Conventions. 103.5 Bit and byte ordering 113.6 Signed and unsigned integers values 113.7 Notation conventions . 113.7.1 Notation for byte encoded chara
16、cter strings 113.7.2 Notation for procedure calls. 123.8 Data field requirements 133.8.1 ASCII data field requirements 133.8.2 Data field termination and padding requirements 134 SCSI OSD Model. 144.1 The request-response model. 144.2 OSD type devices 144.3 OSD object abstraction 154.4 Elements of t
17、he example configuration 164.5 Description of the OSD Architecture 174.6 Stored data objects 174.6.1 Stored data object types 174.6.2 Identifying OSD objects . 184.6.3 Root object. 184.6.4 Partitions 184.6.5 User objects. 194.6.6 Collections . 194.6.6.1 Overview 194.6.6.2 LINKED collections 204.6.6.
18、3 TRACKING collections. 20iiPage4.6.6.4 SPONTANEOUS collections . 214.6.6.5 Well known collections. 214.6.6.5.1 Overview 214.6.6.5.2 The all user objects in partition well known collection . 224.6.6.5.3 The snapshot/clone tracking well known collection . 224.6.6.6 Commands that use collections to af
19、fect multiple user objects . 224.7 OSD object attributes. 254.7.1 Overview 254.7.2 Attribute length when retrieving defined and undefined attributes. 264.7.3 Attribute length when setting defined and undefined attributes . 264.7.4 Command function ordering for commands that get and/or set attributes
20、 . 264.7.5 Attributes pages. 284.7.6 Attributes 294.7.7 Attributes directories 294.8 Command atomicity and isolation 304.8.1 Overview 304.8.2 Atomicity 304.8.3 Isolation . 324.9 Quotas . 324.9.1 Introduction 324.9.2 Quota errors. 334.9.3 Quota testing . 334.9.4 Changing quotas 334.10 Policy/storage
21、management 344.10.1 Overview 344.10.2 Capabilities 344.10.2.1 Introduction 344.10.2.2 Capability format 354.10.2.2.1 Introduction 354.10.2.2.2 USER capability object descriptor . 404.10.2.2.3 PAR capability object descriptor 424.10.2.2.4 COL capability object descriptor 434.10.2.2.5 Command terminat
22、ion due to errors detected in a capability 444.10.2.3 Capabilities and commands allowed . 444.10.3 Data object accessibility 524.10.4 OBSD storage damage detection, repair, and undesirable utilization prevention . 534.10.4.1 Normal usage storage damage detection and repair. 534.10.4.2 Policy access
23、tags . 544.10.4.3 Storage damage detection and repair after a reset . 554.11 Security 564.11.1 Basic security model 564.11.2 Trust assumptions . 574.11.3 Preparing credentials. 584.11.3.1 Introduction 584.11.3.2 Capability setup steps for credential preparation. 594.11.4 Security methods . 604.11.4.
24、1 Introduction 60iiiPage4.11.4.2 The NOSEC security method. 614.11.4.3 The CAPKEY security method . 624.11.4.4 The CMDRSP security method 624.11.4.5 The ALLDATA security method 634.11.5 Credentials . 674.11.5.1 Credential format 674.11.5.2 Capability keys . 684.11.6 OSD device server security algori
25、thms 684.11.6.1 Credential validation. 684.11.6.1.1 Introduction . 684.11.6.1.2 Validating the solo portion of a credential . 694.11.6.1.3 Validating the extension portion of a credential 694.11.6.1.4 Validating a CDB continuation segment using the solo portion of a credential . 704.11.6.2 Reconstru
26、cting the credential. 704.11.6.2.1 Reconstructing the solo portion of a credential . 704.11.6.2.2 Reconstructing the extension portion of a credential 714.11.6.3 Computing the integrity check values for a credential 714.11.6.3.1 Computing the solo integrity check value for a credential 714.11.6.3.2
27、Computing the extended integrity check value for a credential 724.11.6.4 Invalidating credentials. 724.11.7 Request nonces . 734.11.7.1 Request nonce format 734.11.7.2 Device server validation of request nonces . 734.11.7.3 Lists of previously used request nonces 744.11.7.3.1 Introduction . 744.11.7
28、.3.2 Freezing capability audit fields 744.11.7.3.3 Freezing working keys 754.11.8 Integrity check values. 754.11.9 Secret keys 764.11.9.1 Introduction 764.11.9.2 Computing updated generation keys and new authentication keys . 774.11.10 OSD security interactions with SPC-4 commands and SAM-4 task man
29、agement functions. 784.12 Object duplication. 784.12.1 Overview 784.12.2 Snapshot partitions and clone partitions 784.12.2.1 Overview 784.12.2.2 Snapshot history chains . 794.12.2.3 Clone chains 814.12.2.4 Snapshots of clones. 844.12.2.5 Detaching a clone partition. 854.12.3 Object duplication metho
30、ds 864.12.4 Object duplication state management 874.12.4.1 Overview 874.12.4.2 Time of duplication source object management. 874.12.4.3 Source object freeze duplication management 874.12.5 Object duplication space accounting 874.13 Data persistence model . 88ivPage4.14 Data-In and Data-Out Buffer mo
31、del . 894.14.1 Bidirectional data transfers 894.14.2 OSD meta data 894.14.3 OSD Data-In Buffer format 904.14.4 OSD Data-Out Buffer format 914.14.5 Data-In and Data-Out buffer offsets. 924.15 Error reporting 934.15.1 Introduction 934.15.2 OSD-specific sense data descriptors. 944.15.2.1 OSD error iden
32、tification sense data descriptor 944.15.2.2 OSD response integrity check value sense data descriptor 964.15.2.3 OSD attribute identification sense data descriptor. 964.15.3 Auto contingent allegiance. 974.16 Reservations 975 Common Formats 1005.1 OSD CDB format . 1005.2 Fields commonly used in OSD c
33、ommands 1015.2.1 Overview 1015.2.2 Allocation length 1025.2.3 Caching control bits . 1025.2.4 Capability . 1025.2.5 CDB continuation length 1025.2.6 Get and set attributes parameters . 1035.2.6.1 Get and set attributes CDB format selection . 1035.2.6.2 Set one attribute value using CDB fields . 1035
34、.2.6.3 Get an attributes page and set an attribute value 1045.2.6.4 Get and set attributes lists . 1065.2.7 Immediate bit for TRACKING collections. 1075.2.8 Isolation . 1085.2.9 Length 1085.2.10 Partition_ID 1085.2.11 Security parameters. 1095.2.12 Starting byte address. 1105.2.13 Timestamps control
35、 . 1105.2.14 User_Object_ID . 1105.3 CDB continuation segment format. 1115.4 CDB continuation descriptors 1125.4.1 Overview 1125.4.2 Scatter/gather list. 1145.4.3 Query list 1165.4.4 User object. 1185.4.5 Extension capabilities CDB continuation descriptors. 1196 Commands for OSD type devices . 1206.
36、1 Summary of commands for OSD type devices 1206.2 APPEND 1236.3 CLEAR. 125vPage6.4 CREATE. 1276.5 CREATE AND WRITE . 1296.6 CREATE CLONE . 1326.6.1 Introduction 1326.6.2 Processing before the IMMED_TR bit takes effect 1346.6.3 Processing after the IMMED_TR bit takes effect, if any 1366.6.4 Command c
37、ompletion 1366.7 CREATE COLLECTION. 1386.8 CREATE PARTITION 1406.9 CREATE SNAPSHOT 1426.9.1 Introduction 1426.9.2 Processing before the IMMED_TR bit takes effect 1446.9.3 Processing after the IMMED_TR bit takes effect, if any 1466.9.4 Command completion 1466.10 CREATE USER TRACKING COLLECTION 1486.1
38、1 DETACH CLONE . 1516.12 FLUSH . 1546.13 FLUSH COLLECTION . 1566.14 FLUSH OSD. 1586.15 FLUSH PARTITION . 1606.16 FORMAT OSD . 1626.17 GET ATTRIBUTES 1646.18 GET MEMBER ATTRIBUTES 1656.19 LIST 1676.19.1 Introduction 1676.19.2 LIST command parameter data . 1706.19.3 LIST command and LIST COLLECTION co
39、mmand object descriptor formats 1716.19.3.1 Partition_ID only object descriptor format 1716.19.3.2 Collection_Object_ID only object descriptor format . 1726.19.3.3 User_Object_ID only object descriptor format . 1726.20 LIST COLLECTION 1736.21 OBJECT STRUCTURE CHECK 1786.21.1 Introduction 1786.21.2 S
40、tructure checking for the root object and all partitions . 1796.21.3 Structure checking for a specific partition 1806.22 PERFORM SCSI COMMAND 1816.23 PERFORM TASK MANAGEMENT FUNCTION 1846.24 PUNCH 187viPage6.25 QUERY 1896.25.1 Introduction 1896.25.2 Matches list parameter data format . 1916.26 READ.
41、 1926.27 READ MAP 1946.27.1 Introduction 1946.27.2 READ MAP command and READ MAPS AND COMPARE command parameter data 1966.28 READ MAPS AND COMPARE 1996.29 REFRESH SNAPSHOT OR CLONE . 2016.29.1 Introduction 2016.29.2 Processing before the IMMED_TR bit takes effect . 2036.29.3 Processing after the IMM
42、ED_TR bit takes effect, if any 2056.29.4 Command completion 2056.29.5 Linking a snapshot as the most recent entry in the history chain 2066.29.6 Unlinking a snapshot from the history chain 2066.30 REMOVE . 2086.31 REMOVE COLLECTION . 2096.32 REMOVE MEMBER OBJECTS. 2116.33 REMOVE PARTITION . 2126.34
43、RESTORE PARTITION FROM SNAPSHOT. 2156.34.1 Introduction 2156.34.2 Processing before the IMMED_TR bit takes effect . 2166.34.3 Processing after the IMMED_TR bit takes effect, if any 2176.34.4 Command completion 2176.35 SET ATTRIBUTES 2196.36 SET KEY 2206.37 SET MASTER KEY 2226.37.1 Introduction 2226.
44、37.2 Seed exchange 2236.37.3 Change master key 2246.38 SET MEMBER ATTRIBUTES 2276.39 WRITE . 2297 Parameters for OSD type devices . 2317.1 Attributes parameters 2317.1.1 Attributes parameter formats . 2317.1.2 Reporting illegal attempts to set attribute values . 2317.1.3 OSD attributes pages 2327.1.
45、3.1 Attributes pages overview 2327.1.3.2 Attribute number 0h in all attributes pages 2337.1.3.3 Attribute number 0h for unidentified attributes pages 2347.1.3.4 Root Directory attributes page . 2357.1.3.5 Partition Directory attributes page . 2367.1.3.6 Collection Directory attributes page. 237viiPa
46、ge7.1.3.7 User Object Directory attributes page 2387.1.3.8 Root Information attributes page 2397.1.3.9 Partition Information attributes page 2477.1.3.10 Collection Information attributes page 2497.1.3.11 User Object Information attributes page 2517.1.3.12 Root Quotas attributes page 2537.1.3.13 Part
47、ition Quotas attributes page. 2557.1.3.14 User Object Quotas attributes page. 2567.1.3.15 Root Timestamps attributes page 2587.1.3.16 Partition Timestamps attributes page. 2607.1.3.17 Collection Timestamps attributes page 2627.1.3.18 User Object Timestamps attributes page. 2647.1.3.19 Attributes Acc
48、ess attributes page. 2657.1.3.20 Command Tracking attributes page . 2677.1.3.21 Collections attributes page. 2697.1.3.22 Root Policy/Security attributes page 2717.1.3.23 Partition Policy/Security attributes page. 2777.1.3.24 Collection Policy/Security attributes page 2827.1.3.25 User Object Policy/S
49、ecurity attributes page. 2837.1.3.26 Root Error Recovery attributes page 2847.1.3.27 Partition Error Recovery attributes page 2887.1.3.28 Collection Error Recovery attributes page . 2917.1.3.29 User Object Error Recovery attributes page 2927.1.3.30 Snapshots Information attributes page 2957.1.3.31 Current Command attributes page. 2987.1.3.32 Null attributes page 3007.1.4 OSD attributes lists 3007.1.4.1 Attributes lists overview 3007.1.4.2 List entry format for retrieving attributes for a specified OSD object 3027.1.4.3 List entry format for retrieved attributes and for settin