Working NCITS 333 Draft T10/1228-D: Information Technology - SCSI Multimedia Commands - 2 (MMC-2)

Download as pdf or txt
Download as pdf or txt
You are on page 1of 354

WORKING NCITS 333

DRAFT T10/1228-D
Revision – 11a
August 30, 1999

INFORMATION TECHNOLOGY -
SCSI Multimedia Commands – 2 (MMC-2)
This is a draft proposal of the National Committee on Interface Technology Standards (NCITS). NCITS is
accredited by, and approved under rules approved by, the American National Standards Institute (ANSI). As
such this is not a completed standard. The NCITS T10 Technical Committee may modify this document as a
result of comments received during public review and its approval as a standard. Use of the information
contained herein is at your own risk.
Permission is granted to members of NCITS, its technical committees, and their associated task groups to
reproduce this document for the purposes of NCITS standardization activities without further permission,
provided this notice is included. All other rights are reserved. Any commercial or for-profit replication or
republication is prohibited.

MMC-2 Technical Editor:


Ron Roberts
SIERRA-PAC TECHNOLOGY
PO Box 2389
Shingle Springs, CA 95682
Tel. (530) 677-5714
Fax (530) 677-1218
E-mail: [email protected]

Reference number
ISO/IEC ***** :199X
ANSI NCITS .333 :1999
Printed: August 16, 199X

i
BSR NCITS 333

POINTS OF CONTACT:
NCITS T10 Chair NCITS T10 Vice-Chair
John B. Lohmeyer George O. Penokie
LSI Logic Corp. IBM
4420 ArrowsWest Dr. Dept. 2B7
Colo. Springs, CO 80907-3444 3605 Highway 52 N.
Tel: (719) 533-7560 Rochester, MN 55901 USA
Fax: (719) 533-7183 Telephone: (507) 253-5208
Email: [email protected] Facsimile: (507) 253-2880
Email: [email protected]
NCITS Secretariat
NCITS Secretariat Telephone: 202-737-8888
1250 Eye Street, NW Suite 200 Facsimile: 202-638-4922
Washington, DC 20005 e-mail: [email protected]
T10 Reflector
Internet address for subscription to the T10 reflector: [email protected]
Internet address for distribution via T10 reflector: [email protected]
MMC-2 Reflector
Internet address for subscription to the MMC Reflector [email protected]
Internet address for distribution via MMC Reflector [email protected]
Document Distribution
Global Engineering Telephone: 303-792-2181 or
15 Inverness Way East 800-854-7179
Englewood, CO 80112-5704 Facsimile: 303-792-2192

ii
BSR NCITS 333

REVISION HISTORY
Revision 0.0 Initial draft of the document
Revision 1.0 Additional commands added to document
Revision 2.0 Document structure completed, added Features clause, added annex’s.
Revision 3.0 Added DVD commands, Annex P, Annex Q, and other document changes. No Change bars.
Revision 4.0 Added additional commands from Mt Fuji2 document.
Revision 5.0 Restructured document to current layout, and added other commands. Also included editorial
comments from working group meetings.
Revision 5.0B Includes new clause 5 Features and Parameters, added additional commands from Mt Fuji 3
ad hoc working group.
Revision 6.0 Clause 6.0 modified to include all commands defined to date. Clause 5.0 updated to reflect
March meeting.
Revision 7.0A New Clause 5, Clause 6 updated.
Revision 7.0C New CD model sub-clause, Corrections form June meeting
Revision 7.0D Contain revised CD model. New Annex D, other various corrections.
Revision 7.0E Added GET CONFIGURATION command, and new DVD model sub-clauses
Revision 8.0 Document for first letter ballot.
Revision 9.0 Contains revisions requested by letter ballot comments. New Annex C, D, E, F.
Revision 9.0A Modifications made from Fuji3 comparisons and includes more comment resolutions from
December working group.
Revision 9.0B Includes all comment resolutions and Mt Fuji3 comparisons known as of document date.
Revision 9.0C Includes embedded object updates and corrections. 1/23/99 review revision
Revision 9.0D Includes additional Mt Fuji3 revisions.
Revision 9.0E Includes ASC, ASCQ revisions and DVD-R changes. Also includes changes from January
1999 working group meetings.
Revision 10.0 Includes all Pioneer comments and other comment resolutions.
Revision 10A Incorporated ANSI editor comments/requests.

iii
BSR NCITS 333

THIS PAGE
IS
INTENTIONALLY BLANK

iv
BSR NCITS 333

BSR®
NCITS 333

for Information Technology –

SCSI Multimedia Commands – 2 (MMC-2)

Secretariat
Information Technology Industry Council

Abstract
This standard defines the SCSI command set extensions to access multimedia features for all classes of SCSI
devices. The applicable clauses of this standard when used in conjunction with the SCSI Primary Commands
specification, SCSI Block Commands, and other applicable command set documents pertaining to the subject
device class, define the full standard set of commands available for that device in the SCSI environment.

v
BSR NCITS 333

Approval of an American National Standard requires verification by ANSI


American that the requirements for due process, consensus and other criteria for
National approval have been met by the standards developer.
Standard 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 manufacturing, marketing, purchasing,
or using products, processes, or procedures not conforming to the
standards.
The American National Standards Institute does not develop standards and
in no circumstances 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 NOTICE: The developers of this standard have requested that holder’s of patents that
may be required for the implementation of this standard, disclose such patents to the publisher.
However, neither the developers nor the publisher has 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 and
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
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
1430 Broadway, New York, NY 10018
Copyright © 1998 by American National Standards Institute
All rights reserved.

No part of this publication may be reproduced in any


form, in an electronic retrival system or otherwise,
without prior written permission ITI, 1250 Eye Street NW,
Washington, DC 20005

Printed in the United States of America

vi
BSR NCITS 333

Table of Contents
1. Scope .................................................................................................................................. 1
2. References .......................................................................................................................... 1
2.1. Normative References......................................................................................................... 1
2.1.1. Approved references ........................................................................................................... 1
2.1.2. References under development .......................................................................................... 2
2.2. Other references ................................................................................................................. 2
3. Definitions, abbreviations and acronym .............................................................................. 3
3.1. Definitions of terms ............................................................................................................. 3
3.2. Conventions ........................................................................................................................ 6
3.3. Keywords............................................................................................................................. 6
4. C/DVD Models..................................................................................................................... 8
4.1. General................................................................................................................................ 8
4.1.1. CD address reporting formats (MSF bit) ............................................................................. 8
4.1.2. Logical Blocks ..................................................................................................................... 8
4.1.3. Data cache .......................................................................................................................... 9
4.1.4. RESETS .............................................................................................................................. 9
4.1.5. Error reporting ................................................................................................................... 10
4.1.6. Deferred Errors.................................................................................................................. 10
4.1.7. Removable medium .......................................................................................................... 11
4.2. CD Device Model .............................................................................................................. 13
4.2.1. Recorded CD Media Structure .......................................................................................... 13
4.2.2. Physical track topology - Multi-Session Disc .................................................................... 16
4.2.3. CD Audio error reporting ................................................................................................... 31
4.2.4. CD ready condition/not ready condition ............................................................................ 32
4.2.5. Sensing support for CD-audio commands. ....................................................................... 33
4.3. DVD Model ........................................................................................................................ 34
4.3.1. DVD Media Functionality................................................................................................... 34
4.3.2. Track Structure.................................................................................................................. 35
4.3.3. Recording for DVD-R ........................................................................................................ 41
4.3.4. ECC Block ......................................................................................................................... 41
4.3.5. Sector Configuration.......................................................................................................... 42
4.3.6. DVD Ready Condition/Not Ready Condition..................................................................... 49
4.3.7. DVD Copy Protection ........................................................................................................ 50
4.4. Changer Model.................................................................................................................. 55
4.4.1. Side definition.................................................................................................................... 55
4.4.2. Changer Addressing.......................................................................................................... 57
4.4.3. Automatic Load and Unload Operations ........................................................................... 57
4.4.4. Delayed Disc load operation ............................................................................................. 58
4.4.5. Prevent / Allow processing................................................................................................ 59
4.4.6. Error Reporting for Changers............................................................................................ 59

vii
BSR NCITS 333

5. Features and Profiles ........................................................................................................60


5.1. Introduction........................................................................................................................60
5.2. FEATURES .......................................................................................................................60
5.2.1. Version field.......................................................................................................................61
5.2.2. Persistent Bit .....................................................................................................................61
5.2.3. Current Bit .........................................................................................................................62
5.2.4. Additional Length Field ......................................................................................................62
5.2.5. Feature Codes...................................................................................................................62
5.3. Feature Definitions ............................................................................................................65
5.3.1. Profile List Feature (0000h) ...............................................................................................65
5.3.2. Core Feature (0001h) ........................................................................................................67
5.3.3. Morphing Feature (0002h).................................................................................................69
5.3.4. Removable Medium Feature (0003h)................................................................................70
5.3.5. Random Readable Feature (0010h)..................................................................................71
5.3.6. Multi-Read Feature (001Dh)..............................................................................................72
5.3.7. CD Read Feature (001Eh) ................................................................................................73
5.3.8. DVD Read Feature (001Fh) ..............................................................................................74
5.3.9. Random Writable Feature (0020h)....................................................................................74
5.3.10. Incremental Streaming Writable (0021h)...........................................................................76
5.3.11. Sector Erasable Feature (0022h) ......................................................................................77
5.3.12. Formattable Feature (0023h) ............................................................................................78
5.3.13. Defect Management Feature (0024h) ...............................................................................78
5.3.14. Write Once Feature (0025h)..............................................................................................79
5.3.15. Restricted Overwrite Feature (0026h) ...............................................................................80
5.3.16. CD Track at Once Feature (002Dh) ..................................................................................81
5.3.17. CD Mastering (Session at Once) Feature (002Eh) ...........................................................82
5.3.18. DVD-R Write Feature (002Fh)...........................................................................................84
5.3.19. Power Management Feature (0100h) ...............................................................................85
5.3.20. Embedded Changer Feature (0102h) ...............................................................................85
5.3.21. CD Audio External Play Feature (0103h) ..........................................................................86
5.3.22. Microcode Upgrade Feature (0104h) ................................................................................88
5.3.23. Time-Out Feature (0105h).................................................................................................88
5.3.24. DVD-CSS Feature (0106h) ...............................................................................................89
5.3.25. Real Time Streaming Feature (0107h)..............................................................................90
5.3.26. Feature 0108h: Logical Unit serial number .......................................................................90
5.3.27. Feature 010Ah: Disc Control Blocks ................................................................................91
5.4. Profile Definitions...............................................................................................................92
5.4.1. Profile 2: Removable disk..................................................................................................92
5.4.2. Profile 3: Magneto-Optical .................................................................................................93
5.4.3. Profile 4: Magneto-Optical Write Once.............................................................................93
5.4.4. Profile 5h: AS-MO..............................................................................................................94
5.4.5. Profile 8: CD-ROM.............................................................................................................94

viii
BSR NCITS 333

5.4.6. Profile 9: CD-R ................................................................................................................. 95


5.4.7. Profile Ah: CD-RW ............................................................................................................ 96
5.4.8. Profile 10h: DVD-ROM ...................................................................................................... 96
5.4.9. Profile 11h: DVD-R........................................................................................................... 97
5.4.10. Profile 12h: DVD Re-Writable ........................................................................................... 97
5.4.11. Profile FFFFh: Logical Units Not Conforming to a Standard Profile ................................. 98
5.5. Parameters for all Logical Unit types ................................................................................ 99
5.5.1. Mode Pages ...................................................................................................................... 99
5.5.2. Mode Select/Sense Parameters ..................................................................................... 100
5.5.3. Read/Write Error Recovery Parameters Page (Page Code 01h) ................................... 102
5.5.4. Write Parameters Mode Page (Page Code 05h) ............................................................ 110
5.5.5. CD device parameters (Page Code 0Dh) ....................................................................... 115
5.5.6. CD Audio Control Parameters Page (Page Code 0Eh) .................................................. 116
5.5.7. Power Condition Page (Page Code 1Ah) ....................................................................... 118
5.5.8. Fault / Failure Reporting Control Page............................................................................ 119
5.5.9. Time-out and Protect Page ............................................................................................. 121
5.5.10. Capabilities and Mechanical Status Page...................................................................... 122
6. Command Descriptions for All Logical Units ................................................................... 126
6.1. C/DVD Commands.......................................................................................................... 126
6.1.1. BLANK Command ........................................................................................................... 128
6.1.2. CLOSE TRACK/SESSION Command ............................................................................ 131
6.1.3. FORMAT UNIT command............................................................................................... 134
6.1.4. GET CONFIGURATION Command ................................................................................ 141
6.1.5. GET EVENT/STATUS NOTIFICATION .......................................................................... 145
6.1.6. GET PERFORMANCE .................................................................................................... 156
6.1.7. LOAD/UNLOAD MEDIUM Command ............................................................................. 159
6.1.8. MECHANISM STATUS Command ................................................................................. 161
6.1.9. PAUSE/RESUME Command .......................................................................................... 164
6.1.10. PLAY AUDIO (10) Command.......................................................................................... 165
6.1.11. PLAY AUDIO (12) Command.......................................................................................... 167
6.1.12. PLAY AUDIO MSF Command ........................................................................................ 168
6.1.13. PLAY CD Command (Obsolete) .................................................................................... 169
6.1.14. READ BUFFER CAPACITY Command (Obsolete) ........................................................ 171
6.1.15. READ CD Command ...................................................................................................... 173
6.1.16. READ CD MSF Command.............................................................................................. 183
6.1.17. READ CAPACITY Command.......................................................................................... 185
6.1.18. READ DISC INFORMATION Command......................................................................... 187
6.1.19. READ DVD STRUCTURE Command............................................................................ 192
6.1.20. READ FORMAT CAPACITIES........................................................................................ 209
6.1.21. READ HEADER Command (Obsolete)........................................................................... 214
6.1.22. READ MASTER CUE Command (Obsolete) ................................................................. 216

ix
BSR NCITS 333

6.1.23. READ SUB-CHANNEL Command ..................................................................................218


6.1.24. READ TOC/PMA/ATIP Command ..................................................................................225
6.1.25. TOC/PMA/ATIP Response Data Format 0100b..............................................................232
6.1.26. READ TRACK INFORMATION Command .....................................................................235
6.1.27. REPAIR TRACK Command (Obsolete) ..........................................................................242
6.1.28. REPORT KEY Command................................................................................................243
6.1.29. RESERVE TRACK Command ........................................................................................249
6.1.30. SCAN Command .............................................................................................................252
6.1.31. SEND CUE SHEET Command .......................................................................................255
6.1.32. SEND DVD STRUCTURE Command .............................................................................264
6.1.33. SEND EVENT Command................................................................................................268
6.1.34. SEND KEY Command.....................................................................................................271
6.1.35. SEND OPC INFORMATION Command..........................................................................274
6.1.36. SET CD SPEED Command (Obsolete)...........................................................................276
6.1.37. SET READ AHEAD Command .......................................................................................277
6.1.38. SET STREAMING Command .........................................................................................278
6.1.39. STOP PLAY/SCAN Command........................................................................................281
6.1.40. SYNCHRONIZE CACHE Command ...............................................................................283
6.1.41. WRITE (10) Command....................................................................................................284
6.1.42. WRITE AND VERIFY (10) Command .............................................................................287
Annex A Additional Sense Codes for CD (normative) ..............................................................288
A.1. Error Reporting ................................................................................................................288
Annex B ATAPI Compliance (normative)..................................................................................300
B.1. Introduction......................................................................................................................300
B.2. General ............................................................................................................................300
B.2.1. Terms ..............................................................................................................................300
B.2.2. Supported Block Sizes ....................................................................................................300
B.2.3. CD Audio error reporting .................................................................................................300
B.2.4. Multi-Initiator Environment...............................................................................................300
B.2.5. Command Packet Padding..............................................................................................300
B.3. ATAPI Commands Requirements ...................................................................................302
Annex C Requirements for SBP-2 Compliance (Normative) ....................................................304
C.1 SBP-2 Definitions ............................................................................................................304
C.2 SBP-2 Storage Model......................................................................................................304
C.2.1 Model configuration .........................................................................................................304
C.2.2 Model operation...............................................................................................................305
C.2.3 Reconnect /Power reset support (normative)..................................................................306
C.3 Configuration ROM support (normative) ........................................................................306
C.3.1 Unit Directory - Command_Set_Spec_ID........................................................................306
C.3.2 Unit Directory - Command_Set .......................................................................................306
C.3.3 Unit Directory - Command_Set_Revision........................................................................307

x
BSR NCITS 333

C.3.4 Unit Directory - Logical_Unit_Number............................................................................. 307


C.4 Login support (normative) .............................................................................................. 307
C.5 Security support (normative) .......................................................................................... 307
C.6 Status block support (normative) ................................................................................... 308
C.7 Unsolicited Status support (normative) .......................................................................... 308
C.8 Unit attention condition.................................................................................................... 308
Annex D Requirements for Fibre Channel Protocol for SCSI Compliance (Normative)........... 309
D.1. Introduction...................................................................................................................... 309
D.2. General............................................................................................................................ 309
D.2.1. Terms .............................................................................................................................. 309
D.2.2. Information Units ............................................................................................................. 309
D.2.3. Process login/logout ........................................................................................................ 309
D.2.4. Sense Information ........................................................................................................... 309
D.2.5. Reset Mapping ................................................................................................................ 309
Annex E SCSI Implementation Notes (Normative)................................................................... 310
E.1. Introduction...................................................................................................................... 310
E.2. SCSI Signal Utilization .................................................................................................... 310
E.3. SCSI Compatibility .......................................................................................................... 310
E.3.1 Additions to the SCSI Standard ...................................................................................... 310
E.4. Reset Functionality.......................................................................................................... 310
E.4.1 Power On Reset .............................................................................................................. 310
E.4.2 Hard Reset ...................................................................................................................... 310
E.4.3. TARGET RESET task management function ................................................................. 310
E.4.4 Device Reset....................................................................................................................... 311
E.4.5 Power Management and Device Reset in SCSI ............................................................. 311
Annex F Power Management Functions (Normative) .............................................................. 312
F.1. Power Management States............................................................................................. 312
F.2. Power State Transitions .................................................................................................. 313
F.3. Power Management State Diagram ................................................................................ 314
F.4. Power Management Timers ............................................................................................ 315
F.5. Standby Timer ................................................................................................................. 316
F.6. Power Management Status Reporting ........................................................................... 319
Annex G SCSI Command Listings (Informative)....................................................................... 320
G.1 List of SCSI Commands.................................................................................................. 320
Annex H Implementation of Features (Informative) .................................................................. 321
H.1. What’s a Feature? ........................................................................................................... 321
H.2. History ............................................................................................................................. 321
H.3. Implementation of Features ............................................................................................ 322
H.4. Compatibility.................................................................................................................... 322
H.5. Summary ......................................................................................................................... 323
Annex I MMC Command Listings (Informative)............................................................................ 324

xi
BSR NCITS 333

Annex J CD-TEXT Format in the Lead-in Area (informative)...................................................330


J.1. General ............................................................................................................................330

List of Tables
Table 1 - MSF Address format .........................................................................................................8
Table 2 - Sense key responses for error reporting.........................................................................10
Table 3 – Small Frame layout and definition ..................................................................................13
Table 4 – CD Frame Structure from Small Frames........................................................................14
Table 5 – Sub-Channel byte layout ................................................................................................14
Table 6 – P-Sub-Channel Layout ...................................................................................................15
Table 7 – Q Sub-channel record format .........................................................................................17
Table 8 - ISRC 6 bit character codes (in hexadecimal)..................................................................19
Table 9 – Sync pattern block header..............................................................................................23
Table 10 – Mode Zero Data Format ...............................................................................................23
Table 11 – Mode 1 Data Format ....................................................................................................24
Table 12 – Mode 2 formless block format ......................................................................................24
Table 13 – Mode 2 form 1data format ............................................................................................25
Table 14 – Mode 2 form 1 sub-header format................................................................................25
Table 15 – Mode 2 form 2 data format ...........................................................................................26
Table 16 – ATIP format ..................................................................................................................26
Table 17 – Block Identifier bits .......................................................................................................29
Table 18 – Track Descriptor Block (TDB) header ..........................................................................30
Table 19 – Track Descriptor Unit (TDU) Format ............................................................................30
Table 20 - Not Ready Error Reporting (by command) ...................................................................32
Table 20 (cont.) - Not Ready Error Reporting (by command) ........................................................33
Table 21 – Data Field Number for DVD Media...............................................................................44
Table 22 – Control Structure of Control Data Block .......................................................................46
Table 23 – Common Part of Physical Format Information .............................................................46
Table 24 – Book Type Field............................................................................................................47
Table 25 – DVD-ROM Unique Part of Physical Format Information ..............................................47
Table 26 – DVD-R Unique Part of Physical Format Information ....................................................47
Table 27 – DVD-RAM Unique Part of Physical Format Information ..............................................47
Table 28 – DVD+RW Unique Part of Physical Format...................................................................48
Table 29 – Data Area Allocation Definition.....................................................................................49
Table 30 - Commands that may cause delayed loads to occur .....................................................58
Table 31 - Commands that will cause delayed loads to occur .......................................................58
Table 32 - Commands that should not cause delayed loads to occur ...........................................59
Table 33 - Error Conditions and Sense Keys for Changer Mechanisms .......................................59
Table 34 - GET CONFIGURATION response data format ............................................................60
Table 35 - Feature Header .............................................................................................................61
Table 36 - Feature Descriptor generic format ................................................................................61
Table 37 - Feature Codes...............................................................................................................63
Table 38 - Profile List Descriptor Format........................................................................................65
Table 39 - Profile Descriptor...........................................................................................................65
Table 40 - Profile List......................................................................................................................66
Table 41 - Core Commands ...........................................................................................................67
Table 42 - Core Feature Descriptor Format ...................................................................................68
Table 43 - Physical Interface Standard ..........................................................................................68
Table 44 – Morphing Feature Commands......................................................................................69
Table 45 - Morphing Descriptor Format .........................................................................................69
Table 46 - Removable Medium Commands...................................................................................70
Table 47 - Removable Medium Descriptor Format ........................................................................70
Table 48 - Loading Mechanism Type .............................................................................................71
Table 49 - Random Readable Feature...........................................................................................71
Table 50 - Random Readable Descriptor Format ..........................................................................72

xii
BSR NCITS 333

Table 51 – Multi-Read Feature Commands ................................................................................... 72


Table 52 - Multi-Read Descriptor Format....................................................................................... 73
Table 53 - CD READ Commands .................................................................................................. 73
Table 54 - CD Read Descriptor Format ......................................................................................... 73
Table 55 - DVD READ Feature Commands .................................................................................. 74
Table 56 - DVD Read Descriptor Format ....................................................................................... 74
Table 57 - Random Writable Block Device Commands................................................................. 75
Table 58 - Random Writable Descriptor Format ............................................................................ 75
Table 59 – Incremental Streaming Commands ............................................................................. 76
Table 60 – Incremental Streaming Parameters ............................................................................. 76
Table 61 - Incremental Streaming Writable Descriptor Format ..................................................... 76
Table 62 – Sector Erasable Feature Commands........................................................................... 77
Table 63 - Sector Erasable............................................................................................................. 77
Table 64 - Formattable Feature Commands .................................................................................. 78
Table 65 - Formattable Descriptor Format ..................................................................................... 78
Table 66 – Defect Management Feature Parameters.................................................................... 78
Table 67 - Defect Management Descriptor Format........................................................................ 79
Table 68 – Write Once Feature Commands .................................................................................. 79
Table 69 – Write Once Feature Parameters .................................................................................. 79
Table 70 - Write Once Descriptor Format ...................................................................................... 80
Table 71 - Restricted Overwrite Commands .................................................................................. 80
Table 72 – Restricted Overwrite Parameter................................................................................... 81
Table 73 - Restricted Overwrite Descriptor Format ....................................................................... 81
Table 74 – CD Track at Once Feature Commands ....................................................................... 81
Table 75 – CD Track at Once Feature Parameters ....................................................................... 82
Table 76 - CD Track at Once Descriptor Format ........................................................................... 82
Table 77 – CD Mastering (Session at Once) Feature Commands ................................................ 82
Table 78 – CD Mastering (Session at Once) Parameter ............................................................... 83
Table 79 – CD Mastering (RAW) Feature Commands .................................................................. 83
Table 80 – CD Mastering (RAW) Parameters................................................................................ 83
Table 81 - CD Mastering Feature Descriptor ................................................................................. 83
Table 82 - DVD-R Write Commands.............................................................................................. 84
Table 83 – DVD-R Write Feature Parameters ............................................................................... 84
Table 84 - DVD-R Write Feature Descriptor Format...................................................................... 84
Table 87 – Power Management Descriptor Format ....................................................................... 85
Table 88 - Embedded Changer Command .................................................................................... 86
Table 89 - Embedded Changer Descriptor Format........................................................................ 86
Table 90 - CD-Audio External Play Feature Commands ............................................................... 87
Table 91 - CD-Audio External Output Parameters........................................................................ 87
Table 92 - CD Audio External Play Descriptor Format .................................................................. 87
Table 93 - Microcode Upgrade Command ..................................................................................... 88
Table 94 - Microcode Upgrade Descriptor Format......................................................................... 88
Table 95 – Time-Out Feature Parameter ....................................................................................... 88
Table 96 - Time-Out Descriptor Format ......................................................................................... 89
Table 97 - DVD-CSS Feature Commands ..................................................................................... 89
Table 98 - DVD-CSS Feature Descriptor Format .......................................................................... 89
Table 99 – Real Time Streaming Feature Commands .................................................................. 90
Table 100 - Real-Time Streaming Feature Descriptor Format ...................................................... 90
Table 101 – Logical Unit serial number Feature Descriptor........................................................... 90
Table 102 – Disc Control Blocks Feature Commands ................................................................... 91
Table 103 – Disc Control Blocks Feature Descriptor ..................................................................... 91
Table 104 – Mandatory Features for Removable Disks................................................................. 92
Table 105 - Mandatory Features for Magneto-Optical Erasable.................................................... 93
Table 106 - Mandatory Features for Magneto-Optical Write Once................................................ 93
Table 107 – Mandatory Features for AS-MO ................................................................................. 94
Table 108 – Mandatory Features for CD-ROM .............................................................................. 94

xiii
BSR NCITS 333

Table 109 - Mandatory features for CD-R ......................................................................................95


Table 110 - Mandatory features for CD-RW ..................................................................................96
Table 111 – Mandatory Features for DVD-ROM............................................................................96
Table 112 - Mandatory Features for DVD-R ..................................................................................97
Table 113 – Mandatory Features for DVD Re-Writable .................................................................98
Table 114 - Mandatory Features for Logical Units Not Conforming to a Standard Profile.............98
Table 115 - Mode Page Codes for C/DVD .....................................................................................99
Table 116 - Mode Parameter List.................................................................................................100
Table 117 - Mode Page Format ...................................................................................................100
Table 118 - Mode Parameter Header...........................................................................................101
Table 119 - Block Descriptor Block Sizes for Read .....................................................................101
Table 120 - Read/Write Error Recovery Parameters Page Format .............................................102
Table 121 – CD-ROM Devices, error recovery description..........................................................104
Table 121 – CD-ROM Devices, error recovery description (cont.)..............................................106
Table 121 – CD-ROM Devices, error recovery description (cont.)...............................................107
Table 122 – DVD Devices, Error Recovery Description...............................................................108
Table 123 - Write Parameters Mode Page...................................................................................111
Table 124 - Write Type Field ........................................................................................................112
Table 125 - Multi-session Field Definition ....................................................................................112
Table 126 - Data Block Type Codes ............................................................................................113
Table 127 - Session Format Codes..............................................................................................114
Table 128 - CD Parameters page ................................................................................................115
Table 129 - Inactivity timer multiplier values ................................................................................115
Table 130 - CD Audio Control Mode Page Format ......................................................................116
Table 131 - CDDA Output Port Channel Selection Codes...........................................................116
Table 132 - Attenuation Levels for Audio .....................................................................................117
Table 133 - Power Condition Mode Page Format........................................................................118
Table 134 - Fault/ Failure Reporting Control Page ......................................................................119
Table 135 - Method of Reporting Fault/Failure Reporting Field ...................................................120
Table 136 - Time-out & Protect Page...........................................................................................121
Table 137 - CD Capabilities and Mechanical Status Page ..........................................................122
Table 138 – Loading Mechanism Type ........................................................................................124
Table 139 - Commands Specific to C/DVD Devices ....................................................................126
Table 139 - Commands Specific to C/DVD Devices (cont.)........................................................127
Table 140 - BLANK Command Descriptor Block .........................................................................128
Table 141 - Blanking Types..........................................................................................................129
Table 142 - Recommended errors for BLANK Command............................................................130
Table 143 - CLOSE TRACK/SESSION Command Descriptor Block...........................................131
Table 144 - Session and Track Bits Definitions ...........................................................................132
Table 145 - Recommended errors for CLOSE TRACK/SESSION Command.............................133
Table 146 - Format Unit Command..............................................................................................134
Table 147 – DVD-RAM Defect List Handling ...............................................................................134
Table 148 - Format Unit Parameter List .......................................................................................135
Table 149 - Format List Header ...................................................................................................136
Table 150 - Initialization Pattern Descriptor .................................................................................137
Table 151 – IP Modifier Field........................................................................................................137
Table 152 – Initialization Pattern Type .........................................................................................137
Table 153 - CD-RW Format Descriptor ........................................................................................138
Table 154 – Format Code 001b Format Descriptor .....................................................................139
Table 155 - Recommended errors for FORMAT UNIT Command...............................................140
Table 156 - GET CONFIGURATION Command Descriptor Block ..............................................141
Table 157 - RT Field definition .....................................................................................................141
Table 158 - GET CONFIGURATION response data format ........................................................142
Table 159 - Feature Header .........................................................................................................142
Table 160 - Feature Descriptor generic format ............................................................................143
Table 161 – Recommended Errors for GET CONFIGURATION Command. ..............................144

xiv
BSR NCITS 333

Table 162 - GET EVENT/STATUS NOTIFICATION Command .................................................. 145


Table 163 - Notification Class Request........................................................................................ 146
Table 164 - Event Status Notification Response ......................................................................... 146
Table 165 - Event Header Return Data........................................................................................ 146
Table 166 – Notification Class Field............................................................................................. 147
Table 167 - Operational Change/Notification Returned Data ...................................................... 147
Table 168 – Operational Status Response .................................................................................. 147
Table 169 – Operational Status Format ....................................................................................... 148
Table 170 - Operational Request/Report Format......................................................................... 148
Table 171 - Power Management Status Returned Data .............................................................. 148
Table 172 - Power Event Field..................................................................................................... 149
Table 173 - Power Status Field.................................................................................................... 149
Table 174 – External Request Descriptor .................................................................................... 149
Table 175 – External Request Event Format............................................................................... 150
Table 176 – External Request Status Codes ............................................................................... 150
Table 177 – External Request Codes .......................................................................................... 151
Table 178 - Media Event Descriptor............................................................................................. 151
Table 179 – Media Event Format................................................................................................. 152
Table 180 - Media Status Byte Definition..................................................................................... 152
Table 181 – Multiple Initiator Descriptor....................................................................................... 152
Table 182 – Multiple Initiator Event Format ................................................................................. 153
Table 183 – Multiple Initiator Status Codes ................................................................................. 153
Table 184 – Multiple Initiator Codes............................................................................................. 153
Table 185 - Device Busy Event Descriptor .................................................................................. 154
Table 186 - Device Busy Event Format ....................................................................................... 154
Table 187 - Device Busy Status Format ...................................................................................... 154
Table 188 – Recommended Errors for GET EVENT/STATUS NOTIFICATION Command........ 155
Table 189 – GET PERFORMANCE Command Descriptor Block................................................ 156
Table 190 – Performance response format ................................................................................. 156
Table 191 – Performance Header................................................................................................ 157
Table 192 – Performance Descriptor – Nominal Performance .................................................... 157
Table 193 – Performance Descriptor - Exceptions ...................................................................... 158
Table 194 - Recommended errors for GET PERFORMANCE command ................................... 158
Table 195 - LOAD/UNLOAD MEDIUM command........................................................................ 159
Table 196 - Load/Unload Operations ........................................................................................... 159
Table 197 - Recommended errors for LOAD/UNLOAD MEDIUM operation ............................... 160
Table 198 - MECHANISM STATUS Command Descriptor Block................................................ 161
Table 199 - Mechanism Status Parameter List ............................................................................ 161
Table 200 - Mechanism Status Header........................................................................................ 162
Table 201 - Changer State Field .................................................................................................. 162
Table 202 - Mechanism State Field ............................................................................................. 162
Table 203 - Slot Table Response Format .................................................................................... 163
Table 204 - Recommended errors for Mechanism Status command .......................................... 163
Table 205 - PAUSE/RESUME Command Descriptor Block ........................................................ 164
Table 206 - Recommended errors for PAUSE/RESUME command ........................................... 164
Table 207 - PLAY AUDIO(10) Command Descriptor Block ......................................................... 165
Table 208 - Recommended errors for PLAY AUDIO (10) Command .......................................... 166
Table 209 - PLAY AUDIO (12) Command Descriptor Block ........................................................ 167
Table 210 - Recommended errors for PLAY AUDIO(12) Command ........................................... 167
Table 211 - PLAY AUDIO MSF Command Descriptor Block....................................................... 168
Table 212 - Recommended errors for PLAY AUDIO MSF Command......................................... 168
Table 213 - PLAY CD Command Descriptor Block...................................................................... 169
Table 214 - PLAY CD Field definition .......................................................................................... 170
Table 215 - Recommended errors PLAY CD Command ............................................................. 170
Table 216 - READ BUFFER CAPACITY Command Descriptor Block ........................................ 171
Table 217 - READ BUFFER CAPACITY data.............................................................................. 171

xv
BSR NCITS 333

Table 218 - Recommended errors for READ BUFFER CAPACITY Command...........................172


Table 219 - READ CD Command Descriptor Block .....................................................................173
Table 220 - Expected Sector type field bit definitions ..................................................................174
Table 221 - Header Code field definition......................................................................................174
Table 222 - READ CD, Error field definition .................................................................................175
Table 223 - READ CD, Sub-channel Data Selection Field definition...........................................175
Table 224 - Formatted Q Sub-channel response data.................................................................176
Table 225 - Number of Bytes Returned Based on Data Selection Field......................................177
Table 226 - CD-DA (Digital Audio) Data Block Format ................................................................179
Table 227 - P-W RAW data format...............................................................................................179
Table 228 - P-W Data de-interleaved and error corrected ...........................................................180
Table 229 - Sub-channel R-W: Allowed mode/item combinations ...............................................182
Table 230 - Recommended errors for READ CD command ........................................................182
Table 231 - READ CD MSF Command Descriptor Block ............................................................183
Table 232 - Recommended errors for READ CD MSF Command ..............................................184
Table 233 - READ CAPACITY Command Descriptor Block ........................................................185
Table 234 - READ CAPACITY Response Data format ................................................................185
Table 235 - Recommended errors for READ CAPACITY Command ..........................................186
Table 236 - READ DISC INFORMATION Command Descriptor Block .......................................187
Table 237 - Disc Information Block ..............................................................................................188
Table 238 - Disc Status ................................................................................................................189
Table 239 - State of Last Session ................................................................................................189
Table 240 - Disc Type Field - PMA ..............................................................................................190
Table 241 - OPC Table Entry .......................................................................................................191
Table 242 - Recommended errors for READ DISC INFORMATION Command .........................191
Table 243 - READ DVD STRUCTURE Command.......................................................................192
Table 244 - Format Code definitions for READ DVD STRUCTURE command...........................193
Table 245 - READ DVD STRUCTURE Data Format (Format field = 00h)...................................194
Table 246 - Layer Descriptor(s)....................................................................................................194
Table 247 – Book Type Field........................................................................................................195
Table 248 – Minimum Rate Field .................................................................................................195
Table 249 – Layer Type Field.......................................................................................................195
Table 250 – Linear Density Field..................................................................................................196
Table 251 – Track Density Field...................................................................................................196
Table 252 – Starting Physical Sector Number of Main Data Field ...............................................196
Table 253 - READ DVD STRUCTURE Data Format (Format field = 01h)...................................197
Table 254 - READ DVD STRUCTURE Data Format (Format field = 02h)...................................197
Table 255 - READ DVD STRUCTURE Data Format (Format field =03h)....................................198
Table 256 - READ DVD STRUCTURE Data Format (Format field = 04h)...................................198
Table 257 - READ DVD STRUCTURE Data Format (Format field = 05h)...................................199
Table 258 - READ DVD STRUCTURE Data Format (Format field = 08h)...................................199
Table 259 - READ DVD STRUCTURE Data Format (Format field = 0Ch) ..................................200
Table 260 - READ DVD STRUCTURE Data Format (Format field = 0Dh) ..................................201
Table 261 - READ DVD STRUCTURE Data Format (Format field = 0Eh) ..................................202
Table 261 - READ DVD STRUCTURE Data Format (Format field = 0Eh) cont. .........................203
Table 262 - READ DVD STRUCTURE Data Format (Format field = 0Fh) ..................................204
Table 263 – Content Descriptor ...................................................................................................205
Table 264 - READ DVD STRUCTURE Data Format (Format field = 30h)...................................205
Table 265 – Generic Disc Control Block ......................................................................................205
Table 266 – Unknown Content Descriptor Actions ......................................................................206
Table 267 – Disc Control Block (FFFFFFFFh) .............................................................................206
Table 267 – Disc Control Block (FFFFFFFFh) cont. ....................................................................207
Table 268 - READ DVD STRUCTURE Data Format (Format field = FFh) ..................................207
Table 269 – Structure List Entry...................................................................................................208
Table 270 - Recommended errors for READ DVD STRUCTURE command ..............................208
Table 271 – READ FORMAT CAPACITIES Command Descriptor Block....................................209

xvi
BSR NCITS 333

Table 272 – READ FORMAT CAPACITIES Data Format ........................................................... 209


Table 273 – Capacity List Header................................................................................................ 210
Table 274 – Current/Maximum Capacity Descriptor .................................................................... 210
Table 275 – Descriptor Types ...................................................................................................... 210
Table 276 – Formattable Capacity Descriptor(s) ......................................................................... 211
Table 277 – Format Type ............................................................................................................. 212
Table 278 – Returned Current/Maximum Descriptor for Combination of Logical Unit and Media213
Table 279 - Recommended errors for READ FORMAT CAPACITIES command ....................... 213
Table 280 - READ HEADER Command Descriptor Block ........................................................... 214
Table 281 - READ HEADER LBA data format............................................................................. 214
Table 282 - CD Data Mode field................................................................................................... 215
Table 283 - READ HEADER MSF data format ............................................................................ 215
Table 284 - Recommended errors for READ HEADER command.............................................. 215
Table 285 - READ MASTER CUE Command Descriptor Block .................................................. 216
Table 286 - Sheet Number Values............................................................................................... 216
Table 287 - Master CD response data format.............................................................................. 216
Table 288 - Recommended errors for READ MASTER CUE Command .................................... 217
Table 289 - READ SUB-CHANNEL Command Descriptor Block ................................................ 218
Table 290 - Sub-channel parameter list codes ............................................................................ 218
Table 291 - Sub-Q Channel Data Header Format ....................................................................... 219
Table 293 - CD current position data format................................................................................ 220
Table 294 - ADR Q Sub-channel field.......................................................................................... 220
Table 295 - Q Sub-channel control field....................................................................................... 220
Table 296 - Media Catalog Number data format.......................................................................... 222
Table 297 - MCN Format of Data Returned ................................................................................. 222
Table 298 - Track International Standard Recording Code data format ...................................... 223
Table 299 - ISRC Format of Data Returned................................................................................. 223
Table 300 – ISRC Translation...................................................................................................... 224
Table 301 - Recommended errors for READ SUB-CHANNEL command ................................... 224
Table 302 - READ TOC/PMA/ATIP Command Descriptor Block ................................................ 225
Table 303 - Format Field .............................................................................................................. 226
Table 304 - READ TOC/PMA/ATIP parameter list, general definition ......................................... 227
Table 305 - READ TOC/PMA/ATIP response data (Format = 0000b)......................................... 227
Table 306 - READ TOC/PMA/ATIP response data (Format = 0001b)......................................... 228
Table 307 - READ TOC/PMA/ATIP response data (Format = 0010b)......................................... 229
Table 308 - TOC Track Descriptor Format, Q Sub-channel ........................................................ 230
Table 309 - POINT Field .............................................................................................................. 230
Table 310 - Disc Type Byte Format ............................................................................................. 231
Table 311 - READ TOC/PMA/ATIP response data (Format = 0011b)......................................... 231
Table 312 - READ TOC/PMA/ATIP response data (Format = 0100b)......................................... 232
Table 313 - Lowest CLV Recording Speeds ................................................................................ 233
Table 314 - Highest CLV Recording Speeds ............................................................................... 233
Table 315 - READ TOC/PMA/ATIP response data (With Format Field = 0101b ) ...................... 234
Table 316 - Recommended errors for READ TOC/PMA/ATIP Command................................... 234
Table 317 - READ TRACK INFORMATION Command Descriptor Block ................................... 235
Table 318 – LBA/Track/Session Number Field definition ............................................................ 235
Table 319 - Track Information Block ............................................................................................ 236
Table 320 - Write Parameter Restrictions due to Track State ..................................................... 238
Table 321 - Track Status Indications............................................................................................ 239
Table 322 - Data Mode................................................................................................................. 239
Table 323 - Next Writable Address Definition .............................................................................. 240
Table 324 - Recommended errors for READ TRACK INFORMATION Command ..................... 241
Table 325 - REPAIR TRACK Command Descriptor Block .......................................................... 242
Table 326 - Recommended errors for REPAIR TRACK Command ............................................ 242
Table 327 - REPORT KEY Command Descriptor Block.............................................................. 243
Table 328 - Key Format Code definitions for REPORT KEY Command ..................................... 244

xvii
BSR NCITS 333

Table 329 - REPORT KEY Data Format (With KEY Format = 000000b) ....................................244
Table 330 - REPORT KEY Data Format (With KEY Format = 000001b) ....................................245
Table 331 - REPORT KEY Data Format (With KEY Format = 000010b) ....................................245
Table 332 - REPORT KEY Data Format (With KEY Format = 000100b) ....................................246
Table 333 - REPORT KEY Data Format (With KEY Format = 000101b) ....................................247
Table 334 - REPORT KEY Data Format (With KEY Format = 001000b) ....................................247
Table 335 – Type Code Field Definitions .....................................................................................247
Table 336 – RPC Scheme field Definition ....................................................................................248
Table 337 - Recommended errors for REPORT KEY Command ................................................248
Table 338 - RESERVE TRACK Command Descriptor Block.......................................................249
Table 339 - Track reservation sizing (CD)....................................................................................249
Table 340 - TRACK reservation sizing (DVD) ..............................................................................250
Table 341 - Recommended errors for RESERVE TRACK Command.........................................250
Table 342 - SCAN Command Descriptor Block ...........................................................................252
Table 343 - Type field bit definitions.............................................................................................253
Table 344 - Scan starting address field format-logical blocks......................................................253
Table 345 - Scan Starting Address format - MIN, SEC, FRAME format......................................253
Table 346 - Scan Starting Address Format-Track Number (TNO)...............................................253
Table 347 - Recommended errors for SCAN operation ...............................................................254
Table 348 - SEND CUE SHEET Command Descriptor Block......................................................255
Table 349 - Cue Sheet format ......................................................................................................255
Table 350 - Sample CUE SHEET ................................................................................................256
Table 351 - Cue Sheet Data.........................................................................................................257
Table 352 - CTL/ADR byte ...........................................................................................................257
Table 353 - Control Field ..............................................................................................................257
Table 354 - ADR Field ..................................................................................................................258
Table 355 - Data Form Byte .........................................................................................................258
Table 356 - SCMS Byte................................................................................................................258
Table 357 - CD-DA Data format (1 Sample) ................................................................................259
Table 358 - Data Form of Sub-channel ........................................................................................261
Table 359 – Media Catalog Number (N1..N13)............................................................................262
Table 360 - ISRC (I1..I12) ............................................................................................................262
Table 361 - Recommended Sense Key, ASC and ASCQ SEND CUE SHEET Command .........263
Table 362 – SEND DVD STRUCTURE Command Descriptor Block ..........................................264
Table 363 – Format Field Definition .............................................................................................264
Table 364 – SEND DVD STRUCTURE Data Format (Format Code = 04h)................................265
Table 365 - SEND DVD STRUCTURE Data Format (Format Code = 05h).................................265
Table 366 - SEND DVD STRUCTURE Data Format (Format Code = 0Fh) ................................266
Table 367 - SEND DVD STRUCTURE Data Format (Format Code = 30h).................................267
Table 368 - Recommended errors for SEND DVD STRUCTURE Command .............................267
Table 369 – SEND EVENT Command Descriptor Block .............................................................268
Table 370 – Event Parameter Header..........................................................................................269
Table 371 - Operational Change/Notification Parameter Data.....................................................269
Table 372 – Operational Event Field............................................................................................269
Table 373 - Recommended errors for SEND EVENT Command ................................................270
Table 374 - SEND KEY Command Descriptor Block ...................................................................271
Table 375 - Key Format Code definitions for SEND KEY command ...........................................271
Table 376 - SEND KEY Parameter List (KEY Format field =000001b)........................................272
Table 377 - SEND KEY Parameter List (KEY Format field =000011b)........................................272
Table 378 - SEND KEY Parameter List (KEY Format field =000110b)........................................273
Table 379 - Recommended errors for SEND KEY Command .....................................................273
Table 380 - SEND OPC INFORMATION Command Descriptor Block ........................................274
Table 381 - SEND OPC INFORMATION Parameter List.............................................................274
Table 382 - Recommended errors for SEND OPC INFORMATION Command ..........................275
Table 383 - SET CD SPEED Command Descriptor Block...........................................................276
Table 384 - Recommended errors for SET CD SPEED Command.............................................276

xviii
BSR NCITS 333

Table 385 - SET READ AHEAD Command Descriptor Block ..................................................... 277
Table 386 - Recommended errors for SET READ AHEAD Command........................................ 277
Table 387 – SET STREAMING Command Descriptor Block....................................................... 278
Table 388 - Performance Descriptor ............................................................................................ 279
Table 389 - Recommended errors for SET STREAMING Command.......................................... 280
Table 390 - STOP PLAY/SCAN Command Descriptor Block ...................................................... 281
Table 391 - Recommended errors for STOP PLAY/SCAN Command ........................................ 281
Table 392 - SYNCHRONIZE CACHE Command ........................................................................ 283
Table 393 - Recommended errors for SYNCHRONIZE CACHE Command ............................... 283
Table 394 - WRITE (10) command .............................................................................................. 284
Table 395 - LBA to MSF translation ............................................................................................. 285
Table 396 - Recommended errors for WRITE Command............................................................ 286
Table 397 – WRITE AND VERIFY (10) Command...................................................................... 287
Table 398 - Recommended errors for WRITE AND VERIFY (10) Command ............................. 287
Table A.1 – Logical Unit Sense Key, ASC and ASCQ Assignments ........................................... 289
Table A.1 – Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)............................... 290
Table A.1 – Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)............................... 291
Table A.1 - Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)................................ 292
Table A.1 - Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)................................ 293
Table A.1 - Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)................................ 294
Table A.2 - Logical Unit General Errors ....................................................................................... 295
Table A.2 - Logical Unit General Errors (cont.) ........................................................................... 296
Table A.3 - Media Access Errors ................................................................................................. 297
Table A.3 - Media Access Errors (cont.) ..................................................................................... 298
Table A.4 - Logical Unit Write Errors............................................................................................ 299
Table A.5 - Logical Unit Fixation Errors ....................................................................................... 299
Table B 1 - Example Reset Function Mapping in ATAPI ............................................................. 301
Table B.2 - ATAPI Commands Requirements ............................................................................. 302
Table B.2 - ATAPI CD Commands (cont.) .................................................................................. 303
Table E.1 - Example Reset Function Mapping in SCSI ............................................................... 311
Table F.1 - Power Management Model States ............................................................................ 312
Table F.2 - State Transition, Events and Status .......................................................................... 316
Table F.3 - Effects of Initiator Commands on Timers .................................................................. 317
Table F.3 - Effects of Initiator Commands on Timers (cont.) ....................................................... 319
Table G.1 - Commands Common to all SCSI Devices ................................................................ 320
Table I.1 - Multimedia Commands - Alphabetically...................................................................... 324
Table I.1 – Multimedia Commands – Alphabetically (cont.)........................................................ 325
Table I.2 - Multimedia Commands - by OpCode.......................................................................... 326
Table I.2 - Multimedia Commands - by OpCode (cont.) ............................................................. 327
Table I.3 - Commands Common to all SCSI Devices .................................................................. 328
Table J.1. - CD-TEXT Pack Data format for the Lead-in area ..................................................... 330
Table J.2 - Pack Type Indicator Definitions.................................................................................. 331

List of Figures
Figure 1 – Single Session disc ....................................................................................................... 16
Figure 2 – Multi-Session Recorded Disc........................................................................................ 16
Figure 3 - Q Sub-channel Mode-1 Format recorded in Program Area .......................................... 18
Figure 4 - Q Sub-channel Mode-2 Format ..................................................................................... 18
Figure 5 - Q Sub-channel, Mode-3 Format .................................................................................... 19
Figure 6 - Q Sub-channel Mode-1 Format recorded in Lead-in ..................................................... 21
Figure 7 - Q Sub-channel Mode-5 Format recorded in Lead-in ..................................................... 21
Figure 8 – Synchronization Field pattern ....................................................................................... 22
Figure 9 – CD-R and CD-RW medium........................................................................................... 27
Figure 10 – PMA, Q Sub-channel .................................................................................................. 27
Figure 11 – Packet Format............................................................................................................. 28

xix
BSR NCITS 333

Figure 12 – Physical and Logical Layout of Single Layer DVD-ROM Media .................................35
Figure 13 – Physical and Logical Layout of Parallel Track Path DVD-ROM Media.......................36
Figure 14 – Physical and Logical Layout of Opposite Track Path DVD-ROM Media ....................37
Figure 15 – Physical and Logical Layout of DVD-R Media ............................................................38
Figure 16 – Physical and Logical Layout of Single Layer DVD+RW Media...................................39
Figure 17 – Physical and Logical Layout of DVD-RAM Media.......................................................40
Figure 18 – Data Organization within an ECC Block .....................................................................42
Figure 19 – Formation of Data Unit 3 .............................................................................................42
Figure 20 – Data Unit 1 ..................................................................................................................43
Figure 21 – Data ID Field definition................................................................................................43
Figure 22 – Data Structure of Disc Lead-in Area ...........................................................................45
Figure 23 – Device Key Exchange and Authentication State Diagram..........................................50
Figure 24 – Authentication Flag Sequence ....................................................................................51
Figure 25 – Region State Diagram.................................................................................................54
Figure 26 - Media Changer Mechanism Model ..............................................................................55
Figure 27 - Changer State Diagram ...............................................................................................57
Figure 28 - Read CD Sub-channel, R-W (100b) ..........................................................................181
Figure 29 - CD (CD-DA) ...............................................................................................................259
Figure 30 - CD-ROM mode 1 .......................................................................................................259
Figure 31 - CD-ROM XA, CD-I .....................................................................................................260
Figure 32 - CD-ROM Mode 2 .......................................................................................................260
Figure 33 - Location of Sub-channel Data....................................................................................261
Figure 34 - Stop Play/Play Audio/Audio Scan/Pause/Resume Sequencing ................................282
Figure C.35 - Mass storage interface block diagram ...................................................................305
Figure 36 - Power Management STATE Diagram .......................................................................315
Figure J.37 - Block Number Character Position ...........................................................................331

xx
BSR NCITS 333

Forward
This standard defines the SCSI command set extensions to access multimedia Features for all classes
of SCSI devices. The applicable clauses of this standard when used in conjunction with the SCSI
Primary Commands specification, SCSI Block Commands, and other applicable command set
documents pertaining to the subject device class, define the full standard set of commands available
for that device in the SCSI environment.
Requests for interpretation, suggestions for improvement and addenda, or defect reports are welcome.
They should be sent to the NCITS Secretariat, Information Technology Industry Council, 1250 I Street
NW, Suite 200, Washington, DC 20005-3922.
This standard was processed and approved for submittal to ANSI by National Committee for
Information Technology Standardization (NCITS). Committee approval of this standard does not
necessarily imply that all committee members voted for approval. At the time it approved this standard,
NCITS had the following members:

Karen Higginbottom, Chair


David Michael, Vice-Chair
Monica Vago, Secretary

Organization Represented Name of Representative


Aonix ..................................................................................................................... Alexander Nawrocki
Apple Computer, Inc. .............................................................................................. David Michael
AT&T ...................................................................................................................... Thomas Frost
Bull HN Information Systems, Inc. ......................................................................... Randall Kilmartin
Compaq Computer Corporation ............................................................................. Scott Jameson
Hewlett-Packard Company ..................................................................................... Karen Higginbottom
Hitachi American, Ltd. ............................................................................................ John Neumann
IBM Corporation ..................................................................................................... Ronald F. Silletti
Institute for Certification of Computer Professionals ............................................... Kenneth M. Zemrowski
Lucent Technologies, Inc ........................................................................................ Herbert Bertine
Microsoft Corporation ............................................................................................ Mark Ryland
National Institute of Standards & Technology ........................................................ Michael Hogan
Omron Corporation ................................................................................................ Tak Natsume
Panasonic Technologies, Inc .................................................................................. Judson Hofmann
Perennial ............................................................................................................... Barry Hedquist
Plum Hall Inc. ......................................................................................................... Thomas Plum
Share, Inc. ............................................................................................................. Dave Thewlis
Sony Electronics, Inc. ............................................................................................ Masataka Ogawa
Sun Microsystems, Inc. .......................................................................................... Carl Cargill
Sybase, Inc. ........................................................................................................... Billy Ho
Unisys Corporation ................................................................................................ Arnold F. Winkler
US Department of Defense/DISA .......................................................................... Russ Richards
US Department of Engery ...................................................................................... Bruce White
Xerox Corporation .................................................................................................. Jean Baroness

xxi
BSR NCITS 333

Technical Committee T10 on Lower Level Interfaces, which developed and reviewed this standard,
had the following members:

John B. Lohmeyer, Chair


George G. Penokie, Vice-Chair
Ralph O. Weber, Secretary

I. Dal Allan Edward A. Gardner Bill Mable Bart Raudebaugh


Paul D. Aloisi Louis Grantham Bob Masterson J. R. Sims
Harlan Andrews Kenneth J. Hallam William P. McFerrin Hayden Smith
Tim Bradshaw Edward Haske Brian McKean Robert N. Snively
Rodger Burke Nathan Hastad Pete McLean Charles Tashbook
Roger Cummings Tom Jackson Gene Milligan Douglas Wagner
Zane Daggett Skip Jones Dennis Moore Neil Wanamaker
Joe Dambach Tasuku Kasebayashi Ian Morrell Jeffrey L. Williams
Robert C. Elliott Thomas J. Kulesza Robert Morris Anthony Yang
Mark Evans Lawrence J. Lamers Gregg Neely Han Zou
Jie Fan Ben-Koon Lin Erich Oetting
Robert Frey Scott Lindstrom George O. Penokie
Bill Galloway John Lohmeyer Doug Piper

Vincent Bastiani (Alt) Randall C. Hines (Alt) Jay Neer (Alt) Jacqueline Sylvia (Alt)
Wally Bridgewater (Alt) Gerald Houlder (Alt) Terry Nelson (Alt) Pete Tobias (Alt)
Doug Charnley (Alt) David L. Jolley (Alt) Franklin Ng (Alt) Quang Vuong (Alt)
Dan Colegrove (Alt) Gregory Kapraun (Alt) Vit Novak (Alt) Matt Wakeley (Alt)
William Dallas (Alt) Ed Kavetsky (Alt) Elwood Parsons (Alt) Dean Wallace (Alt)
Mark Delsman (Alt) Allen King (Alt) Darrell Redford (Alt) Harvey Waltersdorf (Alt)
Terry Enright (Alt) Jim Koser (Alt) Charley Riegger (Alt) Frank Wang (Alt)
Stephen G. Finch (Alt) Dennis Lang (Alt) Ron Roberts (Alt) Stephen K. Wilson (Alt)
Mike Gerwig (Alt) Eugene Lew (Alt) Frank Samela (Alt) Michael Wingard (Alt)
Donald R. Getty (Alt) Tim Mackley (Alt) John P. Scheible (Alt) Mike Zandy (Alt)
Chuck Grant (Alt) Patrick McGarrah (Alt) Michael Smith (Alt)
Douglas Hagerman (Alt) James McGrath (Alt) Gary R. Stephens (Alt)
William Ham (Alt) E.J. Mondor (Alt) Arlan P. Stone (Alt)

xxii
AMERICAN NATIONAL STANDARD BSR NCITS 333

American National Standard


for Information Technology –

SCSI Multimedia Commands – 2 (MMC-2) –

1. Scope
This standard defines a multimedia command set extensions for Device Type 5 devices. The commands
specified within this standard define standard access and control to those Features of the device that are used
in multimedia applications.
The SPC command set and these extensions are transport independent and may be implemented across a
wide variety of environments for that a SCSI command mapping and delivery vehicle has been defined. To
date these include Fibre Channel, SCSI Parallel Interface, High Performance Serial Bus, Serial Storage
Architecture, and ATA/ATAPI.
The objective of this command set is to provide for the following:
1) A definition of the command formats and functions independent of delivery, protocol/signaling or transport
mechanism. Architectural constraints regarding command functions, over the various transports, are
addressed in the document specific to the physical transport.
2) Standardized access to common Features of SCSI devices employed in multimedia applications.
3) System software/firmware independence across device classes. Thus, different tape drives, optical media
drives, and other devices can be added to the system without requiring modifications to generic system
hardware and software. Provision is made for the addition of special Features and functions through the use of
vendor-specific options. Reserved Opcodes are provided for future standardization.
4) To provide compatibility such that properly conforming SCSI-2 devices may inter-operate with subsequent
devices given that the system engineering is correctly done. SCSI protocol extensions are designed to be
permissive of rejections by conforming SCSI-2 devices and thus allow the SCSI-2 device to continue operation
without requiring the use of the extension.

2. References
2.1. Normative References
The following standards contain provisions that, through reference in the text, constitute provisions of this
standard. At the time of publication, the editions indicated were valid. All standards are subject to revision and
parties to agreements based on this standard are encouraged to investigate the possibility of applying the
most recent editions of the standards listed below.
Copies of the following documents can be obtained from ANSI;
- Approved ANSI standards;
- approved and draft international and regional standards (ISO, IEC, CEN/CENELEC, ITUT);
- approved and draft foreign standards (including BSI, JIS, and DIN).
Contact ANSI Customer Service Department at 212-642-4900 (phone), 212-302-1286 (fax) or via the World
Wide Web at http://www.ansi.org, for further information.
Additional availability contact information is provided below as needed.

2.1.1. Approved references


The following approved ANSI standards, approved international and regional standards (ISO, IEC,
CEN/CENELEC, and ITUT), and may be obtained from the international and regional organizations that
control them.
SCSI Parallel Interface 2 (SPI-2) ANSI Standard X3.302:1998
SCSI-3 Primary Commands (SPC) ANSI Standard X3.301:1997
SCSI-3 MultiMedia Command Set (MMC-1) ANSI Standard X3.304:1997
SCSI-3 Block Command Set (SBC) NCITS.306:1998

1
BSR NCITS 333

Serial Bus Protocol - 2 (SBP-2) NCITS.325:1998


ATA/ATAPI-4 NCITS.317:1998

ISO/IEC 3901 International Standard Recording Code (ISRC)


ISO/IEC 10149, Information Technology-Data Interchange on Read-only 120 mm Optical Data Discs (CD-
ROM).
ISO/IEC 16448, 120mm DVD Read-Only-Media (DVD-ROM)
ISO/IEC 16449, 80mm DVD Read-Only-Media (DVD-ROM)
ISO/IEC 16824, 120 mm DVD Rewritable Disc (DVD-RAM)
ISO/IEC 16969, Data Interchange on 120 mm Optical Disc using +RW Format- Capacity: 3.0Gbytes and
6.0Gbytes.
IEC 908:1987, Compact Disc Digital Audio System.
IEEE High Performance Serial Bus, IEEE 1394-1995.
Members of IEC and ISO maintain registers of currently valid International Standards.

2.1.2. References under development


At the time of publication, the following referenced standards were still under development. For information on
the current status of the document, or regarding availability, contact the relevant standards body or other
organization as indicated.
SCSI-3 Medium Changer Commands (SMC) [X3T10/0999-D]
SCSI Parallel Interface - 3 (SPI-3) [NCITS T10/1142D]
SCSI Primary Command Set - 2 (SPC-2) [NCITS T10/1236D]
IEEE P1394A High Performance Serial Bus
For more information on the current status of the above documents, contact NCITS Secretariat, 150 Eye
Street, NW Suite 200, Washington, DC 20005, Phone Number (202) 737-8888. To obtain copies of these
documents, contact Global Engineering at (303) 792-2181 or NCITS Secretariat.

2.2. Other references


The following standards and specifications were also consulted.
Mt. Fuji3 Commands for MultiMedia devices T10/99-121R0
Compact Disc Digital Audio (CD-DA), specified in the System Description Compact Disc Digital Audio ("Red
Book"), NV Philips and Sony Corporation. See also IEC 908:1987, Compact Disc Digital Audio System
Compact Disc Read Only Memory (CD-ROM), specified in the System Description Compact Disc Read Only
Memory ("Yellow Book"), NV Philips and Sony Corporation. See also ISO/IEC 10149, Information Technology-
Data Interchange on Read-only 120 mm Optical Data Discs (CD-ROM).
Compact Disc Interactive (CD-I), specified in the CD-I Full Functional Specification ("Green Book"), NV Philips
and Sony Corporation.
Compact Disc Read Only Memory eXtended Architecture (CD-ROM XA), specified in the System Description
CD-ROM XA, NV Philips and Sony Corporation.
Compact Disc Write Once (CD-WO), specified in the System Description Recordable Compact Disc Systems,
part II: CD-WO (Orange Book part II), NV Philips and Sony Corporation
Compact Disc ReWritable (CD-RW), specified in the System Description Recordable Compact Disc Systems,
part III: CD-RW (Orange Book part III), NV Philips and Sony Corporation
Multi-session Compact Disc, specified in the Multi-session Compact Disc Specification, NV Philips and Sony
Corporation.

2
BSR NCITS 333

3. Definitions, abbreviations and acronym


Certain words and terms used in this standard have a specific meaning beyond the normal English meaning.
These words and terms are defined either in the glossary or in the text where they first appear. Lower case is
used for words having the normal English meaning.

3.1. Definitions of terms


3.1.1. Absolute MSF field - See MSF address definition.
3.1.2. algorithm type - Refers to various copy protection techniques.
3.1.3. appendable disc - A disc with a pointer, in the last session, that points to the next possible session.
3.1.4. ATA (AT Attachment) - ATA defines the physical, electrical, transport, and command protocols for
the internal attachment of block storage devices.
3.1.5. ATAPI (AT Attachment Packet Interface) - A device that complies with NCITS.317:1998, the AT
Attachment Packet Interface. In this document such devices are referred to as devices implementing
the Packet command Feature set.
3.1.6. ATIP - Absolute Time In Pre-groove
3.1.7. AGID (Authentication Grant ID) - A value used for resource control during key management.
Individual key management threads are identified through the use of AGID.
3.1.8. bcd - binary coded decimal - The number system used on the physical CD media. Numbers that use
this notation have the 'bcd' suffix attached. A byte has two four-bit values each with a value from 0 to
9. The maximum value is 99 bcd (99 decimal).
3.1.9. Bootable CD - a CD that is capable of providing boot records.
3.1.10.- Bordered Area - A recorded area of DVD-R media. See 4.3.3.2.
3.1.11. BCA (Burst cutting area) - Provides a unique physical identification mark for individual DVD
medium. This area is not directly addressable by the user.
3.1.12. C/DVD Media - Term that is used when referring to media that conforms to the CD or DVD
specifications.
3.1.13. Challenge key - Data used during an authentication key exchange process.
3.1.14. CDB (Command Descriptor Block) - The structure used to communicate commands from an
Initiator to C/DVD Logical Units.
3.1.15. Command Packet - “Command Packet” is a structure used to communicate commands from an
Initiator to a C/DVD device. See Command Descriptor Block.
3.1.16. complete session - A session that contains a completed (written) Lead-in and Lead-out area. In
DVD-R a complete session contains a completed Border-In, and a Border-out.
3.1.17. CD-DA (Compact Disc-Digital Audio) - The standard for storing digital audio information. See IEC
908:1987.
3.1.18. CD (Compact Disc) - A family of related optical storage media.
3.1.19. CD-ROM (Compact Disc - Read Only Memory) - A standard for storing digitized audio and digital
data. CD-ROM is used to describe media with digital data rather than discs that encode audio only.
3.1.20. CD control field - A 4-bit field in the Q Sub-channel data indicating the type of information encoded
on the current track. Indicates audio versus data and the type of audio encoding, etc. The control field
is also found in the Table of Contents entries.
3.1.21. CD data mode - A byte in the header of CD data sectors. This indicates if data is present and if
layered error correction information is present.
3.1.22. CD-RW (CD ReWritable) - A CD that can be re-written.
3.1.23. CD-R (CD Recordable) - A CD that can be written only once.
3.1.24. CD R/RW - either a CD-R, or a CD-RW, or both.
3.1.25. CD-Text - A method for storing text information on CD-DA disc

3
BSR NCITS 333

3.1.26. CIRC (Cross Interleaved Reed-Solomon Code) - The error detection and correction technique
used on a CD. The CIRC bytes are present in all CD modes. The error correction procedure that uses
the CIRC bytes is referred to as the CIRC based algorithm.
3.1.27. Defect Management - A method for providing apparent error free media.
3.1.28. Direct-overwrite – the process or capability of writing over previously written data without an erase
cycle.
3.1.29. Disc Key - A value used during the scrambling process of the title key data on DVD media.
3.1.30. Double Sided - A medium with two independently addressed sides.
3.1.31. Dual Layer - Two surfaces that can be accessed from the same side. On dual layer Discs the data is
recorded using either OTP or PTP.
3.1.32. DVD - A family of related optical storage media and Logical Units.
3.1.33. DVD Control Area - The DVD Control area is comprised of 192 ECC blocks in the Lead-in Area of a
DVD medium. The content of 16 sectors in each block is repeated 192 times. This area contains
information concerning the disc.
3.1.34. DVD Disc Manufacturing Information - The DVD Disc Manufacturing Information is recorded in the
DVD Control Area and contains information supplied by the disc manufacturer.
3.1.35. DVD ECC-Block - A self-contained block of data and error correction codes that are grouped into a
sequential series of 16 DVD sectors.
3.1.36. DVD-R (DVD Recordable) - A DVD medium that can be written once.
3.1.37. DVD-RAM (DVD-Random Access Memory) - A DVD that can be re-written.
3.1.38. DVD-ROM (DVD-Read Only Memory) - A standardized medium defined by the DVD specification
for recording digital data, including digital video movie data.
3.1.39. DVD+RW (DVD ReWritable) - indicates a DVD that can be re-written.
3.1.40. EAN (European Article Number) - Controlled by the EAN Council located at Rue des Colonies,
54-BTE8, 1000 Brussels, Belgium.
3.1.41. ECC (Error Correction Code) - A code for detecting and correcting errors.
3.1.42. EDC (Error Detection Code) - A code for detecting an error.
3.1.43. EFM – 8 bit to 14 bit modulation.
3.1.44. Field - A Field is a group of two or more contiguous bits. Fields containing only one bit are referred to
as the “named” bit instead of the “named” field.
3.1.45. Fixed Packet Track - a track that contains a TDB indicating that the track is a fixed track, and has
user packets of a fixed size specified in the TDB.
3.1.46. Format - The arrangement or layout of information on a medium.
3.1.47. Frame - A sector on CD media. Also the F field unit of a MSF CD address. The smallest addressable
unit.
3.1.48. Hex – Indicates a binary value represented in base 16. This value may extend across multiple bytes.
3.1.49. Hold track state - When a C/DVD device enters the hold track state the optical pick-up is
maintained at an approximately constant radial position on the media.
3.1.50. ID - A 4-byte field in the header of DVD sectors that contains sector information and a physical sector
number.
3.1.51. IED (ID Error Detection) - A code for detecting errors in an ID field.
3.1.52. Incomplete session - A session without Lead-in and Lead-out written.
3.1.53. Index - An index is a subdivision of a track.
3.1.54. Layer - The recorded information is in layers as seen from one side of a DVD Disc. There are single
and dual layer Discs.

4
BSR NCITS 333

3.1.55. Lead-in - On CD media it is the area that contains the TOC data and precedes each program area.
The main channel in the Lead-in area contains audio or data null information. This area is coded as
track zero. The Q Sub-channel in this area is coded with the Table of Contents information.
The DVD Lead-in area is the area comprising physical sectors 1.2 mm wide or more adjacent to the
inside of the Data area. The area contains the Control data and precedes the Data area.
3.1.56. Lead-out - On CD media it is the area that follows each program area. The main channel in the
Lead-out area contains audio or data null information. This area is coded as track AAh..
The DVD Lead-out area is the area comprising physical sectors 1.0 mm wide or more adjacent to the
outside of the data area in single layered disc for PTP (Parallel Track Path) disc. Or the area
comprising physical sectors 1.2 mm wide or more adjacent to the inside of the data area in layer 1 of
OTP (Opposite Track Path) disc.
3.1.57. L-EC (Layered Error Correction) - The second level of error correction used on CD data.
3.1.58. Logical Block - An Initiator addressable unit of data.
3.1.59. LBA (Logical Block Address) - The LBA defines a mapping mode to a linear address space.
3.1.60. Logical Unit - A physical or virtual peripheral device addressable through a target.
3.1.61. LUN (Logical Unit Number) - The address of a Logical Unit.
3.1.62. Magazine – A multiple disc unit.
3.1.63. Medium - A single Disc.
3.1.64. Middle Area - Area comprising physical sectors 1.0 mm wide or more adjacent to the outside of the
Data Area in OTP (Opposite Track Path) disc on both layers of DVD media.
3.1.65. MSF address (Minute/Second/Frame) - The physical address, expressed as a sector count relative
to either the beginning of the medium (absolute) or to the beginning of the current track (relative). As
defined by the CD standards, each F field unit is one sector; each S field unit is 75 F field units; each
M field unit is 60 S field units. Valid contents of F fields are binary values from 0 through 74. Valid
contents of S fields are binary values from 0 through 59. Valid contents of M fields are binary values
from 0 through 74.
3.1.66. OPC (Optimum Power Calibration) - a procedure performed by the device to calibrate laser power.
Values from this calibration are used for subsequent write operation.
3.1.67. OTP (Opposite Track Path) - A dual layer disc that has a Lead in, two separated user areas, Lead-
out, and a Middle area. The physical sector number (PSN) of layer 0 increases to the Lead-out and the
one of layer 1 that is complement of layer 0 address increases from the Lead-out to Lead-in.
3.1.68. output port - A means for connecting to data ports other than the Initiator interface.
3.1.69. PTP (Parallel Track Path) - A dual layer disc that has a Lead in, user area and Lead-out in each
layer respectively. The ID sector number of both layers increases to the Lead-out in parallel.
3.1.70. Packet - a set of recorded link, run-in, data, and run-out blocks. Typical packetis shown in Figure 11.
3.1.71. packet size - the number of Data Blocks in the packet.
3.1.72. packet track - a track written as a concatenation of a pre-gap, written as one or two packets, and
some non-zero number of user packets.
3.1.73. Physical Sector Number - A unique address assigned to a physical location and is not modifiable.
3.1.74. post-gap - A transition area located at the end of a data track.
3.1.75. pre-gap - A transition area located at the beginning of a data track.
3.1.76. Program Area(s) - a logical address space.
3.1.77. PMA (Program Memory Area) - Contains information about the recordings on a Recordable disc.
3.1.78. Regional Code - A value used to identify one or more regions of the world. Currently there are six
regions defined.
3.1.79. Region Playback Control (RPC) – Limits the playback of DVD-ROM content to specific regions of
the world.
3.1.80. relative MSF field - See MSF address definition.
3.1.81. RZone - An RZone is a logical subdivision of a DVD-R, similar to a Track on CD. See4.3.3.1..

5
BSR NCITS 333

3.1.82. Scramble Flag - An indication that there is scrambled data on the media.
3.1.83. Sector - In case of CD media, “Sector” refers to the data contained in one frame. In the CD-ROM
standard (IEC/ISO 10149) the term block is used for this unit.
In the case of DVD media, Sector is the smallest user addressable part of the media. The user data
contained within a sector is 2048 bytes.
3.1.84. Session - A contiguous area of the Disc that contains a Lead-in, Program Area, and Lead-out.
3.1.85. Single Sided - A single sided DVD disc has exactly one recorded or recordable side.
3.1.86. Small Frame - 1/98 of a frame.
3.1.87. Sub-channel - CD media have a main channel and a Sub-channel. The Sub-channel area has eight
parts called P, Q, R, S, T, U, V, and W. The Q Sub-channel contains information useful to the
controller and device, such as the control field and MSF addresses. The data rate of each Sub-
channel (P, Q, etc.) is 1/192nd of that of the main channel.
3.1.88. TOC Table of Contents - The TOC has information on the type of session and the starting address
of the tracks. This information is encoded in the Q Sub-channel in the Lead-in area.
3.1.89. Title Key - A value used during the scrambling process of movie data on DVD media.
3.1.90. Track Descriptor Block (TDB) - Contains information on the attributes of the current track.
3.1.91. Track - A logical sub-division of the media.
3.1.92. Track at Once - When a track, including its pre-gap, is written as a single packet.
3.1.93. track relative logical address - The value used to address logical blocks relative to the beginning
of a track.
3.1.94. transition area - Sectors at the beginning or end of tracks e.g. Pause Area, Pre-Gap, Lead-out,
Post-Gap.
3.1.95. UPC (Uniform Product Code) - Controlled by the UPC Council, located at 8163 Old Yankee Road,
Suite J, Dayton, Ohio 45459.
3.1.96. user packet - a packet that contains only user data blocks as the data blocks. User data blocks
consist of data transferred to the device during a write command.
3.1.97. writable disc - A disc that is blank, appendable, or contains an incomplete session.
3.1.98. Yellow book - ISO/IEC 10149, Information Technology-Data Interchange on Read-only 120 mm
Optical Data Discs (CD-ROM).

3.2. Conventions
Various conventions are used through out this standard and are identified in this sub-clause.
3.2.1. Recommended error code tables defined within each command sub-clause uses the following:
Errors shown in mixed case indicate all errors, in that class, are valid.
Errors shown in uppercase refer to the identified specific error condition.
3.2.2. Numbers that are not immediately followed by lowercase “b,” “h,” or “bcd” are decimal values.
Numbers immediately followed by lowercase “b” (xxb) are binary values.
Numbers immediately followed by lowercase “h” (xxh) are hexadecimal values.
Numbers immediately followed by lowercase “bcd” (xxbcd) are binary coded decimal values.

3.3. Keywords
Several keywords are used to differentiate between levels of requirements and options, as listed below.
3.3.1. expected - A keyword used to describe the behavior of the hardware or software in the design
models assumed by this standard. Other hardware and software design models may also be
implemented.
3.3.2. may - A keyword that indicates flexibility of choice with no implied preference.
3.3.3. shall - A keyword indicating a mandatory requirement. Designers are required to implement all such
mandatory requirements to ensure interoperability with other standard conforming products.

6
BSR NCITS 333

3.3.4. should - A keyword indicating flexibility of choice with a strongly preferred alternative. Equivalent to
the phrase “it is recommended.”
3.3.5. obsolete - A keyword indicating items that were defined in prior version of this standard are intended
to be removed from future version of this standard.
3.3.6. mandatory - A keyword indicating items required to be implemented as defined by this standard.
3.3.7. optional - A keyword that describes Features that are not required for compliance to this standard.
However, if any optional Feature defined is implemented, it shall be implemented as defined by this
standard.
3.3.8. reserved - A keyword referring to bits, bytes, words, fields and code values that are set-aside for
future standardization. Their use and interpretation may be specified by future extensions to this or
other standards. A reserved bit, byte, word, or field shall be set to zero, or in accordance with future
extension to this standard. The recipient shall not check reserved bits, bytes, words or fields. Receipt
of reserved code values in defined fields shall be treated as an error.

7
BSR NCITS 333

4. C/DVD Models
4.1. General
The following sub-clauses provide an overview of the operations and functionality of all CD and DVD types.

4.1.1. CD address reporting formats (MSF bit)


Several CD commands can report addresses either in logical block address or in MSF format (see Table 1).
The READ HEADER, READ SUB-CHANNEL, and READ TOC/PMA/ATIP commands have this Feature.
An MSF bit of zero, in the above listed commands, requests that the logical block address format be used for
the CD absolute address field or for the offset from the beginning of the current track expressed as a number
of logical blocks in a CD-ROM track relative address field. This track relative logical block address (TRLBA)
value is reported as a negative value in twos-complement notation for transition areas that have decreasing
MSF encoded relative addresses.
An MSF bit of one, in the above listed commands, requests that the MSF format be used for these fields. In
certain transition areas, the relative MSF addresses are decreasing positive values. The absolute MSF
addresses are always increasing positive values.

Table 1 - MSF Address format


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved
1 M field
2 S field
3 F field

The M, S, and F fields are expressed as binary numbers. The values match those on the media, except for the
encoding.
NOTE: For a logical block size of 512 bytes, the MSF address returned is that for the physical block containing the
specified logical blocks.

4.1.2. Logical Blocks


Blocks of data are stored on the medium along with additional information that the Logical Unit uses to
manage the storage and retrieval. The format of the additional information is unique and is hidden from the
Initiator during normal read or write operations. This additional information is often used to identify the physical
location of the blocks of data and the address of the logical block, and to provide protection against the loss of
the user data.
The address of the first logical block is zero. The address of the last logical block is [n-1], where [n] is the
number of logical blocks available on the medium. A READ CAPACITY command may be issued to determine
the value of [n-1]. If a command is issued that requests access to a logical block not within the capacity of the
medium, the command shall be terminated with CHECK CONDITION status and the sense key set to
ILLEGAL REQUEST and additional sense code set to LOGICAL BLOCK ADDRESS OUT OF RANGE.
The number of bytes of data contained in a logical block is known as the block length. Each logical block has a
block length associated with it. The block descriptor in the MODE SENSE data describes the block length that
is used on the medium. Note that the block descriptor shall not be present for an ATAPI C/DVD Logical Unit. In
addition the Block Descriptor for SCSI Logical Units has been made Obsolete in this standard.
The location of a logical block on the medium is not required to have a specific relationship to the location of
any other logical block. However, in a typical Logical Unit the logical blocks are located in an ascending order.
The time to access the logical block at address [x] and then the logical block at address [x+1] need not be less
than time to access [x] and then [x+100].

8
BSR NCITS 333

4.1.3. Data cache


Some Logical Units implement cache memory. A cache memory is usually an area of temporary storage in the
Logical Unit with a fast access time that is used to enhance performance. It exists separately from the blocks
of data stored and is normally not directly addressable by the Initiator. Use of cache memory for write or read
operations typically reduces the access time to a logical block and can increase the overall data throughput.
During read operations, the Logical Unit uses the cache memory to store blocks of data that the Initiator may
request at some future time. The algorithm used to manage the cache memory is not part of this specification.
However, parameters are provided to advise the Logical Unit about future requests, or to restrict the use of
cache memory for a particular request.
Sometimes the Initiator may request that the blocks of data read from the medium instead of from the cache
memory. The force unit access (FUA) bit is used to indicate that the Logical Unit shall access the physical
medium. For a write operation, setting FUA to one causes the Logical Unit to complete the data write to the
physical medium before completing the command. For a read operation, setting FUA to one causes the logical
blocks to be retrieved from the physical medium.
Commands may be implemented by the Logical Unit that allow the Initiator to control other behavior of the
cache memory:
• The MODE SENSE (10) Command defines a page for the control of cache behavior and handles certain
basic elements of cache replacement algorithms.
• The SYNCHRONIZE CACHE Command is used by the Initiator to guarantee that data in the cache has
been moved to the media.

4.1.4. RESETS
Within this standard there are three resets identified. These resets are named:
- Power-On Reset
- Hard Reset
- Device Reset
These resets are used differently in each physical interface referenced. For more information on the use in
ATA/ATAPI, SCSI, SBP-2, and FC-P see the appropriate Annexes on implementation notes.
4.1.4.1. Power-On Reset
When power is applied, the device executes a series of electrical circuitry diagnostics, resets Logical Unit
specific parameters (mode pages) to default values, and if media is present, may spin up and make the
Logical Unit ready for use. In addition, power management and key management are reset to their default
states.
4.1.4.2. Hard Reset
For each physical interface the detection of Hard Reset is different. The device executes a series of electrical
circuitry diagnostics, resets Logical Unit specific parameters (mode pages) to default values, and if media is
present, may spin up and make the Logical Unit ready for use. In addition power management and key
management are reset to their default states. The behavior of the Logical Unit when Hard Reset is received is
the same as for Power On Reset.
Hard Reset is used to reset devices or even a whole interface bus, not individual Logical Units.
4.1.4.3. Device Reset
For each physical interface the detection of Device Reset is different. The Device Reset is used to bring a non-
responding Logical Unit into an operable state. Device Reset is different from Power On or hard Reset. With
the Device Reset the parameters being used by the Logical Unit are not set to the defaults. In some cases this
may not be possible and the Logical Unit may need to reset to the default conditions. If a reset to default
conditions occurs as a result of a Device Reset, a Unit Attention and Power Management Event Notification
shall be generated. Logical Unit should:
- Reset Initiator interface circuitry.
- Perform hardware initialization and device-internal diagnostics only if necessary.
- Do not revert to the default conditions, Logical Unit Number or TOC information.
- Stay in the current Power State.

9
BSR NCITS 333

- Persistent Prevent state is unchanged.


- Key management shall be reset to the default state.

4.1.5. Error reporting


If any of the conditions in Table 2 occur during the execution of a command, the target shall return CHECK
CONDITION status. The appropriate sense key and additional sense code should be set. The following list
illustrates some error conditions and the applicable sense keys. The list does not provide an exhaustive
enumeration of all conditions that may cause the CHECK CONDITION status.

Table 2 - Sense key responses for error reporting


Condition Sense Key
Invalid Logical Block Address ILLEGAL REQUEST
Unsupported option requested ILLEGAL REQUEST
Attempt to read a blank block ILLEGAL REQUEST
Attempt to play a data block as audio ILLEGAL REQUEST
Target reset or medium change since last UNIT ATTENTION
command
Self diagnostic failed HARDWARE ERROR
Un-recovered read error MEDIUM ERROR/HARDWARE ERROR
Recovered read error RECOVERED ERROR
Overrun or other error that might be resolved by ABORTED COMMAND
repeating the command

In the case of an invalid logical block address, the sense data information field shall be set to the logical block
address of the first invalid address.
In the case of an attempt to read a blank or previously unwritten block, the sense data information field shall
be set to the logical block address of the first blank block encountered. The data read up to that block shall be
transferred.
There are other special error situations for CD devices. In the following cases the sense key shall be set to
ILLEGAL REQUEST and the additional sense code set to END OF USER AREA ENCOUNTERED ON THIS
TRACK:
a) a pre-gap area is encountered (i.e. a block with index equal to 0).
b) a post-gap area is encountered.
c) The information type (data vs. audio) changes.
When the command is other than an audio playback operation, the command shall be terminated with CHECK
CONDITION status if the Logical Block Address requested is not within a data track. The sense key shall be
set to ILLEGAL REQUEST and the additional sense code set to ILLEGAL MODE FOR THIS TRACK. This
applies to audio-combined and audio media.

4.1.6. Deferred Errors


Error code 71h (deferred error) indicates that the CHECK CONDITION status returned is the result of an error
or exception condition that occurred during execution of a previous command for which GOOD status has
already been returned. Such commands are associated with use of the immediate bit, with some forms of
caching. C/DVD Logical Units that implement these Features shall implement deferred error reporting.
A deferred error may be indicated by returning CHECK CONDITION status to the Initiator as described below.
The subsequent execution of a REQUEST SENSE command shall return the deferred error sense information.
If an I/O Command terminates with CHECK CONDITION status and the subsequent sense data returns a
deferred error, that I/O command shall not have been executed. After the C/DVD Logical Unit detects a
deferred error condition on a Logical Unit, it shall return a deferred error according to the rules described
below:

10
BSR NCITS 333

1. If a deferred error can be recovered with no external system intervention, a deferred error indication shall
not be posted unless required by the error handling parameters of the MODE SELECT command. The
occurrence of the error may be logged if statistical or error logging is supported.
2. If a deferred error can be associated with a particular function or a particular subset of data, and the error is
either un-recovered or required to be reported by the mode parameters, a deferred error indication shall be
returned to the Initiator.
Deferred errors may indicate that an operation was unsuccessful long after the command performing the data
transfer returned GOOD status. If data that cannot be replicated or recovered from other sources is being
stored using buffered write operations, synchronization commands should be performed before the critical
data is destroyed in the Initiator. This is necessary to be sure that recovery actions can be taken if deferred
errors do occur in the storing of the data.

4.1.7. Removable medium


A disc has an attribute of being mounted or de-mounted on a suitable transport mechanism. A disc is mounted
when the Logical Unit is capable of performing read operations to the medium. A mounted disc may not be
accessible by an Initiator, if it has been reserved by another Initiator. A disc is de-mounted at any other time
(e.g. during loading, unloading, or storage).
An Initiator may check whether a disc is mounted by issuing a TEST UNIT READY command. In addition,
there now exists a MEDIA STATUS NOTIFICATION Feature. This allows the Initiator to prevent the removal of
any media, as well as sensing requests from the user to remove media.
The PREVENT ALLOW MEDIUM REMOVAL command allows an Initiator to restrict the de-mounting of the
disc. This is useful in maintaining system integrity. If the Logical Unit implements cache memory, it shall
ensure that all logical blocks of the medium contain the most recent data prior to permitting de-mounting of the
disc. If the Initiator issues a START STOP UNIT command to eject the disc, and is prevented from de-
mounting by the PREVENT ALLOW MEDIUM REMOVAL command, the START STOP unit command is
rejected by the Logical Unit.
When the Persistent Prevent state is entered, the media shall remain locked in the Logical Unit, until the
Initiator issues an eject request, or a power on or hard reset condition occurs. The Persistent Prevent state
shall be maintained after the eject request. New media that is inserted into the Logical Unit shall be locked in
the Logical Unit after the Logical Unit reports the NEW MEDIA event. Prior to reporting the NEW MEDIA event,
the Logical Unit may eject media without an explicit eject command from the Initiator. This allows the user to
remove incorrectly inserted media without having to wait for Initiator intervention.
While in the Persistent prevent state, the Logical Unit shall generate Events upon receipt of a User Eject
request. The Logical Unit shall not eject the media on receipt of these requests, if the Logical Unit has already
reported a NEW MEDIA event for this media. When the Initiator receives the Eject Request, and determines
that it is safe to eject the medium, an eject command will be issued, at that time the Logical Unit shall eject the
medium.
The Logical Unit shall only generate GET EVENT/STATUS NOTIFICATION (EJECT REQUEST) events after
reporting a GET EVENT/STATUS NOTIFICATION (NEW MEDIA) event, and prior to reporting a GET
EVENT/STATUS NOTIFICATION (MEDIA REMOVAL) event for the given media.
To maintain compatibility with existing BIOS implementations and operating systems, the Logical Unit shall
default to Persistent Prevent disabled. When the Initiator enables the support using the PREVENT ALLOW
command, the Logical Unit shall respond as described in this specification. When the Initiator disables this
Feature, the Logical Unit shall default to normal operating modes. A power on or hard reset shall cause the
Logical Unit to the default Persistent Prevent state.
If the Logical Unit is unable to maintain media status information across a reset or power cycle, the Logical
Unit shall generate a NEW MEDIA event.
Commands shall be processed exactly the same as they would be if Persistent Prevent was not enabled. For
compatibility reasons, UNIT ATTENTION status conditions shall still be returned. However, the Logical Unit
shall not return the UNIT ATTENTION status on a GET EVENT/STATUS NOTIFICATION command. For
example, if the user inserts a new medium and the Logical Unit is accessed with a command, the CHECK
CONDITION with UNIT ATTENTION shall be reported, but the Logical Unit shall also report the NEW MEDIA
Event with the next available GET EVENT/STATUS NOTIFICATION (Media Status) command.

11
BSR NCITS 333

12
BSR NCITS 333

4.2. CD Device Model


The CD device model is driven by the CD media organization and data formats.

4.2.1. Recorded CD Media Structure


A CD medium is an 80mm or 120mm disc with a continuously recorded physical track beginning near a
diameter of 50mm and spiraling outward to a diameter near 78mm or 118mm.
4.2.1.1. The CD Frame Structure
Data is recorded in a continuous stream of Small Frames. Each byte of a Small Frame is encoded with an 8 bit
to 14 bit modulation (EFM) code. Three merging bits are appended. The merging bits are chosen to provide
minimum low-frequency signal content and optimize phase lock loop performance. Each Small Frame consists
of 588 EFM bits (see Table 3). A Small Frame is defined in Table 3.

Table 3 – Small Frame layout and definition


1 1 byte of Sub- 12 bytes of 4 bytes of CIRC 12 bytes of 4 bytes of CIRC
synchronization channel data main channel code main channel code
pattern (14 + 3 bits) data (4 x (14 + 3) data (4 x (14 + 3)
(24 + 3 bits) (12 x (14 + 3) bits) (12 x (14 + 3) bits)
bits bits
588 bits
A CD frame consists of 98 contiguous Small Frames. This yields 24*98 = 2352 bytes of main channel data per
frame and 98 bytes of Sub-channel data per CD frame. A recorded CD is a succession of CD frames. For
audio, the bounds of a CD frame are defined by the Sub-channel bytes and for data, are determined by the
sync bytes in the main channel data.
The 98 Sub-channel bytes are separated into 2 bytes of synchronization and 96 bytes of data. Each CD frame
th
begins with the first Sub-channel sync byte and ends with the 96 Sub-channel data byte. A CD frame is
constructed from Small Frames as shown in Table 4. This is a logical representation since Small Frames are
physically interleaved. This means that precise CD frame boundaries do not exist.

13
BSR NCITS 333

Table 4 – CD Frame Structure from Small Frames


F . . .
R . . .
A Small Frame 94 Sub-channel data byte 92 24 bytes main channel data
M Small Frame 95 Sub-channel data byte 93 24 bytes main channel data
E Small Frame 96 Sub-channel data byte 94 24 bytes main channel data
Small Frame 97 Sub-channel data byte 95 24 bytes main channel data
N Small Frame 98 Sub-channel data byte 96 24 bytes main channel data
F Small Frame 1 Sub-channel sync byte 1 24 bytes main channel data
R Small Frame 2 Sub-channel sync byte 2 24 bytes main channel data
A Small Frame 3 Sub-channel data byte 1 24 bytes main channel data
M Small Frame 4 Sub-channel data byte 2 24 bytes main channel data
E . . .
. . .
N+1 Small Frame 97 Sub-channel data byte 95 24 bytes main channel data
Small Frame 98 Sub-channel data byte 96 24 bytes main channel data
F Small Frame 1 Sub-channel sync byte 1 24 bytes main channel data
R Small Frame 2 Sub-channel sync byte 2 24 bytes main channel data
A Small Frame 3 Sub-channel data byte 1 24 bytes main channel data
M Small Frame 4 Sub-channel data byte 2 24 bytes main channel data
E Small Frame 5 Sub-channel data byte 3 24 bytes main channel data
. . .
N+2 . . .
4.2.1.2. Sub-channel
Each non-sync byte of Sub-channel is labeled according to bit position, See Table 5.

Table 5 – Sub-Channel byte layout


Small Frame Sub-channel Byte
P Q R S T U V W
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

14
BSR NCITS 333

Over the 98 Small Frames, the Sub-channel is separated into bytes associated with the Sub-channel letter.
The Sub-channel sync bytes are not a part of Sub-channel data, so there are 96 bytes of Sub-channel. For
example, the P Sub-channel is separated into bytes as shown in Table 6.

Table 6 – P-Sub-Channel Layout


Small P BIT P BYTE
Frame
1 SYNC 0 -
2 SYNC 1 -
3 7
4 6
5 5
6 4
7 3 0
8 2
9 1
10 0
11 7
12 6
13 5
14 4
15 3 1
16 2
17 1
18 0
. . .
. . .
. . .
91 7
92 6
93 5
94 4
11
95 3
96 2
97 1
98 0
The byte construction for Q Sub-channels is identical.
P and Q Sub-channels provide information about the recording.
R-W Sub-channel is defined only for audio tracks. It is most often unused and is set to zeros. When used, it
carries line graphics, MIDI Control, or text. See sub-clause 6.1.23. READ SUB-CHANNEL command.

15
BSR NCITS 333

4.2.1.3. Physical track topology: Single Session Disc


CD players and readers follow the physical track by following the path of recorded EFM data. When there is no
EFM data, the player/reader is unable to follow the physical track.
The physical track is divided into 3 logical entities from the inner radius:

Lead-in Program Area Lead-out

Inner Radius Outer Radius

Figure 1 – Single Session disc


LEAD-IN - The Lead-in is a zone of protection from unrecorded areas near the disc center. The Lead-in also
contains the table of contents (TOC) for the disc’s Program Area.
PROGRAM AREA - This is also known as the user area of the disc. For example, on an audio CD, this is
where the music is recorded.
LEAD-OUT - The Lead-out is a zone of protection from unrecorded areas toward the disc’s outer edge.

4.2.2. Physical track topology - Multi-Session Disc


A Session is the recorded sequence: Lead-in, program area, Lead-out. The multi-session allows a single disc
to have several concatenated sessions.
CD-ROM devices are not typically capable of reading through unrecorded areas on the medium. The CD-ROM
device needs EFM data in order to find and stay in the physical track. This means that to ensure that a CD-
ROM Logical Unit is capable of accessing all areas of a Program Area, the Program Area needs the protection
zones of Lead-in and Lead-out.
On a recorded disc, sessions may appear as shown in Figure 2.

Session 1 Session 1 Session 1 Session 2 Session 2 Session 2


Lead-in Program Lead-out Lead-in Program Lead-out …………..
Area Area

Last Last Last


………….. Session Session Session
Lead-in Program Lead-out
Area
Figure 2 – Multi-Session Recorded Disc
In order to assure readability by CD-ROM Logical Units, the recording system should always close the session
with the most recently added program area before attempting interchange.
Additional information is needed in order to locate all of the program areas. This is accomplished by using
Mode 5 Q in the Lead-in areas.
4.2.2.1. Tracks
The Program Area of the disc is divided into logically separated areas called tracks. There shall be at least one
track in the Program Area. There may be gaps between tracks, primarily to provide a zone of digital silence
between audio program selections. P Sub-channel is reserved for identifying these transition areas between
tracks. The normal value for P is 0. During a transition area, the value for P is 1.
4.2.2.2. Frame Addressing
CD was originally developed for playing digital audio that has two channels of 16-bit samples at 44.1KHz. The
number of frames per second of play is 75:

4 bytes/Sample*44100 Samples/second = 176400 bytes/second

176400 bytes/second / 2352 bytes/frame = 75 frames/second

16
BSR NCITS 333

Given this, CD frames are addressed in terms of audio play time, i.e. Minute, Second, and Frame (MSF). The
traditional value of 60 seconds per minute is followed.
In all cases, when an address appears as part of the CD format, it is in MSF format using 2 bcd digits per time
unit. This limits the time addressing on the disc to 99bcd minutes. The representation for a time based address
is MM:SS:FF, where MM = minutes, SS = seconds, and FF = frames.
Addressing in the program area begins with 00:00:00. This advances up through the Lead-out.
The last frame in the Lead-in is 99:59:74 and decreases as the physical track is followed toward the center of
the disc. The Lead-in is typically 3 to 4 minutes in length.
4.2.2.3. Q Sub-channel
Since an audio CD frame has no address field built into the main channel, the address is carried in the Q Sub-
channel. Q Sub-channel may also carry information about the logical structure of the disc, disc identification,
and music track identification. The general format of a Q Sub-channel record is shown in Table 7.

Table 7 – Q Sub-channel record format


Field name Definitions
S0, S1 Sub-channel Synchronization
CONTROL The Control Field has 4 bits that define the type of information in the
frame:
00x0b = 2 audio channels without pre-emphasis
00x1b = 2 audio channels with pre-emphasis of 50/15 µs
10x0b = 4 audio channels without pre-emphasis
10x1b = 4 audio channels with pre-emphasis of 50/15 µs
01x0b = Data track, recorded uninterrupted
01x1b = Data track, recorded increment
11xxb = reserved
xx0xb = digital copy prohibited
xx1xb = digital copy permitted
The bits of the control field (except for the copy bit) may change during
a pause (X=00) of at least 2 seconds and during the Lead-in area only.
ADR 4 bits of identification for DATA-Q. This is also known as the Mode
(ADR) Q.
DATA Q 72 bits of data
CRC A 16 bit CRC for the Control, ADR, and DATA-Q Fields. On the disc the
CRC bits are inverted. The remainder has to be checked at zero.
16 12 5
Polynomial = P(X)=X +X +X +1

Because the sync bits and the two bytes of CRC are overhead, the valid Q information length is actually 10
bytes.

17
BSR NCITS 333

4.2.2.4. Q Sub-channel in the Program Area


During the program area 3 types of Q Sub-channel may be encountered, Mode-1 Q, Mode-2 Q, or Mode-3 Q.
ADR=1 (0001b) – Mode-1 Q
Mode 1Q occupies at least 9 out of 10 successive CD frames. Mode-1 Q in the program area is also referred
to as current position Q. The Mode-1 Q format during data and audio tracks is shown in Figure 3.

ADR DATA-Q
0001 TNO INDEX MIN SEC FRAME ZERO AMIN ASEC AFRAME

Figure 3 - Q Sub-channel Mode-1 Format recorded in Program Area


TNO = 01 to 99bcd is the track number
INDEX = 00 to 99bcd is the Index to TNO. An audio track may be
divided into up to 99 sections, identified by a non-zero index.
The first indexed area in a track shall be 01. Most audio discs
have only one indexed area per track. The pre-gap is the part
of a track-to-track gap that belongs to the following track. In a
track’s pre-gap, the track number is that of the following track
and the INDEX is 00.
MIN, SEC, FRAME = Is the relative time within the track encoded as 6 BCD digits.
This is 00:00:00 at track start and advances through the
track. During the pre-gap the time decreases.
ZERO = 8 bits of zero (00000000b)
AMIN, ASEC, AFRAME = Is the program area absolute time address expressed in 6
BCD digits.
ADR=2 (0010b) – Mode-2 Q
Mode-2 Q is optional. If Mode-2 Q is present, it shall occupy 1 out of each 100 successive frames. The Mode-
2 Q data format is shown in Figure 4.

ADR DATA-Q
0010 N1 N2 N3 N4 N5 N6 N7 N8 N9 N1 N1 N1 N1 ZERO AFRAME
0 1 2 3
Figure 4 - Q Sub-channel Mode-2 Format
The DATA-Q field is 52 bits long, organized as 13 nibbles (N1 – N13), each carrying a single BCD digit. The
resulting BCD string is the Media Catalog Number (MCN). The catalog number does not change on a disc. In
case no catalog number is encoded according to the UPC/EAN code, N1 - N13 are all zero, or Mode-2 can be
deleted from the disc.
The ZERO field contains 12 bits of zero. (000000000000b)
AFRAME is as defined in Q Sub-channel Mode-1 (two BCD digits running from 00 to 74). During the Lead-in
(TNO = 00), these 8 bits are zero.

18
BSR NCITS 333

ADR=3 (0011b) – Mode-3 Q


Mode-3 Q is optional. If Mode-3 is present, it occupies at least 1 out of 100 successive sub-coding blocks.
Mode-3 is used to give a unique number to an audio track. This is done by means of the International
Standard Recording Code (ISRC). The ISRC, as recorded on the media, is defined in Figure 5. If no ISRC is
used, Mode-3 shall be deleted. During the Lead-in and Lead-out, Mode-3 is not present on the disc. The ISRC
may only change immediately after the Track Number (TNO) has been changed. The Mode-3 data format is
shown in Figure 5.

ADR DATA-Q
0011 I1 I2 I3 I4 I5 0 0 I6 I7 I8 I9 I10 I11 I12 ZERO AFRAME
Figure 5 - Q Sub-channel, Mode-3 Format
The Country-Code is given in fields I1 through I2, the owner-code in fields I3 - I5, The year of recording in
fields I6 - I7 and the I8 through I12 contain the serial number of the recording. The characters I1 - I5 are 6-bit
cells, coded as shown in Table 8. The characters I6 - I12 are coded in 4 bit BCD numbers.
I1 - I12 define the ISRC.
The ZERO Field contains 4 bits of zero. (0000b)
AFRAME is defined in Q Sub-channel Mode-1 Q (two BCD digits running from 00 to 74). During the Lead-in
area (TNO = 00), these 8 bits are zero.

Table 8 - ISRC 6 bit character codes (in hexadecimal)


CHAR CODE CHAR CODE
0 00 I 19
1 01 J 1A
2 02 K 1B
3 03 L 1C
4 04 M 1D
5 05 N 1E
6 06 O 1F
7 07 P 20
8 08 Q 21
9 09 R 22
A 11 S 23
B 12 T 24
C 13 U 25
D 14 V 26
E 15 W 27
F 16 X 28
G 17 Y 29
H 18 Z 2A

4.2.2.5. Q Sub-channel in the Lead-out Area


Q Sub-channel in the Lead-out area is similar to Q Sub-channel in the program area. The differences are:
Mode-1 Q Sub-channel: TNO = AAh, INDEX = 01bcd
Mode-2 Q Sub-channel: No differences.
No other Q Sub-channel modes are allowed in the Lead-out area.

19
BSR NCITS 333

4.2.2.6. Q Sub-channel in the Lead-in Area


Q Sub-channel in the Lead-in area is referred to as the Table of Contents (TOC).
Three modes of Q are allowed in the Lead-in area: Mode-1 Q, Mode-2 Q, and Mode-5 Q.

20
BSR NCITS 333

Mode-1 Q
The Mode-1 Q format during the Lead-in is shown in Figure 6. TNO is always 00 during the Lead-in and ZERO
is always 00 during the Lead-in. Variations of Mode-1 Q are defined by the value of POINT.

ADR DATA-Q
0001 TNO=00 POINT MIN SEC FRAME ZERO=00 PMIN PSEC PFRAME

Figure 6 - Q Sub-channel Mode-1 Format recorded in Lead-in


POINT = 01bcd – 99bcd is the track number of the track being defined.
MIN, SEC, FRAME = Running time in the Lead-in, encoded as bcd
PMIN, PSEC, PFRAME = Track start time, encoded as bcd.

POINT=A0h
MIN, SEC, FRAME = Running time in the Lead-in, encoded as bcd
PMIN = the track number of the first track in the program area, encoded as BCD
PSEC = the program area format:
00h - CD-DA or CD-ROM
10h - CD-I
20h - CD-ROM-XA
PFRAME = 00
POINT=A1h
MIN, SEC, FRAME = Running time in the Lead-in, encoded as BCD
PMIN = the track number of the last track in the program area, encoded as BCD
PSEC = 00
PFRAME = 00
POINT=A2h
MIN, SEC, FRAME = Running time in the Lead-in, encoded as BCD
PMIN, PSEC, PFRAME = the start time, encoded as BCD, of the Lead-out area.

Mode-2 Q
Mode-2 Q Sub-channel is defined the same in the Lead-in, program area and Lead-out.

Mode-5 Q
Mode-5 Q Sub-channel provides additional information about CD-R and CD-RW recordings. The format of a
Mode-5 Q Sub-channel is shown in Figure 7. TNO is always 00 during the Lead-in. Variations of Mode-5 Q are
defined by POINT.

ADR DATA-Q
0101 TNO POINT MIN SEC FRAME ZERO PMIN PSEC PFRAME
Figure 7 - Q Sub-channel Mode-5 Format recorded in Lead-in
POINT= B0h(This identifies a multi-session disc)
MIN, SEC, FRAME = the start time for the next possible session’s program area. A final
session is indicated when either the Mode-5 point B0 is absent or when
MSF = FF:FF:FF.

21
BSR NCITS 333

ZERO = the number of different Mode-5 pointers present.


PMIN, PSEC, PFRAME = the maximum possible start time of the outermost Lead-out.
POINT=B1h (Audio only: This identifies the presence of skip intervals)
MIN = 00
SEC = 00
FRAME = 00
ZERO = 00
PMIN = the number of skip interval pointers
PSEC = the number of skip track assignments in POINT=B2, B3, and B4
PFRAME = 0
POINT=B2h, B3h, B4h (Audio only: This identifies tracks that should be skipped during playback)
ZERO = 00..09 bcd is a label of the frame number in the PMA unity
MIN = 01..99 bcd track number to skip upon playback
SEC = 00..99 bcd track number to skip upon playback, 00 if no skip track is specified
FRAME = 00..99 bcd track number to skip upon playback, 00 if no skip track is specified
PMIN = 00..99 bcd track number to skip upon playback, 00 if no skip track is specified
PSEC = 00..99 bcd track number to skip upon playback, 00 if no skip track is specified
PFRAME = 00..99 bcd track number to skip upon playback, 00 if no skip track is specified
Note: Skip intervals are seldom written by recorders and typically ignored by readers.

POINT=01…40 (Audio only: This identifies a specific playback skip interval)


ZERO = 00
MIN, SEC, FRAME = Skip interval stop time in 6 BCD digits.
PMIN, PSEC, PFRAME = Skip interval start time in 6 BCD digits.
POINT=C0h (Together with POINT=B0h, this is used to identify a multi-session disc)
ZERO = 00
MIN, SEC, FRAME = ATIP values from Special Information 1, ID=101 (See 4.2.3.)
PMIN, PSEC, PFRAME =Start time of the first Lead-in area of the disc.

4.2.2.7. CD Main Channel Block Formats


Although some are rarely used, there are 6 main channel frame formats defined. Audio blocks are recorded
unmodified.
Data blocks are given a synchronization field at the beginning of the block. The pattern is shown in Figure 8.

00h FF FF FF FF FF FF FF FF FF FF 00h
h h h h h h h h h h

Figure 8 – Synchronization Field pattern

22
BSR NCITS 333

The synchronization field is followed by a 4 byte header defined in Table 9. After the sync pattern the
remaining bytes of the data block are scrambled with a feedback mechanism. This is done with a 15-bit shift
15
register fed back according to the polynomial X +X+1.

Table 9 – Sync pattern block header


Header Offset Header Byte Content
0 Minute Program area time of block, minute component (00.-.79 bcd)
1 Second Program area time of block, second component (00.-.59 bcd)
2 Frame Program area time of block, frame component (00.-.74 bcd)
3 Mode Bits 1, 0 = Data Mode, Bits 7 -.5 = block indicator field, Bits 4 -
2 = Reserved. When Bits 7 – 5 = 000 indicates user data.

Mode byte Format is shown below:


Bits 7,6,5
=000 - User Data block
=001 - Fourth Run-in block
=010 - Third Run-in block
=011 - Second Run-in block
=100 - First Run-in block
=101 - Link block. Physical linking of EFM data
=110 - Second Run-out block
=111 - First Run-out block
Bits 4,3,2 - Reserved
=000
Bits 1,0
=00 - Mode 0 Data
=01 - Mode 1 Data
=10 - Mode 2 Data
=11 - Reserved

Block Format for Audio


Audio is streamed, so only user data resides within the frame. See the READ CD command description for
byte ordering.
Block Format for Mode 0 Data
Mode 0 is a rarely used format as it is zero filled in the entire user data area. Mode zero data (Table 10) has
the following format.

Table 10 – Mode Zero Data Format


Byte Offset Field Length Content
0 12 Data Block Sync pattern
12 3 Block MSF address (BCD)
15 1 Data mode = 0
16 2336 User data (each byte is zero)

23
BSR NCITS 333

Block Format for Mode 1 Data


Mode 1 data (Table 11) is most prevalent in CD-ROM applications. The sync pattern, header and user data
are protected by a 32-bit CRC. The header and user data are covered by two additional layers of error
correction, P and Q, collectively called Level 3 correction. This is also referred to as Layered error correction
(L-EC or C3) .

Table 11 – Mode 1 Data Format


Byte Offset Field Length Content
0 12 Data Block Sync pattern
12 3 Block MSF address (BCD)
15 1 Data mode = 01
16 2048 User data
2064 4 CRC (P = (X16+X15+X2+X1)*(X16+X2+X+1))
Bytes 0 -2063
2068 8 Zero fill
2076 172 P parity symbols
2248 104 Q parity symbols

The coverage of the CRC is the sync pattern, Header, and the User Data.
The coverage of Level 3 P is Header, User Data, CRC, and the zero fill.
The coverage of Level 3 Q is Header, User Data, CRC, the zero fill, and the P parity.
Block Format for Mode 2 formless Data
The Mode 2 formless block format (Table 12) is rarely used. There is no defined CRC or additional correction.

Table 12 – Mode 2 formless block format


Byte Offset Field Length Content
0 12 Data Block Sync pattern
12 3 Block MSF address (BCD)
15 1 Data mode = 2
16 2336 User data
Block Format for Mode 2 form 1 Data
Mode 2 form 1 data is regularly used in recorder applications and Video CD movies. The Mode 2 form 1 format
is very similar to Mode 1 format. The differences are:
• The 8 zero fill bytes have been moved to between the header and user data as two copies of a 4 byte sub-
header.
• The CRC, P-parity, and Q-parity do NOT cover the block header. This assures the ability of relocating
data, including all parity symbols.

24
BSR NCITS 333

Table 13 – Mode 2 form 1data format


Byte Offset Field Length Content
0 12 Data Block Sync pattern
12 3 Block MSF address (BCD)
15 1 Data mode = 2
16 4 Sub-header, first copy
20 4 Sub-header, second copy
24 2048 User data
2072 4 CRC (P = (X16+X15+X2+X1)*(X16+X2+X+1))
Bytes 16 - 2071
2076 172 P parity symbols
2248 104 Q parity symbols

The format of the sub-header is shown in Table 14.

Table 14 – Mode 2 form 1 sub-header format


Sub-Header Byte Name Definition
Byte
0 File number Identifies the file to that the block belongs
1 Channel number Playback channel selection
2 Sub-mode
Bit 7 End-of-File
Bit 6 Real-time block
Bit 5 Form (0 = Form 1, 1 = Form 2)
Bit 4 Trigger Block
Bit 3 Data Block
Bit 2 Audio Block (not traditional CD-DA audio)
Bit 1 Video Block
Bit 0 End-of-Record
3 Coding information

Block Format for Mode 2 form 2 Data


Mode 2 form 2 data (Table 15) is regularly used in Video CD movies. The data is optionally covered by CRC
within the last 4 bytes of the block.

25
BSR NCITS 333

Table 15 – Mode 2 form 2 data format


Byte Offset Field Length Content
0 12 Data Block Sync pattern
12 3 Block MSF address (BCD)
15 1 Data mode = 2
16 4 Sub-header, first copy
20 4 Sub-header, second copy
24 2324 User data
2348 4 Optional CRC Bytes 16 - 2347

4.2.2.8. CD Recordable and CD ReWritable Media Structure


An unrecorded CD-R or CD-RW disc does not have any EFM present to find the physical track in the
traditional way of CD-ROM Logical Units. A blank CD-R or CD-RW is not smooth, it is pre-grooved and the
groove has a built-in wobble for the purpose of defining and finding the physical track.
The wobble is a 22.05kHz signal (at 1X) modulated with digital information. The time position within the pre-
groove is contained in each pre-groove frame of 42 bits. This is known as Absolute Time In Pre-groove (ATIP)
(Table 16).

Table 16 – ATIP format


ATIP Frame Item Content
Sync (4 bits) Synchronization nibble
Minute (8 bits) Absolute disc time: Minute (BCD)
Second (8 bits) Absolute disc time: Seconds (BCD)
Frame (8 bits) Absolute disc time: Frame (BCD)
CRC (14 bits) CRC protection

In the area that is expected to be the disc’s Lead-in, additional information is interleaved between positional
ATIP frames. The additional information provided is:
• First possible start time for disc Lead-in (TOC)
• Last possible start time for disc Lead-out
• Special information about recording permissions
• Power and speed requirements for recording the medium
• CD-R vs. CD-RW medium
4.2.2.8.1. CD-R/RW Disc Management
CD-R/RW discs have two additional areas prior to the first Lead-in, the Power Calibration Area (PCA), and the
Program Memory Area (PMA).
PCA - The Power Calibration Area (PCA) is present only for CD-R and CD-RW media for the purpose of write
power calibration. The PCA is divided into two areas: the test area and the count area. The test area is divided
into 100 calibration partitions. The count area is an accounting area for recording usage of the test area.
PMA - The Program Memory Area is present only for CD-R and CD-RW media for the purpose of accounting
for the usage of user data areas on the medium. This information is contained only within the Sub-channel of
the PMA frames. The main channel content is not defined within the PMA.
Update the PMA means to update the PMA on the disc or to update the PMA Cache, that shall be written to
the PMA on the disc prior to the removing the disc from the Logical Unit. PMA Caching is vendor specific.

26
BSR NCITS 333

26mm
PCA Count
Special optical sensor used for this location
Center

PCA PMA TOC(L1) Lead-out TOC

User Blocks

First Session Second Session

Partially recorded Disc TOC information contained in the PMA

The PCA is used for Power Calibration


Note that it can be used only 100 times for CD-R Media

Figure 9 – CD-R and CD-RW medium

4.2.2.8.2. PMA Q Sub-channel


The PMA is a temporary TOC to be used as a disc is being recorded in increments. The format of the Q Sub-
channel for PMA entries is similar to those in the Lead-in.
The PMA is recorded in groups of 10 frames called a PMA unity. If any of the frames in a unity is recorded,
then all frames in the unity shall be recorded. A given PMA entry shall appear either 5 or 10 times within a
unity.
Q Sub-channel in the PMA has the general form shown in Figure 10.

ADR DATA-Q
0001- TNO POINT MIN SEC FRAME ZERO PMIN PSEC PFRAM
0110 E
Figure 10 – PMA, Q Sub-channel
Mode-1 Q Sub-channel in the PMA is a TOC item:
TNO = 00
POINT =Track number encoded as two BCD digits.
ZERO = 00-09bcd is a label of the frame number in the PMA unity
MIN, SEC, FRAME = Track stop time in 6 BCD digits.
PMIN, PSEC, PFRAME = Track start time in 6 BCD digits.
Mode-2 Q Sub-channel in the PMA is a Disc Identification item (optional):
TNO = 00
POINT = 00
ZERO = 00-09bcd is a label of the frame number in the PMA unity
MIN, SEC, FRAME = Disc identification as a 6 BCD digit number.
PMIN = 00
PSEC = Sessions format: 00 - CD-DA or CD-ROM, 10 - CD-I, 20 - CD-ROM-XA
PFRAME = 00
Mode-3 Q Sub-channel in the PMA is a Skip track item (optional, audio only):
TNO = 00
POINT = 01-21bcd is the mode-3 index of this item
ZERO = 00-09bcd is a label of the frame number in the PMA unity

27
BSR NCITS 333

MIN = 01-99bcd track number to skip upon playback


SEC = 00-99bcd track number to skip upon playback, 00 if no skip track is specified
FRAME = 00-99bcd track number to skip upon playback, 00 if no skip track is specified
PMIN = 00-99bcd track number to skip upon playback, 00 if no skip track is specified
PSEC = 00-99bcd track number to skip upon playback, 00 if no skip track is specified
PFRAME = 00-99bcd track number to skip upon playback, 00 if no skip track is specified
Mode-4 Q Sub-channel in the PMA is an unskip track item (optional, audio only):
TNO = 00
POINT = 01-21bcd is the mode-4 index of this item
ZERO = 00-09bcd is a label of the frame number in the PMA unity
MIN = 01-99bcd track number to unskip upon playback
SEC = 00-99bcd track number to unskip upon playback, 00 if no unskip track is specified
FRAME = 00-99bcd track number to unskip upon playback, 00 if no unskip track is specified
PMIN = 00-99bcd track number to unskip upon playback, 00 if no unskip track is specified
PSEC = 00-99bcd track number to unskip upon playback, 00 if no unskip track is specified
PFRAME = 00-99bcd track number to unskip upon playback, 00 if no unskip track is specified
Mode-5 Q Sub-channel in the PMA is a skip interval item:
TNO = 00
POINT = 01-40bcd is the mode-5 index of this item
ZERO = 00-09bcd is a label of the frame number in the PMA unity
MIN, SEC, FRAME = Skip interval stop time in 6 BCD digits.
PMIN, PSEC, PFRAME = Skip interval start time in 6 BCD digits.
Mode-6 Q Sub-channel in the PMA is an “unskip interval” item:
TNO = 00
POINT = 01-40bcd is the mode-6 index of this item
ZERO = 00-09bcd is a label of the frame number in the PMA unity
MIN, SEC, FRAME = Unskip interval stop time in 6 BCD digits.
PMIN, PSEC, PFRAME = Unskip interval start time in 6 BCD digits.
4.2.2.9. Recording
Blank CD-R is not randomly writable. CD-RW is limited in its random write capability. Due to the interleaved
nature of CD frames, blank media shall be recorded in groups of frames with linkage for appending new
recording.
There are two methods for linking separate writes on CD-R or CD-RW:
• Audio - Linkage occurs within a single frame time. This assures that locating the linkage frame by its Q at
a later time is nearly impossible.
• Data - Since it is necessary to locate exact boundaries of user blocks, additional padding is inserted
around the linkage frame. The collection of the link block, the pad blocks, and the user blocks is called a
Packet. The format of the packet is shown as follows:

Link Run-in Run-in Run-in Run-in User Data Blocks Run-out Run-out
Block Block 1 Block 2 Block 3 Block 4 Block 1 Block 2
Figure 11 – Packet Format

28
BSR NCITS 333

Blocks are uniquely identified by bits 5, 6, and 7 of the block’s mode byte (Table 17).

Table 17 – Block Identifier bits


Mode Byte Bits 7, 6, 5 Block
000 User Data
001 Run-in block 4
010 Run-in block 3
011 Run-in block 2
100 Run-in block 1
101 Link block
110 Run-out block 2
111 Run-out block 1

See sub-clause 4.2.2.7. for a detailed definition of the Mode Byte. Main channel user data should be all zeros.
Only entire packets may be rewritten on CD-RW media.
There are 2 types of recording on CD-R: Uninterrupted and Incremental. Incremental recording requires
linking, whereas uninterrupted does not.
Disc At Once is the only type of uninterrupted recording and is a special case of Session At Once. The
recording begins at the start of the Lead-in and stops only when the last block of the Lead-out is written. The
PMA is not written. No linking is required.
There are 5 types of incremental recording:
• Session At Once - The recording begins at the start of the Lead-in of the next session and stops only when
the last block of that session’s Lead-out is written. The PMA is constructed and written as a separate write
action. Linking between sessions is required.
• Reserve Track - User data is not necessarily written. The PMA is written for the purpose of defining a new
track.
• Track At Once - A single packet that includes the pre-gap of the track and all of the track’s user data.
• Variable Packet - A variable number of user blocks is written between data linkage blocks. A variable
packet shall be a part of the user data area of a track.
• Fixed Packet - A fixed number of user blocks is written between the user blocks. A fixed packet shall be a
part of the user data area of a track.

29
BSR NCITS 333

4.2.2.10. The Track Descriptor Block


The Track Descriptor Block (TDB) is required for Track at Once or Packet recording. When the TDB is present,
each block of the pre-gap of a track is a TDB. When a track is only reserved for Track At Once recording,
recording of the TDB is deferred until the track data is written. When a track is reserved for either sort of
packet recording, the TDB shall be written as a single packet upon reservation.
The TDB contains main channel information about the track recording and optionally contains a history of
tracks that preceded the TDB.
The TDB begins with an 8 byte header. The TDB header is followed by one or more Track Descriptor Units
(TDU) (Table 19).

Table 18 – Track Descriptor Block (TDB) header


Bit 7 6 5 4 3 2 1 0
Byte
0 54h (ASCII “T”)
1 44h (ASCII “D”)
2 49h (ASCII “I”)
3 Pre-gap Length encoded BCD
4
5 Reserved Current
6 Lowest Track Number Listed (BCD)
7 Highest Track Number Listed (BCD)
8 One or more Track Descriptor Unit (TDU)
:
n

Pre-gap length is given in number of blocks.


The Current bit, when set to 1, indicates that only the TDU for the current track is present. When cleared to 0,
indicates that a TDU for tracks with numbers smaller than or equal to the current track, are present.

Table 19 – Track Descriptor Unit (TDU) Format


Byte/ 7 6 5 4 3 2 1 0
Bit
0 Track Number (BCD)
1 Recording method
2 (MSB)
3 Fixed Packet Size in blocks (BCD)
4 (LSB)
5 Reserved (00)
… Reserved (00)
15 Reserved (00)

Recording method is coded as follows:


00h Audio track written TAO
80h Data track written TAO
90h Incrementally written data track, variable packets
91h Incrementally written data track, fixed packets

30
BSR NCITS 333

Fixed Packet size is filled with FFFFFFh whenever the recording method is not fixed packet.

4.2.3. CD Audio error reporting


PLAY commands with the immediate bit set in the audio control mode return status as soon as the command
has been validated (that may involve a seek to the starting address). The playback operation continues and
may complete without notification to the Initiator. Error termination of audio operations shall be reported to the
Initiator by returning CHECK CONDITION STATUS to the next command (except for REQUEST SENSE,
INQUIRY, GET CONFIGURATION, and GET EVENT/STATUS NOTIFICATION). The deferred error sense
data is used to indicate that the error is not due to the current command.
The status of the play operation may be determined by issuing a REQUEST SENSE command. The sense key
is set to NO SENSE, the ASC is set to NO ADDITIONAL SENSE DATA and the audio status (see Table 292)
is reported in the additional sense code qualifier field.

31
BSR NCITS 333

4.2.4. CD ready condition/not ready condition


The ready condition occurs after a disc is inserted and the Logical Unit has performed its initialization tasks.
These tasks may include reading the Table of Contents from the media. Table 20 defines the Not Ready Error
reporting for each command. A not ready condition shall occur only for the following reasons:
a) There is no medium mounted.
b) The Logical Unit is unable to load or unload the medium.
c) The Logical Unit is unable to recover the Table of Contents.
d) The controller cannot select the Logical Unit.
e) As otherwise described in the command operation.

Table 20 - Not Ready Error Reporting (by command)


Command Name Operation Return Ready Returns Not
Code Status Ready Statust
BLANK A1h Yes Group 2 Note 1
CLOSE TRACK/SESSION 5Eh Yes Group 2 Note 1
COMPARE 39h Yes Group 1
COPY 18h Yes Group 2
COPY AND VERIFY 3Ah Yes Group 2
SYNCHRONIZE CACHE 36h Yes Group 2
FORMAT UNIT 04h Yes Group 2 Note 1
GET EVENT/STATUS 4Ah No Not Allowed
NOTIFICATION
INQUIRY 12h No Not Allowed
LOAD/UNLOAD CD A6h Yes Group 1 Note 1
LOCK/UNLOCK CACHE 38h No Group 2
LOG SELECT/SENSE 4Ch,4Dh No Group 1
MECHANISM STATUS BDh No Group 1
MODE SELECT 55h, 15h No Group 1
MODE SENSE 5Ah, 1Ah No Group 1
PAUSE/RESUME 4Bh Yes Group 1
PLAY AUDIO (10) 45h Yes Group 1
PLAY AUDIO (12) A5h Yes Group 1
PLAY AUDIO MSF 47h Yes Group 1
PLAY CD BCh Yes Group 1
PREFETCH 34h Yes Group 1
PREVENT/ALLOW MEDIUM 1Eh No Group 1
REMOVAL
READ (10) 28h Yes Group 1
READ (12) A8h Yes Group 1
READ BUFFER 3Ch No Group 1
READ CAPACITY 25h Yes Group 1
READ CD BEh Yes Group 1
READ CD MSF B9h Yes Group 1
READ DISC INFORMATION 51h Yes Group 1
READ DVD STRUCTURE A0h Yes Group 1
READ FORMAT CAPACITIES 23h No Group 1
READ HEADER 44h Yes Group 1
READ LONG 3Eh Yes Group 1
READ SUB-CHANNEL 42h Yes Group 1

32
BSR NCITS 333

Table 20 (cont.) - Not Ready Error Reporting (by command)


Command Name Operation Return Ready Time-out
Code Status
READ TOC/PMA/ATIP 43h Yes Group 1
READ TRACK INFORMATION 52h Yes Group 1
RECEIVE DIAGNOSTIC 1Ch No Not Allowed
RESULTS
RELEASE 17h, 57h No Not Allowed
REPAIR TRACK 58h Yes Group 1
REPORT KEY AAh Yes Group 1
REPORT LUNS A0h No Group 1
REQUEST SENSE 03h No Not Allowed
RESERVE 16h, 56h No Not Allowed
RESERVE TRACK 53h Yes Group 2
REZERO 01h Yes Group 1
SCAN BAh Yes Group 1
SEEK 2Bh Yes Group 1
SEND DIAGNOSTICS 1Dh No Not Allowed
SEND KEY A3h Yes Group 1
SEND OPC INFORMATION 54h No Group 1
SET CD SPEED BBh No Group 1
SET READ AHEAD A7h Yes Group 1
START/STOP UNIT 1Bh Yes Group 1
STOP PLAY/SCAN 4Eh Yes Group 1
TEST UNIT READY 00h Yes Group 1
VERIFY (10) 02F Yes Group 2
VERIFY (12) A2h Yes Group 1
WRITE (10) 2Ah Yes Group 1
WRITE AND VERIFY (10) AEh Yes Group 1
Note 1: With the IMMED bit set, Time Out is not allowed and shall be completed within the
Group 1 time.

4.2.5. Sensing support for CD-audio commands.


The preferred method of sensing support for CD audio is the implementation of the GET CONFIGURATION
command, see sub-clause 6.1.4. For legacy implementations, if any commands related to audio operations are
implemented, then the PLAY AUDIO(10) command shall be implemented to allow a method for the Initiator to
determine if audio operations are supported. A target responding to a PLAY AUDIO(10) command that has a
transfer length of zero, with CHECK CONDITION STATUS, and setting the sense key to ILLEGAL REQUEST
does not support audio play operations.

33
BSR NCITS 333

4.3. DVD Model


Like CD Logical Units/Media there are multiple types of DVD Logical Units/Media:
• Read Only (DVD-ROM)
• Recordable (DVD-R)
• Re-Writable (DVD-RAM, DVD+RW).
The capacities of these different media vary. In addition, each of these media also has the possibility of one or
two sides, and DVD-ROM may have one or two layers per side. A DVD Logical Unit may be capable of
reading CD-ROM.

4.3.1. DVD Media Functionality


The DVD media is currently specified by the Physical sections of the DVD Consortium Specifications or Books.
• DVD Media can contain information on one side (Single Sided) or on both sides (Double Sided).
• DVD-ROM disc has two types of layer structure: single layer and double layer.
• Each Layer on either side contains a spiral track. This track contains a Lead-in, Data Area, and a Middle
Area or a Lead-out.
• Dual Layer discs have two types of track path: Parallel Track Path and Opposite Track Path.
• One ECC BLOCK consisting of 16 sectors, and having 37856 bytes.
• There is no Sub-channel, only a main channel.
• Addressing from the Initiator is LBA (Logical Block Address) only.
• Information concerning error correction that has been performed is not usually returned to the Initiator.
• Some data on DVD Media is used only inside of the DVD Logical Unit and is not transferred to the Initiator.
• The Initiator Read & Write unit (User Data) is 2 Kilobytes (2048 Bytes).

34
BSR NCITS 333

4.3.2. Track Structure


There are two types of track path for double layer discs, either parallel or opposite. When the path is parallel
each track has its own Lead-in and Lead-out.
There are two addresses used in the DVD system, the Block address contained in the sector headers
(Physical Sector Number), and the address used to reference the blocks from the Initiator system (LBA). The
address used from the Initiator starts at 0 and progresses up through the end of the recorded information on
the disc. LBA 0 shall correspond with the sector address of 030000h on DVD-ROM media. Only the Data Area
is generally addressable using an LBA.
Figure 12 through Figure 17 show examples of LBA to Physical Sector Number translations for DVD media.

Lead-in Area Data Area Lead-out Area Layer 0

Physical
Block
Number

02FFFFh 030000h End PSN (0)

Towards OD

End PSN (0): The end Physical Block number of Data Area of Layer 0

030000h PSN End PSN (0)


(inner) (outer)

Data Area of Layer 0

0 LBA Last LBA

Volume Space

Figure 12 – Physical and Logical Layout of Single Layer DVD-ROM Media

35
BSR NCITS 333

Lead-in Area Data Area Lead-out Area Layer 1

Lead-in Area Data Area Lead-out Area Layer 0


Physical
Block
Number

End PSN (1)

02FFFFh 030000h End PSN (0)

Towards OD

End PSN (0): The end Physical Block number of Data Area of Layer 0

030000h PSN End PSN (0) 030000h PSN End PSN (1)

(inner) (outer) (inner) (outer)

Data Area of Layer 0 Data Area of Layer 1

0 LBA Last LBA

Volume Space

Figure 13 – Physical and Logical Layout of Parallel Track Path DVD-ROM Media

36
BSR NCITS 333

End PSN (1) Address in Layer 1

End PSN (0)

Lead-out Area Data Area Middle Area Layer 1

Lead-in Area Data Area Middle Area Layer 0


Physical
Block
Address in Layer 0
Number

02FFFFh 030000h End PSN (0)

Towards OD

End PSN (0): The end Physical Block number of Data Area of Layer 0
End PSN (0): The number calculated so that each bit of the End PSN (0) is inverted.
End PSN (1): The end Physical sector number of Data Area of Layer 1

030000h PSN End PSN (0) End PSN (0) PSN End PSN (1)

(inner) (outer) (outer) (inner)

Data Area of Layer 0 Data Area of Layer 1

0 LBA Last LBA

Volume Space

Figure 14 – Physical and Logical Layout of Opposite Track Path DVD-ROM Media

37
BSR NCITS 333

R-Information
Area Data Area

PCA RMA Lead-in User Data Area Lead-out Layer 0

Physical
Block
Number

End PSN (0)


30000h

24FA0h

223B0h
20800h

22.6mm 24mm 58mm max.

Diameter
Towards OD

End PSN (0): The end Physical sector number of Data

030000h PSN End PSN (0)

(inner) (outer)

Data Area of Layer 0

0 LBA Last LBA

Volume Space

Figure 15 – Physical and Logical Layout of DVD-R Media

38
BSR NCITS 333

Lead-in Area Data Area Lead-out Area Layer 0

Physical
Block
Number

030FFFh 031000h End PSN (0)

Toward the
Outer Diameter
End PSN (0): The end Physical Block number of Data Area of Layer 0

031000h PSN End PSN (0)


(inner) (outer)

Data Area of Layer 0

0 LBA Last LBA

Volume Space

Figure 16 – Physical and Logical Layout of Single Layer DVD+RW Media

39
BSR NCITS 333

D efect C o ntr ols D efect C o ntr ols

Lea d-in Area D ata A r ea Lea d-ou t Area Lay er 0


Phy sical
B lo ck
N um be r

0 2FFFF h 0 30 00 0 h 0 31 00 0 h

End P SN (0 ) = 16 B 47 Fh
T ow ar ds O D

En d PSN (0 ): T h e en d P hy sical sector nu m b er o f D ata A rea of L a yer 0

D efe ct C o ntr ols are n on u ser ad dr essa ble b lock s, u sed for drive co ntrolled defe ct m ana g em e nt.
T hese blo cks co ntain D efe ct m a nag em ent A reas (D M A s). D efect co ntr ols be gin s 0 3 00 0 0h, this
is th e data a rea for D V D -R O M a nd for D V D -R . T he data area begins 03 1 00 0h for D V D -R A M .

D ata A r ea

0 31 00 0 h PSN En d PSN (0 ) = 16 B 47 Fh

(in ner)
Spar e G u ard Spare G u ard G u ard U ser A r ea 23 Spar e
U ser A r ea 0 U ser A r ea 1
A rea 0 A rea A rea 1 A rea A rea A rea 2 3

G rou p 0 G rou p 1 G rou p 23


Zo ne 0 Zo ne 1 Zo ne 2 3

Sectors a ssig n ed to Sectors a ssig n ed to Sectors a ssig n ed to


G rou p 0 G rou p 1 G rou p 23

0 LB A Last LB A = 12 9 98 Fh

V olu m e S pac e

- D V D -R A M m edia co ntains 2 4 zon es


- Ea ch o f the se zon es ha s equ al rad ial size, th er efore nu m ber of E C C blo ck s p er zo n e in crea se fro m 1 66 2
a t I nter D iam eter to 4 47 5 a t O u ter D ia m eter
- T h e nu m ber o f sectors in eac h S pa re A rea allocated p er zone is prop ortional to th e nu m b er o f sector s in
ea ch U ser A rea, ap pr ox im ate ly 5 %
- T h e U ser A r ea m ay co ntain de fectiv e se ctor s w hich ar e repla ced by se ctor s in the Spa re A rea; therefore,
the nu m ber of u sers a cc essib le sec tor s is ea ch z on e is k ept at a pred eter m in ed nu m ber .

Figure 17 – Physical and Logical Layout of DVD-RAM Media

40
BSR NCITS 333

4.3.3. Recording for DVD-R


4.3.3.1. RZone Description
The DVD-R specification describes a logical entity called an RZone. This standard describes Tracks as they
are implemented on CD. An RZone shall be treated as a Track, with the following differences from a CD
Track:
1. An RZone may only contain data (no CD Audio Tracks).
2. An RZone has a pre-gap of 0 or 16 sectors instead of 150.
3. An RZone post-gap size is determined by rounding to the ECC block size, and is 0 - 15 sectors in length.
Note: Pre-gap, post-gap are not definded in the DVD-R specification. In this standard, pre-gap is Linking Loss Area at
the beginning of a RZone, post-gap is Linking Loss Area at the end of an RZone. Linking Loss Areas are possible in
the middle of an RZone.
4. CD track parameters such as Copy, Control, Data Mode, Packet, FP, and Packet Size either do not apply
or have constant values. For purposes of reporting, Copy = 0, Control = 5, Data Mode = 1, FP = 0, Packet
Size = 16.
5. The link size is variable due to both user selection of 2k or 32k linking and Logical Unit padding of the last
write to an ECC boundary. As in CD, the Next Writable Address can always be obtained via the READ
TRACK INFORMATION command.
6. The maximum number of RZones is 2302.
7. RZones do not contain sub-channel information.
Whenever this standard references a Track, and the medium is DVD-R, the translation above should be
applied.

4.3.3.2. Border-in/Border-out
The DVD-R specification describes entities called Lead-in, Lead-out, Border-in and Border-out. DVD-R always
has zero or one Lead-in and zero or one Lead-out. The Lead-in, if recorded, is always at the beginning of the
disc and the Lead-out, if recorded, is always at the end of the disc. No data can be recorded beyond the
Lead-out. The information recording area is a collection of Lead-in/Border-in, Bordered Areas, and Border-out.
This area, when written, is called a complete session.
If intermediate interchangeability is desired before recording the Lead-out, a Border-out is written in its place.
When additional recording is to be done, a Border-in is recorded between the last Border-out and the new
data.
If only a Border-in and Border-out are to be written (after incrementally recording data), the Initiator shall set
the Multi-session field of the Write Parameters page to 11b. If set to 11b, and insufficient space exists on the
medium for another Border, the Logical Unit shall permanently close the medium by recording a Lead-out. If it
is desired to permanently close a disc, the Multi-session field shall be set to 00b or 01b. The Multi-session
field is ignored on DVD-R when the Write Type is set to Session at Once, and no next Border is possible.
Within this standard Multi-session is used instead of Multi-Border, incomplete session is used instead of
incomplete Border, complete session is used instead of complete Border for DVD-R Logical Units.
4.3.3.3. RMA Caching
RMA area is the Recording Management Area for DVD-R media. To Update the RMA means to update the
RMA on the disc or to update the RMA Cache, that shall be written to the RMA on the disc prior to the
removing the disc from the Logical Unit. RMA Caching is vendor specific.

4.3.4. ECC Block


The user data is contained in ECC Blocks. The ECC Blocks are made up of 16 sectors and are used to
provide error correction. To read any data, the whole ECC Block shall be read and error correction applied.
When the ECC Block is written during formatting or normal write operation, the user data and the ECC
information is encoded and written to sectors as a whole ECC Block.

41
BSR NCITS 333

192 rows of
Sector Data from 16 Sectors, 2064 bytes each organized Row Parity,
as 192 rows of 172 bytes each. 10 bytes each

16 rows of Colum n Parity


182 bytes per row

Figure 18 – Data Organization within an ECC Block

4.3.5. Sector Configuration


4.3.5.1. Physical Sector
The data recorded to the DVD media is in a format called “Data Unit 3,” which consists of 2048 bytes of User
Data, 12 bytes of Data ID and others, 4 bytes of error detection code (EDC), 302 bytes of ECC and 52 bytes of
SYNC. During the formation of the Data Unit 3, there are intermediate products which are called “Data Unit 1”
and “Data Unit 2” according to the stage of signal processing as shown in Figure 19. The Data Unit 3 is
identical among DVD-ROM, DVD-R, DVD-RAM, and DVD+RW. In the case of DVD-ROM, DVD-R, and
DVD+RW, only the Data Unit 3 is recorded. DVD-RAM media has other fields in between the Data Unit 3 as
shown in Figure 19.

D ata U nit 3 D ata U nit 2 D ata U nit 1 U ser D ata

2418 2366 2064 2048

SY N C ECC D ata ID an d oth ers

52 302 12

ED C

Figure 19 – Formation of Data Unit 3


The physical sector of DVD-RAM consists of Data Unit 3, preceding fields and succeeding fields to it and
embossed fields. The Data Unit 3 is identical with that for DVD-ROM. The Header field contains four physical
IDs. In the case of DVD-RAM, there are two sets of IDs; one that is contained in the Data Unit 1 and another
that is pre-recorded. Addressing of sectors for DVD-RAM will only use the physical (pre-recorded) ID. After
formatting, it is possible for the ID in Data Unit 1 to contain an invalid address.

42
BSR NCITS 333

4.3.5.2. Data Unit 1

172 Bytes
4 Bytes 2 Bytes 6 Bytes
Data ID IED CPR_M AI User Data 160 bytes (D0-D159)

User Data 172 Bytes (D160-D131


User Data 172 Bytes (D332-D503)

12 Rows

User Data 172 Bytes (D1708-D1879)

User Data 168 Bytes (D1880-D2047) EDC


4 Bytes

Figure 20 – Data Unit 1

4.3.5.3. Data Configuration of Data ID Field

4 Bytes
Data ID IED

1 Byte 3 Bytes

Sector Information Data Field Number

1 Bit 1 Bit 1 Bit 1 Bit 2 Bits 1 Bit 1 Bit


Sector Tracking Data Layer
Reflectivity Reserved Area Type
Format Type Method Type Number

0 ROM/R 0 Pit 0 > 40% 00 Data 0 ROM 0 Layer 0


1 RW 1 Groove 1<= 40% 01 Lead-in 1 R=Next sector is 1 Layer 1
10 Lead-out Linking Data
11 Middle RAM/+RW= Rewritable

Figure 21 – Data ID Field definition

The Data Field Number consists of the PSN and other data. See Table 21.

43
BSR NCITS 333

Table 21 – Data Field Number for DVD Media


Area Media Type Description Data Field Number
Lead-in ROM, R, Pre-recorded PSN
and Lead- RAM, +RW information
out
Data Area ROM, R Pre-recorded PSN = (LBA + 30000h)
information or written
for DVD-R Media
RAM ECC Block written by LBA + 31000h
the Initiator
ECC Block not written Any of the following three cases
by the Initiator after (1) Initialization pattern
formatting (2) Unrecorded
(3) Old value of LBA + 31000h assigned before
previous re-formatting
+RW Written data PSN (first one in data area is 31000h, sequential
thereafter)
Unwritten Unrecorded

44
BSR NCITS 333

4.3.5.4. Data Structure of Disc Lead-in Area

Physical B lock Nu mber

All 00h All 00h All 00h

2F000h
Reference Code Reference Code Reference Code
2F010h 1 ECC B lock
2 ECC B lock s 2 ECC B lock s
2F020h

All 00h All 00h All 00h

2F200h
Control Data Control Data Control Data
192 ECC Block s 192 Block s 192 Block s
2FE00h

All 00h All 00h All 00h


2FFFFh
30000h
Defect C ontrols
Lead-in
31000h

Data Area Data Area Data Area

DVD-ROM DVD-R DVD-RAM


DVD+RW

Reference Code contains repetition of the Data Symbol “172” with added scrambled data.
Control Data comprises repetition of a content of 16 sectors (one EC C Block)

Figure 22 – Data Structure of Disc Lead-in Area

45
BSR NCITS 333

4.3.5.5. Control Data Area


The Control Data Area contains 192 ECC Blocks. Each of the ECC Blocks (16) Sectors contains one of four
distinct types of data. See Table 22 for a generic descriptor.

Table 22 – Control Structure of Control Data Block


Sector Description
Numbe
r
0 Physical Format Information
1 Disc Manufacturing Information
2
… Reserved
...

14
15

4.3.5.6. Control Area Sector Descriptions


Table 23 shows the format of the Physical Format descriptor.

Table 23 – Common Part of Physical Format Information


Bit 7 6 5 4 3 2 1 0
Byte
0 Book Type Book Version
1 Disc Size Minimum Rate
2 Reserved Number of Layers Track Layer Type
Path
3 Linear Density Track Density
4
5
… Data Area Allocation


15
16 BCA Reserved
Flag
17- Medium Unique Data
2047

46
BSR NCITS 333

The Book Type field is described in Table 24.

Table 24 – Book Type Field


Book Type Value Definition
0 DVD-ROM
1 DVD-RAM
2 DVD-R
9 DVD+RW
Others Reserved

Table 25, Table 26, and Table 27, and Table 28 defines the format unique descriptors for each media type.

Table 25 – DVD-ROM Unique Part of Physical Format Information


Bit 7 6 5 4 3 2 1 0
Byte
32- Reserved
2047

Table 26 – DVD-R Unique Part of Physical Format Information


Bit 7 6 5 4 3 2 1 0
Byte
32~35 Start PSN of the R-Information Area
36~39 Start PSN of the next Lead-in
40- Reserved
2047

Table 27 – DVD-RAM Unique Part of Physical Format Information


Bit 7 6 5 4 3 2 1 0
Byte
32 Disc Type Identification
33-47 Reserved
48 Velocity 1
49-65 Write conditions at Velocity 1
66-479 Reserved for write conditions at velocity of Velocity 2 to Velocity 24
480- Reserved
2047

47
BSR NCITS 333

Table 28 – DVD+RW Unique Part of Physical Format


Bit 7 6 5 4 3 2 1 0
Byte
32 Recording Velocity
33 Maximum read power at maximum velocity
34 PIND at maximum velocity
35 ρ at maximum velocity
36 ε1 at maximum velocity
37 ε2 at maximum velocity
38 γtarget at maximum velocity
39 Maximum read power at reference velocity
40 PIND at reference velocity
41 ρ at reference velocity
42 ε1 at reference velocity
43 ε2 at reference velocity
44 γtarget at reference velocity
45 Maximum read power at minimum velocity
46 PIND at minimum velocity
47 ρ at minimum velocity
48 ε1 at minimum velocity
49 ε2 at minimum velocity
50 γtarget at minimum velocity
51- Reserved
2047

48
BSR NCITS 333

Table 29 describes the contents of the Data Area Allocation field.

Table 29 – Data Area Allocation Definition


Byte Single Parallel Opposite DVD-R DVD-R DVD-RAM DVD+RW
Layer Track Track disc at increment
DVD-ROM Path Path once al
DVD-ROM DVD-ROM
4 00h 00h 00h 00h 00h 00h 00
5 Starting PSN Starting PSN Starting PSN Starting PSN Starting PSN Starting PSN Starting PSN
of Data Area of Data Area of Data Area of Data Area of Data Area of Data Area of Data Area
(030000h) (030000h) (030000h) (030000h) (030000h) (031000h) (031000h)
6
7
8 00h 00h 00h 00h 00h 00h 00h
9 End PSN of End PSN of End PSN of End PSN of Last End PSN of End PSN of
Data Area Data Area Data Area Data Area Recorded Data Area Data Area
Sector (16B47Fh) (198FFFh)
Number of
the last Track
in the Session
10
11
12 00h 00h 00h 00h 00h 00h 00h
13 000000h 000000h End PSN 000000h 000000h 000000h 000000h
in Layer 0
14
15

For DVD-RAM, the end PSN is the PSN for the last spare sector of the last zone. It should not be used for
counting user capacity.
For DVD+RW, the end PSN should not be used for counting user capacity. Blocks in the Data Area may be
spared or set aside for replacement.

4.3.6. DVD Ready Condition/Not Ready Condition


The Ready Condition occurs after a disc is inserted and the Logical Unit has performed its initialization tasks.
These may include reading the Lead-in information from the media. This “Ready” is different from and should
not be confused with the ATA Ready Status. A CHECK CONDITION Status shall be returned for the Not
Ready Condition only for commands that require or imply a disc access.
A Not Ready Condition may occur for the following reasons:
a. There is no disc mounted.
b. The Logical Unit is unable to load or unload the disc.
c. The Logical Unit is performing an extended operation as the result of an Immediate Mode command
such as FORMAT UNIT or BLANK.
The Logical Unit shall spin up and make the disc ready for media accesses when a new disc is detected.
Any media access that occurs when the Logical Unit is not spinning shall spin the media up and not generate
an error. Any media access that is requested while a deferred operation is in progress (i.e. writing from a write
cache) shall not generate an error. Any media access that is requested while the Logical Unit is processing an
Immediate command, e.g. BLANK or FORMAT UNIT with the Immediate bit set, may result in a Not Ready
Condition.
Note: Accesses to the media can be satisfied from the Logical Unit’s cache and may not require the media to be
spinning.

49
BSR NCITS 333

4.3.7. DVD Copy Protection


The DVD Copy Management is made up of two basic concepts. The first is to scramble the content of the data
such that if it is available for copy operations, it would still be unusable. The data shall be unscrambled before
it can be used. The protection comes from an “Authentication” process that shall exchange protected
information (Keys) before the unscramble operation is possible. The second is to limit the playback of content
to specific regions of the world. Both the scrambled content and regionalization are used only for discs that
make use of the Content Scrambling System (CSS), which is used only on DVD with video content.
4.3.7.1. Management of Protected Data
Any read by the Initiator to a disc that contains scrambled content and a sector with a Title Key present, when
the Authentication Success Flag (ASF) is set to zero shall be terminated. The command shall be terminated
with a CHECK CONDITION status, sense key set to ILLEGAL REQUEST and ASC is set to READ OF
SCRAMBLED SECTOR WITHOUT AUTHENTICATION. For more information on the authentication process,
see Figure 23. For more information on the Authentication Success Flag, Figure 24
4.3.7.1.1. Authentication Process

No Grants REPORT KEY


Available (Request AGID) Begin Sequence
SEND KEY
Power-on reset, (Challenge Key)
Hard Reset
Eject

Initial State

Hold 1

Error, Authentication Failed

Bus Key Used to


obfuscate other key
(Authentication Completed) REPORT KEY
Region Code Error(s) from (Key 1)
REPORT KEY (TITLE KEY)
Command

Bus Key Wait for Initiator Authentication = 1


Established
SEND KEY REPORT KEY
(Key 2) (Challenge Key)

Note: Initiator must reset a non-responding authentication process in the Logical Unit by invalidating the
corresponding AGID. The Initiator may detect lost grants by refusal of the Start Authentication Process operation

Figure 23 – Device Key Exchange and Authentication State Diagram

50
BSR NCITS 333

Power-on Reset,
Hard Reset READ DVD STRUCTURE Command with
Authentication the Format field set to 02h, completes without
Not VALID an error (Secured Disc Key is exchanged).

(ASF = 0)

Authentication
Power-on Reset, Valid
Hard Reset, Eject

Regionalization Error to (ASF = 1)


REPORT KEY (Title Key)

Figure 24 – Authentication Flag Sequence

51
BSR NCITS 333

4.3.7.2. Region Playback Control (RPC)


The copy management capability used for Copy Protected DVD-ROM Media limits the playback of content to
specific regions of the world. This capability is called Region Playback Control (RPC) or Regionalization.
4.3.7.3. Playback limitations by World Region
The use of Regionalization is limited to Discs that employ CSS. There are two places that contain region
information, one in the Logical Unit and another for each media that contains CSS Scrambled Title(s). When
the region in the Logical Unit and that of the CSS Title are different, the system shall prevent the playback of
that title (movie).
When a REPORT KEY Command is received by a Logical Unit, in the Bus Key Established state (see Figure
23), with a Format Code of 04h (Title Key), and the region code of the current media is not playable in the
current region set in the Logical Unit, the command shall be terminated with CHECK CONDITION status,
sense key set to ILLEGAL REQUEST and additional sense code set to MEDIA REGION CODE IS
MISMATCHED TO LOGICAL UNIT REGION. A regionalized CSS media shall be deemed not playable if the
region of the Logical Unit is not set.
The Logical Unit will report the current RPC State using the REPORT KEY Command with Format Code 08h.
4.3.7.4. Region Code Setting
Two methods have been defined for setting the region code in the DVD Logical Unit. Each method has the
same end result, specifying which region shall be used to determine if it is allowable to play a disc that has a
region code included within the information on the disc in this Logical Unit.
The Logical Unit has the following four Region States according to the Logical UnitRegion setting (see Figure
25):
1. NONE state - The Logical UnitRegion has not been set. The Initiator shall set the initial Logical
UnitRegion value in the Logical Unit. The region setting counter shall be set to 5. The Logical Unit
shall respond to the REPORT KEY Command, Key Format 01000b, with successful command
completion and a Region Mask value of FFh.
2. SET state - The Logical UnitRegion has been set and the change of the Region is acceptable. The
region setting counter shall initially be 4, decrementing to 2.
3. LAST CHANCE state - The Logical UnitRegion has been set and the change of the Region is
acceptable. In order to change the Logical Unit Region using a command method, an inserted disc
shall have the same single region with the requested Region. The region setting counter shall be 1.
4. PERMANENT state - The Logical UnitRegion has been set and the change of the Region is not
acceptable. The region setting counter shall be 0. However, the Logical UnitRegion can be re-
initialized by the vendor to become the NONE state.
4.3.7.5. Initial Setting
In the NONE state, the Logical UnitRegion has not been set and the Initiator shall set the initial Logical
UnitRegion value in the Logical Unit. The region setting counter shall be set to 5. The Logical Unit shall
respond to the REPORT KEY Command, Key Format 01000b, with successful command completion and a
Region Mask value of FFh.
The Initiator shall set a preferable region, the value of which is specified in the Preferred Logical UnitRegion
Code field of the SEND KEY Command with Key Format = 000110b. On execution of this command, the
Logical Unit ignores the region code of the inserted medium.
After the successful execution of setting the Logical UnitRegion, the Logical Unit shall enter the SET state. The
region setting counter shall be decremented to 4.
4.3.7.6. Changing of the Logical UnitRegion
In the SET state, the Logical UnitRegion has been already set and may be changed by one of the two
methods specified. After the successful execution of changing the Logical UnitRegion, the region setting
counter shall be decremented. When the region setting counter is 2 and a successful execution of changing of
the Logical UnitRegion, the Logical Unit shall enter into the LAST CHANCE state.

52
BSR NCITS 333

In the LAST CHANCE state, the Logical UnitRegion may be changed by one of the two methods specified.
See 4.3.7.6.1., and 4.3.7.6.2. When using the command method with a disc, the inserted disc shall have the
same single Region Code value as the Preferred Logical UnitRegion Code specified in the SEND KEY
Command. After the successful execution of the Logical UnitRegion change, the region setting counter shall
be zero and the Logical Unit shall enter into the PERMANENT state.
In the PERMANENT state, the user cannot change the Logical UnitRegion.
4.3.7.6.1. Command method for changing the Logical UnitRegion with a CSS enabled Disc
To set the Logical UnitRegion, the procedure shall be executed as follows;
1. Insert a disc having the requested Region,
2. Issue a SEND KEY Command with the Key Format = 000110b. The requested Region Code value
shall be specified in the Preferred Logical UnitRegion Code field.
When the Logical Unit receives the SEND KEY Command correctly, the Logical UnitRegion is changed to the
requested region. If the disc does not have the same region code value as the Preferred Logical UnitRegion
Code specified in the SEND KEY Command, then the command shall be terminated with CHECK
CONDITION Status, sense code ILLEGAL REQUEST and an additional sense code of MEDIA REGION
CODE IS MISMATCHED TO LOGICAL UNIT REGION.
4.3.7.6.2. Setting Disc method for changing the Logical UnitRegion
The Logical UnitRegion, may be set by inserting a special disc that contains a specific region code. This
special disc does not require any command intervention.
4.3.7.7. Limits on Logical UnitRegion Changes
Any of the methods defined in this specification may be used up to five times to change a Logical Unit’s region.
If the new region is the same as the old region, the region setting process shall be treated as if it had not
occurred.
If an attempt by the user is made to change the Logical UnitRegion more than five times, the SEND KEY
Command shall terminate with CHECK CONDITION Status, sense key set to ILLEGAL REQUEST and
additional sense code set to LOGICAL UNITREGION MUST BE PERMANENT/REGION RESET COUNT
ERROR.
For more information on the region code setting process, see Figure 25.

53
BSR NCITS 333

Manufacturer or Vendor
NONE State

Initial
“No Logical Unit Region”
SEND KEY Command with a requested
region is issued, or Setting Disc is inserted
n=5

The value of n shall


be decremented

SET State

SEND KEY Command with requested


region that would allow playback with
The Logical Unit
the inserted disc is issued, or Setting Region is set
Disc is inserted. (2 times)
n = 4 to 2

The value of n shall be decremented


When n becomes 1

n: Count down counter value that indicates the


number of times that the Logical Unit Region LAST CHANCE state
can be set or reset.
The Logical Unit
Region is set

n=1
PERM state

SEND KEY Command with requested region that


The Logical Unit matches a single region disc that is inserted is
Region is set issued, or Setting Disc is inserted.

n=0 The value of n shall be 0

Figure 25 – Region State Diagram

54
BSR NCITS 333

4.4. Changer Model


The changer is a Feature of a C/DVD device. It shall support two (2) additional commands, MECHANISM
STATUS (6.1.8.) and LOAD/UNLOAD CD (6.1.7.).
A changer device provides a storage area for more than one CD Disc. This storage area contains multiple
areas called slots. Each slot can contain just one disc. Once a disc has been placed into a given slot, it
becomes locked in that position. This standard provides no capability to move a disc from one slot to another.
Thus when a Disc has been moved from a given slot into the playing position, it can only be moved back into
the slot that it came from. This shall be followed even if power is lost while a Disc is in the playing position or
while it was being moved.
There are two basic types of changer mechanisms, one that has individually addressable eject and load
capability and another that uses a magazine to hold the discs. In the former, individual discs can be changed,
while in the latter all the stored discs shall be changed at one time.
Any time a disc or magazine is removed or installed from the changer, the device shall generate a Unit
Attention Condition. After the Initiator detects the unit attention on a known changer device, the Initiator may
issue a MECHANISM STATUS Command. This will provide the Initiator with information on what disc is
present or was changed.

Changer Mechanism using individual Disc


Load and Unload

Load/Unload CD Mechanism
Commad

Changer Mechanism using Eject Command


Cartridges

CD Mechanism

Load/Unload
Command

Figure 26 - Media Changer Mechanism Model

4.4.1. Side definition


As part of the DVD specifications, there is a type of media supported that includes data on more than one side
of the Disc. This will allow devices that can automatically change sides. For C/DVD Devices, there is an
optional capability to select each side of the Disc. Although this would not normally be thought of as a changer
type of operation, the two sides to the Disc are independent and changer like functions are a good match for
selecting sides. When the Logical Unit supports this functionality, each physical slot will have two logical slots.
For example, referencing slot 0 would be one side of the Disc, and slot 1 would then be the other side.
There are two fundamental techniques used to select each side of DVD media. The first is the most space
efficient. It simply moved the Pick Up (laser unit used to read the disc) to the other side. This does add

55
BSR NCITS 333

complexity to the laser mechanism to be able to position it on either the bottom or top of the media. The
second approach is to flip the media over.
For a Logical Unit that supports changing sides (see Table 137), the number of Slots reported shall be even,
and every other slot shall be an alternating side.
4.4.1.1. Side Changing Only Logical Unit
A Logical Unit that is capable of changing the side of the Disc, but does not have separate Slots from the
playing position, reports that it has a Mechanism type that is not a changer, but also reports Side Change
Capable. This style of Logical Unit will still make use of the LOAD/UNLOAD command to change the currently
selected side. The Logical Unit shall report two slots available.
When the Logical Unit can only change sides, and not discs, it does not perform any action. This will appear to
the Initiator as a Logical Unit with a Delayed Load type of operation.
A DVD Logical Unit that supports changing sides will not be able to report if there is actually data on both sides
until each side has been read.
4.4.1.2. Attention Conditions for Sided Discs
Devices that support changing sides shall only report UNIT ATTENTION with sense code NOT READY TO
READY, MEDIUM MAY HAVE CHANGED for changes that involve movement of a Disc in/out of the Logical
Unit. Changes of side shall not generate UNIT ATTENTION Conditions.
4.4.1.3. Error Conditions for Sided Discs
Devices that support changing sides of a Disc shall use the Sense Key NOT READY, Additional Sense code
NO REFERENCE POSITION FOUND, to report when the currently selected side does not contain valid data.

56
BSR NCITS 333

4.4.1.4. Initialization
The Changer shall perform its initialization routine at power on or receipt of a hardware reset from the Initiator.
“Initializing Changer” is a process that refers to gathering the information that is necessary to respond to the
MECHANISM STATUS Command. If a changer is in the process of initializing when it receives a
MECHANISM STATUS Command, it will respond immediately and provide no slot table information (Only the
Header).

PO R
No P o w er O n
C a rtrid g e C a rtridg e L oa d e d Initia li za tion
P re se nt

R e set
(S tat e is In itia li za tin g)

E je ct C a r tri dg e
C o m m a nd R e set a nd
L oa d D isc 0 D isc 0 is “ U N IT A T T E N T IO N ”
pr e sen t I f a D isc is a d d e d or
re m ov e d

D isc 0 D isc 0
is pre se nt n ot pr e sent
R ea d T O C &
M a k e D i sc
R ea d y to u s e
Idl e bu t n o D i sc, D ev ic e
w ill b e N O T R E A D Y bu t
th e C ha ng er S tat e is W a it for G e n erat e an “ U N IT A T T E N T IO N ”
“ R ea dy” D isc C ha ng e for t h e r ea dy to not read y
or a L oa d
Com mand L oa d
E j ect S ing le D i sc C o m plete
“ U N IT A T T E N T IO N ” C o m m a nd
I f a D isc is a d d e d or re m o v e d

L oa d
M o v e D is c
C o m m a nd
to e xterna l
P o sition

U nl oa d
C o m plete

M ov e
U nl oa d
cu rre nt D i sc C o m m a nd
fr o m P lay in g
L oa d P o sition to
C o m m a nd S to ra g e M ove
S p e ci fie d S lot
U nloa d into th e
(S ta te is U nloa d in P r o gr ess P lay P o sitio n

L oa d
(S ta te is L oa d in P ro gr e ss

Figure 27 - Changer State Diagram

4.4.2. Changer Addressing


Several Changer specific commands use addresses called “Slots.”
If any commands related to Changer operations are implemented, then all the Changer commands shall be
implemented. To determine if a Logical Unitis a changer type device, the Loading Mechanism Type field in the
Capabilities page will contain one of the two changer type code (See Table 137) for individual disc or
magazine implementations.

4.4.3. Automatic Load and Unload Operations


After initialization is complete the changer shall have Disc 0 loaded into the play position. This enables drivers
that are not changer aware to work with a changer device as if it were a normal single CD device. This also
ensures compatibility with a Bootable CD. In support of this goal the changer shall also load and unload (Eject)
default Disc 0 if the changer supports loading and unloading (Ejecting) individual Discs unless otherwise
commanded by the use of one of the changer specific Load/Unload commands.
When a LOAD Command is received and a Disc is present in the Playing position, it shall be unloaded
automatically before the specified Load operation is performed.

57
BSR NCITS 333

4.4.4. Delayed Disc load operation


CD Changer Devices may either move a disc into the playing position immediately upon receipt of a LOAD
command, or delay the loading of the disc until a media access command is received. It is recommended that
the device not load discs into the playing position until data from a disc that is not cached is requested from
the Initiator.
Note that Initiator drivers should expect to encounter load mechanism delays on media accesses in addition to
the spin up and seek delays normally introduced with these commands.
If the device supports delayed loading and the selected disc is not in the play position, then the commands
listed in Table 30 shall move the selected disc into the play position when data that has not been cached has
been requested by the Initiator:

Table 30 - Commands that may cause delayed loads to occur


Command
Play Audio (10)
Play Audio MSF
Play CD
Read (10)
Read (12)
Read CD
Read CD MSF
Read CD-ROM Capacity
Read Header
Read Sub-channel
Read TOC
Scan

If the device supports delayed loading and the selected disc is not in the play position, then the following
commands shall load the selected disc into the play position before execution of the command. ( See Table
31)

Table 31 - Commands that will cause delayed loads to occur


Command
Seek
Start/Stop Unit (LoEj=1)

58
BSR NCITS 333

If the device supports delayed loading and the selected disc is not in the play position, then the following
commands shall not move the selected disc into the play position. (See Table 32)

Table 32 - Commands that should not cause delayed loads to occur


Command
Stop Play/Scan
Start/Stop Unit (LoEj=0)
Test Unit Ready
Inquiry
Mechanism Status
Mode Select
Mode Sense
Prevent/Allow Medium Removal
Request Sense
Set CD Speed

4.4.5. Prevent / Allow processing


There are two techniques for Prevent / Allow: either all the discs shall be prevented from being ejected by the
user or each disc individually shall be prevented. If the device reports support for Software Slot Selection, then
each slot shall be individually controlled by the Prevent / Allow command. Note that changer devices that use
a Magazine and not individually controlled slots should not report the Software Slot Selection capability.

4.4.6. Error Reporting for Changers


If any of the following conditions occur during the execution of a command, the Changer shall return CHECK
CONDITION status. The appropriate sense key and additional sense code shall be set. Table 33 below lists
some error conditions and the applicable sense keys. The list does not provide an exhaustive enumeration of
all conditions that may cause the CHECK CONDITION status.

Table 33 - Error Conditions and Sense Keys for Changer Mechanisms


Condition Sense Key
Invalid Slot Number ILLEGAL REQUEST
Unsupported option requested ILLEGAL REQUEST
Load or Unload to invalid slot or no Disc in source ILLEGAL REQUEST
location
CD-ROM Device Reset or medium change since UNIT ATTENTION
last command
Self diagnostic failed HARDWARE ERROR

In the case of an invalid Slot number, the sense data information field shall be set to the Slot number of the
first invalid address.
Attempts to eject a Disc if the changer type is magazine and there is a Disc in the playing position shall be
rejected with a CHECK CONDITION status and sense key set to ILLEGAL REQUEST, and additional sense
code set to MECHANICAL POSITIONING OR CHANGER ERROR.

59
BSR NCITS 333

5. Features and Profiles


5.1. Introduction
A DVD Logical Unit will look different to Initiators depending on the type of media that is currently installed.
The Initiator system will now need to deal with a Logical Unit, that supports various commands, based on the
type of media that is currently in the Logical Unit. This type of operation will be handled via the use of
Features, Profiles, and Events. This concept, further described in Annex H, will allow the Logical Unit to
implement various capabilities. The Initiator will detect and configure the Logical Unit given the various
capabilities and functions that are available.
A Feature is a set of Commands, Mode Parameters and behaviors that specify the capabilities of a Logical
Unit and its associated medium. One or more Features, may be supported by a particular Logical Unit. In
general, Features associated with device capabilities are static while Features associated with medium
capabilities are dynamic. While Features are optional, the commands and mode parameters specified by a
Feature are mandatory. If a particular Feature is reported, the Logical Unit or its transport shall implement all
of the commands and mode parameters of that Feature.
Classification by Features allows Logical Units to report and provide layers of functionality; it also allows
applications to use Logical Units in a precise and consistent manner. For example, to illustrate the layered
aspect, consider two CD-ROM Logical Units where one particular CD-ROM Logical Unit may be used as both
a read only block device and as a CD-Audio player. These two capabilities are reported as two separate
Features. Another CD-ROM Logical Unit may only be capable of being used as a read only block device, and
it would not report the Feature that specifies CD-Audio support.
Another important characteristic of classification by Features is its dynamic nature; a device that is capable of
reading both DVD-ROM and CD-ROM medium reports different Features according to whether a DVD-ROM or
CD-ROM medium is loaded.
Profiles define a base set of functions for Logical Units. Logical Units that list a Profile as current shall support
all Features required by that Profile, but not all Features may be current. Logical Units may support Features
in addition to those required by the Profile. A single device may implement more than one Profile, and more
than one Profile may be active at any given time. All required Features may not be current, depending on the
medium installed. If a Not Ready response would be given to a TEST UNIT READY command, no Profile shall
be current.
In addition, a Profile enables an application: to load and initialize the appropriate modules that support the
Logical Unit, to provide iconic representation of the Logical Unit, and to determine the default file system of the
Logical Unit and its medium.

5.2. FEATURES
To determine the Features supported by the Logical Unit, the Initiator shall issue a GET CONFIGURATION
command (See sub-clause 6.1.4.). In response to this GET CONFIGURATION command the Logical Unit shall
respond with data as defined in Table 34. Response data consists of a header field and zero or more
variable length Feature descriptors.

Table 34 - GET CONFIGURATION response data format


Bit 7 6 5 4 3 2 1 0
Byte
0-7 Feature Header
8-n Feature Descriptor(s)

60
BSR NCITS 333

The Feature Header field to be returned is shown in Table 35.

Table 35 - Feature Header


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Data Length
2
3 (LSB)
4 Reserved
5 Reserved
6 (MSB) Current Profile
7 (LSB)

The Data Length field indicates the amount of data available given a sufficient allocation length following this
field. This length shall not be truncated due to an insufficient Allocation Length. If the Data Length is greater
than 65,530 bytes, multiple GET CONFIGURATION commands with different Starting Feature Numbers will be
required for the Initiator to read all configuration data. This field is adjusted as appropriate for the given
Starting Feature Number.
The Current Profile field shall indicate the Logical Unit’s current Profile. The Logical Unit shall choose the most
appropriate current Profile from the list of Profiles (see Table 40) with their Current bit set. If there are no
Profiles currently active, this field shall contain zero.
Each Feature supported by a Logical Unit shall be described by a Feature Descriptor. All Feature descriptors
shall be a multiple of four bytes. The Feature Descriptor(s) generic format returned is defined in Table 36.
Each individual Feature description is defined in the appropriate sub-clause.

Table 36 - Feature Descriptor generic format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code
1 (LSB)
2 Reserved Version Persiste Current
nt
3 Additional Length
4-n Feature Dependent Data

The Feature Code field shall identify a Feature supported by the Logical Unit.

5.2.1. Version field


The Version field is reserved and shall be set to zero unless otherwise specified within the Feature
Description. Future versions of a Feature will be backward compatible; incompatible changes will be included
in a different Feature.

5.2.2. Persistent Bit


The Persistent bit, when set to zero, shall indicate that this Feature may change its current status. When set to
one, shall indicate that this Feature is always active. The Logical Unit shall not set this bit to one if the Current
bit is, or may become, zero.

61
BSR NCITS 333

5.2.3. Current Bit


The Current bit, when set to zero, indicates that this Feature is not currently active and that the Feature
Dependent Data may not be valid. When set to one, this Feature is currently active and the Feature
Dependent Data is valid.

5.2.4. Additional Length Field


The Additional Length field indicates the number of Feature specific bytes that follow this header. This field
shall be an integral multiple of 4.

5.2.5. Feature Codes


Features are the smallest set of commands, pages, and behavior that may be implemented. Each Feature is
assigned a unique code or number to identify the Feature. Feature codes are shown in Table 37. The
maximum number of Feature sets is 65,536 and the Feature code value of 0000h is reserved for the list of
Profiles supported by the Logical Unit.

62
BSR NCITS 333

Table 37 - Feature Codes

63
BSR NCITS 333

Feature Code Feature Name Description


0000h Profile List A list of all Profiles supported by the Logical Unit
0001h Core Mandatory behavior for all devices
0002h Morphing Ability to notify Initiator about operational changes and accept Initiator
requests to prevent operational changes.
0003h Removable Medium The medium may be removed from the device
0004h - 000Fh Reserved
0010h Random Readable Read ability for storage devices with random addressing
0011h - 001Ch Reserved
001Dh MultiRead The Logical Unit can read all CD media types; based on OSTA
MultiRead
001Eh CD Read The ability to read CD specific structures
001Fh DVD Read The ability to read DVD specific structures
0020h Random Writable Write support for randomly addressed writes
0021h Incremental Streaming Write support for sequential recording
Writable
0022h Sector erasable Write support for erasable media and media that requires an erase
pass before overwrite.
0023h Formattable Support for formatting of media.
0024h Defect Management Ability of the drive/media system to provide an apparently defect-free
space.
0025h Write Once Write support for write once media that can be written in random order.
0026h Restricted Overwrite Write support for media that shall be written in multiples of logical
blocks.
0027h - 002Ch Reserved
002Dh CD Track at Once Ability to write CD with Track at Once recording
002Eh CD Mastering The ability to write CD with Session at Once or Raw write methods.
002Fh DVD-R Write The ability to write DVD specific structures
0030h - 00FFh Reserved
0100h Power Management Initiator and device directed power management
0101h Reserved
0102h Embedded Changer Single mechanism multiple disc changer
0103h CD Audio analog play Ability to play audio CDs via the drive’s own analog output
0104h Microcode Upgrade Ability for the device to accept new microcode via the interface
0105h Time-out Ability to respond to all commands within a specific time
0106h DVD-CSS Ability to perform data authentication
0107h Real Time Streaming Ability to read and write using Initiator requested performance
parameters
108h Logical Unit serial The Logical Unit has a unique identifier.
number
109h Reserved
10Ah Disc Control Blocks The ability to read and/or write Disc Control Blocks
010Bh – Reserved
FEFFh
FF00h – Vendor Specific
FFFFh

64
BSR NCITS 333

5.3. Feature Definitions


The following sub-clauses define the Feature sets and the commands supported by each Feature.

5.3.1. Profile List Feature (0000h)


This Feature identifies Profiles supported by the Logical Unit. The Profile List descriptor returned is defined in
Table 38. Profiles are defined as collections of Features and provide a method to quickly determine the Logical
Unit’s type. This Feature is always current, even if none of the Profiles listed are current.

Table 38 - Profile List Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0000h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length
4-n Profile Descriptor(s)

The Feature Code field shall be set to 0000h.


The Version field is reserved and shall be set to zero. Future versions of a Feature will be backward
compatible; incompatible changes will be included in a different Feature.
The Persistent bit shall be set to one to indicate that the reporting of the Profile list is always supported.
The Current bit shall be set to one.
The Additional Length field shall be set to ((number of Profile Descriptors) * 4).
The Profile Descriptors are shown in Table 39. All Profiles supported by the Logical Unit shall always be
reported. Profile descriptors are returned in the order of preferred operation - most desirable to least desirable.
E.g. a DVD-ROM that could also read CD-ROM would list the DVD-ROM Profile first and the CD-ROM Profile
second.

Table 39 - Profile Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Profile Number
1 (LSB)
2 Reserved CurrentP
3 Reserved

The Profile Number identifies a Profile the Logical Unit conforms to, see Table 40.
The CurrentP bit, when set to one, shall indicate that this Profile is currently active. If no medium is present, no
Profile should be active. Multifunction devices shall select the most appropriate Profile(s), if any, to set as
current. The most appropriate current Profile is also reported in the Feature Header (See Table 35).

65
BSR NCITS 333

Table 40 - Profile List


Profile Number Profile Name Description Sub-Clause
0000h Reserved
0001h Non-removable disk Re-writable disk, capable of changing behavior
0002h Removable disk Re-writable; with removable media 5.4.1.
0003h MO Erasable Magneto-Optical disk with sector erase capability 5.4.2.
0004h MO Write Once Magneto-Optical write once 5.4.3.
0005h AS-MO Advance Storage – Magneto-Optical 5.4.4.
0006h – 0007h Reserved
0008h CD-ROM Read only Compact Disc capable 5.4.5.
0009h CD-R Write once Compact Disc capable 5.4.6.
000Ah CD-RW Re-writable Compact Disc capable 5.4.7.
000Bh - 000Fh Reserved
0010h DVD-ROM Read only DVD 5.4.8.
0011h DVD-R Write once DVD 5.4.9.
0012h DVD-RAM or Re-writable DVD 5.4.10.
DVD+RW
0013h – FFFEh Reserved
FFFFh Logical Units Not The Logical Unit does not conform to any Profile. 5.4.11.
Conforming to a
Standard Profile

66
BSR NCITS 333

5.3.2. Core Feature (0001h)


This Feature identifies a Logical Unit that supports functionality common to all devices. All Logical Units that
conform to this standard shall implement the Core Feature set of commands specified in Table 41.
In the Polling Mode of Event Notification, an Initiator shall repeatedly issue GET EVENT/STATUS
NOTIFICATION commands with an immediate bit of 1. The Logical Unit shall complete these commands upon
receipt, supplying the Initiator with information on the most recent event occurrences, as described in the GET
EVENT/STATUS NOTIFICATION command. If an event occurrence of the class(es) requested is not in the
Logical Unit event queue, the Logical Unit shall complete the GET EVENT/STATUS NOTIFICATION
command, and shall set the NEA bit to 1. This shall not be deemed an error.
The Logical Unit shall maintain a separate queue for each class of Event Notification(s) supported. This queue
is the Event Queue and events generated shall be placed at the tail of the queue of the appropriate class. The
depth of the Event Queue(s) is vendor specific, although it shall be at least one. If an overflow occurs, the
Logical Unit shall maintain the most recent Events in the queue.
If command queuing is supported, the Initiator may issue a GET EVENT/STATUS NOTIFICATION command
with an immediate bit of 0. The command shall not complete until an event of the class(es) requested is either
in the Event Queue, or has occurred.
Each GET EVENT/STATUS NOTIFICATION command shall report only one event. If multiple Event Classes
are requested and multiple events are available, the Logical Unit shall report the Event in the Event Class with
the lowest Notification Class ordinal.

Table 41 - Core Commands


Op Code Command Description Clause
12h INQUIRY SPC
46h GET CONFIGURATION 6.1.4.
4Ah GET EVENT/STATUS NOTIFICATION 6.1.5.
55h MODE SELECT (10) SPC
5Ah MODE SENSE (10) SPC
03h REQUEST SENSE (Note 1) SPC
00h TEST UNIT READY SPC
Notes
1. Logical Units shall be able to report sense to the Initiator. For transports that implement
automatic delivery of Logical Unit Sense Information to the Initiator, it shall use the
transport’s mechanism. For other transports, the REQUEST SENSE command shall be
supported.

67
BSR NCITS 333

The Feature descriptor response data to be returned to the Initiator is defined in Table 42.

Table 42 - Core Feature Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0001h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length
4 (MSB)
5 Physical Interface Standard
6
7 (LSB)

The Feature Code field shall be set to 0001h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be set to one.
The Current bit shall be set to one.
The Additional Length field shall be set to 4.
The Physical Interface Standard field shall be set to the current Initiator to Logical Unit communication path as
defined in Table 43.

Table 43 - Physical Interface Standard


Physical Interface Description Application
Standard
00000000h Unspecified
00000001h SCSI Family See SCSI implementation
00000002h ATAPI See ATAPI implementation
00000003h IEEE 1394 - 1995 See 1394 implementation
00000004h IEEE 1394A See 1394 implementation
00000005h Fibre Channel See Fibre Channel (FCP)
Implimentation
00000006h – 0000FFFEh Reserved
0000FFFFh Vendor Unique
00010000h - 0001FFFFh Defined by NCITS
00020000h - 0002FFFFh Defined by SFF
00030000h - 0003FFFFh Defined by IEEE
00040000h – FFFFFFFFh Reserved

68
BSR NCITS 333

5.3.3. Morphing Feature (0002h)


This Feature identifies the ability of the Logical Unit to notify an Initiator about operational changes and accept
Initiator requests to prevent operational changes. Logical Units that support this Feature shall implement the
commands specified in Table 44.

Table 44 – Morphing Feature Commands


Op Code Command Description Clause
46h GET CONFIGURATION 6.1.4.
4Ah GET EVENT/STATUS NOTIFICATION 6.1.5.
1Eh PREVENT/ALLOW MEDIUM REMOVAL with Persistent SPC
bit set to one.
A2h SEND EVENT when Class 3 Event (External Request) is 6.1.33.
implemented.

Support, for this Feature, is enabled using the PREVENT/ALLOW command (Persistent Bit), and the media
status is retrieved using the GET EVENT/STATUS NOTIFICATION command.
The Feature descriptor response data to be returned to the Initiator is defined in Table 45.

Table 45 - Morphing Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 00002h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 04h
4 Reserved Async
5 Reserved
6 Reserved
7 Reserved

The Feature Code field shall be set to 0002h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be set to one.
The Current bit shall be set to one.
The Additional Length field shall be set to 4.
The Async bit, when set to zero, indicates that the Logical Unit supports only the polling implementation of
GET EVENT/STATUS NOTIFICATION. When set to one, indicates that the Logical Unit supports both polling
and asynchronous GET EVENT/STATUS NOTIFICATION.

69
BSR NCITS 333

5.3.4. Removable Medium Feature (0003h)


Implementing this Feature, Logical Units shall have a means of communicating to the Initiator that the user
wants to eject the medium or has inserted a new medium. Logical Units that support the Removable Medium
Feature shall implement the commands specified in Table 46.

Table 46 - Removable Medium Commands


Op Code Command Description Clause
BDh MECHANISM STATUS 6.1.8.
1Eh PREVENT/ALLOW MEDIUM REMOVAL with the SPC
Persistent Prevent bit set to zero.
1Bh START/STOP UNIT and load eject (LOEJ) bit SPC

If a changer type Logical Unit uses media status operation, it shall use the following variations. If the changer
Logical Unit supports individual slot load and unload capability, the slot number(s) exhibiting the media status
change shall be reported in the slot fields of the Media Status Event Data. If the changer Logical Unit uses a
magazine load mechanism, the slot fields shall be set to the start and end slot numbers present in the
magazine.
For non-immediate GET EVENT/STATUS NOTIFICATION commands, the Initiator shall use exactly one GET
EVENT/STATUS NOTIFICATION request for the entire changer Logical Unit. The Logical Unit shall respond
as indicated in the Asynchronous Operation section above, indicating the slot information in the Request
Sense Data as described above.
This Feature identifies a Logical Unit that has a medium that is removable. The Feature descriptor response
data to be returned is defined in Table 47.

Table 47 - Removable Medium Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0003h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 04h
4 Loading Mechanism Type Reserved Eject Pvnt Jmpr Reserved Lock
5 Reserved
6 Reserved
7 Reserved

The Feature Code field shall be set to 0003h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be set to one.
The Current bit shall be set to one.
Event Class 4 shall be supported.
The Additional Length field shall be set to 4.
The Loading Mechanism Type field (Table 48) shall be set according to the Eject bit. The Eject bit, when set to
zero, indicates that the device cannot eject the medium or magazine via the normal START/STOP command
with the LoEj bit set. When set to one, indicates that the device can eject the medium or magazine.
The Pvnt Jmpr bit, when set to zero, shall indicate that the Prevent Jumper is present. The Logical Unit shall
power up to the allow state and locking the Logical Unit with the Prevent/Allow command shall not prevent

70
BSR NCITS 333

insertion of the media. When set to one, the Prevent Jumper is not present. The Logical Unit shall power up to
the prevent state (locked) and shall not accept new media or allow the ejection of media already loaded until a
PREVENT/ALLOW MEDIUM REMOVAL (allow) command is issued. The Pvnt Jmpr bit shall not change state,
even if the physical jumper is added or removed during operation. Logical Units that do not have a Prevent
Jumper available should set this bit to 0 to indicate that the Logical Unit behaves as described for a jumper
being present.
The Lock bit, when set to zero, shall indicate that the medium cannot be locked into the Logical Unit. When set
to one, shall indicate that the PREVENT/ALLOW MEDIUM REMOVAL command is capable of actually locking
the media into the Logical Unit.

Table 48 - Loading Mechanism Type


Loading Description
Mechanism Type
000b Caddy/Slot type loading mechanism
001b Tray type loading mechanism
010b Pop-up type loading mechanism
011b Reserved
100b Embedded changer with individually changeable discs
101b Embedded changer using a magazine mechanism
110b - 111b Reserved

5.3.5. Random Readable Feature (0010h)


This Feature identifies a Logical Unit that can read data from logical blocks specified in a READ command.
Logical Units that may be used as Random Readable block devices shall implement the commands specified
in Table 49.

Table 49 - Random Readable Feature


Op Code Command Description Clause
25h READ CAPACITY 6.1.17.
28h READ(10) SBC

71
BSR NCITS 333

The Feature descriptor response data to be returned to the Initiator is defined in Table 50.

Table 50 - Random Readable Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0010h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 08h
4 (MSB)
5 Logical Block Size
6
7 (LSB)
8 (MSB) Blocking
9 (LSB)
10 Reserved PP
11 Reserved

There is no requirement that the addresses, in sequences of reads, occur in any particular order.
The Feature Code field shall be set to 0010h.
The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if random readable media
is not present.
The Additional Length field shall be set to 8.
The Logical Block Size shall be set to the number of bytes per logical block.
The Blocking field shall indicate the number of logical blocks per device readable unit. For most hard disks,
this value is 1. For DVD devices, this number is 10h.
If there is more than one Blocking on the medium possible, the Blocking field shall be set to zero. See the
READ TRACK INFORMATION Command for more information.
The PP (Page Present) bit, when set to zero, shall indicate that the Read/Write Error Recovery page may not
be present. When set to one, shall indicate that the Read/Write Error Recovery page is present.

5.3.6. Multi-Read Feature (001Dh)


This Feature identifies a Logical Unit that can read all CD media types. The Logical Unit shall conform to the
OSTA Multi-Read specification 1.00, with the exception of CD Play capability (the CD Audio Feature is not
required). Reading of CD Audio data via the READ CD command shall be supported. Logical Units that
support the Multi-Read Feature shall implement the commands specified in Table 51

Table 51 – Multi-Read Feature Commands


Op Code Command Description Clause
28h READ (10) SBC
BEh READ CD 6.1.15.
51h READ DISC INFOROMATION 6.1.18.
52h READ TRACK INFORMATION 6.1.26.

72
BSR NCITS 333

The Feature descriptor response data to be returned to the Initiator is defined in Table 52.

Table 52 - Multi-Read Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 001Dh
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 001Dh.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2.
The Current bit shall be defined as in sub-clause 5.2.3.
The Additional Length field shall be set to 00h.

5.3.7. CD Read Feature (001Eh)


This Feature identifies a Logical Unit that can read CD specific information from the media and can read user
data from all types of CD blocks. Logical Units that read CD-ROM media shall support the commands
specified in Table 53.

Table 53 - CD READ Commands


Op Code Command Description Clause
BEh READ CD 6.1.15.
B9h READ CD MSF 6.1.16.
43h READ TOC/PMA/ATIP Supports Format codes 0h, 1h, 6.1.24.
2h and 5h if the CD-TEXT bit is set to one

The Feature descriptor response data to be returned to the Initiator is defined in Table 54.
Table 54 - CD Read Descriptor Format
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 001Eh
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 04h
–4 C2 Flag CD-
Text
5 Reserved
6 Reserved
7 Reserved

The Feature Code field shall be set to 001Eh.


The Version Field is set to one.

73
BSR NCITS 333

The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if CD media is not present.
The Additional Length field shall be set to 04h.
The C2 Flag, when set to one, indicates the Logical Unit supports the C2 Error Pointers. When set to zero the
Logical Unit does not support C2 Error Pointers.
The CD-Text bit, when set to one, indicates the Logical Unit supports Format Code 5h of the READ
TOC/PMA/ATIP command. When set to zero, CD-Text is not supported.

5.3.8. DVD Read Feature (001Fh)


This Feature identifies a Logical Unit that can read DVD specific information from the media. Logical Units that
read DVD-ROM media shall support the commands specified in Table 55.

Table 55 - DVD READ Feature Commands


Op Code Command Description Clause
51h READ(10) SBC
A8h READ(12) SBC
ADh READ DVD STRUCTURE 6.1.19.
43h READ TOC/PMA/ATIP 6.1.24.

The Feature descriptor response data to be returned to the Initiator is defined in Table 56.

Table 56 - DVD Read Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 001Fh
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 001Fh.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if DVD media is not
present.
The Additional Length field shall be set to 0.

5.3.9. Random Writable Feature (0020h)


This Feature identifies a Logical Unit that can write data to logical blocks specified by a Write command. There
is no requirement that the addresses in sequences of writes occur in any particular order. Logical Units that
may be used as a random writable block device shall implement the commands as specified in Table 57.

74
BSR NCITS 333

Table 57 - Random Writable Block Device Commands


Op Code Command Description Clause
25h READ CAPACITY 6.1.17.
2Ah WRITE(10) 6.1.41.
2Eh WRITE AND VERIFY (10) 6.1.42.
35h SYNCHRONOUS CACHE 6.1.40.
The Immediate bit shall be supported.

The Feature descriptor response data to be returned to the Initiator is defined in Table 58

Table 58 - Random Writable Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0020h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 0Ch
4 (MSB)
5 Last Logical Block Address
6
7 (LSB)
8 (MSB)
9 Logical Block Size
10
11 (LSB)
12 (MSB) Blocking
13 (LSB)
14 Reserved PP
15 Reserved

The Feature Code field shall be set to 0020h.


The Version field shall be set to 1h.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if randomly writable media
is not present.
The Additional Length field shall be set to 0Ch.
The Last Logical Block Address is the logical block address of the last addressable block on the medium.
The Logical Block Size field specifies the number of bytes per logical block. This value shall be the same as
reported by the Random Readable Feature and the READ CAPACITY Command.
The Blocking field shall indicate the number of logical blocks per readable Logical Unit. For most hard disks,
this value is 1. For DVD devices, this number is 10h.
If there is more than one Blocking on the medium possible, the Blocking field shall be set to zero. See the
READ TRACK INFORMATION Command for more information.

75
BSR NCITS 333

The PP (Page Present) bit, when set to zero, shall indicate that the Read/Write Error Recovery page may not
be present. When set to one, shall indicate that the Read/Write Error Recovery page is present.

5.3.10. Incremental Streaming Writable (0021h)


This Feature identifies a Logical Unit that can write data to a contiguous region, and can append data to a
limited number of locations on the media. On CD media, this is known as packet recording and on DVD media
it is known as Incremental Recording. Logical Units that support this Feature shall implement the commands
shown in Table 59.

Table 59 – Incremental Streaming Commands


Op Code Command Description Clause
A1h BLANK (Note 1) 6.1.1.
5Bh CLOSE TRACK/SESSION 6.1.2.
51h READ DISC INFORMATION 6.1.18.
52h READ TRACK INFORMATION 6.1.26.
53h RESERVE TRACK 6.1.29.
54h SEND OPC INFORMATION (Note 2) 6.1.35.
2Ah WRITE(10) 6.1.41.
35h SYNCHRONOUS CACHE 6.1.40.
Notes:
1. Shall be supported if the Erasable bit in READ DISC INFORMATION,
returned data, is set to one. If supported, Blanking Types 000b, 001b, and
100b shall be supported.
2. Shall be supported if the OPC information is ever returned in the READ
DISC INFORMATION return data.

Table 60 – Incremental Streaming Parameters


Page Code Mode page Clause
05h Write Parameters 5.5.4.

The Feature descriptor response data to be returned to the Initiator is defined in Table 61

Table 61 - Incremental Streaming Writable Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0021h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length
4 (MSB) Data Type Supported
5 (LSB)
6 Reserved
7 Number of Link Sizes
8-n Link Size
n-? Pad

76
BSR NCITS 333

The Feature Code field shall be set to 0021h.


The Version field is set to 1h.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if sequential write media is
not present.
The Additional Length field shall be set to 4 + (Number of Link Sizes) + (Number of Pad bytes).
The Data Type Supported field is a bit field that identifies the supported Data Type. A bit set to zero indicates
the Data Type is not supported. A bit set to one indicates the Data Type is supported. Bit 0 equates to Data
Type 0 and bit 15 equates to Data Type 15, etc..
The Number of Link Sizes shall specify the number of link sizes available for the current media. For CD
media, this field should be 1. For DVD-R, this field should be 2.
Each Link Size field shall indicate the number of logical blocks per link. Links occur on sequentially written
media between independent write operations. The link size does not include any logical blocks written by the
Logical Unit to satisfy the writable unit specified by the Blocking field in the Random Readable Feature. This
field is 7 for CD-R media, and may be 0, 1, or 16 for DVD media. Link Size fields are reported by the Logical
Unit in the Logical Unit’s preferred order, most desirable first.
The Pad field shall contain zeros. The number of Pad bytes shall be 4 * IP((Number of Link Sizes + 3)/4) -
(Number of Link Sizes), where IP() is the integer part of the number. The Pad field is present to make the
length of the Feature Descriptor a multiple of 4 bytes.

5.3.11. Sector Erasable Feature (0022h)


This Feature identifies a Logical Unit that supports erasable media and media that requires an erase pass
before overwrite, such as some magneto-optical technologies. Logical Units that support this Feature shall
implement the commands listed in Table 62.
Note: This Feature does not apply to DVD-RAM, that is a direct overwrite technology.

Table 62 – Sector Erasable Feature Commands


Op Code Command Description Clause
2Ch ERASE(10) SBC
2Fh VERIFY(10) (Note 1) SBC
2Ah WRITE(10) (Note 2) 6.1.41.
Notes:
1. The BLKVFY bit shall be supported
2. The EBP bit shall be supported

The Feature descriptor response data to be returned to the Initiator is defined in Table 63.

Table 63 - Sector Erasable


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0022h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length

The Feature Code field shall be set to 0022h.


The Version Field is defined in sub-clause 5.2.1.

77
BSR NCITS 333

The Persistent bit shall be defined as in sub-clause 5.2.2.


The Current bit shall be defined as in sub-clause 5.2.3.
The Additional Length field shall be set to 00h.

5.3.12. Formattable Feature (0023h)


This Feature identifies a Logical Unit that can format media into logical blocks. Logical Units that use media
that may be formatted shall implement the commands specified in Table 64.

Table 64 - Formattable Feature Commands


Op Code Command Description Clause
04h FORMAT UNIT with a Format Code of 001b, Format 6.1.3.
Type 0h
23h READ FORMAT CAPACITIES 6.1.20.
03h REQUEST SENSE SPC
2Fh VERIFY(10) SBC

The Feature descriptor response data to be returned to the Initiator is defined in Table 65

Table 65 - Formattable Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0023h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 0023h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if non-formattable media is
present.
The Additional Length field shall be set to 0.

5.3.13. Defect Management Feature (0024h)


This Feature identifies a Logical Unit that shall have defect management available to provide a defect-free
contiguous address space. Logical Units that support this Feature shall implement the parameter listed in
Table 66.

Table 66 – Defect Management Feature Parameters


Page Code Parameter Clause
01h C/DVD Read/Write Error Recovery Page 5.5.3.
Note: The AWRE and ARRE shall be supported if medium is Writable.

78
BSR NCITS 333

The Feature descriptor response data to be returned to the Initiator is defined in Table 67.

Table 67 - Defect Management Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0024h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 0024h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if non-managed media is
not present. If the media is Defect Managed it may have no defects.
The Additional Length field shall be set to 0.

5.3.14. Write Once Feature (0025h)


This Feature identifies a Logical Unit that shall have the ability to record to any previously unrecorded logical
block. The recording of logical blocks may occur in any order. Previously recorded blocks shall not be
overwritten. Logical Units that support this Feature shall implement the commands listed in Table 68.

Table 68 – Write Once Feature Commands


Op Code Command Description Clause
25h READ CAPACITY 6.1.17.
35h SYNCHRONOUS CACHE 6.1.40.
2Ah WRITE(10) 6.1.41.
2Eh WRITE AND VERIFY (10) 6.1.42.

Table 69 – Write Once Feature Parameters


Page Code Parameter Clause
01h C/DVD Read/Write Error Recovery Page 5.5.3.

79
BSR NCITS 333

The Feature descriptor response data to be returned to the Initiator is defined in Table 70.

Table 70 - Write Once Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 00025h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 08h
4 (MSB)
5 Last Logical Block
6
7 (LSB)
8 (MSB) Blocking
9 (LSB)
10 Reserved PP
11 Reserved

The Feature Code field shall be set to 25h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if write once media is not
present.
The Additional Length field shall be set to 08h.
The Last Logical Block is the logical block address of the last addressable block on the medium.
The Blocking field shall indicate the number of logical blocks per readable Logical Unit. For most hard disks,
this value is 1. For DVD devices, this number is 10h.
If there is more than one Blocking on the medium possible, the Blocking field shall be set to zero. See the
READ TRACK INFORMATION Command for more information.
The PP (Page Present) bit, when set to zero, shall indicate that the Read/Write Error Recovery page may not
be present. When set to one, shall indicate that the Read/Write Error Recovery page is present.

5.3.15. Restricted Overwrite Feature (0026h)


This Feature identifies a Logical Unit that shall have the ability to overwrite logical blocks only in fixed sets at a
time. Logical Units that write and read CD-RW media shall support the commands specified in Table 71.

Table 71 - Restricted Overwrite Commands


Op Code Command Description Clause
A1h BLANK 6.1.1.
25h READ CAPACITY 6.1.17.
51h READ DISC INFORMATION 6.1.18.
52h READ TRACK INFORMATION 6.1.26.
35h SYNCHRONIZE CACHE 6.1.40.
2Ah WRITE(10) 6.1.41.

80
BSR NCITS 333

Table 72 – Restricted Overwrite Parameter


Page Code Parameter Clause
05h Write Parameter Page 5.5.4.

The Feature descriptor response data to be returned to the Initiator is defined in Table 73.

Table 73 - Restricted Overwrite Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0026h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 0025h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if write once media is not
present.
The Additional Length field shall be set to 0.

5.3.16. CD Track at Once Feature (002Dh)


This Feature identifies a Logical Unit that can write data to a CD track. Logical Units that support this Feature
shall implement the commands and Features identified in Table 74.

Table 74 – CD Track at Once Feature Commands


Op Code Command Description Sub-Clause
A1h BLANK (Note 1) 6.1.1.
5Bh CLOSE TRACK/SESSION 6.1.2.
51h READ DISC INFORMATION 6.1.18.
52h READ TRACK INFORMATION 6.1.26.
53h RESERVE TRACK 6.1.29.
54h SEND OPC INFORMATION (Note 2) 6.1.35.
35h SYNCHRONIZE CACHE 6.1.40.
2Ah WRITE (10) 6.1.41.
Notes:
1. Shall be implemented if the Erasable bit, in the READ DISC
INFORMATION returned data, is set to one. If supported, Blanking Type
000b, 001b, and 100b shall be supported.
2. Shall be implemented if OPC Information is returned in the READ DISC
INFORMATION returned data.

81
BSR NCITS 333

Table 75 – CD Track at Once Feature Parameters


Page Code Parameter Sub-Clause
05h Write Parameters 5.5.4.

The Feature descriptor response data to be returned to the Initiator is defined in Table 76.

Table 76 - CD Track at Once Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 002Dh
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 04h
4 Reserved Test CD-RW R-W
Write Sub-code
5 Reserved
6 (MSB) Data Type Supported
7 (LSB)

The Feature Code field shall be set to 002Dh.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if CD-R or CD-RW media is
not present.
The Additional Length field shall be set to 04h.
The following bits indicate Feature support. If set to zero, the Feature is not supported. If set to one, the
Feature is supported.
The Test Write bit indicates that the Logical Unit can perform test writes. See sub-clause 5.5.4.
The CD-RW bit indicates support for overwriting a Track at Once track with another.
The R-W Sub-code bit indicates that the Logical Unit can record the R-W Sub-channels with user supplied
data.
The Data Type Supported field is defined in sub-clause 5.3.10.

5.3.17. CD Mastering (Session at Once) Feature (002Eh)


This Feature identifies a Logical Unit that can write a CD in Session at Once or Raw mode. Logical Units that
support Session at Once mastering shall implement the commands listed in Table 77, and parameters listed in
Table 78. Logical Units that support mastering in RAW mode shall implement the commands listed in Table
79, and parameters listed in Table 80.

Table 77 – CD Mastering (Session at Once) Feature Commands


Op Code Command Description Sub-clause
51h READ DISC INFORMATION 6.1.18.
52h READ TRACK INFORMATION 6.1.26.
5Dh SEND CUE SHEET 6.1.31.
2Ah WRITE (10) 6.1.41.

82
BSR NCITS 333

Table 78 – CD Mastering (Session at Once) Parameter


Page Code Parameter Sub-clause
05h Write Parameters – Session-At-Once Write type 5.5.4.
shall be supported.

Table 79 – CD Mastering (RAW) Feature Commands


Op-Code Command Sub-clause
51h READ DISC INFORMATION 6.1.18.
52h READ TRACK INFORMATION 6.1.26.
35h SYNCHRONOUS CACHE 6.1.40.
2Ah WRITE (10) 6.1.41.

Table 80 – CD Mastering (RAW) Parameters


Page Code Parameter Sub-clause
05h Write Parameters Page – RAW Write Type shall be 5.5.4.
supported

The Feature descriptor response data to be returned to the Initiator is defined in Table 81.

Table 81 - CD Mastering Feature Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 002Eh
1 (LSB)
2 Reserved Version Persiste Current
nt
3 Additional Length = 04h
4 Reserved SAO RAW RAW TEST CD_R R-W
MS WRITE W
5 (MSB)
6 Maximum Cue Sheet Length
7 (LSB)

The Feature Code field shall be set to 002Eh.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if CD-R or CD-RW media is
not present.
The Additional Length field shall be set to 04h.
The following bits indicate Feature support. If set to zero, the Feature is not supported. If set to one, the
Feature is supported.

83
BSR NCITS 333

The SAO bit shall indicate that the Logical Unit can record using the Session at Once write type.
The Raw MS bit shall indicate that the Logical Unit can record multi-session in raw mode.
The Raw bit shall indicate that the Logical Unit can record using the raw write type.
The Test Write bit shall indicate that the Logical Unit can perform test writes.
The CD-RW bit shall indicate that the Logical Unit can overwrite previously recorded data.
The R-W bit shall indicate that the Logical Unit can record the R-W Sub-channels with user supplied
information.
The Maximum Cue Sheet Length field indicates the maximum length of a Cue Sheet that can be accepted by
the Logical Unit for Session at Once recording. If the SAO bit is zero, this field shall be set to zero.

5.3.18. DVD-R Write Feature (002Fh)


This Feature identifies a Logical Unit that can write data to DVD-R in Disc at Once mode. Logical Units that
write and read DVD-R media shall support the commands specified in Table 82 and the parameters identified
in Table 83.

Table 82 - DVD-R Write Commands


Op Code Command Description Clause
51h READ DISC INFORMATION 6.1.18.
52h READ TRACK INFORMATION 6.1.26.
53h RESERVE TRACK 6.1.29.
ADh SEND DVD STRUCTURE 6.1.32.
2Ah WRITE (10) 6.1.41.

Table 83 – DVD-R Write Feature Parameters


Page Code Parameter Sub-clause
05h Write Parameter - Session at Once shall be 5.5.4.
supported

The DVD-R Write Feature descriptor response data to be returned to the Initiator is defined in Table 84.

Table 84 - DVD-R Write Feature Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 002Fh
1 (LSB)
2 Reserved Version Persiste Current
nt
3 Additional Length = 04h
4 Reserve BUF Reserved Test Reserved
d Write
5 Reserved
6 Reserved
7 Reserved

The Feature Code field shall be set to 002Fh.


The Version Field is defined in sub-clause 5.2.1.

84
BSR NCITS 333

The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if DVD-R media is not
present.
The Additional Length field shall be set to 04h.
The BUF bit, when set to one, indicates the Logical Unit can perform Buffer Under-run Free recording.
The Test Write bit, when set to zero, shall indicate that the Logical Unit is not capable of performing test writes.
When set to one, the Logical Unit shall not be capable of performing test writes.

5.3.19. Power Management Feature (0100h)


This Feature identifies a Logical Unit that can perform Initiator and Logical Unit directed power management.
Logical Units that support this Feature shall implement the commands specified in Table 85 and the mode
parameters specified in Table 86.
Table 85 - Power Management Commands
Op Code Command Description Clause
4Ah GET EVENT/STATUS NOTIFICATION (Note 1) 6.1.5.
1Bh START/STOP UNIT (Note 2) SPC
Note:
1. Power Class events shall be supported
2. Power Condition field shall be supported

Table 86 - Power Management Mode Parameters


Page Code Page Description Clause
1Ah Power Condition 5.5.7.

The Feature descriptor response data to be returned to the Initiator is defined in Table 87.

Table 87 – Power Management Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0100h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 0100h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be set to one.
The Current bit shall be set to one.
The Additional Length field shall be set to 0.

5.3.20. Embedded Changer Feature (0102h)


This Feature identifies a Logical Unit that can move media from a storage area to a mechanism and back.
Logical Units that support an embedded changer shall implement the commands specified in Table 88.

85
BSR NCITS 333

Table 88 - Embedded Changer Command


Op Code Command Description Clause
A6h LOAD/UNLOAD MEDIUM 6.1.7.
BDh MECHANISM STATUS 6.1.8.

The Feature descriptor response data to be returned to the Initiator is defined in Table 89.

Table 89 - Embedded Changer Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0102h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 04h
4 Reserved SCC Reserved SDP Reserved
5 Reserved
6 Reserved
7 Reserved Highest Slot Number

The Feature Code field shall be set to 0102h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2.
The Current bit shall be defined as in sub-clause 5.2.3.
The Additional Length field shall be set to 4.
The SCC (Side Change Capable) bit, when set to zero, shall indicate that the Logical Unit is not capable of
selecting both sides of the media. When set to one, shall indicate that the Logical Unit is capable of selecting
both sides of the media.
The SDP (Supports Disc Present) bit, when set to zero, shall indicate that the Logical Unit cannot report the
contents of the slots after a reset or magazine change. When set to one, shall indicate that the Logical Unit
can report the contents of the slots after a reset or magazine change and that the response to the Mechanism
Status command will contain valid Disc is Present status information for all slots.
Highest Slot Number shall be set to the number of slots minus one.

5.3.21. CD Audio External Play Feature (0103h)


This Feature identifies a Logical Unit that can play CD Audio data directly to an external output. Logical Units
that have a CD-Audio external output shall support the commands specified by Table 90 and the mode pages
specified in Table 91.

86
BSR NCITS 333

A Logical Unit without a CD-Audio output shall respond to a PLAY AUDIO command, that has a transfer length
of zero, with CHECK CONDITION status, and set the sense key to ILLEGAL REQUEST. This behavior allows
an Initiator to determine if a CD-Audio analog output is supported.

Table 90 - CD-Audio External Play Feature Commands


OpCode Command Description Clause
BDh MECHANISM STATUS 6.1.8.
4Bh PAUSE/RESUME 6.1.9.
45h PLAY AUDIO (10) 6.1.10.
47h PLAY AUDIO MSF 6.1.12.
43h READ TOC/PMA/ATIP 6.1.24.
42h READ SUBCHANNEL 6.1.23.
2Bh SEEK SBC
4Eh STOP PLAY/SCAN 6.1.39.

Table 91 - CD-Audio External Output Parameters


Page Code Page Description Clause
0Eh CD Audio Control Mode Page 5.5.6.

The Feature descriptor response data to be returned to the Initiator is defined in Table 92.

Table 92 - CD Audio External Play Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0103h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 04h
4 Reserved Scan SCM SV
5 Reserved
6 (MSB) Number of Volume Levels
7-n (LSB)

The Feature Code field shall be set to 0103h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2.
The Current bit shall be defined as in sub-clause 5.2.3.
The Additional Length field shall be set to 4.
The Scan bit, when set to one, indicates the SCAN command is supported.
The SCM (Separate Channel Mute) bit, when set to zero, shall indicate that all audio channels are muted
simultaneously.
When set to one, shall indicate that each audio channel can be independently muted.
The SV (Separate Volume) bit, when set to zero, shall indicate that all audio channels will have the same
volume level. When set to one, shall indicate that audio channel volume may be set independently.

87
BSR NCITS 333

The Number of Volume Levels shall indicate the number of discrete volume levels supported by the Logical
Unit. If the Logical Unit supports only turning audio on and off, the Number of Volume Levels field shall be set
to 2.

5.3.22. Microcode Upgrade Feature (0104h)


This Feature identifies a Logical Unit that can upgrade its internal microcode via the interface. Logical Units
that support microcode upgrades shall implement the commands specified in Table 93.

Table 93 - Microcode Upgrade Command


Op Code Command Description Clause
3Ch READ BUFFER with Mode 011b set SPC
3Bh WRITE BUFFER with Mode 111b (Download SPC
microcode with offset and save)

The Feature descriptor response data to be returned to the Initiator is defined in Table 94.

Table 94 - Microcode Upgrade Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0104h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 0104h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2..
The Current bit shall be defined as in sub-clause 5.2.3..
The Additional Length field shall be set to 0.

5.3.23. Time-Out Feature (0105h)


This Feature identifies a Logical Unit that can always respond to commands within a set time period. If a
command cannot complete normally within the allotted time, it completes with an error. Logical Units that
support this Feature shall support the parameter listed in Table 95.

Table 95 – Time-Out Feature Parameter


Page Code Parameter Sub-clause
1Dh Time-out and Protect Page 5.5.9.

Logical Units that support queuing shall support Event Notification Class 6, If queuing is not supported, a
CHECK CONDITION status with a sense code of ILLEGAL REQUEST and an ASC of INSUFFICIENT TIME
FOR OPERATION” shall be supported.
Event Notification Class 6 shall be supported if queuing is supported.

88
BSR NCITS 333

The Feature descriptor response data to be returned to the Initiator is defined in Table 96.

Table 96 - Time-Out Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0105h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 00h

The Feature Code field shall be set to 0105h.


The Version Field is defined in sub-clause 5.2.1..
The Persistent bit shall be defined as in sub-clause 5.2.2..
The Current bit shall be defined as in sub-clause 5.2.3..
The Additional Length field shall be set to 00h.

5.3.24. DVD-CSS Feature (0106h)


This Feature identifies a Logical Unit that can perform DVD-CSS authentication and key management. Logical
Units that support DVD-Video CSS (Content Scramble System) shall implement the commands specified by
Table 97.

Table 97 - DVD-CSS Feature Commands


Op Code Command Description Clause
A2h REPORT KEY 6.1.28.
A3h SEND KEY 6.1.34.
ADh READ DVD STRUCTURE 6.1.19.

The Feature descriptor response data to be returned to the Initiator is defined in Table 98.

Table 98 - DVD-CSS Feature Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code 0106h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length = 04h
4 Reserved
5 Reserved
6 Reserved
7 CSS Version

The Feature Code field shall be set to 0106h.


The Version Field is defined in sub-clause 5.2.1..
The Persistent bit shall be defined as in sub-clause 5.2.2..
The Current bit shall be defined as in sub-clause 5.2.3.. This bit shall be set to zero if DVD-CSS media is not
present.

89
BSR NCITS 333

The Additional Length field shall be set to 4.


The CSS version shall be set to 01h.

5.3.25. Real Time Streaming Feature (0107h)


This Feature identifies a Logical Unit that can perform reading and writing within Initiator specified (and Logical
Unitverified) performance ranges. Logical Units that support this Feature shall implement the commands listed
in Table 99.

Table 99 – Real Time Streaming Feature Commands


Op Code Command Description Clause
Ach GET PERFORMANCE 6.1.6.
B6h SET STREAMING 6.1.38.
A7h SET READ AHEAD 6.1.37.

The Feature descriptor response data to be returned to the Initiator is defined in Table 100.

Table 100 - Real-Time Streaming Feature Descriptor Format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0107h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length =00h

The Feature Code field shall be set to 0107h.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2.
The Current bit shall be defined as in sub-clause 5.2.3.
The Additional Length field shall be set to 0.

5.3.26. Feature 0108h: Logical Unit serial number


This Feature identifies a Logical Unit that has a unique serial number. A Logical Unit can be uniquely identified
by
checking its vendor ID, model ID, and serial number.

Table 101 – Logical Unit serial number Feature Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0108h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length
4-n Serial Number

The Feature Code field shall be set to 0108h.


The Persistent bit shall be set to one.
The Current bit shall be set to one.
The Additional Length field shall be set to a multiple of 4.

90
BSR NCITS 333

The Serial Number shall be ASCII graphic codes (i.e. codes 20h - 7Eh). Any unused bytes in the Serial
Number shall
be padded with spaces (20h). There should not be more than three pad bytes.

5.3.27. Feature 010Ah: Disc Control Blocks


This Feature identifies a Logical Unit that can read and/or write Disc Control Blocks from or to the media.
Logical Units that support this command shall implement the commands listed in Table 102.

Table 102 – Disc Control Blocks Feature Commands


Op Code Command Description Clause
ADh READ DVD STRUCTURE 6.1.19.
Format Code 30h shall be supported.
BFh SEND DVD STRUCTURE 6.1.38.
If any DCB’s are identified as writable, this command
shall be supported

Table 103 – Disc Control Blocks Feature Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code = 0108h
1 (LSB)
2 Reserved Version Persistent Current
3 Additional Length
4 (MSB)
5 Supported DCB entry 0
6
7 (LSB)

n*4 + 4 (MSB)
n*4 + 5 Supported DCB entry n
n*4 + 6
n*4 + 7 (LSB)

The Feature Code field shall be set to 010Ah.


The Version Field is defined in sub-clause 5.2.1.
The Persistent bit shall be defined as in sub-clause 5.2.2. This bit shall be set to zero if the medium is
removable.
The Current bit shall be defined as in sub-clause 5.2.3. This bit shall be set to zero if no DCBs can be read or
written.
The Additional Length field shall be set to N * 4, where n is the number of Supported DCB entries. The
Supported DCB entry n fields shall each contain the Content Descriptor of a supported DCB. Entries shall be
sorted in ascending order.

91
BSR NCITS 333

5.4. Profile Definitions


Profiles define a base set of functions for Logical Units. Logical Units that list a Profile as current shall support
all Features required by that Profile, but not all Features may be current. Logical Units may support Features
in addition to those required by the Profile. A single device may implement more than one Profile, and more
than one Profile may be active at any given time. All required Features may not be current, depending on the
medium installed. If a Not Ready response would be given to a TEST UNIT READY command, no Profile shall
be current.
For example, a Logical Unit, with unformatted media, may not be able to read or write and the corresponding
Features would not be current. But the Profile corresponding to the Logical Unit/media system may be current,
i.e., a DVD-RAM Logical Unitwith unformatted media loaded may claim compliance to the DVD-RAM Profile; a
DVD-RAM Logical Unitwith no media loaded shall claim no Profile as current.

5.4.1. Profile 2: Removable disk


Logical Units identifying Profile 2 as current shall support the Features listed in Table 104.

Table 104 – Mandatory Features for Removable Disks


Feature Feature Name Description Sub-Clause
Number
0000h Profile List A list of all Profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify Initiator about operational 5.3.3.
changes and accept Initiator requests to prevent
operational changes.
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, Read ability for storage devices with random 5.3.5.
PP=1 addressing.
0020h Random Writable Write support for randomly addressed writes 5.3.9.
0023h Formattable Support for formatting of media 5.3.12.
0024h Defect Management Ability of the drive/media system to provide an 5.3.13.
apparently defect-free space
0100h Power Management Initiator and device directed power management 5.3.19.
0105h Timeout Ability to respond to all commands within a 5.3.23.
specific time

92
BSR NCITS 333

5.4.2. Profile 3: Magneto-Optical


Logical Units identifying profile 3 as current shall support the Features listed in Table 105:

Table 105 - Mandatory Features for Magneto-Optical Erasable


Feature Feature Name Description Sub-
Number clause
0000h Profile List A list of all profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify initiator about operational changes and 5.3.3.
accept initiator requests to prevent operational changes
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, PP = 1 Read ability for storage with random addressing 5.3.5.
0020h Random Writable Write support for randomly addressed writes 5.3.9.
0022h Sector Erasable Write support for erasable media and media that require 5.3.11.
an erase pass before overwrite.
0023h Formattable Support for formatting of media 5.3.12.
0024h Defect Management Ability of the drive/media system to provide an 5.3.13.
apparently defect free space.
0100h Power Management Initiator and Logical Unit power management 5.3.19.
0105h Time-out Ability to response to all commands within a specific 5.3.23.
time

5.4.3. Profile 4: Magneto-Optical Write Once


Logical Units identifying profile 4 as current shall support the Features listed in Table 106:

Table 106 - Mandatory Features for Magneto-Optical Write Once


Feature Feature Name Description Sub-
Number clause
0000h Profile List A list of all profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify initiator about operational changes and 5.3.3.
accept initiator requests to prevent operational changes
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, PP = 1 Read ability for storage with random addressing 5.3.5.
0024h Defect Management Ability of the drive/media system to provide an 5.3.13.
apparently defect free space.
0025h Write Once Write support for write once media that can be written in 5.3.14.
random order.
0100h Power Management Initiator and Logical Unit power management 5.3.19.
0105h Time-out Ability to response to all commands within a specific 5.3.23.
time

93
BSR NCITS 333

5.4.4. Profile 5h: AS-MO


Logical Units identifying Profile 5 shall support the Features listed in .

Table 107 – Mandatory Features for AS-MO


Feature Feature Name Description Sub- Clause
Number
0000h Profile List A list of all Profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify Initiator about operational 5.3.3.
changes and accept Initiator requests to prevent
operational changes.
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, Read ability for storage devices with random 5.3.5.
PP=1 addressing.
0020h Random Writable Write support for randomly addressed writes 5.3.9.
0023h Formattable Support for formatting of media 5.3.12.
0024h Defect Management Ability of the drive/media system to provide an 5.3.13.
apparently defect-free space
0100h Power Management Initiator and device directed power management 5.3.19.
0105h Timeout Ability to respond to all commands within a 5.3.23.
specific time
0107h Real-Time Streaming Ability to read and write using Initiator requested 5.3.25.
performance parameters

5.4.5. Profile 8: CD-ROM


Logical Units identifying Profile 8 as current shall support the Features listed in Table 108.

Table 108 – Mandatory Features for CD-ROM


Feature Feature Name Description Sub- Clause
Number
0000h Profile List A list of all Profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify Initiator about operational 5.3.3.
changes and accept Initiator requests to prevent
operational changes.
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, Read ability for storage devices with random 5.3.5.
PP=1 addressing.
001Eh CD Read The ability to read CD specific structures 5.3.7.
0100h Power Management Initiator and device directed power management 5.3.19.
0105h Timeout Ability to respond to all commands within a 5.3.23.
specific time

94
BSR NCITS 333

5.4.6. Profile 9: CD-R


Logical Units identifying profile 9 as current shall support the Features listed in Table 109:

Table 109 - Mandatory features for CD-R


Feature Feature Name Description Sub-
Number clause
0000h Profile List A list of all profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify initiator about operational changes and 5.3.3.
accept initiator requests to prevent operational changes
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, PP = 1 Read ability for storage with random addressing 5.3.5.
001Eh CD Read The ability to read CD specific structures 5.3.7.
0021h Incremental Streaming Write support of sequential recording 5.3.10.
Writable
002Dh CD Track at Once Ability to write CD with Track at Once recording 5.3.16.
0100h Power Management Initiator and Logical Unit power management 5.3.19.
0105h Time-out Ability to response to all commands within a specific 5.3.23.
time
0107h Real-Time Streaming Ability to read and write using Initiator requested 5.3.25.
performance parameters

95
BSR NCITS 333

5.4.7. Profile Ah: CD-RW


Logical Units identifying profile Ah as current shall support the Features listed in Table 110.

Table 110 - Mandatory features for CD-RW


Feature Feature Name Description Sub-
Number clause
0000h Profile List A list of all profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify initiator about operational changes and 5.3.3.
accept initiator requests to prevent operational changes
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, PP = 1 Read ability for storage with random addressing 5.3.5.
001Dh Multi-Read The Logical Unit complies with OSTA Multi-Read 5.3.6.
001Eh CD Read The ability to read CD specific structure 5.3.7.
0021h Incremental Streaming Write support of sequential recording 5.3.10.
Writable
0023h Formattable Support for formatting of media 5.3.12.
0026h Restricted Overwrite Write support for media that shall be written in multiples 5.3.15.
of logical blocks
002Dh CD Track at Once Ability to write CD with Track at Once recording 5.3.16.
0100h Power Management Initiator and Logical Unit power management 5.3.19.
0105h Time-out Ability to response to all commands within a specific 5.3.23.
time
0107h Real-Time Streaming Ability to read and write using Initiator requested 5.3.25.
performance parameters

5.4.8. Profile 10h: DVD-ROM


Logical Units identifying Profile 10h as current shall support the Features listed in Table 111.

Table 111 – Mandatory Features for DVD-ROM


Feature Feature Name Description Sub-Clause
Number
0000h Profile List A list of all Profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify Initiator about operational 5.3.3.
changes and accept Initiator requests to prevent
operational changes.
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, Read ability for storage devices with random 5.3.5.
PP=1 addressing.
001Fh DVD Read The ability to read DVD specific structures 5.3.8.
0100h Power Management Initiator and device directed power management 5.3.19.
0105h Timeout Ability to respond to all commands within a 5.3.23.
specific time
0107h Real-Time Streaming Ability to read using Initiator requested 5.3.25.
performance parameters

96
BSR NCITS 333

5.4.9. Profile 11h: DVD-R


Logical Units identifying profile 11h as current shall support the Features listed in Table 112:

Table 112 - Mandatory Features for DVD-R


Feature Feature Name Description Sub-
Number clause
0000h Profile List A list of all profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify initiator about operational changes and 5.3.3.
accept initiator requests to prevent operational changes
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, PP = 1 Read ability for storage with random addressing 5.3.5.
001Fh DVD Read The ability to respond to all commands within a specific 5.3.8.
time
0021h Incremental Streaming Write support for sequential recording 5.3.10.
Writable
002Fh DVD-R Write Ability to write data in Disc At Once mode 5.3.18.
0100h Power Management Initiator and Logical Unit power management 5.3.19.
0105h Time-out Ability to response to all commands within a specific 5.3.23.
time
0107h Real-Time Streaming Ability to read and write using initiator requested 5.3.25.
performance parameters
0108h Logical Unit Serial Number Ability to provide Logical Unit serial number 5.3.26.

5.4.10. Profile 12h: DVD Re-Writable


Logical Units identifying Profile 12h as current shall support the Features listed in Table 113.

97
BSR NCITS 333

Table 113 – Mandatory Features for DVD Re-Writable


Feature Feature Name Description Sub-Clause
Number
0000h Profile List A list of all Profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.
0002h Morphing Ability to notify Initiator about operational 5.3.3.
changes and accept Initiator requests to prevent
operational changes.
0003h Removable Medium The medium may be removed from the device 5.3.4.
0010h Random Readable, Read ability for storage devices with random 5.3.5.
PP=1 addressing.
001Fh DVD Read The ability to read DVD specific structures. 5.3.8.
0020h Random Writable Write support for randomly addressed writes 5.3.9.
0023h Formattable Support for formatting of media 5.3.12.
0024h Defect Management Ability of the drive/media system to provide an 5.3.13.
apparently defect-free space
0100h Power Management Initiator and device directed power management 5.3.19.
0105h Timeout Ability to respond to all commands within a 5.3.23.
specific time
0107h Real-Time Streaming Ability to read and write using Initiator requested 5.3.25.
performance parameters.

5.4.11. Profile FFFFh: Logical Units Not Conforming to a Standard Profile


Logical Units identifying Profile FFFFh as current shall support the Features listed in Table 114.

Table 114 - Mandatory Features for Logical Units Not Conforming to a Standard
Profile
Feature Feature Name Description Sub-Clause
Number
0000h Profile List A list of all Profiles supported by the device 5.3.1.
0001h Core Basic Functionality 5.3.2.

98
BSR NCITS 333

5.5. Parameters for all Logical Unit types


This clause defines and lists the specified parameters that an Initiator system or Logical Unit would require
performing at a desired level.
Parameters uniquely required to implement a specific Feature set are defined within the sub-clause defining
that Feature set. Other parameters that are unique to a specific command are listed in the specific sub-clause
defining that command

5.5.1. Mode Pages


Mode Pages are used to provide information to or from the Logical Unit. MODE SELECT (used to set
parameters) and MODE SENSE (used to interrogate capabilities) commands move the pages (Table 115)
to/from the Logical Units. The page definitions are provided in the following sub-clauses.
Each mode page (Table 115) contains a page code, a page length, and a set of mode parameters.

Table 115 - Mode Page Codes for C/DVD


Page Description Sub-Clause
Code
00h Vendor-specific (does not require page
format)
01h Read/Write error recovery page 5.5.3.
02h - 04h Reserved
05h Write Parameter page 5.5.4.
06h Reserved
07h Verify error recovery page Shall not be used
08h - 0Ah Reserved
0Bh Medium types supported page Shall not be used
0Ch Reserved
0Dh CD Device Parameters Page 5.5.5.
0Eh CD audio control page 5.5.6.
0Fh - 19h Reserved
1Ah Power Condition Page 5.5.7.
1Bh Reserved
1Ch Fault/Failure Reporting Page 5.5.8.
1Dh Time-out & Protect Page 5.5.9.
1Eh - 1Fh Reserved
20h – 29h Vendor Specific
2Ah C/DVD Capabilities & Mechanical Status 5.5.10.
Page
2Bh – Vendor Specific
3Eh
3Fh Return all pages (valid only for the Mode
Sense command

99
BSR NCITS 333

5.5.2. Mode Select/Sense Parameters


This section describes the pages used with MODE SELECT and MODE SENSE commands.
The Mode Parameter List (Table 116) contains a header, followed by zero or more variable length mode
pages defined in Table 117.

Table 116 - Mode Parameter List


Bit 7 6 5 4 3 2 1 0
Byte
0-7 Mode Parameter Header
8-n Page(s)

Table 117 - Mode Page Format


Bit 7 6 5 4 3 2 1 0
Byte
0 PS/ Reserved Page Code
Reserved
1 Page Length (n - 1)
2 Mode Parameter
n

5.5.2.1. Parameters Savable bit (PS)


When using the MODE SENSE command, a Parameters Savable (PS) bit of one indicates that the mode page
can be saved by the Logical Unit in a non-volatile, vendor-specific location. A PS bit of zero indicates that the
supported parameters cannot be saved. When using the MODE SELECT command, the PS bit is reserved.
5.5.2.2. Page Code
The Page Code field identifies the format and parameters defined for that mode page.
When using the MODE SENSE command, if Page Code 00h (vendor-specific page) is implemented, the
Logical Unit shall return that page last in response to a request to return all pages (page code 3Fh). When
using the MODE SELECT command, this page shall be sent last.
5.5.2.3. Page Length
The Page Length field specifies the length in bytes of the mode parameters that follow. If the Initiator does not
set this value to the value that is returned for the page by the MODE SENSE command, the Logical Unit shall
terminate the command with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST
with the additional sense code set to INVALID FIELD IN PARAMETER LIST. The Logical Unit is permitted to
implement a mode page that is less than the full page length defined in this Specification, provided no field is
truncated and the Page Length field correctly specifies the actual length implemented.
The mode parameters header (Table 118) for each page are defined here. Mode parameters not implemented
by the Logical Unit shall be set to zero.

100
BSR NCITS 333

Table 118 - Mode Parameter Header


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Mode Data Length
1 (LSB)
2 Obsolete (Medium Type Code)
3 Reserved
4 Reserved
5 Reserved
6 Block Descriptor Length 0 (8 for legacy SCSI Logical Units)
7

When using the MODE SENSE command, the mode data length field specifies the length in bytes of the
following data that is available to be transferred. The mode data length is the total byte count of all data
following the mode data length field. When using the MODE SELECT command, this field is reserved.
The block descriptor associated with the Mode Select and Mode Sense commands is used for legacy system
support for SCSI systems. If supported, block sizes (see Table 119.) shall include 2048 and may include 512,
2056, 2324, 2332, 2336, 2340, 2352, 2368, and 2448 bytes. Table 119 shows the implementation of the
various block sizes. These definitions apply for reading with the READ (XX) commands. Other block sizes are
allowed and the contents of the blocks are not specified by this specification.

Table 119 - Block Descriptor Block Sizes for Read


Size Readable block types
512 Mode 1 or Mode 2 Form 1 sectors divided into four blocks each
2048 Mode 1, Mode 2 Form1, or DVD
2056 Mode 2 Form 1 with sub-header. Equivalent to READ CD, Flag = 50h.
2324 Mode 2 Form 2 with no sub-header. Note: There is no mapping to READ CD, as the
4 spare bytes are not returned.
2332 Mode 2, Form 1 or 2 data. The Logical Unit shall operate as specified for 2048 byte
blocks except that both forms send 2332 byte blocks. Form 1 blocks return the third
layer ECC with the user data. There is no mapping to READ CD, as the 4 spare
bytes are not returned.
2336 Mode 2 data. The Logical Unit shall operate as specified for 2048 byte block
lengths. This mode will include all data including Yellow Book Mode 2 sectors and
Form 1 & 3. Equivalent to READ CD, Flag = 58h.
2340 All bytes except the synchronization field. Equivalent to READ CD, Flag = 78h.
2352 Audio or raw blocks. The Logical Unit shall operate as specified for 2048 byte block
lengths. Reads of data mode sectors shall return descrambled data. Equivalent to
READ CD, Flag = F8h.
2448 or 2368 Audio or raw blocks with raw Sub-channel. The Logical Unit shall not perform the
data descrambling operation. Equivalent to READ CD, Flag = F8. Sub-channel data
selection = 010b (2448) or Sub-channel data selection = 001b (2368).

101
BSR NCITS 333

5.5.3. Read/Write Error Recovery Parameters Page (Page Code 01h)


The Read/Write Error Recovery Parameters Page (Table 120) specifies the error recovery parameters the
Logical Unit shall use during any command that performs a data read or write operation from the media (e.g.
READ, READ TOC/PMA/ATIP, WRITE, etc.).

Table 120 - Read/Write Error Recovery Parameters Page Format


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserved Page Code (01h)
1 Page Length (0Ah)
2 Error Recovery Parameter
AWRE ARRE TB RC Reserved PER DTE DCR
3 Read Retry Count
4 Reserved (Correction Span in SCSI SBC)
5 Reserved (Head Offset Count in SCSI SBC)
6 Reserved (Data Strobe Offset Count in SCSI SBC)
7 Reserved
8 Write Retry Count
9 Reserved
10 (MSB) Recovery Time Limit (0)
11 (LSB)

The Parameters Savable (PS) bitis defined in sub-clause 5.5.2.1..


NOTE The implementation of error recovery procedures for Logical Units is markedly different from those used for
magnetic medium disk drives. At least one level of error correction is required to transfer the data stream. Therefore,
the performance of the Logical Unit may differ substantially from what would be expected by sending the same error
recovery parameters to a magnetic medium Logical Unit.
An Automatic Write Reallocation Enabled (AWRE) bit of one indicates that the Logical Unit shall enable
automatic reallocation to be performed during write operations. An AWRE bit of zero indicates that the Logical
Unit shall not perform automatic reallocation of defective data blocks during write operations.
An Automatic Read Reallocation Enabled (ARRE) bit of one indicates that the Logical Unit shall enable
automatic reallocation of defective data blocks during read operation. An ARRE bit of zero indicates that the
Logical Unit shall not perform automatic reallocation of defective data blocks during read operation. When
ARRE is enabled other error recovery modes shall not be used. The Disable Correction and Read Continuous
shall not be enabled while ARRE is enabled.
A Transfer Block (TB) bit of one indicates that a data block that is not recovered within the recovery limits
specified, shall be transferred to the Initiator before CHECK CONDITION status is returned. A TB bit of zero
indicates that such a data block shall not be transferred to the Initiator. The TB bit does not affect the action
taken for recovered data.
A Read Continuous (RC) bit of one indicates that the Logical Unit shall transfer the entire requested length of
data without adding delays to perform error recovery procedures. This implies that the Logical Unit may send
data that is erroneous or fabricated in order to maintain a continuous flow of data. A RC bit of zero indicates
that error recovery operations that cause delays are acceptable during the data transfer.
A Post Error (PER) bit of one indicates that the Logical Unit shall report recovered errors. A PER bit of zero
indicates that the Logical Unit shall not report recovered errors. Error recovery procedures shall be performed
within the limits established by the error recovery parameters. This capability is very different for DVD media.
To be able to recover the data from DVD media, error correction shall be used. Thus it is not reasonable to
report when ECC is used to recover the data. This bit for DVD media shall only be used to report when auto

102
BSR NCITS 333

reallocation of a logical block has been performed. For CD media this capability is used to report when the
Layered Error correction has been used to recover the data. Again as the CIRC is mandatory for recovery of
data it shall not cause recovered errors to be reported.
A Disable Transfer on Error (DTE) bit of one indicates that the Logical Unit shall terminate the data transfer to
the Initiator upon detection of a recovered error. A DTE bit of zero indicates that the Logical Unit shall not
terminate the data transfer upon detection of a recovered error.
A Disable Correction (DCR) bit of one indicates that error correction codes shall not be used for data error
recovery. A DCR bit of zero allows the use of error correction codes for data error recovery.
As an example, an interpretation of the bits 5-0 in the Error Recovery Parameter byte for CD-ROM Logical
Units is given in Table 121.
The Read Retry Count field specifies the number of times that the controller shall attempt its read recovery
algorithm.
The Write Retry Count field specifies the number of times that the controller shall attempt its write recovery
algorithm. This may not have any affect if the Logical Unit does not support read after write operations.
A CIRC Recovered Data Error is defined as a block that the CIRC based error correction algorithm was
unsuccessful for a read attempt, but on a subsequent read operation no error was reported. The number of
subsequent read operations is limited to the read retry count. Layered error correction was not used.
A CIRC Un-recovered Data Error is defined as a block that the CIRC based error correction algorithm was
unsuccessful on all read attempts up to the read retry count. Layered error correction was not used.
An L-EC Recovered Data Error is defined as a block that the CIRC based error correction algorithm was
unsuccessful, but the layered error correction was able to correct the block within the read retry count.
An L-EC Un-correctable Data Error is defined as a block that could not be corrected by layered error correction
within the read retry count.

103
BSR NCITS 333

Table 121 – CD-ROM Devices, error recovery description


error code Description
00h The maximum error recovery procedures available are used. If an error occurs that is
uncorrectable with the error correction codes (ECC) on the media, data transfer is terminated
with CHECK CONDITION status. The block with the error is not transferred. The sense key is
set to MEDIUM ERROR. The information bytes give the address of the block where the
unrecovered error was detected. Recovered errors are not reported.
01h Only retries of the read operation and CIRC are used (layered error correction is not used).
Only CIRC unrecovered data errors are reported. If an CIRC unrecovered data error occurs,
data transfer is terminated with CHECK CONDITION status. The block with the error is not
transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address
of the block where the unrecovered error was detected. Recovered errors are not reported.
04h The maximum error recovery procedures available are used. Recovered data errors are
reported. If a recovered data error occurs, data transfer is not terminated. However, when the
data transfer has completed CHECK CONDITION status is reported. The sense key is set to
RECOVERED ERROR. The information bytes give the address of the last block where a
recovered data error was detected.
If a data error occurs that is uncorrectable with the ECC information available on the media,
data transfer is terminated and CHECK CONDITION status is reported. The block with the
error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give
the address of the block where the uncorrectable error was detected.
05h Only retries of the read operation and CIRC are used (layered error correction is not used).
Recovered data errors are reported. If a recovered data error occurs, data transfer is not
terminated. However, when the data transfer has completed CHECK CONDITION status is
reported. The sense key is set to RECOVERED ERROR. The information bytes give the
address of the last block where a CIRC recovered data error was detected.
If an unrecovered data error occurs, data transfer is terminated and CHECK CONDITION
status is reported. The block with the error is not transferred. The sense key is set to MEDIUM
ERROR. The information bytes give the address of the block where the unrecovered error was
detected.
06h The maximum error recovery procedures are used. Recovered data errors are reported. If a
recovered data error occurs data transfer is terminated and CHECK CONDITION status is
reported. The block with the recovered error is not transferred. The sense key is set to
RECOVERED ERROR. The information bytes give the address of the block where the
recovered data error was detected.
If a data error occurs that is uncorrectable with the ECC information on the medium, data
transfer is terminated with CHECK CONDITION status. The block with the error is not
transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address
of the block where the uncorrectable error was detected.
07h Only retries of the read operation are used (layered error correction is not used). CIRC
recovered data errors are reported. If a CIRC recovered data error occurs, data transfer is
terminated with CHECK CONDITION status. The block with the recovered error is not
transferred. The sense key is set to RECOVERED ERROR. The information bytes give the
address of the block where the recovered data error was detected.
If an CIRC unrecovered data error occurs, data transfer is terminated with CHECK
CONDITION status. The block with the error is not transferred. The sense key is set to
MEDIUM ERROR. The information bytes give the address of the block where the
uncorrectable error was detected.
10h If data transfer can be maintained, the maximum error recovery procedures available are used.
(RC=1.) If an error occurs that is uncorrectable with the error codes (ECC) on the media, or is
uncorrectable in time to maintain data transfer, the data transfer is not terminated. However,
when the data transfer has completed, CHECK CONDITION status is reported. The sense key
is set to MEDIUM ERROR. The information bytes give the address of the block where the first
unrecovered error was detected. Recovered errors are not reported.

104
BSR NCITS 333

105
BSR NCITS 333

Table 121 – CD-ROM Devices, error recovery description (cont.)


error code description
11h If data transfer can be maintained, retries of the read operation and CIRC are used (layered
error correction is not used). (RC=1.) Only CIRC unrecovered data errors are reported. If a
CIRC unrecovered data error occurs, data transfer is not terminated. However, when data
transfer has completed, CHECK CONDITION status is reported. The sense key is set to
MEDIUM ERROR. The information bytes give the address of the block where the first
unrecovered error was detected. Recovered errors are not reported.
If a data error occurs that is uncorrectable with the ECC information available on the media,
data transfer is terminated and CHECK CONDITION status is reported. The block with the
error is not transferred. The sense key is set to MEDIUM ERROR. The information bytes give
the address of the block where the uncorrectable error was detected.
14h If data transfer can be maintained, the maximum error recovery procedures available are used.
(RC=1.) Recovered data errors are reported. If a recovered data error occurs, data transfer is
not terminated. However, when the data transfer has completed, CHECK CONDITION status
is reported. The sense key is set to RECOVERED ERROR. The information bytes give the
address of the block where a recovered data error was detected.
If an data error occurs that is uncorrectable with the ECC information available on the media,
or is uncorrectable in time to maintain data transfer, the data transfer is not terminated.
However, when the data transfer has completed, CHECK CONDITION status is reported. The
sense key is set to MEDIUM ERROR. The information bytes give the address of the block
where the first unrecovered error was detected. Reporting unrecovered errors takes
precedence over reporting recovered errors.
15h If data transfer can be maintained, retries of the read operation and CIRC are used (layered
error correction is not used). (RC=1.) Recovered data errors are reported. If a recovered data
error occurs, data transfer is not terminated. However, when the data transfer has completed
CHECK CONDITION status is reported. The sense key is set to RECOVERED ERROR. The
information bytes give the address of the block where a CIRC recovered data error was
detected.
If an unrecovered data error occurs, data transfer is not terminated. However, when the data
transfer has completed CHECK CONDITION status is reported. The sense key is set to
MEDIUM ERROR. The information bytes give the address of the block where the unrecovered
error was detected. Recovered errors are not reported.
20h The maximum error recovery procedures available are used. If an error occurs that is
uncorrectable with the error correction codes (ECC) on the media, data transfer is terminated
with CHECK CONDITION status. The block with the error is transferred. The sense key is set
to MEDIUM ERROR. The information bytes give the address of the block where the
unrecovered error was detected. Recovered errors are not reported.
21h Only retries of the read operation and CIRC are used (layered error correction is not used).
Only CIRC unrecovered data errors are reported. If an CIRC unrecovered data error occurs,
data transfer is terminated with CHECK CONDITION status. The block with the error is
transferred. The sense key is set to MEDIUM ERROR. The information bytes give the address
of the block where the unrecovered error was detected. Recovered errors are not reported.
24h The maximum error recovery procedures available are used. Recovered data errors are
reported. If a recovered data error occurs, data transfer is not terminated. However, when the
data transfer has completed, CHECK CONDITION status is reported. The sense key is set to
RECOVERED ERROR. The information bytes give the address of the last block where a
recovered data error was detected.
If a data error occurs that is uncorrectable with the ECC information available on the media,
data transfer is terminated and CHECK CONDITION status is reported. The block with the
error is transferred. The sense key is set to MEDIUM ERROR. The information bytes give the
address of the block where the uncorrectable error was detected.

106
BSR NCITS 333

Table 121 – CD-ROM Devices, error recovery description (cont.)


error code description
25h Only retries of the read operation and CIRC are used (layered error correction is not used).
Recovered data errors are reported. If a recovered data error occurs, data transfer is not
terminated. However, when the data transfer has completed CHECK CONDITION status is
reported. The sense key is set to RECOVERED ERROR. The information bytes give the
address of the last block where a CIRC recovered data error was detected.
If an unrecovered data error occurs, data transfer is terminated and CHECK CONDITION
status is reported. The block with the error is transferred. The sense key is set to MEDIUM
ERROR. The information bytes give the address of the block where the unrecovered error was
detected.
26h The maximum error recovery procedures are used. Recovered data errors are reported. If a
recovered data error occurs data transfer is terminated and CHECK CONDITION status is
reported. The block with the recovered error is transferred. The sense key is set to
RECOVERED ERROR. The information bytes give the address of the block where the
recovered data error was detected.
If a data error occurs that is uncorrectable with the ECC information on the medium, data
transfer is terminated with CHECK CONDITION status. The block with the error is transferred.
The sense key is set to MEDIUM ERROR. The information bytes give the address of the block
where the uncorrectable error was detected.
27h Only retries of the read operation are used (layer error correction is not used). CIRC recovered
data errors are reported. If a CIRC recovered data error occurs, data transfer is terminated
with CHECK CONDITION status. The block with the recovered error is transferred. The sense
key is set to RECOVERED ERROR. The information bytes give the address of the block where
the recovered data error was detected.
If a CIRC unrecovered data error occurs, data transfer is terminated with CHECK CONDITION
status. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The
information bytes give the address of the block where the unrecovered error was detected.
30h Same as code 10h
31h Same as code 11h
34h Same as code 14h
35h Same as code 15h

107
BSR NCITS 333

As an example, an interpretation of the bits 5-0 in the Error Recovery Parameter byte for DVD Logical Units is
given in Table 122

Table 122 – DVD Devices, Error Recovery Description


Code Error Recovery Description
00h The maximum error recovery procedures available are used. If an error occurs which is
uncorrectable with the error correction codes (ECC) on the media, data transfer is terminated
with CHECK CONDITION status. The block with the error is not transferred. The sense key is
set to MEDIUM ERROR. The information bytes give the address of the block where the
unrecovered error was detected. Recovered errors are not reported.
04h The maximum error recovery procedures available are used. Recovered data errors are
reported. If a recovered data error occurs, data transfer is not terminated. However, when the
data transfer has completed CHECK CONDITION status is reported. The sense key is set to
RECOVERED ERROR. The information bytes give the address of the last block where a
recovered data error was detected. If a data error occurs that is uncorrectable with the ECC
information available on the media, data transfer is terminated and CHECK CONDITION status
is reported. The block with the error is not transferred. The sense key is set to MEDIUM ERROR.
The information bytes give the address of the block where the uncorrectable error was detected.
The only possible recovered errors are when a block is automatically reassigned using ARRE.
10h If data transfer can be maintained, the maximum error recovery procedures available are used.
(RC = 1.) If an error occurs which is uncorrectable with the error correction codes (ECC) on the
media, or is uncorrectable in time to maintain data transfer, the data transfer is not terminated.
However, when the data transfer has completed, CHECK CONDITION status is reported. The
sense key is set to MEDIUM ERROR. The information bytes give the address of the block where
the first unrecovered error was detected. Recovered errors are not reported.
20h The maximum error recovery procedures available are used. If an error occurs that is
uncorrectable with the error correction codes (ECC) on the media, data transfer is terminated
with CHECK CONDITION status. The block with the error is transferred. The sense key is set to
MEDIUM ERROR. The information bytes give the address of the block where the unrecovered
error was detected. Recovered errors are not reported.
24h The maximum error recovery procedures available are used. Recovered data errors are
reported. If a recovered data error occurs data transfer is not terminated. However, when the
data transfer has completed, CHECK CONDITION status is reported. The sense key is set to
RECOVERED ERROR. The information bytes give the address of the last block where a
recovered data error was detected. If a data error occurs that is uncorrectable with the ECC
information available on the media data transfer is terminated and CHECK CONDITION status is
reported. The block with the error is transferred. The sense key is set to MEDIUM ERROR. The
information bytes give the address of the block where the uncorrectable error was detected. The
only possible recovered errors are when a block is automatically reassigned using ARRE.

The Read Retry Count field specifies the number of times that the Logical Unit shall attempt its read
recovery algorithm.
The Correction Span field should be set to zero.
The Head Offset Count field should be set to zero.
The Data Strobe Offset Count field should be set to zero.
The Write Retry Count field specifies the number of times that the Logical Unit shall attempt its write
recovery algorithm. This may not have any affect if the Logical Unit does not support read after write
operations.
The Recovery Time Limit field should be set to zero.
A CIRC Recovered Data Error is defined as a block for which the CIRC based error correction algorithm was
unsuccessful for a read attempt, but on a subsequent read operation no error was reported. The number of
subsequent read operations is limited to the read retry count. Layered error correction was not used.

108
BSR NCITS 333

A CIRC Unrecovered Data Error is defined as a block for which the CIRC based error correction algorithm was
unsuccessful on all read attempts up to the read retry count. Layered error correction was not used.
An L-EC Recovered Data Error is defined as a block for which the CIRC based error correction algorithm was
unsuccessful, but the layered error correction was able to correct the block within the read retry count.

109
BSR NCITS 333

5.5.4. Write Parameters Mode Page (Page Code 05h)


The Write Parameters Mode Page (see Table 123) contains parameters needed for the correct execution of
WRITE(XX) commands when writing, using certain writing models.
The values in this page do not necessarily reflect the status on a given medium. They will be used as
applicable when a write operation occurs. If any parameters have values incompatible with the current
medium, the Logical Unit shall generate a CHECK CONDITION status, a sense code of ILLEGAL REQUEST
and an ASC of ILLEGAL MODE FOR THIS TRACK shall occur when a write is attempted. Fields that are
ignored for the current medium may contain 0 for the default mode parameter value.
Fields and bits within the Write Parameters Mode Page not utilized by the installed medium may be ignored.

110
BSR NCITS 333

Table 123 - Write Parameters Mode Page


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserved Page Code (05h)
1 Page Length (32h)
2 Reserve BUFE LS_V Test Write Write Type
d
3 Multi-session FP Copy Track Mode
4 Reserved Data Block Type
5 Link Size
6 Reserved
7 Reserved Host Application Code
8 Session Format
9 Reserved
10 (MSB)
11 Packet Size
12
13 (LSB)
14 (MSB) Audio Pause Length
15 (LSB)
16 (MSB)
17 ...
... Media Catalog Number
30 ...
31 (LSB)
32 (MSB)
33 ...
... International Standard Recording Code
46 ...
47 (LSB)
48 Sub-header Byte 0
49 Sub-header Byte 1

50 Sub-header Byte 2
51 Sub-header Byte 3
52 - 55 Vendor Specific

The Parameter Savable bit is defined in sub-clause 5.5.2.1.


The BUFE bit, when set to one, indicates that Buffer Under-run Free recording is enabled for sequential
recording. The Logical Unit shall perform silent linking and continue the writing when the buffer becomes
empty. When set to zero, it shall indicate that Logical Unit shall terminate writing and perform linking. The
following WRITE (10) Command is terminated with CHECK CONDITION Status, ILLEGAL REQUEST,
INVALID ADDRESS FOR WRITE. This bit is valid when the DVD-R Write Feature is current.
The LS_V (Link Size Valid) bit, when set to one indicates that the value in the Link Size field is valid. When set
to zero, indicates compatibility with legacy Logical Units that did not implement the Link Size field; such Logical
Units assume a Link Size of 7.

111
BSR NCITS 333

The Link Size field specifies the Linking Loss area size in sectors. The Link Size field is valid only for Write
Type “Packet/Incremental.” When another Write Type is specified, device shall ignore LS_V bit and Link Size
field. The Logical Unit shall accept values that are valid for the Logical Unit but not valid for the current
medium. If writing is attempted when an invalid Link Size is set, the Logical Unit shall generate CHECK
CONDITION status, ILLEGAL REQUEST, ILLEGAL MODE FOR THIS TRACK/RZONE.
On CD-R/RW media the Test Write bit is valid only for Write Type 1 or 2 ( Track at Once or Session at Once).
On DVD-R media, the Test Write bit is valid only for Write Type 0 or 2 (Incremental or Disc-at-once). When the
Test Write bit is set to one, it indicates that the device performs the write process, but does not write data to
the media. When the bit is set to zero the Write laser power is set such that user data is transferred to the
media. In addition, all track and disc information collected, during test write mode, shall be cleared. It should
be noted that the number of tracks reserved or written may be limited in test write mode.
Write Type Field (Table 124) specifies the stream type to be used during writing. Write Type values are shown
in Table 124.

Table 124 - Write Type Field


Value Definition
00h Packet/Incremental
01h Track-at-once
02h Session-at-once
03h Raw
04h - 0Fh Reserved

Packet/Incremental - the device shall perform packet/Incremental writing when WRITE commands are issued.
Track At Once - the device shall perform Track At Once recording when write commands are issued.
Session At Once - the device shall perform Session At Once recording. For CD, this mode requires that a cue
sheet be sent prior to sending write commands.
Raw - the device shall write data as received from the Initiator. In this mode, the Initiator sends the Lead-in.
The Initiator shall provide Q Sub-channel in this mode, the only valid Data Block Types are 1, 2, and 3. The
Next Writable Address starts at the beginning of the Lead-in (this shall be a negative LBA on a blank disc).
NOTE: In RAW record mode the Logical Unitshall not generate run-in and run-out blocks (main and Sub-channel 1
data) but shall generate and record the link block. Write Type of Track-at-once and Raw are invalid when DVD-R
media is present.
The Multi-session field defines how session closure affects the opening of the next session. See Table 125.

Table 125 - Multi-session Field Definition


Multi- Action Upon Session Closure
session
Field
00b No B0 pointer. Next Session not allowed
01b B0 pointer = FF:FF:FF. Next session not allowed. Field reserved for
non-CD media
10b Reserved
11b Next session allowed. B0 pointer = next possible program area.

The FP bit, when set to one indicates that the packet type is fixed. Otherwise, the packet type is variable. This
bit is ignored unless the write type is set to 0 (Packet). For DVD-R, this bit shall default to one.
A Copy bit with value one indicates that this is the first or higher generation copy of a copyright protected track.
When set to one, the copyright bit in the control nibble of each mode 1 Q Sub-channel shall alternate between
1 and 0 at 9.375 Hz. The duty cycle is 50%, changing every 4 blocks. The initial value on the medium is zero.
Track Mode is the Control nibble in all Mode 1 Q Sub-channel in the track. The default value of this field for
DVD-R Logical Units shall be 5.

112
BSR NCITS 333

Data Block Type defines both the specific data fields in a user data block and its size. The Data Block Type is
defined in Table 126. This size is used for writing instead of the block size set in the mode select header. The
default value of this field for DVD-R Logical Units shall be 8.

Table 126 - Data Block Type Codes


Value Block Definition Requirement
Size
0 2352 Raw data 2352 bytes of raw data Optional
(not valid for write type = packet)
1 2368 Raw data with P and Q Sub-channel Optional
2352 bytes of raw data,
16 bytes for P & Q Sub-channel (see Table 224 -
Formatted Q Sub-channel response data):
Bytes 0..9 are Q Sub-channel data
Bytes 10..11 are Q Sub-channel EDC
Bytes 12..14 are zero
Byte 15, most significant bit has state of P Sub-
channel bit
(not valid for write type = packet)
2 2448 Raw data with P-W Sub-channel appended: Optional
2352 bytes of raw data.
96 bytes of pack form R-W Sub-channel in the low order 6
bits of each byte. Bit 7 of each byte contains the P
Sub-channel state and bit 6 of each byte contains the
Q Sub-channel bit. (not valid for write type = packet)
3 2448 Raw data with raw P-W Sub-channel appended: Optional
2352 bytes of raw data.
96 bytes of raw P-W Sub-channel. (not valid for write type =
packet)
4-6 Reserved values
7 NA Vendor Specific Optional
8 2048 Mode 1 (ISO/IEC 10149): Mandatory
2048 bytes of user data
9 2336 Mode 2 (ISO/IEC 10149): Optional
2336 bytes of user data
10 2048 Mode 2 (CD-ROM XA, form 1): Mandatory
2048 bytes of user data, sub-header from write
parameters
11 2056 Mode 2 (CD-ROM XA, form 1): Optional
8 bytes of sub-header,
2048 bytes of user data
12 2324 Mode 2 (CD-ROM XA, form 2): Optional
2324 bytes of user data, sub-header from write
parameters
13 2332 Mode 2 (CD-ROM XA, form 1, form 2, or mixed form): Mandatory
8 bytes of sub-header
2324 bytes of user data
14 - Reserved values
15 NA Vendor Specific Optional
NOTES:
1. When a track has been designated for packet writing, the device shall ensure that the TDB is written
upon receipt of the write command.

113
BSR NCITS 333

2. With the exceptions of data block types 1, 2, and 3, the device shall generate all P Sub-channel and all
mode 1, mode 2, and mode 3 Q Sub-channel.
3. For data block types 8 through 13, the device shall generate all sync fields and all headers.
4. For data blocks of mode 1 or of mode 2, form 1, the device shall generate EDC and L-EC parity.
5. For data block types 0, 1, 2, and 3, the device shall perform no data scrambling per ISO/IEC 10149.
6. For data block types 8 through 13, the device shall perform data scrambling per ISO/IEC 10149.
The Host Application Code field is typically zero. When the unrestricted Use Disc bit in Disc Information Block
(see Table 237) is one, the Host Application Code field shall be ignored by the device. If the Unrestricted Use
Disc bit is zero, then the Host Application Code shall be set to the appropriate value for the medium in order
that writing be allowed. An Host Application Code of zero is used for a Restricted Use - General Purpose
Disc.
The Session Format code is to be written in the TOC of the session containing this track. The Session Format
code is the PSEC byte of the mode 1, point A0 TOC entry. See Table 305 - READ TOC/PMA/ATIP response
data (Format = 0000b).

Table 127 - Session Format Codes


Session Session Format
Format
Codes
00h CD-DA, or CD-ROM or other data discs
10h CD-I Disc
20h CD-ROM XA Disc
All Other Reserved
Values

The Packet Size field, if FP bit is set to one, specifies the number of User Data Blocks per fixed packet. The
Packet Size field, if FP bit is set to 0, shall be ignored. For DVD-R media, the default Packet Size shall be 16.
Audio Pause Length is the number of blocks from the beginning of the track that the mode 1 Q Sub-channel
INDEX shall be zero. If this number is zero, then there is no period where the Mode 1 Q Sub-channel INDEX
shall be zero. The default value shall be 150. This field is valid only for audio tracks, otherwise it is ignored.
The Media Catalog Number (MCN) will be written in the mode 2 Q Sub-channel in at least one out of every
100 blocks in the program area. The Initiator may include bytes 14 & 15, however, the Logical Unit will ignore
these bytes and insert the appropriate Zero and AFRAME values. When the MCN is returned to the Initiator
the Media Catalog Number (MCN) is formatted as in Table 297.
The International Standard Recording Code (ISRC) is formatted as in Table 299.

114
BSR NCITS 333

5.5.5. CD device parameters (Page Code 0Dh)


The CD Parameters page (Table 128) specifies parameters that affect all CD-ROM data types.

Table 128 - CD Parameters page


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserved Page Code (0Dh)
1 Parameter Length (06h)
2 Reserved
3 Reserved Inactivity Timer Multiplier
4 (MSB) Number Of MSF - S Units Per MSF - M Unit
5 (LSB)
6 (MSB) Number Of MSF - F Units Per MSF - S Unit
7 (LSB)

The Parameter Savable bit is defined in sub-clause 5.5.2.1.


The inactivity timer multiplier value specifies the length of time that the Logical Unit shall remain in the hold
track state after completion of a seek or read operation (Table 129).

Table 129 - Inactivity timer multiplier values


Inactivity timer minimum time in Inactivity timer Minimum time in
multiplier value hold track state multiplier value hold track state
0 Vendor-specific 8 16 s
1 125 ms 9 32 s
2 250 ms Ah 1 min.
3 500 ms Bh 2 min.
4 1s Ch 4 min.
5 2s Dh 8 min.
6 4s Eh 16 min.
7 8s Fh 32 min.

The number of S units per M unit field gives the ratio of these MSF address values. For media conforming to
the CD data and CD-DA standard, this value is 60.
The number of F units per S unit field gives the ratio of these MSF address values. For media conforming to
the CD data and CD-DA standard, this value is 75.

115
BSR NCITS 333

5.5.6. CD Audio Control Parameters Page (Page Code 0Eh)


The CD Audio Control Parameters Page (Table 130) sets the playback modes and output controls for
subsequent PLAY AUDIO commands and any current audio playback operation.

Table 130 - CD Audio Control Mode Page Format


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserved Page Code (0Eh)
1 Page Length (0Eh)
2 Reserved IMMED SOTC Reserved
Default = 1 Default = 0
3 Reserved
4 Reserved
5 Reserved
6 Obsolete (75)
7 Obsolete (75)
8 Reserved CDDA Output Port 0 Channel Selection
9 Output Port 0 Volume Default FFh
10 Reserved CDDA Output Port 1 Channel Selection
11 Output Port 1 Volume Default FFh
12 Reserved CDDA Output Port 2 Channel Selection
13 Output Port 2 Volume Default 00h
14 Reserved CDDA Output Port 3 Channel Selection
15 Output Port 3 Volume Default 00h

The Parameter Savable bit is defined in sub-clause 5.5.2.1.


The Immediate Bit (IMMED) is used for information purposes only; the audio commands will always send
completion status as soon as the playback operation has been started. This bit shall always be set to 1.
A Stop On Track Crossing (SOTC) bit of zero indicates the Logical Unit shall terminate the audio playback
operation when the transfer length is satisfied. Multiple tracks shall be played as necessary. Periods of time
encoded as audio pause/silence at the beginning of tracks, (index 0) shall also be played. A SOTC bit of one
indicates the Logical Unit shall terminate the audio playback operation when the beginning of a following track
is encountered. The SOTC bit is mandatory.
The CDDA Output Port Channel Selection field (Table 131) specifies the Red Book audio channels that a
specific output port shall be connected. More than one output port may be connected to an audio channel.
More than one audio channel may be connected to an output port.

Table 131 - CDDA Output Port Channel Selection Codes


Code Description
0000b Output port muted
0001 Connect audio channel 0 to this output port
0010b Connect audio channel 1 to this output port
0011b Connect audio channel 0 and audio channel 1 to this output port
0100b Connect audio channel 2 to this output port
1000b Connect audio channel 3 to this output port

116
BSR NCITS 333

The Output Port Volume Control indicates the relative volume level for this audio output port. The value used
is specified as an attenuation of the normal volume level. A value of zero indicates the minimum volume level
(Mute), and a value of FFh indicates maximum volume (No attenuation) level. It is recommended that the
MUTE and volume functions should be supported on a per channel basis. The attenuation used shall be as
specified in Table 132. All values not shown in the table shall be valid, with the attenuation selected by
interpolating using the known table values.
It is recommended that the Logical Unit support at least 16 volume levels. The actual attenuation levels for any
given Binary attenuation value shall be given by the following equation: 20 Log (Binary Level / 256)
Note: Audio channel volume control regarding channel selection of MUTE vs. Volume Level setting of 0. It is
recommend that Logical Units allow the setting of the Channel Selection fields to MUTE and also allow the setting of
the Volume Level field to 0. It is up to the Logical Unit to determine how to shut off the volume, either via muting
circuitry or via the volume control.

Table 132 - Attenuation Levels for Audio


Binary Level Attenuation
FFh 0db (0n)
F0h -0.52
E0h -1.12
C0h -2.45
80h -5.95
40h -11.9
20h -17.8
10h -23.6
0Fh -24.1
0Eh -24.6
0Ch -25.9
08h -29.1
04h -34.2
02h -38.6
01h -42.1
00h Mute (Off)

117
BSR NCITS 333

5.5.7. Power Condition Page (Page Code 1Ah)


The power condition page (Table 133) provides the application client the means to control the length of time a
Logical Unit will delay before changing its power requirements. There are notification events to the Initiator that
a Logical Unit has entered into one of the power conditions.
On the receipt of a command the Logical Unit shall adjust itself to the power condition that allows the
command to execute. The timer that maps to this power condition and any lower power condition timers shall
be reset on receipt of the command. On completion of the command the timer associated with this power
condition shall be restarted.

Table 133 - Power Condition Mode Page Format


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserved Page Code (1Ah)
(Optional)
1 Page Length (0Ah)
2 Reserved
3 Reserved Idle Standb
y
4 (MSB)
5 Idle Timer
6
7 (LSB)
8 (MSB)
9 Standby Timer
10
11 (LSB)

The Parameter Savable bit is defined in sub-clause 5.5.2.1.

An Idle bit of one indicates a Logical Unit shall use the Idle Timer to determine the length of inactivity time to
wait before entering the Idle Condition. If the Idle bit is zero, or the Idle Timer has a value of zero, the Logical
Unit shall disable the Idle Timer.

A Standby bit of one indicates a Logical Unit shall use the Standby Timer to determine the length of inactivity
time to wait before entering the Standby condition. If the Standby bit is zero or the Standby Timer has a value
of zero, the Logical Unit shall disable the Standby Timer.
The Idle Timer field indicates the inactivity time in 100 millisecond increments that the Logical Unit shall wait
before entering the Idle condition.
The Standby Timer field indicates the inactivity time in 100 millisecond increments that the Logical Unit shall
wait before entering the Standby condition.

118
BSR NCITS 333

5.5.8. Fault / Failure Reporting Control Page


The Fault / Failure Reporting Control page (Table 134) defines the methods used by the target to control the
reporting and the operations of specific informational exception conditions. This page shall only apply to
informational exception that report an additional sense code of FAILURE PREDICTION THRESHOLD
EXCEEDED to the application client.
Informational exception conditions occur as a result of vendor specific events within a target. An informational
exception condition may occur asynchronous to any commands issued by an application client.

Table 134 - Fault/ Failure Reporting Control Page


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserved Page Code (1Ch)
1 Page Length (0Ah)
2 Perf Reserved DExcep Test Reserved LogErr
t (0)
3 Reserved MRIE
4 (MSB)
5 Interval Timer
6
7 (LSB)
8 (MSB)
9 Report Count
10
11 (LSB)

The Parameter Savable bit is defined in sub-clause 5.5.2.1.


A Performance bit (Perf) of zero indicates that informational exception operations that are the cause of delays
are acceptable. A Perf bit of one indicates the Logical Unit shall not cause delays while doing informational
exception operations. A Perf bit set to one may cause the Logical Unit to disable some or all of the
informational exception operations, thereby limiting the reporting of informational exception conditions.
A disable exception control (DExcpt) bit of zero indicates information exception operations shall be enabled.
The reporting of informational exception conditions when the DExcpt bit is set to zero is determined from the
MRIE field. A DExcpt bit of one indicates the Logical Unit shall disable all information exception operations.
The MRIE field is ignored when DExcpt is set to one.
A Test bit of one shall create a false Logical Unit failure at the next interval time (as specified by the Interval
timer field), if the DExcpt bit is not set. When the Test bit is one, the MRIE and Report count fields shall apply
as if the Test bit were zero. The false Logical Unit failure shall be reported with an additional sense code of
FAILURE PREDICTION THRESHOLD EXCEEDED (FALSE). If both the Test and the DExcpt bits are one, the
Logical Unit shall terminate the MODE SELECT command with CHECK CONDITION status. The sense key
shall be set to ILLEGAL REQUEST with the additional sense code set to INVALID FIELD IN PARAMETER
LIST. A Test bit of zero shall instruct the Logical Unit not to generate any false Logical Unit failure notifications.
The log errors bit (LogErr) of zero indicates that the logging of informational exception conditions within a
Logical Unit is vendor specific.

119
BSR NCITS 333

The Method of Reporting Fault / Failure Reporting field (MRIE) (see Table 135) indicates the methods that
shall be used by the Logical Unit to report informational exception conditions. The priority of reporting multiple
information exceptions is vendor specific.

Table 135 - Method of Reporting Fault/Failure Reporting Field


MRIE Description
0h No reporting of informational exception condition:
This method instructs the target to not report information exception conditions.
1h - 3h Reserved
4h Unconditionally generate recovered error:
This method instructs the target to report informational exception conditions,
regardless of the value of the Perf bit of the error recovery parameters mode page, by
returning a CHECK CONDITION status on any command. The sense key shall be set
to RECOVERED ERROR and the additional sense code shall be set to FAILURE
PREDICTION THRESHOLD - Predicted Logical Unit Failure or FAILURE
PREDICTION THRESHOLD EXCEEDED - Predicted Media Failure.
The command that has the CHECK CONDITION shall complete without error before
any informational exception condition may be reported.
5h - Bh Reserved
Ch - Fh Vendor specific

The Interval Timer field indicates the period in 100 millisecond increments that a informational exception
condition has occurred. The Logical Unit shall not report informational exception conditions more frequently
than the time specified by the Interval Timer field and as soon as possible after the timer interval has elapsed.
After the informational exception condition has been reported, the interval timer shall be restarted. A value of
zero in the Interval Timer field indicates that the Logical Unit shall only report the informational exception
condition one time.
The Report Count field indicates the number of times to report an informational exception condition to the
application client. A value of zero in the Report Count field indicates there is no limit to the number of times the
Logical Unit shall report an informational exception condition.
The maintaining of the Interval Timer and the Report Count field across power cycles and/or resets by the
Logical Unit shall be vendor specific.

120
BSR NCITS 333

5.5.9. Time-out and Protect Page


The Time-out and Protect page (Table 136) specifies parameters that affect Logical Unit operation.

Table 136 - Time-out & Protect Page


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserved Page Code (1Dh)
1 Page Length (08h)
2 Reserved
3 Reserved
4 Reserved TMOE DISP SW
Default Default PPDefa
0 0 ult 0
5 Reserved
6 (MSB) Group 1 Minimum Time-out (Seconds)
7 (LSB)
8 (MSB) Group 2 Minimum Time-out (Seconds)
9 (LSB)

The Parameter Savable bit is defined in sub-clause 5.5.2.1.


The Time Out Enable bit (TMOE), when set to one, indicates the time out parameters are in effect. When set
to zero, indicates the command shall not time out.
The DISP bit when set to 1 shall make the Logical Unit unavailable until power has been removed and then
reapplied. The Logical Unit shall report not ready for all media access after this bit has been set to 1.
The SWPP bit provides a Software Write Protect until power has been removed and then reapplied. When this
bit is set to 1 the Logical Unit shall prevent writes to the media. When the bit is set to 1, the Logical Unit shall
flush any data in the Cache to the media before preventing any further writes.
See the Time-out model for more information on the Group 1 & 2 Minimum Time-out fields.

121
BSR NCITS 333

5.5.10. Capabilities and Mechanical Status Page


The Capabilities and Mechanical Status Page (Table 137) is read only and may not be set with Mode Select.

Table 137 - CD Capabilities and Mechanical Status Page


Bit 7 6 5 4 3 2 1 0
Byte
0 PS Reserve Page Code (2Ah)
d
1 Page Length (18h)
2 Reserved DVD- RAM DVD-R DVD-ROM Method 2 CD-R/RW CD-R
Read Read Read Read Read
3 Reserved DVD- RAM DVD-R Reserved Test Write CD-R/RW CD-R
Write Write Write Write
4 Reserved Multi Mode 2 Mode 2 Digital Port Digital Port Composite Audio Play
Session Form 2 Form 1 (2) (1)
5 Read Bar UPC ISRC C2 R-W De- R-W CD-DA CD-DA
Code Pointers interleaved Supported Stream is Command
supported & Accurate s
corrected Supported
6 Loading Mechanism Type Reserved Eject Prevent Lock Lock
(Individual Jumper State
or
Magazine)
7 Reserved P through Side S/W Slot Changer Separate Separate
W in Lead- Change Selection Supports Channel volume
In Capable (SSS) Disc Mute levels
Present
8 (MSB) Obsolete – Reserved
9 (LSB)
10 (MSB) Number of Volume Levels Supported
11 (LSB)
12 (MSB) Buffer Size Supported
13 (LSB)
14 (MSB) Obsolete – Reserved
15 (LSB)
16 Reserved
17 Reserved Length LSBF RCK BCKF Reserved
18 Obsolete
19
20 Obsolete
21
22 (MSB) Copy Management Revision Supported
23 (LSB)
24 Reserved
25 Reserved

The Parameter Savable bit is defined in sub-clause 5.5.2.1.


The Page Length field shall be set to 18h
If DVD-RAM Read bit is set to one, the Logical Unit shall support the read function of DVD-RAM disc.

122
BSR NCITS 333

If DVD-R Read bit is set to one, the Logical Unit shall support the read function of DVD-R disc.
If DVD-ROM Read bit is set to one, the Logical Unit shall support the read function of DVD-ROM disc.
If Method 2 is set to one, the Logical Unit shall support the read function of CD-R media written using fixed
packet tracks using Addressing Method 2.
If CD-R/RW Read Field is set to one, the Logical Unit shall support the read function of CD-R/RW disc
(Orange Book Part III).
If CD-R Read Field is set to one, the Logical Unit shall support the read function of CD-R disc (Orange Book
Part II).
If DVD-RAM Write bit is set to one, the Logical Unit shall support the write function of DVD-RAM disc.
If DVD-R Write bit (read only field) is set to one, the Logical Unit shall support the write function of DVD-R disc.
If the Test Write bit is set to one, the Logical Unit shall only accept data from the Initiator and not write to the
media.
If CD-R/RW Write Field is set to one, the Logical Unit shall support the write function of CD-R/RW disc
(Orange Book Part III).
If CD-R Write Field is set to one, the Logical Unit shall support the write function of CD-R disc (Orange Book
Part II).
The individual capabilities of the Logical Unit are specified by bytes 4 through 7. Each of the bits indicate if that
specific capability is supported. A value of zero indicates that the capability is NOT supported; a value of one
indicates the capability IS supported.
Bit 0 - Audio Play - The Logical Unit is capable of Audio Play operation. This also indicates that the Logical
Unit is capable of overlapping Play and other commands such as reading of the Sub-channel information.
Bit 1 - Composite - The Logical Unit is capable of delivering a composite Audio and Video data stream.
Bit 2 - Digital Port(1) - The Logical Unit supports digital output (IEC958) on port 1
Bit 3 - Digital Port(2) - The Logical Unit supports digital output(IEC958) on port 2
Bit 4 - Mode 2 Form 1 - The Logical Unit is capable of reading sectors in Mode 2 Form 1 (XA) format.
Bit 5 - Mode 2 Form 2 - The Logical Unit is capable of reading sectors in Mode 2 Form 2 format.
Bit 6 - Multi Session The Logical Unit is capable of reading multiple session or Photo CD discs.
Bit 7 - Reserved
Bit 8 - CD-DA Commands Supported - Red Book audio can be read using the READ-CD command.
Bit 9 - CD-DA Stream is Accurate - This bit indicates that the Logical Unit supports an advanced Feature that
allows it to return to an audio location without losing place to continue the READ CD-DA command. 0 The
Logical Unit is incapable of accurately restarting the CD-DA read operation, and a BUFFER OVERFLOW error
shall be reported whenever a loss of streaming occurs. This error will be fatal and the command will have to be
repeated from the beginning. 1 The Logical Unit can continue from a loss of streaming condition and no error
will be generated.
Bit 10 - R-W Supported - The commands that return Sub-channel data can return the combined R-W
information.
Bit 11 - R-W De-interleaved & Corrected - This indicates that the R-W Sub-channel data will be returned de-
interleaved and error corrected.
Bit 12 - C2 Pointers Supported - This indicates that the Logical Unit supports the C2 Error Pointers. This also
indicates that the Logical Unit is capable of returning the C2 Error Pointers and C2 Block Error flags in the
READ CD command.
Bit 13 - ISRC - The Logical Unit can return the International Standard Recording Code Information.
Bit 14 - UPC - The Logical Unit can return the Media Catalog Number (UPC)
Bit 15 - Read Bar Code - The Logical Unit is capable of reading the disc bar code.
Bit 16 - Lock - The PREVENT/ALLOW command is capable of actually locking the media into the Logical Unit.
Bit 17 - Lock State - This indicates the current state of the Logical Unit. If 0, the Logical Unit is currently in the
allow (Unlocked) state. Media may be inserted or ejected. If 1, the Logical Unit is currently in the prevent
(Locked) state. Media loaded in the Logical Unit may not be removed via a soft or hard eject. If the Logical Unit

123
BSR NCITS 333

is empty, media may not be inserted if the Prevent Jumper is not present. If the jumper is present, then media
may be inserted.
Bit 18 - Prevent Jumper - This indicates the state of the (Optional) Prevent/Allow Jumper. If 0, Jumper is
present. Logical Unit will power up to the allow state. Locking the Logical Unit with the Prevent/Allow
Command shall NOT prevent the insertion of media. If 1, Jumper is not present. Logical Unit will power up to
the Prevent State (Locked). The Logical Unit will not accept new media or allow the ejection of media already
loaded until an allow command is issued.
Bit 19 - Eject Command - The Logical Unit can eject the disc via the normal START/STOP command with the
LoEj bit set. If the mechanism is a Changer that uses a Magazine, then this bit indicates that the Magazine can
be ejected.
Bit 20 - Reserved
Bit 21-23 - Loading Mechanism Type - This field specifies the type of disc loading the Logical Unit supports.

Table 138 – Loading Mechanism Type


Bits Loading Mechanism Type
21, 22, 24
000 Caddy type loading mechanism
001 Tray type loading mechanism
010 Popup type loading mechanism
011 Reserved
100 Changer with individually changeable discs
101 Changer using a Magazine mechanism
110 Reserved
111 Reserved

Bit 24 - Separate Volume Levels - The audio level for each channel can be controlled independently.
Bit 25 - Separate Channel Mute - The mute capability for each channel can be controlled independently.
Bit 26 - Supports Disc Present (SDP) - This bit indicates that the Logical Unit contains an embedded changer,
and that after a reset condition or if a magazine is changed, it can report the exact contents of the slots. The
response to the MECHANISM STATUS command will contain valid Disc is Present status information for all
slots.
Bit 27 - Software Slot Selection (SSS) - This bit controls the behavior of the LOAD/UNLOAD command when
trying to load a Slot with no Disc present.
Bit 28 - Side Change Capable - This bit indicates that the Logical Unit is capable of selecting both sides of the
Discs. This capability can be reported for Logical Units that have changer functions.
Bit 29 - P through W in Lead-in - This bit indicates that the Logical Units are capable of reading the raw R-W
Sub-channel information from the Lead-in.
Bit 30 – 31 - Reserved
Bytes 8 , 9,14 & 15 are identified as obsolete in this standard. It was used in previous versions of this standard
and should not be used in future developments.
The Number of Volume Levels Supported field returns the number of discrete levels. If the Logical Unit only
supports turning audio on and off, the Number of Volume Levels field shall be set to 2.
The Buffer Size Supported field returns the number of bytes of buffer dedicated to the data stream returned to
the Initiator. This value is returned in Kbytes (Size/1024). If the Logical Unit does not have a buffer cache, the
value returned shall be zero.
Byte 17 - is used to describe the format of the Logical Units digital output. Valid only if Digital Port(1) or Digital
Port(2) are set. (IEC958)

124
BSR NCITS 333

Bit 1 - BCKF Set if data valid on the falling edge of the BCK signal. Clear if data valid on the rising edge of the
BCK signal
Bit 2 - RCK Set if HIGH on LRCK indicates left channel. Clear if HIGH on LRCK indicates right channel.
Bit 3 - LSBF Set if LSB first. Clear if MSB first.
Bit 4-5 - Length BCKs
00 32
01 16
10 24
11 24 (I2S)
Bytes 18 – 21 are identified as obsolete in this standard. It was used in previous versions of this standard and
should not be used in future developments.
Bytes 22 & 23 - The Copy Management Revision Supported Field indicates the version of the DVD Copy
Protection scheme that is supported by the Logical Unit. For DVD this field shall be set to 0001h, if Copy
Protection is implemented. All other Logical Units shall set this field to 0000h.

125
BSR NCITS 333

6. Command Descriptions for All Logical Units


Commands that may be implemented common to some or all Logical Unit types are listed in other SCSI
standards. For a complete description of these commands reference SCSI Primary Commands, SCSI Block
Commands, SCSI MultiMedia Commands, and others.
The commands listed in this sub-clause follow a packetized command layout. Some implementations may
desire to have a common CDB length that will require the Initiator to provide a padding of a number of bytes to
fill the byte length requirements of the Logical Unit.

6.1. C/DVD Commands


Commands referenced for Logical Units are listed in Table 139. These commands are described in the
following sub-clauses.

Table 139 - Commands Specific to C/DVD Devices


Command Name Op Code Sub-clause
BLANK A1h 6.1.1.
CLOSE TRACK/SESSION 5Bh 6.1.2.
ERASE (10) 2Ch SBC
FORMAT UNIT 04h 6.1.3.
GET CONFIGURATION 46h 6.1.4.
GET EVENT/STATUS NOTIFICATION 4Ah 6.1.5.
GET PERFORMANCE ACh 6.1.6.
INQUIRY 12h SPC
LOAD/UNLOAD MEDIUM A6h 6.1.7.
MECHANISM STATUS BDh 6.1.8.
MODE SELECT (10) 55h SPC
MODE SENSE (10) 5Ah SPC
PAUSE/RESUME 4Bh 6.1.9.
PLAY AUDIO (10) 45h 6.1.10.
PLAY AUDIO (12) A5h 6.1.11.
PLAY AUDIO MSF 47h 6.1.12.
PLAY CD BCh 6.1.13.
PREVENT/ALLOW MEDIUM 1Eh SPC
REMOVAL
READ (10) 28h SBC
READ (12) A8h SBC
READ BUFFER 3Ch SPC
READ BUFFER CAPACITY 5Ch 6.1.14.
READ CD BEh 6.1.15.
READ CD MSF B9h 6.1.16.
READ CAPACITY 25h 6.1.17.

126
BSR NCITS 333

Table 139 - Commands Specific to C/DVD Devices (cont.)


Command Name Op Code Sub-clause
READ DISC INFORMATION 51h 6.1.18.
READ DVD STRUCTURE ADh 6.1.19.
READ FORMAT CAPACITIES 23h 6.1.20.
READ HEADER 44h 6.1.21.
READ MASTER CUE 59h 6.1.22.
READ SUB-CHANNEL 42h 6.1.23.
READ TOC/PMA/ATIP 43h 6.1.24.
READ TRACK INFORMATION 52h 6.1.26.
REPAIR TRACK 58h 6.1.27.
REPORT KEY A4h 6.1.28.
REQUEST SENSE 03h SPC
RESERVE TRACK 53h 6.1.29.
SCAN BAh 6.1.30.
SEEK (10) 2Bh SBC
SEND CUE SHEET 5Dh 6.1.31.
SEND DVD STRUCTURE ADh 6.1.32.
SEND EVENT A2h 6.1.33.
SEND KEY A3h 6.1.34.
SEND OPC INFORMATION 54h 6.1.35.
SET CD SPEED BBh 6.1.36.
SET READ AHEAD A7h 6.1.37.
SET STREAMING B6h 6.1.38.
START/STOP UNIT 1Bh SPC
STOP PLAY/SCAN 4Eh 6.1.39.
SYNCHRONIZE CACHE 35h 6.1.40.
TEST UNIT READY 00h SPC
VERIFY (10) 2Fh SPC
WRITE (10) 2Ah 6.1.41.
WRITE AND VERIFY (10) 2Eh 6.1.42.
WRITE BUFFER 3Bh SPC

127
BSR NCITS 333

6.1.1. BLANK Command


CD-RW discs have two properties not available with CD-R: direct-overwrite and the ability to erase. The
BLANK command (Table 140) provides the ability to erase any part of a CD-RW disc.

Table 140 - BLANK Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (A1h)
1 Reserved IMMED Reserved Blanking Type
2 (MSB)
3 Start Address/Track Number
4
5 (LSB)
6 Reserved
7 Reserved
8 Reserved
9 Reserved
10 Reserved
11 Control Byte
Note: The erasing action performed in this command is a Logical Erase, in that the data is overwritten with Mode
0 data on CD media
The IMMED bit allows execution of the Blank command as an immediate operation. If IMMED is zero, then the
requested operation is executed to completion prior to returning status. If IMMED is one, then status is
returned once the operation has begun.
Blanking Type identifies the method and coverage of blanking. The codes for Blanking Type are defined in
Table 141.
Start Address/Track Number is the LBA that a range, for erasure, begins:
a) When Blanking Type is Blank a Track Tail, this field indicates the start LBA.
b) When Blanking Type is Blank a Track, this field indicates the track. When the Logical Unit changes status
(NOT READY, READY) a Class 1 Event shall be generated.

128
BSR NCITS 333

Table 141 - Blanking Types


Value Name Description
000b Blank the The entire disc is to be erased. The Start Address parameter is ignored.
disc This is used for clearing a complete disc. The PCA may be excluded. At
completion of the operation, the area from the start time of Lead-in
through the last possible start time of Lead-out plus 6,750 blocks and
the entire PMA shall be blank.
001b Minimally Erases only the PMA, first session TOC and the pre-gap of the first track.
blank the The Start Address parameter is ignored. This is used for blanking a disc
disc quickly. After completion of this command the disc is treated as a blank disc.
Caution shall be exercised when using this command as the program area
still contains user data.
010b Blank a Erases the track specified in the Start Address/Track Number field. This
Track command erases the track only, it does not erase the TOC or the PMA. The
track to be erased shall be in the incomplete session.
011b Un- This is valid only when the last recorded track is incomplete, reserved, or is
reserve a complete and in an incomplete session. If the last track is incomplete the
Track track and PMA entry for incomplete track is erased. If the track is reserved
or complete, the track and PMA entry of the track is erased. The Start
Address/Track Number parameter is ignored.
100b Blank a Erase the area between the LBA specified Start Address/Track Number field
Track Tail and the end of the track that includes the LBA specified. The LBA specified
shall be the first user data block within a packet. This blank type is valid for
only a Packet track. This may be used to prepare for writing a packet track
to a CD-RW disc with the same write process as a CD-R. The track to be
erased shall be in an incomplete session.
101b Unclose Erases the Lead-in and Lead-out of the last session. The last session shall
the last be complete when this command is issued.
session
110b Erase If the last session is complete, its Lead-in, program area, and Lead-out shall
Session be erased. If the last session is incomplete, its program area shall be
erased. If the last session is empty, the complete session immediately
preceding the empty session shall be erased. If the empty session is the
only session on the disc, erasing shall not be considered an error.
111b Reserved

During the Blanking operation, the Logical Unit shall respond to commands as follows:
a) In response to all commands except REQUEST SENSE and INQUIRY, the Logical Unit shall return CHECK
CONDITION status, sense code of LOGICAL UNIT NOT READY, and an asc of OPERATION IN
PROGRESSunless a reservation conflict exists, in that case RESERVATION CONFLICT status shall be
returned. INQUIRY` GET CONFIGURATION, GET EVENT/STATUS NOTIFICATION,V and REQUEST
SENSE are among the commands that shall not return a NOT READY error (Sense Key 2).
b) In response to the INQUIRY, GET CONFIGURATION, GET EVENT/STATUS NOTIFICATION commands,
the Logical Unit shall respond as commanded.
c) In response to the REQUEST SENSE command, unless an error has occurred, the Logical Unit shall return
a sense key of NOT READY and an additional sense code of LOGICAL UNIT NOT READY, OPERATION
IN PROGRESS, with the sense key specific bytes set for progress indication. See ANSI NCITS 301, SPC
standard. Refer to sub-clause 4.1.6., description of deferred error handling for errors that may occur during
the CLOSE TRACK/SESSION operation.
Recommended error reporting is defined in Table 142.

129
BSR NCITS 333

Table 142 - Recommended errors for BLANK Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4
ERASE FAILURE Table A.1

130
BSR NCITS 333

6.1.2. CLOSE TRACK/SESSION Command


The CLOSE TRACK/SESSION Command, Table 143, allows closure of either a track or a session. If the Multi
Session field in the Write Parameters Mode Page (05h) is set to 11b and there is not sufficient space for the
next Session, the Session to be closed shall be closed and next Session shall not be allowed. For CD, the
Session is closed without the B0 pointer. For DVD, the Session is closed with Lead-out and the Start PSN of
the next Border-in field of Lead-in/Border-in set to 0. In the case of insufficient space for the next Session,
legacy CD-R/RW Logical Units may generate an error in the above case. In this case, the Initiator shall change
the MultiSession field in the Write Parameters Mode Page (05h) and retry the Command.

Table 143 - CLOSE TRACK/SESSION Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (5Bh)
1 Reserved IMMED
2 Reserved Session Track
3 Reserved
4 (MSB) Track Number
5 (LSB)
6 Reserved
7 Reserved
8 Reserved
9 Control Byte

The IMMED bit allows execution of the close function as an immediate operation. If IMMED is zero, then the
requested close operation is executed to completion prior to returning status. If IMMED is one, then status is
returned once the close operation has begun.
The Session and Track bits (see Table 144) have the following meanings:

131
BSR NCITS 333

Table 144 - Session and Track Bits Definitions


Session Track Close Actions
0 0 Reserved, not valid
0 1 Close the track associated with the track number in the CDB.
For CD, if this is the incomplete track, the Logical Unit shall pad with all zero
main data to the minimum length of 4 seconds. No other padding is to be done.
If this is the partially recorded or empty reserved track, the Logical Unit shall
pad the track. In the case of an empty track, the Logical Unit shall write the
track according to the write parameter page. If the write parameter page is
inconsistent with the PMA, CHECK CONDITION status shall be returned and
the additional sens code shall be set to ILLEGAL MODE FOR THIS TRACK.
For a partially recorded reserved track, the Logical Unit shall continue writing in
the same mode as the data already recorded. For DVD, if this is the Partially
Recorded Reserved Track or the Empty Reserved Track, the Logical Unit shall
pad the Track with 00h bytes. If the Track status is Invisible, no close operation
is to be done. In the case of an Incomplete Track, no padding is to be done and
cached RMD shall be written into the RMA.
1 0 Close Session. If all Tracks in the last Session are not complete, generate a
CHECK CONDITION Status, sense code of SESSION FIXATION ERROR -
INCOMPLETE TRACK IN SESSION. Or if an empty or partially recorded,
reserved Tracks exist in the incomplete Session, generate CHECK CONDITION
Status, sense code EMPTY OR PARTIALLY WRITTEN RESERVED TRACK.
Behavior of the closing operation is dependent on the MultiSession field in the
Write Parameters Mode Page (05h). Closing an empty Session not produce an
error and a write to the media shall not occur.
1 1 Reserved, not valid

If a Session or Track is to be closed that is already closed, no error shall be reported.


If Session bit is set to zero and Track bit is set to one, the Track Number field indicates the number of tracks to
close.Byte 4 and Byte 5 of the CDB shall be ignored if the Session bit is set to one.
For a CD to close the incomplete track, the following steps are required:
1) If necessary, the track is padded with all zero main data to the minimum length of 4 seconds.
2) The PMA is consulted in order to locate the largest track number recorded, ‘N’.
3) The boundrys of the track are determined and a PMA entry is written for track N+1. Closing a Track
shall cause cached information for the specified Track to be committed to the medium prior to closing.
For CD Closing a Session shall cause the Lead-in and Lead-out to be written for the incomplete Session.
Closing a Session when the last session is closed shall not be considered an error. Closing a session when
the last session is empty shall cause no actions to be performed and shall not be considered an error. For
DVD, closing an incomplete Session shall cause the Lead-in or Border-in and Border-out to be written for the
incomplete Session. If the Multi-Session field in the Write Parameters Mode Page (05h) is set to 00b, a Lead-
out shall be appended to last Border-out. Once the Lead-out has been written for DVD media, data can not be
further appended to the medium.
During the Close Track operation, the Logical Unit shall respond to commands as follows:
a) The Logical Unit may respond to commands that can return NOT READY status with CHECK CONDITION
Status, sense code of LOGICAL UNIT NOT READY, OPERATION IN PROGRESS unless a reservation
conflict exists, in that case RESERVATION CONFLICT status shall be returned.
b) In response to the INQUIRY, GET CONFIGURATION, and GET EVENT/STATUS NOTIFICATION
commands, the Logical Unit shall respond as commanded.
c) In response to the REQUEST SENSE command, unless an error within the command has occurred, the
Logical Unit shall return NOT READY status with CHECK CONDITION Status, an additional sense code of
LOGICAL UNIT NOT READY, OPERATION IN PROGRESS, or an additional sense code LOGICAL UNIT
NOT READY, LONG WRITE IN PROGRESS indicated in the result data and the sense key specific bytes
set for progress indication.with the sense key specific bytes set for progress indication. See ANSI NCITS

132
BSR NCITS 333

301 SPC standard. Refer to sub-clause 4.1.6., description of deferred error handling for errors that may
occur during the CLOSE TRACK/SESSION operation.
d) Closing a Track or Session shall cause a Class 1 Event when the command is issued if the Logical Unit
becomes NOT READY. A Class 1 Event shall occur if the medium returns to READY or if the medium
becomes unwritable. Other Class 1 Events may occur due to closing a Track or Session.
Recommended error reporting is defined in Table 145.

Table 145 - Recommended errors for CLOSE TRACK/SESSION Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4
SESSION FIXATION ERROR Table A.1
SESSION FIXATION ERROR WRITING LEAD-IN Table A.1
SESSION FIXATION ERROR WRITING LEAD-OUT Table A.1
SESSION FIXATION ERROR - INCOMPLETE TRACK IN Table A.1
SESSION
EMPTY OR PARTIALLY WRITTEN RESERVED TRACK Table A.1

133
BSR NCITS 333

6.1.3. FORMAT UNIT command


The FORMAT UNIT Command (Table 146) formats a medium into Initiator addressable logical blocks per the
Initiator defined options.
The medium may be certified and control structures created for the management of the medium and defects.
There is no guarantee that the medium has not been altered.

Table 146 - Format Unit Command


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (04h)
1 Reserved FmtData CmpList Format Code
2 Reserved
3 (MSB) Interleave Value
4 (LSB)
5 Control Byte

A FmtData bit of zero indicates that there is no parameter list. A FmtData bit of one indicates that a parameter
list is available from the Initiator. For CD-RW, DVD-RAM, and DVD-R FmtData shall be set to one.
The CmpList bit is used in conjunction with the DCRT (Table 149) bit to determine usage of the existing G1-list,
G2-list and SDL to construct new G1-list and G2-list (Table 147) on DVD-RAM media. A CmpList bit of zero
indicates that the parameter list provided is in addition to those already available to the Logical Unit. A CmpList
bit of one indicates that the parameter list is complete and the Logical Unit is to ignore any existing
parameters.

Table 147 – DVD-RAM Defect List Handling


CmpList DCRT Certification PDL SDL Remarks
P-list G1-list G2-list
0 0 Yes Preserved New from Disposed Dispose Slow initialization
Certification d
0 1 No Preserved Preserved Old + New Dispose Change linear
from SDL d replacement to
slipping, quickly
1 0 Yes Preserved Old plus Disposed Dispose Create new defect
(Partial) New from d list by disposing all
Certification except P-list and
G1-list
1 1 No Preserved Preserved Disposed Dispose Return to original
d slipping at the
latest certification,
quickly

A formatted CD-RW session shall consist of a single, fixed packet track. The packet size specified in the
WRITE PARAMETERS mode page defines the packet size for the format operation.
If the WRITE TYPE field in the WRITE PARAMETERS mode page is not packet (00b), the FORMAT UNIT
command shall terminate with a CHECK CONDITION and set sense to ILLEGAL REQUEST, COMMAND
SEQUENCE ERROR. If the FP bit in the WRITE PARAMETERS mode page is not set to one (Fixed Packet),
the FORMAT UNIT command shall terminate with a CHECK CONDITION and set sense to ILLEGAL
REQUEST, COMMAND SEQUENCE ERROR.

134
BSR NCITS 333

The Format Code identifies the parameter list format. For CD-RW, the Format Code shall be set to seven
(111b), for DVD-RAM the Format Code shall be set to one (001b).
The Interleave Value field identifies the value to be used when formatting. The values are specified below:
! For CD-RW, Interleave Value shall be zero.
! For DVD-RAM, the value shall be set to zero
During the operation of the FORMAT command, the Logical Unit shall respond to other commands as follows:
a. In response to all commands except GET CONFIGURATION, GET EVENT/STATUS NOTIFICATION,
REQUEST SENSE and INQUIRY, the Logical Unit shall return CHECK CONDITION status.
b. In response to the GET CONFIGURATION, GET EVENT/STATUS NOTIFICATION, and INQUIRY
command, the Logical Unit shall respond as commanded.
c. In response to the REQUEST SENSE command, unless an error has occurred, the Logical Unit shall return
a sense key of NOT READY and an additional sense code of LOGICAL UNIT NOT READY, FORMAT IN
PROGRESS, with the sense key specific bytes set for progress indication. See the REQUEST SENSE
Command description in ANSI NCITS 301 SPC-2 Standard. Refer to sub-clause 4.1.6., for the description
of handling deferred errors that may occur during the format operation.
During the execution of the FORMAT UNIT command, the Logical Unit shall perform a medium defect
management algorithm if the Defect Management Feature is current. The FORMAT UNIT command for DVD-
RAM media may not provide a method to receive defect location information from the Initiator.
A format data (FmtData) bit of one indicates that the FORMAT UNIT parameter list (see Table 148) shall be
transferred to the Logical Unit. The data sent to the Logical Unit consists of a Format List Header, followed by
an initialization pattern descriptor (that may have zero length), followed by zero or one Format descriptors. The
Format descriptor shall be one of Formattable Capacity Descriptors returned by the READ FORMAT
CAPACITIES command.
The FORMAT UNIT Command parameter list (Table 148) consists of three descriptors: the Format List
Header, the Initialization Pattern Descriptor, and the Format Descriptor.

Table 148 - Format Unit Parameter List


Bit 7 6 5 4 3 2 1 0
Byte
0–3 Format List Header
4–n Initialization Pattern Descriptor (present if IP = 1)
n+1 to Format Descriptor
n+8

The Format List Header (Table 149) provides several format control bits. Logical Units that implement these
bits give Initiators additional control over the formatting operation. If the Initiator attempts to select any function
not implemented by the Logical Unit, the Logical Unit shall terminate the command with CHECK
CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the additional sense
code shall be set to INVALID FIELD IN PARAMETER LIST.
If the Initialization Pattern Descriptor is to be included in parameter data sent to the Initiator, the IP bit shall be
set to one, and the data shall begin at a byte offset of 4. If the IP bit is set to zero, the Initialization Pattern
Descriptor shall not be included in the Format Unit Parameter data sent to the Logical Unit, and the Format
Descriptor shall begin at byte offset 4.

135
BSR NCITS 333

Table 149 - Format List Header


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved
1 FOV DPRY DCRT STPF IP Try-out IMMED VS
2 (MSB) Format Descriptor Length
3 (LSB)

A Format Options Valid (FOV) bit of zero indicates that the Logical Unit shall use its default settings for the
DCRT, STPF, Try-out and IMMED bits (see below). The Initiator shall set these bits to zero. If any of these
bits are not zero, the Logical Unit shall terminate the command with CHECK CONDITION status. The sense
key shall be set to ILLEGAL REQUEST and the additional sense code shall be set to INVALID FIELD IN
PARAMETER LIST.
A FOV bit of one indicates that the Logical Unit shall examine the setting of the DCRT, STPF, Try-out and
IMMED bits. When the FOV bit is one, the DCRT, STPF, Try-out and IMMED bits are defined as follows.
A Disable Primary (DPRY) bit, when set to zero, indicates that the Logical Unit shall not use portions of the
medium identified as defective in the primary defect Plist for Initiator addressed logical blocks. Logical Units
that support DVD-RAM media do not permit the Initiator to set this bit to one. If set to one, a CHECK
CONDITION status with additional sense code set to INVALID FIELD IN PARAMETER LIST is generated.
A Disable Certification (DCRT) bit, when set to zero, indicates that the Logical Unit shall perform a vendor-
specific medium certification operation to generate a G 1 -list (C-list). A DCRT bit of one indicates that the
Logical Unit shall not perform any vendor-specific medium certification process or format verification operation
while executing the FORMAT UNIT command.
The STPF bit shall be reserved.
An Initialization Pattern (IP) bit of zero indicates that an initialization pattern descriptor is not included and that
the Logical Unit shall use its default initialization pattern. An IP bit of one indicates that an initialization pattern
descriptor is sent to the Logical Unit as part of the FORMAT UNIT parameter list.(See sub-clause 6.1.3.1.)
A Try-out bit of one indicates that the Logical Unit shall not alter the media format, but shall examine whether
the specified FORMAT command can be performed without error, based on available information before
starting the formatting.
An immediate (IMMED) bit of zero indicates that status shall be returned after the format operation has
completed. An IMMED bit value of one indicates that the Logical Unit shall return status as soon as the
command descriptor block has been validated, and the entire Format Descriptor has been transferred.
If the IMMED bit is set to one, and a REQUEST SENSE command is issued during the formatting operation,
the Logical Unit shall return a sense key of NOT READY and an additional sense code of LOGICAL UNIT
NOT READY, OPERATION IN PROGRESS, unless an error has occurred. The sense key specific bytes shall
be set to the percentage of the operation that has completed. The sense key specific field contains a value
from 0 to FFFFh, where FFFFh indicates the formatting is completed.
The Format Descriptor Length field in the Format list header specifies the total length in bytes of the Format
descriptors that follow and does not include the initialization pattern descriptor or initialization pattern, if any.
The Format Descriptor Length shall be set to 8. Any other value in this field shall return CHECK CONDITION
with the Sense Key set to ILLEGAL REQUEST and the Sense Code set to INVALID FIELD IN PARAMETER
LIST.
6.1.3.1. Initialization Pattern
The initialization pattern option specifies that the logical blocks contain the specified initialization pattern. The
initialization pattern descriptor (see Table 150) is sent to the Logical Unit as part of the FORMAT UNIT
parameter list.

136
BSR NCITS 333

Table 150 - Initialization Pattern Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 IP Modifier SI Reserved
1 Pattern Type
2 (MSB) Initialization Pattern Length
3 (LSB)
4
: Initialization Pattern
n

The IP Modifier field specifies the type and location of a header that modifies the initialization pattern (see
Table 151).

Table 151 – IP Modifier Field


IP Descriptor
Modifier
00b No header. The device server shall not modify the initialization pattern.
01b The device server shall overwrite the initialization pattern to write the logical block
address in the first four bytes of the logical block. The LBA shall be written with the
most significant byte first.
10b The device server shall overwrite the initialization pattern to write the logical block
address in the first four bytes of each physical block contained within the logical
block. The lowest numbered logical block or part there of that occurs within the
physical block is used. The LBA shall be written with the most significant byte first.
11b Reserved

The Initialization Pattern Type field (see Table 152) indicates the type of pattern the device server shall use to
initialize each logical block within the application client accessible portion of the medium. All bytes within a
logical block shall be written with the initialization pattern. The Initialization Pattern is modified by the IP
Modifier field.

Table 152 – Initialization Pattern Type


Initialization Description
Pattern Type
1
00h Use default pattern
2
01h Repeat the initialization pattern as required to fill the logical block.
02h – 7Fh Reserved
80h - FFh Vendor Specific
Notes:
1. If the initialization pattern length is not zero the device server shall terminate the command with CHECK
CONDITION status and the sense key shall be set to ILLEGAL REQUEST with the additional sense code
set to INVALID FIELD IN PARAMETER LIST.
2. If the initialization pattern length is zero the device server shall terminate the command with CHECK
CONDITION status and the sense key shall be set to ILLEGAL REQUEST with the additional sense code
set to INVALID FIELD IN PARAMETER LIST.

137
BSR NCITS 333

A Security Initialize (SI) bit of one indicates that the device server shall attempt to write the initialization pattern
to all areas of the media including those that may have been reassigned. A SI bit of one shall take precedence
over any other FORMAT UNIT field. The initialization pattern shall be written using a security erasure write
technique. Application clients may choose to use this command multiple times to fully erase the previous data.
Such security erasure write technique procedures are outside the scope of this standard. The exact
requirements placed on the security erasure write techniques are vendor-specific. The intent of the security
erasure write is to render any previous user data unrecoverable by any analog or digital technique.
An SI bit of zero indicates that the device server shall initialize the application client accessible area of the
media. The device server is not required to initialize other areas of the media. However, the device server shall
format the medium as defined in the FORMAT UNIT command.
When the SI bit is one, the device server need not rewrite (format) header and other information not previously
accessible to the application client. If any area of the medium that previously was accessible to the application
client cannot be written, the device server shall terminate the command with CHECK CONDITION status and
the sense key shall be set to MEDIUM ERROR with the appropriate additional sense code for the condition.
The Initialization Pattern Length field indicates the number of bytes contained in the initialization pattern.
If the length exceeds the current logical block size the device server shall terminate the command with CHECK
CONDITION status and the sense key shall be set to ILLEGAL REQUEST with the additional sense code set
to INVALID FIELD IN PARAMETER LIST. The pattern is modified by the IP Modifier field.
The Format descriptor specifies an eight-byte entry.
6.1.3.2. CD-RW Format Descriptor, Format Code 111b
If the Format Code, in the CDB, is 111b the CD-RW Format Descriptor defined in Table 153 shall be sent.

Table 153 - CD-RW Format Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 SESS Grow Reserved
1 Reserved
2 Reserved
3 Reserved
4 (MSB)
5 Format Size
6
7 (LSB)

If both the Grow and Session bits are set to zero the format operation shall format (Format Size) user data
blocks. Format Size shall be integrally divisible by the Packet Size field in the WRITE PARAMETERS mode
page. The first formatted user data block shall be LBA 0. Existing information on the disc may be overwritten.
After the format, a single session containing a single, fixed packet track will exist on the medium.
If the Grow bit is set to zero and the Session bit is set to 1 the format operation shall create a new session that
contains (Format Size) user data blocks. Format Size shall be integrally divisible by the Packet Size field in the
WRITE PARAMETERS mode page. If the last session on the disc is not complete when this command is
issued, a CHECK CONDITION status shall be generated.
A Grow bit of 1 indicates that the final session shall be "grown" to (Format Size) from its original size. This is
accomplished by appending packets to the existing session, writing a new Lead-out, and updating the PMA
and Lead-in to change the track size to reflect the new size. Data in existing packets shall not be affected. If
the Format Size is smaller than the existing size, a CHECK CONDITION status shall be returned. The order of
updating the PMA, Lead-in, Lead-out, and data area is not specified.
The session bit shall be ignored when the Grow bit is set.

138
BSR NCITS 333

6.1.3.3. Format Code 001b


If the Format Code, in the CDB, is 001b the Format Code 1 Format Descriptor defined in Table 154 shall be
sent.

Table 154 – Format Code 001b Format Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Number of Blocks
2
3 (LSB)
4 Format Type Reserved
5 (MSB)
6 Type Dependent Parameter
7 (LSB)

The Format descriptor specifies an eight-byte entry.


The Format Type field specifies the type of formatting. Contents of the Number of Blocks field and the Type
Dependent Parameter field depend on the type of formatting.
6.1.3.4. Formatting on Format Type = 00h (Full Format)
Formatting for the whole media is specified. The defect list handling is specified by the combination of the
CmpList bit and the DCRT bit as shown in Table 147. The Number of Blocks field specifies the number of
addressable blocks for the whole disc and the Type Dependent Parameter field specifies the Block Length.
Neither field is changeable from the values reported by the READ CAPACITY Command in sub-clause 6.1.17..
6.1.3.5. Formatting on Format Type = 04h (Zone Reformat)
The Zoned formatting for a zone of the media is specified, where the size of zone is not constant across
zones. The defect list handling is specified by the combination of the CmpList bit and the DCRT bit as shown
Table 147 – DVD-RAM Defect List Handling. The Number of Blocks field specifies the number of addressable
blocks for the zone and the Type Dependent Parameter field specifies the Zone number of the zone to be
formatted. If a spare sector is used as a replacement for another zone so that the zoned formatting cannot be
preformed, the command shall be terminated with an CHECK CONDITION status. The sense key shall be
set to MEDIUM ERROR and the additional sense code & qualifier set to ZONED FORMATTING FAILED DUE
TO SPARE LINKING, with the sense key specific bytes set to zone number of the first zone that has a spare
linking into the designated zone.
The discarding of G 1 -list, G 2 -list, and SDL is only applicable to defects within the zone being reformatted.
6.1.3.6. Formatting on Format Type = 05h (Zone Format)
The Zoned formatting for a zone of the media is specified, where the size of zone is constant for each zone,
e.g. floppy media where each track is labeled a zone. The Number of Blocks field specifies the number of
addressable blocks for the zone and the Type Dependent Parameter field specifies the Zone number of the
zone to be formatted. The zone number shall be in the range of 0 to the Type Dependent Parameter reported
in READ CAPACITY Command in sub-clause 6.1.17..
6.1.3.7. Formatting on Format Type = 10h (CD-RW Full Format)
Formatting to create a session on CD-RW media is specified. The created session shall become the only
session on the medium. The Number of Blocks field specifies the number of addressable blocks for the new
session and the Type Dependent Parameter field specifies the Fixed Packet Size. Both parameters may be
adjusted to values less than or equal to the values reported by the READ FORMAT CAPACITIES Command,
sub-clause 6.1.20. The Logical Unit shall round the Number of Blocks up to be an integral multiple of the
packet size.

139
BSR NCITS 333

6.1.3.8. Formatting on Format Type = 11h (CD-RW Grow Session)


Formatting to expand the last session of a CD-RW media is specified. The Number of Blocks field specifies the
number of addressable blocks to be enlarged and the Type Dependent Parameter field specifies the Block
Length.
6.1.3.9. Formatting on Format Type = 12h (CD-RW Add Session)
Formatting to add a new session to a CD-RW media is specified. The Number of Blocks field specifies the
number of addressable blocks for the new session and the Type Dependent Parameter field specifies the
Fixed Packet Size. Both parameters may be adjusted to values less than or equal to the values reported by
the 6.1.17..
6.1.3.10. Formatting on Format Type = 20h (Full Format, DVD+RW)
Formatting for the whole media is specified. The Number of Blocks field specifies the maximum number of
addressable blocks for the whole disc and the Type Dependent Parameter field specifies the sparing
parameters SL and SI. The Logical Unitshall verify that SL and SI are usable values (will not cause overflow of
the SDL).
If the Multi-Session Field (see Table 123) in the Write Parameter Page is 11b, the Logical Unitshall erase the
remaining area of the disc.
Recommended error reporting is defined in Table 155.

Table 155 - Recommended errors for FORMAT UNIT Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4
FORMAT COMMAND FAILED Table A.1
CANNOT FORMAT MEDIUM - INCOMPATIBLE MEDIUM Table A.1

140
BSR NCITS 333

6.1.4. GET CONFIGURATION Command


This command is intended to provide information to the initiator about the overall capabilities of the device and
the current capabilities of the device. Configurations reported by devices, for example, are used by the Initiator
for Driver Identification/loading and other user presentation processes.
The GET CONFIGURATION command, Table 156, requests that the device respond with the configuration of
the device and medium.
The configuration of the device, is described by the Logical Unit supported features. The currently defined
features are listed in Table 37. The maximum number of features is 65,536; and the maximum number of
bytes that a device may return, to describe its set of supported features, is 65,534. Feature lists longer than
65,534 bytes require multiple commands.
Persistent Prevent may be used to control when changes occur. If a persistent prevent is in place, the
configuration should not change except under initiator control.

Table 156 - GET CONFIGURATION Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (46h)
1 Reserved Reserved RT
2 (MSB) Starting Feature Number
3 (LSB)
4 Reserved
5 Reserved
6 Reserved
7 (MSB) Allocation Length
8 (LSB)
9 Control

The RT (Requested Type) (Table 157) field indicates the set of Feature Descriptors desired from the Logical
Unit.

Table 157 - RT Field definition


RT Description Starting Feature Number (SFN) Usage
Field
00b Indicates that the Logical Unit shall return the The first Feature Descriptor returned shall
Feature Header and all Feature Descriptors have a feature number greater than or equal
supported by the Logical Unit whether or not they to the SFN.
are currently active.
01b Indicates that the Feature Header and only those
Feature Descriptors that have their Current bit set
shall be returned.
10b Indicates that exactly one Feature Header and zero The SFN specifies the Feature Descriptor that shall
or one Feature Descriptors be returned. If the be returned.
Logical Unit does not support the indicated feature,
no Feature Descriptor is returned. Note: this may be
used to request Feature 0, which is a list of Profiles.
11b Reserved

141
BSR NCITS 333

The Starting Feature Number field indicates the first feature number to be returned. All supported feature
numbers higher than the Starting Feature Number will be returned.
The Allocation Length field specifies the maximum length in bytes of the Get Configuration response data. An
Allocation Length field of zero indicates that no data shall be transferred. This condition shall not be
considered an error.
6.1.4.1. GET CONFIGURATION response data
The GET CONFIGURATION response Data (Table 158) consists of a header field and zero or more
variable length feature descriptors.

Table 158 - GET CONFIGURATION response data format


Bit 7 6 5 4 3 2 1 0
Byte
0-7 Feature Header
8-n Feature Descriptor(s)

The Feature Header field to be returned is shown in Table 159.

Table 159 - Feature Header


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Data Length
2
3 (LSB)
4 Reserved
5 Reserved
6 (MSB) Current Profile
7 (LSB)

The Data Length field indicates the amount of data available given a sufficient allocation length following this
field. This length shall not be truncated due to an insufficient Allocation Length. If the Data Length is greater
than 65,530 bytes, multiple GET CONFIGURATION commands with different Starting Feature Numbers will be
required for the initiator to read all configuration data. This field is adjusted as appropriate for the given
Starting Feature Number.
The Current Profile field shall indicate the Logical Unit’s current profile. The Logical Unit shall choose the most
appropriate current profile from the list of profiles (see Table 39) with their CurrentP bit set. If there are no
profiles currently active, this field shall contain zero.
The Feature Descriptor(s) generic format returned is defined in Table 160. Each individual feature description
is defined in the appropriate sub-clause.

142
BSR NCITS 333

Table 160 - Feature Descriptor generic format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Feature Code
1 (LSB)
2 Reserved Version Persiste Current
nt
3 Additional Length
4-n Feature Dependent Data

The Feature Code field contains the code number assigned to the feature.
Version field, see sub-clause 5.2.1.
Persistent bit, see sub-clause 5.2.2.
Current bit, see sub-clause 5.2.3.

6.1.4.2. Features
Features are the smallest set of commands, pages, and behavior that may be implemented. A list of
features are shown in Table 37.
Each Feature supported by a Logical Unit shall be described by a Feature Descriptor. All feature descriptors
shall be a multiple of four bytes long. The format of a Feature Descriptor is shown in Table 36.
The Feature Code field shall identify a feature supported by the Logical Unit.
The Version field is reserved and shall be set to zero. Future versions of a feature will be backward
compatible; incompatible changes will be included in a different feature.
The Persistent bit, when set to zero, shall indicate that this feature may change its current status. When set to
one, shall indicate that this feature is always active. The Logical Unit shall not set this bit to one if the Current
bit is, or may become, zero.
The Current bit, when set to zero, indicates that this feature is not currently active and that the Feature
Dependent Data may not be valid. When set to one, this feature is currently active and the Feature Dependent
Data is valid.
The Additional Length field indicates the number of Feature specific bytes that follow this header. This field
shall be an integral multiple of 4.
6.1.4.3. Profile List
This feature identifies profiles supported by the Logical Unit. Profiles are defined as collections of features and
provide a method to quickly determine the Logical Unit’s type. This feature is always current, even if none of
the profiles listed is current. See Table 38, Table 39 and Table 40 for definitions and description of the Profile
List.
The Profile Descriptors are shown in Table 39. All profiles supported by the Logical Unit shall always be
reported. Profile descriptors are returned in the order of preferred operation most desirable to least desirable.
E.g. a DVD-ROM that could also read CD-ROM would list the DVD-ROM profile first and the CD-ROM profile
second.
The Profile Number identifies a profile to which the Logical Unit conforms. See Table 40.
The Current bit, when set to one, shall indicate that this profile is currently active. If no medium is present, no
profile should be active. Multifunction devices shall select the most appropriate profile(s), if any, to set as
current. The most appropriate current profile is also reported in the Feature Header, see Table 35.
Recommended error reporting is defined in Table 161.

143
BSR NCITS 333

Table 161 – Recommended Errors for GET CONFIGURATION Command.


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

144
BSR NCITS 333

6.1.5. GET EVENT/STATUS NOTIFICATION


The GET EVENT/STATUS NOTIFICATION Command, Table 162, requests the Logical Unit to report events
and statuses as specified in the Notification Class field and provides asynchronous notification. Two modes of
operation are defined here. They are polling and asynchronous modes.
In polling mode, the Initiator will issue GET EVENT/STATUS NOTIFICATION commands at periodic intervals
with an IMMED (Immediate) bit set to one. The target shall complete this command with the most recently
available event status requested. The Logical Unit shall support polling mode.
In asynchronous mode, the Initiator will issue a single GET EVENT/STATUS NOTIFICATION command with
an IMMED (immediate) bit of 0 requested. If the Logical Unit does not support Asynchronous Mode, the
command shall fail as an illegal request. If the Initiator requests Asynchronous Mode using a request that is
not queued or overlapped, the command shall fail as an illegal request.
When Asynchronous Event Status reporting is supported, the target shall not complete a GET
EVENT/STATUS NOTIFICATION command with an IMMED bit of 0 until a change in event status of the
requested class occurs. The target shall complete the GET EVENT/STATUS NOTIFICATION Command as
soon after the event occurs as possible. It will report the event as outlined below.
Only one class of event per GET EVENT/STATUS NOTIFICATION Command shall be reported. The priority of
event reporting shall be by Event Class number. The lower the Class number the higher the priority.
This command shall not return CHECK CONDITION status to report a unit attention condition.

Table 162 - GET EVENT/STATUS NOTIFICATION Command


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (4Ah)
1 Reserved Reserved IMMED
2 Reserved
3 Reserved
4 Notification Class Request
5 Reserved
6 Reserved
7 (MSB) Allocation Length
8 (LSB)
9 Control

The Allocation Length field specifies the maximum Event Notification Response length, in bytes, that shall be
transferred from the Logical Unit to the Initiator. An Allocation Length field of zero indicates that no data shall
be transferred. This condition shall not be considered an error.

145
BSR NCITS 333

Notification Class Request field specifies that the Logical Unit report event(s) from the event classes
requested in this field. Table 163 defines the codes listed in this field.

Table 163 - Notification Class Request


Bit Definition
0 Reserved
1 Operational Change Request/Notification
2 Power Management Class Events
3 External Request
4 Media Status Class Events
5 Multi-Initiator
6 Device Busy Class Events
7 Reserved

If a Logical Unit does not support any of the requested event classes, the Logical Unit shall terminate the
command successfully, returning only the Event Status Notification Response (see Table 164), and indicating
a returned Class of 0.
Initiators that manage, media event status, may or may not be linked to other entities that manage power
states. This notification field provides a way that power and media event status notifications can be
independently managed by the responsible entities. If a driver manages media, power management and Busy
Device events, the driver can issue this command with notification field set to 01010100b to request the
Logical Unit to report power, media, and busy events.

Table 164 - Event Status Notification Response


7 6 5 4 3 2 1 0
Bit
Byte
0-3 Event Header
4-n Event Data

The Event Header returns the data defined in Table 165.

Table 165 - Event Header Return Data


7 6 5 4 3 2 1 0
Bit
Byte
0 (MSB) Event Data Length
1 (LSB)
2 NEA Reserved Notification Class
3 Supported Event Classes

The Event Data Length field specifies the amount of data that follows the Event Status Notification Header.
The amount of data reported shall be the number of bytes following the data length field.
The No Event Available (NEA) bit, when set to one, shall indicate none of the requested notification classes
are supported. When set to zero, it shall indicate that at least one of the requested notification classes is
supported.
The Notification Class field specifies the class of notification by number. See Table 166.

146
BSR NCITS 333

Supported Event Classes field specifies the event classes that the Logical Unit supports as per the Notification
Class Field. If a Feature is supported, the corresponding bit shall be set to one.

Table 166 – Notification Class Field


Field Description
000b Reserved
001b Operational Change Request/Notification
010b Returns Power Management class events
011b External Request
100b Returns Media Class events
101b Multiple Initiators
110b Device Busy Class event
111b Reserved

The data returned, with a class code 001b, is defined in Table 167.

Table 167 - Operational Change/Notification Returned Data


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved Operational Event
1 Persistent Reserved Operational Status
Prevented
2 (MSB) Operation Request/Report
3 (LSB)

Persistent Prevented bit reports the current state of the persistent prevent for the Logical Unit. See sub-clause
5.3.4.
Operational Status (Table 169) field reports the device’s ability to respond to the Initiator.

Table 168 – Operational Status Response


Code Status Description
0h NoChg No changes in the Logical Unit Operational state performed or
requested
1h Operational Change Request The Logical Unit The unit requests to change operational state
(morph request)
2h Logical Unit has changed The Logical Unit has changed Operational state
Operational state
3h - Fh Reserved Reserved

147
BSR NCITS 333

Table 169 – Operational Status Format


Code Status Description
0h Available The Logical Unit is ready for operation
1h Temporarily busy The Logical Unit is performing a task that will self-terminate
2h Busy/Reserved The Logical Unit is performing operations that will take an indefinite
amount of time to terminate or is reserved by another Initiator.
3h - Fh Reserved Reserved

Operational Event field reports Logical Unit requests to change state and notifications of changes in device
state. If a persistent prevent is in place, any action request that can be reported before performing the action
shall not be performed by the Logical Unit, and the device shall notify the Initiator of the requested action. In all
other cases, the Logical Unit shall notify the Initiator of actions that change Device State. An example of an
action that shall be reported after the action is taken is termination of a format operation due to completion of
formatting. Upon reporting operational change notification to the Initiator, this field is reported as 0h on
subsequent GET EVENT/STATUS NOTIFICATION commands until a new change in operational state occurs.
Operation Request/Report field (Table 170) reports the operation requested or operation that has been
performed. The request usually originates from another Initiator.

Table 170 - Operational Request/Report Format


Code Event Description
0h NoChg No changes in operational state performed or requested
1h Change An unspecified event has changed the Feature list
2h Add Change The Feature list may have added Current Features
(No Features became non-Current)
3h Reset The Logical Unit has been reset
4h Firmware Changed The Logical Unit’s Microcode may have changed
5h Inquiry change The Logical Unit’s identification information may have
changed
6h - FFFFh Reserved

Event 0h requires no Initiator action. The Initiator should respond to Events 1h through 5h with a GET
CONFIGURATION Command to determine the Logical Unit configuration.
The data returned, with a class code 010b, is defined in Table 171.

Table 171 - Power Management Status Returned Data


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved Power Event
1 Power Status
2 Reserved
3 Reserved

Power Event field (Table 172) reports the current change in the power status. This field is set to a new power
event if a change in the power state occurs. Upon reporting the current power status change to the Initiator,
this field is reported as 0h on subsequent GET EVENT/STATUS NOTIFICATION commands until a new
change in the power state occurs.
If the Logical Unit is commanded to go the same state as the Logical Unit is currently in, the next GET
EVENT/STATUS NOTIFICATION (Power Class) command shall report a Power Change Successful event.

148
BSR NCITS 333

Table 172 - Power Event Field


Code Event Description
0h NoChg No changes in power state, or in power state transition
1h PwrChg-Successful The Logical Unit successfully changed to the specified
power state
2h PwrChg-Fail The Logical Unit failed to enter the last requested state,
and is still operating at the power state specified in the
Power State field.
3h - Fh Reserved

The Power Status field (Table 173) indicates the state of the Logical Unit. The Logical Unit shall be set to
Standby (3h) by a hard reset, a power-on reset or a Device reset (issued from a Sleep state).

Table 173 - Power Status Field


Code Status Description
0h Reserved.
1h Active The Logical Unit is in Active state
2h Idle The Logical Unit is in Idle state
3h Standby The Logical Unit is in Standby state
4h Sleep The Logical Unit is about to enter Sleep state
5h - Fh Reserved

Table 174 – External Request Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved External Request Event
1 Persistent Reserved External Request Status
Prevented
2 (MSB) External Request
3 (LSB)

The External Request Event field reports external requests to change state and notifications of changes in
Logical Unit state. If a Persistent Prevent is in place for the Initiator, the action shall not be performed by the
Logical Unit. If a Persistent Prevent is not in place for the Initiator, the drive shall notify the Initiator of actions
that change drive state. Upon reporting operational change notification to the Initiator, this field is reported as
0h on subsequent GET EVENT/STATUS NOTIFICATION Commands until a new External Request occurs.
The External Request Events are listed in Table 177.

149
BSR NCITS 333

Table 175 – External Request Event Format


Code Event Description
0h NoChg No changes in the Logical Unit Operational state performed or
requested
1h Logical Unit Key Down A front, back, or remote butten has been depressed
2h Logical Unit Key Up A front, back, or remote butten has been released
3h External Request Notification The Logical Unit has received a command from another
Initiator that would require an action that may interfere with the
Persistent Prevent owner’s operation.
4h – Fh Reserved

The Initiator may respond to Events 1-3 with no action, an appropriate action, or with a SEND EVENT
Command. The Initiator may respond to Event 4 with a GET CONFIGURATION Command. Events 1 and 2
should occur in pairs.
The Persistent Prevent bit reports the current state of the persistent prevent for the Logical Unit. This bit
shall be set to 1 if any Initiator has performed a persistent reservation.
The External Request Status field reports the Logical Unit’s ability to respond to the Initiator.

Table 176 – External Request Status Codes


Code Status Description
0h Available The Logical Unit is ready for operation
1h Other Prevent Indicates that another Initiator has an active Persistent Prevent. The
Persistent Prevent bit shall be set to one.
2h - Fh Reserved Reserved

The External Request field reports the operation requested or operation that has been performed. The request
usually originates from the unit’s own user interface (i.e. front panel buttons) or from another initiator.

150
BSR NCITS 333

Table 177 – External Request Codes


Code Status Description
0h No Request No requests are pending
1h Overrun The Request Queue has overflowed, External Request Events may be
lost.
2h - Reserved
FFh
100h – ASCII Button A front panel button was pressed or equivalent action requested by
1FFh another Initiator. The button has an associated ASCII value. The ASCII
value shall be the least significant 8 bits of Code.
101h Play The play button was pressed or another initiator requested a play
operation.
102h Rewind/back The rewind/back button was pressed or another initiator requested a
rewind/back operation.
103h Fast Forward The fast/forward button was pressed or another initiator requested a
fast/forward operation.
104h Pause The pause button was pressed or another initiator requested a pause.
105h Reserved
106h Stop The stop button was pressed or another initiator requested a stop.
107h - Reserved
EFFFh
F000h - Vendor Unique
FFFFh

The data returned, with a class code 100b, is defined in Table 178.

Table 178 - Media Event Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved Media Event
1 Media Status
2 Start Slot
3 End Slot

151
BSR NCITS 333

The Media Event field is defined in Table 179.

Table 179 – Media Event Format


Code Event Description
0h NoEvent Media status is unchanged
1h EjectRequest The Logical Unit has received a request from the user
(usually through a mechanical switch on the Logical Unit)
to eject the specified slot or media.
2h NewMedia The specified slot (or the Logical Unit) has received new
media, and is ready to access it.
3h MediaRemoval The media has been removed from the specified slot, and
the Logical Unit is unable to access the media without
user intervention.
4h MediaChanged The user has requested that the media in the specified slot
be loaded.
5h - Fh Reserved

The Media Status byte is defined in Table 180.

Table 180 - Media Status Byte Definition


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved Media Door or
Present Tray
open

The Media Present status bit indicates if there is media present in the Logical Unit. A bit of 1 indicates that
there is media present in the Logical Unit. This bit is reported independently from the Door or Tray Open bit. If
the Logical Unit does not support the capability of reporting the media state while the door or tray is open, it
shall set this bit to zero when the door or tray is open.
Door or Tray Open Status bit indicates if the Tray or Door mechanism is in the open state. A bit of 1
indicates the door/tray is open.
Start Slot field defines the first slot of a multiple slot Logical Unit the media status notification applies to. For
Logical Units that do not support multiple slots, this field shall be reserved.
End Slot field defines the last slot of a multiple slot Logical Unit the media status notification applies to. For
Logical Units that do not support multiple slots, this field shall be reserved.
The slot numbers are defined in the GET MECHANISM STATUS Command, see sub-clause 6.1.8..
The data returned, with a class code 110b, is defined in Table 185.
Multi-Initiator Class Events notify the Initiator of requests for control by other Initiators

Table 181 – Multiple Initiator Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved Multiple Initiator Event
1 Persistent Reserved Multiple Initiator Status
Prevented
2 (MSB) Multiple Initiator
3 (LSB)

The Multi- Initator Event field reports requests for control of and reporting of changes in Logical Unit state. If a
Persistent Prevent is in place for that Initator, the Logical Unit shall not perform the action requested. If a

152
BSR NCITS 333

Persistent Prevent is not in place for that Initator, the drive shall notify the Initator of actions that change the
Logical Unit state. Upon reporting Multi- Initator Events to the Initator, this field is reported as 0h on
subsequent GET EVENT/STATUS NOTIFICATION Commands until a new Multi- Initator Event occurs. The
Multi-Initiator Events are listed in Table 184.

Table 182 – Multiple Initiator Event Format


Code Event Description
0h NoChg No changes in the Logical Unit Operational state performed or
requested
1h Control Request Another Initiator as requested Logical Unit control.
2h Control Grant Another Initiator as received Logical Unit control.
3h Control Release Another Initiator as released Logical Unit control.
4h – Fh Reserved

The Initator may respond to Events 1-3 with no action or an appropriate Persistent Prevent or Persistent
Release.
The Persistent Prevent bit reports the current state of the Persistent Prevent for the Logical Unit.

Table 183 – Multiple Initiator Status Codes


Code Status Description
0h Available The Logical Unit is ready for operation
1h Other Prevent Indicates that another Initiator has an active Persistent Prevent. The
Persistent Prevent bit shall be set to one.
2h - Fh Reserved Reserved

The Multiple Intiator Request field reports the operation requested or the operation that has been performed.
The request originates from the Logical Unit’s own user interface (i.e. front panel buttons) or from another
Initiator.

Table 184 – Multiple Initiator Codes


Code Status Description
0h No Request No requests are pending
1h Low There are no tasks pending on the Initiator for this Logical Unit.
2h Medium There are no critical tasks pending on the Initiator for this Logical Unit.
3h High There are critical tasks pending on the Initiator for this Logical
Unit
4h - Reserved
FFFFh

Device Busy Events are used to notify the Initiator of commands that are executing but that require an
abnormally long time to complete. Response data is defined in Table 185.

153
BSR NCITS 333

Table 185 - Device Busy Event Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved Device Busy Event
1 Device Busy Status
2 (MSB) Time
3 (LSB)

The Device Busy Event field code is defined in Table 186.

Table 186 - Device Busy Event Format


Code Event Description
0h NoEvent No event is available
1h Busy Event A time-out has occurred
2h - Fh Reserved

The Device Busy Status byte is defined in Table 187.

Table 187 - Device Busy Status Format


Code Status Description
0h NoEvent The Logical Unit is ready to accept any command.
1h Power The Logical Unit is in the process of waking up from a low-power state.
2h Immediate The Logical Unit is in the process of completing an earlier command.
3h Deferred The Logical Unit is in the process of completing a deferred operation.
4h - Fh Reserved

The Time field is the predicted amount of time remaining for the Logical Unit to become not busy, in units of
100ms.
This type of event is usable in two environments. The first is in a queued environment. The GET
EVENT/STATUS NOTIFICATION command may be issued in a non-immediate mode prior to executing
commands or in the immediate mode while commands are being executed. The second environment is where
immediate commands and deferred writing are performed; this command may be issued in the immediate
mode to obtain status. If a normal command is issued while the device is busy, this command cannot be
issued until the normal command completes. Therefore, if queuing is not used, the GET EVENT/STATUS
NOTIFICATION command should precede any command that may time out.
If a GET EVENT/STATUS NOTIFICATION command with the Device Busy class bit set, is queued, the Logical
Unit shall complete the command after a time-out as defined in the time-out section has occurred. However,
instead of generating a UNIT ATTENTION condition, the only action is to complete this command. If this event
is to be used via polling in the immediate mode, the Initiator should disable the Logical Unit time-outs.
If Report Status Notification is not supported or not enabled, the Logical Unit shall return CHECK
CONDITION, sense key set to ILLGAL REQUEST, additional sense key set to INVALID FIELD IN CDB.
If the IMMED bit is set to one, and there is no Event to report the command shall return good status.

154
BSR NCITS 333

If the IMMED bit is set to zero (and the Logical Unit supports tagged command queuing) and there is NO event
to report, the GET EVENT/STATUS NOTIFICATION command shall be queued by the target until there is an
Event to report.
If the IMMED bit is set to zero and the target DOES NOT support tagged command queuing, the target shall
return CHECK CONDITION, sense key to ILLEGAL REQUEST, additional sense code to INVALID FIELD IN
CDB.
Recommended error reporting is defined in Table 188.

Table 188 – Recommended Errors for GET EVENT/STATUS NOTIFICATION Command.


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

155
BSR NCITS 333

6.1.6. GET PERFORMANCE


The GET PERFORMANCE, Table 189, command provides a method for the Initiator to Profile the
performance of the drive. The command can report two forms: the nominal performance and
exception locations that may cause seek delays to occur. These performance parameters are
reported separately for read and write.

Table 189 – GET PERFORMANCE Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (ACh)
1 Reserved Tolerance Write Except
2 (MSB)
3 Starting LBA
4
5 (LSB)
6 Reserved
7 Reserved
8 (MSB) Maximum Number of Descriptors
9 (LSB)
10 Reserved
11 Control

The Tolerance field, when set to 10b, shall indicate that the descriptors returned shall have a 10% tolerance
for the nominal performance and 20% for the exception list. All other values are reserved for future
standardization.
The Write bit, when set to zero, shall indicate that the performance parameters for reading shall be returned.
When set to one, the performance parameters for writing shall be returned.
The Except field, when set to 00b, shall indicate that the nominal performance parameters be returned. When
set to 01b, the entire performance exception list, qualified by the Starting LBA, shall be returned. When set to
10b, only performance exceptions that cause the performance to fall outside the nominal shall be reported. For
example, slipped sectors may not be included in the 10b list, but would be included in the 01b list. An Except
field of 11b is reserved.
The Starting LBA field is valid only when Except = 01b. If Except = 01b, the Starting LBA field shall indicate
the starting point for returning performance data. All performance data shall be for logical block addresses
equal to this field or greater.
The Maximum Number of Descriptors shall indicate the maximum number of descriptors that the Logical Unit
returns.
The performance response (Table 190) shall contain a Performance header and Performance descriptors.

Table 190 – Performance response format


Bit 7 6 5 4 3 2 1 0
Byte
0–7 Performance Header
8-n Performance Descriptor(s)

156
BSR NCITS 333

The Performance Header is defined in Table 191.

Table 191 – Performance Header


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Performance Data Length
2
3 (LSB)
4 Reserved Write Except
5 Reserved
6 Reserved
7 Reserved

The Performance Data Length field shall specify the amount of result data that follows the Performance
Data Length field.
The Write bit, when set to zero, shall indicate that the result data is for read performance using the nominal
command for the data type. When set to one, shall indicate that the result data is for write performance.
The Except bit, when set to zero, shall indicate that the result data is for nominal performance (see Table
192). When set to one, shall indicate that the result data is for exception conditions (see Table 193).
The Performance Descriptors (Table 192) for nominal performance are intended to give the Initiator an
approximation of Logical Unit performance. All numbers are nominal. On CD media, all sectors shall be
reported as 2352 byte sectors. The descriptor includes a Start LBA value, a Start Performance value in kB/s,
an End LBA value, and an End Performance value in kB/s.

Table 192 – Performance Descriptor – Nominal Performance


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Start LBA
2
3 (LSB)
4 (MSB)
5 Start Performance
6
7 (LSB)
8 (MSB)
9 End LBA
10
11 (LSB)
12 (MSB)
13 End Performance
14
15 (LSB)
The Start LBA field contains the first logical block address of the extent described by this descriptor.
The Start Performance field contains the nominal Logical Unit performance at the Start LBA in kB/s.

157
BSR NCITS 333

The End LBA field contains the last logical block address of the extent described by this descriptor.
The End Performance field contains the nominal Logical Unit performance at the End LBA in kB/s.

Table 193 – Performance Descriptor - Exceptions


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 LBA
2
3 (LSB)
4 (MSB) Time
5 (LSB)

The LBA field shall indicate that there is a seek delay between (LBA - 1) and LBA.
The Time field shall indicate the expected additional delay between (LBA - 1) and LBA from nominal, in units
of tenths of milliseconds (100 microseconds). This seek delay may be due to linear replacement, zone
boundaries, or other media dependent Features. The expected additional delay should represent the typical
time expected for the type of exception described.
Note: A block replaced by linear replacement may cause two exceptions to appear in the Exception
Descriptor list - one between the non-replaced area and the beginning of the replaced block, and one
from the end of the replaced block back to the non-replaced area.
Recommended error reporting is defined in Table 194.

Table 194 - Recommended errors for GET PERFORMANCE command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

158
BSR NCITS 333

6.1.7. LOAD/UNLOAD MEDIUM Command


The LOAD/UNLOAD MEDIUM Command (Table 195) requests the Logical Unit Changer to load or unload a
Disc. New LOAD/UNLOAD MEDIUM commands issued before the changer enters the READY STATE (00b),
see Table 201, shall cause the changer to stop any LOAD/UNLOAD MEDIUM Command in progress and
begin processing the new LOAD/UNLOAD MEDIUM command.

Table 195 - LOAD/UNLOAD MEDIUM command


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (A6h)
1 Reserved Reserved IMMED
2 Reserved
3 Reserved
4 Reserved LoUnlo Start
5 Reserved
6 Reserved
7 Reserved
8 SLOT
9 Reserved
10 Reserved
11 Control

An Immediate (IMMED) bit of one indicates that the Logical Unit shall return status as soon as the command
descriptor block has been validated. An IMMED Bit of zero indicates that the status shall not be returned until
the operation has been completed.
The Load/Unload (LoUnlo) bit and the Start bit encoding is shown in Table 196

Table 196 - Load/Unload Operations


LoUnlo Start Operation to be Performed
0 0 Abort any prior Changer command (Stop)
0 1 Reserved
1 0 Unload media. The Slot Parameter is ignored for this operation.
1 1 Load the Media from specified Slot and initialize or select the Slot
specified for use with future Media Access Commands

The SLOT field indicated the Slot to be loaded or unloaded. Changer should always initialize (Load) Slot 0 on
Power On or Bus Device Reset.
Any attempt to Load or Unload a Disc when the Device does not support that capability shall result in a
CHECK CONDITION being reported to the Initiator with Sense key ILLEGAL REQUEST, Sense Code
INVALID FIELD IN CDB.
Loading when the slot does not contain a Disc or the Play Position does not contain a Disc will be rejected with
Sense Key ILLEGAL REQUEST, Sense Code INVALID FIELD IN CDB for the Slot Bytes. Unloading when the
Play Position does not contain a Disc will be rejected with a Sense Key ILLEGAL REQUEST, Sense Code
INVALID FIELD IN CDB for the Slot Bytes.
Loading when the slot does not contain a Disc will be rejected with a Sense Key NOT READY and Sense
Code 3Ah MEDIUM NOT PRESENT. When this error is returned there are two possible actions by the CD
Changer Device. If the Logical Unit reports Software Slot Selection (SSS) = 1, (see Table 137), then the slot

159
BSR NCITS 333

specified shall be selected for use. If the Logical Unit reports SSS = 0 then the previously used slot shall
continue to be selected for use.
If the Logical Unit is capable of caching data then a delayed load of a disc into the playing position can be
supported. If delayed loading of a disc into the playing position is supported, the Logical Unit shall have
previously cached the Lead-in data from that disc. If the medium is DVD then the caching of the Lead-in
information shall be performed. If the medium is CD then the caching of the TOC shall be performed. If the
Logical Unit has not read the Lead-in for a disc that is being loaded into the playing position, then delayed
loading shall not be performed and the disc shall be loaded into the playing position immediately. If the
loading of the Disc into the playing position is delayed, then the Logical Unit shall report that the Disc is ready,
even though the Disc is not spinning and installed in the playing position. In all cases the behavior seen by the
Initiator (other than a longer subsequent media access latency) shall not be different between delayed and
immediate loading of a disc
A UNIT ATTENTION Condition shall not be generated when discs are loaded or unloaded from the playing
position.
Recommended error reporting is defined in Table 197.

Table 197 - Recommended errors for LOAD/UNLOAD MEDIUM operation


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
MECHANICAL POSITIONING ERROR Table A.1
INVALID ELEMENT ADDRESS Table A.1
MEDIA LOAD OR EJECT FAILED Table A.1

160
BSR NCITS 333

6.1.8. MECHANISM STATUS Command


The Mechanism Status command (Table 198) requests that the Logical Unit respond with the current status of
the device, including any Changer Mechanism that adheres to this standard. This command is intended to
provide information to the Initiator about the current operational state of the Logical Unit. The Logical Unit
takes operational direction from both the Initiator and the user. Movement of media in/out of the Logical Unit as
well as Play operation may be due to external controls or Initiator commands. This command provides a
method that allows the Initiator to know what has transpired with the changer mechanism.

Table 198 - MECHANISM STATUS Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation code (BDh)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Reserved
8 (MSB) Allocation Length
9 (LSB)
10 Reserved
11 Control

The Allocation Length field specifies the maximum length, in bytes, of the Mechanical Status Parameter list,
see Table 199, that shall be transferred from the Logical Unit to the Initiator. An Allocation Length field of zero
indicates that no data shall be transferred. This condition shall not be considered an error.
The Mechanism Status Parameter list returned contains a header (Table 200) followed by zero or more fixed-
length Slot Tables (Table 203). If the Logical Unit does not support the changer commands, then the number
of slot tables returned to the Initiator shall be zero.

Table 199 - Mechanism Status Parameter List


Bit 7 6 5 4 3 2 1 0
Byte
0-7 Mechanism Status Header
8-n Slot Table(s)

161
BSR NCITS 333

Table 200 - Mechanism Status Header


Bit 7 6 5 4 3 2 1 0
Byte
0 Fault Changer State Current Slot Low (LSB)
1 Mechanism State Door Reserved Current Slot High (MSB)
open
2 (MSB)
3 Current LBA
4 (LSB)
5 Number of Slots Available
6 (MSB) Length of Slot Table(s)
7 (LSB)

The Fault bit, bit 7, indicates that the changer failed to complete the operation reported in the Changer State
field.
The Changer State field (Table 201) indicates the current state of the changer.

Table 201 - Changer State Field


Changer State Definition
0h Ready
1h Load in Progress
2h Unload in Progress
3h Initializing

The Current Slot field indicates the Current Slot selected. Changers compatible with a bootable device
specification should always initialize (Load) Slot zero on Power On or Bus Device Reset. This value shall only
be changed when a Load Command is processed. Operations initiated by a user shall not cause this value to
change. If the Logical Unit is not a changer, then this field is reserved.
The Mechanism State field (Table 202) encodes the current operation of mechanism.

Table 202 - Mechanism State Field


Mechanism Definition
State
0h Idle
1h Playing (Audio or Data)
2h Scanning
3h Active with Initiator, Composite or Other
Ports in use (i.e. READ, PLAY CD,
SCAN during PLAY CD)
4h-6h Reserved
7h No State Information Available

The Slot Table response data format is defined in Table 203. Each slot shall respond with the status defined.
The Door open bit, when set to one, indicates that the Door(s) or Tray(s) is open or the magazine is not
present.
The Current LBA value returns the location that was last used while reading or playing. Once a Read or Play
operation has been completed the value of this field may be undefined. While a Read or Play is in progress
this field will contain the LBA of the current block being processed.

162
BSR NCITS 333

The Number of Slots Available field indicates the number of slots available. The maximum number of slots is
256.
The Length of Slot Tables field specifies the length in bytes of the all the slot information that follows (e.g.
for a 2 slot Logical Unit this value would be 8).

Table 203 - Slot Table Response Format


Bit 7 6 5 4 3 2 1 0
Byte
0 Disc Reserved Reserved Reserved Reserved Reserved Reserved Change -
Present Mandatory
(Optional)
1 Reserved
2 Reserved
3 Reserved

The Disc Present bit, bit 7, indicates that there is a Disc in this slot. The reporting of this information is optional
after a reset or Disc change. If this Feature is not supported, this bit shall be set to one after a reset condition
or when a medium has been changed. When the Logical Unit is given a load command for a slot that contains
no Disc, the bit corresponding to that slot shall then contain a 0 for any following response. If this bit is valid
after a reset or medium change, then this capability shall be reported in the CD Capabilities and Mechanical
Status Page (see Table 137).
The Change bit, bit 0, indicates that the Disc in that slot has been changed since the last time the disc was
loaded.
Recommended error reporting is defined in Table 204.

Table 204 - Recommended errors for Mechanism Status command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2

163
BSR NCITS 333

6.1.9. PAUSE/RESUME Command


The PAUSE/RESUME command (Table 205) requests that the Logical Unit stop or start a playback operation.
This command is used with PLAY AUDIO and Play CD commands that are executing in immediate mode.

Table 205 - PAUSE/RESUME Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (4Bh)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Reserved
8 Reserved Resum
e
9 Control

A Resume bit of zero causes the Logical Unit to enter the hold track state with the audio output muted after the
current block is played. A Resume bit of one causes the Logical Unit to release the pause/scan and begin play
at the block following the last block played/scanned.
If an audio play operation cannot be resumed and the Resume bit is one, the command is terminated with
CHECK CONDITION status, COMMAND SEQUENCE ERROR. If the Resume bit is zero and an audio play
operation cannot be paused, (no audio play operation has been requested, or the requested audio play
operation has been completed), the command is terminated with CHECK CONDITION status, COMMAND
SEQUENCE ERROR.
It shall not be considered an error to request a Pause when a pause is already in effect, or to request a
Resume when a play operation is in progress.

Table 206 - Recommended errors for PAUSE/RESUME command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
COMMAND SEQUENCE ERROR Table A.1

164
BSR NCITS 333

6.1.10. PLAY AUDIO (10) Command


The PLAY AUDIO command (Table 207) requests that the Logical Unit begin an audio playback operation.
The command function and the output of audio signals shall be as specified by the settings of the mode
parameters, including the SOTC bit.
If any commands related to audio operations are implemented then the PLAY AUDIO (10) command shall be
implemented to allow a method for the Initiator to determine if audio operations are supported. A Logical Unit
responding to a PLAY AUDIO (10) command that has a transfer length of zero with CHECK CONDITION
status and setting the sense key to ILLEGAL REQUEST does not support audio play operations.

Table 207 - PLAY AUDIO(10) Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (45h)
1 Reserved Reserved RELAD
R
2 (MSB)
3 Starting Logical Block Address
4
5 (LSB)
6 Reserved
7 (MSB) Play Length
8 (LSB)
9 Control

The RELADR bit shall be set to zero.


The Starting Logical Block Address field specifies the logical block that the audio playback operation shall
begin. PLAY AUDIO commands with a starting logical block address of FFFF FFFFh shall implement audio
play from the current location of the optics. PLAY AUDIO commands with a starting LBA address of 0000
0000h shall begin the audio play operation at 00/02/00 MSF.
The Play Length field specifies the number of contiguous logical blocks that shall be played. A Play Length
field of zero indicates that no audio operation shall occur. This condition shall not be considered an error.
If the starting address is not found, the command shall be terminated with CHECK CONDITION status,
LOGICAL BLOCK ADDRESS OUT OF RANGE. If the address is not within an audio track, the command shall
be terminated with CHECK CONDITION status, ILLEGAL MODE FOR THIS TRACK.
If the logical block address requested is not within an audio track and the Play Length is non-zero, the
command shall be terminated with CHECK CONDITION status. The sense key shall be set to ILLEGAL
REQUEST and the additional sense code set to ILLEGAL MODE FOR THIS TRACK.
If the CD Sub-channel mode type (data vs. audio) is other than audio or changes within the transfer length the
command shall be terminated with a CHECK CONDITION. The Sense Key shall be set to ILLEGAL
REQUEST and additional sense code set to END OF USER AREA ENCOUNTERED ON THIS TRACK.
6.1.10.1. Play Audio Immediate
The PLAY AUDIO and SCAN commands will continue to play, while other commands may be processed, by
the Logical Unit. Some commands can be accepted without disrupting the audio operations, while others will
cause the Play operation to stop.
The Logical Unit shall accept and perform the commands as specified. If a PLAY or SCAN operation is
executing such that the IMMED bit in the Audio Control Page was set to one when the command started,
execution of a new command takes precedence. When the new command can be executed to completion
without disturbing execution of the PLAY or SCAN, it shall be done. Otherwise, the PLAY or SCAN shall be

165
BSR NCITS 333

terminated in order that the new command can be executed. The following commands shall be executed
without disturbing the PLAY or SCAN command:
- REQUEST SENSE
- READ SUB-CHANNEL, current position
- PAUSE/RESUME
- INQUIRY
- READ CAPACITY
All other commands that may effect the termination of PLAY or SCAN are implementation specific.

Table 208 - Recommended errors for PLAY AUDIO (10) Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

166
BSR NCITS 333

6.1.11. PLAY AUDIO (12) Command


The PLAY AUDIO command (Table 209) requests that the Logical Unit begin an audio playback operation.
The command function and the output of audio signals shall be as specified by the settings of the mode
parameters, including the SOTC bit.

Table 209 - PLAY AUDIO (12) Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (A5h)
1 Reserved Reserved RELAD
R
2 (MSB)
3 Logical Block Address
4
5 (LSB)
6 (MSB)
7 Play Length
8
9 (LSB)
10 Reserved
11 Control

See PLAY AUDIO (10) Command for bit and field description in the CDB.
Recommended error reporting is defined in Table 210.

Table 210 - Recommended errors for PLAY AUDIO(12) Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

167
BSR NCITS 333

6.1.12. PLAY AUDIO MSF Command


The PLAY AUDIO MSF command (Table 211) requests that the Logical Unit begin an audio playback
operation. The command function and the output of audio signals shall be as specified by the settings of the
mode parameters including the SOTC bit described on page 120.

Table 211 - PLAY AUDIO MSF Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (47h)
1 Reserved Reserved
2 Reserved
3 Starting M Field
4 Starting S Field
5 Starting F Field
6 Ending M Field
7 Ending S Field
8 Ending F Field
9 Control

The Starting M Field, the Starting S Field, and the Starting F Field specify the absolute MSF address that the
audio play operation shall begin. The Ending M Field, the Ending S Field, and the Ending F Field specify the
absolute MSF address where the audio play operation shall end. All contiguous audio sectors between the
starting and the ending MSF address shall be played.
If the Starting Minutes, Seconds, and Frame Fields are set to FFh, the Starting address is taken from the
Current Optical Head location. This allows the Audio Ending address to be changed without interrupting the
current playback operation.
A starting MSF address equal to an ending MSF address causes no audio play operation to occur. This shall
not be considered an error. If the starting MSF address is greater than the ending MSF address, the command
shall be terminated with CHECK CONDITION status, INVALID FIELD IN CDB.
If the starting address is not found the command shall be terminated with CHECK CONDITION status,
LOGICAL BLOCK ADDRESS OUT OF RANGE. If the address is not within an audio track the command shall
be terminated with CHECK CONDITION status, ILLEGAL MODE FOR THIS TRACK or INCOMPATIBLE
MEDIUM INSTALLED. If a not ready condition exists, the command shall be terminated with CHECK
CONDITION status.
Recommended error reporting is defined in Table 212.

Table 212 - Recommended errors for PLAY AUDIO MSF Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

168
BSR NCITS 333

6.1.13. PLAY CD Command (Obsolete)


The PLAY CD Command (Table 213) provides one standard, universal way of sending digital CD
data to an external port.

Table 213 - PLAY CD Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (BCh)
1 Reserved Expected Sector Type CMSF Reserve
d
2 (MSB)
3 Starting Logical Block Address
4
5 (LSB)
6 (MSB)
7 Play Length in Blocks
8
9 (LSB)
10 Speed Reserved Port 2 Port 1 Composite Audio
11 Control

The Expected Sector Type field (Table 220) is used to check the sector type only. If the Requested Sector(s)
do not match the specified type, the command will be terminated with a CHECK CONDITION, ILLEGAL
MODE FOR THIS TRACK. The sector that does not match will not be transferred.
If the CMSF bit is set to zero, the Starting Logical Block Address field specifies the logical block that the
playback operation shall begin. If the CMSF bit is set to one, bytes 3 through 5 specify the MSF starting
address and bytes 6 through 8 indicate the ending MSF address. Bytes 2 and 9 are reserved if CMSF is set to
one.
PLAY CD commands with a starting LBA address of 0000 0000h shall begin the play operation at 00/02/00
MSF.
The Starting Logical Block Address field specifies the logical block that the audio playback operation shall
begin. PLAY AUDIO commands with a starting logical block address of FFFF FFFFh shall implement audio
play from the current location of the optics. PLAY AUDIO commands with a starting LBA address of 0000
0000h shall begin the audio play operation at 00/02/00 MSF.
If the Starting Logical Block Address is set to ‘FF FF FF FFh’ (or ‘00 FF FF FFh’, when CMSF is set to one)
and the playback operation is in progress, or the Logical Unit is in the hold track state, the Logical Unit shall
change the Transfer Length (or Ending Address when CMSF is one) without interrupting current playback
operation. If there is no playback operation in progress the Logical Unit shall implement the playback operation
from the current location of the optics.
The Play Length field specifies the number of contiguous logical blocks that shall be played. A Play Length
field of zero indicates that no play operation shall occur. This condition shall not be considered an error.
If the starting address is not found, the command shall be terminated with CHECK CONDITION status,
LOGICAL BLOCK ADDRESS OUT OF RANGE.

169
BSR NCITS 333

Byte 10, the Play CD field, of the command descriptor block, defines a group of bits that define the play
operations for this command. Table 214 provides the definitions for PLAY CD field.

Table 214 - PLAY CD Field definition


Byte 10 Value Description
bit
Audio 0 Analog Audio Channel is Disabled
1 Analog Audio Channel is Enabled
Composit 0 Composite Video port is Disabled
e
1 Composite Video port is Enabled
Port 1 0 Digital Port 1 is Disabled
1 Digital Port 1 is Enabled
Port 2 0 Digital Port 2 is Disabled
1 Digital Port 2 is Enabled
Speed 0 Speed will be set to X1 for the operation
1 The speed used will be the best possible

Recommended error reporting is defined in Table 215.

Table 215 - Recommended errors PLAY CD Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

170
BSR NCITS 333

6.1.14. READ BUFFER CAPACITY Command (Obsolete)


The READ BUFFER CAPACITY command (Table 216) checks the total length of buffer and the length of
blank area.

Table 216 - READ BUFFER CAPACITY Command Descriptor Block


Bit Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Byte
0 Operation Code (5Ch)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 (MSB) Allocation Length
8 (LSB)
9 Control

The Logical Unit reports the length of the buffer during Session at Once Recording or Track at Once
Recording. If the READ BUFFER CAPACITY command is issued in a condition except Session at Once
Recording or Track at Once Recording, the Blank Length of Buffer field may be invalid.
An Allocation Length of zero is not an error.
The READ BUFFER CAPACITY data (Table 217) is sent in response to this command.

Table 217 - READ BUFFER CAPACITY data


Bit Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
Byte
0 (MSB) Data Length
1 (LSB)
2 Reserved
3 Reserved
4 (MSB)
5 The Length of Buffer
6
7 (LSB)
8 (MSB)
9 Blank Length of Buffer
10
11 (LSB)

The Data Length field defines the number data bytes to be transferred by the Logical Unit.
The Length of Buffer indicates the whole capacity of the buffer in bytes.
The Blank Length of Buffer indicates the length of unused area of the buffer in bytes.

171
BSR NCITS 333

Table 218 - Recommended errors for READ BUFFER CAPACITY Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2

172
BSR NCITS 333

6.1.15. READ CD Command


The READ CD Command described in Table 219 provides a single standard, universal way of accessing CD
data. This command is generic to all types of CD data formats.
This command returns any of the defined CD data streams, including the headers, EDC, ECC, user data and
CD-DA data. Each type of data is enabled via the fields in the READ CD command descriptor block. These
fields, (byte 9) indicate the information from the CD is to be returned in the data stream. If a bit is cleared, then
that particular information is not returned. If all the fields contain zero then no information is returned. This
condition shall not be considered an error.

Table 219 - READ CD Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (BEh)
1 RESERVED Expected Sector Type Reserve RELAD
d R
2 (MSB)
3 Starting Logical Block Address
4
5 (LSB)
6 (MSB)
7 Transfer Length
8 (LSB)
9 SYNC Header Codes User EDC & Error Field Reserve
Data ECC d
10 Reserved Sub-channel Selection Bits
11 Control

The Expected Sector Type field (Table 220) is used as a filter or mask to select the types of data format
information returned to the Initiator. A transfer operation is terminated as soon as data is encountered that
does not match one of those specified in the sector type field of the command. If the requested data is not of
the type/types requested, the command will be terminated with a CHECK CONDITION status, ILLEGAL
MODE FOR THIS TRACK. The sector/sectors that do not match will not be transferred to the Initiator. .

173
BSR NCITS 333

Table 220 - Expected Sector type field bit definitions


Sector Definition Description
Type
000b All types No checking of the data type is performed. The Logical Unit shall always terminate
(mandatory) a command at the sector where a transition between CD-ROM and CD-DA data
occurs.
001b CD-DA Only IEC 908:1987 (CD-DA) (see sub-clause 4.2.2.) sectors shall be returned. All
(optional) other data formats encountered return an error.
010b Mode 1 Only Yellow Book (see Table 126) sectors with a user data field of 2048 bytes
(mandatory) shall be returned. All other data formats encountered return an error.
011b Mode 2 Only Yellow Book (see Table 126) sectors with the expanded user data field (2336
formless bytes) shall be returned. All other formats encountered will terminate the command
(mandatory) and return CHECK CONDITION.
100b Mode 2 form Only sectors (see Table 126) that have a user data field of 2048 bytes will be
1 returned. All other formats encountered will terminate the command and return
(mandatory) CHECK CONDITION.
101b Mode 2 form Only sectors (see Table 126) that have a user data field of 2324 shall be returned.
2 All other formats encountered will terminate the command and return CHECK
(mandatory) CONDITION.
NOTE: 4 spare bytes are included making the total data length returned 2328
bytes/sector.
110b- Reserved
111b

The RELADR bit shall be set to zero.


The Starting Logical Block Address field specifies the logical block that the read operation shall begin.
The Transfer Length field specifies the number of contiguous logical blocks of data that shall be transferred. A
Transfer Length field of zero indicates that no transfer of data shall occur. This condition shall not be
considered an error.
The Sync bit, set to one, indicates that the Sync field from the sector shall be included in the data stream. The
Sync bit, set to zero indicates the Sync field shall not be included in the data stream.
The Header Code field (Table 221) is encoded to select Header/Sub-header information that should be
included in the returned data stream.

Table 221 - Header Code field definition


Header Definition Description
Code
00b none no header information shall be returned
01b header only Only the four byte header will be returned in the data stream
10b sub-header only Only the mode 2 form 1 or form 2 sub-header will be returned.
11b All headers Return both header and sub-header information

The User data bit, when set to one, indicates that the user data part of a CD sector shall be returned in the
data stream. When set to zero, user data shall not be returned to the Initiator. The setting of the Mode Select
Block Size does not apply to this command. If the current track is an audio track, then audio data shall be
returned. Otherwise, the normal user data shall be returned.
The EDC and ECC bit, when set to one, indicates that the EDC and ECC (L-EC) field shall be included in the
data stream. For Mode 1 CD format, this will include the 8 bytes of pad data.

174
BSR NCITS 333

The Error field (see Table 222) is an encoded field that indicates that if any of the C2 and/or Block error data
will be included in the data stream.
If the Logical Unit does not support the C2 pointers, and the Error field is not zero, the C2 data field shall be
zero filled..

Table 222 - READ CD, Error field definition


Error Definition Description
Field
00b none No error information is returned
01b C2 error block data The C2 error, Pointer bits (2352 bits or 294 bytes) will be included in the data
stream. There will be one bit for each byte in error in the sector (2352 total). The bit
ordering is from the most significant bit to the least significant bit in each byte. The
first bytes in the sector will be the first bits/bytes in the data stream.
10b C2 and Block Error Both the C2 error bits (2352 bits/294 bytes) and the Block Error Byte will be
Bits included in the data stream. The Block Error Byte is the logical or of all the C2 Error
bit bytes. The Error Byte will be padded with a byte (undefined) to ensure an even
number of bytes in the data stream. The Block error byte will be first in the data
stream followed by the pad byte.
11b Reserved Reserved for future enhancement.

The Sub-channel data selection field (see Table 223) indicates that CD Sub-channel information is to be
included in the data stream. This may be the Q information and/or the “Raw” Sub-channel information. If the
field is set to a nonzero value, then that Sub-channel data will be included in the data stream to the Initiator.

Table 223 - READ CD, Sub-channel Data Selection Field definition


Sub-channel Definition Description Type
data selection
value
000b No Sub-channel No Sub-channel data will be returned Mandatory
data
001b RAW RAW P-W Sub-channel data will be Optional
transferred
010b Q Q data is transferred (see Table 224) Optional
011b Reserved
100b P-W R-W data is transferred Optional
101b-111b Reserved

In the case of R-W the Logical Unit may return the data de-interleaved and error corrected, RAW or padded
with zeroes depending on the R-W supported and R-W de-interleaved and error corrected bits in the CD
capabilities and Mechanism status page. In the case of RAW the Logical Unit will return the P-W Sub-channel
data that is not de-interleaved. See Table 227 and for P-W data formats.
If the Starting Logical Block Address is set to FFFF FFFFh and the only information requested, is the Sub-
channel data, and there is currently a PLAY AUDIO command in process, the actual address used will be from
the current location (of the audio play).
If the Logical Unit is not playing audio, it shall respond with a CHECK CONDITION Status and a sense code of
COMMAND SEQUENCE ERROR.

175
BSR NCITS 333

Table 224 - Formatted Q Sub-channel response data


Byte Description
0 Control (4 ms bits), ADR (4 Ls bits)
1 Track number
2 Index number
3 Min
4 Sec
5 Frame
6 ZERO
7 AMIN
8 ASEC
9 AFRAME
10 CRC** or 00h
11 CRC** or 00h
12 00h (pad)
13 00h (pad)
14 00h (pad)
15 MSB is P-Sub-code(optional), all others are 0h
** CRC is optional

176
BSR NCITS 333

The lengths of the data returned from a READ CD command will vary based on the type of sector that is being
read and the requested fields to be returned to the Initiator. Many combinations are possible, but most are not
very useful. Table 225 specifies how the Logical Unit responds to many of the requests. Requests for transfers
not specified in the Table 225 shall not be supported and treated as illegal. Illegal values will cause the
command to be aborted with a CHECK CONDITION status, INVALID FIELD IN CDB. See Table 220 for
definition of sector formats.

Table 225 - Number of Bytes Returned Based on Data Selection Field

177
BSR NCITS 333

Data to be transferred Byte2 CD- Mode Mode Mode Mode


9 DA 1 2 2 2
Form Form
1 2
1 1 1
User Data 10h 2352 2048 2336 2048 2328
1 1 1
User Data + EDC/ECC 18h (10h) 2336 (10h) 2328 (10h)
1
Header 20h (10h) 4 4 4 4
1
Header Only + EDC/ECC 28h (10h) Illegal Illegal Illegal Illegal
1 1 1
Header & user data 30h (10h) 2052 2340 Illegal Illegal
1 1
Header & User Data + EDC/ECC 38h (10h) 2340 (30h) Illegal Illegal
1
Sub Header Only 40h (10h) 0 0 8 8
1
Sub Header Only + EDC/ECC 48h (10h) Illegal Illegal Illegal Illegal
1 1 1 1 1
Sub Header & user data 50h (10h) (10h) (10h) 2056 2336
1 1 1 1
Sub Header & user data + EDC/ECC 58h (10h) (18h) (10h) 2336 (50h)
1
All Headers Only 60h (10h) 4 4 12 12
1
All Headers Only + EDC/ECC 68h (10h) Illegal Illegal Illegal Illegal
1 1 1 1 1
All Headers & user data 70h (10h) (30h) (30h) 2060 2340
1 1 1
All Headers & user data + EDC/ECC 78h (10h) (38h) (30h) 2340 2340
1
Sync & User Data 90h (10h) Illegal Illegal Illegal Illegal
1
Sync & User Data + EDC/ECC 98h (10h) Illegal Illegal Illegal Illegal
1
Sync & Header Only A0h (10h) 16 16 16 16
1
Sync & Header Only + EDC/ECC A8h (10h) Illegal Illegal Illegal Illegal
1
Sync & Header User Data B0h (10h) 2064 2352 Illegal Illegal
1
Sync & Header User Data + EDC/ECC B8h (10h) 2352 (B0h) Illegal Illegal
1
Sync & Sub Header Only C0h (10h) Illegal Illegal Illegal Illegal
1
Sync & Sub Header Only + EDC/ECC C8h (10h) Illegal Illegal Illegal Illegal
1
Sync & Sub Header & User Data D0h (10h) Illegal Illegal Illegal Illegal
1
Sync & Sub Header & User Data + D8h (10h) Illegal Illegal Illegal Illegal
EDC/ECC
1
Sync & All Headers Only E0h (10h) 16 16 24 24
1
Sync & All Headers Only + EDC/ECC E8h (10h) Illegal Illegal Illegal Illegal
1 1 1
Sync & All Headers & user data F0h (10h) 2064 2352 2072 2352
1 1 1 1 1
Sync & All Headers & user data + F8h (10h) 2352 (F0h) 2352 (F0h)
EDC/ECC
Repeat 10h - F8h and Add Error Bits 02h +2943 +294 +294 +294 +294
Repeat 10h - F8h and Add Block & Error 04h +296 +296 +296 +296 +296
Bits
Notes:
1. Data should be returned as if Byte 9 contained this value.
2. Value of Byte 9 in the READ CD Command Descriptor Block, in hexadecimal.
3. “+” indicates the addition of the specified number of bytes to the stream of the data.
For definitions of the headers of Table 225 refer to sub-clause 6.1.15.
Values enclosed in () indicate that the amount of data is the same as the Flag byte setting specified by the
contents of the parenthesis.

178
BSR NCITS 333

The CD-DA audio data includes 16 bits of information for each channel, and will be formatted as follows when
an audio track is read. See Table 226.

Table 226 - CD-DA (Digital Audio) Data Block Format


Bit 7 6 5 4 3 2 1 0
Byte
0 Left Channel (Lower Byte) (LSB)
1 (MSB) Left Channel (Upper Byte)
2 Right Channel (Lower Byte) (LSB)
3 (MSB) Right Channel (Upper Byte)
… …
… …
2348 Left Channel (Lower Byte) (LSB)
2349 (MSB) Left Channel (Upper Byte)
2350 Right Channel (Lower Byte) (LSB)
2351 (MSB) Right Channel (Upper Byte)

If the CD Logical Unit does not support the CD-DA Stream-Is-Accurate capability, See Table 137, then the
digital audio data shall be read as a continuous stream. If while streaming the Logical Unit shall stop, there will
be a non-recoverable error generated READ ERROR - LOSS OF STREAMING. This is due to the 1 second
uncertainty of the address. (i.e. there is no header in CD-DA data). Reissuing the command may not return
exactly the same data as the previous try. When the Logical Unit supports the stream accurate capability,
there will be no error, only some time delay for rotational latency.
The format for P-W raw data is described in Table 227.

Table 227 - P-W RAW data format


Bit 7 6 5 4 3 2 1 0
Byte
0 P-W (0)
1 P-W (1)
... …
95 P-W (95)

179
BSR NCITS 333

R-W raw data (bits 0-5, Table 228) is returned in the format and order found on the media. It is the
responsibility of the Logical Unit driver to de-interleave and perform error detection and correction on the RAW
data to make it usable to higher level applications.

Table 228 - P-W Data de-interleaved and error corrected


Bit 7 6 5 4 3 2 1 0

Byte
0 P Q PACK (0)
1 P Q PACK (1)
... …
23 P Q PACK (23)
24 P Q PACK (0)
25 P Q PACK (1)
... ...
47 P Q PACK (23)
48 P Q PACK (0)
49 P Q PACK (1)
... ...
71 P Q PACK (23)
72 P Q PACK (0)
73 P Q PACK (1)
... ...
93 P Q PACK (23)

Drives that cannot return P or Q code with PACK data will return undefined data in the unsupported P or Q
bits. Each PACK is generated after 2 contiguous Sub Channel data frames consisting of 24 bytes with 6 bits of
PACK data per byte. Each 96 byte Packet consists of 4 Packs of 24 bytes each.
The basic RAW format is shown in Figure 28 - Read CD Sub-channel, R-W (100b) below. The data is
synchronized with the Sub-channel sync patterns S0 and S1. Each group of 6 bits (R-W) is called a “symbol.”
The symbol following the Sub-channel patterns S0 and S1, is the first symbol of the first pack in a packet.

180
BSR NCITS 333

6.1.15.1. Description of Sub-channels R-W

Sync
Sync

98 Bytes P Q R-W

96 Bytes (RAW)

P Q R-W

96 six-bit symbols
12Q 4 pad
Formatted Q

Build a Data Packet *


* the technique for building a data
packet is beyond the scope of this
standard.

PACKET PACKET
Sync 4 Groups of 24 words Sync 4 Groups of 24 words

2 24 24 24 24 2 24 24 24 24
PACK PACK PACK PACK PACK PACK PACK PACK

Mode & EDC/ECC EDC/ECC


Item Parity Q0/1 User Data Parity P0-P3
1 1 2 16 4
Instruction

Figure 28 - Read CD Sub-channel, R-W (100b)

181
BSR NCITS 333

To guard the data in the sub-coding channels R-W, a (24,20) Reed-Solomon Error Correction Code is used.
To improve the burst error correction capability, eight way interleaving is added to this error correction system.
The first two symbols in a pack have additional protection with a (4,2) Reed Solomon Error Correction Code.
The first symbol of a pack contains a mode-switch of 3 bits and a 3 bit subdivision of mode, called “item.” The
defined mode-item combinations are listed in Table 229.

Table 229 - Sub-channel R-W: Allowed mode/item combinations


Mode Item Description
000b 000b The Zero mode
001b 000b The LINE GRAPHICS mode
001b The TV GRAPHICS mode
111b 000b The USER mode
All others Reserved for future use

The R-W information is returned as part of the “raw” Sub-channel data. The lower 6 bits of each of the bytes
contain the R-W data. This data follows the format shown in Figure 28 - Read CD Sub-channel, R-W (100b). If
the Q information needs to be taken from the raw data then it shall not be interleaved.
6.1.15.2. CD-TEXT
When the Starting Logical Block Address is set to F000 0000h and P-W raw data is selected, the Logical Unit
returns P-W raw data from the Lead-In area. If there is no data recorded in the Lead-In area, the command
shall be terminated with CHECK CONDITION status, ILLEGAL MODE FOR THIS TRACK or INCOMPATIBLE
MEDIUM INSTALLED.
If the Starting Logical Block Address is set to FFFF FFFFh after the above command, the Sub-channel data
will be returned from the current location within the Lead-In area. It is the responsibility of the device driver to
convert this data to CD-TEXT format without losing streaming.
Recommended error reporting is defined in Table 230.

Table 230 - Recommended errors for READ CD command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
READ ERROR - LOSS OF STREAMING Table A.1

182
BSR NCITS 333

6.1.16. READ CD MSF Command


The READ CD MSF Command described in Table 231 provides a single standard command format for
accessing CD data via MSF addressing. This command is generic to all types of CD data formats.
This command returns any of the defined CD data streams, including the headers, EDC, ECC, user data and
CD-DA data. Each type of data is enabled via the fields in the READ CD MSF command descriptor block.
These fields indicate the information from the CD is to be returned in the data stream. If the bit is cleared, then
that particular information is not returned. If all the fields contain zero then no information is returned. This
condition shall not be considered an error.

Table 231 - READ CD MSF Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (B9h)
1 Reserved Sector Type Reserved
2 Reserved
3 Starting M Field
4 Starting S Field
5 Starting F Field
6 Ending M Field
7 Ending S Field
8 Ending F Field
9 SYNC Header Codes User EDC & Error Fields Reserve
Data ECC d

10 Reserved Sub-channel Selection Bits


11 Control

The Starting M field, the Starting S field, and the Starting F field specify the absolute MSF address where the
Read operation shall begin. The Ending M field, the Ending S field, and the Ending F field specify the absolute
MSF address where the Read operation shall end. All contiguous sectors between the starting and ending
MSF addresses shall be read.
A starting MSF address equal to an ending MSF address prevents a read operation. This shall not be
considered an error. If the starting MSF address is greater than the ending MSF address, the command shall
be terminated with CHECK CONDITION status, ILLEGAL REQUEST.
If the starting address is not found, or if a not ready condition exists, the command shall be terminated with
CHECK CONDITION status.
For descriptions of Sector Type field see Table 220.
For a description of all fields in byte 9, and Sub-channel Selection Bits (byte 10), see sub-clause 6.1.15. Read
CD Command.
Recommended error reporting is defined in Table 232.

183
BSR NCITS 333

Table 232 - Recommended errors for READ CD MSF Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
READ ERROR - LOSS OF STREAMING Table A.1

184
BSR NCITS 333

6.1.17. READ CAPACITY Command


The READ CAPACITY command (Table 233) provides a means for the Initiator to request information
regarding the capacity of the Logical Unit. This command may not report the correct capacity of the recorded
data for CD-R, CD-RW and DVD-R media that does not have a Lead-out in the last Session or last Border-out.
For CD-ROM, the returned logical block address is modified to allow returning a possibly inexact value (but
one with a known error bound) based on the Table of Contents data.

Table 233 - READ CAPACITY Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (25h)
1 RESERVED Reserved RELAD
R
2 (MSB)
3 Logical Block Address
4
5 (LSB)
6 Reserved
7 Reserved
8 Reserved PMI
9 Control

The RELADR, PMI bits, and Logical Block Address field shall be set to zero for Logical Units.
Eight bytes of READ CAPACITY response data (Table 234) shall be returned in response to the command.

Table 234 - READ CAPACITY Response Data format


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
... Logical Block Address
3 (LSB)
4 (MSB)
... Block Length in Bytes
(Length reported shall be 2048d)
7 (LSB)

The returned Logical Block Address shall be the last sector in the last complete session.
The Block Length shall be reported, in bytes, as 2048d. A block length of 512 is obsolete.
For CD media, the last logical block shall be determined by converting the last recorded Lead-out to an LBA
and subtracting one. If the resulting address points to a run out block (because the session was recorded with
packets or track at once in data mode), the Logical Unit shall subtract 2 from the LBA to point to the actual last
user data block. If no complete session exists on the medium, this field shall be set to zero.
Recommended error reporting is defined in Table 235.

185
BSR NCITS 333

Table 235 - Recommended errors for READ CAPACITY Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

186
BSR NCITS 333

6.1.18. READ DISC INFORMATION Command


The READ DISC INFORMATION Command (Table 236) provides information about all discs. The parameters
returned by the Logical Unit are specific to the media that is currently installed in the Logical Unit. In the case
of a DVD-ROM Logical Unit, the disc information returned may be for the last closed Session. In the case of
media that does not have logical Tracks, the number of Tracks and Sessions is considered one. If this
command is required by an implemented Feature, the command shall always function, even if that Feature’s
Current bit becomes zero.If a Logical Unit does not implement this command it shall respond with a CHECK
CONDITION status.

Table 236 - READ DISC INFORMATION Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (51h)
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 (MSB) Allocation Length
8 (LSB)
9 Control Byte

The Disc Information Block has two parts; a static disc information area, as shown in Table 237, and an OPC
response shown in Table 241.
The number of Disc Information bytes returned (Table 237) is limited by the Allocation Length parameter of the
command packet. An Allocation Length of zero shall not be considered an error. If the Allocation Length is
greater than the amount of available Disc Information Data, only the available data will be transferred.

187
BSR NCITS 333

If a field or bit is not applicable to the installed medium, the defaut parameters in the Write Parameters Mode
Page shall be returned in the corresponding field.

Table 237 - Disc Information Block


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Disc Information Length
1 (LSB)
2 Reserved Erasable State of last Disc Status
Session
3 Number of First Track on Disc
4 Number of Sessions (LSB)
5 First Track Number in Last Session (LSB)
6 Last Track Number in Last Session (LSB)
7 DID_V DBC_V URU Reserved
8 Disc Type
9 Number of Sessions (MSB)
10 First Track Number in Last Session (MSB)
11 Last Track Number in Last Session (MSB)
12 (MSB)
13 Disc
14 Identification
15 (LSB)
16 (MSB)
17 Last Session Lead-in Start Time
18 MSF
19 (LSB)
20 (MSB)
21 Last Possible Start Time for Start of Lead-out
22 MSF
23 (LSB)
24 (MSB)
... Disc Bar Code
31 (LSB)
32 Reserved
33 Number of OPC Table Entries
34 - n OPC Table Entries

188
BSR NCITS 333

The Disc Information Length is the number of bytes available in both the recording information area and the
appended OPC table. Disc Information Length excludes itself.
Disc Status field indicates the status of the disc and is shown in Table 238. A device that does not have the
ability to write the inserted medium (ex. C/DVD-ROM) will return COMPLETE (10b) status.

Table 238 - Disc Status


Status Definition
00b Empty disc
01b Incomplete disc (Appendable)
10b Complete Disc (eg. Not Appendable. C/DVD-ROM, complete CD-
R, CD-RW, DVD-R, or write protected Random Writable media)
11b Others (non-write protected Random Writable media)

The State of Last Session field is defined in Table 239. For media that does not use Sessions this field shall be
11h.

Table 239 - State of Last Session


Session Definition
State
00b Empty Session
01b Incomplete Session
10b Reserved
11b Complete Session (only possible when Disc Status is Complete)

The Erasable bit, when set to one, indicates that CD-RW medium is present. Otherwise, CD-RW medium is
not present.
The Number of First Track identifies the first track number:
For non-CD media, this field shall be set to 1. For CD media,
1) If Disc Status is set to 00 (Empty Disc), the Number of First Track field shall be 1.
2) If there are no entries in the PMA and the first track is an Incomplete Track, the Number of First Track field
shall be equal to 1.
3) If the only session on the disc is an Incomplete Session, the Number of First Track field is from the PMA.
4) Otherwise, the Number of First Track field contains the track number for the first TOC entry in the first
Session.The Number of Sessions (bytes 4 & 9) on the disc refers to all complete sessions plus any
incomplete or empty sessions. A Blank Disc will always have a session count equal to one.
First Track Number in Last Session (bytes 5 & 10) is the track number of the first track in the last session. In
order for Tracks in the last Session, that may be open, to be scanned by the READ TRACK INFORMATION
Command, the First Track Number in Last Session is identified. This is inclusive of the invisible track.
Last Track Number in Last Session (bytes 6 & 11) is the track number of the last track in the last session. In
order for Tracks in the last Session, that may be open, to be scanned by READ TRACK INFORMATION
Command, the Last Track Number in Last Session is identified.This is inclusive of the invisible track.
The DID_V (Disc ID Valid) bit, when set to one, indicates that the Disc Identification field is valid.
The DBC_V (Disc Bar Code Valid bit, when set to one, indicates that the Disc Bar Code field (bytes 24 through
31) is valid.
The URU (Unrestricted Use Disc) bit, when set to one, indicates that the mounted DVD-R, CD-R/RW disc is
defined for unrestricted use. When the Unrestricted Use Disc bit is set to zero, the mounted DVD-R, CD-
R/RW disc is defined for restricted use. To record data to the mounted disc the appropriate Initiator Application

189
BSR NCITS 333

code shall be set through the Write Parameters Page. An Initiator Application Code of zero may be used to
indicate a restricted use disc - general purpose. Logical Units that do not read a URU bit from the medium
shall set this bit to one.
For CD, the Disc Type field specifies the type of data on the whole disc. A disc has only one disc type. The
Disc Type shall be obtained from the PMA or from the A0/PSEC field in the TOC of the first session in that
there is at least one data track, or is recorded together with disc ID in PMA.
In the case of a session that contains no data track (only audio), A0/PSEC field in the TOC of the session is
always 00h regardless of actual Disc Type. For CD discs, the Disc Type shall be determined from the following
sequences:
1) Disc ID (Disc Type) as written in PMA;
2) From the first Complete Session that includes at least one data track;
3) From the first Session of a Complete Disc;
4) The Disc type is NOT decided, the Disc Type field of Disc Information shall contain FF. (undefined).

Table 240 - Disc Type Field - PMA


Disc Type Disc Type
Code
00h CD-DA or CD-ROM Disc
10h CD-I Disc
20h CD-ROM XA Disc
FFh Undefined
All Other Reserved
Values

For CD, the Disc Identification number recorded in the PMA is returned. The Disc Identification Number is
recorded in the PMA as a six-digit BCD number. It is returned in the Disc Information Block as a 32 bit binary
integer.
The Last Session Lead-in Start Time field is valid only for CD medium. Otherwise, this field shall be set to 0.
This field is an address given in MSF format as defined in sub-clause 4.1.1. This field shall specify the location
of the next Lead-in to be recorded. If the disc is Empty as specified in the Disc Status field or has no
Complete Session, then the Lead-in Start Time is returned as specified by ATIP. If the last Session, is second
or greater, Empty or Incomplete, this field shall specify the Lead-in Start Time of the Last Session. If the Disc
Status is Complete, the Lead-in Start Time shall be FF/FF/FF MSF.
The Last Possible Start Time for Start of Lead-out field is valid only for CD media. Otherwise this field shall be
set to 0. This field is returned as the address, encoded in the ATIP and is returned in MSF format as specified
in sub-clause 4.1.1. If the disc is a Complete Disc, the Last Possible Start Time of Lead-out shall be FF/FF/FF
MSF.
The Disc Bar Code field contains the hexadecimal value of the bar code if the Logical Unit has the ability to
read Disc Bar Code and a bar code is present. See Table 137.
An OPC (Optimum Power Calibration) Table is attached only if the values are known for the disc. Since OPC
values are likely to be different for different recording speeds, each table entry is associated with a recording
speed. The Number of OPC Table Entries indicates that [8 x (Number of OPC Table Entries)] bytes follow the
first part of the Disc Information. This number shall be the same for all values of Allocation Length. The
Number of OPC Table Entries shall always be zero for discs that OPC has not yet been determined. For DVD-
R, the use of OPC table entries is vendor- specific.

190
BSR NCITS 333

Table 241 - OPC Table Entry


Bit 7 6 5 4 3 2 1 0
Byte
0 Speed (kBytes per second)
1
2
3
4 OPC
5 Values
6
7

Speed is in kBytes per second. See SEND OPC Command sub-clause 6.1.35.
The OPC Value field is associated with the speed specified in the speed field, and its content is vendor
specific.
Recommended error reporting is defined in Table 242.

Table 242 - Recommended errors for READ DISC INFORMATION Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

191
BSR NCITS 333

6.1.19. READ DVD STRUCTURE Command


The READ DVD STRUCTURE command, Table 243, requests that the DVD Logical Unit transfer data from
areas on the DVD Media to the Initiator. There are several control structures on the DVD media, including the
Lead-in and Burst Cutting Area (BCA). The Lead-in area for DVD media contains information about the media
as well as information used by the Logical Unit to allow it to recover information from the media. The BCA for
DVD media is optional, contents are specified by the media manufacture.

Table 243 - READ DVD STRUCTURE Command


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (ADh)
1 Reserved Reserved
2 (MSB)
3 Address
4
5 (LSB)
6 Layer Number
7 Format
8 (MSB) Allocation Length
9 (LSB)
10 AGID Reserved
11 Control

The Address field contains values that depend on the value in Format field:
Format field = 05h (CGMS, CPM) - Address field contains LBA (Logical Block Address).
Format field = 0Ch (RMD in last Border-out) - Address field contains the Field number of RMD block that is
recorded in the last Border-out. Field numbers of RMD block are integers assigned in ascending order in
the range of 0 to 14.
Format field = 0Dh (RMD in RMA) - Address field contains sector number of RMA where the RMA read
operation shall begin. The RMA sector size is 2kB. The RMA sector number is assigned to each sector of
RMA. The RMA sector numbers are integers assigned in ascending order starting with zero. Each
successive sector of RMA has a number increased by 1.
Format field = 30h (Disc Control Blocks) – the Address field contains the Content Descriptor desired.
For other Format field values the Address field shall be reserved.
When the Address field specifies unrecorded RMA sector, this command shall be terminated with CHECK
CONDITION status.
Note: Cached RMD information shall be returned by this command as if it had been committed to the medium.
The Format field, Table 244, indicates the type of information that is requested by the Initiator.
The Layer Number field specifies the layer number for the response data returned by the READ DVD
STRUCTURE command.
The number of data bytes returned in response to a READ DVD STRUCTURE command is limited by the
Allocation Length field of the CDB. An Allocation Length field of zero shall not be considerred an error.
The AGID field is described in the REPORT KEY command. This field is used only when the Format field
contains 2h, for all other values it is reserved.
Requests for Format FFh shall always be fullfilled, even if there is no medium or an incompatible medium
installed.

192
BSR NCITS 333

When a READ DVD STRUCTURE Command is issued for CD media, with format codes 00h - FEh, the
command shall be terminated with CHECK CONDITION status, sense key set to ILLEGAL REQUEST and the
additional sense code set to CANNOT READ MEDIUM- INCOMPATIBLE FORMAT. When the Logical
Unit/media combination does not support the specified Format code, the command shall be terminated with
CHECK CONDITION status, INVALID FIELD IN CDB.

Table 244 - Format Code definitions for READ DVD STRUCTURE command
Format Returned Layer Byte Address Description
Code Data Usage Field
Explanation
00h Physical Layer Number Reserved Returns information in the DVD Lead-in
area. DVD-R returns the last Lead-in.
01h Copyright Layer Number Reserved Returns the Copyright information from
the DVD Lead-in area
02h Disc Key Reserved Reserved Returns the Disc Key obfuscated by
using a Bus Key
03h BCA Layer Number Reserved Returns the BCA information on DVD
media
04h Manufacturer’ Layer Number Reserved Returns the Disc Manufacturing
information from the DVD Lead-in area
05h CGMS, CPM Layer Number LBA Returns CGMS, CPM information from
specified sector
06h - 07h Reserved
08h DDS Reserved Reserved Returns the DDS information on DVD-
RAM Media
09h – 0Bh Reserved
0Ch RMD in last Reserved Start Field Returns the Field of RMD in the last
Border-out number of RMD Border-out
Blocks
0Dh RMD Reserved Start RMA Returns RMD sectors that are recorded
Sector Number in RMA
0Eh Pre-recorded Reserved Reserved Returns pre-recorded information in the
information in Lead-in area
Lead-in
0Fh Unique Disc Reserved Reserved Returns Unique Disc Identifier of the
Identifier disc
10h – 2Fh Reserved
30h Disc Control Reserved Content Returns Disc Control Block identified
Blocks Descriptor by the Content Descriptor
31h - FEh Reserved
FFh Structure List Layer Number Reserved Returns a list of DVD Structures
present in the specified Layer

193
BSR NCITS 333

6.1.19.1. Physical Format Information


Physical Format Information is shown in Table 245.

Table 245 - READ DVD STRUCTURE Data Format (Format field = 00h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD Lead-in Structure
0– Layer Descriptor
2047

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data that
is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include the
DVD STRUCTURE Data Length field itself.
Layer Descriptor is defined in Table 246.

Table 246 - Layer Descriptor(s)


Bit 7 6 5 4 3 2 1 0
Byte
0 Book Type Book Version
1 Disc Size Minimum Rate
2 Reserved Number of Layers Track Path Layer Type
3 Linear Density Track Density
4 00h
5 (MSB)
6 Starting Sector Number of Main Data
7 (LSB)
8 00h
9 (MSB)
10 End Sector of Main Data
11 (LSB)
12 00h
13 (MSB)
14 End Sector Number in Layer 0
15 (LSB)
16 BCA Reserved
17 - Media Specific
2047

This information is returned for DVD media only. The information for the layer specified by the Layer Number
field in the Command Packet is returned. If there is only one layer then the only valid layer is layer 0. If a
nonexistent layer is requested then the command shall be aborted with an INVALID FIELD IN THE
COMMAND PACKET error. If the media has more than one layer, but is recorded using the Opposite Track
Path method, then the same information shall be returned for all layers.

194
BSR NCITS 333

The Book Type field (Table 247) specifies the DVD Book this media complies with.

Table 247 – Book Type Field


Book Type Book Name
0000b DVD-ROM
0001b DVD-RAM
0010b DVD-R
1001b DVD+RW
Others Reserved

The Book Version specifies the version of the specified book that this media complies with.
The Disc Size specifies the physical size of the Media. A value of 0000b specifies 120mm, a value of 0001b
specifies a size of 80mm.
The Minimum Rate field (Table 248) is used to specify to the Logical Unit the read rate to use for this media.

Table 248 – Minimum Rate Field


Minimum Rate Read Rate
0000b 2.52 Mbps
0001b 5.04 Mbps
0010b 10.08 Mbps
1111b Not Specified
Others Reserved

The Number of Layers field specifies the number of layers for this side of the media. A value of 00b indicates
that the media has only one layer. A value of 01b specifies that this side of the media has two layers. Currently
only one and two layer discs are specified.
The Track Path bit specifies the direction of the layers when more than one layer is used. If the bit is cleared to
0 then this media uses Parallel Track Path (PTP). When PTP is used each layer is independent and has its
own Lead-in and Lead-out areas on the media. If the bit is set to 1 then the media uses Opposite Track Path
(OTP). With opposite track path both layers are tied together. There is only one Lead-in and Lead-out. In the
middle of the media there is an area called the middle area. The addresses of blocks in one layer are mirrored
in the other layer.
The Layer Type field (Table 249) indicates the read/write ability of the layer.

Table 249 – Layer Type Field


Layer Type Code Layer Type
0001b Read-only layer
0010b Recordable layer
0100b ReWritable layer
Others Reserved

195
BSR NCITS 333

The Linear Density field (Table 250) indicates the minimum/maximum pit length used for this layer.

Table 250 – Linear Density Field


Linear Density Linear Density
Code
0000b 0.267 um/bit
0001b 0.293 um/bit
0010b 0.409 to 0.435
um/bit
1000b 0.176 um/bit
Others Reserved

The Track Density field (Table 251) indicates the track width used for this media. Currently = 0000b 0.74
µm/track

Table 251 – Track Density Field


Track Density Track Density
Code
0000b 0.74 um/track
0001b 0.80 um/track
Others Reserved

The Starting Sector Number of Main Data field (Table 252) specifies the first block that contains user data.

Table 252 – Starting Physical Sector Number of Main Data Field


Starting Sector Media Type
Number
30000h DVD-ROM & DVD-R
31000h DVD-RAM & DVD+RW
Others Reserved

The End Sector of Main Data field specifies the last sector of the user data in the last layer of the media. For
DVD-RAM, the End Sector of Main Data, is the PSN for the last spare sector of the last zone.
The End Sector Number in Layer 0 field specifies the last sector of the user data in layer 0. If this media does
not use Opposite Track Path and contains Multiple Layers, this value is set to 000000h.
The Burst Cutting Area (BCA) flag indicates the presence of data in the Burst Cutting Area. If set to zero, it
indicates BCA data does not exist. If set to one, it indicates BCA data exist.
In case of DVD-R, the Logical Unit may have cache memory for the Lead-in Control Area data. If the disc has
no Lead-in, and there is no DVD Control Data in the cache, the Logical Unit shall generate a CHECK
CONDITION status, sense code INVALID FIELD IN CDB. If the Lead-in is already written or there are DVD
structures in the cache, the Logical Unit shall return the requested structures.
The Media Specific field may be filled with all zero data or information as specified in the associated DVD
specification.

196
BSR NCITS 333

6.1.19.2. DVD Copyright Information


The Read DVD Structure data format 01h (Table 253) includes the DVD Copyright information response.

Table 253 - READ DVD STRUCTURE Data Format (Format field = 01h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD Copyright Information
0 Copyright Protection System Type
1 Region Management Information
2 Reserved
3 Reserved

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data that
is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include the
DVD STRUCTURE Data Length field itself.
The Copyright Protection System Type field indicates the presence of data structures specific to a copyright
protection system. Only two values are defined, 00h indicates there is no such data and 01h indicates a
specific data structure exists. All other values are reserved.
The Region Management Information field describes the regions in that the disc can be played. Each bit
represents one of eight regions. If a bit is not set in this field, the disc can be played in the corresponding
region. If a bit is set in this field the disc can not be played in the corresponding region.
6.1.19.3. Disc Key
The Disc Key data recorded on the media is identified with a data format defined in Table 254.

Table 254 - READ DVD STRUCTURE Data Format (Format field = 02h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
Disc Key Structures
0
… DISC KEY Data
2047

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data that
is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include the
DVD STRUCTURE Data Length field itself.
DISC KEY Data field returns the DISC KEY that is obfuscated by a Bus Key. The length of DISC KEY Data
field is currently 2048 bytes.

197
BSR NCITS 333

When the DISC KEY does not exist on DVD media, this command with Format = 02h shall be terminated with
CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the additional sense code
set to COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT PRESENT.
When the DVD Logical Unit is not in the Bus Key state, this command with Format = 02h shall be terminated
with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the additional sense
code set to COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT ESTABLISHED.
6.1.19.4. BCA Information
The BCA information is defined in data format 03h shown in Table 255.

Table 255 - READ DVD STRUCTURE Data Format (Format field =03h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD BCA Structure
0

… BCA Information

n

This Information is returned from BCA recorded DVD media only. The Length of BCA Information is in the
range of 12 to 188 bytes.
When a READ DVD STRUCTURE Command with a format field value of 03h is presented for a DVD media
without BCA, the command shall be terminated with CHECK CONDITION status. The sense key shall be set
to ILLEGAL REQUEST and the additional sense code set to INVALID FIELD IN CDB.
6.1.19.5. DVD Disc Manufacturing Information
Table 256 defines the data format for the Disc Manufacturing information.

Table 256 - READ DVD STRUCTURE Data Format (Format field = 04h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD Manufacturing’s Structures
0

… Disc Manufacturing Information

2047

198
BSR NCITS 333

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data that
is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include the
DVD STRUCTURE Data Length field itself.
The Disc Manufacturing Information is taken from the DVD media Lead-in. In the case of DVD-R multi session
disc, this information is taken from the last Border-in.
6.1.19.6. Copyright Management Information
The Copyright Management Information returned is shown in Table 257.

Table 257 - READ DVD STRUCTURE Data Format (Format field = 05h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
Copyright Management Information
0 CPM Reserved CGMS Reserved
1 Reserved
2 Reserved
3 Reserved

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data
that is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include
the DVD STRUCTURE Data Length field itself.
The CPM bit, if set to 0, indicates that this sector contains no copyrighted material. If the CPM bit is set to 1,
indicates that this sector contains copyrighted material.
When the CPM bit is set to 0, the CGMS field is set to 00b. When the CPM bit is set to 1, and if the CGMS
field is set to 00b, it indicates that copying is permitted without restriction. If the CGMS field is set to 01b, it
indicates that the CGMS field is reserved, and if the CGMS field is set to 10b, indicates that one generation of
copies may be made, and if the CGMS field is set to 11b, indicates that no copying is permitted.
6.1.19.7. DVD-RAM Disc Definition Structure (DDS)
The DVD-RAM Disc definition is identified with the data format defined in Table 258.

Table 258 - READ DVD STRUCTURE Data Format (Format field = 08h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD-RAM Disc Definition Structure (DDS)
0
… DDS Information
2047

199
BSR NCITS 333

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data
that is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include
the DVD STRUCTURE Data Length field itself.
The DDS Information is taken from the Defect Controls of the DVD-RAM media lead-in. The length of the
DDS Information is currently 2048 bytes only.
When a READ DVD STRUCTURE Command with a format field value of 08h is presented for a DVD media
without the DDS Information, the command shall be terminated with CHECK CONDITION status. The sense
key shall be set to ILLEGAL REQUEST and the additional sense code set to CAN NOT READ MEDIUM -
INCOMPATIBLE FORMAT 30h/02h.
6.1.19.8. RMD in the last Border-out
The RMD field recorded in the Border-out is defined in Table 259.

Table 259 - READ DVD STRUCTURE Data Format (Format field = 0Ch)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
RMD in last Border-out
0
… RMD
n

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data that
is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include the
DVD STRUCTURE Data Length field itself.
The RMD Bytes field returns the RMD that is written in the last recorded Border-out.
The Address field in the Command specifies the starting RMD Field number where the read operation shall
begin. The Allocation Length field in the command specifies the maximum number of RMD bytes that shall
be returned. The largest RMD available is 30720 bytes (15 sectors).

200
BSR NCITS 333

6.1.19.9. Recording Management Area Data


The DVD-R Recording Management Data Structure sectors recorded in the RMA, on the media, is
identified with the data format defined in Table 260.

Table 260 - READ DVD STRUCTURE Data Format (Format field = 0Dh)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD-R Recording Management Data Structure
0 (MSB)
1 Last Recorded RMA Sector Number
2
3 (LSB)
4
… RMD Bytes
n

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data that
is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include the
DVD STRUCTURE Data Length field itself.
Last Recorded RMA Sector Number field indicates the RMA sector number where the last RMD is
recorded.
The RMD Bytes field returns RMD that is written in RMA. The Address field in the command specifies the
starting address of the RMA sector where the read operation shall begin. The Allocation Length field in the
command specifies the maximum length of the descriptor returned to the Initiator. The returned RMD data
shall end at the next ECC boundary.
The maximum number of RMD bytes that can be returned is 32768.

201
BSR NCITS 333

6.1.19.10. Pre-recorded Information in Lead-in


The Pre-recorded Information in Lead-in area recorded on the media is identified with a data
format defined in Table 261. This format is available only for DVD-R media. For other media, this format is
reserved.

Table 261 - READ DVD STRUCTURE Data Format (Format field = 0Eh)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD-R Pre-recorded Information Structure
0 Field ID ( = 1)
1 Application code
2 Disc Physical data
3 (MSB)
4 Last address of Data Recordable Area
5 (LSB)
6 Reserved

202
BSR NCITS 333

Table 261 - READ DVD STRUCTURE Data Format (Format field = 0Eh) cont.
Bit 7 6 5 4 3 2 1 0
Byte
7 Reserved
8 Field ID ( = 2)
9 Recommended Write power
10 Specified Wavelength for RWP
11 Optimum Write Strategy
12 Reserved
13 Reserved
14 Reserved
15 Reserved
16 Field ID ( = 3)
17 Manufacturer ID (17)
18 Manufacturer ID (16)
19 Manufacturer ID (15)
20 Manufacturer ID (14)
21 Manufacturer ID (13)
22 Manufacturer ID (12)
23 Reserved
24 Field ID ( = 4)
25 Manufacturer ID (11)
26 Manufacturer ID (10)
27 Manufacturer ID (9)
28 Manufacturer ID (8)
29 Manufacturer ID (7)
30 Manufacturer ID (6)
31 Reserved
32 Field ID ( = 5)
33 Manufacturer ID (5)
34 Manufacturer ID (4)
35 Manufacturer ID (3)
36 Manufacturer ID (2)
37 Manufacturer ID (1)
38 Manufacturer ID (0)
39 Reserved
40 - 63 Reserved
The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD
STRUCTURE data that is available to be transferred to the Initiator. The DVD STRUCTURE Data
Length value does not include the DVD STRUCTURE Data Length field itself.
The contents of Pre-recorded information are specified by the DVD Specifications for Recordable
Disc, Part 1.

203
BSR NCITS 333

6.1.19.11. Unique Disc Identifier


The Unique Disc Identifier data recorded on the media is identified with a data format defined in Table 262.
This format is available only for DVD-R media. For other media, this format is invalid and reserved.

Table 262 - READ DVD STRUCTURE Data Format (Format field = 0Fh)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD-R Unique Disc Identifier
0 Reserved
1 Reserved
2 (MSB) Random Number
3 (LSB)
4 (MSB)
5
6 YEAR
7 (LSB)
8 (MSB) Month
9 (LSB)
10 (MSB) Day
11 (LSB)
12 (MSB) Hour
13 (LSB)
14 (MSB) Minute
15 (LSB)
16 (MSB) Second
17 (LSB)
The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data that
is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include the
DVD STRUCTURE Data Length field itself.
This format returns the Unique Disc Identifier that is recorded in RMD Field 0.
6.1.19.12. Disc Control Blocks
The Address field of the READ DVD STRUCTURE command shall contain a Content Descriptor to identify
the Disc Control Blocks (DCB) requested. Valid values are as shown in Table 263.

204
BSR NCITS 333

Table 263 – Content Descriptor


Content Definition
Descriptor
00000000h Reserved
00000000h - The DCB with a matching Content Descriptor is returned
FFFFFFFDh
FFFFFFFEh Reserved
FFFFFFFFh Return a list of readable and writable DCB Content
Descriptors

Disc Control Block data returned is formatted as shown in Table 264

Table 264 - READ DVD STRUCTURE Data Format (Format field = 30h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved

0
… Disc Control Block
32767

Each Disc Control Block is up to 16 sectors in length. The first 40 bytes of the block have a common definition,
and the remaining bytes depend on the value of the Content Descriptor field. See Table 265.

Table 265 – Generic Disc Control Block


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Content Descriptor
2
3 (LSB)
4 (MSB)
5 Unknown Content Descriptor Actions
6
7 (LSB)
8 - 39 Vendor ID
40
- Disc Control Block Data
32767

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data
that is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include
the DVD STRUCTURE Data Length field itself.
The Content Descriptor field identifies the contents of bytes 40 - 32767.
The Unknown Content Descriptor Actions contains a bit mask. This mask shall describe actions the
Logical Unit is allowed to perform if the Content Descriptor is not known by the drive. Each bit, when set to

205
BSR NCITS 333

one, shall prohibit the corresponding action. When set to zero, the corresponding action is allowed. Se e
Table 266.

Table 266 – Unknown Content Descriptor Actions


Bit Actions
0 Recording within the user data area
1 Reading within the user data area
2 Formatting of the medium
3 Modification of this DCB
4 -31 Reserved

The Vendor ID field contains 24 arbitrary bytes.


When Content Descriptor FFFFFFFFh, see Table 267, is requested, the Logical Unit shall generate a list of
DCBs that may be read from and/or recorded on the current medium by the Initiator. If the Logical Unit records
DCBs that are generated internally, and those DCBs cannot be sent from the Initiator, the Logical Unit shall
not report those DCBs as recordable.

Table 267 – Disc Control Block (FFFFFFFFh)


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Content Descriptor = FFFFFFFFh
2
3 (LSB)
4 (MSB)
5 Reserved
6
7 (LSB)
8 – 39 Vendor ID
40 Reserved
41 Number of Readable DCBs (= M)
42 Reserved
43 Number of Recordable DCBs (= N)
44 (MSB)
45 Recordable DCB 0
46
47 (LSB)

M * 4 + 40 (MSB)
M * 4 + 41 Recordable DCB N-1
M * 4 + 42
M * 4 + 43 (LSB)

206
BSR NCITS 333

Table 267 – Disc Control Block (FFFFFFFFh) cont.


Bit 7 6 5 4 3 2 1 0
Byte
M * 4 + 44 (MSB)
M * 4 + 45 Readable DCB M – 1
M * 4 + 46
M * 4 + 47 (LSB)

(M + N) * 4 (MSB)
+ 40
Readable DCB N – 1

(M + N) * (LSB)
4 + 43

The Content Descriptor field shall contain FFFFFFFFh.


The Unknown Content Descriptor Actions field shall be set to 0.
The Vendor ID field shall be set to the value the Logical Unit uses for its own DCBs.
The Number of Readable DCBs field shall identify the number of entries in the Readable DCB list.
The Number of Recordable DCBs field shall identify the number of entries in the Recordable DCB list.
Each Readable DCB field shall contain a Content Descriptor of a DCB that may be read from the medium.
Each Recordable DCB field shall contain a Content Descriptor of a DCB that may be sent from the Initiator.
If a DCB is both readable and recordable, the DCB shall appear in both lists. The Logical Unit shall not
record any DCB that it does not recognize.
6.1.19.13. DVD Structure List
The DVD Structure List is returned in the format as shown in Table 268.

Table 268 - READ DVD STRUCTURE Data Format (Format field = FFh)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD Structure List
0
- Structure List
n

The DVD STRUCTURE Data Length specifies the length in bytes of the following DVD STRUCTURE data
that is available to be transferred to the Initiator. The DVD STRUCTURE Data Length value does not include
the DVD STRUCTURE Data Length field itself.
The Structure List is returned as a sequence of Structure List Entries as shown in Table 269.
Note: This DVD Structure is generated by the Logical Unit rather than read from the medium.

207
BSR NCITS 333

Table 269 – Structure List Entry


Bit 7 6 5 4 3 2 1 0
Byte
0 Format Code
1 SDS RDS Reserved
2 (MSB) Structure Length
3 (LSB)

The Format Code field shall identify a DVD Structure that is readable via the READ DVD STRUCTURE
Command.
The SDS bit, when set to zero, shall indicate that the DVD structure is not writable via the SEND DVD
STRUCTURE Command. When set to one, shall indicate that the DVD structure is writable via the SEND
DVD STRUCTURE Command.
The RDS bit, when set to zero, shall indicate that the DVD structure is not readable via the READ DVD
STRUCTURE Command. When set to one, shall indicate that the DVD structure is readable via the READ
DVD STRUCTURE Command.
The Structure Length field shall specify the length of the DVD Structure that is identified by the Format
Code.
Table 270 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 270 - Recommended errors for READ DVD STRUCTURE command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

208
BSR NCITS 333

6.1.20. READ FORMAT CAPACITIES


The READ FORMAT CAPACITIES command (Table 271) allows the Initiator to request a list of the possible
format capacities for an installed random-Writable media. This command also has the capability to report the
capacity for a media when it is installed. If the command is required, by an implemented Feature it shall
function independently of the state of that Feature’s Current bit.
The Allocation Length field specifies the maximum number of bytes that an Initiator has allocated for
returned data. An Allocation Length of zero indicates that no data shall be transferred. This condition shall
not be considered as an error. The Logical Unit shall terminate the data transfer when Allocation Length
bytes have been transferred or when all available data have been transferred to the Initiator, whatever is less.

Table 271 – READ FORMAT CAPACITIES Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (23h)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 (MSB) Allocation Length
8 (LSB)
9 Control

Table 272 – READ FORMAT CAPACITIES Data Format


Bit 7 6 5 4 3 2 1 0
Byte
0-3 Capacity List Header
4 – 11 Current/Maximum Capacity Descriptor
Formattable Capacity Descriptor(s)
0
.. Formattable Capacity Descriptor 0
7
….
0
.. Formattable Capacity Descriptor n
7

209
BSR NCITS 333

Table 273 – Capacity List Header


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved
1 Reserved
2 Reserved
3 Capacity List Length

The Capacity List Length specifies the length in bytes of the Capacity Descriptors that follow. Each
Capacity Descriptor is eight bytes in length, making the Capacity List Length equal to eight times the
number of descriptors. Values of n * 8 are valid, where 0 < n < 32.

Table 274 – Current/Maximum Capacity Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
4 (MSB)
5 Number of Blocks
6
7 (LSB)
8 Reserved Descriptor Type
9 (MSB)
10 Block Length
11 (LSB)

The Number of Blocks indicates the number of addressable blocks for the capacity defined by each
Descriptor Type.
The Descriptor Type field (Table 275) indicates the type of information the descriptor contains.

Table 275 – Descriptor Types


Descriptor Type Description
00b Reserved
01b Unformatted Media. The reported value is for the maximum formatted capacity for
this media
10b Formatted Media. The reported value is the current media’s capacity. In the case of
sequential writable media, the number of blocks field indicates the number of
blocks between the first Lead-in and the Lead-out or Border-out. When the media
doen not have a complete session it shall be reported as “No Media Present” with
Descriptor Type = 11b.
11b No Media Present. The reported value is for the maximum capacity of a media that
the Logical Unit is capable of reading.

The Block Length specifies the length in bytes of each logical block.

210
BSR NCITS 333

Table 276 – Formattable Capacity Descriptor(s)


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB)
1 Number of Blocks
2
3 (LSB)
4 Format Type Reserved
5 (MSB)
6 Type Dependent Paramter
7 (LSB)

211
BSR NCITS 333

The Format Type field (Table 277) indicates the type of information required for formatting.

Table 277 – Format Type


Format Type Description Type Dependent
Parameter
00h The descriptor shall contain the number of addressable Block length in bytes
blocks and the block size used for formatting the whole
media. If multiple formatting for the whole media is
possible, each capacity/block size combination shall be
reported as a separate descriptor.
01h – 03h Reserved
04h The descriptor shall contain the number of addressable Zone number of the
blocks in the zone and zone number used by zoned description
formatting for a zone of the media, where the size of zone
is not constant for each zone. The information for each
zone shall be reported as a separate descriptor.
05h The descriptor shall contain the number of addressable Zone Number of the
blocks per zone and zone number of the highest last zone
numbered zone. This descriptor is used for zoned
formatting of the media, where the size of zone is constant
for each zone.
06h-0Fh Reserved
10h The descriptor shall contain the maximum number of Fixed Packet Size in
addressable blocks and maximum packet size that can be sectors.
used to fully format CD-RW media. The packet size and
number of addressable blocks may be adjusted downward
by the Initiator before sending this descriptor back via the
FORMAT UNIT command.
11h The descriptor shall contain the maximum number of Fixed Packet Size in
addressable blocks and the packet size that can be used sectors.
to expand (grow) the last complete session of CD-RW
media. The number of addressable blocks may be
adjusted downward by the Initiator before sending this
descriptor back via the FORMAT UNIT command.
12h The descriptor shall contain the maximum number of Fixed Packet Size in
addressable blocks and the maximum packet size that can sectors.
be used to add a new session to a CD-RW media. The
packet size and number of addressable blocks may be
adjusted downward by the Initiator before sending this
descriptor back via the FORMAT UNIT command.
13h – 1Fh Reserved
20h The descriptor shall contain the maximum number of M and N (sparing
addressable blocks and the sparing parameters to be parameters)
used.
21h – 3Fh Reserved

The Number of Blocks field indicates the number of addressable blocks for the capacity defined by each
Format Type.
The Type Dependent Parameter contents are as specified for each Format Type in Table 277. In the case
of Format Type 20h, M specifies SL where SL = 2M , 4 ≤ M ≤ 15 or SL = 0 if M = 0 and N identifies SI where SI
= 2N , 4 ≤ N ≤ 24.
The Type Dependent Parameter shall be set to M * 10000h + N, effectively placing M in byte offset 5 and N in
byte offset 7, and making byte 8 reserved. The device shall supply its default values for M and N.

212
BSR NCITS 333

The Logical Unit shall only return Formattable Capacity Descriptors that apply to the installed media. If there is
no medium installed, the Logical Unit shall return only the Current/Maximum Capacity Descriptor, with the
maximum capacity of a medium that the Logical Unit is capable of reading.
A Formattable Capacity Descriptor of Format Type 00h shall be reported if any other Formattable Capacity
Descriptor is reported.
The descriptors shall be returned in ascending order of Format Type. For Format Types other than 04h and
05h, if multiple format descriptors exist, they shall be returned in Logical Unit preferred order. For Format
Types 04h and 05h, the format descriptors shall be returned in ascending order of Zone number.
Formattable Capacity Descriptors for formats that can be read, but not formatted shall not be reported.
Table 278 indicates the values returned if the Logical Unit implements the command.

Table 278 – Returned Current/Maximum Descriptor for Combination of Logical Unit


and Media
Logical Unit No Media ROM Media Sequential Writable Random Writable
Type Media Media
ROM Descriptor Type Descriptor Type Descriptor Type = Descriptor Type =
= 11b = 10b 10b or 11b 10b
Sequential Descriptor Type = Descriptor Type =
Writable 10b 10b
Random Descriptor Type = Descriptor Type =
Writable 10b or 11b 01b or 10b plus
Formattable Capacity
Descriptor(s)
This command is not mandatory for all Logical Unit types shown in Table 278; the table indicates the values
returned if the command is implemented.
Table 279 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 279 - Recommended errors for READ FORMAT CAPACITIES command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

213
BSR NCITS 333

6.1.21. READ HEADER Command (Obsolete)


The READ HEADER Command (Table 280) requests that the Logical Unit return the CD data block address
header of the requested logical block.

Table 280 - READ HEADER Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (44h)
1 RESERVED Reserved MSF Reserve
d
2 (MSB)
3 Logical Block Address
4
5 (LSB)
6 Reserved
7 (MSB) Allocation Length
8 (LSB)
9 Control

If the MSF bit is zero, the read header LBA parameter list, see Table 281 defines the CD data block address
header of the requested logical block. If the MSF bit is one, the read header MSF parameter list (see Table
283) defines the CD data absolute address of the requested logical block.
The logical block address field specifies the logical block where the read header operation shall begin. If the
logical block size is other than the physical block size, it shall be mapped into the appropriate physical block
from that the data would have been read.
The READ HEADER data format (Table 281) defines the CD data block address header of the requested
logical block.

Table 281 - READ HEADER LBA data format


Bit 7 6 5 4 3 2 1 0
Byte
0 CD Data Mode
1 Reserved
2 Reserved
3 Reserved
4 (MSB)
5 Logical Block Address
6
7 (LSB)

214
BSR NCITS 333

The CD data mode field specifies the CD-ROM data mode of the logical blocks in this sector of data. The
values in this field are defined in Table 282.

Table 282 - CD Data Mode field


CD CD
Data Mode Sector Formats
00h Mode 0 or Audio
01h Mode 1
02h Mode 2
03h - FFh Reserved

See Table 220 for the CD sector format definition.

Table 283 - READ HEADER MSF data format


Bit 7 6 5 4 3 2 1 0
Byte
0 CD Data Mode
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 M
6 S
7 F

Table 284 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 284 - Recommended errors for READ HEADER command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

215
BSR NCITS 333

6.1.22. READ MASTER CUE Command (Obsolete)


The READ MASTER CUE command reads the Mastering Information from a Master CD. Refer to RIAJ
Standard, RIS 105-1994, Operational Rule of CD-R Master for CD.
Note: This standard does not define any relationship between the master cue data and data sent with the Send Cue
Sheet command.

Table 285 - READ MASTER CUE Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (59h)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Sheet Number
5 Reserved
6 (MSB)
7 Allocation Length
8 (LSB)
9 Control

The Sheet Number values are shown in Table 286 below.

Table 286 - Sheet Number Values


Sheet Number Content
00h Disc Information
01h Master Cue Sheet
02 ... FFh Reserved

Allocation Length specifies the maximum number of bytes that are returned. Response data is terminated
when allocation length bytes have been transferred or when all data have been transferred to the Initiator,
thatever is less. An Allocation Length of zero is not an error. If Allocation Length is zero, no data shall be
transferred. The data read from the Master CD is transferred in the format shown in Table 287 below.
If the master cue sheet does not exist on the media, the Logical Unit shall return a CHECK CONDITION
status, INCOMPATIBLE MEDIUM INSTALLED.

Table 287 - Master CD response data format


Byte Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
numbe
r
0 00h Ooh 00h 00h Sheet Length (bytes)
8 Contents of the Sheet
….. …..

216
BSR NCITS 333

Table 288 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 288 - Recommended errors for READ MASTER CUE Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

217
BSR NCITS 333

6.1.23. READ SUB-CHANNEL Command


The READ SUB-CHANNEL command (Table 289) requests that the Logical Unit return the requested Sub-
channel data plus the state of audio play operations.
NOTE: Sub-channel data, returned by this command, may be from the last appropriate sector encountered by a
current or previous media accessing operation. When there is no current audio play operation, the Logical Unit may
access the media to read the Sub-channel data. The Logical Unit is responsible for ensuring that the data returned is
current and consistent.

Table 289 - READ SUB-CHANNEL Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (42h)
1 RESERVED Reserved MSF Reserve
d
2 Reserve SUBQ Reserved
d
3 Sub-channel Parameter List
4 Reserved
5 Reserved
6 Track Number (Hex)
7 (MSB) Allocation Length
8 (LSB)
9 Control

If the MSF bit is zero, the read header LBA parameter list, see Table 281 defines the CD data block address
header of the requested logical block. If the MSF bit is one, the read header MSF parameter list (see Table
283) defines the CD data absolute address of the requested logical block.
The sub Q bit set to one requests that the Logical Unit return the Q Sub-channel data. The sub Q bit set to
zero requests that no Sub-channel data be returned. See 6.1.23.1.. This shall not be considered an error.
The Sub-channel parameter list (Table 290) field specifies the returned sub channel data.

Table 290 - Sub-channel parameter list codes


Format Returned Data
Code
00h Reserved
01h CD current position
02h Media Catalog number (UPC/bar code)
03h Track International standard recording code
(ISRC)
04h - EFh Reserved
F0h - FFh Vendor specific

The Track Number field specifies the track number from that ISRC data is read. This field shall have a value
between 01h and 63h (99 bcd), and is valid only when the Sub-channel parameter list field is 03h. In this case,
the Logical Unit returns ISRC data for this track. This field may contain 00h when the Format code is not 03h.

218
BSR NCITS 333

6.1.23.1. Sub-channel Data Header


The Sub-channel data header format (Table 291) is four bytes. If the Sub Q bit is zero, in the command, the
Logical Unit shall return only the Sub-channel data header. In this case, the Sub-channel data length is 0.

Table 291 - Sub-Q Channel Data Header Format


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved
1 Audio Status
2 (MSB) Sub-channel
3 Data Length (LSB)

The audio status field indicates the status of audio play operations. The audio status values are defined in
Table 292. Logical Units that do not support audio play operations shall always report 00h.
For Logical Units that support audio operations: The initial value for audio status is 15h. Audio status values
13h and 14h return information on previous audio operations. When audio play stops due to an error and the
IMMED bit in the CD Audio Control Page (see 5.5.6.) is set to one, the Logical Unit shall report 14h in this
audio status byte and shall report no deferred error.
Table 292 - Audio status codes
Status Description
00h Audio status byte not supported or not valid
01h - 10h Reserved
11h Audio play operation in progress
12h Audio play operation paused
13h Audio play operation successfully completed
14h Audio play operation stopped due to error
15h No current audio status to return
16h - FFh Reserved

The Sub-channel data length field specifies the length in bytes of the following Sub-channel data block. A Sub-
channel data length of zero indicates that no Sub-channel data block is included in the returned data. Sub-
channel data length does not include the sub channel header.

219
BSR NCITS 333

6.1.23.2. Sub-channel Data Format (01h), CD current position


Table 293 defines the response data format for the CD current position data format.

Table 293 - CD current position data format


Bit 7 6 5 4 3 2 1 0
Byte
0 Sub-channel Data Format Code (01h)
1 ADR CONTROL
2 TRACK NUMBER
3 INDEX NUMBER
4 (MSB)
Absolute CD Address
7 (LSB)
8 (MSB)
Track Relative CD Address
11 (LSB)

The ADR field gives the type of information encoded in the Q Sub-channel of this block, as shown in Table
294.

Table 294 - ADR Q Sub-channel field


ADR Code Description
0h Q Sub-channel mode information not supplied
1h Q Sub-channel encodes current position data
(i.e., track, index, absolute address, relative address)
2h Q Sub-channel encodes media catalog number
3h Q Sub-channel encodes ISRC
4h - Fh Reserved

The control field is defined in Table 295.


The bits of the control field (except for the copy bit) can change during an actual pause (X=00) of at least 2
seconds and during the Lead-in area only.

Table 295 - Q Sub-channel control field


field Definitions
00x0b 2 audio channels without pre-emphasis
00x1b 2 audio channels with pre-emphasis of 50/15 µs
10x0b audio channels without pre-emphasis (reserved in CD-R/RW)
10x1b audio channels with pre-emphasis of 50/15 µs (reserved in CD-R/RW)
01x0b Data track, recorded uninterrupted
01x1b Data track, recorded incremental
11xxb reserved
xx0xb digital copy prohibited
xx1xb digital copy permitted

220
BSR NCITS 333

The Track Number field contains the current track number.


The Index Number field contains the current index number.
The Absolute CD Address field gives the current location relative to the logical beginning of the media. If the
MSF bit, (Table 289) is zero, this field is an LBA. If the MSF bit is one, the address is MSF. See sub-clause
4.1.1. for a definition of the MSF field.
The Track Relative CD Address field gives the current location relative to the logical beginning of the current
track. If the MSF bit is zero, this field is a track relative LBA. (If the current block is in the pre-gap area of a
track, this will be a negative value, expressed as a two’s-complement number.) If the MSF bit in the CDB is set
to one, this field is the relative MSF address from the Q Sub-channel.
The control data and current position data is obtained from the Q Sub-channel information of the current block.
Identification data may be reported that was obtained from a previous block. If identification data is reported,
the data shall be valid for the sector addressed by the current position data.
a) If an audio play operation is proceeding in the background, position data for the last sector played
shall be reported.
b) In other cases, for instance after a READ command, the Logical Unit may either report position data
for the last sector processed for that operation or may report position data from the sector at the
current read head position.
Note: When the type of information encoded in the Q Sub-channel of the current sector is the media catalog number
or ISRC, the track, index, and address fields should be extrapolated from the previous sector.

221
BSR NCITS 333

6.1.23.3. Sub-channel Data Format (02h), Media Catalog Number


With a Sub-channel format code of 02h the data returned is the Media Catalog Number. The Media Catalog
field contains the identifying number of this media is expressed in ASCII. A value in this field of all ASCII zeros
indicates that the media catalog number is not supplied. Table 296 defines the media catalog number data
format.

Table 296 - Media Catalog Number data format


Bit 7 6 5 4 3 2 1 0
Byte
0 Sub-channel Data Format Code (02h)
1 Reserved
2 Reserved
3 Reserved
4
... Media Catalog Number
... (MCN)
19

If media catalog number data is found, the MCVAL bit is set to one. If MCN data is not detected, the MCVAL
bit is set to zero to indicate the media catalog number field is invalid.
Media Catalog Number (see Table 297) data returned in bytes 4 through 19 by this command with Sub-
channel data format field code 02h may be from any block that has MCN Q Sub-channel data. See sub-clause
4.2.2.4.

Table 297 - MCN Format of Data Returned


Byte Char Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 MCVAL Reserved
1 N1 N1 (Most significant)
2 N2 N2
3 N3 N3
... ... ...
12 N12 N12
13 N13 N13 (Least significant)
14 Zero
15 AFRAME

The Media Catalog Number, N1 through N13, when sent to the Initiator, is formatted as ASCII characters.
The MCVAL bit when set to one, indicates the Media Catalog Number field is valid.
Zero field shall return 00h.
AFRAME may return the frame number where the MCN was found. This shall be a value from 00h to 4Ah. All
other values are reserved.

222
BSR NCITS 333

6.1.23.4. Sub-channel Data Format (03h), Track International Standard Recording Code
The track ISRC field contains the identifying number of this media according to the ISRC standards (DIN-31-
621) expressed in ASCII. Table 298 defines the Track International Standard Recording Code data format. A
unique ISRC may exist for each track.

Table 298 - Track International Standard Recording Code data format


Bit 7 6 5 4 3 2 1 0
Byte
0 Sub-channel Data Format Code (03h)
1 ADR CONTROL
2 Track Number
3 Reserved
4 (MSB)
… Track International Standard Recording Code (ISRC)
19 (LSB)

If ISRC data is detected, the TCVAL bit (see Table 299) is set to one. If ISRC data is not detected, the TCVAL
bit is set to zero to indicate the ISRC field is invalid.
The ADR (Table 294) and Control fields (Table 295) shall be returned from the ADR and Control fields on the
media.
The Track Number shall indicate the track for that the ISRC was requested.
Track ISRC data (see Table 299) may be from any block in the specified track that has ISRC data. When ADR
field is 3 (0011), it is used to assign a unique number to an audio track. This is done by means of the ISRC
that is 12 characters long (represented by I1 to I12, see Table 299.) The ISRC shall only change immediately
after the TNO has been changed.
ISRC data returned is encoded as ASCII characters. The format of the data is defined in Table 299.

Table 299 - ISRC Format of Data Returned


Byte Char Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
0 TCVAL Reserved
1 I1 I1 (Country Code)
2 I2 I2
3 I3 I3 (Owner Code)
4 I4 I4
5 I5 I5
6 I6 I6 (Year of Recording)
7 I7 I7
8 I8 I8 (Serial Number)
9 I9 I9
10 I10 I10
11 I11 I11
12 I12 I12
13 Zero
14 AFRAME
15 Reserved

223
BSR NCITS 333

All bytes are specified in ASCII. The following translation (Table 300) is specified for Logical Units:

Table 300 – ISRC Translation


ASCII Hex MEDIA
‘0’ - ‘9’ 30h - 39h 00 - 09h
‘@’ - ‘o’ 40h - 6Fh 10h - 3Fh

The following codes shall be valid for the above fields (Table 299):
a. Country Code: ‘A’ - ‘Z’ (41h - 5Ah)
b. Owner Code: ‘0’ - ‘9’ and ‘A’ - ‘Z’ (30h -39h, 41h - 5Ah)
c. Year of Recording: ‘0’ - ‘9’ (30h - 39h)
d. Serial Number: ‘0’ - ‘9’ (30h - 39h)
The Zero field shall return 00h.
AFRAME may return the frame number in that the MCN was found. This shall be a value from 00h to 4Ah. All
other values are reserved.
Table 301 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 301 - Recommended errors for READ SUB-CHANNEL command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
AUDIO PLAY OPERATION IN PROGRESS Table A.1
AUDIO PLAY OPERATION PAUSED Table A.1
AUDIO PLAY OPERATION SUCCESSFULLY Table A.1
COMPLETED
AUDIO PLAY OPERATION STOPPED DUE TO ERROR Table A.1
NO CURRENT AUDIO STATUS TO RETURN Table A.1

224
BSR NCITS 333

6.1.24. READ TOC/PMA/ATIP Command


The READ TOC/PMA/ATIP Command (Table 302) requests that the Logical Unit transfer data from the Table
of Contents, the Program Memory Area (PMA), and the Absolute Time in Pre-Grove (ATIP) from CD media.
For media that does not support a TOC, this command will return fabricated information that is similar to that of
CD media for some formats. This fabrication is required for some legacy Initiator environments.

Table 302 - READ TOC/PMA/ATIP Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (43h)
1 Reserved Reserved MSF Reserve
d
2 Reserved Format
3 Reserved
4 Reserved
5 Reserved
6 Track/Session Number
7 (MSB) Allocation Length
8 (LSB)
9 Control

See sub-clause 4.1.1. for a description of the MSF bit.

225
BSR NCITS 333

The Format field is defined in Table 303.

Table 303 - Format Field


Format Return Optional/ Description Track/
field Data Mandatory Session
field
Usage

0000b TOC M The Track/Session Number field specifies starting track Track
number for that the data will be returned. For multi-session Number
discs, this command will return the TOC data for all sessions
and for Track number AAh only the Lead-out area of the last
complete session. See Table 305.
0001b Sessio M This format returns the first complete session number, last Reserved
n Info complete session number and last complete session starting
address. In this format, the Track/Session Number field is
reserved and should be set to 00h. NOTE: This format
provides the Initiator access to the last finalized session
starting address quickly. See Table 306.
0010b Full M This format returns all Q sub-code data in the Lead-in(TOC) Session
TOC areas starting from a session number as specified in the Number
Track/Session Number field, In this mode, the Logical Unit will
support Q Sub-channel POINT field value of A0h, A1h, A2h,
Track numbers, B0h, B1h, B2h, B3h, B4h, C0h, and C1h. See
Table 307. There is no defined LBA addressing and MSF bit
shall be set to one.
0011b PMA O This format returns all Q sub-code data in the PMA area. In Reserved
this format, the Track/Session Number field is reserved and
shall be set to 00h. See Table 311. There is no defined LBA
addressing and MSF bit shall be set to one.
0100b ATIP O This format returns ATIP data. In this format, the Reserved
Track/Session Number field is reserved and shall be set to
00h. See Table 312. There is no defined LBA addressing and
MSF bit shall be set to one.
0101b CD- O This format returns CD-TEXT information that is recorded in Reserved
TEXT the Lead-in area as R-W Sub-channel Data
All Reserved. Reserved
Other
Format
Codes

The Track/Session Number field specifies the starting track number for that the data shall be returned. The
data is returned in contiguous ascending track number order. A value of AAh requests that the starting
address of the Lead-out area be returned. If this value is zero, the Table of Contents data shall begin with the
first track or session on the medium.
If the Track/Session Number field is not valid for the currently installed medium, the command shall be
terminated with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the
additional sense code set to INVALID FIELD IN CDB.
When a Read TOC/PMA/ATIP command is presented for a CD-R/RW media, where the first TOC has not
been recorded (no complete session) and the Format codes 0000b, 0001b, or 0010b are specified, this
command shall be rejected with an INVALID FIELD IN CDB. Devices that are not capable of reading an
incomplete session on CD-R/RW media shall report CANNOT READ MEDIUM – INCOMPATIBLE FORMAT.
6.1.24.1. READ TOC Response parameter list, general definition
The response parameter list (see Table 304) indicates the general description of the response data to the
Read TOC/PMA/ATIP command. Each descriptor field is format specific and is defined in the appropriate
format sub-clause.

226
BSR NCITS 333

Table 304 - READ TOC/PMA/ATIP parameter list, general definition


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Data Length
1 (LSB)
2 First Track/Session/Reserved Field(Hex)
3 Last Track/Session/Reserved Field(Hex)
Parameter List Descriptor(s)
0
: Descriptor data , format specific
:
n

The Data Length indicates the length, in bytes, of the parameter list descriptor data.
The Track/Session/Reserved Field is format specific and indicates the location, if any, of the information in the
parameter list descriptors.
Descriptor data fields are format specific. The definitions of the bytes are described in each format sub-clause.

6.1.24.2. TOC/PMA/ATIP Response Data Format 0000b


The response data consist of four header bytes and zero or more track descriptors. The response data is
dependent upon the format specified in the format field of the CDB. The response data returned for Format
0000b is specified in Table 305.

Table 305 - READ TOC/PMA/ATIP response data (Format = 0000b)


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) TOC Data Length
1 (LSB)
2 First Track Number(Hex)
3 Last Track Number(Hex)
TOC Track Descriptor(s)
0 Reserved
1 ADR CONTROL
2 Track Number(Hex)
3 Reserved
4 (MSB)
… Logical Block Address
7 (LSB)
The TOC data length indicates the length in bytes of the following TOC data. The TOC data length value does
not include the TOC data length field itself. This value is not modified when the allocation length is insufficient
to return all of the TOC data available.
The First Track Number field indicates the first track number in the first complete session Table of Contents.
The Last Track Number field indicates the last track number in the last complete session Table of Contents
before the Lead-out.

227
BSR NCITS 333

The ADR field gives the type of information encoded in the Q Sub-channel of the block where this TOC entry
was found. The possible ADR values are defined in Table 294.
The Control Field indicates the attributes, of the track, see Table 295.
The Track Number field indicates the track number for that the data in the TOC track descriptor is valid. A
track number of AAh indicates that the track descriptor is for the start of the Lead-out area.
The Logical Block Address contains the address of the first block with user information for that track number
as read from the Table of Contents. An MSF bit of zero indicates that the Logical Block Address field contains
a logical block address. An MSF bit of one indicates the Logical Block Address field contains an MSF address
(see sub-clause 4.1.6).
6.1.24.3. TOC/PMA/ATIP Response Data Format 0001b
The response data returned for Format 0001b is specified in Table 306.

Table 306 - READ TOC/PMA/ATIP response data (Format = 0001b)


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) TOC Data Length
1 (LSB)
2 First Complete Session Number (Hex)
3 Last Complete Session Number (Hex)
TOC Track Descriptor
0 Reserved
1 ADR CONTROL
2 First Track Number In Last Complete Session (Hex)
3 Reserved
4 (MSB)
… Logical Block Address of First Track in Last Session
7 (LSB)
The TOC Data Length specifies the length in bytes of the available session data. The TOC Data Length value
does not include the TOC Data Length field itself. This value is not modified when the allocation length is
insufficient to return all of the session data available.
The First Complete Session Number is set to one.
The Last Complete Session Number indicates the number of the last complete session on the disc. The Last
Complete Session Number shall be set to one for a single session disc or if the Logical Unit does not support
multi-session discs.
The ADR field gives the type of information encoded in the Q Sub-channel of the block where this TOC entry
was found. The possible ADR values are defined in Table 294.
The Control Field indicates the attributes of the track. The possible control field values are defined in Table
295.
First Track Number In Last Complete Session returns the first track number in the last complete session.
The Logical Block Address contains the address of the first block with user information for the first track of the
last session, as read from the Table of Contents. An MSF bit of zero indicates that the Logical Block Address
field contains a logical block address. An MSF bit of one indicates the Logical Block Address field contains an
MSF address (see sub-clause 4.1.1.).

228
BSR NCITS 333

6.1.24.4. TOC/PMA/ATIP Response Data Format 0010b


None of the fields in the response data of Format 0010b are affected by the MSF bit in the CDB. The response
data returned for Format 0010b is specified in Table 307.

Table 307 - READ TOC/PMA/ATIP response data (Format = 0010b)


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) TOC Data Length
1 (LSB)
2 First Complete Session Number (Hex)
3 Last Complete Session Number (Hex)
TOC Track Descriptor(s)
0 Session Number (Hex)
1 ADR CONTROL
2 TNO
3 POINT
4 Min
5 Sec
6 Frame
7 Zero
8 PMIN
9 PSEC
10 PFRAME
Multiple TOC Track Descriptors may be returned, but only one of each entry is reported.
For Format field of 0010b, the Logical Unit shall return TOC data for Q Sub-channel modes 1 and 5 (except
mode 5, point 1 through 40) in the Lead-in area.
The TOC Data Length specifies the length in bytes of the available TOC data. The TOC Data Length value
does not include the TOC Data Length field itself. This value is not modified when the allocation length is
insufficient to return all TOC data available.
The First Complete Session Number shall be set to one.
The Last Complete Session Number indicates the number of the last complete session on the disc. The Last
Complete Session Number is set to one for a single session disc or if the Logical Unit does not support multi-
session discs.
The ADR field gives the type of information encoded in the Q Sub-channel of the block where this TOC entry
was found. The possible ADR values are defined in Table 294.
The Control Field indicates the attributes of the track. The possible control field values are defined in Table
295.
Entries in bytes 2 through 10 of the descriptors (TNO, POINT, MIN, SEC, FRAME, PMIN, PSEC, PFRAME,
Zero) shall be converted to hex by the Logical Unit if the media contains a value between 0 and 99bcd. (See
4.2.2.6.)

229
BSR NCITS 333

The returned TOC data of a multi-session disc is arranged in ascending order of the session number with
duplicates removed. The TOC data within a session is arranged in the order of Q Sub-channel POINT field
value of A0h – AFh, Track Numbers, B0h, BFh. Only recorded Points shall be returned.
The TOC Track Descriptor format in the Lead-in area of the TOC is described in Table 308.

Table 308 - TOC Track Descriptor Format, Q Sub-channel


CTRL ADR TNO POINT MIN SEC FRAME ZERO PMIN PSEC PFRAME
4 or 6 1 00h 01h-63h ATIME (Absolute time) 00h Start position of track
4 or 6 1 00h A0h ATIME (Absolute time) 00h First Disc Type 00h
Track
Number
4 or 6 1 00h A1h ATIME (Absolute time) 00h Last 00h 00h
Track
Number
4 or 6 1 00h A2h ATIME (Absolute time) 00h Start position of Lead-out
4 or 6 5 00h B0h Start time of next possible # of Maximum start time of outer-most
program in the Recordable Area pointers Lead-out area in the Recordable
of the disc in Mode 5 Area of the disc
4 or 6 5 00h B1h 00h 00h 00h 00h # of skip # of skip 00h
interval Track
Pointers Pointers
(N<=40) (N<=21)
4 or 6 5 00h B2h-B4h Skip # Skip # Skip # Skip # Skip # Skip # Skip #
4 or 6 5 00h 01h-40h Ending time for the interval that Reserved Start time for interval that should
should be skipped be skipped on playback
4 or 6 5 00h C0h optimum Reserved Reserved Reserved Start time of the first Lead-in Area
recording of the disc
power
4 or 6 5 00h C1h Copy of information from A1 point in ATIP.

All of the TOC Track Descriptors, in Table 308, are further define in sub-clause found. The POINT Field (Table
309) defines various types of information within the TOC Lead-in area.

Table 309 - POINT Field


ADR POINT Description
Field
1 01-63h Track number references
1 A0h First Track number in the program area
1 A1h Last Track number in the program area
1 A2h Start location of the Lead-out area
5 01-40h Skip Interval Pointers
5 B0h Used to Identify a Multi-session Disc (Photo CD) Contains start time of
next possible program area
5 B1h Number of skip interval pointers & Skip track assignments
5 01-40h Skip Interval Pointers
5 B2-B4h Skip Track Assignment Pointers
5 C0h Start time of first Lead-in area of disc (This only exists in the first Lead-in
area)
5 C1h Copy of information from additional area 1 in ATIP.

230
BSR NCITS 333

The Disc Type field (see Table 310) indicates the type of disc inserted.

Table 310 - Disc Type Byte Format


Value Description
00h CD-DA or CD Data with first track in Mode 1
10h CD-I disc
20h CD data XA disc with first track in Mode 2

The definition for the Control Field in the Q Sub-channel is in Table 295.
6.1.24.5. TOC/PMA/ATIP Response Data Format 0011b
None of the fields in the response data of Format 0011b are affected by the MSF bit in the CDB.The response
data returned for Format 0011b is specified in Table 311.

Table 311 - READ TOC/PMA/ATIP response data (Format = 0011b)


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) PMA Data Length
1 (LSB)
2 Reserved
3 Reserved
PMA Descriptor(s)
0 Reserved
1 ADR CONTROL
2 TNO
3 POINT
4 Min
5 Sec
6 Frame
7 Zero
8 PMIN
9 PSEC
10 PFRAME
Multiple PMA Descriptors may be returned.
The returned PMA descriptors are arranged in the order found in the PMA, with duplicates removed.
The PMA Data Length indicates the length in bytes of the available PMA data. The PMA Data Length value
does not include the PMA Data Length field itself. This value is not modified when the allocation length is
insufficient to return all PMA data available. This value is set to 2 plus eleven times the number of descriptors
read.
Entries in bytes 2 through 10 of the descriptors (TNO, POINT, MIN, SEC, FRAME, Zero) shall be converted to
binary by the Logical Unit if the media contains a value between 0 and 99bcd. (See 4.2.2.8.2.)

231
BSR NCITS 333

6.1.25. TOC/PMA/ATIP Response Data Format 0100b


None of the fields in the response data of Format 0100b are affected by the MSF bit in the CDB. The response
data returned for Format 0100b is specified in Table 312.

Table 312 - READ TOC/PMA/ATIP response data (Format = 0100b)


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) ATIP Data Length
1 (LSB)
2 Reserved
3 Reserved
ATIP Descriptor

0 1 Indicative Target Writing Power Reserve Reference Speed


d
1 0 URU Reserved
2 1 Disc Disc Sub-Type A1 A2 A3
Type
3 Reserved
4 ATIP Start Time of Lead-in (Min)
5 ATIP Start Time of Lead-in (Sec)
6 ATIP Start Time of Lead-in (Frame)
7 Reserved
8 ATIP Last Possible Start Time of Lead-out (Min)
9 ATIP Last Possible Start Time of Lead-out (Sec)
10 ATIP Last Possible Start Time of Lead-out (Frame)
11 Reserved
12 0 Lowest Usable CLV Recording Highest Usable CLV Recording Speed
Speed
13 0 Power Multiplication Factor p Target y value of the Reserve
Modulation/Power function d

14 1 Recommended Erase/Write Reserved


Power Ratio (Peo/W eo)
15 Reserved
16-18 A2 Values
19 Reserved
20-22 A3 Values
23 Reserved
ATIP Data Length specifies the number of bytes to be transferred in response to the command. The ATIP Data
Length value does not include the data length field itself. This value is not modified when the allocation length
is insufficient to return all of the ATIP data available.
Indicative Target Writing Power Field - encoded information indicating the media’s recommended initial laser
power setting. The meaning of these bits varies between CD-R and CD-RW media.
Reference Speed Field - encoded information indicating the recommended write speed for the media. 00h =
reserved. 01h - 2X recording, 02h-07h are reserved. Only valid for CD-RW media.
The URU (Unrestricted Use Disc) bit, when set to one, indicates that the mounted CD-R/RW disc is defined for
unrestricted use. When the Unrestricted Use Disc bit is set to zero, the mounted CD-R/RW disc is defined for

232
BSR NCITS 333

restricted use. To record data to the mounted disc the appropriate Initiator Application code shall be set
through the Write Parameters Page. An Initiator Application Code of zero may be used to indicate a restricted
use disc - general purpose.
Disc Type - zero indicates CD-R media; one indicates CD-RW media.
Disc Sub-Type - shall be set to zero.
A1 - when set to one, indicates that bytes 16-18 are valid.
A2 - when set to one, indicates that bytes 20-22 are valid.
A3 - when set to one, indicates that bytes 24-26 are valid.
ATIP Start Time of Lead-in (min, sec, frame) - the start time of the Lead-in. The value is read from ATIP and
returned in hex format. Legal values for the M field are 50h through 63h.
ATIP Last Possible Start Time of Lead-out (min, sec, frame) - the last possible start time of Lead-out. The
value is read from ATIP and returned in hex format. Valid values for the M field is 0 through 4Fh.
Lowest Usable CLV Recording Speed (see Table 313) - valid only when A1 = 1.

Table 313 - Lowest CLV Recording Speeds


Value Recording Speed
000b Reserved
001b 2X
010b - Reserved
111b
Highest Usable CLV Recording Speed (see Table 314)- valid only when A1 = 1.

Table 314 - Highest CLV Recording Speeds


Value Recording Speed
000b Reserved
001b 2X
010b 4X
011b 6X
100b 8X
101b - Reserved
111b
The following fields reported as recorded in ATIP, contain information that is beyond the scope of this
standard.
Power Multiplication Factor p field.
Target y value of the Modulation/Power function field.
Recommended Erase/Write Power Ratio (Peo/W eo) field.
A2 Values - Reserved
A3 Values - Reserved

233
BSR NCITS 333

6.1.25.1. TOC/PMA/ATIP Response Data Format 0101b


None of the fields in the response data of Format 0101b are affected by the MSF bit in the CDB. The response
data returned for Format 0101b is specified in Table 315.

Table 315 - READ TOC/PMA/ATIP response data (With Format Field = 0101b )
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) CD-TEXT Data Length
1 (LSB)
2 First Track/Session/Reserved Field(Hex)
3 Last Track/Session/Reserved Field(Hex)
CD-TEXT Descriptor(s)
0
: Descriptor data , format specific
:
n

CD-TEXT Data Length specifies the number of bytes to be transferred in response to the command. The ATIP
Data Length value does not include the data length field itself. This value is not modified when the allocation
length is insufficient to return all of the CD-TEXT data available. This length is variable depends on the number
of recording Pack Data.
CD-TEXT Information Descriptor(s) provides Pack Data available in the lead-in area of the disc. Each Pack
Data consists of 18 bytes of CD-TEXT information. If a Pack Data is recorded repeatedly on the disc, the
device should return it only once.
The detail of Pack Data and CD-TEXT information is described in Annex J.
Table 316 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 316 - Recommended errors for READ TOC/PMA/ATIP Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
AUDIO PLAY OPERATION IN PROGRESS Table A.1

234
BSR NCITS 333

6.1.26. READ TRACK INFORMATION Command


The READ TRACK INFORMATION Command (Table 317) provides information about a track, regardless of
its status. In case of media that does not support logical tracks, the number of tracks and sessions is
considered one. If this command is required, by an implemented Feature, the command shall function if any
media is present.
For CD, if the PMA/TOC is unreadable, the command shall be terminated with CHECK CONDITION Status,
sense code of UNABLE TO RECOVER TABLE-OF-CONTENTS. For DVD, if the RMA/RMD in Border-out is
unreadable, the command shall be terminated with CHECK CONDITION Status, sense code L-EC
UNCORRECTABLE ERROR.

Table 317 - READ TRACK INFORMATION Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (52h)
1 Reserved Address/Number Type
2 (MSB)
3 Logical Block Address/
4 Track/Session Number
5 (LSB)
6 Reserved
7 (MSB) Allocation Length
8 (LSB)
9 Control Byte

The Address/Number Type field in byte 1 is used to specify the contents of bytes 2 through 5 of the CDB.
The Logical Block Address/Track/Session Number field, Bytes 2 through 5 are defined in Table 318.

Table 318 – LBA/Track/Session Number Field definition


Address/ Logical Block Description
Number Address/Track/
Type field Session
Number
00b Logical Block TLBA, where TLBA is the number of the track that contains the block
Address associated with Logical Block Address.
01b 00h Ttoc, where Ttoc is the Lead-in area of the disc
01b TCDB, a valid TCDB
track number
01b FFh TINV, where TINV is the Track number of the invisible or incomplete
Track
10b Session Number Tsession, where Tsession is the number of the first Track that is in the
Session Number.
11b Reserved

The number of Track Information Block bytes returned is limited by the Allocation Length parameter of the
CDB. An Allocation Length of zero is not an error. Fields not used with the installed media shall return 0.

235
BSR NCITS 333

The format and content of the Track Information Block is shown in Table 319.

Table 319 - Track Information Block


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Data Length
1 (LSB)
2 Track Number (LSB)
3 Session Number (LSB)
4 Reserved
5 Reserved Damage Copy Track Mode
6 RT Blank Packet/Inc FP Data Mode
7 Reserved LRA_V NWA_V
8 (MSB)
9 Track Start
10 Address
11 (LSB)
12 (MSB)
13 Next Writable
14 Address
15 (LSB)
16 (MSB)
17 Free
18 Blocks
19 (LSB)
20 (MSB)
21 Fixed Packet Size/
22 Blocking Factor
23 (LSB)
24 (MSB)
25 Track Size
26
27 (LSB)
28 (MSB)
29 Last Recorded Address
30
31 (LSB)
32 Track Number (MSB)
33 Session Number (MSB)
34 Reserved
35 Reserved
Data length field specifies the length, in bytes, of the requested data to be transferred in response to the
command. The data length value does not include the data length field itself. If the Allocation length specified
is less than the data length, the response shall be truncated at the allocation length specified. This truncation

236
BSR NCITS 333

shall not cause a CHECK CONDITION status to be presented. The Data Length is not modified when the
allocation length is insufficient to return all of the response data available.
Track Number is the track number for all of the information in this structure or a value of 1 for media not
containing logical tracks. If the Track number is set to zero, and the P through W bit is set (see Table 126),the
contents of Track Information Block shall be returned for the Lead-In area. In this case, the Track Start
Address field is the start address of the Lead-In area.
Session Number is the number of the session containing this track, or a value of 1 for media not containing
sessions that contain this track.
The Copy bit indicates that this track is a second or higher generation copy. For media that does not support
CGMS, this bit shall beset to zero.
The Damage bit, when set to one, and the NWA_V is set to zero, the track shall be considered "not closed due
to an incomplete write”. An automatic repair may be attempted by the Logical Unit when the CLOSE
TRACK/SESSION command is issued. Further incremental writing in this track is not possible. The Damage
bit, when set to one, and the NWA_V is set to one, indicates a Track that may be recorded further in an
incremental manner. An automatic repair shall be attempted by the Logical Unit when the next command that
requires writing to the Track is issued. If the repair is successful, the Damage bit shall be set to zero. Prior to
the start of the repair, the NWA field shall contain the address of the Next Writable Sector assuming a
successful repair.
Track Mode is the control nibble as defined for mode 1 Q Sub-channel for this track. For non-CD media, this
field shall be set to 4. See Table 123 and Table 295
For CD, if the RT bit is zero, then the track is not reserved, otherwise the track is reserved. The RT bit
indicates that a PMA entry indicating the track’s start and end addresses exists. For DVD, the RT bit of zero
indicates that the Track is Complete, Invisible, or Incomplete status. An RT bit of one indicates that the Track
is Empty Reserved or Partially Recorded Reserved status.
If the Logical Unit is not capable of reading the PMA or RMA, this field shall be set to zero.
The Blank bit, when set to one, indicates that the track contains no written data and Last Recorded Address
field is invalid. For CD, Tracks with the Track Descriptor Block recorded shall not be considered blank. For
other media, this bit shall be set to zero.
For CD, the Packet/Inc bit is valid only when the RT bit is set to one or the track indicated is the incomplete
track. The Packet/Inc bit, when set to one, indicates that this track is to be written only with packets (CD) or
incremental recording (DVD).
For CD media, the FP (Fixed Packet) bit is valid only when the Packet/Inc bit is set to one. When the
Packet/Inc bit is set to one and the FP bit is also set to one, then the track is to be written only with fixed
packets. When the Packet/Inc bit is set to one and the FP bit is set to zero, then the track is to be written only
with variable packets. Except for C/DVD-R/RW, this field should be set to zero
When writing, certain parameters may be set via the Write Parameters Page. The state of the track determines
what parameters shall be set and that parameters in the mode page shall match. Required Write Parameters
are defined in Table 320.

237
BSR NCITS 333

Table 320 - Write Parameter Restrictions due to Track State


RT Blank Packet CD Write Parameter Restrictions DVD Write Parameter
Restrictions
0 0 0 Can’t write to stamped disc, or during Can’t write to stamped disc, or writing
track at once on invisible track, or writing disc-at-once, can not write to complete
session at once mode disc.
0 0 1 Write type is set to packet; all parameters Write type is set to incremental; all
common to READ TRACK INFOMATION parameters common to READ TRACK
and the Write Parameters mode page INFOMATION and the Write Parameters
shall match. mode page shall match
0 1 0 Write type may be set to packet or TAO. Write type is set to disc-at-once:Invisiable
All other parameters shall be changeable. Track of disc-at-once, empty. Can’t start
If this track is the first track of a Session, disc-at-once recording in this state. A
then Session at Once is allowed. Track shall be reserved prior to start of
disc-at-once recording. All parameters
common to READ TRACK INFOMATION
and the Write Parameters mode page
shall match
0 1 1 Invalid State Write type is set to incremental; Invisiable
track for incremental recording, the Track
is writable. All parameters common to
READ TRACK INFOMATION and the
Write Parameters mode page shall match
1 0 0 Can’t write to recorded track or during Can’t write to disc during disc at
track at once on reserved Track. once on reserved Track.
1 0 1 Write type is set to packet; all parameters Write type is set to incremental; Partially
common to READ TRACK INFO and the recorded reserved Track, the Track is
write parameters mode page shall match. writable. All parameters common to READ
TRACK INFOMATION and the Write
Parameters mode page shall match
1 1 0 Write type is set to TAO. Track mode set Write type is set to disc-at-once; Empty
to same as READ TRACK INFO. Copy bit reserved Track for disc-at-once. All
may be set only if copyright bit in track parameters common to READ TRACK
mode is clear. All other common INFOMATION and the Write Parameters
parameters shall match. mode page shall match
1 1 1 Write type is set to Packet. Track mode Write type is set to incremental; Empty
set to same as READ TRACK INFO. Copy reserved Track, the Track is writable. All
bit may be set only if copyright bit in track parameters common to READ TRACK
mode is clear. FP and packet size are INFOMATION and the Write Parameters
changeable. All other common parameters mode page shall match
shall match.

For CD, when the RT, Blank and Packet bits are set to one, FP bit of the READ TRACK INFORMATION
response data is set to zero.

238
BSR NCITS 333

Data Mode field defines the track content. Data Mode is defined in Table 322.

Table 321 - Track Status Indications


DVD CD
RT Blank Packe FP Write Method Track Status Write Method Track Status
t
0 0 0 - - (invalid) Uninterrupted/ Complete/During
TAO/SAO TAO/SAO
0 0 1 0 Incremental Incomplete Variable Incomplete
0 0 1 1 - (invalid) Fixed Incomplete
0 1 0 - DAO/ Invisible TAO/Variable/ Invisible
Incremental Fixed(*)
0 1 1 0 Incremental Invisible - (invalid)
0 1 1 1 - (invalid) - (invalid)
1 0 0 - DAO Complete/ TAO Complete/During
during DAO TAO
1 0 1 0 Incremental Complete/ Variable Complete/
Partially Partially
Recorded Recorded
Reserved Reserve
1 0 1 1 - (invalid) Fixed Complete/
Partially
Recorded
Reserve
1 1 0 - DAO Before starting TAO Empty Reserved
writing
1 1 1 0 Incremental Empty Reserved Variable/Fixed Empty Reserved
1 1 1 1 - (invalid) - (invalid)

* In case last session is empty, SAO is also valid.

Table 322 - Data Mode


Value Definition
1 Mode 1 (ISO/IEC 10149)
2 Mode 2 (ISO/IEC 10149 or CD-ROM XA)
Fh Data Block Type unknown (no track descriptor block)
0, 3 - Eh Reserved

If NWA_V is zero, then the next writable address field is not valid. Otherwise the next writable address field is
valid. NWA_V shall be set to zero if the Track is not writable for any reason.
If LRA_V is zero, then the Last Recorded Address field is not valid. Otherwise, the Last Recorded Address
field is valid. The LRA_V bit shall be set to zero if the Track has damage for any reason and is repaired
automatically.
The Track Start Address is the starting address for the specified Track.

239
BSR NCITS 333

The Next Writable Address, if valid, is the LBA of the next writable user block in the Track specified by the
LBA/Track Number field in the CDB. For CD media, Next Writable Address shall be associated with the RT,
Blank, Packet and FP bits as defined in Table 323. If the write type is Raw, the Next Writable Address may be
a negative number as required to point to the start of the first Lead-in. When streaming in any write type, the
Next Writable Address shall be the next user data block the Logical Unit expects to receive if no under-run
occurs.

Table 323 - Next Writable Address Definition


RT Blank Packet FP NWA_ Definition
V
4
0 0 0 - 0 LBA that shall be specified by next write command
*2
1
0 0 1 0 1 LBA that shall be specified by next write command
*2
1
0 0 1 1 1 LBA that shall be specified by next write command
*2, *3
0 1 0 0 1 LBA of the first data block after pre-gap *5
0 1 1 0 - -
0 1 1 1 - -
4
1 0 0 - 0 LBA that shall be specified by next write command
*2
1
1 0 1 0 1 LBA that shall be specified by next write command
*2
1
1 0 1 1 1 LBA that shall be specified by next write command
*2, *3
1 1 0 - 1 LBA of the first data block after pre-gap
1 1 1 0 1 LBA of the first data block after pre-gap
1 1 1 1 - -
Notes:
1 - When "Free Blocks" is 0 (data full), NWA_V is 0.
2 - NWA shall be taken account of data blocks in buffer that has not yet been written to media. If the Logical
Unit can write the data of next write command without interrupting of current data streaming(no underrun
condition), NWA shall be contiguous to last address data in buffer. If WCE in Mode Cache Page is zero, NWA
shall be taken account of Link Blocks (2 Run-out blocks, 1 Link block and 4 Run-out blocks) in case of
Addressing Method-1.
3 - NWA shall follow the Addressing Method-2 if Method-2 bit in Mode CD Capabilities and Mechanical Status
Page is set to one.
4 - During TAO (SAO), NWA_V is 1.
5 - In the case of SAO NWA shall be the first block after Lead-in for the first track of session.

240
BSR NCITS 333

The Free Blocks field represents the maximum number of user data blocks available for recording in the track.
For CD media, this field shall be computed as follows: First, the Available Track Space (ATS) shall be
computed.
For the invisible track; ATS = (StartTimeofLastPossibleLead-out) – NWA + 5.
For a reserved track; ATS = (PMAStopTime) – NWA + 5.
If the track is reserved for, or written with fixed packets, or is the invisible track and the Write Parameters
Mode Page

ATS
specifies fixed FreeBlocks = IP • PacketSize. packets, Otherwise,
PacketSize + 7
FreeBlocks = ATS –7.

Note: The StartTimeofLastPossibleLead-out is the last possible location of the link block at the start of the Lead-out.
If a disc is fully recorded, the PMA entry for the last track will be equal to the StartTimeofLastPossibleLead-out.
Addressing within fixed packet written tracks is translated by the Logical
Unit for reading and NWAMethod2 = NWAMethod1 – 7 ⋅IP NWAMethod1 - TrackStartAddress writing. The NWA shall
also reflect this PacketSize + 7 translation:
Method 1 is the physical address.
Method 2 is used on fixed packet written tracks to hide the link areas from the Initiator. The
TrackStartAddress is always a physical address, even if prior tracks are recorded with Method 2. IP( ) is the
integer part of the value.
For CD, the Fixed Packet Size is valid only when the Packet and the FP bits are both set to one. For DVD-R, if
the FP bit is set to zero, the Fixed Packet Size field specifies the number of sectors that are actual disc access
unit. In the case of DVD, this field has a value of 16. FP bit set to one is undefined.
If the disc is stamped, then DAMAGE = 0, BLANK = 0, RT = 0, and NWA_V = 0.
Track Size is the number of user data blocks in the track. For CD the track size shall be computed as follows:
First, compute the Complete Track Size (CTS).
For an incomplete track: CTS = (StartTimeofLastPossibleLead-out) – PMATrackStart + 5.
For a reserved track: CTS = (PMAStopTime) – PMAStartTime + 5.

If the track is reserved for, or written with, fixed packets:


Otherwise, TrackSize = CTS – 7. CTS • PacketSize.
TrackSize = IP
PacketSize + 7

READ TRACK INFORMATION shall provide certain valid fields for a disc with the Unrecordable status: Track
Number, Session Number, Track Mode, Data Mode, Track Start Address.
For CD media, the Track Size number may not be exact for the tracks that do not have a PMA entry. The
track size, of tracks that do not have PMA entries, is calculated as follows:
TrackSize of track n = (start of track n+1) - (start of track n), n+1 is the Lead Out if n is the last track
recorded in the TOC.
The Track Size from this calculation may include blocks from the following track and these blocks may not be
readable.
Table 324 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 324 - Recommended errors for READ TRACK INFORMATION Command

Error Reference
Deferred Errors 241 Sub-clause A.1
General Errors Table A.2
Media Access Errors Table A.3
BSR NCITS 333

6.1.27. REPAIR TRACK Command (Obsolete)


A track that has been defined for packet writing may be damaged due to an incomplete packet at the end of
written data. This may be caused by a RESET, or a power-fail condition during a packet write. The REPAIR
TRACK (Table 325) command will fill a fixed length packet to its correct user data length and add run-outs.
Variable length packets will simply be completed with run-outs. The user data in the repaired packet shall be
rewritten as the repaired packet is not readable. The recovery indicated here only allows the track to become
writable again.

Table 325 - REPAIR TRACK Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (58h)
1 Reserved
2 Reserved
3 Reserved
4 (MSB) Track Number
5 (LSB)
6 Reserved
7 Reserved
8 Reserved
9 Control

The Track Number field specifies the track that requires repair.
Behavior of this command with non-packet written tracks is vendor specific.
Table 326 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 326 - Recommended errors for REPAIR TRACK Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4

242
BSR NCITS 333

6.1.28. REPORT KEY Command


The REPORT KEY command (Table 327) requests the start of the authentication process and provides data
necessary for authentication and for generating a Bus Key for the DVD Logical Unit. This command, in
conjunction with the SEND KEY command, is intended to perform authentication for Logical Units that conform
to DVD Copy Protection schemes, and generates a Bus Key as the result of that authentication.
The REPORT KEY command also requests the DVD Logical Unit to transfer TITLE KEY data, obfuscated by a
Bus Key, to the Initiator.

Table 327 - REPORT KEY Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (A4h)
1 Reserved Reserved
2 (MSB)
3 Reserved or Logical Block Address
4
5 (LSB)
6 Reserved
7 Reserved
8 (MSB) Allocation Length
9 (LSB)
10 AGID KEY Format
11 Control

The KEY Format field (Table 328) indicates the types of information that is to be sent to the Initiator.
The REPORT KEY command with KEY Format field of 000000b begins the authentication process. The
Logical Unit, when ready to begin the authentication process, shall grant the request by returning an
Authentication Grant ID (AGID). If there is no available Authentication Grant ID, the command shall be
terminated with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the
additional sense code set to SYSTEM RESOURCE FAILURE.
The AGID field is used to control simultaneous key exchange sequences. The AGID specified in subsequent
Key Exchange commands shall match a currently active AGID. The AGID field shall be reserved when the
KEY Format Field contains either 0h or 5h.

243
BSR NCITS 333

In case of KEY Format = 000100b, the Reserved / Logical Block Address field specifies the logical block
address that contains the TITLE KEY to be sent to the Initiator obfuscated by a Bus Key. In all other cases,
this field shall be reserved.

Table 328 - Key Format Code definitions for REPORT KEY Command
Key Format Returned Data Description AGID Use
000000b AGID Returns an AUTHENTICATION GRANT ID Reserved & N/A
000001b Challenge Key Returns a Challenge KEY
000010b KEY1 Returns a KEY1 Valid AGID Required
000100b TITLE KEY Returns a TITLE KEY obfuscated by a Bus Key
000101b ASF Returns the current state of the Authentication Reserved & Ignored
Success Flag
001000b RPC Report Logical Unit region settings
111111b None Invalidate Specified AGID. Invalidating an invalid Valid AGID required
AGID shall not be considered an error. An AGID
that has not been granted shall be considered
invalid
All other values Reserved

The data returned to the Initiator for this command is shown in the following tables. The response for each
format is defined. It should be noted that with a Key Format Code of 3Fh, no data shall be returned to the
Initiator. Table 329 defines the response data for Key Format 000000b.

Table 329 - REPORT KEY Data Format (With KEY Format = 000000b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) REPORT KEY Data Length
1 (LSB)
2 Reserved
3 Reserved
AUTHENTICATION GRANT ID
0 Reserved
1 Reserved
2 Reserved
3 AGID Reserved

244
BSR NCITS 333

Table 330 defines the response data for Key Format 000001b

Table 330 - REPORT KEY Data Format (With KEY Format = 000001b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) REPORT KEY Data Length (0Eh)
1 (LSB)
2 Reserved
3 Reserved
Challenge Key
0 (MSB)
: Challenge Key Value
9 (LSB)
10 Reserved
11 Reserved

Challenge Key Value field returns a value to be used to interrogate an external device to determine
conformance with the DVD Copy Protection scheme. The external device then generates the corresponding
KEY2.

Table 331 defines the response data for Key Format 000010b

Table 331 - REPORT KEY Data Format (With KEY Format = 000010b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) REPORT KEY Data Length (0Ah)
1 (LSB)
2 Reserved
3 Reserved
KEY1
0 (MSB)
: KEY1 Value
4 (LSB)
5 Reserved
6 Reserved
7 Reserved

KEY1 Value field returns a value used to determine the Logical Unit’s conformity with DVD Copy Protection
scheme by an external device. The KEY1 value will also be used as a parameter to generate a Bus Key in the
Logical Unit.
When the Logical Unit is unable to produce a KEY1 value, this command with KEY Format = 000010b shall be
terminated with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the
additional sense code & qualifier set to COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT
PRESENT.

245
BSR NCITS 333

Table 332 defines the response data for Key Format 000100b

Table 332 - REPORT KEY Data Format (With KEY Format = 000100b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) REPORT KEY Data Length (0Ah)
1 (LSB)
2 Reserved
3 Reserved
COPYRIGHT MANAGEMENT/TITLE KEY Information
0 CPM CP_SE CGMS Reserved
C
1 (MSB)
2
3 TITLE KEY Value
4
5 (LSB)
6 Reserved
7 Reserved
The CPM field identifies the presence of copyrighted material in this sector. If set to zero the material is not
copyrighted, if set to one the material is copyrighted.
The CP_SEC field indicates that the specified sector has a specific data structure for copyright protection
system. If set to zero no such data structure exists in this sector .If set to one, a specific data structure exists in
this sector.
The CGMS field indicates the restrictions on copying:
00b Copying is permitted without restriction
01b Reserved
10b One generation of copies may be made
11b No copying is allowed
TITLE KEY Value field returns the TITLE KEY that is obfuscated by a Bus Key.
When the TITLE KEY does not exist on DVD media, this command with KEY Format = 000100b shall be
terminated with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the
additional sense code set to COPY PROTECTION KEY EXCHANGE FAILURE and the additional sense code
qualifier shall be set to KEY NOT PRESENT.
When the Logical Unit is not in the Bus Key Established state, this command with KEY Format = 000100b
shall be terminated with CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and
the additional sense code & qualifier set to COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT
ESTABLISHED.
Table 333 defines the response data for Key Format 000101b

246
BSR NCITS 333

Table 333 - REPORT KEY Data Format (With KEY Format = 000101b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) REPORT KEY Data Length (06h)
1 (LSB)
2 Reserved
3 Reserved
AUTHENTICATION SUCCESS FLAG
0 Reserved
1 Reserved
2 Reserved
3 Reserved Succes
s Flag

Table 334 defines the response data for Key Format 001000b

Table 334 - REPORT KEY Data Format (With KEY Format = 001000b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) REPORT KEY Data Length (06h)
1 (LSB)
2 RPC Scheme
3 Reserved
RPC State
0 Type Code # of Vendor Resets Available # of User Controlled Resets
Available
1 Region Mask
2 RPC Scheme
3 Reserved

RPC Scheme specifies the type of Region Playback Controls being used by the Logical Unit.
Type Code field (Table 335) specifies the current state of the Regionalization Process.

Table 335 – Type Code Field Definitions


Type Name Definition
Code
00 NONE No Logical Unit region
01 SET Logical Unit region is set
10 LAST CHANCE Logical UnitRegion is set. Additional restrictions required to make a
change
11 PERM Logical UnitRegion has been set permanently, but may be reset by the
vendor if necessary.

# of Vendor Resets Available is a count down counter that indicates the number of times that the vendor
can reset the region. The manufacturer of the Logical Unit sets this value to 4 and the value is decremented

247
BSR NCITS 333

each time the vendor clears the Logical Unit’s region. When this value is zero, the vendor can no longer clear
the drive’s region.
# of User Controlled Changes Available is a count down counter that indicates the number of times that
the user can set the region. This value is initially 5.
The Region Mask returns a value that specifies the Logical Unit Region in which the Logical Unit is located.
Once the Logical Unit Region has been set, the Logical Unit shall be located in only one region. Each bit
represents one of eight regions. If a bit is cleared in this field, the disc can be played in the corresponding
region. If a bit is set in this field, the disc cannot be played in the corresponding region.
RPC Scheme specifies the type of Region Playback Controls being used by the Logical Unit. See Table 336.

Table 336 – RPC Scheme field Definition


RPC RPC Name Definition
Scheme
00h Unknown Logical Unit does not enforce Region Playback Controls (RPC)
01h RPC Phase Logical Unit region shall adhere to this standard and all requirements of
II the CSS license agreement concerning RPC.
02h - FFh Reserved

Table 337 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 337 - Recommended errors for REPORT KEY Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

248
BSR NCITS 333

6.1.29. RESERVE TRACK Command


The RESERVE TRACK Command (Table 338) allows reservation of disc space for a track. A PMA entry for
the track shall be either written or cached for writing prior to disc removal.

Table 338 - RESERVE TRACK Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (53h)
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 (MSB)
6 Reservation
7 Size
8 (LSB)
9 Control Byte

The Reservation Size field contains the number of user blocks desired for the track reservation. The actual
number of blocks allocated shall be according to the Write Parameters Mode Page. For DVD, track reservation
size shall be determined by the settings of the Write Parameters mode page. See Table 339. For CD, the PMA
start time shall reflect the appropriate pre-gap, as determined by the previous track’s mode and the settings of
the Write Parameters mode page. Table 339 specifies the PMA stop time, and specifies the Track sizing.

Table 339 - Track reservation sizing (CD)


Write Parameters PMA Stop Time
Mode Page
Write Type Value
Session-at-once CHECK CONDITION status is returned and sense is set to ILLEGAL
REQUEST, COMMAND SEQUENCE ERROR
Track-at-once Reserves the number of user blocks specified. The PMA stop time shall be
PMAStart + Re servationSize + 2
Variable Packet Reserve behaves as in track-at-once.
Fixed Packet Re servationSize
Set p = packets, where packet size is taken from the Write
PacketSize
Parameters Mode Page. If p is an integer, then the reservation is performed
and the PMA stop time shall be PMAStart + ( PacketSize + 7) • p − 5 .
Otherwise, the reservation is not performed, CHECK CONDITION status is
returned, and sense is set to ILLEGAL REQUEST, INVALID FIELD IN CDB.
Enough space for reservation size user data packets shall be reserved.

249
BSR NCITS 333

Table 340 - TRACK reservation sizing (DVD)

Note: Ceil (x) returns the least integral value greater than or equal to x.

Write Parameters
Mode Page Reserved Track Size
Write Type Value
Disc-at-once Reserves the number of user blocks specified. The Reserved Track shall be
ReservedTrackSize = ReservationSize
where ReservationSize is a value that is specified in the CDB
Incremental Reserves the number of user blocks specified. The Reserved Track Size shall be

ReservationSize + (NWA ^ 0Fh)


ReservedTrack = 16 • Ceil −(NWA ^0Fh) + 16
16
where ReservationSize is a value that is specified in the CDB. NWA is a Next
Writable Address of invisible Track. ^ means mathematical AND. +16 means
BSGLL

If the last track, defined in the PMA/RMA, is N, then the invisible track is assigned track number N+1. A track
shall only be reserved from the beginning of the invisible track. After the reservation is done, the track number
given to the new track is the current track number of the invisible track. The number of the invisible track is
increased by one following a reservation.
For CD, if the Reservation Size is smaller than four seconds, excluding pre-gap length, the Logical Unit shall
return CHECK CONDITION status.
For DVD, the actual reserved size shall be raised to ECC block unit by the device. If Reservation Size field is
set to 0, no reservation is done by device and shall not be considered an error.
Reserving shall be allowed when the last track is invisible. When the last track is not invisible, shall generate a
CHECK CONDITION status, ILLEGAL REQUEST, COMMAND SEQUENCE ERROR.
For DVD, maximum reserved Tracks that can be reserved are limited to two at the same time. Attempting to
reserve Track when two Empty/Partially recorded reserved tracks are already reserved, the command shall
be terminated with CHECK CONDITION status, the sense key set to ILLEGAL REQUEST and the additional
sense code set to NO MORE RESERVATION IS ALLOWED.
Attempting to reserve Track when remaining ECC blocks in RMA are less than three, the
command shall be terminated with CHECK CONDITION status, the sense key set to MEDIUM
ERROR and the additional sense code set to RMA/PMA IS FULL. Because three RMD blocks are
required for reservation, Track closure and Session closure.
For CD, Reserving a track when the Write Type is set to packet (See Table 124) shall cause the TDB (Track
Descriptor Block) to be written.
Table 341 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 341 - Recommended errors for RESERVE TRACK Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4

250
BSR NCITS 333

251
BSR NCITS 333

6.1.30. SCAN Command


The scan command requests a fast-forward or fast-reverse scan operation starting from the Scan Starting
Address. The Logical Unit shall respond to this command by scanning all the way to the end of the last audio
track on the media.
Like the PLAY AUDIO command, the SCAN command shall terminate the scan at the last audio track or upon
receipt of a STOP PLAY/SCAN command. Upon receipt of the STOP PLAY/SCAN command the Logical Unit
shall set the current address to the last address of data read from the media by the scan operation.
Subsequent Audio Play commands shall cause the Logical Unit to begin playing at the location last output by
the SCAN command. If the Logical Unit receives a PAUSE/RESUME Command with the resume bit clear, the
Logical Unit shall pause. After that, if the Logical Unit receives a PAUSE/RESUME Command with the resume
bit set, the Logical Unit shall resume audio play, not scan, from the address where the audio pause occurred.
If the Logical Unit receives a SCAN command during play or pause, the Logical Unit shall stop play or pause
and perform Scan.
If the Logical Unit encounters a data track, it shall terminate the scan.
Upon receipt of a READ SUB-CHANNEL Command during scan, the Logical Unit shall return an Audio Status
of 11h (Audio Play operation in Progress).
The Initiator is required to issue PLAY AUDIO command immediately following a STOP PLAY/SCAN
command to resume the play audio operation at normal speed.

Table 342 - SCAN Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (BAh)
1 Reserved Direct Reserved RELAD
R
2 (MSB)
3 Scan Starting Address Field
4
5 (LSB)
6 Reserved
7 Reserved
8 Reserved
9 Type Reserved
10 Reserved
11 Control

If the DIRECT bit is set to zero, the Logical Unit shall perform a fast-forward scan operation. A DIRECT bit of
one causes a fast-reversed scan operation.
The RELADR bit shall be set to zero.

252
BSR NCITS 333

The Scan Starting Address specifies the address at that the audio fast scan operation shall begin. The Type
field Table 343 specifies the format of the address contained in the Scan Starting Address Field. Table 343
defines the type field bits.

Table 343 - Type field bit definitions


Bits Address Type
7-6
00 Logical block address format
01 MIN, SEC, and FRAME format (MSF)
10 Track Number (TNO) format
11 Reserved

With a Type field of 00h the Scan Starting address field specified in command bytes 2-5 are defined in Table
344.

Table 344 - Scan starting address field format-logical blocks


Bit 7 6 5 4 3 2 1 0
Byte
2 (MSB)
3 Scan Starting Logical Block Address Field
4
5 (LSB)

With a Type field of 01h, bytes 2-5 specify the MSF address of the starting sector. See Table 345 below.

Table 345 - Scan Starting Address format - MIN, SEC, FRAME format
Bit 7 6 5 4 3 2 1 0
Byte
2 Reserved
3 CD-Absolute Time (MIN)
4 CD-Absolute Time (SEC)
5 CD-Absolute Time (FRAME)

The MIN, SEC and FRAME fields specify the relative running time from the beginning of the disc. The MIN
field has a range of 00d to 99d (00h to 63h). The SEC field ranges from 00d to 59d (00h to 3Bh). The FRAME
field has a range of 00h to 74d (00h to 4Ah). All MSF fields shall be binary
With a Type field of 10h, bytes 2 - 5 specify a starting address of a specific Track Number (TNO). See Table
346 below

Table 346 - Scan Starting Address Format-Track Number (TNO)


Bit 7 6 5 4 3 2 1 0
Byte
2 Reserved
3 Reserved
4 Reserved
5 Track Number

253
BSR NCITS 333

The track number field specifies the track number in binary at that the scan operation will begin. This field has
a range of 01h to 63h.
Scanning is a repeated play and jump operation. An example is the following implementation of forward and
reverse scan that will provide good quality sound: Forward scan - Play six CD-DA blocks and then jump 190
CD-DA blocks in the forward direction. Reverse Scan - play six CD-DA blocks and then jump 150 CD-DA
blocks (from the last block of the six) in the reverse direction.
Table 347 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 347 - Recommended errors for SCAN operation


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

254
BSR NCITS 333

6.1.31. SEND CUE SHEET Command


A Session-at-once recording is written beginning with the Lead-in and continuing through the Lead-out. Only
user data will be sent with the write commands, so a guide structure is required by the Logical Unit in order to
control the recording process. This guide structure is called the cue sheet. The cue sheet is constructed in the
Initiator and sent to the Logical Unit.

Table 348 - SEND CUE SHEET Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (5Dh)
1 Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 (MSB)
7 Cue Sheet Size
8 (LSB)
9 Control Byte

The Cue Sheet Size parameter is the number of bytes in the cue sheet to be sent to the Logical Unit. The
entire Cue Sheet shall be received by the Logical Unit prior to beginning the write process. If the Logical Unit
cannot accept and buffer the entire cue sheet, then CHECK CONDITION is returned and sense is set to
ILLEGAL REQUEST, INVALID FIELD IN CDB.
If the Write Parameters Mode Page does not have Write Type set to Session-at-once , then CHECK
CONDITION status is returned and sense key is set to ILLEGAL REQUEST, COMMAND SEQUENCE
ERROR.
If the Write Mode in the Write Parameter Mode Page, is changed from session at once, the Q sheet may not
be available.
6.1.31.1. CUE SHEET FORMAT
The Cue Sheet contains information required to specify the layout of a disc to be written, and shall be sent to
the Logical Unit via the SEND CUE SHEET command before writing data to the disc.
The Cue Sheet format is shown in Table 349.

Table 349 - Cue Sheet format


Byte Number Cue Sheet Data
0 Mixture of
... Information of absolute disc location, catalog Code,
(m-1)* 8 and ISRC (total m lines)

If the Catalog Code is to be recorded, it shall be described at the beginning of the Cue sheet.
If the ISRC is to be recorded, it shall be described immediately preceding each Track’s information in the Cue
Sheet.
For the Cue sheet, the Lead-out start time shall be the last entry.

255
BSR NCITS 333

6.1.31.2. Information of the absolute disc location


The Logical Unit writes a disc according to this information. This information defines the following parameters:
1. Generation of Sub-channel P and Q channel.
2. Format and block size of the data transferred by the WRITE command

Table 350 - Sample CUE SHEET


Byte Number CTL/ TNO INDEX DATA SCMS ABSOLUTE TIME
ADR FORM
MIN SEC FRAME
5 1 5 1 1 1
00 (Lead-in) 01h 00h 00h 01h 00h 00h 00h 00h
08 (TNO:01) 01h 01h 00h 01h 00h 00h 00h 00h
2
10 (TNO:01) 01h 01h 01h 00h 00h 00h 02h 00h
18 (TNO:02) 01h 02h 00h C0h 00h 07h 29h 71h
20 (TNO:02) 01h 02h 01h C0h 00h 07h 31h 71h
28 (TNO:03) 01h 03h 01h C0h 00h 14h 18h 03h
4
30 (TNO:04) 41h 04h 00h 10h 00h 19h 06h 62h
38 (TNO:04) 41h 04h 01h 10h 00h 19h 09h 62h
4
40 (TNO:05) 41h 05h 00h 11h 00h 27h 37h 10h
48 (TNO:05) 41h 05h 01h 10h 00h 27h 40h 10h
6
50 (TNO:06) 01h 06h 00h 01h 80h 38h 53h 23h
6
58 (TNO:06) 01h 06h 01h 00h 80h 38h 55h 23h
5 3 5
60 (Lead-out) 01h AAh 01h 01h 00h 56h 37h 46h
NOTES:
1) Always zero for Lead-in except when DATA FORM is set to 41h.
2) The first information track on a disc is preceded by a pause encoding of 2-3 seconds. (If the first
track is a Data track, this track does not contain pause encoding, but always contains a "pause" of 2
seconds of pre-gap).
3) Always 01h for Lead-out
4) Pre-gap
5) For the Lead-out area the DATA FORM shall be one. For Lead-in, DATA FORM shall be either
01h or 41h. The control mode of the first track is specified. All data for both Lead-in and Lead-out
shall be generated by the Logical Unit except if DATA FORM 41h is selected for the Lead-in.
6) Copy
This information is composed of data units of 8 bytes (1 line). The information consists of three parts:
1) The Lead-in area, and contains only one data unit.
2) The Program area, that contains data units.
3) The Lead-out area, and contains one or more data units.
The data units in Program Area and Lead-out area are in Absolute Time order from the start time of index = 0
of the first track of the session.

256
BSR NCITS 333

Each data unit of Program area and Lead-out area indicates that the value of each field (CONTROL, TNO, X,
DATA FORM or ZERO) changes at the time shown in ABSOLUTE TIME field.

Table 351 - Cue Sheet Data


CTL/ TNO INDEX DATA SCMS ABSOLUTE TIME
ADR FORM
Min Sec Frame
01h 02h 01h C0h 00h 07h 31h 71h
01h 03h 01h C0h 00h 14h 18h 03h

The above data unit indicates that the value of TNO changes from 02 to 03 when ABSOLUTE TIME is
14/18/03 MSF.
6.1.31.2.1. Control/Address Field
The CTL/ADR byte contains the Control field in the upper 4 bits and the ADR in the lower 4 bits. Refer to Table
352.

Table 352 - CTL/ADR byte


7 6 5 4 3 2 1 0
CTL Field ADR Field

6.1.31.2.2. CTL Field (upper 4 bits)


The CTL (Control) field contains 4 bits that define the kind of information in a track. The definition is shown in
Table 353.

Table 353 - Control Field


Bit 7 Bit 6 Bit 5 Bit 4 Definition
0 0 x 0 2 audio channels without pre-emphasis
1 0 x 0 4 audio channels without pre-emphasis
0 0 x 1 2 audio channels with pre-emphasis of 50/15 µs.
1 0 x 1 4 audio channels with pre-emphasis of 50/15 µs.
0 1 x 0 Data track
x x 0 x digital copy prohibited
x x 1 x digital copy permitted

The bits of the Control field (except for the copy bit) shall only be changed during an actual pause (Index = 00)
of at least 2 seconds and during Lead-in area.

257
BSR NCITS 333

6.1.31.2.3. ADR Field (lower 4 bits)


Table 354 defines the codes found in the ADR Field

Table 354 - ADR Field


Bit 3 Bit 2 Bit 1 Bit 0 Definition
0 0 0 1 start time at TNO/IDX
0 0 1 0 CATALOG CODE
0 0 1 1 ISRC CODE

All other codes are reserved for future use.


Control shall be the same for each entry associated with a particular track except for first part of pre-gap.
6.1.31.2.4. TNO
The TNO field indicates track number expressed in hexadecimal. Each track has a minimum length of 4
seconds, not including the pause length preceding the track.
6.1.31.2.5. INDEX Field
The index number expressed in hexadecimal. The Logical Unit supports only 00h to 63h.
6.1.31.2.6. DATA FORM
Table 355 defines the data form byte.

Table 355 - Data Form Byte


7 6 5 4 3 2 1 0
Data Form of Sub- Data Form of Main Data
channel

6.1.31.2.7. SCMS (Serial Copy Management System)


Bit 7 of data form of 1 indicates that Copy bit of CONTROL field alternates for Serial Copy Management
System (see Table 356). The other 7 bits (Reserved) are zero This bit is effective if Copy bit of the Control
Code is zero.

Table 356 - SCMS Byte


7 6 5 4 3 2 1 0
Alternate Reserved
Copy bit

6.1.31.2.8. DATA FORM OF MAIN DATA


The DATA FORM OF MAIN DATA field specifies the format of the main data to be sent by a WRITE command
to write on the disc. Currently available data formats are 1.) CD-DA, 2.) CD-ROM mode 1, 3.) CD-ROM XA,
and CD-I. For Lead-in and Lead-out area data are generated automatically except if DATA FORM is set to 41h

258
BSR NCITS 333

6.1.31.2.9. CD-DA Data Form


Figure 29 - CD (CD-DA) defines a CD-DA Data Form for one frame.

Data Form Data of One Frame Data Size


00h 2352 2352
01h 2352 0

Figure 29 - CD (CD-DA)
The CD-DA data format, Table 357, is as follows;

Table 357 - CD-DA Data format (1 Sample)


Bit 7 6 5 4 3 2 1 0
Byte
n*4+0 (L Ch) L7 L6 L5 L4 L3 L2 L1 L0
n*4+1 (L Ch) L15 L14 L13 L12 L11 L10 L9 L8
n*4+2 (R Ch) R7 R6 R5 R4 R3 R2 R1 R0
n*4+3 (R Ch) R15 R14 R13 R12 R11 R10 R9 R8
n = 0,1, - 587
1 Second = 75 Frames
1 Frame = 588 Samples
1 Sample = 4 bytes (16 bits L, RCh)

6.1.31.2.10. CD-ROM mode 1 Form


Figure 30 - CD-ROM mode 1 defines the form for CD-ROM mode 1.

Data Sync/ Data of One Frame EDC/ECC Data


Form Header Area Size
2 1 2
10h 16 2048 288 2048
3 1 3
11h 16 2048 288 2352
2 3 2
12h 16 2048 288 2048
3 3 3
13h 16 2048 288 2352
2 2 2
14h 16 2048 288 0

Figure 30 - CD-ROM mode 1

259
BSR NCITS 333

6.1.31.2.11. CD-ROM XA, CD-I Form


Figure 31 - CD-ROM XA, CD-I defines the form for CD-ROM XA, CD-I.

Data Sync/ Sub Data of One Frame EDC/ECC Data


Form Head Header Area Size
er
2 1 1 3
20h Form 1 16 8 2048 280 2336
2 1 1 3
Form 2 16 8 2324 4 2336
3 1 1 3
21h Form 1 16 8 2048 280 2352
3 1 1 3
Form 2 16 8 2324 4 2352
2 1 3 3
22h Form 1 16 8 2048 280 2336
2 1 3 3
Form 2 16 8 2324 4 2336
3 1 3 3
23h Form 1 16 8 2048 280 2352
3 1 3 3
Form 2 16 8 2324 4 2352
24h Form 1 NA NA NA NA NA
2 2 2 2
Form 2 16 8 2324 4 0

Figure 31 - CD-ROM XA, CD-I


Reserved Area: The Reserved Area contains 4 bytes that are reserved for quality control during the disc
production process. In case of Generate Zero, the Logical Unit generates zero data of 4 bytes for this area.
6.1.31.2.12. CD-ROM mode 2
Figure 32 - CD-ROM Mode 2 defines the form for CD-ROM mode 2.

Data Sync/ Data of One Frame Data


Form Heade Size
r
2 1
30h 16 2336 2336
3 1
31h 16 2336 2352
2 3
32h 16 2336 2336
3 3
33h 16 2336 2352
2 2
34h 16 2336 0

Figure 32 - CD-ROM Mode 2


Notes for all forms:
1. Read Buffer: The data is sent by the Initiator.
2. Generate Data: The Logical Unit generates the data in this area. The Initiator shall not send the data for
this area. All sectors in the program area shall have an associated write, even if all data for the sector is
to be generated by the drive. Zero bytes shall be transferred for such sectors.
3. Ignore Buffer: The Logical Unit receives the data for this area from the Initiator with Write command.
However, the Logical Unit ignores the data and generates data for this area.

260
BSR NCITS 333

6.1.31.3. Data Form of Sub-channel


The DATA FORM OF SUB-CHANNEL (Table 358) field specifies the format of the Sub-channel data stored in
the inner buffer by WRITE command to write on the disc.

Table 358 - Data Form of Sub-channel


Data Form
Bit 7 Bit 6 Data of One Frame Data Size
0 0 96 *1 0
0 1 96 *2 96
1 0 Reserved
1 1 24 Pack 24 Pack 24 Pack 24 Pack 96
3 3 3 3

Notes:
1) Generate zero data
2) RAW Data
3) PACK DATA, Initiator sends packed data. The Logical Unit writes R-
W. The Logical Unit calculates and overwrites ECC, and performs
Interleaving for each PACK.
Note: When this Data Form of Sub-channel is selected, along with 01h Data Form of Main Data, this indicates that
there will be an attempt to write Raw P-W Sub-channel data in the Lead-in. Absolute Time field should be set with the
start address of the Lead-in, that can be read via a READ TRACK command for track 0. In this case, the Data Block
Type of the Write Parameters Mode Page should be set to 2, 3, or 4.
The Sub-channel data is placed at the end of each Frame of main data. Figure 33 - Location of Sub-channel
Data shows the relationship of Main Data and Sub-channel data.

Main Data (2352)


1 Frame
Subcode Data (96)

Main Data (2352)

Subcode Data (96)

Data transferred by WRITE Command

Figure 33 - Location of Sub-channel Data


The P and Q Sub-channel information contained within the Sub-code Data shall be ignored. The P and Q
Sub-channel information is generated by the Logical Unit and based on the content of the cue sheet.
6.1.31.4. Absolute Time
The time shown at Min, Sec, and Frame gives the changing point of the CONTROL, TNO, X, DATA FORM or
SCMS field. These values are given in absolute time scale.
6.1.31.5. Session Format
The Session Format is used for the identification of the type of disc. Refer to Table 319.

261
BSR NCITS 333

6.1.31.6. Pre-gap
If a Data track is preceded by a different mode of track (such as an audio track) or if the mode number of CD-
ROM changes, this Data track starts with an extended pre-gap. A pre-gap is placed at the head of a Data
track, also is belonging to the Data track. A pre-gap does not contain actual user data. The pre-gap is encoded
as “pause.”
An extended pre-gap is divided into two parts. The first part of the extended pre-gap has a minimum 1 second
of data, and it is encoded according to the data structure of previous track. The second part has a minimum 2
seconds data, and this data track is encoded according to the same data structure as the other parts.
6.1.31.7. Post-gap
If a Data track is followed by another kind of track (such as an audio track), this Data track ends with a post-
gap. A post-gap is placed at the end of a Data track, and is part of the Data Track. A post-gap does not
contain actual user data. The minimum length of post-gap is 2 seconds. The Logical Unit does not perform any
action for a Post-gap.
6.1.31.8. Media Catalog Number
Table 359, Catalog Number, indicates the catalog number of a disc. The number uses UPC/EAN-code (BAR
coding). If no catalog number is used, it shall be omitted. The format is as follows;

Table 359 – Media Catalog Number (N1..N13)


CTL/ Catalog Number
ADR
Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6 Byte 7
02h N1 N2 N3 N4 N5 N6 N7
02h N8 N9 N10 N11 N12 N13 00h
Note: The format of the data recorded in the Sub-channel area is not identical to that specified in the Write Parameter
Mode Page.
N1-N13 Catalog Number
CTL: 4 bits are zero.
ADR: 0010b
Catalog Number: ASCII 13 BYTES
6.1.31.9. ISRC
Table 360, ISRC (International Standard Recording Code), is a code that is given to CD-DA tracks. If no ISRC
is used, it shall be omitted. If a track has no ISRC, it is not written in the Cue Sheet.

Table 360 - ISRC (I1..I12)


CTL/ ISRC(International Standard Recording Code)
ADR

byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7


x3h TNO I1 I2 I3 I4 I5 I6
x3h TNO I7 I8 I9 I10 I11 I12
Note: The format of the data recorded in the Sub-channel area is not identical to that specified in the Write Parameter
Mode Page.
CTL: 4 bits of Control code are the same as that of disc location of the specified track
ADR: 0011b
TNO: Track number in HEX.
12 letters ISRC (On the Cue Sheet, I1-I12 shall be described by valid ASCII characters. See Table 360 for
valid codes.

262
BSR NCITS 333

I1-I2: Country Code


I3-I5: Owner Code
I6-I7: Year of recording
I8-I12: Serial Number
Table 361 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 361 - Recommended Sense Key, ASC and ASCQ SEND CUE SHEET Command
Error Reference
Deferred Errors Table A.1
General Errors Table A.2

263
BSR NCITS 333

6.1.32. SEND DVD STRUCTURE Command


The SEND DVD STRUCTURE command (Table 362) provides a means for the Initiator to transfer DVD
STRUCTURE data to the Logical Unit.

Table 362 – SEND DVD STRUCTURE Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (BFh)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Format
8 (MSB) Structure Data Length
9 (LSB)
10 Reserved
11 Control

The Format field (Table 363) indicates the type of information to be sent to the device. When the
device/media does not support the specified format code, the command shall be terminated with a CHECK
CONDITION. The sense key shall be set to ILLEGAL REQUEST and the additional sense code set to
INVALID FIELD IN CDB.

Table 363 – Format Field Definition


Format Data Description
Code
00h – 03h Reserved
04h User Specific Data Send User Specific Data to the RMD cache
05h CGMS, CPM Send data to CPR_MAI in data area cache. (CPM,
CGMS)
06h – 0Eh Reserved
0Fh Timestamp Send Timestamp data to the RMD cache
10h – 2Fh Reserved
30h Disc Control Block Send a Disc Control Block
31h – FFh Reserved

The DVD-R device shall implement the cache memory for DVD STRUCTURE data.
The cached RMD can be read by using the READ DVD STRUCTURE command.
The Structure Data Length field specifies the length in bytes of the DVD STRUCTURE data to be
transferred from the Initiator to the Logical Unit after the CDB is transferred. A Structure Data Length field of
zero indicates that no data shall be transferred. This condition shall not be considered an error.

264
BSR NCITS 333

6.1.32.1. User Specific Data


Table 364 defines the response data format for User Specific Data, Format code 04h

Table 364 – SEND DVD STRUCTURE Data Format (Format Code = 04h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD-R User Specific Data
0 (MSB)
… User Specific Data
2047 (LSB)

The DVD STRUCTURE Data Length field specifies the length in bytes of the User Specific Data to follow. A
DVD Structure Data Length field of zero indicates that no User Specific Data shall be transferred. This
condition shall not be considered an error.
The User Specific Data field contains user specific data. This data shall be used to specify the RMD Field 2,
and when writing Lead-in the contents of this field shall also be written in Disc manufacturing information field
of Lead-in or Border-in.

6.1.32.2. Copyright Management Information


Table 365 describes the response data format for Copyright Management Information, format
code 05h.

Table 365 - SEND DVD STRUCTURE Data Format (Format Code = 05h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
Copyright Management Information in data area
0 CPM Reserve CGMS Reserved
d
1 Reserved
2 Reserved
3 Reserved

The DVD STRUCTURE Data Length field specifies the length in bytes of the Copyright Management data to
follow. A DVD Structure Data Length field of zero indicates that no Copyright Management data shall be
transferred. This condition shall not be considered an error.
When the CPM bit is set to zero, it indicates that this sector contains no copyrighted material. When the CPM
bit is set to one, it indicates that this sector contains copyrighted material. If this structure is not sent, then the
default value of the CPM bit shall be set to zero.
When the CPM bit is set to 0, the CGMS field shall be set to 00b. When the CPM bit is set to 1, and the
CGMS field is set to 00b, it indicates that copying is permitted without restriction., If the CGMS field is set to

265
BSR NCITS 333

01b, and CPM = 1, it indicates that the CGMS field is reserved. If the CGMS field is set to 10b, and CPM =1, it
indicates that one generation of copies may be made, and if the CGMS field is set to 11b, and CPM =1, it
indicates that copying is not permitted.
The identical CGMS value of CPR_MAI in data area shall match this format following a write operation.

6.1.32.3. Timestamp
The format of Timestamp field is structured as shown in Table 345. This format code is used to set
Unique Disc Identifier field of RMD (Recording Management Data) for DVD-R. This time stamp data
may also be used in OPC related field in RMD Field 1 and may help the judgement to do OPC.
The time should be current UTC (Universal Coordinated Time) 24 hour clock.

Table 366 - SEND DVD STRUCTURE Data Format (Format Code = 0Fh)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved
3 Reserved
DVD Timestamp Data
0 Reserved
1 Reserved
2 Reserved
3 Reserved
4 (MSB)
5 Year
6
7 (LSB)
8 (MSB) Month
9 (LSB)
10 (MSB) Day
11 (LSB)
12 (MSB) Hour
13 (LSB)
14 (MSB) Minute
15 (LSB)
16 (MSB) Second
17 (LSB)
The DVD STRUCTURE Data Length field specifies the length in bytes of the DVD Timestamp Data to follow. A
DVD Structure Data Length field of zero indicates that no DVD Timestamp Data shall be transferred. This
condition shall not be considered an error.
The Year field shall specify the year that coded as ASCII in the range “0001” to “9999”.
The Month field shall specify the month of the year that coded as ASCII in the range “01” to “12”.
The Day field shall specify the day of the month that coded as ASCII in the range “01” to “31”.
The Hour field shall specify the hour of the day that coded as ASCII in the range “00” to “23”.

266
BSR NCITS 333

The Minute field shall specify the minute of the hour that coded as ASCII in the range “00” to “59”.
The Second field shall specify the second of the minute that coded as ASCII in the range “00” to “59”.
6.1.32.4. Disc Control Block
Table 367 defines data format code 30h.

Table 367 - SEND DVD STRUCTURE Data Format (Format Code = 30h)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) DVD STRUCTURE Data Length
1 (LSB)
2 Reserved Erase
3 Reserved
Disc Control Block
0
… Disc Control Block
n

The Structure Data Length field shall indicate the number of bytes following this field.
The Erase bit, when set to zero, shall indicate that the Disc Control Block be written to the media. When set
to one, it shall indicate that the Disc Control Block on the medium, with a Content Descriptor matching the one
sent, shall be erased. When erasing a DCB, at least the first four bytes shall be sent. The Logical Unit shall
not record any DCB unknown to the Logical Unit.
The Disc Control Block field is defined in Table 265. If a Disc Control Block, with fewer than 32768 bytes,
is sent the Logical Unit shall pad the Disc Control Block with 00h bytes.
Table 368 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 368 - Recommended errors for SEND DVD STRUCTURE Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

267
BSR NCITS 333

6.1.33. SEND EVENT Command


The SEND EVENT command requests the Logical Unit to process an event for the Initiator. The event should
be one that the Initiator had received from an earlier GET EVENT/STATUS NOTIFICATION command but not
handled by the Initiator. If a Logical Unit has received a persistent prevent, it will report events via the GET
EVENT/STATUS NOTIFICATION command instead of processing them directly. For example if a user pushes
an independent play button on the front panel while the Logical Unit is in a persistent prevent state, the play
would not be performed and instead the request shall be reported to the Initiator by a GET EVENT/STATUS
NOTIFICATION command. Such events may include front panel button presses, etc. When such a request is
received by the Initiator, it should complete any operations in progress and process the event by emulating the
button’s functionality via commands or sending the event back to the Logical Unit using the SEND EVENT
command.
The Media Status Class Events reported to the Initiator shall not be sent back to the Logical Unit using the
SEND EVENT command. Only events of Class External Request (Class 3) shall be sent via the SEND EVENT
command.

Table 369 – SEND EVENT Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (5Dh)
1 Reserved Reserved IMMED
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Reserved
8 (MSB) Parameter List Length
9 (LSB)
10 Reserved
119 Control Byte

An immediate (IMMED) bit of one indicates that status shall be returned as soon as the Command Packet
has been validated. The actual operation specified by the Event Parameter shall be processed after the status
has been reported to the Initiator. The IMMED bit shall be set to 1h.
The Parameter List Length field specifies the length in bytes of the Event parameter list that shall be
transferred from the Initiator to the Logical Unit after the Command Packet is transferred. A parameter list
length of zero indicates that no data shall be transferred. This condition shall not be considered as an error.
The Logical Unit shall terminate the command with CHECK CONDITION status if the Event parameter list
length results in the truncation of Event parameter data. The sense key shall be set to ILLEGAL REQUEST,
and the additional sense code shall be set to PARAMETER LIST LENGTH ERROR.
The Logical Unit shall terminate the command with CHECK CONDITION status, set the sense key to
ILLEGAL REQUEST, set the additional sense code to INVALID FIELD IN PARAMETER LIST, and shall not
take any action directed by the event specified for the following conditions:
1. If the Initiator sets any unreserved field in the Event parameter header to an unsupported value.
2. If an Initiator sends an Event parameter list with a Event Data Length not equal to the length returned by the
GET EVENT/STATUS NOTIFICATION command for the specified event class.
3. If the Initiator sends an invalid value for any Event parameter.

268
BSR NCITS 333

Table 370 – Event Parameter Header


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) Event Parameter Length
1 (LSB)
2 Reserved Reserved Notification Class (1h)
3 Reserved

The Event Parameter Length field specifies the number of bytes that follow the Event Parameter Length
field. Notification Class field specifies the class of Event being sent to the Logical Unit. This field shall
contain a 1h.

Table 371 - Operational Change/Notification Parameter Data


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved Operational Event
1 Persistent Reserved Operational Status
Prevented
2 (MSB) Operational Request Code
3 (LSB)

The Operational Event field indicates the type of operation to be performed.

Table 372 – Operational Event Field


Code Event Description
0h No Change (NoCHge) No request shall be processed by the Logical Unit
1h Operational Change Request Initiator requests Logical Unit to process the Operational
Request
2h - Fh Reserved

The Persistent Prevent bit is reserved and shall be ignored.


The Operational Status field is reserved and shall be ignored. This field may contain the non zero value
reported to the Initiator.
Operational Request Code field contains the actual requested operation. See Table 170 for code
descriptions.
Table 373 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

269
BSR NCITS 333

Table 373 - Recommended errors for SEND EVENT Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

270
BSR NCITS 333

6.1.34. SEND KEY Command


The SEND KEY command, Table 374, provides data necessary for authentication and for generating a Bus
Key for the DVD Logical Unit.
This command, in conjunction with REPORT KEY command, is intended to perform authentication for Logical
Units that conform to DVD Copy Protection scheme and to generate a Bus Key as the result of authentication.

Table 374 - SEND KEY Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (A3h)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Reserved
8 (MSB) Parameter List Length
9 (LSB)
10 AGID Key Format
11 Control

The KEY Format field (Table 375) indicates the type of information that is to be sent to the Initiator.
The AGID field is described in the REPORT KEY command.

Table 375 - Key Format Code definitions for SEND KEY command
Key Format Sent Data Description AGID Use
000001b Challenge Accepts a Challenge Key Valid AGID required
Key
000011b KEY2 Accepts a KEY2
000110b RPC Set Region Reserved & Ignored
Structure
111111b None Invalidate Specified AGID. Valid AGID required
Invalidating an invalid AGID shall not be considered
an error.
An AGID that has not been granted shall be
considered invalid.
All other values Reserved

The Key Formats are defined in Table 376, Table 377, and Table 380.

271
BSR NCITS 333

Table 376 - SEND KEY Parameter List (KEY Format field =000001b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) SEND KEY Parameter List Length (0Eh)
1 (LSB)
2 Reserved
3 Reserved
Challenge Key Value
0 (MSB)
: Challenge Key Value
9 (LSB)
10 Reserved
11 Reserved

Challenge Key is sent to the DVD Logical Unit to get corresponding KEY1 from the DVD Logical Unit to
interrogate conformity with DVD Copy Protection scheme.

Table 377 - SEND KEY Parameter List (KEY Format field =000011b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) SEND KEY Parameter List Length (0Ah)
1 (LSB)
2 Reserved
3 Reserved
KEY2
0 (MSB)
: Challenge Key Value
4 (LSB)
5 Reserved
6 Reserved
7 Reserved

The KEY2, generated external to the DVD Logical Unit, is sent to the DVD Logical Unit to determine its
conformity with DVD Copy Protection scheme. The KEY 2 value will be used for the second input to generate
a Bus Key in the DVD Logical Unit.
When the KEY2 value sent does not conform to the DVD Copy Protection scheme, this command shall be
terminated with an CHECK CONDITION status. The sense key shall be set to ILLEGAL REQUEST and the
additional sense code & qualifier set to COPY PROTECTION KEY EXCHANGE FAILURE -
AUTHENTICATION FAILURE.
When the SEND KEY command with KEY Format = 000011b terminates with CHECK CONDITION status, the
retry of authentication shall be performed from the beginning.

272
BSR NCITS 333

Table 378 - SEND KEY Parameter List (KEY Format field =000110b)
Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) SEND KEY Parameter List Length (06h)
1 (LSB)
2 Reserved
3 Reserved
RPC Structure
0 Preferred Logical Unit Region Code
1 Reserved
2 Reserved
3 Reserved

Preferred Logical Unit Regional Code is sent to the DVD Logical Unit to make the Logical Unit
regionalized. The Preferred Logical Unit Region Code specifies a single region in which the disc can be
played. Each bit represents one of eight regions. If a bit is cleared in this field, the disc can be played in the
corresponding region. If a bit is set in this field, the disc cannot be played in the corresponding region. Exactly
one bit of the Preferred Logical Unit Region Code shall contain a zero.
If the Logical Unit does not support setting of the Region, or the Region is no longer changeable, then this
command shall be terminated with CHECK CONDITION Status, 5/6F/05 LOGICAL UNITREGION MUST BE
PERMANENT/REGION RESET COUNT ERROR.
Table 379 describes errors that may occur during the operation of the Command or which may cause a
CHECK CONDITION status to be reported.

Table 379 - Recommended errors for SEND KEY Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

273
BSR NCITS 333

6.1.35. SEND OPC INFORMATION Command


This command is used to restore the Optimum Power Calibration (OPC) (Table 380) values to the Logical Unit
for a specific disc. It is used in combination with the READ DISC INFORMATION command (sub-clause
6.1.18.).

Table 380 - SEND OPC INFORMATION Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (54h)
1 Reserved Reserved DoOpc
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 (MSB) Parameter List Length
8 (LSB)
9 Control

The Parameter List Length shall be set to reflect the number of the parameter bytes to be transferred. The
Parameter List Length shall be an integral number of eight, (2 byte OPC Speed and 6 bytes of OPC value).
This can be extended with a second OPC Speed and Value. In this case the length is 16. See sub-clause
6.1.18. for more information.
The DoOpc bit, when set to one, indicates the Logical Unit shall perform an OPC operation to set the OPC
values for the current speed. These OPC values shall become current. Parameter List length should be set to
zero. When the bit is set to zero, the Logical Unit sets OPC values to those sent in the Parameter List.
A Parameter List Length field of zero shall not be considered an error condition.
The Initiator shall transfer zero or more OPC tables (see Table 241). The transfer length shall be 8X (the
number of OPC table entries).
The format of the OPC Response Data to be transferred is shown in Table 381.

Table 381 - SEND OPC INFORMATION Parameter List


Bit 7 6 5 4 3 2 1 0
Byte
0 (MSB) OPC Speed in Kbytes per Second
1 (LSB)
2 (MSB)
3
4 OPC Value
5
6
7 (LSB)

274
BSR NCITS 333

Table 382 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 382 - Recommended errors for SEND OPC INFORMATION Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4

275
BSR NCITS 333

6.1.36. SET CD SPEED Command (Obsolete)


The SET CD SPEED (Table 383) command provides a means for the Initiator to set the spindle speed to be
used while reading CD data. Note that PLAY commands will not use the speed set by this command.

Table 383 - SET CD SPEED Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (BBh)
1 Reserved Reserved
2 (MSB) Logical Unit Read Speed (Kbytes/sec)
3 (LSB)
4 (MSB) Logical Unit Write Speed (Kbytes/sec) (CD-R/RW only)
5 (Reserved for CD-ROM) (LSB)
6 Reserved
7 Reserved
8 Reserved
9 Reserved
10 Reserved
11 Control

The Logical Unit Read Speed and Write Speed parameters contain the requested Data rates the Logical Unit
should use. The Logical Unit may choose to select the speed specified or any slower rate. A value of FFFFh
will set the Logical Unit Read Speed or the Logical Unit Write Speed to the maximum supported. Requesting a
speed faster than the Logical Unit supports shall not generate an error. The actual speed set is returned in the
CD Capabilities Mechanical Status Mode page. (See 5.5.10.).
Table 384 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 384 - Recommended errors for SET CD SPEED Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

276
BSR NCITS 333

6.1.37. SET READ AHEAD Command


The SET READ AHEAD command (Table 385) requests that the Logical Unit perform Read Ahead Caching
operations from the Read-Ahead Logical Block Address when the Logical Unit encounters the Trigger Logical
Block Address during its internal Read Ahead Caching operation.
If this command is received by the DVD Logical Unit when data after the Trigger Logical Block Address and
before the Read Ahead Logical Block Address is contained in its cache, that data should be discarded and
Read Ahead Caching restarted from the specified Read Ahead Logical Block Address.
Sectors after the Trigger LBA (Not including the Trigger LBA) should be skipped. The Initiator will normally
read the data for both the Trigger and Read Ahead LBA’s. The sectors between these addresses (exclusive)
are normally not read by the Initiator.
The Read-Ahead operation shall be performed in background, i.e. the Logical Unit shall accept a command
during the Read-Ahead operation.

Table 385 - SET READ AHEAD Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (A7h)
1 Reserved Reserved
2 (MSB)
3 Trigger Logical Block Address
4
5 (LSB)
6 (MSB)
7 Read Ahead Logical Block Address
8
9 (LSB)
10 Reserved
11 Control

Table 386 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 386 - Recommended errors for SET READ AHEAD Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

277
BSR NCITS 333

6.1.38. SET STREAMING Command


The SET STREAMING command (Table 387) provides a way for the Initiator to indicate to the Logical Unit that
the application has specific request or requirements for Logical Unit performance. The Logical Unit may utilize
the Initiator supplied information to change mechanical or logical operation. For example, the spindle motor
speed may be adjusted downward for lower data rates to help avoid buffer overrun (during reading) or buffer
underrun (during writing) followed by a consequent rotational delay. The performance setting is persistent and
remains until a new descriptor is sent. The setting only applies to the extent identified by the Start and End
LBA field. Only zero or one performance extents shall be valid at any time.
The SET STREAMING command affects the READ and Write command operation, and may affect other
commands, e.g. BLANK and FORMAT UNIT.
If the SET STREAMING command is used to set performance, the Logical Unit may disable read and write
reallocation in the specified region in order to meet the performance criteria.

Table 387 – SET STREAMING Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (B6h)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Reserved
8 Reserved
9 (MSB) Parameter List Length
10 (LSB)
11 Control

The Initiator shall send a performance descriptor during the data phase of this command. The Performance
Descriptor shall be sent in the format shown in Table 388.

278
BSR NCITS 333

Table 388 - Performance Descriptor


Bit 7 6 5 4 3 2 1 0
Byte
0 Reserved RDD Exact RA
1 Reserved
2 Reserved
3 Reserved
4 (MSB)
5 Start LBA
6
7 (LSB)
8 (MSB)
9 End LBA
10
11 (LSB)
12 (MSB)
13 Read Size
14
15 (LSB)
16 (MSB)
17 Read Time
18
19 (LSB)
20 (MSB)
21 Write Size
22
23 (LSB)
24 (MSB)
25 Write Time
26
27 (LSB)

The RDD (Restore Logical Unit Defaults) bit, when set to zero, indicates the remaining fields are valid. When
set to one, it shall indicate that the Logical Unit is to return to its default performance settings and the
remaining fields in this descriptor shall be ignored. Read and Write reallocation ability shall be restored to the
operation specified by the Read/Write Error Recovery page.
The Exact bit, when set to zero, shall indicate that the Logical Unit shall set its internal configuration to match
the parameters as best as possible. No errors shall occur. When set to one, the Logical Unit shall set its
internal configuration to support the requested parameters. If the Logical Unit cannot perform as requested, it
shall generate CHECK CONDITION status, sense key set to ILLEGAL REQUEST, and additional sense code
set to INVALID FIELD IN PARAMETER LIST.
The RA (Random Access) bit, when set to zero, allows the Logical Unit to independently set the read and write
speeds. When set to one, directs the Logical Unit to set its performance settings for the optimized settings for
random changes between reading and writing by the Initiator. For example, a CD recorder that can record at
2X and read at 6X may choose to limit reading to 2X if the RA bit was set to one.

279
BSR NCITS 333

The Start LBA field is the first logical block for that the performance request is being made.
The End LBA field is the last logical block for that the performance request is being made.
The data rate to be delivered for reading is (Read Size)/(Read Time).
The Read Size field shall indicate the number of kilobytes the Initiator expects to be delivered per period of
Read Time when the Initiator’s requests for data occur sufficiently fast.
The Read Time field shall indicate the amount of time, in milliseconds, over that the Read Size is expected to
be read. The Initiator may set these two fields by setting Read Size to the size of its application’s buffer and
the Read Time to the amount of time it takes to empty that buffer.
The Write Size field shall be set to the number of kilobytes to be written per Write Time.
The Write Time field shall indicate the amount of time, in milliseconds, over that the Write Size is expected to
be written.
In many cases, the Write Size and Write Time fields should be set to match the corresponding Read fields. If
not, the Initiator may set the Write Size to the size of its application buffer and the Write Time to the time it
takes to fill that buffer.
Table 389 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 389 - Recommended errors for SET STREAMING Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4

280
BSR NCITS 333

6.1.39. STOP PLAY/SCAN Command


The STOP PLAY/SCAN (Table 390) Command stops playback of CD audio commands.

Table 390 - STOP PLAY/SCAN Command Descriptor Block


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (4Eh)
1 Reserved Reserved
2 Reserved
3 Reserved
4 Reserved
5 Reserved
6 Reserved
7 Reserved
8 Reserved
9 Control

Issuing a Stop Play/Scan command while the Logical Unit is scanning shall result in continuation of the play
command. Issuing a Stop Play/Scan command while the Logical Unit is paused shall stop the play command.
Issuing a Stop Play/Scan command when no play operation is in progress shall not be considered an error.
Figure 34 - Stop Play/Play Audio/Audio Scan/Pause/Resume Sequencing provides an overview of the
terminate sequences performed by the Stop Play commands.
Table 391 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 391 - Recommended errors for STOP PLAY/SCAN Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3

281
BSR NCITS 333

INITIALIZED

Play
Scan
Stop

Stop or End Stop or End Play


of Track of Track

Scan
SCAN Resume or Play PLAY

Pause Pause

Scan

Play or Resume

PAUSED

Figure 34 - Stop Play/Play Audio/Audio Scan/Pause/Resume Sequencing

282
BSR NCITS 333

6.1.40. SYNCHRONIZE CACHE Command


The SYNCHRONIZE CACHE command is shown in Table 392.
This command assures all remaining data in the data buffer has been written to the media. Logical blocks are
not necessarily removed from the cache memory as a result of the cache flush operation.
If the data buffer is empty, issuing this command will result in no data being written to the physical media. This
action will not be considered an error. Normal status shall be presented at the completion of the action.

Table 392 - SYNCHRONIZE CACHE Command


Bit 7 6 5 4 3 2 1 0
Byte
0 Operation Code (35h)
1 Reserved Reserved IMMED RELADR
2 (MSB)
3 Logical Block Address
4
5 (LSB)
6 Reserved
7 (MSB) Number of Blocks
8 (LSB)
9 Control

An IMMED (Immediate) bit of one indicates that the Logical Unit shall return status when the command
descriptor block has been validated. An Immediate bit of zero indicates that the status shall not be returned
until the operation has been completed. If the Immediate bit is one and the Logical Unit does not support
immediate operation, then the command shall terminate with CHECK CONDITION status. The sense key shall
be set to ILLEGAL REQUEST and the additional sense code shall be set to INVALID FIELD IN CDB.
The RELADR bit shall be set to zero.
The Logical Block Address field may be ignored by the Logical Unit.
The Number of Blocks field specifies the total number of contiguous logical blocks within the range. A Number
of Blocks field, equal to 0, indicates that all remaining logical blocks on the Logical Unit shall be within the
range. This field may be ignored by the drive.
A logical block within the specified range that is not in cache memory is not considered an error.
Table 393 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 393 - Recommended errors for SYNCHRONIZE CACHE Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4

283
BSR NCITS 333

6.1.41. WRITE (10) Command


The Write (10) command (Table 394) shall use the WRITE Parameters mode page to determine its operating
behavior. The description of the behavior, described in this sub-clause, applies only to CD-R/RW and DVD-R
Logical Units or Logical Units implementing incremental streaming write operations. For the write behavior of
other Logical Units refer to the WRITE (10) Command defined in the SCSI Block Command (SBC) document.

Table 394 - WRITE (10) command


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (2Ah)
1 Reserved DPO FUA Reserved RELAD
R
2 (MSB)
3 Logical Block Address
4
5 (LSB)
6 Reserved
7 (MSB) Transfer Length
8 (LSB)
9 Control

A DPO (Disable Page Out) bit, set to one, indicates that the Logical Unit shall assign the logical blocks
accessed by this command the lowest priority for being fetched into or retained by the cache. A DPO bit, of
one, overrides any retention priority specified in the cache page. A DPO bit, of zero, indicates the priority shall
be determined by the retention priority fields in the cache page, if supported. All other aspects of the algorithm
implementing the cache replacement strategy are not defined by this International Standard. The Logical Unit
may ignore this bit.
NOTE: The DPO bit is used to control replacement of logical blocks in the cache memory when the Initiator has
information on the future usage of the logical blocks. If the DPO bit is set to one, the Initiator knows the logical blocks
accessed by the command are not likely to be accessed again in the near future and should not be put in the cache
memory nor retained by the cache memory. If the DPO bit is zero, the Initiator expects that logical blocks accessed
by this command are likely to be accessed again in the near future.
The Disable Page Out (DPO) bit is not used by C/DVD Logical Units and shall be set to zero for this device
type.
A FUA (force unit access) bit, set to one, indicates that the Logical Unit shall access the media in performing
the command prior to returning GOOD status. In the case where the cache contains a more recent version of a
logical block than the media, the logical block shall first be written to the media. WRITE commands shall not
return GOOD status until the logical blocks have actually been written on the media, and the Write process is
complete. This mode may not work with a sequence of writes intended to produce a continuos stream unless
command queuing is implemented
An FUA bit of zero indicates that the Logical Unit may satisfy the command by accessing the cache memory.
For WRITE operations, logical blocks may be transferred directly to the cache memory. GOOD status may be
returned to the Initiator prior to writing the logical blocks to the medium. Any error that occurs after the GOOD
status is returned is a deferred error, and information regarding the error is not reported until the following
command.
The Logical Block Address field specifies the logical block where the write operation shall begin. In case of
WCE=1(see Write Cache page in SCSI Block Commands) and FUA=0 with variable packet writing, and if the
LBA is equal to the Next Writable Address in the same track as a previous Write, then writing should continue
without interruption of streaming. For CD-R/RW media, if, during streaming, a WRITE command is issued for
packet writing with an LBA = NWA+7 the Logical Unit shall begin a new packet. If the LBA is equal to the
NWA in another track, a SYNCHRONIZE CACHE may be performed before executing the write command. If

284
BSR NCITS 333

the LBA is not any next writable address or a writable CD address, the status shall be set to CHECK
CONDITION, ILLEGAL REQUEST, INVALID ADDRESS FOR WRITE.
LBA in the range of -45150 (FFFF4FA2h) to -1 (FFFFFFFFh) shall be encoded as a two’s complement
negative number. Values in the range 0 through ffff4fa1h shall be considered positive values. Values -45150
through 404849 are valid for CD media. Table 395shows the MSF to LBA mapping.
The RELADR bit shall be set to zero.
The transfer length field specifies the number of contiguous logical blocks of data that shall be transferred. A
transfer length of zero indicates that no logical blocks shall be transferred. This condition shall not be
considered an error. Any other value indicates the number of logical blocks that shall be transferred. For CD-
R/RW media, the block size shall be determined by the write parameters mode page (if in track at once,
packet, or raw mode) or by the cue sheet (session at once mode).

Condition Formulae

LBA + 150
−150 ≤ LBA ≤ 404849
M = IP
60 ⋅ 75

LBA + 150 – M ⋅ 60 ⋅ 75
S = IP
75
F = IP(LBA + 150 – M 60 75 – S 75)

-45150 ≤ LBA ≤ -151 LBA + 450150


M = IP
60 ⋅ 75

S = IP LBA + 450150 – M ⋅ 60 ⋅ 75
75
F = IP(LBA + 450150 – M ⋅ 60 ⋅ 75 – S ⋅ 75)

00/00/00 ≤ MSF ≤ 89/59/74 LBA = (M ⋅ 60 + S) ⋅ 75 + F - 150

90/00/00 ≤ MSF ≤ 99/59/74 LBA = (M 60 + S) 75 + F - 450150

Table 395 - LBA to MSF translation


For CD-R and DVD-R, once actual writing to the media has started, the data stream shall be uninterrupted
until the recording is done. Interruptions of data are called “under-run.” The under-run condition may also be
forced with the SYNCHRONIZE CACHE command. The Logical Unit shall behave as follows in an under-run
condition.
1) Session at Once mode: The Logical Unit shall generate and write a Lead-out (the Lead-in was generated
and written before any data). The Logical Unit shall update the PMA (CD) or RMA (DVD).
2) Track at Once mode: The Logical Unit shall pad the track (if reserved or not minimum length) and update
the PMA (CD).
3) Variable Packet: For CD, if insufficient space exists for another variable packet within a reserved track, the
Logical Unit shall pad the packet such that it fills the track. Otherwise, the Logical Unit shall write run-out and
link blocks. For DVD the Logical Unit shall perform linking.
4) Fixed Packet: The Logical Unit shall pad the packet.
5) Raw mode: The Logical Unit shall write run-out and link blocks. The Logical Unit shall read the TOC and
track information from the session just written and update the PMA. It is assumed that the Initiator has written
the Lead-out.
If the block number specified by the LBA field is already written on CD-R media, the Logical Unit shall return a
CHECK CONDITION status, ILLEGAL REQUEST, INVALID ADDRESS FOR WRITE. This error will indicate

285
BSR NCITS 333

that an under-run may have occurred, as the run-out and link blocks occupy logical addresses. On CD-RW
media, the LBA shall specify an address that is an appendable point (according to CD-R rules) or is the first
user data block of an existing packet or track.
While writing is occurring, the Logical Unit may not be able to process all SCSI commands. The following is a
list of commands that shall function during writing without causing a SYNCHRONOUS CACHE.
1) TEST UNIT READY
2) REQUEST SENSE
3) INQUIRY
4) READ TRACK INFO (for current track). If the LBA or track number specified is not within the current
track, the Logical Unit may return CHECK CONDITION status, ILLEGAL COMMAND, INVALID FIELD
IN CDB.
5) READ BUFFER CAPACITY
6) WRITE with the NWA in the current track.
7) GET CONFIGURATION
8) GET EVENT/STATUS NOTIFICATION
All other commands shall execute normally, but may force a SYNCHRONIZE CACHE before executing. The
process of writing from the Logical Unit’s cache to the medium shall not cause a NOT READY condition for
any command. CHECK CONDITION Status, LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS
may exist when the Logical Unit is padding a reserved track or writing Lead-in and Lead-out.
Table 396 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 396 - Recommended errors for WRITE Command


Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4

286
BSR NCITS 333

6.1.42. WRITE AND VERIFY (10) Command


The WRITE AND VERIFY (10) command (Table 397) requests that the Logical Unit write the data transferred
from the Initiator to the medium and then verify that the data is correctly written.

Table 397 – WRITE AND VERIFY (10) Command


Bit 7 6 5 4 3 2 1 0
Byte
0 OPERATION CODE (2Eh)
1 Reserved DPO (0) Reserved BytChk (0) RELAD
R
2 (MSB)
3 Logical Block Address
4
5 (LSB)
6 (MSB) Transfer Length
7
8
9 (LSB)
10 Reserved
11 Control

The VERIFY operation of this command shall use stricter criteria for data recoverability than READ
commands. The criteria are derived from the DVD-RAM Book, with additional vendor specific criteria allowed.
Automatic Reallocation shall be controlled, by the ARRE bit, in the READ/WRITE ERROR RECOVERY PAGE.
The VERIFY(10) command may return an error for a sector that a READ command may not.
VERIFY ERROR RECOVERY PAGE parameters are not supported.
The RELADR bit shall be set to zero.
For C/DVD Logical Units the Byte Check (BytChk) bit is not used and shall be set to zero.
For C/DVD Logical Units the Disable Page Out (DPO) bit is not used and shall be set to zero.
The transfer length specifies the number of contiguous logical blocks of data or blanks that shall be written and
verified. A transfer length of zero indicates that no logical blocks shall be verified. This condition shall not be
considered as an error. Any other value indicates the number of logical blocks that shall be verified.
Table 398 describes errors that may occur during the operation of the command or which may cause a
CHECK CONDITION status to be reported.

Table 398 - Recommended errors for WRITE AND VERIFY (10) Command
Error Reference
Deferred Errors Sub-clause
A.1
General Errors Table A.2
Media Access Errors Table A.3
Write Errors Table A.4

287
BSR NCITS 333

Annex A Additional Sense Codes for CD (normative)


This annex lists error codes that may be generated by CD devices. Specific commands specify that certain
errors occur in response to certain conditions, but each command does not contain a comprehensive list of
possible error conditions.

A.1. Error Reporting


Any error may be reported in response to any command due to the occurrence of a deferred error. For
example, a write error may occur due to a cached write command and that error shall be reported in response
to the next command. Errors listed in Table A.2 are not caused by any specific commands but by actions
outside the control of the Initiator. Table A.1 lists all errors that may be generated by Logical Units. Not all
errors are applicable to all devices.

288
BSR NCITS 333

Table A.1 – Logical Unit Sense Key, ASC and ASCQ Assignments
Sens ASC ASC Type Description
e Key Q
0 00 00 R NO ADDITIONAL SENSE INFORMATION
b 00 06 R I/O PROCESS TERMINATED
5 00 11 R AUDIO PLAY OPERATION IN PROGRESS
5 00 12 R AUDIO PLAY OPERATION PAUSED
5 00 13 R AUDIO PLAY OPERATION SUCCESSFULLY COMPLETED
5 00 14 R AUDIO PLAY OPERATION STOPPED DUE TO ERROR
5 00 15 R NO CURRENT AUDIO STATUS TO RETURN
4 00 17 R CLEANING REQUESTED
3 02 00 R NO SEEK COMPLETE
2 04 00 R LOGICAL UNIT NOT READY, CAUSE NOT REPORTABLE
2 04 01 R LOGICAL UNIT IS IN PROCESS OF BECOMING READY
2 04 02 R LOGICAL UNIT NOT READY, INITIALIZING CMD. REQUIRED
2 04 03 R LOGICAL UNIT NOT READY, MANUAL INTERVENTION REQUIRED
2 04 04 R LOGICAL UNIT NOT READY, FORMAT IN PROGRESS
2 04 07 R LOGICAL UNIT NOT READY, OPERATION IN PROGRESS
2 04 08 R LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS
4 05 00 R LOGICAL UNIT DOES NOT RESPOND TO SELECTION
3 06 00 R NO REFERENCE POSITION FOUND
5 07 00 R MULTIPLE PERIPHERAL DEVICES SELECTED
4 08 00 R LOGICAL UNIT COMMUNICATION FAILURE
4 08 01 R LOGICAL UNIT COMMUNICATION TIME-OUT
4 08 02 R LOGICAL UNIT COMMUNICATION PARITY ERROR
4 09 00 R TRACK FOLLOWING ERROR
4 09 01 R TRACKING SERVO FAILURE
4 09 02 R FOCUS SERVO FAILURE
4 09 03 R SPINDLE SERVO FAILURE
4 09 04 R HEAD SELECT FAULT
6 0A 00 R ERROR LOG OVERFLOW
1 0B 00 R WARNING
1 0B 01 R WARNING - SPECIFIED TEMPERATURE EXCEEDED
1 0B 02 R WARNING - ENCLOSURE DEGRADED
3 0C 00 R WRITE ERROR
3 0C 07 R WRITE ERROR - RECOVERY NEEDED
3 0C 08 R WRITE ERROR - RECOVERY FAILED
3 0C 09 R WRITE ERROR - LOSS OF STREAMING
3 0C 0A R WRITE ERROR - PADDING BLOCKS ADDED

All values are in hexidecimal

289
BSR NCITS 333

Table A.1 – Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)
Sens ASC ASC Type Description
e Key Q
3 11 00 R UNRECOVERED READ ERROR
3 11 01 R READ RETRIES EXHAUSTED
3 11 02 R ERROR TOO LONG TO CORRECT
3 11 05 R L-EC UNCORRECTABLE ERROR
3 11 06 R CIRC UNRECOVERED ERROR
3 11 0F R ERROR READING UPC/EAN NUMBER
3 11 10 R ERROR READING ISRC NUMBER
b 11 11 R READ ERROR - LOSS OF STREAMING
3 15 00 R RANDOM POSITIONING ERROR
3 15 01 R MECHANICAL POSITIONING ERROR
3 15 02 R POSITIONING ERROR DETECTED BY READ OF MEDIUM
1 17 00 R RECOVERED DATA WITH NO ERROR CORRECTION APPLIED
1 17 01 R RECOVERED DATA WITH RETRIES
1 17 02 R RECOVERED DATA WITH POSITIVE HEAD OFFSET
1 17 03 R RECOVERED DATA WITH NEGATIVE HEAD OFFSET
1 17 04 R RECOVERED DATA WITH RETRIES AND/OR CIRC APPLIED
1 17 05 R RECOVERED DATA USING PREVIOUS SECTOR ID
1 17 07 R RECOVERED DATA WITHOUT ECC - RECOMMEND REASSIGNMENT
1 17 08 R RECOVERED DATA WITHOUT ECC - RECOMMEND REWRITE
1 17 09 R RECOVERED DATA WITHOUT ECC - DATA REWRITTEN
1 18 00 R RECOVERED DATA WITH ERROR CORRECTION APPLIED
1 18 01 R RECOVERED DATA WITH ERROR CORR. & RETRIES APPLIED
1 18 02 R RECOVERED DATA - DATA AUTO-REALLOCATED
1 18 03 R RECOVERED DATA WITH CIRC
1 18 04 R RECOVERED DATA WITH L-EC
1 18 05 R RECOVERED DATA – RECOMMEND REASSIGNMENT
1 18 06 R RECOVERED DATA – RECOMMEND REWRITE
5 1A 00 R PARAMETER LIST LENGTH ERROR
4 1B 00 R SYNCHRONOUS DATA TRANSFER ERROR
a 1D 00 R MISCOMPARE DURING VERIFY OPERATION
5 20 00 R INVALID COMMAND OPERATION CODE
5 21 00 R LOGICAL BLOCK ADDRESS OUT OF RANGE
5 21 01 R INVALID ELEMENT ADDRESS
5 24 00 R INVALID FIELD IN CDB
5 25 00 R LOGICAL UNIT NOT SUPPORTED

All values are in hexadecimal

290
BSR NCITS 333

Table A.1 – Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)
Sens ASC ASC Type Description
e Key Q
5 26 00 R INVALID FIELD IN PARAMETER LIST
5 26 01 R PARAMETER NOT SUPPORTED
5 26 02 R PARAMETER VALUE INVALID
5 26 03 R THRESHOLD PARAMETERS NOT SUPPORTED
5 26 04 R INVALID RELEASE OF ACTIVE PERSISTENT RESERVATION
5 27 00 R WRITE PROTECTED
5 27 01 R HARDWARE WRITE PROTECTED
5 27 02 R LOGICAL UNIT SOFTWARE WRITE PROTECTED
5 27 03 R ASSOCIATED WRITE PROTECT
5 27 04 R PERSISTENT WRITE PROTECT
5 27 05 R PERMANENT WRITE PROTECT
6 28 00 R NOT READY TO READY CHANGE, MEDIUM MAY HAVE CHANGED
6 28 01 R IMPORT OR EXPORT ELEMENT ACCESSED
6 29 00 R POWER ON, RESET, OR BUS DEVICE RESET OCCURRED
6 29 01 R POWER ON OCCURRED
6 29 02 R SCSI BUS RESET OCCURRED
6 29 03 R BUS DEVICE RESET FUNCTION OCCURRED
6 29 04 R DEVICE INTERNAL RESET
6 2A 00 R PARAMETERS CHANGED
6 2A 01 R MODE PARAMETERS CHANGED
6 2A 02 R LOG PARAMETERS CHANGED
6 2A 03 R RESERVATIONS PREEMPTED
5 2B 00 R COPY CANNOT EXECUTE SINCE INITIATOR CANNOT DISCONNECT
5 2C 00 R COMMAND SEQUENCE ERROR
5 2C 03 R CURRENT PROGRAM AREA IS NOT EMPTY
5 2C 04 R CURRENT PROGRAM AREA IS EMPTY
6 2F 00 R COMMANDS CLEARED BY ANOTHER INITIATOR
2 30 00 R INCOMPATIBLE MEDIUM INSTALLED
2 30 01 R CANNOT READ MEDIUM – UNKNOWN FORMAT
2 30 02 R CANNOT READ MEDIUM – INCOMPATIBLE FORMAT
2 30 03 R CLEANING CARTRIDGE INSTALLED
2 30 04 R CANNOT WRITE MEDIUM – UNKNOWN FORMAT
2 30 05 R CANNOT WRITE MEDIUM – INCOMPATIBLE FORMAT
2 30 06 R CANNOT FORMAT MEDIUM – INCOMPATIBLE MEDIUM
2 30 07 R CLEANING FAILURE
5 30 08 R CANNOT WRITE – APPLICATION CODE MISMATCH
5 30 09 R CURRENT SESSION NOT FIXATED FOR APPEND

All values are in hexadecimal

291
BSR NCITS 333

Table A.1 - Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)
Sens ASC ASC Type Description
e Key Q
3 31 00 R MEDIUM FORMAT CORRUPTED
3 31 01 R FORMAT COMMAND FAILED
3 31 02 R ZONED FORMATTING FAILED DUE TO SPARE LINKING
34 00 R ENCLOSURE FAILURE
35 00 R ENCLOSURE SERVICES FAILURE
35 01 R UNSUPPORTED ENCLOSURE FUNCTION
35 02 R ENCLOSURE SERVICES UNAVAILABLE
35 03 R ENCLOSURE SERVICES TRANSFER FAILURE
35 04 R ENCLOSURE SERVICES TRANSFER REFUSED
1 37 00 R ROUNDED PARAMETER
5 39 00 R SAVING PARAMETERS NOT SUPPORTED
2 3A 00 R MEDIUM NOT PRESENT
2 3A 01 R MEDIUM NOT PRESENT - TRAY CLOSED
2 3A 02 R MEDIUM NOT PRESENT - TRAY OPEN
6 3B 0D R MEDIUM DESTINATION ELEMENT FULL
6 3B 0E R MEDIUM SOURCE ELEMENT EMPTY
6 3B 0F R END OF MEDIUM REACHED
6 3B 11 R MEDIUM MAGAZINE NOT ACCESSIBLE
6 3B 12 R MEDIUM MAGAZINE REMOVED
6 3B 13 R MEDIUM MAGAZINE INSERTED
6 3B 14 R MEDIUM MAGAZINE LOCKED
6 3B 15 R MEDIUM MAGAZINE UNLOCKED
4 3B 16 R MECHANICAL POSITIONING OR CHANGER ERROR
5 3D 00 R INVALID BITS IN IDENTIFY MESSAGE
2 3E 00 R LOGICAL UNIT HAS NOT SELF-CONFIGURED YET
4 3E 01 R LOGICAL UNIT FAILURE
4 3E 02 R TIMEOUT ON LOGICAL UNIT
6 3F 00 R TARGET OPERATING CONDITIONS HAVE CHANGED
6 3F 01 R MICROCODE HAS BEEN CHANGED
6 3F 02 R CHANGED OPERATING DEFINITION
6 3F 03 R INQUIRY DATA HAS CHANGED
4 40 NN R DIAGNOSTIC FAILURE ON COMPONENT NN (80H-FFH)
5 43 00 R MESSAGE ERROR
4 44 00 R INTERNAL TARGET FAILURE
b 45 00 R SELECT OR RESELECT FAILURE
4 46 00 R UNSUCCESSFUL SOFT RESET
4 47 00 R SCSI PARITY ERROR
b 48 00 R INITIATOR DETECTED ERROR MESSAGE RECEIVED
b 49 00 R INVALID MESSAGE ERROR

All values are in hexadecimal

292
BSR NCITS 333

Table A.1 - Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)
Sens ASC ASC Type Description
e Key Q
4 4A 00 R COMMAND PHASE ERROR
4 4B 00 R DATA PHASE ERROR
4 4C 00 R LOGICAL UNIT FAILED SELF-CONFIGURATION
b 4D NN R TAGGED OVERLAPPED COMMANDS (NN = QUEUE TAG)
b 4E 00 R OVERLAPPED COMMANDS ATTEMPTED
3 51 00 R ERASE FAILURE
4 53 00 R MEDIA LOAD OR EJECT FAILED
5 53 02 R MEDIUM REMOVAL PREVENTED
5 55 00 R SYSTEM RESOURCE FAILURE
3 57 00 R UNABLE TO RECOVER TABLE-OF-CONTENTS
6 5A 00 R OPERATOR REQUEST OR STATE CHANGE INPUT
6 5A 01 R OPERATOR MEDIUM REMOVAL REQUEST
6 5A 02 R OPERATOR SELECTED WRITE PROTECT
6 5A 03 R OPERATOR SELECTED WRITE PERMIT
6 5B 00 R LOG EXCEPTION
6 5B 01 R THRESHOLD CONDITION MET
6 5B 02 R LOG COUNTER AT MAXIMUM
6 5B 03 R LOG LIST CODES EXHAUSTED
1 5D 01 R FAILURE PREDICTION THRESHOLD EXCEEDED – Predicted Media
failure
1 5D 02 R LOGICAL UNIT FAILURE PREDICTION THRESHOLD EXCEEDED
1 5D FF R FAILURE PREDICTION THRESHOLD EXCEEDED (FALSE)
6 5E 00 R LOW POWER CONDITION ON
6 5E 01 R IDLE CONDITION ACTIVATED BY TIMER
6 5E 02 R STANDBY CONDITION ACTIVATED BY TIMER
6 5E 03 R IDLE CONDITION ACTIVATED BY COMMAND
6 5E 04 R STANDBY CONDITION ACTIVATED BY COMMAND
5 63 00 R END OF USER AREA ENCOUNTERED ON THIS TRACK
5 63 01 R PACKET DOES NOT FIT IN AVAILABLE SPACE
5 64 00 R ILLEGAL MODE FOR THIS TRACK
5 64 01 R INVALID PACKET SIZE
4 65 00 R VOLTAGE FAULT

All values are in hexadecimal

293
BSR NCITS 333

Table A.1 - Logical Unit Sense Key, ASC and ASCQ Assignments (cont.)
Sens ASC ASC Type Description
e Key Q
5 6F 00 COPY PROTECTION KEY EXCHANGE FAILURE – AUTHENTICATION
FAILURE
5 6F 01 COPY PROTECTION KEY EXCHANGE FAILURE – KEY NOT PRESENT
5 6F 02 COPY PROTECTION KEY EXCHANGE FAILURE –KEY NOT
ESTABLISHED
5 6F 03 READ OF SCRAMBLED SECTOR WITHOUT AUTHENTICATION
5 6F 04 MEDIA REGION CODE IS MISMATCHED TO LOGICAL UNIT REGION
5 6F 05 LOGICAL UNITREGION MUST BE PERMANENT/REGION RESET
COUNT ERROR
3 72 00 R SESSION FIXATION ERROR
3 72 01 R SESSION FIXATION ERROR WRITING LEAD-IN
3 72 02 R SESSION FIXATION ERROR WRITING LEAD-OUT
5 72 03 R SESSION FIXATION ERROR – INCOMPLETE TRACK IN SESSION
5 72 04 R EMPTY OR PARTIALLY WRITTEN RESERVED TRACK
5 72 05 R NO MORE TRACK RESERVATIONS ALLOWED
3 73 00 R CD CONTROL ERROR
1 73 01 R POWER CALIBRATION AREA ALMOST FULL
3 73 02 R POWER CALIBRATION AREA IS FULL
3 73 03 R POWER CALIBRATION AREA ERROR
3 73 04 R PROGRAM MEMORY AREA UPDATE FAILURE
3 73 05 R PROGRAM MEMORY AREA IS FULL
3 73 06 R RMA/PMA IS FULL
All values are in hexadecimal

294
BSR NCITS 333

Table A.2 lists errors that may occur at any time, typically in response to a protocol or hardware error or user
intervention.

Table A.2 - Logical Unit General Errors


Sens ASC ASC Description
e Key Q
0 00 00 R NO ADDITIONAL SENSE INFORMATION
b 00 06 R I/O PROCESS TERMINATED
2 04 00 R LOGICAL UNIT NOT READY, CAUSE NOT REPORTABLE
2 04 01 R LOGICAL UNIT IS IN PROCESS OF BECOMING READY
2 04 02 R LOGICAL UNIT NOT READY, INITIALIZING CMD. REQUIRED
2 04 03 R LOGICAL UNIT NOT READY, MANUAL INTERVENTION REQUIRED
2 04 04 R LOGICAL UNIT NOT READY, FORMAT IN PROGRESS
2 04 07 R LOGICAL UNIT NOT READY, OPERATION IN PROGRESS
2 04 08 R LOGICAL UNIT NOT READY, LONG WRITE IN PROGRESS
4 05 00 R LOGICAL UNIT DOES NOT RESPOND TO SELECTION
5 07 00 R MULTIPLE PERIPHERAL DEVICES SELECTED
4 08 00 R LOGICAL UNIT COMMUNICATION FAILURE
4 08 01 R LOGICAL UNIT COMMUNICATION TIME-OUT
4 08 02 R LOGICAL UNIT COMMUNICATION PARITY ERROR
6 0A 00 R ERROR LOG OVERFLOW
1 0B 00 R WARNING
1 0B 01 R WARNING - SPECIFIED TEMPERATURE EXCEEDED
1 0B 02 R WARNING - ENCLOSURE DEGRADED
5 1A 00 R PARAMETER LIST LENGTH ERROR
4 1B 00 R SYNCHRONOUS DATA TRANSFER ERROR
5 20 00 R INVALID COMMAND OPERATION CODE
5 24 00 R INVALID FIELD IN CDB
5 25 00 R LOGICAL UNIT NOT SUPPORTED
5 26 00 R INVALID FIELD IN PARAMETER LIST
5 26 01 R PARAMETER NOT SUPPORTED
5 26 02 R PARAMETER VALUE INVALID
6 28 00 R NOT READY TO READY CHANGE, MEDIUM MAY HAVE CHANGED
6 29 00 R POWER ON, RESET, OR BUS DEVICE RESET OCCURRED
6 29 01 R POWER ON OCCURRED
6 29 02 R SCSI BUS RESET OCCURRED
6 29 03 R BUS DEVICE RESET FUNCTION OCCURRED
6 29 04 R DEVICE INTERNAL RESET
6 2A 00 R PARAMETERS CHANGED
6 2A 01 R MODE PARAMETERS CHANGED
6 2A 02 R LOG PARAMETERS CHANGED
6 2F 00 R COMMANDS CLEARED BY ANOTHER INITIATOR

All values are in hexadecimal

295
BSR NCITS 333

Table A.2 - Logical Unit General Errors (cont.)


Sens ASC ASC Description
e Key Q
34 00 R ENCLOSURE FAILURE
35 00 R ENCLOSURE SERVICES FAILURE
35 01 R UNSUPPORTED ENCLOSURE FUNCTION
35 02 R ENCLOSURE SERVICES UNAVAILABLE
35 03 R ENCLOSURE SERVICES TRANSFER FAILURE
35 04 R ENCLOSURE SERVICES TRANSFER REFUSED
5 3D 00 R INVALID BITS IN IDENTIFY MESSAGE
2 3E 00 R LOGICAL UNIT HAS NOT SELF-CONFIGURED YET
4 3E 01 R LOGICAL UNIT FAILURE
4 3E 02 R TIMEOUT ON LOGICAL UNIT
6 3F 00 R TARGET OPERATING CONDITIONS HAVE CHANGED
6 3F 01 R MICROCODE HAS BEEN CHANGED
6 3F 02 R CHANGED OPERATING DEFINITION
6 3F 03 R INQUIRY DATA HAS CHANGED
4 40 NN R DIAGNOSTIC FAILURE ON COMPONENT NN (80H-FFH)
5 43 00 R MESSAGE ERROR
4 44 00 R INTERNAL TARGET FAILURE
b 45 00 R SELECT OR RESELECT FAILURE
4 46 00 R UNSUCCESSFUL SOFT RESET
4 47 00 R SCSI PARITY ERROR
b 48 00 R INITIATOR DETECTED ERROR MESSAGE RECEIVED
b 49 00 R INVALID MESSAGE ERROR
4 4A 00 R COMMAND PHASE ERROR
4 4B 00 R DATA PHASE ERROR
4 4C 00 R LOGICAL UNIT FAILED SELF-CONFIGURATION
b 4D NN R TAGGED OVERLAPPED COMMANDS (NN = QUEUE TAG)
b 4E 00 R OVERLAPPED COMMANDS ATTEMPTED
6 5A 00 R OPERATOR REQUEST OR STATE CHANGE INPUT
6 5A 01 R OPERATOR MEDIUM REMOVAL REQUEST
6 5B 00 R LOG EXCEPTION
6 5B 01 R THRESHOLD CONDITION MET
6 5B 02 R LOG COUNTER AT MAXIMUM
6 5B 03 R LOG LIST CODES EXHAUSTED
6 5D 00 R FAILURE PREDICTION THRESHOLD EXCEEDED
6 5D FF R FAILURE PREDICTION THRESHOLD EXCEEDED (FALSE)
4 65 00 R VOLTAGE FAULT

Note: All values are in hexadecimal

296
BSR NCITS 333

Table A.3 lists errors that may be generated by media access commands of any type (read of control or user
data or writing of control or data area).

Table A.3 - Media Access Errors


Sens ASC ASC Description
e Key Q
4 00 17 R CLEANING REQUESTED
3 02 00 R NO SEEK COMPLETE
3 06 00 R NO REFERENCE POSITION FOUND
4 09 00 R TRACK FOLLOWING ERROR
4 09 01 R TRACKING SERVO FAILURE
4 09 02 R FOCUS SERVO FAILURE
4 09 03 R SPINDLE SERVO FAILURE
4 09 04 R HEAD SELECT FAULT
3 11 00 R UNRECOVERED READ ERROR
3 11 01 R READ RETRIES EXHAUSTED
3 11 02 R ERROR TOO LONG TO CORRECT
3 11 05 R L-EC UNCORRECTABLE ERROR
3 11 06 R CIRC UNRECOVERED ERROR
3 11 0F R ERROR READING UPC/EAN NUMBER
3 11 10 R ERROR READING ISRC NUMBER
3 15 00 R RANDOM POSITIONING ERROR
3 15 01 R MECHANICAL POSITIONING ERROR
3 15 02 R POSITIONING ERROR DETECTED BY READ OF MEDIUM
1 17 00 R RECOVERED DATA WITH NO ERROR CORRECTION APPLIED
1 17 01 R RECOVERED DATA WITH RETRIES
1 17 02 R RECOVERED DATA WITH POSITIVE HEAD OFFSET
1 17 03 R RECOVERED DATA WITH NEGATIVE HEAD OFFSET
1 17 04 R RECOVERED DATA WITH RETRIES AND/OR CIRC APPLIED
1 17 05 R RECOVERED DATA USING PREVIOUS SECTOR ID
1 17 07 R RECOVERED DATA WITHOUT ECC - RECOMMEND REASSIGNMENT
1 17 08 R RECOVERED DATA WITHOUT ECC - RECOMMEND REWRITE
1 17 09 R RECOVERED DATA WITHOUT ECC - DATA REWRITTEN
1 18 00 R RECOVERED DATA WITH ERROR CORRECTION APPLIED
1 18 01 R RECOVERED DATA WITH ERROR CORR. & RETRIES APPLIED
1 18 02 R RECOVERED DATA - DATA AUTO-REALLOCATED
1 18 03 R RECOVERED DATA WITH CIRC
1 18 04 R RECOVERED DATA WITH L-EC
1 18 05 R RECOVERED DATA – RECOMMEND REASSIGNMENT
1 18 06 R RECOVERED DATA – RECOMMEND REWRITE
5 21 00 R LOGICAL BLOCK ADDRESS OUT OF RANGE

Note: All values are in hexadecimal

297
BSR NCITS 333

Table A.3 - Media Access Errors (cont.)


Sens ASC ASC Description
e Key Q
2 30 00 R INCOMPATIBLE MEDIUM INSTALLED
2 30 01 R CANNOT READ MEDIUM – UNKNOWN FORMAT
2 30 02 R CANNOT READ MEDIUM – INCOMPATIBLE FORMAT
2 30 03 R CLEANING CARTRIDGE INSTALLED
2 30 07 R CLEANING FAILURE
3 31 00 R MEDIUM FORMAT CORRUPTED
2 3A 00 R MEDIUM NOT PRESENT
2 3A 01 R MEDIUM NOT PRESENT - TRAY CLOSED
2 3A 02 R MEDIUM NOT PRESENT - TRAY OPEN
3 57 00 R UNABLE TO RECOVER TABLE-OF-CONTENTS
6 5E 00 R LOW POWER CONDITION ON
6 5E 01 R IDLE CONDITION ACTIVATED BY TIMER
6 5E 02 R STANDBY CONDITION ACTIVATED BY TIMER
6 5E 03 R IDLE CONDITION ACTIVATED BY COMMAND
6 5E 04 R STANDBY CONDITION ACTIVATED BY COMMAND
5 63 00 R END OF USER AREA ENCOUNTERED ON THIS TRACK
5 64 00 R ILLEGAL MODE FOR THIS TRACK
3 73 00 R CD CONTROL ERROR

Note: All values are in hexadecimal

298
BSR NCITS 333

Table A.4 describes errors that may be generated by commands that cause user or control data to be written
to the medium.

Table A.4 - Logical Unit Write Errors


Sens ASC ASC Description
e Key Q
3 0C 00 R WRITE ERROR
3 0C 07 R WRITE ERROR - RECOVERY NEEDED
3 0C 08 R WRITE ERROR - RECOVERY FAILED
3 0C 09 R WRITE ERROR - LOSS OF STREAMING
3 0C 0A R WRITE ERROR - PADDING BLOCKS ADDED
5 27 00 R WRITE PROTECTED
5 27 01 R HARDWARE WRITE PROTECTED
5 27 02 R LOGICAL UNIT SOFTWARE WRITE PROTECTED
5 27 03 R ASSOCIATED WRITE PROTECT
5 27 04 R PERSISTENT WRITE PROTECT
5 27 05 R PERMANENT WRITE PROTECT
2 30 04 R CANNOT WRITE MEDIUM – UNKNOWN FORMAT
2 30 05 R CANNOT WRITE MEDIUM – INCOMPATIBLE FORMAT
5 30 08 R CANNOT WRITE – APPLICATION CODE MISMATCH
5 30 09 R CURRENT SESSION NOT FIXATED FOR APPEND
6 5A 02 R OPERATOR SELECTED WRITE PROTECT
6 5A 03 R OPERATOR SELECTED WRITE PERMIT
1 73 01 R POWER CALIBRATION AREA ALMOST FULL
3 73 02 R POWER CALIBRATION AREA IS FULL
3 73 03 R POWER CALIBRATION AREA ERROR
3 73 04 R PROGRAM MEMORY AREA UPDATE FAILURE
3 73 05 R PROGRAM MEMORY AREA IS FULL

Note: All values are in hexadecimal


Table A.5 describes errors that may be generated by commands that cause the Logical Unit session to be
closed.

Table A.5 - Logical Unit Fixation Errors


Sens ASC ASC Description
e Key Q
5 2C 03 R CURRENT PROGRAM AREA IS NOT EMPTY
5 2C 04 R CURRENT PROGRAM AREA IS EMPTY
3 72 00 R SESSION FIXATION ERROR
3 72 01 R SESSION FIXATION ERROR WRITING LEAD-IN
3 72 02 R SESSION FIXATION ERROR WRITING LEAD-OUT
5 72 03 R SESSION FIXATION ERROR – INCOMPLETE TRACK IN SESSION
5 72 04 R EMPTY OR PARTIALLY WRITTEN RESERVED TRACK
Note: All values are in hexadecimal

299
BSR NCITS 333

Annex B ATAPI Compliance (normative)


B.1. Introduction
This section describes the implementation of the MultiMedia Commands in ATAPI devices. The intent is to
make the command sets highly compatible. It is desired that a common driver may be written to control both
SCSI and ATAPI devices.

B.2. General
ATAPI devices implement a subset of SCSI behavior. Certain errors and conditions that exist in SCSI do not
exist in ATAPI. In addition, certain terms are used in ATAPI instead of related SCSI terms. The mechanisms
for transporting the commands, data, and status are unique to each transport. Addressing of units is also
unique to each transport. MMC-2 does not directly specify any of these mechanisms; the command and data
layer definition may be layered on either transport.

B.2.1. Terms
B.2.1.1. Initiator - the ATAPI equivalent for the SCSI term “Initiator.”
B.2.1.2. Device - the ATAPI equivalent for the SCSI term “Target” or “Logical Unit.”
B.2.1.3. Command Packet - the ATAPI equivalent for the SCSI term “Command Descriptor Block.”

B.2.2. Supported Block Sizes


ATAPI does not use the block size in the mode select block descriptor. Instead, the block size shall be
determined by the command. The READ command shall return 2048 bytes per block. The WRITE command
shall send the number of bytes per block as determined by the WRITE PARAMETERS mode page. The
READ CD and READ CD MSF commands shall return the number of bytes per block as specified by the
command.

B.2.3. CD Audio error reporting


PLAY commands with the immediate bit set in the audio control mode return status as soon as the command
has been validated (that may involve a seek to the starting address). The playback operation continues and
may complete without notification to the Initiator. Error termination of audio operations shall not be reported to
the Initiator by returning immediate CHECK CONDITION status to the next command. The status may be
obtained with READ SUB-CHANNEL or any command that returns the audio status.

B.2.4. Multi-Initiator Environment


A multi-Initiator environment cannot exist in ATAPI. Therefore, conditions that occur only in multi-Initiator
environments cannot occur. For example, there is no way in ATAPI to produce a reservation conflict, or for
another Initiator to change common mode parameters. The descriptions of these conditions in SCSI shall be
ignored in ATAPI implementations.

B.2.5. Command Packet Padding


All ATAPI commands are twelve bytes long. SCSI commands are six, ten, or twelve bytes long. To build the
appropriate ATAPI Command Packet, padding bytes shall be added to the six and ten byte SCSI Command
Descriptor Blocks. Six byte commands shall have six padding bytes added. Ten byte commands shall have
two padding bytes added. These pad bytes shall have a value of zero.
The Control byte shall be reserved and set to zero.
B.2.6. Mapping of reset functions
Table B.1 shows how the different reset functions specified in the SCSI standards are used in this standard.
Note that this table is not intended to show all possible resets or their mapping.

300
BSR NCITS 333

Table B 1 - Example Reset Function Mapping in ATAPI


Reset Type ATAPI
Power-On Same as Power-On Reset
Reset
Hard Reset
ATA SRST. This is a channel reset and
Hard Reset as such is treated as a Hard Reset.
However the SRST shall not reset any
mode parameters to the default state.

Device Reset Device Reset in ATA/ATAPI-4


ATAPI Soft Reset in ATA/ATAPI-4

301
BSR NCITS 333

B.3. ATAPI Commands Requirements


Commands required for ATAPI devices are listed in Table B.2 Commands that have no differences other than
those mentioned in sub-clauses B.2.1. through B.2.5. are defined only in the main body of this document.

Table B.2 - ATAPI Commands Requirements


Command Name Operation Type Sub-
Code clause
BLANK A1h E 6.1.1.
CLOSE TRACK/SESSION 5Bh E, K, R 6.1.2.
ERASE (10) 2Ch SBC

FORMAT UNIT 04h E, W 6.1.3.


GET CONFIGURATION 46h M 6.1.4.
GET EVENT/STATUS NOTIFICATION 4Ah M 6.1.5.
GET PERFORMANCE ACh D, R 6.1.6.
INQUIRY 12h M SPC

LOAD/UNLOAD MEDIUM A6h C 6.1.7.


MECHANISM STATUS BDh M 6.1.8.
MODE SELECT (10) 55h M SPC

MODE SENSE (10) 5Ah M SPC

PAUSE/RESUME 4Bh A 6.1.9.


PLAY AUDIO (10) 45h A 6.1.10.
PLAY AUDIO (12) A5h D 6.1.11.
PLAY AUDIO MSF 47h A 6.1.12.
PLAY CD BCh O 6.1.13.
PREVENT/ALLOW MEDIUM REMOVAL 1Eh M SPC

READ (10) 28h M SBC

READ (12) A8h D SBC

READ BUFFER 3Ch O SPC

READ BUFFER CAPACITY 5Ch Obsolete 6.1.14.


READ CD BEh B 6.1.15.
READ CD MSF B9h B 6.1.16.

READ CAPACITY 25h M 6.1.17.

READ DISC INFORMATION 51h E, R, K 6.1.18.

READ DVD STRUCTURE ADh D 6.1.19.


READ FORMAT CAPACITIES 23h E, W 6.1.20.
READ HEADER 44h Obsolete 6.1.21.

READ MASTER CUE 59h Obsolete 6.1.22.

READ SUB-CHANNEL 42h B 6.1.23.

READ TOC/PMA/ATIP 43h B 6.1.24.

READ TRACK INFORMATION 52h E, R, K 6.1.26.

302
BSR NCITS 333

Table B.2 - ATAPI CD Commands (cont.)


Command Name Operation Type Sub-clause
Code
REPAIR TRACK 58h Obsolete 6.1.27.
REPORT KEY A4h O 6.1.28.
REQUEST SENSE 03h M SPC

RESERVE TRACK 53h K, R 6.1.29.

SCAN BAh O 6.1.30.

SEEK 2Bh M SBC

SEND CUE SHEET 5Dh O 6.1.31.

SEND DVD STRUCTURE BFh K 6.1.32.


SEND EVENT A2h M 6.1.33.
SEND KEY A3h O 6.1.34.
SEND OPC INFORMATION 54h O 6.1.35.

SET CD SPEED BBh Obsolete 6.1.36.

SET READ AHEAD A7h O 6.1.37.


SET STREAMING B6h R, K 6.1.38.
START/STOP UNIT 1Bh M SBC

STOP PLAY/SCAN 4Eh A 6.1.39.


SYNCHRONIZE CACHE 35h K, R, W 6.1.40.
TEST UNIT READY 00h M SPC

VERIFY 2Fh W SBC

WRITE (10) 2Ah K, R, W 6.1.41.


WRITE (12) AAh K, R, W SBC
WRITE AND VERIFY (10) 2Eh W 6.1.42.
WRITE BUFFER 3Bh O SPC

Key: M = command implementation is mandatory for all Logical Units


O = command implementation is optional.
A = mandatory command when implementing Audio
B = mandatory command for all CD Logical Units
R = mandatory command for CD-R/RW devices
E = mandatory command for CD-RW devices
C = mandatory for embedded changer
D = mandatory for DVD Logical Units
W= mandatory for DVD RE-WRITABLE Logical Units
K = mandatory for DVD-R Logical Units

303
BSR NCITS 333

Annex C Requirements for SBP-2 Compliance (Normative)


C.1 SBP-2 Definitions
C.1.1 command block: Space reserved within an ORB to describe a command intended for a Logical Unit
that controls device functions or the transfer of data to or from device medium.
C.1.2 login: The process by which an Initiator obtains access to a set of device fetch agents. The device
fetch agents and their control and status registers provide a mechanism for an Initiator to signal ORB’s
to the device.
C.1.3 quadlet: Four bytes, or 32 bits, of data.
C.1.4 register: A term used to describe quadlet aligned addresses that may be read or written by Serial Bus
transactions. In the context of this standard, the use of the term register does not imply a specific
hardware implementation. For example, the behavior of registers may be emulated by a processor.
C.1.5 status block: A data structure written to system memory by a device when an operation request block
has been completed.
C.1.6 system memory: The portions of any node’s memory that are directly addressable by a Serial Bus
address and which accepts, at a minimum, quadlet read and write access. Computers are the most
common example of nodes that make system memory addressable from Serial Bus, but any node,
including those usually thought of as peripheral devices, may have system memory.
C.1.7 transaction: An exchange between a requester and a responder that consists of a request and a
response sub-action. The request sub-action transmits a Serial Bus transaction such as quadlet read,
block write or lock, from the requesting node to the node intended to respond. Some Serial Bus
commands include data as well as transaction codes. The response sub-action returns completion
status and sometimes data from the responding node to the requesting node.
C.1.8 unit: A component of a Serial Bus node that provides processing, memory, I/O or some other
functionality. Once the node is initialized, the unit provides a CSR interface that is typically accessed
by device driver software at an Initiator. A node may have multiple units, which normally operate
independently of each other. Within this standard, a unit is equivalent to a device.
C.1.9 unit architecture: The specification of the interface to and the services provided by a unit
implemented within a Serial Bus node.
C.1.10 unit attention: A state that a Logical Unit maintains while it has unsolicited status information to report
to one or more logged-in Initiators. A unit attention condition shall be created as described elsewhere
in this standard or in the applicable command set- and device-dependent documents.

C.2 SBP-2 Storage Model


The SBP-2 Storage Model describes general characteristics and functions of MMC2 Logical Units when
implemented using SBP-2. It is intended to provide design information and lead to a better understanding of
MMC2 Logical Unit functionality.

C.2.1 Model configuration


This configuration is used only as an example of a common implementation. The following assumptions are
made for this model configuration.
• The device supports a single Logical Unit.
• The device does not support multiple Initiators.
• The device does not support isochronous data transfers.

304
BSR NCITS 333

Command
Agent
Engine

1394 1394 Execution Device


1394 Bus Interface CSRs Engine Interface

1394 Management
Configuration Agent
ROM Engine

Figure C.35 - Mass storage interface block diagram

C.2.2 Model operation


The block diagram in Figure C.1 indicates the functional blocks contained in an MMC2 device that supports
SBP-2. This section describes the function of those blocks when processing a list of ORBs. The ORBs contain
READ commands in this example.
After power-on or bus reset, the Command_Agent and Management_Agent engines are in the Reset state.
The Initiator reads the MMC2 device’s Configuration ROM data in order to determine its 1394 capabilities,
SBP-2 capabilities, EUI-64 value, command set identifiers, software versions, and Management_Agent CSR
address.
The Initiator performs a Login operation prior to any request to the MMC2 device. To perform a Login, the
Initiator writes its Login ORB address to the Management_Agent register. The Login ORB should contain
either the current or master password for the Login to be successful. The MMC2 device returns the Login
response to the bus address specified in the Login ORB. One field of the Login response contains the
Command_Agent’s CSR base address.
Prior to initiating command transfers, the Initiator builds a list of Command_Block ORBs in system memory.
The list may be as short as one ORB, but this example assumes a list length of more than one. The last ORB
in the list contains a NULL Next_ORB pointer which indicates the end of the list to the MMC2 device’s
Command_Agent fetch engine.
To transition the Command_Agent state from Reset to Active the Initiator writes the offset of the first ORB in
the ORB list to the MMC2 device’s ORB_Pointer CSR address. This allows the Command_Agent fetch engine
to begin fetching ORBs from Initiator memory. If the Initiator writes to the Doorbell CSR, the MMC2 device will
ignore the Doorbell at this time.
The MMC2 device fetches ORBs until its ORB space is full or until an ORB containing a NULL Next_ORB
pointer is fetched. Fetched ORBs are routed to the Execution engine. The Execution engine may reorder the
commands contained in the ORBs for best performance.
As each READ command is executed the MMC2 device transfers READ data to the Initiator’s memory space
via block write requests.

305
BSR NCITS 333

Following the data transfer portion of each command the MMC2 device writes a Status_Block to the Initiator’s
Status_FIFO address. The Status_FIFO address for Command Block ORBs is contained in the Login ORB.
The status block contains SBP-2 specific command information, such as the ORB_offset of the
Command_Block ORB associated with this status, as well as general sense information.
: ORBs contain a NOTIFY bit that is to be set if a Status_Block is to be written to Initiator memory after every ORB is
executed or or cleared if a Status_Block is to be written only after ORB execution encounters an error. This bit is
advisory only. MMC2 Logical Units shall return a Status_Block for all ORBs executed.
If an ORB containing a Null Next_ORB pointer is fetched the Execution engine completes all fetched
commands, including the one in the just fetched ORB, before the Command_Agent transitions to the
Suspended state.
If additional commands are to be executed, the Initiator creates a new list of Command_Block ORBs; changes
the Next_ORB pointer in the last ORB of the old list from NULL to the offset of the first ORB in the new list;
then writes to the MMC2 device’s Doorbell CSR address. This transitions the Command_Agent to the Active
state.
The MMC2 device fetches the new Next_ORB pointer value from the last ORB of the old list and begins
fetching ORBS from the new list at that offset.
If the Command_Agent fetch engine has not reached the ORB containing a Null Next_ORB pointer (and is still
in the Active state), the MMC2 device ignores any writes to the Doorbell CSR address.
This sequence may continue until the MMC2 device is reset, power is removed, or an error occurs.

C.2.3 Reconnect /Power reset support (normative)


MMC2 Logical Units shall support the Reconnect management function following a bus reset, as described in
SBP-2. However, in the case that a Reconnect request occurs following a power reset, MMC2 Logical Units
shall perform as follows:
1. Following a power reset, any previous login information shall be discarded and the device shall transition
to the Reset state.
2. If an Initiator sends a Reconnect ORB to the device, the device shall return status with RESP set to 0,
REQUEST COMPLETE, and sbp_status set to A16, LOGIN ID NOT RECOGNIZED.

C.3 Configuration ROM support (normative)


Although most Configuration ROM entries are generic, several contain information that is specific to each
device type. Hard disk Logical Unit specific Configuration ROM information is defined in this section.

C.3.1 Unit Directory - Command_Set_Spec_ID


The COMMAND_SET_SPEC_ID entry (key - 3816) is an immediate entry that specifies the organization
responsible for the command set definition for the device. SCSI targets shall have a command_set_spec_ID of
00 609Eh, which indicates that NCITS is responsible for the command set definition.

38h Command_set_spec_ID = 00

C.3.2 Unit Directory - Command_Set


The COMMAND_SET entry (key – 39h) is an immediate entry that, in combination with the
COMMAND_SET_SPEC_ID entry specifies the command set supported by the unit. SCSI targets shall have a
command_set value of 01 04D8h, which indicates that the target’s command set is specified by SCSI Primary
Commands 2 (SPC-2) and related command set standard(s), as determined by the targets peripheral device
type(s).

39h Command_set = 01

306
BSR NCITS 333

C.3.3 Unit Directory - Command_Set_Revision


The COMMAND_SET_REVISION entry (key - 3Bh) is an immediate entry that specifies the current revision level of
the command set implemented by the unit.

3Bh Command_set_revision

C.3.4 Unit Directory - Logical_Unit_Number


The LOGICAL_UNIT_NUMBER entry (key – 14h) is an immediate entry that specifies the device type and the
Logical Unit number of a Logical Unit supported by the device. The format of this entry is defined in SBP-2 and
duplicated here with additional field information for hard disk drives.

14h R O device_type Logical_unit_number


(05h)

R in the figure above indicates reserved bits.


The ordered bit (abbreviated as O in the figure above) specifies the manner in which the Logical Unit executes
tasks signaled to the command block agent. If the Logical Unit executes and reports completion status without
any ordering constraints, the ordered bit shall be zero. Otherwise, if the Logical Unit both executes all tasks in
order and reports their completion status in the same order, the ordered bit shall be one.
The Device_Type field indicates the peripheral device type implemented by the Logical Unit. The value defined
for MMC2 Logical Units is 05h.
Logical_Unit_Number field shall identify the Logical Unit to which the information in the
LOGICAL_UNIT_NUMBER entry applies.

C.4 Login support (normative)


MMC2 Logical Units shall implement the Login support as defined in SBP-2.

C.5 Security support (normative)


MMC2 Logical Units shall implement security against unauthorized media access as defined in the security
annex of SBP-2.
The master password, referenced in SBP-2, is contained in the INQUIRY command, Vital Product Data, page
80h. Following a successful Login operation, the Initiator shall request that the Logical Unit perform the
INQUIRY command, in order to obtain the Logical Unit’s serial number.

307
BSR NCITS 333

C.6 Status block support (normative)


The status block for MMC2 Logical Units shall be implemented as described in the following text and figure.
Refer to SBP-2, Annex B, for a complete description of all bits and fields.
If no exception status is generated, only the first two quadlets (LEN =1) shall be written to the Initiator’s
STATUS_FIFO address.
If exception status is generated, the device shall write, at a minimum, the four quadlets (len = 2 ) shown below.
This format is required for unsolicited status as well as command status.

src resp d len sbp_status ORB-offset_hi

ORB_offset_lo

sfmt status v m e i sense key sense code sense qualifier

information

C.7 Unsolicited Status support (normative)


MMC2 Logical Units that support the SBP-2 transport protocol shall implement the generation of unsolicited
status. Devices shall notify Initiators of unsolicited status support by setting the ASYNCHRONOUS EVENT
REPORTING CAPABILITY (AERC) bit to one in the standard data format of the INQUIRY command (see SPC-2)
As stated in SBP-2, unsolicited status is enabled when the Initiator writes to the Unsolicited_Status_Enable
CSR. Devices default to unsolicited status disabled and only send unsolicited status following a write to the
Unsolicited_Status_Enable CSR. The Unsolicited_Status_Enable CSR is a handshake mechanism and must
be written after every unsolicited status event in order to enable another such event.

C.8 Unit attention condition


A unit attention condition shall persist for a logged-in Initiator until a) unsolicited status, that reports the unit
attention condition, is successfully written to the Initiator’s status FIFO address, or b) the Initiator’s login
becomes invalid or is released. Logical Units may queue unit attention conditions; more than one unit attention
condition may exist at the same time.

308
BSR NCITS 333

Annex D Requirements for Fibre Channel Protocol for SCSI Compliance


(Normative)
D.1. Introduction
This Annex describes the implementation of the MultiMedia Commands in Fibre Channel devices. The intent is
to highlight the concerns of implementation of the command set using the Fibre Channel Protocol (FCP). The
Fibre Channel Protocol for SCSI (ANSI Standard X3.269:1996) was referenced for the writing of this Annex.

D.2. General
Certain terms are used in FCP in addition to the related SCSI terms. The mechanisms for transporting the
commands, data, and status are unique to each transport. FCP differs from other transports such as SBP-2,
SCSI, etc. Addressing of units is also unique to each transport. MMC does not directly specify any of these
mechanisms; the command and data layer definition may be layered on either transport.

D.2.1. Terms
D.2.1.1. Originator - the FCP equivalent for the SCSI term “Initiator.”
D.2.1.2. Responder - the FCP equivalent for the SCSI term “Target” or “Logical Unit.”
D.2.1.3. Information Unit (IU) – similar to the SCSI phases. Carried in FCP frames.

D.2.2. Information Units


CDBs are transferred from the intiator to target using FCP_CMND IUs. Responses to these commands are
returned in the FCP_RSP IUs. For write operations, a CDB and associated data may be transferred in a single
IU possibly followed by subsequent FCP_DATA IUs. For read operations, the final IU may contain both the
FCP_DATA and FCP_RSP.

D.2.3. Process login/logout


Before any commands can be issued, the FCP link-level protocol of Process login (PRLI) shall be completed
between the initiator and target. This can be accomplished either implicitly via external conventions or explicitly
using IUs. The first command that completes after a PRLI will generate a Unit Attention condition with an
additional Sense Code of Reset Occurred (ASC=29h, ASCQ=00h).

D.2.4. Sense Information


FCP devices always use auto-sense to report information appropriate for the REQUEST SENSE command in
the FCP_RSP IU.

D.2.5. Reset Mapping


FCP initiators use the FCP_CNTL field contained within the FCP_CMND IU to reset the FCP targets. Byte 2,
bit 5 of the FCP_CNTL field represents a TARGET RESET that shall be mapped to a Hard Reset for MMC-2
targets. Byte 2, bit 2 of the FCP_CNTL field represents a CLEAR TASK SET that shall be mapped to a Device
Reset for MMC-2 targets. Byte 2, bit 1 of the FCP_CNTL field represents an ABORT TASK SET that shall be
mapped to a Device Reset for MMC-2 targets.

309
BSR NCITS 333

Annex E SCSI Implementation Notes (Normative)


E.1. Introduction
This standard is intended to be used in conjunction with the SCSI Architecture Model (SAM), the SCSI Primary
Command Set (SPC-2) standard, and the SCSI Block Command Set (SBC) standard. See the NCITS/T10
SCSI Standards for information on the physical connection and protocol to be used for attachment of a SCSI
Logical Unit.

E.2. SCSI Signal Utilization


Logical Unit will utilize the same signals and timing from the SCSI Standard and Extensions.

E.3. SCSI Compatibility

E.3.1 Additions to the SCSI Standard


New requirements:
•GET EVENT/STATUS NOTIFICATION Command in addition to the AEN capability in SCSI.
•Features are introduced and added.
•CHANGE DEFINITION is not required.
•The Mechanism State in this specification uses a value of 3h for the data port in use and not 1h as is
specified in the
SCSI Standard.
•The power model for this specification is different from that described for SCSI.
•The Information Exceptions Mode Page is called the Fault / Failure Reporting page in this standard.

E.4. Reset Functionality


This sub-clause describes the functionality of the various resets implemented in SCSI.

E.4.1 Power On Reset


The Power On Reset is an event that causes the Power On condition in SCSI. See “Task and Command
Lifetimes” in the SCSI Architecture Model standard (SAM).

E.4.2 Hard Reset


Hard Reset is described in the SCSI Architecture Model. See “Hard Reset” in SAM.
A Hard Reset for a SCSI Device will:
• Abort all tasks in all task sets;
• Clear all auto contingent allegiance conditions;
• Release all SCSI device reservations;
• Return any device operating modes to their appropriate initial conditions, similar to those conditions that
would be found following device power-on. The MODE SELECT conditions shall be restored to their last saved
values if saved values have been established. MODE SELECT conditions for which no saved values, have
been established, shall be returned to their default values;
• Unit Attention condition shall be set.

E.4.3. TARGET RESET task management function


The TARGET RESET function may reset a Logical Unit individually. When an Initiator requires a reset of all
Logical Units connected to the bus, the initiator must issue the TARGET RESET task management request to
every Logical Unit.
Note: The TARGET RESET task management function was called a “Bus Device Reset” in SCSI-2.
If the Initiator issues the LOGICAL UNIT RESET function to a Logical Unit, the response of the Logical Unit
shall be the same as the response to a TARGET RESET task management function.

310
BSR NCITS 333

E.4.4 Device Reset


There are two possible Device Reset alternatives, ABORT TASK SET and CLEAR TASK SET. The ABORT
TASK SET is mandatory for all SCSI Logical Units. SCSI Logical Units that do not support tagged tasks may
support CLEAR TASK SET.
CLEAR TASK SET is different from ABORT TASK SET in that CLEAR TASK SET clears all of the queued
tasks for all Initiators. If the Logical Unit is in a single Initiator environment, ABORT and CLEAR TASK SET
functions in the same manner.
The ABORT/CLEAR TASK SET:
• Does not immediately reset SCSI bus protocol.
• Does not reset parameters in mode page to default values
• Always keep the disc information such as disc TOC information
• Does not change the Persistent Prevent state

E.4.5 Power Management and Device Reset in SCSI


When a SCSI Device is in the Power Managed Sleep state, the TARGET RESET shall be used to wake the
device.
E.4.6 Mapping of reset functions
Table E.1 shows how the different reset functions specified in the various ATAPI specifications are used in this
standard. Note that this table is not intended to show all possible resets or their mapping.

Table E.1 - Example Reset Function Mapping in SCSI


Reset Type SCSI
Power-On Same as Power-On Reset
Reset
TARGET RESET task management function
Hard Reset SAM Reset events. Note that this is SCSI
protocol dependent.
SPI Reset Signal
Device Reset ABORT TASK SET task management
function
CLEAR TASK SET task management
function

311
BSR NCITS 333

Annex F Power Management Functions (Normative)


F.1. Power Management States
Four power states are defined. These are named Active, Idle, Standby, and Sleep with Active being the “Full-
On” state, Sleep the “Off” state and “Idle, Standby and Sleep” progressively more aggressive power managed
states. This model differs significantly from previous ATA and SCSI power management definitions. This new
model defines power states in terms of the perceived impact on the end user, instead of absolute power levels.
The Idle state is optimized for minimal end user performance impact. The Standby state is optimized for power
savings.
To provide consistent behavior across Logical Units, standard definitions are used for the power states of
Logical Units. These states are defined in terms of the following criteria.
- Power Consumption: How much power the Logical Unit uses.
- Logical Unit Context: How much of the internal state of the Logical Unit is retained by hardware and
what shall be restored by the responsible software.
- Restore time: How long it takes to raise the power level to the active power state and to put the
Logical Unit into operational condition (including mechanical operation such as spin up) required
before entering into the Active power state. Restoring is vendor specific and any mechanism can be
employed here to raise the power consumption and to put the Logical Unit in operation condition
required in a higher power state. For example, “turning on or raising internal Vcc for power hungry
circuits such as motors, laser sensors,” “raising internal Vcc or the clock frequency for the digital
circuits,” etc. A critical factor is how quickly restoring the Logical Unit to operation condition required in
a higher power state (e.g. spin up).
- De-power time: How long it takes to reduce the power to the desired level in lower power state after
entering the lower power state from higher power state. De-powering is vendor specific and any
mechanism can be employed here to reduce the power consumption. For example, “turning off or
lowering internal Vcc for power hungry circuits such as motors, laser sensors,” “lowering internal Vcc
or reducing the clock frequency for the digital circuits,” “dynamic clock gating,” “cutting off the DC
paths for unused circuits,” “turning off PLLs,” etc.

Table F.1 - Power Management Model States


Logical Unit Power Logical Unit Restore Time
State Consumptio Context Retained
n
Active (D0) As needed All None
for operation
Idle (D1) Less than All The Logical Unit shall be restored to active
Active state within 1 second on any request to
enter active state, independent of the de-
powering process.
Standby (D2) Less than All buffers are Vendor specific: Greater than or equal to
idle empty before Idle to Active
entering Standby
state.
Sleep (D3) Less than None, Buffer & All of Greater than or equal to Standby to Active.
Standby Command queues Vendor Specific. May Need full initialization.
are empty before The Initiator may remove Vcc.
entering Sleep
state.

Transitions between these power states may occur at the request of the Initiator or the Logical Unit.
Transitions to a higher power state from a lower power state shall occur after restoring the Logical Unit to the
operating conditions (including mechanical operation if applicable, such as spin up) required in the higher
power state. When the Logical Unit transitions from a higher power state to a lower power state, the Logical

312
BSR NCITS 333

Unit shall be considered to be in the lower power state when the Logical Unit is assured of reaching the lower
power condition. Actual de-powering occurs after the Logical Unit enters the lower power state. The Logical
Unit shall generate a power event when the Logical Unit is considered to have entered a power state.
In order to create a robust power management environment, Logical Units shall support the following:
- Four power states: Active(D0), Idle(D1), Standby(D2) and Sleep(D3).
- Idle Timer. Provides a method for the Logical Unit to enter Idle state from Active state, following a
programmed period of inactivity.
- Standby Timer. Provides a method for the Logical Unit to enter Standby state from either Active or
Idle state, following a programmed period of inactivity.
- START/STOP UNIT Command and the Power Condition Field. Provides a method for the Initiator to
request the Logical Unit to enter a power state.
- GET EVENT/STATUS NOTIFICATION Command. Notifies the Initiator of power state changes and
current power status.
- Power Condition Mode page. Enables or disables timers and specifies the reload value of the Idle
and Standby timers.

F.2. Power State Transitions


Active State (D0):
The Logical Unit is completely active and responsive. The Logical Unit is consuming its highest level of power.
During the execution of a media access command (commands that reload both timers) the Logical Unit shall
be in active state.
The Logical Unit should minimize power consumption at all times, even when in the active state. Any
mechanism can be employed, as long as it is transparent to software and does not prevent the Logical Unit
from performing expected functions.
For example, the Logical Unit may dynamically gate on/off internal clocks by monitoring bus activities and
internal activities.
Idle State (D1):
In Idle state, the Logical Unit is capable of responding to commands but may take up to one second longer to
complete commands than the Active state. The Logical Unit is consuming less power than the Active state.
Any mechanism can be employed as long as the restoring time is less than one second. The Logical Unit may,
for example:
- Reduce internal clock frequency
- Lower the internal Vcc for digital circuits
- Dynamically gate internal clocks by monitoring bus/internal activities
Standby State (D2):
In Standby state the Logical Unit shall only be required to accept commands from the Initiator. All other
mechanisms are in the power save condition. In Standby state, the Logical Unit is capable of responding to
commands but the Logical Unit takes longer to complete commands than when in Idle state. Buffers shall be
emptied before entering into Standby state. The Logical Unit context shall be preserved. The Logical Unit is
consuming less power than when in Idle state.
Sleep State (D3):
Maximum power saving state. Buffers and all command queues, including GET EVENT/STATUS
NOTIFICATION commands, shall be emptied before entering into the Sleep state. When the Logical Unit
enters the sleep state, any GET EVENT/STATUS NOTIFICATION commands present in the command queue,
shall be removed from the command queue, without command completion. In this Sleep state, all functions are
stopped and no commands, except for reset can be received. The unit is consuming less power than when in
the Standby state. The Logical Unit context is invalid in the Sleep state.
The Initiator software shall fully initialize the Logical Unit after exiting Sleep state, as all context may be lost in
the Sleep state. Therefore, disc(s)/cassette may be manually ejected or inserted while in sleep state,
independent of any lock/unlock mechanism employed. For the Initiator to consistently rely on the Logical Unit

313
BSR NCITS 333

Media Status Notifications, when the Logical Unit is unable to determine if media has been changed while the
Logical Unit was in the sleep state, the Logical Unit shall report NEW MEDIA on the next GET
EVENT/STATUS NOTIFICATION (Media Status) command.
In the Sleep state, the Initiator may completely remove power from the device by turning off Vcc.

F.3. Power Management State Diagram


The state diagram, Figure F.36, defines state transitions for the power management model.
A power-on or hard reset always returns the Power State to the Standby State. A Device Reset does not alter
the current power state, unless the current power state is Sleep. A Device Reset received while in sleep state
returns the power state to Standby.
The Sleep state is entered when the Logical Unit has been commanded to go to Sleep but Vcc is still applied
to the device. Removing Vcc always takes the device to the Power Off State. Removing Vcc is recommended
only when all Logical Units on a given bus are in Sleep State.
Table F.2 shows transition conditions for this model, and shows the Initial state, the Resultant state,
Notification class, and Event class (Media or Power). Notification class and Event class fields specify the
events that shall be generated during the transitions as outlined in the GET EVENT/STATUS NOTIFICATION
command.
In Idle or Standby states, the Logical Unit should attempt to maintain the minimal power level for that state at
all times. However, the Logical Unit may create transitory, higher power level conditions as needed. The
transitory power conditions shall not affect the reported power state, or generate power state events. Example
transitory conditions are: flushing the buffers, emptying command queues, media insertion spin up, or auto off-
line, etc. On insertion of new media, the Logical Unit may enter a transitory, higher power condition and stay in
this condition for vendor specific time period. If the Logical Unit has not received a media access command
(commands that reload both timers) during this period, the Logical Unit shall return to the normal power level
for the current power state. This prevents excessive power consumption while the Initiator is off-line.
It is permissible to enter intermediate states while in transition between states, however, the Logical Unit shall
not report power change events for the intermediate states. If the Logical Unit fails to enter the target power
state, the Logical Unit shall return to the original power state. Simultaneous expiration of multiple timers, shall
cause the Logical Unit to enter the lower power state, and shall only report the result of the transition to that
state.
When the Logical Unit is reporting NOT READY, the Logical Unit shall enter the Standby State.

314
BSR NCITS 333

If a power change event has not been reported to the Initiator, when a new event is generated, the Logical Unit
may choose only to report the most recent power event.

Hard Reset or
Media Not Ready
Media Access ACTIVE Media Access

Media Standby Timer Media


Insertion Idle Timer Expires Expires or Standby I Insertion
or Idle Command Command

Idle Command
IDLE STANDBY

Sleep Command
Device Reset

Sleep Command
Sleep Command
SLEEP

VCC Removed
OFF

Figure F.36 - Power Management STATE Diagram

F.4. Power Management Timers


The Idle and Standby timers provide a method for the Logical Unit to enter lower power states after an Initiator
programmable period of inactivity, without direct Initiator command.
A timer is deactivated (no longer used by the Logical Unit, regardless of Enable / Disable setting provided from
the Initiator) when the Logical Unit is in the associated power state or a lower power state.
A timer is both reactivated (the Logical Unit shall use the timer if enabled) and reloaded when a Logical Unit
transitions to power state higher than the associated timer.
Timers shall be reloaded, as specified in Table F.3, using the current timer value from the POWER
CONDITION mode page.
Timers shall be disabled/enabled as specified in the POWER CONDITION mode page.
Timers shall be set to default conditions upon receiving a power-on, or hard reset. The default condition for the
Timers shall be enabled with the values of the timers vendor specific.

315
BSR NCITS 333

F.5. Standby Timer


If the Standby Timer expires the Logical Unit shall attempt to flush all buffers.
If this operation fails, the Logical Unit shall remain in the current power state, and the Standby timer is
reloaded. If the flush succeeds, the Logical Unit shall enter the Standby State.

Table F.2 - State Transition, Events and Status


Initial Resultan Cause of Transition Notification Event
State t State Class
Active Active Unsuccessful Idle, Standby, or Sleep Power PwrChg-Fail
command
Idle Successful completion of Idle command Power PwrChg-Succ
Idle The expiration of Idle timer Power PwrChg-Succ
Standby Successful completion of Standby command Power PwrChg-Succ
Standby The expiration of Standby timer, all Buffers Power PwrChg-Succ
are empty
Sleep Successful completion of Sleep Command Power PwrChg-Succ
Idle Idle Successful completion of Idle command Power PwrChg-Succ
Idle Unsuccessful Idle, Standby, or Sleep Power PwrChg-Fail
command
Idle Insertion of media and ready to use Media New Media
Standby The expiration of Standby timer, all buffers Power PwrChg-Succ
are empty
Standby Successful completion of Standby command Power PwrChg-Succ
Sleep Successful completion of Sleep command Power PwrChg-Succ
Active Receptions of a command that reloads both Power PwrChg-Succ
timers
Standb Standby Successful completion of Standby command Power PwrChg-Succ
y
Standby Unsuccessful Idle, Standby, or Sleep Power PwrChg-Fail
command
Standby Insertion of media and ready to use Media NewMedia
Idle Successful completion of Idle command Power PwrChg-Succ
Sleep Successful completion of Sleep command Power PwrChg-Succ
Active Receptions of a command that reloads both Power PwrChg-Succ
timers
Any Standby A power-on, or hard reset occurred, or the Power PwrChg-Succ
Logical Unit becomes NOT READY
Sleep Standby Device Reset Power PwrChg-Succ

316
BSR NCITS 333

Table F.3 - Effects of Initiator Commands on Timers

317
BSR NCITS 333

Initiator Command Issued Timer Effects Comments


BLANK Reload Both Recordable only
CHANGE DEFINITION None
CLOSE TRACK Reload Both Recordable only
COMPARE Reload Both SCSI only
EXCUTE LOGICAL Reload Both ATA command
UNITDIAGNOSTIC
SYNCHRONIZE CACHE Reload Both
FORMAT UNIT Reload Both Recordable only
GET CONFIGURATION None
GET EVENT/STATUS None
NOTIFICATION
INQUIRY None
LOAD/UNLOAD C/DVD Reload Both
LOCK/UNLOCK CHACHE None SCSI only
A Lock Cache command shall prevent the Logical Unit
from entering Standby or Sleep states.
LOG SELECT/SENSE None SCSI only
MECHANISM STATUS None
MODE SELECT May Reload Timers A MODE SELECT command that changes the Standby or
Idle timers shall reload the timer.
MODE SENSE None
PLAY AUDIO/MSF Reload Both
PLAY CD Reload Both
PREFETCH Reload Both SCSI only
PREVENT/ALLOW MEDIUM Reload Standby
REMOVAL
READ (12) Reload Both
READ BUFFER Reload Standby
READ C/DVD CAPACITY Reload Both
READ CD Reload Both
READ CD MSF Reload Both
READ DISC INFORMATION Reload Both
READ DVD STRUCTURE Reload Both
READ FORMATABLE CAPACITIES Reload Standby
READ HEADER Reload Both
READ LONG Reload Both SCSI only
READ TRACK INFORMATION Reload Both
READ SUB-CHANNEL Reload Both
READ TOC/PMA/ATIP Reload Both
REALEASE None SCSI only
REPAIR TRACK Reload Both Sequential CD/DVD Recordable
REPORT KEY Reload Both
REPORT PERFORMANCE Reload Both May need to access media
REQUEST SENSE None
RESERVE None SCSI only
RESERVE TRACK Reload Both Recordable only

318
BSR NCITS 333

Table F.3 - Effects of Initiator Commands on Timers (cont.)


Initiator Command Issued Timer Effects Comments
REZERO Reload Both SCSI only
SCAN Reload Both
SEEK Reload Both
SEND EVENT Reload Both May effect media access
SEND KEY Reload Both
SEND DVD STRUCTURE Reload Both Sequential DVD Recordable
SEND OPC INFORMATION Reload Both Recordable only
SET CD SPEED Reload Both Obsolete
SET READ AHEAD Reload Both
SET STREAMING Reload Both
START/STOP UNIT See Start Stop
Unit Command
TEST UNIT READY Reload Both
VERIFY Reload Both
WRITE Reload Both Recordable only
WRITE AND VERIFY (10) Reload Both Recordable only
WRITE DVD STRUCTURE Reload Both Recordable only
Device Reset Reload Both Reset operation, the Logical Unit shall not return to
default timer conditions.
Other Commands Vendor Specific

F.6. Power Management Status Reporting


The POWER STATUS field of the GET EVENT/STATUS NOTIFICATION (Power Management Class) event
data shall always report the current Logical Unit power state. This provides a mechanism for the Initiator to
query the current power state, irrespective of state transitions.

319
BSR NCITS 333

Annex G SCSI Command Listings (Informative)


G.1 List of SCSI Commands
Table G.1 list the commands that may be implemented when claiming compliance with SCSI interface. The
listed commands are common to all SCSI devices

Table G.1 - Commands Common to all SCSI Devices


Command Name Operation SCSI
Code Type Ref Std
CHANGE DEFINITION 40h O
COMPARE 39h O
COPY 18h O
COPY AND VERIFY 3Ah O
INQUIRY 12h M
LOCK/UNLOCK CACHE 36h O
LOG SELECT 4Ch O
LOG SENSE 4Dh O
MODE SELECT (10) 55h O
MODE SELECT (6) 15h M
MODE SENSE (10) 5Ah M
MODE SENSE (6) 1Ah M
PREFETCH 34h O
PREVENT/ALLOW MEDIUM REMOVAL 1Eh M
READ (10) 28h M
READ (12) A8h O
READ (6) 08h O
READ BUFFER 3Ch O
READ LONG 3Eh O
RECEIVE DIAGNOSTIC RESULTS 1Ch O
RELEASE (10) 57h M
RELEASE(6) 17h O
REQUEST SENSE 03h M
RESERVE(10) 56h M
RESERVE(6) 16h O
SEEK (10) 2Bh M
SEEK (6) 0Bh M
SEND DIAGNOSTIC 1Dh M
SET LIMITS (10) 33h O
SET LIMITS (12) B3h O
START/STOP UNIT 1Bh M
TEST UNIT READY 00h M
VERIFY (10) 2Fh O
VERIFY (12) AFh O
WRITE BUFFER 3Bh O

Key: M = command implementation is mandatory


O = command implementation is optional
The following command codes are vendor-specific: 02h, 05h, 06h, 09h, 0Ch, 0Dh, 0Eh, 0Fh, 10h, 11h, 13h,
14h, 19h, 20h, 21h, 22h, 23h, 24h, 26h, 27h, 29h, and C0h through FFh.

320
BSR NCITS 333

Annex H Implementation of Features (Informative)


H.1. What’s a Feature?
The Mt. Fuji specification introduces Features. Features were designed to be atomic units of functionality. On
the first level, Features are only a description in a document. Traditional drivers work without modification with
Logical Units that implement Features. Features were a part of the documentation in SFF 8020, SFF 8090,
and MMC; however they were not comprehensive, typically documenting only optional behavior. Mt. Fuji 2
(SFF 8090 r2) associates all normal functionality with Features. Detection of a whole group of functions (a
“Feature”) was typically accomplished by the Initiator by issuing a command unique to that Feature and
examining the completion status of that command.
The Mt. Fuji and T10 (MMC) groups have been consciously trying to avoid using errors as a method for status
detection. Error handling code is typically one of the more complex parts of implementing drivers; reducing the
number of cases that need to be handled helps implementations by reserving error status for only true errors.
Status information is reported via explicit status reporting commands such as GET EVENT/STATUS
NOTIFICATION and GET CONFIGURATION.
The descriptions of Features in Mt. Fuji 2 appear complex, and they are. However, these descriptions describe
almost nothing new; they are simply the descriptions of existing legacy behavior. The only new parts are the
descriptors themselves, that are either static identification blocks or groups of information that the Logical Unit
shall already have to operate, even in a legacy behavior. For example, a Logical Unit shall internally identify
whether or not a PLAY AUDIO command may succeed; Features are simply a way to let the Initiator in on the
secret.
Previously, new devices had to make a choice: to look completely like an old device with added functionality,
or as a new device not compatible with old drivers. Feature and Profiles, an Initiator can first determine if the
“right” driver is available by examining the Profiles. If “the” right driver isn’t available, the Initiator can identify
operable subsets when multiple Profiles are reported. Finally, the Initiator can identify basic functions to use
the device via the Feature reporting

H.2. History
The separation of status and error reporting is very important in multitasking environments. Typically, the
operating system needs to constantly be aware of the status of the drive. Various applications, operating
through a variety of OS interfaces, may also need to be aware of Logical Unit status. Reporting of status via
errors breaks down in this environment; only one process is made aware of state changes via the error, while
other processes cannot obtain the same state information because the error (status change) has already been
reported to the Initiator (according to the drive).
Features do not replace legacy behavior. Features, in most cases, define a subset of legacy behavior. Several
Features, taken together, are generally equivalent to legacy devices of the same type. Error and status
reporting in legacy Initiator environments is the same as legacy devices, without any special mode setting.
The Features described in Mt. Fuji 2 add something new: reporting. Legacy devices, while implementing the
content of the Features, did not have any mechanism to report specifically the drive’s capabilities. The closest
mechanism that has existed is a command that reported implemented commands. Implemented mode pages
are also reportable via standard mechanisms. However, a command is more than an operation code
(OpCode). A whole set of commands, mode pages, and behavior needs to be grouped together to be useful.
For example, write once MO, hard disk drives, and CD-R all use the WRITE command, but it is impossible to
use the same strategies for writing these three media. Typically, different drivers or fragments or drivers are
used for each kind of media. The previous mechanism would only identify that the WRITE command was
implemented, but could not identify how to use it.
The capabilities of a particular Logical Unit may change at arbitrary times. The most common example of this
is seen in a removable medium device. Even a basic removable magnetic medium device changes: from a
random read/write device to a virtually less functional device when the medium is removed. Multi-function
devices can change their behavior even more radically when they accept a variety of physical and logical
formats.
Before Features, Initiators had to use a trial and error method for determining what would or would not
function. Medium codes became outdated even before publication of the relevant standard, and still were not

321
BSR NCITS 333

adequate to describe all media. The Profiles, also introduced in Mt. Fuji 2, provide an equivalent to the
medium type. However, the Profile does not indicate exact capabilities for the drive/medium system, only a
generic identification of core capabilities.
Feature reporting is not completely new. Operating systems first identify a driver via the device type. The
device type implied a core set of functions, e.g. a CD-ROM Logical Unit would support READ, READ TOC,
etc. However, even these commands would not work if no medium were loaded. A driver would determine
media status by trying a few commands and examining the error codes. After determining that media was
present, a driver would have to probe to find out about additional Features such as audio or medium changers.
Features were “reportable,” but each Feature had a different mechanism, and many of the mechanisms relied
on the success or failure of special “key” commands.

H.3. Implementation of Features


There are only two requirements to fully implement Features. The first is the GET CONFIGURATION
command. This command is a very basic reporting command that reports some very static information; only a
few Features have any dynamic fields; most Features have only one bit that changes. The command is a form
of Inquiry: a technique for the Initiator to identify the device on the bus. The GET CONFIGURATION command
simply provides more detail, and the information reported is expected to be dynamic.
Implementation of Feature reporting via the GET CONFIGURATION command is simple: the image of the
result data can be copied from device ROM to its buffer, a few fields set with information already known to the
Logical Unit (such as the block size), and a few bits set according to already existing flags in the firmware (i.e.
DVD vs. CD, audio tracks present, etc.). Devices with non-removable media may have a completely static
image that is reported. If a starting point other than the beginning is requested, the Logical Unit walks the table
to find the first requested Feature, subtracts the offset from the data length, and transfers data starting at the
same offset.
The second part of Features is reporting when the Features change. As it is important for the Initiator to know
what operations will function with the Logical Unit at any given moment, preemptive reporting of Feature
changes greatly eases Initiator implementations by reducing the number of error conditions that shall be
handled. The GET EVENT/STATUS NOTIFICATION command is used for status change reporting (an
“Event.”) In many drives, implementation simply requires recording an event whenever a UNIT ATTENTION is
generated, and having the GET EVENT/STATUS NOTIFICATION command clear the UNIT ATTENTION
when the command completes.
As mentioned earlier, Features are not new; their reporting is. This reporting has become very important in
modern environments. Multiple drivers are talking to the same device, doing different tasks. For example, a
DVD-ROM Logical Unit may use the basic CD-ROM driver when a CD is installed, and another driver when a
DVD is installed, and both a basic DVD driver and a separate copy protection process when copy protected
media is mounted. All of these processes shall interact well to provide seamless and solid support. Feature
reporting provides a method for clean interaction.

H.4. Compatibility
Drives implementing Feature reporting are fully compatible with legacy systems.
The GET CONFIGURATION changes no behavior of the drive; it simply reports existing state information.
Repeated GET CONFIGURATION commands will report the same information (unless the user inserts or
removes the medium, etc.). GET CONFIGURATION never changes any state information in the drive,
including UNIT ATTENTION conditions.
The GET EVENT/STATUS NOTIFICATION command changes legacy behavior only slightly, and not at all in a
legacy environment. In a legacy environment, UNIT ATTENTION conditions are reported as done in the past.
In a new environment, completion of the GET EVENT/STATUS NOTIFICATION command clears the UNIT
ATTENTION. In a legacy environment, it would be cleared anyway; there are two differences: 1) the error is
reported as an event, rather than as an error, and 2) in a queued environment, the GET EVENT/STATUS
NOTIFICATION command will complete before anything else, because it was idle in the drive, awaiting
completion. In this environment, UNIT ATTENTION reporting will be very rare or non-existent.

322
BSR NCITS 333

H.5. Summary
Features do not radically modify any legacy behavior or functionality. The only new parts involve reporting of
behavior, and typically reflect state information already required of any firmware implementation, via two new
commands. One command reports status, and the other notifies the Initiator that the status may have
changed.
The benefits include easier coding of highly robust drivers, fewer error conditions, and forward and backward
compatibility with operating system drivers.

323
BSR NCITS 333

Annex I MMC Command Listings (Informative)


Table I.1 - Multimedia Commands - Alphabetically
Command Name Op Code Feature Sub-clause
BLANK A1h 6.1.1.
CLOSE TRACK/SESSION 5Bh 6.1.2.
FORMAT UNIT 04h Formattable 6.1.3.
GET CONFIGURATION 46h Core 6.1.4.
GET EVENT/STATUS NOTIFICATION 4Ah Core 6.1.5.
GET PERFORMANCE ACh Real Time Streaming 6.1.6.
INQUIRY 12h Core SPC
LOAD/UNLOAD C/DVD A6h Embedded Changer 6.1.7.
MECHANISM STATUS BDh Embedded Changer 6.1.8.
MODE SELECT (10) 55h Core SPC
MODE SENSE (10) 5Ah Core SPC
PAUSE/RESUME 4Bh CD Audio 6.1.9.
PLAY AUDIO (10) 45h CD Audio 6.1.10.
PLAY AUDIO (12) A5h CD Audio 6.1.11.
PLAY AUDIO MSF 47h CD Audio 6.1.12.
PLAY CD BCh Digital Output 6.1.13.
PREVENT/ALLOW MEDIUM 1Eh Core SPC
READ (10) 28h Random Readable SPC
READ (12) A8h DVD Read
READ BUFFER CAPACITY 5Ch 6.1.14.
READ C/DVD RECORDED CAPACITY 25h Random Readable 6.1.17.
READ CD BEh CD Read 6.1.15.
READ CD MSF B9h CD Read 6.1.16.
READ DISC INFORMATION 51h 6.1.18.
READ DVD STRUCTURE ADh DVD Read 6.1.19.
READ FORMAT CAPACITIES 23h Formattable 6.1.20.
READ HEADER 44h 6.1.21.
READ MASTER CUE 59h 6.1.22.
READ SUB-CHANNEL 42h CD Audio 6.1.23.
READ TOC/PMA/ATIP 43h CD Read 6.1.24.
READ TRACK /TRACK INFORMATION 52h 6.1.26.
REPAIR TRACK 58h 6.1.27.
REPORT KEY A4h DVD CSS 6.1.28.
REQUEST SENSE 03h SPC
RESERVE TRACK 53h 6.1.29.

324
BSR NCITS 333

Table I.1 – Multimedia Commands – Alphabetically (cont.)


Command Name Op Code Feature Sub-clause
SCAN BAh 6.1.30.
SEEK (10) 2Bh SBC
SEND CUE SHEET 5Dh 6.1.31.
SEND DVD STRUCTURE ADh 6.1.32.
SEND EVENT A2h 6.1.33.
SEND KEY A3h DVD CSS 6.1.34.
SEND OPC INFORMATION 54h 6.1.35.
SET C/D SPEED BBh R 6.1.36.
SET READ AHEAD A7h Real Time Streaming 6.1.37.
SET STREAMING B6h Real Time Streaming 6.1.38.
START/STOP UNIT 1Bh Random Readable SPC
STOP PLAY/SCAN 4Eh CD Audio 6.1.39.
SYNCHRONIZE CACHE 35h Random Writable, Incremental 6.1.40.
TEST UNIT READY 00h Core SPC
VERIFY 2Fh Formattable SPC
WRITE (10) 2Ah Random Writable, Incremental 6.1.41.
WRITE AND VERIFY (10) 2Eh Random Recordable 6.1.42.

325
BSR NCITS 333

Table I.2 - Multimedia Commands - by OpCode


Command Name Op Code Feature Sub-clause
TEST UNIT READY 00h Core SPC
REQUEST SENSE 03h SPC
FORMAT UNIT 04h Formattable 6.1.3.
INQUIRY 12h Core SPC
START/STOP UNIT 1Bh Random Readable SPC
PREVENT/ALLOW MEDIUM 1Eh Core SPC
REMOVAL
READ FORMAT CAPACITIES 23h Formattable 6.1.20.
READ C/DVD RECORDED CAPACITY 25h Random Readable 6.1.17.
READ (10) 28h Random Readable SBC
WRITE (10) 2Ah Random Writable, Incremental 6.1.41.
Streaming Write
SEEK (10) 2Bh SBC
WRITE AND VERIFY (10) 2Eh Random Recordable 6.1.42.
VERIFY 2Fh Formattable SPC
SYNCHRONIZE CACHE 35h Random Writable, Incremental 6.1.40.
Streaming Write
READ SUB-CHANNEL 42h CD Audio 6.1.23.
READ TOC/PMA/ATIP 43h CD Read 6.1.24.
READ HEADER 44h M 6.1.21.
PLAY AUDIO (10) 45h CD Audio 6.1.10.
GET CONFIGURATION 46h Core SPC
PLAY AUDIO MSF 47h CD Audio 6.1.12.
GET EVENT/STATUS NOTIFICATION 4Ah Core 6.1.5.
PAUSE/RESUME 4Bh CD Audio 6.1.9.
STOP PLAY/SCAN 4Eh CD Audio 6.1.39.
READ DISC INFORMATION 51h 6.1.18.
READ TRACK INFORMATION 52h 6.1.26.
RESERVE TRACK 53h 6.1.29.
SEND OPC INFORMATION 54h 6.1.35.
MODE SELECT (10) 55h Core SPC
REPAIR TRACK 58h 6.1.27.
READ MASTER CUE 59h 6.1.22.
MODE SENSE (10) 5Ah Core SPC
CLOSE TRACK/SESSION 5Bh 6.1.2.
READ BUFFER CAPACITY 5Ch 6.1.14.
SEND CUE SHEET 5Dh 6.1.31.

326
BSR NCITS 333

Table I.2 - Multimedia Commands - by OpCode (cont.)


Command Name Op Code Feature Sub-clause
BLANK A1h 6.1.1.
SEND EVENT A2h 6.1.33.
SEND KEY A3h DVD CSS 6.1.34.
REPORT KEY A4h DVD CSS 6.1.28.
PLAY AUDIO (12) A5h CD Audio 6.1.11.
LOAD/UNLOAD C/DVD A6h Embedded Changer 6.1.7.
SET READ AHEAD A7h Real Time Streaming 6.1.37.
READ (12) A8h DVD Read SBC
GET PERFORMANCE ACh Real Time Streaming 6.1.6.
READ DVD STRUCTURE ADh DVD Read 6.1.19.
SEND DVD STRUCTURE ADh 6.1.32.
SET STREAMING B6h Real Time Streaming 6.1.38.
READ CD MSF B9h CD Read 6.1.16.
SCAN BAh 6.1.30.
SET C/D SPEED BBh R 6.1.36.
PLAY CD BCh Digital Output 6.1.13.
MECHANISM STATUS BDh Embedded Changer 6.1.8.
READ CD BEh CD Read 6.1.15.

327
BSR NCITS 333

Table I.3 - Commands Common to all SCSI Devices


Command Name Operation Code SCSI
Type Ref Std
CHANGE DEFINITION 40h O
COMPARE 39h O
COPY 18h O
COPY AND VERIFY 3Ah O
INQUIRY 12h M
LOCK/UNLOCK CACHE 36h O
LOG SELECT 4Ch O
LOG SENSE 4Dh O
MODE SELECT (10) 55h O
MODE SELECT (6) 15h O
MODE SENSE (10) 5Ah M
MODE SENSE (6) 1Ah O
PREFETCH 34h O
PREVENT/ALLOW MEDIUM 1Eh M
REMOVAL
READ (10) 28h M
READ (12) A8h O
READ (6) 08h O
READ BUFFER 3Ch O
READ LONG 3Eh O
RECEIVE DIAGNOSTIC 1Ch O
RESULTS
RELEASE (10) 57h M
RELEASE(6) 17h O
REQUEST SENSE 03h M
RESERVE(10) 56h M
RESERVE(6) 16h O
SEEK (10) 2Bh M
SEEK (6) 0Bh M
SEND DIAGNOSTIC 1Dh M
SET LIMITS (10) 33h O
SET LIMITS (12) B3h O
START/STOP UNIT 1Bh M

Key: M = command implementation is mandatory


O = command implementation is optional

328
BSR NCITS 333

Table I.3 - Commands Common to all SCSI Devices (cont.)


Command Name Operation Code SCSI
Type Ref Std
TEST UNIT READY 00h M SPC-2

VERIFY (10) 2Fh O SPC-2

VERIFY (12) AFh O SPC-2

WRITE BUFFER 3Bh O SPC-2

Key: M = command implementation is mandatory


O = command implementation is optional
The following command codes are vendor-specific: 02h, 05h, 06h, 09h, 0Ch, 0Dh, 0Eh, 0Fh, 10h, 11h, 13h,
14h, 19h, 20h, 21h, 22h, 23h, 24h, 26h, 27h, 29h, and C0h through FFh.

329
BSR NCITS 333

Annex J CD-TEXT Format in the Lead-in Area (informative)


This annex explains the CD-TEXT information that is stored in the Lead-in Area as raw R-W Sub-channel
data. The information here is stored in a memory and can be retrieved to the Initiator immediately.

J.1. General
The CD-TEXT information in the Lead-in area is retrieved from raw R-W Sub-channel data. The data format of
RAW Sub-channel is explained in sub-clause 6.1.15. READ CD Command. 6 bits of each byte are R-W Raw
st
data and it is converted from 6 bits to 8 bits from the 1 bytes, it makes 4 chunk of 18 bytes data. Each 18
bytes of data is called CD-TEXT Pack Data as shown in Table J.1. CD-TEXT information is recorded
repeatedly in the Lead-in area and this one repeated data is called Text Group. Text Group consists of up to 8
types of language Blocks. Each Block represents one language and consists of maximum 255 Pack Data.
Table J.1. defines the contents of one Pack Data.

Table J.1. - CD-TEXT Pack Data format for the Lead-in area
BYTE CD-TEXT Pack Data Format
0 Header Field ID1: Pack Type Indicator
1 Header Field ID2: Pack Type Indicator
2 Header Field ID3: Pack Type Indicator
3 Header Field ID4: Block Number and Character Position Indicator
4 Text Data Field byte 0
5 Text Data Field byte 1
6 Text Data Field byte 2
7 Text Data Field byte 3
8 Text Data Field byte 4
9 Text Data Field byte 5
10 Text Data Field byte 6
11 Text Data Field byte 7
12 Text Data Field byte 8
13 Text Data Field byte 9
14 Text Data Field byte 10
15 Text Data Field byte 11
16 CRC Field byte 0 or Reserved
17 CRC Field byte 1 or Reserved

Pack is used to indicate the chunk of data in 18 bytes as shown above. Each Pack consists of a Header Field,
Text Data Field and CRC Field.

330
BSR NCITS 333

Pack Type Indicator has the value and descriptions defined in Table J.2. Packs shall be encoded in the order
of the items listed in the Table.

Table J.2 - Pack Type Indicator Definitions


Value Descriptions
80h Title of Album name(ID2=00h) or Track Titles (ID2=01h...63h)
81h Name(s) of the performer(s) (in ASCII)
82h Name(s) of the songwriter(s) (in ASCII)
83h Name(s) of the composer(s) (in ASCII)
84h Name(s) of the arranger(s) (in ASCII)
85h Message(s) from content provider and/or artist (in ASCII)
86h Disc Identification information
87h Genre Identification and Genre information
88h Table of Content information
89h Second Table of Content information
8Ah Reserved
8Bh Reserved
8Ch Reserved
8Dh Reserved for content provider only
8Eh UPC/EAN code of the album and ISRC code of each track
8Fh Size information of the Block
Track Number Indicator consists with 2 information. MSB of this byte in the Extension Flag and is normally set
to 0b. If it is set to 1b, the Pack is used for an extended application (TBD). The rest of the byte is used for
Track Number or Pack Element Number. Track Number is used when the Text Data field belongs to the track.
If the Pack is independent of the Track, this field indicates Pack Element Number that depends on the type of
the Pack.
Sequence Number Indicator is the number incrementally increased from the first Pack to the end in each
Block. It starts from 00h to FFh.
Block Number and Character Position Indicator contains 3 fields of information defined in the following figure.

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0


DBCC Block Number Character Position

Figure J.37 - Block Number Character Position

Bit 7(MSB) is the Double Byte Character Code indication, that indicates if Text Data Field contains the Double
Byte Character Code or not. If it is set to 0b, the Single Byte Character Code is used.
Bit 4 to 6, 3 bits, indicate the Block Number of the Block to that the Pack belongs. A Block is used to indicate a
set of text information representing one particular language. It can be used up to 8 at the same time.
Bit 0 to Bit 3, indicate the Character Position. It is the number of character in the strings that belongs to the
Text Data Field in the previous Pack. The Character Position starts from 0 to 15 and 15 indicates that the first
character belongs to the one before the previous Pack. When the character code is double byte code, a set of
2 bytes in the Text Data Field is counted at one.
A null code is also counted as a character, that indicates termination of each strings.
Character Position is not used in Packs with ID1=88h, 89h and 8Fh. 00h shall be used in all these Packs.

331
BSR NCITS 333

A Text Data Field consists of 12 bytes. It contains either character strings or binary information depending on
the type of Pack. All data in this field shall be transferred as recorded on the disc.
Packs except ID1=88h, 89h and 8Fh shall contains character strings in the Text Data Field. If Packs with
ID1=80h to 85h, and 8Eh are used, a character strings for each track shall be provided.
A character string consists of series of characters and a terminator(One null code for single byte, two null code
for double byte)`
The size of a character string is recommended to be less than 160 bytes. If a character string does not fit in a
Text Data Field of a Pack, it is continued onto the succeeding Packs. The succeeding character string will be
encoded starting at the next byte in the Text Data Field after the terminator of the current string. Unused bytes
in the Text Data Field shall be filled with null codes.
In case the same character stings is used for consecutive tracks, the Tab Indicator may be used to indicate the
same as previous track. It is a single tab code (09h) for single byte codes, and two tab codes for double bytes
character codes. It shall not used for the first track.
Packs with ID1=86h, 87h, 88h, 89h and 8Fh contains binary information in the Text Data Field.
CRC Field consists of 2 bytes. Initiator system may use these bytes to check errors in the Pack. The
16 12 5
polynomial is X + X + X + 1. All bits shall be inverted. This field is not mandatory for supporting CD-TEXT
data.

332

You might also like