Re: SCSI chit-chat

Richard B. Johnson (root@analogic.com)
Sun, 9 Mar 1997 10:58:53 -0500 (EST)


On Sun, 9 Mar 1997, Edward Welbon wrote:

> On Sat, 8 Mar 1997, Richard B. Johnson wrote:
>
> > Date: Sat, 8 Mar 1997 09:37:53 -0500 (EST)
> > From: "Richard B. Johnson" <root@analogic.com>
> > To: Edward Welbon <welbon@bga.com>
> > Cc: Linux kernel <linux-kernel@vger.rutgers.edu>
> > Subject: Re: your mail
> >
> > On Fri, 7 Mar 1997, Edward Welbon wrote:
> >
> > > On Mon, 3 Mar 1997, Richard B. Johnson wrote:
> > >
> > > > This is the SCSI driver. No external drives are attached, and the
> > > > internal drives are connected with a SHORT cable properly terminated
> > > > on the far end.
> > >
> > > A too short SCSI cable is a no-no. The problem is that a scsi cable is
> > > actually a transmission line and the points where devices connects are
> > > essentially points of discontinuity which alter the characteristic
> > > impedance of the cable. Depending on the impedance of the the drives and
> > > the impedance of the cable, you can have *too* *short* a cable.
>
> > Transmission line mismatches can cause problems when reflections from
> > impedance discontinuities interfere with the SCSI bus signals. This
> > interference can occur only with LONG cables. These problems can occur
> > at odd multiples of 1/4 wavelength at the highest frequency of interest.
> > This is the reason for the maximum allowed cable length of 25 meters.
>
> This misses the point entirely. The issue is not whether one can or must
> have exceedingly long cables, it is whether cables can be too short. The
> truth is that depending on the particular system configuration, scsi
> cables can be too short. You have apparently not examined the content of
> Annex C from ANSI X3T10 which gives a simple and lucid analysis of the
> case against cables that are too short (by way of establishing the minimum
> spacing of connectors). In particular, the final paragraph of Annex C
> states:

I do not miss the point. The assumption is that the transceivers correctly
implement the SCSI Standard. The SCSI Standard implied (or presumed) that
TTL Circuits would drive the bus. More recent so-called technology (spelled
cheap) replaces bipolar devices with CMOS and PMOS. Bipolar devices have
an output impedance that is very low, i.e., about 1/4 ohm (although it
is standard practice to use building-out resistance in the order of
10 ohms to source-terminate.

CMOS and friends have output impedances of 30 or more ohms. This severely
reduces the drive capability. In fact, with NO bus capacity at all, the
voltage levels will be reduced by the attenuator formed by this 50 ohms
and the 2, 120 ohm terminators. This results in bearly enough voltage
to reach the TTL threshold of 2 Vbe.

The paragraph you cite is a workaround.

>
> "We can now say that capacitance should not be added at more than twice
> the bus distributed capacitance for incident wave switching. For
> example, a cabled bus with L=295nH/m (90nH/ft) and C=41pF/M (12,5pF.ft)
> and Z=85 ohms, the guideline becomes to add no more than 85pF/m
> (26pF/ft) anywhere along the bus. This guideline can be met by 25pF
> loads spaced 0,3 m (1 ft) from each other, 50 pF spaced 0,6 m (2 ft)
> apart, or 12,5 pF spaced 0,15 m (0,5 ft) apart."
>

A work-around for manufactures who have high output impedance chips.


> So if you have say 6 drives and these drives present a net capacitance
> (including the required connectors) of 12.5 pF, the minimum length of the
> cable will be 3.0 ft (with the connectors spaced evenly along the cable).
> If you have any less cable length, the net added capacitance per length
> will cause the net characteristic impedance of the cable to shift such
> that the minimum required assertion level will not be achieved by the
> incident wave.
>

The impedance of a cable can only be calculated when the capacitance
and inductance is distributed along the entire cable. This does NOT
mean LUMPED evenly, it means DISTRIBUTED. A circuit made up of series
inductance and shunt capacitance is called a FILTER, not a transmission
line.

To properly match such a filter, requires that the end-section shunt
capacity be EXACTLY 1/2 the effective shunt capacity of the other
shunt sections, regardless of their value, and regardless of the
series inductances. This must be in shunt with a resistance equal to
the characteristic impedance of the filter so derived.
A transmission line is properly matched when terminated by a resistance
equal to its characteristic impedance OR another transmission line of the
same impedance.

A SCSI bus is a little of both because, if there are no devices connected
to the bus it is worthless. Connections to the bus introduce a shunt
capacity, therefore the bus takes on some of the characteristics of
a filter. Now, What is the effect of putting any capacitor across a
generator of zero output impedance? Does this affect the voltage in
any way? No. The current in such a connection might by high, but the
voltage is unaffected. This would be the case if the bus was driven
from a voltage source. Real devices are not voltage sources, however
when driving a bus, they should be close. This reduces the effect of
the bus capacity. To minimize the affect of shunt capacity, designers
drive the bus with a low impedance source. This is done regardless of
the characteristic impedance of the bus. In other words, you do NOT
drive a 90 ohm bus with a 90 ohm source. This would reduce the voltage
on the bus to 1/2 the drive-point value. Instead, you drive the
bus with the lowest possible impedance, but you correctly terminate
the bus in its characteristic impedance. This keeps the bus properly
terminated and with the highest possible signal level.


> > It is absolutely impossible for interconnections to be too short. In
> > Sun Boxes, the SCSI connections are made via very short PWB traces.
>
> This is not a valid counter example. The traces on a PC board can be
> easily tuned to have the appropriate characteristic impedance, it is
> standard art. And in cases where one wishes to push the limits, it is
> prudent to put a scope on at least req, ack and busy to see what they look
> like at all of the connectors.

I stand by by original statement.

>
> X3T10 Annex C is a guideline that attempts argue reasonably about the
> system and expects that no other guidelines are being violated (it
> assumes, for example, that the routing of a cable does not result in
> substantial contact with a conductive surface (such as the chassis) which
> can effect the cable characteristic impedance and thereby signal
> propagation). If you follow the Annex C (and the other scsi)
> recommendations, you are almost certain to have a functional scsi bus.

If you have adequate drive capability (spelled proper), you do not
have to muck around with cable placement and esoterics. That is the
point.

>
> > The Adaptec AHA-2940 is a very troublesome card.
>
> > We replaced many of these boards with Buslogic BT-958 boards when we had
> > to drive many SCSI devices.
>
This board does not have adequate drive capability. You should clip a
'scope probe on any active lead and look for yourself.

> The various members of the 2940 family have all worked fine for me. I have
> used at least 5 different instances of these cards and have three
> operating flawlessly right now as I type. I don't claim that they are the
> fastest but I get very decent performance from my md raid. I don't claim
> that they are the most robust but I have operated a 6 drive md raid with a
> single 2940 using a 1.5 meter cable without a problem (bandwidth is
> obviously better when using multiple scsi cards). I make my own cables
> BTW (much cheaper and I can make them exactly as required).
>
Fortunately you have drive receivers with low threshold levels. This
is a two-edged sword, though. It makes them more affected by noise.

> I have no skin in Adaptec.
[SNIPPED]
In the old IBM-XT days, I wrote several BIOSes for Adaptec when they
were in Milpidas CA. I did this as a spare time thing when I worked
for GE's Advanced Development Group in Rancho Cordova, CA. At that
time, they were a small company that made very good products. I
continued to recommend Adaptec products throughout the years without
realilizing that times had changed and things had changed. Recently
I discovered that the 2940 is absolute garbage.

Cheers,
Dick Johnson
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Richard B. Johnson
Project Engineer
Analogic Corporation
Voice : (508) 977-3000 ext. 3754
Fax : (508) 532-6097
Modem : (508) 977-6870
Ftp : ftp@boneserver.analogic.com
Email : rjohnson@analogic.com, johnson@analogic.com
Penguin : Linux version 2.1.28 on an i586 machine (66.15 BogoMips).
Warning : It's hard to remain at the trailing edge of technology.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-