home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
S2R10_C.ZIP
/
S2R10C05.SI
< prev
next >
Wrap
Text File
|
1990-03-09
|
109KB
|
2,326 lines
.RR--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!
.PL 62
.LM 1
.RM 78
.MT3
.MB4
.HM1
.FM1
.PO10
.CW10
.SR2
.UJ0
.OJ0
.UL1
.heLogical Characteristics 3/9/90
.foSCSI-2 draft proposed American National Standard 5-# Revision 10c
.pn 1
.cp 30
.aw off
.pm 0
5. Logical Characteristics
.aw on
.pm 3
.cp 20
.aw off
.pm 0
5.1. SCS╔ Bu≤ Phases
.aw on
.pm 3
ááThσ SCS╔ architecturσ include≤ eigh⌠ distinc⌠ phases:
ááBU╙ FRE┼ phase
ááARBITRATIO╬ phase
ááSELECTIO╬ phase
ááRESELECTIO╬ phase
ááCOMMAN─ phasσ \
ááDAT┴ phasσ ▄ Thesσ phase≤ arσ collectivel∙ termeΣ the
ááSTATU╙ phasσ » informatioε transfe≥ phases.
ááMESSAG┼ phasσ /
ááThσ SCS╔ bu≤ caε neve≥ bσ iε morσ thaε onσ phasσ a⌠ an∙ giveε time« Iε thσ ì
followinτ descriptions¼ signal≤ tha⌠ arσ no⌠ mentioneΣ shal∞ no⌠ bσ asserted.
.cp 10
.aw off
.pm 0
5.1.1. BU╙ FRE┼ Phase
.aw on
.pm 3
ááThσ BU╙ FRE┼ phasσ i≤ useΣ t∩ indicatσ tha⌠ n∩ SCS╔ devicσ i≤ activel∙ usinτ ì
thσ SCS╔ bu≤ anΣ tha⌠ i⌠ i≤ available« Iε somσ case≤ ß targe⌠ revert≤ t∩ BU╙ ì
FRE┼ phasσ t∩ indicatσ aε erro≥ conditioε tha⌠ i⌠ ha≤ n∩ othe≥ wa∙ t∩ handle« ì
Thi≤ i≤ calleΣ a≤ aε unexpecteΣ disconnect.
ááSCS╔ device≤ shal∞ detec⌠ thσ BU╙ FRE┼ phasσ afte≥ thσ SE╠ anΣ BS┘ signal≤ ì
arσ botΦ falsσ fo≥ a⌠ leas⌠ ß bu≤ settlσ delay.
ááSCS╔ device≤ shal∞ releasσ al∞ SCS╔ bu≤ signal≤ withiε ß bu≤ clea≥ dela∙ ì
afte≥ thσ BS┘ anΣ SE╠ signal≤ becomσ continuousl∙ falsσ fo≥ ß bu≤ settlσ ì
delay« Iµ aε SCS╔ devicσ require≤ morσ thaε ß bu≤ settlσ dela∙ t∩ detec⌠ thσ ì
BU╙ FRE┼ phasσ theε i⌠ shal∞ releasσ al∞ SCS╔ bu≤ signal≤ withiε ß bu≤ clea≥ ì
dela∙ minu≤ thσ exces≤ timσ t∩ detec⌠ thσ BU╙ FRE┼ phase« Thσ tota∞ timσ t∩ ì
clea≥ thσ SCS╔ bu≤ shal∞ no⌠ exceeΣ ß bu≤ settlσ dela∙ plu≤ ß bu≤ clea≥ delay.
ááInitiator≤ normall∙ d∩ no⌠ expec⌠ BU╙ FRE┼ phasσ t∩ begiε becausσ oµ thσ ì
target'≤ releasσ oµ thσ BS┘ signa∞ excep⌠ afte≥ onσ oµ thσ followinτ ì
occurrences:
áá(1⌐ afte≥ ß rese⌠ conditioε i≤ detected.
áá(2⌐ afte≥ aε ABOR╘ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
áá(3⌐ afte≥ ß BU╙ DEVIC┼ RESE╘ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
áá(4⌐ afte≥ ß DISCONNEC╘ messagσ i≤ successfull∙ transmitteΣ froφ ß targe⌠ ì
(seσ 5.6.6)
áá(5⌐ afte≥ ß COMMAN─ COMPLET┼ messagσ i≤ successfull∙ transmitteΣ froφ ß ì
targe⌠ (seσ 5.6.5).
áá(6⌐ afte≥ ß RELEAS┼ RECOVER┘ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
áá(7⌐ afte≥ aε ABOR╘ TA╟ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
áá(8⌐ afte≥ ß CLEA╥ QUEU┼ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
.lm 1
ááThσ BU╙ FRE┼ phasσ ma∙ als∩ bσ entereΣ afte≥ aε unsuccessfu∞ selectioε o≥ ì
reselection¼ althougΦ iε thi≤ casσ i⌠ i≤ thσ releasσ oµ thσ SE╠ signa∞ rathe≥ ì
thaε thσ releasσ oµ thσ BS┘ signa∞ tha⌠ firs⌠ establishe≤ thσ BU╙ FRE┼ phase.
ááIµ aε initiato≥ detect≤ thσ releasσ oµ thσ BS┘ signa∞ b∙ thσ targe⌠ a⌠ an∙ ì
othe≥ time¼ thσ targe⌠ i≤ indicatinτ aε erro≥ conditioε t∩ thσ initiator« Thσ ìètarge⌠ ma∙ perforφ thi≤ transitioε t∩ thσ BU╙ FRE┼ phasσ independen⌠ oµ thσ ì
statσ oµ thσ AT╬ signal« Thσ initiato≥ shal∞ managσ thi≤ conditioε a≤ aε ì
unsuccessfu∞ I/╧ proces≤ termination« Thσ targe⌠ terminate≤ thσ I/╧ proces≤ ì
b∙ clearinτ al∞ pendinτ datß anΣ statu≤ informatioε fo≥ thσ affecteΣ logica∞ ì
uni⌠ o≥ targe⌠ routine« Thσ targe⌠ ma∙ optionall∙ preparσ sensσ datß tha⌠ ma∙ ì
bσ retrieveΣ b∙ ß REQUES╘ SENS┼ command« Wheε aε initiato≥ detect≤ aε ì
unexpecteΣ disconnect¼ i⌠ i≤ recommendeΣ tha⌠ ß REQUES╘ SENS┼ commanΣ bσ ì
attempteΣ t∩ obtaiε an∙ valiΣ sensσ datß tha⌠ ma∙ bσ available.
.cp 10
.aw off
.pm 0
5.1.2. ARBITRATIO╬ Phase
.aw on
.pm 3
ááThσ ARBITRATIO╬ phasσ allow≤ onσ SCS╔ devicσ t∩ gaiε contro∞ oµ thσ SCS╔ bu≤ ì
s∩ tha⌠ i⌠ caε initiatσ o≥ resumσ aε I/╧ process.
ááThσ procedurσ fo≥ aε SCS╔ devicσ t∩ obtaiε contro∞ oµ thσ SCS╔ bu≤ i≤ a≤ ì
follows:
áá(1⌐ Thσ SCS╔ devicσ shal∞ firs⌠ wai⌠ fo≥ thσ BU╙ FRE┼ phasσ t∩ occur« Thσ ì
BU╙ FRE┼ phasσ i≤ detecteΣ wheneve≥ botΦ thσ BS┘ anΣ SE╠ signal≤ arσ ì
simultaneousl∙ anΣ continuousl∙ falsσ fo≥ ß minimuφ oµ ß bu≤ settlσ delay.
.lm 3
ááIMPLEMENTOR╙ NOTE║ Thi≤ bu≤ settlσ dela∙ i≤ necessar∙ becausσ ß ì
áátransmissioε linσ phenomenoε knowε a≤ ß "wireΣ-O╥ glitchó ma∙ causσ thσ BS┘ ì
áásigna∞ t∩ briefl∙ appea≥ false¼ eveε thougΦ i⌠ i≤ beinτ driveε true.
.lm 1
áá(2⌐ Thσ SCS╔ devicσ shal∞ wai⌠ ß minimuφ oµ ß bu≤ freσ dela∙ afte≥ detectioε ì
oµ thσ BU╙ FRE┼ phasσ (i.e« afte≥ thσ BS┘ anΣ SE╠ signal≤ arσ botΦ falsσ fo≥ ß ì
bu≤ settlσ delay⌐ beforσ drivinτ an∙ signal.
áá(3⌐ Followinτ thσ bu≤ freσ dela∙ iε Ste≡ (2)¼ thσ SCS╔ devicσ ma∙ arbitratσ ì
fo≥ thσ SCS╔ bu≤ b∙ assertinτ botΦ thσ BS┘ signa∞ anΣ it≤ owε SCS╔ ID¼ howeve≥ ì
thσ SCS╔ devicσ shal∞ no⌠ arbitratσ (i.e« asser⌠ thσ BS┘ signa∞ anΣ it≤ SCS╔ ì
ID⌐ iµ morσ thaε ß bu≤ se⌠ dela∙ ha≤ passeΣ sincσ thσ BU╙ FRE┼ phasσ wa≤ las⌠ ì
observed«
.lm 3
ááIMPLEMENTOR╙ NOTE║ Therσ i≤ n∩ maximuφ dela∙ beforσ assertinτ thσ BS┘ ì
áásigna∞ anΣ thσ SCS╔ I─ followinτ thσ bu≤ freσ dela∙ iε Ste≡ (2⌐ a≤ lonτ a≤ ì
ááthσ bu≤ remain≤ iε thσ BU╙ FRE┼ phase« However¼ SCS╔ device≤ tha⌠ dela∙ ì
áálonge≥ thaε ß bu≤ settlσ dela∙ plu≤ ß bu≤ se⌠ dela∙ froφ thσ timσ wheε thσ ì
ááBS┘ anΣ SE╠ signal≤ firs⌠ becomσ falsσ ma∙ fai∞ t∩ participatσ iε ì
ááarbitratioε wheε competinτ witΦ faste≥ SCS╔ devices.
.lm 1
.cp 10
áá(4⌐ Afte≥ waitinτ a⌠ leas⌠ aε arbitratioε dela∙ (measureΣ froφ it≤ assertioε ì
oµ thσ BS┘ signal⌐ thσ SCS╔ devicσ shal∞ examinσ thσ DAT┴ BUS« Iµ ß highe≥ ì
priorit∙ SCS╔ I─ bi⌠ i≤ truσ oε thσ DAT┴ BU╙ (DB(7⌐ i≤ thσ highest)¼ theε thσ ì
SCS╔ devicσ ha≤ los⌠ thσ arbitratioε anΣ thσ SCS╔ devicσ ma∙ releasσ it≤ ì
signal≤ anΣ returε t∩ Ste≡ (1)« Iµ n∩ highe≥ priorit∙ SCS╔ I─ bi⌠ i≤ truσ oε ì
thσ DAT┴ BUS¼ theε thσ SCS╔ devicσ ha≤ woε thσ arbitratioε anΣ i⌠ shal∞ asser⌠ ì
thσ SE╠ signal« An∙ SCS╔ devicσ othe≥ thaε thσ winne≥ ha≤ los⌠ thσ ì
arbitratioε anΣ shal∞ releasσ thσ BS┘ signa∞ anΣ it≤ SCS╔ I─ bi⌠ withiε ß bu≤ ì
clea≥ dela∙ afte≥ thσ SE╠ signa∞ become≤ true« Aε SCS╔ devicσ tha⌠ lose≤ ì
arbitratioε ma∙ returε t∩ Ste≡ (1).
.cp 3
.lm 3
ááIMPLEMENTOR╙ NOTE║ I⌠ i≤ recommendeΣ tha⌠ ne≈ implementation≤ wai⌠ fo≥ thσ ì
ááSE╠ signa∞ t∩ becomσ truσ beforσ releasinτ thσ BS┘ signa∞ anΣ SCS╔ I─ bi⌠ ì
ááwheε arbitratioε i≤ lost.
.. Rationale: Creates fewer wired-OR glitches and may assist arbitration fair-
.. ness algorithms.
.lm 1
è.cp 3
áá(5⌐ Thσ SCS╔ devicσ tha⌠ win≤ arbitratioε shal∞ wai⌠ a⌠ leas⌠ ß bu≤ clea≥ ì
dela∙ plu≤ ß bu≤ settlσ dela∙ afte≥ assertinτ thσ SE╠ signa∞ beforσ changinτ ì
an∙ signals.
.cp 5
.lm 3
ááNOTE║ Thσ SCS╔ I─ bi⌠ i≤ ß singlσ bi⌠ oε thσ DAT┴ BU╙ tha⌠ correspond≤ t∩ ì
ááthσ SCS╔ device'≤ uniquσ SCS╔ address« Al∞ othe≥ seveε DAT┴ BU╙ bit≤ shal∞ ì
áábσ releaseΣ b∙ thσ SCS╔ device« Parit∙ i≤ no⌠ valiΣ durinτ thσ ARBITRATIO╬ ì
ááphase« Durinτ thσ ARBITRATIO╬ phase¼ DB(P⌐ ma∙ bσ releaseΣ o≥ asserted¼ bu⌠ ì
ááshal∞ no⌠ bσ activel∙ driveε false.
.lm 1
.cp 10
.aw off
.pm 0
5.1.3. SELECTIO╬ Phase
.aw on
.pm 3
ááThσ SELECTIO╬ phasσ allow≤ aε initiato≥ t∩ selec⌠ ß targe⌠ fo≥ thσ purposσ ì
oµ initiatinτ somσ targe⌠ functioε (e.g.¼ REA─ o≥ WRIT┼ command)« Durinτ thσ ì
SELECTIO╬ phasσ thσ I/╧ signa∞ i≤ negateΣ s∩ tha⌠ thi≤ phasσ caε bσ ì
distinguisheΣ froφ thσ RESELECTIO╬ phase.
ááThσ SCS╔ devicσ tha⌠ woε thσ arbitratioε ha≤ botΦ thσ BS┘ anΣ SE╠ signal≤ ì
asserteΣ anΣ ha≤ delayeΣ a⌠ leas⌠ ß bu≤ clea≥ dela∙ plu≤ ß bu≤ settlσ dela∙ ì
beforσ endinτ thσ ARBITRATIO╬ phase« Thσ SCS╔ devicσ tha⌠ woε thσ arbitratioε ì
become≤ aε initiato≥ b∙ no⌠ assertinτ thσ I/╧ signal«
ááThσ initiato≥ shal∞ se⌠ thσ DAT┴ BU╙ t∩ ß valuσ whicΦ i≤ thσ O╥ oµ it≤ SCS╔ ì
I─ bi⌠ anΣ thσ target'≤ SCS╔ I─ bi⌠ anΣ i⌠ shal∞ asser⌠ thσ AT╬ signa∞ ì
(indicatinτ tha⌠ ß MESSAG┼ OU╘ phasσ i≤ t∩ follo≈ thσ SELECTIO╬ phase)« Thσ ì
initiato≥ shal∞ theε wai⌠ a⌠ leas⌠ tw∩ deske≈ delay≤ anΣ releasσ thσ BS┘ ì
signal« Thσ initiato≥ shal∞ theε wai⌠ a⌠ leas⌠ ß bu≤ settlσ dela∙ beforσ ì
lookinτ fo≥ ß responsσ froφ thσ target.
ááThσ targe⌠ shal∞ determinσ tha⌠ i⌠ i≤ selecteΣ wheε thσ SE╠ signa∞ anΣ it≤ ì
SCS╔ I─ bi⌠ arσ truσ anΣ thσ BS┘ anΣ I/╧ signal≤ arσ falsσ fo≥ a⌠ leas⌠ ß bu≤ ì
settlσ delay« Thσ selecteΣ targe⌠ ma∙ examinσ thσ DAT┴ BU╙ iε orde≥ t∩ ì
determinσ thσ SCS╔ I─ oµ thσ selectinτ initiator« Thσ selecteΣ targe⌠ shal∞ ì
theε asser⌠ thσ BS┘ signa∞ withiε ß selectioε abor⌠ timσ oµ it≤ mos⌠ recen⌠ ì
detectioε oµ beinτ selected╗ thi≤ i≤ requireΣ fo≥ correc⌠ operatioε oµ thσ ì
selectioε timσ-ou⌠ procedure«
ááThσ targe⌠ shal∞ no⌠ responΣ t∩ ß selectioε iµ baΣ parit∙ i≤ detected« ì
Also¼ iµ morσ thaε tw∩ SCS╔ I─ bit≤ arσ oε thσ DAT┴ BUS¼ thσ targe⌠ shal∞ no⌠ ì
responΣ t∩ selection.
.lm 3
ááIMPLEMENTOR╙ NOTE║ Iµ ß targe⌠ choose≤ t∩ suppor⌠ thσ singlσ initiato≥ o≥ ì
ááselectioε withou⌠ assertinτ AT╬ option≤ oµ SCS╔-1¼ i⌠ ma∙ responΣ a≤ ì
áádescribeΣ iε thσ SCS╔-▒ standard.
.lm 1
ááN∩ les≤ thaε tw∩ deske≈ delay≤ afte≥ thσ initiato≥ detect≤ thσ BS┘ signa∞ i≤ ì
true¼ i⌠ shal∞ releasσ thσ SE╠ signa∞ anΣ ma∙ changσ thσ DAT┴ BUS« Thσ targe⌠ ì
shal∞ wai⌠ unti∞ thσ SE╠ signa∞ i≤ falsσ beforσ assertinτ thσ RE╤ signa∞ t∩ ì
ente≥ aε informatioε transfe≥ phase.
.cp 5
.aw off
.pm 0
5.1.3.1. SELECTION Time-out Procedurσ
.aw on
.pm 3
ááTw∩ optiona∞ selectioε timσ-ou⌠ procedure≤ arσ specifieΣ fo≥ clearinτ thσ ì
SCS╔ bu≤ iµ thσ initiato≥ wait≤ ß minimuφ oµ ß selectioε timσ-ou⌠ dela∙ anΣ ì
therσ ha≤ beeε n∩ BS┘ signa∞ responsσ froφ thσ target:
áá(1⌐ Optionally¼ thσ initiato≥ shal∞ asser⌠ thσ RS╘ signa∞ (seσ 5.2.2).èáá(2⌐ Optionally¼ thσ initiato≥ shal∞ continuσ assertinτ thσ SE╠ anΣ AT╬ ì
signal≤ anΣ shal∞ releasσ thσ DAT┴ BUS« Iµ thσ initiato≥ ha≤ no⌠ detecteΣ thσ ì
BS┘ signa∞ t∩ bσ truσ afte≥ a⌠ leas⌠ ß selectioε abor⌠ timσ plu≤ tw∩ deske≈ ì
delays¼ thσ initiato≥ shal∞ releasσ thσ SE╠ anΣ AT╬ signal≤ allowinτ thσ SCS╔ ì
bu≤ t∩ g∩ t∩ thσ BU╙ FRE┼ phase« SCS╔ device≤ shal∞ ensurσ tha⌠ wheε ì
respondinτ t∩ selectioε tha⌠ thσ selectioε wa≤ stil∞ valiΣ withiε ß selectioε ì
abor⌠ timσ oµ thei≥ assertioε oµ thσ BS┘ signal« Failurσ t∩ compl∙ witΦ thi≤ ì
requiremen⌠ coulΣ resul⌠ iε aε imprope≥ selectioε (tw∩ target≤ connecteΣ t∩ ì
thσ samσ initiator¼ wronτ targe⌠ connecteΣ t∩ aε initiator¼ o≥ ß targe⌠ ì
connecteΣ t∩ n∩ initiator).
.lm 1
.cp 10
.aw off
.pm 0
5.1.4. RESELECTIO╬ Phasσ
.aw on
.pm 3
ááRESELECTIO╬ i≤ aε optiona∞ phasσ tha⌠ allow≤ ß targe⌠ t∩ reconnec⌠ t∩ aε ì
initiato≥ fo≥ thσ purposσ oµ continuinτ somσ operatioε tha⌠ wa≤ previousl∙ ì
starteΣ b∙ thσ initiato≥ bu⌠ wa≤ suspendeΣ b∙ thσ target¼ (i.e.¼ thσ targe⌠ ì
disconnecteΣ b∙ allowinτ ß BU╙ FRE┼ phasσ t∩ occu≥ beforσ thσ operatioε wa≤ ì
complete).
.cp 5
.aw off
.pm 0
5.1.4.1. RESELECTIO╬
.aw on
.pm 3
ááUpoε completinτ thσ ARBITRATIO╬ phase¼ thσ winninτ SCS╔ devicσ ha≤ botΦ thσ ì
BS┘ anΣ SE╠ signal≤ asserteΣ anΣ ha≤ delayeΣ a⌠ leas⌠ ß bu≤ clea≥ dela∙ plu≤ ß ì
bu≤ settlσ delay« Thσ winninτ SCS╔ devicσ become≤ ß targe⌠ b∙ assertinτ thσ ì
I/╧ signal« Thσ winninτ SCS╔ devicσ shal∞ als∩ se⌠ thσ DAT┴ BU╙ t∩ ß valuσ ì
tha⌠ i≤ thσ logica∞ O╥ oµ it≤ SCS╔ I─ bi⌠ anΣ thσ initiator'≤ SCS╔ I─ bit« ì
Thσ targe⌠ shal∞ wai⌠ a⌠ leas⌠ tw∩ deske≈ delay≤ anΣ releasσ thσ BS┘ signal« ì
Thσ targe⌠ shal∞ theε wai⌠ a⌠ leas⌠ ß bu≤ settlσ dela∙ beforσ lookinτ fo≥ ß ì
responsσ froφ thσ initiator.
ááThσ initiato≥ shal∞ determinσ tha⌠ i⌠ i≤ reselecteΣ wheε thσ SE╠ anΣ I/╧ ì
signal≤ anΣ it≤ SCS╔ I─ bi⌠ arσ truσ anΣ thσ BS┘ signa∞ i≤ falsσ fo≥ a⌠ leas⌠ ì
ß bu≤ settlσ delay« Thσ reselecteΣ initiato≥ ma∙ examinσ thσ DAT┴ BU╙ iε ì
orde≥ t∩ determinσ thσ SCS╔ I─ oµ thσ reselectinτ target« Thσ reselecteΣ ì
initiato≥ shal∞ theε asser⌠ thσ BS┘ signa∞ withiε ß selectioε abor⌠ timσ oµ ì
it≤ mos⌠ recen⌠ detectioε oµ beinτ reselected╗ thi≤ i≤ requireΣ fo≥ correc⌠ ì
operatioε oµ thσ timσ-ou⌠ procedure« Thσ initiato≥ shal∞ no⌠ responΣ t∩ ß ì
RESELECTIO╬ phasσ iµ baΣ parit∙ i≤ detected« Also¼ thσ initiato≥ shal∞ no⌠ ì
responΣ t∩ ß RESELECTIO╬ phasσ iµ othe≥ thaε tw∩ SCS╔ I─ bit≤ arσ oε thσ DAT┴ ì
BUS«
ááAfte≥ thσ targe⌠ detect≤ thσ BS┘ signa∞ i≤ true¼ i⌠ shal∞ als∩ asser⌠ thσ ì
BS┘ signa∞ anΣ wai⌠ a⌠ leas⌠ tw∩ deske≈ delay≤ anΣ theε releasσ thσ SE╠ ì
signal« Thσ targe⌠ ma∙ theε changσ thσ I/╧ signa∞ anΣ thσ DAT┴ BUS« Afte≥ ì
thσ reselecteΣ initiato≥ detect≤ thσ SE╠ signa∞ i≤ false¼ i⌠ shal∞ releasσ thσ ì
BS┘ signal« Thσ targe⌠ shal∞ continuσ assertinτ thσ BS┘ signa∞ unti∞ i⌠ ì
relinquishe≤ thσ SCS╔ bus.
.lm 3
ááNOTE║ Wheε thσ targe⌠ i≤ assertinτ thσ BS┘ signal¼ ß transmissioε linσ ì
ááphenomenoε knowε a≤ ß "wireΣ-O╥ glitchó ma∙ causσ thσ BS┘ signa∞ t∩ appea≥ ì
ááfalsσ fo≥ u≡ t∩ ß rounΣ-tri≡ propagatioε dela∙ followinτ thσ releasσ oµ thσ ì
ááBS┘ signa∞ b∙ thσ initiator« Thi≤ i≤ thσ reasoε wh∙ thσ BU╙ FRE┼ phasσ i≤ ì
áárecognizeΣ onl∙ afte≥ botΦ thσ BS┘ anΣ SE╠ signal≤ arσ continuousl∙ falsσ ì
ááfo≥ ß minimuφ oµ ß bu≤ settlσ delay« Cable≤ longe≥ thaε 2╡ meter≤ shoulΣ ì
ááno⌠ bσ useΣ eveε iµ thσ choseε driver¼ receiver¼ anΣ cablσ providσ adequatσ ì
áánoisσ margins¼ becausσ the∙ increasσ thσ duratioε oµ thσ glitcΦ anΣ coulΣ ìèáácausσ SCS╔ device≤ t∩ inadvertentl∙ detec⌠ thσ BU╙ FRE┼ phase.
.lm 1
.cp 15
.aw off
.pm 0
5.1.4.2. RESELECTION Time-out Procedure
.aw on
.pm 3
ááTw∩ optiona∞ RESELECTIO╬ timσ-ou⌠ procedure≤ arσ specifieΣ fo≥ clearinτ thσ ì
SCS╔ bu≤ durinτ ß RESELECTIO╬ phasσ iµ thσ targe⌠ wait≤ ß minimuφ oµ ß ì
selectioε timσ-ou⌠ dela∙ anΣ therσ ha≤ beeε n∩ BS┘ signa∞ responsσ froφ thσ ì
initiator║
áá(1⌐ Optionally¼ thσ targe⌠ shal∞ asser⌠ thσ RS╘ signa∞ (seσ 5.2.2).
áá(2⌐ Optionally¼ thσ targe⌠ shal∞ continuσ assertinτ thσ SE╠ anΣ I/╧ signal≤ ì
anΣ shal∞ releasσ al∞ DAT┴ BU╙ signals« Iµ thσ targe⌠ ha≤ no⌠ detecteΣ thσ ì
BS┘ signa∞ t∩ bσ truσ afte≥ a⌠ leas⌠ ß selectioε abor⌠ timσ plu≤ tw∩ deske≈ ì
delays¼ thσ targe⌠ shal∞ releasσ thσ SE╠ anΣ I/╧ signal≤ allowinτ thσ SCS╔ bu≤ ì
t∩ g∩ t∩ thσ BU╙ FRE┼ phase« SCS╔ device≤ tha⌠ responΣ t∩ thσ RESELECTIO╬ ì
phasσ shal∞ ensurσ tha⌠ thσ reselectioε wa≤ stil∞ valiΣ withiε ß selectioε ì
abor⌠ timσ oµ thei≥ assertioε oµ thσ BS┘ signal« Failurσ t∩ compl∙ witΦ thi≤ ì
requiremen⌠ coulΣ resul⌠ iε aε imprope≥ reselectioε (tw∩ initiator≤ connecteΣ ì
t∩ thσ samσ targe⌠ o≥ thσ wronτ initiato≥ connecteΣ t∩ ß target).
.cp 10
.aw off
.pm 0
5.1.5. Informatioε Transfe≥ Phases
.aw on
.pm 3
.lm 3
ááNOTE║ Thσ COMMAND¼ DATA¼ STATUS¼ anΣ MESSAG┼ phase≤ arσ al∞ groupeΣ ì
áátogethe≥ a≤ thσ informatioε transfe≥ phase≤ becausσ the∙ arσ al∞ useΣ t∩ ì
áátransfe≥ datß o≥ contro∞ informatioε viß thσ DAT┴ BUS« Thσ actua∞ conten⌠ ì
ááoµ thσ informatioε i≤ beyonΣ thσ scopσ oµ thi≤ section.
.lm 1
ááThσ C/D¼ I/O¼ anΣ MS╟ signal≤ arσ useΣ t∩ distinguisΦ betweeε thσ differen⌠ ì
informatioε transfe≥ phase≤ (seσ Tablσ ╡-1)« Thσ targe⌠ drive≤ thesσ threσ ì
signal≤ anΣ thereforσ control≤ al∞ change≤ froφ onσ phasσ t∩ another« Thσ ì
initiato≥ caε reques⌠ ß MESSAG┼ OU╘ phasσ b∙ assertinτ thσ AT╬ signal¼ whilσ ì
thσ targe⌠ caε causσ thσ BU╙ FRE┼ phasσ b∙ releasinτ thσ MSG¼ C/D¼ I/O¼ anΣ ì
BS┘ signals.
ááThσ informatioε transfe≥ phase≤ usσ onσ o≥ morσ REQ/AC╦ handshake≤ t∩ ì
contro∞ thσ informatioε transfer« EacΦ REQ/AC╦ handshakσ allow≤ thσ transfe≥ ì
oµ onσ bytσ oµ information« Durinτ thσ informatioε transfe≥ phase≤ thσ BS┘ ì
signa∞ shal∞ remaiε truσ anΣ thσ SE╠ signa∞ shal∞ remaiε false« Additionally¼ ì
durinτ thσ informatioε transfe≥ phases¼ thσ targe⌠ shal∞ continuousl∙ envelopσ ì
thσ REQ/AC╦ handshake(s⌐ witΦ thσ C/D¼ I/O¼ anΣ MS╟ signal≤ iε sucΦ ß manne≥ ì
tha⌠ thesσ contro∞ signal≤ arσ valiΣ fo≥ ß bu≤ settlσ dela∙ beforσ thσ ì
assertioε oµ thσ RE╤ signa∞ oµ thσ firs⌠ handshakσ anΣ remaiε valiΣ unti∞ ì
afte≥ thσ negatioε oµ thσ AC╦ signa∞ a⌠ thσ enΣ oµ thσ handshakσ oµ thσ las⌠ ì
transfe≥ oµ thσ phase.
.cp 15è.lm 3
ááIMPLEMENTOR╙ NOTES:
áá(1⌐ Afte≥ thσ negatioε oµ thσ AC╦ signa∞ oµ thσ las⌠ transfe≥ oµ thσ phase¼ ì
ááthσ targe⌠ ma∙ preparσ fo≥ ß ne≈ phasσ b∙ assertinτ o≥ negatinτ thσ C/D¼ ì
ááI/O¼ anΣ MS╟ signals« Thesσ signal≤ ma∙ bσ changeΣ togethe≥ o≥ ì
ááindividually« The∙ ma∙ bσ changeΣ iε an∙ orde≥ anΣ ma∙ bσ changeΣ morσ thaε ì
ááonce« I⌠ i≤ desirablσ tha⌠ eacΦ linσ changσ onl∙ once« ┴ ne≈ phasσ doe≤ ì
ááno⌠ begiε unti∞ thσ RE╤ signa∞ i≤ asserteΣ fo≥ thσ firs⌠ bytσ oµ thσ ne≈ ì
ááphase.
áá(2⌐ ┴ phasσ i≤ defineΣ a≤ endinτ wheε thσ C/D¼ I/O¼ o≥ MS╟ signal≤ changσ ì
ááafte≥ thσ negatioε oµ thσ AC╦ signal« Thσ timσ betweeε thσ enΣ oµ ß phasσ ì
ááanΣ thσ assertioε oµ thσ RE╤ signa∞ beginninτ ß ne≈ phasσ i≤ undefined« Aε ì
ááinitiato≥ i≤ alloweΣ t∩ anticipatσ ß ne≈ phasσ baseΣ oε thσ previou≤ phase¼ ì
ááthσ expecteΣ ne≈ phase¼ anΣ earl∙ informatioε provideΣ b∙ change≤ iε thσ ì
ááC/D¼ I/O¼ anΣ MS╟ signals« However¼ thσ anticipateΣ phasσ i≤ no⌠ valiΣ ì
ááunti∞ thσ RE╤ signa∞ i≤ asserteΣ a⌠ thσ beginninτ oµ ß thσ nex⌠ phase.
.lm 1
.cp 20
.aw off
.pm 0
Table 5-1: Information Transfer Phases
==============================================================================
Signal
-----------
MSG C/D I/O Phase Name Direction Of Transfer Comment
------------------------------------------------------------------------------
0 0 0 DATA OUT Initiator to target \ Data
0 0 1 DATA IN Initiator from target / Phase
0 1 0 COMMAND Initiator to target
0 1 1 STATUS Initiator from target
1 0 0 *
1 0 1 *
1 1 0 MESSAGE OUT Initiator to target \ Message
1 1 1 MESSAGE IN Initiator from target / Phase
==============================================================================
.aw on
.pm 3
ááKey║ ░ ╜ False¼ ▒ ╜ True¼ ¬ ╜ ReserveΣ fo≥ futurσ standardization.
.cp 5
.aw off
.pm 0
5.1.5.1. Asynchronou≤ Information Transfer
.aw on
.pm 3
ááThσ targe⌠ shal∞ contro∞ thσ directioε oµ informatioε transfe≥ b∙ mean≤ oµ ì
thσ I/╧ signal« Wheε thσ I/╧ signa∞ i≤ true¼ informatioε shal∞ bσ transferreΣ ì
froφ thσ targe⌠ t∩ thσ initiator« Wheε thσ I/╧ signa∞ i≤ false¼ informatioε ì
shal∞ bσ transferreΣ froφ thσ initiato≥ t∩ thσ target.
ááIµ thσ I/╧ signa∞ i≤ truσ (transfe≥ t∩ thσ initiator)¼ thσ targe⌠ shal∞ ì
firs⌠ drivσ thσ DB(╖-0,P⌐ signal≤ t∩ thei≥ desireΣ values¼ dela∙ a⌠ leas⌠ onσ ì
deske≈ dela∙ plu≤ ß cablσ ske≈ delay¼ theε asser⌠ thσ RE╤ signal« Thσ DB(╖-ì
0,P⌐ signal≤ shal∞ remaiε valiΣ unti∞ thσ AC╦ signa∞ i≤ truσ a⌠ thσ target« ì
Thσ initiato≥ shal∞ reaΣ thσ DB(╖-0,P⌐ signal≤ afte≥ thσ RE╤ signa∞ i≤ true¼ ì
theε indicatσ it≤ acceptancσ oµ thσ datß b∙ assertinτ thσ AC╦ signal« Wheε ì
thσ AC╦ signa∞ become≤ truσ a⌠ thσ target¼ thσ targe⌠ ma∙ changσ o≥ releasσ ì
thσ DB(╖-0,P⌐ signal≤ anΣ shal∞ negatσ thσ RE╤ signal« Afte≥ thσ RE╤ signa∞ ì
i≤ falsσ thσ initiato≥ shal∞ theε negatσ thσ AC╦ signal« Afte≥ thσ AC╦ signa∞ ì
i≤ falsσ thσ targe⌠ ma∙ continuσ thσ transfe≥ b∙ drivinτ thσ DB(╖-0,P⌐ signal≤ ì
anΣ assertinτ thσ RE╤ signal¼ a≤ describeΣ above.
ááIµ thσ I/╧ signa∞ i≤ falsσ (transfe≥ t∩ thσ target⌐ thσ targe⌠ shal∞ reques⌠ ì
informatioε b∙ assertinτ thσ RE╤ signal« Thσ initiato≥ shal∞ drivσ thσ DB(╖-ìè0,P⌐ signal≤ t∩ thei≥ desireΣ values¼ dela∙ a⌠ leas⌠ onσ deske≈ dela∙ plu≤ ß ì
cablσ ske≈ dela∙ anΣ asser⌠ thσ AC╦ signal« Thσ initiato≥ shal∞ continuσ t∩ ì
drivσ thσ DB(╖-0,P⌐ signal≤ unti∞ thσ RE╤ signa∞ i≤ false« Wheε thσ AC╦ ì
signa∞ become≤ truσ a⌠ thσ target¼ thσ targe⌠ shal∞ reaΣ thσ DB(╖-0,P)¼ ì
signal≤ theε negatσ thσ RE╤ signal« Wheε thσ RE╤ signa∞ become≤ falsσ a⌠ thσ ì
initiator¼ thσ initiato≥ ma∙ changσ o≥ releasσ thσ DB(╖-0,P⌐ signal≤ anΣ shal∞ ì
negatσ thσ AC╦ signal« Thσ targe⌠ ma∙ continuσ thσ transfe≥ b∙ assertinτ thσ ì
RE╤ signal¼ a≤ describeΣ above.
.cp 5
.aw off
.pm 0
5.1.5.2. Synchronou≤ Datß Transfe≥
.aw on
.pm 3
ááSynchronou≤ datß transfe≥ i≤ optiona∞ anΣ i≤ onl∙ useΣ iε datß phases« I⌠ ì
shal∞ bσ useΣ iε ß datß phasσ iµ ß synchronou≤ datß transfe≥ agreemen⌠ ha≤ ì
beeε establisheΣ (seσ 5.6.21)« Thσ agreemen⌠ specifie≤ thσ REQ/AC╦ offse⌠ anΣ ì
thσ minimuφ transfe≥ period.
ááThσ REQ/AC╦ offse⌠ specifie≤ thσ maximuφ numbe≥ oµ RE╤ pulse≤ tha⌠ caε bσ ì
sen⌠ b∙ thσ targe⌠ iε advancσ oµ thσ numbe≥ oµ AC╦ pulse≤ receiveΣ froφ thσ ì
initiator¼ establishinτ ß pacinτ mechanism« Iµ thσ numbe≥ oµ RE╤ pulse≤ ì
exceed≤ thσ numbe≥ oµ AC╦ pulse≤ b∙ thσ REQ/AC╦ offset¼ thσ targe⌠ shal∞ no⌠ ì
asser⌠ thσ RE╤ signa∞ unti∞ afte≥ thσ leadinτ edgσ oµ thσ nex⌠ AC╦ pulsσ i≤ ì
received« ┴ requiremen⌠ fo≥ successfu∞ completioε oµ thσ datß phasσ i≤ tha⌠ ì
thσ numbe≥ oµ AC╦ anΣ RE╤ pulse≤ bσ equal«
ááThσ targe⌠ shal∞ asser⌠ thσ RE╤ signa∞ fo≥ ß minimuφ oµ aε assertioε period« ì
Thσ targe⌠ shal∞ theε wai⌠ a⌠ leas⌠ thσ greate≥ oµ ß transfe≥ perioΣ froφ thσ ì
las⌠ transitioε oµ thσ RE╤ signa∞ t∩ truσ o≥ ß minimuφ oµ ß negatioε perioΣ ì
froφ thσ las⌠ transitioε oµ thσ RE╤ signa∞ t∩ falsσ beforσ agaiε assertinτ thσ ì
RE╤ signal.
ááThσ initiato≥ shal∞ senΣ onσ pulsσ oε thσ AC╦ signa∞ fo≥ eacΦ RE╤ pulsσ ì
received« Thσ AC╦ signa∞ ma∙ bσ asserteΣ a≤ sooε a≤ thσ leadinτ edgσ oµ thσ ì
correspondinτ RE╤ pulsσ ha≤ beeε received« Thσ initiato≥ shal∞ asser⌠ thσ AC╦ ì
signa∞ fo≥ ß minimuφ oµ aε assertioε period« Thσ initiato≥ shal∞ wai⌠ a⌠ ì
leas⌠ thσ greate≥ oµ ß transfe≥ perioΣ froφ thσ las⌠ transitioε oµ thσ AC╦ ì
signa∞ t∩ truσ o≥ fo≥ ß minimuφ oµ ß negatioε perioΣ froφ thσ las⌠ transitioε ì
oµ thσ AC╦ signa∞ t∩ falsσ beforσ assertinτ thσ AC╦ signal.
ááIµ thσ I/╧ signa∞ i≤ truσ (transfe≥ t∩ thσ initiator)¼ thσ targe⌠ shal∞ ì
firs⌠ drivσ thσ DB(╖-0,P⌐ signal≤ t∩ thei≥ desireΣ values¼ wai⌠ a⌠ leas⌠ onσ ì
deske≈ dela∙ plu≤ onσ cablσ ske≈ delay¼ theε asser⌠ thσ RE╤ signals« Thσ ì
DB(╖-0,P⌐ signal≤ shal∞ bσ helΣ valiΣ fo≥ ß minimuφ oµ onσ deske≈ dela∙ plu≤ ì
onσ cablσ ske≈ dela∙ plu≤ onσ holΣ timσ afte≥ thσ assertioε oµ thσ RE╤ signal« ì
Thσ targe⌠ shal∞ asser⌠ thσ RE╤ signa∞ fo≥ ß minimuφ oµ aε assertioε period« ì
Thσ targe⌠ ma∙ theε negatσ thσ RE╤ signa∞ anΣ changσ o≥ releasσ thσ DB(╖-0,P⌐ ì
signals« Thσ initiato≥ shal∞ reaΣ thσ valuσ oε thσ DB(╖-0,P⌐ signal≤ withiε ì
onσ holΣ timσ oµ thσ transitioε oµ thσ RE╤ signa∞ t∩ true« Thσ initiato≥ ì
shal∞ theε responΣ witΦ aε AC╦ pulse.
ááIµ thσ I/╧ signa∞ i≤ falsσ (transfe≥ t∩ thσ target)¼ thσ initiato≥ shal∞ ì
transfe≥ onσ bytσ fo≥ eacΦ RE╤ pulsσ received« Afte≥ receivinτ thσ leadinτ ì
edgσ oµ ß RE╤ pulse¼ thσ initiato≥ shal∞ firs⌠ drivσ thσ DB(╖-0,P⌐ signal≤ t∩ ì
thei≥ desireΣ values¼ dela∙ a⌠ leas⌠ onσ deske≈ dela∙ plu≤ onσ cablσ ske≈ ì
delay¼ theε asser⌠ thσ AC╦ signal« Thσ initiato≥ shal∞ holΣ thσ DB(╖-0,P⌐ ì
signal≤ valiΣ fo≥ a⌠ leas⌠ onσ deske≈ dela∙ plu≤ onσ cablσ ske≈ dela∙ plu≤ onσ ì
holΣ timσ afte≥ thσ assertioε oµ thσ AC╦ signal« Thσ initiato≥ shal∞ asser⌠ ìèthσ AC╦ signa∞ fo≥ ß minimuφ oµ aε assertioε period« Thσ initiato≥ ma∙ theε ì
negatσ thσ AC╦ signa∞ anΣ ma∙ changσ o≥ releasσ thσ DB(╖-0,P⌐ signals« Thσ ì
targe⌠ shal∞ reaΣ thσ valuσ oµ thσ DB(╖-0,P⌐ signal≤ withiε onσ holΣ timσ oµ ì
thσ transitioε oµ thσ AC╦ signa∞ t∩ true.
.lm 3
ááIMPLEMENTOR╙ NOTES║ Thσ descriptioε iε SCS╔-▒ alloweΣ somσ implementor≤ t∩ ì
áápresumσ tha⌠ thσ leadinτ edgσ oµ thσ firs⌠ RE╤ pulsσ beyonΣ thσ REQ/AC╦ ì
ááoffse⌠ agreemen⌠ woulΣ no⌠ occu≥ unti∞ afte≥ thσ trailinτ edgσ oµ thσ las⌠ ì
ááAC╦ pulsσ withiε thσ agreement« Device≤ implementeΣ witΦ thi≤ understandinτ ì
ááma∙ bσ subjec⌠ t∩ datß destructioε wheε iε synchronou≤ datß transfe≥ modσ ì
ááwitΦ device≤ tha⌠ issuσ thσ leadinτ edgσ oµ thσ nex⌠ RE╤ pulse¼ a⌠ thσ ì
ááboundar∙ oµ thσ agreement¼ a≤ sooε a≤ thσ leadinτ edgσ oµ thσ las⌠ AC╦ pulsσ ì
ááwithiε thσ agreemen⌠ i≤ received« Implementor≤ usinτ device≤ oµ thσ forme≥ ì
áátypσ iε initiato≥ design≤ ma∙ insurσ datß integrit∙ b∙ restrictinτ thσ ì
áásynchronou≤ offse⌠ agreemen⌠ t∩ value≤ smalle≥ thaε thσ maximuφ nominall∙ ì
ááoffereΣ b∙ thei≥ device.
.lm 1
.cp 5
.aw off
.pm 0
5.1.5.3. Widσ Datß Transfe≥
.aw on
.pm 3
ááWidσ datß transfe≥ i≤ optiona∞ anΣ ma∙ bσ useΣ iε thσ DAT┴ phasσ onl∙ iµ ß ì
nonzer∩ widσ datß transfe≥ agreemen⌠ i≤ iε effec⌠ (seσ WID┼ DAT┴ TRANSFE╥ ì
REQUES╘ message¼ 5.6.23)« Thσ message≤ determinσ thσ usσ oµ widσ modσ b∙ botΦ ì
SCS╔ device≤ anΣ establisΦ ß datß patΦ widtΦ t∩ bσ useΣ durinτ thσ DAT┴ phase.
.cp 5
ááWidσ datß transfer≤ oµ 1╢¡ o≥ 3▓-bit≤ ma∙ bσ established« AlthougΦ no⌠ ì
mandatory¼ i⌠ i≤ recommendeΣ tha⌠ target≤ anΣ initiator≤ tha⌠ suppor⌠ 3▓-bi⌠ ì
widσ transfer≤ als∩ suppor⌠ 1╢-bi⌠ widσ transfer≤ a≤ well« Al∞ SCS╔ device≤ ì
shal∞ suppor⌠ ╕-bi⌠ datß transfers«
.cp 5
ááDurinτ 1╢-bi⌠ widσ datß transfers¼ thσ firs⌠ logica∞ datß bytσ fo≥ eacΦ datß ì
phasσ shal∞ bσ transferreΣ acros≤ thσ DB(╖-0,P⌐ signal≤ oε thσ ┴ cablσ anΣ thσ ì
seconΣ logica∞ datß bytσ shal∞ bσ transferreΣ acros≤ thσ DB(1╡-8,P1⌐ signal≤ ì
oε thσ ┬ cable« Subsequen⌠ pair≤ oµ datß byte≤ arσ likewisσ transferreΣ iε ì
paralle∞ acros≤ thσ ┴ anΣ ┬ cable≤ (seσ Figurσ ╡-1).
.lm 3
ááIMPLEMENTOR╙ NOTE║ X3T9.▓ i≤ documentinτ aε alternatσ 1╢-bi⌠ singlσ-cablσ ì
áásolutioε anΣ aε alternatσ 3▓-bi⌠ solutioε anΣ expect≤ t∩ bσ ablσ t∩ removσ ì
ááthσ ┬ cablσ definitioε iε ß futurσ versioε oµ SCSI.
.lm 1
.cp 5
ááDurinτ 3▓-bi⌠ widσ datß transfers¼ thσ firs⌠ logica∞ datß bytσ fo≥ eacΦ datß ì
phasσ shal∞ bσ transferreΣ acros≤ thσ DB(╖-0,P⌐ signal≤ oε thσ ┴ cablσ anΣ thσ ì
second¼ third¼ anΣ fourtΦ logica∞ datß byte≤ shal∞ bσ transferreΣ acros≤ thσ ì
DB(1╡-8,P1)¼ DB(2│-16,P2)¼ anΣ DB(3▒-24,P3⌐ signals¼ respectively¼ oε thσ ┬ ì
cable« Subsequen⌠ group≤ oµ fou≥ datß byte≤ arσ likewisσ transferreΣ iε ì
paralle∞ acros≤ thσ ┴ anΣ ┬ cable≤ (seσ Figurσ ╡-1).
.cp 25è.aw off
.pm 0
.. [Figure 5-1, Byte Ordering goes here]
.. Figure 5-1 Byte Ordering
.aw off
.lm 6
áááááWheε transferrinτ byte≤ W¼ X¼ ┘ anΣ ┌ acros≤ thσ three bu≤ widths,
áááááthe∙ arσ transferreΣ a≤ showε below:
.lh 6
áááááHanΣ¡ ╕-bi⌠ 1╢-bi⌠ 3▓-bit
áááááshakσ _____▀ ______
ááááá ú ┴ Cablσ ┬ Cablσ ┴ Cablσ » ┬ Cablσ ▄ ┴ Cable
ááááá ┌───────¢┐ ┌───────┬───────¢┐ ┌───────┬───────┬───────┬───────┐
ááááá ▒ ¢│ ╫ ¢│ ¢│ ╪ ¢│ ╫ ¢│ ¢│ ┌ ¢│ ┘ ¢│ ╪ ¢│ ╫ │
ááááá ├───────¢┤ ├───────│───────¢┤ └───────┴───────┴───────┴───────┘
ááááá ▓ ¢│ ╪ ¢│ ¢│ ┌ ¢│ ┘ ¢│ 31...2┤ 23...1╢ 15....╕ 7.....0
ááááá ├───────¢┤ └───────┴───────¢┘
ááááá │ ¢│ ┘ ¢│ 15....╕ 7.....░ Bi⌠ Number
ááááá ├───────¢┤
ááááá ┤ ¢│ ┌ │ Bi⌠ Number
ááááá └───────┘
ááááá 7.....0
ááááá Bit Number
.lh 8
ááááá NOTE║ Thi≤ figurσ doe≤ no⌠ represen⌠ ho≈ thesσ byte≤ arσ storeΣ in
ááááá thσ initiator'≤ memory¼ whicΦ ma∙ bσ different.
.lm 1
.aw on
Figure 5-1: Widσ SCS╔ Bytσ Ordering
.aw on
.pm 3
.cp 5
ááIµ thσ las⌠ datß bytσ transferreΣ fo≥ ß commanΣ doe≤ no⌠ fal∞ oε thσ DB(1╡-ì
8,P1⌐ signal≤ fo≥ ß 1╢-bi⌠ widσ transfe≥ o≥ thσ DB(3▒-24,P3⌐ signal≤ fo≥ ß 3▓-ì
bi⌠ widσ transfer¼ theε thσ value≤ oµ thσ remaininτ highe≥-numbereΣ bit≤ arσ ì
undefined« However¼ parit∙ bit≤ fo≥ thesσ undefineΣ byte≤ shal∞ bσ valiΣ fo≥ ì
whateve≥ datß i≤ placeΣ oε thσ bus«
.cp 6
ááT∩ ensurσ prope≥ datß integrity¼ certaiε sequencσ requirement≤ shal∞ bσ me⌠ ì
betweeε thσ REQ/AC╦ handshake≤ oε thσ ┴ cablσ anΣ thσ REQB/ACK┬ handshake≤ oε ì
thσ ┬ cable:
áá(1⌐ Thσ REQ┬ anΣ ACK┬ signal≤ shal∞ onl∙ bσ asserteΣ durinτ datß phase≤ ì
whilσ ß nonzer∩ widσ datß transfe≥ agreemen⌠ i≤ iε effect« Thesσ signal≤ ì
shal∞ no⌠ bσ asserteΣ durinτ othe≥ phases.
.cp 5
áá(2⌐ Thσ samσ informatioε transfe≥ modσ (asynchronou≤ o≥ synchronous⌐ shal∞ ì
bσ useΣ fo≥ botΦ thσ ┴ cablσ anΣ thσ ┬ cable« Iµ synchronou≤ datß transfe≥ ì
modσ i≤ iε effect¼ thσ samσ REQ/AC╦ offse⌠ anΣ transfe≥ perioΣ shal∞ bσ useΣ ì
fo≥ botΦ cables.
.cp 7
áá(3⌐ Thσ informatioε transfe≥ procedure≤ defineΣ iε 5.1.5.▒ anΣ 5.1.5.▓ fo≥ ì
thσ ┴ cablσ (thσ REQ¼ ACK¼ anΣ DB(╖-0,P⌐ signals⌐ shal∞ als∩ appl∙ t∩ thσ ┬ ì
cablσ (thσ REQB¼ ACKB¼ anΣ DB(3▒-8,P1,P2,P3⌐ signals)« Thσ onl∙ mean≤ ì
availablσ fo≥ ß targe⌠ t∩ managσ thσ timinτ relationshi≡ betweeε thσ signal≤ ì
oε thσ tw∩ cable≤ i≤ it≤ managemen⌠ oµ thσ RE╤ anΣ REQ┬ signals« Similarly¼ ì
thσ onl∙ mean≤ fo≥ thσ initiato≥ t∩ managσ thσ timinτ betweeε thσ tw∩ cable≤ ì
i≤ it≤ managemen⌠ oµ thσ AC╦ anΣ ACK┬ signals.
.cp 5èáá(4⌐ Thσ targe⌠ shal∞ ensurσ tha⌠ thσ numbe≥ oµ REQ/AC╦ handshake≤ anΣ thσ ì
numbe≥ oµ REQB/ACK┬ handshake≤ iε ß datß phasσ arσ equa∞ beforσ i⌠ change≤ t∩ ì
anothe≥ phase« Thσ targe⌠ shal∞ no⌠ changσ thσ phasσ unti∞ thσ AC╦ anΣ ACK┬ ì
signal≤ havσ botΦ becomσ falsσ fo≥ thσ las⌠ REQ/AC╦ handshakσ anΣ thσ las⌠ ì
REQB/ACK┬ handshake.
.cp 10
.pm 0
.lm 3
ááIMPLEMENTOR╙ NOTE║ Iµ an∙ violation≤ oµ thesσ rule≤ arσ detecteΣ b∙ thσ ì
áátarget¼ thσ targe⌠ ma∙ attemp⌠ t∩ enΣ thσ datß phasσ anΣ returε CHEC╦ ì
ááCONDITIO╬ status« Iµ i⌠ i≤ impossiblσ t∩ correctl∙ terminatσ thσ datß ì
ááphase¼ thσ targe⌠ ma∙ abnormall∙ terminatσ thσ I/╧ proces≤ b∙ aε unexpecteΣ ì
áádisconnect« Iµ an∙ violation≤ oµ thesσ rule≤ arσ detecteΣ b∙ thσ initiator¼ ì
ááthσ initiato≥ ma∙ attemp⌠ t∩ senΣ aε INITIATO╥ DETECTE─ ERRO╥ messagσ t∩ thσ ì
áátarget« Iµ thσ initiato≥ i≤ unablσ t∩ terminatσ thσ I/╧ proces≤ normally¼ ì
áái⌠ ma∙ generatσ thσ rese⌠ condition.
.pm 3
.lm 1
.cp 10
.aw off
.pm 0
5.1.6. COMMAN─ Phase
.aw on
.pm 3
ááThσ COMMAN─ phasσ allow≤ thσ targe⌠ t∩ reques⌠ commanΣ informatioε froφ thσ ì
initiator.
ááThσ targe⌠ shal∞ asser⌠ thσ C/─ signa∞ anΣ negatσ thσ I/╧ anΣ MS╟ signal≤ ì
durinτ thσ REQ/AC╦ handshake(s⌐ oµ thi≤ phase.
.cp 10
.aw off
.pm 0
5.1.7. Data Phase
.aw on
.pm 3
ááThσ datß phasσ i≤ ß terφ tha⌠ encompasse≤ botΦ thσ DAT┴ I╬ phasσ anΣ thσ ì
DAT┴ OU╘ phase.
.cp 5
.aw off
.pm 0
5.1.7.1. DAT┴ I╬ Phase
.aw on
.pm 3
ááThσ DAT┴ I╬ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ datß bσ sen⌠ t∩ thσ ì
initiato≥ froφ thσ target.
ááThσ targe⌠ shal∞ asser⌠ thσ I/╧ signa∞ anΣ negatσ thσ C/─ anΣ MS╟ signal≤ ì
durinτ thσ REQ/AC╦ handshake(s⌐ oµ thi≤ phase.
.cp 5
.aw off
.pm 0
5.1.7.2. DAT┴ OU╘ Phase
.aw on
.pm 3
ááThσ DAT┴ OU╘ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ datß bσ sen⌠ froφ thσ ì
initiato≥ t∩ thσ target.
ááThσ targe⌠ shal∞ negatσ thσ C/D¼ I/O¼ anΣ MS╟ signal≤ durinτ thσ REQ/AC╦ ì
handshake(s⌐ oµ thi≤ phase.
.cp 10
.aw off
.pm 0
5.1.8. STATU╙ Phase
.aw on
.pm 3
ááThσ STATU╙ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ statu≤ informatioε bσ ì
sen⌠ froφ thσ targe⌠ t∩ thσ initiator.
ááThσ targe⌠ shal∞ asser⌠ thσ C/─ anΣ I/╧ signal≤ anΣ negatσ thσ MS╟ signa∞ ì
durinτ thσ REQ/AC╦ handshakσ oµ thi≤ phase.
.cp 10è.aw off
.pm 0
5.1.9. Messagσ Phase
.aw on
.pm 3
ááThσ messagσ phasσ i≤ ß terφ tha⌠ reference≤ eithe≥ ß MESSAG┼ IN¼ o≥ ß ì
MESSAG┼ OU╘ phase« Multiplσ message≤ ma∙ bσ sen⌠ durinτ eithe≥ phase« Thσ ì
firs⌠ bytσ transferreΣ iε eithe≥ oµ thesσ phase≤ shal∞ bσ eithe≥ ß singlσ-bytσ ì
messagσ o≥ thσ firs⌠ bytσ oµ ß multiplσ-bytσ message« Multiplσ-bytσ message≤ ì
shal∞ bσ wholl∙ containeΣ withiε ß singlσ messagσ phase.
.cp 5
.aw off
.pm 0
5.1.9.1. MESSAG┼ I╬ Phase
.aw on
.pm 3
ááThσ MESSAG┼ I╬ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ message(s⌐ bσ sen⌠ t∩ ì
thσ initiato≥ froφ thσ target.
ááThσ targe⌠ shal∞ asser⌠ thσ C/D¼ I/O¼ anΣ MS╟ signal≤ durinτ thσ REQ/AC╦ ì
handshake(s⌐ oµ thi≤ phase.
.cp 5
.aw off
.pm 0
5.1.9.2. MESSAG┼ OU╘ Phase
.aw on
.pm 3
ááThσ MESSAG┼ OU╘ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ message(s⌐ bσ sen⌠ ì
froφ thσ initiato≥ t∩ thσ target« Thσ targe⌠ invoke≤ thi≤ phasσ iε responsσ ì
t∩ thσ attentioε conditioε createΣ b∙ thσ initiato≥ (seσ 5.2.1).
ááThσ targe⌠ shal∞ asser⌠ thσ C/─ anΣ MS╟ signal≤ anΣ negatσ thσ I/╧ signa∞ ì
durinτ thσ REQ/AC╦ handshake(s⌐ oµ thi≤ phase« Thσ targe⌠ shal∞ handshakσ ì
byte(s⌐ iε thi≤ phasσ unti∞ thσ AT╬ signa∞ i≤ negated¼ excep⌠ wheε rejectinτ ß ì
message.
ááIµ thσ targe⌠ detect≤ onσ o≥ morσ parit∙ error(s⌐ oε thσ messagσ byte(s⌐ ì
received¼ i⌠ ma∙ indicatσ it≤ desirσ t∩ retr∙ thσ message(s⌐ b∙ assertinτ thσ ì
RE╤ signa∞ afte≥ detectinτ thσ AT╬ signa∞ ha≤ gonσ falsσ anΣ prio≥ t∩ changinτ ì
t∩ an∙ othe≥ phase« Thσ initiator¼ upoε detectinτ thi≤ condition¼ shal∞ rσ-ì
senΣ al∞ oµ thσ previou≤ messagσ byte(s⌐ iε thσ samσ orde≥ a≤ previousl∙ sen⌠ ì
durinτ thi≤ phase« Wheε rσ-sendinτ morσ thaε onσ messagσ byte¼ thσ initiato≥ ì
shal∞ asser⌠ thσ AT╬ signa∞ a⌠ leas⌠ tw∩ deske≈ delay≤ prio≥ t∩ assertinτ thσ ì
AC╦ signa∞ oε thσ firs⌠ bytσ anΣ shal∞ maintaiε thσ AT╬ signa∞ asserteΣ unti∞ ì
thσ las⌠ bytσ i≤ sen⌠ a≤ describeΣ iε 5.2.1.
ááThσ targe⌠ ma∙ ac⌠ oε message≤ a≤ receiveΣ a≤ lonτ a≤ n∩ parit∙ erro≥ i≤ ì
detecteΣ anΣ ma∙ ignorσ al∞ remaininτ message≤ sen⌠ unde≥ onσ AT╬ conditioε ì
afte≥ ß parit∙ erro≥ i≤ detected« Wheε ß sequencσ oµ message≤ i≤ rσ-sen⌠ b∙ ì
aε initiato≥ becausσ oµ ß targe⌠ detecteΣ parit∙ error¼ thσ targe⌠ shal∞ no⌠ ì
ac⌠ oε an∙ messagσ whicΦ i⌠ acteΣ oε thσ firs⌠ timσ received«
.cp3
ááIµ thσ targe⌠ receive≤ al∞ oµ thσ messagσ byte(s⌐ successfull∙ (i.e.¼ n∩ ì
parit∙ errors)¼ i⌠ shal∞ indicatσ tha⌠ i⌠ doe≤ no⌠ wisΦ t∩ retr∙ b∙ changinτ ì
t∩ an∙ informatioε transfe≥ phasσ othe≥ thaε thσ MESSAG┼ OU╘ phasσ anΣ ì
transfe≥ a⌠ leas⌠ onσ byte« Thσ targe⌠ ma∙ als∩ indicatσ tha⌠ i⌠ ha≤ ì
successfull∙ receiveΣ thσ messagσ byte(s⌐ b∙ changinτ t∩ thσ BU╙ FRE┼ phasσ ì
(e.g.¼ ABOR╘ o≥ BU╙ DEVIC┼ RESE╘ messages).
.cp 10è.aw off
.pm 0
5.1.10. Signa∞ Restriction≤ Betweeε Phases
.aw on
.pm 3
ááWheε thσ SCS╔ bu≤ i≤ betweeε tw∩ informatioε transfe≥ phases¼ thσ followinτ ì
restriction≤ shal∞ appl∙ t∩ thσ SCS╔ bu≤ signals:
áá(1⌐ Thσ BSY¼ SEL¼ REQ¼ REQB¼ AC╦ anΣ ACK┬ signal≤ shal∞ no⌠ change.
áá(2⌐ Thσ C/D¼ I/O¼ MSG¼ anΣ DAT┴ BU╙ signal≤ ma∙ change« Wheε switchinτ thσ ì
DAT┴ BU╙ directioε froφ ou⌠ (initiato≥ driving⌐ t∩ iε (targe⌠ driving)¼ thσ ì
targe⌠ shal∞ dela∙ drivinτ thσ DAT┴ BU╙ b∙ a⌠ leas⌠ ß datß releasσ dela∙ plu≤ ì
ß bu≤ settlσ dela∙ afte≥ assertinτ thσ I/╧ signa∞ anΣ thσ initiato≥ shal∞ ì
releasσ thσ DAT┴ BU╙ n∩ late≥ thaε ß datß releasσ dela∙ afte≥ thσ transitioε ì
oµ thσ I/╧ signa∞ t∩ true« Wheε switchinτ thσ DAT┴ BU╙ directioε froφ iε ì
(targe⌠ driving⌐ t∩ ou⌠ (initiato≥ driving)¼ thσ targe⌠ shal∞ releasσ thσ DAT┴ ì
BU╙ n∩ late≥ thaε ß deske≈ dela∙ afte≥ negatinτ thσ I/╧ signal.
áá(3⌐ Thσ AT╬ anΣ RS╘ signal≤ ma∙ changσ a≤ defineΣ unde≥ thσ description≤ fo≥ ì
thσ attentioε conditioε (seσ 5.2.1⌐ anΣ rese⌠ conditioε (seσ 5.2.2).
.lm 1
.cp 20
.aw off
.pm 0
5.2. SCS╔ Bu≤ Conditions
.aw on
.pm 3
ááThσ SCS╔ bu≤ ha≤ tw∩ asynchronou≤ conditions╗ thσ attentioε conditioε anΣ ì
thσ rese⌠ condition« Thesσ condition≤ causσ thσ SCS╔ devicσ t∩ perforφ ì
certaiε action≤ anΣ caε alte≥ thσ phasσ sequence.
ááFurthermore¼ aε SCS╔ devicσ ma∙ no⌠ al∞ bσ powereΣ oε a⌠ thσ samσ time« ì
Thi≤ standarΣ doe≤ no⌠ addres≤ powe≥ sequencinτ issues« However¼ eacΦ SCS╔ ì
device¼ a≤ i⌠ i≤ powereΣ on¼ shoulΣ perforφ appropriatσ interna∞ rese⌠ ì
operation≤ anΣ interna∞ tes⌠ operations« I⌠ i≤ recommendeΣ tha⌠ followinτ ß ì
powe≥-oε t∩ selectioε timσ afte≥ powe≥ i≤ applied¼ SCS╔ target≤ bσ ablσ t∩ ì
responΣ witΦ appropriatσ statu≤ anΣ sensσ datß t∩ thσ TES╘ UNI╘ READY¼ ì
INQUIRY¼ anΣ REQUES╘ SENS┼ commands.
.cp 10
.aw off
.pm 0
5.2.1. Attentioε Condition
.aw on
.pm 3
ááThσ attentioε conditioε allow≤ aε initiato≥ t∩ inforφ ß targe⌠ tha⌠ thσ ì
initiato≥ ha≤ ß messagσ ready« Thσ targe⌠ ma∙ ge⌠ thi≤ messagσ b∙ performinτ ì
ß MESSAG┼ OU╘ phase.
ááThσ initiato≥ create≤ thσ attentioε conditioε b∙ assertinτ AT╬ a⌠ an∙ timσ ì
excep⌠ durinτ thσ ARBITRATIO╬ o≥ BU╙ FRE┼ phases.
ááThσ initiato≥ shal∞ asser⌠ thσ AT╬ signa∞ a⌠ leas⌠ tw∩ deske≈ delay≤ beforσ ì
negatinτ thσ AC╦ signa∞ fo≥ thσ las⌠ bytσ transferreΣ iε ß bu≤ phasσ fo≥ thσ ì
attentioε conditioε t∩ bσ honoreΣ beforσ transitioε t∩ ß ne≈ bu≤ phase« ì
Assertinτ thσ AT╬ signa∞ late≥ migh⌠ no⌠ bσ honoreΣ unti∞ ß late≥ bu≤ phasσ ì
anΣ theε ma∙ no⌠ resul⌠ iε thσ expecteΣ action« Thσ initiato≥ shal∞ negatσ ì
thσ AT╬ signa∞ a⌠ leas⌠ tw∩ deske≈ delay≤ beforσ assertinτ thσ AC╦ signa∞ ì
whilσ transferrinτ thσ las⌠ bytσ oµ thσ message≤ indicateΣ witΦ ß "Yesó iε ì
Tablσ ╡-2« Iµ thσ targe⌠ detect≤ tha⌠ thσ initiato≥ faileΣ t∩ mee⌠ thi≤ ì
requirement¼ theε thσ targe⌠ shal∞ g∩ t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ ì
disconnect¼ 5.1.1).
.cp 4
áá┴ targe⌠ shal∞ responΣ witΦ MESSAG┼ OU╘ phasσ a≤ follows:
áá(1⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß COMMAN─ phase¼ thσ targe⌠ shal∞ ì
ente≥ MESSAG┼ OU╘ phasσ afte≥ transferrinτ par⌠ o≥ al∞ oµ thσ commanΣ ì
descripto≥ blocδ bytes.è.cp 5
áá(2⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß DAT┴ phase¼ thσ targe⌠ shal∞ ì
ente≥ MESSAG┼ OU╘ phasσ a⌠ thσ target'≤ earlies⌠ conveniencσ (often¼ bu⌠ no⌠ ì
necessaril∙ oε ß logica∞ blocδ boundary)« Thσ initiato≥ shal∞ continuσ ì
REQ/AC╦ handshake≤ unti∞ i⌠ detect≤ thσ phasσ change«
.cp 5
áá(3⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß STATU╙ phase¼ thσ targe⌠ shal∞ ì
ente≥ MESSAG┼ OU╘ phasσ afte≥ thσ statu≤ bytσ ha≤ beeε acknowledgeΣ b∙ thσ ì
initiator«
.cp 5
áá(4⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß MESSAG┼ I╬ phase¼ thσ targe⌠ ì
shal∞ ente≥ MESSAG┼ OU╘ phasσ beforσ i⌠ send≤ anothe≥ message« Thi≤ permit≤ ß ì
MESSAG┼ PARIT┘ ERRO╥ messagσ froφ thσ initiato≥ t∩ bσ associateΣ witΦ thσ ì
appropriatσ message.
áá(5⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß SELECTIO╬ phasσ anΣ beforσ thσ ì
initiato≥ release≤ thσ BS┘ signal¼ thσ targe⌠ shal∞ ente≥ MESSAG┼ OU╘ phasσ ì
immediatel∙ afte≥ tha⌠ SELECTIO╬ phase«
áá(6⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß RESELECTIO╬ phase¼ thσ targe⌠ ì
shal∞ ente≥ MESSAG┼ OU╘ phasσ afte≥ thσ targe⌠ ha≤ sen⌠ it≤ IDENTIF┘ messagσ ì
fo≥ tha⌠ RESELECTIO╬ phase«
.lm 1
ááThσ initiato≥ shal∞ kee≡ thσ AT╬ signa∞ asserteΣ iµ morσ thaε onσ bytσ i≤ t∩ ì
bσ transferred« Thσ initiato≥ ma∙ negatσ thσ AT╬ signa∞ a⌠ an∙ timσ excep⌠ i⌠ ì
shal∞ no⌠ negatσ thσ AT╬ signa∞ whilσ thσ AC╦ signa∞ i≤ asserteΣ durinτ ß ì
MESSAG┼ OU╘ phase« Normally¼ thσ initiato≥ negate≤ thσ AT╬ signa∞ whilσ thσ ì
RE╤ signa∞ i≤ truσ anΣ thσ AC╦ signa∞ i≤ falsσ durinτ thσ las⌠ REQ/AC╦ ì
handshakσ oµ thσ MESSAG┼ OU╘ phase.
.cp 10
.aw off
.pm 0
5.2.2. Rese⌠ Condition
.aw on
.pm 3
ááThσ rese⌠ conditioε i≤ useΣ t∩ immediatel∙ clea≥ al∞ SCS╔ device≤ froφ thσ ì
bus« Thi≤ conditioε shal∞ takσ precedencσ ove≥ al∞ othe≥ phase≤ anΣ ì
conditions« An∙ SCS╔ devicσ ma∙ creatσ thσ rese⌠ conditioε b∙ assertinτ thσ ì
RS╘ signa∞ fo≥ ß minimuφ oµ ß rese⌠ holΣ time« Durinτ thσ rese⌠ condition¼ ì
thσ statσ oµ al∞ SCS╔ bu≤ signal≤ othe≥ thaε thσ RS╘ signa∞ i≤ no⌠ defined.
ááAl∞ SCS╔ device≤ shal∞ releasσ al∞ SCS╔ bu≤ signal≤ (excep⌠ thσ RS╘ signal⌐ ì
withiε ß bu≤ clea≥ dela∙ oµ thσ transitioε oµ thσ RS╘ signa∞ t∩ true« Thσ BU╙ ì
FRE┼ phasσ alway≤ follow≤ thσ rese⌠ condition.
ááThσ effec⌠ oµ thσ rese⌠ conditioε oε I/╧ processe≤ whicΦ havσ no⌠ completed¼ ì
SCS╔ devicσ reservations¼ anΣ SCS╔ devicσ operatinτ mode≤ i≤ determineΣ b∙ ì
whethe≥ thσ SCS╔ devicσ ha≤ implementeΣ thσ harΣ rese⌠ alternativσ o≥ thσ sof⌠ ì
rese⌠ alternativσ (onσ oµ whicΦ shal∞ bσ implemented⌐ a≤ defineΣ iε 5.2.2.▒ ì
anΣ 5.2.2.2« Thσ harΣ anΣ sof⌠ rese⌠ alternative≤ arσ mutuall∙ exclusivσ ì
withiε ß system« ┴ facilit∙ fo≥ target≤ t∩ repor⌠ whicΦ rese⌠ alternativσ i≤ ì
implementeΣ i≤ provideΣ iε thσ SftRσ bi⌠ oµ thσ INQUIR┘ datß (7.2.5).
.lm 3
ááIMPLEMENTOR╙ NOTE║ Environmenta∞ condition≤ (e.g.¼ statiπ discharge⌐ ma∙ ì
áágeneratσ brieµ glitche≤ oε thσ RS╘ signal« I⌠ i≤ recommendeΣ tha⌠ SCS╔ ì
áádevice≤ no⌠ reac⌠ t∩ thesσ glitches« Thσ manne≥ oµ rejectinτ glitche≤ i≤ ì
áávendo≥ specific« Thσ bu≤ clea≥ dela∙ followinτ ß RS╘ signa∞ transitioε t∩ ì
áátruσ i≤ measureΣ froφ thσ origina∞ transitioε oµ thσ RS╘ signal¼ no⌠ froφ ì
ááthσ timσ tha⌠ thσ signa∞ ha≤ beeε confirmed« Thi≤ limit≤ thσ timσ t∩ ì
ááconfirφ thσ RS╘ signa∞ t∩ ß maximuφ oµ ß bu≤ clea≥ delay.
.lm 1
.cp 15è.aw off
.pm 0
5.2.2.1. Hard Rese⌠ Alternative
.aw on
.pm 3
ááSCS╔ device≤ tha⌠ implemen⌠ thσ harΣ rese⌠ alternative¼ upoε detectioε oµ ì
thσ rese⌠ condition¼ shall:
áá(1⌐ Clea≥ al∞ I/╧ processe≤ includinτ queueΣ I/╧ processes.
áá(2⌐ Releasσ al∞ SCS╔ devicσ reservations.
áá(3⌐ Returε an∙ SCS╔ devicσ operatinτ mode≤ t∩ thei≥ appropriatσ initia∞ ì
conditions¼ simila≥ t∩ thosσ condition≤ tha⌠ woulΣ bσ founΣ afte≥ ß norma∞ ì
powe≥-oε reset« MOD┼ SELEC╘ condition≤ shal∞ bσ restoreΣ t∩ thei≥ las⌠ saveΣ ì
value≤ iµ saveΣ value≤ havσ beeε established« MOD┼ SELEC╘ condition≤ fo≥ ì
whicΦ n∩ value≤ havσ beeε saveΣ shal∞ bσ returneΣ t∩ thei≥ defaul⌠ values.
áá(4⌐ Uni⌠ attentioε conditioε shal∞ bσ se⌠ (Seσ 6.9).
ááI⌠ i≤ recommendeΣ tha⌠ followinτ ß rese⌠ t∩ selectioε timσ afte≥ ß harΣ ì
rese⌠ conditioε ends¼ SCS╔ target≤ bσ ablσ t∩ responΣ witΦ appropriatσ statu≤ ì
anΣ sensσ datß t∩ thσ TES╘ UNI╘ READY¼ INQUIRY¼ anΣ REQUES╘ SENS┼ commands.
.cp 5
.aw off
.pm 0
5.2.2.2. Soft Rese⌠ Alternative
.aw on
.pm 3
.cp 12
ááSCS╔ device≤ tha⌠ implemen⌠ thσ sof⌠ rese⌠ alternative¼ upoε detectioε oµ ì
thσ rese⌠ condition¼ shall:
áá(1⌐ Attemp⌠ t∩ completσ an∙ I/╧ processe≤ whicΦ havσ no⌠ completeΣ anΣ tha⌠ ì
werσ full∙ identified
áá(2⌐ Preservσ al∞ SCS╔ devicσ reservations
áá(3⌐ Preservσ an∙ SCS╔ devicσ operatinτ mode≤ (MOD┼ SELECT¼ PREVENT/ALLO╫ ì
MEDIU═ REMOVA╠ commands¼ etc.)
áá(4⌐ Preservσ al∞ thσ informatioε requireΣ t∩ continuσ norma∞ dispatchinτ oµ ì
I/╧ processe≤ queueΣ prio≥ t∩ thσ rese⌠ condition«
.lm 1
ááThσ sof⌠ rese⌠ alternativσ allow≤ aε initiato≥ t∩ rese⌠ thσ SCS╔ bu≤ witΦ ì
minimuφ disruptioε t∩ thσ operatioε oµ othe≥ initiator≤ iε ß multiplσ ì
initiato≥ system« T∩ ensurσ prope≥ operatioε thσ followinτ condition≤ shal∞ ì
bσ met:
áá(1⌐ Aε initiato≥ shal∞ no⌠ conside≥ aε I/╧ proces≤ t∩ bσ full∙ identifieΣ ì
unti∞ thσ IDENTIF┘ messagσ (anΣ queuσ taτ message¼ iµ any⌐ i≤ sen⌠ t∩ thσ ì
targe⌠ anΣ thσ targe⌠ respond≤ b∙ changinτ t∩ an∙ othe≥ informatioε transfe≥ ì
phasσ anΣ request≤ tha⌠ a⌠ leas⌠ onσ bytσ bσ transferred.
áá(2⌐ ┴ targe⌠ shal∞ conside≥ aε I/╧ proces≤ t∩ bσ full∙ identifieΣ wheε i⌠ ì
successfull∙ receive≤ thσ IDENTIF┘ messagσ anΣ an∙ queuσ taτ messagσ anΣ thσ ì
initiato≥ negate≤ thσ AT╬ signal.
áá(3⌐ Iµ aε initiato≥ select≤ ß logica∞ uni⌠ fo≥ whicΦ therσ alread∙ i≤ aε ì
activσ I/╧ proces≤ witΦ thσ samσ queuσ taτ (iµ any⌐ fo≥ thσ samσ initiator¼ ì
thσ targe⌠ shal∞ clea≥ thσ origina∞ I/╧ proces≤ anΣ perforφ thσ ne≈ I/╧ ì
process.
áá(4⌐ Iµ ß targe⌠ reselect≤ aε initiato≥ t∩ continuσ aε I/╧ proces≤ fo≥ whicΦ ì
thσ initiato≥ ha≤ n∩ record¼ thσ initiato≥ shal∞ abor⌠ tha⌠ I/╧ proces≤ b∙ ì
sendinτ thσ ABOR╘ o≥ ABOR╘ TA╟ message¼ dependinτ oε whethe≥ thσ reselectinτ ì
I/╧ proces≤ i≤ ß taggeΣ I/╧ process.
áá(5⌐ Aε initiato≥ shal∞ conside≥ aε I/╧ proces≤ t∩ bσ completeΣ wheε i⌠ ì
negate≤ AC╦ fo≥ ß successfull∙ receiveΣ COMMAN─ COMPLET┼ message.
.cp3
áá(6⌐ ┴ targe⌠ shal∞ conside≥ aε I/╧ proces≤ t∩ bσ completeΣ wheε i⌠ detect≤ ì
thσ transitioε oµ AC╦ t∩ falsσ fo≥ thσ COMMAN─ COMPLET┼ messagσ witΦ thσ AT╬ ì
signa∞ false.
áá(7⌐ Aε initiato≥ shal∞ no⌠ negatσ thσ AC╦ signa∞ fo≥ thσ SAV┼ DAT┴ POINTE╥ ì
messagσ unti∞ i⌠ ha≤ actuall∙ saveΣ thσ datß pointe≥ fo≥ thσ I/╧ process.
.cp 3èáá(8⌐ ┴ targe⌠ shal∞ conside≥ thσ datß pointe≥ t∩ bσ saveΣ wheε i⌠ detect≤ thσ ì
transitioε oµ thσ AC╦ signa∞ t∩ falsσ fo≥ thσ SAV┼ DAT┴ POINTE╥ messagσ witΦ ì
thσ AT╬ signa∞ false.
.cp 6
áá(9⌐ Iµ thσ rese⌠ conditioε occur≤ betweeε thσ timσ tha⌠ thσ targe⌠ assert≤ ì
thσ RE╤ signa∞ fo≥ thσ SAV┼ DAT┴ POINTE╥ messagσ anΣ i⌠ detect≤ thσ transitioε ì
oµ thσ AC╦ signa∞ t∩ false¼ thσ targe⌠ shal∞ terminatσ thσ I/╧ proces≤ witΦ ì
CHEC╦ CONDITIO╬ status« Thσ targe⌠ shal∞ se⌠ thσ sensσ ke∙ t∩ ABORTE─ ì
COMMAND« Thi≤ i≤ necessar∙ becausσ thσ targe⌠ canno⌠ determinσ whethe≥ thσ ì
datß pointe≥ ha≤ actuall∙ beeε saved.
.lm 3
ááNOTE║ Iµ thσ AT╬ signa∞ i≤ truσ iε condition≤ (6⌐ o≥ (8)¼ thσ targe⌠ woulΣ ì
áánormall∙ switcΦ t∩ MESSAG┼ OU╘ phasσ anΣ attemp⌠ t∩ transfe≥ ß messagσ byte« ì
ááIµ thσ rese⌠ conditioε occur≤ beforσ thσ targe⌠ successfull∙ receive≤ thσ ì
áámessagσ byte¼ i⌠ ma∙ assumσ tha⌠ thσ initiato≥ ha≤ no⌠ successfull∙ receiveΣ ì
ááthσ COMMAN─ COMPLET┼ messagσ o≥ thσ SAV┼ DAT┴ POINTE╥ message« Iε thσ casσ ì
ááoµ COMMAN─ COMPLET┼ message¼ thσ targe⌠ ma∙ reselec⌠ thσ initiato≥ anΣ ì
ááattemp⌠ t∩ senΣ thσ COMMAN─ COMPLET┼ messagσ again« Iε thσ casσ oµ thσ SAV┼ ì
ááDAT┴ POINTE╥ message¼ thσ targe⌠ ma∙ reselec⌠ thσ initiato≥ anΣ terminatσ ì
ááthσ I/╧ proces≤ a≤ describeΣ iε conditioε (9).
.lm 1
.cp 20
.aw off
.pm 0
5.3. SCS╔ Bu≤ Phasσ Sequences
.aw on
.pm 3
ááThσ orde≥ iε whicΦ phase≤ arσ useΣ oε thσ SCS╔ bu≤ follow≤ ß prescribeΣ ì
sequence.
ááThσ rese⌠ conditioε caε abor⌠ an∙ phasσ anΣ i≤ alway≤ followeΣ b∙ thσ BU╙ ì
FRE┼ phase« Als∩ an∙ othe≥ phasσ caε bσ followeΣ b∙ thσ BU╙ FRE┼ phasσ bu⌠ ì
man∙ sucΦ instance≤ arσ erro≥ condition≤ (seσ unexpecteΣ disconnect¼ 5.1.1).
ááThσ additiona∞ allowablσ sequence≤ shal∞ bσ a≤ showε iε Figurσ ╡-2« Thσ ì
norma∞ progressioε i≤ froφ thσ BU╙ FRE┼ phasσ t∩ ARBITRATION¼ froφ ARBITRATIO╬ ì
t∩ SELECTIO╬ o≥ RESELECTION¼ anΣ froφ SELECTIO╬ o≥ RESELECTIO╬ t∩ onσ o≥ morσ ì
oµ thσ informatioε transfe≥ phase≤ (COMMAND¼ DATA¼ STATUS¼ o≥ MESSAGE)« Thσ ì
fina∞ informatioε transfe≥ phasσ i≤ normall∙ thσ MESSAG┼ I╬ phasσ wherσ ß ì
DISCONNECT¼ o≥ COMMAN─ COMPLET┼ messagσ i≤ transferred¼ followeΣ b∙ thσ BU╙ ì
FRE┼ phase.
.cp 30è.aw off
.pm1
.. [inser⌠ SCSI Bus Phase Sequence Diagram here]
.. Figure 5-2 Phase Sequences
.lh 6
..
┌────────────────────────────┐
│ │
Reset or │ ┌────────V──────┐
protocol │ ┌────> ├──────┐
error │ │┌───> MESSAGE OUT ├───┐ │
│ │ ││ ┌─> │ │ │
│ ┌───────────────────┼────────¢─¢─────┼┼─┼─┤ ├──┐│ │
│ │ │ ││ │ └────A───┬──────┘ ││ │
│ │ ┌───────┴───────┐ ││ │ ┌────┴───V──────┐ ││ │
│ │ ┌──────┤ │ ││ │ │ │ ││ │
│ │ │ │ SELECTION │ ││┌┼─> COMMAND ├──┼┼─┐│
│ │ │ │ │ ││││ │ ├─┐││ ││
│ │ │ │ │ ││││ │ │ │││ ││
│ │ │ └───────A───────┘ ││││ └────────┬──────┘ │││ ││
┌──V────V────V──┐ ┌───────┴───────┐ ││││ ┌────────V──────┐ │││ ││
│ │ │ │ │││└─┤ │ │││ ││
│ BUS FREE ├───> ARBITRATION │ │││┌─> DATA I╬ o≥ <─┼┼┼─┼┘
│ │ │ │ ││││ │ DAT┴ OUT │ │││ │
│ │ │ │ ││││ │ ├─┼┼┼┐│
└───────A────A──┘ └───────┬───────┘ ││││ └────────┬──────┘ │││││
│ │ ┌───────V───────┐ ││││ ┌────────V──────┐ │││││
│ │ │ │ ││││ │ │ │││││
│ └──────┤ RESELECTION ¢│ │└┼┼─┤ STATUS <─┘││││
│ │ │ │ ││ │ │ ││││
│ │ │ │ ││ │ <──┘│││
│ └───────┬───────┘ │ ││ └────A───┬──────┘ │││
│ │ │ ││ ┌────┴───V──────┐ │││
│ │ │ │└─┤ <───┘││
│ │ │ └──┤ MESSAGE IN <────┘│
│ │ └────┤ │ │
│ │ │ <─────┘
│ │ └──A──────┬─────┘
│ └──────────────────────┘ │
└─────────────────────────────────────────────────┘
.lh 8
Figure 5-2: Phase Sequences
.aw on
.pm 3
.cp 20
.aw off
.pm 0
5.4. SCS╔ Pointers
.aw on
.pm 3
ááConside≥ thσ systeφ showε iε Figurσ ╡-│ iε whicΦ aε initiato≥ anΣ targe⌠ ì
communicatσ oε thσ SCS╔ bu≤ iε orde≥ t∩ executσ aε I/╧ process«
.cp 12
.aw off
.pm 0
------------------------- -------------------------
| Function | | Initiator|-----------------| Target | | Function |
| Origin | | SCS╔ Bus | SCSI BUS | SCS╔ Bus | | Execution|
| | | Control |-----------------| Control | | |
------------------------- -------------------------
Initiator Target
Figure 5-3: Simplified SCSI System
.aw on
.pm 3
.cp 10èááThσ SCS╔ architecturσ provide≤ fo≥ ß se⌠ oµ threσ pointer≤ fo≥ eacΦ I/╧ ì
process¼ calleΣ thσ saveΣ pointers« Thσ se⌠ oµ threσ pointer≤ consis⌠ oµ onσ ì
fo≥ thσ command¼ onσ fo≥ thσ data¼ anΣ onσ fo≥ thσ status« Wheε aε I/╧ ì
proces≤ become≤ active¼ it≤ threσ saveΣ pointer≤ arσ copieΣ int∩ thσ ì
initiator'≤ se⌠ oµ threσ activσ pointers« Therσ i≤ onl∙ onσ se⌠ oµ activσ ì
pointer≤ iε eacΦ initiator« Thσ activσ pointer≤ poin⌠ t∩ thσ nex⌠ command¼ ì
data¼ o≥ statu≤ bytσ t∩ bσ transferreΣ betweeε thσ initiator'≤ memor∙ anΣ thσ ì
target« Thσ saveΣ anΣ activσ pointer≤ residσ iε thσ initiator«
.cp 10
ááThσ saveΣ commanΣ pointe≥ alway≤ point≤ t∩ thσ star⌠ oµ thσ commanΣ ì
descripto≥ blocδ (seσ 6.2⌐ fo≥ thσ I/╧ process« Thσ saveΣ statu≤ pointe≥ ì
alway≤ point≤ t∩ thσ star⌠ oµ thσ statu≤ areß fo≥ thσ I/╧ process« Thσ saveΣ ì
datß pointe≥ point≤ t∩ thσ star⌠ oµ thσ datß areß unti∞ thσ targe⌠ send≤ ß ì
SAV┼ DAT┴ POINTE╥ messagσ (seσ 5.6.20⌐ fo≥ thσ I/╧ process.
ááIε responsσ t∩ thσ SAV┼ DAT┴ POINTE╥ message¼ thσ initiato≥ store≤ thσ valuσ ì
oµ thσ activσ datß pointe≥ int∩ thσ saveΣ datß pointe≥ fo≥ tha⌠ I/╧ process« ì
Thσ targe⌠ ma∙ restorσ thσ activσ pointer≤ t∩ thσ saveΣ pointe≥ value≤ fo≥ thσ ì
activσ I/╧ proces≤ b∙ sendinτ ß RESTOR┼ POINTER╙ messagσ (seσ 5.6.19⌐ t∩ thσ ì
initiator« Thσ initiato≥ theε copie≤ thσ se⌠ oµ saveΣ pointer≤ int∩ thσ se⌠ ì
oµ activσ pointers« Wheneve≥ ß targe⌠ disconnect≤ froφ thσ bus¼ onl∙ thσ se⌠ ì
oµ saveΣ pointer≤ arσ retained« Thσ se⌠ oµ activσ pointer≤ i≤ restoreΣ froφ ì
thσ se⌠ oµ saveΣ pointer≤ upoε reconnectioε oµ thσ I/╧ process.
.cp 5
.lm 3
ááIMPLEMENTOR╙ NOTE║ Sincσ thσ datß pointe≥ valuσ ma∙ bσ modifieΣ b∙ thσ ì
áátarge⌠ beforσ thσ I/╧ proces≤ ends¼ i⌠ shoulΣ no⌠ bσ useΣ t∩ tes⌠ fo≥ actua∞ ì
áátransfe≥ length.
.lm 1
.cp 20
.aw off
.pm 0
5.5. Messagσ Systeφ Description
.aw on
.pm 3
ááThσ messagσ systeφ allow≤ communicatioε betweeε aε initiato≥ anΣ targe⌠ fo≥ ì
thσ purposσ oµ interfacσ management« ┴ messagσ ma∙ bσ one¼ two¼ o≥ multiplσ ì
byte≤ iε length« Onσ o≥ morσ message≤ ma∙ bσ sen⌠ durinτ ß singlσ MESSAG┼ ì
phase¼ bu⌠ ß messagσ ma∙ no⌠ bσ spli⌠ ove≥ MESSAG┼ phases« Thσ initiato≥ i≤ ì
requireΣ t∩ enΣ thσ MESSAG┼ OU╘ phasσ (b∙ negatinτ ATN⌐ wheε i⌠ send≤ certaiε ì
message≤ identifieΣ iε Tablσ ╡-2.
ááOnσ-byte¼ Tw∩-byte¼ anΣ extendeΣ messagσ format≤ arσ defined« Thσ firs⌠ ì
bytσ oµ thσ messagσ determine≤ thσ forma⌠ a≤ follows:
.lm1
.pm0
.aw0
Value Messagσ Format
----¡---- -----------------------------------
00Φ Onσ-Bytσ Message (COMMAN─ COMPLET┼)
01Φ Extended Messages
02Φ ¡ 1FΦ Onσ-Bytσ Messages
20Φ ¡ 2FΦ Two-Bytσ Messages
30Φ ¡ 7FΦ Reserved
80Φ ¡ FFΦ One-Bytσ Messagσ (IDENTIFY)
.lm1
.pm3
.aw1
ááOnσ-bytσ message≤ consis⌠ oµ ß singlσ bytσ transferreΣ durinτ ß MESSAG┼ ì
phase« Thσ valuσ oµ thσ bytσ determine≤ whicΦ messagσ i≤ t∩ bσ performeΣ a≤ ì
defineΣ iε Tablσ ╡-2.
.cp 48è.aw off
.pm 0
Table 5-2: Message Codes
==============================================================================
Code Support Messagσ Name Directioε Negatσ ATN
Init Targ Beforσ las⌠ ACK
------------------------------------------------------------------------------
06h O M ABORT Ou⌠ Ye≤
0DΦ ╧ ╧ ABOR╘ TA╟ (Notσ 1) Out Ye≤
0Ch O M BUS DEVICE RESET Out Yes
0Eh ╧ ╧ CLEA╥ QUEU┼ (Notσ 1) Out Yes
00h M M COMMAND COMPLETE In ---
04h O O DISCONNECT In ---
04h O O DISCONNECT Out Yes
80h½ M O IDENTIFY In ---
80h½ M M IDENTIFY Out No
23h ╧ ╧ IGNOR┼ WID┼ RESIDU┼ (Two Bytes) In ---
0Fh ╧ ╧ INITIAT┼ RECOVERY In ---
0Fh ╧ ╧ INITIAT┼ RECOVERY (Notσ 2) Out Yes
05h M M INITIATOR DETECTED ERROR Out Yes
0Ah O O LINKED COMMAND COMPLETE In ---
0Bh O O LINKED COMMAND COMPLETE (WITH FLAG) In ---
09h M M MESSAGE PARITY ERROR Out Yes
07h M M MESSAGE REJECT In Out Yes
*** ╧ ╧ MODIF┘ DAT┴ POINTE╥ In ---
08h M M NO OPERATION Out Yes
Queuσ Taτ Message≤ (Tw∩ Bytes)
21Φ ╧ ╧ HEA─ O╞ QUEU┼ TA╟ O⌡t No
22Φ ╧ ╧ ORDERE─ QUEU┼ TA╟ Out No
20Φ ╧ ╧ SIMPLE QUEU┼ TA╟ Iε Out No
10h ╧ ╧ RELEAS┼ RECOVERY Out Yes
03Φ O O RESTORE POINTERS In ---
02Φ O O SAVE DATA POINTER In ---
**¬ ╧ ╧ SYNCHRONOU╙ DAT┴ TRANSFE╥ REQUES╘ Iε Out Yes
**¬ ╧ ╧ WID┼ DAT┴ TRANSFE╥ REQUES╘ Iε Out Yes
11Φ O O TERMINAT┼ I/╧ PROCESS Out Yes
12Φ ¡ 1Fh Reserved
24Φ ¡ 2F╚ ReserveΣ fo≥ two-bytσ messages
30h - 7Fh Reserved
==============================================================================
.aw on
.pm 3
ááKey║ ═ ╜ Mandator∙ support¼ ╧ ╜ Optiona∞ support.
.pm 9
.lm 16
ááááááááIn = Targe⌠ t∩ initiator¼ Ou⌠ ╜ Initiato≥ t∩ target.
ááááááááYes = Initiato≥ shal∞ negatσ AT╬ beforσ las⌠ AC╦ oµ message.
ááááááááNo = Initiato≥ ma∙ o≥ ma∙ no⌠ negatσ AC╦ beforσ las⌠ AC╦ oµ message.
áááááááá (seσ attentioε condition¼ 5.2.1.)
áááááááá--- = No⌠ Applicable
áááááááá*** = ExtendeΣ messagσ (seσ Table≤ ╡-│ anΣ ╡-4)
áááááááá80h+ = Code≤ 80Φ througΦ FFΦ arσ useΣ fo≥ IDENTIF┘ message≤ (seσ Tablσ ì
ááááááááááááááá╡-5).
.pm 3
.lm 1
ááNOTES:
áá(1⌐ Thσ ABOR╘ TA╟ anΣ CLEA╥ QUEU┼ message≤ arσ requireΣ iµ taggeΣ queuinτ ì
i≤ implemented.
áá(2⌐ OutbounΣ INITIAT┼ RECOVER┘ message≤ arσ onl∙ valiΣ durinτ thσ ì
asynchronou≤ even⌠ notificatioε protocol.
èááTw∩-bytσ message≤ consis⌠ oµ tw∩ consecutivσ byte≤ transferreΣ durinτ ß ì
MESSAG┼ phase« Thσ valuσ oµ thσ firs⌠ bytσ determine≤ whicΦ messagσ i≤ t∩ bσ ì
performeΣ a≤ defineΣ iε Tablσ ╡-2« Thσ seconΣ bytσ i≤ ß paramete≥ bytσ whicΦ ì
i≤ useΣ a≤ defineΣ iε thσ messagσ descriptioε (seσ 5.6).
.cp3
áá┴ valuσ oµ onσ iε thσ firs⌠ bytσ oµ ß messagσ indicate≤ thσ beginninτ oµ ß ì
multiplσ-bytσ extendeΣ message« Thσ minimuφ numbe≥ oµ byte≤ sen⌠ fo≥ aε ì
extendeΣ messagσ i≤ three« Thσ extendeΣ messagσ forma⌠ anΣ thσ extendeΣ ì
messagσ code≤ arσ showε iε Table≤ ╡-│ anΣ ╡-4¼ respectively.
.aw off
.pm 0
.cp 15
Table 5-3: Extended Message Format
==============================================================================
Byte | Value | Description |
==============================================================================
0 | 01h | Extended message |
----------|----------|-------------------------------------------------------|
1 | n | Extended message length |
----------|----------|-------------------------------------------------------|
2 | y | Extended message code |
----------|----------|-------------------------------------------------------|
3 - n+1 | x | Extended message arguments |
==============================================================================
.aw on
.pm 3
ááThσ extendeΣ messagσ lengtΦ specifie≤ thσ lengtΦ iε byte≤ oµ thσ extendeΣ ì
messagσ codσ plu≤ thσ extendeΣ messagσ argument≤ t∩ follow« Therefore¼ thσ ì
tota∞ lengtΦ oµ thσ messagσ i≤ equa∞ t∩ thσ extendeΣ messagσ lengtΦ plu≤ two« ì
┴ valuσ oµ zer∩ fo≥ thσ extendeΣ messagσ lengtΦ indicate≤ 25╢ byte≤ follow.
ááThσ extendeΣ messagσ code≤ arσ listeΣ iε Tablσ ╡-4« Thσ extendeΣ messagσ ì
argument≤ arσ specifieΣ withiε thσ extendeΣ messagσ descriptions.
.cp 12
.aw off
.pm 0
Table 5-4: Extended Message Codes
==============================================================================
Code (y) Description
------------------------------------------------------------------------------
02h ReserveΣ (Seσ Notσ)
00h MODIFY DATA POINTER
01h SYNCHRONOUS DATA TRANSFER REQUEST
03h WIDE DATA TRANSFER REQUEST
04h - 7Fh Reserved
80h - FFh Vendor Unique
==============================================================================
.aw on
.pm3
.lm 3
ááNOTE║ ExtendeΣ messagσ codσ 02Φ wa≤ useΣ fo≥ thσ EXTENDE─ IDENTIF┘ messagσ ì
ááiε SCS╔-1.
.lm 1
.cp 3
ááThσ firs⌠ messagσ sen⌠ b∙ thσ initiato≥ afte≥ thσ SELECTIO╬ phasσ shal∞ bσ ì
aε IDENTIFY¼ ABORT¼ o≥ BU╙ DEVIC┼ RESE╘ message« Iµ ß targe⌠ receive≤ an∙ ì
othe≥ messagσ i⌠ shal∞ g∩ t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ disconnect¼ ì
5.1.1).
èááIµ thσ firs⌠ messagσ i≤ aε IDENTIF┘ message¼ theε i⌠ ma∙ bσ immediatel∙ ì
followeΣ b∙ othe≥ messages¼ sucΦ a≤ thσ firs⌠ oµ ß pai≥ oµ SYNCHRONOU╙ DAT┴ ì
TRANSFE╥ REQUES╘ messages« Iµ taggeΣ queuinτ i≤ useΣ thσ queuσ taτ messagσ ì
immediatel∙ follow≤ thσ IDENTIF┘ messagσ (seσ 5.6.7)« Thσ IDENTIF┘ messagσ ì
establishe≤ ß logica∞ connectioε betweeε thσ initiato≥ anΣ thσ specifieΣ ì
logica∞ uni⌠ o≥ targe⌠ routinσ withiε thσ targe⌠ knowε a≤ aε I_T_╠ nexu≤ o≥ ì
I_T_╥ nexus« Afte≥ thσ RESELECTIO╬ phase¼ thσ target'≤ firs⌠ messagσ shal∞ bσ ì
IDENTIFY« Thi≤ allow≤ thσ I_T_╠ nexu≤ o≥ I_T_╥ nexu≤ t∩ bσ rσ-established« ì
Onl∙ onσ logica∞ uni⌠ o≥ targe⌠ routinσ shal∞ bσ identifieΣ fo≥ an∙ ì
connection╗ iµ ß targe⌠ receive≤ ß seconΣ IDENTIF┘ messagσ witΦ ß differen⌠ ì
logica∞ uni⌠ numbe≥ o≥ targe⌠ routinσ numbe≥ durinτ ß connection¼ i⌠ shal∞ g∩ ì
t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ disconnect¼ 5.1.1)« Thσ treatmen⌠ oµ othe≥ ì
logica∞ uni⌠ addressinτ error≤ i≤ describeΣ iε 6.5.
ááAl∞ initiator≤ shal∞ implemen⌠ thσ mandator∙ message≤ tabulateΣ iε thσ ì
"Initó columε oµ Tablσ ╡-2« Al∞ target≤ shal∞ implemen⌠ thσ mandator∙ ì
message≤ tabulateΣ iε thσ "Targó columε oµ Tablσ ╡-2«
ááWheneve≥ aε I_T_╠ nexu≤ o≥ I_T_╥ nexu≤ i≤ establisheΣ b∙ aε initiato≥ tha⌠ ì
i≤ allowinτ disconnection¼ thσ initiato≥ shal∞ ensurσ tha⌠ thσ activσ pointer≤ ì
arσ equa∞ t∩ thσ saveΣ pointer≤ fo≥ tha⌠ particula≥ logica∞ uni⌠ o≥ targe⌠ ì
routine« Aε implieΣ restorσ pointer≤ operatioε shal∞ occu≥ a≤ ß resul⌠ oµ ß ì
reconnection.
.cp 10
.aw off
.pm 0
5.6. Messages
.aw on
.pm 3
ááThσ SCS╔ message≤ arσ defineΣ iε thi≤ section.
.cp 5
.aw off
.pm 0
5.6.1. ABORT
.aw on
.pm 3
ááThσ ABOR╘ messagσ i≤ sen⌠ froφ thσ initiato≥ t∩ thσ targe⌠ t∩ clea≥ thσ ì
active I/╧ proces≤ plu≤ an∙ queueΣ I/╧ proces≤ fo≥ thσ I_T_° nexus« Thσ ì
targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ successfu∞ receip⌠ oµ thi≤ ì
message« Thσ pendinτ data¼ status¼ anΣ queueΣ I/╧ processe≤ fo≥ an∙ othe≥ ì
I_T_° nexu≤ shal∞ no⌠ bσ cleared.
ááIµ onl∙ aε I_╘ nexu≤ ha≤ beeε established¼ thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ ì
FRE┼ phase« N∩ statu≤ o≥ messagσ shal∞ bσ sen⌠ fo≥ thσ curren⌠ I/╧ proces≤ ì
anΣ n∩ othe≥ I/╧ proces≤ shal∞ bσ affected.
.lm 3
ááIMPLEMENTOR╙ NOTE║ Thσ ABOR╘ messagσ iε thσ casσ oµ onl∙ aε I_╘ nexu≤ i≤ ì
ááusefu∞ t∩ aε initiato≥ tha⌠ canno⌠ ge⌠ aε IDENTIF┘ messagσ througΦ t∩ thσ ì
áátarge⌠ duσ t∩ parit∙ error≤ anΣ jus⌠ need≤ t∩ enΣ thσ curren⌠ connection« ì
ááAn∙ pendinτ data¼ status¼ o≥ queueΣ I/╧ processe≤ fo≥ thσ I_╘ nexu≤ i≤ no⌠ ì
ááaffected.
.lm 1
ááI⌠ i≤ no⌠ aε erro≥ t∩ issuσ thi≤ messagσ t∩ aε I_T_° nexu≤ tha⌠ doe≤ no⌠ ì
havσ aε activσ o≥ queueΣ I/╧ process.
ááPreviousl∙ establisheΣ conditions¼ includinτ MOD┼ SELEC╘ parameters¼ ì
reservations¼ anΣ extendeΣ contingen⌠ allegiancσ shal∞ no⌠ bσ changeΣ b∙ thσ ì
ABOR╘ message.
.cp 9è.lm 3
ááIMPLEMENTOR╙ NOTES║ Thσ BU╙ DEVIC┼ RESET¼ CLEA╥ QUEUE¼ ABORT¼ anΣ ABOR╘ TA╟ ì
áámessage≤ providσ ß mean≤ t∩ clea≥ onσ o≥ morσ I/╧ processe≤ prio≥ t∩ norma∞ ì
áátermination« Thσ BU╙ DEVIC┼ RESE╘ messagσ clear≤ al∞ I/╧ processe≤ fo≥ al∞ ì
ááinitiator≤ oε al∞ logica∞ unit≤ anΣ al∞ targe⌠ routine≤ oµ thσ target« Thσ ì
ááCLEA╥ QUEU┼ messagσ clear≤ al∞ I/╧ processe≤ fo≥ al∞ initiator≤ oε thσ ì
ááspecifieΣ logica∞ uni⌠ o≥ targe⌠ routinσ oµ thσ target« Thσ ABOR╘ messagσ ì
ááclear≤ al∞ I/╧ processe≤ fo≥ thσ selectinτ initiato≥ oε thσ specifieΣ ì
áálogica∞ uni⌠ o≥ targe⌠ routinσ oµ thσ target« Thσ ABOR╘ TA╟ messagσ clear≤ ì
ááthσ current I/╧ proces≤ only.
.lm 1
.cp 15
.aw off
.pm 0
5.6.2. ABORT TAG
.aw on
.pm 3
ááThσ ABOR╘ TA╟ messagσ shal∞ bσ implementeΣ iµ taggeΣ queuinτ i≤ implemented« ì
Thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ successfu∞ receip⌠ oµ thi≤ ì
message« Thσ targe⌠ shal∞ clea≥ thσ curren⌠ I/╧ process« Iµ thσ targe⌠ ha≤ ì
alread∙ starteΣ executioε oµ thσ I/╧ process¼ thσ executioε shal∞ bσ halted« ì
Thσ mediuφ content≤ ma∙ havσ beeε modifieΣ beforσ thσ executioε wa≤ halted« ì
Iε eithe≥ case¼ an∙ pendinτ statu≤ o≥ datß fo≥ thσ I/╧ proces≤ shal∞ bσ ì
cleareΣ anΣ n∩ statu≤ o≥ endinτ messagσ shal∞ bσ sen⌠ t∩ thσ initiator« ì
Pendinτ status¼ data¼ anΣ command≤ fo≥ othe≥ activσ o≥ queueΣ I/╧ processe≤ ì
shal∞ no⌠ bσ affected« Executioε oµ othe≥ I/╧ processe≤ queueΣ fo≥ thσ I_T_° ì
nexu≤ shal∞ no⌠ bσ aborted.
ááPreviousl∙ establisheΣ conditions¼ includinτ MOD┼ SELEC╘ parameters¼ ì
reservations¼ anΣ extendeΣ contingen⌠ allegiancσ shal∞ no⌠ bσ changeΣ b∙ thσ ì
ABOR╘ TA╟ message.
.cp 10
.aw off
.pm 0
5.6.3. BUS DEVICE RESET
.aw on
.pm 3
ááThσ BU╙ DEVIC┼ RESE╘ messagσ i≤ sen⌠ froφ aε initiato≥ t∩ direc⌠ ß targe⌠ t∩ ì
clea≥ al∞ I/╧ processe≤ oε tha⌠ SCS╔ device« Thi≤ messagσ force≤ ß harΣ rese⌠ ì
conditioε t∩ thσ selecteΣ SCS╔ device« Thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ ì
phasσ followinτ successfu∞ receip⌠ oµ thi≤ message« Thσ targe⌠ shal∞ creatσ ß ì
uni⌠ attentioε conditioε fo≥ al∞ initiator≤ (seσ 6.9).
.cp 17
.aw off
.pm 0
5.6.4. CLEAR QUEUE
.aw on
.pm 3
ááThσ CLEA╥ QUEU┼ messagσ shal∞ bσ implementeΣ iµ taggeΣ queuinτ i≤ ì
implementeΣ anΣ ma∙ bσ implementeΣ iµ untaggeΣ queuinτ i≤ implemented« Thσ ì
targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ successfu∞ receip⌠ oµ thi≤ ì
message« Thσ targe⌠ shal∞ perforφ aε actioε equivalen⌠ t∩ receivinτ ß serie≤ ì
oµ ABOR╘ message≤ froφ eacΦ initiator« Al∞ I/╧ processes¼ froφ al∞ ì
initiators¼ iε thσ queuσ fo≥ thσ specifieΣ logica∞ uni⌠ o≥ targe⌠ routinσ ì
shal∞ bσ cleareΣ froφ thσ queue« Al∞ activσ I/╧ processe≤ shal∞ bσ ì
terminated« Thσ mediuφ ma∙ havσ beeε altereΣ b∙ partiall∙ executeΣ commands« ì
Al∞ pendinτ statu≤ anΣ datß fo≥ tha⌠ logica∞ uni⌠ o≥ targe⌠ routinσ fo≥ al∞ ì
initiator≤ shal∞ bσ cleared« N∩ statu≤ o≥ messagσ shal∞ bσ sen⌠ fo≥ an∙ oµ ì
thσ I/╧ processes« ┴ uni⌠ attentioε conditioε shal∞ bσ generateΣ fo≥ al∞ ì
othe≥ initiator≤ witΦ I/╧ processe≤ tha⌠ eithe≥ werσ activσ o≥ werσ queueΣ fo≥ ì
tha⌠ logica∞ uni⌠ o≥ targe⌠ routine« Wheε reportinτ thσ uni⌠ attentioε ì
conditioε thσ additiona∞ sensσ codσ shal∞ bσ se⌠ t∩ COMMAND╙ CLEARE─ B┘ ì
ANOTHE╥ INITIATOR.
ááPreviousl∙ establisheΣ conditions¼ includinτ MOD┼ SELEC╘ parameters¼ ì
reservations¼ anΣ extendeΣ contingen⌠ allegiancσ shal∞ no⌠ bσ changeΣ b∙ thσ ìèCLEA╥ QUEU┼ message.
.cp 5
.aw off
.pm 0
5.6.5. COMMAND COMPLETE
.aw on
.pm 3
ááThσ COMMAN─ COMPLET┼ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ aε initiato≥ t∩ ì
indicatσ tha⌠ thσ executioε oµ aε I/╧ proces≤ ha≤ completeΣ anΣ tha⌠ valiΣ ì
statu≤ ha≤ beeε sen⌠ t∩ thσ initiator« Afte≥ successfull∙ sendinτ thi≤ ì
message¼ thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ b∙ releasinτ thσ BS┘ ì
signal« Thσ targe⌠ shal∞ conside≥ thσ messagσ transmissioε t∩ bσ successfu∞ ì
wheε i⌠ detect≤ thσ negatioε oµ AC╦ fo≥ thσ COMMAN─ COMPLET┼ messagσ witΦ thσ ì
AT╬ signa∞ false«
.lm 3
ááIMPLEMENTOR╙ NOTE║ Thσ I/╧ proces≤ ma∙ havσ completeΣ successfull∙ o≥ ì
ááunsuccessfull∙ a≤ indicateΣ iε thσ status.
.lm 1
.cp 5
.aw off
.pm 0
5.6.6. DISCONNECT
.aw on
.pm 3
ááThσ DISCONNEC╘ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ inforφ aε initiato≥ tha⌠ thσ ì
presen⌠ connectioε i≤ goinτ t∩ bσ brokeε (thσ targe⌠ plan≤ t∩ disconnec⌠ b∙ ì
releasinτ thσ BS┘ signal)¼ bu⌠ tha⌠ ß late≥ reconnec⌠ wil∞ bσ requireΣ iε ì
orde≥ t∩ completσ thσ curren⌠ I/╧ process« Thi≤ messagσ shal∞ no⌠ causσ thσ ì
initiato≥ t∩ savσ thσ datß pointer« Afte≥ successfull∙ sendinτ thi≤ message¼ ì
thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ b∙ releasinτ thσ BS┘ signal« Thσ ì
targe⌠ shal∞ conside≥ thσ messagσ transmissioε t∩ bσ successfu∞ wheε i⌠ ì
detect≤ thσ negatioε oµ thσ AC╦ signa∞ fo≥ thσ DISCONNEC╘ messagσ witΦ thσ AT╬ ì
signa∞ false.
ááTarget≤ whicΦ breaδ datß transfer≤ int∩ multiplσ connection≤ shal∞ enΣ eacΦ ì
successfu∞ connectioε (excep⌠ possibl∙ thσ last⌐ witΦ ß SAV┼ DAT┴ POINTE╥ ¡ ì
DISCONNEC╘ messagσ sequence.
ááThi≤ messagσ ma∙ als∩ bσ sen⌠ froφ aε initiato≥ t∩ ß targe⌠ t∩ instruc⌠ thσ ì
targe⌠ t∩ disconnec⌠ froφ thσ SCS╔ bus« Iµ thi≤ optioε i≤ supported¼ anΣ ì
afte≥ thσ DISCONNEC╘ messagσ i≤ received¼ thσ targe⌠ shal∞ switcΦ t∩ MESSAG┼ ì
I╬ phase¼ senΣ thσ DISCONNEC╘ messagσ t∩ thσ initiato≥ (possibl∙ precedeΣ b∙ ì
SAV┼ DAT┴ POINTE╥ message)¼ anΣ theε disconnec⌠ b∙ releasinτ BSY« Afte≥ ì
releasinτ thσ BS┘ signal¼ thσ targe⌠ shal∞ no⌠ participatσ iε anothe≥ ì
ARBITRATIO╬ phasσ fo≥ a⌠ leas⌠ ß disconnectioε delay« Iµ thi≤ optioε i≤ no⌠ ì
supporteΣ o≥ thσ targe⌠ canno⌠ disconnec⌠ a⌠ thσ timσ wheε i⌠ receive≤ thσ ì
DISCONNEC╘ messagσ froφ thσ initiator¼ thσ targe⌠ shal∞ responΣ b∙ sendinτ ß ì
MESSAG┼ REJEC╘ messagσ t∩ thσ initiator.
.cp 5
.aw off
.pm 0
5.6.7. IDENTIF┘
.aw on
.pm 3
ááThσ IDENTIF┘ messagσ (Tablσ ╡-5⌐ i≤ sen⌠ b∙ eithe≥ thσ initiato≥ o≥ thσ ì
targe⌠ t∩ establisΦ aε I_T_╠ nexu≤ o≥ aε I_T_╥ nexus.
.lm 3
ááIMPLEMENTOR╙ NOTE║ Usσ oµ thσ IDENTIF┘ messagσ t∩ establisΦ aε I_T_╥ nexu≤ ì
ááallow≤ connectioε t∩ onσ oµ u≡ t∩ eigh⌠ targe⌠ routine≤ o≥ function≤ iε thσ ì
áátarge⌠ itself« Thesσ targe⌠ routine≤ arσ expecteΣ t∩ bσ useΣ fo≥ ì
áámaintenancσ anΣ diagnostiπ purposes.
.lm 1
.cp 10è.aw off
.pm 0
Table 5-5: IDENTIF┘ Message Format
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Byte | | | | | | | | |
==============================================================================
0 |Identify|DiscPriv| LUNTAR ⁿReservedⁿReservedⁿ LUNTRN |
==============================================================================
.aw on
.lm 1
.pm 3
ááThσ identif∙ bi⌠ shal∞ bσ se⌠ t∩ onσ t∩ specif∙ tha⌠ thi≤ i≤ aε IDENTIF┘ ì
message.
áá┴ disconnec⌠ privilegσ (DiscPriv⌐ bi⌠ oµ onσ specifie≤ tha⌠ thσ initiato≥ ì
ha≤ granteΣ thσ targe⌠ thσ privilegσ oµ disconnecting« ┴ DiscPri÷ bi⌠ oµ zer∩ ì
specifie≤ tha⌠ thσ targe⌠ shal∞ no⌠ disconnect« Thi≤ bi⌠ i≤ no⌠ defineΣ anΣ ì
shal∞ bσ se⌠ t∩ zer∩ wheε aε IDENTIF┘ messagσ i≤ sen⌠ b∙ ß target.
áá┴ logica∞ uni⌠ targe⌠ (LUNTAR⌐ bi⌠ oµ zer∩ specifie≤ tha⌠ thσ I/╧ proces≤ i≤ ì
directeΣ t∩ o≥ froφ ß logica∞ unit« ┴ LUNTA╥ bi⌠ oµ onσ specifie≤ tha⌠ thσ ì
I/╧ proces≤ i≤ directeΣ t∩ o≥ froφ ß targe⌠ routine«
ááThσ logica∞ uni⌠ numbe≥ targe⌠ routinσ numbe≥ (LUNTRN⌐ fielΣ specifie≤ ß ì
logica∞ uni⌠ numbe≥ iµ thσ LUNTA╥ bi⌠ i≤ zero« Thσ LUNTR╬ fielΣ specifie≤ ß ì
targe⌠ routinσ numbe≥ iµ thσ LUNTA╥ bi⌠ i≤ one« Thσ responsσ t∩ aε invaliΣ ì
valuσ iε thσ LUNTR╬ fielΣ i≤ describeΣ iε 6.5.3« Onl∙ thσ INQUIR┘ anΣ REQUES╘ ì
SENS┼ command≤ arσ valiΣ fo≥ targe⌠ routines« Iµ ß targe⌠ receive≤ an∙ othe≥ ì
commanΣ fo≥ ß targe⌠ routine¼ i⌠ shal∞ returε CHEC╦ CONDITIO╬ statu≤ anΣ shal∞ ì
se⌠ thσ sensσ ke∙ t∩ ILLEGA╠ REQUEST.
ááAε IDENTIF┘ messagσ i≤ invaliΣ iµ ß reserveΣ bi⌠ i≤ se⌠ t∩ onσ o≥ iµ thσ ì
LUNTA╥ bi⌠ i≤ se⌠ t∩ onσ anΣ thσ targe⌠ doe≤ no⌠ implemen⌠ targe⌠ routines« ┴ ì
devicσ ma∙ responΣ t∩ aε invaliΣ IDENTIF┘ messagσ b∙ immediatel∙ sendinτ ß ì
MESSAG┼ REJEC╘ messagσ o≥ b∙ returninτ CHEC╦ CONDITIO╬ status« Iµ ß CHEC╦ ì
CONDITIO╬ statu≤ i≤ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ ILLEGA╠ REQUES╘ ì
anΣ thσ additiona∞ sensσ codσ shal∞ bσ se⌠ t∩ INVALI─ BIT╙ I╬ IDENTIF┘ MESSAG┼ ì
FIELD.
ááOnl∙ onσ logica∞ uni⌠ numbe≥ o≥ targe⌠ routinσ numbe≥ shal∞ bσ identifieΣ ì
pe≥ I/╧ process« Thσ initiato≥ ma∙ senΣ onσ o≥ morσ IDENTIF┘ message≤ durinτ ì
ß connection« ┴ seconΣ IDENTIF┘ messagσ witΦ ß differen⌠ valuσ iε eithe≥ thσ ì
LUNTA╥ bi⌠ o≥ LUNTR╬ fielΣ shal∞ no⌠ bσ issueΣ beforσ ß BU╙ FRE┼ phasσ ha≤ ì
occurred╗ iµ ß targe⌠ receive≤ ß seconΣ IDENTIF┘ messagσ witΦ ß differen⌠ ì
valuσ iε eithe≥ oµ thesσ fields¼ i⌠ shal∞ g∩ t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ ì
disconnect¼ 5.1.1)« Thu≤ aε initiato≥ ma∙ changσ thσ DiscPri÷ bit¼ bu⌠ ma∙ ì
no⌠ attemp⌠ t∩ switcΦ t∩ anothe≥ I/╧ process« (Seσ thσ DTD├ fielΣ oµ thσ ì
disconnec⌠-reconnec⌠ pagσ (7.3.3.2⌐ fo≥ additiona∞ control≤ ove≥ ì
disconnection.)
ááAε implieΣ RESTOR┼ POINTER╙ messagσ shal∞ bσ performeΣ b∙ thσ initiato≥ ì
prio≥ t∩ thσ assertioε oµ thσ AC╦ signa∞ oε thσ nex⌠ phasσ fo≥ aε inbounΣ ì
IDENTIF┘ messagσ sen⌠ durinτ reconnection.
.cp 5è.aw off
.pm 0
5.6.8. IGNORE WIDE RESIDUE
.aw on
.pm 3
.aw off
.pm 0
Table 5-6: IGNOR┼ WID┼ RESIDUE Message Format
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Byte | | | | | | | | |
==============================================================================
0 ⁿ Messagσ Codσ (23h) |
-----|-----------------------------------------------------------------------|
▒ ⁿ Ignorσ |
==============================================================================
.aw on
.lm 1
.pm 3
ááThσ IGNOR┼ WID┼ RESIDU┼ messagσ (Tablσ ╡-6⌐ shal∞ bσ sen⌠ froφ ß targe⌠ t∩ ì
indicatσ tha⌠ thσ numbe≥ oµ valiΣ byte≤ sen⌠ durinτ thσ las⌠ REQ/AC╦ handshakσ ì
anΣ REQB/ACK┬ handshakσ oµ ß DAT┴ I╬ phasσ i≤ les≤ thaε thσ negotiateΣ ì
transfe≥ width« Thσ ignorσ fielΣ indicate≤ thσ numbe≥ oµ invaliΣ datß byte≤ ì
transferred« Thi≤ messagσ shal∞ bσ sen⌠ immediatel∙ followinτ thσ DAT┴ I╬ ì
phasσ anΣ prio≥ t∩ an∙ othe≥ messages« Thσ ignorσ fielΣ i≤ defineΣ a≤ ì
follows:
.aw off
.pm 0
InvaliΣ Datß Bit≤
Ignore 32-bi⌠ Transfer≤ 16-bi⌠ Transfers
-----¡---- ---------------¡ ----------------
00Φ Reserved Reserved
01Φ DB(31-24) DB(15-8)
02Φ DB(31-16) Reserved
03Φ DB(31-8) Reserved
04Φ t∩ FFΦ Reserved Reserved
.aw on
.pm 3
ááEveε thougΦ ß bytσ i≤ invaliΣ it≤ correspondinτ parit∙ bi⌠ shal∞ bσ valiΣ ì
fo≥ thσ valuσ transferred« Fo≥ 1╢-bi⌠ transfers¼ DB(3▒-16⌐ arσ alway≤ invaliΣ ì
anΣ thσ correspondinτ parit∙ bit≤ arσ als∩ invalid.
.cp 5
.aw off
.pm 0
5.6.9. INITIATE RECOVERY
.aw on
.pm 3
áá┴ targe⌠ tha⌠ support≤ extendeΣ contingen⌠ allegiancσ shal∞ inforφ thσ ì
initiato≥ i⌠ i≤ enterinτ thi≤ conditioε b∙ sendinτ aε INITIAT┼ RECOVER┘ ì
messagσ immediatel∙ followinτ ß CHEC╦ CONDITIO╬ o≥ COMMAN─ TERMINATE─ status« ì
Thσ extendeΣ contingen⌠ allegiancσ conditioε remain≤ iε effec⌠ unti∞ ì
terminateΣ a≤ describeΣ iε 6.7.
ááIµ aε asynchronou≤ even⌠ occurs¼ thσ targe⌠ ma∙ ente≥ aε extendeΣ contingen⌠ ì
allegiancσ conditioε b∙ becominτ ß temporar∙ initiato≥ anΣ sendinτ thσ ì
INITIAT┼ RECOVER┘ messagσ followinτ thσ IDENTIF┘ messagσ anΣ an∙ queuσ taτ ì
messagσ anΣ beforσ thσ COMMAN─ phasσ oµ thσ SEN─ commanΣ tha⌠ i≤ useΣ t∩ ì
perforφ thσ asynchronou≤ even⌠ notificatioε (seσ 6.5.5)« Thσ successfu∞ ì
transmissioε oµ thi≤ messagσ establishe≤ thσ extendeΣ contingen⌠ allegiancσ ì
conditioε whicΦ remain≤ iε effec⌠ unti∞ terminateΣ a≤ describeΣ iε 6.7.
.cp 5è.lm3
.pm0
.aw1
ááIMPLEMENTOR╙ NOTE║ Iµ thσ targe⌠ notifie≤ multiplσ initiator≤ oµ thσ ì
ááasynchronou≤ event¼ i⌠ shoulΣ includσ thσ INITIAT┼ RECOVER┘ messagσ iε onl∙ ì
ááonσ oµ thσ notifications.
.lm1
.pm3
.aw1
áá┴ MESSAG┼ REJEC╘ responsσ t∩ aε INITIAT┼ RECOVER┘ messagσ indicate≤ tha⌠ aε ì
extendeΣ contingen⌠ allegiancσ conditioε shal∞ no⌠ bσ established« Thσ ì
enableΣ o≥ disableΣ statσ oµ aε extendeΣ contingen⌠ allegiancσ (seσ thσ DQuσ ì
bi⌠ oµ thσ contro∞ modσ page¼ 7.3.3.1⌐ i≤ no⌠ changeΣ b∙ thσ rejectioε oµ aε ì
INITIAT┼ RECOVER┘ message.
.cp 5
.aw off
.pm 0
5.6.10. INITIATOR DETECTED ERROR
.aw on
.pm 3
ááThσ INITIATO╥ DETECTE─ ERRO╥ messagσ i≤ sen⌠ froφ aε initiato≥ t∩ inforφ ß ì
targe⌠ tha⌠ aε erro≥ ha≤ occurreΣ tha⌠ doe≤ no⌠ precludσ thσ targe⌠ froφ ì
retryinτ thσ operation« Thσ sourcσ oµ thσ erro≥ ma∙ eithe≥ bσ relateΣ t∩ ì
previou≤ activitie≤ oε thσ SCS╔ bu≤ o≥ ma∙ bσ interna∞ t∩ thσ initiato≥ anΣ ì
unrelateΣ t∩ an∙ previou≤ SCS╔ bu≤ activity« AlthougΦ presen⌠ pointe≥ ì
integrit∙ i≤ no⌠ assured¼ ß RESTOR┼ POINTER╙ messagσ o≥ ß disconnec⌠ followeΣ ì
b∙ ß reconnect¼ shal∞ causσ thσ pointer≤ t∩ bσ restoreΣ t∩ thei≥ defineΣ prio≥ ì
state.
.cp 5
.aw off
.pm 0
5.6.11. LINKED COMMAND COMPLETE
.aw on
.pm 3
ááThσ LINKE─ COMMAN─ COMPLET┼ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ aε initiato≥ t∩ ì
indicatσ tha⌠ thσ executioε oµ ß linkeΣ commanΣ ha≤ completeΣ anΣ tha⌠ statu≤ ì
ha≤ beeε sent« Thσ initiato≥ shal∞ theε se⌠ thσ pointer≤ t∩ thσ initia∞ statσ ì
fo≥ thσ nex⌠ linkeΣ command.
.cp 5
.aw off
.pm 0
5.6.12. LINKED COMMAND COMPLETE (WITH FLAG)
.aw on
.pm 3
ááThσ LINKE─ COMMAN─ COMPLET┼ (WIT╚ FLAG⌐ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ aε ì
initiato≥ t∩ indicatσ tha⌠ thσ executioε oµ ß linkeΣ commanΣ (witΦ thσ flaτ ì
bi⌠ se⌠ t∩ one⌐ ha≤ completeΣ anΣ tha⌠ statu≤ ha≤ beeε sent« Thσ initiato≥ ì
shal∞ theε se⌠ thσ pointer≤ t∩ thσ initia∞ statσ oµ thσ nex⌠ linkeΣ command« ì
Typicall∙ thi≤ messagσ woulΣ bσ useΣ t∩ causσ aε interrup⌠ iε thσ initiato≥ ì
betweeε tw∩ linkeΣ commands.
.cp 5
.aw off
.pm 0
5.6.13. MESSAGE PARITY ERROR
.aw on
.pm 3
ááThσ MESSAG┼ PARIT┘ ERRO╥ messagσ i≤ sen⌠ froφ thσ initiato≥ t∩ thσ targe⌠ t∩ ì
indicatσ tha⌠ thσ las⌠ messagσ bytσ i⌠ receiveΣ haΣ ß parit∙ error.
.cp 7
ááIε orde≥ t∩ indicatσ it≤ intention≤ oµ sendinτ thi≤ message¼ thσ initiato≥ ì
shal∞ asser⌠ thσ AT╬ signa∞ prio≥ t∩ it≤ releasσ oµ thσ AC╦ signa∞ fo≥ thσ ì
REQ/AC╦ handshakσ oµ thσ messagσ bytσ tha⌠ ha≤ thσ parit∙ error« Thi≤ ì
provide≤ aε interlocδ s∩ tha⌠ thσ targe⌠ caε determinσ whicΦ messagσ bytσ ha≤ ì
thσ parit∙ error« Iµ thσ targe⌠ receive≤ thi≤ messagσ unde≥ an∙ othe≥ ì
circumstance¼ i⌠ shal∞ signa∞ ß catastrophiπ erro≥ conditioε b∙ releasinτ thσ ì
BS┘ signa∞ withou⌠ an∙ furthe≥ informatioε transfe≥ attemp⌠ (seσ 5.1.1)«
ááIµ thσ targe⌠ return≤ t∩ thσ MESSAG┼ I╬ phasσ beforσ switchinτ t∩ somσ othe≥ ì
phase¼ afte≥ receivinτ thσ MESSAG┼ PARIT┘ ERRO╥ message¼ thσ targe⌠ shal∞ rσ-ì
senΣ thσ entirσ messagσ tha⌠ haΣ thσ parit∙ error.
.cp 5è.aw off
.pm 0
5.6.14. MESSAGE REJECT
.aw on
.pm 3
ááThσ MESSAG┼ REJEC╘ messagσ i≤ sen⌠ froφ eithe≥ thσ initiato≥ o≥ targe⌠ t∩ ì
indicatσ tha⌠ thσ las⌠ messagσ o≥ messagσ bytσ i⌠ receiveΣ wa≤ inappropriatσ ì
o≥ ha≤ no⌠ beeε implemented.
ááIε orde≥ t∩ indicatσ it≤ intention≤ oµ sendinτ thi≤ message¼ thσ initiato≥ ì
shal∞ asser⌠ thσ AT╬ signa∞ prio≥ t∩ it≤ releasσ oµ thσ AC╦ signa∞ fo≥ thσ ì
REQ/AC╦ handshakσ oµ thσ messagσ bytσ tha⌠ i≤ t∩ bσ rejected« Iµ thσ targe⌠ ì
receive≤ thi≤ messagσ unde≥ an∙ othe≥ circumstance¼ i⌠ shal∞ rejec⌠ thi≤ ì
message«
ááWheε ß targe⌠ send≤ thi≤ message¼ i⌠ shal∞ changσ t∩ MESSAG┼ I╬ phasσ anΣ ì
senΣ thi≤ messagσ prio≥ t∩ requestinτ additiona∞ messagσ byte≤ froφ thσ ì
initiator« Thi≤ provide≤ aε interlocδ s∩ tha⌠ thσ initiato≥ caε determinσ ì
whicΦ messagσ bytσ i≤ rejected.
ááAfte≥ ß targe⌠ send≤ ß MESSAG┼ REJEC╘ messagσ anΣ iµ thσ AT╬ signa∞ i≤ stil∞ ì
asserted¼ theε i⌠ shal∞ returε t∩ thσ MESSAG┼ OU╘ phase« Thσ subsequen⌠ ì
MESSAG┼ OU╘ phasσ shal∞ begiε witΦ thσ firs⌠ bytσ oµ ß message.
.cp 27
.aw off
.pm 0
5.6.15. MODIF┘ DAT┴ POINTE╥ Messagσ
Table 5-7: MODIFY DATA POINTER
==============================================================================
Byte | Value | Description |
==============================================================================
0 | 01h | Extended message |
-----|---------|-------------------------------------------------------------|
1 | 05h | Extended message length |
-----|---------|-------------------------------------------------------------|
2 | 00h | MODIFY DATA POINTER code |
-----|---------|-------------------------------------------------------------|
3 | x | Argument (Mos⌠ Significan⌠ Byte) |
-----|---------|-------------------------------------------------------------|
4 | x | Argument |
-----|---------|-------------------------------------------------------------|
5 | x | Argument |
-----|---------|-------------------------------------------------------------|
6 | x | Argument (Leas⌠ Significan⌠ Byte) |
==============================================================================
.aw on
.pm 3
ááThσ MODIF┘ DAT┴ POINTE╥ messagσ (Tablσ ╡-7⌐ i≤ sen⌠ froφ thσ targe⌠ t∩ thσ ì
initiato≥ anΣ request≤ tha⌠ thσ signeΣ argumen⌠ bσ addeΣ (two'≤ complement⌐ t∩ ì
thσ valuσ oµ thσ curren⌠ datß pointer.
.cp 5
.aw off
.pm 0
5.6.16. NO OPERATION
.aw on
.pm 3
ááThσ N╧ OPERATIO╬ messagσ i≤ sen⌠ froφ aε initiato≥ iε responsσ t∩ ß target'≤ ì
reques⌠ fo≥ ß messagσ wheε thσ initiato≥ doe≤ no⌠ currentl∙ havσ an∙ othe≥ ì
valiΣ messagσ t∩ send.
ááFo≥ example¼ iµ thσ targe⌠ doe≤ no⌠ responΣ t∩ thσ attentioε conditioε unti∞ ìèß late≥ phasσ anΣ a⌠ tha⌠ timσ thσ origina∞ messagσ i≤ n∩ longe≥ valiΣ thσ ì
initiato≥ ma∙ senΣ thσ N╧ OPERATIO╬ messagσ wheε thσ targe⌠ enter≤ thσ MESSAG┼ ì
OU╘ phase.
.cp 15
.aw off
.pm 0
5.6.17. Queuσ Tag Messages
.aw on
.pm 3
.aw off
.pm 0
Table 5-8: Queuσ Tag Message Format
==============================================================================
Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Byte | | | | | | | | |
==============================================================================
0 ⁿ Messagσ Codσ (20Φ o≥ 21Φ o≥ 22h) |
-----|-----------------------------------------------------------------------|
▒ ⁿ Queuσ Tag |
==============================================================================
.aw on
.lm 1
.pm 3
.cp3
ááTablσ ╡-╕ define≤ thσ forma⌠ fo≥ thσ queuσ taτ messages« Iµ thσ targe⌠ ì
implement≤ taggeΣ queuing¼ al∞ oµ thσ queuσ taτ message≤ arσ mandatory║ HEA─ ì
O╞ QUEU┼ TAG¼ ORDERE─ QUEU┼ TAG¼ anΣ SIMPL┼ QUEU┼ TAG« TaggeΣ queuinτ i≤ onl∙ ì
defineΣ fo≥ logica∞ units¼ no⌠ targe⌠ routines.
.cp 3
ááIµ ß targe⌠ doe≤ no⌠ implemen⌠ taggeΣ queuinτ anΣ ß queuσ taτ messagσ i≤ ì
receiveΣ o≥ iµ ß queuσ taτ messagσ i≤ receiveΣ fo≥ ß targe⌠ routine¼ i⌠ shal∞ ì
responΣ witΦ ß MESSAG┼ REJEC╘ messagσ anΣ accep⌠ thσ I/╧ proces≤ a≤ iµ i⌠ werσ ì
untagged.
.cp 3
ááThσ queuσ taτ message≤ arσ useΣ t∩ specif∙ aε identifier¼ calleΣ ß queuσ ì
tag¼ fo≥ aε I/╧ proces≤ whicΦ establishe≤ thσ I_T_L_╤ nexus« Thσ queuσ taτ ì
fielΣ i≤ aε ╕-bi⌠ unsigneΣ intege≥ assigneΣ b∙ thσ initiato≥ durinτ aε initia∞ ì
connection« Thσ queuσ taτ fo≥ ever∙ I/╧ proces≤ fo≥ eacΦ I_T_╠ nexu≤ shoulΣ ì
bσ unique« Iµ thσ targe⌠ receive≤ ß queuσ taτ tha⌠ i≤ currentl∙ iε usσ fo≥ ì
thσ I_T_╠ nexus¼ theε i⌠ shal∞ responΣ a≤ defineΣ iε 6.5.2« ┴ queuσ taτ ì
become≤ availablσ fo≥ rσ-assignmen⌠ wheε thσ I/╧ proces≤ ends« Thσ numeriπ ì
valuσ oµ ß queuσ taτ ha≤ n∩ effec⌠ oε thσ orde≥ oµ execution.
.cp 3
.lm 3
ááIMPLEMENTOR╙ NOTE║ Fo≥ eacΦ logica∞ uni⌠ oε eacΦ target¼ eacΦ initiato≥ ha≤ ì
ááu≡ t∩ 25╢ queuσ tag≤ t∩ assigε t∩ I/╧ processes« Thu≤ ß targe⌠ witΦ eigh⌠ ì
áálogica∞ unit≤ coulΣ havσ u≡ t∩ 1433╢ I/╧ processe≤ concurrentl∙ iε existencσ ì
ááiµ therσ werσ seveε initiator≤ oε thσ bus.
.lm 1
.cp 3
ááWheneve≥ aε initiato≥ connect≤ t∩ ß target¼ thσ appropriatσ queuσ taτ ì
messagσ shal∞ bσ sen⌠ immediatel∙ followinτ thσ IDENTIF┘ messagσ anΣ withiε ì
thσ samσ MESSAG┼ OU╘ phasσ t∩ establisΦ thσ I_T_L_╤ nexu≤ fo≥ thσ I/╧ process« ì
Onl∙ onσ I_T_L_╤ nexu≤ ma∙ bσ establisheΣ durinτ ß connection« Iµ ß queuσ taτ ì
messagσ i≤ no⌠ sent¼ theε onl∙ aε I_T_° nexu≤ i≤ establisheΣ fo≥ thσ I/╧ ì
proces≤ (untaggeΣ command).
.cp 3
ááWheneve≥ ß targe⌠ reconnect≤ t∩ aε initiato≥ t∩ continuσ ß taggeΣ I/╧ ì
process¼ thσ SIMPL┼ QUEU┼ TA╟ messagσ shal∞ bσ sen⌠ immediatel∙ followinτ thσ ì
IDENTIF┘ messagσ anΣ withiε thσ samσ MESSAG┼ I╬ phasσ t∩ revivσ thσ I_T_L_╤ ì
nexu≤ fo≥ thσ I/╧ process« Onl∙ onσ I_T_L_╤ nexu≤ ma∙ bσ reviveΣ durinτ ß ì
reconnection« Iµ thσ SIMPL┼ QUEU┼ TA╟ messagσ i≤ no⌠ sent¼ theε onl∙ aε I_T_° ì
nexu≤ i≤ reviveΣ fo≥ thσ I/╧ proces≤ (untaggeΣ command).è
.cp 3
ááIµ ß targe⌠ attempt≤ t∩ reconnec⌠ usinτ aε invaliΣ queuσ tag¼ theε thσ ì
initiato≥ shoulΣ responΣ witΦ aε ABOR╘ TA╟ message.
.cp 5
.aw off
.pm 0
5.6.17.1. HEA─ O╞ QUEU┼ TA╟
.aw on
.pm 3
ááThσ HEA─ O╞ QUEU┼ TA╟ messagσ specifie≤ tha⌠ thσ I/╧ proces≤ bσ placeΣ firs⌠ ì
iε tha⌠ logica∞ unit'≤ commanΣ queue« Aε I/╧ proces≤ alread∙ beinτ executeΣ ì
b∙ thσ targe⌠ shal∞ no⌠ bσ prσ-empted« ┴ subsequen⌠ I/╧ proces≤ receiveΣ witΦ ì
ß HEA─ O╞ QUEU┼ TA╟ messagσ shal∞ bσ placeΣ a⌠ thσ heaΣ oµ thσ commanΣ queuσ ì
fo≥ executioε iε las⌠-in¼ firs⌠-ou⌠ order«
.cp 5
.aw off
.pm 0
5.6.17.2. ORDERED QUEUE TAG
.aw on
.pm 3
ááThσ ORDERE─ QUEU┼ TA╟ messagσ specifie≤ tha⌠ thσ I/╧ proces≤ bσ placeΣ iε ì
tha⌠ logica∞ unit'≤ commanΣ queuσ fo≥ executioε iε thσ orde≥ received« Al∞ ì
queueΣ I/╧ processe≤ fo≥ thσ logica∞ uni⌠ receiveΣ prio≥ t∩ thi≤ I/╧ proces≤ ì
shal∞ bσ executeΣ beforσ thi≤ I/╧ proces≤ i≤ executed« Al∞ queueΣ I/╧ ì
processe≤ receiveΣ afte≥ thi≤ I/╧ proces≤ shal∞ bσ executeΣ afte≥ thi≤ I/╧ ì
process¼ excep⌠ fo≥ I/╧ processe≤ receiveΣ witΦ ß HEA─ O╞ QUEU┼ TA╟ message.
.cp 5
.aw off
.pm 0
5.6.17.3. SIMPLE QUEUE TAG
.aw on
.pm 3
ááThσ SIMPL┼ QUEU┼ TA╟ messagσ specifie≤ tha⌠ thσ I/╧ proces≤ bσ placeΣ iε ì
tha⌠ logica∞ unit'≤ commanΣ queue« Thσ orde≥ oµ executioε i≤ describeΣ iε ì
6.8.
.cp 5
.aw off
.pm 0
5.6.18. RELEASE RECOVERY
.aw on
.pm 3
ááThσ RELEAS┼ RECOVER┘ messagσ i≤ sen⌠ froφ aε initiato≥ t∩ ß targe⌠ t∩ ì
terminatσ aε extendeΣ contingen⌠ allegiancσ conditioε previousl∙ establisheΣ ì
b∙ aε INITIAT┼ RECOVER┘ message« Thi≤ messagσ shal∞ bσ sen⌠ immediatel∙ ì
followinτ thσ IDENTIF┘ messagσ iε thσ samσ MESSAG┼ OU╘ phase« Thσ extendeΣ ì
contingen⌠ allegiancσ conditioε end≤ upoε successfu∞ receip⌠ oµ thσ RELEAS┼ ì
RECOVER┘ message« Thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ ì
successfu∞ receip⌠ oµ thi≤ message.
.cp 3
ááIµ ß RELEAS┼ RECOVER┘ messagσ i≤ receiveΣ b∙ ß targe⌠ tha⌠ implement≤ ì
extendeΣ contingen⌠ allegiancσ wheε n∩ extendeΣ contingen⌠ allegiancσ ì
conditioε i≤ active¼ thσ messagσ shal∞ no⌠ bσ rejecteΣ anΣ thσ targe⌠ shal∞ g∩ ì
t∩ thσ BU╙ FRE┼ phase.
.cp 5
.aw off
.pm 0
5.6.19. RESTORE POINTERS
.aw on
.pm 3
ááThσ RESTOR┼ POINTER╙ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ direc⌠ thσ initiato≥ ì
t∩ cop∙ thσ mos⌠ recentl∙ saveΣ command¼ data¼ anΣ statu≤ pointer≤ fo≥ thσ I/╧ ì
proces≤ t∩ thσ correspondinτ activσ pointers« Thσ commanΣ anΣ statu≤ pointer≤ ì
shal∞ bσ restoreΣ t∩ thσ beginninτ oµ thσ presen⌠ commanΣ anΣ statu≤ areas« ì
Thσ datß pointe≥ shal∞ bσ restoreΣ t∩ thσ valuσ a⌠ thσ beginninτ oµ thσ datß ì
areß iε thσ absencσ oµ ß SAV┼ DAT┴ POINTE╥ messagσ o≥ t∩ thσ valuσ a⌠ thσ ì
poin⌠ a⌠ whicΦ thσ las⌠ SAV┼ DAT┴ POINTE╥ messagσ occurreΣ fo≥ tha⌠ nexus.
.cp 5
.aw off
.pm 0
5.6.20. SAVE DATA POINTER
.aw on
.pm 3
ááThσ SAV┼ DAT┴ POINTE╥ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ direc⌠ thσ initiato≥ ì
t∩ cop∙ thσ activσ datß pointe≥ t∩ thσ saveΣ datß pointe≥ fo≥ thσ curren⌠ I/╧ ì
process« (Seσ 5.┤ fo≥ ß definitioε oµ pointers.)
è.cp 20
.aw off
.pm 0
5.6.21. SYNCHRONOUS DATA TRANSFER REQUEST Message
Table 5-9: SYNCHRONOUS DATA TRANSFER REQUEST
==============================================================================
Byte | Value | Description |
==============================================================================
0 | 01h | Extended message |
-----|---------|-------------------------------------------------------------|
1 | 03h | Extended message length |
-----|---------|-------------------------------------------------------------|
2 | 01h | SYNCHRONOUS DATA TRANSFER REQUEST code |
-----|---------|-------------------------------------------------------------|
3 | m | Transfer period (m times 4 nanoseconds) |
-----|---------|-------------------------------------------------------------|
4 | x | REQ/ACK offset |
==============================================================================
.aw on
.pm 3
.cp 3
áá┴ SYNCHRONOU╙ DAT┴ TRANSFE╥ REQUES╘ (SDTR⌐ messagσ (Tablσ ╡-9⌐ exchangσ ì
shal∞ bσ initiateΣ b∙ aε SCS╔ devicσ wheneve≥ ß previousl∙-arrangeΣ datß ì
transfe≥ agreemen⌠ ma∙ havσ becomσ invalid« Thσ agreemen⌠ become≤ invaliΣ ì
afte≥ an∙ conditioε whicΦ ma∙ leavσ thσ datß transfe≥ agreemen⌠ iε aε ì
indeterminatσ statσ sucΦ as:
áá(1⌐ afte≥ ß harΣ rese⌠ condition
áá(2⌐ afte≥ ß BU╙ DEVIC┼ RESE╘ messagσ and
áá(3⌐ afte≥ ß powe≥ cycle.
.cp 3
ááIε addition¼ aε SCS╔ devicσ ma∙ initiatσ aε SDT╥ messagσ exchangσ wheneve≥ ì
i⌠ i≤ appropriatσ t∩ negotiatσ ß ne≈ datß transfe≥ agreemen⌠ (eithe≥ ì
synchronou≤ o≥ asynchronous)« SCS╔ device≤ tha⌠ arσ capablσ oµ synchronou≤ ì
datß transfer≤ shal∞ no⌠ responΣ t∩ aε SDT╥ messagσ witΦ ß MESSAG┼ REJEC╘ ì
message.
.lm3
.pm0
.aw1
ááIMPLEMENTOR╙ NOTES:
áá(1⌐ Rσ-negotiatioε a⌠ ever∙ selectioε i≤ no⌠ recommended¼ sincσ ß ì
áásignifican⌠ performancσ impac⌠ i≤ likely«
áá(2⌐ Duσ t∩ historica∞ problem≤ witΦ earl∙ hos⌠ adapter≤ tha⌠ coulΣ no⌠ ì
ááaccep⌠ aε SDT╥ message¼ somσ target≤ ma∙ no⌠ initiatσ synchronou≤ ì
áánegotiatioε afte≥ ß powe≥ cyclσ a≤ requireΣ b∙ thi≤ standard« Hos⌠ adapter≤ ì
áátha⌠ suppor⌠ synchronou≤ modσ ma∙ avoiΣ thσ ensuinτ failurσ mode≤ wheε thσ ì
áátarge⌠ i≤ independentl∙ powe≥ cycleΣ b∙ initiatinτ ß synchronou≤ negotiatioε ì
ááoε eacΦ REQUES╘ SENS┼ anΣ INQUIR┘ command« Thi≤ approacΦ increase≤ thσ SCS╔ ì
áábu≤ overheaΣ anΣ i≤ no⌠ recommendeΣ fo≥ ne≈ implementations« Thσ correc⌠ ì
áámethoΣ i≤ t∩ responΣ t∩ aε SDT╥ messagσ witΦ ß MESSAG┼ REJEC╘ messagσ iµ thσ ì
ááeithe≥ thσ initiato≥ o≥ targe⌠ device≤ doe≤ no⌠ suppor⌠ synchronou≤ ì
áátransfer≤ o≥ doe≤ no⌠ wan⌠ t∩ negotiatσ fo≥ synchronou≤ transfer≤ a⌠ thσ ì
áátime« Usinτ thσ correc⌠ methoΣ assure≤ compatibilit∙ witΦ widσ datß ì
áátransfer≤ anΣ futurσ enhancements.
.lm1
.pm3
.aw1
.cp 3
ááThσ SDT╥ messagσ exchangσ establishe≤ thσ permissiblσ transfe≥ period≤ anΣ ì
thσ REQ/AC╦ offset≤ fo≥ al∞ logica∞ unit≤ anΣ targe⌠ routine≤ oε thσ tw∩ ì
devices« Thi≤ agreemen⌠ onl∙ applie≤ t∩ datß phases.
.cp 3èááThσ transfe≥ perioΣ i≤ thσ minimuφ timσ alloweΣ betweeε leadinτ edge≤ oµ ì
successivσ RE╤ pulse≤ anΣ oµ successivσ AC╦ pulse≤ t∩ mee⌠ thσ devicσ ì
requirement≤ fo≥ successfu∞ receptioε oµ data.
.cp 3
ááThσ REQ/AC╦ offse⌠ i≤ thσ maximuφ numbe≥ oµ RE╤ pulse≤ alloweΣ t∩ bσ ì
outstandinτ beforσ thσ leadinτ edgσ oµ it≤ correspondinτ AC╦ pulsσ i≤ receiveΣ ì
a⌠ thσ target« Thi≤ valuσ i≤ choseε t∩ preven⌠ overflo≈ condition≤ iε thσ ì
device'≤ receptioε buffe≥ anΣ offse⌠ counter« ┴ REQ/AC╦ offse⌠ valuσ oµ zer∩ ì
shal∞ indicatσ asynchronou≤ datß transfe≥ mode╗ ß valuσ oµ FFΦ shal∞ indicatσ ì
unlimiteΣ REQ/AC╦ offset.
.cp 3
ááThσ originatinτ devicσ (thσ devicσ tha⌠ send≤ thσ firs⌠ oµ thσ pai≥ oµ SDT╥ ì
messages⌐ set≤ it≤ value≤ accordinτ t∩ thσ rule≤ abovσ t∩ permi⌠ i⌠ t∩ receivσ ì
datß successfully« Iµ thσ respondinτ devicσ caε als∩ receivσ datß ì
successfull∙ witΦ thesσ value≤ (o≥ smalle≥ transfe≥ period≤ o≥ large≥ REQ/AC╦ ì
offset≤ o≥ both)¼ i⌠ return≤ thσ samσ value≤ iε it≤ SDT╥ message« Iµ i⌠ ì
require≤ ß large≥ transfe≥ period¼ ß smalle≥ REQ/AC╦ offset¼ o≥ botΦ iε orde≥ ì
t∩ receivσ datß successfully¼ i⌠ substitute≤ value≤ iε it≤ SDT╥ messagσ a≤ ì
required¼ returninτ unchangeΣ an∙ valuσ no⌠ requireΣ t∩ bσ changed« EacΦ ì
devicσ wheε transmittinτ datß shal∞ respec⌠ thσ limit≤ se⌠ b∙ thσ other'≤ SDT╥ ì
message¼ bu⌠ i⌠ i≤ permitteΣ t∩ transfe≥ datß witΦ large≥ transfe≥ periods¼ ì
smalle≥ REQ/AC╦ offsets¼ o≥ botΦ thaε specifieΣ iε thσ other'≤ SDT╥ message« ì
Thσ successfu∞ completioε oµ aε exchangσ oµ SDT╥ message≤ implie≤ aε agreemen⌠ ì
a≤ follows:
.cp 11
.pm 1
.lm 36
Responding Device SDTR response ImplieΣ Agreement
------------------------------- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-
(1) Non-zero REQ/ACK offset EacΦ devicσ transmit≤ datß witΦ ß transfe≥ ì
áááááááááááááááááááááááááááááááááááperioΣ equa∞ t∩ o≥ greate≥ thaε anΣ ß ì
áááááááááááááááááááááááááááááááááááREQ/AC╦ offse⌠ equa∞ t∩ o≥ les≤ thaε thσ ì
ááááááááááááááááááááááááááááááááááávalue≤ receiveΣ iε thσ othe≥ device'≤ SDT╥ ì
ááááááááááááááááááááááááááááááááááámessage.
(2) REQ/ACK offset equal to zero Asynchronou≤ transfer
(3) MESSAGE REJECT message Asynchronou≤ transfer
.pm 3
.lm 1
ááIµ thσ initiato≥ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ assert≤ thσ AT╬ ì
signa∞ anΣ send≤ ß SDT╥ messagσ t∩ begiε thσ negotiatinτ process« Afte≥ ì
successfull∙ completinτ thσ MESSAG┼ OU╘ phase¼ thσ targe⌠ shal∞ responΣ witΦ ì
thσ prope≥ SDT╥ message« Iµ aε abnorma∞ conditioε prevent≤ thσ targe⌠ froφ ì
returninτ aε appropriatσ response¼ botΦ device≤ shal∞ g∩ t∩ asynchronou≤ datß ì
transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
ááFollowinτ targe⌠ responsσ (1⌐ above¼ thσ implieΣ agreemen⌠ fo≥ synchronou≤ ì
operatioε shal∞ bσ considereΣ t∩ bσ negateΣ b∙ botΦ thσ initiato≥ anΣ thσ ì
targe⌠ iµ thσ initiato≥ assert≤ thσ AT╬ signa∞ anΣ thσ firs⌠ messagσ ou⌠ i≤ ì
eithe≥ MESSAG┼ PARIT┘ ERRO╥ o≥ MESSAG┼ REJECT« Iε thi≤ case¼ botΦ device≤ ì
shal∞ g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ ì
devices« Fo≥ thσ MESSAG┼ PARIT┘ ERRO╥ case¼ thσ implieΣ agreemen⌠ shal∞ bσ ì
reinstateΣ iµ ß rσ-transmitta∞ oµ thσ seconΣ oµ thσ pai≥ oµ message≤ i≤ ì
successfull∙ accomplished« Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ ì
(greate≥ thaε zero)¼ iµ thσ targe⌠ receive≤ ß MESSAG┼ PARIT┘ ERRO╥ message¼ i⌠ ì
shal∞ terminatσ thσ retr∙ activity« Thi≤ ma∙ bσ donσ eithe≥ b∙ changinτ t∩ ì
an∙ othe≥ informatioε transfe≥ phasσ anΣ transferrinτ a⌠ leas⌠ onσ bytσ oµ ìèinformatioε o≥ b∙ goinτ t∩ thσ BU╙ FRE┼ phasσ (seσ 5.1.1)« Thσ initiato≥ ì
shal∞ accep⌠ sucΦ actioε a≤ abortinτ thσ negotiation¼ anΣ botΦ device≤ shal∞ ì
g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ ì
devices«
ááIµ thσ targe⌠ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ send≤ aε SDT╥ ì
messagσ t∩ thσ initiator« Prio≥ t∩ releasinτ thσ AC╦ signa∞ oε thσ las⌠ bytσ ì
oµ thσ SDT╥ messagσ froφ thσ target¼ thσ initiato≥ shal∞ asser⌠ thσ AT╬ signa∞ ì
anΣ responΣ witΦ it≤ SDT╥ messagσ o≥ witΦ ß MESSAG┼ REJEC╘ message« Iµ aε ì
abnorma∞ conditioε prevent≤ thσ initiato≥ froφ returninτ aε appropriatσ ì
response¼ botΦ device≤ shal∞ g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß ì
transfer≤ betweeε thσ tw∩ devices.
ááFollowinτ aε initiator'≤ respondinτ SDT╥ message¼ aε implieΣ agreemen⌠ fo≥ ì
synchronou≤ operatioε shal∞ no⌠ bσ considereΣ t∩ exis⌠ unti∞ thσ targe⌠ leave≤ ì
thσ MESSAG┼ OU╘ phase¼ indicatinτ tha⌠ thσ targe⌠ ha≤ accepteΣ thσ ì
negotiation« Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ (greate≥ thaε ì
zero)¼ iµ thσ targe⌠ ha≤ no⌠ receiveΣ thσ initiator'≤ respondinτ SDT╥ message¼ ì
i⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ withou⌠ an∙ furthe≥ informatioε transfe≥ ì
attemp⌠ (seσ 5.1.1)« Thi≤ indicate≤ tha⌠ ß catastrophiπ erro≥ conditioε ha≤ ì
occurred« BotΦ device≤ shal∞ g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß ì
transfer≤ betweeε thσ tw∩ devices.
.cp 5
ááIf¼ followinτ aε initiator'≤ respondinτ SDT╥ message¼ thσ targe⌠ shift≤ t∩ ì
MESSAG┼ I╬ phasσ anΣ thσ firs⌠ messagσ iε i≤ MESSAG┼ REJECT¼ thσ implieΣ ì
agreemen⌠ shal∞ bσ considereΣ t∩ bσ negateΣ anΣ botΦ device≤ shal∞ g∩ t∩ ì
asynchronou≤ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
.cp 10
ááThσ implieΣ synchronou≤ agreemen⌠ shal∞ remaiε iε effec⌠ unti∞ ß BU╙ DEVIC┼ ì
RESE╘ messagσ i≤ received¼ unti∞ ß harΣ rese⌠ conditioε occurs¼ o≥ unti∞ onσ ì
oµ thσ tw∩ SCS╔ device≤ elect≤ t∩ modif∙ thσ agreement« Thσ defaul⌠ datß ì
transfe≥ modσ i≤ asynchronou≤ datß transfe≥ mode« Thσ defaul⌠ datß transfe≥ ì
modσ i≤ entereΣ a⌠ powe≥ on¼ afte≥ ß BU╙ DEVIC┼ RESE╘ message¼ o≥ afte≥ ß harΣ ì
rese⌠ condition.
.cp 15
.aw off
.pm 0
5.6.22. TERMINAT┼ I/╧ PROCESS
.aw on
.pm 3
ááThσ TERMINAT┼ I/╧ PROCES╙ messagσ i≤ sen⌠ froφ thσ initiato≥ t∩ thσ targe⌠ ì
t∩ advisσ thσ targe⌠ t∩ terminatσ thσ curren⌠ I/╧ proces≤ withou⌠ corruptinτ ì
thσ medium« Upoε successfu∞ receip⌠ oµ thi≤ messagσ thσ targe⌠ shal∞ ì
terminatσ thσ curren⌠ I/╧ proces≤ a≤ sooε a≤ possiblσ anΣ returε COMMAN─ ì
TERMINATE─ status« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ anΣ thσ additiona∞ ì
sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ I/╧ PROCES╙ TERMINATED« Thσ ì
TERMINAT┼ I/╧ PROCES╙ messagσ shal∞ no⌠ affec⌠ pendinτ status¼ data¼ anΣ ì
command≤ fo≥ othe≥ queueΣ o≥ executinτ I/╧ processes« However¼ continueΣ ì
executioε anΣ statu≤ oµ othe≥ I/╧ processe≤ queueΣ fo≥ thσ I_T_° nexu≤ ma∙ bσ ì
affecteΣ b∙ thσ queuσ erro≥ recover∙ optioε specifieΣ iε thσ contro∞ modσ pagσ ì
(seσ 7.3.3.1).
.cp 10èááIµ thσ I/╧ proces≤ tha⌠ i≤ beinτ terminateΣ ha≤ ß datß transfe≥ associateΣ ì
witΦ i⌠ (i.e.¼ DAT┴ I╬ o≥ DAT┴ OU╘ phase)¼ thσ valiΣ bi⌠ iε thσ sensσ datß ì
shal∞ bσ se⌠ t∩ onσ anΣ thσ informatioε fielΣ shal∞ bσ se⌠ a≤ follows:
áá(1⌐ Iµ thσ commanΣ descripto≥ blocδ specifie≤ aε allocatioε lengtΦ o≥ ì
paramete≥ lis⌠ lengtΦ iε bytes¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ ì
differencσ (residue⌐ betweeε thσ transfe≥ lengtΦ anΣ thσ numbe≥ oµ byte≤ ì
successfull∙ transferred.
áá(2⌐ Iµ thσ commanΣ descripto≥ blocδ specifie≤ ß transfe≥ lengtΦ field¼ thσ ì
informatioε fielΣ shal∞ bσ se⌠ a≤ defineΣ iε thσ REQUES╘ SENS┼ commanΣ (seσ ì
7.2.14).
.cp 5
ááIµ thσ I/╧ proces≤ beinτ terminateΣ ha≤ n∩ datß transfe≥ associateΣ witΦ i⌠ ì
thσ targe⌠ shal∞ se⌠ thσ valiΣ bi⌠ iε thσ sensσ datß t∩ zer∩ anΣ terminatσ thσ ì
I/╧ proces≤ witΦ COMMAN─ TERMINATE─ status« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ ì
SENS┼ anΣ thσ additiona∞ sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ I/╧ PROCES╙ ì
TERMINATED.
.cp 3
ááWheε an∙ erro≥ conditioε i≤ detecteΣ fo≥ aε I/╧ proces≤ thσ targe⌠ shal∞ ì
ignorσ thσ TERMINAT┼ I/╧ PROCES╙ messagσ anΣ terminatσ thσ I/╧ proces≤ witΦ ì
thσ appropriatσ erro≥ statu≤ anΣ sensσ datß fo≥ thσ erro≥ condition.
.cp 3
ááIµ thσ targe⌠ complete≤ al∞ processinτ fo≥ ß commanΣ (i.e.¼ al∞ datß ha≤ ì
beeε read¼ written¼ o≥ processed⌐ anΣ ß TERMINAT┼ I/╧ PROCES╙ messagσ i≤ ì
receiveΣ beforσ thσ I/╧ proces≤ i≤ terminated¼ thσ targe⌠ shal∞ ignorσ thσ ì
TERMINAT┼ I/╧ PROCES╙ messagσ anΣ terminatσ thσ I/╧ proces≤ iε thσ norma∞ ì
manner.
.cp 7
ááIµ thσ targe⌠ receive≤ ß TERMINAT┼ I/╧ PROCES╙ messagσ beforσ thσ commanΣ ì
descripto≥ blocδ i≤ transferreΣ (i.e.¼ beforσ thσ COMMAN─ phase⌐ o≥ thσ ì
messagσ i≤ issueΣ t∩ aε I_T_° nexu≤ tha⌠ doe≤ no⌠ havσ aε activσ o≥ queueΣ I/╧ ì
process¼ thσ targe⌠ shal∞ se⌠ thσ valiΣ bi⌠ iε thσ sensσ datß t∩ zer∩ anΣ ì
terminatσ thσ I/╧ proces≤ witΦ COMMAN─ TERMINATE─ status« Thσ sensσ ke∙ shal∞ ì
bσ se⌠ t∩ N╧ SENS┼ anΣ thσ additiona∞ sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ ì
I/╧ PROCES╙ TERMINATED.
.cp 8
ááIµ thσ curren⌠ I/╧ proces≤ i≤ iε thσ commanΣ queuσ (I_T_° nexu≤ fo≥ untaggeΣ ì
queuinτ o≥ I_T_L_╤ nexu≤ fo≥ taggeΣ queuing⌐ anΣ ha≤ no⌠ starteΣ execution¼ ì
thσ targe⌠ shal∞ eithe≥ terminatσ thσ I/╧ proces≤ immediatel∙ o≥ disconnec⌠ ì
anΣ wai⌠ unti∞ thσ commanΣ i≤ a⌠ thσ heaΣ oµ thσ queuσ (starteΣ executing⌐ ì
theε terminatσ thσ I/╧ process« Iε eithe≥ case¼ thσ targe⌠ shal∞ terminatσ ì
thσ I/╧ proces≤ witΦ COMMAN─ TERMINATE─ status« Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ ì
N╧ SENS┼ anΣ thσ additiona∞ sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ I/╧ ì
PROCES╙ TERMINATED« Thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ zero.
ááIµ thσ targe⌠ doe≤ no⌠ suppor⌠ thi≤ messagσ o≥ i≤ unablσ t∩ sto≡ thσ curren⌠ ì
I/╧ proces≤ fo≥ thσ I_T_° nexus¼ i⌠ shal∞ responΣ b∙ sendinτ ß MESSAG┼ REJEC╘ ì
messagσ t∩ thσ initiato≥ anΣ continuinτ thσ I/╧ proces≤ iε ß norma∞ manner.
.pm 0
.lm 3
ááIMPLEMENTOR╙ NOTE║ Thσ TERMINAT┼ I/╧ PROCES╙ messagσ provide≤ ß mean≤ fo≥ ì
ááthσ initiato≥ t∩ reques⌠ thσ targe⌠ t∩ reducσ thσ transfe≥ lengtΦ oµ thσ ì
áácurren⌠ commanΣ t∩ thσ amoun⌠ tha⌠ ha≤ alread∙ beeε transferred« Thσ ì
ááinitiato≥ caε usσ thσ sensσ datß t∩ determinσ thσ actua∞ numbe≥ oµ byte≤ o≥ ì
ááblock≤ tha⌠ havσ beeε transferred« Thi≤ messagσ i≤ normall∙ useΣ b∙ thσ ì
ááinitiato≥ t∩ sto≡ ß length∙ read¼ write¼ o≥ verif∙ operatioε wheε ß highe≥-ì
áápriorit∙ commanΣ i≤ availablσ t∩ bσ executed« I⌠ i≤ u≡ t∩ thσ initiato≥ t∩ ìèáácompletσ thσ terminateΣ commanΣ a⌠ ß late≥ time¼ iµ required.
.pm 3
.lm 1
.cp 20
.aw off
.pm 0
5.6.23. WIDE DATA TRANSFER REQUEST Messagσ
Table 5-10: WIDE DATA TRANSFER MESSAGE
==============================================================================
Byte | Value | Description |
==============================================================================
0 | 01h | Extended message |
-----|---------|-------------------------------------------------------------|
1 | 02h | Extended message length |
-----|---------|-------------------------------------------------------------|
2 | 03h | WIDE DATA TRANSFER REQUEST code |
-----|---------|-------------------------------------------------------------|
3 | m | Transfer Width (2**m bytes) |
==============================================================================
.aw on
.pm 3
.cp 9
áá┴ WID┼ DAT┴ TRANSFE╥ REQUES╘ (WDTR⌐ messagσ (Tablσ ╡-10⌐ exchangσ shal∞ bσ ì
initiateΣ b∙ aε SCS╔ devicσ wheneve≥ ß previousl∙-arrangeΣ transfe≥ widtΦ ì
agreemen⌠ ma∙ havσ becomσ invalid« Thσ agreemen⌠ become≤ invaliΣ afte≥ an∙ ì
conditioε whicΦ ma∙ leavσ thσ datß transfe≥ agreemen⌠ iε aε indeterminatσ ì
statσ sucΦ as:
áá(1⌐ afte≥ ß harΣ rese⌠ condition
áá(2⌐ afte≥ ß BU╙ DEVIC┼ RESE╘ messagσ and
áá(3⌐ afte≥ ß powe≥ cycle.
.cp 5
ááIε addition¼ aε SCS╔ devicσ ma∙ initiatσ aε WDT╥ messagσ exchangσ wheneve≥ ì
i⌠ i≤ appropriatσ t∩ negotiatσ ß ne≈ transfe≥ widtΦ agreement« SCS╔ device≤ ì
tha⌠ arσ capablσ oµ widσ datß transfer≤ (greate≥ thaε eigh⌠ bits⌐ shal∞ no⌠ ì
responΣ t∩ aε WDT╥ messagσ witΦ ß MESSAG┼ REJEC╘ message.
.lm3
.pm0
.aw1
ááIMPLEMENTOR╙ NOTE║ Rσ-negotiatioε a⌠ ever∙ selectioε i≤ no⌠ recommended¼ ì
áásincσ ß significan⌠ performancσ impac⌠ i≤ likely«
.lm1
.pm3
.aw1
.cp 5
ááThσ WDT╥ messagσ exchangσ establishe≤ aε agreemen⌠ betweeε tw∩ SCS╔ device≤ ì
oε thσ widtΦ oµ thσ datß patΦ t∩ bσ useΣ fo≥ DAT┴ phasσ transfer≤ betweeε thσ ì
tw∩ devices« Thi≤ agreemen⌠ applie≤ t∩ DAT┴ I╬ anΣ DAT┴ OU╘ phase≤ only« Al∞ ì
othe≥ informatioε transfe≥ phase≤ shal∞ usσ aε eigh⌠-bi⌠ datß path.
.cp 5
ááIµ aε SCS╔ devicσ implement≤ botΦ widσ datß transfe≥ optioε anΣ synchronou≤ ì
datß transfe≥ option¼ theε i⌠ shal∞ negotiatσ thσ widσ datß transfe≥ agreemen⌠ ì
prio≥ t∩ negotiatinτ thσ synchronou≤ datß transfe≥ agreement« Iµ ß ì
synchronou≤ datß transfe≥ agreemen⌠ i≤ iε effect¼ theε aε SCS╔ devicσ tha⌠ ì
accept≤ ß WDT╥ messagσ shal∞ rese⌠ thσ synchronou≤ agreemen⌠ t∩ asynchronou≤ ì
mode.
.cp 3
ááThσ transfe≥ widtΦ tha⌠ i≤ establisheΣ applie≤ t∩ al∞ logica∞ unit≤ oε botΦ ì
SCS╔ devices« ValiΣ transfe≥ width≤ arσ ╕ bit≤ (m=00h)¼ 1╢ bit≤ (m=01h)¼ ì
anΣ 3▓ bit≤ (m=02h)« Value≤ oµ φ greate≥ thaε 02Φ arσ reserved.
.cp 7èááThσ originatinτ SCS╔ devicσ (thσ SCS╔ devicσ tha⌠ send≤ thσ firs⌠ oµ thσ ì
pai≥ oµ WDT╥ messages⌐ set≤ it≤ transfe≥ widtΦ valuσ t∩ thσ maximuφ datß patΦ ì
widtΦ i⌠ elect≤ t∩ accommodate« Iµ thσ respondinτ SCS╔ devicσ caε als∩ ì
accommodatσ thi≤ transfe≥ width¼ i⌠ return≤ thσ samσ valuσ iε it≤ WDT╥ ì
message« Iµ i⌠ require≤ ß smalle≥ transfe≥ width¼ i⌠ substitute≤ thσ smalle≥ ì
valuσ iε it≤ WDT╥ message« Thσ successfu∞ completioε oµ aε exchangσ oµ WDT╥ ì
message≤ implie≤ aε agreemen⌠ a≤ follows:
.cp 11
.pm 1
.lm 36
Responding Device WDTR Response ImplieΣ Agreement
-------------------------------- ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-
(1) Non-zero transfer width EacΦ devicσ transmit≤ anΣ receive≤ datß ì
áááááááááááááááááááááááááááááááááááwitΦ ß transfe≥ widtΦ equa∞ t∩ thσ ì
ááááááááááááááááááááááááááááááááááárespondinτ SCS╔ device'≤ transfe≥ width.
(2) Transfer width equal to zero Eigh⌠-bi⌠ Datß Transfer
(3) MESSAGE REJECT message Eigh⌠-bi⌠ Datß Transfer
.pm 3
.lm 1
.cp 5
ááIµ thσ initiato≥ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ assert≤ thσ AT╬ ì
signa∞ anΣ send≤ ß WDT╥ messagσ t∩ begiε thσ negotiatinτ process« Afte≥ ì
successfull∙ completinτ thσ MESSAG┼ OU╘ phase¼ thσ targe⌠ shal∞ responΣ witΦ ì
thσ prope≥ WDT╥ message« Iµ aε abnorma∞ conditioε prevent≤ thσ targe⌠ froφ ì
returninτ aε appropriatσ response¼ botΦ device≤ shal∞ g∩ t∩ eigh⌠-bi⌠ datß ì
transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
.cp 14
ááFollowinτ targe⌠ responsσ (1⌐ above¼ thσ implieΣ agreemen⌠ fo≥ widσ datß ì
transfer≤ shal∞ bσ considereΣ t∩ bσ negateΣ b∙ botΦ thσ initiato≥ anΣ thσ ì
targe⌠ iµ thσ initiato≥ assert≤ AT╬ anΣ thσ firs⌠ messagσ ou⌠ i≤ eithe≥ ì
MESSAG┼ PARIT┘ ERRO╥ o≥ MESSAG┼ REJECT« Iε thi≤ case¼ botΦ device≤ shal∞ g∩ ì
t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices« ì
Fo≥ thσ MESSAG┼ PARIT┘ ERRO╥ case¼ thσ implieΣ agreemen⌠ shal∞ bσ reinstateΣ ì
iµ ß rσ-transmitta∞ oµ thσ seconΣ oµ thσ pai≥ oµ message≤ i≤ successfull∙ ì
accomplished« Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ (greate≥ thaε ì
zero)¼ iµ thσ targe⌠ receive≤ ß MESSAG┼ PARIT┘ ERRO╥ message¼ i⌠ shal∞ ì
terminatσ thσ retr∙ activity« Thi≤ ma∙ bσ donσ eithe≥ b∙ changinτ t∩ an∙ ì
othe≥ informatioε transfe≥ phasσ anΣ transferrinτ a⌠ leas⌠ onσ bytσ oµ ì
informatioε o≥ b∙ goinτ t∩ thσ BU╙ FRE┼ phasσ (seσ 5.1.1)« Thσ initiato≥ ì
shal∞ accep⌠ sucΦ actioε a≤ abortinτ thσ negotiation¼ anΣ botΦ device≤ shal∞ ì
g∩ t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices«
.cp 5
ááIµ thσ targe⌠ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ send≤ ß WDT╥ ì
messagσ t∩ thσ initiator« Prio≥ t∩ releasinτ thσ AC╦ signa∞ oε thσ las⌠ bytσ ì
oµ thσ WDT╥ messagσ froφ thσ target¼ thσ initiato≥ shal∞ asser⌠ thσ AT╬ signa∞ ì
anΣ responΣ witΦ it≤ WDT╥ messagσ o≥ witΦ ß MESSAG┼ REJEC╘ message« Iµ aε ì
abnorma∞ conditioε prevent≤ thσ initiato≥ froφ returninτ aε appropriatσ ì
response¼ botΦ device≤ shal∞ g∩ t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß ì
transfer≤ betweeε thσ tw∩ devices.
.cp 10èááFollowinτ aε initiator'≤ respondinτ WDT╥ message¼ aε implieΣ agreemen⌠ fo≥ ì
widσ datß transfe≥ operatioε shal∞ no⌠ bσ considereΣ t∩ exis⌠ unti∞ thσ targe⌠ ì
leave≤ thσ MESSAG┼ OU╘ phase¼ indicatinτ tha⌠ thσ targe⌠ ha≤ accepteΣ thσ ì
negotiation« Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ (greate≥ thaε ì
zero)¼ iµ thσ targe⌠ ha≤ no⌠ receiveΣ thσ initiator'≤ respondinτ WDT╥ message¼ ì
i⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ withou⌠ an∙ furthe≥ informatioε transfe≥ ì
attemp⌠ (seσ 5.1.1)« Thi≤ indicate≤ tha⌠ ß catastrophiπ erro≥ conditioε ha≤ ì
occurred« BotΦ device≤ shal∞ g∩ t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß ì
transfer≤ betweeε thσ tw∩ devices.
.cp 5
ááIf¼ followinτ aε initiator'≤ respondinτ WDT╥ message¼ thσ targe⌠ shift≤ t∩ ì
MESSAG┼ I╬ phasσ anΣ thσ firs⌠ messagσ iε i≤ MESSAG┼ REJECT¼ thσ implieΣ ì
agreemen⌠ shal∞ bσ considereΣ t∩ bσ negateΣ anΣ botΦ device≤ shal∞ g∩ t∩ ì
eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
.cp 6
ááThσ implieΣ transfe≥ widtΦ agreemen⌠ shal∞ remaiε iε effec⌠ unti∞ ß BU╙ ì
DEVIC┼ RESE╘ messagσ i≤ received¼ unti∞ ß harΣ rese⌠ conditioε occurs¼ o≥ ì
unti∞ onσ oµ thσ tw∩ SCS╔ device≤ elect≤ t∩ modif∙ thσ agreement« Thσ defaul⌠ ì
datß transfe≥ widtΦ i≤ eigh⌠-bi⌠ datß transfe≥ mode« Thσ defaul⌠ datß ì
transfe≥ modσ i≤ entereΣ a⌠ powe≥ on¼ afte≥ ß BU╙ DEVIC┼ RESE╘ message¼ o≥ ì
afte≥ ß harΣ rese⌠ condition.
..end of section
.paè
áá (Thi≤ pagσ i≤ intentionall∙ blank.)
.paè