A processor (e.g. utilizing an operating system and/or circuitry) may
access physical memory by paging, where a page is the smallest partition
of memory mapped by the processor from a virtual address to a physical
address. An application program executing on the processor addresses a
virtual address space so that the application program may be unaware of
physical memory paging mechanisms. A memory control layer manages
physical memory space in units of sub-blocks, wherein a sub-blocks is
smaller than a size of the page. Multiple virtual address blocks may be
mapped to the same physical page in memory. A sub-block can be moved from
a page (e.g. from one physical memory to a second physical memory)
without moving other sub-blocks within the page in a manner that is
transparent to the application program.