1. A method of managing multi-level memory, the method comprising: detecting an interrupt request indicating there are no available entries in a hardware storage array, wherein the hardware storage array includes far memory addresses and corresponding near memory addresses to which data was copied from the far memory addresses; replacing the far memory addresses in a page table with the corresponding near memory addresses based on the hardware storage array; identifying one or more available pages in near memory; and storing an address of an available page in near memory to the hardware storage array.