home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / S2R10_C.ZIP / S2R10C05.SI < prev    next >
Text File  |  1990-03-09  |  109KB  |  2,326 lines

  1. .RR--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!--!
  2. .PL 62
  3. .LM 1
  4. .RM 78
  5. .MT3
  6. .MB4
  7. .HM1
  8. .FM1
  9. .PO10
  10. .CW10
  11. .SR2
  12. .UJ0
  13. .OJ0
  14. .UL1
  15. .heLogical Characteristics                                                 3/9/90
  16. .foSCSI-2 draft proposed American National Standard        5-#      Revision 10c
  17. .pn 1
  18. .cp 30
  19. .aw off
  20. .pm 0
  21. 5. Logical Characteristics
  22. .aw on
  23. .pm 3
  24.  
  25. .cp 20
  26. .aw off
  27. .pm 0
  28. 5.1. SCS╔ Bu≤ Phases
  29. .aw on
  30. .pm 3
  31.  
  32. ááThσ SCS╔ architecturσ include≤ eigh⌠ distinc⌠ phases:
  33.  
  34. ááBU╙ FRE┼ phase
  35. ááARBITRATIO╬ phase
  36. ááSELECTIO╬ phase
  37. ááRESELECTIO╬ phase
  38. ááCOMMAN─ phasσ  \
  39. ááDAT┴ phasσ      ▄   Thesσ phase≤ arσ collectivel∙ termeΣ the
  40. ááSTATU╙ phasσ    »   informatioε transfe≥ phases.
  41. ááMESSAG┼ phasσ  /
  42.  
  43. ááThσ SCS╔ bu≤ caε neve≥ bσ iε morσ thaε onσ phasσ a⌠ an∙ giveε time«  Iε thσ ì
  44. followinτ descriptions¼ signal≤ tha⌠ arσ no⌠ mentioneΣ shal∞ no⌠ bσ asserted.
  45.  
  46. .cp 10
  47. .aw off
  48. .pm 0
  49. 5.1.1. BU╙ FRE┼ Phase
  50. .aw on
  51. .pm 3
  52.  
  53. ááThσ BU╙ FRE┼ phasσ i≤ useΣ t∩ indicatσ tha⌠ n∩ SCS╔ devicσ i≤ activel∙ usinτ ì
  54. thσ SCS╔ bu≤ anΣ tha⌠ i⌠ i≤ available«  Iε somσ case≤ ß targe⌠ revert≤ t∩ BU╙ ì
  55. FRE┼ phasσ t∩ indicatσ aε erro≥ conditioε tha⌠ i⌠ ha≤ n∩ othe≥ wa∙ t∩ handle«  ì
  56. Thi≤ i≤ calleΣ a≤ aε unexpecteΣ disconnect.
  57.  
  58. ááSCS╔ device≤ shal∞ detec⌠ thσ BU╙ FRE┼ phasσ afte≥ thσ SE╠ anΣ BS┘ signal≤ ì
  59. arσ botΦ falsσ fo≥ a⌠ leas⌠ ß bu≤ settlσ delay.
  60.  
  61. ááSCS╔ device≤ shal∞ releasσ al∞ SCS╔ bu≤ signal≤ withiε ß bu≤ clea≥ dela∙ ì
  62. afte≥ thσ BS┘ anΣ SE╠ signal≤ becomσ continuousl∙ falsσ fo≥ ß bu≤ settlσ ì
  63. delay«  Iµ aε SCS╔ devicσ require≤ morσ thaε ß bu≤ settlσ dela∙ t∩ detec⌠ thσ ì
  64. BU╙ FRE┼ phasσ theε i⌠ shal∞ releasσ al∞ SCS╔ bu≤ signal≤ withiε ß bu≤ clea≥ ì
  65. dela∙ minu≤ thσ exces≤ timσ t∩ detec⌠ thσ BU╙ FRE┼ phase«  Thσ tota∞ timσ t∩ ì
  66. clea≥ thσ SCS╔ bu≤ shal∞ no⌠ exceeΣ ß bu≤ settlσ dela∙ plu≤ ß bu≤ clea≥ delay.
  67.  
  68. ááInitiator≤ normall∙ d∩ no⌠ expec⌠ BU╙ FRE┼ phasσ t∩ begiε becausσ oµ thσ ì
  69. target'≤ releasσ oµ thσ BS┘ signa∞ excep⌠ afte≥ onσ oµ thσ followinτ ì
  70. occurrences:
  71. áá(1⌐ afte≥ ß rese⌠ conditioε i≤ detected.
  72. áá(2⌐ afte≥ aε ABOR╘ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
  73. áá(3⌐ afte≥ ß BU╙ DEVIC┼ RESE╘ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
  74. áá(4⌐ afte≥ ß DISCONNEC╘ messagσ i≤ successfull∙ transmitteΣ froφ ß targe⌠ ì
  75. (seσ 5.6.6)
  76. áá(5⌐ afte≥ ß COMMAN─ COMPLET┼ messagσ i≤ successfull∙ transmitteΣ froφ ß ì
  77. targe⌠ (seσ 5.6.5).
  78. áá(6⌐ afte≥ ß RELEAS┼ RECOVER┘ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
  79. áá(7⌐ afte≥ aε ABOR╘ TA╟ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
  80. áá(8⌐ afte≥ ß CLEA╥ QUEU┼ messagσ i≤ successfull∙ receiveΣ b∙ ß target.
  81. .lm 1
  82.  
  83. ááThσ BU╙ FRE┼ phasσ ma∙ als∩ bσ entereΣ afte≥ aε unsuccessfu∞ selectioε o≥ ì
  84. reselection¼ althougΦ iε thi≤ casσ i⌠ i≤ thσ releasσ oµ thσ SE╠ signa∞ rathe≥ ì
  85. thaε thσ releasσ oµ thσ BS┘ signa∞ tha⌠ firs⌠ establishe≤ thσ BU╙ FRE┼ phase.
  86.  
  87. ááIµ aε initiato≥ detect≤ thσ releasσ oµ thσ BS┘ signa∞ b∙ thσ targe⌠ a⌠ an∙ ì
  88. 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σ ì
  89. statσ oµ thσ AT╬ signal«  Thσ initiato≥ shal∞ managσ thi≤ conditioε a≤ aε ì
  90. unsuccessfu∞ I/╧ proces≤ termination«  Thσ targe⌠ terminate≤ thσ I/╧ proces≤ ì
  91. b∙ clearinτ al∞ pendinτ datß anΣ statu≤ informatioε fo≥ thσ affecteΣ logica∞ ì
  92. uni⌠ o≥ targe⌠ routine«  Thσ targe⌠ ma∙ optionall∙ preparσ sensσ datß tha⌠ ma∙ ì
  93. bσ retrieveΣ b∙ ß REQUES╘ SENS┼ command«  Wheε aε initiato≥ detect≤ aε ì
  94. unexpecteΣ disconnect¼ i⌠ i≤ recommendeΣ tha⌠ ß REQUES╘ SENS┼ commanΣ bσ ì
  95. attempteΣ t∩ obtaiε an∙ valiΣ sensσ datß tha⌠ ma∙ bσ available.
  96.  
  97. .cp 10
  98. .aw off
  99. .pm 0
  100. 5.1.2. ARBITRATIO╬ Phase
  101. .aw on
  102. .pm 3
  103.  
  104. ááThσ ARBITRATIO╬ phasσ allow≤ onσ SCS╔ devicσ t∩ gaiε contro∞ oµ thσ SCS╔ bu≤ ì
  105. s∩ tha⌠ i⌠ caε initiatσ o≥ resumσ aε I/╧ process.
  106.  
  107. ááThσ procedurσ fo≥ aε SCS╔ devicσ t∩ obtaiε contro∞ oµ thσ SCS╔ bu≤ i≤ a≤ ì
  108. follows:
  109. áá(1⌐ Thσ SCS╔ devicσ shal∞ firs⌠ wai⌠ fo≥ thσ BU╙ FRE┼ phasσ t∩ occur«  Thσ ì
  110. BU╙ FRE┼ phasσ i≤ detecteΣ wheneve≥ botΦ thσ BS┘ anΣ SE╠ signal≤ arσ ì
  111. simultaneousl∙ anΣ continuousl∙ falsσ fo≥ ß minimuφ oµ ß bu≤ settlσ delay.
  112.  
  113. .lm 3
  114. ááIMPLEMENTOR╙ NOTE║  Thi≤ bu≤ settlσ dela∙ i≤ necessar∙ becausσ ß ì
  115. áátransmissioε linσ phenomenoε knowε a≤ ß "wireΣ-O╥ glitchó ma∙ causσ thσ BS┘ ì
  116. áásigna∞ t∩ briefl∙ appea≥ false¼ eveε thougΦ i⌠ i≤ beinτ driveε true.
  117. .lm 1
  118.  
  119. áá(2⌐ Thσ SCS╔ devicσ shal∞ wai⌠ ß minimuφ oµ ß bu≤ freσ dela∙ afte≥ detectioε ì
  120. oµ thσ BU╙ FRE┼ phasσ (i.e« afte≥ thσ BS┘ anΣ SE╠ signal≤ arσ botΦ falsσ fo≥ ß ì
  121. bu≤ settlσ delay⌐ beforσ drivinτ an∙ signal.
  122. áá(3⌐ Followinτ thσ bu≤ freσ dela∙ iε Ste≡ (2)¼ thσ SCS╔ devicσ ma∙ arbitratσ ì
  123. fo≥ thσ SCS╔ bu≤ b∙ assertinτ botΦ thσ BS┘ signa∞ anΣ it≤ owε SCS╔ ID¼ howeve≥ ì
  124. thσ SCS╔ devicσ shal∞ no⌠ arbitratσ (i.e« asser⌠ thσ BS┘ signa∞ anΣ it≤ SCS╔ ì
  125. ID⌐ iµ morσ thaε ß bu≤ se⌠ dela∙ ha≤ passeΣ sincσ thσ BU╙ FRE┼ phasσ wa≤ las⌠ ì
  126. observed«  
  127.  
  128. .lm 3
  129. ááIMPLEMENTOR╙ NOTE║  Therσ i≤ n∩ maximuφ dela∙ beforσ assertinτ thσ BS┘ ì
  130. áásigna∞ anΣ thσ SCS╔ I─ followinτ thσ bu≤ freσ dela∙ iε Ste≡ (2⌐ a≤ lonτ a≤ ì
  131. ááthσ bu≤ remain≤ iε thσ BU╙ FRE┼ phase«  However¼ SCS╔ device≤ tha⌠ dela∙ ì
  132. áálonge≥ thaε ß bu≤ settlσ dela∙ plu≤ ß bu≤ se⌠ dela∙ froφ thσ timσ wheε thσ ì
  133. ááBS┘ anΣ SE╠ signal≤ firs⌠ becomσ falsσ ma∙ fai∞ t∩ participatσ iε ì
  134. ááarbitratioε wheε competinτ witΦ faste≥ SCS╔ devices.
  135. .lm 1
  136.  
  137. .cp 10
  138. áá(4⌐ Afte≥ waitinτ a⌠ leas⌠ aε arbitratioε dela∙ (measureΣ froφ it≤ assertioε ì
  139. oµ thσ BS┘ signal⌐ thσ SCS╔ devicσ shal∞ examinσ thσ DAT┴ BUS«  Iµ ß highe≥ ì
  140. priorit∙ SCS╔ I─ bi⌠ i≤ truσ oε thσ DAT┴ BU╙ (DB(7⌐ i≤ thσ highest)¼ theε thσ ì
  141. SCS╔ devicσ ha≤ los⌠ thσ arbitratioε anΣ thσ SCS╔ devicσ ma∙ releasσ it≤ ì
  142. signal≤ anΣ returε t∩ Ste≡ (1)«  Iµ n∩ highe≥ priorit∙ SCS╔ I─ bi⌠ i≤ truσ oε ì
  143. thσ DAT┴ BUS¼ theε thσ SCS╔ devicσ ha≤ woε thσ arbitratioε anΣ i⌠ shal∞ asser⌠ ì
  144. thσ SE╠ signal«  An∙ SCS╔ devicσ othe≥ thaε thσ winne≥ ha≤ los⌠ thσ ì
  145. arbitratioε anΣ shal∞ releasσ thσ BS┘ signa∞ anΣ it≤ SCS╔ I─ bi⌠ withiε ß bu≤ ì
  146. clea≥ dela∙ afte≥ thσ SE╠ signa∞ become≤ true«  Aε SCS╔ devicσ tha⌠ lose≤ ì
  147. arbitratioε ma∙ returε t∩ Ste≡ (1).
  148.  
  149. .cp 3
  150. .lm 3
  151. ááIMPLEMENTOR╙ NOTE║  I⌠ i≤ recommendeΣ tha⌠ ne≈ implementation≤ wai⌠ fo≥ thσ ì
  152. ááSE╠ signa∞ t∩ becomσ truσ beforσ releasinτ thσ BS┘ signa∞ anΣ SCS╔ I─ bi⌠ ì
  153. ááwheε arbitratioε i≤ lost.
  154. .. Rationale: Creates fewer wired-OR glitches and may assist arbitration fair-
  155. ..            ness algorithms.
  156. .lm 1
  157. è.cp 3
  158. áá(5⌐  Thσ SCS╔ devicσ tha⌠ win≤ arbitratioε shal∞ wai⌠ a⌠ leas⌠ ß bu≤ clea≥ ì
  159. dela∙ plu≤ ß bu≤ settlσ dela∙ afte≥ assertinτ thσ SE╠ signa∞ beforσ changinτ ì
  160. an∙ signals.
  161.  
  162. .cp 5
  163. .lm 3
  164. ááNOTE║  Thσ SCS╔ I─ bi⌠ i≤ ß singlσ bi⌠ oε thσ DAT┴ BU╙ tha⌠ correspond≤ t∩ ì
  165. ááthσ SCS╔ device'≤ uniquσ SCS╔ address«  Al∞ othe≥ seveε DAT┴ BU╙ bit≤ shal∞ ì
  166. áábσ releaseΣ b∙ thσ SCS╔ device«  Parit∙ i≤ no⌠ valiΣ durinτ thσ ARBITRATIO╬ ì
  167. ááphase«  Durinτ thσ ARBITRATIO╬ phase¼ DB(P⌐ ma∙ bσ releaseΣ o≥ asserted¼ bu⌠ ì
  168. ááshal∞ no⌠ bσ activel∙ driveε false.
  169. .lm 1
  170.  
  171. .cp 10
  172. .aw off
  173. .pm 0
  174. 5.1.3. SELECTIO╬ Phase
  175. .aw on
  176. .pm 3
  177.  
  178. ááThσ SELECTIO╬ phasσ allow≤ aε initiato≥ t∩ selec⌠ ß targe⌠ fo≥ thσ purposσ ì
  179. oµ initiatinτ somσ targe⌠ functioε (e.g.¼ REA─ o≥ WRIT┼ command)«  Durinτ thσ ì
  180. SELECTIO╬ phasσ thσ I/╧ signa∞ i≤ negateΣ s∩ tha⌠ thi≤ phasσ caε bσ ì
  181. distinguisheΣ froφ thσ RESELECTIO╬ phase.
  182.  
  183. ááThσ SCS╔ devicσ tha⌠ woε thσ arbitratioε ha≤ botΦ thσ BS┘ anΣ SE╠ signal≤ ì
  184. asserteΣ anΣ ha≤ delayeΣ a⌠ leas⌠ ß bu≤ clea≥ dela∙ plu≤ ß bu≤ settlσ dela∙ ì
  185. beforσ endinτ thσ ARBITRATIO╬ phase«  Thσ SCS╔ devicσ tha⌠ woε thσ arbitratioε ì
  186. become≤ aε initiato≥ b∙ no⌠ assertinτ thσ I/╧ signal« 
  187.  
  188. ááThσ initiato≥ shal∞ se⌠ thσ DAT┴ BU╙ t∩ ß valuσ whicΦ i≤ thσ O╥ oµ it≤ SCS╔ ì
  189. I─ bi⌠ anΣ thσ target'≤ SCS╔ I─ bi⌠ anΣ i⌠ shal∞ asser⌠ thσ AT╬ signa∞ ì
  190. (indicatinτ tha⌠ ß MESSAG┼ OU╘ phasσ i≤ t∩ follo≈ thσ SELECTIO╬ phase)«  Thσ ì
  191. initiato≥ shal∞ theε wai⌠ a⌠ leas⌠ tw∩ deske≈ delay≤ anΣ releasσ thσ BS┘ ì
  192. signal«  Thσ initiato≥ shal∞ theε wai⌠ a⌠ leas⌠ ß bu≤ settlσ dela∙ beforσ ì
  193. lookinτ fo≥ ß responsσ froφ thσ target.
  194.  
  195. ááThσ targe⌠ shal∞ determinσ tha⌠ i⌠ i≤ selecteΣ wheε thσ SE╠ signa∞ anΣ it≤ ì
  196. SCS╔ I─ bi⌠ arσ truσ anΣ thσ BS┘ anΣ I/╧ signal≤ arσ falsσ fo≥ a⌠ leas⌠ ß bu≤ ì
  197. settlσ delay«  Thσ selecteΣ targe⌠ ma∙ examinσ thσ DAT┴ BU╙ iε orde≥ t∩ ì
  198. determinσ thσ SCS╔ I─ oµ thσ selectinτ initiator«  Thσ selecteΣ targe⌠ shal∞ ì
  199. theε asser⌠ thσ BS┘ signa∞ withiε ß selectioε abor⌠ timσ oµ it≤ mos⌠ recen⌠ ì
  200. detectioε oµ beinτ selected╗ thi≤ i≤ requireΣ fo≥ correc⌠ operatioε oµ thσ ì
  201. selectioε timσ-ou⌠ procedure« 
  202.  
  203. ááThσ targe⌠ shal∞ no⌠ responΣ t∩ ß selectioε iµ baΣ parit∙ i≤ detected«  ì
  204. Also¼ iµ morσ thaε tw∩ SCS╔ I─ bit≤ arσ oε thσ DAT┴ BUS¼ thσ targe⌠ shal∞ no⌠ ì
  205. responΣ t∩ selection.
  206.  
  207. .lm 3
  208. ááIMPLEMENTOR╙ NOTE║  Iµ ß targe⌠ choose≤ t∩ suppor⌠ thσ singlσ initiato≥ o≥ ì
  209. ááselectioε withou⌠ assertinτ AT╬ option≤ oµ SCS╔-1¼ i⌠ ma∙ responΣ a≤ ì
  210. áádescribeΣ iε thσ SCS╔-▒ standard.
  211. .lm 1
  212.  
  213. ááN∩ les≤ thaε tw∩ deske≈ delay≤ afte≥ thσ initiato≥ detect≤ thσ BS┘ signa∞ i≤ ì
  214. true¼ i⌠ shal∞ releasσ thσ SE╠ signa∞ anΣ ma∙ changσ thσ DAT┴ BUS«  Thσ targe⌠ ì
  215. shal∞ wai⌠ unti∞ thσ SE╠ signa∞ i≤ falsσ beforσ assertinτ thσ RE╤ signa∞ t∩ ì
  216. ente≥ aε informatioε transfe≥ phase.
  217.  
  218. .cp 5
  219. .aw off
  220. .pm 0
  221. 5.1.3.1. SELECTION Time-out Procedurσ
  222. .aw on
  223. .pm 3
  224. ááTw∩ optiona∞ selectioε timσ-ou⌠ procedure≤ arσ specifieΣ fo≥ clearinτ thσ ì
  225. SCS╔ bu≤ iµ thσ initiato≥ wait≤ ß minimuφ oµ ß selectioε timσ-ou⌠ dela∙ anΣ ì
  226. therσ ha≤ beeε n∩ BS┘ signa∞ responsσ froφ thσ target:
  227. áá(1⌐ Optionally¼ thσ initiato≥ shal∞ asser⌠ thσ RS╘ signa∞ (seσ 5.2.2).èáá(2⌐ Optionally¼ thσ initiato≥ shal∞ continuσ assertinτ thσ SE╠ anΣ AT╬ ì
  228. signal≤ anΣ shal∞ releasσ thσ DAT┴ BUS«  Iµ thσ initiato≥ ha≤ no⌠ detecteΣ thσ ì
  229. BS┘ signa∞ t∩ bσ truσ afte≥ a⌠ leas⌠ ß selectioε abor⌠ timσ plu≤ tw∩ deske≈ ì
  230. delays¼ thσ initiato≥ shal∞ releasσ thσ SE╠ anΣ AT╬ signal≤ allowinτ thσ SCS╔ ì
  231. bu≤ t∩ g∩ t∩ thσ BU╙ FRE┼ phase«  SCS╔ device≤ shal∞ ensurσ tha⌠ wheε ì
  232. respondinτ t∩ selectioε tha⌠ thσ selectioε wa≤ stil∞ valiΣ withiε ß selectioε ì
  233. abor⌠ timσ oµ thei≥ assertioε oµ thσ BS┘ signal«  Failurσ t∩ compl∙ witΦ thi≤ ì
  234. requiremen⌠ coulΣ resul⌠ iε aε imprope≥ selectioε (tw∩ target≤ connecteΣ t∩ ì
  235. thσ samσ initiator¼ wronτ targe⌠ connecteΣ t∩ aε initiator¼ o≥ ß targe⌠ ì
  236. connecteΣ t∩ n∩ initiator).
  237. .lm 1
  238.  
  239. .cp 10
  240. .aw off
  241. .pm 0
  242. 5.1.4. RESELECTIO╬ Phasσ
  243. .aw on
  244. .pm 3
  245.  
  246. ááRESELECTIO╬ i≤ aε optiona∞ phasσ tha⌠ allow≤ ß targe⌠ t∩ reconnec⌠ t∩ aε ì
  247. initiato≥ fo≥ thσ purposσ oµ continuinτ somσ operatioε tha⌠ wa≤ previousl∙ ì
  248. starteΣ b∙ thσ initiato≥ bu⌠ wa≤ suspendeΣ b∙ thσ target¼ (i.e.¼ thσ targe⌠ ì
  249. disconnecteΣ b∙ allowinτ ß BU╙ FRE┼ phasσ t∩ occu≥ beforσ thσ operatioε wa≤ ì
  250. complete).
  251.  
  252. .cp 5
  253. .aw off
  254. .pm 0
  255. 5.1.4.1. RESELECTIO╬   
  256. .aw on
  257. .pm 3
  258. ááUpoε completinτ thσ ARBITRATIO╬ phase¼ thσ winninτ SCS╔ devicσ ha≤ botΦ thσ ì
  259. BS┘ anΣ SE╠ signal≤ asserteΣ anΣ ha≤ delayeΣ a⌠ leas⌠ ß bu≤ clea≥ dela∙ plu≤ ß ì
  260. bu≤ settlσ delay«  Thσ winninτ SCS╔ devicσ become≤ ß targe⌠ b∙ assertinτ thσ ì
  261. I/╧ signal«  Thσ winninτ SCS╔ devicσ shal∞ als∩ se⌠ thσ DAT┴ BU╙ t∩ ß valuσ ì
  262. tha⌠ i≤ thσ logica∞ O╥ oµ it≤ SCS╔ I─ bi⌠ anΣ thσ initiator'≤ SCS╔ I─ bit«  ì
  263. Thσ targe⌠ shal∞ wai⌠ a⌠ leas⌠ tw∩ deske≈ delay≤ anΣ releasσ thσ BS┘ signal«  ì
  264. Thσ targe⌠ shal∞ theε wai⌠ a⌠ leas⌠ ß bu≤ settlσ dela∙ beforσ lookinτ fo≥ ß ì
  265. responsσ froφ thσ initiator.
  266.  
  267. ááThσ initiato≥ shal∞ determinσ tha⌠ i⌠ i≤ reselecteΣ wheε thσ SE╠ anΣ I/╧ ì
  268. signal≤ anΣ it≤ SCS╔ I─ bi⌠ arσ truσ anΣ thσ BS┘ signa∞ i≤ falsσ fo≥ a⌠ leas⌠ ì
  269. ß bu≤ settlσ delay«  Thσ reselecteΣ initiato≥ ma∙ examinσ thσ DAT┴ BU╙ iε ì
  270. orde≥ t∩ determinσ thσ SCS╔ I─ oµ thσ reselectinτ target«  Thσ reselecteΣ ì
  271. initiato≥ shal∞ theε asser⌠ thσ BS┘ signa∞ withiε ß selectioε abor⌠ timσ oµ ì
  272. it≤ mos⌠ recen⌠ detectioε oµ beinτ reselected╗ thi≤ i≤ requireΣ fo≥ correc⌠ ì
  273. operatioε oµ thσ timσ-ou⌠ procedure«  Thσ initiato≥ shal∞ no⌠ responΣ t∩ ß ì
  274. RESELECTIO╬ phasσ iµ baΣ parit∙ i≤ detected«  Also¼ thσ initiato≥ shal∞ no⌠ ì
  275. responΣ t∩ ß RESELECTIO╬ phasσ iµ othe≥ thaε tw∩ SCS╔ I─ bit≤ arσ oε thσ DAT┴ ì
  276. BUS« 
  277.  
  278. ááAfte≥ thσ targe⌠ detect≤ thσ BS┘ signa∞ i≤ true¼ i⌠ shal∞ als∩ asser⌠ thσ ì
  279. BS┘ signa∞ anΣ wai⌠ a⌠ leas⌠ tw∩ deske≈ delay≤ anΣ theε releasσ thσ SE╠ ì
  280. signal«  Thσ targe⌠ ma∙ theε changσ thσ I/╧ signa∞ anΣ thσ DAT┴ BUS«  Afte≥ ì
  281. thσ reselecteΣ initiato≥ detect≤ thσ SE╠ signa∞ i≤ false¼ i⌠ shal∞ releasσ thσ ì
  282. BS┘ signal«  Thσ targe⌠ shal∞ continuσ assertinτ thσ BS┘ signa∞ unti∞ i⌠ ì
  283. relinquishe≤ thσ SCS╔ bus.
  284.  
  285. .lm 3
  286. ááNOTE║  Wheε thσ targe⌠ i≤ assertinτ thσ BS┘ signal¼ ß transmissioε linσ ì
  287. ááphenomenoε knowε a≤ ß "wireΣ-O╥ glitchó ma∙ causσ thσ BS┘ signa∞ t∩ appea≥ ì
  288. ááfalsσ fo≥ u≡ t∩ ß rounΣ-tri≡ propagatioε dela∙ followinτ thσ releasσ oµ thσ ì
  289. ááBS┘ signa∞ b∙ thσ initiator«  Thi≤ i≤ thσ reasoε wh∙ thσ BU╙ FRE┼ phasσ i≤ ì
  290. áárecognizeΣ onl∙ afte≥ botΦ thσ BS┘ anΣ SE╠ signal≤ arσ continuousl∙ falsσ ì
  291. ááfo≥ ß minimuφ oµ ß bu≤ settlσ delay«  Cable≤ longe≥ thaε 2╡ meter≤ shoulΣ ì
  292. ááno⌠ bσ useΣ eveε iµ thσ choseε driver¼ receiver¼ anΣ cablσ providσ adequatσ ì
  293. áánoisσ margins¼ becausσ the∙ increasσ thσ duratioε oµ thσ glitcΦ anΣ coulΣ ìèáácausσ SCS╔ device≤ t∩ inadvertentl∙ detec⌠ thσ BU╙ FRE┼ phase.
  294. .lm 1
  295.  
  296. .cp 15
  297. .aw off
  298. .pm 0
  299. 5.1.4.2. RESELECTION Time-out Procedure
  300. .aw on
  301. .pm 3
  302. ááTw∩ optiona∞ RESELECTIO╬ timσ-ou⌠ procedure≤ arσ specifieΣ fo≥ clearinτ thσ ì
  303. SCS╔ bu≤ durinτ ß RESELECTIO╬ phasσ iµ thσ targe⌠ wait≤ ß minimuφ oµ ß ì
  304. selectioε timσ-ou⌠ dela∙ anΣ therσ ha≤ beeε n∩ BS┘ signa∞ responsσ froφ thσ ì
  305. initiator║ 
  306. áá(1⌐ Optionally¼ thσ targe⌠ shal∞ asser⌠ thσ RS╘ signa∞ (seσ 5.2.2).
  307. áá(2⌐ Optionally¼ thσ targe⌠ shal∞ continuσ assertinτ thσ SE╠ anΣ I/╧ signal≤ ì
  308. anΣ shal∞ releasσ al∞ DAT┴ BU╙ signals«  Iµ thσ targe⌠ ha≤ no⌠ detecteΣ thσ ì
  309. BS┘ signa∞ t∩ bσ truσ afte≥ a⌠ leas⌠ ß selectioε abor⌠ timσ plu≤ tw∩ deske≈ ì
  310. delays¼ thσ targe⌠ shal∞ releasσ thσ SE╠ anΣ I/╧ signal≤ allowinτ thσ SCS╔ bu≤ ì
  311. t∩ g∩ t∩ thσ BU╙ FRE┼ phase«  SCS╔ device≤ tha⌠ responΣ t∩ thσ RESELECTIO╬ ì
  312. phasσ shal∞ ensurσ tha⌠ thσ reselectioε wa≤ stil∞ valiΣ withiε ß selectioε ì
  313. abor⌠ timσ oµ thei≥ assertioε oµ thσ BS┘ signal«  Failurσ t∩ compl∙ witΦ thi≤ ì
  314. requiremen⌠ coulΣ resul⌠ iε aε imprope≥ reselectioε (tw∩ initiator≤ connecteΣ ì
  315. t∩ thσ samσ targe⌠ o≥ thσ wronτ initiato≥ connecteΣ t∩ ß target).
  316.  
  317. .cp 10
  318. .aw off
  319. .pm 0
  320. 5.1.5. Informatioε Transfe≥ Phases
  321. .aw on
  322. .pm 3
  323.  
  324. .lm 3
  325. ááNOTE║  Thσ COMMAND¼ DATA¼ STATUS¼ anΣ MESSAG┼ phase≤ arσ al∞ groupeΣ ì
  326. áátogethe≥ a≤ thσ informatioε transfe≥ phase≤ becausσ the∙ arσ al∞ useΣ t∩ ì
  327. áátransfe≥ datß o≥ contro∞ informatioε viß thσ DAT┴ BUS«  Thσ actua∞ conten⌠ ì
  328. ááoµ thσ informatioε i≤ beyonΣ thσ scopσ oµ thi≤ section.
  329. .lm 1
  330.  
  331. ááThσ C/D¼ I/O¼ anΣ MS╟ signal≤ arσ useΣ t∩ distinguisΦ betweeε thσ differen⌠ ì
  332. informatioε transfe≥ phase≤ (seσ Tablσ ╡-1)«  Thσ targe⌠ drive≤ thesσ threσ ì
  333. signal≤ anΣ thereforσ control≤ al∞ change≤ froφ onσ phasσ t∩ another«  Thσ ì
  334. initiato≥ caε reques⌠ ß MESSAG┼ OU╘ phasσ b∙ assertinτ thσ AT╬ signal¼ whilσ ì
  335. thσ targe⌠ caε causσ thσ BU╙ FRE┼ phasσ b∙ releasinτ thσ MSG¼ C/D¼ I/O¼ anΣ ì
  336. BS┘ signals.
  337.  
  338. ááThσ informatioε transfe≥ phase≤ usσ onσ o≥ morσ REQ/AC╦ handshake≤ t∩ ì
  339. contro∞ thσ informatioε transfer«  EacΦ REQ/AC╦ handshakσ allow≤ thσ transfe≥ ì
  340. oµ onσ bytσ oµ information«  Durinτ thσ informatioε transfe≥ phase≤ thσ BS┘ ì
  341. signa∞ shal∞ remaiε truσ anΣ thσ SE╠ signa∞ shal∞ remaiε false«  Additionally¼ ì
  342. durinτ thσ informatioε transfe≥ phases¼ thσ targe⌠ shal∞ continuousl∙ envelopσ ì
  343. thσ REQ/AC╦ handshake(s⌐ witΦ thσ C/D¼ I/O¼ anΣ MS╟ signal≤ iε sucΦ ß manne≥ ì
  344. tha⌠ thesσ contro∞ signal≤ arσ valiΣ fo≥ ß bu≤ settlσ dela∙ beforσ thσ ì
  345. assertioε oµ thσ RE╤ signa∞ oµ thσ firs⌠ handshakσ anΣ remaiε valiΣ unti∞ ì
  346. afte≥ thσ negatioε oµ thσ AC╦ signa∞ a⌠ thσ enΣ oµ thσ handshakσ oµ thσ las⌠ ì
  347. transfe≥ oµ thσ phase.
  348.  
  349. .cp 15è.lm 3
  350. ááIMPLEMENTOR╙ NOTES:
  351. áá(1⌐ Afte≥ thσ negatioε oµ thσ AC╦ signa∞ oµ thσ las⌠ transfe≥ oµ thσ phase¼ ì
  352. ááthσ targe⌠ ma∙ preparσ fo≥ ß ne≈ phasσ b∙ assertinτ o≥ negatinτ thσ C/D¼ ì
  353. ááI/O¼ anΣ MS╟ signals«  Thesσ signal≤ ma∙ bσ changeΣ togethe≥ o≥ ì
  354. ááindividually«  The∙ ma∙ bσ changeΣ iε an∙ orde≥ anΣ ma∙ bσ changeΣ morσ thaε ì
  355. ááonce«  I⌠ i≤ desirablσ tha⌠ eacΦ linσ changσ onl∙ once«  ┴ ne≈ phasσ doe≤ ì
  356. ááno⌠ begiε unti∞ thσ RE╤ signa∞ i≤ asserteΣ fo≥ thσ firs⌠ bytσ oµ thσ ne≈ ì
  357. ááphase.
  358. áá(2⌐ ┴ phasσ i≤ defineΣ a≤ endinτ wheε thσ C/D¼ I/O¼ o≥ MS╟ signal≤ changσ ì
  359. ááafte≥ thσ negatioε oµ thσ AC╦ signal«  Thσ timσ betweeε thσ enΣ oµ ß phasσ ì
  360. ááanΣ thσ assertioε oµ thσ RE╤ signa∞ beginninτ ß ne≈ phasσ i≤ undefined«  Aε ì
  361. ááinitiato≥ i≤ alloweΣ t∩ anticipatσ ß ne≈ phasσ baseΣ oε thσ previou≤ phase¼ ì
  362. ááthσ expecteΣ ne≈ phase¼ anΣ earl∙ informatioε provideΣ b∙ change≤ iε thσ ì
  363. ááC/D¼ I/O¼ anΣ MS╟ signals«  However¼ thσ anticipateΣ phasσ i≤ no⌠ valiΣ ì
  364. ááunti∞ thσ RE╤ signa∞ i≤ asserteΣ a⌠ thσ beginninτ oµ ß thσ nex⌠ phase.
  365. .lm 1
  366.  
  367. .cp 20
  368. .aw off
  369. .pm 0
  370.                    Table 5-1: Information Transfer Phases
  371.  
  372. ==============================================================================
  373.    Signal
  374. -----------
  375. MSG C/D I/O   Phase Name          Direction Of Transfer         Comment
  376. ------------------------------------------------------------------------------
  377.  0   0   0    DATA OUT            Initiator to target     \     Data
  378.  0   0   1    DATA IN             Initiator from target   /     Phase
  379.  0   1   0    COMMAND             Initiator to target
  380.  0   1   1    STATUS              Initiator from target
  381.  1   0   0    *
  382.  1   0   1    *
  383.  1   1   0    MESSAGE OUT         Initiator to target     \     Message
  384.  1   1   1    MESSAGE IN          Initiator from target   /     Phase
  385. ==============================================================================
  386. .aw on
  387. .pm 3
  388.  
  389. ááKey║  ░ ╜ False¼  ▒ ╜ True¼  ¬ ╜ ReserveΣ fo≥ futurσ standardization.
  390.  
  391. .cp 5
  392. .aw off
  393. .pm 0
  394. 5.1.5.1. Asynchronou≤ Information Transfer
  395. .aw on
  396. .pm 3
  397. ááThσ targe⌠ shal∞ contro∞ thσ directioε oµ informatioε transfe≥ b∙ mean≤ oµ ì
  398. thσ I/╧ signal«  Wheε thσ I/╧ signa∞ i≤ true¼ informatioε shal∞ bσ transferreΣ ì
  399. froφ thσ targe⌠ t∩ thσ initiator«  Wheε thσ I/╧ signa∞ i≤ false¼ informatioε ì
  400. shal∞ bσ transferreΣ froφ thσ initiato≥ t∩ thσ target.
  401.  
  402. ááIµ thσ I/╧ signa∞ i≤ truσ (transfe≥ t∩ thσ initiator)¼ thσ targe⌠ shal∞ ì
  403. firs⌠ drivσ thσ DB(╖-0,P⌐ signal≤ t∩ thei≥ desireΣ values¼ dela∙ a⌠ leas⌠ onσ ì
  404. deske≈ dela∙ plu≤ ß cablσ ske≈ delay¼ theε asser⌠ thσ RE╤ signal«  Thσ DB(╖-ì
  405. 0,P⌐ signal≤ shal∞ remaiε valiΣ unti∞ thσ AC╦ signa∞ i≤ truσ a⌠ thσ target«  ì
  406. Thσ initiato≥ shal∞ reaΣ thσ DB(╖-0,P⌐ signal≤ afte≥ thσ RE╤ signa∞ i≤ true¼ ì
  407. theε indicatσ it≤ acceptancσ oµ thσ datß b∙ assertinτ thσ AC╦ signal«  Wheε ì
  408. thσ AC╦ signa∞ become≤ truσ a⌠ thσ target¼ thσ targe⌠ ma∙ changσ o≥ releasσ ì
  409. thσ DB(╖-0,P⌐ signal≤ anΣ shal∞ negatσ thσ RE╤ signal«  Afte≥ thσ RE╤ signa∞ ì
  410. i≤ falsσ thσ initiato≥ shal∞ theε negatσ thσ AC╦ signal«  Afte≥ thσ AC╦ signa∞ ì
  411. i≤ falsσ thσ targe⌠ ma∙ continuσ thσ transfe≥ b∙ drivinτ thσ DB(╖-0,P⌐ signal≤ ì
  412. anΣ assertinτ thσ RE╤ signal¼ a≤ describeΣ above.
  413.  
  414. ááIµ thσ I/╧ signa∞ i≤ falsσ (transfe≥ t∩ thσ target⌐ thσ targe⌠ shal∞ reques⌠ ì
  415. 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≤ ß ì
  416. cablσ ske≈ dela∙ anΣ asser⌠ thσ AC╦ signal«  Thσ initiato≥ shal∞ continuσ t∩ ì
  417. drivσ thσ DB(╖-0,P⌐ signal≤ unti∞ thσ RE╤ signa∞ i≤ false«  Wheε thσ AC╦ ì
  418. signa∞ become≤ truσ a⌠ thσ target¼ thσ targe⌠ shal∞ reaΣ thσ DB(╖-0,P)¼ ì
  419. signal≤ theε negatσ thσ RE╤ signal«  Wheε thσ RE╤ signa∞ become≤ falsσ a⌠ thσ ì
  420. initiator¼ thσ initiato≥ ma∙ changσ o≥ releasσ thσ DB(╖-0,P⌐ signal≤ anΣ shal∞ ì
  421. negatσ thσ AC╦ signal«  Thσ targe⌠ ma∙ continuσ thσ transfe≥ b∙ assertinτ thσ ì
  422. RE╤ signal¼ a≤ describeΣ above.
  423.  
  424. .cp 5
  425. .aw off
  426. .pm 0
  427. 5.1.5.2. Synchronou≤ Datß Transfe≥
  428. .aw on
  429. .pm 3
  430. ááSynchronou≤ datß transfe≥ i≤ optiona∞ anΣ i≤ onl∙ useΣ iε datß phases«  I⌠ ì
  431. shal∞ bσ useΣ iε ß datß phasσ iµ ß synchronou≤ datß transfe≥ agreemen⌠ ha≤ ì
  432. beeε establisheΣ (seσ 5.6.21)«  Thσ agreemen⌠ specifie≤ thσ REQ/AC╦ offse⌠ anΣ ì
  433. thσ minimuφ transfe≥ period.
  434.  
  435. ááThσ REQ/AC╦ offse⌠ specifie≤ thσ maximuφ numbe≥ oµ RE╤ pulse≤ tha⌠ caε bσ ì
  436. sen⌠ b∙ thσ targe⌠ iε advancσ oµ thσ numbe≥ oµ AC╦ pulse≤ receiveΣ froφ thσ ì
  437. initiator¼ establishinτ ß pacinτ mechanism«  Iµ thσ numbe≥ oµ RE╤ pulse≤ ì
  438. exceed≤ thσ numbe≥ oµ AC╦ pulse≤ b∙ thσ REQ/AC╦ offset¼ thσ targe⌠ shal∞ no⌠ ì
  439. asser⌠ thσ RE╤ signa∞ unti∞ afte≥ thσ leadinτ edgσ oµ thσ nex⌠ AC╦ pulsσ i≤ ì
  440. received«  ┴ requiremen⌠ fo≥ successfu∞ completioε oµ thσ datß phasσ i≤ tha⌠ ì
  441. thσ numbe≥ oµ AC╦ anΣ RE╤ pulse≤ bσ equal« 
  442.  
  443. ááThσ targe⌠ shal∞ asser⌠ thσ RE╤ signa∞ fo≥ ß minimuφ oµ aε assertioε period« ì
  444. Thσ targe⌠ shal∞ theε wai⌠ a⌠ leas⌠ thσ greate≥ oµ ß transfe≥ perioΣ froφ thσ ì
  445. las⌠ transitioε oµ thσ RE╤ signa∞ t∩ truσ o≥ ß minimuφ oµ ß negatioε perioΣ ì
  446. froφ thσ las⌠ transitioε oµ thσ RE╤ signa∞ t∩ falsσ beforσ agaiε assertinτ thσ ì
  447. RE╤ signal.
  448.  
  449. ááThσ initiato≥ shal∞ senΣ onσ pulsσ oε thσ AC╦ signa∞ fo≥ eacΦ RE╤ pulsσ ì
  450. received«  Thσ AC╦ signa∞ ma∙ bσ asserteΣ a≤ sooε a≤ thσ leadinτ edgσ oµ thσ ì
  451. correspondinτ RE╤ pulsσ ha≤ beeε received«  Thσ initiato≥ shal∞ asser⌠ thσ AC╦ ì
  452. signa∞ fo≥ ß minimuφ oµ aε assertioε period«  Thσ initiato≥ shal∞ wai⌠ a⌠ ì
  453. leas⌠ thσ greate≥ oµ ß transfe≥ perioΣ froφ thσ las⌠ transitioε oµ thσ AC╦ ì
  454. signa∞ t∩ truσ o≥ fo≥ ß minimuφ oµ ß negatioε perioΣ froφ thσ las⌠ transitioε ì
  455. oµ thσ AC╦ signa∞ t∩ falsσ beforσ assertinτ thσ AC╦ signal.
  456.  
  457. ááIµ thσ I/╧ signa∞ i≤ truσ (transfe≥ t∩ thσ initiator)¼ thσ targe⌠ shal∞ ì
  458. firs⌠ drivσ thσ DB(╖-0,P⌐ signal≤ t∩ thei≥ desireΣ values¼ wai⌠ a⌠ leas⌠ onσ ì
  459. deske≈ dela∙ plu≤ onσ cablσ ske≈ delay¼ theε asser⌠ thσ RE╤ signals«  Thσ ì
  460. DB(╖-0,P⌐ signal≤ shal∞ bσ helΣ valiΣ fo≥ ß minimuφ oµ onσ deske≈ dela∙ plu≤ ì
  461. onσ cablσ ske≈ dela∙ plu≤ onσ holΣ timσ afte≥ thσ assertioε oµ thσ RE╤ signal«  ì
  462. Thσ targe⌠ shal∞ asser⌠ thσ RE╤ signa∞ fo≥ ß minimuφ oµ aε assertioε period«  ì
  463. Thσ targe⌠ ma∙ theε negatσ thσ RE╤ signa∞ anΣ changσ o≥ releasσ thσ DB(╖-0,P⌐ ì
  464. signals«  Thσ initiato≥ shal∞ reaΣ thσ valuσ oε thσ DB(╖-0,P⌐ signal≤ withiε ì
  465. onσ holΣ timσ oµ thσ transitioε oµ thσ RE╤ signa∞ t∩ true«  Thσ initiato≥ ì
  466. shal∞ theε responΣ witΦ aε AC╦ pulse.
  467.  
  468. ááIµ thσ I/╧ signa∞ i≤ falsσ (transfe≥ t∩ thσ target)¼ thσ initiato≥ shal∞ ì
  469. transfe≥ onσ bytσ fo≥ eacΦ RE╤ pulsσ received«  Afte≥ receivinτ thσ leadinτ ì
  470. edgσ oµ ß RE╤ pulse¼ thσ initiato≥ shal∞ firs⌠ drivσ thσ DB(╖-0,P⌐ signal≤ t∩ ì
  471. thei≥ desireΣ values¼ dela∙ a⌠ leas⌠ onσ deske≈ dela∙ plu≤ onσ cablσ ske≈ ì
  472. delay¼ theε asser⌠ thσ AC╦ signal«  Thσ initiato≥ shal∞ holΣ thσ DB(╖-0,P⌐ ì
  473. signal≤ valiΣ fo≥ a⌠ leas⌠ onσ deske≈ dela∙ plu≤ onσ cablσ ske≈ dela∙ plu≤ onσ ì
  474. 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ε ì
  475. negatσ thσ AC╦ signa∞ anΣ ma∙ changσ o≥ releasσ thσ DB(╖-0,P⌐ signals«  Thσ ì
  476. targe⌠ shal∞ reaΣ thσ valuσ oµ thσ DB(╖-0,P⌐ signal≤ withiε onσ holΣ timσ oµ ì
  477. thσ transitioε oµ thσ AC╦ signa∞ t∩ true.
  478.  
  479. .lm 3
  480. ááIMPLEMENTOR╙ NOTES║  Thσ descriptioε iε SCS╔-▒ alloweΣ somσ implementor≤ t∩ ì
  481. áápresumσ tha⌠ thσ leadinτ edgσ oµ thσ firs⌠ RE╤ pulsσ beyonΣ thσ REQ/AC╦ ì
  482. ááoffse⌠ agreemen⌠ woulΣ no⌠ occu≥ unti∞ afte≥ thσ trailinτ edgσ oµ thσ las⌠ ì
  483. ááAC╦ pulsσ withiε thσ agreement«  Device≤ implementeΣ witΦ thi≤ understandinτ ì
  484. ááma∙ bσ subjec⌠ t∩ datß destructioε wheε iε synchronou≤ datß transfe≥ modσ ì
  485. ááwitΦ device≤ tha⌠ issuσ thσ leadinτ edgσ oµ thσ nex⌠ RE╤ pulse¼ a⌠ thσ ì
  486. ááboundar∙ oµ thσ agreement¼ a≤ sooε a≤ thσ leadinτ edgσ oµ thσ las⌠ AC╦ pulsσ ì
  487. ááwithiε thσ agreemen⌠ i≤ received«  Implementor≤ usinτ device≤ oµ thσ forme≥ ì
  488. áátypσ iε initiato≥ design≤ ma∙ insurσ datß integrit∙ b∙ restrictinτ thσ ì
  489. áásynchronou≤ offse⌠ agreemen⌠ t∩ value≤ smalle≥ thaε thσ maximuφ nominall∙ ì
  490. ááoffereΣ b∙ thei≥ device.
  491. .lm 1
  492.  
  493. .cp 5
  494. .aw off
  495. .pm 0
  496. 5.1.5.3. Widσ Datß Transfe≥
  497. .aw on
  498. .pm 3
  499. ááWidσ datß transfe≥ i≤ optiona∞ anΣ ma∙ bσ useΣ iε thσ DAT┴ phasσ onl∙ iµ ß ì
  500. nonzer∩ widσ datß transfe≥ agreemen⌠ i≤ iε effec⌠ (seσ WID┼ DAT┴ TRANSFE╥ ì
  501. REQUES╘ message¼ 5.6.23)«  Thσ message≤ determinσ thσ usσ oµ widσ modσ b∙ botΦ ì
  502. SCS╔ device≤ anΣ establisΦ ß datß patΦ widtΦ t∩ bσ useΣ durinτ thσ DAT┴ phase.
  503.  
  504. .cp 5
  505. ááWidσ datß transfer≤ oµ 1╢¡ o≥ 3▓-bit≤ ma∙ bσ established«  AlthougΦ no⌠ ì
  506. mandatory¼ i⌠ i≤ recommendeΣ tha⌠ target≤ anΣ initiator≤ tha⌠ suppor⌠ 3▓-bi⌠ ì
  507. widσ transfer≤ als∩ suppor⌠ 1╢-bi⌠ widσ transfer≤ a≤ well«  Al∞ SCS╔ device≤ ì
  508. shal∞ suppor⌠ ╕-bi⌠ datß transfers«  
  509.  
  510. .cp 5
  511. ááDurinτ 1╢-bi⌠ widσ datß transfers¼ thσ firs⌠ logica∞ datß bytσ fo≥ eacΦ datß ì
  512. phasσ shal∞ bσ transferreΣ acros≤ thσ DB(╖-0,P⌐ signal≤ oε thσ ┴ cablσ anΣ thσ ì
  513. seconΣ logica∞ datß bytσ shal∞ bσ transferreΣ acros≤ thσ DB(1╡-8,P1⌐ signal≤ ì
  514. oε thσ ┬ cable«  Subsequen⌠ pair≤ oµ datß byte≤ arσ likewisσ transferreΣ iε ì
  515. paralle∞ acros≤ thσ ┴ anΣ ┬ cable≤ (seσ Figurσ ╡-1).
  516.  
  517. .lm 3
  518. ááIMPLEMENTOR╙ NOTE║  X3T9.▓ i≤ documentinτ aε alternatσ 1╢-bi⌠ singlσ-cablσ ì
  519. áásolutioε anΣ aε alternatσ 3▓-bi⌠ solutioε anΣ expect≤ t∩ bσ ablσ t∩ removσ ì
  520. ááthσ ┬ cablσ definitioε iε ß futurσ versioε oµ SCSI.
  521. .lm 1
  522.  
  523. .cp 5
  524. ááDurinτ 3▓-bi⌠ widσ datß transfers¼ thσ firs⌠ logica∞ datß bytσ fo≥ eacΦ datß ì
  525. phasσ shal∞ bσ transferreΣ acros≤ thσ DB(╖-0,P⌐ signal≤ oε thσ ┴ cablσ anΣ thσ ì
  526. second¼ third¼ anΣ fourtΦ logica∞ datß byte≤ shal∞ bσ transferreΣ acros≤ thσ ì
  527. DB(1╡-8,P1)¼ DB(2│-16,P2)¼ anΣ DB(3▒-24,P3⌐ signals¼ respectively¼ oε thσ ┬ ì
  528. cable«  Subsequen⌠ group≤ oµ fou≥ datß byte≤ arσ likewisσ transferreΣ iε ì
  529. paralle∞ acros≤ thσ ┴ anΣ ┬ cable≤ (seσ Figurσ ╡-1).
  530.  
  531. .cp 25è.aw off
  532. .pm 0
  533. .. [Figure 5-1, Byte Ordering goes here]
  534.  
  535.  
  536.  
  537.  
  538. .. Figure 5-1  Byte Ordering
  539. .aw off
  540. .lm 6
  541. áááááWheε transferrinτ byte≤ W¼ X¼ ┘ anΣ ┌ acros≤ thσ three bu≤ widths,
  542. áááááthe∙ arσ transferreΣ a≤ showε below:
  543.  
  544. .lh 6
  545. áááááHanΣ¡  ╕-bi⌠           1╢-bi⌠                      3▓-bit
  546. áááááshakσ                                  _____▀         ______
  547. ááááá  ú   ┴ Cablσ     ┬ Cablσ ┴ Cablσ     »       ┬ Cablσ       ▄ ┴ Cable
  548. ááááá     ┌───────¢┐   ┌───────┬───────¢┐   ┌───────┬───────┬───────┬───────┐
  549. ááááá  ▒  ¢│   ╫   ¢│   ¢│   ╪   ¢│   ╫   ¢│   ¢│   ┌   ¢│   ┘   ¢│   ╪   ¢│   ╫   │
  550. ááááá     ├───────¢┤   ├───────│───────¢┤   └───────┴───────┴───────┴───────┘
  551. ááááá  ▓  ¢│   ╪   ¢│   ¢│   ┌   ¢│   ┘   ¢│    31...2┤ 23...1╢ 15....╕ 7.....0
  552. ááááá     ├───────¢┤   └───────┴───────¢┘
  553. ááááá  │  ¢│   ┘   ¢│    15....╕ 7.....░                Bi⌠ Number
  554. ááááá     ├───────¢┤
  555. ááááá  ┤  ¢│   ┌   │       Bi⌠ Number
  556. ááááá     └───────┘
  557. ááááá      7.....0
  558.  
  559. ááááá     Bit Number
  560.  
  561. .lh 8
  562. ááááá NOTE║ Thi≤ figurσ doe≤ no⌠ represen⌠ ho≈ thesσ byte≤ arσ storeΣ in
  563. ááááá       thσ initiator'≤ memory¼ whicΦ ma∙ bσ different.
  564. .lm 1
  565. .aw on
  566.  
  567.  
  568.  
  569.  
  570.                      Figure 5-1: Widσ SCS╔ Bytσ Ordering
  571. .aw on
  572. .pm 3
  573.  
  574.  
  575. .cp 5
  576. ááIµ thσ las⌠ datß bytσ transferreΣ fo≥ ß commanΣ doe≤ no⌠ fal∞ oε thσ DB(1╡-ì
  577. 8,P1⌐ signal≤ fo≥ ß 1╢-bi⌠ widσ transfe≥ o≥ thσ DB(3▒-24,P3⌐ signal≤ fo≥ ß 3▓-ì
  578. bi⌠ widσ transfer¼ theε thσ value≤ oµ thσ remaininτ highe≥-numbereΣ bit≤ arσ ì
  579. undefined«  However¼ parit∙ bit≤ fo≥ thesσ undefineΣ byte≤ shal∞ bσ valiΣ fo≥ ì
  580. whateve≥ datß i≤ placeΣ oε thσ bus«  
  581.  
  582. .cp 6
  583. ááT∩ ensurσ prope≥ datß integrity¼ certaiε sequencσ requirement≤ shal∞ bσ me⌠ ì
  584. betweeε thσ REQ/AC╦ handshake≤ oε thσ ┴ cablσ anΣ thσ REQB/ACK┬ handshake≤ oε ì
  585. thσ ┬ cable:
  586. áá(1⌐ Thσ REQ┬ anΣ ACK┬ signal≤ shal∞ onl∙ bσ asserteΣ durinτ datß phase≤ ì
  587. whilσ ß nonzer∩ widσ datß transfe≥ agreemen⌠ i≤ iε effect«  Thesσ signal≤ ì
  588. shal∞ no⌠ bσ asserteΣ durinτ othe≥ phases.
  589. .cp 5
  590. áá(2⌐ Thσ samσ informatioε transfe≥ modσ (asynchronou≤ o≥ synchronous⌐ shal∞ ì
  591. bσ useΣ fo≥ botΦ thσ ┴ cablσ anΣ thσ ┬ cable«  Iµ synchronou≤ datß transfe≥ ì
  592. modσ i≤ iε effect¼ thσ samσ REQ/AC╦ offse⌠ anΣ transfe≥ perioΣ shal∞ bσ useΣ ì
  593. fo≥ botΦ cables.
  594. .cp 7
  595. áá(3⌐ Thσ informatioε transfe≥ procedure≤ defineΣ iε 5.1.5.▒ anΣ 5.1.5.▓ fo≥ ì
  596. thσ ┴ cablσ (thσ REQ¼ ACK¼ anΣ DB(╖-0,P⌐ signals⌐ shal∞ als∩ appl∙ t∩ thσ ┬ ì
  597. cablσ (thσ REQB¼ ACKB¼ anΣ DB(3▒-8,P1,P2,P3⌐ signals)«  Thσ onl∙ mean≤ ì
  598. availablσ fo≥ ß targe⌠ t∩ managσ thσ timinτ relationshi≡ betweeε thσ signal≤ ì
  599. oε thσ tw∩ cable≤ i≤ it≤ managemen⌠ oµ thσ RE╤ anΣ REQ┬ signals«  Similarly¼ ì
  600. thσ onl∙ mean≤ fo≥ thσ initiato≥ t∩ managσ thσ timinτ betweeε thσ tw∩ cable≤ ì
  601. i≤ it≤ managemen⌠ oµ thσ AC╦ anΣ ACK┬ signals.
  602. .cp 5èáá(4⌐ Thσ targe⌠ shal∞ ensurσ tha⌠ thσ numbe≥ oµ REQ/AC╦ handshake≤ anΣ thσ ì
  603. numbe≥ oµ REQB/ACK┬ handshake≤ iε ß datß phasσ arσ equa∞ beforσ i⌠ change≤ t∩ ì
  604. anothe≥ phase«  Thσ targe⌠ shal∞ no⌠ changσ thσ phasσ unti∞ thσ AC╦ anΣ ACK┬ ì
  605. signal≤ havσ botΦ becomσ falsσ fo≥ thσ las⌠ REQ/AC╦ handshakσ anΣ thσ las⌠ ì
  606. REQB/ACK┬ handshake.
  607.  
  608. .cp 10
  609. .pm 0
  610. .lm 3
  611. ááIMPLEMENTOR╙ NOTE║  Iµ an∙ violation≤ oµ thesσ rule≤ arσ detecteΣ b∙ thσ ì
  612. áátarget¼ thσ targe⌠ ma∙ attemp⌠ t∩ enΣ thσ datß phasσ anΣ returε CHEC╦ ì
  613. ááCONDITIO╬ status«  Iµ i⌠ i≤ impossiblσ t∩ correctl∙ terminatσ thσ datß ì
  614. ááphase¼ thσ targe⌠ ma∙ abnormall∙ terminatσ thσ I/╧ proces≤ b∙ aε unexpecteΣ ì
  615. áádisconnect«  Iµ an∙ violation≤ oµ thesσ rule≤ arσ detecteΣ b∙ thσ initiator¼ ì
  616. ááthσ initiato≥ ma∙ attemp⌠ t∩ senΣ aε INITIATO╥ DETECTE─ ERRO╥ messagσ t∩ thσ ì
  617. áátarget«  Iµ thσ initiato≥ i≤ unablσ t∩ terminatσ thσ I/╧ proces≤ normally¼ ì
  618. áái⌠ ma∙ generatσ thσ rese⌠ condition.
  619. .pm 3
  620. .lm 1
  621.  
  622. .cp 10
  623. .aw off
  624. .pm 0
  625. 5.1.6. COMMAN─ Phase
  626. .aw on
  627. .pm 3
  628.  
  629.  
  630. ááThσ COMMAN─ phasσ allow≤ thσ targe⌠ t∩ reques⌠ commanΣ informatioε froφ thσ ì
  631. initiator.
  632.  
  633. ááThσ targe⌠ shal∞ asser⌠ thσ C/─ signa∞ anΣ negatσ thσ I/╧ anΣ MS╟ signal≤ ì
  634. durinτ thσ REQ/AC╦ handshake(s⌐ oµ thi≤ phase.
  635.  
  636. .cp 10
  637. .aw off
  638. .pm 0
  639. 5.1.7. Data Phase
  640. .aw on
  641. .pm 3
  642.  
  643. ááThσ datß phasσ i≤ ß terφ tha⌠ encompasse≤ botΦ thσ DAT┴ I╬ phasσ anΣ thσ ì
  644. DAT┴ OU╘ phase.
  645.  
  646. .cp 5
  647. .aw off
  648. .pm 0
  649. 5.1.7.1. DAT┴ I╬ Phase
  650. .aw on
  651. .pm 3
  652.  
  653. ááThσ DAT┴ I╬ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ datß bσ sen⌠ t∩ thσ ì
  654. initiato≥ froφ thσ target.
  655.  
  656. ááThσ targe⌠ shal∞ asser⌠ thσ I/╧ signa∞ anΣ negatσ thσ C/─ anΣ MS╟ signal≤ ì
  657. durinτ thσ REQ/AC╦ handshake(s⌐ oµ thi≤ phase.
  658.  
  659. .cp 5
  660. .aw off
  661. .pm 0
  662. 5.1.7.2. DAT┴ OU╘ Phase
  663. .aw on
  664. .pm 3
  665. ááThσ DAT┴ OU╘ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ datß bσ sen⌠ froφ thσ ì
  666. initiato≥ t∩ thσ target.
  667.  
  668. ááThσ targe⌠ shal∞ negatσ thσ C/D¼ I/O¼ anΣ MS╟ signal≤ durinτ thσ REQ/AC╦ ì
  669. handshake(s⌐ oµ thi≤ phase.
  670.  
  671. .cp 10
  672. .aw off
  673. .pm 0
  674. 5.1.8. STATU╙ Phase
  675. .aw on
  676. .pm 3
  677.  
  678. ááThσ STATU╙ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ statu≤ informatioε bσ ì
  679. sen⌠ froφ thσ targe⌠ t∩ thσ initiator.
  680.  
  681. ááThσ targe⌠ shal∞ asser⌠ thσ C/─ anΣ I/╧ signal≤ anΣ negatσ thσ MS╟ signa∞ ì
  682. durinτ thσ REQ/AC╦ handshakσ oµ thi≤ phase.
  683.  
  684. .cp 10è.aw off
  685. .pm 0
  686. 5.1.9. Messagσ Phase
  687. .aw on
  688. .pm 3
  689.  
  690. ááThσ messagσ phasσ i≤ ß terφ tha⌠ reference≤ eithe≥ ß MESSAG┼ IN¼ o≥ ß ì
  691. MESSAG┼ OU╘ phase«  Multiplσ message≤ ma∙ bσ sen⌠ durinτ eithe≥ phase«  Thσ ì
  692. firs⌠ bytσ transferreΣ iε eithe≥ oµ thesσ phase≤ shal∞ bσ eithe≥ ß singlσ-bytσ ì
  693. messagσ o≥ thσ firs⌠ bytσ oµ ß multiplσ-bytσ message«  Multiplσ-bytσ message≤ ì
  694. shal∞ bσ wholl∙ containeΣ withiε ß singlσ messagσ phase.
  695.  
  696. .cp 5
  697. .aw off
  698. .pm 0
  699. 5.1.9.1. MESSAG┼ I╬ Phase
  700. .aw on
  701. .pm 3
  702. ááThσ MESSAG┼ I╬ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ message(s⌐ bσ sen⌠ t∩ ì
  703. thσ initiato≥ froφ thσ target.
  704.  
  705. ááThσ targe⌠ shal∞ asser⌠ thσ C/D¼ I/O¼ anΣ MS╟ signal≤ durinτ thσ REQ/AC╦ ì
  706. handshake(s⌐ oµ thi≤ phase.
  707.  
  708. .cp 5
  709. .aw off
  710. .pm 0
  711. 5.1.9.2. MESSAG┼ OU╘ Phase
  712. .aw on
  713. .pm 3
  714. ááThσ MESSAG┼ OU╘ phasσ allow≤ thσ targe⌠ t∩ reques⌠ tha⌠ message(s⌐ bσ sen⌠ ì
  715. froφ thσ initiato≥ t∩ thσ target«  Thσ targe⌠ invoke≤ thi≤ phasσ iε responsσ ì
  716. t∩ thσ attentioε conditioε createΣ b∙ thσ initiato≥ (seσ 5.2.1).
  717.  
  718. ááThσ targe⌠ shal∞ asser⌠ thσ C/─ anΣ MS╟ signal≤ anΣ negatσ thσ I/╧ signa∞ ì
  719. durinτ thσ REQ/AC╦ handshake(s⌐ oµ thi≤ phase«  Thσ targe⌠ shal∞ handshakσ ì
  720. byte(s⌐ iε thi≤ phasσ unti∞ thσ AT╬ signa∞ i≤ negated¼ excep⌠ wheε rejectinτ ß ì
  721. message.
  722.  
  723. ááIµ thσ targe⌠ detect≤ onσ o≥ morσ parit∙ error(s⌐ oε thσ messagσ byte(s⌐ ì
  724. received¼ i⌠ ma∙ indicatσ it≤ desirσ t∩ retr∙ thσ message(s⌐ b∙ assertinτ thσ ì
  725. RE╤ signa∞ afte≥ detectinτ thσ AT╬ signa∞ ha≤ gonσ falsσ anΣ prio≥ t∩ changinτ ì
  726. t∩ an∙ othe≥ phase«  Thσ initiator¼ upoε detectinτ thi≤ condition¼ shal∞ rσ-ì
  727. senΣ al∞ oµ thσ previou≤ messagσ byte(s⌐ iε thσ samσ orde≥ a≤ previousl∙ sen⌠ ì
  728. durinτ thi≤ phase«  Wheε rσ-sendinτ morσ thaε onσ messagσ byte¼ thσ initiato≥ ì
  729. shal∞ asser⌠ thσ AT╬ signa∞ a⌠ leas⌠ tw∩ deske≈ delay≤ prio≥ t∩ assertinτ thσ ì
  730. AC╦ signa∞ oε thσ firs⌠ bytσ anΣ shal∞ maintaiε thσ AT╬ signa∞ asserteΣ unti∞ ì
  731. thσ las⌠ bytσ i≤ sen⌠ a≤ describeΣ iε 5.2.1.
  732.  
  733. ááThσ targe⌠ ma∙ ac⌠ oε message≤ a≤ receiveΣ a≤ lonτ a≤ n∩ parit∙ erro≥ i≤ ì
  734. detecteΣ anΣ ma∙ ignorσ al∞ remaininτ message≤ sen⌠ unde≥ onσ AT╬ conditioε ì
  735. afte≥ ß parit∙ erro≥ i≤ detected«  Wheε ß sequencσ oµ message≤ i≤ rσ-sen⌠ b∙ ì
  736. aε initiato≥ becausσ oµ ß targe⌠ detecteΣ parit∙ error¼ thσ targe⌠ shal∞ no⌠ ì
  737. ac⌠ oε an∙ messagσ whicΦ i⌠ acteΣ oε thσ firs⌠ timσ received«  
  738.  
  739. .cp3
  740. ááIµ thσ targe⌠ receive≤ al∞ oµ thσ messagσ byte(s⌐ successfull∙ (i.e.¼ n∩ ì
  741. parit∙ errors)¼ i⌠ shal∞ indicatσ tha⌠ i⌠ doe≤ no⌠ wisΦ t∩ retr∙ b∙ changinτ ì
  742. t∩ an∙ informatioε transfe≥ phasσ othe≥ thaε thσ MESSAG┼ OU╘ phasσ anΣ ì
  743. transfe≥ a⌠ leas⌠ onσ byte«  Thσ targe⌠ ma∙ als∩ indicatσ tha⌠ i⌠ ha≤ ì
  744. successfull∙ receiveΣ thσ messagσ byte(s⌐ b∙ changinτ t∩ thσ BU╙ FRE┼ phasσ ì
  745. (e.g.¼ ABOR╘ o≥ BU╙ DEVIC┼ RESE╘ messages).
  746.  
  747. .cp 10è.aw off
  748. .pm 0
  749. 5.1.10. Signa∞ Restriction≤ Betweeε Phases
  750. .aw on
  751. .pm 3
  752.  
  753. ááWheε thσ SCS╔ bu≤ i≤ betweeε tw∩ informatioε transfe≥ phases¼ thσ followinτ ì
  754. restriction≤ shal∞ appl∙ t∩ thσ SCS╔ bu≤ signals:
  755. áá(1⌐ Thσ BSY¼ SEL¼ REQ¼ REQB¼ AC╦ anΣ ACK┬ signal≤ shal∞ no⌠ change.
  756. áá(2⌐ Thσ C/D¼ I/O¼ MSG¼ anΣ DAT┴ BU╙ signal≤ ma∙ change«  Wheε switchinτ thσ ì
  757. DAT┴ BU╙ directioε froφ ou⌠ (initiato≥ driving⌐ t∩ iε (targe⌠ driving)¼ thσ ì
  758. targe⌠ shal∞ dela∙ drivinτ thσ DAT┴ BU╙ b∙ a⌠ leas⌠ ß datß releasσ dela∙ plu≤ ì
  759. ß bu≤ settlσ dela∙ afte≥ assertinτ thσ I/╧ signa∞ anΣ thσ initiato≥ shal∞ ì
  760. releasσ thσ DAT┴ BU╙ n∩ late≥ thaε ß datß releasσ dela∙ afte≥ thσ transitioε ì
  761. oµ thσ I/╧ signa∞ t∩ true«  Wheε switchinτ thσ DAT┴ BU╙ directioε froφ iε ì
  762. (targe⌠ driving⌐ t∩ ou⌠ (initiato≥ driving)¼ thσ targe⌠ shal∞ releasσ thσ DAT┴ ì
  763. BU╙ n∩ late≥ thaε ß deske≈ dela∙ afte≥ negatinτ thσ I/╧ signal.
  764. áá(3⌐ Thσ AT╬ anΣ RS╘ signal≤ ma∙ changσ a≤ defineΣ unde≥ thσ description≤ fo≥ ì
  765. thσ attentioε conditioε (seσ 5.2.1⌐ anΣ rese⌠ conditioε (seσ 5.2.2).
  766. .lm 1
  767.  
  768.  
  769. .cp 20
  770. .aw off
  771. .pm 0
  772. 5.2. SCS╔ Bu≤ Conditions
  773. .aw on
  774. .pm 3
  775.  
  776. ááThσ SCS╔ bu≤ ha≤ tw∩ asynchronou≤ conditions╗ thσ attentioε conditioε anΣ ì
  777. thσ rese⌠ condition«  Thesσ condition≤ causσ thσ SCS╔ devicσ t∩ perforφ ì
  778. certaiε action≤ anΣ caε alte≥ thσ phasσ sequence.
  779.  
  780. ááFurthermore¼ aε SCS╔ devicσ ma∙ no⌠ al∞ bσ powereΣ oε a⌠ thσ samσ time«  ì
  781. Thi≤ standarΣ doe≤ no⌠ addres≤ powe≥ sequencinτ issues«  However¼ eacΦ SCS╔ ì
  782. device¼ a≤ i⌠ i≤ powereΣ on¼ shoulΣ perforφ appropriatσ interna∞ rese⌠ ì
  783. operation≤ anΣ interna∞ tes⌠ operations«  I⌠ i≤ recommendeΣ tha⌠ followinτ ß ì
  784. powe≥-oε t∩ selectioε timσ afte≥ powe≥ i≤ applied¼ SCS╔ target≤ bσ ablσ t∩ ì
  785. responΣ witΦ appropriatσ statu≤ anΣ sensσ datß t∩ thσ TES╘ UNI╘ READY¼ ì
  786. INQUIRY¼ anΣ REQUES╘ SENS┼ commands.
  787.  
  788. .cp 10
  789. .aw off
  790. .pm 0
  791. 5.2.1. Attentioε Condition
  792. .aw on
  793. .pm 3
  794.  
  795. ááThσ attentioε conditioε allow≤ aε initiato≥ t∩ inforφ ß targe⌠ tha⌠ thσ ì
  796. initiato≥ ha≤ ß messagσ ready«  Thσ targe⌠ ma∙ ge⌠ thi≤ messagσ b∙ performinτ ì
  797. ß MESSAG┼ OU╘ phase.
  798.  
  799. ááThσ initiato≥ create≤ thσ attentioε conditioε b∙ assertinτ AT╬ a⌠ an∙ timσ ì
  800. excep⌠ durinτ thσ ARBITRATIO╬ o≥ BU╙ FRE┼ phases.
  801.  
  802. ááThσ initiato≥ shal∞ asser⌠ thσ AT╬ signa∞ a⌠ leas⌠ tw∩ deske≈ delay≤ beforσ ì
  803. negatinτ thσ AC╦ signa∞ fo≥ thσ las⌠ bytσ transferreΣ iε ß bu≤ phasσ fo≥ thσ ì
  804. attentioε conditioε t∩ bσ honoreΣ beforσ transitioε t∩ ß ne≈ bu≤ phase«  ì
  805. Assertinτ thσ AT╬ signa∞ late≥ migh⌠ no⌠ bσ honoreΣ unti∞ ß late≥ bu≤ phasσ ì
  806. anΣ theε ma∙ no⌠ resul⌠ iε thσ expecteΣ action«  Thσ initiato≥ shal∞ negatσ ì
  807. thσ AT╬ signa∞ a⌠ leas⌠ tw∩ deske≈ delay≤ beforσ assertinτ thσ AC╦ signa∞ ì
  808. whilσ transferrinτ thσ las⌠ bytσ oµ thσ message≤ indicateΣ witΦ ß "Yesó iε ì
  809. Tablσ ╡-2«  Iµ thσ targe⌠ detect≤ tha⌠ thσ initiato≥ faileΣ t∩ mee⌠ thi≤ ì
  810. requirement¼ theε thσ targe⌠ shal∞ g∩ t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ ì
  811. disconnect¼ 5.1.1).
  812.  
  813. .cp 4
  814. áá┴ targe⌠ shal∞ responΣ witΦ MESSAG┼ OU╘ phasσ a≤ follows:
  815. áá(1⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß COMMAN─ phase¼ thσ targe⌠ shal∞ ì
  816. ente≥ MESSAG┼ OU╘ phasσ afte≥ transferrinτ par⌠ o≥ al∞ oµ thσ commanΣ ì
  817. descripto≥ blocδ bytes.è.cp 5
  818. áá(2⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß DAT┴ phase¼ thσ targe⌠ shal∞ ì
  819. ente≥ MESSAG┼ OU╘ phasσ a⌠ thσ target'≤ earlies⌠ conveniencσ (often¼ bu⌠ no⌠ ì
  820. necessaril∙ oε ß logica∞ blocδ boundary)«  Thσ initiato≥ shal∞ continuσ ì
  821. REQ/AC╦ handshake≤ unti∞ i⌠ detect≤ thσ phasσ change«  
  822. .cp 5
  823. áá(3⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß STATU╙ phase¼ thσ targe⌠ shal∞ ì
  824. ente≥ MESSAG┼ OU╘ phasσ afte≥ thσ statu≤ bytσ ha≤ beeε acknowledgeΣ b∙ thσ ì
  825. initiator«  
  826. .cp 5
  827. áá(4⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß MESSAG┼ I╬ phase¼ thσ targe⌠ ì
  828. shal∞ ente≥ MESSAG┼ OU╘ phasσ beforσ i⌠ send≤ anothe≥ message«  Thi≤ permit≤ ß ì
  829. MESSAG┼ PARIT┘ ERRO╥ messagσ froφ thσ initiato≥ t∩ bσ associateΣ witΦ thσ ì
  830. appropriatσ message.
  831. áá(5⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß SELECTIO╬ phasσ anΣ beforσ thσ ì
  832. initiato≥ release≤ thσ BS┘ signal¼ thσ targe⌠ shal∞ ente≥ MESSAG┼ OU╘ phasσ ì
  833. immediatel∙ afte≥ tha⌠ SELECTIO╬ phase« 
  834. áá(6⌐ Iµ thσ AT╬ signa∞ become≤ truσ durinτ ß RESELECTIO╬ phase¼ thσ targe⌠ ì
  835. shal∞ ente≥ MESSAG┼ OU╘ phasσ afte≥ thσ targe⌠ ha≤ sen⌠ it≤ IDENTIF┘ messagσ ì
  836. fo≥ tha⌠ RESELECTIO╬ phase«  
  837. .lm 1
  838.  
  839. ááThσ initiato≥ shal∞ kee≡ thσ AT╬ signa∞ asserteΣ iµ morσ thaε onσ bytσ i≤ t∩ ì
  840. bσ transferred«  Thσ initiato≥ ma∙ negatσ thσ AT╬ signa∞ a⌠ an∙ timσ excep⌠ i⌠ ì
  841. shal∞ no⌠ negatσ thσ AT╬ signa∞ whilσ thσ AC╦ signa∞ i≤ asserteΣ durinτ ß ì
  842. MESSAG┼ OU╘ phase«  Normally¼ thσ initiato≥ negate≤ thσ AT╬ signa∞ whilσ thσ ì
  843. RE╤ signa∞ i≤ truσ anΣ thσ AC╦ signa∞ i≤ falsσ durinτ thσ las⌠ REQ/AC╦ ì
  844. handshakσ oµ thσ MESSAG┼ OU╘ phase.
  845.  
  846. .cp 10
  847. .aw off
  848. .pm 0
  849. 5.2.2. Rese⌠ Condition
  850. .aw on
  851. .pm 3
  852.  
  853. ááThσ rese⌠ conditioε i≤ useΣ t∩ immediatel∙ clea≥ al∞ SCS╔ device≤ froφ thσ ì
  854. bus«  Thi≤ conditioε shal∞ takσ precedencσ ove≥ al∞ othe≥ phase≤ anΣ ì
  855. conditions«  An∙ SCS╔ devicσ ma∙ creatσ thσ rese⌠ conditioε b∙ assertinτ thσ ì
  856. RS╘ signa∞ fo≥ ß minimuφ oµ ß rese⌠ holΣ time«  Durinτ thσ rese⌠ condition¼ ì
  857. thσ statσ oµ al∞ SCS╔ bu≤ signal≤ othe≥ thaε thσ RS╘ signa∞ i≤ no⌠ defined.
  858.  
  859. ááAl∞ SCS╔ device≤ shal∞ releasσ al∞ SCS╔ bu≤ signal≤ (excep⌠ thσ RS╘ signal⌐ ì
  860. withiε ß bu≤ clea≥ dela∙ oµ thσ transitioε oµ thσ RS╘ signa∞ t∩ true«  Thσ BU╙ ì
  861. FRE┼ phasσ alway≤ follow≤ thσ rese⌠ condition.
  862.  
  863. ááThσ effec⌠ oµ thσ rese⌠ conditioε oε I/╧ processe≤ whicΦ havσ no⌠ completed¼ ì
  864. SCS╔ devicσ reservations¼ anΣ SCS╔ devicσ operatinτ mode≤ i≤ determineΣ b∙ ì
  865. whethe≥ thσ SCS╔ devicσ ha≤ implementeΣ thσ harΣ rese⌠ alternativσ o≥ thσ sof⌠ ì
  866. rese⌠ alternativσ (onσ oµ whicΦ shal∞ bσ implemented⌐ a≤ defineΣ iε 5.2.2.▒ ì
  867. anΣ 5.2.2.2«  Thσ harΣ anΣ sof⌠ rese⌠ alternative≤ arσ mutuall∙ exclusivσ ì
  868. withiε ß system«  ┴ facilit∙ fo≥ target≤ t∩ repor⌠ whicΦ rese⌠ alternativσ i≤ ì
  869. implementeΣ i≤ provideΣ iε thσ SftRσ bi⌠ oµ thσ INQUIR┘ datß (7.2.5).
  870.  
  871. .lm 3
  872. ááIMPLEMENTOR╙ NOTE║  Environmenta∞ condition≤ (e.g.¼ statiπ discharge⌐ ma∙ ì
  873. áágeneratσ brieµ glitche≤ oε thσ RS╘ signal«  I⌠ i≤ recommendeΣ tha⌠ SCS╔ ì
  874. áádevice≤ no⌠ reac⌠ t∩ thesσ glitches«  Thσ manne≥ oµ rejectinτ glitche≤ i≤ ì
  875. áávendo≥ specific«  Thσ bu≤ clea≥ dela∙ followinτ ß RS╘ signa∞ transitioε t∩ ì
  876. áátruσ i≤ measureΣ froφ thσ origina∞ transitioε oµ thσ RS╘ signal¼ no⌠ froφ ì
  877. ááthσ timσ tha⌠ thσ signa∞ ha≤ beeε confirmed«  Thi≤ limit≤ thσ timσ t∩ ì
  878. ááconfirφ thσ RS╘ signa∞ t∩ ß maximuφ oµ ß bu≤ clea≥ delay.
  879. .lm 1
  880.  
  881. .cp 15è.aw off
  882. .pm 0
  883. 5.2.2.1. Hard Rese⌠ Alternative
  884. .aw on
  885. .pm 3
  886.  
  887. ááSCS╔ device≤ tha⌠ implemen⌠ thσ harΣ rese⌠ alternative¼ upoε detectioε oµ ì
  888. thσ rese⌠ condition¼ shall:
  889. áá(1⌐ Clea≥ al∞ I/╧ processe≤ includinτ queueΣ I/╧ processes.
  890. áá(2⌐ Releasσ al∞ SCS╔ devicσ reservations.
  891. áá(3⌐ Returε an∙ SCS╔ devicσ operatinτ mode≤ t∩ thei≥ appropriatσ initia∞ ì
  892. conditions¼ simila≥ t∩ thosσ condition≤ tha⌠ woulΣ bσ founΣ afte≥ ß norma∞ ì
  893. powe≥-oε reset«  MOD┼ SELEC╘ condition≤ shal∞ bσ restoreΣ t∩ thei≥ las⌠ saveΣ ì
  894. value≤ iµ saveΣ value≤ havσ beeε established«  MOD┼ SELEC╘ condition≤ fo≥ ì
  895. whicΦ n∩ value≤ havσ beeε saveΣ shal∞ bσ returneΣ t∩ thei≥ defaul⌠ values.
  896. áá(4⌐ Uni⌠ attentioε conditioε shal∞ bσ se⌠ (Seσ 6.9).
  897.  
  898. ááI⌠ i≤ recommendeΣ tha⌠ followinτ ß rese⌠ t∩ selectioε timσ afte≥ ß harΣ ì
  899. rese⌠ conditioε ends¼ SCS╔ target≤ bσ ablσ t∩ responΣ witΦ appropriatσ statu≤ ì
  900. anΣ sensσ datß t∩ thσ TES╘ UNI╘ READY¼ INQUIRY¼ anΣ REQUES╘ SENS┼ commands.
  901.  
  902. .cp 5
  903. .aw off
  904. .pm 0
  905. 5.2.2.2. Soft Rese⌠ Alternative
  906. .aw on
  907. .pm 3
  908. .cp 12
  909. ááSCS╔ device≤ tha⌠ implemen⌠ thσ sof⌠ rese⌠ alternative¼ upoε detectioε oµ ì
  910. thσ rese⌠ condition¼ shall:
  911. áá(1⌐ Attemp⌠ t∩ completσ an∙ I/╧ processe≤ whicΦ havσ no⌠ completeΣ anΣ tha⌠ ì
  912. werσ full∙ identified
  913. áá(2⌐ Preservσ al∞ SCS╔ devicσ reservations
  914. áá(3⌐ Preservσ an∙ SCS╔ devicσ operatinτ mode≤ (MOD┼ SELECT¼ PREVENT/ALLO╫ ì
  915. MEDIU═ REMOVA╠ commands¼ etc.)
  916. áá(4⌐ Preservσ al∞ thσ informatioε requireΣ t∩ continuσ norma∞ dispatchinτ oµ ì
  917. I/╧ processe≤ queueΣ prio≥ t∩ thσ rese⌠ condition«  
  918. .lm 1
  919.  
  920. ááThσ sof⌠ rese⌠ alternativσ allow≤ aε initiato≥ t∩ rese⌠ thσ SCS╔ bu≤ witΦ ì
  921. minimuφ disruptioε t∩ thσ operatioε oµ othe≥ initiator≤ iε ß multiplσ ì
  922. initiato≥ system«  T∩ ensurσ prope≥ operatioε thσ followinτ condition≤ shal∞ ì
  923. bσ met:
  924. áá(1⌐ Aε initiato≥ shal∞ no⌠ conside≥ aε I/╧ proces≤ t∩ bσ full∙ identifieΣ ì
  925. unti∞ thσ IDENTIF┘ messagσ (anΣ queuσ taτ message¼ iµ any⌐ i≤ sen⌠ t∩ thσ ì
  926. targe⌠ anΣ thσ targe⌠ respond≤ b∙ changinτ t∩ an∙ othe≥ informatioε transfe≥ ì
  927. phasσ anΣ request≤ tha⌠ a⌠ leas⌠ onσ bytσ bσ transferred.
  928. áá(2⌐ ┴ targe⌠ shal∞ conside≥ aε I/╧ proces≤ t∩ bσ full∙ identifieΣ wheε i⌠ ì
  929. successfull∙ receive≤ thσ IDENTIF┘ messagσ anΣ an∙ queuσ taτ messagσ anΣ thσ ì
  930. initiato≥ negate≤ thσ AT╬ signal.
  931. áá(3⌐ Iµ aε initiato≥ select≤ ß logica∞ uni⌠ fo≥ whicΦ therσ alread∙ i≤ aε ì
  932. activσ I/╧ proces≤ witΦ thσ samσ queuσ taτ (iµ any⌐ fo≥ thσ samσ initiator¼ ì
  933. thσ targe⌠ shal∞ clea≥ thσ origina∞ I/╧ proces≤ anΣ perforφ thσ ne≈ I/╧ ì
  934. process.
  935. áá(4⌐ Iµ ß targe⌠ reselect≤ aε initiato≥ t∩ continuσ aε I/╧ proces≤ fo≥ whicΦ ì
  936. thσ initiato≥ ha≤ n∩ record¼ thσ initiato≥ shal∞ abor⌠ tha⌠ I/╧ proces≤ b∙ ì
  937. sendinτ thσ ABOR╘ o≥ ABOR╘ TA╟ message¼ dependinτ oε whethe≥ thσ reselectinτ ì
  938. I/╧ proces≤ i≤ ß taggeΣ I/╧ process.
  939. áá(5⌐ Aε initiato≥ shal∞ conside≥ aε I/╧ proces≤ t∩ bσ completeΣ wheε i⌠ ì
  940. negate≤ AC╦ fo≥ ß successfull∙ receiveΣ COMMAN─ COMPLET┼ message.
  941. .cp3
  942. áá(6⌐ ┴ targe⌠ shal∞ conside≥ aε I/╧ proces≤ t∩ bσ completeΣ wheε i⌠ detect≤ ì
  943. thσ transitioε oµ AC╦ t∩ falsσ fo≥ thσ COMMAN─ COMPLET┼ messagσ witΦ thσ AT╬ ì
  944. signa∞ false.
  945. áá(7⌐ Aε initiato≥ shal∞ no⌠ negatσ thσ AC╦ signa∞ fo≥ thσ SAV┼ DAT┴ POINTE╥ ì
  946. messagσ unti∞ i⌠ ha≤ actuall∙ saveΣ thσ datß pointe≥ fo≥ thσ I/╧ process.
  947. .cp 3èáá(8⌐ ┴ targe⌠ shal∞ conside≥ thσ datß pointe≥ t∩ bσ saveΣ wheε i⌠ detect≤ thσ ì
  948. transitioε oµ thσ AC╦ signa∞ t∩ falsσ fo≥ thσ SAV┼ DAT┴ POINTE╥ messagσ witΦ ì
  949. thσ AT╬ signa∞ false.
  950. .cp 6
  951. áá(9⌐ Iµ thσ rese⌠ conditioε occur≤ betweeε thσ timσ tha⌠ thσ targe⌠ assert≤ ì
  952. thσ RE╤ signa∞ fo≥ thσ SAV┼ DAT┴ POINTE╥ messagσ anΣ i⌠ detect≤ thσ transitioε ì
  953. oµ thσ AC╦ signa∞ t∩ false¼ thσ targe⌠ shal∞ terminatσ thσ I/╧ proces≤ witΦ ì
  954. CHEC╦ CONDITIO╬ status«  Thσ targe⌠ shal∞ se⌠ thσ sensσ ke∙ t∩ ABORTE─ ì
  955. COMMAND«  Thi≤ i≤ necessar∙ becausσ thσ targe⌠ canno⌠ determinσ whethe≥ thσ ì
  956. datß pointe≥ ha≤ actuall∙ beeε saved.
  957.  
  958. .lm 3
  959. ááNOTE║ Iµ thσ AT╬ signa∞ i≤ truσ iε condition≤ (6⌐ o≥ (8)¼ thσ targe⌠ woulΣ ì
  960. áánormall∙ switcΦ t∩ MESSAG┼ OU╘ phasσ anΣ attemp⌠ t∩ transfe≥ ß messagσ byte«  ì
  961. ááIµ thσ rese⌠ conditioε occur≤ beforσ thσ targe⌠ successfull∙ receive≤ thσ ì
  962. áámessagσ byte¼ i⌠ ma∙ assumσ tha⌠ thσ initiato≥ ha≤ no⌠ successfull∙ receiveΣ ì
  963. ááthσ COMMAN─ COMPLET┼ messagσ o≥ thσ SAV┼ DAT┴ POINTE╥ message«  Iε thσ casσ ì
  964. ááoµ COMMAN─ COMPLET┼ message¼ thσ targe⌠ ma∙ reselec⌠ thσ initiato≥ anΣ ì
  965. ááattemp⌠ t∩ senΣ thσ COMMAN─ COMPLET┼ messagσ again«  Iε thσ casσ oµ thσ SAV┼ ì
  966. ááDAT┴ POINTE╥ message¼ thσ targe⌠ ma∙ reselec⌠ thσ initiato≥ anΣ terminatσ ì
  967. ááthσ I/╧ proces≤ a≤ describeΣ iε conditioε (9).
  968. .lm 1
  969.  
  970. .cp 20
  971. .aw off
  972. .pm 0
  973. 5.3. SCS╔ Bu≤ Phasσ Sequences
  974. .aw on
  975. .pm 3
  976.  
  977. ááThσ orde≥ iε whicΦ phase≤ arσ useΣ oε thσ SCS╔ bu≤ follow≤ ß prescribeΣ ì
  978. sequence.
  979.  
  980. ááThσ rese⌠ conditioε caε abor⌠ an∙ phasσ anΣ i≤ alway≤ followeΣ b∙ thσ BU╙ ì
  981. FRE┼ phase«  Als∩ an∙ othe≥ phasσ caε bσ followeΣ b∙ thσ BU╙ FRE┼ phasσ bu⌠ ì
  982. man∙ sucΦ instance≤ arσ erro≥ condition≤ (seσ unexpecteΣ disconnect¼ 5.1.1).
  983.  
  984. ááThσ additiona∞ allowablσ sequence≤ shal∞ bσ a≤ showε iε Figurσ ╡-2«  Thσ ì
  985. norma∞ progressioε i≤ froφ thσ BU╙ FRE┼ phasσ t∩ ARBITRATION¼ froφ ARBITRATIO╬ ì
  986. t∩ SELECTIO╬ o≥ RESELECTION¼ anΣ froφ SELECTIO╬ o≥ RESELECTIO╬ t∩ onσ o≥ morσ ì
  987. oµ thσ informatioε transfe≥ phase≤ (COMMAND¼ DATA¼ STATUS¼ o≥ MESSAGE)«  Thσ ì
  988. fina∞ informatioε transfe≥ phasσ i≤ normall∙ thσ MESSAG┼ I╬ phasσ wherσ ß ì
  989. DISCONNECT¼ o≥ COMMAN─ COMPLET┼ messagσ i≤ transferred¼ followeΣ b∙ thσ BU╙ ì
  990. FRE┼ phase.
  991.  
  992. .cp 30è.aw off
  993. .pm1
  994. .. [inser⌠ SCSI Bus Phase Sequence Diagram here]
  995.  
  996.  
  997. .. Figure 5-2  Phase Sequences
  998. .lh 6
  999. ..
  1000.                                ┌────────────────────────────┐
  1001.                                │                            │
  1002.    Reset or                    │                   ┌────────V──────┐
  1003.    protocol                    │              ┌────>               ├──────┐
  1004.     error                      │              │┌───>  MESSAGE OUT  ├───┐  │
  1005.       │                        │              ││ ┌─>               │   │  │
  1006.       │    ┌───────────────────┼────────¢─¢─────┼┼─┼─┤               ├──┐│  │
  1007.       │    │                   │              ││ │ └────A───┬──────┘  ││  │
  1008.       │    │           ┌───────┴───────┐      ││ │ ┌────┴───V──────┐  ││  │
  1009.       │    │    ┌──────┤               │      ││ │ │               │  ││  │
  1010.       │    │    │      │   SELECTION   │      ││┌┼─>    COMMAND    ├──┼┼─┐│
  1011.       │    │    │      │               │      ││││ │               ├─┐││ ││
  1012.       │    │    │      │               │      ││││ │               │ │││ ││
  1013.       │    │    │      └───────A───────┘      ││││ └────────┬──────┘ │││ ││
  1014.    ┌──V────V────V──┐   ┌───────┴───────┐      ││││ ┌────────V──────┐ │││ ││
  1015.    │               │   │               │      │││└─┤               │ │││ ││
  1016.    │   BUS  FREE   ├───>  ARBITRATION  │      │││┌─>  DATA I╬ o≥   <─┼┼┼─┼┘
  1017.    │               │   │               │      ││││ │  DAT┴ OUT     │ │││ │
  1018.    │               │   │               │      ││││ │               ├─┼┼┼┐│
  1019.    └───────A────A──┘   └───────┬───────┘      ││││ └────────┬──────┘ │││││
  1020.            │    │      ┌───────V───────┐      ││││ ┌────────V──────┐ │││││
  1021.            │    │      │               │      ││││ │               │ │││││
  1022.            │    └──────┤  RESELECTION  ¢│      │└┼┼─┤    STATUS     <─┘││││
  1023.            │           │               │      │ ││ │               │  ││││
  1024.            │           │               │      │ ││ │               <──┘│││
  1025.            │           └───────┬───────┘      │ ││ └────A───┬──────┘   │││
  1026.            │                   │              │ ││ ┌────┴───V──────┐   │││
  1027.            │                   │              │ │└─┤               <───┘││
  1028.            │                   │              │ └──┤  MESSAGE IN   <────┘│
  1029.            │                   │              └────┤               │     │
  1030.            │                   │                   │               <─────┘
  1031.            │                   │                   └──A──────┬─────┘
  1032.            │                   └──────────────────────┘      │
  1033.            └─────────────────────────────────────────────────┘
  1034. .lh 8
  1035.  
  1036.  
  1037.  
  1038.                          Figure 5-2: Phase Sequences
  1039. .aw on
  1040. .pm  3
  1041.  
  1042.  
  1043. .cp 20
  1044. .aw off
  1045. .pm 0
  1046. 5.4. SCS╔ Pointers
  1047. .aw on
  1048. .pm 3
  1049.  
  1050. ááConside≥ thσ systeφ showε iε Figurσ ╡-│ iε whicΦ aε initiato≥ anΣ targe⌠ ì
  1051. communicatσ oε thσ SCS╔ bu≤ iε orde≥ t∩ executσ aε I/╧ process« 
  1052.  
  1053. .cp 12
  1054. .aw off
  1055. .pm 0
  1056.  
  1057.      -------------------------                 -------------------------
  1058.      | Function | | Initiator|-----------------| Target   | | Function |
  1059.      | Origin   | | SCS╔ Bus |    SCSI BUS     | SCS╔ Bus | | Execution|
  1060.      |          | | Control  |-----------------| Control  | |          |
  1061.      -------------------------                 -------------------------
  1062.  
  1063.              Initiator                                   Target
  1064.  
  1065.                       Figure 5-3: Simplified SCSI System
  1066. .aw on
  1067. .pm 3
  1068.  
  1069. .cp 10èááThσ SCS╔ architecturσ provide≤ fo≥ ß se⌠ oµ threσ pointer≤ fo≥ eacΦ I/╧ ì
  1070. process¼ calleΣ thσ saveΣ pointers«  Thσ se⌠ oµ threσ pointer≤ consis⌠ oµ onσ ì
  1071. fo≥ thσ command¼ onσ fo≥ thσ data¼ anΣ onσ fo≥ thσ status«  Wheε aε I/╧ ì
  1072. proces≤ become≤ active¼ it≤ threσ saveΣ pointer≤ arσ copieΣ int∩ thσ ì
  1073. initiator'≤ se⌠ oµ threσ activσ pointers«  Therσ i≤ onl∙ onσ se⌠ oµ activσ ì
  1074. pointer≤ iε eacΦ initiator«  Thσ activσ pointer≤ poin⌠ t∩ thσ nex⌠ command¼ ì
  1075. data¼ o≥ statu≤ bytσ t∩ bσ transferreΣ betweeε thσ initiator'≤ memor∙ anΣ thσ ì
  1076. target«  Thσ saveΣ anΣ activσ pointer≤ residσ iε thσ initiator«  
  1077.  
  1078. .cp 10
  1079. ááThσ saveΣ commanΣ pointe≥ alway≤ point≤ t∩ thσ star⌠ oµ thσ commanΣ ì
  1080. descripto≥ blocδ (seσ 6.2⌐ fo≥ thσ I/╧ process«  Thσ saveΣ statu≤ pointe≥ ì
  1081. alway≤ point≤ t∩ thσ star⌠ oµ thσ statu≤ areß fo≥ thσ I/╧ process«  Thσ saveΣ ì
  1082. datß pointe≥ point≤ t∩ thσ star⌠ oµ thσ datß areß unti∞ thσ targe⌠ send≤ ß ì
  1083. SAV┼ DAT┴ POINTE╥ messagσ (seσ 5.6.20⌐ fo≥ thσ I/╧ process.
  1084.  
  1085. ááIε responsσ t∩ thσ SAV┼ DAT┴ POINTE╥ message¼ thσ initiato≥ store≤ thσ valuσ ì
  1086. oµ thσ activσ datß pointe≥ int∩ thσ saveΣ datß pointe≥ fo≥ tha⌠ I/╧ process«  ì
  1087. Thσ targe⌠ ma∙ restorσ thσ activσ pointer≤ t∩ thσ saveΣ pointe≥ value≤ fo≥ thσ ì
  1088. activσ I/╧ proces≤ b∙ sendinτ ß RESTOR┼ POINTER╙ messagσ (seσ 5.6.19⌐ t∩ thσ ì
  1089. initiator«  Thσ initiato≥ theε copie≤ thσ se⌠ oµ saveΣ pointer≤ int∩ thσ se⌠ ì
  1090. oµ activσ pointers«  Wheneve≥ ß targe⌠ disconnect≤ froφ thσ bus¼ onl∙ thσ se⌠ ì
  1091. oµ saveΣ pointer≤ arσ retained«  Thσ se⌠ oµ activσ pointer≤ i≤ restoreΣ froφ ì
  1092. thσ se⌠ oµ saveΣ pointer≤ upoε reconnectioε oµ thσ I/╧ process.
  1093.  
  1094. .cp 5
  1095. .lm 3
  1096. ááIMPLEMENTOR╙ NOTE║  Sincσ thσ datß pointe≥ valuσ ma∙ bσ modifieΣ b∙ thσ ì
  1097. áátarge⌠ beforσ thσ I/╧ proces≤ ends¼ i⌠ shoulΣ no⌠ bσ useΣ t∩ tes⌠ fo≥ actua∞ ì
  1098. áátransfe≥ length.
  1099. .lm 1
  1100.  
  1101. .cp 20
  1102. .aw off
  1103. .pm 0
  1104. 5.5. Messagσ Systeφ Description
  1105. .aw on
  1106. .pm 3
  1107.  
  1108. ááThσ messagσ systeφ allow≤ communicatioε betweeε aε initiato≥ anΣ targe⌠ fo≥ ì
  1109. thσ purposσ oµ interfacσ management«  ┴ messagσ ma∙ bσ one¼ two¼ o≥ multiplσ ì
  1110. byte≤ iε length«  Onσ o≥ morσ message≤ ma∙ bσ sen⌠ durinτ ß singlσ MESSAG┼ ì
  1111. phase¼ bu⌠ ß messagσ ma∙ no⌠ bσ spli⌠ ove≥ MESSAG┼ phases«  Thσ initiato≥ i≤ ì
  1112. requireΣ t∩ enΣ thσ MESSAG┼ OU╘ phasσ (b∙ negatinτ ATN⌐ wheε i⌠ send≤ certaiε ì
  1113. message≤ identifieΣ iε Tablσ ╡-2.
  1114.  
  1115. ááOnσ-byte¼ Tw∩-byte¼ anΣ extendeΣ messagσ format≤ arσ defined«  Thσ firs⌠ ì
  1116. bytσ oµ thσ messagσ determine≤ thσ forma⌠ a≤ follows:
  1117.  
  1118. .lm1
  1119. .pm0
  1120. .aw0
  1121.                   Value             Messagσ Format
  1122.                 ----¡----  -----------------------------------
  1123.                    00Φ     Onσ-Bytσ Message (COMMAN─ COMPLET┼)
  1124.                    01Φ     Extended Messages
  1125.                 02Φ ¡ 1FΦ  Onσ-Bytσ Messages
  1126.                 20Φ ¡ 2FΦ  Two-Bytσ Messages
  1127.                 30Φ ¡ 7FΦ  Reserved
  1128.                 80Φ ¡ FFΦ  One-Bytσ Messagσ (IDENTIFY)
  1129.  
  1130. .lm1
  1131. .pm3
  1132. .aw1
  1133. ááOnσ-bytσ message≤ consis⌠ oµ ß singlσ bytσ transferreΣ durinτ ß MESSAG┼ ì
  1134. phase«  Thσ valuσ oµ thσ bytσ determine≤ whicΦ messagσ i≤ t∩ bσ performeΣ a≤ ì
  1135. defineΣ iε Tablσ ╡-2.
  1136.  
  1137. .cp 48è.aw off
  1138. .pm 0
  1139.                           Table 5-2: Message Codes
  1140.  
  1141. ==============================================================================
  1142. Code  Support   Messagσ Name                        Directioε    Negatσ ATN
  1143.      Init Targ                                                 Beforσ las⌠ ACK
  1144. ------------------------------------------------------------------------------
  1145. 06h   O    M    ABORT                                     Ou⌠       Ye≤ 
  1146. 0DΦ   ╧    ╧    ABOR╘ TA╟                  (Notσ 1)       Out       Ye≤ 
  1147. 0Ch   O    M    BUS DEVICE RESET                          Out       Yes 
  1148. 0Eh   ╧    ╧    CLEA╥ QUEU┼                (Notσ 1)       Out       Yes 
  1149. 00h   M    M    COMMAND COMPLETE                     In             --- 
  1150. 04h   O    O    DISCONNECT                           In             --- 
  1151. 04h   O    O    DISCONNECT                                Out       Yes 
  1152. 80h½  M    O    IDENTIFY                             In             --- 
  1153. 80h½  M    M    IDENTIFY                                  Out       No  
  1154. 23h   ╧    ╧    IGNOR┼ WID┼ RESIDU┼ (Two Bytes)      In             --- 
  1155. 0Fh   ╧    ╧    INITIAT┼ RECOVERY                    In             --- 
  1156. 0Fh   ╧    ╧    INITIAT┼ RECOVERY          (Notσ 2)       Out       Yes 
  1157. 05h   M    M    INITIATOR DETECTED ERROR                  Out       Yes 
  1158. 0Ah   O    O    LINKED COMMAND COMPLETE              In             --- 
  1159. 0Bh   O    O    LINKED COMMAND COMPLETE (WITH FLAG)  In             --- 
  1160. 09h   M    M    MESSAGE PARITY ERROR                      Out       Yes 
  1161. 07h   M    M    MESSAGE REJECT                       In   Out       Yes 
  1162. ***   ╧    ╧    MODIF┘ DAT┴ POINTE╥                  In             --- 
  1163. 08h   M    M    NO OPERATION                              Out       Yes 
  1164.                 Queuσ Taτ Message≤ (Tw∩ Bytes)                         
  1165. 21Φ   ╧    ╧      HEA─ O╞ QUEU┼ TA╟                       O⌡t       No  
  1166. 22Φ   ╧    ╧      ORDERE─ QUEU┼ TA╟                       Out       No  
  1167. 20Φ   ╧    ╧      SIMPLE QUEU┼ TA╟                   Iε   Out       No  
  1168. 10h   ╧    ╧    RELEAS┼ RECOVERY                          Out       Yes 
  1169. 03Φ   O    O    RESTORE POINTERS                     In             --- 
  1170. 02Φ   O    O    SAVE DATA POINTER                    In             --- 
  1171. **¬   ╧    ╧    SYNCHRONOU╙ DAT┴ TRANSFE╥ REQUES╘    Iε   Out       Yes 
  1172. **¬   ╧    ╧    WID┼ DAT┴ TRANSFE╥ REQUES╘           Iε   Out       Yes 
  1173. 11Φ   O    O    TERMINAT┼ I/╧ PROCESS                     Out       Yes 
  1174. 12Φ ¡ 1Fh       Reserved
  1175. 24Φ ¡ 2F╚       ReserveΣ fo≥ two-bytσ messages
  1176. 30h - 7Fh       Reserved
  1177. ==============================================================================
  1178. .aw on
  1179. .pm 3
  1180. ááKey║  ═    ╜ Mandator∙ support¼    ╧   ╜ Optiona∞ support.
  1181. .pm 9
  1182. .lm 16
  1183. ááááááááIn   = Targe⌠ t∩ initiator¼  Ou⌠ ╜ Initiato≥ t∩ target.
  1184. ááááááááYes  = Initiato≥ shal∞ negatσ AT╬ beforσ las⌠ AC╦ oµ message.
  1185. ááááááááNo   = Initiato≥ ma∙ o≥ ma∙ no⌠ negatσ AC╦ beforσ las⌠ AC╦ oµ message.
  1186. áááááááá       (seσ attentioε condition¼ 5.2.1.)
  1187. áááááááá---  = No⌠ Applicable
  1188. áááááááá***  = ExtendeΣ messagσ (seσ Table≤ ╡-│ anΣ ╡-4)
  1189. áááááááá80h+ = Code≤ 80Φ througΦ FFΦ arσ useΣ fo≥ IDENTIF┘ message≤ (seσ Tablσ ì
  1190. ááááááááááááááá╡-5).
  1191. .pm 3
  1192. .lm 1
  1193.  
  1194. ááNOTES:
  1195. áá(1⌐  Thσ ABOR╘ TA╟ anΣ CLEA╥ QUEU┼ message≤ arσ requireΣ iµ taggeΣ queuinτ ì
  1196. i≤ implemented.
  1197. áá(2⌐  OutbounΣ INITIAT┼ RECOVER┘ message≤ arσ onl∙ valiΣ durinτ thσ ì
  1198. asynchronou≤ even⌠ notificatioε protocol.
  1199. èááTw∩-bytσ message≤ consis⌠ oµ tw∩ consecutivσ byte≤ transferreΣ durinτ ß ì
  1200. MESSAG┼ phase«  Thσ valuσ oµ thσ firs⌠ bytσ determine≤ whicΦ messagσ i≤ t∩ bσ ì
  1201. performeΣ a≤ defineΣ iε Tablσ ╡-2«  Thσ seconΣ bytσ i≤ ß paramete≥ bytσ whicΦ ì
  1202. i≤ useΣ a≤ defineΣ iε thσ messagσ descriptioε (seσ 5.6).
  1203.  
  1204. .cp3
  1205. áá┴ valuσ oµ onσ iε thσ firs⌠ bytσ oµ ß messagσ indicate≤ thσ beginninτ oµ ß ì
  1206. multiplσ-bytσ extendeΣ message«  Thσ minimuφ numbe≥ oµ byte≤ sen⌠ fo≥ aε ì
  1207. extendeΣ messagσ i≤ three«  Thσ extendeΣ messagσ forma⌠ anΣ thσ extendeΣ ì
  1208. messagσ code≤ arσ showε iε Table≤ ╡-│ anΣ ╡-4¼ respectively.
  1209.  
  1210.  
  1211. .aw off
  1212. .pm 0 
  1213. .cp 15 
  1214.                      Table 5-3: Extended Message Format
  1215.  
  1216. ==============================================================================
  1217.  Byte     |  Value   |   Description                                         |
  1218. ==============================================================================
  1219.   0       |   01h    |   Extended message                                    |
  1220. ----------|----------|-------------------------------------------------------|
  1221.   1       |    n     |   Extended message length                             |
  1222. ----------|----------|-------------------------------------------------------|
  1223.   2       |    y     |   Extended message code                               |
  1224. ----------|----------|-------------------------------------------------------|
  1225. 3 - n+1   |    x     |   Extended message arguments                          |
  1226. ==============================================================================
  1227. .aw on
  1228. .pm 3
  1229.  
  1230.  
  1231. ááThσ extendeΣ messagσ lengtΦ specifie≤ thσ lengtΦ iε byte≤ oµ thσ extendeΣ ì
  1232. messagσ codσ plu≤ thσ extendeΣ messagσ argument≤ t∩ follow«  Therefore¼ thσ ì
  1233. tota∞ lengtΦ oµ thσ messagσ i≤ equa∞ t∩ thσ extendeΣ messagσ lengtΦ plu≤ two«  ì
  1234. ┴ valuσ oµ zer∩ fo≥ thσ extendeΣ messagσ lengtΦ indicate≤ 25╢ byte≤ follow.
  1235.  
  1236. ááThσ extendeΣ messagσ code≤ arσ listeΣ iε Tablσ ╡-4«  Thσ extendeΣ messagσ ì
  1237. argument≤ arσ specifieΣ withiε thσ extendeΣ messagσ descriptions.
  1238.  
  1239. .cp 12
  1240. .aw off
  1241. .pm 0
  1242.                       Table 5-4: Extended Message Codes
  1243.  
  1244. ==============================================================================
  1245. Code (y)       Description
  1246. ------------------------------------------------------------------------------
  1247. 02h            ReserveΣ (Seσ Notσ)
  1248. 00h            MODIFY DATA POINTER
  1249. 01h            SYNCHRONOUS DATA TRANSFER REQUEST
  1250. 03h            WIDE DATA TRANSFER REQUEST
  1251. 04h - 7Fh      Reserved
  1252. 80h - FFh      Vendor Unique
  1253. ==============================================================================
  1254. .aw on
  1255. .pm3
  1256.  
  1257. .lm 3
  1258. ááNOTE║  ExtendeΣ messagσ codσ 02Φ wa≤ useΣ fo≥ thσ EXTENDE─ IDENTIF┘ messagσ ì
  1259. ááiε SCS╔-1.
  1260. .lm 1
  1261.  
  1262. .cp 3
  1263. ááThσ firs⌠ messagσ sen⌠ b∙ thσ initiato≥ afte≥ thσ SELECTIO╬ phasσ shal∞ bσ ì
  1264. aε IDENTIFY¼ ABORT¼ o≥ BU╙ DEVIC┼ RESE╘ message«  Iµ ß targe⌠ receive≤ an∙ ì
  1265. othe≥ messagσ i⌠ shal∞ g∩ t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ disconnect¼ ì
  1266. 5.1.1).
  1267. èááIµ thσ firs⌠ messagσ i≤ aε IDENTIF┘ message¼ theε i⌠ ma∙ bσ immediatel∙ ì
  1268. followeΣ b∙ othe≥ messages¼ sucΦ a≤ thσ firs⌠ oµ ß pai≥ oµ SYNCHRONOU╙ DAT┴ ì
  1269. TRANSFE╥ REQUES╘ messages«  Iµ taggeΣ queuinτ i≤ useΣ thσ queuσ taτ messagσ ì
  1270. immediatel∙ follow≤ thσ IDENTIF┘ messagσ (seσ 5.6.7)«  Thσ IDENTIF┘ messagσ ì
  1271. establishe≤ ß logica∞ connectioε betweeε thσ initiato≥ anΣ thσ specifieΣ ì
  1272. logica∞ uni⌠ o≥ targe⌠ routinσ withiε thσ targe⌠ knowε a≤ aε I_T_╠ nexu≤ o≥ ì
  1273. I_T_╥ nexus«  Afte≥ thσ RESELECTIO╬ phase¼ thσ target'≤ firs⌠ messagσ shal∞ bσ ì
  1274. IDENTIFY«  Thi≤ allow≤ thσ I_T_╠ nexu≤ o≥ I_T_╥ nexu≤ t∩ bσ rσ-established«  ì
  1275. Onl∙ onσ logica∞ uni⌠ o≥ targe⌠ routinσ shal∞ bσ identifieΣ fo≥ an∙ ì
  1276. connection╗ iµ ß targe⌠ receive≤ ß seconΣ IDENTIF┘ messagσ witΦ ß differen⌠ ì
  1277. logica∞ uni⌠ numbe≥ o≥ targe⌠ routinσ numbe≥ durinτ ß connection¼ i⌠ shal∞ g∩ ì
  1278. t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ disconnect¼ 5.1.1)«  Thσ treatmen⌠ oµ othe≥ ì
  1279. logica∞ uni⌠ addressinτ error≤ i≤ describeΣ iε 6.5.
  1280.  
  1281. ááAl∞ initiator≤ shal∞ implemen⌠ thσ mandator∙ message≤ tabulateΣ iε thσ ì
  1282. "Initó columε oµ Tablσ ╡-2«  Al∞ target≤ shal∞ implemen⌠ thσ mandator∙ ì
  1283. message≤ tabulateΣ iε thσ "Targó columε oµ Tablσ ╡-2«  
  1284.  
  1285. ááWheneve≥ aε I_T_╠ nexu≤ o≥ I_T_╥ nexu≤ i≤ establisheΣ b∙ aε initiato≥ tha⌠ ì
  1286. i≤ allowinτ disconnection¼ thσ initiato≥ shal∞ ensurσ tha⌠ thσ activσ pointer≤ ì
  1287. arσ equa∞ t∩ thσ saveΣ pointer≤ fo≥ tha⌠ particula≥ logica∞ uni⌠ o≥ targe⌠ ì
  1288. routine«  Aε implieΣ restorσ pointer≤ operatioε shal∞ occu≥ a≤ ß resul⌠ oµ ß ì
  1289. reconnection.
  1290.  
  1291. .cp 10
  1292. .aw off
  1293. .pm 0
  1294. 5.6. Messages
  1295. .aw on
  1296. .pm 3
  1297.  
  1298. ááThσ SCS╔ message≤ arσ defineΣ iε thi≤ section.
  1299.  
  1300. .cp 5
  1301. .aw off
  1302. .pm 0
  1303. 5.6.1. ABORT
  1304. .aw on
  1305. .pm 3
  1306.  
  1307. ááThσ ABOR╘ messagσ i≤ sen⌠ froφ thσ initiato≥ t∩ thσ targe⌠ t∩ clea≥ thσ ì
  1308. active I/╧ proces≤ plu≤ an∙ queueΣ I/╧ proces≤ fo≥ thσ I_T_° nexus«  Thσ ì
  1309. targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ successfu∞ receip⌠ oµ thi≤ ì
  1310. message«  Thσ pendinτ data¼ status¼ anΣ queueΣ I/╧ processe≤ fo≥ an∙ othe≥ ì
  1311. I_T_° nexu≤ shal∞ no⌠ bσ cleared.
  1312.  
  1313. ááIµ onl∙ aε I_╘ nexu≤ ha≤ beeε established¼ thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ ì
  1314. FRE┼ phase«  N∩ statu≤ o≥ messagσ shal∞ bσ sen⌠ fo≥ thσ curren⌠ I/╧ proces≤ ì
  1315. anΣ n∩ othe≥ I/╧ proces≤ shal∞ bσ affected.
  1316.  
  1317. .lm 3
  1318. ááIMPLEMENTOR╙ NOTE║  Thσ ABOR╘ messagσ iε thσ casσ oµ onl∙ aε I_╘ nexu≤ i≤ ì
  1319. ááusefu∞ t∩ aε initiato≥ tha⌠ canno⌠ ge⌠ aε IDENTIF┘ messagσ througΦ t∩ thσ ì
  1320. áátarge⌠ duσ t∩ parit∙ error≤ anΣ jus⌠ need≤ t∩ enΣ thσ curren⌠ connection«  ì
  1321. ááAn∙ pendinτ data¼ status¼ o≥ queueΣ I/╧ processe≤ fo≥ thσ I_╘ nexu≤ i≤ no⌠ ì
  1322. ááaffected.
  1323. .lm 1
  1324.  
  1325. ááI⌠ i≤ no⌠ aε erro≥ t∩ issuσ thi≤ messagσ t∩ aε I_T_° nexu≤ tha⌠ doe≤ no⌠ ì
  1326. havσ aε activσ o≥ queueΣ I/╧ process.
  1327.  
  1328. ááPreviousl∙ establisheΣ conditions¼ includinτ MOD┼ SELEC╘ parameters¼ ì
  1329. reservations¼ anΣ extendeΣ contingen⌠ allegiancσ shal∞ no⌠ bσ changeΣ b∙ thσ ì
  1330. ABOR╘ message.
  1331.  
  1332. .cp 9è.lm 3
  1333. ááIMPLEMENTOR╙ NOTES║  Thσ BU╙ DEVIC┼ RESET¼ CLEA╥ QUEUE¼ ABORT¼ anΣ ABOR╘ TA╟ ì
  1334. áámessage≤ providσ ß mean≤ t∩ clea≥ onσ o≥ morσ I/╧ processe≤ prio≥ t∩ norma∞ ì
  1335. áátermination«  Thσ BU╙ DEVIC┼ RESE╘ messagσ clear≤ al∞ I/╧ processe≤ fo≥ al∞ ì
  1336. ááinitiator≤ oε al∞ logica∞ unit≤ anΣ al∞ targe⌠ routine≤ oµ thσ target«  Thσ ì
  1337. ááCLEA╥ QUEU┼ messagσ clear≤ al∞ I/╧ processe≤ fo≥ al∞ initiator≤ oε thσ ì
  1338. ááspecifieΣ logica∞ uni⌠ o≥ targe⌠ routinσ oµ thσ target«  Thσ ABOR╘ messagσ ì
  1339. ááclear≤ al∞ I/╧ processe≤ fo≥ thσ selectinτ initiato≥ oε thσ specifieΣ ì
  1340. áálogica∞ uni⌠ o≥ targe⌠ routinσ oµ thσ target«  Thσ ABOR╘ TA╟ messagσ clear≤ ì
  1341. ááthσ current I/╧ proces≤ only.
  1342. .lm 1
  1343.  
  1344. .cp 15
  1345. .aw off
  1346. .pm 0
  1347. 5.6.2. ABORT TAG
  1348. .aw on
  1349. .pm 3
  1350.  
  1351. ááThσ ABOR╘ TA╟ messagσ shal∞ bσ implementeΣ iµ taggeΣ queuinτ i≤ implemented«  ì
  1352. Thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ successfu∞ receip⌠ oµ thi≤ ì
  1353. message«  Thσ targe⌠ shal∞ clea≥ thσ curren⌠ I/╧ process«  Iµ thσ targe⌠ ha≤ ì
  1354. alread∙ starteΣ executioε oµ thσ I/╧ process¼ thσ executioε shal∞ bσ halted«  ì
  1355. Thσ mediuφ content≤ ma∙ havσ beeε modifieΣ beforσ thσ executioε wa≤ halted«  ì
  1356. Iε eithe≥ case¼ an∙ pendinτ statu≤ o≥ datß fo≥ thσ I/╧ proces≤ shal∞ bσ ì
  1357. cleareΣ anΣ n∩ statu≤ o≥ endinτ messagσ shal∞ bσ sen⌠ t∩ thσ initiator«  ì
  1358. Pendinτ status¼ data¼ anΣ command≤ fo≥ othe≥ activσ o≥ queueΣ I/╧ processe≤ ì
  1359. shal∞ no⌠ bσ affected«  Executioε oµ othe≥ I/╧ processe≤ queueΣ fo≥ thσ I_T_° ì
  1360. nexu≤ shal∞ no⌠ bσ aborted.
  1361.  
  1362. ááPreviousl∙ establisheΣ conditions¼ includinτ MOD┼ SELEC╘ parameters¼ ì
  1363. reservations¼ anΣ extendeΣ contingen⌠ allegiancσ shal∞ no⌠ bσ changeΣ b∙ thσ ì
  1364. ABOR╘ TA╟ message.
  1365.  
  1366. .cp 10
  1367. .aw off
  1368. .pm 0
  1369. 5.6.3. BUS DEVICE RESET
  1370. .aw on
  1371. .pm 3
  1372.  
  1373. ááThσ BU╙ DEVIC┼ RESE╘ messagσ i≤ sen⌠ froφ aε initiato≥ t∩ direc⌠ ß targe⌠ t∩ ì
  1374. clea≥ al∞ I/╧ processe≤ oε tha⌠ SCS╔ device«  Thi≤ messagσ force≤ ß harΣ rese⌠ ì
  1375. conditioε t∩ thσ selecteΣ SCS╔ device«  Thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ ì
  1376. phasσ followinτ successfu∞ receip⌠ oµ thi≤ message«  Thσ targe⌠ shal∞ creatσ ß ì
  1377. uni⌠ attentioε conditioε fo≥ al∞ initiator≤ (seσ 6.9).
  1378.  
  1379. .cp 17
  1380. .aw off
  1381. .pm 0
  1382. 5.6.4. CLEAR QUEUE
  1383. .aw on
  1384. .pm 3
  1385.  
  1386. ááThσ CLEA╥ QUEU┼ messagσ shal∞ bσ implementeΣ iµ taggeΣ queuinτ i≤ ì
  1387. implementeΣ anΣ ma∙ bσ implementeΣ iµ untaggeΣ queuinτ i≤ implemented«  Thσ ì
  1388. targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ successfu∞ receip⌠ oµ thi≤ ì
  1389. message«  Thσ targe⌠ shal∞ perforφ aε actioε equivalen⌠ t∩ receivinτ ß serie≤ ì
  1390. oµ ABOR╘ message≤ froφ eacΦ initiator«  Al∞ I/╧ processes¼ froφ al∞ ì
  1391. initiators¼ iε thσ queuσ fo≥ thσ specifieΣ logica∞ uni⌠ o≥ targe⌠ routinσ ì
  1392. shal∞ bσ cleareΣ froφ thσ queue«  Al∞ activσ I/╧ processe≤ shal∞ bσ ì
  1393. terminated«  Thσ mediuφ ma∙ havσ beeε altereΣ b∙ partiall∙ executeΣ commands«  ì
  1394. Al∞ pendinτ statu≤ anΣ datß fo≥ tha⌠ logica∞ uni⌠ o≥ targe⌠ routinσ fo≥ al∞ ì
  1395. initiator≤ shal∞ bσ cleared«  N∩ statu≤ o≥ messagσ shal∞ bσ sen⌠ fo≥ an∙ oµ ì
  1396. thσ I/╧ processes«  ┴ uni⌠ attentioε conditioε shal∞ bσ generateΣ fo≥ al∞ ì
  1397. othe≥ initiator≤ witΦ I/╧ processe≤ tha⌠ eithe≥ werσ activσ o≥ werσ queueΣ fo≥ ì
  1398. tha⌠ logica∞ uni⌠ o≥ targe⌠ routine«  Wheε reportinτ thσ uni⌠ attentioε ì
  1399. conditioε thσ additiona∞ sensσ codσ shal∞ bσ se⌠ t∩ COMMAND╙ CLEARE─ B┘ ì
  1400. ANOTHE╥ INITIATOR.
  1401.  
  1402. ááPreviousl∙ establisheΣ conditions¼ includinτ MOD┼ SELEC╘ parameters¼ ì
  1403. reservations¼ anΣ extendeΣ contingen⌠ allegiancσ shal∞ no⌠ bσ changeΣ b∙ thσ ìèCLEA╥ QUEU┼ message.
  1404.  
  1405. .cp 5
  1406. .aw off
  1407. .pm 0
  1408. 5.6.5. COMMAND COMPLETE
  1409. .aw on
  1410. .pm 3
  1411.  
  1412. ááThσ COMMAN─ COMPLET┼ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ aε initiato≥ t∩ ì
  1413. indicatσ tha⌠ thσ executioε oµ aε I/╧ proces≤ ha≤ completeΣ anΣ tha⌠ valiΣ ì
  1414. statu≤ ha≤ beeε sen⌠ t∩ thσ initiator«  Afte≥ successfull∙ sendinτ thi≤ ì
  1415. message¼ thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ b∙ releasinτ thσ BS┘ ì
  1416. signal«  Thσ targe⌠ shal∞ conside≥ thσ messagσ transmissioε t∩ bσ successfu∞ ì
  1417. wheε i⌠ detect≤ thσ negatioε oµ AC╦ fo≥ thσ COMMAN─ COMPLET┼ messagσ witΦ thσ ì
  1418. AT╬ signa∞ false«  
  1419.  
  1420. .lm 3
  1421. ááIMPLEMENTOR╙ NOTE║  Thσ I/╧ proces≤ ma∙ havσ completeΣ successfull∙ o≥ ì
  1422. ááunsuccessfull∙ a≤ indicateΣ iε thσ status.
  1423. .lm 1
  1424.  
  1425. .cp 5
  1426. .aw off
  1427. .pm 0
  1428. 5.6.6. DISCONNECT
  1429. .aw on
  1430. .pm 3
  1431.  
  1432. ááThσ DISCONNEC╘ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ inforφ aε initiato≥ tha⌠ thσ ì
  1433. presen⌠ connectioε i≤ goinτ t∩ bσ brokeε (thσ targe⌠ plan≤ t∩ disconnec⌠ b∙ ì
  1434. releasinτ thσ BS┘ signal)¼ bu⌠ tha⌠ ß late≥ reconnec⌠ wil∞ bσ requireΣ iε ì
  1435. orde≥ t∩ completσ thσ curren⌠ I/╧ process«  Thi≤ messagσ shal∞ no⌠ causσ thσ ì
  1436. initiato≥ t∩ savσ thσ datß pointer«  Afte≥ successfull∙ sendinτ thi≤ message¼ ì
  1437. thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ b∙ releasinτ thσ BS┘ signal«  Thσ ì
  1438. targe⌠ shal∞ conside≥ thσ messagσ transmissioε t∩ bσ successfu∞ wheε i⌠ ì
  1439. detect≤ thσ negatioε oµ thσ AC╦ signa∞ fo≥ thσ DISCONNEC╘ messagσ witΦ thσ AT╬ ì
  1440. signa∞ false.
  1441.  
  1442. ááTarget≤ whicΦ breaδ datß transfer≤ int∩ multiplσ connection≤ shal∞ enΣ eacΦ ì
  1443. successfu∞ connectioε (excep⌠ possibl∙ thσ last⌐ witΦ ß SAV┼ DAT┴ POINTE╥ ¡ ì
  1444. DISCONNEC╘ messagσ sequence.
  1445.  
  1446. ááThi≤ messagσ ma∙ als∩ bσ sen⌠ froφ aε initiato≥ t∩ ß targe⌠ t∩ instruc⌠ thσ ì
  1447. targe⌠ t∩ disconnec⌠ froφ thσ SCS╔ bus«  Iµ thi≤ optioε i≤ supported¼ anΣ ì
  1448. afte≥ thσ DISCONNEC╘ messagσ i≤ received¼ thσ targe⌠ shal∞ switcΦ t∩ MESSAG┼ ì
  1449. I╬ phase¼ senΣ thσ DISCONNEC╘ messagσ t∩ thσ initiato≥ (possibl∙ precedeΣ b∙ ì
  1450. SAV┼ DAT┴ POINTE╥ message)¼ anΣ theε disconnec⌠ b∙ releasinτ BSY«  Afte≥ ì
  1451. releasinτ thσ BS┘ signal¼ thσ targe⌠ shal∞ no⌠ participatσ iε anothe≥ ì
  1452. ARBITRATIO╬ phasσ fo≥ a⌠ leas⌠ ß disconnectioε delay«  Iµ thi≤ optioε i≤ no⌠ ì
  1453. supporteΣ o≥ thσ targe⌠ canno⌠ disconnec⌠ a⌠ thσ timσ wheε i⌠ receive≤ thσ ì
  1454. DISCONNEC╘ messagσ froφ thσ initiator¼ thσ targe⌠ shal∞ responΣ b∙ sendinτ ß ì
  1455. MESSAG┼ REJEC╘ messagσ t∩ thσ initiator.
  1456.  
  1457. .cp 5
  1458. .aw off
  1459. .pm 0
  1460. 5.6.7. IDENTIF┘
  1461. .aw on
  1462. .pm 3
  1463.  
  1464. ááThσ IDENTIF┘ messagσ (Tablσ ╡-5⌐ i≤ sen⌠ b∙ eithe≥ thσ initiato≥ o≥ thσ ì
  1465. targe⌠ t∩ establisΦ aε I_T_╠ nexu≤ o≥ aε I_T_╥ nexus.
  1466.  
  1467. .lm 3
  1468. ááIMPLEMENTOR╙ NOTE║  Usσ oµ thσ IDENTIF┘ messagσ t∩ establisΦ aε I_T_╥ nexu≤ ì
  1469. ááallow≤ connectioε t∩ onσ oµ u≡ t∩ eigh⌠ targe⌠ routine≤ o≥ function≤ iε thσ ì
  1470. áátarge⌠ itself«  Thesσ targe⌠ routine≤ arσ expecteΣ t∩ bσ useΣ fo≥ ì
  1471. áámaintenancσ anΣ diagnostiπ purposes.
  1472. .lm 1
  1473.  
  1474. .cp 10è.aw off
  1475. .pm 0
  1476.                      Table 5-5: IDENTIF┘ Message Format
  1477.  
  1478. ==============================================================================
  1479.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1480. Byte |        |        |        |        |        |        |        |        |
  1481. ==============================================================================
  1482.  0   |Identify|DiscPriv| LUNTAR ⁿReservedⁿReservedⁿ          LUNTRN          |
  1483. ==============================================================================
  1484. .aw on
  1485. .lm 1
  1486. .pm 3
  1487.  
  1488. ááThσ identif∙ bi⌠ shal∞ bσ se⌠ t∩ onσ t∩ specif∙ tha⌠ thi≤ i≤ aε IDENTIF┘ ì
  1489. message.
  1490.  
  1491. áá┴ disconnec⌠ privilegσ (DiscPriv⌐ bi⌠ oµ onσ specifie≤ tha⌠ thσ initiato≥ ì
  1492. ha≤ granteΣ thσ targe⌠ thσ privilegσ oµ disconnecting«  ┴ DiscPri÷ bi⌠ oµ zer∩ ì
  1493. specifie≤ tha⌠ thσ targe⌠ shal∞ no⌠ disconnect«  Thi≤ bi⌠ i≤ no⌠ defineΣ anΣ ì
  1494. shal∞ bσ se⌠ t∩ zer∩ wheε aε IDENTIF┘ messagσ i≤ sen⌠ b∙ ß target.
  1495.  
  1496. áá┴ logica∞ uni⌠ targe⌠ (LUNTAR⌐ bi⌠ oµ zer∩ specifie≤ tha⌠ thσ I/╧ proces≤ i≤ ì
  1497. directeΣ t∩ o≥ froφ ß logica∞ unit«  ┴ LUNTA╥ bi⌠ oµ onσ specifie≤ tha⌠ thσ ì
  1498. I/╧ proces≤ i≤ directeΣ t∩ o≥ froφ ß targe⌠ routine«  
  1499.  
  1500. ááThσ logica∞ uni⌠ numbe≥ targe⌠ routinσ numbe≥ (LUNTRN⌐ fielΣ specifie≤ ß ì
  1501. logica∞ uni⌠ numbe≥ iµ thσ LUNTA╥ bi⌠ i≤ zero«  Thσ LUNTR╬ fielΣ specifie≤ ß ì
  1502. targe⌠ routinσ numbe≥ iµ thσ LUNTA╥ bi⌠ i≤ one«  Thσ responsσ t∩ aε invaliΣ ì
  1503. valuσ iε thσ LUNTR╬ fielΣ i≤ describeΣ iε 6.5.3«  Onl∙ thσ INQUIR┘ anΣ REQUES╘ ì
  1504. SENS┼ command≤ arσ valiΣ fo≥ targe⌠ routines«  Iµ ß targe⌠ receive≤ an∙ othe≥ ì
  1505. commanΣ fo≥ ß targe⌠ routine¼ i⌠ shal∞ returε CHEC╦ CONDITIO╬ statu≤ anΣ shal∞ ì
  1506. se⌠ thσ sensσ ke∙ t∩ ILLEGA╠ REQUEST.
  1507.  
  1508. ááAε IDENTIF┘ messagσ i≤ invaliΣ iµ ß reserveΣ bi⌠ i≤ se⌠ t∩ onσ o≥ iµ thσ ì
  1509. LUNTA╥ bi⌠ i≤ se⌠ t∩ onσ anΣ thσ targe⌠ doe≤ no⌠ implemen⌠ targe⌠ routines«  ┴ ì
  1510. devicσ ma∙ responΣ t∩ aε invaliΣ IDENTIF┘ messagσ b∙ immediatel∙ sendinτ ß ì
  1511. MESSAG┼ REJEC╘ messagσ o≥ b∙ returninτ CHEC╦ CONDITIO╬ status«  Iµ ß CHEC╦ ì
  1512. CONDITIO╬ statu≤ i≤ returned¼ thσ sensσ ke∙ shal∞ bσ se⌠ t∩ ILLEGA╠ REQUES╘ ì
  1513. anΣ thσ additiona∞ sensσ codσ shal∞ bσ se⌠ t∩ INVALI─ BIT╙ I╬ IDENTIF┘ MESSAG┼ ì
  1514. FIELD.
  1515.  
  1516. ááOnl∙ onσ logica∞ uni⌠ numbe≥ o≥ targe⌠ routinσ numbe≥ shal∞ bσ identifieΣ ì
  1517. pe≥ I/╧ process«  Thσ initiato≥ ma∙ senΣ onσ o≥ morσ IDENTIF┘ message≤ durinτ ì
  1518. ß connection«  ┴ seconΣ IDENTIF┘ messagσ witΦ ß differen⌠ valuσ iε eithe≥ thσ ì
  1519. LUNTA╥ bi⌠ o≥ LUNTR╬ fielΣ shal∞ no⌠ bσ issueΣ beforσ ß BU╙ FRE┼ phasσ ha≤ ì
  1520. occurred╗  iµ ß targe⌠ receive≤ ß seconΣ IDENTIF┘ messagσ witΦ ß differen⌠ ì
  1521. valuσ iε eithe≥ oµ thesσ fields¼ i⌠ shal∞ g∩ t∩ BU╙ FRE┼ phasσ (seσ unexpecteΣ ì
  1522. disconnect¼ 5.1.1)«  Thu≤ aε initiato≥ ma∙ changσ thσ DiscPri÷ bit¼ bu⌠ ma∙ ì
  1523. no⌠ attemp⌠ t∩ switcΦ t∩ anothe≥ I/╧ process«  (Seσ thσ DTD├ fielΣ oµ thσ ì
  1524. disconnec⌠-reconnec⌠ pagσ (7.3.3.2⌐ fo≥ additiona∞ control≤ ove≥ ì
  1525. disconnection.)
  1526.  
  1527. ááAε implieΣ RESTOR┼ POINTER╙ messagσ shal∞ bσ performeΣ b∙ thσ initiato≥ ì
  1528. prio≥ t∩ thσ assertioε oµ thσ AC╦ signa∞ oε thσ nex⌠ phasσ fo≥ aε inbounΣ ì
  1529. IDENTIF┘ messagσ sen⌠ durinτ reconnection.
  1530.  
  1531.  
  1532. .cp 5è.aw off
  1533. .pm 0
  1534. 5.6.8. IGNORE WIDE RESIDUE
  1535. .aw on
  1536. .pm 3
  1537.  
  1538. .aw off
  1539. .pm 0
  1540.                 Table 5-6: IGNOR┼ WID┼ RESIDUE Message Format
  1541.  
  1542. ==============================================================================
  1543.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1544. Byte |        |        |        |        |        |        |        |        |
  1545. ==============================================================================
  1546.  0   ⁿ                           Messagσ Codσ (23h)                          |
  1547. -----|-----------------------------------------------------------------------|
  1548.  ▒   ⁿ                           Ignorσ                                      |
  1549. ==============================================================================
  1550. .aw on
  1551. .lm 1
  1552. .pm 3
  1553.  
  1554.  
  1555. ááThσ IGNOR┼ WID┼ RESIDU┼ messagσ (Tablσ ╡-6⌐ shal∞ bσ sen⌠ froφ ß targe⌠ t∩ ì
  1556. indicatσ tha⌠ thσ numbe≥ oµ valiΣ byte≤ sen⌠ durinτ thσ las⌠ REQ/AC╦ handshakσ ì
  1557. anΣ REQB/ACK┬ handshakσ oµ ß DAT┴ I╬ phasσ i≤ les≤ thaε thσ negotiateΣ ì
  1558. transfe≥ width«  Thσ ignorσ fielΣ indicate≤ thσ numbe≥ oµ invaliΣ datß byte≤ ì
  1559. transferred«  Thi≤ messagσ shal∞ bσ sen⌠ immediatel∙ followinτ thσ DAT┴ I╬ ì
  1560. phasσ anΣ prio≥ t∩ an∙ othe≥ messages«  Thσ ignorσ fielΣ i≤ defineΣ a≤ ì
  1561. follows:
  1562.  
  1563. .aw off
  1564. .pm 0
  1565.                                  InvaliΣ Datß Bit≤
  1566.               Ignore    32-bi⌠ Transfer≤  16-bi⌠ Transfers
  1567.             -----¡----  ---------------¡  ----------------
  1568.                00Φ        Reserved          Reserved
  1569.                01Φ        DB(31-24)         DB(15-8)
  1570.                02Φ        DB(31-16)         Reserved
  1571.                03Φ        DB(31-8)          Reserved
  1572.             04Φ t∩ FFΦ    Reserved          Reserved
  1573. .aw on
  1574. .pm 3
  1575.  
  1576. ááEveε thougΦ ß bytσ i≤ invaliΣ it≤ correspondinτ parit∙ bi⌠ shal∞ bσ valiΣ ì
  1577. fo≥ thσ valuσ transferred«  Fo≥ 1╢-bi⌠ transfers¼ DB(3▒-16⌐ arσ alway≤ invaliΣ ì
  1578. anΣ thσ correspondinτ parit∙ bit≤ arσ als∩ invalid.
  1579.  
  1580. .cp 5
  1581. .aw off
  1582. .pm 0
  1583. 5.6.9. INITIATE RECOVERY
  1584. .aw on
  1585. .pm 3
  1586.  
  1587. áá┴ targe⌠ tha⌠ support≤ extendeΣ contingen⌠ allegiancσ shal∞ inforφ thσ ì
  1588. initiato≥ i⌠ i≤ enterinτ thi≤ conditioε b∙ sendinτ aε INITIAT┼ RECOVER┘ ì
  1589. messagσ immediatel∙ followinτ ß CHEC╦ CONDITIO╬ o≥ COMMAN─ TERMINATE─ status«  ì
  1590. Thσ extendeΣ contingen⌠ allegiancσ conditioε remain≤ iε effec⌠ unti∞ ì
  1591. terminateΣ a≤ describeΣ iε 6.7.
  1592.  
  1593. ááIµ aε asynchronou≤ even⌠ occurs¼ thσ targe⌠ ma∙ ente≥ aε extendeΣ contingen⌠ ì
  1594. allegiancσ conditioε b∙ becominτ ß temporar∙ initiato≥ anΣ sendinτ thσ ì
  1595. INITIAT┼ RECOVER┘ messagσ followinτ thσ IDENTIF┘ messagσ anΣ an∙ queuσ taτ ì
  1596. messagσ anΣ beforσ thσ COMMAN─ phasσ oµ thσ SEN─ commanΣ tha⌠ i≤ useΣ t∩ ì
  1597. perforφ thσ asynchronou≤ even⌠ notificatioε (seσ 6.5.5)«  Thσ successfu∞ ì
  1598. transmissioε oµ thi≤ messagσ establishe≤ thσ extendeΣ contingen⌠ allegiancσ ì
  1599. conditioε whicΦ remain≤ iε effec⌠ unti∞ terminateΣ a≤ describeΣ iε 6.7.
  1600.  
  1601. .cp 5è.lm3
  1602. .pm0
  1603. .aw1
  1604. ááIMPLEMENTOR╙ NOTE║  Iµ thσ targe⌠ notifie≤ multiplσ initiator≤ oµ thσ ì
  1605. ááasynchronou≤ event¼ i⌠ shoulΣ includσ thσ INITIAT┼ RECOVER┘ messagσ iε onl∙ ì
  1606. ááonσ oµ thσ notifications.
  1607. .lm1
  1608. .pm3
  1609. .aw1
  1610.  
  1611. áá┴ MESSAG┼ REJEC╘ responsσ t∩ aε INITIAT┼ RECOVER┘ messagσ indicate≤ tha⌠ aε ì
  1612. extendeΣ contingen⌠ allegiancσ conditioε shal∞ no⌠ bσ established«  Thσ ì
  1613. enableΣ o≥ disableΣ statσ oµ aε extendeΣ contingen⌠ allegiancσ (seσ thσ DQuσ ì
  1614. bi⌠ oµ thσ contro∞ modσ page¼ 7.3.3.1⌐ i≤ no⌠ changeΣ b∙ thσ rejectioε oµ aε ì
  1615. INITIAT┼ RECOVER┘ message.
  1616.  
  1617. .cp 5
  1618. .aw off
  1619. .pm 0
  1620. 5.6.10. INITIATOR DETECTED ERROR
  1621. .aw on
  1622. .pm 3
  1623.  
  1624. ááThσ INITIATO╥ DETECTE─ ERRO╥ messagσ i≤ sen⌠ froφ aε initiato≥ t∩ inforφ ß ì
  1625. targe⌠ tha⌠ aε erro≥ ha≤ occurreΣ tha⌠ doe≤ no⌠ precludσ thσ targe⌠ froφ ì
  1626. retryinτ thσ operation«  Thσ sourcσ oµ thσ erro≥ ma∙ eithe≥ bσ relateΣ t∩ ì
  1627. previou≤ activitie≤ oε thσ SCS╔ bu≤ o≥ ma∙ bσ interna∞ t∩ thσ initiato≥ anΣ ì
  1628. unrelateΣ t∩ an∙ previou≤ SCS╔ bu≤ activity«  AlthougΦ presen⌠ pointe≥ ì
  1629. integrit∙ i≤ no⌠ assured¼ ß RESTOR┼ POINTER╙ messagσ o≥ ß disconnec⌠ followeΣ ì
  1630. b∙ ß reconnect¼ shal∞ causσ thσ pointer≤ t∩ bσ restoreΣ t∩ thei≥ defineΣ prio≥ ì
  1631. state.
  1632.  
  1633. .cp 5
  1634. .aw off
  1635. .pm 0
  1636. 5.6.11. LINKED COMMAND COMPLETE
  1637. .aw on
  1638. .pm 3
  1639.  
  1640. ááThσ LINKE─ COMMAN─ COMPLET┼ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ aε initiato≥ t∩ ì
  1641. indicatσ tha⌠ thσ executioε oµ ß linkeΣ commanΣ ha≤ completeΣ anΣ tha⌠ statu≤ ì
  1642. ha≤ beeε sent«  Thσ initiato≥ shal∞ theε se⌠ thσ pointer≤ t∩ thσ initia∞ statσ ì
  1643. fo≥ thσ nex⌠ linkeΣ command.
  1644.  
  1645. .cp 5
  1646. .aw off
  1647. .pm 0
  1648. 5.6.12. LINKED COMMAND COMPLETE (WITH FLAG)
  1649. .aw on
  1650. .pm 3
  1651.  
  1652. ááThσ LINKE─ COMMAN─ COMPLET┼ (WIT╚ FLAG⌐ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ aε ì
  1653. initiato≥ t∩ indicatσ tha⌠ thσ executioε oµ ß linkeΣ commanΣ (witΦ thσ flaτ ì
  1654. bi⌠ se⌠ t∩ one⌐ ha≤ completeΣ anΣ tha⌠ statu≤ ha≤ beeε sent«  Thσ initiato≥ ì
  1655. shal∞ theε se⌠ thσ pointer≤ t∩ thσ initia∞ statσ oµ thσ nex⌠ linkeΣ command«  ì
  1656. Typicall∙ thi≤ messagσ woulΣ bσ useΣ t∩ causσ aε interrup⌠ iε thσ initiato≥ ì
  1657. betweeε tw∩ linkeΣ commands.
  1658.  
  1659. .cp 5
  1660. .aw off
  1661. .pm 0
  1662. 5.6.13. MESSAGE PARITY ERROR
  1663. .aw on
  1664. .pm 3
  1665.  
  1666. ááThσ MESSAG┼ PARIT┘ ERRO╥ messagσ i≤ sen⌠ froφ thσ initiato≥ t∩ thσ targe⌠ t∩ ì
  1667. indicatσ tha⌠ thσ las⌠ messagσ bytσ i⌠ receiveΣ haΣ ß parit∙ error.
  1668.  
  1669. .cp 7
  1670. ááIε orde≥ t∩ indicatσ it≤ intention≤ oµ sendinτ thi≤ message¼ thσ initiato≥ ì
  1671. shal∞ asser⌠ thσ AT╬ signa∞ prio≥ t∩ it≤ releasσ oµ thσ AC╦ signa∞ fo≥ thσ ì
  1672. REQ/AC╦ handshakσ oµ thσ messagσ bytσ tha⌠ ha≤ thσ parit∙ error«  Thi≤ ì
  1673. provide≤ aε interlocδ s∩ tha⌠ thσ targe⌠ caε determinσ whicΦ messagσ bytσ ha≤ ì
  1674. thσ parit∙ error«  Iµ thσ targe⌠ receive≤ thi≤ messagσ unde≥ an∙ othe≥ ì
  1675. circumstance¼ i⌠ shal∞ signa∞ ß catastrophiπ erro≥ conditioε b∙ releasinτ thσ ì
  1676. BS┘ signa∞ withou⌠ an∙ furthe≥ informatioε transfe≥ attemp⌠ (seσ 5.1.1)« 
  1677.  
  1678. ááIµ thσ targe⌠ return≤ t∩ thσ MESSAG┼ I╬ phasσ beforσ switchinτ t∩ somσ othe≥ ì
  1679. phase¼ afte≥ receivinτ thσ MESSAG┼ PARIT┘ ERRO╥ message¼ thσ targe⌠ shal∞ rσ-ì
  1680. senΣ thσ entirσ messagσ tha⌠ haΣ thσ parit∙ error.
  1681.  
  1682. .cp 5è.aw off
  1683. .pm 0
  1684. 5.6.14. MESSAGE REJECT
  1685. .aw on
  1686. .pm 3
  1687.  
  1688. ááThσ MESSAG┼ REJEC╘ messagσ i≤ sen⌠ froφ eithe≥ thσ initiato≥ o≥ targe⌠ t∩ ì
  1689. indicatσ tha⌠ thσ las⌠ messagσ o≥ messagσ bytσ i⌠ receiveΣ wa≤ inappropriatσ ì
  1690. o≥ ha≤ no⌠ beeε implemented.
  1691.  
  1692. ááIε orde≥ t∩ indicatσ it≤ intention≤ oµ sendinτ thi≤ message¼ thσ initiato≥ ì
  1693. shal∞ asser⌠ thσ AT╬ signa∞ prio≥ t∩ it≤ releasσ oµ thσ AC╦ signa∞ fo≥ thσ ì
  1694. REQ/AC╦ handshakσ oµ thσ messagσ bytσ tha⌠ i≤ t∩ bσ rejected«  Iµ thσ targe⌠ ì
  1695. receive≤ thi≤ messagσ unde≥ an∙ othe≥ circumstance¼ i⌠ shal∞ rejec⌠ thi≤ ì
  1696. message«  
  1697.  
  1698. ááWheε ß targe⌠ send≤ thi≤ message¼ i⌠ shal∞ changσ t∩ MESSAG┼ I╬ phasσ anΣ ì
  1699. senΣ thi≤ messagσ prio≥ t∩ requestinτ additiona∞ messagσ byte≤ froφ thσ ì
  1700. initiator«  Thi≤ provide≤ aε interlocδ s∩ tha⌠ thσ initiato≥ caε determinσ ì
  1701. whicΦ messagσ bytσ i≤ rejected.
  1702.  
  1703. ááAfte≥ ß targe⌠ send≤ ß MESSAG┼ REJEC╘ messagσ anΣ iµ thσ AT╬ signa∞ i≤ stil∞ ì
  1704. asserted¼ theε i⌠ shal∞ returε t∩ thσ MESSAG┼ OU╘ phase«  Thσ subsequen⌠ ì
  1705. MESSAG┼ OU╘ phasσ shal∞ begiε witΦ thσ firs⌠ bytσ oµ ß message.
  1706.  
  1707. .cp 27
  1708. .aw off
  1709. .pm 0
  1710. 5.6.15. MODIF┘ DAT┴ POINTE╥ Messagσ
  1711.  
  1712.                        Table 5-7: MODIFY DATA POINTER
  1713.  
  1714. ==============================================================================
  1715. Byte |  Value  |    Description                                              |
  1716. ==============================================================================
  1717.  0   |   01h   |    Extended message                                         |
  1718. -----|---------|-------------------------------------------------------------|
  1719.  1   |   05h   |    Extended message length                                  |
  1720. -----|---------|-------------------------------------------------------------|
  1721.  2   |   00h   |    MODIFY DATA POINTER code                                 |
  1722. -----|---------|-------------------------------------------------------------|
  1723.  3   |    x    |    Argument (Mos⌠ Significan⌠ Byte)                         |
  1724. -----|---------|-------------------------------------------------------------|
  1725.  4   |    x    |    Argument                                                 |
  1726. -----|---------|-------------------------------------------------------------|
  1727.  5   |    x    |    Argument                                                 |
  1728. -----|---------|-------------------------------------------------------------|
  1729.  6   |    x    |    Argument (Leas⌠ Significan⌠ Byte)                        |
  1730. ==============================================================================
  1731. .aw on
  1732. .pm 3
  1733.  
  1734.  
  1735. ááThσ MODIF┘ DAT┴ POINTE╥ messagσ (Tablσ ╡-7⌐ i≤ sen⌠ froφ thσ targe⌠ t∩ thσ ì
  1736. initiato≥ anΣ request≤ tha⌠ thσ signeΣ argumen⌠ bσ addeΣ (two'≤ complement⌐ t∩ ì
  1737. thσ valuσ oµ thσ curren⌠ datß pointer.
  1738.  
  1739. .cp 5
  1740. .aw off
  1741. .pm 0
  1742. 5.6.16. NO OPERATION
  1743. .aw on
  1744. .pm 3
  1745.  
  1746. ááThσ N╧ OPERATIO╬ messagσ i≤ sen⌠ froφ aε initiato≥ iε responsσ t∩ ß target'≤ ì
  1747. reques⌠ fo≥ ß messagσ wheε thσ initiato≥ doe≤ no⌠ currentl∙ havσ an∙ othe≥ ì
  1748. valiΣ messagσ t∩ send.
  1749.  
  1750. áá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σ ì
  1751. initiato≥ ma∙ senΣ thσ N╧ OPERATIO╬ messagσ wheε thσ targe⌠ enter≤ thσ MESSAG┼ ì
  1752. OU╘ phase.
  1753.  
  1754. .cp 15
  1755. .aw off
  1756. .pm 0
  1757. 5.6.17. Queuσ Tag Messages
  1758. .aw on
  1759. .pm 3
  1760.  
  1761. .aw off
  1762. .pm 0
  1763.                      Table 5-8: Queuσ Tag Message Format
  1764.  
  1765. ==============================================================================
  1766.   Bit|   7    |   6    |   5    |   4    |   3    |   2    |   1    |   0    |
  1767. Byte |        |        |        |        |        |        |        |        |
  1768. ==============================================================================
  1769.  0   ⁿ                           Messagσ Codσ (20Φ o≥ 21Φ o≥ 22h)            |
  1770. -----|-----------------------------------------------------------------------|
  1771.  ▒   ⁿ                           Queuσ Tag                                   |
  1772. ==============================================================================
  1773. .aw on
  1774. .lm 1
  1775. .pm 3
  1776.  
  1777.  
  1778. .cp3
  1779. ááTablσ ╡-╕ define≤ thσ forma⌠ fo≥ thσ queuσ taτ messages«  Iµ thσ targe⌠ ì
  1780. implement≤ taggeΣ queuing¼ al∞ oµ thσ queuσ taτ message≤ arσ mandatory║  HEA─ ì
  1781. O╞ QUEU┼ TAG¼ ORDERE─ QUEU┼ TAG¼ anΣ SIMPL┼ QUEU┼ TAG«  TaggeΣ queuinτ i≤ onl∙ ì
  1782. defineΣ fo≥ logica∞ units¼ no⌠ targe⌠ routines.
  1783.  
  1784. .cp 3
  1785. ááIµ ß targe⌠ doe≤ no⌠ implemen⌠ taggeΣ queuinτ anΣ ß queuσ taτ messagσ i≤ ì
  1786. receiveΣ o≥ iµ ß queuσ taτ messagσ i≤ receiveΣ fo≥ ß targe⌠ routine¼ i⌠ shal∞ ì
  1787. responΣ witΦ ß MESSAG┼ REJEC╘ messagσ anΣ accep⌠ thσ I/╧ proces≤ a≤ iµ i⌠ werσ ì
  1788. untagged.
  1789.  
  1790. .cp 3
  1791. ááThσ queuσ taτ message≤ arσ useΣ t∩ specif∙ aε identifier¼ calleΣ ß queuσ ì
  1792. tag¼ fo≥ aε I/╧ proces≤ whicΦ establishe≤ thσ I_T_L_╤ nexus«  Thσ queuσ taτ ì
  1793. fielΣ i≤ aε ╕-bi⌠ unsigneΣ intege≥ assigneΣ b∙ thσ initiato≥ durinτ aε initia∞ ì
  1794. connection«  Thσ queuσ taτ fo≥ ever∙ I/╧ proces≤ fo≥ eacΦ I_T_╠ nexu≤ shoulΣ ì
  1795. bσ unique«  Iµ thσ targe⌠ receive≤ ß queuσ taτ tha⌠ i≤ currentl∙ iε usσ fo≥ ì
  1796. thσ I_T_╠ nexus¼ theε i⌠ shal∞ responΣ a≤ defineΣ iε 6.5.2«  ┴ queuσ taτ ì
  1797. become≤ availablσ fo≥ rσ-assignmen⌠ wheε thσ I/╧ proces≤ ends«  Thσ numeriπ ì
  1798. valuσ oµ ß queuσ taτ ha≤ n∩ effec⌠ oε thσ orde≥ oµ execution.
  1799.  
  1800. .cp 3
  1801. .lm 3
  1802. ááIMPLEMENTOR╙ NOTE║  Fo≥ eacΦ logica∞ uni⌠ oε eacΦ target¼ eacΦ initiato≥ ha≤ ì
  1803. ááu≡ t∩ 25╢ queuσ tag≤ t∩ assigε t∩ I/╧ processes«  Thu≤ ß targe⌠ witΦ eigh⌠ ì
  1804. áálogica∞ unit≤ coulΣ havσ u≡ t∩ 1433╢ I/╧ processe≤ concurrentl∙ iε existencσ ì
  1805. ááiµ therσ werσ seveε initiator≤ oε thσ bus.
  1806. .lm 1
  1807.  
  1808. .cp 3
  1809. ááWheneve≥ aε initiato≥ connect≤ t∩ ß target¼ thσ appropriatσ queuσ taτ ì
  1810. messagσ shal∞ bσ sen⌠ immediatel∙ followinτ thσ IDENTIF┘ messagσ anΣ withiε ì
  1811. thσ samσ MESSAG┼ OU╘ phasσ t∩ establisΦ thσ I_T_L_╤ nexu≤ fo≥ thσ I/╧ process«  ì
  1812. Onl∙ onσ I_T_L_╤ nexu≤ ma∙ bσ establisheΣ durinτ ß connection«  Iµ ß queuσ taτ ì
  1813. messagσ i≤ no⌠ sent¼ theε onl∙ aε I_T_° nexu≤ i≤ establisheΣ fo≥ thσ I/╧ ì
  1814. proces≤ (untaggeΣ command).
  1815.  
  1816. .cp 3
  1817. ááWheneve≥ ß targe⌠ reconnect≤ t∩ aε initiato≥ t∩ continuσ ß taggeΣ I/╧ ì
  1818. process¼ thσ SIMPL┼ QUEU┼ TA╟ messagσ shal∞ bσ sen⌠ immediatel∙ followinτ thσ ì
  1819. IDENTIF┘ messagσ anΣ withiε thσ samσ MESSAG┼ I╬ phasσ t∩ revivσ thσ I_T_L_╤ ì
  1820. nexu≤ fo≥ thσ I/╧ process«  Onl∙ onσ I_T_L_╤ nexu≤ ma∙ bσ reviveΣ durinτ ß ì
  1821. reconnection«  Iµ thσ SIMPL┼ QUEU┼ TA╟ messagσ i≤ no⌠ sent¼ theε onl∙ aε I_T_° ì
  1822. nexu≤ i≤ reviveΣ fo≥ thσ I/╧ proces≤ (untaggeΣ command).è
  1823. .cp 3
  1824. ááIµ ß targe⌠ attempt≤ t∩ reconnec⌠ usinτ aε invaliΣ queuσ tag¼ theε thσ ì
  1825. initiato≥ shoulΣ responΣ witΦ aε ABOR╘ TA╟ message.
  1826.  
  1827. .cp 5
  1828. .aw off
  1829. .pm 0
  1830. 5.6.17.1. HEA─ O╞ QUEU┼ TA╟
  1831. .aw on
  1832. .pm 3
  1833. ááThσ HEA─ O╞ QUEU┼ TA╟ messagσ specifie≤ tha⌠ thσ I/╧ proces≤ bσ placeΣ firs⌠ ì
  1834. iε tha⌠ logica∞ unit'≤ commanΣ queue«  Aε I/╧ proces≤ alread∙ beinτ executeΣ ì
  1835. b∙ thσ targe⌠ shal∞ no⌠ bσ prσ-empted«  ┴ subsequen⌠ I/╧ proces≤ receiveΣ witΦ ì
  1836. ß HEA─ O╞ QUEU┼ TA╟ messagσ shal∞ bσ placeΣ a⌠ thσ heaΣ oµ thσ commanΣ queuσ ì
  1837. fo≥ executioε iε las⌠-in¼ firs⌠-ou⌠ order« 
  1838.  
  1839. .cp 5
  1840. .aw off
  1841. .pm 0
  1842. 5.6.17.2. ORDERED QUEUE TAG
  1843. .aw on
  1844. .pm 3
  1845. ááThσ ORDERE─ QUEU┼ TA╟ messagσ specifie≤ tha⌠ thσ I/╧ proces≤ bσ placeΣ iε ì
  1846. tha⌠ logica∞ unit'≤ commanΣ queuσ fo≥ executioε iε thσ orde≥ received«  Al∞ ì
  1847. queueΣ I/╧ processe≤ fo≥ thσ logica∞ uni⌠ receiveΣ prio≥ t∩ thi≤ I/╧ proces≤ ì
  1848. shal∞ bσ executeΣ beforσ thi≤ I/╧ proces≤ i≤ executed«   Al∞ queueΣ I/╧ ì
  1849. processe≤ receiveΣ afte≥ thi≤ I/╧ proces≤ shal∞ bσ executeΣ afte≥ thi≤ I/╧ ì
  1850. process¼ excep⌠ fo≥ I/╧ processe≤ receiveΣ witΦ ß HEA─ O╞ QUEU┼ TA╟ message.
  1851.  
  1852. .cp 5
  1853. .aw off
  1854. .pm 0
  1855. 5.6.17.3. SIMPLE QUEUE TAG
  1856. .aw on
  1857. .pm 3
  1858. ááThσ SIMPL┼ QUEU┼ TA╟ messagσ specifie≤ tha⌠ thσ I/╧ proces≤ bσ placeΣ iε ì
  1859. tha⌠ logica∞ unit'≤ commanΣ queue«  Thσ orde≥ oµ executioε i≤ describeΣ iε ì
  1860. 6.8.
  1861.  
  1862. .cp 5
  1863. .aw off
  1864. .pm 0
  1865. 5.6.18. RELEASE RECOVERY
  1866. .aw on
  1867. .pm 3
  1868.  
  1869. ááThσ RELEAS┼ RECOVER┘ messagσ i≤ sen⌠ froφ aε initiato≥ t∩ ß targe⌠ t∩ ì
  1870. terminatσ aε extendeΣ contingen⌠ allegiancσ conditioε previousl∙ establisheΣ ì
  1871. b∙ aε INITIAT┼ RECOVER┘ message«  Thi≤ messagσ shal∞ bσ sen⌠ immediatel∙ ì
  1872. followinτ thσ IDENTIF┘ messagσ iε thσ samσ MESSAG┼ OU╘ phase«  Thσ extendeΣ ì
  1873. contingen⌠ allegiancσ conditioε end≤ upoε successfu∞ receip⌠ oµ thσ RELEAS┼ ì
  1874. RECOVER┘ message«  Thσ targe⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ followinτ ì
  1875. successfu∞ receip⌠ oµ thi≤ message.
  1876.  
  1877. .cp 3
  1878. ááIµ ß RELEAS┼ RECOVER┘ messagσ i≤ receiveΣ b∙ ß targe⌠ tha⌠ implement≤ ì
  1879. extendeΣ contingen⌠ allegiancσ wheε n∩ extendeΣ contingen⌠ allegiancσ ì
  1880. conditioε i≤ active¼ thσ messagσ shal∞ no⌠ bσ rejecteΣ anΣ thσ targe⌠ shal∞ g∩ ì
  1881. t∩ thσ BU╙ FRE┼ phase.
  1882.  
  1883. .cp 5
  1884. .aw off
  1885. .pm 0
  1886. 5.6.19. RESTORE POINTERS
  1887. .aw on
  1888. .pm 3
  1889.  
  1890. ááThσ RESTOR┼ POINTER╙ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ direc⌠ thσ initiato≥ ì
  1891. t∩ cop∙ thσ mos⌠ recentl∙ saveΣ command¼ data¼ anΣ statu≤ pointer≤ fo≥ thσ I/╧ ì
  1892. proces≤ t∩ thσ correspondinτ activσ pointers«  Thσ commanΣ anΣ statu≤ pointer≤ ì
  1893. shal∞ bσ restoreΣ t∩ thσ beginninτ oµ thσ presen⌠ commanΣ anΣ statu≤ areas«  ì
  1894. Thσ datß pointe≥ shal∞ bσ restoreΣ t∩ thσ valuσ a⌠ thσ beginninτ oµ thσ datß ì
  1895. areß iε thσ absencσ oµ ß SAV┼ DAT┴ POINTE╥ messagσ o≥ t∩ thσ valuσ a⌠ thσ ì
  1896. poin⌠ a⌠ whicΦ thσ las⌠ SAV┼ DAT┴ POINTE╥ messagσ occurreΣ fo≥ tha⌠ nexus.
  1897.  
  1898. .cp 5
  1899. .aw off
  1900. .pm 0
  1901. 5.6.20. SAVE DATA POINTER
  1902. .aw on
  1903. .pm 3
  1904.  
  1905. ááThσ SAV┼ DAT┴ POINTE╥ messagσ i≤ sen⌠ froφ ß targe⌠ t∩ direc⌠ thσ initiato≥ ì
  1906. t∩ cop∙ thσ activσ datß pointe≥ t∩ thσ saveΣ datß pointe≥ fo≥ thσ curren⌠ I/╧ ì
  1907. process«  (Seσ 5.┤ fo≥ ß definitioε oµ pointers.)
  1908. è.cp 20
  1909. .aw off
  1910. .pm 0
  1911. 5.6.21. SYNCHRONOUS DATA TRANSFER REQUEST Message
  1912.  
  1913.                 Table 5-9: SYNCHRONOUS DATA TRANSFER REQUEST
  1914.  
  1915. ==============================================================================
  1916. Byte |  Value  |    Description                                              |
  1917. ==============================================================================
  1918.  0   |   01h   |    Extended message                                         |
  1919. -----|---------|-------------------------------------------------------------|
  1920.  1   |   03h   |    Extended message length                                  |
  1921. -----|---------|-------------------------------------------------------------|
  1922.  2   |   01h   |    SYNCHRONOUS DATA TRANSFER REQUEST code                   |
  1923. -----|---------|-------------------------------------------------------------|
  1924.  3   |    m    |    Transfer period (m times 4 nanoseconds)                  |
  1925. -----|---------|-------------------------------------------------------------|
  1926.  4   |    x    |    REQ/ACK offset                                           |
  1927. ==============================================================================
  1928. .aw on
  1929. .pm 3
  1930.  
  1931. .cp 3
  1932. áá┴ SYNCHRONOU╙ DAT┴ TRANSFE╥ REQUES╘ (SDTR⌐ messagσ (Tablσ ╡-9⌐ exchangσ ì
  1933. shal∞ bσ initiateΣ b∙ aε SCS╔ devicσ wheneve≥ ß previousl∙-arrangeΣ datß ì
  1934. transfe≥ agreemen⌠ ma∙ havσ becomσ invalid«  Thσ agreemen⌠ become≤ invaliΣ ì
  1935. afte≥ an∙ conditioε whicΦ ma∙ leavσ thσ datß transfe≥ agreemen⌠ iε aε ì
  1936. indeterminatσ statσ sucΦ as:
  1937. áá(1⌐ afte≥ ß harΣ rese⌠ condition
  1938. áá(2⌐ afte≥ ß BU╙ DEVIC┼ RESE╘ messagσ and
  1939. áá(3⌐ afte≥ ß powe≥ cycle.
  1940.  
  1941. .cp 3
  1942. ááIε addition¼ aε SCS╔ devicσ ma∙ initiatσ aε SDT╥ messagσ exchangσ wheneve≥ ì
  1943. i⌠ i≤ appropriatσ t∩ negotiatσ ß ne≈ datß transfe≥ agreemen⌠ (eithe≥ ì
  1944. synchronou≤ o≥ asynchronous)«  SCS╔ device≤ tha⌠ arσ capablσ oµ synchronou≤ ì
  1945. datß transfer≤ shal∞ no⌠ responΣ t∩ aε SDT╥ messagσ witΦ ß MESSAG┼ REJEC╘ ì
  1946. message.
  1947.  
  1948. .lm3
  1949. .pm0
  1950. .aw1
  1951. ááIMPLEMENTOR╙ NOTES:
  1952. áá(1⌐  Rσ-negotiatioε a⌠ ever∙ selectioε i≤ no⌠ recommended¼ sincσ ß ì
  1953. áásignifican⌠ performancσ impac⌠ i≤ likely«  
  1954. áá(2⌐  Duσ t∩ historica∞ problem≤ witΦ earl∙ hos⌠ adapter≤ tha⌠ coulΣ no⌠ ì
  1955. ááaccep⌠ aε SDT╥ message¼ somσ target≤ ma∙ no⌠ initiatσ synchronou≤ ì
  1956. áánegotiatioε afte≥ ß powe≥ cyclσ a≤ requireΣ b∙ thi≤ standard«  Hos⌠ adapter≤ ì
  1957. áátha⌠ suppor⌠ synchronou≤ modσ ma∙ avoiΣ thσ ensuinτ failurσ mode≤ wheε thσ ì
  1958. áátarge⌠ i≤ independentl∙ powe≥ cycleΣ b∙ initiatinτ ß synchronou≤ negotiatioε ì
  1959. ááoε eacΦ REQUES╘ SENS┼ anΣ INQUIR┘ command«  Thi≤ approacΦ increase≤ thσ SCS╔ ì
  1960. áábu≤ overheaΣ anΣ i≤ no⌠ recommendeΣ fo≥ ne≈ implementations«  Thσ correc⌠ ì
  1961. áámethoΣ i≤ t∩ responΣ t∩ aε SDT╥ messagσ witΦ ß MESSAG┼ REJEC╘ messagσ iµ thσ ì
  1962. ááeithe≥ thσ initiato≥ o≥ targe⌠ device≤ doe≤ no⌠ suppor⌠ synchronou≤ ì
  1963. áátransfer≤ o≥ doe≤ no⌠ wan⌠ t∩ negotiatσ fo≥ synchronou≤ transfer≤ a⌠ thσ ì
  1964. áátime«  Usinτ thσ correc⌠ methoΣ assure≤ compatibilit∙ witΦ widσ datß ì
  1965. áátransfer≤ anΣ futurσ enhancements.
  1966. .lm1
  1967. .pm3
  1968. .aw1
  1969.  
  1970. .cp 3
  1971. ááThσ SDT╥ messagσ exchangσ establishe≤ thσ permissiblσ transfe≥ period≤ anΣ ì
  1972. thσ REQ/AC╦ offset≤ fo≥ al∞ logica∞ unit≤ anΣ targe⌠ routine≤ oε thσ tw∩ ì
  1973. devices«  Thi≤ agreemen⌠ onl∙ applie≤ t∩ datß phases.
  1974.  
  1975. .cp 3èááThσ transfe≥ perioΣ i≤ thσ minimuφ timσ alloweΣ betweeε leadinτ edge≤ oµ ì
  1976. successivσ RE╤ pulse≤ anΣ oµ successivσ AC╦ pulse≤ t∩ mee⌠ thσ devicσ ì
  1977. requirement≤ fo≥ successfu∞ receptioε oµ data.
  1978.  
  1979. .cp 3
  1980. ááThσ REQ/AC╦ offse⌠ i≤ thσ maximuφ numbe≥ oµ RE╤ pulse≤ alloweΣ t∩ bσ ì
  1981. outstandinτ beforσ thσ leadinτ edgσ oµ it≤ correspondinτ AC╦ pulsσ i≤ receiveΣ ì
  1982. a⌠ thσ target«  Thi≤ valuσ i≤ choseε t∩ preven⌠ overflo≈ condition≤ iε thσ ì
  1983. device'≤ receptioε buffe≥ anΣ offse⌠ counter«  ┴ REQ/AC╦ offse⌠ valuσ oµ zer∩ ì
  1984. shal∞ indicatσ asynchronou≤ datß transfe≥ mode╗ ß valuσ oµ FFΦ shal∞ indicatσ ì
  1985. unlimiteΣ REQ/AC╦ offset.
  1986.  
  1987. .cp 3
  1988. ááThσ originatinτ devicσ (thσ devicσ tha⌠ send≤ thσ firs⌠ oµ thσ pai≥ oµ SDT╥ ì
  1989. messages⌐ set≤ it≤ value≤ accordinτ t∩ thσ rule≤ abovσ t∩ permi⌠ i⌠ t∩ receivσ ì
  1990. datß successfully«  Iµ thσ respondinτ devicσ caε als∩ receivσ datß ì
  1991. successfull∙ witΦ thesσ value≤ (o≥ smalle≥ transfe≥ period≤ o≥ large≥ REQ/AC╦ ì
  1992. offset≤ o≥ both)¼ i⌠ return≤ thσ samσ value≤ iε it≤ SDT╥ message«  Iµ i⌠ ì
  1993. require≤ ß large≥ transfe≥ period¼ ß smalle≥ REQ/AC╦ offset¼ o≥ botΦ iε orde≥ ì
  1994. t∩ receivσ datß successfully¼ i⌠ substitute≤ value≤ iε it≤ SDT╥ messagσ a≤ ì
  1995. required¼ returninτ unchangeΣ an∙ valuσ no⌠ requireΣ t∩ bσ changed«  EacΦ ì
  1996. devicσ wheε transmittinτ datß shal∞ respec⌠ thσ limit≤ se⌠ b∙ thσ other'≤ SDT╥ ì
  1997. message¼ bu⌠ i⌠ i≤ permitteΣ t∩ transfe≥ datß witΦ large≥ transfe≥ periods¼ ì
  1998. smalle≥ REQ/AC╦ offsets¼ o≥ botΦ thaε specifieΣ iε thσ other'≤ SDT╥ message«  ì
  1999. Thσ successfu∞ completioε oµ aε exchangσ oµ SDT╥ message≤ implie≤ aε agreemen⌠ ì
  2000. a≤ follows:
  2001.  
  2002. .cp 11
  2003. .pm 1
  2004. .lm 36
  2005. Responding Device SDTR response    ImplieΣ Agreement
  2006. -------------------------------    ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-
  2007. (1) Non-zero REQ/ACK offset        EacΦ devicσ transmit≤ datß witΦ ß transfe≥ ì
  2008. áááááááááááááááááááááááááááááááááááperioΣ equa∞ t∩ o≥ greate≥ thaε anΣ ß ì
  2009. áááááááááááááááááááááááááááááááááááREQ/AC╦ offse⌠ equa∞ t∩ o≥ les≤ thaε thσ ì
  2010. ááááááááááááááááááááááááááááááááááávalue≤ receiveΣ iε thσ othe≥ device'≤ SDT╥ ì
  2011. ááááááááááááááááááááááááááááááááááámessage.
  2012.  
  2013. (2) REQ/ACK offset equal to zero   Asynchronou≤ transfer
  2014.  
  2015. (3) MESSAGE REJECT message         Asynchronou≤ transfer
  2016. .pm 3
  2017. .lm 1
  2018.  
  2019. ááIµ thσ initiato≥ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ assert≤ thσ AT╬ ì
  2020. signa∞ anΣ send≤ ß SDT╥ messagσ t∩ begiε thσ negotiatinτ process«  Afte≥ ì
  2021. successfull∙ completinτ thσ MESSAG┼ OU╘ phase¼ thσ targe⌠ shal∞ responΣ witΦ ì
  2022. thσ prope≥ SDT╥ message«  Iµ aε abnorma∞ conditioε prevent≤ thσ targe⌠ froφ ì
  2023. returninτ aε appropriatσ response¼ botΦ device≤ shal∞ g∩ t∩ asynchronou≤ datß ì
  2024. transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
  2025.  
  2026. ááFollowinτ targe⌠ responsσ (1⌐ above¼ thσ implieΣ agreemen⌠ fo≥ synchronou≤ ì
  2027. operatioε shal∞ bσ considereΣ t∩ bσ negateΣ b∙ botΦ thσ initiato≥ anΣ thσ ì
  2028. targe⌠ iµ thσ initiato≥ assert≤ thσ AT╬ signa∞ anΣ thσ firs⌠ messagσ ou⌠ i≤ ì
  2029. eithe≥ MESSAG┼ PARIT┘ ERRO╥ o≥ MESSAG┼ REJECT« Iε thi≤ case¼ botΦ device≤ ì
  2030. shal∞ g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ ì
  2031. devices«  Fo≥ thσ MESSAG┼ PARIT┘ ERRO╥ case¼ thσ implieΣ agreemen⌠ shal∞ bσ ì
  2032. reinstateΣ iµ ß rσ-transmitta∞ oµ thσ seconΣ oµ thσ pai≥ oµ message≤ i≤ ì
  2033. successfull∙ accomplished«  Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ ì
  2034. (greate≥ thaε zero)¼ iµ thσ targe⌠ receive≤ ß MESSAG┼ PARIT┘ ERRO╥ message¼ i⌠ ì
  2035. shal∞ terminatσ thσ retr∙ activity«  Thi≤ ma∙ bσ donσ eithe≥ b∙ changinτ t∩ ì
  2036. 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≥ ì
  2037. shal∞ accep⌠ sucΦ actioε a≤ abortinτ thσ negotiation¼ anΣ botΦ device≤ shal∞ ì
  2038. g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ ì
  2039. devices«  
  2040.  
  2041. ááIµ thσ targe⌠ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ send≤ aε SDT╥ ì
  2042. messagσ t∩ thσ initiator«  Prio≥ t∩ releasinτ thσ AC╦ signa∞ oε thσ las⌠ bytσ ì
  2043. oµ thσ SDT╥ messagσ froφ thσ target¼ thσ initiato≥ shal∞ asser⌠ thσ AT╬ signa∞ ì
  2044. anΣ responΣ witΦ it≤ SDT╥ messagσ o≥ witΦ ß MESSAG┼ REJEC╘ message«  Iµ aε ì
  2045. abnorma∞ conditioε prevent≤ thσ initiato≥ froφ returninτ aε appropriatσ ì
  2046. response¼ botΦ device≤ shal∞ g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß ì
  2047. transfer≤ betweeε thσ tw∩ devices.
  2048.  
  2049. ááFollowinτ aε initiator'≤ respondinτ SDT╥ message¼ aε implieΣ agreemen⌠ fo≥ ì
  2050. synchronou≤ operatioε shal∞ no⌠ bσ considereΣ t∩ exis⌠ unti∞ thσ targe⌠ leave≤ ì
  2051. thσ MESSAG┼ OU╘ phase¼ indicatinτ tha⌠ thσ targe⌠ ha≤ accepteΣ thσ ì
  2052. negotiation«  Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ (greate≥ thaε ì
  2053. zero)¼ iµ thσ targe⌠ ha≤ no⌠ receiveΣ thσ initiator'≤ respondinτ SDT╥ message¼ ì
  2054. i⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ withou⌠ an∙ furthe≥ informatioε transfe≥ ì
  2055. attemp⌠ (seσ 5.1.1)«  Thi≤ indicate≤ tha⌠ ß catastrophiπ erro≥ conditioε ha≤ ì
  2056. occurred«  BotΦ device≤ shal∞ g∩ t∩ asynchronou≤ datß transfe≥ modσ fo≥ datß ì
  2057. transfer≤ betweeε thσ tw∩ devices.
  2058.  
  2059. .cp 5
  2060. ááIf¼ followinτ aε initiator'≤ respondinτ SDT╥ message¼ thσ targe⌠ shift≤ t∩ ì
  2061. MESSAG┼ I╬ phasσ anΣ thσ firs⌠ messagσ iε i≤ MESSAG┼ REJECT¼ thσ implieΣ ì
  2062. agreemen⌠ shal∞ bσ considereΣ t∩ bσ negateΣ anΣ botΦ device≤ shal∞ g∩ t∩ ì
  2063. asynchronou≤ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
  2064.  
  2065. .cp 10
  2066. ááThσ implieΣ synchronou≤ agreemen⌠ shal∞ remaiε iε effec⌠ unti∞ ß BU╙ DEVIC┼ ì
  2067. RESE╘ messagσ i≤ received¼ unti∞ ß harΣ rese⌠ conditioε occurs¼ o≥ unti∞ onσ ì
  2068. oµ thσ tw∩ SCS╔ device≤ elect≤ t∩ modif∙ thσ agreement«  Thσ defaul⌠ datß ì
  2069. transfe≥ modσ i≤ asynchronou≤ datß transfe≥ mode«  Thσ defaul⌠ datß transfe≥ ì
  2070. modσ i≤ entereΣ a⌠ powe≥ on¼ afte≥ ß BU╙ DEVIC┼ RESE╘ message¼ o≥ afte≥ ß harΣ ì
  2071. rese⌠ condition.
  2072.  
  2073. .cp 15
  2074. .aw off
  2075. .pm 0
  2076. 5.6.22. TERMINAT┼ I/╧ PROCESS
  2077. .aw on
  2078. .pm 3
  2079.  
  2080. ááThσ TERMINAT┼ I/╧ PROCES╙ messagσ i≤ sen⌠ froφ thσ initiato≥ t∩ thσ targe⌠ ì
  2081. t∩ advisσ thσ targe⌠ t∩ terminatσ thσ curren⌠ I/╧ proces≤ withou⌠ corruptinτ ì
  2082. thσ medium«  Upoε successfu∞ receip⌠ oµ thi≤ messagσ thσ targe⌠ shal∞ ì
  2083. terminatσ thσ curren⌠ I/╧ proces≤ a≤ sooε a≤ possiblσ anΣ returε COMMAN─ ì
  2084. TERMINATE─ status«  Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ SENS┼ anΣ thσ additiona∞ ì
  2085. sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ I/╧ PROCES╙ TERMINATED«  Thσ ì
  2086. TERMINAT┼ I/╧ PROCES╙ messagσ shal∞ no⌠ affec⌠ pendinτ status¼ data¼ anΣ ì
  2087. command≤ fo≥ othe≥ queueΣ o≥ executinτ I/╧ processes«  However¼ continueΣ ì
  2088. executioε anΣ statu≤ oµ othe≥ I/╧ processe≤ queueΣ fo≥ thσ I_T_° nexu≤ ma∙ bσ ì
  2089. affecteΣ b∙ thσ queuσ erro≥ recover∙ optioε specifieΣ iε thσ contro∞ modσ pagσ ì
  2090. (seσ 7.3.3.1).
  2091.  
  2092. .cp 10èááIµ thσ I/╧ proces≤ tha⌠ i≤ beinτ terminateΣ ha≤ ß datß transfe≥ associateΣ ì
  2093. witΦ i⌠ (i.e.¼ DAT┴ I╬ o≥ DAT┴ OU╘ phase)¼ thσ valiΣ bi⌠ iε thσ sensσ datß ì
  2094. shal∞ bσ se⌠ t∩ onσ anΣ thσ informatioε fielΣ shal∞ bσ se⌠ a≤ follows:
  2095. áá(1⌐ Iµ thσ commanΣ descripto≥ blocδ specifie≤ aε allocatioε lengtΦ o≥ ì
  2096. paramete≥ lis⌠ lengtΦ iε bytes¼ thσ informatioε fielΣ shal∞ bσ se⌠ t∩ thσ ì
  2097. differencσ (residue⌐ betweeε thσ transfe≥ lengtΦ anΣ thσ numbe≥ oµ byte≤ ì
  2098. successfull∙ transferred.
  2099. áá(2⌐ Iµ thσ commanΣ descripto≥ blocδ specifie≤ ß transfe≥ lengtΦ field¼ thσ ì
  2100. informatioε fielΣ shal∞ bσ se⌠ a≤ defineΣ iε thσ REQUES╘ SENS┼ commanΣ (seσ ì
  2101. 7.2.14).
  2102.  
  2103. .cp 5
  2104. ááIµ thσ I/╧ proces≤ beinτ terminateΣ ha≤ n∩ datß transfe≥ associateΣ witΦ i⌠ ì
  2105. thσ targe⌠ shal∞ se⌠ thσ valiΣ bi⌠ iε thσ sensσ datß t∩ zer∩ anΣ terminatσ thσ ì
  2106. I/╧ proces≤ witΦ COMMAN─ TERMINATE─ status«  Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ N╧ ì
  2107. SENS┼ anΣ thσ additiona∞ sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ I/╧ PROCES╙ ì
  2108. TERMINATED.
  2109.  
  2110. .cp 3
  2111. ááWheε an∙ erro≥ conditioε i≤ detecteΣ fo≥ aε I/╧ proces≤ thσ targe⌠ shal∞ ì
  2112. ignorσ thσ TERMINAT┼ I/╧ PROCES╙ messagσ anΣ terminatσ thσ I/╧ proces≤ witΦ ì
  2113. thσ appropriatσ erro≥ statu≤ anΣ sensσ datß fo≥ thσ erro≥ condition.
  2114.  
  2115. .cp 3
  2116. ááIµ thσ targe⌠ complete≤ al∞ processinτ fo≥ ß commanΣ (i.e.¼ al∞ datß ha≤ ì
  2117. beeε read¼ written¼ o≥ processed⌐ anΣ ß TERMINAT┼ I/╧ PROCES╙ messagσ i≤ ì
  2118. receiveΣ beforσ thσ I/╧ proces≤ i≤ terminated¼ thσ targe⌠ shal∞ ignorσ thσ ì
  2119. TERMINAT┼ I/╧ PROCES╙ messagσ anΣ terminatσ thσ I/╧ proces≤ iε thσ norma∞ ì
  2120. manner.
  2121.  
  2122. .cp 7
  2123. ááIµ thσ targe⌠ receive≤ ß TERMINAT┼ I/╧ PROCES╙ messagσ beforσ thσ commanΣ ì
  2124. descripto≥ blocδ i≤ transferreΣ (i.e.¼ beforσ thσ COMMAN─ phase⌐ o≥ thσ ì
  2125. messagσ i≤ issueΣ t∩ aε I_T_° nexu≤ tha⌠ doe≤ no⌠ havσ aε activσ o≥ queueΣ I/╧ ì
  2126. process¼ thσ targe⌠ shal∞ se⌠ thσ valiΣ bi⌠ iε thσ sensσ datß t∩ zer∩ anΣ ì
  2127. terminatσ thσ I/╧ proces≤ witΦ COMMAN─ TERMINATE─ status«  Thσ sensσ ke∙ shal∞ ì
  2128. bσ se⌠ t∩ N╧ SENS┼ anΣ thσ additiona∞ sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ ì
  2129. I/╧ PROCES╙ TERMINATED.
  2130.  
  2131. .cp 8
  2132. ááIµ thσ curren⌠ I/╧ proces≤ i≤ iε thσ commanΣ queuσ (I_T_° nexu≤ fo≥ untaggeΣ ì
  2133. queuinτ o≥ I_T_L_╤ nexu≤ fo≥ taggeΣ queuing⌐ anΣ ha≤ no⌠ starteΣ execution¼ ì
  2134. thσ targe⌠ shal∞ eithe≥ terminatσ thσ I/╧ proces≤ immediatel∙ o≥ disconnec⌠ ì
  2135. anΣ wai⌠ unti∞ thσ commanΣ i≤ a⌠ thσ heaΣ oµ thσ queuσ (starteΣ executing⌐ ì
  2136. theε terminatσ thσ I/╧ process«  Iε eithe≥ case¼ thσ targe⌠ shal∞ terminatσ ì
  2137. thσ I/╧ proces≤ witΦ COMMAN─ TERMINATE─ status«  Thσ sensσ ke∙ shal∞ bσ se⌠ t∩ ì
  2138. N╧ SENS┼ anΣ thσ additiona∞ sensσ codσ anΣ qualifie≥ shal∞ bσ se⌠ t∩ I/╧ ì
  2139. PROCES╙ TERMINATED«  Thσ valiΣ bi⌠ shal∞ bσ se⌠ t∩ zero.
  2140.  
  2141. ááIµ thσ targe⌠ doe≤ no⌠ suppor⌠ thi≤ messagσ o≥ i≤ unablσ t∩ sto≡ thσ curren⌠ ì
  2142. I/╧ proces≤ fo≥ thσ I_T_° nexus¼ i⌠ shal∞ responΣ b∙ sendinτ ß MESSAG┼ REJEC╘ ì
  2143. messagσ t∩ thσ initiato≥ anΣ continuinτ thσ I/╧ proces≤ iε ß norma∞ manner.
  2144.  
  2145. .pm 0
  2146. .lm 3
  2147. ááIMPLEMENTOR╙ NOTE║  Thσ TERMINAT┼ I/╧ PROCES╙ messagσ provide≤ ß mean≤ fo≥ ì
  2148. ááthσ initiato≥ t∩ reques⌠ thσ targe⌠ t∩ reducσ thσ transfe≥ lengtΦ oµ thσ ì
  2149. áácurren⌠ commanΣ t∩ thσ amoun⌠ tha⌠ ha≤ alread∙ beeε transferred«  Thσ ì
  2150. ááinitiato≥ caε usσ thσ sensσ datß t∩ determinσ thσ actua∞ numbe≥ oµ byte≤ o≥ ì
  2151. ááblock≤ tha⌠ havσ beeε transferred«  Thi≤ messagσ i≤ normall∙ useΣ b∙ thσ ì
  2152. ááinitiato≥ t∩ sto≡ ß length∙ read¼ write¼ o≥ verif∙ operatioε wheε ß highe≥-ì
  2153. áápriorit∙ commanΣ i≤ availablσ t∩ bσ executed«  I⌠ i≤ u≡ t∩ thσ initiato≥ t∩ ìèáácompletσ thσ terminateΣ commanΣ a⌠ ß late≥ time¼ iµ required.
  2154. .pm 3
  2155. .lm 1
  2156.  
  2157. .cp 20
  2158. .aw off
  2159. .pm 0
  2160. 5.6.23. WIDE DATA TRANSFER REQUEST Messagσ
  2161.  
  2162.                     Table 5-10: WIDE DATA TRANSFER MESSAGE
  2163.  
  2164. ==============================================================================
  2165. Byte |  Value  |    Description                                              |
  2166. ==============================================================================
  2167.  0   |   01h   |    Extended message                                         |
  2168. -----|---------|-------------------------------------------------------------|
  2169.  1   |   02h   |    Extended message length                                  |
  2170. -----|---------|-------------------------------------------------------------|
  2171.  2   |   03h   |    WIDE DATA TRANSFER REQUEST code                          |
  2172. -----|---------|-------------------------------------------------------------|
  2173.  3   |    m    |    Transfer Width (2**m bytes)                              |
  2174. ==============================================================================
  2175. .aw on
  2176. .pm 3
  2177.  
  2178.  
  2179. .cp 9
  2180. áá┴ WID┼ DAT┴ TRANSFE╥ REQUES╘ (WDTR⌐ messagσ (Tablσ ╡-10⌐ exchangσ shal∞ bσ ì
  2181. initiateΣ b∙ aε SCS╔ devicσ wheneve≥ ß previousl∙-arrangeΣ transfe≥ widtΦ ì
  2182. agreemen⌠ ma∙ havσ becomσ invalid«  Thσ agreemen⌠ become≤ invaliΣ afte≥ an∙ ì
  2183. conditioε whicΦ ma∙ leavσ thσ datß transfe≥ agreemen⌠ iε aε indeterminatσ ì
  2184. statσ sucΦ as:
  2185. áá(1⌐ afte≥ ß harΣ rese⌠ condition
  2186. áá(2⌐ afte≥ ß BU╙ DEVIC┼ RESE╘ messagσ and
  2187. áá(3⌐ afte≥ ß powe≥ cycle.
  2188.  
  2189. .cp 5
  2190. ááIε addition¼ aε SCS╔ devicσ ma∙ initiatσ aε WDT╥ messagσ exchangσ wheneve≥ ì
  2191. i⌠ i≤ appropriatσ t∩ negotiatσ ß ne≈ transfe≥ widtΦ agreement«  SCS╔ device≤ ì
  2192. tha⌠ arσ capablσ oµ widσ datß transfer≤ (greate≥ thaε eigh⌠ bits⌐ shal∞ no⌠ ì
  2193. responΣ t∩ aε WDT╥ messagσ witΦ ß MESSAG┼ REJEC╘ message.
  2194.  
  2195. .lm3
  2196. .pm0
  2197. .aw1
  2198. ááIMPLEMENTOR╙ NOTE║  Rσ-negotiatioε a⌠ ever∙ selectioε i≤ no⌠ recommended¼ ì
  2199. áásincσ ß significan⌠ performancσ impac⌠ i≤ likely« 
  2200. .lm1
  2201. .pm3
  2202. .aw1
  2203.  
  2204. .cp 5
  2205. ááThσ WDT╥ messagσ exchangσ establishe≤ aε agreemen⌠ betweeε tw∩ SCS╔ device≤ ì
  2206. oε thσ widtΦ oµ thσ datß patΦ t∩ bσ useΣ fo≥ DAT┴ phasσ transfer≤ betweeε thσ ì
  2207. tw∩ devices«  Thi≤ agreemen⌠ applie≤ t∩ DAT┴ I╬ anΣ DAT┴ OU╘ phase≤ only«  Al∞ ì
  2208. othe≥ informatioε transfe≥ phase≤ shal∞ usσ aε eigh⌠-bi⌠ datß path.
  2209.  
  2210. .cp 5
  2211. ááIµ aε SCS╔ devicσ implement≤ botΦ widσ datß transfe≥ optioε anΣ synchronou≤ ì
  2212. datß transfe≥ option¼ theε i⌠ shal∞ negotiatσ thσ widσ datß transfe≥ agreemen⌠ ì
  2213. prio≥ t∩ negotiatinτ thσ synchronou≤ datß transfe≥ agreement«  Iµ ß ì
  2214. synchronou≤ datß transfe≥ agreemen⌠ i≤ iε effect¼ theε aε SCS╔ devicσ tha⌠ ì
  2215. accept≤ ß WDT╥ messagσ shal∞ rese⌠ thσ synchronou≤ agreemen⌠ t∩ asynchronou≤ ì
  2216. mode.
  2217.  
  2218. .cp 3
  2219. ááThσ transfe≥ widtΦ tha⌠ i≤ establisheΣ applie≤ t∩ al∞ logica∞ unit≤ oε botΦ ì
  2220. SCS╔ devices«  ValiΣ transfe≥ width≤ arσ ╕ bit≤ (m=00h)¼ 1╢ bit≤ (m=01h)¼ ì
  2221. anΣ 3▓ bit≤ (m=02h)«  Value≤ oµ φ greate≥ thaε 02Φ arσ reserved.
  2222.  
  2223. .cp 7èááThσ originatinτ SCS╔ devicσ (thσ SCS╔ devicσ tha⌠ send≤ thσ firs⌠ oµ thσ ì
  2224. pai≥ oµ WDT╥ messages⌐ set≤ it≤ transfe≥ widtΦ valuσ t∩ thσ maximuφ datß patΦ ì
  2225. widtΦ i⌠ elect≤ t∩ accommodate«  Iµ thσ respondinτ SCS╔ devicσ caε als∩ ì
  2226. accommodatσ thi≤ transfe≥ width¼ i⌠ return≤ thσ samσ valuσ iε it≤ WDT╥ ì
  2227. message«  Iµ i⌠ require≤ ß smalle≥ transfe≥ width¼ i⌠ substitute≤ thσ smalle≥ ì
  2228. valuσ iε it≤ WDT╥ message«  Thσ successfu∞ completioε oµ aε exchangσ oµ WDT╥ ì
  2229. message≤ implie≤ aε agreemen⌠ a≤ follows:
  2230.  
  2231. .cp 11
  2232. .pm 1
  2233. .lm 36
  2234. Responding Device WDTR Response    ImplieΣ Agreement
  2235. --------------------------------   ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡-
  2236. (1) Non-zero transfer width        EacΦ devicσ transmit≤ anΣ receive≤ datß ì
  2237. áááááááááááááááááááááááááááááááááááwitΦ ß transfe≥ widtΦ equa∞ t∩ thσ ì
  2238. ááááááááááááááááááááááááááááááááááárespondinτ SCS╔ device'≤ transfe≥ width.
  2239.  
  2240. (2) Transfer width equal to zero   Eigh⌠-bi⌠ Datß Transfer
  2241.  
  2242. (3) MESSAGE REJECT message         Eigh⌠-bi⌠ Datß Transfer
  2243. .pm 3
  2244. .lm 1
  2245.  
  2246. .cp 5
  2247. ááIµ thσ initiato≥ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ assert≤ thσ AT╬ ì
  2248. signa∞ anΣ send≤ ß WDT╥ messagσ t∩ begiε thσ negotiatinτ process«  Afte≥ ì
  2249. successfull∙ completinτ thσ MESSAG┼ OU╘ phase¼ thσ targe⌠ shal∞ responΣ witΦ ì
  2250. thσ prope≥ WDT╥ message«  Iµ aε abnorma∞ conditioε prevent≤ thσ targe⌠ froφ ì
  2251. returninτ aε appropriatσ response¼ botΦ device≤ shal∞ g∩ t∩ eigh⌠-bi⌠ datß ì
  2252. transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
  2253.  
  2254. .cp 14
  2255. ááFollowinτ targe⌠ responsσ (1⌐ above¼ thσ implieΣ agreemen⌠ fo≥ widσ datß ì
  2256. transfer≤ shal∞ bσ considereΣ t∩ bσ negateΣ b∙ botΦ thσ initiato≥ anΣ thσ ì
  2257. targe⌠ iµ thσ initiato≥ assert≤ AT╬ anΣ thσ firs⌠ messagσ ou⌠ i≤ eithe≥ ì
  2258. MESSAG┼ PARIT┘ ERRO╥ o≥ MESSAG┼ REJECT«  Iε thi≤ case¼ botΦ device≤ shal∞ g∩ ì
  2259. t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices«  ì
  2260. Fo≥ thσ MESSAG┼ PARIT┘ ERRO╥ case¼ thσ implieΣ agreemen⌠ shal∞ bσ reinstateΣ ì
  2261. iµ ß rσ-transmitta∞ oµ thσ seconΣ oµ thσ pai≥ oµ message≤ i≤ successfull∙ ì
  2262. accomplished«  Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ (greate≥ thaε ì
  2263. zero)¼ iµ thσ targe⌠ receive≤ ß MESSAG┼ PARIT┘ ERRO╥ message¼ i⌠ shal∞ ì
  2264. terminatσ thσ retr∙ activity«  Thi≤ ma∙ bσ donσ eithe≥ b∙ changinτ t∩ an∙ ì
  2265. othe≥ informatioε transfe≥ phasσ anΣ transferrinτ a⌠ leas⌠ onσ bytσ oµ ì
  2266. informatioε o≥ b∙ goinτ t∩ thσ BU╙ FRE┼ phasσ (seσ 5.1.1)«  Thσ initiato≥ ì
  2267. shal∞ accep⌠ sucΦ actioε a≤ abortinτ thσ negotiation¼ anΣ botΦ device≤ shal∞ ì
  2268. g∩ t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices« 
  2269.  
  2270. .cp 5
  2271. ááIµ thσ targe⌠ recognize≤ tha⌠ negotiatioε i≤ required¼ i⌠ send≤ ß WDT╥ ì
  2272. messagσ t∩ thσ initiator«  Prio≥ t∩ releasinτ thσ AC╦ signa∞ oε thσ las⌠ bytσ ì
  2273. oµ thσ WDT╥ messagσ froφ thσ target¼ thσ initiato≥ shal∞ asser⌠ thσ AT╬ signa∞ ì
  2274. anΣ responΣ witΦ it≤ WDT╥ messagσ o≥ witΦ ß MESSAG┼ REJEC╘ message«  Iµ aε ì
  2275. abnorma∞ conditioε prevent≤ thσ initiato≥ froφ returninτ aε appropriatσ ì
  2276. response¼ botΦ device≤ shal∞ g∩ t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß ì
  2277. transfer≤ betweeε thσ tw∩ devices.
  2278.  
  2279. .cp 10èááFollowinτ aε initiator'≤ respondinτ WDT╥ message¼ aε implieΣ agreemen⌠ fo≥ ì
  2280. widσ datß transfe≥ operatioε shal∞ no⌠ bσ considereΣ t∩ exis⌠ unti∞ thσ targe⌠ ì
  2281. leave≤ thσ MESSAG┼ OU╘ phase¼ indicatinτ tha⌠ thσ targe⌠ ha≤ accepteΣ thσ ì
  2282. negotiation«  Afte≥ ß vendo≥-specifiπ numbe≥ oµ retr∙ attempt≤ (greate≥ thaε ì
  2283. zero)¼ iµ thσ targe⌠ ha≤ no⌠ receiveΣ thσ initiator'≤ respondinτ WDT╥ message¼ ì
  2284. i⌠ shal∞ g∩ t∩ thσ BU╙ FRE┼ phasσ withou⌠ an∙ furthe≥ informatioε transfe≥ ì
  2285. attemp⌠ (seσ 5.1.1)«  Thi≤ indicate≤ tha⌠ ß catastrophiπ erro≥ conditioε ha≤ ì
  2286. occurred«  BotΦ device≤ shal∞ g∩ t∩ eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß ì
  2287. transfer≤ betweeε thσ tw∩ devices.
  2288.  
  2289. .cp 5
  2290. ááIf¼ followinτ aε initiator'≤ respondinτ WDT╥ message¼ thσ targe⌠ shift≤ t∩ ì
  2291. MESSAG┼ I╬ phasσ anΣ thσ firs⌠ messagσ iε i≤ MESSAG┼ REJECT¼ thσ implieΣ ì
  2292. agreemen⌠ shal∞ bσ considereΣ t∩ bσ negateΣ anΣ botΦ device≤ shal∞ g∩ t∩ ì
  2293. eigh⌠-bi⌠ datß transfe≥ modσ fo≥ datß transfer≤ betweeε thσ tw∩ devices.
  2294.  
  2295. .cp 6
  2296. ááThσ implieΣ transfe≥ widtΦ agreemen⌠ shal∞ remaiε iε effec⌠ unti∞ ß BU╙ ì
  2297. DEVIC┼ RESE╘ messagσ i≤ received¼ unti∞ ß harΣ rese⌠ conditioε occurs¼ o≥ ì
  2298. unti∞ onσ oµ thσ tw∩ SCS╔ device≤ elect≤ t∩ modif∙ thσ agreement«  Thσ defaul⌠ ì
  2299. datß transfe≥ widtΦ i≤ eigh⌠-bi⌠ datß transfe≥ mode«  Thσ defaul⌠ datß ì
  2300. transfe≥ modσ i≤ entereΣ a⌠ powe≥ on¼ afte≥ ß BU╙ DEVIC┼ RESE╘ message¼ o≥ ì
  2301. afte≥ ß harΣ rese⌠ condition.
  2302.  
  2303. ..end of section
  2304. .paè
  2305.  
  2306.  
  2307.  
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.  
  2314.  
  2315.  
  2316.  
  2317.  
  2318.  
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325. áá                     (Thi≤ pagσ i≤ intentionall∙ blank.)
  2326. .paè