Jump to content

Small Computer System Interface: Difference between revisions

From EDM2
No edit summary
No edit summary
Line 5: Line 5:
In hardware terms SCSI still has a number of  advantages over alternatives such as SATA, although its main advantage is of processing independence from the host was partially lost in the mid-90's on PC systems (PC architecture issue rather than an OS or driver issue).
In hardware terms SCSI still has a number of  advantages over alternatives such as SATA, although its main advantage is of processing independence from the host was partially lost in the mid-90's on PC systems (PC architecture issue rather than an OS or driver issue).


====ASPI====
====Advanced SCSI Programming Interface====
A programming interface introduced by [[Adaptec]] in the 1990's that simplifies the programming for end user applications that need to access a SCSI device, most but not all SCSI drivers provide an ASPI interface.
Better known as just '''ASPI''', it is a programming interface introduced by [[Adaptec]] in the 1990's that simplifies the programming for end user applications that need to access a SCSI device or devices with compatible command interface such as ATAPI, most but not all SCSI drivers provide an ASPI interface. Most operating systems provide an ASPI interface for their ATAPI (IDE/SATA) implementation or have them as optional installs although with the decline in use of [[CD-ROM]] technology the use of ASPI has gone down as well.


====InfiniBand====
====InfiniBand====

Revision as of 22:14, 1 February 2016

The Small Computer System Interface, better known by the acronym SCSI is a set of standards that dictate the physical connection between a computer and peripheral devices and the hardware and software implementation needed to make all that work together.

Even though nowhere as popular as it once was it is still pretty much a requirement for anyone doing low level programming to have at the least a basic understanding of the SCSI subsystem and the standard commands etc. Most if not all alternative data transport systems for peripheral devices copy the SCSI command structure to some degree and storage centered standards like SATA copy the command structure down to a tee, even though they are electrically very different systems. You are therefore going to find SCSI in the oddest of places when you are doing any programming that involves interfacing with storage systems of some sort.

In hardware terms SCSI still has a number of advantages over alternatives such as SATA, although its main advantage is of processing independence from the host was partially lost in the mid-90's on PC systems (PC architecture issue rather than an OS or driver issue).

Advanced SCSI Programming Interface

Better known as just ASPI, it is a programming interface introduced by Adaptec in the 1990's that simplifies the programming for end user applications that need to access a SCSI device or devices with compatible command interface such as ATAPI, most but not all SCSI drivers provide an ASPI interface. Most operating systems provide an ASPI interface for their ATAPI (IDE/SATA) implementation or have them as optional installs although with the decline in use of CD-ROM technology the use of ASPI has gone down as well.

InfiniBand

A very high speed interconnect standard primarily used as a high networking hardware, it allows for a form of iSCSI for peripheral or storage devices best described as "SCSI over InfiniBand".

Links

Publications

Introductory material
  • Friedhelm Schmidt: SCSI-Bus und IDE-Schnittstelle (4. Auflage) - 2001 - Out of print - Addison-Wesley - ISBN 3827318289
A much improved fourth edition of this book, IDE in particular improved and all in all one of the better introductory texts but only available in German.
English translation of an older version
  • Gary Field and Peter Ridge: Book of SCSI (2nd edition): I/O for the New Millennium - 2000 - In print - No Starch Press - ISBN 1886411107
This is targeted towards the beginner but as such is a rather good introduction.
  • Brian Sawert: The Programmer's Guide to SCSI - 1998 - Addison-Wesley - In print - ISBN 0201185385
  • Louis Columbus: Exploring the World of SCSI - 2000 - Out of print - Prompt publishing - ISBN 0790612100
Targeted towards the end user rather than the programmer.
  • Marc D. Brooks, Duane J. Stein and Barry B. Shiloff: "Making SCSI Work" - 1999 - Out of print - Paralan Corporation - ISBN 096574650X
  • NCR Corp: SCSI: Understanding the Small Computer System Interface - 1990 - Out of print Prentice Hall - ISBN 0137968558
Well written and clear introduction, but very outdated.
Reference works
  • Jeffrey D. Stai: The SCSI Bench Reference (3rd edition) - 1997 - In print - ENDL Publications - ISBN 1879936305
Aimed squarely at the technician rather than the software engineer, but as such very good although outdated.
Actually a technical sales document if a bit long at 377 pages, and outdated but does contain loads of relevant SCSI information to a point where some implementations point to this publication rather than the published standard. There were later editions released by the company but they are not to be found on the net.
  • L. Brett Glass: The SCSI Book; Complete Reference to Use, Programming and Applications - 1991 - Out of print - Brady Computer Books - ISBN 0137921365
Very good in its day and still has some value, but outdated.
Infiniband
  • William T. Futral: InfiniBand Architecture Development and Deployment - 2001 - In print - Intel Press - ISBN 0970284667
  • Mellanox Technologies: Introduction to InfiniBand - PDF file