SATA Client based on Arduino

You keep saying "DMA" but I have no idea why. Like your Wiki article says that just refers to the hardware layer between the computer and drive; data from the disk is transferred directly into the host's RAM without CPU interference, and then the host just reads the data from RAM instead of playing some inefficient bit-banging game with the hard drive. All of this is managed by the drive controller and the motherboard chipset.

If you're going to somehow intercept a DMA transfer then you're going to need a lot more RAM and speed than any microcontroller can provide. If your objective is to trick the drive into initiating a DMA transfer with the assumption that the host is just going to slurp it up, well, good luck with that.