Systems and methods for accessing memory
AssigneeMicron Technology, Inc.
InventorRobert Walker
Life of this patent
Estimating the term…
Abstract
Methods of mapping memory cells to applications, methods of accessing memory cells, systems, and memory controllers are described. In some embodiments, a memory system including multiple physical channels is mapped into regions, such that any region spans each physical channel of the memory system. Applications are allocated memory in the regions, and performance and power requirements of the applications are associated with the regions. Additional methods and systems are also described.
Claims25
A method of mapping a memory system having two or more physical channels, the method comprising:
- mapping a region of the memory system to a requesting process, wherein each region of the memory system mapped to a respective requesting process includes at least a respective portion of each of the two or more physical channels.
A method for accessing a memory system, the memory system including two or more physical channels, the method comprising:
- receiving a request for access, the request including a logical memory address;
- retrieving a channel depth associated with a region of the memory system that corresponds to the logical memory address, each region of the memory system distributed across the two or more physical channels to include at least a respective portion of each of the two or more physical channels, the respective portions being located at a same position within each of the two or more physical channels;
- and
- performing an operation on the memory system in the region corresponding to the logical memory address, based on the retrieved channel depth and based on the request for access.
A method comprising:
- receiving a memory allocation request;
- and
- programming a data structure of a memory controller to include a start address and an end address for a region of a memory system based on the request, the memory system including a plurality of physical channels, each region of the memory system including at least a respective portion of each of the plurality of physical channels.
A memory controller for a memory system having at least two physical channels, the memory controller comprising:
- a memory configured to store a data structure defining regions of the memory system, each region of the memory system comprising at least a respective portion of each of the two or more physical channels.
A system comprising:
- a memory system having two or more physical channels, each physical channel including a respective plurality of rows of memory cells;
- a processor configured to map an application executing on the processor to a respective region of a plurality of regions of the memory system;
- and
- a memory controller configured to store a data structure that defines the plurality of regions of the memory system, wherein each region of the plurality of regions of the memory system includes at least a respective portion of each of the two or more physical channels.
A computer-readable medium comprising instructions that, when implemented on a machine, cause the machine to:
- request an allocation of memory in a memory system, the request including a performance point value that indicates a desired performance point for an application executing on the machine.
A computer-readable medium comprising instructions that, when implemented on a machine, cause the machine to:
- write a first address and a second address to a memory, the first address and the second address representing, respectively, a starting address of a region of a memory system to be allocated to a software application and an ending address of the region of the memory system, the memory system including two or more physical channels, and wherein each of the regions includes at least a respective portion of each of the two or more physical channels.
A method of maintaining a memory map of a memory system having two or more physical channels, the method comprising:
- storing a starting address and an ending address for a region of the memory map, the region including at least a respective portion of each of the two or more physical channels and the region comprising an amount of memory allocated to a first application;
- storing a channel depth value based on at least one of a performance requirement and a power requirement of the first application, such that the channel depth value is associated with the region;
- and
- updating the memory map with an additional starting address, an additional ending address, and an additional channel depth based on an allocation request for a second application.
Dependencies are inferred from the claim text.