logo资料库

SCSI Block Commands – 3 (SBC-3).pdf

第1页 / 共311页
第2页 / 共311页
第3页 / 共311页
第4页 / 共311页
第5页 / 共311页
第6页 / 共311页
第7页 / 共311页
第8页 / 共311页
资料共311页,剩余部分请下载后查看
Points of contact
Abstract
Revision History
1 Revision 0 (09 September 2005)
2 Revision 1 (16 September 2005)
3 Revision 2 (22 September 2005)
4 Revision 3 (16 November 2005)
5 Revision 4 (10 February 2006)
6 Revision 5 (11 May 2006)
7 Revision 6 (24 July 2006)
8 Revision 7 (22 September 2006)
9 Revision 8 (18 January 2007)
10 Revision 8a (18 January 2007)
11 Revision 9 (22 March 2007)
12 Revision 10 (17 May 2007)
13 Revision 11 (19 July 2007)
14 Revision 12 (11 November 2007)
15 Revision 13 (24 January 2008)
16 Revision 14 (20 March 2008)
17 Revision 15 (15 May 2008)
18 Revision 16 (25 August 2008)
19 Revision 17 (17 November 2008)
20 Revision 18 (23 February 2009)
21 Revision 19 (29 May 2009)
22 Revision 20 (10 September 2009)
23 Revision 21 (25 November 2009)
24 Revision 22 (29 March 2010)
25 Revision 23 (30 July 2010)
26 Revision 24 (05 August 2010)
27 Revision 25 (27 October 2010)
28 Revision 26 (21 January 2011)
29 Revision 27 (01 June 2011)
30 Revision 28 (30 September 2011)
31 Revision 29 (04 October 2011)
32 Revision 30 (13 February 2012)
33 Revision 31 (25 May 2012)
34 Revision 32 (06 September 2012)
35 Revision 33 (31 October 2012)
Contents
Tables
Figures
Foreword
Introduction
SCSI standards family
1 Scope
2 Normative references
2.1 Normative references overview
2.2 Approved references
2.3 References under development
3 Definitions, symbols, abbreviations, keywords, and conventions
3.1 Definitions, symbols, abbreviations, keywords, and conventions Introduction
3.2 Definitions
3.3 Symbols
3.4 Abbreviations
3.5 Keywords
3.6 Editorial conventions
3.7 Numeric conventions
3.8 State machine conventions
4 Direct-access block device type model
4.1 Direct-access block device type model introduction
4.2 Direct-access block device type model overview
4.3 Media examples
4.3.1 Media examples overview
4.3.2 Rotating media
4.3.3 Memory media
4.4 Removable media
4.4.1 Removable media overview
4.4.2 Removable medium with an attached media changer
4.5 Logical blocks
4.6 Physical blocks
4.7 Logical block provisioning
4.7.1 Logical block provisioning overview
4.7.2 Full provisioning
4.7.3 Logical block provisioning management
4.7.3.1 Logical block provisioning management overview
4.7.3.2 Resource provisioning
4.7.3.3 Thin provisioning
4.7.3.4 Unmapping LBAs
4.7.3.4.1 Processing unmap requests
4.7.3.4.2 Unmap operations overview
4.7.3.4.3 WRITE SAME command and unmap operations
4.7.3.5 Autonomous LBA transitions
4.7.3.6 Logical block provisioning management and protection information
4.7.3.7 Resource exhaustion considerations
4.7.3.8 Logical block provisioning thresholds
4.7.3.8.1 Logical block provisioning thresholds overview
4.7.3.8.2 Logical block provisioning armed decreasing thresholds
4.7.3.8.3 Logical block provisioning armed increasing thresholds
4.7.3.8.4 Logical block provisioning threshold notification
4.7.4 Logical block provisioning state machine
4.7.4.1 Logical block provisioning state machine overview
4.7.4.2 LBP1:Mapped state
4.7.4.2.1 LBP1:Mapped state description
4.7.4.2.2 Transition LBP1:Mapped to LBP2:Deallocated
4.7.4.2.3 Transition LBP1:Mapped to LBP3:Anchored
4.7.4.3 LBP2:Deallocated state
4.7.4.3.1 LBP2:Deallocated state description
4.7.4.3.2 Transition LBP2:Deallocated to LBP1:Mapped
4.7.4.3.3 Transition LBP2:Deallocated to LBP3:Anchored
4.7.4.4 LBP3:Anchored state
4.7.4.4.1 LBP3:Anchored state description
4.7.4.4.2 Transition LBP3:Anchored to LBP1:Mapped
4.7.4.4.3 Transition LBP3:Anchored to LBP2:Deallocated
4.8 Data de-duplication
4.9 Ready state
4.10 Initialization
4.11 Sanitize operations
4.11.1 Sanitize operations overview
4.11.2 Processing a sanitize operation
4.11.3 Completing a sanitize operation
4.12 Write protection
4.13 Medium defects
4.13.1 Medium defects overview
4.13.2 Generation of defect lists
4.14 Write failures
4.15 Caches
4.16 Implicit head of queue command processing
4.17 Reservations
4.18 Error reporting
4.18.1 Error reporting overview
4.18.2 Processing pseudo unrecovered errors
4.18.3 Block commands sense data descriptor
4.18.4 User data segment referral sense data descriptor
4.19 Model for XOR commands
4.19.1 Model for XOR commands overview
4.19.2 Storage array controller supervised XOR operations
4.19.2.1 Storage array controller supervised XOR operations overview
4.19.2.2 Update write operation
4.19.2.3 Regenerate operation
4.19.2.4 Rebuild operation
4.19.3 Array subsystem considerations
4.19.3.1 Array subsystem considerations overview
4.19.3.2 Access to an inconsistent stripe
4.20 Rebuild assist mode
4.20.1 Rebuild assist mode overview
4.20.2 Enabling rebuild assist mode
4.20.3 Using the rebuild assist mode
4.20.3.1 Using rebuild assist mode overview
4.20.3.2 Unpredicted unrecovered read error
4.20.3.3 Predicted unrecovered read error
4.20.3.4 Unpredicted unrecovered write error
4.20.3.5 Predicted unrecovered write error
4.20.4 Disabling the rebuild assist mode
4.20.5 Testing rebuild assist mode
4.21 START STOP UNIT and power conditions
4.21.1 START STOP UNIT and power conditions overview
4.21.2 Processing of concurrent START STOP UNIT commands
4.21.3 Managing medium access commands during a change to the active power condition
4.21.4 Stopped Power Condition
4.21.5 START STOP UNIT and power condition state machine
4.21.5.1 START STOP UNIT and power condition state machine overview
4.21.5.2 SSU_PC0:Powered_On state
4.21.5.2.1 SSU_PC0:Powered_On state description
4.21.5.2.2 Transition SSU_PC0:Powered_On to SSU_PC4:Active_Wait
4.21.5.2.3 Transition SSU_PC0:Powered_On to SSU_PC8:Stopped
4.21.5.3 SSU_PC1:Active state
4.21.5.3.1 SSU_PC1:Active state description
4.21.5.3.2 Transition SSU_PC1:Active to SSU_PC5:Wait_Idle
4.21.5.3.3 Transition SSU_PC1:Active to SSU_PC6:Wait_Standby
4.21.5.3.4 Transition SSU_PC1:Active to SSU_PC10:Wait_Stopped
4.21.5.4 SSU_PC2:Idle state
4.21.5.4.1 SSU_PC2:Idle state description
4.21.5.4.2 Transition SSU_PC2:Idle to SSU_PC4:Active_Wait
4.21.5.4.3 Transition SSU_PC2:Idle to SSU_PC5:Wait_Idle
4.21.5.4.4 Transition SSU_PC2:Idle to SSU_PC6:Wait_Standby
4.21.5.4.5 Transition SSU_PC2:Idle to SSU_PC7:Idle_Wait
4.21.5.4.6 Transition SSU_PC2:Idle to SSU_PC10:Wait_Stopped
4.21.5.5 SSU_PC3:Standby state
4.21.5.5.1 SSU_PC3:Standby state description
4.21.5.5.2 Transition SSU_PC3:Standby to SSU_PC4:Active_Wait
4.21.5.5.3 Transition SSU_PC3:Standby to SSU_PC6:Wait_Standby
4.21.5.5.4 Transition SSU_PC3:Standby to SSU_PC7:Idle_Wait
4.21.5.5.5 Transition SSU_PC3:Standby to SSU_PC9:Standby_Wait
4.21.5.5.6 Transition SSU_PC3:Standby to SSU_PC10:Wait_Stopped
4.21.5.6 SSU_PC4:Active_Wait state
4.21.5.6.1 SSU_PC4:Active_Wait state description
4.21.5.6.2 Transition SSU_PC4:Active_Wait to SSU_PC1:Active
4.21.5.7 SSU_PC5:Wait_Idle state
4.21.5.7.1 SSU_PC5:Wait_Idle state description
4.21.5.7.2 Transition SSU_PC5:Wait_Idle to SSU_PC2:Idle
4.21.5.8 SSU_PC6:Wait_Standby state
4.21.5.8.1 SSU_PC6:Wait_Standby state description
4.21.5.8.2 Transition SSU_PC6:Wait_Standby to SSU_PC3:Standby
4.21.5.9 SSU_PC7:Idle_Wait state
4.21.5.9.1 SSU_PC7:Idle_Wait state description
4.21.5.9.2 Transition SSU_PC7:Idle_Wait to SSU_PC2:Idle
4.21.5.10 SSU_PC8:Stopped state
4.21.5.10.1 SSU_PC8:Stopped state description
4.21.5.10.2 Transition SSU_PC8:Stopped to SSU_PC4:Active_Wait
4.21.5.10.3 Transition SSU_PC8:Stopped to SSU_PC7:Idle_Wait
4.21.5.10.4 Transition SSU_PC8:Stopped to SSU_PC9:Standby_Wait
4.21.5.11 SSU_PC9:Standby_Wait state
4.21.5.11.1 SSU_PC9:Standby_Wait state description
4.21.5.11.2 Transition SSU_PC9:Standby_Wait to SSU_PC3:Standby
4.21.5.12 SSU_PC10: Wait_Stopped state
4.21.5.12.1 SSU_PC10:Wait_Stopped state description
4.21.5.12.2 Transition SSU_PC10:Wait_Stopped to SSU_PC8:Stopped
4.22 Protection information model
4.22.1 Protection information overview
4.22.2 Protection types
4.22.2.1 Protection types overview
4.22.2.2 Type 0 protection
4.22.2.3 Type 1 protection
4.22.2.4 Type 2 protection
4.22.2.5 Type 3 protection
4.22.3 Protection information format
4.22.4 Logical block guard
4.22.4.1 Logical block guard overview
4.22.4.2 CRC generation
4.22.4.3 CRC checking
4.22.4.4 CRC test cases
4.22.5 Application of protection information
4.22.6 Protection information and commands
4.23 Grouping function
4.24 Background scan operations
4.24.1 Background scan overview
4.24.2 Background pre-scan operations
4.24.2.1 Enabling background pre-scan operations
4.24.2.2 Suspending and resuming background pre-scan operations
4.24.2.3 Halting background pre-scan operations
4.24.3 Background medium scan
4.24.3.1 Enabling background medium scan operations
4.24.3.2 Suspending and resuming background medium scan operations
4.24.3.3 Halting background medium scan operations
4.24.4 Interpreting the logged background scan results
4.25 Association between commands and CbCS permission bits
4.26 Deferred microcode activation
4.27 Model for uninterrupted sequences on LBA ranges
4.28 Referrals
4.28.1 Referrals overview
4.28.2 Discovering referrals
4.28.3 Discovering referrals example
4.28.3.1 Referrals example with no user data segment multiplier
4.28.3.2 Referrals example with non-zero user data segment multiplier
4.28.4 Referrals in sense data
4.29 ORWRITE commands
4.29.1 ORWRITE commands overview
4.29.2 ORWgeneration code
4.29.2.1 ORWgeneration code overview
4.29.2.2 ORWgeneration code processing
4.29.3 Change generation and clear operation
4.29.4 Set operation
4.30 Block device ROD token operations
4.30.1 Block device ROD token operations overview
4.30.2 POPULATE TOKEN command and WRITE USING TOKEN command completion
4.30.3 Block device specific ROD tokens
4.30.4 Block device zero ROD token
4.30.5 ROD token device type specific data
5 Commands for direct-access block devices
5.1 Commands for direct-access block devices overview
5.2 COMPARE AND WRITE command
5.3 FORMAT UNIT command
5.3.1 FORMAT UNIT command overview
5.3.2 FORMAT UNIT parameter list
5.3.2.1 FORMAT UNIT parameter list overview
5.3.2.2 Parameter list header
5.3.2.3 Initialization pattern descriptor
5.3.2.4 Address descriptor formats
5.3.2.4.1 Address descriptor formats overview
5.3.2.4.2 Short block format address descriptor
5.3.2.4.3 Extended bytes from index address descriptor
5.3.2.4.4 Extended physical sector address descriptor
5.3.2.4.5 Long block format address descriptor
5.3.2.4.6 Bytes from index format address descriptor
5.3.2.4.7 Physical sector format address descriptor
5.4 GET LBA STATUS command
5.4.1 GET LBA STATUS command overview
5.4.2 GET LBA STATUS parameter data
5.4.2.1 GET LBA STATUS parameter data overview
5.4.2.2 LBA status descriptor
5.4.2.3 LBA status descriptor relationships
5.5 ORWRITE (16) command
5.6 ORWRITE (32) command
5.7 POPULATE TOKEN command
5.7.1 POPULATE TOKEN command overview
5.7.2 POPULATE TOKEN parameter list
5.7.3 Block device range descriptor
5.8 PRE-FETCH (10) command
5.9 PRE-FETCH (16) command
5.10 PREVENT ALLOW MEDIUM REMOVAL command
5.11 READ (10) command
5.12 READ (12) command
5.13 READ (16) command
5.14 READ (32) command
5.15 READ CAPACITY (10) command
5.15.1 READ CAPACITY (10) overview
5.15.2 READ CAPACITY (10) parameter data
5.16 READ CAPACITY (16) command
5.16.1 READ CAPACITY (16) command overview
5.16.2 READ CAPACITY (16) parameter data
5.17 READ DEFECT DATA (10) command
5.17.1 READ DEFECT DATA (10) command overview
5.17.2 READ DEFECT DATA (10) parameter data
5.18 READ DEFECT DATA (12) command
5.18.1 READ DEFECT DATA (12) command overview
5.18.2 READ DEFECT DATA (12) parameter data
5.19 READ LONG (10) command
5.20 READ LONG (16) command
5.21 REASSIGN BLOCKS command
5.21.1 REASSIGN BLOCKS command overview
5.21.2 REASSIGN BLOCKS parameter list
5.22 RECEIVE ROD TOKEN INFORMATION
5.22.1 RECEIVE ROD TOKEN INFORMATION overview
5.22.2 RECEIVE ROD TOKEN INFORMATION parameter data for POPULATE TOKEN command
5.22.3 RECEIVE ROD TOKEN INFORMATION parameter data for WRITE USING TOKEN command
5.23 REPORT REFERRALS command
5.23.1 REPORT REFERRALS command overview
5.23.2 REPORT REFERRALS parameter data
5.24 SANITIZE command
5.24.1 SANITIZE command overview
5.24.2 SANITIZE command service actions
5.24.2.1 SANITIZE command service actions overview
5.24.2.2 OVERWRITE service action
5.24.2.3 BLOCK ERASE service action
5.24.2.4 CRYPTOGRAPHIC ERASE service action
5.24.2.5 EXIT FAILURE MODE service action
5.25 START STOP UNIT command
5.26 SYNCHRONIZE CACHE (10) command
5.27 SYNCHRONIZE CACHE (16) command
5.28 UNMAP command
5.28.1 UNMAP command overview
5.28.2 UNMAP parameter list
5.29 VERIFY (10) command
5.30 VERIFY (12) command
5.31 VERIFY (16) command
5.32 VERIFY (32) command
5.33 WRITE (10) command
5.34 WRITE (12) command
5.35 WRITE (16) command
5.36 WRITE (32) command
5.37 WRITE AND VERIFY (10) command
5.38 WRITE AND VERIFY (12) command
5.39 WRITE AND VERIFY (16) command
5.40 WRITE AND VERIFY (32) command
5.41 WRITE LONG (10) command
5.42 WRITE LONG (16) command
5.43 WRITE SAME (10) command
5.44 WRITE SAME (16) command
5.45 WRITE SAME (32) command
5.46 WRITE USING TOKEN command
5.46.1 WRITE USING TOKEN command overview
5.46.2 WRITE USING TOKEN parameter list
5.47 XDWRITEREAD (10) command
5.48 XDWRITEREAD (32) command
5.49 XPWRITE (10) command
5.50 XPWRITE (32) command
6 Parameters for direct-access block devices
6.1 Parameters for direct-access block devices introduction
6.2 Diagnostic parameters
6.2.1 Diagnostic parameters overview
6.2.2 Rebuild Assist Input diagnostic page
6.2.3 Rebuild Assist Output diagnostic page
6.2.4 Translate Address Input diagnostic page
6.2.5 Translate Address Output diagnostic page
6.3 Log parameters
6.3.1 Log parameters overview
6.3.1.1 Summary of log pages
6.3.1.2 Resetting and setting log parameters
6.3.2 Background Scan log page
6.3.2.1 Overview
6.3.2.2 Background Scan Status log parameter
6.3.2.3 Background Scan Results log parameter
6.3.3 Format Status log page
6.3.3.1 Overview
6.3.3.2 Format Data Out log parameter
6.3.3.3 Grown Defects During Certification log parameter
6.3.3.4 Total Blocks Reassigned During Format log parameter
6.3.3.5 Total New Blocks Reassigned log parameter
6.3.3.6 Power On Minutes Since Format log parameter
6.3.4 Logical Block Provisioning log page
6.3.4.1 Overview
6.3.4.2 Available LBA Mapping Resource Count log parameter
6.3.4.2.1 Overview
6.3.4.3 resource count field
6.3.4.4 Used LBA Mapping Resource Count log parameter
6.3.4.5 De-duplicated Resource Count log parameter
6.3.4.6 Compressed LBA Resource Count log parameter
6.3.4.7 Total Efficiency LBA Resource Count log parameter
6.3.5 Non-volatile Cache log page
6.3.5.1 Overview
6.3.5.2 Remaining Nonvolatile Time log parameter
6.3.5.3 Maximum Nonvolatile Time log parameter
6.3.6 Solid State Media log page
6.3.6.1 Overview
6.3.6.2 Percentage Used Endurance Indicator log parameter
6.4 Mode parameters
6.4.1 Mode parameters overview
6.4.2 Mode parameter block descriptors
6.4.2.1 Mode parameter block descriptors overview
6.4.2.2 Short LBA mode parameter block descriptor
6.4.2.3 Long LBA mode parameter block descriptor
6.4.3 Application Tag mode page
6.4.3.1 Introduction
6.4.3.2 Application Tag descriptor
6.4.4 Background Control mode page
6.4.5 Caching mode page
6.4.6 Informational Exceptions Control mode page
6.4.7 Logical Block Provisioning mode page
6.4.7.1 Introduction
6.4.7.2 Threshold descriptor format
6.4.8 Read-Write Error Recovery mode page
6.4.9 Verify Error Recovery mode page
6.5 Vital product data (VPD) parameters
6.5.1 VPD parameters overview
6.5.2 Block Device Characteristics VPD page
6.5.3 Block Limits VPD page
6.5.4 Logical Block Provisioning VPD page
6.5.5 Referrals VPD page
6.5.6 Third-Party Copy VPD page
6.5.6.1 Third-Party Copy VPD page overview
6.5.6.2 Block device third-party copy descriptor type codes
6.5.6.3 Block Device ROD Token Limits descriptor
6.6 Copy manager parameters
Annex A
(informative)
Numeric order codes
A.1 Variable length CDBs
A.2 Service action CDBs
Annex B
(informative)
XOR command examples
B.1 XOR command examples overview
B.2 Update write operation
B.3 Regenerate operation
B.4 Rebuild operation
Annex C
(informative)
CRC example in C
Annex D
(informative)
Sense information for locked or encrypted SCSI target devices
Annex E
(informative)
Optimizing block access characteristics
E.1 Optimizing block access overview
E.2 Starting logical block offset
E.3 Optimal granularity sizes
E.4 Optimizing transfers
E.5 Examples
Working Draft Project American National Standard T10/1799-D Revision 33 31 October 2012 Information technology - SCSI Block Commands – 3 (SBC-3) This is an internal working document of T10, a Technical Committee of Accredited Standards Committee INCITS (International Committee for Information Technology Standards). As such this is not a completed standard and has not been approved. The contents may be modified by the T10 Technical Committee. The contents are actively being modified by T10. This document is made available for review and comment only. Permission is granted to members of INCITS, its technical committees, and their associated task groups to reproduce this document for the purposes of INCITS standardization activities without further permission, provided this notice is included. All other rights are reserved. Any duplication of this document for commercial or for-profit use is strictly prohibited. T10 Technical Editor: Mark Evans Western Digital Corporation 5863 Rue Ferrari San Jose, CA 95138 USA Telephone: 408-363-5257 Email: mark.evans@wdc.com Reference number ISO/IEC 14776-323:201x ANSI INCITS ***:201x
T10/1799-D Revision 33 31 October 2012 Points of contact International Committee for Information Technology Standards (INCITS) T10 Technical Committee T10 Chair John B. Lohmeyer LSI Logic 4420 Arrows West Drive Colorado Springs, CO 80907-3444 USA T10 Vice-Chair Mark S. Evans Western Digital Corporation 5863 Rue Ferrari San Jose, CA 95138 USA Telephone: Email: (719) 533-7560 lohmeyer@t10.org Telephone: (408) 363-5257 Email: mark.evans@wdc.com T10 Web Site: http://www.t10.org T10 E-mail reflector: Server: majordomo@t10.org To subscribe send e-mail with ‘subscribe’ in message body To unsubscribe send e-mail with ‘unsubscribe’ in message body INCITS Secretariat 1101 K Street, NW Suite 610 Washington, DC 20005 USA Telephone: Web site: Email: 202-737-8888 http://www.incits.org incits@itic.org Information Technology Industry Council Web site: http://www.itic.org Document Distribution INCITS Online Store managed by Techstreet 1327 Jones Drive Ann Arbor, MI 48105 USA Web site: Telephone: http://www.techstreet.com/incits.html (734) 302-7801 or (800) 699-9277 Global Engineering Documents, an IHS Company 15 Inverness Way East Englewood, CO 80112-5704 USA Web site: Telephone: http://global.ihs.com (303) 397-7956 or (303) 792-2181 or (800) 854-7179 ii Working Draft SCSI Block Commands – 3 (SBC-3)
31 October 2012 T10/1799-D Revision 33 American National Standard for Information Technology SCSI Block Commands – 3 (SBC-3) Secretariat Information Technology Industry Council Approved mm.dd.yy American National Standards Institute, Inc. Abstract This standard specifies the functional requirements for the SCSI Block Commands - 3 (SBC-3) command set. SBC-3 permits SCSI block logical units such as rigid disks to attach to computers and provides the definition for their use. This standard maintains a high degree of compatibility with the SCSI Block Commands (SBC-2) command set, INCITS 405-2005, and while providing additional functions, is not intended to require changes to presently installed devices or existing software. Working Draft SCSI Block Commands – 3 (SBC-3) iii
T10/1799-D Revision 33 31 October 2012 American National Standard Approval of an American National Standard requires verification by ANSI that the require- ments for due process, consensus, and other criteria for approval have been met by the standards developer. Consensus is established when, in the judgment of the ANSI Board of Standards Review, substantial agreement has been reached by directly and materially affected interests. Substantial agreement means much more than a simple majority, but not necessarily unanimity. Consensus requires that all views and objections be considered, and that effort be made towards their resolution. The use of American National Standards is completely voluntary; their existence does not in any respect preclude anyone, whether he has approved the standards or not, from manufac- turing, marketing, purchasing, or using products, processes, or procedures not conforming to the standards. The American National Standards Institute does not develop standards and will in no circum- stances give interpretation on any American National Standard. Moreover, no person shall have the right or authority to issue an interpretation of an American National Standard in the name of the American National Standards Institute. Requests for interpretations should be addressed to the secretariat or sponsor whose name appears on the title page of this standard. CAUTION NOTICE: This American National Standard may be revised or withdrawn at any time. The procedures of the American National Standards Institute require that action be taken periodically to reaffirm, revise, or withdraw this standard. Purchasers of American National Standards may receive current information on all standards by calling or writing the American National Standards Institute. CAUTION: The developers of this standard have requested that holders 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. As of the date of publication of this standard, following calls for the identification of patents that may be required for the implementation of the standard, no such claims have been made. No further patent search is conducted by the developer or the publisher in respect to any standard it processes. No representation is made or implied that licenses are not required to avoid infringement in the use of this standard. Published by American National Standards Institute 11 W. 42nd Street, New York, New York 10036 Copyright © 2004 by Information Technology Industry Council (ITI). All rights reserved. No part of this publication may by reproduced in any form, in an electronic retrieval system or otherwise, without prior written permission of ITI, 1101 K Street, NW Suite 610, Washington, DC 20005. Printed in the United States of America iv Working Draft SCSI Block Commands – 3 (SBC-3)
31 October 2012 T10/1799-D Revision 33 Revision History This revision history is not part of American National Standard INCITS 1799:200x. 1 Revision 0 (09 September 2005) Revision 0 of SBC-3 is substantially equal to revision 16 of SBC-2. The only differences arise from changes made in SBC-2 discovered during the ISO process. Those changes include: a) Changed idle condition timer to standby condition timer in item c) of subclause 4.15.1. b) Changed 2 Gigabytes to 1 GiB and 2 Terabytes to 2 TiB in two places in note 10 in subclause 5.5. The 2 was change to a 1 because there are 21 bits in the LOGICAL BLOCK ADDRESS field (i.e., 1F_FFFF is 2 097 151 that * 512 is 1 073 741 312 which is 1 GiB). Removed the CORRCT bit from the WRITE LONG (16) CDB as it was never supposed to be added to this command. It's not in SCSI-2 or SBC for WRITE LONG (10) and 03-383r1 did not ask for it. It showed up in sbc2r11. 2 Revision 1 (16 September 2005) a) Incorporated the following proposals: A) 04-198r5 - Background medium Scan; B) 04-371r2 - SPC-4: Enable Background Operation Error Reporting Bit; and C) 05-101r1 - SBC-2 Validation of Protection Information. 3 Revision 2 (22 September 2005) a) Incorporated the following proposals: A) 05-299r1 - Correct Log Page Format Tables in SPC-4, SBC-3, & SAS-2; and B) 05-313r0 - SBC-3: Change to background medium scan. 4 Revision 3 (16 November 2005) a) Incorporated the following proposals: A) 05-156r7 - SBC-3, SPC-4: Application ownership of protection information Reference Tag; B) 05-317r3 - SMC-3, SPC-4, SBC-3, and SSC-3: Remove Attached medium Changer model; and C) 05-374r2 - SBC-3: SPC-4: Disabling Reassign on Write Long Logical Blocks. 5 Revision 4 (10 February 2006) a) Incorporated the following proposals: A) 05-157r9 - SPC Security Commands proposal (in an E-mail it was pointed out that the SERCURITY PROTOCOL IN and SECURITY PROTOCOL OUT commands need to be added to the SBC-3 commands list table); B) 05-340r3 - SBC-3 SPC-4 Background scan additions; C) 05-368r2 - SPC-4 SBC-3 SMC-3 Allow more commands through Write Exclusive reservations; and D) 05-383r4 - SPC-4: Deferred microcode downloads. In addition the following editorial corrections were received from E-mail were incorporated: the initiator control (IC) enable bit description had the SIZE bit polarity backwards; a) b) changed filed to field; c) WRITE SAME (32) was placed into the list of medium access commands in the Protection types overview subclause; the field name P_TYPEABLE in table 19 (FMTPINFO bit, RTO_REQ bit, and PROTECTION FIELD USAGE field) footnote d was changed to P_TYPE; and d) Working Draft SCSI Block Commands – 3 (SBC-3) v
T10/1799-D Revision 33 31 October 2012 e) the field name DATA BLOCK GUARD in table 80 (LBDATA bit and PBDATA bit) in row 0 0 was changed to LOGICAL BLOCK GUARD. 6 Revision 5 (11 May 2006) a) Incorporated the following proposals: A) 06-248r1 - Proposal to remove the PREVENT ALLOW MEDIUM REMOVAL (PAMR) command from SPC-4 In addition the following editorial corrections were received from E-mail were incorporated: a) The following sentence occurs on SBC-3 rev. 3, page 122, first paragraph under table 110, last sentence of paragraph; and also on page 124, first paragraph under table 111, last sentence of paragraph: “To determine the number of blocks at which the logical unit is currently formatted, the application client shall use the READ CAPACITY command (see 5.11) rather than the MODE SELECT command.” In both cases, the “MODE SELECT” needs to be replaced with “MODE SENSE”. To use the “select” operation is nonsensical if the purpose is to discover the current block size of the disk drive. 7 Revision 6 (24 July 2006) a) Incorporated the following proposals: A) 06-259r1 - SAM-4, et al.: making linked commands obsolete; B) 06-274r1 - SPC-4 SBC-3 REQUEST SENSE and Stopped power condition; and C) 06-323r1 - SAM-4 SPC-4 et al Multiple service delivery subsystem editorial tweaks. 8 Revision 7 (22 September 2006) a) Incorporated the following proposals: A) 06-034r5 - SBC-3 Physical blocks; and B) 06-350r0 - SPC-4/SBC-3: Power conditions state machine clarification. In addition the following editorial corrections were received from E-mail were incorporated: a) b) In the Background Scan Results log page (section 6.2.2) in table 101 on page 119, there seems to be a missing “scan” in the row for code 08h. It currently reads: “Background medium halted, waiting...”. GAH: Agreed, it should read “Background medium scan halted, waiting...”. I note that the word “medium” is not present in the descriptions of other code rows, maybe that word should be removed for consistency. GOP: The word “medium” was added to all the descriptions of other code rows to make it consistent with the rest of the clause. In “Background medium scan parameter format” for parameter code 0001h to 0800h shown in table 102 the “accumulated power on minutes” field is defined on page 121 as “The ACCUMULATED POWER ON MINUTES field indicates the number of minutes the device server has been powered on since manufacturing.” That is the same definition of the same named field found in the “Background medium scan status parameter format” (for parameter code 0) shown in table 99. Shouldn't the description associated with table 102 be referencing when the error associated with that parameter number was logged [similar to the way the self test log page outputs its results]? GAH: I agree. It should say “The ACCUMULATED POWER ON MINUTES field indicates the number of minutes the device server has been powered on since manufacturing at the time the background scan error occurred.” 9 Revision 8 (18 January 2007) Fixed the byte numbering in the READ CAPACITY (16) parameter data table in 5.16.2. vi Working Draft SCSI Block Commands – 3 (SBC-3)
31 October 2012 T10/1799-D Revision 33 Based on the following E-mail from Mark Evans pointing out error in the incorporation of proposal 05-340r3 changes were made to table 111 and table 114 and a description of the DS bit and the SPF bit were placed under table 108: While going through SBC-3, I see that table 102 (parameter control bits for Background Scanning Status log parameter) looks goofy. I think it should look like table 194 in SAS. I'm making that change in our internal document and recommend that you make the change in SBC. Incorporated the following proposals: a) 06-479r1 - Mandate CAPACITY DATA HAS CHANGED unit attention; and b) 06-393r3 - On-disk bitmap support. 10 Revision 8a (18 January 2007) The ORWRITE CDB table title was fixed and the ORWRITE operation code in the CDB was corrected. 11 Revision 9 (22 March 2007) Based on the following 1/23/2007 E-mail from Mark Evans pointing out a duplicate entry between subclause 4.17 Protection information model and subclause 5.31 WRITE AND VERIFY (10) command. The duplicate wording that needs to be deleted is from 5.31 WRITE AND VERIFY (10) command and is: If the P_TYPE bit is set to one in the READ CAPACITY (16) parameter data (see 5.13), the device server shall terminate this command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID COMMAND OPERATION CODE. During the investigation of this more duplicate wording was found in subclause 5.38 WRITE SAME (16) command. This duplication wording that needs to be deleted is: If the P_TYPE bit is set to one in the READ CAPACITY (16) parameter data (see 5.13), the device server shall terminate the command with CHECK CONDITION status with the sense key set to ILLEGAL REQUEST and the additional sense code set to INVALID COMMAND OPERATION CODE In both cases the duplicate wording should have been removed as part of T10/05-156 revision 7. Based on the following 1/26/2007 E-mail from Rob Elliott editorial changes were made as recommended in the e-mail. The only recommend change not made was to change ORWRITE to ORWRITE (16). Instead all the ORWRITE (16)s were changed to ORWRITE. 1) On page 55, this text needs small caps and the table references need to be fixed: The device server shall: a) check protection information read from the medium based on the ORPROTECT field as described in tableyy2; and as described in table yy3. b) check protection information transferred from the data-out buffer based on the ORPROTECT field In table 3 (reservations), on page 29, and on page 30, ORWRITE s/b ORWRITE (16) In the table of tables on page xiii, the prevent field doesn't show up in small caps like the others. 2) 3) 4) On page 34 and 35, several of the equations are truncated on the left and right. The reason is the font size grew - the Equation format or character format is messed up on those lines. Based on the following 2/8/2007 emails from Dave Peterson and Rob Elliott pointing out a badly worded sentence that sentence was corrected. Dave Peterson: Sentence in question: Subclause 5.2.2.3 first paragraph, first sentence on physical page 52: “When the SI bit is set to one, the device server need not write the initialization pattern over the header and other header and other parts of the medium not previously accessible to the application client.” The extra “...and other header...” appears odd. Please clarify. Rob Elliott: I agree with David's fix. Working Draft SCSI Block Commands – 3 (SBC-3) vii
T10/1799-D Revision 33 31 October 2012 Based on the following email from Doug Gilbert received on 2/23/2007 I added in cross-references to the footnote in table 84. The cross-references were added to all the yes terms in the 3rd column. George, you should delete the spurious “and other header” words from the SI bit paragraph SBC-3. That was broken in sbc2r12 while incorporating editor's meeting comments to fix a parenthetical expression without an e.g. or i.e. In section 5.35 on WRITE LONG(10) there is table 84 which has a footnote “a”. It is hanging because there seems nothing in the main table it refers to. My guess is that it refers to the third column header which starts “More than one logical block...”. Incorporated the following proposals: a) 07-110r0 - Update Block Limits VPD Page for ORWRITE; and b) 07-113r0 - Maximum transfer sizes for XPWRITE XDWRITE XDREAD PRE-FETCH. 12 Revision 10 (17 May 2007) Incorporated the following proposals: a) 07-203r0 - SBC-3 SPC-4 Block Device Characteristics VPD page and medium rotation rate field; and b) 07-208r0 - SBC-3 Rename field in READ CAPACITY (16) parameter data. 13 Revision 11 (19 July 2007) All mode page format tables have been updated to include the SubPage Format (SPF) bit. Incorporated the following proposals: a) 07-257r1 - Prohibited needed as a keyword in SPC-4; b) 07-271r1 - SBC-3, Clarifications for Background Scan Results log page; c) 07-281r1 - SPC-4, SBC-3, #Except INQUIRY, REPORT LUNS, and REQUEST SENSE#; and d) 07-302r1 - SBC-3 WRITE LONG Additional Sense code option to support SAT-2. Based on the following email from Rob Elliott received on 5/16//2007: 1. SBC-3 uses both “medium access commands” (from changes made in the DIF area) and “medium access commands.” SBC-2 only used “medium access commands.” I changed all the “medium access commands” to “medium access commands”. As a result of 07-271 references to generic fields (e.g., OPERATION CODE field, PAGE CODE field, PAGE LENGTH field) were added under the tables where those fields were defined. 14 Revision 12 (11 November 2007) Incorporated the following proposals: a) 07-472r0 - Reporting nominal form factor; b) 07-447r1 - Read-Write Error Recovery clarifications; and c) 07-481r1 - Mention that DIF equals protection information. Made editorial changes based on the following email received from Rob Elliott on 7/24/2007 You added wording like this to many sections: “The OPERATION CODE field is defined in SPC-4 shall be set to the value defined in table 72." but “shall” needs to be “and shall”. I see a few that are broken, though: After table 81, it points to table 72. After table 91, it points to table 90. The wording for SPF bit in the mode pages: “A SubPage Format (SPF) bit set to zero indicates that the page_0 mode page format is being used (see SPC-4).” should probably be: viii Working Draft SCSI Block Commands – 3 (SBC-3)
分享到:
收藏