Method and apparatus to support multiple memory banks with a memory block
OwnerSanjeev Jain, Gilbert Wolrich +2inventors
InventorsSanjeev Jain, Gilbert Wolrich, Mark Rosenbluth, Debra Bernstein
Life of this patent
Estimating the term…
Abstract
A memory controller system includes a memory command storage module to store commands for a plurality of memory banks. The system includes a plurality of control mechanisms, each of which includes first and second pointers, to provide, in combination with a next field in each module location, a link list of commands for a given one of the plurality of memory banks.
Claims21
A memory controller system, comprising:
- a memory command storage module to store commands for a plurality of memory banks, the memory command storage module including a plurality of locations each having a command storage field and a next location field;
- and
- a plurality of control mechanisms coupled to the memory command storage module, each of the plurality of control mechanisms corresponding to a respective one of the plurality of memory banks, each of the control mechanisms including a first pointer and a second pointer, wherein the first pointer, second pointer, and next location field provide a link list of commands for a given one of the plurality of memory banks.
A network processor unit, comprising:
- a memory controller system, including
- a memory command storage module to store commands for a plurality of memory banks, the memory command storage module including a plurality of locations each having a command storage field and a next location field;
- and
- a plurality of control mechanisms coupled to the memory command storage module, each of the plurality of control mechanisms corresponding to a respective one of the plurality of memory banks, each of the control mechanisms including a first pointer and a second pointer, wherein the first pointer, second pointer, and next location field provide a link list of commands for a given one of the plurality of memory banks.
A network forwarding device, comprising:
- at least one line card to forward data to ports of a switching fabric;
- the at least one line card including a network processor unit having multi-threaded processing elements configured to execute microcode, the network processor unit, including:
- a memory controller system, having
- a memory command storage module to store commands for a plurality of memory banks, the memory command storage module including a plurality of locations each having a command storage field and a next location field;
- and
- a plurality of control mechanisms coupled to the memory command storage module, each of the plurality of control mechanisms corresponding to a respective one of the plurality of memory banks, each of the control mechanisms including a first pointer and a second pointer, wherein the first pointer, second pointer, and next location field provide a link list of commands for a given one of the plurality of memory banks.
A method of storing commands for a plurality of memory banks in a command storage module, comprising:
- receiving a first command for a first one of the plurality of memory banks;
- storing the first command in a command field of a first location in the memory command storage module;
- updating a tail pointer of a head pointer/tail pointer pair to a next available location in the memory command storage module, the head pointer/tail pointer pair corresponding to the first one of the plurality of memory banks;
- and
- storing a pointer to the next available location in a next location field of the first location of the memory command storage module, wherein the head pointer, tail pointer and the next location field provide a link list of commands for the first one of the plurality of memory banks.
Dependencies are inferred from the claim text.