IP Library › Granted Patent US 7,653,072
Granted Patent B2
US 7,653,072 · App. 10/494,848 · Granted Jan 26, 2010

Overcoming access latency inefficiency in memories for packet switched networks

Assignee: Transwitch Corporation
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,653,072
App. No.
10/494,848
Granted
Jan 26, 2010
Kind
B2
Abstract

A method buffering packets in a packet switching network (FIG. 5 ) includes receiving a packet from the network; splitting the packet into a plurality of PDUs; stripping at least some of the PDUs over a plurality of memory banks; ( 18 ) retrieving the PDUs from the memory banks: and at least temporarily storing the retrieved PDUs in the sequence they are to be transmitted. An apparatus for implementing the method is also disclosed.

Claims (38)

1. A packet buffering unit for a packet switched system comprising:

a packet receive unit for receiving packets from the network and for splitting these packets into Packet Data Units (PDUs);

a plurality of memory banks coupled to said packet receive unit;

a memory controller coupled to said packet receive unit and said plurality of memory banks for storing at least some of the PDUs of a packet over the memory banks;

a packet management unit coupled to said packet receive unit for retrieving PDUs stored in the memory banks; and

transmission queue memory means coupled to said packet management unit for at least temporarily storing the retrieved PDUs in the sequence they are to be transmitted;

wherein the plurality of memory banks includes n memory banks partitioned into s number of memory sections, each memory section comprising memory space from each memory bank, and the memory controller stores PDUs in each section in accordance with i′=(i+k)Mod n, where n is the number of memory banks, k is the number of PDUs in a current packet, i is the section in which the current packet is stored, and i′ is the section for PDUs of the next packet.

2. A packet buffering unit according to claim 1 , further comprising:

a packet scheduler for scheduling a packet for transmission.

3. A packet buffering unit according to claim 1 , wherein:

the memory controller stores consecutive PDUs in consecutive memory banks and section i has as property that the first PDU to be stored in section i is stored in bank i.

4. A packet buffering unit according to claim 3 , further comprising:

a read request memory means for storing requests for PDUs stored in the memory banks.

5. A packet buffering unit according to claim 4 , wherein:

the read request memory means is configured as a FIFO.

6. A packet buffering unit according to claim 5 , further comprising

a read request generator coupled to said read request memory means for generating read requests.

7. A packet buffering unit according to claim 6 , wherein:

the packet management unit comprises a transmission queue manager for writing the retrieved PDUs in the sequence they are to be transmitted into the transmission queue memory means.

8. A packet buffering unit according to claim 7 , further comprising:

a PDU buffer, and a buffer management unit coupled to the PDU buffer for allocating the buffer for PDUs of a packet.

9. A packet buffering unit according to claim 1 , wherein:

the packet receive unit includes means for generating a PDU location address for each PDU.

10. A packet buffering unit according to claim 9 , further comprising:

a write request memory means coupled to said packet receive unit for storing the PDU location address and the PDU.

11. A packet buffering unit according to claim 10 , wherein:

the write request memory means is configured as a FIFO.

12. A packet buffering unit according to claim 1 , wherein

the packets are not of uniform length.

13. A method of buffering packets in a packet switched network comprising:

receiving packets from the network;

splitting these packets into PDUs;

storing at least some of the PDUs of a packet over a plurality of memory banks;

retrieving PDUs stored in the memory banks; and

at least temporarily storing the retrieved PDUs in the sequence they are to be transmitted;

wherein the plurality of memory banks includes n memory banks partitioned into s number of memory sections, each memory section comprising memory space from each memory bank, and the storing of PDUs over the plurality of memory banks stores PDUs in each section in accordance with i′=(i+k)Mod n, where n is the number of memory banks, k is the number of PDUs in a current packet, i is the section in which the current packet is stored, and i′ is the section for PDUs of the next packet.

14. A method according to claim 13 , further comprising:

storing consecutive PDUs in consecutive memory banks, wherein section i has as property that the first PDU to be stored in section i is stored in bank i.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE TITLE ON ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 023640 FRAME 0462. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR'S INTEREST. Recorded Dec 15, 2009
From: DEFORCHE, KOON; DE COSTER, LUC; VERBRUGGEN, GEERT
To: TRANSWITCH CORPORATION
Reel/Frame 023658/0501 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2009
From: DEFORCHE, KOEN; VERBRUGGEN, GEERT; DE COSTER, LUC
To: TRANSWITCH CORPORATION
Reel/Frame 023640/0462 →
Continuity (2)
Provisional Application 6035061100 · Nov 13, 2001
Related Publication 20050025140A1 · Feb 3, 2005