The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Jun. 23, 2009
Filed:
Feb. 08, 2005
Will Eatherton, San Jose, CA (US);
Earl T. Cohen, Fremont, CA (US);
John Andrew Fingerhut, Mission Viejo, CA (US);
Donald E. Steiss, Richardson, TX (US);
John Williams, Pleasanton, CA (US);
Will Eatherton, San Jose, CA (US);
Earl T. Cohen, Fremont, CA (US);
John Andrew Fingerhut, Mission Viejo, CA (US);
Donald E. Steiss, Richardson, TX (US);
John Williams, Pleasanton, CA (US);
Cisco Technology, Inc., San Jose, CA (US);
Abstract
A network processor has numerous novel features including a multi-threaded processor array, a multi-pass processing model, and Global Packet Memory (GPM) with hardware managed packet storage. These unique features allow the network processor to perform high-touch packet processing at high data rates. The packet processor can also be coded using a stack-based high-level programming language, such as C or C++. This allows quicker and higher quality porting of software features into the network processor. Processor performance also does not severely drop off when additional processing features are added. For example, packets can be more intelligently processed by assigning processing elements to different bounded duration arrival processing tasks and variable duration main processing tasks. A recirculation path moves packets between the different arrival and main processing tasks. Other novel hardware features include a hardware architecture that efficiently intermixes co-processor operations with multi-threaded processing operations and improved cache affinity.