ATA Pass Thru Protocol defines a method to directly access ATA devices. This protocol provides interfaces that allow a generic driver to produce the Block I/O Protocol for ATA devices and allows a UEFI utility to issue commands to any ATA device. The main reason to provide such an access is to enable S.M.A.R.T. functionality during POST. This enabling is accomplished using the generic interfaces that are defined in ATA Pass Thru Protocol. The implementation of this protocol also enables additional functionality in the future without modifying the ATA Bus Driver that is built on top of the ATA host controller driver.