Jump to content

Small Computer System Interface: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
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.
The Small Computer System Interface ('''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.
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 centred 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).
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-90s on PC systems (PC architecture issue rather than an OS or driver issue).


====Advanced SCSI Programming Interface====
==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.
Better known as just '''ASPI''', it is a programming interface introduced by Adaptec in the 1990s 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.


====SCSI over Ethernet====
==SCSI over Ethernet==
A networking protocol that allows computers to access storage devices and other peripherals to be accessed over Ethernet as if they where local SCSI devices, via encapsulation.
A networking protocol that allows computers to access storage devices and other peripherals to be accessed over Ethernet as if they where local SCSI devices, via encapsulation.


====Fibre channel====
==Fibre channel==
High speed networking standard that is in practice mostly used to connect high speed storage devices to computer servers using a SCSI based protocol very similar to SCSI over Ethernet.
High speed networking standard that is in practice mostly used to connect high speed storage devices to computer servers using a SCSI based protocol very similar to SCSI over Ethernet.


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


====USB Attached SCSI====
==USB Attached SCSI==
Introduced with the USB version 3 specification but has also been made to work with USB 2. Basically replaces the USB Mass Storage Bulk-Only Transport (BOT) with the SCSI protocol. In general UAS is faster than the old BOT especially when dealing with SSD or other fast flash memory technology. At this point in time there are no OS/2 drivers for UAS.
Introduced with the USB version 3 specification but has also been made to work with USB 2. Basically replaces the USB Mass Storage Bulk-Only Transport (BOT) with the SCSI protocol. In general UAS is faster than the old BOT especially when dealing with SSD or other fast flash memory technology. At this point in time there are no OS/2 drivers for UAS.


====Universal Flash Storage====
==Universal Flash Storage==
Or '''UFS''' is a new(ish) standard for flast storage on consumer devices, the hardware interface part is either M-PHY or UniPro but the software interface copies SCSI.
Or '''UFS''' is a new(ish) standard for flash storage on consumer devices, the hardware interface part is either M-PHY or UniPro but the software interface copies SCSI.


==Publications==
==Publications==
Line 27: Line 27:
*Friedhelm Schmidt: ''SCSI-Bus und IDE-Schnittstelle'' (4. Auflage) - Addison-Wesley 2001, ISBN 3827318289
*Friedhelm Schmidt: ''SCSI-Bus und IDE-Schnittstelle'' (4. Auflage) - Addison-Wesley 2001, 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.
: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.
* Friedhelm Schmidt: ''[http://www.tenox.net/docs/scsi/The_SCSI_Bus_and_IDE_Interface_2nd_Ed.pdf The SCSI bus and IDE interface]'' (2nd edition) - Addison-Wesley 1998, ISBN 0-201-17514-2
* Friedhelm Schmidt: ''The SCSI bus and IDE interface'' (2nd edition) - Addison-Wesley 1998, ISBN 0-201-17514-2
:English translation of an older version  
:English translation of an older version  
*Gary Field; Peter Ridge: ''Book of SCSI: I/O for the New Millennium'' (2nd edition) - No Starch Press 2000, ISBN 1886411107
*Gary Field; Peter Ridge: ''Book of SCSI: I/O for the New Millennium'' (2nd edition) - No Starch Press 2000, ISBN 1886411107
Line 44: Line 44:


;Reference works
;Reference works
* Seagate Corp. [http://www.seagate.com/staticfiles/support/disc/manuals/scsi/100293068a.pdf SCSI Commands Reference Manual] - Includes Fibre Channel and SAS
* Seagate Corp. ''SCSI Commands Reference Manual'' - Includes Fibre Channel and SAS
* Jeffrey D. Stai: The SCSI Bench Reference (3rd edition) - 1997 - ENDL Publications - ISBN 1879936305
* Jeffrey D. Stai:
: Aimed squarely at the technician rather than the software engineer, but as such very good although outdated.
**''The SCSI Bench Reference'' (3rd edition) - ENDL Publications 1997, ISBN 1879936305 - Aimed squarely at the technician rather than the software engineer, but as such very good although outdated.
* Jeffrey D. Stai: [http://www.tenox.net/docs/scsi/The_SCSI_Encyclopedia_Vol_1_Phases_And_Protocol_a-m.pdf SCSI Encyclopedia Phases & Protocols A-M] - 1991 - ENDL Publications - ISBN 1879936119
**''SCSI Encyclopedia Phases & Protocols A-M'' - ENDL Publications 1991, ISBN 1879936119
* Jeffrey D. Stai: [http://www.tenox.net/docs/scsi/The_SCSI_Encyclopedia_Vol_1_Phases_And_Protocol_n-z.pdf SCSI Encyclopedia Phases & Protocols N-Z] - 1991 - Out of print - ENDL Publications - ISBN 1879936127
**''SCSI Encyclopedia Phases & Protocols N-Z'' - ENDL Publications 1991, ISBN 1879936127
* Jeffrey D. Stai: SCSI Encyclopedia Phases & Protocols A-M & N-Z (Set of two) - 1991 - ENDL Publications - ISBN 1879936100
**''SCSI Encyclopedia Phases & Protocols'' A-M & N-Z (Set of two) - ENDL Publications 1991, ISBN 1879936100
*Mike Jackson: ''SAS Storage Architecture: Serial Attached SCSI'' – MindShare Press 2006, ISBN 0977087808
*Mike Jackson: ''SAS Storage Architecture: Serial Attached SCSI'' – MindShare Press 2006, ISBN 0977087808
: Example chapters and index [https://www.mindshare.com/files/ebooks/SAS%20Storage%20Architecture.pdf PDF]
: Example chapters and index [https://www.mindshare.com/files/ebooks/SAS%20Storage%20Architecture.pdf PDF]
* Fujitsu Corp.: [http://bitsavers.trailing-edge.com/pdf/fujitsu/_dataBooks/1989_SCSI_Product_Guide.pdf Fast Track To SCSI - Product Guide] - 1989
* Fujitsu Corp.: [Fast Track To SCSI - Product Guide] - 1989
: 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.
: 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'' - Brady 1991, ISBN 0-13-792136-5
*L. Brett Glass: ''The SCSI Book'' - Brady 1991, ISBN 0-13-792136-5
: Very good in its day and still has some value, but outdated.
:Very good in its day and still has some value, but outdated.


;Standards
;Standards
* [http://www.rockbox.org/wiki/pub/Main/DataSheets/spc2r20.pdf SCSI Primary Commands - 2 ] - Version 20
* [http://www.rockbox.org/wiki/pub/Main/DataSheets/spc2r20.pdf SCSI Primary Commands - 2] - Version 20
* [http://www.o3one.org/hwdocs/scsispecs/hard_disk_sbc2r04.pdf SCSI Block Commands - 2] - Draft version
* [http://www.o3one.org/hwdocs/scsispecs/hard_disk_sbc2r04.pdf SCSI Block Commands - 2] - Draft version
* [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.444.515&rep=rep1&type=pdf SCSI/ATA Translation - 2] - Draft version
* [SCSI/ATA Translation - 2] - Draft version


;Hardware reference texts
;Hardware reference texts
* [http://www.microsemi.com/document-portal/doc_view/14643-an-1-understanding-the-single-ended-scsi-bus UNDERSTANDING THE SINGLE-ENDED SCSI BUS] - Microsemi application note
* [http://www.microsemi.com/document-portal/doc_view/14643-an-1-understanding-the-single-ended-scsi-bus Understanding the Single-Ended SCSI Bus] - Microsemi application note


;Fibre Channel
;Fibre Channel
* Ralph O. Weber and Jeffrey D. Stai: FCBR-2: Fibre Channel Bench Reference, Second Edition - ENDL Publications 2005, ISBN 1879936186
* Ralph O. Weber and Jeffrey D. Stai: FCBR-2: Fibre Channel Bench Reference, Second Edition - ENDL Publications 2005, ISBN 1879936186
;ASPI
* [ftp://ftp.dyu.edu.tw/pub/Hardware/vendor/ADAPTEC/adaptec/ A mirror of an old Adaptec ftp site with lots of ASPI info] - Since deleted from the Adaptec site proper.


;Infiniband
;Infiniband
Line 77: Line 74:
;USB Attached SCSI
;USB Attached SCSI
* Curtis E. Stevens: [http://www.usb.org/developers/presentations/pres0410/2-4_SSUSB_DevCon_UASP_Stevens.pdf USB Attached SCSI Protocol] - Presentation that gives an overview of the UASP.
* Curtis E. Stevens: [http://www.usb.org/developers/presentations/pres0410/2-4_SSUSB_DevCon_UASP_Stevens.pdf USB Attached SCSI Protocol] - Presentation that gives an overview of the UASP.
* [http://www.usb.org/developers/docs/devclass_docs/Mass_Storage_Specification_Overview_v1.4_2-19-2010.pdf Universal Serial Bus Mass Storage Class Specification Overview] - Gives you an overview of the standardincluding UAS.
* [http://www.usb.org/developers/docs/devclass_docs/Mass_Storage_Specification_Overview_v1.4_2-19-2010.pdf Universal Serial Bus Mass Storage Class Specification Overview] - Gives you an overview of the standard including UAS.


;UFS
;UFS
* [https://ufsa.org/wp-content/uploads/2011/06/1306_UFSA_White_Paper.pdf Introduction to the Universal Flash Storage Assocation] - UFS Assocation white paper - has background info on UFS.
* [https://ufsa.org/wp-content/uploads/2011/06/1306_UFSA_White_Paper.pdf Introduction to the Universal Flash Storage Association] - UFS Association white paper - has background info on UFS.
* [https://www.jedec.org/standards-documents/focus/flash/universal-flash-storage-ufs UFS Standards] - From JDEC
* [https://www.jedec.org/standards-documents/focus/flash/universal-flash-storage-ufs UFS Standards] - From JDEC


==Links==
==Links==
* [http://www.t10.org The T10 Committee] - Oversees the SCSI standard.
* [http://www.t10.org The T10 Committee] - Oversees the SCSI standard.
* [http://www.scsita.org SCSI Trade Accosiation] - Promotes the SCSI standards.
* [http://www.scsita.org SCSI Trade Association] - Promotes the SCSI standards.
* [ftp://ftp.dyu.edu.tw/pub/Hardware/vendor/ADAPTEC/literature/ A mirror of an old Adaptec ftp site with lots of info] - Since deleted from the Adaptec site proper.
* [ftp://ftp.dyu.edu.tw/pub/Hardware/vendor/ADAPTEC/literature/ A mirror of an old Adaptec ftp site with lots of info] - Since deleted from the Adaptec site proper.
* [ftp://ftp.monash.edu/pub/SCSI/ A cache of Draft SCSI 1 & 2 standards] - From Monash.edu


[[Category:Networking]][[Category:Storage]]
[[Category:Networking]][[Category:Storage]]

Latest revision as of 07:03, 11 November 2022

The Small Computer System Interface (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 centred 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-90s 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 1990s 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.

SCSI over Ethernet

A networking protocol that allows computers to access storage devices and other peripherals to be accessed over Ethernet as if they where local SCSI devices, via encapsulation.

Fibre channel

High speed networking standard that is in practice mostly used to connect high speed storage devices to computer servers using a SCSI based protocol very similar to SCSI over Ethernet.

InfiniBand

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

USB Attached SCSI

Introduced with the USB version 3 specification but has also been made to work with USB 2. Basically replaces the USB Mass Storage Bulk-Only Transport (BOT) with the SCSI protocol. In general UAS is faster than the old BOT especially when dealing with SSD or other fast flash memory technology. At this point in time there are no OS/2 drivers for UAS.

Universal Flash Storage

Or UFS is a new(ish) standard for flash storage on consumer devices, the hardware interface part is either M-PHY or UniPro but the software interface copies SCSI.

Publications

Introductory material
  • Friedhelm Schmidt: SCSI-Bus und IDE-Schnittstelle (4. Auflage) - Addison-Wesley 2001, 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.
  • Friedhelm Schmidt: The SCSI bus and IDE interface (2nd edition) - Addison-Wesley 1998, ISBN 0-201-17514-2
English translation of an older version
  • Gary Field; Peter Ridge: Book of SCSI: I/O for the New Millennium (2nd edition) - No Starch Press 2000, ISBN 1886411107
This is targeted towards the beginner but as such is a rather good introduction.
  • Brian Sawert: The Programmer's Guide to SCSI - Addison-Wesley 1998, ISBN 0-201-18538-5
  • Louis Columbus: Exploring the World of SCSI - Prompt 2000, ISBN 0790612100
Targeted towards the end user rather than the programmer.
  • Marc D. Brooks; Duane J. Stein; Barry B. Shiloff: Making SCSI Work Paralan Corporation 1999, ISBN 096574650X
  • NCR Corp: SCSI: Understanding the Small Computer System Interface - Prentice Hall 1990, ISBN 0-13-796855-8
Well written and clear introduction, but outdated. Short, almost a booklet rather than a book.
A short article that explains what SCSI standards are out there, what they define and how they came to be.
Quite good introduction to SCSI and more modern than most of the above.
Reference works
  • Seagate Corp. SCSI Commands Reference Manual - Includes Fibre Channel and SAS
  • Jeffrey D. Stai:
    • The SCSI Bench Reference (3rd edition) - ENDL Publications 1997, ISBN 1879936305 - Aimed squarely at the technician rather than the software engineer, but as such very good although outdated.
    • SCSI Encyclopedia Phases & Protocols A-M - ENDL Publications 1991, ISBN 1879936119
    • SCSI Encyclopedia Phases & Protocols N-Z - ENDL Publications 1991, ISBN 1879936127
    • SCSI Encyclopedia Phases & Protocols A-M & N-Z (Set of two) - ENDL Publications 1991, ISBN 1879936100
  • Mike Jackson: SAS Storage Architecture: Serial Attached SCSI – MindShare Press 2006, ISBN 0977087808
Example chapters and index PDF
  • Fujitsu Corp.: [Fast Track To SCSI - Product Guide] - 1989
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 - Brady 1991, ISBN 0-13-792136-5
Very good in its day and still has some value, but outdated.
Standards
Hardware reference texts
Fibre Channel
  • Ralph O. Weber and Jeffrey D. Stai: FCBR-2: Fibre Channel Bench Reference, Second Edition - ENDL Publications 2005, ISBN 1879936186
Infiniband
  • William T. Futral: InfiniBand Architecture Development and Deployment - Intel Press 2001, ISBN 0970284667
  • Mellanox Technologies: Introduction to InfiniBand - PDF file
USB Attached SCSI
UFS

Links