US 9,811,276 B1
Archiving memory in memory centric architecture
Kenneth J. Taylor, Franklin, MA (US); Randall Shain, Wrentham, MA (US); Adrian Michaud, Carlisle, MA (US); and Stephen Wing-Kin Au, Norwood, MA (US)
Assigned to EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed by EMC Corporation, Hopkinton, MA (US)
Filed on Sep. 24, 2015, as Appl. No. 14/863,885.
Int. Cl. G06F 12/00 (2006.01); G06F 13/00 (2006.01); G06F 13/28 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/0619 (2013.01) [G06F 3/065 (2013.01); G06F 3/0655 (2013.01); G06F 3/0685 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for managing memory, comprising:
identifying at least one memory region from a memory device of a host computing system as containing data considered to be inactive, wherein the host computing system is operatively coupled to a storage system external to the host computing system, wherein the host computing system executes an application program, and wherein the host computing system implements a virtual memory management system;
storing the at least one memory region as an archived memory region on a non-volatile storage device of the storage system in a memory format utilized on the host computing system; and
storing metadata associated with the at least one memory region on the non-volatile storage device;
wherein the archived memory region is part of an archived memory tier within the virtual memory management system and is accessible by at least one system external to the storage system in the memory format utilized on the host computing system using at least a portion of the stored metadata;
wherein the memory format utilized on the host computing system comprises a virtual memory having at least one page cache, the at least one page cache being maintained in the memory device of the host computing system in association with execution of the application program, at least a portion of the at least one page cache being memory-mapped to a virtual address space of the application program, the at least one memory region comprising at least a portion of the at least one page cache that is memory-mapped to the virtual address space of the application program;
wherein storing the at least one memory region as the archived memory region on the non-volatile storage device comprises storing page data of the application program associated with run-time execution of the application program;
wherein storing the metadata comprises storing page-specific metadata associated with the page data of the application program; and
wherein the steps of the method are performed by at least one processing device comprising a processor operatively coupled to a memory.