`
`1111111111111111111111111111111111111111111111111111111111111
`US007337241B2
`
`(12) United States Patent
`Boucher et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,337,241 B2
`Feb. 26,2008
`
`(54) FAST-PATH APPARATUS FOR RECEIVING
`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 tenn of this
`patent is extended or adjusted under 35
`U.S.c. 154(b) by 879 days.
`
`(21) Appl. No.: 101260,878
`
`(22) Filed:
`
`Sep. 27, 2002
`
`(65)
`
`Prior Publication Data
`
`US 2004/0064578 Al
`
`Apr. 1,2004
`
`(51)
`
`Int. Cl.
`(2006.01)
`G06F 15116
`(52) U.S. Cl. ...................................................... 7091250
`(58) Field of Classification Search ................. 709/250
`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
`4,700,185 A
`
`1211982 Johnson et al. ............. 364/200
`1111984 Boone et al.
`............... 364/900
`1111984 Stambaugh ................. 365/203
`511986 Shah et al. .................... 710/8
`1011987 Balph et aI . ................ 370/451
`
`4,991,133 A
`
`2/1991 Davis et aI ................. 364/900
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`WOl98119412
`511998
`(Continued)
`
`OTHER PUBLICATIONS
`Internet pages entitled "Hardware Assisted Protocol Processing",
`(which Eugene Feinberg is working on), 1 page, printed Nov. 25,
`1998.
`
`(Continued)
`
`Primary Examiner-David Wiley
`(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 process(cid:173)
`ing 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 management processing, with full duplex com(cid:173)
`munication for four fast Ethernet nodes.
`
`24 Claims, 89 Drawing Sheets
`
`50
`
`46
`
`48
`
`UPPER
`LAYER
`UPPER LAYER
`INTERFACE
`
`TRANSPORT
`
`NETWORK
`
`DATA LINK
`
`\
`
`44
`
`56
`
`INIC/CPD
`
`40
`
`38
`
`36
`
`30
`
`52
`"-
`
`35
`
`58
`
`WISTRON CORP. EXHIBIT 1001.001
`
`
`
`US 7,337,241 B2
`Page 2
`
`u.s. PATENT DOCUMENTS
`5,056,058 A
`1011991 Hirata et al. ................ 7091230
`1011991 Beach et al. ............... 370/85.6
`5,058,110 A
`311992 Ward et al. ................... 365/78
`5,097,442 A
`1111992 Row et al. .................. 395/200
`5,163,131 A
`511993 Dally et al. ................. 395/400
`5,212,778 A
`111994 Trapp ........................ 370/85.1
`5,280,477 A
`211994 Latif et al. .................. 395/275
`5,289,580 A
`411994 Yokoyama et al.
`......... 395/275
`5,303,344 A
`511995 Hausman et al. ........... 395/250
`5,412,782 A
`511995 Christenson ................ 7091234
`5,418,912 A
`911995 Richter et al. ............. 370194.1
`5,448,566 A
`111996 Dobbins et al.
`............ 3701255
`5,485,455 A
`111996 Schrier et al.
`.............. 703/227
`5,485,460 A
`111996 Hitz et al .............. 395/200.12
`5,485,579 A
`411996 Ban ........................... 395/250
`5,506,966 A
`411996 Suda .......................... 395/280
`5,511,169 A
`511996 Szwerinski et al. ......... 395/800
`5,517,668 A
`611996 Chesson et al.
`............ 395/775
`5,524,250 A
`711996 Eshel ... ... ..... ... ... ... ...... 703/27
`5,535,375 A
`5,548,587 A *
`811996 Bailey et al.
`............ 370/395.7
`5,548,730 A
`811996 Young et al.
`............... 395/280
`1011996 Bakke et al.
`................. 370/60
`5,566,170 A
`1111996 Netravali et al.
`........... 7121220
`5,574,919 A
`1211996 Reddin et al.
`......... 395/200.15
`5,588,121 A
`1211996 Seno et al.
`................. 395/675
`5,590,328 A
`111997 Isfeld et al.
`........... 395/200.02
`5,592,622 A
`111997 Stone ......................... 370/469
`5,598,410 A
`411997 Bach et al ............. 395/200.01
`5,619,650 A
`511997 Delp et al. .................. 370/411
`5,629,933 A
`511997 Cronin ....................... 3611220
`5,633,780 A
`511997 Andrews et al. ....... 395/200.07
`5,634,099 A
`511997 Cloud et al ................. 395/680
`5,634,127 A
`611997 Pardillos .................. 395/200.2
`5,642,482 A
`911997 Krech, Jr. et al.
`...... 395/200.64
`5,664,114 A
`911997 Collins .................... 395/200.2
`5,671,355 A
`1011997 Yokoyama et al.
`......... 7091212
`5,678,060 A
`1011997 Kapoor et al. .............. 7091203
`5,682,534 A
`1111997 Shobu et al.
`.......... 395/200.12
`5,692,130 A
`1211997 Sartore et al.
`......... 395/230.06
`5,699,317 A
`1211997 Kraslavsky ................. 3701254
`5,699,350 A
`1211997 Nakagawa .................. 395/484
`5,701,434 A
`1211997 Cheng et al.
`............... 395/842
`5,701,516 A
`5,717,691 A *
`211998 Dighe et al ................. 370/401
`5,727,142 A
`311998 Chen .......................... 395/181
`411998 Wong et al. ................ 7091230
`5,742,765 A
`511998 Hagersten ................... 7111141
`5,749,095 A
`511998 Chan et al. ................. 370/455
`5,751,715 A
`511998 Delp et al. .................. 395/827
`5,752,078 A
`511998 Silverstein et al.
`. ... 395/200.58
`5,758,084 A
`511998 Gentry et al ........... 395/200.64
`5,758,089 A
`511998 Hamilton et al. ........... 395/831
`5,758,186 A
`511998 Kuzma ....................... 395/886
`5,758,194 A
`611998 Erickson et al. ... ... ... ... ... 71019
`5,768,618 A
`611998 Picazo, Jr. et al. ...... 3951188.01
`5,771,349 A
`711998 Jedwab ....................... 714/807
`5,778,013 A
`5,778,419 A *
`711998 Hansen et al. .............. 711/112
`5,790,804 A
`811998 Osborne ................ 395/200.75
`5,794,061 A
`811998 Hansen et al. ......... 395/800.01
`911998 Chen ..................... 3951182.08
`5,802,258 A
`911998 McAlpire ................... 7111149
`5,802,580 A
`911998 Nogales et al. ............. 395/825
`5,809,328 A
`5,812,775 A
`911998 Van Seeters et al.
`... 395/200.43
`5,815,646 A
`911998 Purcell et al.
`.............. 395/163
`5,828,835 A
`1011998 Isfeld et al.
`................ 7091200
`5,848,293 A
`1211998 Gentry .......................... 710/5
`5,872,919 A
`211999 Wakeland ................... 7091230
`5,878,225 A
`311999 Bilanskyet al ........ 395/200.57
`5,892,903 A *
`411999 Klaus ......................... 7091227
`5,898,713 A
`411999 Melzer et al.
`................ 371153
`5,913,028 A
`611999 Wang et al.
`........... 395/200.53
`5,920,566 A *
`711999 Hendel et al.
`.............. 370/401
`
`5,930,830 A
`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,970,804 A
`5,974,466 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,564 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,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,421,742 Bl
`6,421,753 Bl
`6,427,169 Bl
`6,427,173 Bl
`6,434,651 Bl
`6,449,656 Bl
`6,453,360 Bl
`6,473,425 Bl
`6,480,489 Bl
`
`7/1999 Mendelson et al. ......... 7111171
`8/1999 Row et al. .................. 709/300
`8/1999 Murayama et al. ......... 7091216
`8/1999 Connery et al .......... 395/200.8
`8/1999 Ram et al. .................. 710/128
`811999 Hoese et al. ................ 710/129
`911999 Stakuis et al. ................ 707/10
`1011999 Osborne ................ 395/200.75
`1011999 Mizutani et al. ............ 7091236
`11/1999 Geiger et al ................ 370/349
`11/1999 Radogna et al. ............ 370/392
`1111999 Delp et al. .................. 7091226
`11/1999 Blumenau ................... 709/301
`12/1999 Roach et al.
`............... 370/276
`12/1999 Panner et al. .................. 710/5
`112000 Lowe ......................... 7091250
`212000 Gentry, Jr.
`.................. 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 al.
`.............. 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 Lakshman et al ........... 3701235
`6/2000 Osborne ..................... 7091250
`8/2000 Gotesman et al. .......... 370/474
`8/2000 Goshey et al ............... 709/321
`8/2000 Chang et al.
`............... 359/123
`912000 Ota et al.
`................ 455/422.1
`912000 Bennett et al.
`1012000 Whitney ........................ 710/5
`1012000 Anand et al. ................. 710115
`1112000 Ghaffari
`........................ 710/5
`1212000 Narad et al. ................ 7091228
`112001 Flanders et al ............. 370/401
`112001 Jolitz et al.
`112001 Branstad et al. ............ 370/412
`3/2001 Gates et al.
`.................. 71 0120
`4/2001 Mayer et al.
`............... 370/392
`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
`9/2001 Dowling et al ............. 370/419
`10/2001 Suri et al .................... 710/100
`11/2001 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, Jr.
`.................. 7091250
`4/2002 Anand et al. ................. 710115
`5/2002 Wills et al. ................. 7091217
`5/2002 Muller et al ................ 7091226
`5/2002 Boucher ..................... 7091243
`7/2002 Tillier ........................... 710/1
`712002 Hoese et al. ................ 710/129
`7/2002 Elzur ......................... 7091224
`7/2002 Boucher et al.
`............ 7091238
`8/2002 Gentry, Jr.
`.................. 710/260
`912002 Elzur et al. ................. 7091236
`912002 Muller et al ................ 7091250
`1012002 Bellaton et al.
`............ 370/392
`11/2002 Muller et al ................ 370/389
`
`WISTRON CORP. EXHIBIT 1001.002
`
`
`
`US 7,337,241 B2
`Page 3
`
`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,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,697,868 B2
`6,765,901 Bl
`6,807,581 Bl
`6,842,896 Bl
`6,912,522 B2
`6,941,386 B2
`6,965,941 B2
`200110004354 Al
`200110013059 Al
`200110014892 Al
`200110014954 Al
`200110025315 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
`
`1112002 Klausmeier et al . ..... 370/395.1
`1112002 Dowling
`12/2002 Teich et al .................. 7091250
`12/2002 Accarie ........ ...... ........... 710/8
`212003 Pavlin et al.
`............... 713/192
`212003 Yang et al.
`................. 7091230
`5/2003 Connery et al.
`............ 370/419
`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.
`212004 Craft et al.
`................. 7091230
`7/2004 Johnson et al. ............. 370/352
`1012004 Starr et al. .................. 7091250
`112005 Redding et al.
`............ 717/172
`6/2005 Edgar
`912005 Craft et al.
`................. 7091250
`1112005 Boucher et al.
`7091230
`6/2001 Jolitz
`8/2001 Dawson et al.
`8/2001 Gaither et al.
`8/2001 Purcell et al.
`9/2001 Jolitz
`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
`4/2003 Oren .......................... 714/758
`6/2003 Szczepanek et al. ........ 7111100
`912003 Minami et al.
`370/466
`3/2004 McDaniel
`3/2004 Angelo et al.
`8/2004 Elzur
`10/2004 Johnson et al.
`12/2004 Gyugyi et al.
`
`709/217
`707/200
`................. 714/4
`
`713/168
`
`370/469
`370/395.31
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`WOl98/50852
`WOl99104343
`WO 99/65219
`WO 00/13091
`WO 01104770 A2
`WO 01105107 Al
`WO 01105116 A2
`WO 01105123 Al
`WO 01140960 Al
`WO 01159966
`WO 01186430
`
`1111998
`111999
`12/1999
`312000
`112001
`112001
`112001
`112001
`6/2001
`8/2001
`1112001
`
`OTHER PUBLICATIONS
`
`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 1 OOBASE-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/Southridge 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.
`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
`Management Team with Two Key Executives", http://www.
`ireadyco.comlarchives/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.
`cornlproducts,htrnl, 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.
`cornltechnology.htrnl, 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.htrnl.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.
`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 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-32 10/6410 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.
`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.
`U.S. Appl. No. 601053,240, filed Jul. 18, 1997, Jolitz et al.
`U.S. Appl. No. 08/964,304, by Napolitano, et aI., entitled "File
`Array Storage Architecture", filed Nov. 4, 1997.
`"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 Ques(cid:173)
`tions", 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 aI., 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 aI., 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," 16 pages,
`printed Jun. 5, 1997.
`
`WISTRON CORP. EXHIBIT 1001.003
`
`
`
`US 7,337,241 B2
`Page 4
`
`Jato Technologies article entitled "Network Accelerator Chip Archi(cid:173)
`tecture," twelve-slide presentation, printed Aug. 19, 1998.
`EETimes article entitled "Enterprise System Uses Flexible Spec,"
`dated Aug. 10, 1998, printed Nov. 25, 1998.
`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.
`Internet pages entitled "DART: Fast Application Level Networking
`via Data-Copy Avoidance," by Robert J. Walsh, printed Jun. 3,
`1999.
`Internet pages of InterProphet entitled "Frequently Asked Ques(cid:173)
`tions", by Lynne Jolitz, printed Jun. 14, 2000.
`Internet pages entitled "iReady Products," printed Nov. 25, 1998.
`Andrew S. Tanenbaum, "Computer Networks," Third Edition, 1996,
`ISBN 0-13-349945-6.
`Form lO-K for Exelan, Inc., for the fiscal year ending Dec. 31, 1987
`(10 pages).
`Form lO-K for Exelan, Inc., for the fiscal year ending Dec. 31, 1988
`(10 pages).
`"Second Supplement Information Disclosure Statement per 37
`C.F.R. § 1.97(i)", dated Jui. 29, 2002 relating to Exelan Inc. as
`submitted in U.S. Appi. No. 09/464,283.
`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 Imple(cid:173)
`mentation", from 15th Conference on Local Computer Networks, 5
`pages, Sep. 30-0ct. 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-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 et ai., IEEE article entitled "FXI000: A high 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 al., IEEE Global Telecommunications Conference,
`Globecom '92, presentation entitled, "Parallel TCP for High Per(cid:173)
`formance Communication Subsystems", 7 pages, Dec. 6-9, 1992.
`Lilienkarnp et ai., Publication entitled "Proposed Host-Front End
`Protocol", 56 pages, Dec. 1984.
`Thia, YH. Publication entitled "High-Speed OSI Protocol Bypass
`Algorithm with Window Flow Control", Protocols for High Speed
`Networks, pp. 53-68, 1993.
`Thia, YH. Publication entitled "A Reduced Operational Protocol
`Engine (ROPE) for a multiple-layer bypass architecture", Protocols
`for High Speed Networks, pp. 224-239, 1995.
`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.
`U.S. Appi. No. 08/964,304, by Napolitano, et ai., entitled "File
`Array Storage Architecture", filed Nov. 4, 1997.
`"File System Design For An NFS File Server Appliance", Article by
`D. Hitz, et ai., 13 pages, Jui. 17, 2003.
`Adaptec Press Release article entitled "Adaptec Announces
`EtherStorage Technology", 2 pages, May 4, 2000, printed Jun. 14,
`2000.
`Adaptec article entitled "EtherStorage Frequently Asked Ques(cid:173)
`tions", 5 pages, printed Jui. 19, 2000.
`Article from Rice University, Department of Computer Science
`entitled "Lazy Receiver Processing (LRP): A New Network Sub(cid:173)
`system Architecture for Server Systems", by Peter Druschel and
`Gaurav Banga, 15 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.
`* cited by examiner
`
`WISTRON CORP. EXHIBIT 1001.004
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 1 of 89
`
`US 7,337,241 B2
`
`r - - - - - - - - - - - - - - - - - - - - - - - - . . . ,
`HOST
`I
`f---
`I
`I
`1
`I
`I
`I
`1
`1
`1
`
`35~
`STORAGE f-----
`
`28
`
`'\
`
`I - -
`
`CPU
`
`20
`
`.".-
`
`1
`
`1
`
`1
`I
`1
`
`1
`1
`1
`I
`__ I
`
`I
`I
`I
`I
`I
`I
`I
`30 1
`~ CPD
`
`r 22
`
`REMOTE
`HOST
`
`1 -
`
`~33
`
`I
`1
`1
`I
`L _____ -----------------
`
`25\
`
`FIG. 1
`
`( 46
`
`(50
`
`42,,-
`
`CONTEXT - ) :
`
`J
`
`54
`
`r-
`40
`
`UPPER
`LAYER
`UPPER LAYER
`INTERFACE
`
`TRANSPORT
`
`52
`~
`
`NETWORK
`
`38~
`,-- DATA LINK
`36
`
`J~
`
`56
`~
`
`30\
`
`~ 48\ ..
`.
`
`STORAGE
`
`~
`35
`
`~8
`
`\
`
`44
`
`INIC/CPD
`
`FIG. 2
`
`WISTRON CORP. EXHIBIT 1001.005
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 2 of 89
`
`US 7,337,241 B2
`
`RECEIVE PACKET
`FROM NETWORK
`BYCPD
`
`VALIDATE PACKET,
`SUMMARIZE
`HEADERS
`
`47
`
`57
`
`61
`
`5~
`
`FAST PATH
`CANDIDATE?
`
`NO
`
`SEND PACKET TO
`STACK POR SLOW-
`PATH PROCESSING
`
`67
`
`YES
`
`53
`
`65
`
`MATCH WITH
`CCB?
`
`NO
`
`SEND PACKET TO
`STACK FOR SLOW-
`PATH PROCESSING
`
`YES
`
`69
`
`SEND TO
`DESTINATION
`IN HOSTVTA
`FAST-PATH
`
`FIG. 3
`
`CREATE CCB FOR
`MESSAGE
`
`51
`
`WISTRON CORP. EXHIBIT 1001.006
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 3 of 89
`
`US 7,337,241 B2
`
`REMOTE
`HOST
`
`25
`
`32
`
`FIG.4A
`
`65 r - - - - - - - l
`SESS f----~__=_o 63
`I
`I
`T~S 40
`'
`,
`NETW
`38
`,
`DLfNK
`36
`:
`~44
`
`REMOTE
`HOST
`
`42 68 ,-------1
`~~-~S~E~S~S_r--~~I ~1 66
`:
`~~==~~~~I TRANS
`I
`30~
`40 35:
`I
`I 55
`25
`~
`38
`NETW
`I
`'-1
`f------L--~RECElVE LOGIC I
`~ _______ :
`DLINK
`36
`I
`I
`~--~
`32~------------' 56
`FIG.4B
`
`~44
`
`REMOTE
`HOST
`
`REMOTE
`HOST
`
`72
`1------------1
`'
`60
`~' t - J ' L-,,.----r1
`2 2
`,
`30~ ,
`25
`~~,
`
`62
`42
`40
`38
`36
`
`32
`
`FIG.4C
`
`,
`r--- - - -1
`,
`'
`1 21
`,
`35
`'
`70'
`~ 66
`:
`I
`,
`L _______ ,
`
`SESS
`TRANS
`NETW
`DLINK
`
`~44
`
`----- 76
`CCB
`:
`40
`'-r-r-.--,---,-C_A_C_HE---I:
`PROCESSOR ,55 38
`36
`\.78
`
`___________ J
`
`f--7----L--~
`
`TRANS
`NETW
`
`DLINK
`
`FIG.4D
`
`-1
`
`r--r---1~ I ,
`L--~'--r-' , ,
`80 : ,
`
`WISTRON CORP. EXHIBIT 1001.007
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 4 of 89
`
`US 7,337,241 B2
`
`99
`22
`r - - - - - - - - - - - -1
`~~~~ 60: ~~
`~T~~~E~SN~S S~-L-7-r~fI :
`MOTE 30 ~MEMI
`RE
`1
`--'
`-.. i ,--'---___ --'---,
`NETW
`:
`HOST
`25
`1
`1
`I~----,,----i DLINK
`- - -,- - --
`L , - - - - - - - - '
`96
`35 --(cid:173)
`~44
`
`-..
`
`1
`
`1
`
`FIG. 5
`
`1
`
`/
`
`152-, - - - - - - - - - - - - - - -1
`1 ' I
`1
`FAST-PATH
`: > SOURCEIDEST
`168 -r
`
`... ~
`
`166
`
`1
`..1
`
`1
`
`APPLICATION
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`
`164~ TRANSPORT
`162
`~~ NETWORK
`160~
`1 SLOW-PATH
`
`1 HARDWARE LOGIC
`I
`:~
`L __________________ ' . C 157
`171
`FIG. 6
`
`1
`
`~155
`,~
`
`1
`
`15l
`:---L---t -------\- -
`
`150~, 170
`
`185
`
`1
`
`PROCESSOR
`
`1
`
`1
`
`1
`
`S
`
`DATA LINK
`
`1
`
`.1 _____ \: _______
`
`158
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`
`1
`-'
`
`WISTRON CORP. EXHIBIT 1001.008
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 5 of 89
`
`US 7,337,241 B2
`
`MEDIA ACCESS ~ 172
`CONTROLLER
`
`,
`ASSEMBLY ~ 174
`REGISTER
`
`(178
`)
`
`1-------1-.~ FLYBY
`.~----~SEQUENCER
`
`~
`~-----l
`
`PACKET
`CONTROL
`SEQUENCER
`J
`
`Ir
`
`QUEUE
`184~ MANAGER
`
`1
`
`MULTIPLEXOR~ 180
`
`SRAM
`
`SRAM
`CONTROL
`
`11r
`
`DRAM CONTROL
`
`--
`
`( 186
`
`1r
`
`DRAM ~188
`
`FIG. 7
`
`WISTRON CORP. EXHIBIT 1001.009
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 6 of 89
`
`US 7,337,241 B2
`
`176
`---------------
`
`PACKET
`CONTROL
`SEQUENCER
`
`174
`
`)
`
`...
`
`ASSEMBLY
`REGISTER
`
`r
`
`r----- 191
`
`MAC
`SEQUENCER
`
`r--------- 192
`
`NETWORK
`SEQUENCER
`
`178
`
`,
`
`TRANSPORT
`SEQUENCER
`
`___________ 194
`
`-
`
`,Ir
`
`SESSION ~195
`SEQUENCER -
`
`\180
`
`r
`
`MULTIPLEXOR
`
`FIG. 8
`
`WISTRON CORP. EXHIBIT 1001.010
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 7 of 89
`
`US 7,337,241 B2
`
`270
`
`I
`
`FAST-PATH :~ SOURCEIDEST
`t34r~ __ ~~~~\_~3~_}2~4( ~l _ ~ 237
`~~
`--~r -~ -I
`r--P-R-O-C-,E-S-S-O-R-'----I--)r--h:
`1
`1
`:
`
`:
`1
`~ HARDWARE LOGIC 4
`262~HARD
`OGC
`~
`WARE L
`I 3 S
`217
`1 (sI
`L
`242 I I ' HARDWARE LOGIC 21\
`: HARDWARE LOGIC 1
`'--
`" L;:'::'210-nn-tn_n26~- '. C .' n ____ \~~---'
`1
`
`222--i
`1 APPLICATION
`_
`220: t - - - - - - -H
`217---------r TRANSPORT
`1
`215~t-----.-.----H
`1 NETWORK
`- '-- 1
`1
`: SLOW-PATHi MAC
`1
`
`1
`
`231
`
`1
`
`I
`
`1
`:
`1
`
`240 J
`
`~t,
`
`~
`
`250
`
`205
`
`202
`
`FIG. 9
`
`TDIUSERS ~ 382
`- - -
`TDI FILTER DRIVER
`380 I~
`& UPPER LAYER INTERFACE
`
`370 I~ ATCP
`
`360
`
`---
`TCP ~ 358
`
`366
`.~
`
`IP
`
`IP ~ 355
`
`350
`
`363 ~ MAC
`- - -
`375 ~ NDIS
`""
`,If
`
`MAC ~ 353
`- - -
`
`""
`
`~
`
`377 ~ INIC MINIPORT DRIVER
`
`FIG. 11
`
`WISTRON CORP. EXHIBIT 1001.011
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 8 of 89
`
`US 7,337,241 B2
`
`r-~------------------------------I
`
`300
`~ 318~ UPPERLAYER
`
`I
`I
`I
`
`I<IIIII~""JI-: ___ .....,
`
`UPPER LAYER INTERFACE
`
`I
`I
`I
`I
`I
`316
`I
`TRANSPORT ~
`:
`
`202/~,_~
`I
`I
`:
`I
`I
`I
`330~
`I
`I
`325~ TRANSPORT
`I
`I
`
`322~ NETWORK
`
`NETWORK ~ 314
`
`I
`I
`I
`I
`320~ DATA LINK
`DATALINK ~ 312
`I
`I
`I
`~ - - -----;:---- - - - -- - - - - - ~ , - -"-=-310-J
`
`306 ~ INTC MINIPORT DRIVER
`
`240~
`
`200~
`
`(
`
`210
`
`INIC
`
`INIC
`MEMORY ~304
`
`FIG. 10
`
`WISTRON CORP. EXHIBIT 1001.012
`
`
`
`"""'" = N
`
`~
`N
`---l
`W
`W
`---l
`rJl
`d
`
`FIG. 12
`
`242
`
`244
`
`240
`
`___ J
`
`L _____ _
`
`L ________ ~ ________ _
`
`INIC
`
`210
`
`INIC
`
`MAC
`
`IP
`
`TCP
`
`NETBIOS
`
`5MB
`
`150
`
`160
`
`162
`157
`164
`
`166
`
`168
`
`I
`190 ,~...--"1
`I
`r------------------~
`
`CLIENT
`
`\0
`QO
`
`o ....
`\0
`.....
`rFJ =(cid:173)
`
`('D
`('D
`
`QO
`o
`N o
`~Cl\
`N
`?'
`('D
`""f'j
`
`~ = ~
`
`~
`~
`~
`•
`7Jl
`
`e •
`
`200
`
`212
`
`215
`
`_____ 231
`217
`
`220
`
`222
`
`I
`I
`
`MAC
`
`IP
`
`TCP
`
`NETBIOS
`
`5MB
`
`237
`
`.-------SERVER ------1_...--, 290
`
`--l.--159
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`WISTRON CORP. EXHIBIT 1001.013
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 10 of 89
`
`US 7,337,241 B2
`
`210
`
`400_, 240
`\
`___ ____ 1 _ ___ _
`
`MAC-A
`
`402 MAC-B
`
`200
`~
`
`04
`
`42
`
`244
`
`MAC-C
`
`406
`
`MAC-D
`
`1
`1
`
`:
`
`- - - -1
`
`410
`
`412
`
`414
`
`1
`1
`1
`
`1
`
`416 1
`
`XMT &
`RCV-A
`
`418
`
`XMT&
`RCV-B
`
`420
`
`XMT&
`RCV-C
`
`422
`42
`
`XMT&
`RCV-D
`
`428
`
`426
`
`REG FILE
`WCS
`ROM
`
`480
`
`477
`
`430
`
`43
`
`440
`
`SRAM
`
`EXTERNAL
`MEMORY
`CTRL
`
`,- - - - - ----,
`'438
`'441
`:
`
`1
`
`: DMA CTRL
`1
`1
`
`1
`
`~---MICR6-----,
`470
`1
`PROCESSOR
`L - /
`UTILITY
`486 :
`SRAM
`TRANSMI ~! CTRL
`RECEIVE : 472
`:
`442
`1
`484
`1
`[ __________ \_1
`\~444
`4 82 :
`
`446
`
`450
`
`468
`
`(
`
`1
`1
`1
`
`455
`I - - - - - - - J
`
`DRAM
`
`460
`
`,4~~ f -: -----~
`
`PCI BU~6:1ERF ACE UNIT
`
`1
`
`1
`
`1 ____ -_ - - - - - - - - - - - - - - - - - -
`
`257
`
`FIG. 13
`
`1
`1
`1
`1
`1
`___________________ J
`
`WISTRON CORP. EXHIBIT 1001.014
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 11 of 89
`
`US 7,337,241 B2
`
`CLOCK r- _(- ____ __ j! ______ L ______ /- _____ _ L ______ ~ __
`
`/
`
`/
`I
`I
`I
`I
`I
`I
`
`/
`
`1
`
`1
`
`49~
`
`CONTROLS FOR FIRST REGISTER SET
`
`/
`
`500\
`,
`
`I~
`
`~
`
`FIRST REGISTER SET
`
`)
`I
`I
`I
`I I
`I
`I
`, ,
`I
`>--1 - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - - - - ---
`
`505 ~
`
`533)
`
`RAM FILE
`REGISTER
`1--
`
`490\
`
`/
`
`/
`I
`I
`I
`I
`I
`I
`I
`J
`
`/
`
`, ,
`560(
`
`I
`I
`
`498\
`
`r
`
`INSTRUCTION DECODER
`AND
`OPERAND MULTIPLEXER
`
`496\1
`
`~
`
`,
`
`SECOND REGISTER SET
`
`~ I
`I
`II I
`I
`I
`I , ,
`>-- 1 - - - - - - - - - - - - - - - - - - - - - - c-------- - - - - - - - - - - - -
`,
`
`/
`
`/
`I
`I
`I
`STACK
`I
`I EXCHANGE
`I
`I
`~608
`
`/
`
`/
`
`600"" , ,
`
`ARITHMETIC LOGIC UNIT
`
`QUEUE
`
`602)
`
`503)
`
`)
`I
`I
`III :
`
`(:"
`470
`
`r
`
`r
`
`r
`
`r
`
`r
`
`THIRD REGISTER SET
`501~
`
`'--~------~----- ~------~------~----- ~--
`
`FIG. 14
`
`WISTRON CORP. EXHIBIT 1001.015
`
`
`
`"""'" = N
`
`~
`N
`-....l
`W
`W
`-....l
`rJl
`d
`
`\0
`QO
`
`o ....
`N
`....
`.....
`rFJ =(cid:173)
`
`('D
`('D
`
`QO
`o
`N o
`~Cl\
`N
`?'
`('D
`""f'j
`
`~ = ~
`
`~
`~
`~
`•
`7Jl
`
`e •
`
`ADDR
`PC ISTACKIDEBUG
`
`505 ""--
`
`1
`
`J
`
`517)
`
`•
`
`510
`
`508)
`
`502) I 504) I 506)
`
`~---L-L---L---/----L--L---/---/L---r=1L--L--J!---L--
`
`\
`\
`
`500
`
`CTRL
`LOAD
`
`J
`
`...
`
`I.
`
`PIN ADDR
`
`•
`
`Ir
`
`DEC
`FLAG
`
`•
`
`•
`
`J
`
`r
`
`(:
`~ &
`:
`I
`I
`I
`I
`I
`:
`492:
`( !
`CTRL CTRL CTRL
`J--..ISRAM\LOADILOAD
`I
`I
`I
`I
`I
`
`J
`
`Ir
`
`•
`
`...
`
`•
`
`FIG. 15A
`
`ADDR ADDR
`
`DOUT DOUT
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-~ -
`
`-
`
`--1--
`
`-
`
`I--
`
`-
`
`-
`
`-
`
`-
`
`1--1-----
`
`538) I 540) I 544) I 548)
`
`REGISTER
`RAM FILE
`
`...
`
`•
`
`•
`
`J
`
`• J
`
`__ --1--
`
`----
`
`L ___ _
`I
`I
`
`REG IADDR
`D~IINSTR~ETCH
`J
`
`~.
`
`535 \
`
`•
`
`C
`
`ADDR
`J ~.
`
`533 \
`
`r
`
`,
`
`(' DATA CTX
`FILE
`...
`
`ADDR
`
`•
`
`490 I 5 20 TI---L-TT-.L=-n~L,.--~-.--.----
`CCS REGS
`ALU FLAG
`
`WISTRON CORP. EXHIBIT 1001.016
`
`
`
`"""'" = N
`
`~
`N
`-.....1
`W
`W
`",-.....1
`rJl
`d
`
`\0
`QO
`
`o ....
`....
`.....
`rFJ =(cid:173)
`
`(.H
`
`('D
`('D
`
`QO
`o
`N o
`~Cl\
`N
`?'
`('D
`""f'j
`
`~ = ~
`
`~
`~
`~
`•
`7Jl
`
`e •
`
`•
`
`..
`
`r
`
`•
`
`r
`
`FIG. 15B
`
`r
`
`r
`
`..
`
`r
`
`r
`
`L-----~----+----~----~---~----4----+----~----~---~----~----~------
`I
`
`579) 1580) 1582) 15871585) I 587} 158----;; 1590) I 59) 1594) 1598)
`
`496: 577
`
`, •
`
`ADDR
`PC ISTACKIDEBUG
`
`•
`
`..
`
`575)
`
`CTRL
`PGM
`
`•
`
`SEL QCMD
`
`SEL
`
`OP
`
`•
`
`T
`I FILE I ALU \ ALU ALU I TEST I FLAG IQCH&I LI
`..
`..
`
`r CTX OPDS CCS
`..
`
`~
`
`:
`I
`I
`I
`I
`I
`I
`
`CTRL I
`'"
`LOAD~ ,
`
`505~
`
`•
`
`•
`
`..
`
`570)
`
`568)
`
`INCR
`
`INCR
`
`•
`
`REGISTER
`RAM F