[an error occurred while processing this directive]
КЭШ тут не причем. Скорее всего, программисты неправильно выделяют буфер. Он должен непрерывным и неперемещаемым. Непрерывно система обычно может выделять куски не больше 16-32КБайт (по несколько страничек подряд) и для больших буферов надо использовать механизм ScatterGather List. Под какой ОС работаете? Как определяете физ. адрес?
(«Телесистемы»: Конференция «Программируемые логические схемы и их применение»)