vail@tegra.COM (Johnathan Vail) (12/19/90)
Is anyone familiar with handling errors with the WD/AMD 33C93? More particularly: given a bad block on the disk, how to handle the 0x4b, 41, 4f interrupts that are generated? The data sheet isn't too clear and I don't have any AP-notes. Thanks, jv "They, that can give up essential liberty, to obtain a little temporary safety, deserve neither liberty nor safety." -- Benjamin Franklin 1759 _____ | | Johnathan Vail | n1dxg@tegra.com |Tegra| (508) 663-7435 | N1DXG@448.625-(WorldNet) ----- jv@n1dxg.ampr.org {...sun!sunne ..uunet}!tegra!vail
taylor@Solbourne.COM (Dick Taylor) (12/25/90)
In article <1866@atlas.tegra.COM> vail@tegra.COM (Johnathan Vail) writes: > >Is anyone familiar with handling errors with the WD/AMD 33C93? > >More particularly: given a bad block on the disk, how to handle the >0x4b, 41, 4f interrupts that are generated? > >The data sheet isn't too clear and I don't have any AP-notes. > >Thanks, jv Hoo boy. Can you say "can of worms"? Let's start with your last sentence. Of COURSE you don't have any applications notes. App notes are never sent unless the customer asks for them, and since there's no publically-available list of them, you never know what to ask for. I think this is WD's way of encouraging self-help among its customers. The note you really need is one written by John Spongr on January 30, 1987, which contains a detailed flowchart of the operation of the chip. I have it in a March 1987 packet of applications notes that we got from Western Digital after reasonably strident requests. This one will show you how the various states are supposed to work. The 0x4b, 41, and 4f interrupts are all variations on the same theme -- a SCSI bus sequence was initiated that the chip didn't expect. Since it doesn't expect very many sequences, these aren't uncommon interrupts. The general rule for dealing with these is to initiate programmed I/O transfers to get the SCSI bus information (like the unexpected messages) until you get into a state that matches the expected sequence, and then use a select-and-transfer with the command phase register set appropriately to restart the state machine. Unfortunately, there are a number of problems with this, most notably that the state machine doesn't restart gracefully in a variety of circumstances (mostly having to do with recovery after parity or sequence errors at awkward parts of the process). So you end up having, worst-case, to build a sort of a state machine around the chip, just to get its state machine to work properly. If you don't have any app notes, you probably also don't have the current bug lists for the part you're using (and EVERY version of the part has a slightly different bug list). You need these if you're going to get into programming the part at all. For bug lists and application notes, call WD support directly, and ask for their applications engineering folks. I've had mixed results with error debugging with these people, but I've never gotten anything but good cooperation at getting information, _once_I_knew_what_to_ask_for_. If you want to continue this discussion into the bits and bytes of the chip, feel free to email. DISCLAIMER: Although I get sarcastic about Western Digital and the 33C9{2|3}[A|B] family of chips, it comes from years of working more or less successfully with them. WD is far from the worst company in the business, and their chips have some real advantages over any of their competition. > > >"They, that can give up essential liberty, to obtain a little temporary > safety, deserve neither liberty nor safety." -- Benjamin Franklin 1759 > _____ >| | Johnathan Vail | n1dxg@tegra.com >|Tegra| (508) 663-7435 | N1DXG@448.625-(WorldNet) > ----- jv@n1dxg.ampr.org {...sun!sunne ..uunet}!tegra!vail -- Dick Taylor Solbourne Computer, Inc.
augi@cbmvax.commodore.com (Joe Augenbraun) (01/18/91)
In article <1990Dec24.184704.3376@Solbourne.COM> taylor@Solbourne.COM (Dick Taylor) writes: > In article <1866@atlas.tegra.COM> vail@tegra.COM (Johnathan Vail) writes: > > > >The data sheet isn't too clear and I don't have any AP-notes. > > > > For bug lists and application notes, call WD support directly, and ask > for their applications engineering folks. I've had mixed results with > error debugging with these people, but I've never gotten anything but > good cooperation at getting information, _once_I_knew_what_to_ask_for_. > I thought it might help some people if I posted what I know exists as far as documentation for the 33C93. I had to visit WD once to debug a problem we had when switching from the 33C93 to 33C93A, and was shocked to see the amount of material that was available that we never knew about. Here's what I snarfed from them during that visit last year: WD33C92A/3A SCSI BUS. Interface controller programmer's ref guide Miscallaneous tech briefs Bug list for each rev part that has shipped to customers WD33C92 and WD33C93 SCSI bus interface controller starter kit, v1.0 WD33C92A/WD33C93A App. Notes, preliminay, October, 1989, rev. 2 In addition, there exists a data 'sheet' and preliminary spec for WD33C93 and WD33C93A. There are at least 10 revs of the 33C93 and 33C93A of which I am aware. These are known as XA, XB, XC, etc. Some have shipped to customers, some are purely internal. If I remember right the rev number is printed numerically as the second field on the line after the part number. For example the chip in front of me is marked {1st line}WD33C93A-PL / {2nd line}00-04 8940. This would be an XD version of the 33C93A because of the 04 in the second line. Another part I have is marked {1st line}(c)WDC'85 / {2nd line}WD33C93-PL / {3rd line}00-02 8736. This is an XB WD33C93. On the underside of the chip, original 33C93's will start with 3393. They then did a die shrink, and these chips are marked 4393. 33C93A's are marked 5393 in this position. Theoretically no 4393's were ever shipped to customers. I think I've seen some chips with the rev number printed on the underside instead of the top. Oddly enough, this was difficult information to extract from WD. I hope this helps someone. Joe -- ----------------------------------------------------------------------------- I'm a member of DAD, "The American Dislexics Association" ----------------------------------------------------------------------------- Joe "Augi" Augenbraun ucp: {uunet|ihnp4|rutgers}!cbmvax!augi System Engineering arpa: cbmvax!augi@uunet.uu.net Commodore Business Machines Phone: 215-431-9332