title: Direct control of ATA commands
body: <p>I am working on hard drive analysis, and wanted to know if there is a way to directly control an ATA hard drive under windows. In short I want to do something like a packet sniffer, but for the ATA commands sent to/from the hard drive.</p>
  
  <p>After that, I'd like to be able to write ATA commands directly the drive. If this is not possible under Windows then Linux is second choice.</p>
  
  <p>Third choice is to make an FPGA that does all this under PC control.</p>
  
  <p>Any ideas on if this is possible from standard APIs?</p>