PERFORMANCE-AWARE AND RELIABILITY-AWARE DATA PLACEMENT FOR N-LEVEL HETEROGENEOUS MEMORY SYSTEMS
First Claim
1. A method for identifying one memory unit, of a plurality of memory units, for storage of a block of data, the method comprising:
- determining, for the block of data, a plurality of costs, each cost corresponding to a different memory unit of the plurality of memory units, wherein each determined cost is based on a reliability of a corresponding memory unit of the plurality of memory units and on performance of the corresponding memory unit;
selecting a cost of the plurality of costs; and
migrating the block of data to a memory unit of the plurality of memory units that is associated with the selected cost.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for selecting one of a plurality of heterogeneous memory units for placement of blocks of data (e.g., memory pages), based on both reliability and performance, are disclosed. A “cost” for each data block/memory unit combination is determined, based on the frequency of access of the data block, the latency of the memory unit, and, optionally, an architectural vulnerability factor (which represents the level of exposure of a particular memory data value to memory faults such as bit flips). A memory unit is selected for the data block for which the determined cost is the lowest, out of all memory units considered, and the data block is placed into that memory unit.
12 Citations
20 Claims
-
1. A method for identifying one memory unit, of a plurality of memory units, for storage of a block of data, the method comprising:
-
determining, for the block of data, a plurality of costs, each cost corresponding to a different memory unit of the plurality of memory units, wherein each determined cost is based on a reliability of a corresponding memory unit of the plurality of memory units and on performance of the corresponding memory unit; selecting a cost of the plurality of costs; and migrating the block of data to a memory unit of the plurality of memory units that is associated with the selected cost. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system for identifying one memory unit, of a plurality of memory units, for storage of a block of data, the computer system comprising:
-
a processing unit; a plurality of memory units coupled to the processing unit; and a page placement module configured to; determine, for the block of data, a plurality of costs, each cost corresponding to a different memory unit of the plurality of memory units, wherein each determined cost is based on a reliability of a corresponding memory unit of the plurality of memory units and on performance of the corresponding memory unit, select a cost, of the plurality of costs, and migrate the block of data to a memory unit of the plurality of memory units that is associated with the selected cost. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium storing instructions that, when executed by a processor, cause the processor to identify one memory unit, of a plurality of memory units, for storage of a block of data by performing a method comprising:
-
determining, for the block of data, a plurality of costs, each cost corresponding to a different memory unit of the plurality of memory units, wherein each determined cost is based on a reliability of a corresponding memory unit of the plurality of memory units and on performance of the corresponding memory unit; selecting a cost of the plurality of costs; and migrating the block of data to a memory unit of the plurality of memory units that is associated with the selected cost. - View Dependent Claims (20)
-
Specification