ABSTRACT
This chapter covers the basic operational characteristics of the storage software stack. Whereas previous sections have concentrated on how to physically connect SATA devices and their architectureassociated protocols, this chapter addresses the most common method to create a SATA-based host implementation. Topics include the following:
Storage I/O Stack ○ I/O manager ○ File system, volume manager, and volumes ○ Class and miniport drivers ○ Hardware: PCI bus, HBAs, and Devices
SATA and SATA Express architectures ○ SATA protocol layers ○ PCIe protocol layers
SATA configurations The Advanced Host Channel Interface (AHCI) Specification, which has been implemented in
all SATA applications since 20 05 System memory structure:
○ General status and control ○ Table of Command Lists
HBA configuration registers PCI Header and Configuration Space Memory registers
○ Generic ○ Port control
Port register map HBA Memory Space Usage Port memory usage
○ Received FIS structure ○ Command List
Storage I/O must traverse many layers of software and hardware stacks as seen in Figure 10.1.