Method and apparatus for adaptable digital protocol processing
First Claim
Patent Images
1. A network processor comprising:
- a computer system;
an adaptable hardware device having an information input wherein the adaptable hardware device provides configurable logic;
an input/output module coupled to the information input of the adaptable hardware device such that the input/output module is adapted to provide to the information input a data stream having a protocol format wherein the adaptable hardware device is adapted to provide the data stream to the configurable logic;
a bus coupling the adaptable hardware device to the computer system wherein the computer system is adapted to communicate with the adaptable hardware device using the bus, wherein the computer system is adapted to configure the configurable logic of the adaptable hardware device into an analysis configuration, wherein the computer system is adapted to use the configurable logic in the analysis configuration to determine the protocol format of the data stream applied to the information input, wherein the computer system is adapted to configure the configurable logic of the adaptable hardware device into a processing configuration associated with the determined protocol format of the data stream and wherein the configurable logic in the processing configuration is adapted to process the data stream having the protocol format.
1 Assignment
0 Petitions
Accused Products
Abstract
Processor methods and apparatus for adaptable network processing having speed advantages often associated with hardware implementations of network processing code or logic, as is often achieved using ASICs, for example, but at the same time having reconfigurability advantages often associated with software implementations of this code or logic. Methods and apparatus are described for adaptable hardware devices, such as a field programmable gate array (FPGA) or a circuit using FPGAs, to execute network processing code or logic. Methods and apparatus are described for using a software based device to program adaptable hardware devices to implement desired network processing code or logic.
-
Citations
36 Claims
-
1. A network processor comprising:
-
a computer system;
an adaptable hardware device having an information input wherein the adaptable hardware device provides configurable logic;
an input/output module coupled to the information input of the adaptable hardware device such that the input/output module is adapted to provide to the information input a data stream having a protocol format wherein the adaptable hardware device is adapted to provide the data stream to the configurable logic;
a bus coupling the adaptable hardware device to the computer system wherein the computer system is adapted to communicate with the adaptable hardware device using the bus, wherein the computer system is adapted to configure the configurable logic of the adaptable hardware device into an analysis configuration, wherein the computer system is adapted to use the configurable logic in the analysis configuration to determine the protocol format of the data stream applied to the information input, wherein the computer system is adapted to configure the configurable logic of the adaptable hardware device into a processing configuration associated with the determined protocol format of the data stream and wherein the configurable logic in the processing configuration is adapted to process the data stream having the protocol format. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
the protocol format comprises a plurality of protocol levels; the plurality of protocol levels successively increase in level from a lowest level to a highest level;
each protocol level has a protocol format associated with the protocol level;
the computer system is adapted to configure the configurable logic into a plurality of processing configurations wherein the plurality of processing configurations include the processing configuration;
a first of the processing configurations is adapted to process the protocol format of the data stream at the lowest level; and
each of the other processing configurations is adapted to process the protocol format of the data stream at one of the levels above the lowest level.
-
-
19. The network processor of claim 18, wherein
the computer system is adapted to use the analysis configuration to determine the protocol format associated with each protocol level; - and
the computer system is adapted to configure the configurable logic into each of the processing configurations in response to the determination of the protocol formats.
- and
-
20. The network processor of claim 19, wherein the computer system is adapted to change configuration of the configurable logic without manual input.
-
21. The network processor of claim 18, wherein the protocol format of the lowest level comprises a multiplexing format.
-
22. The network processor of claim 21, wherein the computer system is adapted to change the configuration of the configurable logic in real time, and wherein the configurable logic is adapted to be changed in real time between the analysis configuration and each of the processing configurations.
-
23. The network processor of claim 22, wherein the computer system is adapted to change configuration of the configurable logic without manual input.
-
24. The network processor of claim 18, wherein at least one of the processing configurations is adapted to demultiplex the data stream.
-
25. The network processor of claim 24, wherein the processing configuration that is adapted to demultiplex the data stream is the processing configuration associated with the lowest level.
-
26. The network processor of claim 25, wherein the data stream is demultiplexed into a plurality of channels each channel having a protocol format.
-
27. The network processor of claim 26, wherein the protocol format of at least one of the channels provides the plurality of protocol levels.
-
28. The network processor of claim 18, wherein the protocol format of the highest level is encapsulated in the protocol format of any levels below the highest level.
-
29. The network processor of claim 18, wherein at least one of the processing configurations is adapted to deencapsulate a first of the protocol formats from within a second of the protocol formats.
-
30. The network processor of claim 18, wherein the computer system is adapted to change the configuration of the configurable logic in real time, and wherein the configurable logic is adapted to be changed in real time between the analysis configuration and each of the processing configurations.
-
31. The network processor of claim 30, wherein the computer system is adapted to change configuration of the configurable logic without manual input.
-
32. The network processor of claim 18, wherein the computer system is adapted to change the configuration of the configurable logic without manual input.
-
33. The network processor of claim 1, wherein the protocol format is one of a plurality of possible protocol formats identifiable by the computer system using the analysis configuration.
-
34. The network processor of claim 1, further comprising a plurality of configuration files that the computer system can use to provide a plurality of configurations of the adaptable hardware device.
-
35. A network processor comprising:
-
a computer system;
an adaptable hardware device having an information input wherein the adaptable hardware device provides configurable logic;
an input/output module coupled to the information input of the adaptable hardware device such that the input/output module is adapted to provide to the information input a data stream having one of a first and a second protocol format wherein the adaptable hardware device is adapted to provide to the configurable logic the data stream and wherein the first and second protocol formats are at different protocol levels;
a bus coupling the adaptable hardware device to the computer system wherein the computer system is adapted to communicate with the adaptable hardware device using the bus, wherein the computer system is adapted to determine the protocol format of the data stream, wherein the computer system is adapted to configure the configurable logic into a first processing configuration when the data stream has the first protocol format and wherein the computer system is adapted to configure the configurable logic into a second processing configuration when the data stream has the second protocol format, wherein the configurable logic in the first processing configuration is adapted to process the data stream having the first protocol format and wherein the configurable logic in the second processing configuration is adapted to process the data stream having the second protocol format.
-
-
36. A network processor comprising:
-
a computer system;
an adaptable hardware device having an information input wherein the adaptable hardware device provides configurable logic;
an input/output module coupled to the information input of the adaptable hardware device such that the input/output module is adapted to provide to the information input a data stream having a protocol format wherein the adaptable hardware device can be configured to provide the data stream to the configurable logic;
a bus coupling the adaptable hardware device to the computer system wherein the computer system is adapted to communicate with the adaptable hardware device using the bus, wherein the computer system is adapted to determine the protocol format of the data stream without manual input that identifies the protocol format of the data stream, wherein the computer system is adapted to configure the configurable logic into a processing configuration and wherein the configurable logic in the processing configuration is adapted to process the data stream having the protocol format;
a plurality of configuration files that the computer system can use to provide a plurality of hardware configurations of the adaptable hardware device.
-
Specification