Memory bus arbitration using memory bank readiness
DCFirst Claim
1. An apparatus adapted to send a plurality of memory transactions over a memory bus to a memory having a plurality of memory banks, the apparatus comprising:
- a queue comprising a plurality of request stations, wherein each of the plurality of memory transactions is stored in one of the request stations and is addressed to one of the plurality of memory banks; and
an arbiter simultaneously coupled to each of the plurality of request stations, adapted to select any of the plurality of memory transactions, and configured to;
generate a plurality of bank readiness signals, each bank readiness signal indicating the readiness of one of the plurality of memory banks to accept a memory transaction, andselect one of the plurality of memory transactions for transmission over the memory bus based on the bank readiness signals.
6 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method, apparatus, and computer program product includes identifying a plurality of memory transactions to be sent over a memory bus to a memory having a plurality of memory banks, each memory transaction addressed to one of the memory banks, the memory bus incapable of transmitting the plurality of memory transactions simultaneously; identifying a plurality of bank readiness signals, each bank readiness signal indicating the readiness of one of the memory banks to accept a memory transaction; and selecting one of the memory transactions for transmission over the memory bus based on the bank readiness signals.
-
Citations
21 Claims
-
1. An apparatus adapted to send a plurality of memory transactions over a memory bus to a memory having a plurality of memory banks, the apparatus comprising:
-
a queue comprising a plurality of request stations, wherein each of the plurality of memory transactions is stored in one of the request stations and is addressed to one of the plurality of memory banks; and an arbiter simultaneously coupled to each of the plurality of request stations, adapted to select any of the plurality of memory transactions, and configured to; generate a plurality of bank readiness signals, each bank readiness signal indicating the readiness of one of the plurality of memory banks to accept a memory transaction, and select one of the plurality of memory transactions for transmission over the memory bus based on the bank readiness signals. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
identifying a plurality of memory transactions to be sent over a memory bus to a memory having a plurality of memory banks, each memory transaction addressed to one of the memory banks; generating a first bank readiness signal by monitoring an address of a first one of the plurality of memory transactions gated across the memory bus at a location along the memory bus, wherein the first bank readiness signal indicates the readiness of one of the memory banks to accept the first one of the plurality of memory transactions; generating a second bank readiness signal by monitoring an address of a second one of the plurality of memory transactions gated across the memory bus at a location along the memory bus, wherein the second bank readiness signal indicates the readiness of another of the memory banks to accept the second one of the plurality of memory transactions; and selecting a third one of the memory transactions for transmission over the memory bus based on at least one of the first bank readiness or the second bank readiness signal. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. An apparatus comprising:
-
means for identifying a plurality of memory transactions to be sent over a memory bus to a memory having a plurality of memory banks, each memory transaction addressed to one of the memory banks; means for generating a first bank readiness signal by monitoring an address of a first one of the plurality of memory transactions gated across the memory bus at a location along the memory bus, wherein the first bank readiness signal indicates the readiness of one of the memory banks to accept the first one of the plurality of memory transactions; means for generating a second bank readiness signal by monitoring an address of a second one of the plurality of memory transactions gated across the memory bus at a location along the memory bus, wherein the second bank readiness signal indicates the readiness of another of the memory banks to accept the second one of the plurality of memory transactions; and means for selecting a third one of the memory transactions for transmission over the memory bus based on at least one of the first bank readiness or the second bank readiness signal. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A computer program product, tangibly stored on a computer-readable medium, the product comprising instructions operable to cause a programmable processor to:
-
identify a plurality of memory transactions to be sent over a memory bus to a memory having a plurality of memory banks, each memory transaction addressed to one of the memory banks and stored in a request station provided in a queue; generate a plurality of bank readiness signals based upon a content of the memory bus by monitoring the addresses of a first group of the plurality of memory transactions gated across the memory bus at a location along the memory bus, each bank readiness signal indicating the readiness of one of the memory banks to accept a memory transaction; and select an additional one of the plurality of memory transactions for transmission over the memory bus based on the bank readiness signals. - View Dependent Claims (21)
-
Specification