I am developing a low-volume PCIe x4 data streaming board (up to 10 Gbit/s)
I have discovered that high-end Intel chipsets (e.g. 5400 MCH) include "Intel I/O Acceration Technology" as a "Quickdata Technology Device", part of which is a DMA controller on the PCIe bus.
It wouls save me a lot of time and trouble if I could use this DMA controller to copy data from main RAM to my board. I would hope to be able to develop my device driver to use the existing Intel hardware and device drivers.
The operting systems I am considering are Vista and Windows Server 2003 or 2008.
I see that Microsoft has built a component called NetDMA to support this DMA hardware. However, there appears to be no documentation for a programming interface I could use. They give the API required by their driver, but not the API that controls NetDMA.
I have two questions:
- Will the QuickData DMA engine copy between a PCIe endpoint and main memory, in either direction?
- Is there a published API and hopefully some kind of application note that would show me hoe to take control of the DMA controller?