Hard drive connection interfaces: SCSI, SAS, Firewire, IDE, SATA. Comparison of SCSI, SATA, IDE interfaces (hard drive interfaces) What is a scsi controller

💖 Do you like it? Share the link with your friends

SCSI (Small Computer Systems Interface - System interface for small computers, pronounced “skazi” in Russian) is an interface designed to combine devices of various profiles into a single system: hard magnetic drives, scanners, streamers, CD-ROMs, etc. .P. The essence of the interface is to provide a flexible mechanism for controlling these devices and maximum speed for their operation as a single but divisible mechanism.

The roots of the SCSI interface go back to 1979, when storage device manufacturer M. Shugart was tasked with finding a universal interface standard for his drives, taking into account possible future needs. In the laboratories of M. Shugart, an interface was eventually developed that supported logical and physical (head/cylinder/sector) addressing, based on 8-bit parallel protocols data transmission over an interface consisting of several lines. This interface was called SASI (Shugart Associates Systems Interface). The interface, in addition to describing the protocols, also included several 6-bit commands; The downside was that the interface was designed to use only one host-device pair.

Later, in 1981, M. Shugart transferred documentation on the SASI interface to the ANSI committee (American National Standards Institute, analogue of GOST), which accepted it as the basis for work on the project, which was called SCSI. Most of the most important points from the SASI standard migrated to SCSI, for example, such important principles as device arbitration, bus release mechanisms, the ability to use more than one host adapter on the bus, etc. In 1984, the working documentation of the SCSI standard was submitted to ANSI, and, after numerous adjustments and additions, document number X3.131-1986 was adopted in 1986 - the first official SCSI standard, which is now called SCSI-1. In addition to the SASI standard, SCSI-1 has acquired such important functionality, as 10-bit commands, synchronous and asynchronous data transfer protocol, the ability to connect to one host adapter up to 8 various devices. The standards that followed SCSI-1 developed both in the direction of expanding the command language and increasing and complicating the protocols, as well as increasing the bus width, increasing the speed and number of devices connected to one host adapter. For current SCSI standards, the bus width is 16 bits, the number of connected devices is also 16.

The PC industry did not miss the emergence of a new standard, which was immediately adopted mainly by HDD manufacturers. In Fig. 1, 2 show some of the first samples of SCSI disks.

Rice. 1, 2. The first samples of SCSI drives - from SONY (capacity 40 megabytes)
and Quantum (capacity 120 megabytes)

A Brief History of the SCSI Standard

The very first standard was SCSI-1; in this standard, it was possible to connect up to eight devices, including the controller, to one bus. The interface contains advanced management tools and at the same time is not focused on any specific type of device. It has an 8-bit data bus, the maximum transfer speed is up to 1.5 MB/s in asynchronous mode (according to the "request-acknowledgement" method), and up to 5 MB/s in synchronous mode ("several requests - several confirmations" method) . Parity can be used to detect errors. Electrically implemented in the form of 24 lines (unipolar or differential), although the vast majority of devices use unipolar signals.

SCSI-2 is a significant development of basic SCSI. Increased transfer speed (up to 3 MB/s in asynchronous mode and up to 10 MB/s in synchronous mode) - Fast SCSI. New commands and messages have been added, and parity support has been made mandatory. The ability to expand the data bus to 16 bits (Wide SCSI) has been introduced, which provides speeds of up to 20 MB/s. A new 68-pin connector has been introduced. The subsequent specification, SCSI-3, not only introduced new transfer rates, but also significantly expanded the command system. In addition, along with the traditional parallel bus interface, other parallel and serial protocols can be used as a transmission medium: Fiber Channel, IEEE 1394 Firewire and Serial Storage Protocol (SSP).

Ultra SCSI interface, uses a bus frequency of 20 MHz. The Ultra/Wide SCSI interface supports 16 devices and provides data transfer speeds of up to 40 MB/s. Faster Ultra-2 Wide SCSI, providing transfer speeds up to 80 MB/s. The following interfaces - Ultra-3 SCSI, Ultra 320 SCSI, Ultra 640 SCSI - did not bring anything fundamentally new to the standard except speed. They also remain with a 16-bit bus width, and up to 16 devices can be connected to the interface. Comparative characteristics SCSI standards are given in Table 1.

Table 1. Comparative characteristics of SCSI standards

StandardMaximum bus speed, MB/sec. Bus width Maximum cable length, m Maximum number of devices
The only device LVD HVD
SCSI-1 5 8 6 (3) 25 8
SCSI-2 10 8 3 (3) 25 8
Wide SCSI-2 20 16 3 (3) 25 16
SCSI-3 20 8 1.5 (3) 25 8
Wide SCSI-3 40 16 (3) 25 16
Ultra2 SCSI 40 8 (4) 12 25 8
Wide Ultra-2 SCSI 80 16 (4) 12 25 16
Ultra-3 SCSI,orUltra-160 SCSI 160 16 (4) 12 (5) 16
Ultra 320 SCSI 320 16 (4) 12 (5) 16
Ultra 640SCSI 640 16 (4) (7) (5) 16

What is a host adapter?

A host adapter is a device connected to the PC bus that provides the host (the meaning of the word “host” in relation to standards describing data transfer interfaces (English host), the phrase “bus master” most fully describes) communication with SCSI devices. The name “adapter” was not chosen by chance - this indicates that all the operating logic of the devices is located in peripheral devices on the bus; For devices called “controller” the logic is located within them.

The following manufacturers produce or have produced host adapters for SCSI devices in the past:

An example of a host adapter is the device shown in Fig. 3.

Rice. 3. SCSI host adapter from Adaptec

Modern SCSI HDD manufacturers

Currently, the HDD market is undergoing a rapid evolution - new, high-speed Serial ATA standards are replacing Parallel ATA. And, although new SATA devices have already come very close in operating speed to SCSI devices, and in some places they are even ahead of them, SCSI devices remain just as popular in High-End computers - servers and information arrays. This is due, first of all, to the high reliability of SCSI drives - both due to the relative simplicity of SCSI standards and a well-thought-out electrical interface, and due to the traditionally more careful design and manufacturing of devices. SCSI accounts for approximately 30 percent of the entire HDD market, and it is unlikely that it will ever cross this line: equipping a PC with all the necessary cables, adapters, as well as purchasing the host adapter itself will cost approximately $100, while drives will cost several times more their IDE brothers. Modern SCSI drive manufacturers are:

Competition in the SCSI disk market is not great - most likely because the market is quite full and is not developing as rapidly as the market for IDE devices - and this is due, first of all, to the fact that SCSI devices are most often used in servers, the demand for which is not so great. The convenience of SCSI devices is that they can be easily replaced during operation, without shutting down or losing the server's functionality. This is very important for servers, and not at all necessary for workstations. As a rule, servers (Fig. 4) are equipped with special slides (Fig. 5), into which a disk in a special mount (Fig. 6) is inserted very easily.

Rice. 4. Server equipped with SCSI disks

Rice. 5. SCSI drive bay

Rice. 6. SCSI drive mount used in hot-swappable servers

It is worth noting that very often server manufacturers re-label drives, giving them their own brands. As an example, I will give drives removed from servers Hewlett Packard and IBM e-Server (Fig. 7, 8), on which the real HDD manufacturer can be recognized only by the model name; The author has also seen disks removed from Dell servers where even this information was missing.

Rice. 7, 8. Modern SCSI drives used in servers

SCSI connector types

Rice. 9. SCSI connector types currently in use

SCSI devices can have different types of connectors for connecting them to the host adapter (see Fig. 9) - primarily this is due to the design features of the device itself. The HD68 connector is most often used for HDDs (Fig. 10), slightly less often - SCA80 (Fig. 11). In the distant past, in the late 80s and early 90s, almost all SCSI drives were connected to the host via a HE50 connector (Fig. 12). Currently, this connector is practically not found.

Rice. 10. HD68 connector.
Rice. 11. SCA80 connector.
Rice. 12. HE50 connector.

To connect devices with different connector configurations to the bus, specialized adapters may often be required. Such adapters, for example, are produced by SCS (http://www.scaadapters.com), their cost ranges from $10 to $35 per piece. Full set for working with any SCSI device is shown in Fig. 13, in Fig. 14 - 18 each adapter is shown separately

Rice. 13. Adapters required for connecting SCSI devices

Rice. 14 - 18. Same as fig. 13, separately.

How SCSI works

To match loads on the SCSI bus, terminators are used, which, based on their electrical properties, are divided into passive, active and FPT terminators. Terminators must be powered, so the interface has Terminator Power lines. Passive terminators were used in SCSI-1 devices; they are ordinary 132 Ohm resistors. Active terminators are a stabilizer that produces the desired signal - and each line is connected to this stabilizer through a 110 Ohm resistor. Currently, only active terminators are used, and auxiliary voltage sources are used - for these purposes, auxiliary diodes are usually used, which fix the voltage of the input signals at the required level. Finally, FPT terminators (Forced Perfect Terminator) are an improvement on active terminators, equipping them with emission limiters. Their application is in high-frequency versions of SCSI.

All SCSI devices are usually divided into initiators and executors. It should be taken into account that the bus can be standard (8 bits) or extended (16 bits) wide. Taking all this into account, the total number of possible device connection combinations can be reduced to four:

1. Standard initiator - standard executor
2. Extended initiator - extended executor
3. Standard initiator - extended executor
4. Advanced initiator - standard executor

When connecting standard executors to extended initiators, no problems can arise - the extended standard supports all the functions of the standard one, however, when connecting back, difficulties may arise with connecting terminators. In reality, these problems are easily solved by using adapters (see above).

SCSI bus states are usually divided into phases. There are only five such phases: the bus is free, arbitration (in this case the initiator can gain control of the bus), selection (in this case the initiator, who entered the arbitration phase first, selects the executor for further work), re-selection (the executor confirms to the initiator that he has been chosen by him for work and ready for work) and information phase (request-transmission of commands, data, messages). A block diagram of the sequence of phases of one cycle of operation on the SCSI bus is shown in Fig. 19.

After the selection phase, the initiator can time out, for which it can use two methods - perform a hardware reset or go to the “bus free” phase. In any case, the end of the cycle of work on the SCSI bus will be the setting of the “command completed” status or the transmission of a corresponding message with the release of the bus. Similar to the ATA standard, SCSI systems can use two protocols to reset the device - the hard reset protocol and the soft reset protocol. In both cases, the Reset line will have a one bit set; the differences in types of resets lie in their mechanism and purpose - as a rule, a hardware reset is carried out to reset operations across the entire system of SCSI devices, while a software reset is used to reset only one device, not interfering with the work of others.

Rice. 19. SCSI bus phase sequence block diagram

The SCSI bus uses nine control signals: BSY (Busy), SEL (Selection), C/D (Command/Data), I/O (Input/Output), MSG ( Message), REQ (Request), ACK (Acknowledge), RST (Reset), ATN (Attention). The sources of Busy, Select and Reset signals can be both the initiator and the performer; only the performer can be the source of the Confirmation signal; other signals are the prerogative of the initiator. Types of information transmission are encoded by bit combinations set for the Message, Control/Data, Input/Output signals, as shown in Table. 2.

Table 2. Types of information transfer via the SCSI bus

The interface is controlled by a message system. There are 28 of them in total, they can be single-byte, double-byte (one word) and extended. The message system is described in detail in any SCSI standard.

For selection specific device There is an ID bit on the SCSI bus. As a rule, SCSI devices are hardware configured, that is, the system identifies the device by the jumpers installed on it. The limitation on the number of connected devices in the standard (8-bit) and extended (16-bit) SCSI version is imposed precisely by the existence of the identifier bit - in an 8 or 16-bit bus it is impossible to set more than 8 or 16 identification bits, respectively, and this also includes the identifier bit host adapter - that is, in other words, in addition to the host adapter, there can be 7 more devices on the bus for standard SCSI, and 15 for extended ones.

SCSI Commands

TeamCommand code
CHANGE DEFINITION
Compare
Copy (COPY)
Copy and verify (COPY AND VERIFY)
FORMAT UNIT
Request (INQUIRY)
Lock-Unlock Cache
Log selection (LOG SELECT)
Log sensitivity (LOG SENSE)
Mode selection (MODE SELECT)
Mode sensitivity (MODE SENSE)
Preamplification (PRE-FETCH)
Deny permission to change media (PREVENT-ALLOW MEDIUM REMOVAL)
Reading (READ)
Read buffer (READ BUFFER)
Show capacity (READ CAPACITY)
Read defective data (READ DEFECT DATA)
Long reading (READ LONG)
REASSIGN BLOCK
RECEIVE DIAGNOSTIC RESULTS
RELEASE
REQUEST SENSE
Reserve (RESERVE)
Reset the device (REZERO UNIT)
Find identical data (SEARCH DATA EQUAL)
Find the highest data (SEARCH DATA HIGH)
Find low data (SEARCH DATA LOW)
Position (SEEK)
Request for diagnostics (SEND DIAGNOSTIC)
Set limit (SET LIMIT)
Start-stop the device (START STOP UNIT)
Synchronize cache (SYNCHRONIZE CACHE)
Request for device readiness (TEST UNIT READY)
Verification (VERIFY)
Record (WRITE)
WRITE AND VERIFY
Writing to a buffer (WRITE BUFFER)
Long recording (WRITE LONG)
Write the same (WRITE SAME)
40h
39h
18h
3Ah
04h
12h
36h
4Ch
4Dh
15h, 55h
1Ah, 5Ah
34h
1Eh
08h
28h, 3Ch
25h
37h
3Eh
07h
1Ch
17h
03h
16h
01h
31h
30h
32h
0Bh
2Bh, 1Dh
33h
1Bh
35h
00h
2Fh
0Ah
2Ah
2Eh
3Bh
3Fh
41h

The table above lists the main SCSI commands applicable to HDDs. As in the ATA standard, for the SCSI standard there are both mandatory commands, that is, those that must be supported by any SCSI device, and optional, optional commands, the support of which may not be supported by the device. In addition to them, there are so-called vendor commands that are not described in the standard, specific to each manufacturer and often for each specific line of devices - commands that the manufacturer uses for the purpose of repairing or diagnosing the device. These commands are, as a rule, a trade secret of the manufacturer and are not published anywhere.

SE, LVD, HVD

Typically, you will find markings similar to those shown in Figure 1 on a SCSI device. 20. This marking indicates the type of data transmission at the electrical level. The first is SCSI SE (Single Ended), which refers to a type of data transfer where each signal on the bus is provided by one conductor. SCSI LVD (Low Voltage Differential) and SCSI HVD (High Voltage Differential) - low-voltage and high-voltage differential types - are physically organized in the same way: for each signal there are two conductors, one carrying a signal of positive polarity, the other - negative. The differences between HVD and LVD are in the voltage in the conductors; for LVD it is lower than for HVD.

Rice. 20. Designations on SCSI devices, carrying information about the electrical type of data transmission

It is logical that HVD and LVD devices are incompatible - if you connect an LVD device to the bus of an HVD device, the first one will inevitably die due to excess signal voltage. The same can be said about SE and LVD devices - the cables for them are the same, but due to electrical characteristics they are not compatible. However, LVD devices can be connected to SE conductors, since they sense voltages on the bus and if they receive a bipolar signal in one pair of conductors, they can switch to using it. Typically, devices that can operate in both modes are identified by a special LVD/SE icon.

Compatibility of all types of devices on one bus is usually not required, but if such a need arises, the use of specialized adapters solves this problem quite easily (see above).

Continuous increase clock frequency bus led to the need to limit the maximum length of the connecting cable in the Ultra SCSI interface to one and a half meters. This is quite inconvenient when using external high-speed SCSI devices, but is more than enough to ensure the connection of devices inside the PC case.

Synopsis. Prospects and opportunities

The SCSI interface is very productive and reliable, but it also has a considerable number of disadvantages. First of all, this is the high cost of the devices themselves - both drives and controllers. The next disadvantage is the complexity of configuration and management, which only trained people can handle. Finally, the last drawback of the interface, which makes it even less attractive to the user, is the inability to transfer the media to another PC unless it is equipped with a specialized SCSI adapter...

The use of SCSI devices is not practical for the standard PC market for a very simple reason: high cost. However, manufacturers do not set themselves the goal of winning over the average consumer: it just so happened historically that SCSI drives are mainly a server standard, and an IDE standard for workstations.

Meanwhile, SCSI drives are being closely followed by the latest IDE device standard: SATA. The speed and performance of SATA devices are very high, and their use in servers is becoming increasingly popular. The only disadvantage of SATA is its rather flimsy connector, which is associated with quite frequent failures of these devices. I think that the SCSI interface will undoubtedly win the battle with SATA in the field of server drives.

The development of the SCSI standard promises us in the future faster devices with traditional SCSI reliability; It is not possible to predict the imminent departure of SCSI devices from the market.

Serial Attached SCSI (SAS)

The latest trend in the world of SCSI devices is Serial Attached SCSI, an interface that uses three data transfer protocols (SSP - Serial SCSI Protocol, STP - Serial ATA Tunneled Protocol, SMP - Serial Management Protocol). As can be seen from the names of the protocols, the first two are intended for data transmission itself, the last is intended for interface management. Drives with this interface are currently produced by Seagate, Samsung and Fujitsu.

A special feature of this interface is that the signal is transmitted not through two (as in SATA), but through four conductors (one pair is for receiving the signal, the other is for sending it). Claimed data transfer rates are 1.5 and 3.0 GB/sec.

General information about interfaces……………………………………………………….

Classification of interfaces………………………………………………………………

History of the creation of the SCSI interface……………………………………

Evolution of SCSI standards……………………………………………..

What does a SCSI controller look like and what does it consist of…………………….

SCSI concept……………………………………………………….

Phases of SCSI bus operation………………………………………………………………..

SCSI Commands………………………………………………………………………………

Host – adapters……………………………………………………….

SCSI cables……………………………………………………………...

Software support for SCSI devices……………………………...

Peripheral hardware programming...

SCSI vs IDE……………………………………………………………



Bibliography………………………………………………………




1. General information about interfaces


The creation of modern computer technology is associated with the task of combining into one complex various computer blocks, information storage and display devices, data equipment and the computer itself. This task is assigned to unified interface systems - interfaces. An interface is understood as a set of circuitry that ensures direct interaction between the components of a computer system. The interface provides the relationship between components functional blocks or system devices.

The main purpose of the interface is to unify intra-system and inter-system connections and interface devices in order to effectively implement advanced design methods functional elements computing system.

2. Classification of interfaces


1) Machine interfaces are designed to organize connections between the components of a computer, i.e. directly for their construction and connection with the external environment.

2) Peripheral equipment interfaces perform the functions of interfacing processors, controllers, storage devices and data transmission equipment.

3) Interfaces of multiprocessor systems are mainly backbone interface systems, oriented into a single complex of several processors, memory modules, storage controllers, limited in space.

4) Distributed computer interfaces are designed to integrate information processing facilities located at a considerable distance.

The development of interfaces is carried out in the direction of increasing the level of unification of interface equipment and standardizing compatibility conditions, modernizing existing interfaces, and creating fundamentally new interfaces.


3. History interface creation SCSI


The name Shugart is familiar to many: it belongs to one of the brightest pioneers and ideologists of the “storage” industry - the legendary Silicon Olympian (in the sense of an inhabitant of Olympus of Silicon Valley) Alan F. Shugart, who at IBM led the development of floppy and RIGID, then worked at Memorex. In 1973, Shugart raised outside capital and created a company producing 5.25-inch FDD drives, Shugart Associates. This company worked under his management for a year, after which Shugart was kicked out by the very people who invested in the venture. Shugart spent six years recovering from the blow, during which time he even bought a fishing boat and became a professional fisherman. But the craving for high-tech did not go away: in 1979, together with Finis Conner, he founded Seagate Technologies (originally Shugart Technologies), after which he remained its leader for almost two decades, during which the company became the largest independent manufacturer hard drives(True, Shugart was also kicked out of Seagate in 1998, but that’s a completely different story).

We are more interested in Shugart Associates, since it was they who developed the SASI interface in 1979, the earliest version of the SCSI bus. It is currently difficult to expand the SASI abbreviation; the first two letters reliably mean Shugart Associates, the fourth is Interface, and the third is deciphered differently in different sources - System, Systems or Standard (I think the correct version is the latter). SASI's capabilities were very modest even compared to the first version of SCSI - the transfer speed was only 1.5 MB/s, the interface had a very limited set of commands. However, the ideas embedded in SASI contained a lot of progressive things: instead of the then ubiquitous analog serial transmission, 8-bit parallel digital was used, instead of a bunch of control lines, the interface provided a set of commands, and it worked at the logical level, allowing you to address blocks rather than physical heads , cylinders and sectors.

Two years later, in late 1981, to spur industry adoption of the interface, Shugart Associates, in collaboration with NCR (National Cash Register), submitted an application to ANSI to create a technical committee to refine and standardize the interface. Such a committee - X3T9.2 - was formed in 1982, and the interface name was changed to the impersonal descriptive SCSI. Over the next few years, the standard was refined and improved: the bandwidth was expanded, command sets were added - for printers, tape drives, processors, WORM and ROM devices. (It should be noted that SCSI, unlike SASI, has become not just a disk interface, but a kind of system bus: theoretically, you can assemble a full-fledged system using “bare” SCSI by connecting a processor, memory, drives and peripherals.) After the presentation of the draft version of SCSI in 1984 After ANSI approval, many companies began to produce products that were more or less compatible with this proto-standard. The first official standard - X3.131-1986 - was adopted in 1986 (with the advent of subsequent versions it became known as SCSI-1).

Subsequent additions and improvements led to the creation of the SCSI-2 specification.


4. Evolution of SCSI standards

The SCSI specifications strictly define the physical and electrical parameters interface and a minimum of commands. The use of these commands became the main advantage of the SCSI interface, as it made it manageable. Developed in December 1985, the SCSI-1 specification provided for data transmission over an 8-bit bus with a frequency of 5 MHz. The data transfer speed on the SCSI bus in standard asynchronous mode (or handshake mode, that is, when confirmation is required after each data transmission) is about 3 MB/s. When transmitted in synchronous mode, the SCSI bus is capable of developing a throughput of about 5 MB/s.

The devices were connected in a chain one after another. The first device was connected to the SCSI interface on the host computer, the second to the first, and so on (see Figure 1). First and latest devices in the chain had to be terminated. On all other devices, termination had to be disabled. Devices were identified by a jumper or switch ID (0 to 7), with the host bus adapter typically assigned ID=7 as giving the highest priority for bus access.

Figure 1. Typical diagram for connecting SCSI devices in the form of a chain.


The standard did not oblige the use of any specific type of connectors (connectors), but only described the purpose of the contacts. The most widely used D-Ribbon connectors are Centronics for PCs, as well as DB-25 for Macintosh. Termination was predominantly passive, while active or adjustable termination was used only by some manufacturers.

In March 1990, the SCSI-2 (Fast SCSI) specification was developed and officially approved in 1992, which defines 18 basic SCSI commands (Common Command Set, CCS), mandatory for all peripheral devices, as well as additional commands for CD- ROM and other peripherals. It has become possible to exchange data without the participation of a central processor. “Queues” appeared - the ability to accept chains of up to 256 commands and process them autonomously in an optimized order. And if the controller of the destination executive device receives a command that does not require any external interactions, then this controller will not occupy the bus until it becomes necessary to transmit some data. This is where you can see a major advantage of SCSI over IDE, especially in multitasking environments: the IDE bus acts as a passive signal path from the CPU - it must execute one command first before initiating another.

Specification extensions have also appeared, the designations of which can often be seen in price lists. The basic 8-bit version - Fast SCSI (SCSI-2) - has a throughput of 10 Mb/s. The Wide SCSI-2 modification is a 16-bit version of Fast SCSI (SCSI-2) and, accordingly, has double the data transfer rate, and also allows you to connect up to 15 peripheral devices. The Ultra prefix denotes an operating frequency increased to 20 MHz, and Ultra2 controllers are capable of transmitting data at a frequency of 40 MHz. The designations Ultra Wide or Ultra2 Wide are very common. This means that a combination of options is used. For example, Ultra2 Wide devices can exchange information at a maximum speed of 80 Mb/s.

The Ultra160/m SCSI specification was adopted on September 14, 1998. The main components of Ultra160/m SCSI were: double synchronization during data transfer (Double Transition Clocking), data integrity control through the use of cyclic redundancy code (CRC), and environment control (Domain Validation). Data transfer rates of 160 Mb/s are achieved by using both edges of the request/acknowledge signal to synchronize data. Accordingly, this allows developers to increase performance or reliability, as it becomes possible to use up to 160 Mb/s bus bandwidth with existing Ultra2 SCSI interconnect cables, or increase the reliability of the Ultra2 SCSI interface (80 Mb/s) by reducing the frequency at which synchronization occurs.

As for data integrity control through the use of cyclic redundancy code (CRC), Ultra160/m uses the same method as used in FDDI, in local networks based on the CSMA-CD protocol and in fiber-optic data transmission channels. Environment monitoring is an intelligent technology that examines the storage subsystem, including connecting cables, terminators, etc. This technology monitors the functioning of the system within the required specifications, and if there is a danger of data loss, it even reduces the transfer speed.

According to the method of communication with the controller, SCSI devices are divided into two types: those using single-ended and differential (differential, D) electrical interfaces. A single-ended interface uses one wire for each bit of data or control signals being transmitted and a corresponding wire for ground, with information transmitted on only one signal wire. In a differential interface, the signal is divided into positive and negative components and transmitted over a pair of conductors, which makes it possible to transmit the signal over long distances without interference. The choice of SCSI transceiver type determines the maximum bus length and the number of connected devices. Most existing SCSI devices use single-ended transceivers, which leads to a reduction in cable length while increasing the transmission speed. Differential transceivers overcome this limitation, but their cost is much higher. Low-Voltage Differential (LVD) technology, which is a hybrid of the two above technologies, is designed to solve this problem. Most new devices support universal transceivers, which can operate as single-ended and LVD transceivers.


Bit depth,

Maximum transfer speed, Mb/s

Maximum cable length/number of devices, m/pieces

Number of contacts in the connector

6/7.25/6(0), 12/6 (LVD)

3/7.25/6(0), 12/6 (LVD)

Fast SCSI-2, Fast SCSI

3/15,25/15(0), 12/15 (LVD)

3/3,1,5/7,25/6 (D),12/6 (LVD)

Wide Ultra SCSI-2

3/3,1.5/7.25/15 (D), 12/15 (LVD)

Fast-20 Wide SCSI

Wide Ultra2 SCSI-2

Fast-40 Wide SCSI

Ultra3 Wide SCSI

There is also an 80-pin connector for connecting devices in Hot Swap mode. A special feature of this connector is the presence of power contacts along with contacts for transmitting data and control signals.

5. What does a SCSI controller look like and what does it consist of?

Here is a picture of the simplest FastSCSI controller on the PCI bus.

As you can see, the connectors take up the most space. The largest (and oldest) is the 8-bit internal device connector, often called narrow, it is similar to the IDE connector, only it has 50 pins instead of 40. Most controllers also have an external connector; as the name suggests, external SCSI devices can and should be connected to it. The picture shows a 50-pin mini-sub D connector.

For Wide devices, a similar one is used, but with 68 pins; the fastening is also used not in the form of latches, but with screws - like COM mice and printers. It is even smaller than narrow due to the higher contact density. (By the way, despite the name, the wide train is also narrower than the narrow train). Sometimes you can find old version external connector - just centronix. You can find the same one (externally, but not functionally:) on your printer. Some devices, such as the IOmega ZIP Plus, and those designed for Mac, use a regular 25-pin Cannon (D-SUB), like a modem. Mini-centronics are also used for external high-speed connections. Here's the full table:

(sizes are almost original)

Domestic

Low-Density 50-pin

connection of internal narrow devices - HDD, CD-ROM, CD-R, MO, ZIP. (like IDE, only for 50 pins)

High-Density 68-pin

connection of internal wide devices, mainly HDD

External

connecting external slow devices, mainly scanners, IOmega Zip Plus. most common on Mac. (like a modem)

Low-Density 50-pin

or Centronics 50-pin. external connection of scanners, streamers. usually SCSI-1.

High-Density 50-pin

or Micro DB50, Mini DB50. standard external narrow connector

High-Density 68-pin

or Micro DB68, Mini DB68. standard external wide connector

High-Density 68-pin

or Micro Centronics. According to some sources, it is used for external connection of SCSI devices.

As you know, any device requires software support to operate. For most IDE devices, the minimum one is built into the motherboard BIOS; for the rest, drivers are required for various operating systems. For SCSI devices, things are a little more complicated. To boot from a SCSI hard drive for the first time and work in DOS, you need your own SCSI BIOS. There are 3 options here.

1. The SCSI BIOS chip is on the controller itself (like on VGA cards). When the computer boots, it is activated and allows you to boot from a SCSI hard drive or, for example, CDROM, MO. When using a non-trivial operating system (Windows NT, OS/2, *nix), drivers are always used to work with SCSI devices. They are also necessary for the operation of devices that are not hard drives, under DOS.

2. The SCSI BIOS image is flashed into the flash BIOS of the motherboard. Further according to point 1. Usually, SCSI BIOS is added to the BIOS of boards for a controller based on the NCR 810 chip, Symbios Logic SYM53C810 (it’s the one in the first picture) or Adaptec 78xx. If desired, you can manage this process and change the SCSI BIOS version to a newer one. If available on motherboard The SCSI controller uses exactly this approach. This option is also more economically beneficial :) - a controller without a BIOS chip is cheaper.

3. There is no SCSI BIOS at all. The operation of all SCSI devices is provided only by operating system drivers.

In addition to supporting booting from SCSI devices, the BIOS usually has several more functions: setting up the adapter configuration, checking the disk surface, low-level formatting, setting initialization parameters for SCSI devices, setting the boot device number, etc.

The next remark follows from the first. As you know, motherboards usually have CMOS. The BIOS stores board settings in it, including the configuration of hard drives. For SCSI BIOS it is often necessary to also store the configuration of SCSI devices. This role is usually performed by a small chip like 93C46 (flash). It connects to the main SCSI chip. It has only 8 legs and several tens of bytes of memory, but its contents are retained even when the power is turned off. In this SCSI chip, the BIOS can save both SCSI device parameters and its own. In general, its presence is not related to the presence of a microcircuit with a SCSI BIOS, but, as practice shows, they are usually installed together.

Here you can see the UltraWide SCSI controller from ASUSTeK. It already has a SCSI BIOS chip. You can also see the internal and external Wide connectors.

The last picture (I couldn't find it quickly:) shows a two-channel Ultra Wide SCSI controller. Its specification includes the following items: RAID levels 0,1,3,5; Failure Drive Rebuilding; Hot Swap and on-line Rebuilding; cache memory 2, 4, 8, 16, 32 Mb; Flash EEPROM for SCSI BIOS. The 486 processor is very clearly visible, which apparently is trying to manage all this stuff.

You can also find on the SCSI controller board

  • SCSI bus activity LED and/or connector for its connection
  • memory module connectors
  • floppy disk controller (mostly on older Adaptec boards)
  • IDE controller
  • sound card(on ASUSTeK cards for MediaBus)
  • VGA card

Other SCSI cards

Often scanners and other slow SCSI devices come bundled with a simple SCSI controller. Typically this is a SCSI-1 controller on an ISA bus of 16 or even 8 bits with one (external or internal) connector. It does not have a BIOS or eeprom, it often works without interruptions (polling mode), sometimes it supports only one (and not 7) devices. Basically, such a controller can only be used with your own device, because There are drivers only for it. However, with a certain skill, you can connect to it for example HDD or streamer. This is justified only in the case of a lack of money and time (or sporting interest:), because a standard SCSI controller, as already mentioned, can be purchased for $20-40 and have an order of magnitude fewer problems and much more capabilities.

6. Concept SCSI


The SCSI bus is an input/output bus, not a system bus or an instrument-level interface. Interface facilities such as the SCSI bus are especially effective for machines that require the connection of multiple disk drives or other devices. The SCSI interface increases the flexibility and processing power of the system, since it allows several different control units to be connected to the same bus, which can directly communicate with each other. The data transfer speed on the bus will certainly not be a limiting factor, since this figure for the SCSI bus currently reaches 40 MB/s.

The SCSI bus provides the ability to connect up to eight devices. At first glance, this may seem like a rather serious limitation, however, when you consider that each device can represent eight logical blocks, and each logical block can represent 256 logical subblocks, then it is obvious that there is more than enough expansion potential here.

Each SCSI bus device must be assigned a unique ID, the value of which is usually set using switching jumpers directly on the device. The ID performs two functions: it identifies a device on the bus and determines its priority in bus access arbitration (the higher the device number, the higher its priority).

Each of the eight possible bus devices can play the role of initiator, executor (target), or combine both of these roles. The initiator is part of the host (main) SCSI adapter, which is used to connect the host computer to the SCSI bus. In a typical system, one or more executors are connected to one initiator. A more complex system may contain more than one SCSI host adapter (multiple initiators). In such systems, interaction can be established not only between any processor and any control unit, but also between host adapters, since the host adapter itself is a SCSI bus device and can play the role of both an initiator and an executor. Two PUs (both executors), however, cannot interact with each other, since only the initiator - executor pair can exchange data on the bus at any given time.

The host adapter contains hardware and software to interface with the CPU.

The interface of the SCSI controller and the system bus can be either very simple (based on the principle of software polling of an I/O channel) or more complex (providing for high-speed data exchanges in direct memory access, DMA) mode. Such controllers accept high-level commands and free the CPU from the need to process and control SCSI bus signals.

The host computer software is simplified because it does not have to take into account the physical characteristics of a particular device. The SCSI interface uses logical rather than physical addresses for all data blocks.

7. Bus operating phases SCSI


The SCSI bus protocol has eight distinct phases:

Bus Free - “Bus is free”

Arbitration - “Arbitration”

Selection - “Selection”

Reselection – “Reverse selection”

Command - “Team”

Data - “Data”

Status - “Status"

Message - “Message”

The last four phases are called information transfer phases. The SCSI bus can only be in one of these eight phases at any given time.

The "Bus free" phase means that no device in this moment does not operate the SCSI bus in active mode, and the bus is free for circulation. This phase usually occurs after system reset or after a bus reset by the RST signal. A sign of the “Bus free” phase is the absence of busy signals BSY and sampling SEL.

The bus switches to the “Arbitration” phase when some SCSI device wants to take control of the bus, that is, become an initiator on the bus. This occurs in cases where the initiator wants to select an executor or the executor wants to re-select the initiator who previously requested it. The bus can only switch to the “Arbitration” phase from the “Bus Free” phase. Once the device determines that the bus is free, the Arbitration phase begins. To do this, a BSY signal is generated on the corresponding data line

SCSI device ID is issued (ID – bit). Moreover, each

out of eight possible SCSI bus devices can issue its own ID bit

only to the data line assigned to him as a sign of his participation

in arbitration. The device with the highest ID value wins the arbitration and takes control of the bus.

The Fetch phase allows the initiator to select an executor to initiate execution of the appropriate function, such as a READ read or READ write command. According to the SCSI-2 specification protocol, the Fetch phase always occurs after the Arbitration phase. The SCSI-1 specification provides for a single-initiator system where arbitration is not necessary and the sampling phase can be entered immediately after the Bus Free phase. In both cases, to sample an executor, the initiator outputs its ID bit on the corresponding SCSI bus data line and generates a SEL sample signal.

An optional resampling phase is possible when the performer wants to restore communication with the initiator who previously sent him the command. This phase is similar in principle to the Sampling phase, except that the I/O line goes active along with the SEL sampling signal, allowing the two phases to be distinguished.

The Command, Data, Status, and Message phases form a group of information transfer phases because they are all used to transfer data or control information over the data bus. To distinguish them, signals C/D - control, I/O - input-output and MSG - message are used, generated by the executors, which thereby controls all transitions from one phase to another. To control the transfer of data between the executor and the initiator in the information transfer phases, signals from the REQ/ACK lines are used - request/acknowledge (in the SCSI-2 version, REQB/ACKB lines are additionally used).

Actual data exchange can be carried out in a synchronous or asynchronous manner. In both cases, the ACK and REQ signal lines are used to perform handshake. For the performer, the synchronous transmission mode is optional. The initiator can request that the performer perform a synchronous transfer, but if the latter rejects this request, then asynchronous mode will be used.

To transfer data to the initiator in asynchronous mode, the slave issues it on the SCSI bus data lines along with the REQ signal. Data must be held on the bus until an ACK is received from the initiator. After this, the next data is output to the bus, and the process repeats. If data transfer is to occur in the opposite direction, the slave issues a REQ signal indicating that it is ready to receive data. The initiator outputs data to the SCSI bus data line and then generates an ACK signal. The initiator continues to hold data on the bus until the REQ line switches to a passive state. The executor then resets the REQ signal, the initiator issues new data, and the process repeats.

If the devices have agreed to use synchronous exchange mode in the Messages phase, then the slave will not wait for an ACK signal to arrive before issuing a REQ signal to receive the next data. It can generate one or more REQ pulses without waiting for corresponding ACK pulses (up to a predetermined maximum called the REQ/ACK offset).

As all scheduled REQs are issued, the executor compares the number of REQs and ACKs to ensure that each data group is received successfully. When preparing the synchronous exchange mode, devices set the REQ/ACK offset and the transmission period. The transmission period determines the time interval between the end of the transmission of the next byte and the beginning of the transmission of the next one.


8. SCSI Commands

Previous interface specifications for hard drives (like the aforementioned ESDI) provided for serial transmission of one bit at a time, with drive control carried out on separate wires (lines), each of which performed a specific function. For example, one specific signal line specified the offset of the read/write head of the hard drive, another - the direction of the offset, the third - the type of operation (read or write), the fourth served to transmit data in the required format. Thus, the controller used depended on the type of hard drive.

SCSI is capable of executing high-level commands, such as querying the type of device connected to the bus using the Inquiry command. Thus, in addition to specifying the physical characteristics of the bus (connector type, voltage levels, pin assignments, etc.), the standard for each type of peripheral (hard drive, CD-ROM, etc.) defines the supported commands and their corresponding responses (of order 12 for each type of peripheral). Standard SCSI-1 commands are grouped according to six device types, as shown in Table 1.


Table 1. Groups of commands according to types of supported devices.

Device type

Name

Typical function

Random read/write access (hard disk)

Addresses of logical blocks, length of the block to be written

Serial access (tape drive)

Reading the next entry

Page layout control

CPU

Sending and receiving

WORM (CD-ROM writer)

Large size, removable

Random read-only access

Addresses of logical blocks, read block length

When the target device requests a command, as in the example of a PC accessing a disk, the initiator responds by sending 6 bytes of command information. These bytes are used to specify the command and identify the device. Collectively they are called the Command Descriptor Block (CDB). The first byte (more precisely, byte number 0) determines the type of command or operation code (opcode). Some of the most common codes have the following meanings (in hexadecimal):

00 Test device ready;

03 Formatting;

08 Reading;

0A Write;

0B Search.

The meaning of the remaining bytes depends on the specific opcode. For example, in the case of the Write command (code 0A) they have the following meaning:

Byte 0 Operation code 0A;

Byte 1 Logical device number in bits 5 and 6,


bits 1 to 4 specify the address logical block;

Byte 2 Logical block address;

Byte 3 Logical block address;

Byte 4 Bits 2 to 5 specify the transmission length;

Byte 5 Bit 1 - flag; bits 6 and 7 are assigned by the manufacturer.

Commands are transmitted asynchronously. However, if the response contains data, it can be transmitted synchronously, as in the case of the Inquiry command, in response to which the target device sends an ASCII string identifying its type (this response is often displayed on the PC monitor when loading SCSI drivers).

9. Host adapters


The host adapter implements the functions of interfacing the SCSI bus with system resources, primarily with the system bus and the computer's operating system. It typically acts as an initiator on the SCSI bus, although in complex (for example, multiprocessor and multi-machine) SCSI systems it can dynamically change (initiator/executor).

The main functions of the host adapter, which determine its structure and characteristics, include:

Implementation of the SCSI bus protocol, as well as the physical and electrical specifications of the standard;

Interface with hardware and software system resources

The implementation of the SCSI bus protocol is usually carried out by a specialized SCSI bus controller LSI. Typically, this circuit also provides the implementation of the electrical specifications of the standard.

Interfacing with system hardware involves, first of all, matching the bit depth and bandwidth SCSI bus and host system bus, as well as the implementation of advanced means of access to system memory. The structure of the bus width matching node depends on the purpose of the host adapter and the version of the SCSI standard used (8 bits for SCSI-1; 16 or 32 bits for SCSI-2). The main means of matching the throughput of the system and SCSI buses is buffer memory, usually implemented in the form of a FIFO buffer or dual-port RAM. The most common algorithm for accessing system memory is direct access, most often implemented using the host system's DMA controller.

Pairing with software systems assumes the presence of a SCSI driver for a specific OS.

Characteristics of modern host adapters


Among the LSI SCSI controllers used for the AT bus, models from NCR dominate. Next come the well-known WD33C93 from Western Digital and ALC 6250/60 from Adaptec (USA). The host adapter most often supports both synchronous and asynchronous exchange modes over the SCSI bus. The exchange speed significantly depends on the type of controller used. In simple host adapters, it ranges from 0.25 to 1 MB/s in asynchronous mode and synchronous mode, respectively.

The size of the data buffer also varies over a fairly wide range: from the use of small-capacity internal buffers of the LIC SCSI controller to large-capacity RAM (1 MB). Having a large buffer significantly increases the cost of the host adapter.

10. SCSI cables

To ensure immunity to interference, external SCSI cables not only use twisted pairs, but are also arranged in three concentric layers (see Figure 2). The central, inner layer contains three pairs: Request, Acknowledge and Ground. The middle - intermediate - layer serves to transmit control signals. The third - outer - layer is designed to transmit data and parity information. In the middle layer, the pairs are twisted in the opposite direction compared to the adjacent outer and inner layers to reduce capacitive coupling between the layers. Placing the cores for transmitting control signals in the middle layer ensures that there is no interference between data and Request/Acknowledge signals.

Figure 2. Sectional view of an external SCSI cable.

Although the entire cable as a whole is insulated using PVC coating, such insulation is not suitable for individual pairs, since its electrical characteristics are highly dependent on temperature, and in addition, it has a very large capacitance. This cable design ultimately affects its price. However, we are not so rich that we can buy cheap things.

11. Software support SCSI devices


The task of programming SCSI systems and devices is multi-level and can be divided into the following relatively independent subtasks:

Peripheral hardware programming.

Implementation of SCSI bus protocols.

Implementation of SCSI commands.

Access to SCSI devices of OS and application tasks.

Unfortunately, at all of the above levels, the solutions used in practice are poorly unified. Many reputable companies offer their own original, but often incompatible approaches. Considering that at present, in the field of programming SCSI devices, a standard has not yet actually emerged, it is advisable to consider the most interesting solutions at each level.


12. Peripheral hardware programming

Due to the specificity of the physical principles of their implementation, the final link in the means of software support for the control unit is inevitably highly specialized programs low level. Due to the fact that programming at this level is difficult even for general system programmers, not to mention application programmers, there is a tendency to increase the level of CP programming tools by masking the CP specifics at the level of so-called firmware (internal software). An example is masking the functions of direct control of disk drives at the level of internal commands of disk controllers WD2010,8272, etc.

However, only specialized programs reach the controller register level. Currently, control units are usually programmed at the level of system BIOS functions, and higher-level programs generally use standard OS functions.

The use of the SCSI interface further increases the level of programming of the control unit through the use of a set of general commands defined by the standard. For an application programmer, using standard BIOS functions becomes practically impossible.

However, as a device control element, naturally

are stored at the software level of the PU controller and are implemented either by the local microprocessor (MP) of the controller or by a microcontroller built into the basic LSI of the PU controller.

In order to preserve the accumulated software control panel electronics, emulation of standard control panel interfaces is currently widely used, which involves converting SCSI logical addresses into physical addresses of a specific device. An example is the SmartConnex/ISA controller from Distributed Processing E Technology. It uses the interface of the famous disk controller WD1003 from Western Digital, as a result of which the computer “sees” the controller as a regular device compatible with the ST-506 interface.

In reality, interface emulation is performed by a driver invisible to the user, which is remembered during formatting in the last NMD block. Corresponding drivers are available for the most common operating systems

(MS-DOS,OS/2,Xenix/Unix,Novell NetWare). Installation of the SmartConnex controller into the system is carried out using special utility supplied by the company.

The well-known WD 33C92/93 controllers from Western Digital even have a built-in command for converting logical address formats into physical ones.

Thus, to implement various PUs in the SCSI standard, they can

use fragments of ready-made programs that support such standard control functions in MS-DOS as INT 13, INT 11, etc.

It should be noted that this approach apparently does not fully correspond to the SCSI ideology, and in the future special programs for direct control of a SCSI device based on SCSI commands will be used.

13. SCSI vs IDE

The "Which is better: IDE or SCSI" debate is one of the most common in many newsgroups. The number of messages and articles on this topic is very large. However, this question, like the famous “Windows NT or OS/2 or Unix,” is unsolvable in this formulation. The most common and correct reaction to them is “What for?” Having considered this issue in more detail, you can decide for yourself whether SCSI is necessary for yourself.

Let's tell you in more detail what a simple SCSI controller can provide compared to an IDE and why you should choose it or not choose it.

SCSI offer

EIDE/ATAPI objections

SCSI response

ability to connect 7 devices to one controller (Wide - 15)

it's easy to install 4 IDE controllers and there will be 8 devices in total

Each IDE controller needs an interrupt! And only 2 will be with UDMA/33. And 4 UWSCSI is 60 devices :)

wide range of connected devices

IDE has CDD, ZIP, MO, CD-R, CD-RW

Are you sure you have drivers and programs for all this? and more? but for SCSI you can use any, including those included in the OS

ability to connect both internal and external devices

Removable rack or LPT-IDE

The total length of the SCSI cable can be up to 25 meters. In regular versions 3-6m *

if you don’t overclock the PCI bus, you can do it by a meter

you can use caching and RAID technologies to dramatically improve performance and reliability

There used to be caching Tekrams, but now there are RAIDs for IDE

it doesn't work and it's not serious at all

* It is worth noting that when using an Ultra or Ultra Wide SCSI interface, additional restrictions are imposed on the quality of connecting cables and their length, as a result of which the maximum connection length may be significantly reduced.

To avoid the impression that the IDE is very bad and you should be ashamed of using it, let us also note the positive qualities of the IDE interface, partly in light of the table above:

1. Price. It's undeniable sometimes Very important.

2. Not everyone needs to connect 4 HDDs and 3 CDDs. Often two IDE channels are more than enough, and all sorts of scanners come with their own cards.

3. It is difficult to use a cable longer than 80cm in a minitower case :)

4. IDE HD is much easier to install, there is only one jumper, and not 4-16 as on SCSI :)

5. Most motherboards already have an IDE controller

6. IDE devices always have a 16-bit bus, and for models of comparable price, IDE wins in speed.

Now about the price. The simplest SCSI on the ISA bus costs about $20, but now no one needs such things, so you can find them cheaper. The next option is a controller on the PCI bus. The simplest option FastSCSI costs about $40. However, now there are many motherboards on which the Adaptec 7880 UltraWideSCSI can be installed for just +$70. Even the famous ASUS P55T2P4 and P2L97 have SCSI options. For UWSCSI cards, the price varies from $100 to $600. There are also dual-channel (like IDE on Intel Triton HX/VX/TX) controllers. Their price is naturally higher. Note that in the case of SCSI, unlike IDE, where it is difficult to come up with something new, for additional money the controllers can be expanded with the functions of a cache controller, RAID-0..5, hotswap, etc., so we are talking about the upper the cost limit of the controller is not entirely correct.

And finally about speed. As you know, today the maximum information transfer speed over the IDE bus is 33Mb/s. For UWSCSI, the same parameter reaches 40Mb/s. The main advantages of SCSI appear when working in multitasking environments (well, a little in Windows95:). Many tests given under WindowsNT show the undoubted advantage of SCSI. This is perhaps the most popular OS today, for which the use of SCSI is more than justified. There may also be specific tasks (related, for example, to video processing) for which it is simply impossible to use an IDE. About the differences internal architectures, which also affect performance, will not be discussed in this article, since there are too many special terms there. Let us only note that as we watch the development of the IDE, we are surprised to notice that it is acquiring many SCSI features, but, hopefully, they will not merge completely.

Bibliography

1. Mikhail Guk: “PC interfaces. Directory" "Peter", 1999.


2. A.P. Pyatibratov:

"Computers, systems and networks"


3. A.A. Myachev, V.N. Stepanov:

“Personal computers and microcomputers”

M.: “Radio and Communications”, 1998.


4. A.A. Myachev:

"IBM PC Interfaces", 1992.


5. Stefan Feutz: “Windows 98 for the user”

K.: Trade and Publishing Bureau BHV, 1998;


6. “PC Computing”: “IDE vs SCSI”


7. "PC Magazine": "Interface IDE"



Tutoring

Need help studying a topic?

Our specialists will advise or provide tutoring services on topics that interest you.
Submit your application indicating the topic right now to find out about the possibility of obtaining a consultation.

Since the world has witnessed the rapid evolution of the personal computer, and the computer has turned from a very expensive and large computing machine used by rare companies and corporations into an item of everyday use for hundreds of millions of people, dozens of technologies have changed. Including technologies related to the use of certain buses, connectors, and peripheral devices. Connection standards used to connect to a computer, such as SCSI, SATA and IDE, were no exception.

SCSI

Story
Around the 70s, there was a need for physical and logical interfaces between peripheral devices and computers. A man named Alan F. Shugart, by the way, after whom the interface was later named (Shugart Computer Systems Interface), came up with the idea to use a device that acts as a bridge between the hard drive and the computer. A 50-pin flat connector was developed, known and sold commercially as SCSI-I. This is what the standard looks like.

This standard was supported by many manufacturers and industry leaders of the time. Since then, several versions of this interface have been released, and although it is considered more or less obsolete these days, some older PCs still use it.
The very first version used a 50-pin flat connector. While the first SCSI connectors used parallel interfaces, more modern SCSI connectors operate over a serial interface. The serial SCSI interface, compared to the parallel one, provides a higher data transfer rate.
SCSI can either be installed physically on the motherboard or can be implemented using adapters.
Storage
SCSI allows you to use up to 7 - 15 (depending on the bus width) connected devices. This allows you to connect all your devices to one board, rather than buying different boards for different devices, which will inevitably increase costs.
Speed
Modern versions can transfer data up to 80 megabytes/sec. Modern devices SCSI is backward compatible, i.e. If an older device is connected, the SCSI bus will still support it, although the data transfer speed may be reduced.

Price
SCSI has always been an expensive solution. New versions have not made it lower. Considering that there are at least 10 different (3 new generations) types, there are no plans to completely withdraw this type of interface from the market anytime soon. The advantage of SCSI is its support for various devices, from dot matrix printers, scanners, plotters, to modern keyboards and mice, and its speed.

IDE

Story
The IDE (Integrated Drive Electronics) interface was developed by Western Digital Electronics in collaboration with Control Data Corporation and Compaq Computers, and was launched in 1986. By the mid-90s, IDE-ATA technology was already supported everywhere and almost completely replaced the SCSI bus. The abbreviation PATA (Parallel ATA) is now widely used to denote IDE, which emphasizes that a parallel interface is used for data transfer. Unlike SCSI, in IDE, the controller is located in the device itself, and not as a separate board.
IDE initially had a 40-wire cable, which was later replaced by an 80-wire cable. Here is an example of an IDE hard drive.


Connection
PATA allows you to connect two devices per channel.
Speed
The most latest versions may support data transfer rates up to 133 MB/s.
Price
PATA, the successor to SCSI, was extremely successful due to its low price and best value for money. PATA interfaces are still used in large industrial installations, but in consumer systems they have almost been replaced by SATA technology.

SATA

Story
Serial ATA technology was created at the turn of the century and replaced PATA (IDE). In 2003, SATA was launched with great fanfare, and in just ten years, it captured 98% of the personal computer market share. SATA was originally launched with an interface supporting speeds of 1.5 Gbps, the modern version (SATA Revision 3.0) can transfer data at speeds up to 6 Gbps.

An example of connecting a hard drive to .

Connection
SATA uses a serial port and supports hot-plug technology. With Plug and Play technology, computer components can be replaced without shutting down the system.
The data cable has 9 pins and is no more than a meter long. A SATA cable has much fewer cores than a PATA cable and, as a result, is significantly narrower. Thanks to this, in systems with such connectors, it is possible to better cooling. It is much easier and more convenient to connect devices to the connector itself. In addition, with the advent of SATA, you can forget about distinguishing devices into Master and Slave. A separate cable is connected to each device. SATA comes in several varieties, including the mini-SATA connector for small drives and the E-SATA connector, which is used to connect external devices.
Speed
The first SATA supported speeds of 1.5 Gbit/s. Modern versions support data transfer rates of 3 Gbit/s and up to 6 Gbit/s.

Price
SATA devices are the cheapest compared to other similar interfaces.
Comparing the three interfaces above gives us an idea of ​​why most modern personal computers use SATA. IDE turned out to be less convenient and expensive and therefore was successfully replaced by SATA. The SCSI interface is almost obsolete and is currently used only on some servers. So far there are no worthy alternatives to the SATA interface that would be faster, cheaper and more convenient. Most likely, the SATA interface will dominate the PC market in the coming years.

General concepts

SCSI (Small Computer Interface) was founded in 1980. based on the industry standard ANSIX3T9.2 (transformed into the X3T10 specification) for unification standard interface(later it was called SCSI-1). The data transfer speed was relatively low, depended on many factors and averaged approximately 1 to 2 MB/s, but still exceeded the most fast devices(hard drives), which could provide speeds of no more than 625 KB/s even using MFM encoding. The main advantage of SCSI over the IDE interface is that SCSI, originally developed as an interface for multitasking and multi-user operating systems, allows you to access several devices almost simultaneously. SCSI has played a significant role in the creation of information and computing systems that require connecting various types of devices. This interface provides a wide range of connected equipment, such as:

  • Hard disks (DASD - Direct Access Storage Device)
  • Tape drives, tape drives, and other serial devices
  • Magneto-optical drives, CD-ROM, CD-Recoder
  • I/O devices such as scanners

These devices are connected to the computer via a special SCSI adapter, and operating system accesses them through the appropriate drivers. The presence of a proprietary processor adapter on the SCSI board significantly reduces the load on the central processor when performing I/O operations. This is a great advantage when working on a network, as well as in multi-user and multi-tasking environments, due to the fact that the time required to obtain client access to the device is reduced. In desktop systems (desktop computers), CPU load is not so critical for most user programs and applications, however, when working with graphics (especially when working with computer animation) the use of a SCSI subsystem allows you to increase system performance, since in this case most of the load for I/O operations will be transferred to the SCSI adapter.

SCSI Specifications

Today there are several SCSI specifications:

  • SCSI-1: 8-bit data bus and synchronous data transfer rate of 5 MB/s. Connector 25- or 50-pin;
  • SCSI-2 or Fast SCSI: increased speed up to 10 MB/s over an 8-bit bus. Connector 50 pin;
  • Wide SCSI (Wide SCSI): increase in bus width to 16. Data transfer speed has increased from 10 MB/s to 20 MB/s. 68- or 80-pin connector (Single Connector), combining power and signal circuits;
  • Ultra SCSI (Fast-20) / Ultra Wide SCSI or SCSI-3: data transfer speed has increased to 20 MB/s on an 8-bit bus and up to 40 MB/s on a 16-bit bus. SCSI-3 provides support more devices (up to 15 per channel). 50/68- or 80-pin connector (Single Connector), combining power and signal circuits;
  • Ultra2 SCSI (LVD): To further increase SCSI speed, it was necessary to use a Low Voltage Differential (LVD) bus, in which signals are transmitted simultaneously on two wires, but in different polarities. Thanks to this, the noise immunity of the bus sharply increases, it becomes possible to increase the data transfer speed on a 16-bit bus to 80 MB/s and increase the length of the interface cable to 12 m! For full implementation, an Ultra2 SCSI adapter, an Ultra2 SCSI cable with an Ultra2 SCSI active terminator and disk drives that support Ultra2 SCSI are required. If any of these components are missing, the Ultra2 SCSI standard is automatically disabled and the system operates in one of the previous SCSI specifications. 68- or 80-pin connector (Single Connector), combining power and signal circuits;
  • Ultra3 SCSI (Ultra160 SCSI): Data transfer rates can reach up to 160 MB per second thanks to double data synchronization (data is transferred twice as fast without increasing the clock frequency), an improved mechanism for optimizing data transfer rates across devices, and the use of CRC instead of parity for increasing the reliability of data transmission. The Ultra160 SCSI specification is fully compatible with Ultra2 SCSI across cables, connectors and terminators. The Ultra160 SCSI controller can simultaneously support Ultra160 SCSI and Ultra2 SCSI devices on the same bus, each operating at maximum speed. 68- or 80-pin connector (Single Connector), combining power and signal circuits;
  • Ultra160+ SCSI: modification of Ultra160 SCSI, which implements Packetized SCSI - a packet method of information transfer (commands, data and status registers are transferred in one block at the same speed) and Quick Arbitration Select (QAS) a method of quickly transferring bus control from one SCSI device to another. As a result, delays are reduced and the integral data transfer rate is increased.

Basic requirements for SCSI interface implementation

· All disk drives and other SCSI devices must be connected to each other in series (in a chain), forming a SCSI channel.

· Only those SCSI devices that have the same type of SCSI interface can be connected to one SCSI channel.

· Devices with a single-ended (unipolar) interface and devices with a differential (bipolar) interface should not be used on one SCSI channel.

· A maximum of 8 SCSI devices, including a SCSI controller, can be simultaneously connected to one SCSI channel for an 8-bit (narrow) data bus or up to 16 for a 16-bit (wide) data bus. However, there are additional restrictions on the number of connected SCSI devices, depending on the length of the connecting cable and the data transfer rate.

· Each SCSI device, including a SCSI controller, must have a unique SCSI number (SCSI ID). The range of valid SCSI IDs is from 0 to 7 for an 8-bit (narrow) data bus or from 0 to 15 for a 16-bit (wide) data bus. All SCSI IDs are equal, however, by default, SCSI ID = 7 is set on SCSI controllers and it is not recommended to assign this number to other SCSI devices.

· Both ends of the SCSI channel must be terminated by a special matching device - a terminator. The terminator can be located inside the SCSI device, mounted at the end of the SCSI connecting cable or backplane, or made as a separate device that is connected to the last connector of the SCSI channel.

· All intermediate (not extreme) SCSI devices must be unterminated. If these SCSI devices have built-in terminators, make sure that the "terminator enable - TE" switch (jumper) is in the "Off / Disable" position.

· The SCSI connecting cable must meet the requirements of the ANSI X3T10/1142D standard (section 6) in terms of parameters:

Characteristic impedance

Propagation Delay

Cumulative length

Allowable length of branches

Interval between devices

To meet the characteristic impedance requirement, an unshielded flat cable or a twisted pair ribbon cable must be used. It is not allowed to use cables with different impedances on the same SCSI channel. It is also not recommended to simultaneously use shielded and unshielded cables on the same SCSI channel. This is especially important when implementing a SCSI interface according to the Ultra SCSI, Ultra2 SCSI and Ultra3 SCSI specifications.

What is the acceptable length of a SCSI cable?

1) The total maximum cable length of a single-ended SCSI interface depends on several factors. The table below shows the maximum cable length for various SCSI specifications and configurations:

Specification Data transfer rate Max. length of cable Max. number of devices
Fast SCSI 10 MByte/sec 3 meters 8
Wide SCSI 20 MByte/sec 3 meters 16
Ultra SCSI (8 bit, Narrow) 20 MByte/sec 3 meters 5
Ultra SCSI (16 bit, Wide) 40 MByte/sec 3 meters 5
Ultra SCSI (8 bit, Narrow) 20 MByte/sec 1.5 meters 6-8
Ultra SCSI (16 bit, Wide) 40 MByte/sec 1.5 meters 6-8
Ultra2 SCSI 80 MB/sec 1.5 meters 16

Note: While the Ultra SCSI (narrow or wide) interface should theoretically support up to 8 narrow or 16 wide devices, the X3T10/1071D specification does not support the full number of devices when using a cable. To connect more than 4 devices you must use a special connector board (backplane). But even so, the maximum data transfer speed will be achievable only when no more than 8 devices are connected. The length of the branch should be no more than 0.1 meters.

2) The maximum total length of the high voltage differential (HVD - High Voltage Differential) SCSI interface cable is 25 meters. The high voltage differential SCSI interface must use a twisted pair cable. The length of the branch should be no more than 0.2 meters. The spacing between devices on the main SCSI bus must be at least three times the length of the branches. But, despite this limitation, up to 16 SCSI devices can be connected to the high-voltage differential SCSI interface, which can be addressed via a 16-bit SCSI bus.

3) The maximum total length of the low-voltage differential (LVD - Low Voltage Differential) SCSI interface cable is up to 25 meters for 2 devices or up to 12 meters for more than 2 devices. The remaining requirements are similar to those of the high-voltage differential SCSI interface.

Is it possible to determine the type of SCSI interface by the appearance of a SCSI device?

Unfortunately, based on the appearance of a SCSI device, one can only tell whether the SCSI interface is “Narrow” or “Wide”. Below is the appearance from the side of the connectors of some SCSI devices:

Narrow device with SCSI-1, SCSI-2 or Ultra SCSI interface.

Wide device with SCSI-2, Ultra SCSI, Ultra2 SCSI or Ultra3 SCSI interface.

Wide SCA device with SCSI-2, Ultra SCSI, Ultra2 SCSI or Ultra3 SCSI interface.

Additional information can be found on the manufacturer's website by the SCSI device model designation.

?"> What does it mean?

The SCA interface was designed to provide a standard connection for systems using hot swappable drives. Drives with an SCA interface are connected to a special SCSI backplane, which provides power supply, SCSI ID installation, and SCSI bus termination. A distinctive feature of drives with an SCA interface is an 80-pin connector, which combines an interface connector, a power connector, and contacts for SCSI ID.

How to connect a drive with an SCA interface to a SCSI controller with a standard 50 or 68 pin SCSI interface?

To connect a drive with an SCA interface to a standard SCSI controller, a special SCA adapter is required. The SCA adapter must have a 50- or 68-pin interface connector, a power connector, and, if the drive does not have one, a terminator and a device for setting the SCSI ID.

The SCSI device installed in the computer does not work (is not recognized). What is the reason?

Try the following:

· Make sure that the SCSI controller to which the SCSI device is connected is recognized and working correctly. A sign of this is the message about BIOS boot SCSI controller after boot System BIOS board (if the SCSI controller has its own BIOS) and a message about the successful loading of the SCSI controller drivers (under DOS) or a message about the normal functioning of the SCSI controller (under Windows). If this is not the case, check the setting of the interrupt number, I/O addresses for the SCSI controller board and compliance with the driver version this type SCSI controller and operating system.

Make sure the SCSI cable and power cable are good quality and the connectors are inserted normally.

· Make sure that all SCSI devices have different SCSI IDs. The SCSI ID for SCSI devices can be anything except 7th, which is usually reserved for the SCSI controller.

· Make sure that SCSI bus termination is installed correctly: enabled (installed) only on the outermost devices of the SCSI chain and disabled (removed) on all intermediate SCSI devices of the chain.

· If the SCSI controller has its own BIOS, make sure that the parameters by which the SCSI controller accesses SCSI devices (baud rate, data buses, parity, etc.) match the characteristics of the connected SCSI devices.

What is necessary for the computer to boot from a SCSI drive.

To boot from a SCSI drive, the following conditions must be met:

· The motherboard must have a BIOS that allows loading the OS from SCSI devices. In this case, the IDE system may have floppy drives. If the motherboard is old (the BIOS does not allow booting from SCSI devices), all IDE drives must be disabled. As a last resort, it is possible to have IDE drives with all partitions formatted as (Extended).

· The SCSI controller must have its own BIOS. Make sure that in the SCSI controller parameters, in the section, the number of the corresponding SCSI device is set.

· Boot partition The SCSI drive must be formatted as (Primary) and (Active).

What is needed to fully realize the capabilities of the LVD SCSI interface?

For the normal functioning of the LVD SCSI interface, in addition to the standard requirements of the SCSI interface (unique SCSI ID, termination of the SCSI bus), specific requirements for the LVD must be met:

· SCSI controller must support LVD interface

· there must be active LVD terminators at both ends of the SCSI chain

· all SCSI devices on the bus must support the LVD interface

Failure to meet any of these requirements will result in the SCSI system being able to function only on higher SCSI specifications.

How compatible are LVD devices with SCSI devices of previous specifications?

The LVD SCSI interface is fully compatible with the single-ended SCSI interface. Thanks to a unique feature of the LVD SCSI interface known as multi-moding, a special input/output circuit (DiffSens) automatically detects the type of SCSI bus to which the device is connected (LVD or single-ended) and adapts to the corresponding capabilities of that bus. Therefore, LVD devices will work with SCSI-1 and SCSI-2 interfaces. Conversely, SCSI-1 and SCSI-2 single-wire devices will operate on the LVD bus. Compatibility is an important feature of SCSI, but when using SCSI devices from different vintages on the same SCSI bus, all peripheral devices on that bus will operate on the SCSI specification that is supported by ALL devices on that bus. For example, if a single-ended device is connected to an LVD bus with LVD devices, then all devices on this bus will operate in single-ended mode.

High Voltage Differential (HVD) devices require a special controller and are not compatible with LVD or single-ended devices.

When connecting only one device (for example, a hard drive) to the SCSI controller, the terminators on both the controller and the device must be enabled. If this is an external device that has an additional connector for connecting other external SCSI devices (for example, an external SCSI CD-ROM), then you can use an external terminator (preferably active). In this case, the internal terminator of the device must be turned off.

If several devices are connected to the SCSI controller, then terminators should be installed only at the ends of the SCSI bus. So, if all connected devices are internal, then terminators must be enabled on the SCSI controller and on one (and only one) device that is physically connected to the last SCSI bus connector. The best results are obtained if an active external terminator is connected to the last connector, and the internal terminators on all devices (except the controller) are turned off. By the way, in Lately many devices (for example, hard disks SE/LVD) do not have a built-in terminator at all.

If all connected devices are external, then the terminators must be enabled on the controller and the last connected external device. It should be noted that the vast majority of external SCSI devices have two connectors, one of which connects the SCSI bus from the computer, and the other can connect other SCSI devices. In this case, it is advisable to disable the internal terminators of all devices and use an active external terminator.

If it is necessary to connect both internal and external devices to one SCSI controller, then the controller is connected to the intermediate connector of the SCSI bus. Part of the SCSI bus is used to connect internal devices, and the other part ends with a connector for connecting external devices. In this case, the controller's internal terminator must be turned off. The terminator must be enabled on the indoor device connected to the last SCSI bus connector, and disabled on the remaining indoor devices. An active external terminator must always be installed on the connector for connecting external devices. When connecting an external SCSI device, the external terminator is removed, the external device is connected to the SCSI connector, and the previously removed external terminator is connected to the additional connector of the external device (do not forget to set the external device number correctly, otherwise the computer will simply freeze).

Connecting terminators for devices with different interfaces

All of the above is true if all connected devices have the same interface (all Wide SCSI-2 devices or all SCSI-2 devices). If some devices have a Wide SCSI-2 interface, and at least one (usually a CD-ROM) has a SCSI-2 (Narrow) interface, then, in some cases, problems arise with correct connection terminators. The problems are caused by the fact that the Wide and Narrow interfaces differ in the number of data lines on the bus.

The most common mistake is to connect several hard drives with the Wide SCSI-2 (or Ultra Wide SCSI-2) interface to the Wide SCSI-2 bus, and connect to the last connector via a CD-ROM adapter with a SCSI-2 interface. Despite the fact that the terminator will be enabled on the CD-ROM, this terminator will terminate only 8 lines of the bus, while the remaining 8 lines used in the Wide SCSI interface will be “hanging in the air”.

More the right decision devices with an 8-bit SCSI interface will be connected to the intermediate bus connectors (terminators for 8-bit devices are disabled). Connect a Wide SCSI device with an enabled terminator (or an active external terminator) to the last connector. Of course, the presence of an adapter still worsens the system's performance. This option should be avoided if possible (as well as generally using high-speed and slow devices on the same bus). However, in this situation this is still the correct connection option. Ultra2 SCSI controllers have a built-in interface converter, which allows you to connect all Ultra2 standard devices to a separate bus, without mixing them with lower-speed devices.

Features of controllers with two connectors

Many SCSI controllers have 2 connectors: one for the SCSI interface, the second for the Wide SCSI interface. These are just physically different connectors, the SCSI channel is the same. These different connectors avoid the use of any adapters, but do not eliminate the problems with connecting terminators. Such controllers have "High On/Off" and "Low On/Off" switches. These are separate active terminator switches for the high and low bytes of the bus, respectively. Moreover, the low byte (“Low”) is the lines of the SCSI interface (Narrow), and the high byte is the lines for expanding the interface to the Wide standard.

If devices of only one standard are connected to such a controller, then both switches are set to the “On” position. The SCSI bus (or WIDE SCSI) is connected by one end connector to the controller, and the device with the terminator enabled is connected to the other end connector. The remaining devices with the terminators turned off are connected to the intermediate connectors.

If it is necessary to connect several devices with different interfaces, two buses are used: SCSI and Wide SCSI. Both buses are connected with their end connectors to the corresponding connectors of the controller. Devices are connected to buses in accordance with the standard they support. Terminators are enabled only on the device connected to the SCSI bus end connector and on the device connected to the Wide SCSI bus end connector. On the controller, the terminator switches are set to the "High On" and "Low Off" positions.

Recently, controllers, including those installed on the motherboard, do not have such a switch (or a corresponding item in the BIOS menu). There is only “Terminator On/Off”. In this case, we are talking only about the lower 8 bits of the bus. The most significant bits are always terminated.

Power supply for active terminators

Active terminators currently in use require supply voltage to operate. This voltage can be supplied to the active terminator either from any SCSI device or from the controller. Modern SCSI devices have a special switch for selecting the supply voltage source for the active terminator built into these devices. Typically, the factory sets the terminator power supply mode from the device itself (“Power from Drive”). If only one or several internal SCSI devices with the same interface are connected to the controller, then no problems arise.

If, under the conditions of normal bus termination, it is necessary to use an active external terminator, then care must be taken to supply the supply voltage to it. To do this, one of the devices connected to this bus must have the “Power to SCSI Bus” mode enabled. If this is not done, the external terminator simply will not work normally.

In all the cases discussed above, the best results are usually achieved when all terminators are powered from the same source. To supply power supply voltage to all terminators from one source on one (any) device, the power supply mode of the terminator built into this device from the internal power source is turned on and at the same time the power supply mode of the terminators to the bus is turned on. To do this, the jumpers (switches) on this device are set to the “Power to SCSI Bus and Drive” position. On other devices on which termination must be enabled, the terminator power supply mode from the SCSI bus is set (jumpers or switches are set to the "Power from SCSI Bus" position).

In the vast majority of cases, the system will work normally even if each terminator is powered from its own source. The main thing is that each terminator is supplied with voltage from at least one source. Moreover, nothing bad will happen if several devices are set to supply voltage to the terminators in the line. The power supply circuits of the terminators of all devices are protected from counter applied voltage.

Specialized SCSI controllers

Often scanners and some other slow SCSI devices come bundled with a simple SCSI controller. Typically this is a SCSI-1 controller on an ISA bus of 16, or even 8, bits with one (external or internal) connector. It does not have a BIOS, it often works without interruptions (polling mode), sometimes it only supports one device (not 7). Basically, such a controller can only be used with your own device. Other devices most often will not work on such a controller. Moreover, many devices (most often scanners) will not be able to work with a standard controller. Therefore, it is better not to count on compatibility, but to connect standard SCSI devices to a separate standard controller.

tell friends