0 ratings0% found this document useful (0 votes) 101 views122 pagessbc-r00 Single Block Command Scsi
single block command draft scsi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
WORKING X3T10
DRAFT Project 996D
Revision 0
1 Nov 94
NOTE: This file is provided to facititate review and comments on the draft SCSI-3 SBC standard. It is
NOT intended as a substitute for obtaining a paper copy of this document. Please contact Global,
Engineering Documents at (800) 854-7179 or (303) 792-2181 to obtain a paper copy.
Information Technology -
SCSI-3 Block Commands (SBC)
This is a draft proposed American National Standard of Accredited Standards Committee X3. As such
this is not a completed standard. The X3T10 Technical Committee may modify this document as a result
‘of comments received during the public review process and the approval of this document as a standard,
Use of the information contained herein is at your own risk.
Permission is granted to members of X3, its technical committees, and their associated task groups to
‘reproduce this document for the purposes of X3 standardization activities without further permission,
provided this notice is included. Atl other rights are reserved. Any commercial or for-profit use is strictly
prohibited.
ASC X3T10 SBC Technical Editor, Thomas "Rick* Tewell
Sequoia Advanced Technologies, Inc.
55 Shaver Street
San Rafael, CA 94901
usa
Telephone: (415) 459-7978
Facsimile: (415) 459-7988
Email: thomas tewell@seqadvtech.com
Reference number
ISO/IEC *** : 199x
ANSI X3."*" = 199%
Printed November 1, 1994 9:00am1 Nov 1994
POINTS OF CONTACT:
X3T10 Chair
John B, Lohmeyer
NCR Corporation
41835 Acroplaza Drive
Colo Spgs, CO 80816
Telephone: (719) 873-3362
Facsimile: (718) 597-8225
Email: John.lonmeyer@fteolinsco.ncr.com
X3 Secretariat
Lynn Barra
‘Administrator Standards Processing
X3 Secretariat
1250 Eye Street, NW Suite 200
Washington, DC 20005
‘SCSI Reffector
Intemet address for subscription to the SCSI reflector:
Intemet address for distribution via SCSI reflector:
SCS] Bulletin Board
(719) 574-0424
Document Distribution
Global Engineering
15 invemess Way East,
Englewood, CO 80112-5704
Aes
This standard specifies the
permits block devices such
Provides the definition for t
SS
X3T10/996D Revision 0
XST10 Vice-Chair
Lawrence J. Lamers
Adaptec
694 South Milpitas Blvd.
Milpitas, CA 95035
Telephone: (408) 957-7817
Facsimile: (408) 957-7193
Email: lamers@aol.com
>
Tego: wes
_(
sae
G “OS
* Cor
“Tetephone:
(303) 792-2181 or
(800) 854-7179,
Facsimile: (303) 792.2192
CT
igements for the SCSI-3 Block Command set (SBC). SBC
fiegibie disks, rigid disks, optical disks, etc, to attach to computers and
This standard does né
transport the com
this standard.
en >
in Wngtérial related to any service delivery subsystem thal may be-used to
fea ind parameter data, command response data, and status specified in
PATENT STATEMENT
pers of this standard have requested that holder's of patents that may be required
ion of the standard, disclose such patents to the publisher. However neither the
developers hof the publisher have undertaken a patent search in order to identity 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
bbe required for the implementation of the standard, no such claims have been made. No further patent
‘search is conducted by the developer or the publisher in respect to any standard it processes. No
Tepresentation is made or implied that licenses are nor required to avoid infringement in the use of this
standard,
Page fi Working Draft SCSI-3 SBCX3T10/996D Revision 0 ‘Nov 1994
Revision Information:
‘The following paragraphs summarize the editing work undertaken for each revision of this draft standard.
Revisions are listed in teverse chronological order. This presumes that most reviewers are interested in
the recent changes in this draft standard.
Revision 0 (01 Nov 1994)
This is the initial revision of the SBC document,
&
Go>
Working Draft SCSI-3 SBC Page iif1 Nov 1994 X3T10/996D Revision 0
Contents
Foreword,
Introduction
1Scope
2 Normative references .
2.1 Corequisite standards
2.2 Reference standards
3 Definitions, symbols and abbreviations c
3.1 Definitions specific to direct access devices é
3.1.1 cache memory
3.1.2 non-volatile medium XD
3.1.3 notch
3.1.4 user-accessible < r
3.1.5 volatile medium
3.2 Definitions specific to optical memory devices ( OQ
3.2.4 blank
3.2.2 generation
3.233 read-only medium
3.2.4 update
3.2.5 waite-once medium
3.3 Definitions specific to write-once devices
3.4 Symbols and abbreviations
4 General
ST Overview fe
4.2 Conventions C
5 Block device models, A)
5.1 Ditect-access device m:
5.1.1 Removable medium,
5.1.2 Logical biocks
5.1.3 Ready state 4
5.1.4 Initialization
5.1.5 Medium Eto
1.13.2 Sequential media
5.1.13.2 Memory media
5.2 Model for optical memory devices
5.2.1 Defect management
5.2.2 Error reporting
5.3 Model for write-once devices
5.3.4 Logical blocks
5.3.2 Initialization
Page iv Working Draft SCSI-3 SBCX3T10/996D Revision 0 1 Nov 1994
5.3.3 Physical medium defects
5.3.4 Error reporting
6 Commands for block device logical units
6.1 Commands for direct-access devices
6.1.1 FORMAT UNIT command
6.1.1.1 Defect tist formats
6.1.1.2 Initialization pattem option
6.1.2 LOCK UNLOCK CACHE command
6.1.3 PRE-FETCH command
6.1.4 PREVENT ALLOW MEDIUM REMOVAL command
6.1.5 READ(6) command
6.1.6 READ(10) command
6.1.7 READ CAPACITY command
6.1.8 READ DEFECT DATA command
6.1.9 READ LONG command
6.1.10 REASSIGN BLOCKS command
6.1.11 RELEASE command
6.1:14.1 Logical unit release
6.4.11.2 Extent release
6.1.11.3 Third-party release
6.1.12 RESERVE command
6.1.12.1 Logical unit reservation
6.1.12.2 Extent reservation —
6.1.12.3 Third-party reservation
6.1.12.4 Superseding reservations A }
6.1.13 REZERO UNIT command ¢ dy
6.1.14 SEARCH DATA commands 7
8.1.14.1 SEARCH DATA EQUAL commatig_7 <>
8.1.14.2 SEARCH DATA HIGH commatd “
8.1.14.3 SEARCH DATA LOW commartd_<")
6.1.15 SEEK(6) and SEEK(10) commands”
6.1.16 SET LIMITS command
6.1.17 START STOP UNIT,
6.1.18 SYNCHRONIZE C&Gi
625 DEFECT DATA(12) command
6.2.6 READ GENERATION command
6.2.7 READ UPDATED BLOCK(10) command
6.2.8 SEARCH DATA(12) commands
6.2.9 SET LIMITS(12) command
6.2.10 UPDATE BLOCK command
6.2.11 VERIFY(10) command
6.2.12 VERIFY (12) command
6.2.13 WRITE(10) command
6.2.14 WRITE(12) command
Working Draft SCSI-3 SBC. Pagev1 Nov 1994 XST10/996D Revision 0
6.2.15 WRITE AND VERIFY(10) command
6.2.16 WRITE AND VERIFY(12) command
6.3 Commands for write-once devices
7 Parameters for block device logical units
7.4 Parameters for direct-access devices
74.4 Diagnostic parameters
1.1.4 Translate address page - SEND DIAGNOSTIC
7
74.1.2 Translate address page - RECEIVE DIAGNOSTIC
7.1.2 Log parameters
74 :
3 Mode parameters
7.4°3.1 Caching page
7.1.3.2 Flexible disk page
7.4.3.3 Format device page
7.4.3.4 Medium {ypes supported page
7.1.3.5 Notch and partition page
7.1.3.6 Read-wnte error recovery page
7.4.3.7 Rigid disk drive geometry page
7.4.3.8 Verify error recovery page CO
7.2 Parameters for optical memory devices OO
7.2.1 Diagnostic parameters /
72.2 Log parameters Aw
7.2.3 Mode parameters Qe
7.2.3.1 Optical memory page Yo
7/3 Parameters for write-once devices o NS
Page vi Working Draft SCSI-3 SBCX3T10/996D Revision 0
Tables
Page
Table 1 - Commands for direct-access devices
Table 2 - FORMAT UNIT command
Table 3 - FORMAT UNIT parameter list
Table 4 - Defect lst header
Table 5 - FORMAT UNIT defect descriptor format and requirements,
Table 6 - Defect descriotor - Block format
Table 7 - Defect descriptor - Bytes from index format
Table 8 - Defect descriptor - Physical sector format
Table 8 - Initialization pattern descriptor
Table 10 - Initialization pattem modifier
Table 11 - Initialization pattem type
Table 12 - LOCK UNLOCK CACHE command
Table 13 - PRE-FETCH command
Table 14 - PREVENT ALLOW MEDIUM REMOVAL command
Table 15 - READ) command
Table 16 - READ(10) command
Table 17 - READ CAPACITY command
Table 18 - READ CAPACITY data
Table 18 - READ DEFECT DATA command
Table 20 - READ DEFECT DATA defect list
Table 21 - READ LONG command
Table 22 - REASSIGN BLOCKS command
Table 23 - REASSIGN BLOCKS defect list
Table 24 - RELEASE command
Table 25 - RESERVE command
Table 26 - Data format of extent descriptors >
‘Table 27 - Reservation types, ( oz
Table 28 - REZERO UNIT command
Table 29 - SEARCH DATA commands ara
Table 30 - SEARCH DATA parameter list. 7
Table 31 - SEEK(6) command
Table 32 - SEEK(10) commeartt
Table 33 - SET LIMITS conta
Table 34 - START STOP UI
Table 44 SERASE(12) command
Table 45 - MEDIUM SCAN command
‘Table 46 - MEDIUM SCAN parameter list
Table 47 - READ(12) command
Table 48 - READ DEFECT DATA(12) command
Table 49 - READ DEFECT DATA(12) list header
Table 50 - READ GENERATION command
Table 51 - Maximum generation data block
Table 82 - READ UPDATED BLOCK(10) command
Table 53 - SEARCH DATA(12) commands
‘Working Draft SCSI-3 SBC Page vii4 Nov 1994 X2710/996D Revision 0
Table $4 - SET LIMITS(12) command
Table 55 - UPDATE BLOCK command
Table 86 - VERIFY command
Table 57 - VERIFY(12) command
Table 58 - WRITE(10) command
Table 59 - WRITE(12) command
‘Table 60 - WRITE AND VERIFY(10) command,
Table 61 - WRITE AND VERIFY(12) command
le 62 - Commands for wite-once devices
‘Table 63 - Diagnostic page codes
Table 64 - Transtate address page - SEND DIAGNOSTIC.
Table 65 - Translate address page - RECEIVE DIAGNOSTIC 9
Tle Lou pgecoces A
Table 67 - Direct-access mediumtype codes
Table 68 - Device specific parameter 4
Table 69 - Mode page codes
Table 70 - Caching page
Table 71 - Demand read and write retention priority (
Table 72 - Flexible disk page
Table 73 - Examples of transfer rates Se
le 74 - Pin 34 field
le 75 - Pin 4 field LN
Table 76 Pin 24 feld CQ
Table 77 - Format device page Nw
Table 78 Repoting of deta sector formating support fo,
2
sy
Table 79 - Reporting of changeable sector formatting sup!
Table 80 - Medium types supported page
Table 81 - Notch page
Table 82 - Read-wrile error recovery page/“/”
Table 83 - Error recovery bit definitions (~~
Table 84 - Combined error recovery pararheter deSeriptions
Table 85 - Rigid cisk dive geometry page
Table 86 - Rotational position lo
Table 87 - Verify error reco
Table 88 - Diagnostic page
Table 89 - Log page codes
Table 80 - Optical memor pe codes
Table 81 - Optical me it
Table 92 - Optical met
Table 93 - Mode
Table 94 - 0)
Page viii Working Draft SCSI-3 SBC%3710/996D Revision 0
Foreword
1.Nov 1994
‘The SCSI-3 Block Commands (SBC) standard is divided into seven clauses:
Clause 4 is the scope.
Clause 2 numerates the normative references that apply to this standard.
‘Clause 3 describes the definitions, symbols and abbreviations used in this standard.
Clause 4 provides an overview of the block device class and the command set, This faust
specifies the conventions used throughout the standard,
Clause § describes models for the various categories of block devices
Clause 6 provides the definitions of all commands unique to block
provides references to the SPC standard for primary lmmond useow
te lass,
Clause 7 provides the definition of alf parameters unique to mi ==
yy
MY
Working Draft SCSI-3 SBC
iS
af
Page ix1 Nov 1994 X3T10/996D Revision 0
Introduction
‘The SCSI command set is designed to provide efficient peer-to-peer operation of input/output devices
(disks, tapes, printers, etc.) by an operating system. The SCSI command set assumes an underiying
‘command-response protocol. Action on SCS! commands shall not be deemed completed until a
response is received. The response shail include a status that indicates the final disposition of the
‘command.
‘The SCSI command set provides muttiple operating systems concurrent control over one or m
input/output devices. However, the multiple operating systems must properly coordinate theit a
data corruption will result. The SCSI standard provides commands that assist with =a
multiple operating systems. However, details of the coordination are beyond the scope of t
‘command set,
This standard defines a device model for SCSI-3 block devices. Also defined are SCSI same that
may apply o SCSI-3 Hock devices. The tancad defines the SCSI command al hal
implemented by SCSI-3 block devices. q 4
Sd
Wa any techical document there may arte questions of Interpretation 46 néwprogics are
implemented. The X3 Committee has established procedures to ny ni fons concerning the
standards developed by the X3 organization. These procedures mi ‘Technical information
Bulletins being published by X3 S
MY
hat developed the standard, are
Steifdard. This standard, X3."*-198x,
erican National Standards Institute,
indard may or may not reflect the
These Bulletins, while reflecting the opinion of the Techni
intended solely as supplementary information to other ust
88 approved through the publication and voting p
1s not altered by these butetins. Any subsequent
contents of these Technica Information Bullets,
‘Curent x3 practice is to make Technical er) ulltins available throug
Global Engineering ve iene: (303)-702-2181 -or-
415 Invemess Way East (B00) 854-7179
Englewood, CO 80112-5704, << Facsimile: (303)-72-2192
Page x ‘Working Draft SCSI-3 SBCX3T10/996D Revision 0 1 Nov 1994
1 Scope
This standard defines the command set extensions to facilitate operation of SCSI-3 block devices. The
cclause(s) of this standard pertaining to the SCSI-3 block device class, implemented in conjunction with
{the applicable clauses of SCSI-3 Primary Commands, shall fully specify the standard command set
available for SCSI-3 block devices,
‘The objectives of the SCSI-3 Block Commands standard is to provide the following:
a) Permits an Initiator to communicate with a to hat declares itself to be a block
Peripheral device types of O-Direct-access device, 4-Write-once device, and 7-Optl
device) in the device type field of the INQUIRY command response data over a Si
delivery subsytem ¢
b) Define commands unique to the class of SCSI-3 block devices.
6) Define control commands to manage the operation of SCSI-3 teks Ga
d) Define the differences between categories of block devices.
Figure 1 is intended to show the relationship of this document to ot!
‘ot intended to imply a relationship such as a hierarchy, protocol
Figure 1-SCSI-3 document road map
Working Draft SCSI-3 SBC Page 11 Nov 1994 X3T10/996D Revision 0
‘The term SCSI is used wherever itis not necessary to distinquish between the versions of SCSI. The
‘Small Computer System interface-2 (X3.131-1994) is referred to herein as SCSI-2
‘The term SCSI-3 refers collectively to the following documents that fall under the jurisdiction of X3T10:
SCSI-3 Parallel interface [X3T9.2/855D]
SCSI-3 Interlocked Protocol (K3T9.2/856D]
‘SCSI-3 Fiber Channel Protocol [X379.2/293D]
‘SCSI-3 Serial Bus Protocol [X3T9.2/992D]
SCSI-3 Generic Packetized Protocol (X3T9.2/991D]
‘SCSI-3 Architecture Model [X3T9.2/994D]
‘SCSI-3 Primary Commands [X3T9.2/9950]
‘SCSI-3 Block Commands [X3T3.2/996D]
‘SCSI-3 Stream Commands [X3T9.2/997D]
‘SCSI-3 Graphic Commands [X3T9.2/9980]
'SCSI-3 Medium Changer Commands [X3T9.2/988D}
‘SCSI-3 Controller Commands [X3T9.2/10470}
‘SCSI-3 Fast-20 Parallel Interface [X3T9.2/72720}
Muttimedia Command Set (X3T9.2/1048D]
Directly-Addressable Device Interface [X3T9.2/964D}
‘SCSI Common Access Method-2 [X3TS.2/990D]
Z
Os
So
Page 2 Working Draft SCSI-3 SBCX8T40/996D Revision 0 1 Nov 1994
2 Normative references
2.4 Corequisite standards
The following corequisite standards contain provisions which, through reference in this text, are
provisions of this American National Standard. At the time of publication the editions indicated were
valid. All standards are subject to revision, and parties to agreements based on this standards are
encouraged to investigate the possibility of applying the most recent editfons of the following list af
standards. Members of IEC and ISO maintain registers of currently valid International Standar
performs a similar function for American National Standards.
‘American Standard Code for Information Interchange (ASCII), ANS! X3.4-1977
SCSI-3 Architecture Model, X3T10/9940
‘SCSI-3 Primary Commands, X3T10/995D
2.2 Reference standards
Reference standards are listed to help implementers evaluate the
operating environment for SBC devices. These standards have no,
which place requirements on SBC, but they may be useful.
‘SCSI Common Access Method-2 mot xaTt
ee
Working Draft SCSI-3 SBC Page 34 Nov 1994 X3710/996D Revision 0
3 Definitions, symbols and abbreviations
3.1 Definitions specific to direct access devices
3.1.4 cache memory: A temporary (and often volatile) data storage area outside the user-accessible
area. A cache memory is usually faster to access than the medium and thus has the effect of increasing
data throughput by reducing the number of accesses to the medium,
3.1.2 non-volatile medium: Physical storage medium that retains data written to it for @ subsequent,
read operation through @ power-on condition, An example of this is a disk device that stores di
magnetic fields that do not require device power to exist o>
SS
3.1.3 notch: A notch refers to all or part of the medium having a consistent set of geo rameters,
Notches are used to increase storage capacity by optimizing the number of sectors en the
inner and outer tracks. °
4
3.1.4 user-accessible: The area of the medium that can be read from or waiter fo exo and WRITE
commands. - 7
.
3.1.8 volatite medium: Medium that may not retain data written to i fora gubséqliént read operation
through a power-on condition. An example ofthis i a silicon memofy device that loses data writen to It
if device power i ost. <
3.2 Definitions specific to optical memory devices“, *
3.2.1 blank: The logical block contains no infe tak ‘the target, or is written with a
3.2.2 generation: Indicates a relative revision leve) of/a logical block that has been updated via the
UPDATE BLOCK command. A logical blot
associated with it
3.2.3 read-only medium: Thistixmedibnrthat may not be written by the initiator. The mi
data prepared in a manner fot defined by this Intemational Standard.
Sep oval block without destroying the previous data. After a block
has been updated, a acount the most recent generation of the data. Earier generations are
/
ias/never been updated has only one generation
patiom thal appears tothe target as no data ical block is considered ready for a write
operation. : - L
still available after
325 mz This és medium that may be written only once by the initiator. Logical blocks
‘on wai have not been written ate considered blank. Logical blocks on write-once
media th nwnitten may not be written again.
33 Definition ‘specific to write-once devices
Page 4 Working Draft SCSI-3 SBCXST10/996D Revision 0
3.4 Symbols and abbreviations
cos
eg.
he.
vo
1D
LsB
MsB
scsi
Scsi2
SCSI
SPC
‘command descriptor block
for example (lustrative)
that is (additional explanation)
inpuvoutput
identifier
least si
jcant bit
most significant bit
either SCSL-2 or SCSI-3
the Small Computer System Interface-2 (ANSI X3.131-1994)
the Small Computer System Interface-3
SCSI-3 Primary Command Set standard
Working Draft SCSI-3 SBC
4 Nov 1994
Page §1 Nov 1994 X3T10/996D Revision 0
‘SCSI logical units which conform to this standard are referred to as block devices. This includes the
category of devices commonly referred to as flexible disks, rigid disks, removable rigid disks, erasable
optical devices, write once optical devices and read only optical devices (excluding CD-ROM type
devices which is defined by the SCSI-3 Multimedia Command Set stanard)..
‘The common attribute of block devices is that they are block addressable. That is to say that
addressed on the device in groups referred to as logical blocks. The number of bytes of data
a single logical block is known as the block length. The block length is almost always gt
byte and is typically (bul by no means always) a multiple of §12 bytes. in addition, a logt
Not necessarily bear any relation tothe physical back size of the storage medium, =.
Z
Each logical block has a block length associated with it. This means that the blo: fobtie medium
can change from logical block to logical block. However, by convention thé bc aly eemains
Constant over the entire eapacily ofthe medium. oo
the SCSI-3 Primary Command Set (SPC) standards.
This specications intends tobe used in conjunction wth the SCSI ore (SAND and
4.2 Conventions x
English meaning. These words and terms are det iSe 3 oF in the text where they first
appear.
Words nave he nara technics English ses an
thab usd by
direct-access devices with the REASSIGN BLOCKS command. The wen © gt
iO
(which is not supported by direct-access devices) is access to the previous(@s
blocks. fg
Defect management on optical-memory devices is usually ve jowever there are standards
for some types of optical-memory media that specity Bg ‘Techniques. These standards,
i mts
‘The update operation assigns an altemate physical block to the logical block
the data to the block. Commands are provided to allow the recovery of
where they exist, may supersede the impiementation requ ining to error and defect
reporting in this International Standard,
5.2.2 Error reporting NS
‘exeipllch of a command the target shall return CHECK
CONDITION status. ‘The appropriate tional sense code should be set. The following
list ilustrates some error conditions and the applicable sense keys. The list does not provide an
exhaustive enumeration of all 3 that may cause the CHECK CONDITION status.
Condition WY Sense Key
je since last command
Invalid logical block ade ILLEGAL REQUEST
Unsupported option a
Target reset or we
4.
If any of the following conditions occur dufingthe |
ILLEGAL REQUEST
UNIT ATTENTION
from this intiato
Self HARDWARE ERROR
Unreco error MEDIUM ERROR or HARDWARE ERROR
Recovered read error RECOVERED ERROR
Overrun or other error that might be resolved by ABORTED command
repeating the command
Attempt to write on write protected medium DATA PROTECT
‘Atte to read a bank or previously unten BLANK CHECK
‘Working Draft SCSI-3 SBC Page 154 Nov 1994 X3T10/996D Revision 0
‘Atlempt to write a previously written block and blank BLANK CHECK.
checking Is enabled
Atlempt to waite on read-only medium DATA ROTECT
In the case of an invalid logical block address, the sense data nformation field shall be set to the logical
block address of the irst invalid address.
{In the case of an attempt to read a blank or previously unwritten block, the sense data information fi
shall be set to the logical block address of the first blank block encountered. The data read up‘fo that
block shalt be transferred. SO
Se
In the case of an attempt to write a previously witten block when blank checking is enatied, the
information field shall be set tothe logical block address of the first non-blank Ws;
‘The model for the write-once device Is variation on the optical sant fhe aspects of
¢
a
5.3 Model for write-once devices
awrite-once device are similar to optical memory devices. The differe fmarized in this
clause.
‘may or may not be comupted, depending on the i {e-once physical media is non-
volatile.
5.3.4 Logical blocks
ey
Working Draft SCSI-3 SBC Page 211 Nov 1994. X3T10/996D Revision 0
‘Table 5 - FORMAT UNIT defect descriptor format and requirements
' 1 | Defect | Defect | '
1 1 {list | list |
IPtDatalCmpLst| format | length | Type | Comments
te
9 1 0 | 900b | N/A | M | Vendor-specific
1 1 0 { 000 | Zero | M | See notes (1) and (3!
1 1 2 1 000b | Zero | M | See notes (1) and (4)
1 1 9 | 0006 | >0 | © | See notes (2) and (3)
adoro. i boot (2) and
2 | See notes
2 | See notes
2 | See notes
°
ng Glist as a defect source.
q the new Glist.
Add existing Glist
ist.
je options described in this table cause a new Glist to be
fed during execution of the FORMAT UNIT command as described in
text.
‘The defect list format field specifies which defect descriptor is used if the FntData bit is one (see table
5).
The interleave field specifies the interleave that is used when performing the format operation. This
allows the logical blocks to be related in a way that facilitates matching the transfer rate between the
initiator and the peripheral. An interleave of zero specifies thal the target use ils defaull interleave. An
Page 22, Working Draft SCSI-3 SBCX3T10/996D Revision 0 ‘Nov 1994
interleave of one specifies that consecutive logical blocks be placed in contiguous ascending order. All
other values are vendor-specific.
‘A format options valid (FOV) bit of zero indicates that the target shall use its default settings for the
DPRY, DCRT, STPF, IP and DSP bits (see below). The initiator shall set these bits to zero. ff any of
these bits are not zero, the target 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 target shall examine the setting of the DPRY, DCRT, ores a
DSP bits. When the FOV bit is one, the DPRY, DCRT, STPF, IP and DSP bits are defined as; fotos. =>
=A disable primary (OPRY) bit of zero indicates that the target shall not use portions of the,
identified as defective in the primary defect Plist for initiator addressable logical blocks.
cannot locate the Plist or it cannot determine whether a Plist exists, it shall perform the
by the STPF bi. A DPRY bit of one indicates thatthe target shall not use the Pll 26 idan
areas of the medium. The Piist is not deleted.
A disable certification (DCRT) bit of zero indicates that the target shall per
medium certification operation to generate a Clist. A DCRT bit of one i
perform any vendor-specific medium cerlification process or format vet
executing the FORMAT UNIT command.
‘target shall not
vee
Tho sp oma (SPF coos evra saree (sien folowing events occurs
2) The target has been requested o use the primary Adige! RYDER ts set to zero), orthe grown
defect list (CmpLst is set to zero) and the target c
the list nor determine whether the
list exists. eP
b) The target has been requested to Se the prin list (OPRY is set to zero) or the grown
defect lst (CmpLstis set to zero) (andthe target Sitcounters an error while accessing the defect
list. —D
or both of the above conditions occurs, the target shall continue
‘The target shall retum CHECK CONDITION status at the
J. The sense key shall be set to RECOVERED ERROR and
jer DEFECT LIST NOT FOUND if the first condition
ASSTPF bit of one indiéagéé that>sf One or both of the above conditions occurs, the target shall terminate
the FORMAT UNI ‘ahd with CHECK CONDITION status. The sense key shall be set to MEDIUM
ERROR and | spfise code shall be set to either DEFECT LIST NOT FOUND if the first
conditio QEFECT LIST ERROR if the second condition occurred.
An initialization pattern (IP) bit of one indicates that an initialization pattem descriptor (see 6.1.1.2) is
included in the FORMAT UNIT parameter list immediately following the defect list header. An IP bit of
zero indicates that an initialization pattem descriptor is not included and that the target shall use its
default initialization pattem.
A disable saving parameters (DSP) bit of one specifies that the target shall not save the MODE SELECT
savable parameters to non-volatile memory duting the format operation. A DSP bit of zero specifies that
the target shall save all the MODE SELECT savable parameters for all initiators to non-volatile memory
Working Draft SCSI-3 SBC Page 23,1 Nov 1994 X3T10/996D Revision 0
during the format operation. Pages that are not reported as savable are not affected by the DSP bil (..
if pages 3h & 04h are not retumed with the PS bil set they may be saved even if DSP is cleared),
An immediate (Immed) bit of zero indicates that status shall be retumed after the formal operation has
completed. An immed bit value of one indicates that the target shall return status as soon as the
‘command descriptor block has been validated, ang the entire defect list has been transferred.
The bit designated VS is vendor-specific.
‘The defect list ienth field in the defect list header specifies the total length in bytes of the defect,
‘descriptors that follow and dees not include the initialization pattem descriptor or initialization i
any. The length of the defect descriptors varies with the format of the defect list, The three
the defect descriptor(s) field in the defect lists are shown in 6.1.1.1
6.1.4.1 Defect list formats oN
This clause describes the defect list formats used in the FORMAT UNIT, READ DEFEGT DATA and
translate page of the SEND DIAGNOSTIC and RECEIVE DIAGNOSTIC RESUI! -TS\comphands.
NOTE 3 Tho selected reporting format accounts for variables hal im(paXt fig information in the
retumed data. For example, the specific location of a dete nt in angular and
radial location on the device, may change in reported I {format operation with different
‘geometry parameters is performed. Its the responsibil it
format appropriate for the intended operation witht ‘offuture geometry parameters. If
the target is able to detect that the selected defect lish format would provide inconsistent results,
the target may retum CHECK CONDITION oO
coe eet yi ct et
‘contains the defect.
8),
dédenbtor - Block format
to four times the number of defect descriptors.
jould be in ascending order. More than one physical or logical block may be
ct descriptor. A target may retum CHECK CONDITION if the defect descriptors,
19 order.
Each byte from index defect descriptor (see table 7 specifies the location of a defect that is no more than
eight bytes tong.
Page 26 Working Draft SCSI-3 SBX3T10/996D Revision 0 4 Nov 1994
Table 7 - Defect descriptor - Bytes from index format
*
Iopitl 7
IByte | I
[seneeenmeenmeness
ni)
Each descriptor is comprised of the cylinder number of defect, the head syGmtres oF
bytes from index to the defect. The defect descriptors shall be in ascending order
ffect8d, by each defect. Ifthe
atten ‘rack shall be
defect bytes from index has a value of FFFFFFFPh, this indicate
considered defective. oN
Each physical sector defect descriptor (see table
(use) |
‘number. The defect descriptors shall be in ascending order. The cylinder number of
significant part of the address and the defective sector number is the least significant
Part of the address. More than one block may be affected by each defect descriptor. A defective sector
number of FFFFFFFFh indicates that the entire track shall be considered defective.
6.1.1.2 Initialization pattem option
The initialization pattem option specifies that the logical blocks contain the specified initialization pattem.
‘The initialization pattem descriptor (see table 9) is sent to the target as part of the FORMAT UNIT.
parameter list.
Working Draft SCSI-3 SBC Page 25,1 Nov 1996 X3T10/996D Revision 0
Table 9 - initialization pattem descriptor
Reserved
pattern type
Initialization pattern length =
Initialization pattern
<
NOTE 4 The initialization pattem option is not intended for media analy fication. This
option may only initialize the initiator accessible area of the media tadhe specified pattern and
may not wie oan iniaterneccesibe areas ofthe disk. "4 *
x +6 nnatoaton pattem
‘The IP modifier field specifies the type and location of a header t!
(see table 10).
Table 10 - Initialization pattern
| IP modifier | Description ca
No header. The/€asget~apald not modify the initialization
pattern. oo
ub ‘The target sail oyerw}ite the initialization pattern to
write the log: fock address in the first four bytes of
the logical block. the logical block address shall be
writtey Wish the most significant byte first.
all overwrite the initialization pattern to
al block address in the first four bytes of
al/block contained within the logical block. The|
numbered logical block or part thereof that i
in the physical block is used. The logical block!
Shall be written with the most significant byte I
i
1
1
i
i
i
i
1
1ob | the
i
i
I
i
It
type field (see table 11) indicates the type of patter the target shall use to
| block within the initiator accessible portion of the medium. All bytes within a logical
1 with the initialization pattem. The initialization patter is modified by the IP
modifier fed as described in table 10.
Page 26 Working Draft SCSI-3 SBCX3T10/996D Revision 0 1 Nov 1994
Table 11 - Initialization pattern type
ltmitialization! Description
| pattern type |
—
| Use default pattern. (note 1)
| Repeat the initialization pattern as
| required to fil the logical block. (ncte 2)
02h - 7fh | Reserved
80h - FFh | Vendor-specific
oN
i
i
i
i
i
'
| Notes LCOS
| 2) 2€ the initialization pattern length is not zero the target i (~ /
| Shaul tetninate the coment with CHEGK CONBISTON etetues The X
| sense key shall be set to ILLEGAL REQUEST and the additional
| sense code to INVALID FIELD IN PARAMETER LIST. —
| 2) Sethe initialization pateesn Length Le zaz0 marti
i ‘3
1
| sense code to INVALID FIELD IN PARAMETER LIST. ”
<5 initialization pattern
‘command with CHECK
sng’the additional sense code
tied by the IP modifier field.
ae nn a en
ft, r
1
“
‘The initialization pattern tength field indicates the number of bytes
I the length exceeds the current logical block size the target shall
CONDITION status. The sense key shall be set to ILLEGAL REGU
shall be set to INVALID FIELD IN PARAMETER LIST. "O,
6.1.2 LOCK UNLOCK CACHE command ?
‘The LOCK UNLOCK CACHE command (see tat
blocks within the specified range to be
replacement algorithm. Locked logicat bl
of the modified logical block shall remain
2) i that the target disallow or allow logical
1@ memory by the target's cache
nto the medium when modified, but a copy
al
| Lock | RelAdr |
=|
Logical block address “i
=I
(use) |
=I
Reserved 1
=I
'
Number of blocks =--1
(usp)
Control
Working Draft SCSI-3 SBC Page 27A Nov 1994 X3T10/996D Revision 0
‘A lock bit of one indicates that any logical block in the specified range that is currently present in the
‘cache memory shall be locked into cache memory. Only logical blocks that are already present in the
‘cache memory are actually locked. A lock bit of zero indicates that all logical blocks in the specified
range that are currently locked into the cache memory shall be unlocked, but not necessarily removed.
Arelative address (RelAdt) bit of one indicates that the logical block address field is a two's complement
displacement. This negative or positive displacement shall be added to the logical block address last,
‘accessed on the logical unit to form the logical block address for this command. This feature i
‘available when linking commands. The feature requires that a previous command in the linked
have accessed a block of data on the logical unit.
‘ARelAd© bit of zero indicates that the logical block address fleld specifies the first logical blo
range of logical blocks to be operated on by this command.
‘The number of blocks specifies the total number of contiguous logical blocks withif ye raiige~“A number
‘of blocks field of zero indicates that all remaining logicat blocks on the logi ithin the
range.
Multiple locks may bein effect rm more than one nator. Locks fom (ea tors may ove.
An unlock of an overlapped area does not release the lock. of anoth Init
6.1.3 PRE-FETCH command a
‘The PRE-FETCH command (see table 13) requests that thé.
et teaser the specified lagical blocks to
the cache memory. No data shall be transferred
Bitl 7 1 6 3 res
Logical block address
Reserved
Transfer length
Control
An immediate (Immed) bit of one indicates that status shall be retumed as soon as the command
descriptor block has been validated. An Immed bit of zero indicates that status shall be returned after
‘the operation is complete.
Page 28 Working Draft SCSI-3 SBCX3T10/996D Revision 0 4 Nov 1994
‘See 6.1.2 for a definition of the RelAdr bit and the logical block address field.
‘The transfer length field specifies the number of contiguous logical blocks of data that shall be
‘transferred to the target's cache memory. A transfer length of zero indicates that the contiguous logical
blocks up to and including the last logical block of the logical unit shall be transferred to the target's
‘cache memory. Any other value indicates the number of logical blocks that shall be transferred. The
target may elect to not transfer logical blocks that already are contained in the cache memory.
If the immed bit is zero and the specified logical blocks were successfully transferred to the
retum INTERMEDIATE-CONDITION MET status.
If immed is one, and the unlocked cache memory has sufficient capacity to accept all of
logical blocks, the target shall retum CONDITION MET status. If the link bit (see 7.2.7) fs. ond, the farget
shall retum INTERMEDIATE-CONDITION MET status. <>
2 p>
If immed is one, and the unlocked cache memory does not have sufficientapat Qeeei al of the
specified logical blocks, the target shall return GOOD status. The target shall transfer ta4ache memory
a8 many logical blocks as wil fi. Ifthe link bt (see 7.2.7) is one, the. ‘ase I retin INTERMEDIATE.
i “in
oS
Se
6.1.4 PREVENT ALLOW MEDIUM REMOVAL command
‘The PREVENT ALLOW MEDIUM REMOVAL command (s
disable the removal of the medium in the logical unit, Thi
reservations and the target shall not allow medium,
4) Yequests that the target enable or
.chahisiw is independent of device
by patos cure has median removal
FMEDIUM REMOVAL command
Ji
Operation code [1Eh)
1 Biel 7
(Byte |
Reserved
Reserved | Prevent!
<1
Control
The prey ff medium removal shall begin when any initiator issues a PREVENT ALLOW MEDIUM.
REMOVAL sommand with a prevent bit of one (medium removal prevented). The prevention of medium
removal for the logical unit shall terminate:
afterall initiators that have medium removal prevented issue PREVENT ALLOW MEDIUM.
REMOVAL commands with a prevent bit of zero,and the target has successfully performed
synchronize cache operation;
b) upon the receipt of a BUS DEVICE RESET message from any initiator; or
©) upon a hard RESET condition.
Working Draft SCSL-3 SBC Page 291 Nov 1994 XST10/996D Revision 0
While a prevention of medium removal condition is in effect the target shall inhibit mechanisms that
‘normally allow removal of the medium by an operator.
5 READ{6) command
‘The READ(6) command (see table 15) requests that the target transfer data to the initiator. The most
fecent data value written in the addressed logical block shall be retumed.
Table 15 - READ(6) command
losith 7G
Iayte |
N
Logical block addres:
wan aap
‘The cache control bits (see 6.1.6) are not provi ind. Targets with cache memory may
have values for the cache control bits that mand; however, no default value is
defined by this Intemational Standard. If ‘cont wired, the READ(10) command should be
used.
O
The logical block address field specifies the logiéal ck at which the read operation shall begin.
mer of contiguous fogical blocks of data to be transferred. A
gical blocks shall be transferred. Any other value indicates
‘the number of logical blocks that StialNbe tYansferred.
Page 30 Working Draft SCSI-3 SBCXST107996D Revision 0 Nov 1994
6.1.6 READ(10) command
‘The READ(10) command (see table 16) requests that the target transfer data to the initiator. The most
recent data value written in the addressed logical block shall be retumed,
Table 16 - READ(10) command
taatae vo ory atone woke Gergen oe os eee
this command the lowest priority for being \éd ints or retained by the cache. A DPO bit of one
overrides any retention priority ied in page (see 7.1.3.1). A DPO bit of zero indicates the
Priority shall be determined ion priority fields in the cache page. All other aspects of the
algorithm implementing the resyrpacamen strategy are not defined by this Intemational
Standard.
control replacement of logical blocks in the cache memory when.
we future usage of the iogical blocks. ifthe DPO bit is set to one,
the host kno blocks accessed by the command are not likely to be accessed again
0, the host expects that logical blocks accessed by this command are likely
again in the near future.
153 (FUA) bit of one indicates that the target shall access the media in performing the
‘command prist jo'returning GOOD status. Read commands shall access the specified logical blocks
(Le. the data is not directly retrieved from the cache). 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 retum GOOD status unti the logical blocks have actually been
written on the media (.e. the data is not write cached)
‘An FUA bit of zero indicates that the target may satisfy the command by accessing the cache memory.
For read operations, any logical blocks thet are contained in the cache memory may be transferred to the
initiator directly from the cache memory. For write operations, logical blocks may be transferred directly
tothe cache memory. GOOD status may be returned to the initiator prior to writing the logical blocks to
Working Draft SCSI-3 SBC Page 341 Nov 1994 X3T10/996D Revision @
the medium. Any error that occurs after the GOOD status is retumed is a deferred error, and information
‘regarding the error is not reported until a subsequent command.
See 6.1.2 for a definti
of the RelAdr bit and the logical block address field,
‘The transfer length field specifies the number of contiguous logical blocks of data thal shall be
transferred. A transfer length of zero indicates that no logical blocks shail be transferred. This condition
shall not be considered an error. Any other value indicates the number of logical blocks that ze
transferred
6.1.7 READ CAPACITY command
‘The READ CAPACITY command (see table 17) provides a means forthe initiator to request i nm
regarding the capacity of the logical unit.
‘Table 17 - READ CAPACITY command
boa
I Il 1 1 1
( Ce
}
ck Address
shall be zero if the PM bit is zero. If the PMI bit is zero and the logical block
addres ‘target shall return a CHECK CONDITION status, the sense key shail be set to
block length Yn bytes are those of the last logical block on the logical unit.
A PMI bit of one indicates that the retumied logical block address and block length in bytes are those of
‘the logical block address after which a substantia! delay in data transfer will be encountered. This
retumed logical block address shall be greater than or equal to the logical black address specified by the
RelAdr and logical block address fields in the command descriptor block
Page 32 Working Draft SCSI-3 SBCX3T10/996D Revision 0 4 Nov 1994
NOTE 6 This function is intended to assist storage management software in determining whether
‘there is sufficient space on the current track, cylinder, etc., to contain a frequently accessed data
structure, such as a file directory or file index, without incurring an access delay.
‘The READ CAPACITY data (see table 18) shall be sent during the DATA IN phase of the command.
Table 18 - READ CAPACITY data
lpr 7 1 6 | 5 | 4 1 3 £ 2 4
IByte | i 1 i i
ee
6:18 READ DEFECT DATA command AC
‘The READ DEFECT DATA command (see table 19) requests that the target fransfer the medium defect
data to the initiator. \
‘Table 19 - READ DEFECT,
pence mee ccecccecceness sannaen:
| plist | Glist | Defect list format
Reserved
Reserved
Allocation length
If the target is unable to access any medium defect data, it shall terminate the command with CHECK
CONDITION status. The sense key shall be set to either MEDIUM ERROR, if a medium error occurred,
‘or NO SENSE, if the list does not exist; and the additional sense code shall be set to DEFECT LIST NOT
FOUND.
NOTE 7 Some targets may not be able to return medium defect data until after a FORMAT UNIT
‘command has been completed successtully.
Working Draft SCSI-3 SBC Page 33‘1 Nov 1994 X3T10/996D Revision 0
A primary defect list (Plist) bit of one request that the target return the primary list of defects. A Plist bit
of zero requests that the target not retum the primary list of defects.
A grown defect ist (Glist) bit of one request that the target return the grown defect list. A Glist bit of zero
requests that the target not retum the grown defect list,
‘A Plist bit of one and a Glist bit of one requests that the target retum the primary and the grown defect
lists. The order in which the lists are retumed is vendor-specific, Whether the lists are merg
vendor-specific.
‘A Pst bit of zero and a Glist bit of zero requests that the target retum only the defect list h
‘The defect list format field is used by the initiator to indicate the preferred format for the’
field is intended for those targets capable of retumning more than one format, as defi
UNIT command (see 6.1.1.2, defect list formal). A target unable to retum the reque
retum the defect list in its default format (see the defect list format field in
Ifthe requested defect list format and the returned defect list format are
transfer the defect data and then terminate the command with CHECK.
key shall be sel to RECOVERED ERROR and the additional sense pide chal
NOT FOUND. oN
ws
‘The READ DEFECT DATA defect list (See table 20) mse header, followed by zero or
more defect descriptors. ~~
Ghia list
es
| Glise
Table 20 - READ:
pesccscomeseneene: ens
lopitr 7 1
Ipyte |
i
| elise | Defect list format
Defect descriptor(s) {if any)
Defect descriptor 0
(See specific table for length.) a
Defect descriptor x
(See specific table for length.) --1
‘A Plist bit of one indicates that the data retumed contains the primary defect fist. A Plist bit of zero
indicates that the data retumed does not contain the primary defect list.
Page 34 Working Draft SCSI-3 SBCX3T10/996D Revision 0 Nov 1994
‘A Gist bit of one indicates that the data retumed contains the grown defect list. A Glist bit of zero
indicates that the data retumied does not contain the grown defect list.
‘The defect list format field indicates the format of the defect descriptors returned by the target. This field
is defined in the FORMAT UNIT command (see 6.1.1.2).
NOTE 8 The use of the block format is not recommended, There is no universal model that
sensibly defines the meaning of the logical block address of a defect. In the usual case, a defect,
‘that has been reassigned no longer has a logical block address,
Defect descriptors retumed in the block format are vendor-specitic. Defect descriptors returné
physical sector format may or may not include defects in areas not accessible to the initiators
descriptors retumed in bytes-rom-index format shall comprise a complete list of defects,
of defects may include defects in areas not within the capacity retumed in the READ Cah
‘command. oS
Vv
‘Te defect list length field specifies he length n bytes of the detect descrifchs haat. “The detect
list length is equat to four or eight limes the number of defect descriptors, dependint on she format of the
retumed descriptors (see 6.1.1.1). oO
If the allocation length is insufficient to transfer all of the defect desoript
bbe adjusted to reflect the truncation. The target shall not create
Initiator is responsible for comparing the defect list length and the all
patial list was not received.
fect list length shall not
ITION status. The
eavfength to ensure that a
NOTE 9 The initiator may determine the | ist by sending the READ DEFECT
DATA command with an allocation lengih’ot faur. ce rget wil retum the defect list header
that contains the length of the defect ist mO
The defect descriptors may or may not 5 ig So The initiator may determine the
-xact number of defects by dividing the dé sis by the length of a single defect descriptor for
the returned format.
ge
Working Draft SCSI-3 SBC Page 351Nov 1994 X3T10/996D Revision 0
6.1.9 READ LONG command
‘The READ LONG command (see table 21) requests that the target transfer data to the initiator. The data
passed during the READ LONG command is vendor-specific, but shall include the data bytes and the
ECC bytes recorded on the medium. The most recent data written in the addressed fogical block shall be
retumed.
lpitl 7 | € 1 5 {| 4
bsyte |
—
ora
NOTE 10 Any other bytesthat can be Gerrectod by ECC should be included
synchronization mark,
1Se6 a logical block to be read without any correction made by the
the data to be corrected by ECC before being transferred to the
‘A corrected (CORRCT) pit I
target. A CORRCT
initiator.
See6.1.2 RelAdr bit and the logicat block address field.
‘eld should specify exactly the number of bytes of data that are available for
ero byte transfer length does not exacily match the available data length, the target
shall te ‘command with CHECK CONDITION status, the sense key shall be set to ILLEGAL
sset to one and the information field shall be set to the difference (residue) of the requested length minus
.clual length in bytes. Negative values shall be indicated by two's complement notation.
Abbyte transfer length of zero indicates that ne bytes shall be transferred and shall not be considered an
error.
Page 36 Working Draft SCSI-3 SBCXST10/996D Revision 0 4 Nov 1994
6.1.10 REASSIGN BLOCKS command
‘The REASSIGN BLOCKS command (see table 22) requests the target to reassign the defective logical
blocks to another area on the medium set aside for this purpose. The target should also record the
location of the defective logical blocks fo the grown defect list f such a list is supported. More than one
Physical or logical block may be relocated by each defect descriptor sent by the initiator. This command
‘does not alter the contents or location of the Plist (see 6.1.1, FORMAT UNIT command).
‘Table 22 - REASSIGN BLOCKS command
Reserved
Reserved
Control,
the logical blocks specified in the defect list
‘medium shall be preserved. on
NOTE 11 The effect of specifying 10 be reassigned that previously has been
reassigned is to reassign the block a: er the life of the medium, a logical block can be
assigned to multiple physi¢al-addresses until no more spare locations remain on the medium.
‘The REASSIGN BLOCKS (s8e table 23) contains a four-byte header followed by one or more
detect descriptors. The length of eac descriptor is four bytes,
‘S
gf
Working Draft SCSI-3 SBC Page 371 Nov 1994 X3T10/996D Revision 0
Table 23 - REASSIGN BLOCKS defect list
Defect descriptor (s)
Defect logical b!
Y
‘The defect list length field specifies the total lengtt i
ee
hepaétect descriptors that follow. The
defect list length is equal to four times the number iptors and does not include the defect
list header length. oe
‘The defect descriptor specifies a four-bytd detect logic! block address that contains the defect. The
defect descr sha en azar oer
Ifthe Sogical unit has insutclent pity to reassign all ofthe logical blocks specified in the defect
descriptors, the command s tale with CHECK CONDITION status, the sense key shall be set to
HARDWARE ERROR and se code set fo NO DEFECT SPARE LOCATION
AVAILABLE,
Inthe fogical units u lly complete @ REASSIGN BLOCKS command, the command
shall terminate with GONDITION status with the appropriate sense information, The logical
block address of ‘descriptor not reassigned shall be retumed in the command-specific
informatio data. If information about the first defect descriptor not reassigned is not
availab| jects have been reassigned, this field shall be set to FFFFFFFFh.
inthe BLOCKS command falled due to an unexpected unrecoverable read error that would
cause 9 fa in a block not specified in the defect list, the logical block address of the
NOTE 12 If the REASSIGN BLOCKS command retums CHECK CONDITION status and the
‘sense data command-specific information field contains a valid logical block address, the
initiator should remove ail defect descriptors from the defect list prior to the one retumed in the
‘command-specific information field. if the sense key is MEDIUM ERROR and the valid bit is one
(the information field contains the valid block address) the initiator should insert that new
defective logical block address into the defect list and reissue the REASSIGN BLOCKS
‘command with the new defect list. Otherwise, the initiator should perform any corrective action
Page 38 Working Draft SCSI3 SBCXST10/996D Revision 0 4 Nov 1994
indicated by the sense data and then reissue the REASSIGN BLOCKS command with the new
defect list.
6.1.11 RELEASE command
‘The RELEASE command (see table 24) is used to retease a previously reserved logical unit or, ifthe
extent release option is implemented, to release previously reserved extents within a logical unit.
Table 24 - RELEASE command
riod Reserved | 3edpty | Third party mung
control
Op
ie mechanism for contention resolution in
by the initiator that made it. Itis not an
ato tha ok surety vai or shld by srt
@ target shall retum, GOOD)stalus without altering any other reservation.
The RESERVE and RELEASE commands provi
multiplesintiator systems, A reservation
error for an initiator to attempt to release
initiator. In this case,
NOTE 13 The reservati jing option'in X3.131-1986 (SCSI-1) has been removed as of
sesh,
?
is mandatory. If the extent bt is zero, this command shall cause
the target to terminate party logical unit and extent reservations that are active from the
6.1.14.1 Logical unit releas
imple’ |. Ifthe extent bit is one and the extent release option is not
the sense key shall be set o ILLEGAL REQUEST. This option shall be implemented i the extent
reservation option (see 6.1.12.2) is implemented.
If the extent bit is one and the extent release option is implemented, this command shall cause any
reservation from the requesting initiator with @ matching reservation identification to be terminated.
‘Other reservations from the requesting initiator shall remain in effect.
Working Draft SCSI-3 SBC Page 3941 Nov 1994 X3T#0/996D Revision 0
6.4.11.3 Third-party release
Implementation of third-party release is mandatory. Third-party release allows an initiator to release a
logical unit or extents within a logical unit that were previously reserved using third-party reservation (see
6.1.12.3). Third-party release shall be implemented and is intended for use in multiple-initiator systems
thal use the COPY command.
If the third-party (rdPty) bit is zero, then a third-party refease is not requested. If the SrdPty biti
then the target shall release the specified logical unit or extents, but only if the reservation
using a third-party reservation by the initiator that is requesting the release for the same SCSI
specified in the third-party device ID field.
If the 3rdPty bit is one the target shall not modify the mode parameters for commands regeiv
‘third-party device even if the target implements the transfer of mode parameters “i a thi.
RESERVE command,
NOTE 14 If a target implements independent storage of mode mated i Patt, a
third-party RESERVE command copies the current mode paramets} jor that sent
the RESERVE command to the current mode parameters for the ji ity seid as the third-
party device (usually a copy master device). A unit attention conditidn.sotiies the third-party of
the changed mode parameters due to the reservation, As third-party RELEASE
command does not retum the third-party devices’ seca ters back to their
previous values. The third- party device can issue MOI id MODE SELECT
‘Commands to query and modify the mode paramet
6.1.12 RESERVE command fos (0?
‘The RESERVE command (see table 25) is ysed = ical unit or, ifthe extent reservation
fewecccaseeeeneneneeracee:
Ips 7 1 6
IByte |
‘The RESERVE and RELEASE commands provide the basic mechanism for contention resolution in
‘muttiple-initiator systems. The third-party reservation allows logical units or extents to be reserved for
another specified SCSI device.
NOTE 15 The reservation queuing option in X3.131-1986 (SCSI-1) has been removed as of
SCSI-2,
Page 40 Working Draft SCSI-3 SBCX3T10/996D Revision 0 1 Nov 1984
6.1.12.1 Logical unit reservation
Implementation of logical unit reservation is mandatory. f the extent bit is zero, this command shall
request that the entire logical unit be reserved for the exclusive use of the initiator until the reservation is.
superseded by another valid RESERVE command from the initiator that made the reservation of until
released by a RELEASE command from the same initiator that made the reservation, by a BUS DEVICE
RESET message from any initialor, by a hard RESET condition, or by a power on cycle. A logical unit
reservation shall not be granted ifthe fogical unit or any extent is reserved by another initiator. be
permissible for an initiator to reserve a logics! unit that is currently reserved by that initiator. I.
bit is zero, the reservation identification and the extent list length shall be ignored.
shall
ste
Whe logical unt or any extent within the loll unis reserved for another nator, the tok ed >
return RESERVATION CONFLICT status
If, after honouring the reservation, any other initiator attempts to perform any com eer
Jogical unit other than an INQUIRY, REQUEST SENSE, PREVENT ALLOW, MEDIUN) REMOVAL (with a
prevent bit of zero), or a RELEASE command the command shall be reje ith RESERVATION
CONFLICT status, .
CN
6.1.12.2 Extent reservation _ SY ye
Implementation of extent reservation is optional. The reservation identifica field provides a means
for an initiator to identiy each extent reservation. Ths allows ate 0-4 mulipe tasking
identification is used in the
environment, to have multiple reservations outstanding. T!
RELEASE command to specify which reservation iso be fe}gased NS also used in superseding
RESERVE commands to specify which reservation
If the extent reservation option alas
‘elease option (see 6.1.11.2) shall also
be implemented. These options permit mui inthe logical unt to be reserved, each with a
separate reservation type. ar
ND
If the extent bit is one, and the extent reservation option is implemented, then the target shall process
the reservation request as follows’ ——
a) The extent list shallfbe checked forthe number of extents in the reservation request. If the
extent list length is 2ero, = reservations shall be changed, no new reservations shall be
ted, an Shall not be treated 2s an error. If the extent list contains more
nd this
extents than ar son ‘the logical unit, the command shall be terminated with CHECK
CONDITION sas apd sense key shal beset o ILLEGAL REQUEST. {ihe exon st
contains fan are currently available on the logical unit, then the target shall retun
a RES! Te T status.
» all be checked for valid extent logical block addresses. f any logical block
jnvalid for this fogical unit, the command shall be terminated with CHECK
N status and the sense key shall be set to ILLEGAL REQUEST. The extent list shall
for invalid extent overiaps (as defined by reservation type) with other extent
tors in the extent list and if invalid overtaps are found, the command shail be terminated
with CHECK CONDITION status and the sense key shall be Set to ILLEGAL REQUEST.
©) Ifthe requested reservation does not conflict with an existing reservation, the extents specified
shall be reserved until superseded by another valid RESERVE command from the initiator that
made the reservation or until released by a RELEASE command from the same initiator, by a
BUS DEVICE RESET message from any initiator, or by a hard RESET condition. if either of the
last two conditions occur, the next command from each initiator shall be terminated with CHECK
CONDITION status and the sense key shall be set to UNIT ATTENTION.
Working Draft SCSI-3 SBC Page 41A Nov 1994 ‘X3T#0/996D Revision 0
If the reservation request conflicts with an existing reservation, then the target shall return a
RESERVATION CONFLICT status,
I the extent bit is one, and the extent reservation option is not implemented, then the RESERVE
command shall be rejected with CHECK CONDITION status and the sense key shall be set to ILLEGAL.
REQUEST.
‘The size of the extent list shall be defined by the extent list length field. The extent list shall consist of
2¢70 or more descriptors as shown in table 26. Each extent descriptor defines an extent begingingvat the
‘Specified logical block address for the specified number of blocks. If the number of blocks is 22
extent shall begin at the specified logical block address and continue through the last logical
address on the logical unit, oa
Table 26 - Data format of extent descriptors.
[opel 7 1 6 | S§ | @ | 3
I t
lo 4 Reserved
141 arse)
Logical
cise) |
Zé
aR aareret
‘The reservation type field shall define the yes jatior’ in effect for the extent. The types of
reservation are defined in table 27. < 5
Table 27 - Reservation typeg”"/
| Reservation type
f----4-1
Ntile this reservation is active, no other initiator shall be permitted read
indicated extent, This reservation shall not inhibit write operations from any
with a write exclusive reservation; however, read exclusive, exclusive access,
jared reservations that overlap this extent shall conflict with this reservation,
» ive, While this reservation is active, no other initiator shall be permitted write
operations to the indicated extent. This reservation shall not inhibit read operations from any
initiator or conflict with @ read exclusive reservation from any initiator. This reservation shall
conflict with write exclusive, exclusive access, and read shared reservations that overtap this
extent.
©) Exclusive access. While this reservation is active, no other initiator shall be permitted any
access to the indicated extent. All reservation types that overtap this extent shall confict with
this reservation,
Page 42 Working Draft SCS1-3 SBCX3T10/996D Revision 0 ‘Nov 1994
d) Read shared. While this reservation is active, no write operations shall be permitted by any
Initiator to the indicated extent. This reservation shall not inhibit read operations from any
initiator oF confict with a read shared reservation. Read exclusive, write exclusive, and
exclusive access reservations that overlap wih this extent shall conflict with this reservation,
if the relative address bit is one, the logical block address in the extent descriptor shall be treated as a
two's complement displacement. This displacement shall be added to the logical block address last
accessed on the logical unit to form the logical block address for this extent. This feature is only
available when linking commands and requires that a previous command in the linked group has",
accessed a logical block on the logical uni! ino, the RESERVE command shall be terminated wit)
CHECK CONDITION status and the sense key shall be sel to ILLEGAL REQUEST,
if an initiator attempts a cormmand to a logical block that has been reserved and that at
by the reservation. the command shal not be performed and th command shal be (hi
RESERVATION CONFLICT slatus Ia feservation cone precludes any pat of
the command shal be perfomed. COPY commands sallbe teminaled wi
status and the sense key shail be set to DATA PROTECT if any part of thee
by an active reservation. if any extent in a logical unt is reserved in any.
FORMAT UNIT command shall be rejected with a RESERVATION AS
12.3 Third-party reservation
‘command allows an initiator to reserve a togicel unit or ext waipgeal unit for another SCSI
device. This is intended for use in multiple-init COPY command. Third-party
reservation is required.
Implementation of third-party reservation is mandatory. The Sis ation forthe RESERVE
It the third-party (SrdPty) bit is zero, then a thi
‘one then the target shall reserve the speci ents for the SCSI device specified in the
third-party device ID field. The target shall pfeserve the réservation unt itis superseded by another
valid RESERVE command from the initiator that-madg the reservation or until itis released by the same
initiator, by a BUS DEVICE reset message froma any fitiator, or a hard reset condition. ‘The target shall
ignore any attempt to release th ation Made by any other initiator.
iis not requested. If the SrdPty bit is
If independent sets of paranfet
‘transfer the set of parametei
used for commands from the
mented, a third party reservation shall cause the target to
in 3 initiator of the RESERVE command to the parameters
'y device. Any subsequent command issued by the third-party
jode parameters in effect for the intiator that sent the RESERVE
6.1.12.4 Supefseding reservations
Implementation of superseding reservations is mandatory. An initiator that holds a current reservation
{unit or extent) may modify that reservation by issuing another RESERVE command (unit or extent) to
the same logical unit. The superseding RESERVE command shall release the previous reservation state
{unit or extent) when the new reservation request is granted. if the superseding reservation is for an
extent reservation and the current reservation is also an extent reservation, the current extent
reservation identification value is used for the superseding reservation, The current reservation shall not
be modified if the superseding reservation request cannot be granted. If the superseding reservation
‘Working Draft SCSI-3 SBC Page 431 Nov 1994 X3T10/996D Revision 0
cannot be granted because of conflicts with a previous reservation (other than the reservation being
superseded), then the target shall retum RESERVATION CONFLICT status.
NOTE 17 Superseding reservations allow the SCSI device ID to be changed on a reservation
Using the third-party reservation option. This capability is necessary for certain situations when
using COMPARE, COPY, and COPY AND VERIFY commands.
6.1.13 REZERO UNIT command
‘The REZERO UNIT command (see table 28) requests thal the target set the logical unit to a sf
stale. See vendor specifications for details.
‘Table 26 - REZERO UNIT command
Ioptr 7 ) 6 | $ | & 1 3
Inyte | I I I
Operation code (01h)
Reserved
Page 44
Working Draft SCSI-3 SBCX3T10/996D Revision 0 1 Nov 1994
6.1.14 SEARCH DATA commands
‘The SEARCH DATA commands (see table 29) search one or more logical blocks for equality or
inequality to a data pattem. The concept of records within a logical block is used to allow multiple
records within a logical block to be searched.
Table 29 - SEARCH DATA commands
[ptr 7 1 6 1 8
[Byte | I I
i
14 Reserved
9 S a
Awa
Logical block address> \/ ao
(oy :
1
1
!
'
i
1
1
1
i
i
i
i
i
i
i
i
i
i
Il
+
o 5 os
eet nen: (=
The invert bit determines whether the sea! esa {s to be inverted. See 6.1.14.1 through 6.1.14
fora description of the search conditions forthe ndiVidual SEARCH DATA commands.
tes that each record shail be wholly contained within a single
block. Any space at the end of 3. is smaller than the record length is ignored by the SEARCH
DATA commands. A Spal icates that records span block boundaries (i.e. record may
‘a subsequent block.
with a CONDITION MET status. & REQUEST SENSE command can then be issued
logical block address and record offset of the matching record. if the search is not
satisfied and’no error occurs, the command shall be terminated with GOOD status.
A\link bit (see 7.2.7) of one indicates a command is linked to the SEARCH DATA command and if the
search is Satisfied, INTERMEDIATE-CONDITION MET status is retumed and the next command is
executed, Ifthe RelAdr bit in the next command is one, the logical block address of the next command
is used as a displacement from the logical block address at which the search was satisfied. If a linked
‘search is not satisfied, the command is terminated with CHECK CONDITION status. A REQUEST
‘SENSE command may then be issued,
Working Draft SCSI-3 SBC Page 451 Nov
X3T10/996D Revision 0
AREQUEST SENSE command following a satisfied SEARCH DATA command shall:
a) retum a sense key of EQUAL if the search was satisfied by an exact match. If the search was
satisfied by an inequality then a sense key of NO SENSE shall be retumed.
b) _retum the valid bit set to one.
©) return the logical block address of the logical block containing the first matching record
Information field,
N
) _retum the record offset of the matching record in the command- specific information field,
A REQUEST SENSE command following a SEARCH DATA command that is not satis by J
a) retum a sense key of NO SENSE, if no errors occurred during the command €xecdtio:
b) _ retum the valid bit set to zero. “ SS B Oy
more search argument descriptors.
Table 30 - SEARCH DATA param ri
‘The SEARCH DATA parameter list (see table 30) contains a —e et
10 | tsp
Jee atone
i
1
i
I
1
1
(LSB) |
Search argument length
Search argument descriptor (s)
Displacement
pattern length
‘The logical record length field specifies the record length in bytes.
Page 46 Working Draft SCSI-3 SBCX3T10/996D Revision 0 1 Nov 1994
‘The first record offset field specifies the number of bytes that shall be ignored in the first logical block.
before the search begins. If the value of the first record offset field shall is larger than the logical block
length the target shall terminate the command with a CHECK CONDITION status, set the sense key to
ILLEGAL REQUEST and set the additional sense code to INVALID FIELD IN PARAMETERS LIST.
‘Subsequent logical blocks shall be searched beginning with the first byte In the logical block. This
permits one or more records to be skipped initially.
‘The number of records field specifies the maximum number of records that shall be searched of this
‘command. An search shall terminate when the search pattem is found or when the number of is
exhausted or when the number of blocks to search is exhausted
a
‘The search argument length field specifies the length in bytes of all the search argument,
follow.
descriptor to determine the search argument length.
NOTE 48 Since the pattem length can vary, there is no fixed mage tHe ee
‘The search argument descriptors specify one or more search conditions t crea fin a single record
in order to satisfy the search. Each search argument descriptor is made scement field, @
pattern length field, and a pattem field. al Ne
‘The displacement fetd species the displacement in bytes of thee ein data to be compared
from the start of the fogical record,
cae nat foltows.
‘The pattem length field specifies the length in byte
‘The pattem field specifies the data to compar
6.1.14.4 SEARCH DATA EQUAL commdn
‘The SEARCH DATA EQUAL command (see table 21 2,) ‘operation code 31h) shall be satisfied by the first
logical record searched that contains data that satisfies all of the search argument descriptor(s). If the
9 block is zero, the search argument descriptors) shall be satisfied by
data in the pattem. If the invert bit is one, the search
6d by data in the logical record being not equal fo the data in the
the logical record
argument descriptor(s) shall be s
pattem. (See 6.1.14)
1.14.2 SEARCH oa mand
‘The SEARCH mand (see table 29, operation code 30h) shall be satisfied by the first
that contains data that satisfies all of the search argument descriptor(s). If the
cord being greater than the data in the pattern. Ifthe invert bitis one, the search
(3) shall be Satisfied by data inthe logical record being less than or equal to the data
6.1.14.3 SEARCH DATA LOW command
‘The SEARCH DATA LOW command (see table 29, operation code 32h) shall be satisfied by the first
logical record searched that contains data that satisfies all ofthe search argument descriptor(s). If the
invert bit in the command descriptor block is zero, the search argument descriptor(s) shall be satisfied by
data in the logical record being less than the data in the patter. If the invert bit is one, the search
argument descriptor(s) shall be satisfied by data in the logical record being greater than or equal to the
data in the pattem. (See 6.1.14.)
Working Draft SCSI-3 SBC Page 47