home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
S2R10_C.ZIP
/
S2R10C09.SI
< prev
next >
Wrap
Text File
|
1990-03-09
|
154KB
|
3,088 lines
.RR--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!
.PL 62
.LM 1
.RM 78
.MT3
.MB4
.HM1
.FM1
.PO10
.CW10
.SR2
.UJ0
.OJ0
.UL1
.aw off
.heSequential-Access Devices 3/9/90
.foSCSI-2 draft proposed American National Standard 9-# Revision 10c
.pn 1
.cp 30
.pm 0
9. Sequential-Access Devices
.aw on
.pm 3
.cp 20
.aw off
.pm 0
9.1. Sequential-Acces≤ Devicσ Model
.aw on
.pm 3
.cp 10
.aw off
.pm 0
9.1.1. Physical Elements
.aw on
.pm 3
.cp 4
ááSequentia∞-acces≤ device≤ (calleΣ device≤ below⌐ optimizσ thei≥ usσ iε ì
storinτ o≥ retrievinτ use≥ datß iε ß sequentia∞ manner« Sincσ acces≤ i≤ ì
sequential¼ positioε change≤ typicall∙ takσ ß lonτ time¼ wheε compareΣ t∩ ì
direc⌠-acces≤ devices.
.cp 3
ááSequentia∞-acces≤ device≤ arσ usuall∙ tapσ devices« Thσ remainde≥ oµ thi≤ ì
descriptioε i≤ froφ thσ poin⌠ oµ vie≈ oµ ß tapσ device╗ however¼ othe≥ ì
implementation≤ arσ no⌠ precluded.
.cp 7
ááThσ recordinτ mediuφ fo≥ tapσ device≤ consist≤ oµ variou≤ width≤ anΣ length≤ ì
oµ ß flexiblσ substratσ coateΣ witΦ ß semΘ-permanen⌠ magnetiπ material« Thσ ì
recordinτ mediuφ ma∙ bσ wounΣ ont∩ singlσ reel≤ o≥ encapsulateΣ int∩ ì
cartridge≤ containinτ botΦ ß suppl∙ ree∞ anΣ ß takσ-u≡ reel« Severa∞ Americaε ì
Nationa∞ Standard≤ exis⌠ coverinτ thσ constructioε oµ reel≤ anΣ cartridge≤ fo≥ ì
interchangσ a≤ wel∞ a≤ recordinτ technique≤ fo≥ man∙ oµ thσ forma⌠ o≥ densit∙ ì
combinations.
.cp 3
áá┴ completσ uni⌠ composeΣ oµ thσ recordinτ mediuφ anΣ it≤ physica∞ carrie≥ ì
(e.g.¼ reel¼ cartridge¼ cassette⌐ i≤ calleΣ ß volume« Volume≤ havσ aε ì
attributσ oµ beinτ mounteΣ o≥ demounteΣ oε ß suitablσ transpor⌠ mechanism«
.cp 4
ááMounteΣ i≤ thσ statσ oµ ß volumσ wheε thσ devicσ i≤ physicall∙ capablσ oµ ì
executinτ command≤ tha⌠ causσ thσ thσ mediuφ t∩ bσ moved« ┴ volumσ i≤ ì
demounteΣ wheε i⌠ i≤ beinτ loaded¼ threaded¼ unloaded¼ unthreaded¼ o≥ wheε no⌠ ì
attacheΣ t∩ thσ device«
.cp 6
ááRead∙ i≤ thσ statσ oµ thσ devicσ wheε mediuφ acces≤ anΣ noε-mediuφ acces≤ ì
command≤ caε bσ executed« Thσ devicσ i≤ no⌠ read∙ wheε n∩ volumσ i≤ mounteΣ ì
or¼ froφ thσ initiator'≤ perspective¼ wheneve≥ al∞ mediuφ acces≤ command≤ ì
repor⌠ CHEC╦ CONDITIO╬ statu≤ anΣ ß NO╘ READ┘ sensσ key« Somσ device≤ ma∙ ì
havσ ß separatσ switcΦ functioε whicΦ place≤ thσ devicσ iε ß no⌠ read∙ statσ ì
eveε wheε ß volumσ i≤ mounted«
.cp3
ááThσ writσ enableΣ o≥ writσ protecteΣ statσ determine≤ wheε aε initiato≥ ma∙ ì
writσ informatioε oε ß volume« Thi≤ attributσ i≤ usuall∙ controlleΣ b∙ thσ ì
use≥ oµ thσ volumσ througΦ manua∞ interventioε (e.g.¼ thumbwhee∞ switch).
.cp 5
ááThσ recordinτ mediuφ ha≤ tw∩ physica∞ attribute≤ calleΣ beginninτ-oµ-mediuφ ì
(BOM⌐ anΣ enΣ-oµ-mediuφ (EOM)« Beginninτ-oµ-mediuφ i≤ a⌠ thσ enΣ oµ thσ ì
mediuφ tha⌠ i≤ attacheΣ t∩ thσ takσ-u≡ reel« EnΣ-oµ-mediuφ i≤ a⌠ thσ enΣ oµ ì
thσ mediuφ tha⌠ i≤ attacheΣ t∩ thσ suppl∙ reel« Iε somσ cases¼ thσ mediuφ i≤ ì
permanentl∙ affixeΣ t∩ onσ o≥ botΦ oµ thσ ree∞ hubs.
.cp 5èááA≤ showε iε Figurσ ╣-1¼ thσ entirσ physica∞ lengtΦ oµ mediuφ i≤ no⌠ usablσ ì
fo≥ recordinτ data« Fo≥ mos⌠ volumes¼ ß lengtΦ oµ thσ mediuφ i≤ reserveΣ ì
beforσ thσ beginninτ-oµ-mediuφ anΣ afte≥ thσ enΣ-oµ-mediuφ position« Thi≤ i≤ ì
donσ t∩ providσ sufficien⌠ tapσ wrap≤ ont∩ thσ ree∞ hub(s⌐ anΣ t∩ ensurσ tha⌠ ì
recordinτ start≤ iε aε undamageΣ sectioε oµ thσ medium.
.aw off
.pm 0
.cp 10
BO═ EOM
==============================================================================
----------------------------------------------------------
Reserved ----------Usable-----------------------------------------¡ Reserved
Medium --------------------------Recording----------------------¡ Medium
Area --------------------------------------------Zone---------¡ Area
----------------------------------------------------------
==============================================================================
<¡-¡ Take-up Hub Supply Hub --->
Figure 9-1: Typica∞ Volume Layout
.aw off
.pm 0
.cp 10
9.1.2. Datß Storagσ Characteristics
.pm 3
.aw on
.cp 6
ááThσ positioε oε thσ mediuφ wherσ ß patterε oµ recordeΣ signa∞ ma∙ bσ writteε ì
b∙ onσ writσ componen⌠ i≤ calleΣ ß tracδ (Figurσ ╣-2)« ┴ devicσ ma∙ writσ o≥ ì
reaΣ froφ onσ o≥ morσ track≤ a⌠ ß time¼ dependinτ oε thσ format«
.aw off
.pm 0
.cp 10
BO═ EO═
==============================================================================
Tracδ 1 ----------------------------------------------------------
Tracδ 2 ----------------------------------------------------------
::║ ---------------------------------------------------------¡
Tracδ n-▒ ----------------------------------------------------------
Tracδ n ----------------------------------------------------------
==============================================================================
Figure 9-2: Typica∞ Mediuφ Tracδ Layout
.aw on
.pm 3
.cp 3
ááOε ß ne≈ volume¼ recordinτ oµ onσ o≥ morσ track≤ begin≤ afte≥ mountinτ thσ ì
volumσ anΣ movinτ froφ beginninτ-oµ-mediuφ towarΣ enΣ-oµ-medium« Thσ numbe≥ oµ ì
track≤ writteε a⌠ onσ timσ i≤ calleΣ ß tracδ grou≡ (TrkGrp)« Fo≥ recordeΣ ì
volumes¼ readinτ iε thσ forwarΣ directioε follow≤ thσ samσ coursσ oµ track≤ a≤ ì
wheε writing.
.cp 5
ááIµ no⌠ al∞ track≤ arσ recordeΣ a⌠ thσ samσ time¼ anΣ thσ devicσ reverse≤ ì
directioε wheε approachinτ enΣ-oµ-mediuφ anΣ begin≤ writinτ oε remaininτ ì
tracks¼ thσ recordinτ methoΣ i≤ calleΣ serpentine« Fo≥ serpentinσ device≤ tha⌠ ì
recorΣ onl∙ onσ tracδ a⌠ ß time¼ eacΦ physica∞ tracδ represent≤ onσ tracδ ì
grou≡ (Figurσ ╣-3).
.aw off
.pm 0
.cp 10è BO═ EO═
==============================================================================
Tracδ 1 --------------------------------------------------------> TrkGr≡ 1
Tracδ 2 <-------------------------------------------------------- TrδGr≡ 2
:║: --------------------------------------------------------> ::║
::║ <-------------------------------------------------------- ::║
Tracδ n --------------------------------------------------------¡ TrkGr≡ n
==============================================================================
Figure 9-3: Serpentinσ Recording Example
.aw on
.pm 3
.cp 14
ááSomσ multΘ-tracδ device≤ havσ onl∙ onσ tracδ group¼ usinτ ß paralle∞ storagσ ì
forma⌠ tha⌠ support≤ thσ simultaneou≤ recordinτ oµ al∞ availablσ track≤ ì
(Figurσ ╣-4).
.aw off
.pm 0
BO═ EO═
==============================================================================
Tracδ 1 --------------------------------------------------------╛\
Tracδ 2 --------------------------------------------------------> \
:║: --------------------------------------------------------> >TrkGrp1
::║ --------------------------------------------------------╛ /
Tracδ n -------------------------------------------------------->/
==============================================================================
Figure 9-4: Paralle∞ Recording Example
.aw on
.pm 3
.cp 4
ááThσ serpentinσ anΣ paralle∞ recordinτ format≤ showε iε thσ previou≤ example≤ ì
definσ track≤ a≤ longitudina∞ pattern≤ oµ recordeΣ information« Onσ othe≥ ì
storagσ forma⌠ useΣ b∙ somσ device≤ record≤ track≤ diagonall∙ acros≤ thσ ì
medium« Thi≤ recordinτ techniquσ i≤ knowε a≤ helica∞ scaε (Figurσ ╣-5).
.aw off
.pm 0
.cp 10
==============================================================================
BOM » » » » » » » » » » » » » » » » » » » » » » » / » » EOM
» » » » » » » » » » » » » » » » » » » » » » » » » »
/ » » » » » » » » » » » » » » » » » » » » » » » » /
» » » » » » » » » » » » » » » » » » » » » » » » » /
Tracδ ▒ --╛» » » » » » » » » » » » » » » » » » » » » » » » » /<-¡ Tracδ n
==============================================================================
Figure 9-5: Helica∞ Scaε Recordinτ Example
.aw on
.pm 3
.cp 4
ááFo≥ mos⌠ recordinτ formats¼ aε areß a⌠ beginninτ-oµ-mediuφ contain≤ ß forma⌠ ì
identificatioε iε thσ forφ oµ ß tonσ burs⌠ o≥ somσ othe≥ recognizablσ pattern« ì
Use≥ datß i≤ no⌠ recordeΣ iε thi≤ area« Thσ forma⌠ identificatioε i≤ aε ì
attributσ oµ ß volumσ useΣ fo≥ interchangσ purpose≤ anΣ i≤ defineΣ iε ì
applicablσ standards«
.cp 7èááWheε writing¼ thσ initiato≥ need≤ aε indicatioε tha⌠ i⌠ i≤ approachinτ thσ ì
enΣ oµ thσ permissiblσ recordinτ area« Thi≤ position¼ calleΣ earl∙-warninτ ì
(EW)¼ i≤ typicall∙ reporteΣ t∩ thσ initiato≥ a⌠ ß positioε earl∙ enougΦ fo≥ ì
thσ devicσ t∩ writσ an∙ buffereΣ datß t∩ thσ mediuφ whilσ stil∞ leavinτ enougΦ ì
rooφ fo≥ additiona∞ recordeΣ label≤ o≥ filemarks« Somσ Americaε Nationa∞ ì
Standard≤ includσ physica∞ requirement≤ fo≥ ß marke≥ placeΣ oε thσ mediuφ t∩ ì
bσ detecteΣ b∙ thσ devicσ a≤ earl∙-warninτ (Figurσ ╣-6).
.aw off
.pm 0
.cp 6
BO═ EW EOM
-------------------------------->-------->
Figure 9-6: Early-Warninτ Example
.aw on
.pm 3
.cp 5
ááFo≥ device≤ whicΦ implemen⌠ largσ datß buffers¼ thσ earl∙-warninτ positioε ì
defineΣ b∙ ß physica∞ marke≥ ma∙ bσ to∩ closσ t∩ thσ enΣ oµ thσ recordinτ ì
regioε t∩ permi⌠ emptyinτ thσ datß buffer(s)« Fo≥ thesσ devices¼ ß logica∞ ì
concep⌠ oµ earl∙-warninτ i≤ ofteε useΣ t∩ signa∞ thσ initiato≥ a⌠ aε ì
appropriatσ locatioε prio≥ t∩ thσ physica∞ marker.
.cp 10
.aw off
.pm 0
9.1.3. Partitions within a Volume
.aw on
.pm 3
.cp 5
ááAnothe≥ attributσ oµ ß volumσ i≤ calleΣ ß partition« Partition≤ consis⌠ oµ ì
onσ o≥ morσ noε-overlappeΣ minΘ-volumes¼ eacΦ witΦ it≤ owε beginninτ anΣ ì
endinτ points¼ occupyinτ ß singlσ physica∞ volume« EacΦ partitioε (x⌐ withiε ì
ß volumσ ha≤ ß defineΣ beginninτ-oµ-partitioε (BO╨ x)¼ aε earl∙-warninτ ì
positioε (E╫ x)¼ anΣ aε enΣ-oµ-partitioε (EO╨ x)«
.cp 4
ááAl∞ volume≤ havσ ß minimuφ oµ onσ partitioε calleΣ partitioε zero¼ thσ ì
defaul⌠ datß partition« Fo≥ device≤ whicΦ suppor⌠ onl∙ onσ partition¼ thσ ì
beginninτ-oµ-partitioε zer∩ (BO╨ 0⌐ ma∙ bσ equivalen⌠ t∩ thσ beginninτ-oµ-ì
mediuφ anΣ thσ enΣ-oµ-partitioε zer∩ (EO╨ 0⌐ ma∙ bσ equivalen⌠ t∩ thσ enΣ-oµ-ì
medium.
.cp 3
ááWheε ß volumσ i≤ mounted¼ i⌠ i≤ logicall∙ positioneΣ t∩ beginninτ oµ thσ ì
defaul⌠ datß partitioε (BO╨ 0)« Wheε ß REWIN─ commanΣ i≤ receiveΣ iε an∙ ì
partitioε (x)¼ thσ devicσ position≤ t∩ thσ beginninτ-oµ-partitioε (BO╨ x).
.cp 7
áá Partition≤ oε ß volumσ d∩ no⌠ neeΣ t∩ bσ recordeΣ iε an∙ defineΣ order¼ no≥ ì
d∩ al∞ partitioε number≤ iε ß sequencσ neeΣ t∩ bσ presen⌠ oε ß volume« I⌠ i≤ ì
sufficien⌠ fo≥ ß devicσ t∩ bσ ablσ t∩ locatσ ß partition¼ giveε it≤ codσ ì
value¼ o≥ determinσ tha⌠ i⌠ doe≤ no⌠ exis⌠ oε thσ volume« Fo≥ interchange¼ ì
informatioε abou⌠ whicΦ partition≤ arσ presen⌠ oε ß volumσ ma∙ bσ storeΣ oε ì
thσ volumσ iε ß devicσ-defineΣ areß (possibl∙ unavailablσ t∩ thσ initiator⌐ o≥ ì
thσ informatioε ma∙ bσ aε intrinsiπ attributσ oµ thσ devicσ implementation«
.cp 14èááFigurσ ╣-╖ show≤ ß possiblσ partitioε implementatioε fo≥ ß fou≥-tracδ ì
serpentinσ recordinτ device¼ assuminτ tha⌠ eacΦ tracδ grou≡ define≤ ß ì
partition.
.aw off
.pm 0
BO═ EO═
==============================================================================
TrkGrp▒ BOP░ ----------------------------------------------->EW0-----╛ EOP0
TrkGrp▓ EOP▒ <-----EW1<----------------------------------------------¡ BOP1
TrkGrp│ BOP▓ ----------------------------------------------->EW2-----╛ EOP2
TrkGrp┤ EOP│ <-----EW3<----------------------------------------------¡ BOP3
==============================================================================
Figure 9-7: Partitioninτ Example - One Partition per Track Group
.aw on
.pm 3
.cp 3
ááAnothe≥ possiblσ partitioε implementatioε fo≥ thi≤ fou≥-tracδ serpentinσ ì
recordinτ devicσ i≤ showε iε Figurσ ╣-8¼ usinτ tw∩ tracδ group≤ t∩ definσ eacΦ ì
partition.
.aw off
.pm 0
.cp 10
BO═ EO═
==============================================================================
TrkGrp▒ BOP░ --------------------------------------------------------╛
TrkGrp▓ EOP0 <-----EW0<----------------------------------------------¡
TrkGrp│ BOP1 --------------------------------------------------------╛
TrkGrp┤ EOP1 <-----EW1<----------------------------------------------¡
==============================================================================
Figure 9-8: Partitioninτ Example - One Partition per Tw∩ Track Groups
.aw on
.pm 3
.cp 7
ááThσ previou≤ example≤ sho≈ thσ beginninτ anΣ endinτ point≤ fo≥ ß partitioε ì
aligneΣ witΦ physica∞ bound≤ oµ thσ medium« Thi≤ i≤ no⌠ ß mandator∙ ì
requiremen⌠ fo≥ partitioning╗ i⌠ i≤ sufficien⌠ fo≥ ß devicσ t∩ bσ ablσ t∩ ì
locatσ t∩ anΣ sta∙ iε an∙ partitioε boundeΣ b∙ ß BO╨ ° anΣ EO╨ x« Iε thi≤ ì
case¼ ß recordeΣ marδ o≥ somσ othe≥ devicσ-recognizablσ attributσ coulΣ bσ ì
useΣ t∩ delineatσ thσ partitions« Figurσ ╣-╣ show≤ ß possiblσ tw∩-partitioε ì
implementatioε fo≥ ß devicσ witΦ onl∙ onσ tracδ group.
.aw off
.pm 0
.cp 10
BO═ EO═
==============================================================================
--------->------->----------------------------->--------╛
--------->--¡---->----------------------------->--------╛
TrkGrp1 BOP0 --------->EW0---->EOP0/BOP1-------------------->EW1-----╛ EOP1
--------->------->----------------------------->--------╛
--------->------->----------------------------->--------╛
==============================================================================
Figure 9-9: Partitioninτ Example - Two Partitions per Track Group
.aw on
.pm 3
.cp 8èááThreσ method≤ arσ defineΣ iε thσ MOD┼ SENS┼ anΣ MOD┼ SELEC╘ command≤ fo≥ ì
managinτ partitions╗ eacΦ methoΣ i≤ progressivel∙ morσ difficul⌠ t∩ implemen⌠ ì
anΣ manage║
áá(1⌐ devicσ-defineΣ fixeΣ locations;
áá(2⌐ devicσ-defineΣ baseΣ oε aε initiato≥ supplieΣ numbe≥ oµ partition≤ anΣ ß ì
devicσ specifiπ allocatioε algorithm╗ and,
áá(3⌐ definitioε b∙ namσ anΣ capacit∙ b∙ aε initiator.
.cp 7
.aw off
.pm 0
9.1.4. Logical Elements within a Partition
.aw on
.pm 3
ááThσ areß betweeε BO╨ ° anΣ EO╨ ° oε ß typica∞ recordeΣ volumσ contain≤ a⌠ ì
leas⌠ tw∩ type≤ oµ initiato≥ accessiblσ elements¼ datß block≤ anΣ tapσ marks« ì
Thesσ element≤ arσ controlleΣ anΣ transferreΣ betweeε thσ initiato≥ anΣ thσ ì
mediuφ usinτ READ¼ REA─ REVERSE¼ WRITE¼ anΣ WRIT┼ FILEMARK╙ commands.
.cp 7
áá┴ uni⌠ oµ datß supplieΣ o≥ requesteΣ b∙ aε initiato≥ i≤ calleΣ ß logica∞ ì
block« Logica∞ block≤ arσ storeΣ accordinτ t∩ thσ specification≤ oµ thσ ì
forma⌠ fo≥ thσ volumσ anΣ ma∙ bσ recordeΣ a≤ onσ o≥ morσ physica∞ block≤ oε ì
thσ medium« Wheε thσ physica∞ blocδ anΣ thσ logica∞ blocδ arσ no⌠ recordeΣ iε ì
ß onσ-t∩-onσ relationship¼ i⌠ i≤ thσ responsibilit∙ oµ thσ devicσ t∩ perforφ ì
al∞ blocking¼ dσ-blocking¼ padding¼ stripping¼ splittinτ o≥ rebuildinτ oµ thσ ì
logica∞ datß block(s⌐ sen⌠ b∙ aε initiator«
.cp 9
ááFilemark≤ arσ specia∞ recordeΣ element≤ containinτ n∩ use≥ data« Thσ ì
filemarδ forma⌠ i≤ defineΣ iε somσ Americaε Nationa∞ Standards« Initiator≤ ì
traditionall∙ usσ filemark≤ t∩ separatσ use≥ datß froφ label≤ anΣ logica∞ ì
grouping≤ oµ datß froφ eacΦ other« Sincσ somσ forma⌠ standard≤ d∩ no⌠ definσ ì
aε explici⌠ enΣ-oµ-datß (EOD)¼ hos⌠ softwarσ ha≤ ofteε useΣ convention≤ witΦ ì
filemark≤ t∩ represen⌠ aε EO─ indication« A⌠ leas⌠ onσ Americaε Nationa∞ ì
StandarΣ specificall∙ define≤ filemarδ usσ fo≥ thi≤ purpose« Iε somσ ì
implementations¼ thσ device'≤ EO─ definitioε ma∙ bσ specifieΣ thσ initiato≥ ì
usinτ thσ MOD┼ SELEC╘ command.
.cp 7
áá┴ setmarδ i≤ anothe≥ typσ oµ specia∞ recordeΣ elemen⌠ containinτ n∩ use≥ ì
data¼ providinτ ß segmentatioε schemσ hierarchicall∙ superio≥ t∩ filemarks« ì
Thi≤ leve∞ oµ segmentatioε i≤ usefu∞ fo≥ somσ higΦ capacit∙ storagσ device≤ t∩ ì
providσ concisσ addressinτ anΣ fas⌠ positioninτ t∩ specifiπ set≤ oµ datß ì
withiε ß partition« Iε somσ implementations¼ thσ detectioε anΣ reportinτ oµ ì
setmark≤ ma∙ bσ controlleΣ b∙ thσ initiato≥ usinτ thσ MOD┼ SELEC╘ command.
.cp 6
ááInte≥-blocδ gaps¼ thσ gap≤ betweeε blocks¼ filemarks¼ anΣ setmarks¼ arσ ì
introduceΣ oε thσ mediuφ a⌠ thσ timσ ß blocδ o≥ marδ i≤ writteε withou⌠ ì
explici⌠ actioε b∙ thσ initiator« Minimuφ anΣ maximuφ length≤ fo≥ inte≥-blocδ ì
gap≤ arσ defineΣ iε somσ Americaε Nationa∞ Standards« Iε somσ devices¼ thσ ì
lengtΦ oµ inte≥-blocδ gap≤ ma∙ bσ selecteΣ b∙ thσ initiato≥ usinτ thσ MOD┼ ì
SELEC╘ commanΣ whilσ iε othe≥ device≤ thσ gap≤ arσ fixeΣ anΣ noε-changeable«
.cp 8èááIε additioε t∩ blocks¼ filemarks¼ anΣ setmarks¼ erasσ gap≤ ma∙ bσ recordeΣ ì
oε thσ mediuφ througΦ usσ oµ thσ ERAS┼ commanΣ o≥ devicσ-initiateΣ erro≥ ì
recover∙ actions« AlthougΦ explicitl∙ recordeΣ oε thσ medium¼ therσ i≤ ì
normall∙ n∩ distinctioε betweeε tw∩ contiguou≤ erasσ gaps« Aε erasσ ga≡ ma∙ ì
bσ ß lengtΦ oµ eraseΣ mediuφ o≥ ß recordeΣ patterε no⌠ distinguishablσ a≤ ß ì
blocδ o≥ mark« Minimuφ anΣ maximuφ length≤ fo≥ erasσ gap≤ arσ defineΣ iε somσ ì
Americaε Nationa∞ Standard≤ whilσ somσ device≤ ma∙ havσ n∩ implementatioε oµ ì
aε erasσ gap«
.cp8
ááAfte≥ writinτ datß froφ BO╨ x¼ thσ mediuφ i≤ considereΣ t∩ bσ ß contiguou≤ ì
groupinτ oµ blocks¼ filemarks¼ setmarks¼ anΣ gaps« Certaiε Americaε Nationa∞ ì
Standard≤ definσ ga≡ length≤ which¼ iµ exceeded¼ arσ t∩ bσ considereΣ a≤ ì
havinτ reacheΣ blanδ medium« Dependinτ oε thσ format¼ thi≤ blanδ mediuφ ma∙ ì
bσ treateΣ a≤ aε enΣ-oµ-datß indication¼ aε erro≥ recover∙ area¼ o≥ aε ì
unrecoverablσ mediuφ erro≥ causinτ aε interchangσ error« UnrecordeΣ volume≤ ì
(ne≈ o≥ erased⌐ ma∙ exhibi⌠ blanδ mediuφ characteristic≤ iµ aε attemp⌠ i≤ madσ ì
t∩ reaΣ o≥ spacσ thσ volumσ beforσ datß ha≤ beeε written«
.cp 8
áá┴ sequentia∞-acces≤ devicσ ma∙ bσ capablσ oµ supportinτ fixeΣ o≥ variablσ ì
lengtΦ blocks« Thσ concep⌠ oµ fixeΣ o≥ variablσ modσ fo≥ writinτ anΣ readinτ ì
block≤ onl∙ indicate≤ thσ methoΣ b∙ whicΦ thσ initiato≥ specifie≤ thσ sizσ oµ ì
ß logica∞ blocδ fo≥ transfe≥ anΣ no⌠ thσ methoΣ oµ recordinτ physica∞ block≤ ì
oε thσ medium« However¼ ß devicσ tha⌠ support≤ onl∙ fixeΣ-lengtΦ physica∞ ì
block≤ ma∙ onl∙ bσ capablσ oµ supportinτ logica∞ block≤ oµ thσ samσ length« ì
Thσ lengtΦ oµ ß logica∞ blocδ i≤ alway≤ describeΣ iε bytes« Thσ lengtΦ oµ ß ì
physica∞ blocδ ma∙ o≥ ma∙ no⌠ bσ recordeΣ a≤ aε exac⌠ bytσ count¼ dependinτ oε ì
thσ format.
.cp 7
.aw off
.pm 0
9.1.5. Data Buffering
.aw on
.pm 3
áá┴ devicσ ma∙ contaiε ß temporar∙ storagσ areß capablσ oµ holdinτ onσ o≥ morσ ì
logica∞ block≤ ¡ ß datß buffer« ┴ devicσ datß buffe≥ ma∙ includσ an∙ ì
combinatioε oµ blocks¼ filemarks¼ anΣ setmark≤ iε thσ proces≤ oµ beinτ writteε ì
t∩ thσ medium¼ o≥ i⌠ ma∙ contaiε reaΣ-aheaΣ datß block≤ transferreΣ froφ thσ ì
medium.
.cp 5
áá┴ devicσ witΦ ß datß buffe≥ ma∙ bσ capablσ oµ operatinτ iε eithe≥ ß buffereΣ ì
modσ o≥ aε unbuffereΣ mode« ┴ devicσ witΦ n∩ datß buffe≥ operate≤ onl∙ iε ì
unbuffereΣ mode« Eithe≥ terφ i≤ onl∙ applicablσ t∩ thσ manne≥ iε whicΦ thσ ì
devicσ manage≤ informatioε t∩ bσ writteε t∩ thσ medium« BuffereΣ modσ i≤ no⌠ ì
applicablσ durinτ reaΣ commands¼ regardles≤ oµ whethe≥ reaΣ datß ≡ asse≤ ì
througΦ ß datß buffer.
.cp 5
áá┴ devicσ operatinτ iε buffereΣ modσ ma∙ returε GOO─ statu≤ fo≥ writσ ì
operation≤ wheε al∞ writσ datß ha≤ beeε successfull∙ transferreΣ froφ thσ ì
initiato≥ int∩ thσ devicσ datß buffer« Fo≥ device≤ operatinτ iε unbuffereΣ ì
mode¼ GOO─ statu≤ i≤ no⌠ returneΣ unti∞ al∞ requesteΣ data¼ filemarks¼ o≥ ì
setmark≤ arσ successfull∙ recordeΣ oε thσ medium.
.cp 9èááWheε issuinτ ß buffereΣ WRIT┼ FILEMARK╙ commanΣ witΦ thσ immediatσ bi⌠ se⌠ ì
t∩ one¼ GOO─ statu≤ i≤ returneΣ a≤ sooε a≤ thσ commanΣ i≤ validated« ┴ WRIT┼ ì
FILEMARK╙ commanΣ witΦ thσ immediatσ bi⌠ se⌠ t∩ zer∩ cause≤ an∙ buffereΣ ì
blocks¼ filemarks¼ anΣ setmark≤ t∩ bσ writteε t∩ thσ medium« Upoε successfu∞ ì
completioε oµ thi≤ process¼ whicΦ i≤ calleΣ ß synchronizσ operation¼ n∩ ì
blocks¼ filemarks¼ o≥ setmark≤ remaiε iε thσ datß buffe≥ whicΦ havσ no⌠ beeε ì
writteε t∩ thσ medium« ┴ synchronizσ operatioε ha≤ n∩ effec⌠ oε ß datß buffe≥ ì
whicΦ contain≤ onl∙ reaΣ-aheaΣ datß o≥ writσ datß whicΦ ha≤ alread∙ beeε ì
successfull∙ writteε t∩ thσ medium.
.cp 6
ááShoulΣ aε unrecoverablσ writσ erro≥ occu≥ whilσ iε buffereΣ mode¼ thσ devicσ ì
generate≤ aε erro≥ conditioε t∩ thσ curren⌠ activσ command« Iµ n∩ commanΣ i≤ ì
active¼ thσ erro≥ ma∙ bσ reporteΣ oε thσ nex⌠ applicablσ operatioε a≤ ß ì
deferreΣ erro≥ (seσ 7.2.14.2)« Fo≥ somσ implementations¼ asynchronou≤ even⌠ ì
notificatioε (AEN⌐ o≥ extendeΣ contingen⌠ allegiancσ (ECA⌐ ma∙ bσ required« ì
Refe≥ t∩ 6.5.╡ anΣ 6.╖ fo≥ description≤ oµ AE╬ anΣ EC┴ protocol.
.cp 3
ááThσ REA─ POSITIO╬ commanΣ ma∙ bσ useΣ t∩ determinσ thσ numbe≥ anΣ storagσ ì
spacσ oµ buffereΣ block≤ no⌠ writteε beforσ thσ unrecoverablσ erro≥ wa≤ ì
encountered.
.cp 3
áá ┴ devicσ witΦ reaΣ-aheaΣ datß block≤ iε thσ datß buffe≥ doe≤ no⌠ repor⌠ aε ì
unrecovereΣ reaΣ erro≥ unti∞ thσ datß blocδ iε erro≥ i≤ requesteΣ b∙ aε ì
initiator.
.cp 8
.aw off
.pm 0
9.1.6. Recorded Object Descriptors (Block Identifiers)
.aw on
.pm 3
ááSomσ recordinτ format≤ specif∙ tha⌠ recordeΣ object≤ (blocks¼ filemarks¼ anΣ ì
setmarks⌐ havσ identifier≤ includeΣ iε thσ recordeΣ informatioε t∩ hel≡ ì
determinσ writσ sequencσ anΣ als∩ t∩ hel≡ detec⌠ devicσ positioninτ errors« ì
Thσ identifie≥ value≤ arσ uniquσ withiε ß partitioε anΣ ma∙ bσ uniquσ withiε ß ì
volume.
.cp 3
ááThσ usσ oµ thσ terφ blocδ identifie≥ ma∙ impl∙ somσ arithmetiπ sequencσ ì
applieΣ t∩ thσ assignmen⌠ oµ recordeΣ objects« Thσ blocδ identifie≥ ì
assignmen⌠ algorithφ ma∙ bσ defineΣ iε aε applicablσ forma⌠ standard.
.cp 4
ááFo≥ somσ prσ-formatteΣ volumes¼ thσ identifier≤ arσ associateΣ witΦ physica∞ ì
blocks« Iε variablσ-lengtΦ implementations¼ thσ identifie≥ caε bσ associateΣ ì
witΦ ß physica∞ blocδ wheε thσ logica∞ blocδ anΣ thσ physica∞ blocδ havσ ß ì
onσ-t∩-onσ relationshi≡ oε thσ medium«
.cp 7
ááSomσ format≤ ma∙ carr∙ botΦ physica∞ anΣ logica∞ blocδ identifier≤ recordeΣ ì
oε thσ medium« Wheε ß logica∞ blocδ i≤ spli⌠ ove≥ morσ thaε onσ physica∞ ì
block¼ o≥ multiplσ logica∞ block≤ arσ concatenateΣ t∩ forφ ß physica∞ block¼ ì
thσ logica∞ blocδ identifie≥ anΣ thσ physica∞ blocδ identifie≥ arσ no⌠ thσ ì
same« Filemark≤ anΣ setmark≤ ma∙ o≥ ma∙ no⌠ havσ recordeΣ identifiers¼ bu⌠ iµ ì
identifier≤ arσ useΣ iε thσ format¼ theε eacΦ marδ i≤ assigneΣ ß valuσ eveε iµ ì
i⌠ i≤ no⌠ explicitl∙ recorded.
.cp 8èááThσ REA─ POSITIO╬ anΣ LOCAT┼ command≤ usσ fou≥-bytσ field≤ t∩ holΣ thesσ ì
forma⌠ dependen⌠ identifiers« Fo≥ somσ implementations¼ thi≤ valuσ ma∙ ì
corresponΣ t∩ ß rea∞ physica∞ location╗ however¼ i⌠ i≤ sufficien⌠ fo≥ thσ ì
devicσ t∩ ma≡ thσ identifie≥ t∩ ß valuσ representinτ thσ uniquσ recordeΣ ì
object« WitΦ thi≤ capability¼ thσ REA─ POSITIO╬ commanΣ ma∙ bσ useΣ t∩ repor⌠ ì
ß devicσ-defineΣ blocδ identifie≥ anΣ thσ initiato≥ ma∙ usσ thi≤ valuσ witΦ ß ì
LOCAT┼ commanΣ t∩ positioε t∩ thσ samσ locatioε a⌠ somσ futurσ timσ (provideΣ ì
thσ volumσ ha≤ no⌠ beeε rewritteε iε thσ interim)«
.cp 12
.aw off
.pm 0
9.1.7. Direction and Position Definitions
.aw on
.pm 3
ááFo≥ sequentia∞-acces≤ devices¼ positioninτ ha≤ thσ connotatioε oµ logicall∙ ì
beinτ in¼ at¼ before¼ o≥ afte≥ somσ defineΣ placσ withiε ß volume« Thi≤ ì
definitioε mean≤ thσ positioε i≤ capablσ oµ beinτ repeateΣ unde≥ thσ samσ ì
circumstances« Thσ orientatioε oµ usagσ fo≥ thσ fou≥ word≤ (in¼ at¼ before¼ ì
o≥ after⌐ i≤ iε onσ direction¼ froφ BO╨ ° towarΣ EO╨ x« Al∞ positioninτ ì
defineΣ belo≈ i≤ wordeΣ froφ thi≤ perspective« Device≤ withou⌠ buffer≤ havσ ì
somσ physica∞ positioε whicΦ relate≤ t∩ thesσ logica∞ positions« However¼ ì
thesσ definition≤ d∩ no⌠ requirσ thσ mediuφ t∩ havσ ß physica∞ positioε ì
equivalen⌠ t∩ thσ logica∞ positioε unles≤ explicitl∙ stated«
.cp 4
ááThσ forwarΣ directioε i≤ defineΣ a≤ logicall∙ progressinτ froφ BO╨ ° towarΣ ì
EO╨ x« Thσ reversσ directioε i≤ defineΣ a≤ logicall∙ progressinτ froφ EO╨ ° ì
towarΣ BO╨ x« Iε serpentinσ devices¼ thσ logica∞ forwarΣ o≥ reversσ directioε ì
ha≤ aε alternatinτ relationshi≡ t∩ thσ physica∞ motioε oµ thσ medium«
.cp 6
ááThσ concep⌠ oµ beinτ "inó somσ positioε mean≤ no⌠ beinτ outsidσ ß defineΣ ì
region« Thσ definitioε allow≤ thσ positioε t∩ bσ oε thσ boundar∙ oµ ß defineΣ ì
region« Wheε ß volumσ i≤ firs⌠ mounted¼ thσ logica∞ positioε i≤ alway≤ a⌠ thσ ì
beginninτ oµ thσ defaul⌠ datß partitioε (BOP0)« Wheneve≥ ß volumσ i≤ mounteΣ ì
anΣ thσ mediuφ motioε i≤ stopped¼ thσ positioε i≤ iε somσ partition« Whilσ ì
movinτ betweeε partitions¼ therσ i≤ n∩ stablσ position«
.cp 4
ááThσ concep⌠ oµ beinτ "ató somσ positioε indicate≤ beinτ positioneΣ t∩ ß ì
logica∞ o≥ physica∞ extremit∙ oµ ß partition« ┴ sequentia∞-acces≤ devicσ ma∙ ì
bσ positioneΣ a⌠ beginninτ-oµ-medium¼ a⌠ BO╨ x¼ a⌠ enΣ-oµ-datß (EOD)¼ a⌠ EO╨ ì
x¼ o≥ a⌠ enΣ-oµ-mediuφ (EOM)¼ sincσ thesσ arσ stablσ position≤ a⌠ extremitie≤ ì
oµ ß partition«
.cp 8
ááThσ concep⌠ oµ beinτ "beforeó somσ positioε indicate≤ tha⌠ therσ i≤ somσ ì
elemen⌠ (datß block¼ filemark¼ setmark¼ o≥ othe≥ defineΣ point⌐ whicΦ ma∙ bσ ì
encountereΣ wheε movinτ towarΣ EO╨ x¼ iµ thσ prope≥ command≤ arσ issued« ì
Beinτ positioneΣ beforσ ß particula≥ datß blocδ mean≤ tha⌠ iµ thσ devicσ ì
receive≤ ß valiΣ REA─ command¼ thσ datß blocδ i≤ transferreΣ t∩ thσ initiator« ì
Thi≤ positioε ma∙ als∩ bσ beforσ E╫ ° anΣ EO╨ x¼ sincσ thesσ arσ defineΣ ì
point≤ withiε an∙ partition« However¼ iµ datß ha≤ no⌠ beeε writteε t∩ thσ ì
enΣ-oµ-partition¼ thesσ point≤ ma∙ no⌠ bσ accessiblσ b∙ thσ initiator.
.cp 5
ááThσ concep⌠ oµ beinτ "afteró somσ positioε indicate≤ tha⌠ therσ i≤ somσ ì
elemen⌠ (datß block¼ filemark¼ setmark¼ o≥ othe≥ defineΣ point⌐ oε thσ BO╨ ° ì
sidσ oµ thσ curren⌠ positioε whicΦ ma∙ bσ encountereΣ iµ thσ prope≥ command≤ ì
arσ issued« Wheε ß REA─ commanΣ fo≥ ß singlσ datß blocδ ha≤ beeε successfull∙ ì
executed¼ thσ logica∞ positioε i≤ afte≥ thσ transferreΣ datß block.
è.cp 8
.aw off
.pm 0
9.1.8. Erro≥ Reporting
.aw on
.pm 3
.cp 4
ááIµ an∙ oµ thσ followinτ condition≤ occu≥ durinτ thσ executioε oµ ß commanΣ ì
thσ targe⌠ shal∞ returε CHEC╦ CONDITIO╬ status« Thσ appropriatσ sensσ ke∙ anΣ ì
additiona∞ sensσ codσ shoulΣ bσ set« Thσ followinτ tablσ illustrate≤ somσ ì
erro≥ condition≤ anΣ thσ applicablσ sensσ keys« Thσ tablσ doe≤ no⌠ providσ aε ì
exhaustivσ enumeratioε oµ al∞ condition≤ tha⌠ ma∙ causσ thσ CHEC╦ CONDITIO╬ ì
status.
.cp 25
.pm 0
.aw off
Conditioε Sensσ Ke∙
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡-
Invalid logical block address ILLEGAL REQUEST
UnsupporteΣ optioε requesteΣ ILLEGA╠ REQUEST
Target reset or medium change since
last command from this initiator UNIT ATTENTION
Selµ diagnostiπ faileΣ HARDWAR┼ ERROR
Unrecovered read error MEDIUM ERROR
HARDWAR┼ ERROR
Recovered read o≥ writσ error RECOVERED ERROR
Overrun or other error that might
be resolved by repeating the command ABORTED COMMAND
Attemp⌠ ß WRITE¼ READ¼ REA─ REVERSE¼ VERIFY¼ o≥ ILLEGA╠ REQUEST
RECOVE╥ BUFFERE─ DAT┴ commanΣ witΦ thσ fixeΣ bi⌠
se⌠ t∩ zer∩ anΣ variablσ blocδ modσ i≤ no⌠ supported
Attemp⌠ ß WRITE¼ READ¼ REA─ REVERSE¼ VERIFY¼ o≥ ILLEGA╠ REQUEST
RECOVE╥ BUFFERE─ DAT┴ commanΣ witΦ ß fixeΣ bi⌠ oµ
zer∩ anΣ requesteΣ blocδ lengtΦ i≤ no⌠ supported
Attemp⌠ ß WRITE¼ READ¼ REA─ REVERSE¼ VERIFY¼ o≥ ILLEGA╠ REQUEST
RECOVE╥ BUFFERE─ DAT┴ commanΣ witΦ ß fixeΣ bi⌠ oµ
one anΣ MOD┼ SENS┼ blocδ lengtΦ se⌠ t∩ zero
Attemp⌠ t∩ executσ aε erasσ o≥ writσ-typσ operatioε DAT┴ PROTEC╘
oε writσ protecteΣ medium
DeferreΣ writσ erro≥ MEDIU═ ERROR
VOLUM┼ OVERFLOW
.aw on
.pm 3
.cp 3
ááIε thσ casσ oµ aε unrecovereΣ reaΣ o≥ writσ error¼ iµ thσ reaΣ-writσ erro≥ ì
recover∙ pagσ (9.3.3.4⌐ i≤ implemented¼ thσ curren⌠ value≤ specif∙ thσ targe⌠ ì
erro≥ recover∙ criteria« Iµ thi≤ pagσ i≤ no⌠ implemented¼ thσ erro≥ recover∙ ì
i≤ vendo≥ specific.
.cp 7è.pm 3
ááIε thσ casσ oµ aε unrecovereΣ reaΣ error¼ iµ thσ fixeΣ bi⌠ i≤ one¼ thσ valiΣ ì
bi⌠ shal∞ bσ se⌠ t∩ onσ anΣ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ ì
requesteΣ transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ block≤ reaΣ (no⌠ ì
includinτ thσ unrecovereΣ block)« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ valiΣ bi⌠ ì
shal∞ bσ se⌠ t∩ onσ anΣ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ ì
transfe≥ length« Upoε termination¼ thσ logica∞ positioε shal∞ bσ afte≥ thσ ì
unrecovereΣ block.
.cp 6
ááIε thσ casσ oµ aε unrecovereΣ writσ error¼ iµ unbuffereΣ modσ i≤ selecteΣ ì
anΣ thσ fixeΣ bi⌠ i≤ se⌠ t∩ one¼ thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ onσ anΣ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ block≤ written« Iµ unbuffereΣ modσ i≤ selecteΣ anΣ thσ fixeΣ ì
bi⌠ i≤ se⌠ t∩ zero¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ ì
transfe≥ length.
.cp 10
ááIε thσ casσ oµ aε unrecovereΣ writσ erro≥ o≥ ß deferreΣ writσ error¼ iµ ì
buffereΣ modσ i≤ selecteΣ anΣ thσ fixeΣ bi⌠ i≤ one¼ thσ valiΣ bi⌠ shal∞ bσ se⌠ ì
t∩ onσ anΣ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ tota∞ numbe≥ oµ blocks¼ ì
filemarks¼ anΣ setmark≤ no⌠ writteε (thσ numbe≥ oµ block≤ no⌠ transferreΣ froφ ì
thσ initiato≥ plu≤ thσ numbe≥ oµ blocks¼ filemarks¼ anΣ setmark≤ remaininτ iε ì
thσ target'≤ buffer)« Iµ buffereΣ modσ i≤ selecteΣ anΣ thσ fixeΣ bi⌠ i≤ zero¼ ì
thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ tota∞ numbe≥ oµ bytes¼ filemarks¼ ì
anΣ setmark≤ no⌠ writteε (thσ numbe≥ oµ byte≤ no⌠ transferreΣ froφ thσ ì
initiato≥ plu≤ thσ numbe≥ oµ bytes¼ filemarks¼ anΣ setmark≤ remaininτ iε thσ ì
target'≤ buffer)« Iε botΦ cases¼ thσ valuσ iε thσ informatioε fielΣ ma∙ ì
exceeΣ thσ transfe≥ length.
.cp 5
ááIε thσ casσ oµ aε unrecovereΣ writσ erro≥ o≥ ß deferreΣ writσ error¼ iµ ì
buffereΣ modσ 1Φ i≤ selected¼ thσ erro≥ shal∞ bσ reporteΣ t∩ thσ firs⌠ ì
initiato≥ issuinτ ß commanΣ (othe≥ thaε INQUIR┘ o≥ REQUES╘ SENSE⌐ o≥ thσ firs⌠ ì
initiato≥ respondinτ t∩ asynchronou≤ even⌠ notification« Iµ buffereΣ modσ 2Φ ì
i≤ selected¼ thσ erro≥ shal∞ bσ reporteΣ t∩ thσ initiato≥ witΦ unwritteε datß ì
iε thσ buffer.
.cp 55è.aw off
.pm 0
9.2. Command Descriptions for Sequential-Access Devices
.aw on
.pm 3
ááThσ command≤ fo≥ sequentia∞-acces≤ device≤ shal∞ bσ a≤ showε iε Tablσ ╣-1.
.aw off
.pm 0
Table 9-1: Commands for Sequential-Access Devices
==============================================================================
Operation
CommanΣ Namσ Codσ Typσ Section
------------------------------------------------------------------------------
CHANG┼ DEFINITION 40Φ ╧ 7.2.1
COMPAR┼ 39Φ ╧ 7.2.2
COP┘ 18Φ ╧ 7.2.3
COP┘ AN─ VERIF┘ 3AΦ ╧ 7.2.4
ERAS┼ 19Φ ═ 9.2.1
INQUIR┘ 12Φ ═ 7.2.5
LOA─ UNLOA─ 1BΦ ╧ 9.2.2
LOCAT┼ 2BΦ ╧ 9.2.3
LO╟ SELEC╘ 4CΦ O 7.2.6
LO╟ SENS┼ 4DΦ O 7.2.7
MOD┼ SELEC╘(6) 15Φ ═ 7.2.8
MOD┼ SELEC╘(10) 55Φ O 7.2.9
MOD┼ SENS┼(6) 1AΦ ═ 7.2.10
MOD┼ SENS┼(10) 5AΦ O 7.2.11
PREVEN╘ ALLO╫ MEDIU═ REMOVA╠ 1Eh ╧ 8«2.4
REA─ 08Φ ═ 9.2.4
REA─ BLOCK LIMIT╙ 05Φ ═ 9.2.5
REA─ BUFFE╥ 3CΦ ╧ 7.2.12
REA─ POSITIO╬ 34Φ ╧ 9.2.6
REA─ REVERS┼ 0FΦ ╧ 9«2.7
RECEIV┼ DIAGNOSTI├ RESULT╙ 1CΦ ╧ 7.2.13
RECOVE╥ BUFFERE─ DAT┴ 14Φ ╧ 9.2.8
RELEAS┼ UNI╘ 17Φ ═ 9.2.9
REQUES╘ SENS┼ 03Φ ═ 7.2.14
RESERV┼ UNI╘ 16Φ ═ 9.2.10
REWIN─ 01Φ ═ 9.2.11
SEN─ DIAGNOSTI├ 1DΦ ═ 7.2.15
SPAC┼ 11Φ ═ 9.2.12
TES╘ UNI╘ READ┘ 00Φ ═ 7.2.16
VERIF┘ 13Φ ╧ 9.2.13
WRIT┼ 0AΦ ═ 9.2.14
WRIT┼ BUFFE╥ 3BΦ ╧ 7.2.17
WRIT┼ FILEMARK╙ 10Φ ═ 9.2.15
==============================================================================
.aw on
.pm 3
ááKey║ ═ ╜ CommanΣ implementatioε i≤ mandatory.
áá ╧ ╜ CommanΣ implementatioε i≤ optional.
ááThσ followinτ commanΣ code≤ arσ vendo≥ specific║ 02h¼ 06h¼ 07h¼ 09h¼ 0Ch¼ ì
0Dh¼ 0Eh« Al∞ othe≥ commanΣ code≤ fo≥ sequentia∞-acces≤ device≤ arσ reserveΣ ì
fo≥ futurσ standardization.
.cp 25è.aw off
.pm 0
9.2.1. ERASE Command
Table 9-2: ERASE Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (19h) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | ReserveΣ | Immed | Long |
-----|-----------------------------------------------------------------------|
2 | Reserved |
-----|-----------------------------------------------------------------------|
3 | Reserved |
-----|-----------------------------------------------------------------------|
4 | Reserved |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 4
ááThσ ERAS┼ commanΣ (Tablσ ╣-2⌐ cause≤ par⌠ o≥ al∞ oµ thσ mediuφ t∩ bσ eraseΣ ì
beginninτ a⌠ thσ curren⌠ positioε oε thσ logica∞ unit« A≤ useΣ here¼ "erasedó ì
mean≤ eithe≥ thσ mediuφ shal∞ bσ eraseΣ o≥ ß patterε shal∞ bσ writteε oε thσ ì
mediuφ tha⌠ appear≤ a≤ ß ga≡ t∩ thσ target.
.cp 5
ááAε immediatσ (Immed⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ returε ì
statu≤ unti∞ thσ erasσ operatioε ha≤ completed« Aε ImmeΣ bi⌠ oµ onσ indicate≤ ì
tha⌠ thσ targe⌠ shal∞ returε statu≤ a≤ sooε a≤ thσ commanΣ ha≤ beeε validated« ì
Iµ CHEC╦ CONDITIO╬ statu≤ i≤ returneΣ fo≥ aε ERAS┼ commanΣ witΦ aε ImmeΣ bi⌠ ì
oµ one¼ thσ erasσ operatioε shal∞ no⌠ bσ performed«
.cp 6
áá┴ lonτ bi⌠ oµ onσ indicate≤ tha⌠ al∞ remaininτ mediuφ iε thσ curren⌠ ì
partitioε shal∞ bσ eraseΣ beginninτ a⌠ thσ curren⌠ logica∞ position« Iµ thσ ì
ImmeΣ bi⌠ i≤ one¼ thσ targe⌠ shal∞ returε statu≤ a≤ sooε a≤ al∞ buffereΣ ì
command≤ havσ completeΣ executioε anΣ thσ commanΣ descripto≥ blocδ oµ thσ ì
ERAS┼ commanΣ ha≤ beeε validated« Thσ logica∞ positioε followinτ aε ERAS┼ ì
commanΣ witΦ ß lonτ bi⌠ oµ onσ i≤ no⌠ specifieΣ b∙ thi≤ standard.
.cp 2
.lm3
ááIMPLEMENTOR╙ NOTE║ Somσ target≤ ma∙ rejec⌠ aε ERAS┼ commanΣ witΦ thσ lonτ ì
áábi⌠ se⌠ t∩ onσ iµ thσ logica∞ uni⌠ i≤ no⌠ a⌠ beginninτ-oµ-partition.
.lm1
.cp 6
áá┴ lonτ bi⌠ oµ zer∩ specifie≤ aε erasσ ga≡ defineΣ b∙ thσ ga≡ sizσ fielΣ iε ì
thσ devicσ configuratioε pagσ (9.3.3.1)« Iµ thσ ga≡ sizσ i≤ zer∩ o≥ thσ fielΣ ì
i≤ no⌠ supported¼ ß devicσ defineΣ erasσ ga≡ operatioε shal∞ bσ performed« Iµ ì
thσ ImmeΣ bi⌠ i≤ one¼ thσ targe⌠ shal∞ returε statu≤ a≤ sooε a≤ thσ commanΣ ì
descripto≥ blocδ ha≤ beeε validated« Erasσ gap≤ ma∙ bσ useΣ iε hos⌠ ì
controlleΣ erro≥ recover∙ o≥ "updatσ iε placeó applications«
.cp 7èááIµ thσ logica∞ uni⌠ encounter≤ earl∙-warninτ durinτ aε ERAS┼ command¼ anΣ ì
an∙ buffereΣ data¼ filemarks¼ o≥ setmark≤ remaiε t∩ bσ written¼ thσ targe⌠ ì
actioε shal∞ bσ a≤ defineΣ fo≥ thσ earl∙-warninτ conditioε oµ thσ WRIT┼ ì
commanΣ (9.2.14)« Iµ thσ lonτ bi⌠ i≤ zero¼ thσ erasσ operatioε shal∞ ì
terminatσ witΦ CHEC╦ CONDITIO╬ statu≤ anΣ returε sensσ datß a≤ defineΣ fo≥ thσ ì
WRIT┼ command« An∙ buffereΣ erase≤ arσ no⌠ reporteΣ a≤ par⌠ oµ thσ ì
informatioε field.
.cp 25
.aw off
.pm 0
9.2.2. LOA─ UNLOAD Command
Table 9-3: LOA─ UNLOAD Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (1Bh) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | ReserveΣ | Immed |
-----|-----------------------------------------------------------------------|
2 | Reserved |
-----|-----------------------------------------------------------------------|
3 | Reserved |
-----|-----------------------------------------------------------------------|
4 | Reserved | EOT | Re-Ten | Load |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 5
ááThσ LOA─ UNLOA─ commanΣ (Tablσ ╣-3⌐ request≤ tha⌠ thσ targe⌠ enablσ o≥ ì
disablσ thσ logica∞ uni⌠ fo≥ furthe≥ operations« Thi≤ commanΣ ma∙ als∩ bσ ì
useΣ t∩ reques⌠ ß rσ-tensioε function« Prio≥ t∩ performinτ thσ loaΣ o≥ unloaΣ ì
operation¼ thσ targe⌠ shal∞ ensurσ tha⌠ al∞ buffereΣ data¼ filemarks¼ anΣ ì
setmark≤ havσ beeε transferreΣ t∩ thσ medium.
.cp 7
ááAε immediatσ (Immed⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ returε ì
statu≤ unti∞ thσ loaΣ o≥ unloaΣ operatioε ha≤ completed« Aε ImmeΣ bi⌠ oµ onσ ì
indicate≤ tha⌠ thσ targe⌠ shal∞ returε statu≤ a≤ sooε a≤ al∞ buffereΣ command≤ ì
havσ completeΣ executioε anΣ thσ commanΣ descripto≥ blocδ oµ thσ LOA─ UNLOA─ ì
commanΣ ha≤ beeε validated« Iµ CHEC╦ CONDITIO╬ statu≤ i≤ returneΣ fo≥ ß LOA─ ì
UNLOA─ commanΣ witΦ aε ImmeΣ bi⌠ oµ one¼ thσ loaΣ o≥ unloaΣ operatioε shal∞ ì
no⌠ bσ performed.
.cp 5
.lm 3
ááIMPLEMENTOR╙ NOTE║ Fo≥ compatibilit∙ witΦ device≤ implementeΣ prio≥ t∩ thi≤ ì
ááversioε oµ thσ standard¼ ß WRIT┼ FILEMARK╙ commanΣ witΦ aε ImmeΣ bi⌠ oµ zer∩ ì
ááshoulΣ bσ useΣ t∩ ensurσ tha⌠ al∞ buffereΣ data¼ filemarks¼ o≥ setmark≤ havσ ì
áábeeε transferreΣ t∩ thσ mediuφ prio≥ t∩ issuinτ ß LOA─ UNLOA─ commanΣ witΦ ì
ááaε ImmeΣ bi⌠ oµ one.
.lm 1
.cp 4
ááAε enΣ-oµ-tapσ (EOT⌐ bi⌠ oµ onσ indicate≤ tha⌠ aε unloaΣ operatioε (loaΣ bi⌠ ì
se⌠ t∩ zero⌐ shal∞ positioε thσ mediuφ a⌠ enΣ-oµ-mediuφ fo≥ remova∞ froφ thσ ì
device« Aε EO╘ bi⌠ oµ zer∩ indicate≤ tha⌠ aε unloaΣ operatioε shal∞ positioε ì
thσ mediuφ a⌠ beginninτ-oµ-mediuφ fo≥ remova∞ froφ thσ device.
è.cp 3
ááAε EO╘ bi⌠ oµ onσ anΣ ß loaΣ bi⌠ oµ onσ shal∞ causσ thσ targe⌠ t∩ returε ì
CHEC╦ CONDITIO╬ statu≤ anΣ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ ILLEGA╠ REQUES╘ iε ì
thσ sensσ data.
.cp 3
áá┴ rσ-tensioε (Rσ-Ten⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ mediuφ oε thσ logica∞ ì
uni⌠ shal∞ bσ correctl∙ tensioned« Implementatioε oµ thσ rσ-tensioε functioε ì
i≤ devicσ specific.
.cp 8
ááIµ thσ loaΣ bi⌠ i≤ se⌠ t∩ one¼ thσ mediuφ iε thσ logica∞ uni⌠ shal∞ bσ ì
loadeΣ anΣ positioneΣ t∩ thσ beginninτ-oµ-partitioε zero« Iµ thσ loaΣ bi⌠ i≤ ì
zero¼ thσ mediuφ iε thσ logica∞ uni⌠ shal∞ bσ positioneΣ fo≥ remova∞ a⌠ thσ ì
extremσ positioε alonτ thσ mediuφ specifieΣ b∙ thσ EO╘ bit« Followinτ ì
successfu∞ completioε oµ aε unloaΣ operation¼ thσ targe⌠ shal∞ returε CHEC╦ ì
CONDITIO╬ statu≤ witΦ thσ sensσ ke∙ se⌠ t∩ NO╘ READ┘ fo≥ al∞ subsequen⌠ ì
mediuφ-acces≤ command≤ unti∞ ß ne≈ volumσ i≤ mounteΣ o≥ ß loaΣ operatioε i≤ ì
successfull∙ completed.
.cp 4
ááWheε operatinτ iε buffereΣ modσ 1Φ o≥ 2Φ (seσ 9.3.3)¼ thσ targe⌠ shal∞ ì
discarΣ an∙ unwritteε buffereΣ datß afte≥ thσ LOA─ UNLOA─ commanΣ i≤ validateΣ ì
iµ thσ previou≤ commanΣ wa≤ terminateΣ witΦ CHEC╦ CONDITIO╬ statu≤ anΣ thσ ì
devicσ i≤ unablσ t∩ continuσ successfull∙ writing«
.cp 35è.aw off
.pm 0
9.2.3. LOCATE Command
Table 9-4: LOCATE Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (2Bh) |
-----|-----------------------------------------------------------------------|
▒ ⁿ Logica∞ Uni⌠ Numbe≥ ⁿ ReserveΣ | BT | CP | Immed |
-----|-----------------------------------------------------------------------|
2 | Reserved |
-----|-----------------------------------------------------------------------|
3 | (MSB) |
-----|--- ---|
4 | |
-----|--- Block Addres≤ ---|
5 | |
-----|--- ---|
6 | (LSB) |
-----|-----------------------------------------------------------------------|
7 | Reserved |
-----|-----------------------------------------------------------------------|
8 | Partition |
-----|-----------------------------------------------------------------------|
╣ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 4
ááLOCAT┼ commanΣ (Tablσ ╣-4⌐ cause≤ thσ targe⌠ t∩ positioε thσ logica∞ uni⌠ t∩ ì
thσ specifieΣ blocδ addres≤ iε ß specifieΣ partition« Upoε completion¼ thσ ì
logica∞ positioε shal∞ bσ beforσ thσ specifieΣ location« Prio≥ t∩ performinτ ì
thσ locatσ operation¼ thσ targe⌠ shal∞ ensurσ tha⌠ al∞ buffereΣ data¼ ì
filemarks¼ anΣ setmark≤ havσ beeε transferreΣ t∩ thσ medium.
áá┴ blocδ addres≤ typσ (BT⌐ bi⌠ oµ onσ indicate≤ thσ valuσ iε thσ blocδ ì
addres≤ fielΣ shal∞ bσ interpreteΣ a≤ ß devicσ-specifiπ value« ┴ B╘ bi⌠ oµ ì
zer∩ indicate≤ thσ valuσ iε thσ blocδ addres≤ fielΣ shal∞ bσ interpreteΣ a≤ aε ì
SCS╔ logica∞ blocδ address.
áá┴ changσ partitioε (CP⌐ bi⌠ oµ onσ indicate≤ tha⌠ ß changσ t∩ thσ partitioε ì
specifieΣ iε thσ partitioε fielΣ i≤ t∩ occu≥ prio≥ t∩ positioninτ t∩ thσ blocδ ì
specifieΣ iε thσ blocδ addres≤ field« ┴ C╨ bi⌠ oµ zer∩ indicate≤ n∩ partitioε ì
changσ i≤ t∩ bσ madσ anΣ thσ partitioε fielΣ i≤ t∩ bσ ignored.
.cp 7
ááAε immediatσ (Immed⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ returε ì
statu≤ unti∞ thσ locatσ operatioε ha≤ completed« Aε ImmeΣ bi⌠ oµ onσ ì
indicate≤ tha⌠ thσ targe⌠ shal∞ returε statu≤ a≤ sooε a≤ al∞ buffereΣ command≤ ì
havσ completeΣ executioε anΣ thσ commanΣ descripto≥ blocδ oµ thσ LOCAT┼ ì
commanΣ ha≤ beeε validated« Iµ CHEC╦ CONDITIO╬ statu≤ i≤ returneΣ fo≥ ß ì
LOCAT┼ commanΣ witΦ aε ImmeΣ bi⌠ oµ one¼ thσ locatσ operatioε shal∞ no⌠ bσ ì
performed.
.cp 2èááThσ blocδ addres≤ fielΣ specifie≤ thσ blocδ addres≤ t∩ whicΦ thσ targe⌠ ì
shal∞ positioε thσ mediuφ baseΣ oε thσ curren⌠ settinτ oµ thσ B╘ bit.
.cp 3
ááThσ partitioε fielΣ specifie≤ whicΦ partitioε t∩ selec⌠ iµ thσ C╨ bi⌠ i≤ ì
one« Refe≥ t∩ thσ sequentia∞-acces≤ devicσ mode∞ (9.1.3⌐ anΣ thσ mediuφ ì
partitioε page≤ (9.3.3.▓ anΣ 9.3.3.3⌐ fo≥ additiona∞ informatioε abou⌠ ì
partitioning.
.cp 25
.aw off
.pm 0
9.2.4. READ Command
Table 9-5: READ Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (08h) |
-----|-----------------------------------------------------------------------|
▒ ⁿ Logica∞ Uni⌠ Numbe≥ ⁿ Reserved ⁿ SIL╔ ⁿ FixeΣ |
¡¡¡¡-ⁿ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-|
2 | (MSB) |
-----|--- ---|
3 | Transfer Length |
-----|--- ---|
4 | (LSB) |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.c≡ 3
ááThσ REA─ commanΣ (Tablσ ╣-6⌐ request≤ tha⌠ thσ targe⌠ transfe≥ onσ o≥ morσ ì
block(s⌐ oµ datß t∩ thσ initiato≥ beginninτ witΦ thσ nex⌠ blocδ oε thσ logica∞ ì
unit.
.cp 3
ááThσ fixeΣ bi⌠ specifie≤ whethe≥ fixeΣ-lengtΦ o≥ variablσ-lengtΦ block≤ arσ ì
t∩ bσ transferred« Refe≥ t∩ thσ REA─ BLOC╦ LIMIT╙ commanΣ (9.2.5⌐ fo≥ ì
additiona∞ informatioε abou⌠ fixeΣ anΣ variablσ blocδ mode.
.cp 5
ááIµ thσ fixeΣ bi⌠ i≤ one¼ thσ transfe≥ lengtΦ specifie≤ thσ numbe≥ oµ fixeΣ-ì
lengtΦ block≤ t∩ bσ transferred¼ usinτ thσ curren⌠ blocδ lengtΦ reporteΣ iε ì
thσ modσ parameter≤ blocδ descripto≥ (7.3.3)« Iµ thσ fixeΣ bi⌠ i≤ zero¼ ß ì
variablσ-lengtΦ blocδ i≤ requesteΣ witΦ thσ transfe≥ lengtΦ specifyinτ thσ ì
maximuφ numbe≥ oµ byte≤ allocateΣ fo≥ thσ returneΣ data.
.cp 6
áá┴ successfu∞ REA─ commanΣ witΦ ß fixeΣ bi⌠ oµ onσ shal∞ transfe≥ thσ ì
requesteΣ transfe≥ lengtΦ time≤ thσ curren⌠ blocδ lengtΦ iε byte≤ t∩ thσ ì
initiator« ┴ successfu∞ REA─ commanΣ witΦ ß fixeΣ bi⌠ oµ zer∩ shal∞ transfe≥ ì
thσ requesteΣ transfe≥ lengtΦ iε byte≤ t∩ thσ initiator« Upoε completion¼ thσ ì
logica∞ positioε shal∞ bσ afte≥ thσ las⌠ blocδ transferreΣ (enΣ-oµ-partitioε ì
side).
.cp 10èááIµ thσ suppres≤ incorrec⌠ lengtΦ indicato≥ (SILI⌐ bi⌠ i≤ onσ anΣ thσ fixeΣ ì
bi⌠ i≤ zero¼ thσ targe⌠ shall:
áá(1⌐ repor⌠ CHEC╦ CONDITIO╬ statu≤ fo≥ aε incorrec⌠ lengtΦ conditioε onl∙ iµ ì
thσ overlengtΦ conditioε exist≤ (seσ 9.4⌐ anΣ thσ blocδ lengtΦ fielΣ iε thσ ì
modσ paramete≥ blocδ descripto≥ i≤ nonzer∩ (seσ 7.3.3)
áá(2⌐ no⌠ repor⌠ CHEC╦ CONDITIO╬ statu≤ iµ thσ onl∙ erro≥ i≤ thσ underlengtΦ ì
conditioε (seσ 9.4)¼ o≥ iµ thσ onl∙ erro≥ i≤ thσ overlengtΦ conditioε anΣ thσ ì
blocδ lengtΦ fielΣ oµ thσ modσ parameter≤ blocδ descripto≥ i≤ zero.
.lm 3
.cp 5
ááIMPLEMENTOR╙ NOTE║ Sincσ thσ residuσ informatioε normall∙ provideΣ iε thσ ì
ááinformatioε fielΣ oµ thσ sensσ datß ma∙ no⌠ bσ availablσ wheε thσ SIL╔ bi⌠ ì
áái≤ set¼ othe≥ method≤ fo≥ determininτ thσ actua∞ blocδ lengtΦ shoulΣ bσ useΣ ì
áá(e.g.¼ includinτ lengtΦ informatioε iε thσ datß block).
.lm1
.cp 3
ááIµ thσ SIL╔ bi⌠ i≤ onσ anΣ thσ fixeΣ bi⌠ i≤ one¼ thσ targe⌠ shal∞ terminatσ ì
thσ commanΣ witΦ CHEC╦ CONDITIO╬ statu≤ anΣ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ ì
ILLEGA╠ REQUES╘ witΦ aε additiona∞ sensσ codσ oµ INVALI─ FIEL─ I╬ CDB.
.cp 12
ááIµ thσ SIL╔ bi⌠ i≤ zer∩ anΣ aε incorrec⌠ lengtΦ blocδ i≤ read¼ CHEC╦ ì
CONDITIO╬ statu≤ shal∞ bσ returneΣ anΣ thσ IL╔ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ ì
onσ iε thσ sensσ data« Upoε termination¼ thσ logica∞ positioε shal∞ bσ afte≥ ì
thσ incorrec⌠ lengtΦ blocδ (enΣ-oµ-partitioε side)« Iµ thσ fixeΣ bi⌠ i≤ one¼ ì
thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ block≤ reaΣ (no⌠ includinτ thσ incorrec⌠ lengtΦ block)« Iµ ì
thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ ì
transfe≥ lengtΦ minu≤ thσ actua∞ blocδ length« Target≤ tha⌠ d∩ no⌠ suppor⌠ ì
negativσ value≤ shal∞ se⌠ thσ informatioε fielΣ t∩ zer∩ iµ thσ overlengtΦ ì
conditioε exist≤ (seσ 9.4).
.lm 3
ááIMPLEMENTOR╙ NOTE║ Iε thσ abovσ casσ witΦ thσ fixeΣ bi⌠ oµ one¼ onl∙ thσ ì
áápositioε oµ thσ incorrec⌠-lengtΦ logica∞ blocδ caε bσ determineΣ froφ thσ ì
áásensσ data« Thσ actua∞ lengtΦ oµ thσ incorrec⌠ blocδ i≤ no⌠ reported« ì
ááOthe≥ mean≤ ma∙ bσ useΣ t∩ determinσ it≤ actua∞ lengtΦ (e.g.¼ reaΣ i⌠ agaiε ì
ááwitΦ thσ fixeΣ bi⌠ se⌠ t∩ zero).
.lm 1
.cp 3
áá┴ transfe≥ lengtΦ oµ zer∩ indicate≤ tha⌠ n∩ datß shal∞ bσ transferred« Thi≤ ì
conditioε shal∞ no⌠ bσ considereΣ aε erro≥ anΣ thσ logica∞ positioε shal∞ no⌠ ì
bσ changed.
.cp 9
ááIµ thσ logica∞ uni⌠ encounter≤ ß filemarδ durinτ ß REA─ command¼ CHEC╦ ì
CONDITIO╬ statu≤ shal∞ bσ returneΣ anΣ thσ filemarδ anΣ valiΣ bit≤ shal∞ bσ ì
se⌠ t∩ onσ iε thσ sensσ data« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ o≥ ì
RECOVERE─ ERROR¼ a≤ appropriate« Upoε termination¼ thσ logica∞ positioε shal∞ ì
bσ afte≥ thσ filemarδ (enΣ-oµ-partitioε side)« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ block≤ reaΣ (no⌠ includinτ thσ filemark)« Iµ thσ fixeΣ bi⌠ ì
i≤ zero¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ length«
.cp 13èááIµ thσ logica∞ uni⌠ encounter≤ ß setmarδ durinτ ß REA─ commanΣ anΣ thσ RSmδ ì
bi⌠ i≤ se⌠ t∩ onσ iε thσ devicσ configuratioε pagσ (9.3.3.1)¼ CHEC╦ CONDITIO╬ ì
statu≤ shal∞ bσ returneΣ anΣ thσ filemarδ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ ì
iε thσ sensσ data« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ o≥ RECOVERE─ ERROR¼ ì
a≤ appropriate¼ anΣ thσ additiona∞ sensσ codσ shal∞ bσ se⌠ t∩ SETMAR╦ ì
DETECTED« Upoε termination¼ thσ logica∞ positioε shal∞ bσ afte≥ thσ setmarδ ì
(enΣ-oµ-partitioε side)« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ informatioε fielΣ shal∞ ì
bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ block≤ reaΣ ì
(no⌠ includinτ thσ setmark)« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ ì
shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ length« Thσ targe⌠ shal∞ no⌠ returε ì
CHEC╦ CONDITIO╬ wheε ß setmarδ i≤ encountereΣ iµ thσ RSmδ bi⌠ i≤ se⌠ t∩ zer∩ ì
o≥ iµ thi≤ optioε i≤ no⌠ supported.
.cp 13
ááIµ thσ logica∞ uni⌠ encounter≤ earl∙-warninτ durinτ ß REA─ commanΣ anΣ thσ ì
RE╫ bi⌠ i≤ se⌠ t∩ onσ iε thσ devicσ configuratioε pagσ (seσ 9.3.3.1)¼ CHEC╦ ì
CONDITIO╬ statu≤ shal∞ bσ returneΣ upoε completioε oµ thσ curren⌠ block« Thσ ì
sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ o≥ RECOVERE─ ERROR¼ a≤ appropriate« Thσ ì
EO═ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ data« Upoε termination¼ ì
thσ logica∞ positioε shal∞ bσ afte≥ thσ las⌠ blocδ transferreΣ (enΣ-oµ-ì
partitioε side)« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ informatioε fielΣ shal∞ bσ se⌠ ì
t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ block≤ read« Iµ ì
thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ ì
transfe≥ lengtΦ minu≤ thσ actua∞ blocδ length« Thσ targe⌠ shal∞ no⌠ returε ì
CHEC╦ CONDITIO╬ statu≤ wheε earl∙-warninτ i≤ encountereΣ iµ thσ RE╫ bi⌠ i≤ ì
zer∩ o≥ iµ thσ RE╫ optioε i≤ no⌠ supported.
.lm 3
.cp2
ááIMPLEMENTOR╙ NOTE║ ┴ RE╫ bi⌠ oµ onσ i≤ no⌠ recommendeΣ fo≥ mos⌠ systeφ ì
ááapplication≤ sincσ reaΣ datß ma∙ bσ presen⌠ afte≥ earl∙-warning«
.lm 1
.cp 9
ááIµ thσ logica∞ uni⌠ encounter≤ enΣ-oµ-datß durinτ ß REA─ command¼ CHEC╦ ì
CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ BLAN╦ CHECK¼ ì
anΣ thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ data« Iµ enΣ-oµ-datß i≤ ì
encountereΣ a⌠ o≥ afte≥ earl∙-warning¼ thσ EO═ bi⌠ shal∞ als∩ bσ se⌠ t∩ one« ì
Upoε termination¼ thσ logica∞ positioε shal∞ bσ afte≥ thσ las⌠ recordeΣ ì
logica∞ blocδ (enΣ-oµ-partitioε side)« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ block≤ read« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ ì
shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ length.
.cp 8
ááIµ thσ logica∞ uni⌠ encounter≤ enΣ-oµ-partitioε durinτ ß REA─ command¼ CHEC╦ ì
CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ MEDIU═ ì
ERROR¼ anΣ thσ EO═ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ data« Thσ ì
mediuφ positioε followinτ thi≤ conditioε i≤ no⌠ defined« Iµ thσ fixeΣ bi⌠ i≤ ì
one¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ ì
thσ actua∞ numbe≥ oµ block≤ read« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε ì
fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ length.
.cp 25è.aw off
.pm 0
9.2.5. READ BLOCK LIMITS Command
Table 9-6: READ BLOCK LIMITS Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (05h) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | Reserved |
-----|-----------------------------------------------------------------------|
2 | Reserved |
-----|-----------------------------------------------------------------------|
3 | Reserved |
-----|-----------------------------------------------------------------------|
4 | Reserved |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 4
ááThσ REA─ BLOC╦ LIMIT╙ commanΣ (Tablσ ╣-6⌐ request≤ tha⌠ thσ logica∞ unit'≤ ì
blocδ lengtΦ limit≤ capabilit∙ bσ returned« Thσ REA─ BLOC╦ LIMIT╙ datß showε ì
iε Tablσ ╣-╖ shal∞ bσ returneΣ durinτ thσ DAT┴ I╬ phasσ oµ thσ command.
.aw off
.pm 0
.cp 20
Table 9-7: REA─ BLOC╦ LIMIT╙ Data
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Reserved |
-----|-----------------------------------------------------------------------|
1 | (MSB) |
-----|--- ---|
2 | Maximum Block Length Limi⌠ |
-----|--- ---|
3 | (LSB) |
-----|-----------------------------------------------------------------------|
4 | (MSB) |
-----|--- Minimuφ Blocδ LengtΦ Limit ---|
╡ ⁿ (LSB⌐ |
==============================================================================
.aw on
.pm 3
.cp 7
ááIµ thσ maximuφ blocδ lengtΦ limi⌠ equal≤ thσ minimuφ blocδ lengtΦ limit¼ thσ ì
logica∞ uni⌠ support≤ thσ transfe≥ oµ datß iε thσ fixeΣ-blocδ modσ only¼ witΦ ì
thσ blocδ lengtΦ equa∞ t∩ thσ giveε limit« Iε thi≤ casσ thσ fixeΣ bi⌠ shal∞ ì
bσ se⌠ t∩ onσ iε thσ WRIT┼ anΣ REA─ commands
.cp 7èááIµ thσ maximuφ blocδ lengtΦ limi⌠ i≤ no⌠ equa∞ t∩ thσ minimuφ blocδ lengtΦ ì
limit¼ thσ logica∞ uni⌠ support≤ thσ transfe≥ oµ datß iε eithe≥ fixeΣ-blocδ o≥ ì
variablσ-blocδ modes¼ witΦ thσ blocδ lengtΦ constraineΣ betweeε thσ giveε ì
limit≤ iε eithe≥ mode« Thσ transfe≥ modσ i≤ controlleΣ b∙ thσ fixeΣ bi⌠ iε ì
thσ WRIT┼ o≥ REA─ commands« Iµ thσ maximuφ blocδ limi⌠ i≤ zer∩ ß maximuφ blocδ ì
lengtΦ i≤ no⌠ specified.
.cp 35
.aw off
.pm 0
9.2.6. READ POSITION Command
Table 9-8: REA─ POSITIO╬ Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (34h) |
-----|-----------------------------------------------------------------------|
▒ ⁿ Logica∞ Uni⌠ Numbe≥ ⁿ ReserveΣ ⁿ BT |
-----|-----------------------------------------------------------------------|
2 | Reserved |
-----|-----------------------------------------------------------------------|
3 | Reserved |
-----|-----------------------------------------------------------------------|
4 | Reserved |
-----|-----------------------------------------------------------------------|
5 | Reserved |
-----|-----------------------------------------------------------------------|
6 | Reserved |
-----|-----------------------------------------------------------------------|
7 | Reserved |
-----|-----------------------------------------------------------------------|
8 | Reserved |
-----|-----------------------------------------------------------------------|
╣ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 5
ááThσ REA─ POSITIO╬ commanΣ (Tablσ ╣-8⌐ report≤ thσ curren⌠ positioε oµ thσ ì
logica∞ uni⌠ anΣ an∙ datß block≤ iε thσ buffer« N∩ mediuφ movemen⌠ shal∞ ì
occu≥ a≤ ß resul⌠ oµ thσ command«
.cp 5
áá┴ blocδ addres≤ typσ (BT⌐ bi⌠ oµ onσ request≤ thσ targe⌠ t∩ returε it≤ ì
curren⌠ firs⌠ blocδ locatioε anΣ las⌠ blocδ locatioε a≤ ß devicσ-specifiπ ì
value« ┴ B╘ bi⌠ oµ zer∩ request≤ thσ targe⌠ t∩ returε thσ firs⌠ blocδ ì
locatioε anΣ thσ las⌠ blocδ locatioε a≤ aε SCS╔ logica∞ blocδ addres≤ ì
(relativσ t∩ ß partition)«
.cp 4
áá Iµ thσ logica∞ uni⌠ i≤ no⌠ capablσ oµ reportinτ blocδ locations¼ thσ BP╒ ì
bi⌠ shal∞ bσ se⌠ t∩ onσ iε thσ returneΣ data« Suppor⌠ fo≥ thi≤ optioε oµ thσ ì
REA─ POSITIO╬ commanΣ i≤ indicateΣ b∙ ß BI╙ bi⌠ se⌠ t∩ onσ iε thσ devicσ ì
configuratioε pagσ (9.3.3.1).
.cp 2
ááThσ REA─ POSITIO╬ datß showε iε Tablσ ╣-╣ shal∞ bσ returneΣ durinτ thσ DAT┴ ì
I╬ phasσ oµ thσ command.
è.aw off
.pm 0
.cp 47
Table 9-9: READ POSITION Data Format
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | BOP | ┼OP | Reserved | BPU | Reserved |
-----|-----------------------------------------------------------------------|
▒ ⁿ Partition Number |
-----|-----------------------------------------------------------------------|
2 | Reserved |
-----|-----------------------------------------------------------------------|
3 | Reserved |
-----|-----------------------------------------------------------------------|
4 | (MSB) |
¡ ¡ -|¡ ¡ Firs⌠ Blocδ Location ¡ -|
7 | (LSB) |
-----|-----------------------------------------------------------------------|
8 | (MSB) |
¡ ¡ -|¡ ¡ Las⌠ Blocδ Location ¡ -|
11 | (LSB) |
-----|-----------------------------------------------------------------------|
12 | Reserved |
-----|-----------------------------------------------------------------------|
13 | (MSB) |
¡ ¡ -|¡ - Number of Blocks in Buffer ¡ -|
15 | (LSB) |
-----|-----------------------------------------------------------------------|
16 | (MSB) |
¡ ¡ -|¡ - Numbe≥ oµ Byte≤ iε Buffe≥ ¡ -|
19 | (LSB) |
==============================================================================
.aw on
.pm 3
.cp4
áá┴ beginninτ oµ partitioε (BOP⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ logica∞ uni⌠ i≤ ì
a⌠ thσ beginninτ-oµ-partitioε iε thσ curren⌠ partition« ┴ BO╨ bi⌠ oµ zer∩ ì
indicate≤ tha⌠ thσ curren⌠ logica∞ positioε i≤ no⌠ a⌠ thσ beginninτ-oµ-ì
partition«
.cp 4
ááAε enΣ oµ partitioε (EOP⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ logica∞ uni⌠ i≤ ì
positioneΣ betweeε earl∙-warninτ anΣ enΣ-oµ-partitioε iε thσ curren⌠ ì
partition« Aε EO╨ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ curren⌠ logica∞ positioε i≤ ì
no⌠ betweeε earl∙-warninτ anΣ enΣ-oµ-partition.
.cp 2
.lm3
ááIMPLEMENTOR╙ NOTE║ Thσ BO╨ anΣ EO╨ indication≤ arσ no⌠ necessaril∙ ß resul⌠ ì
ááoµ ß physica∞ tapσ marke≥ (e.g.¼ reflectivσ marker)«
.lm1
.cp 4
áá┴ blocδ positioε unknowε (BPU⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ firs⌠ anΣ las⌠ ì
blocδ location≤ arσ no⌠ knowε o≥ canno⌠ bσ obtained« ┴ BP╒ bi⌠ oµ zer∩ ì
indicate≤ tha⌠ thσ firs⌠ anΣ las⌠ blocδ locatioε field≤ contaiε valiΣ positioε ì
information.
.cp 3
ááThσ partitioε numbe≥ fielΣ report≤ thσ partitioε numbe≥ fo≥ thσ curren⌠ ì
logica∞ position« Iµ thσ logica∞ uni⌠ onl∙ support≤ onσ partitioε fo≥ thσ ì
medium¼ thi≤ fielΣ shal∞ bσ se⌠ t∩ zero.è
.cp 4
ááThσ firs⌠ blocδ locatioε fielΣ indicate≤ thσ blocδ addres≤ associateΣ witΦ ì
thσ curren⌠ logica∞ position« Thσ valuσ shal∞ indicatσ thσ blocδ addres≤ oµ ì
thσ nex⌠ datß blocδ t∩ bσ transferreΣ betweeε thσ initiato≥ anΣ thσ targe⌠ iµ ì
ß REA─ o≥ WRIT┼ commanΣ i≤ issued.
.cp 6
ááThσ las⌠ blocδ locatioε fielΣ indicate≤ thσ blocδ addres≤ associateΣ witΦ ì
thσ nex⌠ blocδ t∩ bσ transferreΣ froφ thσ buffe≥ t∩ thσ medium« Thσ valuσ ì
shal∞ indicatσ thσ blocδ addres≤ oµ thσ nex⌠ datß blocδ t∩ bσ transferreΣ ì
betweeε thσ buffe≥ anΣ thσ medium« Iµ thσ buffe≥ doe≤ no⌠ contaiε ß wholσ ì
blocδ oµ datß o≥ i≤ empty¼ thσ valuσ reporteΣ fo≥ thσ las⌠ blocδ locatioε ì
shal∞ bσ equa∞ t∩ thσ valuσ reporteΣ fo≥ thσ firs⌠ blocδ location.
.cp 4
.lm3
ááIMPLEMENTOR╙ NOTE║ Thσ informatioε provideΣ b∙ thσ firs⌠ anΣ las⌠ blocδ ì
áálocatioε field≤ caε bσ useΣ iε conjunctioε witΦ thσ LOCAT┼ commanΣ t∩ ì
áápositioε thσ mediuφ a⌠ thσ appropriatσ logica∞ blocδ oε anothe≥ devicσ iε ì
ááthσ casσ oµ unrecoverablσ error≤ oε thσ firs⌠ device.
.lm1
.cp 2
ááThσ numbe≥ oµ block≤ iε buffe≥ fielΣ indicate≤ thσ numbe≥ oµ datß block≤ iε ì
thσ target'≤ buffe≥ tha⌠ havσ no⌠ beeε writteε t∩ thσ medium.
.cp 2
ááThσ numbe≥ oµ byte≤ iε buffe≥ fielΣ indicate≤ thσ tota∞ numbe≥ oµ datß byte≤ ì
iε thσ target'≤ buffe≥ tha⌠ havσ no⌠ beeε writteε t∩ thσ medium.
.cp 25
.aw off
.pm 0
9.2.7. READ REVERSE Command
Table 9-10: READ REVERSE Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (0Fh) |
-----|-----------------------------------------------------------------------|
▒ ⁿ Logica∞ Uni⌠ Numbe≥ ⁿ ReserveΣ ⁿ SIL╔ ⁿ FixeΣ |
-----|-----------------------------------------------------------------------|
2 | (MSB) |
-----|--- ---|
3 | Transfer Length |
-----|--- ---|
4 | (LSB) |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 3
ááThσ REA─ REVERS┼ commanΣ (Tablσ ╣-10⌐ request≤ tha⌠ thσ targe⌠ transfe≥ onσ ì
o≥ morσ block(s⌐ oµ datß t∩ thσ initiato≥ beginninτ a⌠ thσ curren⌠ positioε oε ì
thσ logica∞ unit.
.cp 6èááThσ executioε oµ thi≤ commanΣ i≤ simila≥ t∩ thσ REA─ commanΣ excep⌠ tha⌠ ì
mediuφ motioε i≤ iε thσ reversσ direction« Al∞ block(s)¼ anΣ thσ byte(s⌐ ì
withiε thσ block(s)¼ arσ transferreΣ iε thσ reversσ order« Thσ orde≥ oµ bit≤ ì
withiε eacΦ bytσ shal∞ no⌠ bσ changed« Upoε completioε oµ ß REA─ REVERS┼ ì
command¼ thσ logica∞ positioε shal∞ bσ beforσ thσ las⌠ blocδ transferreΣ ì
(beginninτ-oµ-partitioε side).
.cp 2
ááRefe≥ t∩ thσ REA─ commanΣ (9.2.4⌐ fo≥ ß descriptioε oµ thσ fixeΣ bit¼ thσ ì
SIL╔ bit¼ thσ transfe≥ lengtΦ field¼ anΣ an∙ associateΣ erro≥ conditions.
.cp 4
ááFilemarks¼ setmarks¼ incorrec⌠ lengtΦ blocks¼ anΣ unrecovereΣ reaΣ error≤ ì
arσ handleΣ thσ samσ a≤ iε thσ REA─ command¼ excep⌠ tha⌠ upoε terminatioε thσ ì
logica∞ positioε shal∞ bσ beforσ thσ filemark¼ setmark¼ incorrec⌠ lengtΦ ì
block¼ o≥ unrecovereΣ blocδ (beginninτ-oµ-partitioε side).
.cp 7
ááIµ thσ logica∞ uni⌠ encounter≤ beginninτ-oµ-partitioε durinτ ß REA─ REVERS┼ ì
command¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returneΣ anΣ thσ EO═ anΣ valiΣ bit≤ ì
shal∞ bσ se⌠ t∩ onσ iε thσ sensσ data« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ ì
o≥ RECOVERE─ ERROR¼ a≤ appropriate« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ informatioε ì
fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ ì
block≤ transferred« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ shal∞ bσ ì
se⌠ t∩ thσ requesteΣ transfe≥ length.
.cp 25
.aw off
.pm 0
9.2.8. RECOVER BUFFERED DATA Command
Table 9-11: RECOVER BUFFERED DATA Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (14h) |
-----|-----------------------------------------------------------------------|
1 ⁿ Logical Unit Number | Reserved ⁿ SIL╔ | Fixed |
-----|-----------------------------------------------------------------------|
2 | (MSB) |
-----|--- ---|
3 | Transfer Length |
-----|--- ---|
4 | (LSB) |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 6
ááThσ RECOVE╥ BUFFERE─ DAT┴ commanΣ (Tablσ ╣-11⌐ i≤ useΣ t∩ recove≥ datß tha⌠ ì
ha≤ beeε transferreΣ t∩ thσ target'≤ buffe≥ bu⌠ ha≤ no⌠ beeε successfull∙ ì
writteε t∩ thσ medium« I⌠ i≤ normall∙ useΣ t∩ recove≥ froφ erro≥ o≥ exceptioε ì
condition≤ tha⌠ makσ i⌠ impossiblσ t∩ writσ thσ buffereΣ datß t∩ thσ medium« ì
Onσ o≥ morσ RECOVE╥ BUFFERE─ DAT┴ command≤ ma∙ bσ requireΣ t∩ recove≥ al∞ ì
unwritteε buffereΣ data.
.cp 6èááThσ executioε oµ thi≤ commanΣ i≤ simila≥ t∩ thσ REA─ commanΣ excep⌠ tha⌠ thσ ì
datß i≤ transferreΣ froφ thσ target'≤ buffe≥ insteaΣ oµ thσ medium« Thσ orde≥ ì
iε whicΦ block(s⌐ arσ transferreΣ i≤ defineΣ b∙ thσ RB╧ bi⌠ iε thσ devicσ ì
configuratioε pagσ (9.3.3.1)« Iµ thσ RB╧ bi⌠ i≤ no⌠ implemented¼ block(s⌐ arσ ì
transferreΣ iε thσ samσ orde≥ the∙ woulΣ havσ beeε transferreΣ t∩ thσ medium.
.cp 2
ááRefe≥ t∩ thσ REA─ commanΣ (9.2.4⌐ fo≥ ß descriptioε oµ thσ fixeΣ bit¼ thσ ì
SIL╔ bit¼ thσ transfe≥ lengtΦ field¼ anΣ an∙ associateΣ erro≥ conditions.
.cp 5
ááIµ thσ fixeΣ bi⌠ i≤ zero¼ n∩ morσ thaε thσ requesteΣ transfe≥ lengtΦ shal∞ ì
bσ transferreΣ t∩ thσ initiator« Iµ thσ requesteΣ transfe≥ lengtΦ i≤ smalle≥ ì
thaε thσ actua∞ lengtΦ oµ thσ logica∞ blocδ t∩ bσ recovered¼ onl∙ thσ ì
requesteΣ transfe≥ lengtΦ shal∞ bσ transferreΣ t∩ thσ initiato≥ anΣ thσ ì
remaininτ datß fo≥ thσ curren⌠ logica∞ blocδ shal∞ bσ discarded.
.cp 3
.lm3
ááIMPLEMENTOR╙ NOTE║ Durinτ recover∙ operation≤ involvinτ unknowε blocδ ì
áásizes¼ thσ initiato≥ shoulΣ selec⌠ thσ maximuφ blocδ lengtΦ supporteΣ b∙ thσ ì
áátarge⌠ t∩ ensurσ tha⌠ al∞ buffereΣ datß wil∞ bσ transferred.
.lm1
.cp 8
ááIµ ß buffereΣ filemarδ i≤ encountereΣ durinτ ß RECOVE╥ BUFFERE─ DAT┴ ì
command¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ ì
t∩ N╧ SENSE¼ anΣ thσ filemarδ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ ì
data« Upoε termination¼ thσ logica∞ positioε shal∞ bσ afte≥ thσ filemark« Iµ ì
thσ fixeΣ bi⌠ i≤ one¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ ì
transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ block≤ transferreΣ (no⌠ includinτ ì
thσ filemark)« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ shal∞ bσ se⌠ ì
t∩ thσ requesteΣ transfe≥ length«
.cp 12
ááIµ ß buffereΣ setmarδ i≤ encountereΣ durinτ ß RECOVE╥ BUFFERE─ DAT┴ commanΣ ì
anΣ thσ RSmδ bi⌠ i≤ se⌠ t∩ onσ iε thσ devicσ configuratioε pagσ (9.3.3.1)¼ ì
CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returneΣ anΣ thσ filemarδ anΣ valiΣ bit≤ shal∞ ì
bσ se⌠ t∩ onσ iε thσ sensσ data« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ anΣ ì
thσ additiona∞ sensσ codσ shal∞ bσ se⌠ t∩ SETMAR╦ DETECTED« Upoε termination¼ ì
thσ logica∞ positioε shal∞ bσ afte≥ thσ setmark« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ block≤ transferreΣ (no⌠ includinτ thσ setmark)« Iµ thσ fixeΣ ì
bi⌠ i≤ zero¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ ì
length« Thσ targe⌠ shal∞ no⌠ returε CHEC╦ CONDITIO╬ wheε ß setmarδ i≤ ì
encountereΣ iµ thσ RSmδ bi⌠ i≤ zer∩ o≥ iµ thi≤ optioε i≤ no⌠ supported.
.cp 7
ááIµ aε attemp⌠ i≤ madσ t∩ recove≥ morσ logica∞ block≤ oµ datß thaε arσ ì
containeΣ iε thσ target'≤ buffer¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returned¼ ì
thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENSE¼ anΣ thσ EO═ anΣ valiΣ bit≤ shal∞ bσ ì
se⌠ t∩ onσ iε thσ sensσ data« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ informatioε fielΣ ì
shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ ì
block≤ transferred« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ shal∞ bσ ì
se⌠ t∩ thσ requesteΣ transfe≥ length.
.cp 30è.aw off
.pm 0
9.2.9. RELEASE UNI╘ Command
Table 9-12: RELEASE UNI╘ Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Byte | | | | | | | | |
==============================================================================
0 | Operation Code (17h) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | 3rdPty | Third Party Device ID |Reserved|
-----|-----------------------------------------------------------------------|
2 | ReserveΣ |
-----|-----------------------------------------------------------------------|
3 | Reserved |
-----|-----------------------------------------------------------------------|
4 | Reserved |
-----|-----------------------------------------------------------------------|
5 | Control |
==============================================================================
.aw on
.pm 3
ááThσ RESERV┼ UNI╘ anΣ RELEAS┼ UNI╘ command≤ providσ thσ basiπ mechanisφ fo≥ ì
contentioε resolutioε iε multiplσ-initiato≥ systems« Thσ RELEAS┼ UNI╘ commanΣ ì
(Tablσ ╣-12⌐ i≤ useΣ t∩ releasσ previousl∙ reserveΣ logica∞ unit≤ fo≥ thσ ì
requestinτ initiator¼ o≥ iµ i⌠ i≤ ß thirΣ-part∙ release¼ t∩ anothe≥ specifieΣ ì
SCS╔ device«
ááIµ ß valiΣ reservatioε exist≤ fo≥ thσ I_T_╠ nexus¼ thσ targe⌠ shal∞ releasσ ì
thσ reservatioε anΣ returε GOO─ status.
ááI⌠ i≤ no⌠ aε erro≥ t∩ attemp⌠ t∩ releasσ ß reservatioε tha⌠ i≤ no⌠ currentl∙ ì
valid« Iε thi≤ case¼ thσ targe⌠ shal∞ returε GOO─ statu≤ withou⌠ alterinτ an∙ ì
othe≥ reservation.
.cp 5
.aw off
.pm 0
9.2.9.1. ThirΣ-Part∙ Releasσ
.aw on
.pm 3
ááThirΣ-part∙ releasσ allow≤ aε initiato≥ t∩ releasσ ß logica∞ uni⌠ tha⌠ wa≤ ì
previousl∙ reserveΣ usinτ ß thirΣ-part∙ reservatioε (seσ 9.2.10.1)«
ááIµ thσ thirΣ part∙ (3rdPty⌐ bi⌠ i≤ zero¼ theε ß thirΣ-part∙ releasσ i≤ no⌠ ì
requested« Iµ thσ 3rdPt∙ bi⌠ i≤ one¼ anΣ iµ thσ reservatioε wa≤ madσ usinτ ß ì
thirΣ-part∙ reservatioε b∙ thσ initiato≥ tha⌠ i≤ requestinτ thσ releasσ fo≥ ì
thσ samσ SCS╔ devicσ a≤ specifieΣ iε thσ thirΣ-part∙ devicσ ID¼ theε thσ ì
targe⌠ shal∞ releasσ thσ reservation.
ááIµ thσ 3rdPt∙ bi⌠ i≤ one¼ thσ targe⌠ shal∞ no⌠ modif∙ thσ modσ parameter≤ ì
fo≥ command≤ receiveΣ froφ thσ thirΣ-part∙ devicσ eveε iµ thσ targe⌠ ì
implement≤ thσ transfe≥ oµ modσ parameter≤ witΦ ß thirΣ-part∙ RESERV┼ UNI╘ ì
command.
.cp 9è.lm 3
ááIMPLEMENTOR╙ NOTE║ Wheε ß targe⌠ implement≤ independen⌠ storagσ oµ modσ ì
ááparameter≤ fo≥ eacΦ initiator¼ ß thirΣ-part∙ RESERV┼ UNI╘ commanΣ effect≤ ß ì
áátransfe≥ oµ thσ curren⌠ modσ parameters« Thosσ se⌠ u≡ b∙ thσ initiato≥ oµ ì
ááthσ RESERV┼ UNI╘ arσ t∩ bσ se⌠ a≤ thσ modσ parameter≤ useΣ fo≥ command≤ froφ ì
ááthσ thirΣ-part∙ devicσ (usuall∙ ß cop∙ maste≥ device)« ┴ uni⌠ attentioε ì
ááconditioε notifie≤ thσ thirΣ-part∙ devicσ oµ thσ changeΣ modσ parameters« ┴ ì
áásuccessfu∞ thirΣ-part∙ RELEAS┼ UNI╘ commanΣ leave≤ thσ transferreΣ ì
ááparameter≤ intact« Thσ thirΣ-part∙ devicσ caε issuσ MOD┼ SENS┼ anΣ MOD┼ ì
ááSELEC╘ command≤ t∩ quer∙ anΣ modif∙ thσ modσ parameters«
.lm 1
.cp 25
.aw off
.pm 0
9.2.10. RESERVE UNI╘ Command
Table 9-13: RESERVE UNI╘ Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Byte | | | | | | | | |
==============================================================================
0 | Operation Code (16h) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | 3rdPty | Third Party Device ID |Reserved|
-----|-----------------------------------------------------------------------|
2 | ReserveΣ |
-----|-----------------------------------------------------------------------|
3 ⁿ Reserved |
-----|-----------------------------------------------------------------------|
4 | Reserved |
-----|-----------------------------------------------------------------------|
5 | Control |
==============================================================================
.aw on
.pm 3
ááThσ RESERV┼ UNI╘ anΣ RELEAS┼ UNI╘ command≤ providσ thσ basiπ mechanisφ fo≥ ì
contentioε resolutioε iε multiplσ-initiato≥ systems« Thσ RESERV┼ UNI╘ commanΣ ì
(Tablσ ╣-13⌐ i≤ useΣ t∩ reservσ logica∞ unit≤ fo≥ thσ exclusivσ usσ oµ thσ ì
requestinτ initiator¼ o≥ iµ i⌠ i≤ ß thirΣ-part∙ reservation¼ t∩ anothe≥ ì
specifieΣ SCS╔ device«
ááThi≤ commanΣ request≤ tha⌠ thσ entirσ logica∞ uni⌠ bσ reserveΣ fo≥ thσ ì
exclusivσ usσ oµ thσ initiato≥ unti∞ thσ reservatioε i≤ supersedeΣ b∙ anothe≥ ì
valiΣ RESERV┼ UNI╘ commanΣ froφ thσ initiato≥ tha⌠ madσ thσ reservatioε o≥ ì
unti∞ releaseΣ b∙ ß RELEAS┼ UNI╘ commanΣ froφ thσ samσ initiato≥ tha⌠ madσ thσ ì
reservation¼ b∙ ß BU╙ DEVIC┼ RESE╘ messagσ froφ an∙ initiator¼ b∙ ß harΣ rese⌠ ì
condition¼ o≥ b∙ ß powe≥ oε cycle« Thσ reservatioε shal∞ no⌠ bσ granteΣ iµ ì
thσ logica∞ uni⌠ i≤ reserveΣ b∙ anothe≥ initiator« I⌠ shal∞ bσ permissiblσ ì
fo≥ aε initiato≥ t∩ reservσ ß logica∞ uni⌠ tha⌠ i≤ currentl∙ reserveΣ b∙ tha⌠ ì
initiator.
.cp 2
ááIµ thσ logica∞ uni⌠ i≤ reserveΣ fo≥ anothe≥ initiator¼ thσ targe⌠ shal∞ ì
returε RESERVATIO╬ CONFLIC╘ status«
.cp 4èááIf¼ afte≥ honorinτ thσ reservation¼ an∙ othe≥ initiato≥ attempt≤ t∩ perforφ ì
an∙ commanΣ oε thσ reserveΣ logica∞ uni⌠ othe≥ thaε aε INQUIRY¼ REQUES╘ SENSE¼ ì
ALLO╫ MEDIU═ REMOVAL¼ RESERVE¼ o≥ ß RELEAS┼ UNI╘ command¼ thσ commanΣ shal∞ bσ ì
rejecteΣ witΦ RESERVATIO╬ CONFLIC╘ status«
.aw off
.pm 0
.cp 10
9.2.10.1. ThirΣ-Part∙ Reservatioε
.pm 3
.aw on
ááThirΣ-part∙ reservatioε allow≤ aε initiato≥ t∩ reservσ ß logica∞ uni⌠ fo≥ ì
anothe≥ SCS╔ device« Thi≤ i≤ intendeΣ fo≥ usσ iε multiplσ-initiato≥ system≤ ì
tha⌠ usσ thσ COP┘ command«
ááIµ thσ thirΣ-part∙ (3rdPty⌐ bi⌠ i≤ zero¼ ß thirΣ-part∙ reservatioε i≤ no⌠ ì
requested« Iµ thσ 3rdPt∙ bi⌠ i≤ onσ thσ targe⌠ shal∞ reservσ thσ logica∞ uni⌠ ì
fo≥ thσ SCS╔ devicσ specifieΣ iε thσ thirΣ-part∙ devicσ I─ field« Thσ targe⌠ ì
shal∞ preservσ thσ reservatioε unti∞ i⌠ i≤ supersedeΣ b∙ anothe≥ valiΣ RESERV┼ ì
UNI╘ commanΣ froφ thσ initiato≥ tha⌠ madσ thσ reservatioε o≥ unti∞ i⌠ i≤ ì
releaseΣ b∙ thσ samσ initiator¼ b∙ ß BU╙ DEVIC┼ RESE╘ messagσ froφ an∙ ì
initiator¼ o≥ ß harΣ rese⌠ condition« Thσ targe⌠ shal∞ ignorσ an∙ attemp⌠ t∩ ì
releasσ thσ reservatioε madσ b∙ an∙ othe≥ initiator.
ááIµ independen⌠ set≤ oµ parameter≤ arσ implemented¼ ß thirΣ part∙ reservatioε ì
shal∞ causσ thσ targe⌠ t∩ transfe≥ thσ se⌠ oµ parameter≤ iε effec⌠ fo≥ thσ ì
initiato≥ oµ thσ RESERV┼ commanΣ t∩ thσ parameter≤ useΣ fo≥ command≤ froφ thσ ì
thirΣ part∙ device« An∙ subsequen⌠ commanΣ issueΣ b∙ thσ thirΣ-part∙ devicσ ì
i≤ executeΣ accordinτ t∩ thσ modσ parameter≤ iε effec⌠ fo≥ thσ initiato≥ tha⌠ ì
sen⌠ thσ RESERV┼ command.
ááIµ independen⌠ set≤ oµ parameter≤ arσ implemented¼ ß thirΣ part∙ reservatioε ì
shal∞ causσ thσ targe⌠ t∩ transfe≥ thσ se⌠ oµ parameter≤ iε effec⌠ fo≥ thσ ì
initiato≥ oµ thσ RESERV┼ commanΣ t∩ thσ parameter≤ useΣ fo≥ command≤ froφ thσ ì
thirΣ part∙ device« An∙ subsequen⌠ commanΣ issueΣ b∙ thσ thirΣ-part∙ devicσ ì
i≤ executeΣ accordinτ t∩ thσ modσ parameter≤ iε effec⌠ fo≥ thσ initiato≥ tha⌠ ì
sen⌠ thσ RESERV┼ command.
.lm 3
ááIMPLEMENTOR╙ NOTE║ Thi≤ transfe≥ oµ thσ modσ parameter≤ i≤ applicablσ t∩ ì
áátarge⌠ device≤ whicΦ storσ modσ informatioε independentl∙ fo≥ differen⌠ ì
ááinitiators« Thi≤ mechanisφ allow≤ aε initiato≥ t∩ se⌠ thσ modσ parameter≤ ì
ááoµ ß targe⌠ fo≥ thσ usσ oµ ß cop∙ maste≥ (i.e.¼ thσ thirΣ-part∙ device)« ì
ááThσ thirΣ-part∙ cop∙ maste≥ ma∙ subsequentl∙ issuσ ß MOD┼ SELEC╘ commanΣ t∩ ì
áámodif∙ thσ modσ parameters.
.lm 1
.cp 10
.aw off
.pm 0
9.2.10.2. Supersedinτ Reservation≤
.pm 3
.aw on
ááAε initiato≥ tha⌠ currentl∙ ha≤ ß logica∞ uni⌠ reserveΣ ma∙ modif∙ thσ ì
curren⌠ reservatioε b∙ issuinτ anothe≥ RESERV┼ UNI╘ commanΣ t∩ thσ samσ ì
logica∞ unit« Thσ supersedinτ reservatioε shal∞ releasσ thσ curren⌠ ì
reservatioε iµ thσ supersedinτ reservatioε reques⌠ i≤ granted« Thσ curren⌠ ì
reservatioε shal∞ no⌠ bσ modifieΣ iµ thσ supersedinτ reservatioε reques⌠ ì
canno⌠ bσ granted« Iµ thσ supersedinτ reservatioε canno⌠ bσ granteΣ becausσ ì
oµ conflict≤ witΦ ß previou≤ reservatioε (othe≥ thaε thσ curren⌠ reservation)¼ ì
theε thσ targe⌠ shal∞ returε RESERVATIO╬ CONFLIC╘ status«
.cp 4
.lm 3
ááIMPLEMENTOR╙ NOTE║ Supersedinτ reservation≤ allo≈ thσ SCS╔ devicσ I─ t∩ bσ ì
ááchangeΣ oε ß reservatioε usinτ thσ thirΣ-part∙ reservatioε option« Thi≤ ì
áácapabilit∙ i≤ necessar∙ fo≥ certaiε situation≤ wheε usinτ COMPARE¼ COPY¼ anΣ ì
ááCOP┘ AN─ VERIF┘ commands.è.lm 1
.cp 25
.aw off
.pm 0
9.2.11. REWIND Command
Table 9-14: REWIND Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (01h) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | ReserveΣ | Immed |
-----|-----------------------------------------------------------------------|
2 | Reserved |
-----|-----------------------------------------------------------------------|
3 | Reserved |
-----|-----------------------------------------------------------------------|
4 | Reserved |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 4
ááThσ REWIN─ commanΣ (Tablσ ╣-14⌐ cause≤ thσ targe⌠ t∩ positioε thσ logica∞ ì
uni⌠ t∩ thσ beginninτ-oµ-partitioε iε thσ curren⌠ partition« Prio≥ t∩ ì
performinτ thσ rewinΣ operation¼ thσ targe⌠ shal∞ ensurσ tha⌠ al∞ buffereΣ ì
data¼ filemarks¼ anΣ setmark≤ havσ beeε transferreΣ t∩ thσ medium.
.cp 7
ááAε immediatσ (Immed⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ returε ì
statu≤ unti∞ thσ rewinΣ operatioε ha≤ completed« Aε ImmeΣ bi⌠ oµ onσ ì
indicate≤ tha⌠ thσ targe⌠ shal∞ returε statu≤ a≤ sooε a≤ al∞ buffereΣ command≤ ì
havσ completeΣ executioε anΣ thσ commanΣ descripto≥ blocδ oµ thσ REWIN─ ì
commanΣ ha≤ beeε validated« Iµ CHEC╦ CONDITIO╬ statu≤ i≤ returneΣ fo≥ ß ì
REWIN─ commanΣ witΦ aε ImmeΣ bi⌠ oµ one¼ thσ rewinΣ operatioε shal∞ no⌠ bσ ì
performed.
.cp 5
.lm 3
ááIMPLEMENTOR╙ NOTE║ Fo≥ compatibilit∙ witΦ device≤ implementeΣ prio≥ t∩ thi≤ ì
áástandard¼ i⌠ i≤ suggesteΣ tha⌠ ß WRIT┼ FILEMARK╙ commanΣ witΦ aε ImmeΣ bi⌠ ì
ááoµ zer∩ bσ useΣ t∩ ensurσ tha⌠ al∞ buffereΣ data¼ filemarks¼ o≥ setmark≤ ì
ááhavσ beeε transferreΣ t∩ thσ mediuφ beforσ issuinτ ß REWIN─ commanΣ witΦ aε ì
ááImmeΣ bi⌠ oµ one.
.lm 1
.cp 4
ááWheε operatinτ iε buffereΣ modσ 1Φ o≥ 2Φ (seσ 9.3.3)¼ thσ targe⌠ shal∞ ì
discarΣ an∙ unwritteε buffereΣ datß afte≥ thσ REWIN─ commanΣ i≤ validateΣ iµ ì
thσ previou≤ commanΣ wa≤ terminateΣ witΦ CHEC╦ CONDITIO╬ statu≤ anΣ thσ devicσ ì
i≤ unablσ t∩ continuσ successfull∙ writing«
.cp 25è.aw off
.pm 0
9.2.12. SPACE Command
Table 9-15: SPACE Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation (11h) |
-----|-----------------------------------------------------------------------|
▒ ⁿ Logica∞ Uni⌠ Numbe≥ | ReserveΣ ⁿ Codσ |
-----|-----------------------------------------------------------------------|
2 | (MSB) |
-----|--- ---|
3 | Count |
-----|--- ---|
4 | (LSB) |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 6
ááThσ SPAC┼ commanΣ (Tablσ ╣-15⌐ provide≤ ß variet∙ oµ positioninτ function≤ ì
tha⌠ arσ determineΣ b∙ thσ codσ anΣ count« BotΦ forwarΣ anΣ reversσ ì
positioninτ arσ provided¼ althougΦ somσ target≤ ma∙ onl∙ suppor⌠ ß subse⌠ oµ ì
thi≤ command« Iµ aε initiato≥ request≤ aε unsupporteΣ function¼ thσ commanΣ ì
shal∞ bσ terminateΣ witΦ CHEC╦ CONDITIO╬ statu≤ anΣ thσ sensσ ke∙ shal∞ bσ se⌠ ì
t∩ ILLEGA╠ REQUEST.
.cp 11
ááThσ codσ i≤ defineΣ a≤ follows:
.pm 0
.aw off
Code Description Support
--------- -------------------- ---------
000b Blocks Mandatory
001b Filemarks Mandatory
010b Sequential Filemarks Optional
011b ┼nd-of-Data Optional
100b Setmark≤ Optional
101b Sequentia∞ Setmark≤ Optional
110b-111b Reserved
.aw on
.pm 3
.cp 10
ááWheε spacinτ ove≥ blocks¼ filemarks¼ o≥ setmarks¼ thσ coun⌠ fielΣ specifie≤ ì
thσ numbe≥ oµ blocks¼ filemarks¼ o≥ setmark≤ t∩ bσ spaceΣ ove≥ iε thσ curren⌠ ì
partition« ┴ positivσ valuσ ╬ iε thσ coun⌠ fielΣ shal∞ causσ forwarΣ ì
positioninτ (towarΣ enΣ-oµ-partition⌐ ove≥ ╬ blocks¼ filemarks¼ o≥ setmark≤ ì
endinτ oε thσ enΣ-oµ-partitioε sidσ oµ thσ las⌠ block¼ filemark¼ o≥ setmark« ì
┴ zer∩ valuσ iε thσ coun⌠ fielΣ shal∞ causσ n∩ changσ oµ logica∞ position« ┴ ì
negativσ valuσ -╬ (two'≤ complemen⌠ notation⌐ iε thσ coun⌠ fielΣ shal∞ causσ ì
reversσ positioninτ (towarΣ beginninτ-oµ-partition⌐ ove≥ ╬ blocks¼ filemarks¼ ì
o≥ setmark≤ endinτ oε thσ beginninτ-oµ-partitioε sidσ oµ thσ las⌠ block¼ ì
filemark¼ o≥ setmark« Suppor⌠ oµ spacinτ iε thσ reversσ directioε i≤ ì
optional«
.cp 9èááIµ ß filemarδ i≤ encountereΣ whilσ spacinτ ove≥ blocks¼ thσ commanΣ shal∞ bσ ì
terminated« Thσ logica∞ positioε shal∞ bσ oε thσ enΣ-oµ-partitioε sidσ oµ thσ ì
filemarδ iµ movemen⌠ wa≤ iε thσ forwarΣ directioε anΣ oε thσ beginninτ-oµ-ì
partitioε sidσ oµ thσ filemarδ iµ movemen⌠ wa≤ iε thσ reversσ direction« ì
CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returneΣ t∩ thσ initiator¼ thσ sensσ ke∙ shal∞ ì
bσ se⌠ t∩ N╧ SENSE¼ anΣ thσ filemarδ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ ì
sensσ data« Thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ coun⌠ minu≤ ì
thσ actua∞ numbe≥ oµ block≤ spaceΣ ove≥ (no⌠ includinτ thσ filemark).
.cp 13
ááIµ ß setmarδ i≤ encountereΣ whilσ spacinτ ove≥ block≤ o≥ filemark≤ anΣ thσ ì
RSmδ bi⌠ i≤ se⌠ t∩ onσ iε thσ devicσ configuratioε pagσ (9.3.3.1)¼ thσ commanΣ ì
shal∞ bσ terminated¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returneΣ t∩ thσ ì
initiator¼ anΣ thσ filemarδ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ ì
data« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ anΣ thσ additiona∞ sensσ codσ ì
shal∞ bσ se⌠ t∩ SETMAR╦ DETECTED« Thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ ì
requesteΣ coun⌠ minu≤ thσ actua∞ numbe≥ oµ block≤ o≥ filemark≤ spaceΣ ove≥ ì
(no⌠ includinτ thσ setmark)« Thσ logica∞ positioε shal∞ bσ oε thσ enΣ-oµ-ì
partitioε sidσ oµ thσ setmarδ iµ movemen⌠ wa≤ iε thσ forwarΣ directioε anΣ oε ì
thσ beginninτ-oµ-partitioε sidσ oµ thσ setmarδ iµ movemen⌠ wa≤ iε thσ reversσ ì
direction« Thσ targe⌠ shal∞ no⌠ returε CHEC╦ CONDITIO╬ statu≤ wheε ß setmarδ ì
i≤ encountereΣ iµ thσ RSmδ bi⌠ i≤ se⌠ t∩ zer∩ o≥ iµ thi≤ optioε i≤ no⌠ ì
supported.
.cp 9
ááIµ earl∙-warninτ i≤ encountereΣ whilσ spacinτ ove≥ blocks¼ filemarks¼ o≥ ì
setmark≤ anΣ thσ RE╫ bi⌠ i≤ se⌠ t∩ onσ iε thσ devicσ configuratioε pagσ ì
(9.3.3.1)¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ ì
se⌠ t∩ N╧ SENSE¼ anΣ thσ EO═ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ ì
data« Thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ coun⌠ minu≤ thσ ì
actua∞ numbe≥ oµ blocks¼ filemarks¼ o≥ setmark≤ spaceΣ ove≥ a≤ defineΣ b∙ thσ ì
codσ value« Iµ thσ RE╫ bi⌠ i≤ zer∩ o≥ thσ optioε i≤ no⌠ supporteΣ b∙ thσ ì
target¼ thσ targe⌠ shal∞ no⌠ repor⌠ CHEC╦ CONDITIO╬ statu≤ a⌠ thσ earl∙-ì
warninτ point.
.cp 2
.lm 3
ááIMPLEMENTOR╙ NOTE║ Settinτ thσ RE╫ bi⌠ i≤ no⌠ recommendeΣ fo≥ mos⌠ systeφ ì
ááapplication≤ sincσ datß ma∙ bσ presen⌠ afte≥ earl∙-warning.
.lm 1
.cp 7
ááIµ enΣ-oµ-datß i≤ encountereΣ whilσ spacinτ ove≥ blocks¼ filemarks¼ o≥ ì
setmarks¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ ì
t∩ BLAN╦ CHECK¼ anΣ thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ data« ì
Additionally¼ thσ EO═ bi⌠ shal∞ bσ se⌠ t∩ onσ iµ enΣ-oµ-datß i≤ encountereΣ a⌠ ì
o≥ afte≥ earl∙-warning« Thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ ì
coun⌠ minu≤ thσ actua∞ numbe≥ oµ blocks¼ filemarks¼ o≥ setmark≤ spaceΣ ove≥ a≤ ì
defineΣ b∙ thσ codσ value.
.cp 5
ááIµ thσ enΣ-oµ-partitioε i≤ encountereΣ whilσ spacinτ forwarΣ ove≥ blocks¼ ì
filemarks¼ o≥ setmarks¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ì
ke∙ shal∞ bσ se⌠ t∩ MEDIU═ ERROR¼ thσ EO═ bi⌠ shal∞ bσ se⌠ t∩ one¼ anΣ thσ ì
valiΣ bi⌠ shal∞ bσ se⌠ t∩ one« Thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ ì
requesteΣ coun⌠ minu≤ thσ actua∞ numbe≥ oµ blocks¼ filemarks¼ o≥ setmark≤ ì
spaceΣ ove≥ a≤ defineΣ b∙ thσ codσ value.
.cp 6èááIµ beginninτ-oµ-partitioε i≤ encountereΣ whilσ spacinτ ove≥ blocks¼ ì
filemarks¼ o≥ setmark≤ iε thσ reversσ direction¼ thσ targe⌠ shal∞ returε CHEC╦ ì
CONDITIO╬ statu≤ anΣ shal∞ se⌠ thσ sensσ ke∙ t∩ N╧ SENSE« Thσ EO═ anΣ valiΣ ì
bit≤ shal∞ bσ se⌠ t∩ one¼ anΣ thσ informatioε fielΣ se⌠ t∩ thσ tota∞ numbe≥ oµ ì
blocks¼ filemarks¼ o≥ setmark≤ no⌠ spaceΣ ove≥ (thσ requesteΣ numbe≥ oµ ì
blocks¼ filemarks¼ o≥ setmark≤ minu≤ thσ actua∞ numbe≥ oµ blocks¼ filemarks¼ ì
o≥ setmark≤ spaceΣ over).
.cp 11
ááWheε spacinτ ove≥ sequentia∞ filemark≤ (o≥ setmarks)¼ thσ coun⌠ fielΣ i≤ ì
interpreteΣ a≤ follows:
.lm 3
áá(1⌐ ┴ positivσ valuσ ╬ shal∞ causσ forwarΣ movemen⌠ t∩ thσ firs⌠ occurrencσ ì
ááoµ ╬ o≥ morσ consecutivσ filemark≤ (o≥ setmarks⌐ beinτ logicall∙ positioneΣ ì
ááafte≥ thσ Nthö filemarδ (o≥ setmark).
áá(2⌐ ┴ zer∩ valuσ shal∞ causσ n∩ changσ iε thσ logica∞ position.
áá(3⌐ ┴ negativσ valuσ -╬ (2'≤ complemen⌠ notation⌐ shal∞ causσ reversσ ì
áámovemen⌠ t∩ thσ firs⌠ occurrencσ oµ ╬ o≥ morσ consecutivσ filemark≤ (o≥ ì
áásetmarks⌐ beinτ logicall∙ positioneΣ oε thσ beginninτ-oµ-partitioε sidσ oµ ì
ááthσ Nthö filemarδ (o≥ setmark).
.lm 1
.cp 7
ááIµ ß setmarδ i≤ encountereΣ whilσ spacinτ t∩ sequentia∞ filemark≤ anΣ thσ ì
RSmδ bi⌠ i≤ se⌠ t∩ onσ iε thσ devicσ configuratioε pagσ (9.3.3.1)¼ CHEC╦ ì
CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ filemarδ bi⌠ shal∞ bσ se⌠ t∩ one¼ anΣ ì
thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ zero« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ ì
anΣ thσ additiona∞ sensσ codσ shal∞ bσ se⌠ t∩ SETMAR╦ DETECTED« Thσ targe⌠ ì
shal∞ no⌠ returε CHEC╦ CONDITIO╬ statu≤ wheε ß setmarδ i≤ encountereΣ iµ thσ ì
RSmδ bi⌠ i≤ se⌠ t∩ zer∩ o≥ iµ thi≤ optioε i≤ no⌠ supported.
.cp 4
ááIµ enΣ-oµ-partitioε i≤ encountereΣ whilσ spacinτ t∩ sequentia∞ filemark≤ o≥ ì
setmarks¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ ì
t∩ MEDIU═ ERROR¼ thσ EO═ bi⌠ shal∞ bσ se⌠ t∩ one¼ anΣ thσ valiΣ bi⌠ shal∞ bσ ì
se⌠ t∩ zero.
.cp 4
ááIµ enΣ-oµ-datß i≤ encountereΣ whilσ spacinτ t∩ sequentia∞ filemark≤ o≥ ì
setmarks¼ CHEC╦ CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ ì
t∩ BLAN╦ CHECK¼ anΣ thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ zero« Additionally¼ thσ EO═ ì
bi⌠ shal∞ bσ se⌠ t∩ onσ iµ enΣ-oµ-datß i≤ encountereΣ a⌠ o≥ afte≥ earl∙-ì
warning.
.cp 3
ááWheε spacinτ t∩ enΣ-oµ-data¼ thσ coun⌠ fielΣ i≤ ignored« Upoε successfu∞ ì
completion¼ thσ mediuφ shal∞ bσ positioneΣ sucΦ tha⌠ ß subsequen⌠ writσ ì
operatioε woulΣ appenΣ t∩ thσ las⌠ logicall∙ recordeΣ information.
.cp 3
ááIµ enΣ-oµ-partitioε i≤ encountereΣ whilσ spacinτ t∩ enΣ-oµ-data¼ CHEC╦ ì
CONDITIO╬ statu≤ shal∞ bσ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ MEDIU═ ì
ERROR¼ thσ EO═ bi⌠ shal∞ bσ se⌠ t∩ one¼ anΣ thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ ì
zero.
.cp 25è.aw off
.pm 0
9.2.13. VERIFY Command
Table 9-16: VERIFY Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (13h) |
-----|-----------------------------------------------------------------------|
1 ⁿ Logica∞ Uni⌠ Numbe≥ ⁿ ReserveΣ ⁿ ImmeΣ ⁿ BytCm≡ ⁿ FixeΣ |
-----|-----------------------------------------------------------------------|
2 | (MSB) |
-----|--- ---|
3 | Verification Length |
-----|--- ---|
4 | (LSB) |
-----|-----------------------------------------------------------------------|
5 ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 2
ááThσ VERIF┘ commanΣ (Tablσ ╣-16⌐ request≤ tha⌠ thσ targe⌠ verif∙ onσ o≥ morσ ì
block(s⌐ beginninτ witΦ thσ nex⌠ blocδ oε thσ logica∞ unit.
.cp 5
ááAε immediatσ (Immed⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ commanΣ shal∞ no⌠ returε ì
statu≤ unti∞ thσ verif∙ operatioε ha≤ completed« Aε ImmeΣ bi⌠ oµ onσ ì
indicate≤ tha⌠ statu≤ shal∞ bσ returneΣ a≤ sooε a≤ thσ commanΣ descripto≥ ì
blocδ ha≤ beeε validateΣ (bu⌠ afte≥ thσ datß transfe≥ froφ thσ initiator¼ iµ ì
thσ BytCm≡ bi⌠ i≤ one)«
.cp 3
.lm 3
ááIMPLEMENTOR╙ NOTE║ Iε orde≥ t∩ ensurσ tha⌠ n∩ error≤ arσ lost¼ thσ initiato≥ ì
ááshoulΣ se⌠ thσ ImmeΣ bi⌠ t∩ zer∩ oε thσ las⌠ VERIF┘ commanΣ wheε issuinτ ß ì
ááserie≤ oµ VERIF┘ commands.
.lm 1
.cp 3
áá┴ bytσ comparσ (BytCmp⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ verificatioε shal∞ bσ ì
simpl∙ ß mediuφ verificatioε (e.g.¼ CRC¼ ECC)« N∩ datß shal∞ bσ transferreΣ ì
betweeε thσ initiato≥ anΣ target.
.cp 7
áá┴ BytCm≡ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ perforφ ß bytσ-b∙-bytσ ì
comparσ oµ thσ datß oε thσ mediuφ anΣ thσ datß transferreΣ froφ thσ initiato≥ ì
durinτ thσ DAT┴ OU╘ phasσ oµ thσ VERIF┘ command« Datß shal∞ bσ transferreΣ ì
froφ thσ initiato≥ t∩ thσ targe⌠ a≤ iε ß WRIT┼ command« Iµ thσ BytCm≡ bi⌠ i≤ ì
onσ anΣ thσ bytσ comparσ optioε i≤ no⌠ supported¼ thσ targe⌠ shal∞ terminatσ ì
thσ commanΣ witΦ CHEC╦ CONDITIO╬ statu≤ anΣ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ ì
ILLEGA╠ REQUEST.
.cp 6
ááThσ verificatioε lengtΦ specifie≤ thσ amoun⌠ oµ datß t∩ verify¼ iε block≤ o≥ ì
bytes¼ a≤ indicateΣ b∙ thσ fixeΣ bit« Refe≥ t∩ thσ REA─ commanΣ (9.2.4⌐ fo≥ ß ì
descriptioε oµ thσ fixeΣ bi⌠ anΣ an∙ associateΣ erro≥ conditions« Wheε thσ ì
verificatioε lengtΦ i≤ zero¼ n∩ datß shal∞ bσ verifieΣ anΣ thσ curren⌠ logica∞ ì
positioε shal∞ no⌠ bσ changed« Thi≤ conditioε shal∞ no⌠ bσ considereΣ a≤ aε ì
error.
.cp 10èááThσ VERIF┘ commanΣ shal∞ terminatσ wheε thσ verificatioε lengtΦ ha≤ beeε ì
satisfied¼ wheε aε incorrec⌠ lengtΦ blocδ i≤ encountered¼ wheε ß filemarδ i≤ ì
encountered¼ wheε ß setmarδ i≤ encountereΣ (iµ thσ RSmδ bi⌠ i≤ onσ iε thσ ì
devicσ configuratioε page¼ 9.3.3.1)¼ wheε enΣ-oµ-datß i≤ encountered¼ wheε thσ ì
enΣ-oµ-partitioε i≤ encountered¼ wheε earl∙-warninτ i≤ encountereΣ (iµ thσ RE╫ ì
bi⌠ i≤ onσ iε thσ devicσ configuratioε page¼ 9.3.3.1)¼ o≥ wheε aε ì
unrecoverablσ reaΣ erro≥ i≤ encountered« Thσ statu≤ anΣ sensσ datß fo≥ eacΦ ì
oµ thesσ condition≤ arσ handleΣ iε thσ samσ manne≥ a≤ iε thσ REA─ commanΣ ì
(9.2.4)« Upoε successfu∞ completioε oµ ß VERIF┘ command¼ thσ logica∞ positioε ì
shal∞ bσ afte≥ thσ las⌠ blocδ verified.
.cp 11
ááIµ thσ datß doe≤ no⌠ comparσ (BytCm≡ bi⌠ oµ one)¼ thσ commanΣ shal∞ ì
terminatσ witΦ CHEC╦ CONDITIO╬ status¼ thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ one¼ anΣ ì
thσ sensσ ke∙ shal∞ bσ se⌠ t∩ MISCOMPARE« Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ verificatioε lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ block≤ successfull∙ verified« Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ verificatioε lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ byte≤ successfull∙ verified« Thi≤ numbe≥ ma∙ bσ large≥ thaε ì
thσ requesteΣ verificatioε lengtΦ iµ thσ erro≥ occurreΣ oε ß previou≤ VERIF┘ ì
commanΣ witΦ aε ImmeΣ bi⌠ oµ one« Upoε termination¼ thσ mediuφ shal∞ bσ ì
positioneΣ afte≥ thσ blocδ containinτ thσ miscomparσ (enΣ-oµ-partitioε side).
.cp 26
.aw off
.pm 0
9.2.14. WRITE Command
Table 9-17: WRITE Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (0Ah) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | Reserved | Fixed |
-----|-----------------------------------------------------------------------|
2 | (MSB) |
-----|--- ---|
3 | Transfer Length |
-----|--- ---|
4 | (LSB) |
-----|-----------------------------------------------------------------------|
╡ ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 2
ááThσ WRIT┼ commanΣ (Tablσ ╣-17⌐ request≤ tha⌠ thσ targe⌠ writσ thσ datß tha⌠ ì
i≤ transferreΣ froφ thσ initiato≥ t∩ thσ curren⌠ positioε oε thσ logica∞ unit«
.cp 3
ááThσ fixeΣ bi⌠ specifie≤ whethe≥ fixeΣ-lengtΦ o≥ variablσ-lengtΦ block≤ arσ ì
t∩ bσ transferred« Seσ thσ REA─ BLOC╦ LIMIT╙ commanΣ (9.2.5⌐ fo≥ additiona∞ ì
informatioε abou⌠ fixeΣ anΣ variablσ blocδ mode.
.cp 4èááIµ thσ fixeΣ bi⌠ i≤ one¼ thσ transfe≥ lengtΦ specifie≤ thσ numbe≥ oµ fixeΣ-ì
lengtΦ block≤ t∩ bσ transferred¼ usinτ thσ curren⌠ blocδ lengtΦ reporteΣ iε ì
thσ modσ paramete≥ blocδ descripto≥ (7.3.3)« Iµ thσ fixeΣ bi⌠ i≤ zero¼ ß ì
singlσ blocδ i≤ transferreΣ witΦ thσ transfe≥ lengtΦ specifyinτ thσ blocδ ì
lengtΦ iε bytes.
.cp 3
ááIµ thσ transfe≥ lengtΦ i≤ zero¼ n∩ datß shal∞ bσ transferreΣ anΣ thσ curren⌠ ì
positioε oε thσ logica∞ uni⌠ shal∞ no⌠ bσ changed« Thi≤ conditioε shal∞ no⌠ ì
bσ considereΣ aε error.
.cp 6
áá┴ WRIT┼ commanΣ ma∙ bσ buffereΣ o≥ unbuffered¼ a≤ indicateΣ b∙ thσ buffereΣ ì
modσ fielΣ oµ thσ modσ paramete≥ heade≥ (9.3.3)« Fo≥ unbuffereΣ operatioε ì
(buffereΣ modσ 0h)¼ thσ targe⌠ shal∞ no⌠ returε GOO─ statu≤ unti∞ al∞ datß ì
block(s⌐ arσ successfull∙ writteε t∩ thσ medium« Fo≥ buffereΣ operatioε ì
(buffereΣ modσ 1Φ o≥ 2h)¼ thσ targe⌠ ma∙ returε GOO─ statu≤ a≤ sooε a≤ al∞ ì
datß block(s⌐ arσ successfull∙ transferreΣ t∩ thσ target'≤ buffer.
.cp4
.lm3
ááIMPLEMENTOR╙ NOTE║ Fo≥ compatibilit∙ witΦ device≤ implementeΣ prio≥ t∩ thi≤ ì
ááversioε oµ thσ standard¼ ß WRIT┼ FILEMARK╙ commanΣ witΦ thσ ImmeΣ bi⌠ se⌠ t∩ ì
áázer∩ shoulΣ bσ issueΣ wheε completinτ ß buffereΣ writσ operatioε t∩ ensurσ ì
áátha⌠ al∞ buffereΣ data¼ filemarks¼ anΣ setmark≤ arσ writteε t∩ thσ medium.
.lm1
.cp 9
ááIµ thσ logica∞ uni⌠ encounter≤ earl∙-warninτ durinτ ß WRIT┼ command¼ aε ì
attemp⌠ t∩ finisΦ writinτ an∙ datß ma∙ bσ made¼ a≤ determineΣ b∙ thσ curren⌠ ì
setting≤ oµ thσ RE╫ anΣ SE╫ bit≤ iε thσ devicσ configuratioε pagσ (9.3.3.1)« ì
Thσ commanΣ shal∞ terminatσ witΦ CHEC╦ CONDITIO╬ statu≤ anΣ thσ EO═ anΣ valiΣ ì
bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ data« Iµ al∞ datß tha⌠ i≤ t∩ bσ writteε ì
i≤ successfull∙ transferreΣ t∩ thσ medium¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ ì
SENS┼ o≥ RECOVERE─ ERROR¼ a≤ appropriate« Iµ an∙ datß tha⌠ i≤ t∩ bσ writteε ì
canno⌠ bσ transferreΣ t∩ thσ mediuφ wheε earl∙-warninτ i≤ encountered¼ thσ ì
sensσ ke∙ shal∞ bσ se⌠ t∩ VOLUM┼ OVERFLOW.
ááThσ informatioε fielΣ shal∞ bσ defineΣ a≤ follows:
.cp 4
áá(1⌐ Iµ unbuffereΣ modσ i≤ reporteΣ iε thσ modσ paramete≥ heade≥ anΣ thσ ì
fixeΣ bi⌠ i≤ se⌠ t∩ one¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ ì
transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ block≤ written.
.cp 2
áá(2⌐ Iµ unbuffereΣ modσ i≤ reporteΣ anΣ thσ fixeΣ bi⌠ i≤ se⌠ t∩ zero¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ length.
.cp 6
áá(3⌐ Iµ buffereΣ modσ i≤ reporteΣ iε thσ modσ paramete≥ heade≥ anΣ thσ fixeΣ ì
bi⌠ i≤ se⌠ t∩ one¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ tota∞ numbe≥ oµ ì
blocks¼ filemarks¼ anΣ setmark≤ no⌠ writteε (thσ numbe≥ oµ block≤ no⌠ ì
transferreΣ froφ thσ initiato≥ plu≤ thσ numbe≥ oµ blocks¼ filemarks¼ anΣ ì
setmark≤ remaininτ iε thσ target'≤ buffer)« Notσ tha⌠ thσ valuσ iε thσ ì
informatioε fielΣ ma∙ exceeΣ thσ transfe≥ length.
.cp 6
áá(4⌐ Iµ buffereΣ modσ i≤ reporteΣ anΣ thσ fixeΣ bi⌠ i≤ se⌠ t∩ zero¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ tota∞ numbe≥ oµ bytes¼ filemarks¼ anΣ ì
setmark≤ no⌠ writteε (thσ numbe≥ oµ byte≤ no⌠ transferreΣ froφ thσ initiato≥ ì
plu≤ thσ numbe≥ oµ bytes¼ filemarks¼ anΣ setmark≤ remaininτ iε thσ target'≤ ì
buffer)« Notσ tha⌠ thσ valuσ iε thσ informatioε fielΣ ma∙ exceeΣ thσ transfe≥ ì
length.
.cp 3
.lm 3
ááIMPLEMENTOR╙ NOTE║ Thσ targe⌠ shoulΣ ensurσ tha⌠ somσ additiona∞ datß caε ì
áábσ writteε t∩ thσ mediuφ (e.g.¼ labels¼ filemarks¼ o≥ setmarks⌐ afte≥ thσ ì
ááfirs⌠ earl∙-warninτ indicatioε ha≤ beeε returneΣ t∩ thσ initiator.
.lm 1
è.cp 8
ááIµ ß WRIT┼ commanΣ i≤ receiveΣ whilσ thσ logica∞ uni⌠ i≤ positioneΣ betweeε ì
earl∙-warninτ anΣ enΣ-oµ-partition¼ thσ targe⌠ shal∞ returε CHEC╦ CONDITIO╬ ì
statu≤ afte≥ attemptinτ t∩ perforφ thσ command« Thσ EO═ anΣ valiΣ bit≤ shal∞ ì
bσ se⌠ t∩ onσ iε thσ sensσ data« Iµ al∞ datß tha⌠ i≤ t∩ bσ writteε i≤ ì
successfull∙ transferreΣ t∩ thσ medium¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ ì
zero« Iµ an∙ datß tha⌠ i≤ t∩ bσ writteε i≤ no⌠ transferreΣ t∩ thσ mediuφ ì
prio≥ t∩ encounterinτ enΣ-oµ-partition¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ VOLUM┼ ì
OVERFLO╫ anΣ thσ informatioε fielΣ shal∞ bσ defineΣ a≤ follows:
.cp5
áá(1⌐ Iµ thσ fixeΣ bi⌠ i≤ one¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ ì
requesteΣ transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ block≤ writteε t∩ thσ ì
medium.
áá(2⌐ Iµ thσ fixeΣ bi⌠ i≤ zero¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ ì
requesteΣ transfe≥ length.
.lm 1
.lm3
ááIMPLEMENTOR╙ NOTE║ Iε somσ system≤ i⌠ i≤ importan⌠ t∩ recognizσ aε erro≥ iµ ì
ááenΣ-oµ-partitioε i≤ encountereΣ durinτ executioε oµ ß WRIT┼ command¼ withou⌠ ì
ááregarΣ fo≥ whethe≥ al∞ datß tha⌠ i≤ t∩ bσ writteε i≤ successfull∙ ì
áátransferreΣ t∩ thσ medium« B∙ it≤ definition¼ thσ VOLUM┼ OVERFLO╫ sensσ ke∙ ì
ááma∙ alway≤ validl∙ bσ returneΣ iµ enΣ-oµ-partitioε i≤ encountereΣ whilσ ì
ááwriting¼ anΣ sucΦ usagσ i≤ recommended« Reportinτ thσ MEDIU═ ERRO╥ sensσ ì
áákey¼ a≤ wa≤ donσ iε somσ SCS╔-▒ implementations¼ ma∙ causσ confusioε a≤ t∩ ì
ááwhethe≥ therσ wa≤ reall∙ defectivσ mediuφ encountereΣ durinτ executioε oµ ì
ááthσ las⌠ writσ command.
.lm1
.cp 25
.aw off
.pm 0
9.2.15. WRITE FILEMARKS Command
Table 9-18: WRITE FILEMARKS Command
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 | Operation Code (10h) |
-----|-----------------------------------------------------------------------|
1 | Logical Unit Number | ReserveΣ | WSmk | Immed |
-----|-----------------------------------------------------------------------|
2 | (MSB) |
-----|--- ---|
3 | Transfe≥ LengtΦ |
-----|--- ---|
4 | (LSB) |
-----|-----------------------------------------------------------------------|
5 ⁿ Control |
==============================================================================
.aw on
.pm 3
.cp 3
ááThσ WRIT┼ FILEMARK╙ commanΣ (Tablσ ╣-18⌐ request≤ tha⌠ thσ targe⌠ writσ thσ ì
specifieΣ numbe≥ oµ filemark≤ o≥ setmark≤ t∩ thσ curren⌠ positioε oε thσ ì
logica∞ unit.
.cp 3
ááIµ thσ Writσ Setmarδ (WSmk⌐ bi⌠ i≤ one¼ thσ transfe≥ lengtΦ specifie≤ thσ ì
numbe≥ oµ setmark≤ t∩ bσ written« Iµ thσ WSmδ bi⌠ i≤ zero¼ thσ transfe≥ ì
lengtΦ specifie≤ thσ numbe≥ oµ filemark≤ t∩ bσ written.
.cp 5èááAε immediatσ (Immed⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ returε ì
statu≤ a≤ sooε a≤ thσ commanΣ descripto≥ blocδ ha≤ beeε validated« Aε ImmeΣ ì
bi⌠ oµ onσ i≤ onl∙ valiΣ iµ buffereΣ modσ i≤ reporteΣ iε thσ modσ paramete≥ ì
heade≥ (9.3.3).
.cp 3
ááAε ImmeΣ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ returε statu≤ unti∞ ì
thσ writσ operatioε ha≤ completed« An∙ buffereΣ data¼ filemarks¼ anΣ setmark≤ ì
shal∞ bσ writteε t∩ thσ mediuφ prio≥ t∩ completinτ thσ command.
.cp 4
.lm3
ááIMPLEMENTOR╙ NOTE║ Upoε completioε oµ an∙ buffereΣ writσ operation¼ thσ ì
ááinitiato≥ caε issuσ ß WRIT┼ FILEMARK╙ commanΣ witΦ thσ ImmeΣ bi⌠ se⌠ t∩ zer∩ ì
ááanΣ thσ transfe≥ lengtΦ fielΣ se⌠ t∩ zer∩ t∩ ensurσ tha⌠ al∞ buffereΣ data¼ ì
ááfilemarks¼ anΣ setmark≤ arσ successfull∙ writteε t∩ thσ medium.
.lm1
.cp 10
ááIµ thσ logica∞ uni⌠ encounter≤ earl∙-warninτ durinτ ß WRIT┼ FILEMARK╙ ì
command¼ aε attemp⌠ t∩ finisΦ writinτ an∙ buffereΣ data¼ filemarks¼ o≥ ì
setmark≤ ma∙ bσ made¼ a≤ determineΣ b∙ thσ curren⌠ setting≤ oµ thσ RE╫ anΣ SE╫ ì
bit≤ iε thσ devicσ configuratioε pagσ (9.3.3.1)« Thσ commanΣ shal∞ terminatσ ì
witΦ CHEC╦ CONDITIO╬ statu≤ anΣ thσ EO═ anΣ valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε ì
thσ sensσ data« Iµ al∞ buffereΣ data¼ filemarks¼ anΣ setmark≤ arσ ì
successfull∙ transferreΣ t∩ thσ medium¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ ì
o≥ RECOVERE─ ERROR¼ a≤ appropriate« Iµ an∙ buffereΣ data¼ filemarks¼ o≥ ì
setmark≤ t∩ bσ writteε arσ no⌠ transferreΣ t∩ thσ mediuφ wheε earl∙-warninτ i≤ ì
encountered¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ VOLUM┼ OVERFLOW.
ááThσ informatioε fielΣ shal∞ bσ defineΣ a≤ follows:
.cp 3
áá(1⌐ Iµ unbuffereΣ modσ i≤ reporteΣ iε thσ modσ paramete≥ header¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ ì
actua∞ numbe≥ oµ filemark≤ o≥ setmark≤ written.
.cp 7
áá(2⌐ Iµ buffereΣ modσ i≤ reporteΣ iε thσ modσ paramete≥ heade≥ anΣ thσ ì
buffereΣ datß wa≤ writteε iε variablσ blocδ modσ (seσ 9.2.14)¼ thσ informatioε ì
fielΣ shal∞ bσ se⌠ t∩ thσ tota∞ numbe≥ oµ bytes¼ filemarks¼ anΣ setmark≤ no⌠ ì
writteε (thσ numbe≥ oµ filemark≤ o≥ setmark≤ no⌠ transferreΣ froφ thσ ì
initiato≥ plu≤ thσ numbe≥ oµ bytes¼ filemark≤ anΣ setmark≤ remaininτ iε thσ ì
target'≤ buffer)« Notσ tha⌠ i⌠ i≤ possiblσ fo≥ thσ valuσ iε thσ informatioε ì
fielΣ t∩ exceeΣ thσ transfe≥ length.
.cp 6
áá(3⌐ Iµ buffereΣ modσ i≤ reporteΣ anΣ thσ buffereΣ datß wa≤ writteε iε fixeΣ ì
blocδ modσ (seσ 9.2.14)¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ tota∞ ì
numbe≥ oµ blocks¼ filemarks¼ anΣ setmark≤ no⌠ writteε (thσ numbe≥ filemark≤ o≥ ì
setmark≤ no⌠ transferreΣ froφ thσ initiato≥ plu≤ thσ numbe≥ oµ blocks¼ ì
filemarks¼ anΣ setmark≤ remaininτ iε thσ target'≤ buffer)« Notσ tha⌠ i⌠ i≤ ì
possiblσ fo≥ thσ valuσ iε thσ informatioε fielΣ t∩ exceeΣ thσ transfe≥ length.
.cp 3
.lm 3
ááIMPLEMENTOR╙ NOTE║ Thσ targe⌠ shoulΣ ensurσ tha⌠ somσ additiona∞ datß caε ì
áábσ writteε t∩ thσ mediuφ (e.g.¼ labels¼ filemarks¼ o≥ setmarks⌐ afte≥ thσ ì
ááfirs⌠ earl∙-warninτ indicatioε ha≤ beeε returneΣ t∩ thσ initiator.
.lm 1
.cp 10èááIµ ß WRIT┼ FILEMARK╙ commanΣ i≤ receiveΣ whilσ thσ logica∞ uni⌠ i≤ ì
positioneΣ betweeε earl∙-warninτ anΣ enΣ-oµ-partition¼ thσ targe⌠ shal∞ returε ì
CHEC╦ CONDITIO╬ statu≤ afte≥ attemptinτ t∩ perforφ thσ command« Thσ EO═ anΣ ì
valiΣ bit≤ shal∞ bσ se⌠ t∩ onσ iε thσ sensσ data« Iµ al∞ filemark≤ o≥ ì
setmark≤ t∩ bσ writteε arσ successfull∙ transferreΣ t∩ thσ medium¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ t∩ zero« Iµ an∙ filemark≤ o≥ setmark≤ t∩ bσ ì
writteε arσ no⌠ transferreΣ t∩ thσ mediuφ prio≥ t∩ encounterinτ enΣ-oµ-ì
partition¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ VOLUM┼ OVERFLO╫ anΣ thσ informatioε ì
fielΣ shal∞ bσ se⌠ t∩ thσ requesteΣ transfe≥ lengtΦ minu≤ thσ actua∞ numbe≥ oµ ì
filemark≤ o≥ setmark≤ writteε t∩ thσ medium.
.cp 20
.aw off
.pm 0
9.3. Parameter≤ fo≥ Sequential-Access Devices
.aw on
.pm 3
.cp 10
.aw off
.pm 0
9.3.1. Diagnostic Paramete≥s
.aw on
.pm 3
ááThi≤ sectioε define≤ thσ descriptor≤ anΣ page≤ fo≥ diagnostiπ parameter≤ ì
useΣ witΦ sequentia∞-acces≤ devices«
ááThσ diagnostiπ pagσ code≤ fo≥ sequentia∞-acces≤ device≤ arσ defineΣ iε Tablσ ì
╣-19.
.aw off
.pm 0
.cp 15
Table 9-19: Diagnostiπ Page Codes
==============================================================================
Page Code Description Section
------------------------------------------------------------------------------
ááá00h SupporteΣ Diagnostic Pagσ≤ 7.3.1.1
01Φ ¡ 3Fh ReserveΣ (fo≥ al∞ devicσ typσ page≤)
40Φ ¡ 7Fh Reserved
80Φ ¡ FFh Vendo≥-specifiπ pages
==============================================================================
.aw on
.pm 3
.lm 1
.cp 25è.aw off
.pm 0
9.3.2. Log Paramete≥s
.aw on
.pm 3
.cp 2
ááThi≤ sectioε define≤ thσ descriptor≤ anΣ page≤ fo≥ loτ parameter≤ useΣ witΦ ì
sequentia∞-acces≤ devices«
.cp 20
ááThσ loτ pagσ code≤ fo≥ sequentia∞-acces≤ device≤ arσ defineΣ iε Tablσ ╣-20.
.aw off
.pm 0
Table 9-20: Loτ Page Codes
==============================================================================
Page Code Descriptioε Section
------------------------------------------------------------------------------
01h Buffer Over-Run/Under-Run Page 7.3.2.1
02h Erro≥ Counte≥ Pagσ (Write) Page 7.3.2.2
03h Erro≥ Counte≥ Pagσ (Read) Page 7.3.2.2
04h Erro≥ Counte≥ Pagσ (Read Reverse) Page 7.3.2.2
05h Erro≥ Counte≥ Pagσ (Verify⌐ Page 7.3.2.2
07h Last n Error Events Page 7.3.2.3
06h Non-Media Error Pagσ 7.3.2.4
00h Supported Loτ Pages 7.3.2.5
08h - 2Fh Reserved
3Fh Reserved
30h - 3Eh Vendo≥ Specific
==============================================================================
.aw on
.pm 3
.cp 10
.aw off
.pm 0
9.3.3. Mode Paramete≥s
.aw on
.pm 3
ááThi≤ sectioε define≤ thσ descriptor≤ anΣ page≤ fo≥ modσ parameter≤ useΣ witΦ ì
sequentia∞-acces≤ devices«
ááThσ modσ paramete≥ list¼ includinτ thσ modσ paramete≥ heade≥ anΣ modσ blocδ ì
descriptor¼ arσ describeΣ iε 7.3.3.
ááThσ mediuφ-typσ codσ fielΣ iε thσ modσ paramete≥ heade≥ i≤ reserveΣ fo≥ ì
sequentia∞-acces≤ devices.
ááThσ devicσ-specifiπ paramete≥ bytσ oµ thσ modσ paramete≥ heade≥ (seσ Table≤ ì
╖-6▒ anΣ ╖-62⌐ i≤ defineΣ iε Tablσ ╣-2▒ fo≥ sequentia∞-acces≤ devices.
.pm 0
.aw off
Table 9-21: Devicσ-Specifiπ Paramete≥
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
==============================================================================
ⁿ W╨ ⁿ BuffereΣ Modσ ⁿ SpeeΣ |
==============================================================================
.aw on
.pm 3
ááFo≥ thσ MOD┼ SENS┼ command¼ ß writσ protec⌠ (WP⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ ì
thσ mediuφ i≤ writσ enabled« ┴ W╨ bi⌠ oµ onσ indicate≤ tha⌠ thσ mediuφ i≤ ì
writσ protected« Fo≥ thσ MOD┼ SELEC╘ command¼ thi≤ fielΣ i≤ ignored.
.cp 17èááValue≤ fo≥ thσ buffereΣ modσ fielΣ arσ defineΣ a≤ follows:
.lm 12
áá0h Thσ targe⌠ shal∞ no⌠ repor⌠ GOO─ statu≤ oε writσ command≤ unti∞ thσ ì
ááááááááááádatß block≤ arσ actuall∙ writteε oε thσ medium.
áá1h Thσ targe⌠ ma∙ repor⌠ GOO─ statu≤ oε writσ command≤ a≤ sooε a≤ al∞ ì
áááááááááááthσ datß specifieΣ iε thσ writσ commanΣ ha≤ beeε transferreΣ t∩ thσ ì
ááááááááááátarget'≤ buffer« Onσ o≥ morσ block≤ ma∙ bσ buffereΣ prio≥ t∩ ì
áááááááááááwritinτ thσ block(s⌐ t∩ thσ medium.
áá2h Thσ targe⌠ ma∙ repor⌠ GOO─ statu≤ oε writσ command≤ a≤ sooε as:
áá (1⌐ Al∞ thσ datß specifieΣ iε thσ writσ commanΣ ha≤ beeε ì
ááááááááááásuccessfull∙ transferreΣ t∩ thσ target'≤ buffer¼ anΣ
áá (2⌐ Al∞ buffereΣ datß froφ differen⌠ initiator≤ ha≤ beeε ì
ááááááááááásuccessfull∙ writteε t∩ thσ medium«
áá3h - 7h Reserved
.lm 1
.cp 5
ááValue≤ fo≥ thσ speeΣ fielΣ shal∞ bσ assigneΣ a≤ follows:
áá0Φ Defaul⌠ (Usσ thσ periphera∞ device'≤ defaul⌠ speed).
áá1Φ Usσ thσ periphera∞ device'≤ lowes⌠ speed.
áá2Φ ¡ FΦ Usσ increasinτ periphera∞ devicσ speeds.
.cp 6
ááFo≥ thσ MOD┼ SELEC╘ command¼ thσ densit∙ codσ fielΣ oµ thσ sequentia∞-acces≤ ì
devicσ blocδ descripto≥ (7.3.3⌐ indicate≤ thσ densit∙ selecteΣ b∙ thσ ì
initiato≥ fo≥ usσ iε subsequen⌠ reaΣ anΣ writσ operations« Fo≥ device≤ ì
capablσ oµ automatiπ densit∙ recognition¼ thσ densit∙ codσ selecteΣ b∙ thσ ì
initiato≥ ma∙ bσ overriddeε b∙ thσ targe⌠ fo≥ ß subsequen⌠ reaΣ operatioε iµ ì
thσ selecteΣ valuσ doe≤ no⌠ matcΦ thσ curren⌠ recordeΣ densit∙ oµ thσ medium« ì
Iµ thσ MOD┼ SELEC╘ commanΣ specifie≤ thσ defaul⌠ densit∙ codσ thσ devicσ ì
select≤ thσ actua∞ densit∙ codσ t∩ bσ useΣ iε ß vendo≥ specifiπ manner« Thσ ì
valuσ i≤ expecteΣ t∩ bσ thσ principa∞ densit∙ codσ (o≥ aε optima∞ densit∙ ì
code).
.cp 4
ááFo≥ thσ MOD┼ SENS┼ command¼ thσ densit∙ codσ fielΣ reflect≤ thσ curren⌠ ì
operatinτ densit∙ oµ thσ device« Iµ ß curren⌠ operatinτ densit∙ ha≤ no⌠ beeε ì
selected¼ eithe≥ becausσ n∩ mediuφ i≤ installeΣ o≥ becausσ thσ densit∙ oµ thσ ì
installeΣ mediuφ ha≤ no⌠ beeε determined¼ thσ densit∙ codσ fielΣ shoulΣ bσ se⌠ ì
t∩ thσ principa∞ densit∙ codσ value« Thσ principa∞ densit∙ codσ i≤ thσ ì
highes⌠ densit∙ codσ supported¼ thσ optima∞ densit∙ codσ supported¼ o≥ thσ ì
mos⌠ commoε densit∙ codσ supported« Iε somσ devices¼ thσ principa∞ densit∙ ì
codσ valuσ returneΣ iε responsσ t∩ ß MOD┼ SENS┼ commanΣ ma∙ changσ dynamicall∙ ì
t∩ matcΦ thσ mos⌠ recentl∙ selecteΣ density« Thσ densit∙ codσ valuσ returneΣ ì
iε responsσ t∩ ß MOD┼ SENS┼ commanΣ shal∞ bσ a≤ describeΣ below:
.cp 2
áá(1⌐ Followinτ ß UNI╘ ATTENTIO╬ conditioε fo≥ ß powe≥ oε o≥ harΣ rese⌠ ì
condition¼ whilσ no⌠ ready¼ thσ targe⌠ shal∞ repor⌠ thσ principa∞ density.
.cp 2
áá(2⌐ Followinτ ß UNI╘ ATTENTIO╬ conditioε fo≥ ß no⌠-read∙-t∩-read∙ ì
transition¼ thσ targe⌠ shall:
.lm 3
.pm 6
.cp 2
ááááá(a⌐ repor⌠ thσ principa∞ densit∙ iµ n∩ attemp⌠ ha≤ beeε madσ b∙ thσ ì
áátarge⌠ t∩ determinσ thσ density.
.cp 2
ááááá(b⌐ repor⌠ thσ principa∞ densit∙ iµ thσ targe⌠ canno⌠ automaticall∙ ì
áádeterminσ thσ densit∙ froφ thσ medium.
.cp 2
ááááá(c⌐ repor⌠ thσ curren⌠ mediuφ densit∙ iµ thσ targe⌠ caε determinσ thσ ì
áádensit∙ froφ thσ medium.
.lm 1
.pm 3
.cp 6èáá(3⌐ Followinτ ß successfu∞ reaΣ operatioε a⌠ o≥ afte≥ beginninτ-oµ-medium¼ ì
thσ targe⌠ shal∞ repor⌠ ß densit∙ codσ valuσ reflectinτ thσ recordeΣ densit∙ ì
oµ thσ medium« Fo≥ somσ implementations¼ thσ targe⌠ ma∙ automaticall∙ ì
determinσ thi≤ valuσ froφ thσ medium« Fo≥ device≤ no⌠ capablσ oµ automatiπ ì
densit∙ determination¼ thσ principa∞ densit∙ i≤ reporteΣ iµ thσ densit∙ codσ ì
valuσ i≤ no⌠ provideΣ b∙ thσ precedinτ MOD┼ SELEC╘ command.
.cp 8
áá(4⌐ Followinτ aε unsuccessfu∞ reaΣ operatioε o≥ ß successfu∞ writσ ì
operation¼ whilσ a⌠ beginninτ-oµ-partition¼ thσ targe⌠ shall:
.lm 3
.pm 6
ááááá(a⌐ repor⌠ ß densit∙ codσ valuσ a≤ describeΣ fo≥ iteφ (2⌐ iµ ß previou≤ ì
ááMOD┼ SELEC╘ commanΣ ha≤ no⌠ establisheΣ ß densit∙ codσ fo≥ thσ currentl∙ ì
áámounteΣ volume.
ááááá(b⌐ repor⌠ ß densit∙ codσ valuσ a≤ provideΣ b∙ thσ las⌠ successfu∞ MOD┼ ì
ááSELEC╘ commanΣ fo≥ thσ currentl∙ mounteΣ volume.
.lm 1
.pm 3
.cp 3
áá(5⌐ Followinτ ß successfu∞ unloaΣ operatioε thσ targe⌠ shal∞ repor⌠ thσ mos⌠ ì
recen⌠ densit∙ codσ valuσ a≤ determineΣ b∙ item≤ (2⌐ througΦ (4⌐ above.
.cp 38
ááTablσ ╣-2▓ list≤ thσ sequentia∞-acces≤ devicσ densit∙ code≤
.aw off
.pm 0
Table 9-22: Sequentia∞-Acces≤ Densit∙ Codes
==============================================================================
Codσ Valuσ Density
---------- ------------------------------------------------------------------
00Φ Defaul⌠ densit∙ (MOD┼ SELEC╘ commanΣ only)
Magnetic Tapes
WidtΦ Densit∙
mφ (Inch⌐ Track≤ bpmφ bpΘ Codσ Typσ Reference Note
---------- ------ ------------ ---- ---- ------------ ----
01Φ 12.╖ (0.5⌐ ╣ 3▓ (800⌐ NRZ╔ ╥ X3.22-198│ 2
02h 12.7 (0.5) 9 63 (1600) PE R X3.39-1986 2
03h 12.7 (0.5) 9 246 (6250) GCR R X3.54-1986 2
04h 6.3 (0.25) 4/9 315 (8000) GCR C X3.136-198╢ 1,3
05h 6.3 (0.25) 4/9 315 (8000) GCR C X3.136-1986 1
06h 12.7 (0.5) 9 126 (3200) PE R X3.157-1987 2,4
07h 6.3 (0.25) 4 252 (6400) IMFM C X3.116-1986 1
08h 3.81 (0.15) 4 315 (8000) GCR CS X3.158-1987 1,4
09h 12.7 (0.5) 18 1491 (37871) GCR C X3B5/87-099 2,4
0Ah 12.7 (0.5) 22 262 (6667) MFM C X3B5/86-199 1,4
0Bh 6.3 (0.25) 4 63 (1600) PE C X3.56-1986 1
0Ch 12.7 (0.5) 24 500 (12690) GCR C HI-TC1 1,6
0Dh 12.7 (0.5) 24 999 (25380) GCR C HI-TC▓ 1,6
0Eh Reserved for ECMA
0Fh 6.3 (0.25) 15 394 (10000) GCR ├ QIC-12░ 1,6
10Φ 6.│ (0.25⌐ 1╕ 39┤ (1░000⌐ GC╥ ├ QIC-15░ 1,6
11Φ 6.│ (0.25⌐ 26 630 (16000⌐ GC╥ ├ QIC-32░ 1,6
12Φ 6.│ (0.25⌐ 30 2034 (51667⌐ RL╠ ├ QIC-1350 1,6
13Φ 3.8▒ (0.15⌐ ▒ 240░ (6▒000⌐ DDS ├S X3B5/88-185A ╡
14Φ 8.0░ (0.315⌐ ▒ 212╢ (5┤000⌐ C╙ X3B5/88-03╢ 5
15h - 7Eh Reserved
7FΦ N∩ changσ froφ previou≤ densit∙ (N╧-OP⌐ 7
80h - FFh Vendor unique
==============================================================================
.pm 3
.cp 10èááKey:
áá Codσ Type
áá¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-
ááNRZ╔ Noε Returε t∩ Zero¼ changσ oε one≤ ╥ Ree∞-t∩-Reel
ááGC╥ Grou≡ Codσ Recordinτ ├ Cartridge
ááP┼ Phasσ EncodeΣ C╙ Cassette
ááIMF═ InverteΣ ModifieΣ Frequenc∙ Modulation
ááMF═ ModifieΣ Frequenc∙ Modulation
ááDD╙ DA╘ Datß Storage
ááRL╠ Ruε LengtΦ Limited
.cp 10
.aw on
ááNOTES:
áá(1⌐ Seria∞ Recorded.
áá(2⌐ Paralle∞ Recorded.
áá(3⌐ OlΣ forma⌠ knowε a≤ QI├-11.
áá(4⌐ Seσ Appendi° ─ fo≥ additiona∞ standard≤ information.
áá(5⌐ Helica∞ Scan
áá(6⌐ Thi≤ i≤ no⌠ aε Americaε Nationa∞ Standard« Thσ referencσ i≤ baseΣ oε ì
aε industr∙ standarΣ definitioε oµ thσ mediß format.
áá(7⌐ Thi≤ densit∙ codσ valuσ i≤ defineΣ fo≥ thσ MOD┼ SELEC╘ commanΣ anΣ ì
shal∞ no⌠ bσ returneΣ b∙ thσ MOD┼ SENS┼ command.
.cp 20
ááThσ modσ pagσ code≤ fo≥ sequentia∞-acces≤ device≤ arσ defineΣ iε Tablσ ╣-23.
.cp 25
.aw off
.pm 0
Table 9-23: Modσ Page Codes
==============================================================================
Page Code Description Section
------------------------------------------------------------------------------
ááá0Ah Contro∞ Mode Page 7.3.3.1
ááá10h Devicσ Configuratioε Pagσ 9.3.3.1
ááá02h Disconnect-Reconnect Page 7.3.3.2
ááá11h Mediuφ Partitioε Pagσ(1⌐ 9.3.3.2
ááá12h Mediuφ Partitioε Page(2⌐ 9.3.3.3
ááá13h Mediuφ Partitioε Pagσ(3⌐ 9.3.3.3
ááá14h Mediuφ Partitioε Page(4⌐ 9.3.3.3
ááá09h Peripheral Device Page 7.3.3.3
ááá01h ReaΣ-Writσ Erro≥ Recover∙ Pagσ 9.3.3.4
ááá00h Vendo≥ specific (does not require page format) 7.3.3
03h - 08h Reserved
0Bh - 10h Reserved
15h - 3Eh Vendo≥ Specific (page format required)
ááá3Fh Returns all page≤ (valiΣ onl∙ fo≥ thσ MOD┼ SENS┼ command)
==============================================================================
.aw on
.pm 3
.lm 1
.cp 40è.aw off
.pm 0
9.3.3.1. Devicσ Configuratioε Page
Table 9-24: Device Configuration Page
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 ⁿ P╙ |Reserved| Page Code (10h) |
-----|-----------------------------------------------------------------------|
1 | Page Length (0Eh) |
-----|-----------------------------------------------------------------------|
2 |Reserved| CAP | CAF | Active Format |
-----|-----------------------------------------------------------------------|
3 | Active Partition |
-----|-----------------------------------------------------------------------|
4 | Write Buffer Full Ratio |
-----|-----------------------------------------------------------------------|
╡ ⁿ ReaΣ Buffe≥ Empt∙ Rati∩ |
-----|-----------------------------------------------------------------------|
6 | (MSB) |
¡¡¡¡-ⁿ¡¡¡ Writσ Dela∙ Timσ ¡¡-|
7 | (LSB) |
-----|-----------------------------------------------------------------------|
8 | DBR | BIS ⁿ RSmδ | AVC | SOCF | RBO | REW |
-----|-----------------------------------------------------------------------|
9 | Gap Size |
-----|-----------------------------------------------------------------------|
10 | EOD Defined | EEG | SEW ⁿ Reserved |
-----|-----------------------------------------------------------------------|
11 | (MSB) |
-----|--- ---|
1▓ ⁿ Buffe≥ Sizσ a⌠ Earl∙ Warninτ |
-----|--- ---|
13 | (LSB) |
-----|-----------------------------------------------------------------------|
14 | Select Data Compression Algorithm |
-----|-----------------------------------------------------------------------|
15 | Reserved |
==============================================================================
.aw on
.pm 3
ááThi≤ pagσ (Tablσ ╣-24⌐ i≤ useΣ t∩ specif∙ thσ appropriatσ sequentia∞-acces≤ ì
devicσ configuration.
.cp 3
áá┴ changσ activσ partitioε (CAP⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ logica∞ ì
partitioε i≤ t∩ bσ changeΣ t∩ thσ onσ specifieΣ b∙ thσ activσ partitioε field« ì
┴ CA╨ bi⌠ oµ zer∩ indicate≤ n∩ partitioε changσ i≤ specified.
.cp 4
áá┴ changσ activσ forma⌠ (CAF⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ activσ forma⌠ i≤ ì
t∩ bσ changeΣ t∩ thσ valuσ specifieΣ iε thσ activσ forma⌠ field« ┴ CA╞ bi⌠ oµ ì
zer∩ indicate≤ n∩ activσ forma⌠ changσ i≤ specified« Fo≥ somσ devices¼ thσ ì
forma⌠ ma∙ onl∙ bσ changeΣ wheε thσ logica∞ uni⌠ i≤ a⌠ beginninτ-oµ-partition.
.cp 5èáá Thσ activσ forma⌠ fielΣ indicate≤ whicΦ recordinτ forma⌠ i≤ iε usσ fo≥ thσ ì
selecteΣ densit∙ codσ wheε readinτ o≥ writinτ datß oε ß logica∞ unit« Thσ ì
valuσ oµ thσ activσ forma⌠ fielΣ i≤ vendo≥ specific«
.cp2
ááThσ activσ partitioε fielΣ indicate≤ thσ curren⌠ logica∞ partitioε numbe≥ iε ì
usσ oε thσ medium.
.cp 3
ááThσ writσ buffe≥ ful∞ ratio¼ oε WRIT┼ commands¼ indicate≤ t∩ thσ targe⌠ ho≈ ì
ful∞ thσ buffe≥ shal∞ bσ beforσ writinτ datß t∩ thσ medium« ┴ valuσ oµ zer∩ ì
indicate≤ tha⌠ thσ valuσ i≤ no⌠ specified.
.cp3
ááThσ reaΣ buffe≥ empt∙ ratio¼ oε REA─ commands¼ indicate≤ t∩ thσ targe⌠ ho≈ ì
empt∙ thσ buffe≥ shal∞ bσ beforσ retrievinτ additiona∞ datß froφ thσ medium« ì
┴ valuσ oµ zer∩ indicate≤ tha⌠ thσ valuσ i≤ no⌠ specified.
.cp 6
ááThσ writσ dela∙ timσ indicate≤ thσ maximuφ time¼ iε 10░ milliseconΣ ì
increments¼ tha⌠ thσ targe⌠ shoulΣ wai⌠ beforσ an∙ buffereΣ datß tha⌠ i≤ t∩ bσ ì
written¼ i≤ forceΣ t∩ thσ mediuφ afte≥ thσ las⌠ buffereΣ WRIT┼ commanΣ tha⌠ ì
diΣ no⌠ causσ thσ buffe≥ t∩ exceeΣ thσ buffe≥ ful∞ ratio« ┴ valuσ oµ zer∩ ì
indicate≤ tha⌠ thσ targe⌠ shal∞ neve≥ forcσ buffereΣ datß t∩ thσ mediuφ unde≥ ì
thesσ conditions.
.cp 4
áá┴ datß buffe≥ recover∙ (DBR⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ support≤ ì
datß buffe≥ recover∙ usinτ thσ RECOVE╥ BUFFERE─ DAT┴ command« ┴ DB╥ bi⌠ oµ ì
zer∩ indicate≤ tha⌠ thσ targe⌠ doe≤ no⌠ suppor⌠ datß buffe≥ recovery« Thi≤ ì
bi⌠ i≤ targe⌠-defined.
.cp 4
áá┴ blocδ identifier≤ supporteΣ (BIS⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ blocδ ID≤ arσ ì
no⌠ supporteΣ iε thσ forma⌠ writteε oε thσ medium« ┴ BI╙ bi⌠ oµ onσ indicate≤ ì
tha⌠ thσ forma⌠ oε thσ mediuφ ha≤ recordeΣ informatioε abou⌠ thσ blocδ ID≤ ì
relativσ t∩ ß partition« Thi≤ bi⌠ i≤ targe⌠-defined.
.cp 3
áá┴ repor⌠ setmark≤ (RSmk⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ ì
recognizσ anΣ repor⌠ setmark≤ durinτ appropriatσ reaΣ o≥ spacσ operations« ┴ ì
RSmδ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ repor⌠ setmarks.
.cp 5
ááThσ automatiπ velocit∙ contro∞ (AVC⌐ bi⌠ oµ one¼ indicate≤ tha⌠ thσ devicσ ì
shal∞ selec⌠ thσ speeΣ (iµ thσ devicσ support≤ morσ thaε onσ speed⌐ baseΣ oε ì
thσ datß transfe≥ ratσ tha⌠ shoulΣ optimizσ streaminτ activit∙ anΣ minimizσ ì
mediuφ repositioning« Aε AV├ bi⌠ oµ zer∩ indicate≤ thσ speeΣ choseε shoulΣ bσ ì
thσ device'≤ defaul⌠ speed.
.cp7
áá┴ sto≡ oε consecutivσ filemark≤ (SOCF⌐ fielΣ oµ 00Γ indicate≤ tha⌠ thσ ì
devicσ shal∞ prσ-reaΣ datß froφ thσ mediuφ iε buffereΣ modσ t∩ thσ limit≤ oµ ì
thσ buffe≥ capacit∙ withou⌠ regarΣ fo≥ filemarks« Thi≤ implie≤ tha⌠ thσ ì
devicσ caε differentiatσ betweeε datß block≤ anΣ filemark≤ iε thσ buffer« ì
Value≤ 01b¼ 10b¼ anΣ 11Γ specif∙ tha⌠ thσ devicσ shal∞ terminatσ thσ prσ-reaΣ ì
operatioε iµ 1¼ 2¼ o≥ │ consecutivσ filemark≤ arσ detected¼ respectively« Iµ ì
thσ RSmδ bi⌠ i≤ one¼ thσ targe⌠ shal∞ interpre⌠ thi≤ fielΣ a≤ sto≡ oε ì
consecutivσ setmarks.
.cp 5èáá┴ recove≥ buffe≥ orde≥ (RBO⌐ bi⌠ oµ onσ indicate≤ tha⌠ datß block≤ shal∞ bσ ì
returneΣ froφ thσ target'≤ buffe≥ oε ß RECOVERE─ BUFFERE─ DAT┴ commanΣ iε LIF╧ ì
orde≥ (las⌠-iε-firs⌠-out⌐ froφ whicΦ the∙ werσ writteε t∩ thσ buffer« ┴ RB╧ ì
bi⌠ oµ zer∩ indicate≤ datß block≤ shal∞ bσ returneΣ iε FIF╧ (firs⌠-iε-firs⌠-ì
out⌐ order.
.cp 4
áá┴ repor⌠ earl∙-warninτ (REW⌐ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ ì
repor⌠ thσ earl∙-warninτ conditioε fo≥ reaΣ operation≤ anΣ i⌠ shal∞ repor⌠ ì
earl∙-warninτ a⌠ o≥ beforσ an∙ mediuφ-defineΣ earl∙-warninτ positioε durinτ ì
writσ operations«
.cp 5
áá┴ RE╫ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ returε CHEC╦ CONDITIO╬ ì
statu≤ witΦ thσ EO═ bi⌠ se⌠ iε thσ sensσ datß wheε thσ earl∙-warninτ positioε ì
i≤ encountereΣ durinτ reaΣ anΣ writσ operations« Iµ thσ RE╫ bi⌠ i≤ onσ anΣ ì
thσ SE╫ bi⌠ i≤ zero¼ thσ targe⌠ shal∞ returε CHEC╦ CONDITIO╬ statu≤ witΦ thσ ì
sensσ ke∙ se⌠ t∩ VOLUM┼ OVERFLO╫ wheε earl∙-warninτ i≤ encountereΣ durinτ ì
writσ operations«
áá
.cp4
.lm 3
ááIMPLEMENTOR╙ NOTE║ ┴ RE╫ bi⌠ oµ onσ i≤ intendeΣ fo≥ compatibilit∙ witΦ thosσ ì
áásystem≤ usinτ olΣ tapσ format≤ tha⌠ requirσ aε earl∙-warninτ indicatioε ì
áádurinτ reaΣ operations« Othe≥ system≤ shoulΣ se⌠ thi≤ bi⌠ t∩ zer∩ t∩ avoiΣ ì
áápotentia∞ datß los≤ wheε interchanginτ tape≤ betweeε periphera∞ devices.
.lm 1
.cp6
ááThσ GapSizσ fielΣ valuσ determine≤ thσ sizσ oµ thσ inte≥-blocδ ga≡ wheε ì
writinτ data« ┴ valuσ oµ 00Φ specifie≤ thσ device'≤ defineΣ ga≡ size« ┴ ì
valuσ oµ 01Φ specifie≤ ß devicσ defineΣ ga≡ sizσ sufficientl∙ lonτ t∩ suppor⌠ ì
updatσ-iε-place« Value≤ oµ 02Φ througΦ 0FΦ arσ multiplier≤ oε thσ device'≤ ì
defineΣ ga≡ size« Value≤ 10Φ througΦ 7FΦ arσ reserved« Value≤ 80Φ througΦ ì
FFΦ arσ vendo≥ specific.
.cp 12
ááThσ enΣ-oµ-datß (EOD⌐ defineΣ fielΣ indicate≤ whicΦ forma⌠ typσ thσ logica∞ ì
uni⌠ shal∞ usσ t∩ detec⌠ anΣ generatσ thσ EO─ area« Thσ type≤ oµ EO─ format≤ ì
arσ specifieΣ below:
.aw off
.pm 0
Value Description
--------¡ -----------------------------------------------
000b Logical unit's default EOD definitioε
001b Format-defined erased area of mediuφ
010b As specified in the SOCF field
011b EOD recognition and generation is not supporteΣ
100Γ¡111Γ ReserveΣ
.aw on
.pm 3
.cp 3
ááAε enablσ EO─ generatioε (EEG⌐ bi⌠ se⌠ t∩ onσ indicate≤ tha⌠ thσ logica∞ ì
uni⌠ shal∞ generatσ thσ appropriatσ EO─ area¼ a≤ determineΣ b∙ thσ EO─ defineΣ ì
field« ┴ valuσ oµ zer∩ indicate≤ tha⌠ EO─ generatioε i≤ disabled.
.cp 5
.lm 3
ááIMPLEMENTOR╙ NOTE║ Somσ logica∞ unit≤ ma∙ no⌠ generatσ EO─ a⌠ thσ ì
áácompletioε oµ an∙ writσ-typσ operation.
.lm 1
.cp 7èááThσ synchronizσ a⌠ earl∙-warninτ (SEW⌐ bi⌠ se⌠ t∩ onσ indicate≤ tha⌠ thσ ì
targe⌠ shal∞ causσ an∙ buffereΣ writσ data¼ filemarks¼ o≥ setmark≤ t∩ bσ ì
transferreΣ t∩ thσ mediuφ wheε earl∙-warninτ i≤ encountered« ┴ valuσ oµ zer∩ ì
indicate≤ tha⌠ thσ targe⌠ shal∞ retaiε an∙ unwritteε buffereΣ data¼ filemarks¼ ì
o≥ setmark≤ iε thσ buffe≥ wheε earl∙-warninτ i≤ encountereΣ (seσ thσ WRIT┼ ì
command¼ 9.2.14¼ anΣ thσ WRIT┼ FILEMARK╙ command¼ 9.2.15).
.cp5
ááThσ buffe≥ sizσ a⌠ earl∙-warninτ fielΣ indicate≤ thσ value¼ iε bytes¼ t∩ ì
whicΦ thσ targe⌠ shal∞ reducσ it≤ logica∞ buffe≥ sizσ wheε writing« Thσ ì
targe⌠ shoulΣ reducσ thσ buffe≥ sizσ onl∙ wheε thσ logica∞ uni⌠ i≤ positioneΣ ì
betweeε it≤ earl∙-warninτ anΣ enΣ-oµ-partition« ┴ valuσ oµ zer∩ indicate≤ ì
tha⌠ thσ implementatioε oµ thi≤ functioε i≤ devicσ specific«
.cp 2
.lm 3
ááNOTE║ Thσ inten⌠ i≤ t∩ preven⌠ thσ los≤ oµ datß b∙ limitinτ thσ sizσ oµ thσ ì
áábuffe≥ wheε nea≥ thσ enΣ-oµ-partition.
.lm 1
.cp5
ááThσ selec⌠ datß compressioε algorithφ fielΣ se⌠ t∩ 00Φ indicate≤ tha⌠ thσ ì
targe⌠ shal∞ no⌠ usσ ß compressioε algorithφ oε an∙ datß sen⌠ t∩ i⌠ prio≥ t∩ ì
writinτ thσ datß t∩ thσ medium« ┴ valuσ oµ 01Φ indicate≤ tha⌠ thσ datß t∩ bσ ì
writteε shal∞ bσ compresseΣ usinτ thσ target'≤ defaul⌠ compressioε algorithm« ì
Value≤ 02Φ througΦ 7FΦ arσ reserved« Value≤ 80Φ througΦ FFΦ arσ vendo≥ ì
specific.
.cp 35è.aw off
.pm 0
9.3.3.2. Mediuφ Partitioε Page(1)
Table 9-25: Medium Partition Page(1)
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 ⁿ P╙ |Reserved| Page Code (11h) |
-----|-----------------------------------------------------------------------|
1 | Page Length (n-1⌐ |
-----|-----------------------------------------------------------------------|
2 | Maximum Additional Partitions |
-----|-----------------------------------------------------------------------|
3 | Additional Partitions Defined |
-----|-----------------------------------------------------------------------|
4 | FDP | SDP | IDP | PSUM | Reserved |
-----|-----------------------------------------------------------------------|
5 | Medium Format Recognition |
-----|-----------------------------------------------------------------------|
6 | Reserved |
-----|-----------------------------------------------------------------------|
7 | Reserved |
==============================================================================
╕ ¡ n| Partition Size Descriptor(s⌐ |
==============================================================================
░ | (MSB) |
-----|--- Partition Size ---|
1 | (LSB) |
==============================================================================
.aw on
.pm 3
.cp 3
ááThi≤ pagσ (Tablσ ╣-25⌐ i≤ useΣ t∩ specif∙ thσ firs⌠ grou≡ oµ mediuφ ì
partitions« Additiona∞ group≤ arσ specifieΣ iε mediuφ partitioε pages(▓-4).
.cp 3
ááThσ maximuφ additiona∞ partition≤ fielΣ i≤ ß targe⌠-defineΣ valuσ indicatinτ ì
thσ maximuφ numbe≥ oµ additiona∞ partition≤ supporteΣ b∙ thσ logica∞ unit« ┴ ì
valuσ oµ zer∩ indicate≤ tha⌠ n∩ valuσ i≤ specified.
.cp 4
ááThσ additiona∞ partition≤ defineΣ fielΣ specifie≤ thσ numbe≥ oµ additiona∞ ì
partition≤ t∩ bσ defineΣ fo≥ ß volumσ wheε thσ SD╨ o≥ ID╨ bi⌠ i≤ se⌠ t∩ one« ì
Thσ maximuφ valuσ alloweΣ i≤ thσ valuσ returneΣ iε thσ maximuφ additiona∞ ì
partition≤ field.
.cp4
áá┴ fixeΣ datß partition≤ (FDP⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ devicσ assign≤ ì
partition≤ baseΣ oε it≤ fixeΣ definitioε oµ partitions« Settinτ thi≤ bi⌠ t∩ ì
onσ ma∙ onl∙ bσ valiΣ a⌠ beginninτ-oµ-partitioε anΣ i≤ mutuall∙ exclusivσ witΦ ì
thσ SD╨ anΣ ID╨ bits.
.cp5
áá┴ selec⌠ datß partition≤ (SDP⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ devicσ i≤ t∩ ì
partitioε thσ mediuφ int∩ thσ thσ numbe≥ oµ partition≤ a≤ specifieΣ b∙ thσ ì
additiona∞ partition≤ defineΣ fielΣ usinτ partitioε size≤ defineΣ b∙ thσ ì
device« Settinτ thi≤ bi⌠ t∩ onσ ma∙ onl∙ bσ valiΣ a⌠ beginninτ-oµ-partitioε ì
anΣ i⌠ i≤ mutuall∙ exclusivσ witΦ thσ FD╨ anΣ ID╨ fields.
è.cp 5
ááAε initiato≥-defineΣ partition≤ (IDP⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ ì
initiato≥ i≤ defininτ thσ numbe≥ anΣ sizσ oµ thσ datß partition≤ usinτ thσ ì
additiona∞ partition≤ defineΣ fielΣ anΣ thσ partitioε sizσ descriptors« ì
Settinτ thi≤ bi⌠ t∩ onσ ma∙ onl∙ bσ valiΣ a⌠ beginninτ-oµ-partitioε anΣ i≤ ì
mutuall∙ exclusivσ witΦ thσ FD╨ anΣ SD╨ fields.
.cp 3
.lm 3
ááIMPLEMENTOR╙ NOTE║ Sincσ defininτ partition≤ ma∙ requirσ rσ-formattinτ thσ ì
áámediuφ fo≥ somσ implementations¼ aε implici⌠ writσ t∩ thσ mediuφ ma∙ occu≥ ì
ááa≤ ß resul⌠ oµ ß MOD┼ SELEC╘ commanΣ tha⌠ supplie≤ an∙ oµ thesσ parameters.
.lm 1
.cp 4
ááPartitioε sizσ uni⌠ oµ measurσ (PSUM⌐ fielΣ define≤ thσ unit≤ iε whicΦ thσ ì
partitioε sizσ descriptor≤ selec⌠ thσ partitioε size« Thσ value≤ 00b¼ 01b¼ ì
anΣ 10Γ definσ thσ unit≤ a≤ bytes¼ kilobytes¼ anΣ megabytes¼ respectively« ì
Thσ valuσ 11Γ i≤ reserved.
.cp 3
áá Thσ mediuφ forma⌠ recognitioε fielΣ i≤ ß targe⌠-defineΣ valuσ indicatinτ ì
thσ device'≤ capabilit∙ t∩ automaticall∙ identif∙ thσ mediuφ forma⌠ anΣ ì
partitioε informatioε wheε readinτ aε unknowε volume.
.cp8
.pm 3
ááValue≤ fo≥ thσ mediuφ forma⌠ recognitioε fielΣ shal∞ bσ assigneΣ a≤ follows:
.pm 0
00Φ Logica∞ uni⌠ i≤ incapablσ oµ forma⌠ o≥ partitioε recognition.
01Φ Logica∞ uni⌠ i≤ capablσ oµ forma⌠ recognitioε only.
02Φ Logica∞ uni⌠ i≤ capablσ oµ partitioε recognitioε only.
03Φ Logica∞ uni⌠ i≤ capablσ oµ forma⌠ anΣ partitioε recognition.
04Φ-FFΦ Reserved.
.pm 3
.cp 4
.lm 3
ááIMPLEMENTOR╙ NOTE║ Iµ ß targe⌠ indicate≤ tha⌠ i⌠ i≤ no⌠ capablσ oµ mediuφ ì
ááforma⌠ recognition¼ thσ initiato≥ mus⌠ suppl∙ al∞ necessar∙ parameter≤ fo≥ ì
ááthσ devicσ t∩ identif∙ thσ specifiπ format« Thσ valuσ iε thi≤ fielΣ ma∙ bσ ì
áádifferen⌠ followinτ ß mediuφ change.
.lm 1
.cp 5
ááPartitioε sizσ descriptor≤ definσ thσ sizσ oµ thσ respectivσ partition≤ iε ì
thσ unit≤ specifieΣ iε thσ PSU═ field« U≡ t∩ 6┤ partition≤ ma∙ bσ defineΣ ì
usinτ thi≤ page« Iµ additiona∞ partition≤ neeΣ t∩ bσ defined¼ u≡ t∩ 6┤ ì
partition≤ caε bσ defineΣ iε eacΦ oµ thσ mediuφ partitioε pages(▓-4⌐ defineΣ ì
iε 9.3.3.3.
.cp 20è.aw off
.pm 0
9.3.3.3. Mediuφ Partitioε Page(2-4)
Table 9-26: Medium Partition Page(2-4)
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 ⁿ P╙ |Reserved| Page Code (p) |
-----|-----------------------------------------------------------------------|
1 | Page Length (n-1⌐ |
==============================================================================
2 - n| Partition Size Descriptor(s⌐ |
==============================================================================
░ | (MSB) |
-----|--- Partition Size ---|
▒ | (LSB) |
==============================================================================
.aw on
.pm 3
.cp 2
ááThσ mediuφ partitioε page≤ (Tablσ ╣-26⌐ arσ useΣ t∩ specif∙ additiona∞ ì
group≤ oµ mediuφ partitions« Thσ firs⌠ grou≡ i≤ specifieΣ iε thσ mediuφ ì
partitioε page(1⌐ (seσ 9.3.3.2).
.cp 5
ááThσ additiona∞ pagσ code≤ (p⌐ defineΣ fo≥ partitioε sizσ definitioε arσ 12h¼ ì
13h¼ anΣ 14h« U≡ t∩ ß maximuφ oµ 6┤ partition≤ caε bσ defineΣ iε eacΦ oµ ì
thesσ pages« Thσ partitioε sizσ i≤ defineΣ b∙ thσ valuσ oµ thσ partitioε sizσ ì
field« Thσ unit≤ oµ sizσ useΣ b∙ thσ partitioε sizσ fielΣ i≤ specifieΣ iε thσ ì
PSU═ fielΣ oµ thσ mediuφ partitioε page(1⌐ (9.3.3.2).
.cp 4
.lm 3
ááIMPLEMENTOR╙ NOTE║ Sincσ defininτ partition≤ ma∙ requirσ rσ-formattinτ thσ ì
áámediuφ fo≥ somσ implementations¼ aε implici⌠ writσ t∩ thσ mediuφ ma∙ occu≥ ì
ááa≤ ß resul⌠ oµ ß MOD┼ SELEC╘ commanΣ tha⌠ supplie≤ thesσ parameters«
.lφ 1
.cp 35è.aw off
.pm 0
9.3.3.4. Read-Writσ Erro≥ Recover∙ Page
Table 9-27: Read-Writσ Erro≥ Recover∙ Page
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Bytσ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ ⁿ |
==============================================================================
0 ⁿ P╙ |Reserved| Page Code (01h) |
-----|-----------------------------------------------------------------------|
1 | Page Length (0Ah) |
-----|-----------------------------------------------------------------------|
2 |Reserved|Reserved| TB |Reserved| EER | PER | DTE | DCR |
-----|-----------------------------------------------------------------------|
│ ⁿ ReaΣ Retr∙ Coun⌠ |
-----|-----------------------------------------------------------------------|
4 | Reserved |
-----|-----------------------------------------------------------------------|
5 | Reserved |
-----|-----------------------------------------------------------------------|
6 | Reserved |
-----|-----------------------------------------------------------------------|
7 | Reserved |
-----|-----------------------------------------------------------------------|
╕ ⁿ Writσ Retr∙ Coun⌠ |
-----|-----------------------------------------------------------------------|
9 | ReserveΣ |
-----|-----------------------------------------------------------------------|
10 | Reserved |
-----|-----------------------------------------------------------------------|
11 | Reserved |
==============================================================================
.aw on
.pm 3
.cp 5
ááThσ reaΣ-writσ erro≥ recover∙ pagσ (Tablσ ╣-27⌐ specifie≤ thσ erro≥ recover∙ ì
anΣ reportinτ parameter≤ tha⌠ thσ targe⌠ shal∞ usσ wheε transferrinτ datß ì
betweeε thσ initiato≥ anΣ thσ medium« Thesσ parameter≤ onl∙ appl∙ t∩ reaΣ-ì
writσ error≤ anΣ d∩ no⌠ affec⌠ messagσ systeφ retrie≤ o≥ positioninτ erro≥ ì
recover∙ procedures.
ááNOTE║ Thσ parameter≤ iε thi≤ pagσ als∩ appl∙ t∩ verif∙ operations.
.cp 6
áá┴ transfe≥ blocδ (TB⌐ bi⌠ oµ onσ indicate≤ tha⌠ ß datß blocδ tha⌠ i≤ no⌠ ì
recoverablσ withiε thσ specifieΣ recover∙ limit≤ shal∞ bσ transferreΣ t∩ thσ ì
initiato≥ beforσ CHEC╦ CONDITIO╬ statu≤ i≤ returned« ┴ T┬ bi⌠ oµ zer∩ ì
indicate≤ tha⌠ thσ unrecoverablσ datß blocδ shal∞ no⌠ bσ transferreΣ t∩ thσ ì
initiator« Datß block≤ tha⌠ caε bσ recovereΣ withiε thσ recover∙ limit≤ arσ ì
alway≤ transferred¼ regardles≤ oµ thσ valuσ oµ thσ T┬ bit.
.cp 6
ááAε enablσ earl∙ recover∙ (EER⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ ì
usσ thσ mos⌠ expedien⌠ erro≥ recover∙ algorithφ (e.g.¼ attemp⌠ erro≥ ì
correctioε prio≥ t∩ retries)« Aε EE╥ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ ì
shal∞ usσ thσ mos⌠ deliberatσ erro≥ recover∙ algorithm¼ withiε thσ limit≤ ì
establisheΣ b∙ thσ othe≥ erro≥ recover∙ parameter≤ (e.g.¼ attemp⌠ t∩ recove≥ ì
thσ blocδ erro≥-freσ prio≥ t∩ usinτ erro≥ correction).è
.cp 5
áá┴ pos⌠ erro≥ (PER⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ returε CHEC╦ ì
CONDITIO╬ statu≤ t∩ repor⌠ recovereΣ errors« ┴ PE╥ bi⌠ oµ zer∩ indicate≤ tha⌠ ì
thσ targe⌠ shal∞ no⌠ repor⌠ error≤ recovereΣ withiε thσ limit≤ establisheΣ b∙ ì
thσ erro≥ recover∙ parameters« Iµ thi≤ bi⌠ i≤ zero¼ thσ DT┼ bi⌠ mus⌠ als∩ bσ ì
se⌠ t∩ zero.
.cp 6
áá┴ disablσ transfe≥ oε erro≥ (DTE⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ ì
terminatσ thσ datß transfe≥ afte≥ ß recovereΣ reaΣ-writσ erro≥ occurs« Al∞ ì
datß froφ thσ recovereΣ blocδ shal∞ bσ transferreΣ prio≥ t∩ terminatinτ thσ ì
reaΣ-writσ operation« ┴ DT┼ bi⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ ì
terminatσ thσ transfe≥ fo≥ error≤ recovereΣ withiε thσ limit≤ establisheΣ b∙ ì
thσ reaΣ-writσ erro≥ recover∙ parameters.
.cp 3
áá┴ disablσ correctioε (DCR⌐ bi⌠ oµ onσ indicate≤ tha⌠ thσ targe⌠ shal∞ no⌠ ì
usσ erro≥ correctioε code≤ durinτ erro≥ recovery« ┴ DC╥ bi⌠ oµ zer∩ allow≤ ì
thσ usσ oµ erro≥ correctioε code≤ fo≥ erro≥ recovery.
.cp 4
ááThσ reaΣ retr∙ coun⌠ specifie≤ thσ numbe≥ oµ time≤ tha⌠ thσ targe⌠ shoulΣ ì
attemp⌠ it≤ recover∙ algorithφ durinτ ß reaΣ operatioε beforσ aε unrecoverablσ ì
erro≥ i≤ reported« ┴ reaΣ retr∙ coun⌠ oµ zer∩ indicate≤ tha⌠ thσ targe⌠ shal∞ ì
no⌠ usσ it≤ recover∙ algorithφ durinτ reaΣ operations.
.cp 4
ááThσ writσ retr∙ coun⌠ specifie≤ thσ numbe≥ oµ time≤ tha⌠ thσ targe⌠ shoulΣ ì
attemp⌠ it≤ recover∙ algorithφ durinτ ß writσ operatioε beforσ aε ì
unrecoverablσ erro≥ i≤ reported« ┴ writσ retr∙ coun⌠ oµ zer∩ indicate≤ tha⌠ ì
thσ targe⌠ shal∞ no⌠ usσ it≤ recover∙ algorithφ durinτ writσ operations.
.cp 40è.aw off
.pm 0
9.4. Glossar∙ fo≥ Sequentia∞ Acces≤ Devices
.aw on
.pm 1
beginninτ-oµ-partition.é Thσ positioε a⌠ thσ beginninτ oµ thσ permissiblσ ì
recordinτ regioε oµ ß partition« Iµ onl∙ onσ partitioε i≤ defined¼ thi≤ ì
positioε i≤ typicall∙ equivalen⌠ t∩ thσ beginninτ-oµ-medium.
beginninτ-oµ-medium.é Thσ extremσ positioε alonτ thσ mediuφ iε thσ directioε ì
awa∙ froφ thσ suppl∙ ree∞ whicΦ caε bσ accesseΣ b∙ thσ device«
buffereΣ mode.é ┴ modσ oµ datß transfe≥ iε writσ operation≤ whicΦ facilitate≤ ì
tapσ streaminτ (9.1.5)¼ a≤ reporteΣ iε thσ modσ paramete≥ heade≥ devicσ-ì
specifiπ paramete≥ (9.3.3).
earl∙-warning.é ┴ physica∞ marδ o≥ devicσ computeΣ positioε nea≥ bu⌠ logicall∙ ì
beforσ thσ enΣ-oµ-partitioε (independen⌠ oµ physica∞ direction)« Seσ thσ RE╫ ì
bi⌠ iε thσ devicσ configuratioε pagσ iε 9.3.3.1.
enΣ-oµ-data.é EnΣ oµ datß iε ß partitioε i≤ denoteΣ iε forma⌠-specifiπ manner« ì
Seσ thσ EO─ defineΣ fielΣ iε thσ devicσ configuratioε pagσ iε 9.3.3.1.
enΣ-oµ-medium.é Thσ extremσ positioε alonτ thσ mediuφ iε thσ directioε awa∙ ì
froφ thσ takσ-u≡ ree∞ whicΦ caε bσ accesseΣ b∙ thσ device« Thi≤ positioε ma∙ ì
bσ accesseΣ b∙ device≤ tha⌠ suppor⌠ thσ LOA─ UNLOA─ commanΣ witΦ thσ EO╘ bi⌠ ì
se⌠ t∩ one.
enΣ-oµ-partition.é Thσ positioε a⌠ thσ enΣ oµ thσ permissiblσ recordinτ regioε ì
oµ ß partition.
filemark.é ┴ specia∞ recordeΣ elemen⌠ withiε ß partition¼ containinτ n∩ use≥ ì
data¼ whicΦ provide≤ ß segmentatioε scheme.
overlength.é Thσ incorrec⌠ lengtΦ conditioε tha⌠ exist≤ afte≥ executinτ ß reaΣ ì
commanΣ wheε thσ thσ lengtΦ oµ thσ actua∞ blocδ reaΣ exceed≤ thσ requesteΣ ì
transfe≥ lengtΦ iε thσ commanΣ descripto≥ block.
partition.é Thσ entirσ usablσ regioε oµ recordinτ anΣ readinτ path≤ iε ß volumσ ì
o≥ iε ß portioε oµ ß volume¼ defineΣ iε ß devicσ-specifiπ manner« Iµ therσ i≤ ì
morσ thaε onσ partition¼ the∙ shal∞ bσ numbereΣ startinτ witΦ zer∩ (i.e.¼ ì
beginninτ-oµ-partitioε-zero).
setmark.é ┴ specia∞ recordeΣ elemen⌠ withiε ß partition¼ containinτ n∩ use≥ ì
data¼ whicΦ provide≤ ß segmentatioε schemσ hierarchicall∙ superio≥ t∩ ì
filemark≤ fo≥ usσ iε addressinτ o≥ fas⌠ positioninτ oε higΦ capacit∙ storagσ ì
devices.
spacing.é Thσ ac⌠ oµ positioninτ thσ mediuφ oε ß sequentia∞ acces≤ device.
underlength.é Thσ incorrec⌠ lengtΦ conditioε tha⌠ exist≤ afte≥ executinτ ß reaΣ ì
commanΣ wheε thσ requesteΣ transfe≥ lengtΦ iε thσ commanΣ descripto≥ blocδ ì
exceed≤ thσ lengtΦ oµ thσ actua∞ blocδ read.
volume.é ┴ recordinτ mediuφ togethe≥ witΦ it≤ physica∞ carrier.
.lm 1
.pm 3
.aw on
..end of section
.paè