Electronic Review of Computer Books

[ ERCB Home | New | Feature | Brief | DDJ | Letters | Links ]

[an error occurred while processing this directive]

Vital Statistics

Title The SCSI Bus and IDE Interface: Protocols, Applications, and Programming, Second Edition
Author Friedhelm Schmidt
Publisher Addison-Wesley Longman
http://www.awl.com/
Copyright 1998
ISBN 0201175142
Pages 396
Price $34.95

Title The Book of SCSI: I/O For the New Millennium, Second Edition
Authors Gary Field and Peter Ridge
Publisher No Starch Press
http://www.nostarch.com
Copyright 2000
ISBN 1886411107
Pages 430
Price $49.95

Title The Programmer's Guide to SCSI
Author Brian Sawert
Publisher Addison-Wesley Longman
http://www.awl.com/
Copyright 1998
ISBN 0201185385
Pages 292
Price $42.95


A Tale of Three Books

When you compare The SCSI Bus and IDE Interface, by Friedhelm Schmidt, The Book of SCSI, by Gary Field and Peter Ridge, and The Programmer's Guide to SCSI by Brian Sawert, Schmidt's book is more of a concise reference text, Field's a backgrounder for technical support or technical managers, and Sawert's a purely programming tutorial for working developers. Overall, I find Schmidt's book the most useful, but perhaps my bias comes from experience: times of heavy stress and tight deadlines with The SCSI Bus and IDE Interface as my only reference. On the other hand, The Book of SCSI is more informal, easier to read, and more modern with its references to Linux, Python, and DVD. Likewise, The Programmer's Guide to SCSI is also easier to read than Schmidt's book, and includes coverage of Linux. The SCSI Bus and IDE Interface reads like an update of an older version with additions to the SCSI standard.

The depth of coverage of SCSI topics such as commands, codes, and timing diagrams is about the same for both The Book of SCSI and The SCSI Bus and IDE Interface, while The Book of SCSI has more casual dialog with an amusing "ode to SCSI" poem at the beginning and topics discussing "your mission" and whether you should care. The SCSI Bus and IDE Interface has direct reference to just the protocols and little deviation, whereas The Book of SCSI more extensively discusses peripheral topics such as device drivers, DMA channels, PC IRQs, and corporate mergers and acquisitions. In The Programmer's Guide to SCSI, the single deviation from the topic of programming SCSI is a curious table of comparisons between UNIX device driver interfaces for AIX, Solaris, SCO, Tru64, HP-UX, and Linux.

The Book of SCSI tends to assume less technical experience and contains more diagrams of connectors and cables and also has a significant amount of code for Windows 95/NT and OS/2 in C, Pascal, and Intel assembler. The SCSI Bus and IDE Interface, on the other hand, contains a smaller amount of code in Pascal. As you might expect, The Programmer's Guide to SCSI is all code (in C/C++) with little coverage of the protocols, and barely a page and a half discussion about bus analyzers, emulators, and other debugging tools. The quality of the code in all three books is remarkably high.

What makes The SCSI bus and IDE interface feel more like a reference work is the general style and its handy listing of SCSI commands by opcode in Appendix A, a listing of sense codes in Appendix C, the addresses of manufactures and organizations in Appendix F, topics like "Examples From Industry", the four-page discussion of analyzers, emulators, and a chapter on individual controller chips. However, Adaptec has acquired most if not all of the descendants of these chips and there is limited coverage of the more common Adaptec controllers. In contrast, The Book of SCSI focuses more on ASPI and Adaptec. In general The Book of SCSI is written with the assumption that your system is an Intel-based PC, and contains chapters on adding SCSI to your PC and a PC technical reference. To be fair, it does contain a 40-plus page "All Platform Technical Reference" but this is inconsistent with the rest of the book. The SCSI Bus and IDE Interface covers PC topics but is also more relevant to servers and workstations: it contains, for example, a reference to VAX/VMS.

All three books come with some form of media, (the Schmidt book has a floppy, the other two have CD-ROMs) with example source code, online documentation, and diagnostic tools, and include reasonable glossaries and moderate-to-decent production values. In each book the authors are very experienced, with more than 20 years in the field. In some ways the books are complementary. I would first read The Book of SCSI, use The SCSI Bus and IDE Interface as a reference (mostly as it is smaller and easier to find the size of fields and typical values of command data blocks when debugging), and consider The Programmer's Guide to SCSI a source of example source code if working with Linux, ASPI, TSPI, or Windows NT.

Both The Book of SCSI and The SCSI Bus and IDE Interface briefly cover buses other than SCSI but obviously The SCSI Bus and IDE Interface contains more detail on IDE, including registers, electrical interface, command codes, and parameters. The Book of SCSI just presents enough of an overview to make purchasing decisions.

To summarize, The SCSI Bus and IDE Interface is smaller, cheaper, more succinct, and a little more out of date than The Book of SCSI. The Programmer's Guide to SCSI is not much more than an introduction to SCSI plus a tutorial on how to program ASPI, TSPI, Windows NT, and Linux. Each book is a worthwhile purchase and together they are even complementary. However, none of the books is a substitute for the latest version of the ANSI SCSI standard and the operating system vendor's device driver documentation.

-- Regan Russell


Quick Rating: SCSI Bus and IDE Interface

Readability Star Star
Originality Star Star
Organization Star Star
Accuracy Star Star Star
Consistency Star Star
Depth Star Star Star
Timeliness Star
Editing Star Star
Design Star Star
Overall Value Star Star

Explanation of ERCB rating scale:
No stars = unacceptable
1 Star = marginal
2 Stars = average
3 Stars = above average
4 Stars = exceptional

Quick Rating: The Book of SCSI

Readability Star Star Star
Originality Star
Organization Star Star
Accuracy Star Star
Consistency Star Star
Depth Star
Timeliness Star
Editing Star
Design Star
Overall Value Star Star

Explanation of ERCB rating scale:
No stars = unacceptable
1 Star = marginal
2 Stars = average
3 Stars = above average
4 Stars = exceptional

Quick Rating: The Programmer's Guide to SCSI

Readability Star Star Star
Originality Star
Organization Star Star
Accuracy Star Star
Consistency Star
Depth Star
Timeliness Star Star
Editing Star Star
Design Star
Overall Value Star Star

Explanation of ERCB rating scale:
No stars = unacceptable
1 Star = marginal
2 Stars = average
3 Stars = above average
4 Stars = exceptional


Copyright © 2001 Electronic Review of Computer Books
Created 2/17/2001 / Last modified 2/17/2001 / webmaster@ercb.com