With the development of ATA-8, it seems that the parallel ATA standard that has been in use for more than 10 years has finally reached the end of the line. Sending data at rates faster than 133MBps down a parallel ribbon cable is fraught with all kinds of problems because of signal timing, electromagnetic interference (EMI), and other integrity problems. The solution is called Serial ATA, which is an evolutionary replacement for the venerable parallel ATA physical storage interface. Serial ATA is software-compatible with parallel ATA, which means it fully emulates all the commands, registers, and controls so existing software will run on the new architecture without any changes. In other words, the existing BIOSs, operating systems, and utilities that work on parallel ATA also work on Serial ATA. Of course, they do differ physicallythat is, you can't plug parallel ATA drives into Serial ATA host adapters and vice versa, although signal converters make that possible. The physical changes are all for the better because Serial ATA uses much smaller and thinner cables with only seven conductors that are easier to route inside the PC and easier to plug in with smaller, redesigned cable connectors. The interface chip designs also are improved with far fewer pins and lower voltages. These improvements are all designed to eliminate the design problems inherent in parallel ATA. Figure 7.8 shows the official Serial ATA International Organization working group logo used to identify most Serial ATA devices. Figure 7.8. Serial ATA official logo, which is used to identify SATA devices.
Although Serial ATA won't immediately replace parallel ATA, most new systems include Serial ATA interfaces alongside parallel ATA interfaces. Eventually, SATA will replace parallel ATA as the de facto standard internal storage device interface found in PCs. As current motherboard designs indicate, the transition from ATA to SATA is a gradual one, and during this transition parallel ATA capabilities will continue to be available. I also expect that, with more than a 10-year history, parallel ATA devices will continue to be available even after most PCs have gone to SATA. Development for Serial ATA started when the Serial ATA Working Group effort was announced at the Intel Developer Forum in February 2000. The initial members of the Serial ATA Working Group included APT Technologies, Dell, IBM, Intel, Maxtor, Quantum, and Seagate. The original group later became known as the Serial ATA II Working Group, and finally in July 2004 it became the Serial ATA International Organization. The first Serial ATA 1.0 draft specification was released in November 2000 and was officially published as a final specification in August 2001. The first Serial ATA II Working Group extensions to this specification, which make Serial ATA suitable for network storage, were released in October 2002. The Serial ATA Revision 2.5 specification is the latest release. The released specifications can be downloaded from the Serial ATA International Organization website at http://www.serialata.org. Since forming, the group has grown to include more than 130 Contributor and Adopter companies from all areas of industry. Systems using Serial ATA were first released in late 2002 using discrete PCI interface boards and chips. SATA was finally integrated directly into the motherboard chipset in April 2003 with the introduction of the Intel ICH5 (I/O controller hub) chipset component. Since then, most new motherboard chipsets have included Serial ATA. The performance of SATA is impressive, although current hard drive designs can't fully take advantage of its bandwidth. Three variations of the standard have been proposed that all use the same cables and connectors; they differ only in transfer rate performance. Currently, only the first two speeds are available, with higher speeds coming in the future. Table 7.10 shows the specifications for the current and future proposed SATA versions; the second-generation 300MBps (3.0Gbps) version became available in 2005, whereas the third-generation 600MBps (6.0Gbps) versions aren't expected until 2007.
From Table 7.10, you can see that Serial ATA sends data only a single bit at a time. The cable used has only seven wires (four signal and three ground) and is a very thin design, with keyed connectors only 14mm (0.55") wide on each end. This eliminates problems with airflow compared to the wider parallel ATA ribbon cables. Each cable has connectors only at each end, and each cable connects the device directly to the host adapter (typically on the motherboard). There are no master/slave settings because each cable supports only a single device. The cable ends are interchangeablethe connector on the motherboard is the same as on the device, and both cable ends are identical. Maximum SATA cable length is 1 meter (39.37"), which is considerably longer than the 18" maximum for parallel ATA. Even with this thinner, longer, and less-expensive cable, you initially get transfer rates of 150MBps (nearly 13% greater than parallel ATA/133). Second-generation Serial ATA supports 300Mbps, and future variations of SATA will support 600Mbps. Serial ATA uses a special encoding scheme called 8B/10B to encode and decode data sent along the cable. The 8B/10B transmission code originally was developed (and patented) by IBM in the early 1980s for use in high-speed data communications. This encoding scheme is now used by many high-speed data transmission standards, including Gigabit Ethernet, Fibre Channel, FireWire, and others. The main purpose of the 8B/10B encoding scheme is to guarantee that there are never more than four 0s (or 1s) transmitted consecutively. This is a form of run length limited (RLL) encoding called RLL 0,4, in which the 0 represents the minimum and the 4 represents the maximum number of consecutive 0s in each encoded character. 8B/10B encoding also ensures that there are never more than six or fewer than four 0s (or 1s) in a single encoded 10-bit character. Because 1s and 0s are sent as voltage changes on a wire, this ensures that the spacing between the voltage transitions sent by the transmitter is fairly balanced, with a more regular and steady stream of pulses. This presents a steadier load on the circuits, increasing reliability. The conversion from 8-bit data to 10-bit encoded characters for transmission leaves several 10-bit patterns unused. Many of these additional patterns are used to provide flow control, delimit packets of data, perform error checking, or perform other special functions. Serial ATA Cables and ConnectorsThe physical transmission scheme for SATA uses differential NRZ (nonreturn to zero). This uses a balanced pair of wires, each carrying +0.25V (one-quarter volt). The signals are sent differentially: If one wire in the pair carries +0.25V, the other wire carries -0.25V, where the differential voltage between the two wires is always 0.5V (one-half volt). So, for a given voltage waveform, the opposite voltage waveform is sent along the adjacent wire. Differential transmission minimizes electromagnetic radiation and makes the signals easier to read on the receiving end. A 15-pin power cable and power connector is optional with SATA, providing 3.3V power in addition to the 5V and 12V provided via the industry-standard 4-pin device power connectors. Although it has 15 pins, this new power connector design is only 24mm (0.945"). With 3 pins designated for each of the 3.3V, 5V, and 12V power levels, enough capacity exists for up to 4.5 amps of current at each voltage, which is plenty for even the most power-hungry drives. For compatibility with existing power supplies, SATA drives can be made with the original, standard 4-pin device power connector or the new 15-pin SATA power connectoror both. If the drive doesn't have the type of connector you need, adapters are available to convert from one type to the other. Figure 7.9 shows what the new SATA signal and power connectors look like. Figure 7.9. SATA (Serial ATA) signal and power connectors on a typical SATA hard drive.
Figure 7.10 shows SATA and parallel ATA host adapters on a typical motherboard. Figure 7.10. A motherboard with Serial and parallel ATA host adapters.
The pinouts for the Serial ATA data and optional power connectors are shown in Tables 7.11 and 7.12, respectively.
Serial ATA ConfigurationConfiguration of Serial ATA devices is also much simpler because the master/slave or cable select jumper settings used with parallel ATA are no longer necessary. BIOS setup for Serial ATA drives is also quite simple. Because Serial ATA is based on ATA, autodetection of drive settings on systems with Serial ATA connectors is performed in the same way as on parallel ATA systems. Depending on the system, Serial ATA interfaces might be enabled by default or might need to be enabled in the BIOS setup program (see Chapter 5, "BIOS," for details). Because Serial ATA is based on parallel ATA, you can adapt ATA-100 and ATA-133 hard disks to a Serial ATA host adapter with a converter such as the HighPoint RocketHead 100 device shown in Figure 7.11. This converter is included with HighPoint Serial ATA RAID host adapters, and similar devices can be purchased from aftermarket vendors. Figure 7.11. Two views of the HighPoint RocketHead 100 converter.
If you want to use Serial ATA drives but don't want to install a new motherboard with Serial ATA host adapters already included, you can install a separate Serial ATA host adapter into a PCI expansion slot (see Figure 7.12). Most of these adapters include ATA RAID functions. Figure 7.12. Typical two-channel (top) and four-channel (bottom) Serial ATA RAID host adapters. The two-channel adapter also includes a parallel ATA host adapter.
Some of the first Serial ATA host adapters, such as models from HighPoint and 3Ware, use a parallel-to-Serial ATA bridge technology that consumes as much as half of the available bandwidth. Other adapters, such as those made by Promise Technology, use native Serial ATA controller chips, which is a better solution in theory because it preserves all the bandwidth for use by the drive. However, current Serial ATA drives, like their parallel ATA siblings, cannot transfer data at anything close to the 150MBps rate of the host adapter; 40MBps50MBps is the typical range for average transfer speeds of 7200rpm Serial ATA drives. Second-generation Serial ATAAs with parallel ATA, Serial ATA was designed to be the primary storage interface used inside a PC and was not initially designed to be used as an external interface. However, with Serial ATA Revision 2.x and later, Serial ATA is evolving to include external connections (called eSATA), storage enclosures with multiple drives, and port multipliers that allow up to 15 SATA drives to be connected to a single SATA port. The external connection is designed to support four lanes, with 300MBps per lane, for a total of 1200MBps. This competes with external SCSI for RAID enclosures but most likely won't compete with general-purpose high-speed external device interfaces such as USB 2.0 and IEEE 1394 (i.LINK/FireWire). Because of the lower cost and smaller size of the internal cabling, there is little doubt that Serial ATA will replace parallel ATA inside both desktop and laptop systems over the next few years. Advanced Host Controller InterfaceSerial ATA was designed not only as a replacement for parallel ATA, but also as an interface that would evolve into something with many more capabilities and features than its predecessor. Initially, compatibility with parallel ATA was one of the most important features of Serial ATA because it enabled a smooth and easy transition from one to the other. This compatibility extends to the driver level, allowing Serial ATA devices to use the same BIOS-level drivers and software as legacy parallel ATA devices. Although the intent of Serial ATA was to allow an easy transition from parallel ATA, it was also designed to allow future growth and expansion of capabilities. To accomplish this, an enhanced software interface called the Advanced Host Controller Interface (AHCI) was initially developed by the AHCI Contributor Group, a group chaired by Intel and originally consisting of AMD, Dell, Marvell, Maxtor, Microsoft, Red Hat, Seagate, and StorageGear. The AHCI Contributor Group released a preliminary version of AHCI v0.95 in May 2003 and released the final specification in 2004. AHCI provides a standard, high-performance interface to system driver/OS software for discovering and implementing such advanced SATA features as command queuing, hot plugging, and power management. AHCI was integrated into Serial ATAsupporting chipsets in 2004 and is supported by AHCI drivers for Windows. Serial ATA Transfer ModesSerial ATA transfers data in a completely different manner from parallel ATA. As indicated previously, the transfer rates are 1.5Gbps (150MBps), 3.0GBps (300MBps), and 6.0GBps (600MBps), with most drives today supporting either the 1.5GBps or 3.0GBps rate. Note that speeds are backward-compatiblefor example, all drives supporting the 3.0GBps rate also work at 1.5GBps. Note that because SATA is designed to be backward-compatible with parallel ATA, some confusion can result because SATA drives can report speeds and modes that emulate parallel ATA settings for backward compatibility. This means the drive is merely lying for backward compatibility with existing software. For example, many motherboards detect and report a Serial ATA drive as supporting Ultra DMA Mode 5 (ATA/100), which is a parallel ATA mode operating at 100MBps. This is obviously incorrect because even the slowest Serial ATA mode (1.5GBps) is 150MBps and Ultra DMA modes simply do not apply to Serial ATA drives. Parallel and Serial ATA are completely different electrical and physical specifications, but Serial ATA does emulate parallel ATA in a way that makes it completely software transparent. In fact, the parallel ATA emulation in Serial ATA specifically conforms to the ATA-5 specification. This is especially apparent in the IDENTIFY DEVICE command used by the autodetect routines in the BIOS to read the drive parameters. The Serial ATA specification indicates that many of the items returned by IDENTIFY DEVICE are to be "set as indicated in ATA/ATAPI-5," including available UDMA modes and settings. The SATA 1 specification also says, "Emulation of parallel ATA device behavior as perceived by the host BIOS or software driver, is a cooperative effort between the device and the Serial ATA host adapter hardware. The behavior of Command and Control Block registers, PIO and DMA data transfers, resets, and interrupts are all emulated. The host adapter contains a set of registers that shadow the contents of the traditional device registers, referred to as the Shadow Register Block. All Serial ATA devices behave like Device 0 devices. Devices shall ignore the DEV bit in the Device/Head field of received Register FISs, and it is the responsibility of the host adapter to gate transmission of Register FISs to devices, as appropriate, based on the value of the DEV bit." This means the shadow register blocks are "fake" parallel ATA registers, allowing all ATA commands, modes, and so on to be emulated. Serial ATA was designed to be fully software compatible with ATA/ATAPI-5, which is why a Serial ATA drive can report in some ways as if it were parallel ATA or running in parallel ATA modes, even though it isn't. |