IP Library Granted Patent US 8,782,287
Granted Patent B2
US 8,782,287 · App. 10/029,679 · Granted Jul 15, 2014

Methods and apparatus for using multiple reassembly memories for performing multiple functions

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 8,782,287
App. No.
10/029,679
Granted
Jul 15, 2014
Kind
B2
Abstract

A packet processing system comprises first processing circuitry for performing a first function, and first memory circuitry coupled to the first processing circuitry for storing received packets, wherein at least a portion of the packets stored by the first memory circuitry are usable by the first processing circuitry in accordance with the first function. The packet processing system further comprises at least second processing circuitry for performing a second function, and at least second memory circuitry coupled to the second processing circuitry for storing at least a portion of the same packets stored in the first memory circuitry, wherein at least a portion of the packets stored in the second memory circuitry are usable by the second processing circuitry in accordance with the second function. In an illustrative embodiment, the first processing circuitry and the second processing circuitry operate in a packet switching device such as a router. In such case, the first processing circuitry and the second processing circuitry operate between a packet network interface and a switch fabric of the packet switching device.

Claims (67)

1. A processing system comprising:

first processing circuitry operative to perform a first function;

first reassembly circuitry, associated with the first processing circuitry, operative to reassemble segments of received packets into reassembled packets, wherein the segments reassembled by the first reassembly circuitry are related to the first function;

first memory circuitry, associated with the first processing circuitry, operative to store the packets reassembled by the first reassembly circuitry, wherein the reassembled packets stored by the first memory circuitry are used by the first processing circuitry in accordance with the first function, wherein the first function comprises a post-reassembly function to process the reassembled packets stored in the first memory circuitry;

second processing circuitry operative to perform a second function;

second reassembly circuitry, associated with the second processing circuitry, operative to reassemble at least a portion of the same segments of packets reassembled by the first reassembly circuitry into reassembled packets, wherein the segments reassembled by the second reassembly circuitry are related to the second function; and

second memory circuitry, associated with the second processing circuitry, operative to store the packets reassembled by the second reassembly circuitry, such that at least a portion of the reassembled packets stored in the first memory circuitry and the second memory circuitry are the same, wherein the reassembled packets stored in the second memory circuitry are used by the second processing circuitry in accordance with the second function, wherein the second function comprises a post-reassembly function to process the reassembled packets stored in the second memory circuitry,

wherein the first reassembly circuitry, the first memory circuitry, and the first processing circuitry are configured to implement a first processing path;

wherein the second reassembly circuitry, the second memory circuitry, and the second processing circuitry are configured to implement a second processing path; and

wherein the first and second processing paths are distinct and operate in parallel.

2. The system of claim 1 wherein the first processing circuitry, the first reassembly circuitry, the first memory circuitry, the second processing circuitry, the second reassembly circuitry and the second memory circuitry are implemented on an integrated circuit.

3. The system of claim 1 wherein the first processing circuitry, the first reassembly circuitry and the first memory circuitry are implemented on a first integrated circuit, and the second processing circuitry, the second reassembly circuitry and the second memory circuitry are implemented on a second integrated circuit.

4. The system of claim 1 wherein the first function and the second function are performed by an integrated circuit.

5. The system of claim 1 wherein the first function and the second function are performed by different integrated circuits.

6. The system of claim 1 wherein the first processing circuitry, the first reassembly circuitry and the first memory circuitry comprise a network processor.

7. The system of claim 6 wherein the first function comprises a packet classifying operation.

8. The system of claim 1 further comprising parsing circuitry, coupled to the first reassembly circuitry and the second reassembly circuitry, for parsing information from the received packets for use by the first reassembly circuitry and the second reassembly circuitry in respectively reassembling the packets.

9. The system of claim 1 wherein the packet segments are cells.

10. A processing system comprising:

first processing circuitry operative to perform a first function;

first reassembly circuitry, associated with the first processing circuitry, operative to reassemble segments of received packets into reassembled packets, wherein the segments reassembled by the first reassembly circuitry are related to the first function;

first memory circuitry, associated with the first processing circuitry, operative to store the packets reassembled by the first reassembly circuitry, wherein the reassembled packets stored by the first memory circuitry are used by the first processing circuitry in accordance with the first function;

second processing circuitry operative to perform a second function;

second reassembly circuitry, associated with the second processing circuitry, operative to reassemble at least a portion of the same segments of packets reassembled by the first reassembly circuitry into reassembled packets, wherein the segments reassembled by the second reassembly circuitry are related to the second function; and

second memory circuitry, associated with the second processing circuitry, operative to store the packets reassembled by the second reassembly circuitry, such that at least a portion of the reassembled packets stored in the first memory circuitry and the second memory circuitry are the same, wherein the reassembled packets stored in the second memory circuitry are used by the second processing circuitry in accordance with the second function,

wherein the second processing circuitry, the second reassembly circuitry and the second memory circuitry comprise a traffic manager.

11. The system of claim 10 wherein the second function comprises a packet scheduling operation.

12. A processing system comprising:

first processing circuitry operative to perform a first function;

first reassembly circuitry, associated with the first processing circuitry, operative to reassemble segments of received packets into reassembled packets, wherein the segments reassembled by the first reassembly circuitry are related to the first function;

first memory circuitry, associated with the first processing circuitry, operative to store the packets reassembled by the first reassembly circuitry, wherein the reassembled packets stored by the first memory circuitry are used by the first processing circuitry in accordance with the first function;

second processing circuitry operative to perform a second function;

second reassembly circuitry, associated with the second processing circuitry, operative to reassemble at least a portion of the same segments of packets reassembled by the first reassembly circuitry into reassembled packets, wherein the segments reassembled by the second reassembly circuitry are related to the second function; and

second memory circuitry, associated with the second processing circuitry, operative to store the packets reassembled by the second reassembly circuitry, such that at least a portion of the reassembled packets stored in the first memory circuitry and the second memory circuitry are the same, wherein the reassembled packets stored in the second memory circuitry are used by the second processing circuitry in accordance with the second function,

wherein the first processing circuitry and the second processing circuitry operate in a packet switching device,

wherein the first reassembly circuitry, the first memory circuitry, and the first processing circuitry are configured to implement a first processing path;

wherein the second reassembly circuitry, the second memory circuitry, and the second processing circuitry are configured to implement a second processing path; and

wherein the first and second processing paths are distinct and operate in parallel.

13. The system of claim 12 wherein the first processing circuitry and the second processing circuitry operate between a packet network interface and a switch fabric of the packet switching device.

14. A method for use in a processing system wherein the processing system is responsive to packets, the method comprising the steps of:

reassembling segments of received packets into reassembled packets in a first reassembler, wherein the segments reassembled by the first reassembler are related to a first function; and

storing the packets reassembled by the first reassembler in a first memory, wherein the reassembled packets stored by the first memory are used by a first processor in accordance with the first function, wherein the first function comprises a post-reassembly function to process the reassembled packets stored in the first memory;

wherein at least a portion of the segments of received packets reassembled by the first reassembler are reassembled in at least a second reassembler, wherein the segments reassembled by the second reassembler are related to a second function;

wherein the packets reassembled by the second reassembler are stored in at least a second memory such that at least a portion of the reassembled packets stored in the first memory and the second memory are the same, wherein the reassembled packets stored by the second memory are used by at least a second processor in accordance with a second function, wherein the second function comprises a post-reassembly function to process the reassembled packets stored in the second memory,

wherein the first reassembler, the first memory, and the first processor are configured to implement a first processing path;

wherein the second reassembler, the second memory, and the second processor are configured to implement a second processing path; and

wherein the first and second processing paths are distinct and operate in parallel.

15. The method of claim 14 wherein the first reassembler, the first processor, the first memory, the second reassembler, the second processor and the second memory are implemented on an integrated circuit.

16. The method of claim 14 wherein the first reassembler, the first processor and the first memory are implemented on a first integrated circuit, and the second reassembler, the second processor and the second memory are implemented on a second integrated circuit.

17. Apparatus for use in a processing system wherein the processing system is responsive to packets, the apparatus comprising:

a first memory;

a first processor operative to: (i) reassemble segments of received packets into reassembled packets, wherein the segments reassembled by the first processor are related to a first function; and (ii) cause the storage of the packets reassembled by the first processor in the first memory, wherein the reassembled packets stored by the first memory are used in accordance with the first function, wherein the first function comprises a post-reassembly function to process the reassembled packets stored in the first memory;

a second memory; and

a second processor operative to: (i) reassemble at least a portion of the segments of received packets reassembled by the first processor into reassembled packets that are stored in the second memory, such that at least a portion of the reassembled packets stored in the first memory and the second memory are the same, wherein the segments reassembled by the second processor are related to a second function, and wherein the reassembled packets stored by the second memory are used in accordance with the second function, wherein the second function comprises a post-reassembly function to process the reassembled packets stored in the second memory,

wherein the first memory and the first processor are configured to implement a first processing path;

wherein the second memory and the second processor are configured to implement a second processing path; and

wherein the first and second processing paths are distinct and operate in parallel.

18. The apparatus of claim 17 wherein the first processor and the first memory, the second processor and the second memory are implemented on an integrated circuit.

19. The apparatus of claim 17 wherein the first processor and the first memory are implemented on a first integrated circuit, and the second processor and the second memory are implemented on a second integrated circuit.

20. A processing system comprising:

first processing circuitry operative to perform a first function;

first reassembly circuitry, associated with the first processing circuitry, operative to reassemble segments of received packets into reassembled packets, wherein the segments reassembled by the first reassembly circuitry are related to the first function;

first memory circuitry, associated with the first processing circuitry, operative to store the packets reassembled by the first reassembly circuitry, wherein the reassembled packets stored by the first memory circuitry are used by the first processing circuitry in accordance with the first function;

second processing circuitry operative to perform a second function;

second reassembly circuitry, associated with the second processing circuitry, operative to reassemble at least a portion of the same segments of packets reassembled by the first reassembly circuitry into reassembled packets, wherein the segments reassembled by the second reassembly circuitry are related to the second function; and

second memory circuitry, associated with the second processing circuitry, operative to store the packets reassembled by the second reassembly circuitry, such that at least a portion of the reassembled packets stored in the first memory circuitry and the second memory circuitry are the same, wherein the reassembled packets stored in the second memory circuitry are used by the second processing circuitry in accordance with the second function,

wherein the at least a portion of the received packets are reassembled in parallel by the first and second reassembly circuitries and are stored in parallel by the first and second memory circuitries.

Assignments (6)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2015
From: LSI CORPORATION
To: INTEL CORPORATION
Reel/Frame 035090/0477 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 32856/0031 Recorded Nov 18, 2014
From: DEUTSCHE BANK AG NEW YORK BRANCH
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 034286/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2014
From: AGERE SYSTEMS LLC
To: LSI CORPORATION
Reel/Frame 034245/0655 →
CERTIFICATE OF CONVERSION Recorded May 30, 2014
From: AGERE SYSTEMS INC.
To: AGERE SYSTEMS LLC
Reel/Frame 033064/0786 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →