Memory controller for memory with medium granularity refresh commands
AssigneeAdvanced Micro Devices, Inc.
InventorKedarnath Balakrishnan
Life of this patent
Estimating the term…
Abstract
A data processor includes a memory accessing agent for generating memory access requests for a memory that includes a plurality of banks, and a memory controller. The memory controller includes a command queue and a refresh controller. The command queue is for storing the memory access requests. The refresh controller is coupled to the command queue and is operable to select an order of providing multi-bank refresh commands to sets of selected banks of the plurality of banks in the memory in response to lowest-cost estimates of the banks of the memory based on the memory access requests in the command queue.
Claims17
A data processor comprising:
- a memory accessing agent for generating memory access requests for a memory that includes a plurality of banks, and
- a memory controller comprising:
- a command queue for storing the memory access requests;
- and
- a refresh controller coupled to the command queue and operable to select an order of providing multi-bank refresh commands to sets of selected banks of the plurality of banks in the memory in response to lowest-cost estimates of the banks of the memory based on a number of memory access requests in the command queue for each of the plurality of banks of the memory.
A data processing system comprising:
- a data processor;
- and
- a memory coupled to the data processor, having a plurality of banks and operable to execute multi-bank refresh commands by refreshing sets of selected banks of the plurality of banks in response to each multi-bank refresh command,
- wherein the data processor comprises a memory controller having a command queue for storing memory access requests, wherein the memory controller is operable to select an order of providing the multi-bank refresh commands to sets of selected banks of the plurality of banks in the memory in response to lowest-cost estimates of the banks of the memory based on a number of memory access requests in the command queue for each of the plurality of banks of the memory.
A method for refreshing a memory having a plurality of banks by a memory controller having a command queue for storing memory access requests, comprising:
- during a predetermined time interval:
- forming lowest-cost estimates based on numbers of memory access requests in the command queue for corresponding banks;
- selecting a next set of banks of the memory in response to the lowest-cost estimates of the banks of the memory that have not yet been refreshed in a current round based on the memory access requests in the command queue;
- and
- generating a multi-bank refresh command for the next set of banks of the memory.
Dependencies are inferred from the claim text.