P
US7913034B2ExpiredUtilityPatentIndex 84

DRAM access command queuing

Assignee: IBMPriority: Jul 27, 2004Filed: Aug 1, 2007Granted: Mar 22, 2011
Est. expiryJul 27, 2024(expired)· nominal 20-yr term from priority
Inventors:CALVIGNAC JEAN LCHANG CHIH-JENDAVIS GORDON TVERPLANKEN FABRICE J
G06F 13/1642
84
PatentIndex Score
8
Cited by
12
References
17
Claims

Abstract

Access arbiters are used to prioritize read and write access requests to individual memory banks in DRAM memory devices, particularly fast cycle DRAMs. This serves to optimize the memory bandwidth available for the read and the write operations by avoiding consecutive accesses to the same memory bank and by minimizing dead cycles. The arbiter first divides DRAM accesses into write accesses and read accesses. The access requests are divided into accesses per memory bank with a threshold limit imposed on the number of accesses to each memory bank. The write receive packets are rotated among the banks based on the write queue status. The status of the write queue for each memory bank may also be used for system flow control. The arbiter also typically includes the ability to determine access windows based on the status of the command queues, and to perform arbitration on each access window.

Claims

exact text as granted — not AI-modified
1. A method for maximizing dynamic random access memory access utilization wherein the dynamic random access memory consists of a plurality of memory banks, the method comprising:
 dividing dynamic random access memory accesses into write accesses and read accesses; 
 dividing read and write access requests into accesses per memory bank of the dynamic random access memory banks; 
 imposing a threshold limit on a number of accesses to each of the dynamic random access memory banks; 
 rotating a plurality of write receive packets among the dynamic random access memory banks based on a write queue status; 
 determining access windows based on a status of command queues; and 
 performing arbitration on each of the access windows. 
 
     
     
       2. The method according to  claim 1 , further comprising determining the write queue status of each of the dynamic random access memory banks for system flow control. 
     
     
       3. The method according to  claim 1  wherein the dynamic random access memory is a fast cycle random access memory device. 
     
     
       4. The method according to  claim 1 , wherein the threshold limit is a number of consecutive accesses per bank. 
     
     
       5. A method for maximizing access to DRAM memory stored in memory banks, the method comprising:
 dividing via a computer-based arbitrator a plurality of dynamic random access memory accesses into write accesses and read accesses; 
 dividing access requests into accesses per each of the dynamic random access memory banks; 
 imposing a threshold limit on a number of accesses to each of the dynamic random access memory banks; 
 rotating a plurality of write receive packets among the dynamic random access memory banks based on a write queue status; 
 using the status of the write queue of each of the dynamic random access memory banks for system flow control; 
 determining access windows based on a status of command queues; and 
 performing arbitration on each of the access windows. 
 
     
     
       6. The method according to  claim 5 , wherein the dynamic random access memory is a fast cycle dynamic random access memory. 
     
     
       7. The method according to  claim 5 , wherein the threshold limit is a number of consecutive accesses per memory bank. 
     
     
       8. A system for accessing dynamic random access memory banks, the system comprising:
 an arbiter that divides a plurality of accesses of a dynamic random access memory into write accesses and read accesses; 
 divides read and write access requests into accesses per memory bank of the dynamic random access memory; 
 imposes a threshold limit on a number of accesses to each of the dynamic random access memory banks; 
 rotates write receive packets among the dynamic random access memory banks as a function of a write queue status; 
 determines access windows based on a status of command queues; and 
 performs arbitration on each of the access windows. 
 
     
     
       9. The system of  claim 8 , wherein the arbiter further uses a status of the write queue of each dynamic random access memory bank for system flow control. 
     
     
       10. The system of  claim 8 , wherein the arbiter further determines the write queue status of each of the dynamic random access memory banks for system flow control. 
     
     
       11. The system of  claim 8 , wherein the dynamic random access memory is a fast cycle random access memory device. 
     
     
       12. The system of  claim 8 , wherein the threshold limit is a number of consecutive accesses per bank. 
     
     
       13. A computer program product for accessing dynamic random access memory banks, the computer program product comprising:
 a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: 
 computer readable program code configured to: 
 divide a plurality of accesses of a dynamic random access memory into write accesses and read accesses; 
 divide read and write access requests into accesses per memory bank of the dynamic random access memory; 
 impose a threshold limit on a number of accesses to each of the dynamic random access memory banks; 
 rotate write receive packets among the dynamic random access memory banks as a function of a write queue status; 
 determine access windows based on a status of command queues; and 
 perform arbitration on each of the access windows. 
 
     
     
       14. The computer program product of  claim 13 , the computer readable program code further to use a status of the write queue of each dynamic random access memory bank for system flow control. 
     
     
       15. The computer program product of  claim 13 , the computer readable program code further to determine the write queue status of each of the dynamic random access memory banks for system flow control. 
     
     
       16. The computer program product of  claim 13 , wherein the dynamic random access memory is a fast cycle random access memory device. 
     
     
       17. The computer program product of  claim 13 , wherein the threshold limit is a number of consecutive accesses per bank.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.