Intro to Computer Systems

Chapter 6a: System Expansion

Storage Systems

Data storage devices are another high-bandwidth device that computers make constant use of. Special storage interface standards have been developed that are most efficient and effective at moving data from source to destination.

ATA (Advanced Technology Attachment)

The most common desktop computer standard for connecting mass storage devices to a computer is ATA (Advanced Technology Attachment). Soon after its introduction, it was further developed to cate for other storage devices, such as CD and DVD drives. Like the AGP interface, it was further refined over the years to add speed improvements.

Old ATA devices may also be called IDE devices. IDE stands for Integrated Drive Electronics; the circuitry that controlled the motor and armature of the disk was integrated onto the disk itself, rather than on a separate expansion card.

Direct Memory Access

Early versions of ATA (known as Programmed I/O, or "PIO mode") required the CPU to help out when transferring data from a disk into memory. Fortunately, this is no longer the case in modern versions of the ATA standard, freeing the CPU up for more important calculation tasks.

This faster, more direct method of data transfer is Direct Memory Access (DMA) mode. The original DMA standard allowed for transfer speeds up to 8, and later 16 MB/sec. A later series of extensions, known as Ultra DMA, allow for theoretical transfer rates up to 133 MB/sec.

Parallel ATA

A parallel ATA cable and conector.
A Parallel ATA cable and connector.

The earlier ATA connectivity standards used data lines in parallel to transfer data between the host system and the devices connected through the interface. This is known as the Parallel ATA standard. Being a parallel interface, it also had severe limitations on how long the cables could be; and having 40 wires in total, the wide ribbon cables were cumbersome to pack neatly into a computer case.

Another issue of having a large number of data wires together, is that there is a lot of interference (known as crosstalk) between the data lines. In later versions of the Parallel ATA standard, this interference was reduced by placing a ground wire between each data line. This meant that the ribbon cables now had 80 wires rather than 40.

Topology and Limitations

Parallel ATA has a bus-like topology where two devices shared the same interface bandwidth. The two devices were referred to as a master and a slave (even though there is no relationship between the two drives). In a multi-disk system, the master drive was the one that appeared "first" to the system.

This topology meant that there were a few limitations on the disk system, which becomes apparent when there was a heavy workload put onto it:

The cache on a hard disk can help somewhat with the latter issue. The operation may be stored in the disk's internal cache, and release the bus for the next operation much more quickly.

It will then do that operation (e.g. writing to the actual disk) in its own time.

Serial ATA

A serial ATA cable and connector.
A Serial ATA cable and connector.

The Serial ATA standard, developed in 2003, resolved many of the issues present in Parallel ATA. It instead uses a point-to-point topology, and a thin 7-wire cable that can span distances twice as long.

The initial Serial ATA standard allowed for a maximum throughput of 150 MB/sec (comparing favourably to the highest Parallel ATA standard, Ultra ATA-133). Newer revisions to the Serial ATA standard allow for faster speeds: Serial ATA 2.0 doubled throughput to 300 MB/sec, and version 3.0 doubled it yet again to 600 MB/sec.

Magnetic mass storage devices can't get anywhere near to these newer standards, however they are useful for high-speed RAID configurations, and high-end solid state disks. (These will be discussed in a later chapter.)

Advanced SATA Operations

At its basic level, the Serial ATA interface can be run with a similar protocol to Parallel ATA drives. This enhances compatibility (the operating system can use the interface in much the same was as a legacy Parallel ATA interface), however it prevents the use of more advanced features that improve transfer efficiency.

The mode that allows for the full support of Serial ATA's advanced features is called Advanced Host Controller Interface (AHCI). Older operating systems, such as Windows XP, may have trouble running in this mode without driver software being installed.

The two major new features made available on Serial ATA via, via the AHCI interface are:


eSATA is an electrically-compatible extension of the SATA standard, which allows for external mass storage devices to connect to the system. The benefit of this is that the external device can operate with a performance level more typical of an internally-connected device.

mSATA / M.2

With increasing ubiquity of solid state disks, there has been a pressing need for both a more compact and more efficient storage interface standard.

The initial response was to develop the mSATA standard, which was effectively a SATA solid-state disk in the form factor of a mini PCI Express card. This solved the form factor issue, but performance issues remained. This led some laptop manufacturers to develop proprietary interfaces based on a raw PCI Express interface.

An mSATA (left) and M.2 (right) solid state disk.
An mSATA (left) and M.2 (right) solid state disk. Source:


This has recently been standardised as the M.2 interface standard (also known as the Next Generation Form Factor). This is a standard that specifies small form-factor mass storage devices that can connect by either Serial ATA 3.0, or PCI Express 3.0 interfaces. M.2 cards look superficially similar to mini PCI Express cards, but have a different edge-card

SCSI (Small Computer System Interface)

SCSI is a high-end storage interface standard used most often in workstations and servers. It, like ATA, it has a legacy version that was a parallel, bus-based interface; but it has a much higher speed potential, and cable lengths could be much longer. The way in which SCSI transfers data is more efficient than ATA, especially for high-demand operations.

SCSI can be used both internally and externally, and like Parallel ATA, there are a variety of revisions to the standard that allow for progressively higher speeds.

The SCSI standard was also more flexible in the external peripherals that can be attached; not just mass storage devices, but also scanners and other high-bandwidth input devices. (This use of SCSI has long since disappeared, with the popularity of high speed external interfaces like USB and FireWire.)

Like the ATA interface, SCSI storage interfaces are also moving towards transmitting information serially, with the Serial Attatched SCSI (SAS) standard. There are a number of connection types for SAS, some of which look very similar to Serial ATA - however SAS devices can't run on a Serial ATA interface.

That said, there is a section of SAS protocol that allows SAS controllers to fall into a Serial ATA compatibility mode, known as Serial ATA Tunneling Protocol- this allows the use of SATA hard disks on SAS controllers that support this standard.

As the SCSI and SAS interfaces have features more in tune with higher-end computing tasks, the devices available for these interfaces follow suit - they are usually quite expensive, and designed for higher reliability and outright speed.