The acronym SCSI stands for Small Computer Systems Interface. Although only a few computer experts know this technology in depth, most people have probably heard of this interface since it is not a newly emerged name. In fact, the first concept of SCSI can go back to year 1979. At that year, Shugart Associates, a disk drive manufacturer was seeking a new universal interface for future disk drives, which led to the creation of the Shugart Associates Systems Interface(SASI), the very early predecessor of SCSI.
Although SASI was very limited in terms of its capabilities, its command set and its signaling speeds, it was a great idea and was very revolutionary for that period of time:it worked at a logical level instead of at a device level,it supported logical block addressing rather than head/cylinder/sector, it used 8-bit parallel data transfer instead of analog serial and it supported generic commands rather than a couple of control lines.
In order to make SASI more widely accepted in the industry, in late 1981, Shugart Associates along with NCR Corporation jointly convinced ANSI to set up a committee to standardize this interface. In 1982, the X3T9.2 technical committee was formed to work on standardizing SASI. The name was changed to SCSI in this year since this interface was supposed to be an industry standard and it was not appropriate to have a manufacturer's name on it. In the following couple of years, many changes were made to the interface to widen its command sets and to improve its performance. For example, during this period, NCR Corporation contributed proposed command sets for tapes, processors and printers.
SCSI was not just for disks anymore. By 1984 a draft proposal was presented to ANSI for approval. At the same time, there were already many devices on the market that adhered more or less to this proposal. In 1986,the first "true" SCSI interface standard was approved by ANSI as standard X3.131-1986. This first official version is today referred to as SCSI-1. Since then, many new features and functions have been added to this interface and led SCSI evolved into the new SCSI-2 and SCSI-3 standards. A SCSI bus implements both a low-level physical I/O protocol and a high-level logical device control protocol. It can connect up to 15 devices together by using a host adapter (controller), each of which (including the controller) is assigned a unique device identification number starting from 0 to 15.
As mentioned before SCSI is not just limited to hard drives but it can support all different types of devices, including magnetic and optical disk drives, tape drives and data communication devices. It should also be noted here that SCSI is not really just an interface. It is, at its heart, a kind of systemlevel bus, as the name suggested. In theory, a SCSI bus could be used as a system bus for an entire computer system. All the devices, including CPUs, primary storage and I/O devices, could be attached to the bus. From the beginning, the goal of SCSI was to provide a high-level, expandable and high-performance interface. For this reason, it is mainly used in the high-end computer systems, ranging from PC to mainframes. But most PC systems do not provide native built-in support for SCSI the way they do for other interfaces, such as IDE/ATA. This is one of the key reasons why SCSI isn't nearly as common as IDE/ATA in the PC world. Another reason why SCSI is not very popular is that most people always get confused with the SCSI related terminology: what is fast SCSI, what is wide SCSI, what is ultra SCSI, what are the differences among them and which one should I select?
This confusion is because during the SCSI development there are several different SCSI standards representing different generations of the technology and there are also multiple variations for a certain SCSI standard. In order to make things clear, the next section will be focused on these different SCSI standards and the related technology involved in each standard.
SCSI Standards: SCSI-1
SCSI-1, also known as SCSI standard, is the original standard. It evolved from SASI and got approved by ANSI in 1986. You can imagine this standard is already obsolete. SCSI-1 basically outlined the physical and electrical traits of SCSI interface, including cable length, signaling characteristics, command sets and transfer modes. The SCSI-1 standard defines two modes of data transfer: asynchronous and synchronous modes.
In synchronous transfer, the target sends a Request signal simultaneously with the data but it does not wait for the Acknowledge signal sent from the initiator to begin sending the next data item. So it can use the full capacity of the bus. Synchronous SCSI-1 supports transfer rates of up to 5 Mbytes per second. In an asynchronous mode, the target does not send the next data item until the initiator explicitly acknowledges the receipt of the previous data item. In this mode, SCSI-1 supports transfer rates of up to 3 Mbytes per second because every other cycle is used by the target to send an acknowledge signal.
In SCSI-1 standard, the SCSI interface always uses a narrow 8-bit bus and the data transmission was very simple: it only supports single-ended (SE) transmission with passive termination. SE transmission involves sending positive and zero voltages to represent 1 and 0. The purpose of using termination is to eliminate the interference of the reflected electrical signals. We know, electrical signals are just like waves. When a data signal travels along the SCSI bus, it will bounce back when it reaches the end. If this reflected signal is not effectively terminated, it will interfere with the other data signals still traveling towards the end. In SCSI-1, passive termination is used to do this job. But since this method only uses simple resistors to do the termination, it can't be used for any modern SCSI speeds.
In a word, SCSI-1 was very limited and only had the most basic features and transfer modes.
SCSI-2
Due to the fact that SCSI-1 didn't standardize the command set, many manufacturers implemented their own command set. Much confusion arose from these non-standardized implementations. In order to solve this problem, in 1985, work on a new SCSI specification (SCSI-2) began. In this new standard, important objectives included improving performance, enhancing reliability and adding features to the interface, as well as to formalize and properly standardize SCSI commands. A set of standard commands for SCSI hard disks, called the common command set or CCS was created, which eventually formed the basis for the new SCSI-2 standard.
Although work on SCSI-2 began even before SCSI-1 was approved, it wasn't until 1994 that the final spec was approved by ANSI. SCSI-2 is an extensive enhancement of the very limited original SCSI-1. Not only does it standardize the command set, but also defines the following significant new features and improvement: Fast SCSI, Wide SCSI, active termination, differential signaling (HVD), command queuing, scatter/gather data transfer and many others as well.
Command queuing offers the ability to rearrange or reorder the execution of I/O commands so that simultaneous multiple command requests between devices on the bus are allowed. Scatter/Gather is a method of providing multiple host addresses for data transfer in one command packet, which greatly increases performance in environments such as Unix, Novell NetWare, Windows NT, Windows 95 and OS/2. Also, cables and connectors are improved and more devices, such as CD-ROMs, scanner and removable media, are supported on the bus to keep up with the current technology. Fast SCSI doubles the SCSI bus clock rate from 5 MHz to 10MHz, which increases the SCSI data transfer rate from 5 MB/second to 10 MB/second. SCSI -2 also provides the option to double the bandwidth of the SCSI bus via the use of Wide SCSI. The width of the Wide SCSI bus is increased from 8 bits to 16 bits, which enables this interface to support up to 15 devices (7 devices for SCSI-1) and double the data throughput. If you combine Fast and Wide SCSI, you can get Fast Wide SCSI with which the maximum data transfer rate can be 20 MB/s.
Active termination is introduced in SCSI-2. It uses voltage regulators instead of simple resistors to ensure the termination voltage, which can lower the impedance of the termination and improve reliability.
The cable length is another issue. In the original SCSI-1 spec, 2-3 feet cable length was adequate. Now it became necessary to have longer cables to support higher speeds. But we know the greater the distance the signal travels, the more problems you will have due to interference, degradation, etc. And the faster the bus runs, the chances of these problems you will meet increases.
This is the major limitation of SE signaling used in SCSI-1. As you increase the bus speed, the maximum allowable cable length decreases dramatically. To solve this problem differential signaling or High Voltage Differential (HVD) was developed. The principle of HVD is to use two wires to transmit each signal. To send a 0, zero voltage is sent on both wires. To send a 1, a positive voltage is sent on the first wire. In the meantime, the second wire contains the electrical opposite of the first wire. Once the signal is received, the device on the receiving end takes the difference between the two wires and converts it to a 0 or 1 depending whether it sees a zero or high voltage. It solves the cable length problem but the cost is high. Later on a new method called Low Voltage Differential (LVD) signaling is developed to replace the more expensive HVD.
SCSI-3
Work on the next version of the SCSI standard, called SCSI-3, began in 1993. Although it has not been finished yet, some elements of the standard have been in use already. SCSI-3 is an enhancement to the old SCSI-2 spec and contains many new features, technologies, and command sets. In order to avoid the potential confusion, a decision was made to have SCSI-3 be a collection of different but related standards rather than making it a single huge standard document that covered everything. This would enable multiple standards to be worked on at once by different groups, and would allow popular technologies to advance faster than others. But another problem emerges when so large number of different technologies (such as IEEE-1394 and Fibre Channel) all falls under the name "SCSI-3". Many people get confused by the term.
To solve this problem, now each of these documents is given its own standard name and is revised independently of the others. For example, the most implemented form of SCSI, which was formerly known as just "SCSI" in the earlier standards, became the SCSI-3 Parallel Interface(SPI) under SCSI-3. This interface has evolved into SPI-2, SPI-3, and SPI-4. I will only focus on this part of the SCSI-3 standard in this paper.
The original SPI included specs for the protocols used for parallel SCSI and the physical layer for Fast SCSI. Fast-20 (also known as Ultra SCSI) was later added to the spec that defined a faster 20 MHz bus, increasing the maximum data throughput to 40 MB/s on the SCSI bus. In SPI-2, several important new technologies and features were defined, including Fast-40 data transfer, LVD Signaling, multimode operation, several very high-density connectors, etc. Fast-40 again doubles the maximum speed of the SCSI bus from 20 MHz to 40 MHz, allowing maximum throughput of 40 MB/s on a narrow (8-bit) channel or 80 MB/s on a wide (16-bit) channel. One note here: sometimes we can see Ultra2 SCSI and Wide Ultra2 SCSI in the market, they are just the informal terms for devices that conform to the SPI-2 standard.
To replace the old SE and HVD signaling methods, LVD signaling was specified in SPI-2. This method involves pretty much the same concept as HVD, except low voltages are used. But the benefit is big: this method can not only use the advantages of differential signaling to allow long cable lengths, but also can reduce implementation cost and allow for electrical compatibility with single-ended devices. Thus LVD is rapidly becoming the main choice of signaling method in the SCSI world. In the meantime, a particular type of LVD devices, called multimode device was created. It can automatically work on both LVD and regular single-ended buses. The SPI-3 standards again doubled the transfer rate to 160 MB/s with Fast-80 data transfer. But this time, it was accomplished not by increasing the speed of the bus from 40 MHz to 80 MHz, but rather through the use of double transition clocking method; thus the "DT" sometimes found in the name for this signaling speed. The DT method changes the overall signaling method of the SCSI interface so that data transfer occurs twice per clock cycle (implemented by having data transfer on both the rising and falling edges of the clock), instead of just only once.This change allows for doubling the data throughput for a given clock speed.
Besides the Fast-80 (DT) data transfer, other four main features are added to SPI-3: Cyclic Redundancy Check (CRC), Domain Validation, Quick Arbitration and Selection (QAS) and Packetization. The problem is that any device that uses any subset of the new features was called Ultra3 SCSI devices. That means that two devices can be both Ultra3 but still be incompatible with each other. To solve this, new marketing terms were coined to identify these new devices.
The result is Ultra160 SCSI and Ultra160+ SCSI. The only difference between Ultra160 SCSI and Ultra160+ SCSI is: while Ultra160 SCSI defines first three of the five above-mentioned key features as being mandatory, Ultra160+ SCSI refers to devices that implement all five of the key SPI-3 features. SPI-4 is still in the fairly early stages of development, but some devices (Ultra320) are already using the new standard. SPI-4 includes Fast-160 which again doubles the transfer rate to a maximum theoretical throughput of 320 MB/s on a wide bus by using double transition clocking method and increasing the bus speed from 40 MHz to 80 MHz.
Other than that, it's not really clear what else may be included in the new spec. Up to now, all three (SCSI-1, SCSI-2 and SCSI-3) standards are introduced and some terms are explained. As a summary, a table showing transfer modes defined in all standards are given below. It includes the name, bus width, bus speed and maximum transfer speed of the different modes and is grouped by each SCSI standard.
Transfer Modes Defined in SCSI-1
Name Bus Width (Bits) Bus Speed (MHz) Transfer Speed (MB/s) SCSI 8 5 5 Transfer Modes Defined in SCSI-2Name Bus Width (Bits) Bus Speed (MHz) Transfer Speed (MB/s) Fast SCSI 8 10 10 Wide SCSI 16 5 10 Fast Wide SCSI 16 10 20 Transfer Modes Defined in SCSI-3Name Bus Width (Bits) Bus Speed (MHz) Transfer Speed (MB/s) Ultra SCSI 8 20 20 Wide Ultra SCSI 16 20 40 Ultra2 SCSI 8 40 40 Wide Ultra2 SCSI 16 40 80 Ultra160 SCSI 16 40(DT*) 160 Ultra160+ SCSI 16 40(DT) 160 Ultra320 SCSI 16 80(DT) 320
*DT: by using double transition clocking method It should be mentioned here that besides the differences in their bus width and data transfer speed among these modes, the type of connectors, the termination method and the signaling method used, the number of devices supported and the max cable length allowed are also different. For example, basically any mode that has a bus width of 8-bits uses 50-pin cables and connectors, while any mode with a bus width of 16-bits uses 68-pin ones. Also, anything after Ultra2 SCSI uses LVD for its signaling method, while older modes use SE or HVD.
Comparison between SCSI and Other Interfaces
SCSI Vs. EIDE/ATA
Another commonly used interface for hard drives is EIDE/ATA. It is designed as a low cost, easy to implement interface, so it isn't as feature packed as SCSI. The performance of EIDE is not as good as SCSI. For example, the data transfer speed of SCSI is already reaching 320 MB/s, but for EIDE devices, the speed can only be up to 100 MB/s by using the latest ATA/100 Interface. Other advantages of SCSI over EIDE include: SCSI hard drives are faster than EIDE drives; SCSI has the ability to perform overlapped I/O and command queuing, which is very good for multi-tasking operating systems; SCSI supports for scatter/gather data transfer to optimize and maximize throughput; SCSI can connect up to 15 different devices both internally and externally, while EIDE/ATA can only connect 4 internal devices (also limited to hard-drives and CD-ROMs); and you have a lot more flexibility when it comes to physical installation since SCSI cables can be quite long.
In a word, the computer systems that take advantage of these features from SCSI will see higher performance. But if SCSI is so great, why it isn't as popular as EIDE/ATA? Well, there are several reasons. First, cost is always a big issue. SCSI is more expensive to implement than EIDE/ATA controllers and the SCSI devices are more expensive than EIDE/ATA ones. Second, it's the more complex applications that SCSI wins out. If you only run some simple applications, EIDE/ATA is fast enough and you can't gain much from SCSI, sometimes you can't even notice the differences between these two interfaces. Compatibility is another issue: since there are so many SCSI standards, in reality there are no guarantees that any two different SCSI devices will work together reliably. This, along with so many confused terminologies, deters many people. Finally an EIDE/ATA system is much easier to implement if compared to a SCSI system. You don't need to worry about termination, bus width, signaling methods, and addressing, etc.
It's clear that SCSI is for the high-end system users. For personal users, EIDE/ATA is good enough. You will see that EIDE/ATA will continue to dominate on the low-end, price-sensitive computer systems.
SCSI Vs. Fibre Channel (FC)
Another alternative interface to SCSI is called Fibre Channel. It is much less popular than SCSI and many people even never hear of this interface existing in the computer systems. The name Fibre Channel comes from the fact that it was originally designed to operate over fiber-optic physical channels; now copper wiring is also supported.
As mentioned before, Fibre Channel is actually being defined as part of the SCSI-3 standards, so it really is sort of a "big brother" to the conventional SCSI. Like regular SCSI, Fibre Channel is a collection of protocols and options. The current implementation that is in use is a subset of Fibre Channel called Fibre Channel Arbitrated Loopstandard or FC-AL. FC-AL allows up to 126 servers and peripherals to be connected into what is essentially a "storage network". This configuration offers flexibility, performance and reliability advantages to high-end systems.
Unlike SCSI, FC-AL supports hot-pluggable adaptors and devices and requires no terminators, which makes adding a new device easier. "Hot-pluggable" means you can plug an adaptor into a system or attach a new disk drive without shutting down the computer. FC is a high-speed communication method. Despite being a serial interface, FC-AL allows for throughput of up to 500 MB/s. Another primary benefit of using Fibre Channel is that when using fiber optic connections, devices can be separated by up to 10 kilometers. As for copper connections, 30 meters is the limit, which is still pretty good compared to other interfaces.
The main reasons why Fibre Channel isn't used by PCs and even less popular than SCSI are cost and the lack of necessity. FC-AL is currently used almost exclusively on servers and groups of servers. It's a high-end interface that you aren't likely to run into in your personal system, at least for now.
SCSI Vs. IEEE-1394 (FireWire)
IEEE-1394 is a relatively new, high-speed serial interface. It has another name: FireWire. Both are referring to the same technology. It was originally developed by Apple and was called FireWire. Apple owns the rights to it, but many companies refuse to pay the license of the name. So then everyone started to refer to it by the standard number (1394) assigned to it by the IEEE. This interface was formally published as a standard in 1995. Like Fibre Channel, IEEE-1394 is also defined as part of the SCSI-3 family of related standards.
In terms of signaling and some aspects of operation, IEEE-1394 really can be thought of as "serial SCSI". IEEE-1394 is a serial interface that supports dozens of daisy-chained devices, hot-swapping, and plug-and-play, which make it considerably simpler to implement than SCSI interface. IEEE-1394 supports up to 50 MB/s. When originally introduced, IEEE-1394 had considerable promise, and there were some analysts who thought it would eventually become a major player in the mainstream hard disk interface market. But in reality, as of 2000, IEEE-1394 is not a major player in the storage industry. Some systems are now equipped with this interface, and a variety of storage devices are made for it, so it is a viable option if your system supports it. IEEE-1394 does continue to grow in popularity in a variety of specialty markets, especially digital video.
It may well become the next big interface standard for consumer electronics devices like camcorders and VCRs. As for the PC world, the future is uncertain.
Conclusions/Recommendations
SCSI is not just an average interface. It's actually a very complex and advanced system level bus and used for high-end computer systems. If you're thinking of switching to SCSI, it really depends on your needs. SCSI implementations can be very expensive, so you have to decide if the performance is worth it.
For example, as for a regular workstation, you probably don't need to waste money on a SCSI system. EIDE/ATA is good enough for you. But if you want to build a server system, you probably need to consider SCSI or even Fibre Channel. Typically, hard disk access on a server is far more frequent than that on a typical workstation, and this constant activity leads to congested data paths and the malfunctioning of overused disk drive parts. SCSI or Fibre Channel combined with RAID technology could be a better choice than EIDE/ATA for a server or servers due to their higher performances in terms of connectivity, bandwidth, efficiency, dependability and fault tolerance. Which interface will be chosen for a server should be based on budget, the number of users and the services this server system will provide.
Let's consider the following situations:
1. Small business LAN (1-2 dozen users with one or two servers) file and print sharing with simple email. In this situation, since the work this system will be doing isn't very complicated, you can still use EIDE/ATA hard drives if you have a limited budget and don't want to waste money. Actually some commercially available servers, for example, DELL low-end server series PowerEdge 500SC and IBM xSeries 200 servers, are still using integrated dual-channel EIDE controllers. These controllers use ATA/100 standard and the hard drives rotate fast (7200 rpm), which ensure the server to provide enough performances and at the same time keep the price down. Some hard drives are integrated into RAID configuration for fault tolerance and higher performance while other systems have optional SCSI controllers for backup devices or future upgrades. If you have enough money to spend, you can select a system with embedded SCSI controllers and optional RAID controllers, such as DELL PowerEdge 1400SC or IBM xSeries 220 servers.
2.Medium sized network (50-100 users with 3 or 4 servers) - web site, file and print sharing, email, a few applications that access a SQL Server DBMS. In this situation, you will select SCSI for sure and SCSI is worth the extra cost in this kind of server systems. For instance, EIDE only supports two separate I/O operations to two disks (on the two different interface cables) while SCSI allows up to 15 devices to be active simultaneously. This feature is very useful if you want to implement RAID, especially RAID-5. The more disk devices (of course, not too many) involved in RAID-5, the higher performance this system will have. When compared with EIDE hard drives, SCSI ones rotate faster (10000 rpm vs. 7200 rpm) and data transfer rate is larger (160MB/s vs. 100MB/s). SCSI also provides the external connection to many different devices ("Zip", "Jazz", CD writer, backup tape drives, etc.), which is very useful for server back-up tasks. In a word, they are the natural choice for server applications. 3. Large business LAN (200 or more users with up to 10 servers) same as #2 with E-Commerce web site using server-side applications and a significant DBMS distributed across multiple servers.
In this situation, you can still select SCSI with higher rotation speed (up to 15000 rpm) and faster data transfer rate (320 MB/s). If your budget is allowed, you can also try Fibre Channel. As mentioned before, a primary benefit of using Fibre Channel is that devices (such as servers) can be separated by up to 10 kilometers. This is extremely useful when you have as many as 10 servers and they are far away.
Bibliography:
1. Technology Focus: SCSI, Stephen D. Burd, 210-212, Systems Architecture (Third Edition).
2. SCSI history, http://www.totse.com/en/computers/tech_specs_graphics/scsihist.html
3. Hard Disk Interfaces and Configuration, http://www.pcguide.com/ref/hdd/if/index.htm
4. SCSI - Small Computer Systems Interface, http://www.maneurope.com/doc01.htm
5. SCSI Technical Library of Information, http://www.scsilibrary.org/
6. SCSI: An In-Depth Guide To SCSI Technology, http://www.systemlogic.net/articles/01/2/scsi/
7. Small Computer Systems Interface (SCSI), http://www.pcguide.com/ref/hdd/if/scsi/index.htm
8. Gary Field's SCSI Info Central, http://scsifaq.org:9080/scsi_faq/
9. About SCSI, http://www.scsita.org/aboutscsi/index01.html
10. SCSI Glossary, http://www.paralan.com/glos.html
11. DELL servers, http://www.dell.com/us/en/bsd/topics/segtopic_server_home.htm
12. IBM servers, http://commerce.www.ibm.com/cgi-bin/ncommerce/CategoryDisplay?cgrfnbr=2063469&cntrfnbr=197329&cgmenbr=34784&lang=en_US&cntry=840
No comments:
Post a Comment
Comments and Replies