X3T9.2/87-197 November 25, 1987 To: X3T9.2 Membership From: John B. Lohmeyer, NCR Principal member in X3T9.2 Subject: SCSI Arbitration Timing Problem Several years ago, the arbitration timing for SCSI was revised due to a problem known as the "Wire-OR Glitch". An informal model for arbitration timing was used as the basis for this revision, but the model was never published (or even written down). I have attempted to capture the essential features of this model in a spreadsheet model, which is available to interested parties. That (revised) model is summarized below: Maximum Cable Length (MCL): 100 feet Propagation Speed (PS): 0.5 feet/ns One-Way Propagation Time (OWPT): MCL/PS 200 ns Clock Period (CP): 100 ns (min) 200 ns (max) Driver/Receiver Propagation Delay (PD): 100 ns (each) Maximum Wire-OR Glitch (MWOG): 2*OWPT 400 ns (max) Glitch filter rejects (GR): INT((MWOG+CP-1)/CP)*CP 400 ns (min) 800 ns (max) BUS SETTLE DELAY (BSD): 2*OWPT 400 ns (min) BUS FREE DELAY (BFD): BCD 800 ns (min) BUS SET DELAY (BSET): CPmax+(CPmax/CPmin)*BFD 1800 ns (max) BUS CLEAR DELAY (BCD): (GRmax-GRmin)+CPmin+2*PD 800 ns (max) ARBITRATION DELAY (AD): 2*OWPT+BSET+2*PD 2400 ns (min) DATA RELEASE DELAY (DRD): 2*PD+CPmax 400 ns (max) Minimum Time to Arbitrate: CP+GR+BFD+AD 3700 ns 7200 ns Please note that the model assumes the arbitration logic has a clock available to it which may range between 5 and 10 MHz. A 2-to-1 range was deemed acceptable for most protocol chips -- larger ranges require that the chip be informed of the approximate clock frequency. Also note that the timings were developed assuming a maximum cable length of 100 feet, somewhat longer than the specified 25 meters. I gave copies of my model to several people for review. A colleague at NCR noticed a minor flaw in the specified ARBITRATION DELAY. The standard does not appear to allow enough time for worst case propagation time through drivers and receivers on a maximum cable. He suggested that the term 2*PD be added to the formula for ARBITRATION DELAY. This would add 200 ns to the ARBITRATION DELAY increasing it to 2400 ns. While this problem has existed for some time, I don't believe it has caused any problems in actual practice because very few people are using maximum cable lengths and most protocol chips are conservative in generating the ARBITRATION DELAY. Nonetheless, we should fix the problem in SCSI-2.