Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Memory/Storage

Serial ATA and the evolution in data storage technology

Posted: 02 Jul 2008 ?? ?Print Version ?Bookmark and Share

Keywords:Serial ATA? data storage evolution? parallel ATA? SATA vs. PATA? hard disk drive?

Mohamed Salem
Mentor Graphics Corp.

No question, storage devices and storage technologies have helped fuel our digital lifestyle. The amount of storable information and the requirement for fast, efficient, state-of-the-art storage technologies are the primary mechanisms that must continue to evolve if we are to meet the demands for all things digital.

One of the more promising storage technology solutions to develop is Serial ATA, or SATA. Before we can fully appreciate the benefits behind the SATA standard, it makes sense to look back on the history of data storage.

Fifty years of growth
The first data storage device was introduced in the 1950's by IBM. This rather rudimentary storage device consisted of magnetic tape. It was a huge hit since one of the primary methods for data storage at the time was the punch card. With one magnetic tape being able to replace thousands of punch cards, it was clear data storage would soon take off. While magnetic tape held its popularity until the early 1980's, there has been remarkable progress in hard disk drive (HDD) technology in the past two decades. In fact, HDD has provided fertile ground on which the entire industry of storage systems exists today.

In the past decade, the number of bits stored per unit of HDD media has doubled every year as shown in Figure 1. Looking at this time line numerous milestones stand out as new or improved technology applications were enabled by improvements in storage technology. For example, in 1996 digital storage became more cost-effective than paper due to its ability to store large amounts of data for less money and in less space.

It's safe to say that storage technology advancements have been driven by the evolution in data utilization and the extensive demand for storage solutions. Regardless of the application, data storage must be reliable, fast, and cost-effective " across a broad spectrum of market domains from specialized consumer use platforms to high-end enterprise applications.

Figure 1: The storage technology evolution: It's all about media density vs. cost.

The rise and fall of parallel ATA
The first interface for HDD was called the Advanced Technology Attachment (ATA) standard developed in the mid 1980's by T13 under ANSI. At the time, the ATA standard was known as Integrated Device Electronics (IDE); incidentally, the two terms are interchangeable today. The ATA standard has gone through at least seven revisions over time with each revision increasing the transfer speed and adding in additional feature sets. While it has always been a parallel interface, the term Parallel ATA (PATA) wasn't used until the introduction of SATA.

Around the 2003 time frame, the industry realized it needed to address the growing problems that PATA was starting to run into as the speeds increased across the interface. These problems included lack of support for lower voltages, the discontinuity in performance roadmaps (PATA could not support the necessary doublings in data transfer rates), the limited cable length of 18 inches, the wide ribbon cable congestion effecting airflow and interior space, the high pin count connector (40 pins), and the incapability of supporting hot swapping of new HDDs. The industry leaders came together under the SATA I/O Organization and developed the SATA standard to address these problems in order to prevent storage technology from stalling out.

SATA on the rise
The SATA specification was developed with the fundamental goals of having a ten-year scalable performance roadmap. Some of the primary goals included 100 percent software backward compatible with PATA, support for lower voltages in silicon manufacturing, a lower pin count, and easing installation by the elimination of jumpers on HDD. The market demanded a cost-competitive solution to PATA, so SATA responded with power management options for the mobile market, minimal protocol overhead, first-party direct memory access (DMA) to Host memory, and improved cables or connectors for external usage models.

The SATA specification: A functional description
SATA is a high-speed serial link replacement for the parallel ATA attachment of mass storage devices. The SATA serial link employs a high-speed differential layer that utilizes Gigabit technology and 8bit/10bit encoding. Data transfer rates are 150MBps for first generation speed (GEN1) and 300MBps for second generation speed (GEN2).

Figure 2: PATA connectivity vs. SATA connectivity.

The left side of Figure 2 shows two devices connected to a PATA Host adapter. This method allows up to two devices to be connected to a PATA bus using a Master/Slave communication technique. To the right, in Figure 2 we see an example of how the same two devices are connected to a SATA host bus adapter (HBA). Host software that is only "PATA aware" accesses the SATA subsystem in exactly the same manner and functions correctly to maintain SATA software backward compatibility with PATA. The SATA HBA converts the normal operations of the software into a serial data/control stream and connects each of the two drives with their own respective cables in point-to-point fashion.

Four communication layers
There are four layers in the SATA architecture: Command, Transport, Link, and PHY as depicted in Figure 3. The layers are used for communication on both ends of a storage system which are the Host and the Device. The Command layer is responsible for overall ATA command execution, and the Host may interact with the Command layer through a register interface that is equivalent to that presented by a traditional PATA Host adapter.

Figure 3: SATA has four communication layers.

The Transport layer is responsible for creating the packets for transmitting between the Host and Device. These packets (or frames) include the combination of control information and data into a format known as a Frame Information Structure (FIS).

The Link layer is responsible for taking the constructed frames, encoding or decoding the data using the common 8b/10b encoding scheme, and inserting control characters so that the 10-bit interface can be decoded correctly.

And finally, the PHY is responsible for transmitting and receiving the encoded information as a serial data stream on the SATA cable. SATA has two main data transfer modes for communication between the Host and the Device, Programmed Input Output (PIO) and DMA mode. The main drawback to the PIO mode is that it requires a great deal of CPU overhead to configure a data transaction and transfer the data. However, it is still useful in applications that don't demand high performance because of the simple logic necessary to implement this mode. The DMA mode allows direct access for the memory to increase the performance.

Error handling
SATA's layered architecture extends to error handling as well. As each layer in the SATA stack has an input that indicates an error was detected in the previous layer. In addition, each layer has its own local error detection capability for identifying errors specific to that layer based on the received data from the other layers. Each layer performs local recovery and control actions and will sometimes forward error data to the next layer in the stack according to the rules defined by the standard.

SATA standard performance features
Besides moving to a layered structure, many new performance enhancements have been added to the SATA standard to help meet market requirements for additional storage functionality. Some of these new features include Native Command Queuing (NCQ), Link Power Management, Hot plug support, Port Multiplier, Port Selector, and External SATA.

I. Native Command Queuing!NCQ is one of the most advanced and highly anticipated features introduced into the SATA standard. It's a powerful interface technology designed to increase performance and endurance by allowing the drive to internally optimize the execution order of workloads.

Intelligent reordering of commands within the drive's internal command queue helps improve performance of queued workloads by minimizing mechanical positioning latencies on the drive. Native Command Queuing achieves high performance and efficiency through efficient command re-ordering. In addition, there are new capabilities built into the SATA protocol to enhance NCQ performance which now include race-free status return, interrupt aggregation, first-party DMA (FPDMA), and priority handling.

II. Link Power Management!SATA has three different power modes which are controlled by the Device and Host controller. The different modes of power include PHY ready, partial, and slumber. The partial and slumber modes are energy saving modes for power sensitive applications and for improvement in battery life while generating less heat. These low power modes for the link are initiated by the Host or the Device.

III. Hot plug support!"Hot plug" is defined simply as the ability to connect and disconnect devices without prior notification to the system. This provides system flexibility and ease of use, as well as an easy way to replace, upgrade, or expand storage without incurring downtime. There's no need to power down the interface prior to replacing devices " it's supported by external cables and backplane connectors and eSATA.

IV. Port Multiplier!A Port Multiplier is a mechanism for one active Host connection to communicate with multiple devices. A Port Multiplier can be thought of as a simple "demultiplexer" where one active Host connection is demultiplexed to multiple device connections, as shown in Figure 4. Only one active Host connection to the Port Multiplier is supported. The Port Multiplier is an extensible design that supports up to 15 endpoint device connections and utilizes the full bandwidth of the Host connection.

Figure 4: Port Multiplier overview.

V. Port Selector!A Port Selector allows two different Host ports to connect to the same Device in order to create a redundant path to that Device. In combination with a Redundant Array of Independent Drives (RAID), the Port Selector allows system providers to build fully redundant solutions. The upstream ports of a Port Selector may also be attached to a Port Multiplier to provide redundancy in a more complex topology. A Port Selector can be thought of as a simple multiplexer as shown in Figure 5.

VI. External SATA!External SATA (eSATA) solutions have two major SATA connections using shielded cables and connectors. It enables an external direct attached storage for notebooks, desktops, consumer electronics, and entry servers with high performance, cost effective expansion storage. eSATA enables new usage models outside of the box with up to six times faster than existing external storage solutions: USB 2.0, 1394 based on robust and user friendly external connection.

SATA implementation: Host and device controllers
Mentor Graphics offers two examples of the SATA interface with either a Host or Device controller configuration, along with a PHY layer. Mentor's SATA Host controller can be implemented to map the SATA protocol layers functionality from the host side in an embedded SOC implementation environment.

As designed, the SATA Host controller sits between a Host system and the standard SATA physical layer (SATA PHY). The SATA PHY is responsible for sending packets from the SATA Host controller to the SATA link. The SATA Host controller also has two AHB connections on the Host system bus along with a master connection to allow DMA to start memory read/write operations.

Figure 5: Port Selector overview.

Conversely, the SATA Device controller core is designed to interface to a device CPU and DMA interface on one end, and the SATA Physical Layer controller on the other end. The Application Layer controller, Transport Layer controller, and Link Layer controller are the three core sub-modules that control the overall operation. These three modules coordinate their actions and utilize resources to transfer data between a Device system and a Host system on the other end.

As the successor to PATA, the SATA standard promises to address many of the more critical issues that face design teams today. Mainly, higher transfer speeds, thinner cables/connectors, conserving of battery life, and the ability to hot plug!all while providing better and more reliable operation to the end user.

Without question, we will see the continued evolution and successful adoption of the SATA standard. The storage technology sector has done its part in meeting the increased demand for digital storage and in the process has helped keep our digital age alive and well.

About the author
Mohamed A. Salem
is the engineering manager of Mentor Graphics intellectual property division.

Article Comments - Serial ATA and the evolution in data...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top