Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
 

Weight Loss Tips Healthy Breakfast Recipes
Category:
Health / Fitness  

What are mutual funds
Category:
Finance / Investment  

Dining Out 101
Category:
Sports  

Nokia powers Vodafones HSDPA service in Australia
Category:
Marketing  

Privacy And Your Russian Wife
Category:
Travel  

Eating Out and Loosing Weight
Category:
Health / Fitness  

Is Adsense for every affiliate marketer
Category:
Marketing  

Would You Like To Timeshare
Category:
Travel  

Bad Debt Loans Sub prime Debt Consolidation Loans
Category:
Finance / Investment  

Pay Per Click PPC Marketing For Beginners
Category:
Marketing  

For Managers—Best Practices
Category:
Business  

10 More Steps to Internet Success
Category:
Marketing  

It All Starts With Good Nutrition
Category:
Health / Fitness  

Multiple orgasms
Category:
Health / Fitness  

21 Reasons for exporting a used car from Japan
Category:
Cars And Trucks  

FOREX or Futures Where to Trade
Category:
Finance / Investment  

Breakfast for good healthy
Category:
Health / Fitness  

Caribbean Cruises Paradise Awaits Part Two
Category:
Travel  

Your Golf Score is determined by Feel
Category:
Sports  

Dish Network DVR s and What You Should Know
Category:
Computers  

Students Better Learning Ability Can Be Just a Breath Away
Category:
Education  

How autoresponder can be benefited from this course
Category:
Marketing  

Who Took Your Million Dollar Job
Category:
Education  

Diagnosis and Treatments for Irritable Bowel Syndrome
Category:
Health / Fitness  

Who Else Is Looking to Attract and Retain Hispanic Customers and...
Category:
Business  

Has The Time come For A Work From Home Career
Category:
Business  

Vegetable Gardening
Category:
Hobbies / Pastimes  

The History of London Bridge
Category:
Education  

Why Take Green Tea Concentrate
Category:
Health / Fitness  

Top Electrician Jobs
Category:
Home And Family  

What Was Albert Einstein Thinking
Category:
Self Help  

The Connection Between Best Acne Treatments and Technology
Category:
Health / Fitness  

Military loans
Category:
Finance / Investment  

The Importance of a Trading Plan
Category:
Finance / Investment  

China Auto Industry Running Fast
Category:
Cars And Trucks  

Hi Make Easy Money
Category:
Business  

Learning on the Net Online College Classes
Category:
Education  

Jazz Wedding Music Perfect for Every Wedding Day Event
Category:
Home And Family  

Screen Prospective Tenants Thoroughly Finding the Right Tenant
Category:
Real Estate  

Click fraud
Category:
Marketing  

Pigeon Forge Hotels
Category:
Travel  

Barry Michaels Radio is My Life
Category:
Entertainment / Television  

Liquor Control System The Wireless World of Liquor
Category:
Marketing  

Organize Your Closets
Category:
Business  

Employ Bridging Loans for short term financial gaps
Category:
Finance / Investment  

A quick guide to remortgage
Category:
Finance / Investment  

Work from Home Careers
Category:
Business  

Remove Unwanted Hair
Category:
Health / Fitness  

High Blood Pressure Information
Category:
Health / Fitness  

Credit Card Suggestions For Bad Credit
Category:
Finance / Investment  

Night in Satun Adventures in Southern Thailand
Category:
Travel  

Tenant Loans Loan option when you are not a homeowner
Category:
Finance / Investment  

A Guide to Cozumel Hotels
Category:
Travel  

My Prized Piece of Baseball Memorabilia
Category:
Sports  

3 ways to create wealth on the Internet
Category:
Business  

Rome restaurants
Category:
Travel  

Buyers Guide For Copper MailBoxes
Category:
Home And Family  

Can You Negotiate with Your Credit Card Company
Category:
Finance / Investment  

Clothes Line Covers Transform Gardens into Entertaining Heavens
Category:
Home And Family  

Homemade Baby Gifts and Instructions Ideas
Category:
Home And Family  

How GPS Works
Category:
Business  

5 Preschool Activities For Grandparents Day
Category:
Education  

How to Make Money Online With Only Writing Articles
Category:
Marketing  

Insurance Costs and how to reduce them
Category:
Business  

Dog Training Part I
Category:
Pets  

Credit Card Introductory Rates Can Bite You
Category:
Finance / Investment  

10 Ways To Profit Online Marketing
Category:
Marketing  

How is an online MBA program beneficial
Category:
Education  

How Tenebril GhostSurf Works
Category:
Computers  

Selecting Furniture for a Play Room
Category:
Home And Family  

Tired of the Cold Weather Get a Cruise Ship Job This Winter
Category:
Travel  

Affiliate Marketing Does it Really Pay
Category:
Marketing  

Dog Aggression Children and Their Pets
Category:
Pets  

How To Play Casino Roulette
Category:
Hobbies / Pastimes  

Keeping Your Website Simple is most effective
Category:
Computers

TCP/IP offload device with reduced sequential processing Number:6,996,070 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: TCP/IP offload device with reduced sequential processing

Abstract: A TCP Offload Engine (TOE) device includes a state machine that performs TCP/IP protocol processing operations in parallel. In a first aspect, the state machine includes a first memory, a second memory, and combinatorial logic. The first memory stores and simultaneously outputs multiple TCP state variables. The second memory stores and simultaneously outputs multiple header values. In contrast to a sequential processor technique, the combinatorial logic generates a flush detect signal from the TCP state variables and header values without performing sequential processor instructions or sequential memory accesses. In a second aspect, a TOE includes a state machine that performs an update of multiple TCP state variables in a TCB buffer all simultaneously, thereby avoiding multiple sequential writes to the TCB buffer memory. In a third aspect, a TOE involves a state machine that sets up a DMA move in a single state machine clock cycle.

Patent Number: 6,996,070 Issued on 02/07/2006 to Starr,   et al.


Inventors: Starr; Daryl D. (Milpitas, CA); Philbrick; Clive M. (San Jose, CA)
Assignee: Alacritech, Inc. (San Jose, CA)
Appl. No.: 729111
Filed: December 5, 2003

Current U.S. Class: 370/252; 714/15; 714/21
Current Intern'l Class: G01R 31/08    (20060101)
Field of Search: 709/231,250 710/30 370/252 714/15,21


References Cited [Referenced By]

U.S. Patent Documents
4366538Dec., 1982Johnson et al.
4589063May., 1986Shah et al.
4991133Feb., 1991Davis et al.
5056058Oct., 1991Hirata et al.
5058110Oct., 1991Beach et al.
5097442Mar., 1992Ward et al.
5163131Nov., 1992Row et al.
5212778May., 1993Dally et al.
5280477Jan., 1994Trapp.
5289580Feb., 1994Latif et al.
5303344Apr., 1994Yokoyama et al.
5412782May., 1995Hausman et al.
5448566Sep., 1995Richter et al.
5485579Jan., 1996Hitz et al.
5506966Apr., 1996Ban.
5511169Apr., 1996Suda.
5524250Jun., 1996Chesson et al.
5548730Aug., 1996Young et al.
5566170Oct., 1996Bakke et al.
5588121Dec., 1996Reddin et al.
5590328Dec., 1996Seno et al.
5592622Jan., 1997Isfeld et al.
5598410Jan., 1997Stone.
5619650Apr., 1997Bach et al.
5629933May., 1997Delp et al.
5634099May., 1997Andrews et al.
5634127May., 1997Cloud et al.
5642482Jun., 1997Pardillos.
5664114Sep., 1997Krech, Jr. et al.
5671355Sep., 1997Collins.
5678060Oct., 1997Yokoyama et al.
5692130Nov., 1997Shobu et al.
5699317Dec., 1997Sartore et al.
5701434Dec., 1997Nakagawa.
5701516Dec., 1997Cheng et al.
5727142Mar., 1998Chen.
5749095May., 1998Hagersten.
5751715May., 1998Chan et al.
5752078May., 1998Delp et al.
5758084May., 1998Silverstein et al.
5758089May., 1998Gentry et al.
5758186May., 1998Hamilton et al.
5758194May., 1998Kuzma.
5771349Jun., 1998Picazo, Jr. et al.
5778013Jul., 1998Jedwab.
5790804Aug., 1998Osborne.
5794061Aug., 1998Hansen et al.
5802258Sep., 1998Chen.
5802580Sep., 1998McAlpice.
5809328Sep., 1998Nogales et al.
5812775Sep., 1998Van Seters et al.
5815646Sep., 1998Purcell et al.
5878225Mar., 1999Bilansky et al.
5898713Apr., 1999Melzer et al.
5913028Jun., 1999Wang et al.
5930830Jul., 1999Mendelson et al.
5931918Aug., 1999Row et al.
5935205Aug., 1999Murayama et al.
5937169Aug., 1999Connery et al.
5941969Aug., 1999Ram et al.
5941972Aug., 1999Hoese et al.
5950203Sep., 1999Stakuis et al.
5970804Oct., 1999Robbat, Jr.
5991299Nov., 1999Radogna et al.
5996024Nov., 1999Blumenau.
6005849Dec., 1999Roach et al.
6009478Dec., 1999Panner et al.
6016513Jan., 2000Lowe.
6021446Feb., 2000Gentry et al.
6021507Feb., 2000Chen.
6026452Feb., 2000Pitts.
6034963Mar., 2000Minami et al.
6038562Mar., 2000Anjur et al.
6044438Mar., 2000Olnowich.
6047323Apr., 2000Krause.
6047356Apr., 2000Anderson et al.
6057863May., 2000Olarig.
6061368May., 2000Hitzelberger.
6065096May., 2000Day et al.
6070200May., 2000Gates et al.
6101555Aug., 2000Goshey et al.
6141705Oct., 2000Anand et al.
6145017Nov., 2000Ghaffari.
6157955Dec., 2000Narad et al.
6172980Jan., 2001Flanders et al.
6173333Jan., 2001Jolitz et al.
6202105Mar., 2001Gates et al.
6226680May., 2001Boucher et al.
6246683Jun., 2001Connery et al.
6247060Jun., 2001Boucher et al.
6279051Aug., 2001Gates et al.
6298403Oct., 2001Suri et al.
6334153Dec., 2001Boucher et al.
6345301Feb., 2002Burns et al.
6356951Mar., 2002Gentry, Jr.
6389468May., 2002Muller et al.
6389479May., 2002Boucher.
6421742Jul., 2002Tillier.
6427169Jul., 2002Elzur.
6434651Aug., 2002Gentry, Jr.
6449656Sep., 2002Elzur et al.
6453360Sep., 2002Muller et al.
6480489Nov., 2002Muller et al.
6526446Feb., 2003Yang et al.
2001/0004354Jun., 2001Jolitz.
2001/0013059Aug., 2001Dawson et al.
2001/0014892Aug., 2001Gaither et al.
2001/0014954Aug., 2001Purcell et al.
2001/0025315Sep., 2001Jolitz.
2001/0048681Dec., 2001Bilic et al.
2001/0053148Dec., 2001Bilic et al.
2003/0066011Apr., 2003Oren.
2003/0165160Sep., 2003Minami et al.
2004/0042464Mar., 2004Elzur et al.
2004/0125751Jul., 2004Vangal et al.
2004/0193733Sep., 2004Vangal et al.
2004/0249998Dec., 2004Rajagopalan et al.
Foreign Patent Documents
WO 98/5085/2Nov., 1998WO.
WO 99/0434/3Jan., 1999WO.
WO 99/6521/9Dec., 1999WO.
WO 00-1309/1Mar., 2000WO.
WO 01/0477/0Jan., 2001WO.
WO 01/0510/7Jan., 2001WO.
WO 01/0511/6Jan., 2001WO.
WO 01/0512/3Jan., 2001WO.
WO 01/4096/0Jun., 2001WO.


Other References

EE Times article entitled "Ethernet Interconnect Outpacing Infiniband At Intel", by Rick Merritt, 3 pages, Sep. 12, 2002.
Internet pages entitled "Hardware Assisted Protocol Processing", (which Eugene Feinber is working on), 1 page, printed Nov. 25, 1998.
Zilog product Brief entitled "Z85C30 CMOS SCC Serial Communication Controller", Zilog Inc., 3 pages, 1997.
Internet pages of Xpoint Technologies, Inc. entitled "Smart LAN Work Requests", 5 pages, printed Dec. 19, 1997.
Internet pages entitled: Asante and 100 BASE-T Fast Ethernet. 7 pages, printed May 27, 1997.
Internet pages entitled: A Guide to the Paragon XP/S-A7 Supercomputer at Indiana University. 13 pages, printed Dec. 21, 1998.
Richard Stevens, "TCP/IP Illustrated, vol. 1, The Protocols", pp. 325-326 (1994).
Internet pages entitled: Northridge/Southbridge vs. Intel Hub Architecture, 4 pages, printed Feb. 19, 2001.
Gigabit Ethernet Technical Brief, Achieving End-to-End Performance. Alteon Networks, Inc., First Edition, Sep. 1996, 15 pages.
Internet pages directed to Technical Brief on Alteon Ethernet Gigabit NIC technology, www.alteon.com, 14 pages, printed Mar. 15, 1997.
VIA Technologies, Inc. article entitled "VT8501 Apollo MVP4", pp. i-iv, 1-11, cover and copyright page, revision 1.3, Feb. 1, 2000.
iReady News Archives article entitled "iReady Rounding Out Management Team with Two Key Executives", http://www.ireadyco.com/archives/keyexec.html, 2 pages, printed Nov. 28, 1998.
"Toshiba Delivers First Chips to Make Consumer Devices Internet-Ready Based On iReady's Design," Press Release Oct., 1998, 3 pages, printed Nov. 28, 1998.
Internet pages from iReady Products, web sitehttp://www.ireadyco.com/products,html, 2 pages, downloaded Nov. 25, 1998.
iReady News Archives, Toshiba, iReady shipping internet chip, 1 page, printed Nov. 25, 1998.
Interprophet article entitled "Technology", http://www.interprophet.com/technology.html, 17 pages, printed Mar. 1, 2000.
iReady Corporation, article entitled "The I-1000 Internet Tuner", 2 pages, date unknown.
iReady article entitled "About Us Introduction", Internet pages fromhttp://www.iReadyco.com/about.html, 3 pages, printed Nov. 25, 1998.
iReady News Archive article entitled "Revolutionary Approach to Consumer Electronics Internet Connectivity Funded", San Jose, CA, Nov. 20, 1997, 2 pages, printed Nov. 2, 1998.
iReady News Archive article entitled "Seiko Instruments Inc. (SII) Introduces World's First Internet-Ready Intelligent LCD Modules Based on iReady Technology," Santa Clara, CA and Chiba, Japan, Oct. 26, 1998. 2 pages, printed Nov. 2, 1998.
NEWSwatch Article entitled "iReady internet Tuner to Web Enable Devices", Tuesday, Nov. 5, 1996, printed Nov. 2, 1998, 2 pages.
EETimes article entitled "Tuner for Toshiba, Toshiba Taps iReady for Internet Tuner", by David Lammers, 2 pages, printed Nov. 2, 1998.
"Comparison of Novell Netware and TCP/IP Protocol Architectures", by J.S. Carbone, 19 pages, printed Apr. 10, 1998.
Adaptec article entitled "AEA-7100C-a DuraSAN product", 11 pages, printed Oct. 1, 2001.
iSCSI HBA article entitled "iSCSI and 2Gigabit fibre Channel Host Bus Adapters from Emulex, QLogic, Adaptec, JNI", 8 pages, printed Oct. 1, 2001.
iSCSI HBA article entitled "FCE-3210/6410 32 and 64-bit PCI-to-Fibre Channel HBA", 6 pages, printed Oct. 1, 2001.
ISCSI.com article entitled "iSCSI Storage", 2 pages, printed Oct. 1, 2001.
"Two-Way TCP Traffic Over Rate Controlled Channels: Effects and Analysis", by Kalampoukas et al., IEEE Transactions on Networking, vol. 6, No. 6, Dec. 1998, 17 pages.
JReady News article entitled "Toshiba Delivers First Chips to Make Consumer Devices Internet-Ready Based on iReady Design", Santa Clara, CA, and Tokyo, Japan, Oct. 14, 1998, printed Nov. 2, 1998, 3 pages.
Internet pages of InterProphet entitled "Frequently Asked Questions", by Lynne Jolitz, printed Jun. 14, 2000, 4 pages.
"File System Design For An NFS File Server Appliance", Article by D. Hitz, et al., 13 pages.
Adaptec Press Release article entitled "Adaptec Announces EtherStorage Technology", 2 pages, May 4, 2000, printed Jun. 14, 2000.
Adaptec article entitled "EtherStorage Frequently Asked Questions", 5 pages, printed Jul. 19, 2000.
Adaptec article entitled "EtherStorage White Paper", 7 pages, printed Jul. 19, 2000.
CIBC World Markets article entitled "Computers; Storage", by J. Berlino et al., 9 pages, dated Aug. 7, 2000.
Merrill Lynch article entitled "Storage Futures", by S. Milunovich, 22 pages, dated May 10, 2000.
CBS Market Watch article entitled "Montreal Start-Up Battles Data Storage Bottleneck", by S. Taylor, dated Mar. 5, 2000, 2 pages, printed Mar. 7, 2000.
Internet-draft article entitled "SCSI/TCP (SCSI over TCP)", by J. Satran et al., 38 pages, dated Feb. 2000, printed May 19, 2000.
Internet pages entitled Technical White Paper-Xpoint's Disk to LAN Acceleration Solution for Windows NT Server, printed Jun. 5, 1997, 15 pages.
Jato Technologies article entitled Network Accelerator Chip Architecture, twelve-slide presentation, printed Aug. 19, 1998, 13 pages.
EETimes article entitled Enterprise System Uses Flexible Spec, dated Aug. 10, 1998, printed Nov. 25, 1998, 3 pages.
Internet pages entitled "Smart Ethernet Network Interface Cards", which Berend Ozceri is developing, printed Nov. 25, 1998.
Internet pages of Xaqti corporation entitled "GigaPower Protocol Processor Product Review," printed Nov. 25, 1999, 4 pages.
Internet pages entitled "DART: Fast Application Level Networking via Data-Copy Avoidance," by Robert J. Walsh, printed Jun. 3, 1999, 25 pages.
Schwaderer et al., IEEE Computer Society Press publication entitled "XTP in VLSI Protocol Decomposition for ASIC Implementation", from 15th Conference on Local Computer Networks, 5 pages, Sep. 30-Oct. 3, 1990.
Beach, Bob, IEEE Computer Society Press publication entitled, "UltraNet: An Architecture for Gigabit Networking", from 15th Conference on Local Computer Networks, 18 pages, Sep. 30-Oct. 3, 1990.
Chesson et al., IEEE Symposium Record entitled, "The Protocol Engine Chipset", from Hot Chips III, 16 pages, Aug. 26-27, 1991.
Maclean et al., IEEE Global Telecommunications Conference, Globecom '91, presentation entitled "An Outboard Processor for High Performance Implementation of Transport Layer Protocols", 7 pages, Dec. 2-5, 1991.
Ross et al., IEEE article entitled "FX1000: A high performance single chip Gigabit Ethernet NIC", from Compcon '97 Proceedings, 7 pages, Feb. 23-26, 1997.
Strayer et al., "Ch. 9: The Protocol Engine" from XTP: The Transfer Protocol, 12 pages, Jul. 1992.
Publication entitled "Protocol Engine Handbook", 44 pages, Oct. 1990.
Koufopavlou et al., IEEE Global Telecommunications Conference, Globecom '92, presentation entitled, "Parallel TCP for High Performance Communication Subsystems", 7 pages, Dec. 6-9, 1992.
Lillienkamp et al., Publication entitled "Proposed Host-Front End Protocol", 56 pages, Dec. 1984.

Primary Examiner: Phunkulh; Bob
Assistant Examiner: Wilson; Robert W.
Attorney, Agent or Firm: Silicon Edge Law Group, LLP, Lauer; Mark A., Wallace; T. Lester

Claims



What is claimed is:

1. A TCP offload engine (TOE) capable of offloading, from a host, TCP protocol processing tasks that are associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

combinatorial logic that receives said at least two TCP state values and said at least two packet header values and generates therefrom a flush detect signal indicative of whether an error condition has occurred, the two TCP state values and the two packet header values all being supplied to the combinatorial logic simultaneously.

2. A TCP offload engine (TOE) capable of offloading, from a host, TCP protocol processing tasks that are associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

combinatorial logic that receives said at least two TCP state values and said at least two packet header values and generates therefrom a flush detect signal indicative of whether an error condition has occurred, the two TCP state values and the two packet header values all being supplied to the combinatorial logic simultaneously, wherein the TOE transfers the receive packet sequence limit, the expected receive packet sequence number, the transmit sequence limit, the transmit acknowledge number, and the transmit sequence number to the host if the flush detect signal is indicative of the error condition.

3. The TOE of claim 2, wherein the combinatorial logic is part of a state machine, the state machine being clocked by a clock signal, wherein the combinatorial logic generates said flush detect signal from said at least two TCP state values and said at least two packet header values within approximately one period of the clock signal.

4. The TOE of claim 3, wherein the state machine does not fetch instructions, decode the instructions, and execute the instructions.

5. The TOE of claim 4, wherein the state machine causes the expected packet receive sequence number and the receive packet sequence limit values in the first memory to be updated in a single period of the clock signal.

6. The TOE of claim 2, wherein the TCP connection was set up by a stack executing on the host, and wherein control of the TCP connection was then passed from the host to the TOE.

7. A TCP offload engine (TOE) capable of offloading, from a host, TCP protocol processing tasks that are associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

combinatorial logic that receives said at least two TCP state values and said at least two packet header values and generates therefrom a flush detect signal indicative of whether an error condition has occurred, the two TCP state values and the two packet header values all being supplied to the combinatorial logic simultaneously, wherein the TOE can control a plurality of TCP connections, each of said TCP connections being associated with a TCB identifier, and wherein the first memory comprises a plurality of transaction control blocks (TCB), wherein the first memory can be addressed by a TCB identifier to access a TCB that contains TCP state information for a TCP connection associated with the TCB identifier.

8. The TOE of claim 7, wherein more than two values of the group of TCP state values are supplied simultaneously to the combinatorial logic, and wherein more than two values of the group of TCP state values are used to generate the flush detect signal.

9. The TOE of claim 7, wherein more than two values of the group of packet header values are supplied simultaneously to the combinatorial logic, and wherein more than two values of the group of packet header values are used to generate the flush detect signal.

10. A TCP offload engine (TOE) capable of offloading, from a host, TCP protocol processing tasks that are associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive racket sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

combinatorial logic that receives said at least two TCP state values and said at least two packet header values and generates therefrom a flush detect signal indicative of whether an error condition has occurred, the two TCP state values and the two packet header values all being supplied to the combinatorial logic simultaneously, wherein the combinatorial logic is part of a state machine, the state machine being clocked by a clock signal, wherein the combinatorial logic generates said flush detect signal from said at least two TCP state values and said at least two packet header values within approximately one period of the clock signal, wherein the state machine does not fetch instructions, decode the instructions, and execute the instructions, and

wherein a packet having a payload is received onto the TOE, the TOE further comprising:

a DMA controller that moves the payload from the TOE to the host using a source address value, a size value indicating an amount of information to move, and a destination address value, wherein the state machine causes the source address value, the size value, and the destination address value to be supplied to the DMA controller in a single state of the state machine.

11. A TCP offload engine (TOE) capable of offloading TCP protocol processing tasks from a host, the TCP protocol processing tasks being associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

a hardware state machine that receives said at least two TCP state values and said at least two packet header values and generates therefrom a signal indicative of whether an exception condition has occurred, the two TCP state values and the two packet header values all being supplied to the hardware state machine simultaneously, wherein the hardware state machine is clocked by a clock signal, wherein the hardware state machine generates said signal from said at least two TCP state values and said at least two packet header values within approximately one period of the clock signal.

12. A TCP offload engine (TOE) capable of offloading TCP protocol processing tasks from a host, the TCP protocol processing tasks being associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

a hardware state machine that receives said at least two TCP state values and said at least two packet header values and generates therefrom a signal indicative of whether an exception condition has occurred, the two TCP state values and the two packet header values all being supplied to the hardware state machine simultaneously, wherein the hardware state machine is clocked by a clock signal, wherein the hardware state machine generates said signal from said at least two TCP state values and said at least two packet header values within approximately one period of the clock signal, wherein the hardware state machine causes the expected packet receive sequence number and the receive packet sequence limit values in the first memory to be updated in a single period of the clock signal.

13. The TOE of claim 12, wherein the expected packet receive sequence number and the receive packet sequence limit values are updated by simultaneously writing the expected packet receive sequence number value and the receive packet sequence limit value into the first memory.

14. The TOE of claim 12, wherein the exception condition is a condition which results in control of the TCP connection being passed from the TOE to the host.

15. A TCP offload engine (TOE) capable of offloading TCP protocol processing tasks from a host, the TCP protocol processing tasks being associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

a hardware state machine that receives said at least two TCP state values and said at least two packet header values and generates therefrom a signal indicative of whether an exception condition has occurred, the two TCP state values and the two packet header values all being supplied to the hardware state machine simultaneously, wherein the hardware state machine is clocked by a clock signal, wherein the hardware state machine generates said signal from said at least two TCP state values and said at least two packet header values within approximately one period of the clock signal, wherein the first memory is a dual-port memory that has a first interface and a second interface, the hardware state machine reading from and writing to the first memory via the first interface, and wherein information passes from the host and into the first memory via the second interface.

16. The TOE of claim 15, wherein the first memory comprises a plurality of TCB buffers, wherein one of the TCB buffers is associated with the TCP connection, and wherein a memory descriptor list entry associated with said TCP connection is stored in said TCB buffer associated with said TCP connection.

17. A TCP offload engine (TOE) capable of offloading TCP protocol processing tasks from a host, the TCP protocol processing tasks being associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value;

a hardware state machine that receives said at least two TCP state values and said at least two packet header values and generates therefrom a signal indicative of whether an exception condition has occurred, the two TCP state values and the two packet header values all being supplied to the hardware state machine simultaneously, wherein the hardware state machine is clocked by a clock signal, wherein the hardware state machine generates said signal from said at least two TCP state values and said at least two packet header values within approximately one period of the clock signal; and

a third memory that stores a plurality of socket descriptors, wherein one of the socket descriptors is associated with the TCP connection.

18. A TCP offload engine (TOE) capable of offloading TCP protocol processing tasks from a host, the TCP protocol processing tasks being associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value;

a hardware state machine that receives said at least two TCP state values and said at least two packet header values and generates therefrom a signal indicative of whether an exception condition has occurred, the two TCP state values and the two packet header values all being supplied to the hardware state machine simultaneously, wherein the hardware state machine is clocked by a clock signal, wherein the hardware state machine generates said signal from said at least two TCP state values and said at least two packet header values within approximately one period of the clock signal, wherein the second memory outputs a parse value along with said at least two packet header values, said parse value being indicative of whether the transport and network layer protocols of an associated packet are the TCP and IP protocols.

19. A TCP offload engine (TOE) capable of performing TCP protocol processing tasks, the TCP protocol processing tasks being associated with a TCP connection, the TOE comprising:

a first memory that stores and simultaneously outputs at least two TCP state values associated with the TCP connection, wherein the at least two TCP state values are taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number;

a second memory that stores and simultaneously outputs at least two packet header values of a packet communicated over the TCP connection, wherein the at least two packet header values are taken from the group consisting of: a receive packet sequence number, a packet payload size, a packet acknowledge number, and a packet transmit window value; and

a state machine that includes an amount of combinatorial logic, wherein the combinatorial logic receives said at least two TCP state values and said at least two packet header values and generates therefrom a signal indicative of whether an exception condition has occurred, the two TCP state values and the two packet header values all being supplied to the combinatorial logic simultaneously, and wherein the state machine causes the expected packet receive sequence number value and the receive packet sequence limit value in the first memory to be updated simultaneously.

20. The TOE of claim 19, wherein the TOE is capable of offloading the protocol processing tasks from a host processor, wherein the host processor performs exception protocol processing associated with the TCP connection if the exception condition has occurred.

21. The TOE of claim 20, wherein the first memory, the second memory and the state machine are all parts of a single integrated circuit.

22. The TOE of claim 21,

wherein the first memory simultaneously outputs at least three TCP state values taken from the group consisting of: a receive packet sequence limit, an expected receive packet sequence number, a transmit sequence limit, a transmit acknowledge number, and a transmit sequence number,

wherein the second memory simultaneously outputs at least three packet header values taken from the group consisting of: a rece


Free Web Sudoku Puzzles.
Solve with your browser.
  5 6   1        
  9     8        
      9     3    
  4   1       7 9
  3   2   8   4  
7 8       4   3  
    1     5      
        6     9  
        2   7 8  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!