Back to results
US 9,478,274 B1Granted
Methods and apparatus for multiple memory maps and multiple page caches in tiered memory
AssigneeEMC Corporation
InventorsAdrian Michaud, Roy E. Clark, Kenneth J. Taylor
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for computer systems having first and second memory tier having regions, physical memory having page caches that are shareable with multiple ones of the regions in the first memory tier and the regions in the second memory tier, and virtual memory having mmaps of ones of the regions in the first memory tier and ones of the regions in the second memory tier, wherein the mmaps are associated with multiple ones of the pages caches.
Claims20
A method, comprising:
- for an application host with one or more DRAM storage devices and one or more storage class memory (SCM) storage devices configured to communicate with one or more storage arrays via network;
- wherein the one or more storage array comprises at least one SCM storage device,
- creating a virtual memory address space including dynamically allocated memory, memory mapped files, and disk backed memory, wherein the virtual memory address space is backed by the one or more DRAM and SCM physical storage devices;
- allocating a plurality of user regions in a block device of the one or more SCM storage devices or the storage array, wherein the plurality of user regions is defined in metadata comprising one or more of user region name, location, size, and/or state information;
- accessing a first memory tier constructed by memory mapping a first number of user regions into the virtual address space;
- and
- accessing a second memory tier constructed by memory mapping a second number of user regions into the virtual address space,
- wherein page caches are mapped to the first number of user regions and the second number of user regions, wherein at least one of the page caches is shared with multiple ones of the user regions in the first memory tier and the user regions in the second memory tier;
- and wherein each memory mapped user region in the tiered memory is fronted by a DRAM page cache to which an application issues loads and stores, and data are moved between the tiered memory and DRAM page caches on an on-demand page basis.
6 more elements
A computer system, comprising:
- an application host, with one or more DRAM storage devices and one or more storage class memory (SCM) storage devices, is configured to communicate with one or more storage arrays via network;
- wherein the one or more storage array comprises at least one SCM storage device;
- a virtual memory address space including dynamically allocated memory, memory mapped files, and disk backed memory, wherein the virtual memory address space is backed by the one or more DRAM and SCM physical storage devices;
- a plurality of user regions allocated in a block device of the one or more SCM storage devices or the storage array, wherein the plurality of user regions is defined in metadata comprising one or more of user region name, location, size, and/or state information;
- a first memory tier is constructed by memory mapping a first number of user regions into the virtual address space;
- and
- a second memory tier is constructed by memory mapping of a second number of user regions into the virtual address space;
- wherein page caches are mapped to the first number of user regions and the second number of user regions and at least one of the page caches is shared with multiple ones of the user regions in the first memory tier and the user regions in the second memory tier;
- and wherein each memory mapped user region in the tiered memory is fronted by a DRAM page cache to which an application issues loads and stores, and data are moved between the tiered memory and DRAM page caches on an on-demand page basis.
6 more elements
An article, comprising:
- a non-transitory computer readable medium having stored instructions that enable a machine to:
- for a system having an application host with one or more DRAM storage devices and one or more storage class memory (SCM) storage devices configured to communicate with one or more storage arrays via network;
- wherein the one or more storage array comprises at least one SCM storage device,
- create a virtual memory address space including dynamically allocated memory, memory mapped files, and disk backed memory, wherein the virtual memory address space is backed by the one or more DRAM and SCM physical storage devices;
- allocate a plurality of user regions in a block device of the one or more SCM storage devices or the storage array, wherein the plurality of user regions is defined in metadata comprising one or more of user region name, location, size, and/or state information;
- access a first memory tier constructed by memory mapping a first number of user regions into the virtual address space;
- and
- access a second memory tier constructed by memory mapping a second number of user regions allocated into the virtual address space,
- wherein page caches are mapped to the first number of user regions and the second number of user regions and at least one of the page caches is shared with multiple ones of the user regions in the first memory tier and the user regions in the second memory tier;
- and wherein each memory mapped user region in the tiered memory is fronted by a DRAM page cache to which an application issues loads and stores, and data are moved between the tiered memory and DRAM page caches on an on-demand page basis.
7 more elements
Dependencies are inferred from the claim text.