LibATA

libATA is a library used inside the Linux kernel to support ATA host controllers and devices. libATA provides an ATA driver API, class transports for ATA and ATAPI devices, and SCSI / ATA Translation for ATA devices according to the T10 SAT specification. Features include power management, Self-Monitoring, Analysis, and Reporting Technology, PATA/SATA, ATAPI, port multiplier, hot swapping and Native Command Queuing.