I wrote a post on RAID some time back and realised that it would be better to write about my understandings of SCSI (pronounced as "skuzzy"). It is a popular interface for attaching hard-disks in computers.
3) Command queuing: Can send 256 commands on bus to SCSI device
4) The device can process commands in any order it desires
5) Frees bus for other devices and commands
Working of SCSI
Dis-advantages of SCSI
Where is SCSI in desktop?
Then why dont we see it in our desktop computer? Well SCSI is a costly technology than the IDE interface and the advantages offerred by it are not very useful for a typical desktop computer at home.Where is SCSI used then?
Well it is mainly used in high-end machines and servers like those incorporated by banks or scientific research institutes. As an example look at what IISc, Banglore is using as a file server, an IBM RS/6000 43P 260 with SSA Storage. That would be a good usage of SCSI interface.What is SCSI?
Well SCSI was initially designed as a high-level, expandable, high-performance interface. It was not supposed to be tied up with only hard-disk, although now-adays it is thought as a hard-disk interface. But many other devices can be connected to SCSI than just hard-disk. There are various variations of SCSI protocol depending on how they developed and what features got added. The latest SCSI-3 defines a lot many different standards, each covering different aspects of SCSI.Most of the different SCSI-3 documents fall into the following three general categories:
- Commands: These are standards that define specific command sets for either all SCSI devices, or for particular types of SCSI devices.
- Protocols: These standards formalize the rules by which various devices communicate and share information, allowing different devices to work together. These standards are sometimes said to describe the transport layer of the interface.
- Interconnects: These are standards that define specific interface details, such as electrical signaling methods and transfer modes. They are sometimes called physical layer standards as well.
Unique Features
l
1) Separate bus that is attached to system bus through an adapter- Built in controller interprets demands
- Adapter handles the commands & does not utilize the CPU
- Only the adapter takes up a system IRQ instead of each device (better scalability)
3) Command queuing: Can send 256 commands on bus to SCSI device
4) The device can process commands in any order it desires
5) Frees bus for other devices and commands
Working of SCSI
- Initiators are devices that request I/O processes
- Targets are those devices that perform the actions requested by the initiator.
- Each device attached to the SCSI bus may be an initiator
- The bus is only used for transmitting data and commands
- The transfer of data and commands occurs in eight phases
- Bus-Free – Checks if bus is free to use
- Arbitration – Bus placed in busy state; higher ID wins in contention
- Selection – Target states it is active too, remembers initiator for broken connections
- Command - 4 -7 share the data & commands
- Data – also termed Data In about connection and status
- Message – also termed Data Out information for each device
- Status
- At completion the initiator will reset the bus’ control signal to a ready state
- During selection an intentional or error break can occur – an intentional would be for memory access which is time consuming so it frees the bus for utilization
Dis-advantages of SCSI
- Generally more expensive, due to more complex firmware, extra testing is required, and increased performance typically costs more in the computer market.
- Slightly more complicated to install, due to termination requirements and if one uses multiple buses.
- Terminology and connection protocol options are overwhelming.
- Some people point to the need to set IDs in SCSI as making it more complicated, but it's really no more complicated than choosing master/slave jumpers in IDE.

