IP Library Granted Patent US 7,360,065
Granted Patent B2
US 7,360,065 · App. 11/102,977 · Granted Apr 15, 2008

Synchronous network traffic processor

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,360,065
App. No.
11/102,977
Granted
Apr 15, 2008
Kind
B2
Abstract

A synchronous network traffic processor that synchronously processes, analyzes and generates data for high-speed network protocols, on a wire-speed, word-by-word basis. The synchronous network processor is protocol independent and may be programmed to convert protocols on the fly. An embodiment of the synchronous network processor described has a low gate count and can be easily implemented using programmable logic. An appropriately programmed synchronous network traffic processor may replace modules traditionally implemented with hard-wired logic or ASIC.

Claims (41)

1. A protocol independent synchronous processor for processing network data, comprising:

an execution control unit synchronous with an externally generated instruction clock signal, the execution control unit operable to execute an instruction per clock cycle of the externally generated instruction clock signal;

an input interface configured so as to receive network data at a rate of one data word per clock cycle of the externally generated instruction clock signal;

a plurality of configurable units synchronous with the externally generated instruction clock signal, the plurality of configurable units operable to process the received network data in substantially real time under control of the execution control unit;

wherein at least one of the plurality of configurable units comprises a data modify unit coupled to the input interface, the data modify unit operable to selectively modify input data words received from the input interface according to instruction-specified operators to generate modified data words one modified data word per clock cycle of the externally generated instruction clock signal; and

wherein the execution control unit is operable to configure the plurality of configurable units in accordance with any selected network protocol of a plurality of predefined network protocols to process the received network data in substantially real time in a manner consistent with the selected network protocol.

2. The protocol independent synchronous processor of claim 1 further comprising an instruction memory configured to store software instructions for the execution control unit, wherein the instructions define a procedure executable by the execution control unit, the procedure corresponding to the selected network protocol.

3. The protocol independent synchronous processor of claim 1 further comprising a plurality of configurable connections operable to interconnect the plurality of configurable units under control of the execution control unit.

4. A protocol independent synchronous processor for processing network data, comprising:

an input interface for receiving the network data at a rate of one data word per a cycle of an externally generated instruction clock signal;

a plurality of software configurable units for processing a sequence of data words of the network data at a rate corresponding to a rate at which the network data is received at the input interface, wherein at least one of the plurality of software configurable units comprises a data modify unit coupled to the input interface, the data modify unit operable to selectively modify input data words received from the input interface according to instruction-specified operators to generate modified data words one modified data word per clock cycle of the externally generated instruction clock signal;

software configurable connections for interconnecting the plurality of software configurable units and the input interface; and

a programmable execution unit in communication with the plurality of software configurable units and software configurable connections, wherein the execution unit is implemented so as to configure the plurality of software configurable units and software configurable connections in accordance with a network protocol selected from a plurality network protocols so as to process the received network data in a manner consistent with the selected network protocol.

5. The protocol independent synchronous processor of claim 1 , wherein at least one of the plurality of configurable units comprises:

a data compare unit coupled to the input interface, the data compare unit operable to selectively compare input data words received from the input interface to instruction-specified operands to generate compare flags.

6. The protocol independent synchronous processor of claim 5 , wherein the execution control unit is operable to configure during each clock cycle of the externally generated instruction clock signal at least one of the data modify unit and the data compare unit according to a current instruction.

7. The protocol independent synchronous processor of claim 6 , wherein the execution control unit is operable to determine a next instruction to be processed according to compare flags generated by the data compare unit during a current clock cycle of the externally generated instruction clock signal and a branch operator specified in the current instruction.

8. The protocol independent synchronous processor of claim 5 , wherein the input interface comprises:

a plurality of successive stages each having an output, each respective stage operable to output a respective one of the input data words after a delay of a number of clock cycles of the externally generated instruction clock signal corresponding to a position of the respective stage in the input pipeline unit; and

an output multiplexer coupled to at least a subset of the stages of the input pipeline unit, the output multiplexer operable to select for output to the data modifying unit and the data compare unit an instruction-specified one of the outputs from the subset of the stages of the input pipeline unit.

9. The protocol independent synchronous processor of claim 1 , wherein the execution control unit is operable to execute one instruction having at least two branch control operators during each clock cycle of the instruction clock signal.

10. The protocol independent synchronous processor of claim 1 , wherein the execution control unit is operable to execute one conditional instruction during each clock cycle of the instruction clock signal.

11. The protocol independent synchronous processor of claim 4 , wherein at least one of the plurality of configurable units comprises:

a data compare unit coupled to the input interface, the data compare unit operable to selectively compare input data words received from the input interface to instruction-specified operands to generate compare flags.

12. The protocol independent synchronous processor of claim 4 , wherein the input interface comprises:

first and second input pipelines, each pipeline having a plurality of successive stages each having an output, each respective stage operable to output a respective input data word of a first stream and a second stream of input data words after a delay of a number of clock cycles of the externally generated instruction clock signal corresponding to a position of the respective stage in the input pipeline unit;

a first output multiplexer coupled to at least a first subset of the stages of the first input pipeline, the first output multiplexer operable to select for output to the data modify unit an instruction-specified one of the outputs from the first subset of the stages of the first input pipeline; and

a second output multiplexer coupled to at least a second subset of the stages of the second pipeline, the second output multiplexer operable to select for output to the data modify unit an instruction-specified one of the outputs from the second subset of the stages of the second input pipeline.

13. The protocol independent synchronous processor of claim 4 , wherein the data modify unit comprises:

a first input multiplexer;

a second input multiplexer;

a first arithmetic logic unit coupled to the output of the first input multiplexer of the data modify unit, the first arithmetic logic unit selectively performing an instruction-specified operation on data provided by the first input multiplexer of the data modify unit;

a second arithmetic logic unit coupled the output of the second input multiplexer of the data modify unit, the second arithmetic logic unit selectively performing an instruction-specified operation on data provided by the second input multiplexer of the data modify unit; and

a third arithmetic logic unit coupled to the outputs of the first and second arithmetic logic units, the third arithmetic logic unit performing an instruction-specified operation on data provided by outputs of the first and second arithmetic logic units.

14. The protocol independent synchronous processor of claim 13 , wherein the data modify unit comprises:

a first data modifying unit output multiplexer coupled to outputs of the first and third arithmetic logic units, the first data modify unit output multiplexer operable to select for output an instruction-specified one of the outputs of the first and third arithmetic logic units; and

a second data modify unit output multiplexer coupled to outputs of the second and third arithmetic logic units, the second data modify unit output multiplexer operable to select for output an instruction-specified one of the outputs of the second and third arithmetic logic units.

15. The protocol independent synchronous processor of claim 4 , wherein the data compare unit comprises:

a plurality of source select and mask units, each source select and mask unit operable to select as mask operands instruction-specified ones of the outputs of one or more of the plurality of software configurable units, and an immediate data output of the execution control unit, each source select and mask unit generating a masked output;

each source select and mask unit operable to select as compare operands instruction-specified ones of the outputs of one or more of the plurality of software configurable units, an output of the execution control unit and an immediate data output of the execution control unit, each source select and mask unit generating a compare output; and

a plurality of comparators coupled to the outputs of the source select and mask units, the comparators generating compare results of comparing the masked outputs and the compare outputs of the source select and mask units.

Assignments (16)
RELEASE OF SECURITY INTEREST Recorded Jan 13, 2022
From: TRIPLEPOINT VENTURE GROWTH BDC CORP., AS THE SECURED PARTY
To: VIRTUAL INSTRUMENTS CORPORATION
Reel/Frame 058652/0409 →
RELEASE OF SECURITY INTEREST Recorded Jan 13, 2022
From: TRIPLEPOINT VENTURE GROWTH BDC CORP., AS THE SECURED PARTY
To: VIRTUAL INSTRUMENTS USA, INC.
Reel/Frame 058652/0658 →
RELEASE OF SECURITY INTEREST Recorded Jan 10, 2022
From: WESTERN ALLIANCE BANK
To: VIRTUAL INSTRUMENTS CORPORATION
Reel/Frame 058612/0572 →
SECURITY INTEREST Recorded Jan 10, 2022
From: VIRTUAL INSTRUMENTS CORPORATION; VIRTUAL INSTRUMENTS WORLDWIDE, INC.; XANGATI, INC.
To: MIDTOWN MADISON MANAGEMENT LLC
Reel/Frame 058668/0268 →
TERMINATIONS OF SECURITY INTEREST AT REEL 052729, FRAME 0321 Recorded Jan 5, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: VIAVI SOLUTIONS INC.; RPC PHOTONICS, INC.
Reel/Frame 058666/0639 →
SECURITY INTEREST Recorded May 21, 2020
From: VIAVI SOLUTIONS INC.; 3Z TELECOM, INC.; ACTERNA LLC; ACTERNA WG INTERNATIONAL HOLDINGS LLC; VIAVI SOLUTIONS LLC; JDSU ACTERNA HOLDINGS LLC; OPTICAL COATING LABORATORY, LLC; RPC PHOTONICS, INC.; TTC INTERNATIONAL HOLDINGS, LLC
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
Reel/Frame 052729/0321 →
CHANGE OF NAME Recorded May 14, 2020
From: JDS UNIPHASE CORPORATION
To: VIAVI SOLUTIONS INC.
Reel/Frame 052671/0870 →
SECURITY INTEREST Recorded Oct 10, 2018
From: VIRTUAL INSTRUMENTS CORPORATION
To: WESTERN ALLIANCE BANK
Reel/Frame 047127/0739 →
SECURITY INTEREST Recorded Sep 21, 2018
From: VIRTUAL INSTRUMENTS CORPORATION; VIRTUAL INSTRUMENTS USA, INC.; XANGATI, INC.; VIRTUAL INSTRUMENTS WORLDWIDE, INC.
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 046941/0930 →
SECURITY INTEREST Recorded Apr 5, 2016
From: VIRTUAL INSTRUMENTS CORPORATION
To: WESTERN ALLIANCE BANK
Reel/Frame 038194/0817 →
ASSIGNMENT OF SECURITY AGREEMENT (REEL 031796, FRAME 0176) Recorded Mar 7, 2014
From: TRIPLEPOINT CAPITAL LLC
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 032410/0355 →
ASSIGNMENT OF SECURITY AGREEMENT (REEL 031796, FRAME 0208) Recorded Mar 7, 2014
From: TRIPLEPOINT CAPITAL LLC
To: TRIPLEPOINT VENTURE GROWTH BDC CORP.
Reel/Frame 032410/0379 →
SECURITY AGREEMENT Recorded Dec 11, 2013
From: VIRTUAL INSTRUMENTS CORPORATION
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 031796/0176 →
SECURITY AGREEMENT Recorded Dec 11, 2013
From: VIRTUAL INSTRUMENTS USA INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 031796/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2011
From: FINISAR CORPORATION
To: JDS UNIPHASE CORPORATION
Reel/Frame 025730/0518 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2005
From: GENTIEU, PAUL R.; ACQUISTAPACE, TOM; IRYAMI, FARHAD
To: FINISAR CORPORATION
Reel/Frame 016504/0724 →