SATA Client based on Arduino

Thanks for your answer! The hardware of the host should be as irrelevant as possible. Of course, the host is a 32 or 64 bit PC (today almost certainly 64 bit), with SATA or PCIe support (or some other DMA enabled interface, where DMA is not blocked by the OS). SATA is my preferred interface so far.

If it is really necessary to specify a certain OS, then let's assume Windows 10 x64 (or in general Windows 7 and above, all x64). But I do not understand, why this should be relevant, since DMA is a hardware feature, isn't it? Is the OS aware of DMA transfers initiated by the device? To be clear: We do not want to communicate with the host, we just want to read it's RAM.

Sebastian