Line 3: |
Line 3: |
| | | |
| SCSI stands for '''S'''mall '''C'''omputer '''S'''ystem '''I'''nterface. Industry standards allowed for cooperation between vendors, before the empire, before the dark times. SCSI devices included floppy drives, scanners, hard disk drives, optical media (CD, DVDs,etc), and mag-optical. | | SCSI stands for '''S'''mall '''C'''omputer '''S'''ystem '''I'''nterface. Industry standards allowed for cooperation between vendors, before the empire, before the dark times. SCSI devices included floppy drives, scanners, hard disk drives, optical media (CD, DVDs,etc), and mag-optical. |
| + | |
| + | It originated from Shugart's 1979' SASI (Shugart Associates System Interface) and Shugart and NCR presented it to the ANSI in 1981. It became official in 1986, when the ANSI-committee X3T9.2 defined the SCSI-1 spec as document X3.131-1986. |
| + | |
| + | =Definitions= |
| + | ===SCSI-1=== |
| + | SCSI-1 defined a universal 8 bit I/O-Bus that allows connection of up to 8 devices including the so-called "host adapter". Every device must have a unique ID in the range of 0 to 7. SCSI-1 was a high-speed bus system, compared to this time's peripheral devices. |
| + | |
| + | ===SCSI-2=== |
| + | SCSI-1 was the first approved standard and lacked some points |
| + | and some definitions. So SCSI-2 development and approval started |
| + | while SCSI-1 still wasn't officially approved. In 1986, when |
| + | SCSI-1 was officially approved, SCSI-2 already was in the works |
| + | until now, when on January 31, 1994, the draft in revision 10L |
| + | was approved by the ANSI Board of Standards Review. |
| + | The official SCSI-2 designation (doc. nr.) will be X3.131-1994. |
| + | As you might remember, most manufacturers used the term "SCSI-2" |
| + | from about 1988 in marketing. This isn't real approved SCSI-2, |
| + | of course, but mostly you can trust this, as the changes were |
| + | not big for "standard" devices. SCSI-2 merely entered a better |
| + | formal definition, removed some oddities and obsolete things, |
| + | added some extensions, and most importantly, added the ability |
| + | to double and even quadruple data transfer speed on the SCSI bus |
| + | with it's "Fast" SCSI and "Wide" SCSI options. |
| + | |
| + | * The Type-1 connector (DB-50) was removed, high density SCSI-2 connector alternatives were added to the official options |
| + | * Synchronous Transfers became a standard feature, with optional |
| + | * Fast Synchronous Transfer Mode (Fast SCSI-2) |
| + | * Sync. Negotiation can be invoked by Initiator _and_ Target. |
| + | * 16Bit- and 32Bit-Wide SCSI became a defined option. |
| + | * SCSI bus parity changed from "optional" to "mandatory" |
| + | * Initiators now must provide terminator power |
| + | * Message support became mandatory |
| + | * Command Queueing became a defined option. For a device with command queueing needs memory to reorder the commands, this - with a little step further - introduced device caches, that can be manipulated through the Mode Sense Pages. |
| + | * the Common Command Sets (CCS) for several device classes became formally defined. |
| + | |
| + | ===Fast SCSI=== |
| + | With SCSI-2, Fast SCSI was defined as an option. Despite the tendency of the market to define Fast-SCSI as "different, but faster SCSI", Fast SCSI is only an additional synchronous data transfer mode with tighter timing to achieve the 10MB/sec max. data rate. As with any other synchronous transfer mode, only data transfers are synchronous, the commands are transferred asynchronous. Fast SCSI is _very_ picky with the SCSI cabling, especially with round external cabling. Most external cables doesn't support reliable Fast SCSI, the few that do are _very_ expensive. Fast SCSI is "not recommended" with passive terminators. |
| + | |
| + | ===Wide SCSI=== |
| + | Another SCSI-2 option is Wide SCSI. Two flavors are defined, 16 Bit and 32 Bit. Wide SCSI can be combined with Fast SCSI and so can give up to 40 MB/sec data rate. Every 8 bits have their own parity bit and also with every 8 bits you have the possibility to address another 8 devices. For every data bit line selects a device, with 16 Bit Wide SCSI, you can address 16 devices, 32 Bit Wide SCSI has 32 possible ID's. The X3T9.2 committee defined a 68-pin SCSI cable for 16 Bit and a combination of a standard 8 Bit 'A' and a 68 pin 'B' cable for 16 Bit and 32 Bit Wide SCSI. However, there is a 110 pin 'L'-cable at least in discussion that will support 8, 16 and 32 Bit connections and should be standardized with SCSI-3. |
| + | |
| + | ===SCSI-3=== |
| + | SCSI-3 is somewhat a revolution in the SCSI world - it defines high speed _serial_ interfaces. At the moment, there seem to be three of these serial interfaces in the works: Fiber Channel, Fiber Channel Low cost and P1394. |
| + | |
| + | The Fiber channel and FC/LC should provide up to 100 MBits/sec data throughput, where P1394, also called "FireWire", is defined to give up to 200 MBits/sec. P1394 seems to have one advantage over Fiber Channel - it's an "isochronous" transport layer, that means, it delivers - and should guarantee - a continuous data stream. |
| + | |
| + | There is also a new connector scheme called Single Connector Attachment (SCA). SCA uses an 80-pin connector to provide all neccessary signals for 8- and 16-bit SCSI devices, including power connections, LED-control and so on. |
| + | |
| + | ===Termination=== |
| + | The SCSI bus needs to be "terminated". This means, both ends of the bus must have a circuit of some sort to eliminate signal reflections that would occur from the physical ends of the bus. There are various circuit schemes of termination, the two most popular are drawn below. The termination circuit needs some power, and, to deliver this, there is a line called TERMPWR or Termination Power on the bus. Mostly, the TP source is the host adapter, for this reason you can see fuses on most host adapters, mostly about 1.5 Amp types. |
| + | |
| + | ===Single-Ended and Differential SCSI=== |
| + | There are two different electrical SCSI interfaces, Single-Ended and Differential SCSI. Single-Ended, "Standard" SCSI has (sic!) single ended TTL transceivers that allow up to 5 MHz data transfer rates with up to 6 meters cable length or up to 10 MHz data transfer (Fast SCSI) with up to 3 meters cable length. Differential SCSI has RS-485-style transceivers that allow up to 10 MHz data transfer rate, but with cable lengths up to 25 meters and with much better S/N conditions. Important is, Single-Ended and Differential devices are _not_ electrically compatible with each other. If you try to mix them, you'll likely end up in destroying the Single-Ended devices on the bus and - less probably - even the differential device(s). |
| + | |
| + | ===Synchronous and Asynchronous Transfers=== |
| + | SCSI can use two handshaking modes, Asynchronous and Synchronous. The main difference is, Asynchronous is basically a "classic" REQ/ACK handshaking system for each data packet, where with Synchronous, multiple REQ's can be issued before receiving ACK's, thus giving a big performance plus. |
| + | |
| + | ===ASPI=== |
| + | ASPI stands for Advanced SCSI Programming Interface. Mainly, it originated at Adaptec and was soon adopted by major companies. ASPI provides a communication layer to the SCSI adapter and the |
| + | devices without the need to know about the host adapter - all communication is made to the ASPI interface. So, basically the host adapter manufacturer writes an ASPI driver for his host adapter and he's in business without the need of writing a new CDROM driver, a disk driver and so on. Most actual tape backup software needs ASPI as a communication layer or - at least - support it. |
| | | |
| = Headaches: Conflicting IDs, Buses and Termination issues= | | = Headaches: Conflicting IDs, Buses and Termination issues= |
Line 405: |
Line 465: |
| { NULL, 0, NULL, 0, 0 } | | { NULL, 0, NULL, 0, 0 } |
| }; | | }; |
| + | |
| + | ===Octane and wide SCSI=== |
| + | > Too bad mine doesn't know that. It refuses to pass POST with the<br /> |
| + | > external Plextor attached via a 68pin/50pin HD cable (from Reichelt).<br /> |
| + | |
| + | Take a look at /var/sysgen/system/irix.sm and make an entry like that: |
| + | |
| + | DEVICE_ADMIN: /hw/node/xtalk/15/pci/1/scsi_ctrl/1 ql_wide_enable=0 |
| + | |
| + | This sets your external SCSI bus to narrow(8bit)-mode. You can make |
| + | further entries for disabling wide-mode on selected scsi targets, just |
| + | read the examples there. |
| + | |
| + | After saving, rebuild the kernel & reboot: |
| + | |
| + | autoconfig -v (or -vf) |
| | | |
| = IRIX and SCSI = | | = IRIX and SCSI = |
Line 461: |
Line 537: |
| | | |
| The low-level programming used with the dsreq device driver is eased by the use of a library of utility functions documented in the dslib(3) reference page. The source code of the dslib library is distributed with IRIX. | | The low-level programming used with the dsreq device driver is eased by the use of a library of utility functions documented in the dslib(3) reference page. The source code of the dslib library is distributed with IRIX. |
− |
| |
− |
| |
− | === See also ===
| |
− | [http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/0650/bks/SGI_Developer/books/DevDriver_PG/sgi_html/ch05.html| techpubs.sgi.com's Device driver programmers guide section on SCSI]
| |
| | | |
| | | |
Line 489: |
Line 561: |
| * [https://web.archive.org/web/20160319064137/http://forums.nekochan.net/viewtopic.php?f=14&t=16717881 O2 with dual-channel Adaptec SCSI card (modified kernel)] | | * [https://web.archive.org/web/20160319064137/http://forums.nekochan.net/viewtopic.php?f=14&t=16717881 O2 with dual-channel Adaptec SCSI card (modified kernel)] |
| | | |
| + | =See Also= |
| + | * [[Ultra SCSI]] |
| | | |
| [[Category:SGI]][[Category:Computing]] | | [[Category:SGI]][[Category:Computing]] |