Serial ATA Storage Architecture and Applications

To ease the transition and to provide compatibility with the broad installed base of existing software, the Serial ATA specification accommodates full software compatibility with existing Parallel ATA implementations. This compatibility goal probably had the largest overall impact on the architecture and design of the technology. Nearly all aspects of the architecture relate directly to the need for software compatibility with existing Parallel ATA implementations.
The Serial ATA specification is surprisingly limited in the scope of what is defined even so, it s nearly 300 pages long! The specification focuses on the interface between the host and the device. This limited view leaves a substantial portion of a complete solution outside the scope of the spec.
On the computer end of the wire, the host controller interface (HCI) for Serial ATA is outside the scope of the specification since it does not represent behavior between the host and device. Rather, the HCI defines the programming interface for host software. Implementations that desire compatibility with existing software must implement an HCI that matches the existing parallel ATA HCIs according to applicable Parallel ATA standards.
Similarly, on the device end of the wire, the Serial ATA specification does not define the command set used by storage devices. Instead, the specification provides a means by which the existing ATA command protocols can be supported. The existing and future ATA and ATAPI standards define the command set used by storage devices, with no need for Serial ATA...