Interfacing with SATA in embedded systems
SATA is not a simple thing.  SATA peripherals are offered through either PCIe to SATA converters, USB to SATA bridges, or the processor will have an on-chip peripheral.  You need to go pretty high-tech to get an integrated SATA peripheral controller. 

Texas instruments does have some good USB to SATA bridges, great for external hard drive bays.  

I have searched all over the internet and I haven't been able to find an external SATA IC that can communicate with a low communication protocol peripheral.  There are some that go from P/ATA (IDE) to SATA although you cannot find a controller that handle a P/ATA protocol anymore, except may from the darkest depths of the world.

If you want to implement a SATA interface, you need to keep in mind that the layout of the interface requires differential pairs, which of course need to be differentially routed (length matched, routed as parallel as possible).