Predictive optimizer for DRAM memory
First Claim
Patent Images
1. A graphics system comprising:
- a memory configured to receive and store graphics data, wherein the memory is subdivided into banks;
a FIFO memory configured to buffer requests for the graphics data stored in the memory;
a set of scoreboard registers, wherein the scoreboard registers are configured to store status information representative of the state of the banks of memory, and wherein each scoreboard register is associated with one bank of the memory; and
a prefetch logic unit connected to the FIFO, the scoreboard registers, and the memory, wherein the prefetch logic unit is configured to examine pending requests buffered in the FIFO, wherein the prefetch logic unit issues commands and addresses to the memory according to the pending requests buffered in the FIFO and the status information stored in the scoreboard registers.
2 Assignments
0 Petitions
Accused Products
Abstract
A predictive optimizing unit for use with an interleaved memory and suitable for use in a computer graphics system is described. The unit maintains a queue of pending requests for data from the memory, and prioritizes precharging and activating interleaves with pending requests. Interleaves which are in a ready state may be accessed independently of the precharging and activation of non-ready interleaves.
-
Citations
24 Claims
-
1. A graphics system comprising:
-
a memory configured to receive and store graphics data, wherein the memory is subdivided into banks;
a FIFO memory configured to buffer requests for the graphics data stored in the memory;
a set of scoreboard registers, wherein the scoreboard registers are configured to store status information representative of the state of the banks of memory, and wherein each scoreboard register is associated with one bank of the memory; and
a prefetch logic unit connected to the FIFO, the scoreboard registers, and the memory, wherein the prefetch logic unit is configured to examine pending requests buffered in the FIFO, wherein the prefetch logic unit issues commands and addresses to the memory according to the pending requests buffered in the FIFO and the status information stored in the scoreboard registers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A graphics system comprising;
-
an interleaved memory configured to receive, store and retrieve arrays of image data, wherein each interleave of the interleaved memory is configured to receive commands independent of the other interleaves;
a request queue configured to store pending requests for arrays of image data;
a set of status registers configured to store status information indicative of the status of each interleave of the interleaved memory; and
a memory controller connected to the request queue, the status registers, and the interleaved memory and configured to convey requests for arrays of image data to the interleaved memory, and wherein the memory controller is further configured to make ready for access each interleave of the interleaved memory according to pending requests stored in the request queue. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
a serial input port configured to receive addresses and store them in a set of memory locations, wherein the addresses are representative of requests for arrays of image data;
a serial output port configured to sequentially output the addresses stored in the set of memory locations in response to a command from the memory controller, wherein the serial output port is further configured to output the least recently stored address in the set of memory locations, and wherein an address is removed from the set of memory locations as a part of conveying the address to the serial output port;
a parallel output port configured to output a partial address for each of the interleaves in the interleaved memory, wherein the partial address represents the least recently stored address in the set of memory locations which refers to the associated interleave, and wherein the partial address further represents a row of image data within the associated interleave.
-
-
14. The graphics system of claim 10, wherein the status information stored in the set of status registers comprises:
-
a current state indicator, wherein the current state indicator may assume a first value indicating that the associated interleave of the interleaved memory is in a precharging state, wherein the current state indicator may assume a second value indicating that the associated interleave of the interleaved memory is in a precharged state, and wherein the current state indicator may assume a third value indicating that the associated interleave of the interleaved memory is in an active state;
an active row indicator configured to store a row address if the current state indicator indicates that the associated interleave of the interleaved memory is in an active state;
a precharging timer configured to indicate the termination of a precharging cycle in the associated interleave of the interleaved memory; and
an activate timer configured to indicate the termination of an activation cycle in the associated interleave of the interleaved memory.
-
-
15. The graphics system of claim 14, wherein the precharging timer is further configured to begin a countdown cycle as part of the memory controller issuing a precharge command to the associated interleave of the interleaved memory, and wherein the current state indicator is further configured to indicate that the associated interleave of the interleaved memory is in a precharged state in response to the termination of the countdown cycle of the associated precharging timer.
-
16. The graphics system of claim 14, wherein the activate timer is further configured to begin a countdown cycle as part of the memory controller issuing an activate command to the associated interleave of the interleaved memory, and wherein the current state indicator is further configured to indicate that the associated interleave of the interleaved memory is in an active state in response to the termination of the countdown cycle of the associated activate timer.
-
17. The graphics system of claim 10, wherein the memory controller prioritizes commands issued to the interleaved memory, wherein commands which prepare an interleave of the interleaved memory for future access are assigned a higher priority than commands which read image data from an interleave of the interleaved memory.
-
18. A method for managing accesses to an image buffer, wherein the image buffer comprises a plurality of partitions, the method comprising:
-
a) maintaining a list of pending requests for data from the image buffer;
b) maintaining a status report for each partition of the image buffer;
c) testing the pending requests in the list of pending requests against the status report for each partition of the image buffer;
d) readying a first partition of the image buffer for access in response to determining that there is a first pending request for image data stored in the first partition and that the first partition is not ready for access; and
e) issuing a second pending request to the image buffer for image data stored in a second partition of the image buffer in response to determining that the second partition is ready for access;
wherein said issuing of the second pending request to the image buffer is performed while said readying of the first partition is in progress. - View Dependent Claims (19, 20, 21)
examining the status report associated with the first partition and determining the current state of the first partition ;
issuing a precharge command to the first partition if the associated status report indicates that the first partition is active;
issuing a activate command to the first partition if the associated status report indicates that the first partition is precharged; and
issuing no command to the first partition if the associated status report indicates that the first partition is precharging.
-
-
22. A method for reducing the number of idle states in a memory having a plurality of interleaves, the method comprising:
-
a) maintaining a list of pending requests for data from the interleaved memory;
b) assigning urgent priority to bringing a first interleave of the interleaved memory to a ready status in response to determining there is a first pending request for data from the first interleave and the first interleave is not in the ready status; and
c) independent of (b), issuing a second pending request for data to a second interleave in response to determining that the second interleave has the ready status. - View Dependent Claims (23)
determining a page address p associated with the first pending request for data from the first interleave; and
setting the active page of the first interleave to p as part of (b).
-
-
24. A method for managing accesses to an image buffer, wherein the image buffer comprises a plurality of partitions, the method comprising:
-
a) maintaining a list of pending requests for data from the image buffer;
b) maintaining a status report for each partition of the image buffer;
c) testing the pending requests in the list of pending requests against the status report for each partition of the image buffer;
d) readying a first partition of the image buffer for access in response to determining that there is a first pending request for image data stored in the first partition and that the first partition is not ready for access; and
e) issuing requests stored in the list of pending requests to the image buffer;
wherein readying the first partition of (d) comprises;
examining the status report associated with the first partition and determining the current state of the first partition;
issuing a precharge command to the first partition if the associated status report indicates that the first partition is active;
issuing a activate command to the first partition if the associated status report indicates that the first partition is precharged; and
issuing no command to the first partition if the associated status report indicates that the first partition is precharging.
-
Specification