To be split: allow the heap to grow + allow contiguous chunks
Adapt the SD and DMA code to use the virtual memory layer