IP Library Granted Patent US 7,675,925
Granted Patent B2
US 7,675,925 · App. 10/614,558 · Granted Mar 9, 2010

Method and apparatus for providing a packet buffer random access memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,675,925
App. No.
10/614,558
Granted
Mar 9, 2010
Kind
B2
Abstract

The present invention generally provides a packet buffer random access memory (PBRAM) device including a memory array, a plurality of input ports, and a plurality of serial registers associated with the input ports. The plurality of input ports permit multiple devices to concurrently access the memory in a non-blocking manner. The serial registers enable receiving data from the input ports and concurrently packet data to the memory array. The memory performs all management of network data queues so that all port requests can be satisfied within the real-time constraints of network packet switching.

Claims (38)

1. A packet buffer random access memory (PBRAM) device, comprising:

(a) a memory array divided into a plurality of banks;

(b) a plurality of input ports to be coupled to a network controller device, the memory array for storing packet data received by the plurality of input ports being shared by the plurality of input ports;

(c) a plurality of serial registers each associated with a different one of the plurality of input ports, each of the serial registers configured for receiving packet data from the associated input port at a segment of a serial register concurrent with writing other packet data to the memory array from another segment of the serial register, each of the serial registers further being segmented into a plurality of segments, segments of respective serial registers being associated with corresponding portions of the memory array, segments of different serial registers simultaneously transferring packet data to different portions of the memory array;

(d) row and column circuitry at each of the plurality of banks, the row and column circuitry configured to enable said writing other packet data to a respective bank independent of operation at other banks; and

(e) a plurality of multiplexers each associated with a different one of the segments of the serial registers, each multiplexer enabling said writing other packet data to the memory array from a respective segment of the serial register.

2. The PBRAM device of claim 1 wherein packet data is transferred into one segment of a serial register as data is simultaneously transferred out of another segment of the serial register.

3. The PBRAM device of claim 1 wherein a portion of the memory array is a queue.

4. The PRAM device of claim 3 wherein the queue includes a plurality of sub-queues, each sub-queue assigned a priority level.

5. The PBRAM device of claim 4 wherein packet data is read from the sub-queue with the highest priority level that stores data.

6. The PBRAM device of claim 1 wherein the memory array is a single global memory.

7. A method for storing data packets transferred across a computer network in a packet buffer random access memory (PBRAM) device, the method comprising:

receiving a plurality of data packets from controllers coupled to said computer network at a plurality of input ports of the PBRAM device;

serially transferring portions of the data packets to different segments of serial registers that are connected between the input ports and a memory array divided into a plurality of banks, each of the serial registers being associated with a different one of the input ports, the memory array for storing packet data received by the input ports being shared by the plurality of input ports;

selecting at least one of the plurality of banks to receive the portions of the data packets independent of other banks of the plurality of banks; and

conveying the portions of the data packets from one of the serial registers to different portions of the memory array in parallel, while concurrently transferring other portions of the packets to other segments of the one of the serial registers, said conveying including multiplexing the portions of the data packets from respective segments of the serial registers onto a data bus.

8. The method of claim 7 wherein a portion of the memory array is a queue.

9. The method of claim 8 wherein the queue includes a plurality of sub-queues, each sub-queue assigned a priority level.

10. The method of claim 9 wherein packet data is read from the sub-queue with the highest priority level that stores data.

11. The PBRAM device of claim 7 wherein the memory array is a single global memory.

12. A packet buffer random access memory (PBRAM) device comprising:

a memory array divided into a plurality of banks;

a plurality of input ports coupled to the memory array by serial registers for conveying data to the memory array, each of the serial registers being associated with a different one of the input ports and configured for receiving packet data from the associated input port to a segment of a serial register concurrent with writing other packet data to the memory array from another segment of the serial register, the memory array for storing packet data received by the plurality of ports being shared by the plurality of input ports;

row and column circuitry at each of the plurality of banks, the row and column circuitry configured to enable said writing other packet data to a respective bank independent of operation at other banks;

a plurality of multiplexers each associated with a different one of the segments of the serial registers, each multiplexer enabling said writing other packet data to the memory array from a respective segment of the serial register;

a plurality of command ports for receiving commands that indicate desired operations to be performed in relation to the data conveyed on the input ports; and

a memory management unit coupled between the command ports and the memory array, said memory management unit establishing input queue structures within the memory array responsive to write commands issued on the command ports, the input queue structures for receiving pointers to locations in a packet table that point to the data that is conveyed from the input ports.

13. The PBRAM device of claim 12 wherein the memory array is a single global memory.

14. An apparatus for storing packets transferred across a computer network in a packet buffer random access memory (PBRAM) device, comprising:

means for receiving a plurality of packets from controllers coupled to said computer network by a plurality of input ports of the PBRAM device;

means for assigning input queue structures, contained in a memory array portion of the PBRAM device divided into a plurality of banks, to store packets, the memory array being shared by the plurality of input ports;

means for serially transferring portions of the packets to different segments of serial registers that are connected to the input ports and to the memory array, each of the serial registers associated with a different one of the input ports;

means for selecting at least one of the plurality of banks to receive the portions of the packets independent of other banks of the plurality of banks;

means for conveying the portions of the packets from a segment of a serial register to the memory array portion in parallel, concurrent with receiving other packet data to another segment of the serial register, said means for conveying including means for multiplexing the portions of the packets from respective segments of the serial registers onto a data bus; and

means for storing said packets in said queue structures, said queue structures being further accessible by a plurality of output ports of said PBRAM device such that said input queue structures become output queue structures that deliver the packets to associated output ports.

15. The apparatus of claim 14 wherein an output queue structure includes a plurality of sub-queues, each sub-queue assigned a priority level.

16. The apparatus of claim 15 wherein packet data is read from the sub-queue with the highest priority level that stores data.

17. The PBRAM device of claim 14 wherein the means for storing is a single global memory.

Assignments (11)
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY'S NAME PREVIOUSLY RECORDED AT REEL: 056602 FRAME: 0253. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Aug 30, 2023
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 064783/0267 →
CHANGE OF NAME Recorded Jun 16, 2021
From: CONVERSANT INTELLECTUAL PROPERTY INC.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 056602/0253 →
RELEASE OF SECURITY INTEREST Recorded Oct 30, 2020
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 054263/0253 →
RELEASE OF U.S. PATENT AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Oct 12, 2018
From: ROYAL BANK OF CANADA, AS LENDER
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 047645/0424 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046900/0136 →
U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Sep 9, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CPPIB CREDIT INVESTMENTS INC., AS LENDER; ROYAL BANK OF CANADA, AS LENDER
Reel/Frame 033706/0367 →
CHANGE OF ADDRESS Recorded Sep 3, 2014
From: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 033678/0096 →
RELEASE OF SECURITY INTEREST Recorded Aug 7, 2014
From: ROYAL BANK OF CANADA
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.; CONVERSANT IP N.B. 868 INC.; CONVERSANT IP N.B. 276 INC.
Reel/Frame 033484/0344 →
CHANGE OF NAME Recorded Mar 13, 2014
From: MOSAID TECHNOLOGIES INCORPORATED
To: CONVERSANT INTELLECTUAL PROPERTY MANAGEMENT INC.
Reel/Frame 032439/0638 →
U.S. INTELLECTUAL PROPERTY SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) - SHORT FORM Recorded Jan 10, 2012
From: 658276 N.B. LTD.; 658868 N.B. INC.; MOSAID TECHNOLOGIES INCORPORATED
To: ROYAL BANK OF CANADA
Reel/Frame 027512/0196 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2009
From: JONES, DAVID E.
To: MOSAID TECHNOLOGIES INCORPORATED
Reel/Frame 023462/0677 →