Acho que você está confundindo a funcionalidade do acesso direto à memória (DMA, um recurso de hardware) com os recursos fornecidos pelo Gerenciador de cache no Windows.
O DMA é um método para permitir que dispositivos IO acessem diretamente a memória do sistema sem intervenção da CPU. Aplicativos não usam DMA - drivers de dispositivos fazem. Os aplicativos estão muito distantes do processo de DMA.
As solicitações de leitura / gravação de aplicativos passam por várias camadas no caminho para o dispositivo IO. O Gerenciador de Cache vai lidar com a maior parte do armazenamento em cache de pedidos via memória do sistema. Os drivers de dispositivo dos próprios dispositivos de E / S também podem implementar o armazenamento em cache.
Se o seu aplicativo não interagir bem com o Gerenciador de Cache, mas com um disco RAM (que você determinaria por benchmarking), use um disco RAM. Para mim, não faz sentido academicamente dançar em torno do "bem" subjetivo de várias tecnologias. Em termos de implantação de produção, a chave para saber se há um "ponto" para usar uma determinada tecnologia deve ser baseada em benchmark com condições mais próximas do mundo real que você possa simular. Quando você faz alterações no SO, na pilha do driver, no código do aplicativo, etc., você deve refazer seus benchmarks, uma vez que suas suposições antigas podem não ser mais verdadeiras.