throbber
111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US007673072B2
`
`(12) United States Patent
`Boucher et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,673,072 B2
`Mar. 2,2010
`
`(54) FAST-PATH APPARATUS FOR
`TRANSMITTING DATA CORRESPONDING
`TO A TCP CONNECTION
`
`(75)
`
`Inventors: Laurence B. Boucher, Saratoga, CA
`(US); Stephen E. J. Blightman, San
`Jose, CA (US); Peter K. Craft, San
`Francisco, CA (US); David A. Higgen,
`Saratoga, CA (US); Clive M. Philbrick,
`San Jose, CA (US); Daryl D. Starr,
`Milpitas, CA (US)
`
`(73) Assignee: Alacritech, Inc., San Jose, CA (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.c. 154(b) by 435 days.
`
`(21) Appl. No.: 11/821,820
`
`(22) Filed:
`
`Jun. 25, 2007
`
`(65)
`
`Prior Publication Data
`
`US 2008/0126553 Al
`
`May 29,2008
`
`(63)
`
`Related U.S. Application Data
`
`Continuation of application No. 10/260,112, filed on
`Sep. 27, 2002, now Pat. No. 7,237,036, which is a
`continuation of application No. 10/092,967, filed on
`Mar. 6, 2002, now Pat. No. 6,591,302, which is a
`continuation-in-part of application No. 10/023,240,
`filed on Dec. 17,2001, now Pat. No. 6,965,941, which
`is a continuation-in-part of application No. 09/464,
`283, filed on Dec. 15, 1999, now Pat. No. 6,427,173,
`which is a continuation-in-part of application No.
`09/439,603, filed on Nov. 12, 1999, now Pat. No.
`6,247,060, which is a continuation-in-part of applica(cid:173)
`tion No. 091067,544, filed on Apr. 27,1998, now Pat.
`No. 6,226,680, said application No. 10/260,112 is a
`continuation-in-part of application No. 09/384,792,
`filed on Aug. 27, 1999, now Pat. No. 6,434,620, which
`is a continuation-in-part of application No. 091141,
`713, filed on Aug. 28,1998, now Pat. No. 6,389,479,
`
`said application No. 10/260,112 is a continuation-in(cid:173)
`part of application No. 091970,124, filed on Oct. 2,
`2001, now Pat. No. 7,124,205, and a continuation-in(cid:173)
`part of application No. 09/855,979, filed on May 14,
`2001, now Pat. No. 7,133,940, and a continuation-in(cid:173)
`part of application No. 09/802,550, filed on Mar. 9,
`2001, now Pat. No. 6,658,480, and a continuation-in(cid:173)
`part of application No. 09/802,426, filed on Mar. 9,
`2001, now Pat. No. 7,042,898, and a continuation-in(cid:173)
`part of application No. 09/802,551, filed on Mar. 9,
`2001, now Pat. No. 7,076,568, and a continuation-in(cid:173)
`part of application No. 09/801,488, filed on Mar. 7,
`2001, now Pat. No. 6,687,758, and a continuation-in(cid:173)
`part of application No. 091789,366, filed on Feb. 20,
`2001, now Pat. No. 6,757,746, and a continuation-in(cid:173)
`part of application No. 09/675,700, filed on Sep. 29,
`2000, and a continuation-in-part of application No.
`09/675,484, filed on Sep. 29, 2000, now Pat. No.
`6,807,581, and a continuation-in-part of application
`No. 09/514,425, filed on Feb. 28, 2000, now Pat. No.
`6,427,171, and a continuation-in-part of application
`No. 09/416,925, filed on Oct. 13, 1999, now Pat. No.
`6,470,415.
`
`(60) Provisional application No. 601061,809, filed on Oct.
`14, 1997, provisional application No. 601098,296,
`filed on Aug. 27, 1998.
`
`(51)
`
`(52)
`
`(58)
`
`Int. Cl.
`G06F 15116
`(2006.01)
`U.S. Cl. ....................... 7091245; 709/230; 709/233;
`709/234; 709/232; 709/239; 370/235; 370/468;
`370/237; 370/230; 370/233
`Field of Classification Search ................. 709/245,
`709/230-234,239,250; 370/235,468,237,
`370/230, 233, 234
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,366,538 A
`4,485,455 A
`4,485,460 A
`4,589,063 A
`
`. ............ 364/200
`12/1982 Johnson et al.
`1111984 Boone et al. ................ 364/900
`1111984 Stambaugh ................. 365/203
`5/1986 Shah et al. ..................... 710/8
`
`50
`
`52
`
`46
`
`48
`
`UPPER
`LAYER
`UPPER LAYER
`INTERFACE
`
`TRANSPORT
`
`NETWORK
`
`DATA LINK
`
`\
`
`44
`
`56
`
`40
`
`38
`
`36
`
`30
`
`35
`
`58
`
`INTEL Ex.1001.001
`
`

`

`US 7,673,072 B2
`Page 2
`
`4,700,185 A
`4,991,133 A
`5,056,058 A
`5,058,110 A
`5,097,442 A
`5,163,131 A
`5,212,778 A
`5,280,477 A
`5,289,580 A
`5,303,344 A
`5,412,782 A
`5,418,912 A
`5,448,566 A
`5,485,579 A
`5,506,966 A
`5,511,169 A
`5,517,668 A
`5,524,250 A
`5,535,375 A
`5,548,730 A
`5,566,170 A
`5,574,919 A
`5,588,121 A
`5,590,328 A
`5,592,622 A
`5,598,410 A
`5,619,650 A
`5,629,933 A
`5,633,780 A
`5,634,099 A
`5,634,127 A
`5,642,482 A
`5,664,114 A
`5,671,355 A
`5,678,060 A
`5,682,534 A
`5,692,130 A
`5,699,317 A
`5,699,350 A
`5,701,434 A
`5,701,516 A
`5,727,142 A
`5,742,765 A
`5,749,095 A
`5,751,715 A
`5,752,078 A
`5,758,084 A
`5,758,089 A
`5,758,186 A
`5,758,194 A
`5,768,618 A
`5,771,349 A
`5,774,660 A
`5,778,013 A
`5,778,419 A
`5,790,804 A
`5,794,061 A
`5,802,258 A
`5,802,580 A
`5,809,328 A
`5,809,527 A
`5,812,775 A
`5,815,646 A
`5,828,835 A
`5,848,293 A
`5,852,721 A *
`5,872,919 A
`5,878,225 A
`5,892,903 A
`5,898,713 A
`5,913,028 A
`5,920,566 A
`5,930,830 A
`
`1011987 Balph et al.
`340/825.5
`211991 Davis et aI .................. 364/900
`1011991 Hirata et al.
`................ 7091230
`1011991 Beach et al.
`............... 370/85.6
`311992 Ward et al. .................... 365/78
`1111992 Row et al. ................... 395/200
`511993 Dally et aI .................. 395/400
`111994 Trapp ........................ 370/85.1
`211994 Latif et al.
`.................. 395/275
`411994 Yokoyama et al. .......... 395/200
`511995 Hausman et al. ............ 395/250
`511995 Christenson ................ 395/200
`911995 Richter et aI ............... 370194.1
`111996 Hitz et al. .............. 395/200.12
`411996 Ban ........................... 395/250
`411996 Suda .......................... 395/280
`511996 Szwerinski et aI.
`.. ....... 395/800
`611996 Chesson et al.
`............. 395/775
`711996 Eshel et aI .................. 3911500
`811996 Young et aI ................. 395/280
`1011996 Bakke et al.
`.................. 370/60
`1111996 Netravali et al. ............ 395/561
`1211996 Reddin et al. .......... 395/200.15
`1211996 Seno et al. .................. 395/675
`111997 Isfeld et al. ............ 395/200.02
`111997 Stone ......................... 370/469
`411997 Bach et al. ............. 395/200.01
`511997 Delp et al.
`.................. 370/411
`511997 Cronin et al.
`............... 3611220
`511997 Andrews et al.
`....... 395/200.07
`511997 Cloud et al.
`................ 395/680
`611997 Pardillos .................. 395/200.2
`911997 Krech, Jr. et al.
`...... 395/200.64
`911997 Collins .................... 395/200.2
`1011997 Yokoyama et al. .......... 7091212
`1011997 Kapoor et al.
`.............. 395/684
`1111997 Shobu et al.
`........... 395/200.12
`1211997 Sartore et al. .......... 395/230.06
`1211997 Kraslavsky ................. 3701254
`1211997 Nakagawa .................. 395/484
`1211997 Cheng et aI ................. 395/842
`311998 Chen .......................... 395/181
`411998 Wong et al. ................. 395/200
`511998 Hagersten ................... 7111141
`511998 Chan et al. .................. 370/455
`511998 Delp et al.
`.................. 395/827
`511998 Silverstein et aI ...... 395/200.58
`511998 Gentry et al.
`.......... 395/200.64
`511998 Hamilton et al. ............ 395/831
`511998 Kuzma ....................... 395/886
`611998 Erickson et al. ............. 395/829
`611998 Picazo, Jr. et aI. ...... 3951188.01
`611998 Brendel et al. ......... 395/200.31
`711998 Jedwab ....................... 714/807
`711998 Hansen et al.
`.............. 7111112
`811998 Osborne ..................... 7091245
`811998 Hansen et al.
`......... 395/800.01
`911998 Chen ..................... 3951182.08
`911998 McAlpine ................... 7111149
`911998 Nogales et aI ............... 395/825
`911998 Cooper et aI ................ 7111133
`911998 Van Seeters et al.
`... 395/200.43
`911998 Purcell et al. ............... 395/163
`1011998 Isfeld et al. .............. 395/200.3
`1211998 Gentry et al.
`............... 395/825
`1211998 Dillon et al. ................ 7091217
`211999 Wakeland et aI ............ 395/200
`311999 Bilansky et aI ......... 395/200.57
`411999 Klaus .................... 3951187.01
`411999 Melzer et al. ................. 371153
`611999 Wang et aI ............. 395/200.33
`711999 Hendel et al. ............... 370/401
`711999 Mendelson et aI .......... 7111171
`
`5,931,918 A
`5,935,205 A
`5,937,169 A
`5,941,969 A
`5,941,972 A
`5,950,203 A
`5,987,022 A
`5,991,299 A
`5,996,013 A
`5,996,024 A
`6,005,849 A
`6,009,478 A
`6,016,513 A
`6,021,446 A
`6,021,507 A
`6,026,452 A
`6,034,963 A
`6,038,562 A
`6,041,058 A
`6,041,381 A
`6,044,438 A
`6,047,323 A
`6,047,356 A
`6,049,528 A
`6,057,863 A
`6,061,368 A
`6,065,096 A
`6,067,569 A
`6,070,200 A
`6,078,733 A
`6,097,734 A
`6,101,555 A
`6,111,673 A
`6,115,615 A
`6,122,670 A
`6,141,701 A
`6,141,705 A
`6,145,017 A
`6,157,944 A
`6,157,955 A
`6,172,980 Bl
`6,173,333 Bl
`6,181,705 Bl
`6,202,105 Bl
`6,223,242 Bl
`6,226,680 Bl
`6,246,683 Bl
`6,247,060 Bl
`6,279,051 Bl
`6,289,023 Bl
`6,298,403 Bl
`6,324,649 Bl
`6,334,153 B2
`6,343,360 Bl
`6,345,301 Bl
`6,345,302 Bl
`6,356,951 Bl
`6,370,599 Bl
`6,385,647 Bl
`6,389,468 Bl
`6,389,479 Bl
`6,393,487 B2
`6,421,742 Bl
`6,421,753 Bl
`6,427,169 Bl
`6,427,171 Bl
`6,427,173 Bl
`6,434,620 Bl
`6,434,651 Bl
`6,449,656 Bl
`6,453,360 Bl
`6,470,415 Bl
`6,473,425 Bl
`
`8/1999 Row et aI .................... 709/300
`8/1999 Murayama et aI ........... 7091216
`8/1999 Connery et al. .......... 395/200.8
`8/1999 Ram et al.
`.................. 710/128
`811999 Hoese et aI.
`.. .............. 710/129
`911999 Stakuis et aI .................. 707/10
`1111999 Geiger et al.
`............... 370/349
`1111999 Radogna et al. ............. 370/392
`1111999 Delp et al.
`.................. 7091226
`1111999 Blumenau ................... 709/301
`12/1999 Roach et aI ................. 370/276
`12/1999 Panner et al.
`.................. 710/5
`112000 Lowe ......................... 7091250
`212000 Gentry et al.
`............... 709/303
`212000 Chen ............................. 714/2
`212000 Pitts ............................ 710/56
`312000 Minami et al. .............. 370/401
`3/2000 Anjur et al. ................... 707/10
`3/2000 Flanders et al. ............. 370/401
`3/2000 Hoese ........................ 710/129
`312000 Olnowich ................... 7111130
`4/2000 Krause ....................... 7091227
`4/2000 Anderson et al.
`........... 7111129
`4/2000 Hendel et aI ................ 3701235
`5/2000 Olarig ........................ 345/520
`5/2000 Hitzelberger ............... 370/537
`5/2000 Dayet al.
`................... 7111114
`5/2000 Khaki et al.
`................ 7091224
`5/2000 Gates et al. ................... 71 0120
`6/2000 Osborne .................. 395/200.8
`8/2000 Gotesman et al. ........... 370/474
`8/2000 Goshey et aI.
`.. ............ 709/321
`8/2000 Chang et al. ................ 359/123
`912000 Ota et aI ..................... 455/553
`912000 Bennett et al. .............. 7091236
`1012000 Whitney ........................ 710/5
`1012000 Anand et al. .................. 710115
`1112000 Ghaffari ........................ 710/5
`1212000 Pedersen
`................ 7091228
`1212000 Narad et al.
`112001 Flanders et al. ............. 370/401
`112001 Jolitz et aI.
`112001 Branstad et al. ............. 370/392
`3/2001 Gates et al. ................... 71 0120
`4/2001 Sheafor et al. .............. 710/132
`5/2001 Boucher et al.
`............. 7091230
`6/2001 Connery et al. ............. 370/392
`6/2001 Boucher et al.
`............. 7091238
`8/2001 Gates et al. ................... 71 0120
`912001 Dowling et al. ............. 370/419
`10/2001 Suri et al.
`................... 710/100
`1112001 Eyres et al. ................. 713/202
`12/2001 Boucher et al.
`............. 7091230
`112002 Feinleib ......................... 713/1
`212002 Burns et al. ................. 7091230
`212002 Bennett et al. .............. 7091236
`3/2002 Gentry et al.
`............... 7091250
`4/2002 Anand et al. .................. 710115
`5/2002 Willis et aI .................. 7091217
`5/2002 Muller et al.
`............... 7091226
`5/2002 Boucher ..................... 7091243
`5/2002 Boucher et al.
`............. 7091238
`7/2002 Tillier ........................... 710/1
`712002 Hoese et aI ................. 710/129
`7/2002 Elzur ......................... 7091224
`7/2002 Craft et al. .................. 7091230
`7/2002 Boucher et al.
`............. 7091238
`8/2002 Boucher et al.
`............. 7091230
`8/2002 Gentry, Jr.
`.. ................ 710/260
`912002 Elzur et aI.
`.. ............... 7091236
`912002 Muller et al.
`............... 7091250
`1012002 Starr et al.
`.................. 7111104
`1012002 Bellaton et al.
`............. 370/392
`
`INTEL Ex.1001.002
`
`

`

`US 7,673,072 B2
`Page 3
`
`6,480,489 Bl
`6,487,202 Bl
`6,487,654 B2
`6,490,631 Bl
`6,502,144 Bl
`6,523,119 B2
`6,526,446 Bl
`6,570,884 Bl
`6,591,302 B2
`6,591,310 Bl
`6,648,611 B2
`6,650,640 Bl
`6,657,757 Bl
`6,658,480 B2
`6,678,283 Bl
`6,681,364 Bl
`6,687,758 B2
`6,697,868 B2
`6,751,665 B2
`6,757,746 B2
`6,765,901 Bl
`6,807,581 Bl
`6,842,896 Bl
`6,912,522 B2
`6,938,092 B2
`6,941,386 B2
`6,965,941 B2
`6,996,070 B2
`7,042,898 B2
`7,076,568 B2
`7,089,326 B2
`7,093,099 B2
`7,124,205 B2
`7,133,940 B2
`7,167,926 Bl
`7,167,927 B2
`7,174,393 B2
`7,185,266 B2
`7,191,241 B2
`7,191,318 B2
`7,237,036 B2
`7,254,696 B2
`7,284,070 B2
`200110004354 A
`200110025315 A
`200110013059 Al
`200110014892 Al
`200110014954 Al
`200110048681 Al
`200110053148 Al
`200210073223 Al
`200210112175 Al
`2003/0066011 Al
`2003/0110344 Al
`2003/0165160 Al
`2004/0054814 Al
`2004/0059926 Al
`2004/0153578 Al
`2004/0213290 Al
`2004/0246974 Al
`
`............... 370/389
`1112002 Muller et al.
`1112002 Klausmeier et al. ......... 370/395
`1112002 Dowling ..................... 7121244
`12/2002 Teich et al.
`................. 7091250
`12/2002 Accarie ......................... 710/8
`212003 Pavlin et al ................. 713/192
`212003 Yang et al.
`5/2003 Connery et al. ............. 370/419
`7/2003 Boucher et al.
`............. 7091230
`7/2003 Johnson ... ..... ... ... ... ..... ... 710/3
`1112003 Morse et al .
`................ 417/310
`1112003 Muller et al.
`............... 370/392
`1212003 Chang et al ................. 359/124
`1212003 Boucher et al.
`............. 7091239
`112004 Teplitsky .................... 370/463
`112004 Calvignac et al ............ 7141776
`212004 Craft et al. .................. 7091250
`212004 Craft et al. .................. 7091230
`6/2004 Philbrick et al ............. 7091224
`6/2004 Boucher et al.
`............. 7091250
`7/2004 Johnson et al.
`............. 370/352
`1012004 Starr et al.
`.................. 7091250
`112005 Redding et al.
`............. 717/172
`6/2005 Edgar ............................ 707/2
`8/2005 Burns ......................... 7091230
`912005 Craft et al. .................. 7091250
`1112005 Boucher et al.
`............. 7091230
`212006 Starr et al.
`.................. 3701252
`5/2006 Blightman et al.
`.......... 370/463
`7/2006 Philbrick et al ............. 7091250
`8/2006 Boucher et al.
`............. 7091242
`8/2006 Bodas et al.
`................ 7111206
`1012006 Craft et al. .................. 7091250
`1112006 Blightman et al.
`............ 710122
`112007 Boucher et al.
`............. 7091250
`112007 Philbrick et al ............. 7091250
`212007 Boucher et al.
`............. 7091250
`212007 Blightman et al.
`.......... 7141776
`3/2007 Boucher et al.
`............. 7091230
`3/2007 Tripathyet al. ............. 7121225
`6/2007 Boucher et al.
`............. 7091245
`8/2007 Mittal et al.
`................ 7121210
`1012007 Boucher et al.
`............. 7091250
`112001 Jolitz
`......................... 370/328
`112001 Jolitz
`......................... 7091231
`8/2001 Dawson et al. .............. 7091217
`8/2001 Gaither et al.
`.............. 707/200
`8/2001 Purcell et al. .................. 714/4
`1212001 Bilic et al.
`.................. 370/389
`1212001 Bilic et al.
`.................. 370/389
`6/2002 Darnell et al.
`.............. 7091232
`8/2002 Makofka et al.
`............ 713/200
`412003 Oren .......................... 7141758
`6/2003 Szczepanek et al ......... 7111100
`912003 Minami et al. .............. 370/466
`3/2004 McDaniel
`3/2004 Angelo et al ................ 713/168
`812004 Elzur
`1012004 Johnson et al.
`1212004 Gyugyi et al.
`
`............. 370/469
`370/395.31
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`WO 98119412
`WO 98/50852
`WO 99104343
`WO 99/65219
`WO 00/13091
`WO 01104770
`WO 01105107
`WO 01105116
`WO 01105123
`WO 01140960
`
`5/1998
`1111998
`111999
`12/1999
`312000
`112001
`112001
`112001
`112001
`6/2001
`
`WO
`WO
`
`WO 01159966
`WO 01186430
`
`8/2001
`1112001
`
`OTHER PUBLICATIONS
`
`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 Commu(cid:173)
`nication 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 100BASE-T Fast Ethernet. 7
`pages, printed May 27, 1997.
`the Paragon XP/S-A7
`to
`Internet pages entitled: A Guide
`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 Archi(cid:173)
`tecture, 4 pages, printed Feb. 19, 2001.
`Gigabit Ethernet Technical Brief, Achieving End-to-End Perfor(cid:173)
`mance. Alteon Networks, Inc., First Edition, Sep. 1996, 15 pages.
`Internet pages directed to Technical Brief on Alteon Ethernet Gigabit
`NIC technology, www.alteon.com.14pages.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 Man(cid:173)
`agement Team with Two Key Executives", http://www.ireadyco.
`corniarchives/keyexec.html, 2 pages, printed Nov. 28, 1998.
`"Toshiba Delivers First Chips to Make Consumer Devices Internet(cid:173)
`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.
`corniproducts,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.
`cornitechnology.html, 17 pages, printed Mar. 1, 2000.
`iReady Corporation, article entitled "The 1-1000 Internet Tuner", 2
`pages, date unknown.
`iReady article entitled "About Us Introduction", Internet pages
`frornhttp://www.iReadyco.comiabout.html.3pages.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 TCPIIP Protocol Architec(cid:173)
`tures", by J.S. Carbone, 19 pages, printed Apr. 10, 1998.
`Adaptec article entitled "AEA-7110C-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/641O 32 and 64-bit PCI-to(cid:173)
`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 aI., IEEE Transactions on Network(cid:173)
`ing, vol. 6, No.6, Dec. 1998, 17 pages.
`IReady 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.
`
`INTEL Ex.1001.003
`
`

`

`US 7,673,072 B2
`Page 4
`
`Internet pages of InterProphet entitled "Frequently Asked Ques(cid:173)
`tions", by Lynne Jolitz, printed Jun. 14,2000,4 pages.
`"File System Design For An NFS File Server Appliance", Article by
`D. Hitz, et ai., 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 Jui. 19,2000.
`Adaptec article entitled "EtherStorage White Paper", 7 pages, printed
`Jui. 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 Botttieneck", 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 Archi(cid:173)
`tecture, 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,2 pages.
`Internet pages of Xaqti corporation entitled "GigaPower Protocol
`Processor Product Review," printed Nov. 25, 1999,4 pages.
`U.S. Appi. No. 601283,896, Titled: CRC Calculations for Out of
`Order PUDs, filed Apr. 12, 2003, Inventor: Amit Oren, Assignee:
`Siliquent Technologies Ltd.
`Internet pages entitled "DART: Fast Application Level Networking
`via Data-Copy Avoidance," by Robert J. Walsh, printed Jun. 3, 1999,
`25 pages.
`Andrew S. Tanenbaum, Computer Networks, Third Edition, 1996,
`ISBN 0-13-349945-6.
`Article from Rice University entitled "LRP: A New Network Sub(cid:173)
`system Architecture for Server Systems", by Peter Druschel and
`Gaurav Banga, 14 pages.
`Internet RFC/STD/FYI/BCP Archives article with heading
`"RFC2140" entitled "TCP Control Block Interdependence", web
`address http://www.faqs.org/rfcs/rfc2140.htrnl.9pages.printed Sep.
`20,2002.
`WindRiver article entitled "Tornado: For Intelligent Network Accel(cid:173)
`eration", copyright Wind River Systems, 2001, 2 pages.
`WindRiver White Paper entitled "Complete TCP/IP Offload for
`High-Speed Ethernet Networks", Copyright Wind River Systems,
`2002, 7 pages.
`Intel article entitled "Solving Server Bottlenecks with Intel Server
`Adapters", Copyright Intel Corporation, 1999,8 pages.
`Schwaderer et ai., 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-0ct. 3, 1990.
`Beach, Bob, IEEE Computer Society Press publication entitled,
`"UltraN et: An Architecture for Gigabit Networking", from 15th Con(cid:173)
`ference on Local Computer Networks, 18 pages, Sep. 30-0ct. 3,
`1990.
`
`Chesson et ai., IEEE Syposium Record entitled, "The Protocol
`Engine Chipset", from Hot Chips III, 16 pages, Aug. 26-27,1991.
`Maclean et ai., 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 etai., IEEE article entitled "FXI000: Ahigh performance single
`chip Gigabit Ethernet NIC", from Compcon '97 Proceedings, 7
`pages, Feb. 23-26, 1997.
`Strayer et ai., "Ch. 9: The Protocol Engine" from XTP: The Transfer
`Protocol, 12 pages, Jui. 1992.
`Publication entitled "Protocol Engine Handbook", 44 pages, Oct.
`1990.
`Koufopavlou et ai., IEEE Global Telecommunications Conference,
`Globecom '92, presentation entitled, "Parallel TCP for High Perfor(cid:173)
`mance Communication Subsystems", 7 pages, Dec. 6-9, 1992.
`Lilienkamp et ai., Publication entitled "Proposed Host-Front End
`Protocol", 56 pages, Dec. 1984.
`Thia et ai. Publication entitled "High-Speed OSI Protocol Bypass
`Algorithm with Window Flow Control," Protocols for High Speed
`Networks, pp. 53-68, 1993.
`U.S. Appi. No. 601053,240, Titled: TCP/IP Network Accelerator and
`Method of Use, filed Jui. 17, 1997, Inventor: William Jolizt et ai.
`Thia et ai. Publication entitled "A Reduced Operational Protocol
`Engine (ROPE) for a multiple-layer bypass architecture," Protocols
`for High Speed Networks, pp. 224-239, 1995.
`Form 10-K for Exelan, Inc., for the fiscal year ending Dec. 31, 1987
`(10 pages).
`Form 10-K for Exelan, Inc., for the fiscal year ending Dec. 31, 1988
`(10 pages).
`* cited by examiner
`Primary Examiner-Jude J Jean Gilles
`(74) Attorney, Agent, or Firm-Mark Lauer; Silicon Edge
`Law Group, LLP
`
`(57)
`
`ABSTRACT
`
`A system for protocol processing in a computer network has
`an intelligent network interface card (INIC) or communica(cid:173)
`tion processing device (CPD) associated with a host com(cid:173)
`puter. The INIC provides a fast-path that avoids protocol
`processing for most large multi-packet messages, greatly
`accelerating data communication. The INIC also assists the
`host for those message packets that are chosen for processing
`by host software layers. A communication control block for a
`message is defined that allows DMA controllers of the INIC
`to move data, free of headers, directly to or from a destination
`or source in the host. The context is stored in the INIC as a
`communication control block (CCB) that can be passed back
`to the host for message processing by the host. The INIC
`contains specialized hardware circuits that are much faster at
`their specific tasks than a general purpose cpu. A preferred
`embodiment includes a trio of pipelined processors with
`separate processors devoted to transmit, receive and manage(cid:173)
`ment processing, with full duplex communication for four
`fast Ethernet nodes.
`
`21 Claims, 89 Drawing Sheets
`
`INTEL Ex.1001.004
`
`

`

`35~ STORAGE r---
`
`I
`I
`I
`I
`I
`I
`I
`30 I
`~ CPD
`
`1 -
`
`~33
`
`I
`I
`I
`I
`L _____ - - - - - - - - - - - - - - - - -
`
`r 22
`
`REMOTE
`HOST
`
`25\
`
`(50
`
`42,,-
`
`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 1 of89
`
`US 7,673,072 B2
`
`20
`r------------------------,
`HOST
`1--/
`I
`
`,
`
`28
`
`-
`
`CPU
`
`CONTEXT
`
`~
`
`52
`'--
`
`FIG. 1
`
`( 46
`
`UPPER
`LAYER
`UPPER LAYER 48\
`INTERFACE
`
`\
`
`44
`
`54)
`TRANSPORT
`4~
`38"'-
`
`NETWORK
`
`r - DATA LINK
`36
`
`30\
`
`56
`~
`,Ir
`
`INIC/CPD
`
`....
`
`FIG. 2
`
`STORAGE
`
`"-
`
`35
`
`~8
`
`INTEL Ex.1001.005
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 2 of89
`
`US 7,673,072 B2
`
`RECEIVE PACKET
`FROM NETWORK
`BYCPD
`
`VALIDATE PACKET,
`SUMMARIZE
`HEADERS
`
`47
`
`57
`
`61
`
`5~
`
`FAST PATH
`CANDIDATE?
`
`NO
`
`SEND PACKET TO
`STACK FOR SLOW-
`PATH PROCESSING
`
`67
`
`YES
`
`53
`
`65
`
`NO
`
`SEND PACKET TO
`STACK FOR SLOW-
`PATH PROCESSING
`
`CREATE CCB FOR
`MESSAGE
`
`51
`
`CCB?
`
`YES
`
`69
`
`SEND TO
`DESTINATION
`IN HOST VIA
`FAST-PATH
`
`FIG. 3
`
`INTEL Ex.1001.006
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 3 of89
`
`US 7,673,072 B2
`
`REMOTE
`HOST
`
`25
`
`FIG.4A
`
`65
`r - - - - - - - l
`I
`f-----L+K:::-l
`I
`I
`I
`I
`I
`I
`
`40
`38
`36
`
`SESS
`TRANS
`NETW
`DUNK
`~44
`
`SESS
`TRANS
`NETW
`DUNK
`
`56
`
`~44
`
`I
`I
`35 I
`'-1
`I
`L _______
`
`40
`38
`36
`
`42
`40
`38
`36
`
`SESS
`TRANS
`NETW
`DLINK
`
`~44
`
`r--- ---,
`I
`I
`I
`1
`70 1
`35
`:
`'--i
`1
`I
`L _______ I
`
`1
`
`REMOTE
`HOST
`
`REMOTE
`HOST
`
`REMOTE
`HOST
`
`32
`
`32
`
`FIG.4C
`
`FIG.4D
`
`INTEL Ex.1001.007
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 4 of89
`
`US 7,673,072 B2
`
`REMOTE
`HOST
`
`42
`~SE~S~S~--.-J~--rMI :
`TRANS
`NETW
`,..-_,--...., DLINK
`96
`
`99
`
`1
`
`L.......-_-' 1
`
`1
`1
`
`L - -,- - --,
`)
`35·...-
`~44
`
`~--------~
`
`FIG. 5
`
`15l
`
`152-, ,----- -- --------1
`1
`FAST-PATH
`: : ~ SOURCEIDEST
`168 -r
`.. ~
`
`APPLICATION
`
`C157 . -----\:-------
`
`1
`
`I
`
`158
`
`1
`1
`1
`1
`1
`1
`1
`-'
`
`INTEL Ex.1001.008
`
`1
`166 - - 1 .
`1
`1
`164~ TRANSPORT
`1
`:-t---
`162
`1
`1
`1
`1
`1
`1
`1
`1
`160,-+-
`1
`1
`1 HARDWARE LOGIC
`1 SLOW-PATH
`1
`..l.
`~I
`L __________________ '.
`I
`1
`171
`~155
`"
`
`185
`150 '" 170
`: ___ L ___ ~ ______ - \_ -
`
`PROCESSOR
`
`S
`
`FIG. 6
`
`1
`
`NETWORK
`
`DATA LINK
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 5 of89
`
`US 7,673,072 B2
`
`MEDIA ACCESS r----.-- 172
`CONTROLLER
`I
`
`l'
`ASSEMBLY r------- 174
`REGISTER
`
`(178
`)
`
`..
`FLYBY
`.~-- SEQUENCER
`MULTIPLEXOR r----.-- 180
`
`"
`
`PACKET
`CONTROL
`SEQUENCER
`J
`
`SRAM
`
`...-
`
`SRAM
`CONTROL
`
`...-
`
`"
`
`DRAM CONTROL
`
`C 186
`
`l'
`
`DRAM
`
`r------- 188
`
`QUEUE
`184"'-- MANAGER
`
`FIG. 7
`
`INTEL Ex.1001.009
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 6 of89
`
`US 7,673,072 B2
`
`) 174
`
`PACKET
`176 ______ CONTROL
`SEQUENCER
`
`I----~
`
`.. ASSEMBLY
`REGISTER
`
`178
`
`r---- 191
`MAC
`~ 1 -4 - - - - - - -1
`SEQUENCER
`
`1
`
`r---- 192
`NETWORK _
`1 -4 - - - - - - - - - J
`SEQUENCER
`
`TRANSPORT ~ 194
`I-0Il-1--------1
`SEQUENCER
`
`SESSION ~ 195
`14 - - - - - -
`SEQUENCER """
`
`MULTIPLEXOR
`
`FIG. 8
`
`INTEL Ex.1001.010
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 7 of89
`
`US 7,673,072 B2
`
`FAST-PATH~", SOURCEIDEST
`I'
`'t3~~ __ :~~~i_~3~_i~4 -r- r:;237
`222~ APPLICATION ,~
`~ f - - - - - - - -H
`PROCESSOR)
`220
`I
`I
`I
`, '" HARDWARE LOGIC 4 :
`217---r TRANSPORT
`262, I ~
`I
`II
`I - - - - - - - - - - - t - l
`~ ~HARDWARELOGIC3 S:
`215~NETWORK
`r+--; HARDWARE LOGIC 2
`212
`I
`I
`I
`/
`' - - - I I - - - - - - -H
`: HARDWARE LOGIC 1
`: \ SLOW-PATH; MAC
`I
`I : '----------'
`" L~210-----t-----;6~- '. C • ------',~-----
`
`240 ./
`
`,~
`
`~
`
`250
`
`205
`
`202
`
`FIG. 9
`
`TDIUSERS ~ 382
`
`- - -
`
`TDI FILTER DRIVER
`I~
`& UPPER LAYER INTERFACE
`
`I~ ATCP
`
`360
`
`- - -
`TCP ~ 358
`
`366
`;~
`
`IP
`
`IP ~ 355
`
`350
`
`363 ~ MAC
`- - -
`375 ~ NDIS
`
`MAC ~ 353
`---
`
`)1'
`
`,Ir
`
`I'
`,,..
`
`377 ~ INIC MINIPORT DRIVER
`
`FIG. 11
`
`INTEL Ex.1001.011
`
`270
`
`231
`
`:
`I
`
`II
`
`242
`'--
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 8 of89
`
`US 7,673,072 B2
`
`r--------------------------------I
`202/~,_~
`I
`I
`I
`
`300
`"\ 318~
`
`, ' - - - - -
`
`UPPERLAYER
`
`~.I--': ___ -"
`
`"
`
`I
`I
`I
`:
`I
`~III
`- 316
`I ~
`I
`
`:
`:
`I
`I
`I
`,~.
`330
`1--'
`I
`.~I
`325
`r----'
`I
`I
`322~ NETWORK
`I
`I 1--_____ --1
`I
`I
`320~ DATALINK
`DATALINK ~ 312
`I
`I
`I
`I'
`I'
`I
`I
`L ________________________ -t. _____ 1
`'--310
`,w-
`'w-
`
`UPPER LAYER INTERFACE
`
`TRANSPORT
`
`TRANSPORT
`
`NETWORK
`
`~314
`
`240~
`
`306 ~ INIC MINIPORT DRIVER
`
`J
`
`1
`
`INIC
`
`200~
`
`(
`
`210
`
`INIC
`MEMORY ~304
`
`FIG. 10
`
`INTEL Ex.1001.012
`
`

`

`190 ._,,-~-------cLiENT------1
`
`,...--
`
`I,i-----~
`
`168
`
`166
`
`164
`157
`162
`
`160
`
`5MB
`
`NETBIOS
`
`TCP
`
`IP
`
`MAC
`
`~159
`
`-------------1
`SERVER
`l_"-" 290
`I
`I
`
`5MB
`
`NETBIOS
`
`TCP
`
`IP
`
`MAC
`
`INrc
`
`210
`
`INIC
`
`L _______________ __ _
`
`L. _____ _
`
`___ J
`
`240
`
`244
`
`242
`
`FIG. 12
`
`~
`7Jl
`•
`~
`~
`~
`
`~ = ~
`
`N
`
`~
`~ :-:
`N o .... o
`
`~
`
`('D
`('D
`
`rFJ =(cid:173)
`.....
`\0
`o ....
`
`QO
`\0
`
`222
`
`220
`
`217
`231
`215
`
`212
`
`200
`
`d
`rJl
`-....l
`0..,
`-....l
`
`-....l
`
`W -=
`N = N
`
`INTEL Ex.1001.013
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 10 of 89
`
`US 7,673,072 B2
`
`210
`
`400 -, 240
`\
`_______ L ___ _
`
`200~
`.,
`
`42
`
`244
`
`----,
`
`MAC-A
`
`402 MAC-B
`
`04
`
`MAC-C
`
`406
`
`MAC-D
`
`1
`
`1
`
`:
`
`412
`
`1
`1
`1
`
`416 1
`
`XMT&
`RCV-A
`
`418
`
`XMT&
`RCV-B
`
`420
`
`428
`
`426
`
`XMT&
`RCV-C
`430
`
`422
`42
`
`XMT&
`RCV-D
`
`43
`
`REG FILE
`WCS
`ROM
`
`477
`
`:---MfCRO----: 470
`1 PROCESSOR L_/
`1 r - - - - - - - - ,
`1
`1
`1
`1
`1
`
`: 484
`
`464
`
`440
`
`SRAM
`
`EXTERNAL
`MEMORY
`CTRL
`
`SRAM
`CTRL
`____ ,_1
`'-444
`
`1
`1
`
`1
`1
`
`446
`
`450
`
`468
`
`PCI BUS INTERFACE UNIT
`
`1
`1
`
`1 ______ - - - - - - - - - - - - - - - - - -
`
`1
`1
`___________________ J
`
`257
`
`FIG. 13
`
`455
`1 - - - - - - -
`
`1
`1
`
`1
`
`1
`1
`1
`
`DRAM
`
`460
`
`INTEL Ex.1001.014
`
`

`

`u.s. Patent
`
`Mar. 2,2010
`
`Sheet 11 of 89
`
`US 7,673,072 B2
`
`CLOCK r--r-------L----- L ______ /- ______ L _____ L __
`
`/
`
`/
`I
`I
`I
`I
`I
`I
`
`/
`
`/
`
`500'-,
`,
`
`)
`I
`
`492.....,
`
`CONTROLS FOR FIRST REGISTER SET
`
`490\
`
`505
`
`-../"'
`
`533\
`
`FIRST REGISTER SET
`
`~ I
`I
`I :
`I
`, ,
`I
`>-- f------- - - - - - - - - -

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket