Method and apparatus for multithreading

Electronic digital logic circuitry – Multifunctional or programmable – Having details of setting or programming of interconnections...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C326S037000, C326S046000

Reexamination Certificate

active

06794896

ABSTRACT:

FIELD OF THE INVENTION
One or more aspects of the invention relate generally to programmable logic devices and, more particularly, to packet processing for routing using multithreading.
BACKGROUND OF THE INVENTION
Programmable logic devices (PLDs) exist as a well-known type of integrated circuit (IC) that may be programmed by a user to perform specified logic functions. There are different types of programmable logic devices, such as programmable logic arrays (PLAs) and complex programmable logic devices (CPLDs). One type of programmable logic device is called a field programmable gate array (FPGA).
An FPGA conventionally includes an array of configurable logic blocks (CLBs) surrounded by a ring of programmable input/output blocks (IOBs). The CLBs and IOBs are interconnected by a programmable interconnect structure. The CLBs, IOBs, and interconnect structure are conventionally programmed by loading a stream of configuration data (bit stream) into internal configuration memory cells that define how the CLBs, IOBs, and interconnect structure are configured. Additionally, an FPGA may include: embedded memory, such as block random access memories (BRAMs); one or more microprocessors, sometimes referred to as embedded cores; digital clock managers (DCMs); and low voltage differential signaling (LVDS) input/output (I/O) interfaces.
The combination of components on an FPGA may be used for system-level integration, sometimes referred to as “system-on-a-chip” (SoC). Accordingly, system-level integration with FPGAs is desirable for flexibility and efficiency.
SUMMARY OF THE INVENTION
An aspect of the invention is a method for multithread processing of a packet, comprising: initiating a packet recognition thread responsive to receiving the packet to a port; triggering a media access control (“MAC”) recognition thread responsive to the packet recognition thread; activating a network protocol recognition thread responsive to the MAC recognition thread; initiating an address lookup thread responsive to the network protocol recognition thread; and initiating a MAC write thread responsive to the network protocol recognition thread. The MAC recognition thread, the network protocol thread, the address lookup thread and the MAC write thread all may complete their respective executions prior to completion of the packet recognition thread.
An aspect of the invention is a method for multithread processing of a packet, comprising: initiating a packet recognition thread responsive to receiving the packet to a port; broadcasting an incoming data stream of the packet to ports other than the port; activating a media access control (“MAC”) recognition thread responsive to the packet recognition thread; initiating a packet encapsulation thread responsive to the MAC recognition thread; triggering a network protocol recognition thread responsive to the MAC recognition thread; determining whether or not encapsulation is to be done responsive to the network protocol recognition thread; deactivating the packet encapsulation thread responsive to the network protocol recognition thread should it be determined that encapsulation is not to be done; starting an address lookup thread responsive to the network protocol recognition thread; and starting a MAC write thread responsive to the network protocol recognition thread. The MAC recognition thread, the network protocol thread, the address lookup thread and the MAC write thread all may be completely executed prior to completion of the packet recognition thread.


REFERENCES:
patent: 6633865 (2003-10-01), Liao
patent: 6661794 (2003-12-01), Wolrich et al.
http://www-cad.eecs.berkeley.edu/Respep/Research/hsc/; downloaded Apr. 18, 2003; pp. 1-6.
N. Bergmann et al.; “Reconfigurable Computing and Reactive Systems”; Proceedings of the 7th Australasian Conference on Parallel and Real-Time Systems; Springer; Nov. 29-30, 2000; pp. 171-180.
F. Braun et al.; “Reconfigurable Router Modules Using Network Protocol Wrappers”; 11th International Conference on Field Programmable Logic and Applications; Springer LNCS 2147; Aug. 27-29, 2001; pp. 254-263.
G. Brebner; “A Virtual Hardware Operating System for the Xilinx XC6200”; 6th International Workshop on Field Programmable Logic and Applications; Springer LNCS 1142; Sep. 23-25, 1996; pp. 327-336.
G. Brebner et al.; “Chip-Based Reconfigurable Task Management”; 11th International Conference on Field Programmable Logic and Applications; Springer LNCS 2147; Aug. 27-29, 2001; pp. 182-191.
G. Brebner, “Single-Chip Gigabit Mixed-Version IP Router on Virtex-II Pro”; IEEE Symposium on FPGAs Custom Computing Machines; IEEE Computer Society Press; Apr. 22-24, 2002; pp. 35-44.
J. Burns et al.; “A Dynamic Reconfiguration Run-Time System”; Proc. 5th Annual IEEE Symposium on FPGAs Custom Computing Machines; IEEE; Apr. 16-18, 1997; pp. 66-75.
O. Diessel et al.; “Run-Time Compaction of FPGA Designs”; 7th International Workshop on Field Programmable Logic and Applications; Springer LNCS 1304; Sep. 1-3, 1997; pp. 131-140.
H. ElGindy et al.; “Task Rearrangement on Partially Reconfigurable FPGAs with Restricted Buffer”; 10th International Workshop on Field Programmable Logic and Applications; Springer LNCS 1896; Aug. 27-28, 2000; pp. 379-388.
H. Fallside et al.; “Internet Connected FPL”; 10th International Workshop on Field Programmable Logic and Applications; Springer LNCS 1896; Aug. 27-30, 2000; pp. 48-57.
D. Harel; “Statecharts: A Visual Formalism for Complex Systems”; Science of Computer Programming; Jun. 8, 1987; pp. 231-274; downloaded from; http://www.wisdom.weizmann.ac.iL/~dharel/SCANNED.PAPERS/Statecharts.pdf.
A. Silberschattz et al.; “Applied Operating System Concepts”; 1st Edition; New York; published by John Wiley & Sons; Copyright 2000; Chapter 5: Threads; pp. 116-117.
G. Brebner; “Multithreading for Logic-Centric Systems”; 12th International Conference on Field Programmable Logic and Applications; Montepellier, France; Sep. 2-4, 2002; Springer LNCS 2438; pp. 5-14.
R. Gilligan et al.; Internet Requests for Comments (RFC); RFC 2893 “Transition Mechanisms for IPv6 Hosts and Routers”; Aug. 2000; Accessible at http://www.rfc-editor.org/rfc.html.
A. Conta; Internet Requests for Comments (RFC); RFC 2473 “Generic Packet Tunneling in IPv6 Specification”; Dec. 19981 Accessible at http://www.rfc-editor.org/rfc.html.
G. Tsirtsis; Internet Requests for Comments (RFC); RFC 2766 “Network Address Translation—Protocol Translation (NAT-PT)”; Feb. 2000; Accessible at http://www.rfc-editor.org/rfc.html.
E. Nordmark; Internet Requests for Comments (RFC); RFC 2765 “Stateless IP/ICMP Translation Algorithm (SIIT)”; Feb. 2000; Accessible at http://www.rfc-editor.org/rfc.html.
R. Hinden et al.; Internet Requests for Comments (RFC); RFC 2374 “An Aggregatable Global Unicast Address Format”; Jul. 1998; Accessible at http://www.rfc-editor.org/rfc.html.
G. Brebner; “Highly Reconfigurable Communication Protocol Multiplexing Element for SCOPH”; Reconfigurable Technology, Proceedings of SPIE, 4525; Aug. 21-22, 2001; pp. 99-106.
J. Lockwood et al.; “Reprogrammable Network Packet Processing on the Field Programmable Extender (FPX)”; 9th International Symposium on Field Programmable Gate Arrays; ACM Press 2001; pp. 87-93.
J. Ditmar et al.; “A Dynamically Reconfigurable FPGA-Based Content Addressable Memory for Internet Protocol Characterization”; Proc. 10th International Conference on Field Programmable Logic and Applications; Springer LNCS 1896; Aug. 27-30, 2000; pp. 19-28.
S. Guccione et al.; “A Reconfigurable Content Addressable Memory”; Parallel and Distributed Processing; 15 IPDPS 2000 Workshop; Springer LNCS 1800; May 1-5, 2000; pp. 882-889.
G. Brebner et al.; “Runtime Reconfigurable Routing”; Proc. 12th International Parallel Processing Symposium and 9th Symposium Parallel and Distributed Process; Springer LNCS 1388; Mar. 30-Apr. 3, 1998; pp. 25-30.
D. Comer; Chapter 22 The Future IP (IPv6) ofComputer Networks and Internets;(3rd Edition); Prentice-Hall; 2001; pp. 338-349.
A. Dollas et al.; “Architecture and Applications of PLATO; . . . ”; Proc. 9th IEEE Symposium on Fi

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for multithreading does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for multithreading, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for multithreading will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3257708

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.