Monday 29 April 2013

SCSI FUNDAMENTALS - 1



Before we start talking about SCSI, let's define first what a "bus" is, and what kind of bus SCSI is:


"A conductor or an assembly of conductors used for collecting electric currents and distributing them to outgoing feeders"


How SCSI fits into a computer system. We can classify buses by their "intelligence" (or lack thereof), mode of operation (serial or parallel), and most importantly we need to clarify the position of the SCSI bus in a computer system (backplane bus, peripheral bus, or network bus). Using these classifications, we can say that SCSI is a peripheral bus, that is intelligent, parallel, with medium-to-high performance. With regard to polarity, SCSI using Single-Ended interface is a "negative" bus (LOW level represents the logical TRUE).

back plane bus ???

 It is used as a backbone to connect several printed circuit boards together to make up a complete computer system. Example: PCI

Single ended ???

One wire carries a varying voltage that represents the signal, while the other wire is connected to a reference voltage, usually ground. but nowadays, differential signalling ( two complementary signals sent on two paired wires, called a differential pair ) is the most commonly used which has more advantages in controlling noise and interference.

"Why would anyone use SCSI”


Ease with which new peripheral devices can be added to a computer system. Without SCSI, for each new peripheral you must teach the computer how to manipulate the hardware to accomplish the reading or writing of data to and from the device.

Another good reason for using SCSI is the high performance requirements.

With SCSI, the intelligence moved from the host to the peripheral device. The designer only needs to write a new I/O driver


INITIATOR - TARGET


There are two kinds of devices on the SCSI bus: the SCSI Initiators start the I/O process, and the Targets respond to a request to perform an I/O process. In other words, Initiators are devices which request that commands be carried out, and Targets are devices which carry out commands. The "master" and "slave" function moves back and forth between the two. The Initiator starts the arbitration and selects a Target. The Target takes over and requests a command from the Initiator. The Initiator responds by sending the command code (Command Descriptor Block - CDB) to be executed.



How was the interconnect done???

Initiator has 2 interfaces one side it has SCSI interface to connect with SCSI target device the other side it will be the back plane bus (PCI Express)to connect to the host system.


 




More peripherals may be added to the same SCSI bus, such as a SCSI tape backup unit or a SCSI printer, etc. Each Target device can also be subdivided into several Logical Units (LUNs). It is also possible to connect several computers, each with one or more SCSI host adapters to a shared peripheral, such as a SCSI scanner.


SCSI devices connected to the bus must use unique identification addresses, each one with one ID bit assigned to it.


Asynchronous – Synchronous

There are two handshaking protocols controlling the transfer of information. They are called “asynchronous” and “synchronous”. The two modes differ in the way the strobe signals REQ and ACK handshake. 


An important feature of SCSI is the ability to disconnect and reconnect. This feature allows slow operations (like seek in disks, or rewind in tapes) to be executed off line.


LOGICAL BLOCK ADDRESSING (LBA)

Uniformity of data addressing, e.g. in magnetic disks, is accomplished by the concept of logical blocks. If the computer wants to access the data in a certain Logical Block Address (LBA), it does not need to know the physical geometry or layout of the device. All knowledge of the physical details (e.g. track, cylinder, head, sector address) is embodied within the device itself, where the logical address is internally converted to a physical address.


The Initiator uses the Read Capacity command (usually in the bootstrap sequence) to find the maximum LBA.

SCSI DEVICE TYPES


In SCSI-1 there are six SCSI device types defined:
1 - Random access (LBA addr, Tx.Length)
2 - Sequential access (read next record)
3 - Printer (page layout control)
4 - Processor (simple Send & Receive)
5 - WORM (big size, removable)
6 - Read Only random access

SCSI-2 has five additional device types:
6 - CD-ROM (replacing Read Only random access)
7 - Scanner (page layout like printer)
8 - Magneto Optical
9 - Medium Changer(Jukebox) (mechanical control)
10 - Communication


SCSI-3 redefined the device types as follows:
1 - Block devices (SBC) (magnetic & optical disks)
2 - Stream devices (SSC) (tapes, processors, communications)
3 - Graphic devices (SGC) (printers, scanners, pre-press)
4 - Medium changer devices (SMC) (jukeboxes)
5 - RAID Controllers (SCC) (controllers)
6 - CD-ROMS (MMC) (multimedia)
7 - Enclosures (ESC) (environmental services)



SCSI 1, 2, 3 ??? Nothing but versions 3 is the latest

Let's see more about commands, queues in the next post... bye...











1 comment: