отличие MmNonCached от MmWriteCombined в том, что во втором случае данные попадают сначала во Write Buffer процессора, ждут там комбинирования и только при очистке бувера записываются наружу минуя кеш. А в первом - пишутся наружу без ожидания в буфере. Кажется, более подробно это было описано только в документации на процессор.