Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
First Claim
1. A multi-level memory system comprising:
- a processor having a plurality of cores to execute instructions and process data and one or more processor caches to cache instructions and data according to a first cache management policy;
a first-level memory having a first set of characteristics associated therewith, the first set of characteristics including a first read access speed and a first write access speed; and
a second-level memory having a second set of characteristics associated therewith, the second set of characteristics including second read and write access speeds at least one of which is relatively lower than either the first read access speed or first write access speed, respectively, non-volatility such that the second level memory is to maintain its content when power is removed, random access and memory subsystem addressability such that instructions or data stored therein may be accessed at a granularity equivalent to a memory subsystem of a computer system;
a memory controller to receive memory requests and to distribute the memory requests between the first and the second level memories, the memory controller to designate a plurality of different modes of operation for the first level memory including a first mode in which the first-level memory operates as a memory cache for the second-level memory and a second mode in which the first-level memory is allocated a first address range of a system address space with the second-level memory being allocated a second address range of the system address space, wherein in the first mode, the first-level memory is organized into different cache regions that provide caching for respective system address ranges.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method are described for integrating a memory and storage hierarchy including a non-volatile memory tier within a computer system. In one embodiment, PCMS memory devices are used as one tier in the hierarchy, sometimes referred to as “far memory.” Higher performance memory devices such as DRAM placed in front of the far memory and are used to mask some of the performance limitations of the far memory. These higher performance memory devices are referred to as “near memory.” In one embodiment, the “near memory” is configured to operate in a plurality of different modes of operation including (but not limited to) a first mode in which the near memory operates as a memory cache for the far memory and a second mode in which the near memory is allocated a first address range of a system address space with the far memory being allocated a second address range of the system address space, wherein the first range and second range represent the entire system address space.
135 Citations
20 Claims
-
1. A multi-level memory system comprising:
-
a processor having a plurality of cores to execute instructions and process data and one or more processor caches to cache instructions and data according to a first cache management policy; a first-level memory having a first set of characteristics associated therewith, the first set of characteristics including a first read access speed and a first write access speed; and a second-level memory having a second set of characteristics associated therewith, the second set of characteristics including second read and write access speeds at least one of which is relatively lower than either the first read access speed or first write access speed, respectively, non-volatility such that the second level memory is to maintain its content when power is removed, random access and memory subsystem addressability such that instructions or data stored therein may be accessed at a granularity equivalent to a memory subsystem of a computer system; a memory controller to receive memory requests and to distribute the memory requests between the first and the second level memories, the memory controller to designate a plurality of different modes of operation for the first level memory including a first mode in which the first-level memory operates as a memory cache for the second-level memory and a second mode in which the first-level memory is allocated a first address range of a system address space with the second-level memory being allocated a second address range of the system address space, wherein in the first mode, the first-level memory is organized into different cache regions that provide caching for respective system address ranges. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer system comprising:
-
a processor having a plurality of cores to execute instructions and process data and one or more processor caches to cache instructions and data according to a first cache management policy; a first-level memory having a first set of characteristics associated therewith, the first set of characteristics including a first read access speed and a first write access speed; and a second-level memory having a second set of characteristics associated therewith, the second set of characteristics including second read and write access speeds at least one of which is relatively lower than either the first read access speed or first write access speed, respectively, non-volatility such that the second level memory maintains its content when power is removed, random access and memory subsystem addressability such that instructions or data stored therein may be accessed at a granularity equivalent to a memory subsystem of the computer system; a memory controller to receive memory requests and to distribute the memory requests between the first and the second level memories, the memory controller configurable to cause the first level memory to operate in a plurality of different modes of operation in which the first-level memory is to operate as a memory cache for the second-level memory in which the first-level memory is organized into different cache regions that provide caching for respective system address ranges, at least one of the modes comprising a write-back caching mode of operation such that a write operation is performed to update the second-level memory only when a cache line within the first-level memory is to be replaced by another cache line. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. An apparatus, comprising:
-
a memory controller having interface circuitry to interface with a first-level memory having a first set of characteristics associated therewith, the first set of characteristics including a first read access speed and a first write access speed; and a second-level memory having a second set of characteristics associated therewith, the second set of characteristics including second read and write access speeds at least one of which is relatively lower than either the first read access speed or first write access speed, respectively, non-volatility such that the second level memory maintains its content when power is removed, random access and memory subsystem addressability such that instructions or data stored therein may be accessed at cache line granularity; the memory controller to receive memory requests and to distribute the memory requests between the first and the second level memories, the memory controller having a plurality of different modes of operation for the first level memory including a first mode in which the first-level memory is to operate as a memory cache and not a last level cache for the second-level memory and a second mode in which the first-level memory is allocated a first address range of a system address space with the second-level memory being allocated a second address range of the system address space.
-
-
20. An apparatus, comprising:
-
a memory controller having interface circuitry to interface with a first-level memory having a first set of characteristics associated therewith, the first set of characteristics including a first read access speed and a first write access speed; and a second-level memory having a second set of characteristics associated therewith, the second set of characteristics including second read and write access speeds at least one of which is relatively lower than either the first read access speed or first write access speed, respectively, non-volatility such that the second level memory maintains its content when power is removed, random access and memory subsystem addressability such that instructions or data stored therein may be accessed at cache line granularity; the memory controller to receive memory requests and to distribute the memory requests between the first and the second level memories, the memory controller a plurality of different modes of operation for the first level memory including a first mode in which the first-level memory is to operate as a memory cache for the second-level memory and a second mode in which the first-level memory is allocated a first address range of a system address space with the second-level memory being allocated a second address range of the system address space, wherein in the first mode, the first-level memory is organized into different cache regions that provide caching for different respective contiguous system address ranges.
-
Specification