`
`US 7,337,241 B2
`Page 2
`
`u.s. PATENT DOCUMENTS
`5,056,058 A
`1011991 Hirata et al. ................ 7091230
`5,058,110 A
`1011991 Beach et al. ............... 370/85.6
`311992 Ward et al. ................... 365/78
`5,097,442 A
`5,163,131 A
`1111992 Row et al. .................. 395/200
`5,212,778 A
`511993 Dally et al. ................. 395/400
`111994 Trapp ........................ 370/85.1
`5,280,477 A
`5,289,580 A
`211994 Latif et al. .................. 395/275
`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
`5,448,566 A
`911995 Richter et al. ............. 370194.1
`111996 Dobbins et al.
`............ 3701255
`5,485,455 A
`5,485,460 A
`111996 Schrier et al.
`.............. 703/227
`111996 Hitz et al .............. 395/200.12
`5,485,579 A
`5,506,966 A
`411996 Ban ........................... 395/250
`5,511,169 A
`411996 Suda .......................... 395/280
`511996 Szwerinski et al. ......... 395/800
`5,517,668 A
`5,524,250 A
`611996 Chesson et al.
`............ 395/775
`5,535,375 A
`711996 Eshel ... ... ..... ... ... ... ...... 703/27
`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
`5,574,919 A
`1111996 Netravali et al.
`........... 7121220
`5,588,121 A
`1211996 Reddin et al.
`......... 395/200.15
`1211996 Seno et al.
`................. 395/675
`5,590,328 A
`111997 Isfeld et al.
`........... 395/200.02
`5,592,622 A
`5,598,410 A
`111997 Stone ......................... 370/469
`411997 Bach et al ............. 395/200.01
`5,619,650 A
`511997 Delp et al. .................. 370/411
`5,629,933 A
`5,633,780 A
`511997 Cronin ....................... 3611220
`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
`5,664,114 A
`911997 Krech, Jr. et al.
`...... 395/200.64
`5,671,355 A
`911997 Collins .................... 395/200.2
`5,678,060 A
`1011997 Yokoyama et al.
`......... 7091212
`1011997 Kapoor et al. .............. 7091203
`5,682,534 A
`5,692,130 A
`1111997 Shobu et al.
`.......... 395/200.12
`1211997 Sartore et al.
`......... 395/230.06
`5,699,317 A
`5,699,350 A
`1211997 Kraslavsky ................. 3701254
`1211997 Nakagawa .................. 395/484
`5,701,434 A
`5,701,516 A
`1211997 Cheng et al.
`............... 395/842
`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
`5,749,095 A
`511998 Hagersten ................... 7111141
`5,751,715 A
`511998 Chan et al. ................. 370/455
`511998 Delp et al. .................. 395/827
`5,752,078 A
`5,758,084 A
`511998 Silverstein et al.
`. ... 395/200.58
`5,758,089 A
`511998 Gentry et al ........... 395/200.64
`511998 Hamilton et al. ........... 395/831
`5,758,186 A
`511998 Kuzma ....................... 395/886
`5,758,194 A
`5,768,618 A
`611998 Erickson et al. ... ... ... ... ... 71019
`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
`5,802,258 A
`911998 Chen ..................... 3951182.08
`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
`1011998 Isfeld et al.
`................ 7091200
`5,828,835 A
`5,848,293 A
`1211998 Gentry .......................... 710/5
`5,872,919 A
`211999 Wakeland ................... 7091230
`311999 Bilanskyet al ........ 395/200.57
`5,878,225 A
`5,892,903 A *
`411999 Klaus ......................... 7091227
`5,898,713 A
`411999 Melzer et al.
`................ 371153
`611999 Wang et al.
`........... 395/200.53
`5,913,028 A
`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
`........................ 710/5
`1112000 Ghaffari
`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
`
`Ex.1001.002
`
`DELL
`
`
`
`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.
`
`Ex.1001.003
`
`DELL
`
`
`
`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
`
`Ex.1001.004
`
`DELL
`
`
`
`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
`
`Ex.1001.005
`
`DELL
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`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
`
`Ex.1001.012
`
`DELL
`
`
`
`
`
`
`
`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"" , ,
`
`)
`I
`I
`III :
`
`(:"
`470
`
`ARITHMETIC LOGIC UNIT
`
`QUEUE
`
`602)
`
`503)
`
`r
`
`r
`
`r
`
`r
`
`r
`
`THIRD REGISTER SET
`501~
`
`'--~------~----- ~------~------~----- ~--
`
`FIG. 14
`
`Ex.1001.015
`
`DELL
`
`
`
`500
`
`\
`\
`
`J
`
`I
`I
`I
`I
`I
`J--..ISRAM\LOADILOAD
`( !
`CTRL CTRL CTRL
`492:
`:
`I
`I
`I
`...
`I
`I
`ADDR
`:
`~ &
`ALU FLAG
`FILE
`CCS REGS
`(:
`(' DATA CTX
`490 I 5 20 TI---L-TT-.L=-n~L,.--~-.--.----
`
`~---L-L---L---/----L--L---/---/L---r=1L--L--J!---L--
`•
`•
`I.
`...
`r
`
`FLAG
`DEC
`
`•
`Ir
`PIN ADDR
`
`J
`
`LOAD
`CTRL
`
`502) I 504) I 506)
`
`508)
`
`•
`
`,
`
`r
`
`533 \
`J ~.
`ADDR
`C
`
`510
`
`535 \
`~.
`
`J
`•
`D~IINSTR~ETCH
`REG IADDR
`
`517)
`
`J
`
`1
`
`505 ""--
`
`•
`
`PC ISTACKIDEBUG
`ADDR
`
`I
`I
`L ___ _
`
`- - - -
`
`__ - -1 - -
`
`• J
`
`J
`
`•
`
`•
`
`...
`
`RAM FILE
`REGISTER
`
`538) I 540) I 544) I 548)
`
`1--1-----
`
`-
`
`-
`
`-
`
`-
`
`I- -
`
`-
`
`- -1- -
`
`-
`
`- ~ -
`
`-
`
`-
`
`-
`
`-
`
`-
`
`•
`
`...
`
`•
`
`Ir
`
`J
`
`DOUT DOUT
`
`ADDR ADDR
`
`FIG. 15A
`
`e •
`
`7Jl
`•
`~
`~
`~
`
`~ = ~
`
`""f'j
`('D
`?'
`N
`~Cl\
`N o
`o
`QO
`
`('D
`('D
`
`rFJ =(cid:173)
`.....
`....
`N
`o ....
`
`QO
`\0
`
`d
`rJl
`-....l
`W
`W
`-....l
`N
`~
`
`"""'" = N
`
`Ex.1001.016
`
`DELL
`
`
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`SCRATCH
`SRAM
`)
`:
`I 565
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`..
`
`: 498 J
`
`I
`I
`I
`I
`I
`I
`:
`
`560-
`\
`\ _..1 ___ _
`
`------4----*----~--
`
`•
`
`ADDR DIN
`C
`C
`
`1 - - - - - - - ----~----~----------
`
`RAM FILE
`REGISTER
`
`•
`
`..
`
`•
`
`r--I DOUT DOUTh
`
`ADDR ADDRI
`I
`)
`1533
`
`• •
`
`•
`
`INSTRUCTION DECODER
`AND
`OPERAND MULTIPLEXER
`
`INCR
`
`INCR
`
`568)
`
`570)
`
`..
`
`•
`
`505~
`
`•
`
`LOAD~ ,
`'"
`CTRL I
`
`575)
`
`~
`
`•
`
`PGM
`CTRL
`
`..
`
`•
`
`PC ISTACKIDEBUG
`ADDR
`
`..
`..
`•
`..
`r CTX OPDS CCS
`I FILE I ALU \ ALU ALU I TEST I FLAG IQCH&I LI
`OP
`SEL
`SEL QCMD
`T
`579) 1580) 1582) 15871585) I 587} 158----;; 1590) I 59) 1594) 1598)
`, •
`..
`
`496: 577
`I
`L-----~----+----~----~---~----4----+----~----~---~----~----~------
`r
`r
`
`•
`
`r
`
`..
`
`•
`
`r
`r
`FIG. 15B
`
`r
`
`e •
`
`7Jl
`•
`~
`~
`~
`
`~ = ~
`
`""f'j
`('D
`?'
`N
`~Cl\
`N o
`o
`QO
`
`('D
`('D
`
`(.H
`
`rFJ =(cid:173)
`.....
`....
`o ....
`
`QO
`\0
`
`d
`rJl
`",-.....1
`W
`W
`-.....1
`N
`~
`
`"""'" = N
`
`Ex.1001.017
`
`DELL
`
`
`
`600 ---\
`\
`\
`L-4----+----~----~---~----4----+----~----~---~----~-----~-----
`
`..
`
`ALU
`
`•
`
`602)
`
`..
`
`I
`
`TEST I-t--iQRAM
`&
`I
`MUX
`QALU
`
`..
`..
`6047r- 1606
`..
`..
`
`e •
`
`7Jl
`•
`~
`~
`~
`
`~ = ~
`
`STACK
`EXCHANGE
`
`LOAD
`CTRL
`
`""f'j
`('D
`0"
`N
`0\
`N
`0
`0
`QO
`
`~
`
`608
`
`..
`
`•
`
`•
`
`•
`
`505~
`
`I
`
`...
`
`LIT PGM
`CTRL
`
`PC STACK DEBUG
`ADDR
`
`rFJ =(cid:173)
`('D a ....
`o ....
`
`.j;o.
`
`QO
`\0
`
`..
`
`•
`
`•
`
`*'
`QFLGS
`DEST
`FILE ALU ALU OPD TEST FLAG
`&
`CTX· OUT CCS RSLT RSLT SEL QADDR
`
`•
`
`616
`
`FIG. 15C
`
`d
`rJl
`-....l
`W
`W
`-....l
`N
`~
`
`"""'" = N
`
`Ex.1001.018
`
`DELL
`
`
`
`
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 17 of 89
`
`US 7,337,241 B2
`
`900
`
`LRU
`
`"-~ 1 ~O 1 ~1 1 ~ I. . 1 ~71 ~~ 1 ~b I. . R13 R14 R15
`FIG.19A
`
`MRU
`
`13
`
`4
`
`6
`
`900
`
`LRU
`
`"-I ~O 1 ~l 1 ~ I. . 1 ~; I ~~ I ~91· . R13 R14 R15
`
`MRU
`
`4
`
`6
`
`9
`
`FIG.19B
`
`900
`
`LRU
`
`"-I ~O I ~1 1 ~21· . 1 ~; 1 ~8 1 Ri I. . R13 R14 R 15
`
`MRU
`
`6
`
`9
`
`10
`
`FIG. 19C
`
`900
`
`LRU
`
`"-I ~O I ~1 I~I .. I ~7 I ~~ 1 ~9 I. . Rl3 R14 R15
`
`MRU
`
`6
`
`9
`
`10
`
`FIG. 19D
`
`Ex.1001.021
`
`DELL
`
`
`
`,---,
`
`,---,
`
`r-----o
`
`I,
`
`/'
`
`/
`
`"T
`
`[ ,ira
`/Jl£t
`11G
`li
`MUX
`~~ T
`~~ "T
`~M~
`:1 0
`Wr------i to-J I f II rt7 r I 1 J-L I R8 r I 1 J-l I R9 ~
`~v ~ ~ L~' ~--I I~ 12 ~--I I~ 1
`u
`
`CO
`~y944
`939 ~ ~
`
`U
`C7
`
`U
`C8
`
`U
`C9
`
`949
`~
`
`1
`
`954
`
`~ ,
`
`959
`~
`
`~966
`
`LOGIC CIRCUITS
`,
`
`930J
`
`1
`
`-rr--'til
`,--..jMUX
`I ~ 15
`
`--r-
`
`/
`
`t
`L...rHY R15 r(cid:173)
`IO
`
`"/
`
`~915
`
`~910
`
`"-900
`
`-.----- 920
`
`r-- 935
`
`-1
`CIS
`
`1
`
`PROCESSOR
`
`I - -
`
`FIG. 20
`
`470~
`
`e •
`
`7Jl
`•
`~
`~
`~
`
`~ = ~
`
`""f'j
`('D
`?'
`N
`~Cl\
`N o
`o
`QO
`
`('D
`('D
`
`QO
`
`rFJ =(cid:173)
`.....
`....
`o ....
`
`QO
`\0
`
`d
`rJl
`",--...1
`W
`W
`--...1
`N
`~
`
`"""'" = N
`
`Ex.1001.022
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 19 of 89
`
`US 7,337,241 B2
`
`NETWORK
`L210
`1, . ./2101
`INIC 200
`_________ ¥ ___________ r ________________ ~
`
`PHYSICAL 2100
`LAYER
`f--.'
`INTERF
`
`1
`
`i
`
`I
`1
`
`MEDIA
`ACCESS
`
`C~R4~O ~~~
`r
`2108! 2113 2106
`SEQUENCERS
`2102
`
`r CONFIG./
`
`TXSEQ
`2104
`
`442
`
`SRAM
`
`~
`1-'475
`
`~
`
`CPU
`28
`
`1
`1
`I
`I
`:
`ASIC 400
`1------- - - - - - - - - -2 - - - - - - - - - - - - - - - - - , I
`r
`)
`I
`I I
`2230 5
`'2229
`...
`l'
`I
`1 I
`2109~ 402
`QUEUE
`I
`I I
`MNGR ~2103
`:
`PROCESSOR: :
`470
`ITXl iRXl 1 1
`1
`I I
`2112
`~.~ i
`HOST 20
`I
`: --------<:!----,
`I:
`257
`:
`~8 :
`I
`I
`I
`I
`I
`I
`1
`I
`I
`I
`:2
`PCI
`I
`BUS~
`:
`INT.
`1
`I
`STORAGE
`I
`I
`35 :
`:
`I
`I
`I
`I
`I
`I
`1
`I
`I ____________ J
`
`RXSEQ
`2105
`2228 -'i
`SRAM
`CTRL ~~------+--4-5-0+---~
`44~ r
`?
`DRAM
`jl~if~~: } 2110
`CTRL
`
`L
`I
`----------------------------------
`DRAM
`l-' 460
`
`I
`1
`
`1
`
`I
`I
`1
`1
`I
`I
`I
`I
`L _____________________________________ ~
`1
`
`STATUS
`1----L/_2~2-2-3--_______j} B U F FER
`2114
`T
`
`FIG. 21
`
`Ex.1001.023
`
`DELL
`
`
`
`
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 22 of 89
`
`US 7,337,241 B2
`
`INIC
`
`NetBIOS
`
`TCP
`
`IP
`
`MAC
`
`PHYSICAL
`
`Ethernet
`
`CLIENT
`
`'I'
`
`}I'
`
`TDI
`
`TCP
`
`IP
`
`MAC
`
`FAST-PATH
`
`SWW-PATII
`
`PCI
`
`FIG. 24
`
`Header buffer descriptors
`
`Header buffers
`
`Header a
`
`Header b
`
`Status
`
`TCP/SMB
`Headers
`(fast-path)
`
`Status
`DATA
`buffer handle
`(slow-patli)
`
`Data buffers
`
`Data buffer descrip
`tors
`DATA ~
`
`DATA
`
`DATA
`
`DATA
`
`FIG. 25
`
`Ex.1001.026
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 23 of 89
`
`US 7,337,241 B2
`
`Command
`buffer queue
`
`Commandpoinrer
`
`Commandpoinrer
`
`Commandpoinrer
`
`R~nse
`buffer queue
`
`Command
`buffer handle
`Status
`
`Command
`buffer handle
`status
`
`Command
`buffer handle
`Status
`
`~
`
`Command buffers
`
`Command
`buffer handle
`rcp context
`identifier
`Command
`Data pointers
`
`Command
`buffer handle
`TCP context
`identifier
`Command
`Data pointers
`
`Command
`buffer handle
`rep context
`identifier
`Command
`Data pointers
`
`FIG. 26
`
`Ex.1001.027
`
`DELL
`
`
`
`u.s. Patent
`
`31
`
`ERR
`Rev -------'
`XMT - - - - - - I
`
`RMISS
`
`Feb. 26,2008
`
`Sheet 24 of 89
`
`US 7,337,241 B2
`
`o
`
`Error bils are sent
`Rev has occured.
`Command has been completed
`
`Rev drop occured due to no buffers
`
`FIG. 27
`
`ISR
`IMR
`HBAR
`DBHR
`DBAR
`CBARO
`CBARI
`CBAR2
`CBAR3
`CBAR4
`RBAR
`
`\..
`
`OXO
`Ox4
`Ox8
`OXC
`OxIO
`OxI4
`Ox18
`OxIC
`Ox20
`Ox24
`Ox28
`
`fntenupt status
`fntenupt Mask
`Header Buffer Address
`Dam Buffer Handle
`Data Buffer Address
`Command Buffer Address XMTO
`Command Buffer Address XMTl
`Command Buffer Address XMT2
`Command Buffer Address XMT3
`Command Buffer Address Rev
`Response Buffer Address
`
`v
`
`FIG. 28
`
`.J
`
`Ex.1001.028
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 25 of 89
`
`US 7,337,241 B2
`
`Mbuf
`
`Mbuf
`
`Packet Desc
`
`Buffer Desc
`
`Buffer Desc
`
`Data
`
`Data
`
`FIG. 29
`
`r-------,---
`I
`I
`I
`I
`I
`I
`
`ifuet
`
`I
`
`arpcom
`
`Iface
`
`ifaddr
`
`r - -
`
`in ifaddr
`-
`
`:
`
`I
`I
`I
`I L __
`
`L- _________ _
`
`I
`
`I
`
`--.
`
`ifaddr
`
`-1
`
`FIG. 30
`
`kaddr dl
`soc
`-
`00:60:97:DB:9B:A6
`
`I
`
`-1
`
`sockaddr in
`
`192.100.1.2
`
`J
`
`Ex.1001.029
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 26 of 89
`
`US 7,337,241 B2
`
`Filter Driver
`
`Microsoft
`TCP/IP
`Driver
`
`I
`
`I
`
`ATCP
`Driver
`
`I
`
`3COM
`Minin
`DriPO ver
`
`INIC
`~rt
`Driver
`
`FIG. 31
`
`Packet Desc
`
`Packet Desc
`
`BufferDesc
`
`Buffer Desc
`
`Buffer Desc
`
`Header
`Buffer
`
`TCP
`Packet
`
`ARP
`Frame
`
`Example of incoming TCP pkt
`
`Example of incoming ARP Frame
`
`FIG. 32
`
`FIG. 33
`
`Ex.1001.030
`
`DELL
`
`
`
`Addr
`Packet desc
`. . .
`mbuf
`
`I---
`
`r - -
`
`Addr
`Packet desc=O
`. . .
`
`mbuf
`
`t
`
`Buffer desc
`...
`
`e •
`
`7Jl
`•
`~
`~
`~
`
`~ = ~
`
`Packet
`
`•
`
`Data
`Next
`
`~ Data
`Next=()
`
`t--
`
`I - -
`
`Data
`~ Buffer
`
`""f'j
`('D
`?'
`N
`~Cl\
`N o
`o
`QO
`
`r--
`
`r--
`
`Addr
`Packet desc
`r - . . .
`
`mbuf
`
`4
`
`Buffer desc
`. . .
`
`I--
`
`I -
`
`L
`
`~
`
`Packet
`
`Data
`Next:{)
`
`Buffer
`f
`
`Header
`Buffer
`
`TCP Fast~path
`
`FIG. 34A
`
`~
`
`Buffer
`
`Header
`Buffer
`
`Buffer
`
`~
`
`Data
`Buffer
`
`~
`
`TCP Slow-path
`
`FIG. 34B
`
`I I
`
`ARP Frame
`
`FIG. 34C
`
`('D
`('D
`
`rFJ =(cid:173)
`.....
`N
`-....l
`
`o ....
`
`QO
`\0
`
`d
`rJl
`-....l
`W
`w
`-....l
`N
`~
`
`""'"" = N
`
`Ex.1001.031
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 28 of 89
`
`US 7,337,241 B2
`
`Packet
`Desc
`
`Buffer
`Desc
`
`Packet
`Desc
`
`Buffer
`Desc
`
`mbuf
`~
`
`Command
`Buffer
`
`I MDL I
`I
`
`Data
`
`FIG. 35
`
`l
`
`Data
`
`Data
`
`mbuf ~
`~
`
`Command
`Buffer
`
`Data
`
`FIG. 36
`
`mbuf
`
`mbuf
`
`mbuf
`
`~
`Data
`
`Data
`
`Ex.1001.032
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 29 of 89
`
`US 7,337,241 B2
`
`Packet
`Desc
`
`lif
`
`Buffer
`Desc
`
`mbuf
`
`t
`
`Command
`Buffer
`
`FIG. 37
`
`SRAM requirements for 1he Receive and Tnmsmit engines:
`
`TCB buffers
`Header buffers
`TCB hash index
`Timers
`DRAM Fifo queues
`
`~
`
`4096
`2048
`4096
`128
`2048
`-
`"-' 12K bytes
`
`256 bytes
`128 bytes
`16 bytes
`
`128 bytes
`
`* 16
`* 16
`* 256
`* 16
`
`y
`
`FIG. 38
`
`,J
`
`Ex.1001.033
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 30 of 89
`
`US 7,337,241 B2
`
`forever {
`
`Smmnary of the main loop of Receive:
`
`while there are any Receive events {
`if (a new event) {
`if (no new context available)
`ignore the even~
`
`}
`call appropriate event handler to service the even~
`this may make a waiting process runnable or set up
`a new process to be run (get free context, hddr buffer,
`TCB buffer, set the context up).
`
`}
`while any process contexts are nmable {
`run them by jumping to the startlresume address;
`if (process complete)
`free the context;
`
`}
`
`}
`
`~ ____________________________________________ J
`y
`FIG. 39
`
`Ex.1001.034
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 31 of 89
`
`US 7,337,241 B2
`
`.Format of the 5MB header of an 5MB frame:
`
`NetBIOS header
`5MB header
`
`31
`
`TYPE
`
`0xFF
`COM
`... ERR
`
`FLAGS ~
`"s"
`"M"
`RCLS
`REH
`REBIFLG
`
`Res ~ed
`Res rved
`Res rved
`
`TID
`UID
`
`wcr
`
`I
`
`o
`
`LENGTH
`
`~
`
`"B"
`ERR ..
`
`ResetVed
`
`PID
`MID
`VWV[ ]
`
`Bee
`
`Data ...
`
`Notes (interesting fields):
`17 bit Length of 5MB message (0 - 128K)
`5MB command
`Count (16 bit) of parameter words in VWV [ ]
`Variable number of parameter words
`Bytes of data following
`
`FIG. 40
`
`Ex.1001.035
`
`DELL
`
`
`
`u.s. Patent
`
`Feb. 26,2008
`
`Sheet 32 of 89
`
`US 7,337,241 B2
`
`Summary of the main loop of Tnmsmit
`
`while there are any Transmit events {
`if (a new event) {
`if (no new context available)
`ignore the even~
`
`}
`call appropriate event handler to service the even~
`this may make a waiting process runnable or set u