I looked into this a while back, for ide, most drives read blocks of data, the smallest being 512 bytes.
There are various control functions needed to get it to work.
I remember looking at the commodore amiga operatign system to see how it worked, as the amiga controls a fdd or a hdd directly using software, there is no disk controller ic, I soon decided not to go ahead as it looked tricky.
I'd start by looking for a suitable disk controller chip, there are a few for ide, I've never looked for one thats sata, there probably is a couple around, still might need more processing power than a midrange pic though.