Interface for connecting a bus to a random access memory using a swing buffer and a buffer manager
First Claim
1. A configurable RAM interface for connecting a bus to RAM comprising:
- a bus configuration register for specifying a number of bits on the bus;
means for receiving from the bus a plurality of data words comprising multiword tokens;
means for receiving from the bus a complete address associated with the plurality of data words;
means for generating a series of addresses in RAM into which the buffered data words will be written;
means for writing the buffered data words into RAM at the generated addresses; and
means for buffering the received data words comprising;
at least three memory buffers for use as a swing buffer including an arrival buffer, an output buffer and at least one intermediate buffer;
a buffer manager for allocating said buffers for reference by said means for generating a series of addresses, clearing said buffers for occupation by subsequently arriving data, and maintaining status information of said buffers, wherein said status information comprises a state VACANT, wherein one of said buffers is available, a state IN-- USE, wherein said one buffer is referenced by said means for receiving from the bus an address and by said means for receiving from the bus a plurality of data words, a state FULL, wherein said one buffer is occupied by data, and a state READY wherein said buffer manager asserts a late arrival signal indicating that a buffer in said state READY is not in synchronization with a data output rate;
a state machine in said buffer manager that transitions among a plurality of states, the transitions including;
a first transition from a first state PRES0, to a second state PRES1, wherein said status information of said buffers are evaluated;
a second transition from said state PRES1 to a third state DRQ wherein a pending request for said output buffer is evaluated; and
a third transition from said state DRQ to a fourth state TOKEN, wherein tokens of received data are examined;
whereby a status of said arrival buffer can be updated.
1 Assignment
0 Petitions
Accused Products
Abstract
A configurable RAM interface connecting a bus to RAM is adapted to receiving large multiword variable length tokens at a high data arrival rate, using a swing buffer and a buffer manager. An address source provides complete addresses to the interface. The buffer manager has a state machine which transitions among a plurality of states, maintaining status information about the buffers, allocating the buffers for reference by a write address generator, clearing the buffers for occupation by subsequently arriving data, and maintaining status information concerning the buffers. The buffer manager also examines tokens of received data in order to update the status of the arrival buffer.
-
Citations
10 Claims
-
1. A configurable RAM interface for connecting a bus to RAM comprising:
-
a bus configuration register for specifying a number of bits on the bus; means for receiving from the bus a plurality of data words comprising multiword tokens; means for receiving from the bus a complete address associated with the plurality of data words; means for generating a series of addresses in RAM into which the buffered data words will be written; means for writing the buffered data words into RAM at the generated addresses; and means for buffering the received data words comprising; at least three memory buffers for use as a swing buffer including an arrival buffer, an output buffer and at least one intermediate buffer; a buffer manager for allocating said buffers for reference by said means for generating a series of addresses, clearing said buffers for occupation by subsequently arriving data, and maintaining status information of said buffers, wherein said status information comprises a state VACANT, wherein one of said buffers is available, a state IN-- USE, wherein said one buffer is referenced by said means for receiving from the bus an address and by said means for receiving from the bus a plurality of data words, a state FULL, wherein said one buffer is occupied by data, and a state READY wherein said buffer manager asserts a late arrival signal indicating that a buffer in said state READY is not in synchronization with a data output rate; a state machine in said buffer manager that transitions among a plurality of states, the transitions including; a first transition from a first state PRES0, to a second state PRES1, wherein said status information of said buffers are evaluated; a second transition from said state PRES1 to a third state DRQ wherein a pending request for said output buffer is evaluated; and a third transition from said state DRQ to a fourth state TOKEN, wherein tokens of received data are examined;
whereby a status of said arrival buffer can be updated. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A RAM interface for connecting a bus to RAM comprising:
-
a plurality of data words stored in RAM at predetermined addresses; means for receiving from the bus a RAM address associated with the plurality of data words; means for generating a series of complete RAM addresses for addressing the plurality of data words in RAM, the series of addresses being derived from the received address; means for buffering the data words read from RAM comprising; at least three memory buffers for use as a swing buffer including an arrival buffer;
an output buffer, and at least one intermediate buffer;a buffer manager for allocating said buffers for reference by said means for generating a series of addresses, clearing said buffers for occupation by subsequently arriving data, and maintaining status information of said buffers, wherein said status information comprises a state VACANT, wherein one of said buffers is available, a state IN-- USE, wherein said one buffer is referenced by said means for receiving from the bus an address and by said means for receiving from the bus a plurality of data words, a state FULL, wherein said one buffer is occupied by data, and a state READY wherein said buffer manager asserts a late arrival signal indicating that a buffer in said state READY is not in synchronization with a data output rate; a state machine in said buffer manager that transitions among a plurality of states, the transitions including; a first transition from a first state PRES0, to a second state PRES1, wherein said status information of said buffers are evaluated; a second transition from said state PRES1 to a third state DRQ wherein a pending request for said output buffer is evaluated; and a third transition from said state DRQ to a fourth state TOKEN, wherein variable length tokens of received data are examined;
whereby a status of said arrival buffer can be updated; andmeans for reading from RAM the plurality of data words, using the series of RAM addresses generated by the address generating means, and writing the data words into the buffer means;
wherein said data words each include an extension bit which indicates a presence of additional words to define said variable length tokens. - View Dependent Claims (8, 9, 10)
-
Specification