IP Library Granted Patent US 7,013,302
Granted Patent B2
US 7,013,302 · App. 09/741,999 · Granted Mar 14, 2006

Bit field manipulation

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,013,302
App. No.
09/741,999
Granted
Mar 14, 2006
Kind
B2
Abstract

A bit field direct manipulation device which processes data packets using a multi-threaded pipelined machine, wherein no instruction depends on a preceding instruction because each instruction in the pipeline is executed for a different thread. The multi-thread packet processor transfers a data packet from a flexible data input buffer to a packet task manager, dispatches the data packet from the packet task manager to a multi-threaded pipelined analysis machine, classifies the data packet in the analysis machine, modifies and forwards the data packet in a packet manipulator. The multi-thread packet processor includes an analysis machine having multiple pipelines, wherein one pipeline is dedicated to directly manipulating individual data bits of a bit field, a packet task manager, a packet manipulator, a global access bus including a master request bus and a slave request bus separated from each other and pipelined, an external memory engine, and a hash engine.

Claims (47)

1. A method for direct access to bit fields in instruction operands, comprising:

providing indications of bit fields in source and target operands of a processor executable instruction, each of the indicated bit fields consisting of a plurality of bits in a plurality of bit positions in the source and target operands;

performing the processor executable instruction utilizing the bit fields in the source and target operands in response to the indications of the bit fields; and

providing, by performing the processor executable instruction, and in response to the indications of the bit fields, direct manipulation of any bits in any bit field of the source and target operands;

transferring data from an input buffer to a packet task manager;

dispatching the data from the packet task manager to an analysis machine;

classifying the data in the analysis machine; and

modifying and forwarding the data in a packet manipulator;

wherein no instruction depends on a preceding instruction because each instruction in a pipeline is executed for a different thread.

2. The method for direct access to bit fields in instruction operands according to claim 1 , further comprising:

transferring the data after modifying and forwarding to an output buffer.

3. The method for direct access to bit fields in instruction operands according to claim 1 , further comprising:

processing data at a rate of at least 10 Gbs.

4. An apparatus for directly accessing bit fields in instruction operands, comprising:

at least one memory;

at least one processor;

a bus interconnecting said at least one memory and said at least one processors wherein one of said at least one processor retrieves indications of bit fields, said bit field;

each consisting of a plurality of bits in a plurality of bit positions within source and target operands for a processor executable instruction, performs the processor executable instruction utilizing the bit fields in said source and target operands in response to the indications of the bit fields, and provides, by performance of the processor executable instructions, and in response to the indications of the bit fields, direct manipulation of any bits in any bit field of the source and target operands; and

wherein the processor comprises:

an analysis machine having multiple pipelines,

a packet task manager operationally connected to said analysis machine, and

a packet manipulator operationally connected to said analysis machine.

5. The apparatus according to claim 4 , wherein said analysis machine is multi-threaded.

6. The apparatus according to claim 4 , wherein said analysis machine has 32 threads.

7. The apparatus according to claim 4 , further comprising:

a packet task manager operationally connected to said analysis machine;

a packet manipulator operationally connected to said analysis machine; and

a global access bus including a master request bus and a slave request bus separated from each other and pipelined.

8. The apparatus according to claim 7 , further comprising:

packet input global access bus software code used for flow of data packet information from a flexible input data buffer to an analysis machine.

9. The apparatus according to claim 7 , further comprising:

packet data global access bus software code used for flow of packet data between a flexible data input bus and a packet manipulator.

10. The apparatus according to claim 7 , further comprising:

statistics data global access bus software code used for connection of an analysis machine to a packet manipulator.

11. The apparatus according to claim 7 , further comprising:

private data global access bus software code used for connection of an analysis machine to an internal memory engine submodule.

12. The apparatus according to claim 7 , further comprising:

lookup global access bus software code used for connection of an analysis machine to an internal memory engine submodule.

13. The apparatus according to claim 7 , further comprising:

results global access bus software code used for providing flexible access to an external memory.

14. The apparatus according to claim 7 , further comprising:

a bi-directional access port operationally connected to said analysis machine;

a flexible data input buffer operationally connected to said analysis machine; and

a flexible data output buffer operationally connected to said analysis machine.

15. The apparatus according to claim 4 , further comprising:

an external memory engine operationally connected to said analysis machine; and

a hash engine operationally connected to said analysis machine.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 48612/0598) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063691/0294 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 48612/FRAME 0582 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.
Reel/Frame 063456/0428 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 57700/FRAME 0935 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.
Reel/Frame 063458/0303 →
SECURITY INTEREST Recorded Oct 4, 2021
From: AVAYA MANAGEMENT LP
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 057700/0935 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Mar 15, 2019
From: AVAYA MANAGEMENT L.P.
To: CITIBANK, N.A.
Reel/Frame 048612/0582 →
SECURITY INTEREST Recorded Mar 15, 2019
From: AVAYA MANAGEMENT L.P.
To: GOLDMAN SACHS BANK USA
Reel/Frame 048612/0598 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: AVAYA HOLDINGS LIMITED
To: AVAYA MANAGEMENT L.P.
Reel/Frame 048577/0492 →