主权项 |
1. A memory controller for allocating memory address space between dual in line memory modules (DIMMs), the memory controller comprising:
a command queue; a line driver coupled with a memory bus, wherein the memory bus is coupled with first and second DIMMs, wherein the line driver drives signals on the memory bus; a memory protocol state machine to control the line driver; and an error correcting code unit to provide error correction for data received on the memory bus;the memory controller configured to:
determine a memory mode; in response to determining a first memory mode, the first memory mode indicating to store data in first and second DIMMS using less than the entire address space of each of the first and second DIMMS, perform a first allocation of memory address space within the first and second DIMMs, each DIMM having a first address space portion and a second address space portion, wherein the respective first address space portions correspond with one another and the respective second address space portions correspond with one another, the first allocation including:
allocating the first address space portion of the first DIMM and the second address space portion of the second DIMM for storing data, wherein the second address space portion of the first DIMM and the first address space portion of the second DIMM are unallocated memory address spaces; and subsequent to performing a first allocation of memory address space, determining a second memory mode, the second memory mode indicating to store data in a single DIMM, perform a second allocation of memory address space within the first and second DIMMs, the second allocation including:
allocating the second address space portion of the first DIMM for storing data,moving any data stored in the second address space portion of the second DIMM to the second address space portion of the first DIMM, andturning off power supplied to the second DIMM. |