`US007076568B2
`
`c12) United States Patent
`Philbrick et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 7,076,568 B2
`*Jul. 11, 2006
`
`(54) DATA COMMUNICATION APPARATUS FOR
`COMPUTER INTELLIGENT NETWORK
`INTERFACE CARD WHICH TRANSFERS
`DATA BETWEEN A NETWORK AND A
`STORAGE DEVICE ACCORDING
`DESIGNATED UNIFORM DATAGRAM
`PROTOCOL SOCKET
`
`(75)
`
`Inventors: Clive M. Philbrick, San Jose, CA
`(US); Laurence B. Boucher, Saratoga,
`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 804 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 09/802,551
`
`(22) Filed:
`
`Mar. 9, 2001
`
`(65)
`
`Prior Publication Data
`
`US 2001/0037406 Al
`
`Nov. 1, 2001
`
`Related U.S. Application Data
`
`(60) Provisional application No. 60/098,296, filed on Aug.
`27, 1998, provisional application No. 60/061,809,
`filed on Oct. 14, 1997.
`
`(51)
`
`Int. Cl.
`G06F 15116
`
`(2006.01)
`
`(52) U.S. Cl. ....................................... 709/250; 709/230
`(58) Field of Classification Search ................ 709/203,
`709/212, 217,230,232,250; 710/5, 22,
`710/23, 26, 27; 370/474
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,366,538 A
`4,589,063 A
`4,991,133 A
`5,056,058 A
`5,058,110 A
`5,097,442 A
`
`12/1982 Johnson et al. ............. 364/200
`5/1986 Shah et al.
`. ................... 710/8
`2/1991 Davis et al ................. 364/900
`10/1991 Hirata et al. ................ 709/230
`10/1991 Beach et al. ............... 370/85.6
`3/1992 Ward et al. ................... 365/78
`
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`
`WO/98/19412
`
`5/1998
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`Stevens, "TCP/IP Illustrated, vol. 1: The protocols," New
`York, 1994, pp. 143-168.*
`
`(Continued)
`
`Primary Examiner-Jungwon Chang
`(74) Attorney, Agent, or Firm-Mark Lauer; Silicon Edge
`Law Group LLP
`
`(57)
`
`ABSTRACT
`
`An interface device is connected to a host by an I/O bus and
`provides hardware and processing mechanisms for acceler(cid:173)
`ating data transfers between a network and a storage unit,
`while controlling the data transfers by the host. The interface
`device includes hardware circuitry for processing network
`packet headers, and can use a dedicated fast-path for data
`transfer between the network and the storage unit, the
`fast-path set up by the host. The host CPU and protocol stack
`avoids protocol processing for data transfer over the fast(cid:173)
`path, freeing host bus bandwidth, and the data need not cross
`the I/O bus, freeing I/O bus bandwidth. Realtime audio and
`video communication can also be provided when the inter(cid:173)
`face device is coupled by an audio/video interface to appro(cid:173)
`priate communication devices, such as microphone, a
`speaker, a camera and/or a display.
`
`20 Claims, 24 Drawing Sheets
`
`HOST MEMORY .ll
`
`I MEMORY l ~:E~Y~T~~
`
`:
`I PROTOCOL
`U.
`I
`I
`I ~li_G!_21:~
`: STACKll
`~ 1-cAcHEl ~
`I DRIVERl2. I I MGR2..6_
`I I DRIVERfil_
`I
`
`HOSTl.!l.
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 1
`
`
`
`US 7,076,568 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`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,448,566 A
`5,485,579 A
`5,506,966 A
`5,511,169 A
`5,517,668 A
`5,524,250 A
`5,548,730 A
`5,566,170 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,634,099 A
`5,634,127 A
`5,642,482 A
`5,664,114 A
`5,671,355 A
`5,678,060 A
`5,692,130 A
`5,699,317 A
`5,701,434 A
`5,701,516 A
`5,727,142 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,771,349 A
`5,778,013 A
`5,790,804 A
`5,794,061 A
`5,802,258 A
`5,802,580 A
`5,809,328 A
`5,812,775 A
`5,815,646 A
`5,848,293 A *
`5,878,225 A
`5,898,713 A
`5,909,546 A *
`5,913,028 A *
`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,991,299 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,044,438 A
`6,047,323 A
`
`ll/ 1992 Row et al. .................. 395/200
`5/ 1993 Dally et al. ................. 395/400
`1/1994 Trapp ........................ 370/85.1
`2/1994 Latif et al. .................. 395/275
`4/1994 Yokoyama et al.
`......... 395/275
`5/1995 Hausman et al. ........... 395/250
`9/1995 Richter et al. ............. 370/94.1
`1/1996 Hitz et al .............. 395/200.12
`4/ 1996 Ban ........................... 395/250
`4/ 1996 Suda .......................... 395/280
`5/ 1996 Szwerinski et al. ......... 395/800
`6/1996 Chesson et al.
`............ 395/775
`8/1996 Young et al.
`............... 395/280
`10/ 1996 Bakke et al.
`................. 370/60
`12/1996 Reddin et al.
`......... 395/200.15
`12/1996 Seno et al.
`................. 395/675
`1/1997 Isfeld et al.
`........... 395/200.02
`1/1997 Stone ......................... 370/469
`4/1997 Bach et al ............. 395/200.01
`5/1997 Delp et al. .................. 370/411
`5/1997 Andrews et al. ....... 395/200.07
`5/1997 Cloud et al ................. 395/680
`6/1997 Pardillos .................. 395/200.2
`...... 395/200.64
`9/1997 Krech, Jr. et al.
`9/1997 Collins .................... 395/200.2
`10/1997 Yokoyama et al.
`......... 709/212
`11/1997 Shobu et al.
`.......... 395/200.12
`12/1997 Sartore et al.
`......... 395/230.06
`12/1997 Nakagawa .................. 395/484
`12/1997 Cheng et al.
`............... 395/842
`3/1998 Chen .......................... 395/181
`5/1998 Hagersten ................... 711/141
`5/1998 Chan et al. ................. 370/455
`5/ 1998 Delp et al. .................. 395/827
`5/1998 Silverstein et al ..... 395/200.58
`5/1998 Gentry et al ........... 395/200.64
`5/ 1998 Hamilton et al. ........... 395/831
`5/ 1998 Kuzma ....................... 395/886
`6/1998 Picazo, Jr. et al. ...... 395/188.01
`7/1998 Jedwab ....................... 714/807
`8/1998 Osborne ................ 395/200.75
`8/1998 Hansen et al. ......... 395/800.01
`9/1998 Chen ..................... 395/182.08
`9/1998 McAlpice ................... 711/149
`9/1998 Nogales et al. ............. 395/825
`9/1998 Van Seeters et al.
`... 395/200.43
`9/1998 Purcell et al.
`.............. 395/163
`12/1998 Gentry .......................... 710/5
`3/1999 Bilansky et al ........ 395/200.57
`4/1999 Melzer et al.
`................ 371/53
`6/1999 Osborne ..................... 709/212
`6/ 1999 Wang et al.
`................ 709/203
`7/1999 Mendelson et al. ......... 711/171
`8/1999 Row et al. .................. 719/321
`8/1999 Murayama et al.
`......... 709/216
`8/1999 Connery et al.
`......... 395/200.8
`8/1999 Ram et al. .................. 710/315
`8/1999 Hoese et al. ................ 710/129
`9/1999 Stakuis et al. ................ 707/10
`11/1999 Radogna et al. ............ 370/392
`ll/ 1999 Blumenau ................... 709/301
`12/1999 Roach et al.
`............... 370/276
`12/1999 Panner et al ................... 710/5
`1/2000 Lowe ......................... 709/250
`. ................. 709/303
`2/2000 Gentry, Jr.
`2/2000 Chen . ... ... ... .. ... ... ... ... .. ... 714/2
`2/2000 Pitts ............................ 710/56
`3/2000 Minami et al .............. 370/401
`3/2000 Anjur et al.
`.................. 707/10
`3/2000 Olnowich ................... 711/130
`4/2000 Krause ....................... 709/227
`
`6,047,356 A
`6,049,808 A *
`6,057,863 A
`6,061,368 A
`6,065,096 A
`6,067,569 A
`6,070,200 A
`6,097,734 A *
`6,101,555 A
`6,141,705 A
`6,145,017 A
`6,157,955 A
`6,172,980 Bl
`6,173,333 Bl
`6,226,680 Bl
`6,246,683 Bl
`6,247,060 Bl
`6,345,301 Bl
`6,356,951 Bl
`6,385,647 Bl *
`6,389,468 Bl
`6,405,237 Bl *
`6,421,753 Bl*
`6,427,169 Bl
`6,434,651 Bl
`6,449,656 Bl
`6,453,360 Bl
`6,470,382 Bl *
`6,470,397 Bl *
`6,697,868 Bl*
`6,807,581 Bl*
`6,941,386 Bl*
`2001/0004354 Al
`2001/0025315 Al
`
`4/2000 Anderson et al. ........... 711/129
`4/2000 Talluri et al. ............... 707/201
`5/2000 Olarig ........................ 345/520
`5/2000 Hitzelberger ............... 370/537
`5/2000 Day et al .................... 711/114
`5/2000 Khaki et al. ................ 709/224
`5/2000 Gates et al.
`.................. 710/20
`8/2000 Gotesman et al. .......... 370/474
`8/2000 Goshey et al ............... 709/321
`10/2000 Anand et al. ................. 710/15
`11/2000 Ghaffari
`........................ 710/5
`12/2000 Narad et al. ................ 709/228
`1/2001 Flanders et al ............. 370/401
`1/2001 Jolitz et al.
`............ 709/230
`5/2001 Boucher et al.
`6/2001 Connery et al ............. 370/392
`6/2001 Boucher et al.
`............ 709/238
`2/2002 Burns et al ................. 709/230
`.................. 709/250
`3/2002 Gentry, Jr.
`5/2002 Willis et al. ................ 709/217
`5/2002 Muller et al ................ 709/226
`6/2002 Khalidi et al. .............. 709/203
`7 /2002 Hoese et al. ................ 710/305
`7 /2002 Elzur ......................... 709/224
`.................. 710/260
`8/2002 Gentry, Jr.
`9/2002 Elzur et al. ................. 709/236
`9/2002 Muller et al ................ 709/250
`10/2002 Wang et al.
`................ 709/220
`10/2002 Shah et al .................. 709/250
`2/2004 Craft et al.
`................. 709/230
`10/2004 Starr et al. .................. 709/250
`9/2005 Craft et al.
`................. 709/250
`6/2001 Jolitz
`9/2001 Jolitz
`
`FOREIGN PATENT DOCUMENTS
`
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`WO/98/50852
`WO/99/04343
`WO 99/65219
`WO 00/13091
`WO 01/04770 A2
`WO O 1/05107 Al
`WO 01/05116 A2
`WO O 1/05123 Al
`WO 01/40960 Al
`
`11/1998
`1/1999
`12/1999
`3/2000
`1/2001
`1/2001
`1/2001
`1/2001
`6/2001
`
`OTHER PUBLICATIONS
`
`from www.
`
`Schulzrinne et al., RFC 1889, http://www.ietf.org/rfc/
`rfc1889.txt?number=1889, Jan. 1996.*
`Search results for socket, www.techdictionary.com, visited
`Aug. 19, 2004.*
`stack"
`"protocol
`for
`Search
`results
`techdictionary.com, visited Feb. 17, 2005. *
`Search results for "cache" from www.techdictionary.com,
`visited Feb. 17, 2005.*
`Search results for "User Datagram Protocol" from www.
`techdictionary.com, visited Feb. 17, 2005. *
`Internet pages entitled "Hardware Assisted Protocol Pro(cid:173)
`cessing", (which Eugene Feinber is working on), 1 page,
`printed Nov. 25, 1998.
`Zilog product Brief entitled "Z85C30 CMOS SCC Serial
`Communication Controller", Zilog Inc., 3 pages, 1997.
`Internet pages of Xpoint Technologies www.xpoint.com
`website, 5 pages, printed Dec. 19, 1997.
`Internet pages entitled: Asante and 1 00BASE-T Fast
`Ethernet. 7 pages, printed May 27, 1997.
`Internet pages entitled: A Guide to the Paragon XP/S-A7
`Supercomputer at Indiana University. 13 pages, printed Dec.
`21, 1998.
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 2
`
`
`
`US 7,076,568 B2
`Page 3
`
`Richard Stevens, "TCP/IP Illustrated, vol. 1, The Protocols",
`pp. 325-326 (1994).
`Internet pages entitled: Northridge/Southbridge vs. Intel
`Hub Architecture, 4 pages, printed Feb. 19, 2001.
`Gigabit Ethernet Technical Brief, Achieving End-to-End
`Performance. Alteon Networks, Inc., First Edition, Sep.
`1996.
`Internet pages directed to Technical Brief onAlteon Ethernet
`Gigabit NIC technology, www.alteon.com, 14 pages, printed
`Mar. 15, 1997.
`VIA Technologies, Inc. article entitled "VT8501 Apollo
`MVP4", pp. i-iv, 1-11, cover and copyright page, revision
`1.3, Feb. 1, 2000.
`iReady News Archives article entitled "iReady Rounding
`Out Management Team with Two Key Executives", http://
`www.ireadyco.com/archives/keyexec.html, 2 pages, printed
`Nov. 28, 1998.
`"Toshiba Delivers First Chips to Make Consumer Devices
`Internet-Ready Based On iReady's Design," Press Release
`Oct. 1998, 3 pages, printed Nov. 28, 1998.
`Internet pages from iReady Products, web sitehttp://www.
`ireadyco.com/products,html, 2 pages, downloaded Nov. 25,
`1998.
`iReady News Archives, Toshiba, iReady shipping Internet
`chip, 1 page, printed Nov. 25, 1998.
`Interprophet article entitled "Technology", http://www.
`interprophet.com/technology.html, 17 pages, printed Mar. 1,
`2000.
`iReady Corporation, article entitled "The I-1000 Internet
`Tuner", 2 pages, date unknown.
`iReady article entitled "About Us Introduction", Internet
`pages fromhttp://www.iReadyco.com/about.html, 3 pages,
`printed Nov. 25, 1998.
`iReady News Archive article entitled "Revolutionary
`Approach to Consumer Electronics Internet Connectivity
`Funded", San Jose, CA, Nov. 20, 1997. 2 pages, printed Nov.
`2, 1998.
`iReady News Archive article entitled "Seiko Instruments
`Inc. (SII) Introduces World's First Internet-Ready Intelligent
`LCD Modules Based on !Ready 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 ofNovell Netware and TCP/IP Protocol Archi(cid:173)
`tectures", 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 Chan(cid:173)
`nel Host Bus Adapters from Emulex, QLogic, Adaptec,
`JNI", 8 pages, printed Oct. 1, 2001.
`U.S. Appl. No. 60/053,240, filed Jul. 18, 1997, Jolitz et al.
`iSCSI HBA article entitled "FCE-3210/6410 32 and 64-bit
`PCI-to-Fibre Channel HBA'', 6 pages, printed Oct. 1, 2001.
`iSCSI HBA article entitled "iSCSI Storage", 6 pages, printed
`Oct. 1, 2001.
`"Two-Way TCP Traffic Over Rate Controlled Channels:
`Effects and Analysis", by Kalampoukas et al., IEEE Trans(cid:173)
`actions on Networking, vol. 6, No. 6, Dec. 1998.
`!Ready 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. 08/964,304, by Napolitano, et al., entitled
`"File Array Storage Architecture", filed Nov. 4, 1997.
`"File System Design For An NFS File Server Appliance",
`Article by D. Hitz, et al., 13 pages.
`Adaptec Press Release article entitled "Adaptec Announces
`EtherStorage Technology", 2 pages, May 4, 2000, printed
`Jun. 14, 2000.
`Adaptec article entitled "EtherStorage Frequently Asked
`Questions", 5 pages, printed Jul. 19, 2000.
`Adaptec article entitled "EtherStorage White Paper", 7
`pages, printed Jul. 19, 2000.
`CIBC World Markets article entitled "Computers; Storage",
`by J. Berlino et al., 9 pages, dated Aug. 7, 2000.
`Merrill Lynch article entitled "Storage Futures", by S.
`Milunovich, 22 pages, dated May 10, 2000.
`CBS Market Watch article entitled "Montreal Start-Up
`Battles Data Storage Bottleneck", by S. Taylor, dated Mar.
`5, 2000, 2 pages, printed Mar. 7, 2000.
`Internet-draft article entitled "SCSI/TCP (SCSI over TCP)",
`by J. Satran et al., 38 pages, dated Feb. 2000, printed May
`19, 2000.
`Internet pages entitled Technical White Paper-Xpoint's Disk
`to LAN Acceleration Solution for Windows NT Server,
`printed Jun. 5, 1997.
`Jato Technologies article entitled Network Accelerator Chip
`Architecture, 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 entitled "Hardware Assisted Protocol Pro(cid:173)
`cessing", which Eugene Feinberg is working on, 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 Net(cid:173)
`working via Data-Copy Avoidance," by Robert J. Walsh,
`printed Jun. 3, 1999.
`Internet pages of InterProphet entitled "Frequently Asked
`Questions", by Lynne Jolitz, printed Jun. 14, 2000.
`Internet pages entitled iReady About Us and iReady Prod(cid:173)
`ucts, printed Nov. 25, 1998.
`Andrew S. Tanenbaum, Computer Networks, Third Edition,
`1996, ISBN 0-13-349945-6.
`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).
`Article from Rice University entitled "LRP: A New Network
`Subsystem Architecture for Server Systems", by Peter
`Druschel and Gaurav Banga, Rice University, Oct. 1996, 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.html, 9 pages,
`printed Sep. 20, 2002.
`Stevens, "TCP/IP Illustrated, vol. 1: The Protocols,"© 1994,
`ISBN 0-201-63346-9, p. 229.
`Definition of"UDP," www.techdictionary.com, visited Nov.
`29, 2004.
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 3
`
`
`
`US 7,076,568 B2
`Page 4
`
`Schwaderer et al., IEEE Computer Society Press publication
`entitled, "XTP in VLSI Protocol Decomposition for ASIC
`Implementation", from 15th Conference on Local Computer
`Networks, 5 pages, Sep. 30-Oct. 3, 1990.
`Beach, Bob, IEEE Computer Society Press publication
`entitled, "UltraNet: An Architecture for Gigabit Network(cid:173)
`ing", from 15th Conference on Local Computer Networks,
`18 pages, Sep. 30-Oct. 3, 1990.
`Chesson et al., IEEE Syposium Record entitled, "The Pro(cid:173)
`tocol Engine Chipset", from Hot Chips III, 16 pages, Aug.
`26-27, 1991.
`Maclean et al., IEEE Global Telecommunications Confer(cid:173)
`ence, Globecom '91, presentation entitled, "An Outboard
`Processor for High Performance Implementation of Trans(cid:173)
`port Layer Protocols", 7 pages, Dec. 2-5, 1991.
`Ross et al., IEEE article entitled "FXl000: A high perfor(cid:173)
`mance single chip Gigabit Ethernet NIC", from Compean
`'97 Proceedings, 7 pages, Feb. 23-26, 1997.
`Strayer et al., "Ch. 9: The Protocol Engine" from XTP: The
`Transfer Protocol, 12 pages, Jul. 1992.
`Publication entitled "Protocol Engine Handbook", 44 pages,
`Oct. 1990.
`Koufopavlou et al., IEEE Global Telecommunications Con(cid:173)
`ference, Globecom '92, presentation entitled, "Parallel TCP
`
`for High Performance Communication Subsystems", 7
`pages, Dec. 6-9, 1992.
`Lilienkamp et al., Publication entitled "Proposed Host-Front
`End Protocol", 56 pages, Dec. 1984.
`Intel article entitled "Solving Server Bottlenecks with Intel
`Server Adapters", Copyright Intel Corporation, 1999, 8
`pages.
`Thia, Y.H. Publication entitled "High-Speed OSI Protocol
`Bypass Algorithm with Window Flow Control", Protocols
`for High Speed Networks, pp. 53-68, 1993.
`Thia, Y.H. Publication entitled " A Reduced Operational
`Protocol Engine (ROPE) for a multiple-layer bypass archi(cid:173)
`tecture", Protocols for High Speed Networks, pp. 224-239,
`1995.
`WindRiver article entitled "Tornado: For Intelligent Net(cid:173)
`work Acceleration", 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.
`
`* cited by examiner
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 4
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 1 of 24
`
`US 7,076,568 B2
`
`I
`' I
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`I
`I
`I
`
`----
`
`r - - - - - -
`
`PROTOCOL
`STACK la_
`
`_____ __,J
`
`HOST MEMORY ll
`r - - - - - -
`I
`I
`I MEMORY l
`: FILE SYSTEM :
`I
`I
`I
`I
`I
`23
`MGR 27
`-
`I
`I
`I
`_ _ _ -=:___,J
`I
`I I _CACHE l
`I
`I
`1/0
`INIC
`I
`I I
`I I
`I
`DRIVER 67
`MGR 26
`DRIVER 39
`--== --1
`-
`-----==__J -
`-=== --I
`-
`-
`-
`-
`I -HOST FILE l
`I
`I CACHE 24
`I
`
`)
`35
`
`HOST 20
`
`CPU 1Q_
`
`BRIDGE
`42
`I L--------------------------------------------------- ---------------------------
`40'-...---.._
`
`HOST
`STORAGE
`UNIT 66
`
`I
`
`___,r-. 61
`
`HOST I/0
`CTRL 64
`
`1- -
`- .....
`60 , ✓ ---1
`I
`I
`L _ I - - --
`1--[J[ gJ
`58'..,.---1 [
`L _ I - -
`-- ------------------------------------------------------- -1-------
`INIC STORAGE
`UNIT 70
`
`---------------------------------------------------- -----------------------------------------------
`BRIDGE
`50
`
`DMA
`68
`
`INIC 1/0
`CTRL 72
`
`PROCESSOR
`44
`
`I
`
`)
`48
`
`SEQUENCERS 52 1 - - -
`
`INIC MEMORY 46
`r - - - - - - - -
`
`I
`
`_ _ _ _ _ _ _ __,J
`
`lcCBi [FRAME BUFFERS 77 I v75
`I CACHE I
`. - - - - - - - -
`~ 74_1
`IINIC FILE CACHE £.Q.I
`
`_ _ _ _ _ _ _ __J
`
`INIC 22
`
`~--------------------------------
`
`LAN/WAN li
`
`INTERNET ll_
`
`FIG. 1
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 5
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 2 of 24
`
`US 7,076,568 B2
`
`r---------------------------------------------------------------------------------•-----•--------~
`HOST 20
`.----------,-- CPU 30 -~ f - - - - - - - ,
`•
`
`,,
`
`,-- - - -
`
`,
`
`,.
`1-- - - -
`1FILE SYSTEM!
`I
`I
`23
`- - - __ I
`
`j
`
`: PROTOCOL :
`Ls~~~~s_ 1
`
`j~ h
`
`HOST FILE I
`HOST
`MEMORY I CACHE 24
`I
`-
`I
`33
`- - - __ I
`-
`
`'l
`
`L-------------- --
`
`~ 81
`------------------------------ ----------------------------- ----------••-••
`, '
`HOST STORAGE UNIT
`66
`
`._,-.. 91
`
`INIC 22
`
`,,
`PROCESSOR
`
`-
`
`-
`
`-
`
`-
`
`,,
`
`_ I CCB CACHE!
`INIC
`'--------I
`MEMORY
`74
`- - -=-- - 1
`46
`1 -
`,-- - -
`I
`~~~~-
`I FRAME
`I
`~--4-4--~
`)
`INIC FILE
`I BUFFERS t=:=j CACHE 80
`I
`90
`!' ) '~ _ ---=- I
`1~
`I
`I
`77
`I
`, _____ ,
`96
`I
`I
`I
`I
`I
`I
`i r - - -~
`I
`I
`I
`I
`_______________ J
`I
`__ .,,,,...._ 9 8
`
`,
`SEQUENCERS
`'------:::a5 ~2 _
`____.'
`~ -
`
`l
`
`\
`I
`88
`
`L-------------
`
`...r-- 85
`
`LAN/WAN ll
`
`INIC STORAGE UNIT
`70
`
`FIG. 2
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 6
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 3 of 24
`
`US 7,076,568 B2
`
`RECEIVE PACKET FROM NETWORK BY INIC
`
`100
`
`VALIDATE PACKET, SUMMARIZE HEADERS
`
`102
`
`STORE PACKET AND SUMMARY
`IN BUFFERS
`
`104
`
`108
`
`NO
`
`SEND PACKET TO
`STACK FOR SLOW(cid:173)
`PATH PROCESSING
`
`112
`
`SEND PACKET TO
`>-----.i STACK FOR SLOW(cid:173)
`p ATH PROCESSING
`
`FLUSH CCB AND
`PACKET TO STACK
`FOR SLOW-PATH
`PROCESSING
`
`CREATE CCB FOR
`MESSAGE
`
`115
`
`106
`
`118
`
`DETERMINE
`DESTINATION IN
`FILE CACHE,
`STORE LIST OF
`DESTINATION
`ADDRESSES WITH
`CCB IN INIC
`
`122
`
`125
`
`YES
`
`SEND DATA TO
`DESTINA TIO~
`VIA FAST-PATH
`
`FIG. 3
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 7
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 4 of 24
`
`US 7,076,568 B2
`
`RECEIVE FILE REQUEST FROM NETWORK, PROCESS REQUEST
`WITH STACK, DIRECT TO FILE SYSTEM
`
`200
`LOCATE REQUESTED FILE ON HOST FILE CACHE, INIC FILE
`CACHE, HOST STORAGE UNIT OR INIC STORAGE UNIT
`
`204
`
`READ FILE BLOCKS
`TO HOST FILE CACHE
`
`202
`
`212
`
`READ FILE BLOCKS
`TO INIC FILE CACHE
`
`CREATE NETWORK
`FRAMES FROM FILE
`BLOCKS IN HOST BY
`CPU RUNNING STACK
`
`206
`
`220
`
`210
`
`YES
`
`NO
`
`218
`
`CREA TE HEADERS BY
`INIC FROM CCB, DMA
`DATA TO INIC VIA CCB,
`PREPEND HEADERS TO
`DATA TO CREATE
`NETWORK FRAMES
`
`NO
`
`CREATE HEADERS
`BY CPU RUNNING
`STACK, INSTRUCT
`INIC TO ASSEMBLE
`FRAMES FROM
`HEADERS AND FILE
`BLOCKS IN INIC
`
`YES
`
`225
`
`214
`
`DMA
`FRAMES TO
`INIC
`
`CREA TE HEADERS
`BY INIC FROM CCB,
`PREPEND HEADERS
`TO DATA TO CREATE
`NETWORK FRAMES
`
`208
`
`SEND FRAMES ONTO NETWORK
`
`FIG. 4
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 8
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 5 of 24
`
`US 7,076,568 B2
`
`FIRST
`NETWORK
`li
`
`FIRST INIC
`STORAGE
`UNIT 6-6_
`
`NTH
`NETWORK
`313
`
`NTH INIC
`STORAGE
`UNIT 315
`
`INIC 400
`
`FIRST
`INIC 22
`
`NTH
`INIC 310
`
`HOST
`20
`
`HOST
`STORAGE
`UNIT 66
`
`I
`
`---- 40
`
`SECOND
`INIC 303
`
`FIG. 5
`
`450
`)
`
`SECOND C~IC
`STORAGE
`UN1T 308
`
`SECOND
`NETWORK
`305
`
`rSAN 418
`
`FIRST
`ETHER-SCSI
`ADAPTER
`452
`
`SECOND
`ETHER-SCSI
`ADAPTER
`454
`
`THIRD
`ETHER-SCSI
`ADAPTER
`456
`
`458 ...._,..---.
`
`459 ...._,..---.
`
`460 ___...
`
`FIRST
`STORAGE
`UNIT 462
`
`SECOND
`STORAGE
`UNIT 464
`
`THIRD
`STORAGE
`UNIT 466
`
`FIG. 7
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 9
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 6 of 24
`
`US 7,076,568 B2
`
`HOST
`ME~fORY
`ll
`
`PROTOCOL
`STACK 18._
`
`METADATA
`CACHE 26
`
`HOST FILE
`CACHE 24
`
`I
`s
`CPU 30 ! 35 BRIDGE
`42
`
`I
`
`HOST 20
`
`HOST
`STORAGE
`UNIT 66
`
`i------- 6 2
`HOST I/0 I
`! CTRL 64 !
`
`40'-------
`
`BRIDGE
`406
`
`PROCESSOR 408
`
`SEQUENCERS 412
`
`404 s
`
`INIC MEMORY 410
`
`lFRAME BUFFERS 430 !
`
`lINIC FILE CACHE 4331
`
`-oagg-
`422--✓-:cBc;-- -:
`
`4 ?4,...,--.I
`I
`-
`
`I
`I
`
`INIC 400
`
`-- ,__ -- -- --
`
`FIRST LA~
`414
`
`SECOND LAN
`416
`
`FIRST SAN
`418
`
`SECOND SAN
`420
`
`FIG. 6
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 10
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 7 of 24
`
`US 7,076,568 B2
`
`PROCESSOR 480
`
`FIRST
`ETHER-SCSI
`ADAPTER
`452
`
`477
`\
`
`l
`ADAPTER MEMORY 482
`
`jFRAME BUFFERS 4841
`
`SCSI
`CTRL 488
`
`I
`
`FILE CACHE 486
`
`!
`
`SEQUENCERS 475
`
`MAC 472
`
`PHY 470
`
`'
`
`450--
`
`INIC 400
`
`f..-.,,--4 5 8
`FIRST
`STORAGE
`UNIT 462
`
`FIG. 8
`
`FIRST LAN
`414
`
`HOST
`20
`
`SECOND LAN
`416
`
`FIRST
`INIC 400
`
`FIRST SAN
`418
`
`SECOND SAN
`420
`
`-------40
`
`FIG. 9
`
`HOST
`STORAGE
`UNIT 66
`
`I
`
`NTH
`INIC 490
`
`NTH SAN
`492
`
`NTH LAN
`494
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 11
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 8 of 24
`
`US 7,076,568 B2
`
`60
`MEDIA ACCESS
`CONTROLLER~
`
`,,
`ASSEMBLY r---, 500
`REGISTER
`
`...
`FLY BY
`• .----~SEQUENCER
`
`--~
`
`1 w
`
`MULTIPLEXER r--....,, 505
`
`( 508
`
`1~
`
`)
`
`SRAM
`
`SRAM
`CONTROL
`
`.....
`~
`
`••
`
`,,
`PACKET
`CONTROL
`SEQUENCER
`
`DRAM CONTROL
`
`(__ 518
`
`,.
`
`DR AM ~ 5 12
`
`QUEUE
`520 ------ MAN AGER
`
`FIG. 10
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 12
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 9 of 24
`
`US 7,076,568 B2
`
`PACKET
`510-----., CONTROL
`SEQUENCER
`
`- - - -~ ASSEMBLY L..-r" SOO
`REGISTER
`
`502
`
`,.
`MAC
`~540
`SEQUENCER ...
`
`,...-,__ ____ __,
`
`542
`NETWORK f - -
`14 - - - - - - - - - -1
`SEQUENCER -
`
`,.
`TRANSPORT r---- 546
`14 - - - - - - - - - -1
`SEQUENCER
`~
`
`1 •
`
`SESSION
`SEQUENCER
`
`r--- 548
`
`,,
`
`,,
`
`MVL TIPLEXOR
`
`FIG. 11
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 13
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 10 of 24
`
`US 7,076,568 B2
`
`570
`
`568
`
`566
`
`564
`
`562
`
`UPPER LAYER
`
`UPPER LAYER
`INTERFACE
`
`TRANSPORT
`
`38
`
`NETWORK
`
`DATA LINK
`
`560
`
`INIC DEVICE DRIVER
`
`FIG. 12
`
`38~
`
`TDI USERS
`--------;------------I
`TDI FILTER DRIVER
`572
`& UPPER LA YER INTERFACE
`..------.--------
`586
`TCP
`
`596
`
`ATCP
`
`575
`
`383
`
`590
`
`594
`
`IP
`
`IP
`
`548
`
`580
`
`592
`MAC
`582
`MAC
`--------+-----...1..-...J__----+-------
`598
`NDIS
`
`570
`
`INJC DEVICE DRIVER
`
`FIG. 13
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 14
`
`
`
`°" 00 = N
`"'°" UI
`'-"--...l = --...l
`d r.,;_
`
`0 ....
`....
`....
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`.i;...
`N
`
`:-'
`
`....
`....
`2'
`
`O'I
`0
`0
`N
`'-"
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`I
`640
`
`STORAGE UNIT
`
`NETWORK
`
`(
`
`644
`
`652
`(
`
`FIG. 14
`
`650
`(
`
`(
`
`604
`
`~~~~~-~,
`
`I
`:
`I
`I
`
`INIC 622
`
`639
`
`L __
`I
`:
`I
`:
`I
`I
`
`L _______ J _____ _,
`I I
`I
`• •
`
`INIC 606
`
`I
`
`642
`UNIT
`
`NASSTORAGE
`
`~638
`
`634
`
`STORAGE UNIT
`
`ATTACHED
`
`SERVER
`
`INETBIOS 630
`I SMB 632
`
`SERVER600
`
`7
`
`MAC-621
`
`IP.616
`
`TCP@}
`
`ATCP@s.
`
`I l
`
`MAC608
`
`646
`
`648
`
`~618
`
`I
`
`TCP ill f I ~620
`ATCP612 i.-
`
`NETBIOS 614
`
`SMB 616
`
`CLIENT602
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`I --------------,
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 15
`
`
`
`00 = N
`
`-....l = -....l
`d r.,;_
`
`0--,
`tit
`0--,
`
`0 ....
`('D a ....
`rJJ =(cid:173)
`
`N
`
`.i;...
`N
`
`O'I
`0
`0
`N
`
`.... ~
`~ = :-....
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`672
`
`DISPLAY
`
`I
`
`666
`
`INTERFACE
`AUDIO/VIDEO
`
`SPEAKER
`
`638~ I 668
`
`670
`
`PHONE
`MICRO(cid:173)
`
`UNIT634
`STORAGE
`ATTACHED
`
`SERVER
`
`I
`
`i---------, I
`I
`I
`t-----~ I
`:
`.---------, :
`:
`SERVER 600
`--,
`
`APP657
`
`-
`
`-
`
`I
`I
`I
`I
`:
`I
`I
`'
`)~----
`
`l
`
`UDP654
`
`AUDP@
`
`'-+--.-----......., J
`l
`t---t-------1 I
`,
`I
`r-+--=-::------1 I
`r
`I
`
`MAC624
`
`-
`
`IP 626
`
`646
`
`618
`
`I
`
`648
`
`620
`
`I
`L--
`I <--....---........--.------' I
`:
`1
`I
`I
`I ,.....,_ _ _,__,__ __ ___, I
`I
`:
`I
`I
`1
`I
`
`INIC 622
`
`639
`
`CAMERA
`
`674
`
`644
`
`652
`
`[ UNIT 640
`~STORAGE
`NETWORK
`
`(, (
`
`FIG. 15
`
`7 650
`
`(
`
`604
`
`APP_66_3
`
`I
`I
`--~------------,
`
`CLIENT 602
`
`-
`
`I 1---------'
`I
`I
`I 1-~-----1
`I
`I t--------l
`:
`I .--------
`I
`
`I
`I
`I
`I
`I
`I
`:
`I
`I
`
`L _____________ ..,
`I .____.--~-----' I
`I
`I
`1
`1
`I
`I
`I
`I ,---__ ._____... _ __._
`I 675
`I
`I
`I
`I
`I
`I ,___--~-------'
`1 MAC608
`r
`I
`I
`1
`l
`IP filQ
`I I ,____ ___ -----4--,
`l UDP660
`
`INIC 606
`
`-
`
`684
`
`CAMERA
`
`682
`
`DISPLAY
`
`l
`
`677
`
`INTERFACE
`AUDIONIDEO
`
`678
`
`SPEAKER
`
`680
`
`-r--
`
`PHONE
`MICRO(cid:173)
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 16
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 13 of 24
`
`US 7,076,568 B2
`
`22~
`
`r-----
`
`702
`
`704
`
`700
`\
`I
`I
`
`PHY-B
`
`706
`
`708
`
`716
`
`718
`
`MAC-A
`
`MAC-C
`
`MAC-D
`
`722
`
`724
`
`726
`
`728
`
`XMT &
`RCV-A
`
`XMT &
`RCV-B
`
`XMT &
`RCV-C
`
`XMT &
`RCV-D
`
`I
`I
`I
`I
`1 ,._. - - -~ EXTERN AL
`I
`MEMORY
`1
`I
`__ J
`I
`CTRL
`I
`744
`I
`1------J
`I
`I
`I
`I
`I
`I
`--+11~DRAM
`
`1
`I
`I
`I
`:
`I
`
`RECEIVE
`
`:
`1
`I
`:
`I
`I
`I
`I
`I
`I
`I
`I
`
`I
`CTRL
`I
`I
`[ ____ _
`
`784
`
`782
`
`756
`
`752
`
`PCI BUS INTERFACE UNIT
`
`I
`I
`I
`r
`I
`I
`I
`I
`I
`' - - - - - - - - - - - - - - - - - - - - - - - - __________________ J
`757
`FIG. 16
`
`755
`
`732
`
`734
`
`REG FILE
`WCS
`ROM
`
`781
`
`-
`
`- --- 1
`I
`I
`
`736
`
`738
`
`SRAM
`
`748
`
`750
`
`: DM:~::t ~ ... ' _7_42 ___
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`740
`:
`:
`\I
`,~- -
`:
`I
`I
`7 80 ~ .-------,
`:
`: r---- ___ ( __ t ___
`MICRO-
`I
`1
`PROCESSOR
`I , - - - - -~
`: UTILITY
`I
`I
`I
`I
`786
`:
`L ______________ J
`I
`I
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 17
`
`
`
`U.S. Patent
`
`Jul. 11, 2006
`
`Sheet 14 of 24
`
`US 7,076,568 B2
`
`CLOCK
`
`-- ______ /_ _____ L ______ L _____ /_ _____ L ___
`,
`,,
`''
`CONTROLS FOR FIRST REGISTER SET
`
`1J
`
`7 92.__
`
`/
`
`/
`
`(
`I
`I
`I
`I
`I
`/
`
`/
`
`790\
`,,
`
`,
`
`,
`FIRST REGISTER SET
`
`1J
`
`-
`
`800<_
`'
`
`~I
`
`)
`I
`I
`I
`I
`I
`I
`I
`
`sos----
`
`833,
`
`RAM FILE
`REGISTER
`r-----
`
`' ' >-- ------- ~------ ------- ------- 1 - - - - - -
`,.
`
`/
`
`/
`I
`I
`I
`I
`I
`I
`I
`)
`
`798\
`
`,
`
`11'
`INSTRUCTION DECODER
`AND
`OPERAND MULTIPLEXER
`,
`
`,,
`
`'
`
`1
`
`796\
`
`,.
`
`1.
`
`,
`
`I'
`
`SECOND REGISTER SET
`
`/
`
`860(
`' ' I
`I
`~II I
`-I
`
`I
`I
`
`/
`
`/
`
`~ ' ' -- ------- .------- ------- ------- 1--------- ------
`,,
`,.
`(
`''
`I
`I
`STACK
`I
`I EXCHANGE
`I
`I
`"'-._ 8 08
`.I
`
`ARITHMETIC LOGIC UNIT
`
`QUEUE
`
`11'
`
`802)
`
`1 r
`
`11'
`
`THIRD REGISTER SET
`
`,,
`
`803)
`,
`
`/
`
`'r
`
`,,
`
`-
`
`900(
`' '\
`I
`III I -
`I
`I
`I
`
`I r ' ' ' - - - - - - - - -~ - - - - - ~ -----~-----~----- ~---
`
`801 __)
`
`FIG. 17
`
`780
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 18
`
`
`
`00 = N
`
`0--,
`tit
`0--,
`'-"--...l = --...l
`d r.,;_
`
`0 ....
`Ul
`....
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`.i;...
`N
`
`....
`....
`~ = :-'
`
`O'I
`0
`0
`N
`'-"
`
`I
`I
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`REG IADDRI PC STACK AODR
`!DEBUG
`
`I
`
`C !INSTRfFETCHj
`
`ADDR DIN
`
`C
`
`I 8171 I
`
`I 8101 I 8111 I 8151 I
`
`CTRL
`LOADI
`
`STORE CTRL CTRL
`i~TC~LOAD
`
`II CTRL
`
`IN ADDR
`
`I
`
`I
`
`848
`
`844
`
`840
`
`838
`
`FIG. 18A
`
`1ADDR ADDR
`
`DOUT DOU
`
`REGISTER
`RAM FILE
`
`830
`
`828
`
`822' 825
`
`I
`190 82
`
`8081 I
`
`806
`
`802
`
`DEC
`FLAGl
`
`f: ( DATA CTI< REGS CCS REGS
`~ &
`1
`I
`I
`I
`I
`I
`I
`\
`792
`CTRL [ CTRL CTRL
`( !
`~ ISRAMILOADILOAD
`I
`I
`I
`I
`I
`,----L-
`
`FILE BASE ALU !<LAG
`.
`
`FF
`
`ADDR
`
`I
`I
`
`sqo
`
`Petitioners Microsoft Corporation and HP Inc. - Ex. 1020, p. 19
`
`
`
`00 = N
`
`0--,
`tit
`0--,
`'-"--...l = --...l
`rJl.
`d
`
`0 ....
`O'I
`....
`.....
`rJJ =(cid:173)
`
`('D
`('D
`
`.i;...
`N
`
`:-'
`
`....
`....
`2'
`
`O'I
`0
`0
`N
`'-"
`
`~ = ~
`
`~
`~
`~
`•
`00
`
`e •
`
`I !LOAD~
`
`CTRL
`
`I I
`
`1805,,,..,,___
`
`87--;;
`
`I !NCR
`
`1
`
`I
`
`I
`
`I !NCR I
`
`I
`
`I
`
`----~----~---------
`
`I I 87~.
`1861
`•
`
`L-----4----~----~----~---~----~----~----~----~---~----~----------
`
`..
`
`•
`
`I
`
`• •
`
`FIG. 18B
`
`1
`
`•
`
`y
`
`1
`
`1
`
`898
`
`• 1
`
`879
`
`7961 l 877
`
`.
`, ADDR
`PC STACK DEBUG
`
`CTRL
`PGM
`
`HLE ALU ALU ALU TEST FLAG QCH& LIT
`
`SEL QCMD
`
`SEL
`
`OP
`
`r CTX OPDS CCS
`
`.
`
`ADDR ADDR 11
`
`I
`
`DOUT DOUT
`
`833
`
`OPERAND MULTIPLEXER
`
`AND
`
`INSTRUCTION DECODER
`
`! t t tt t
`
`798
`
`i
`
`865
`
`SRAM
`
`SCRATCH
`
`I
`
`REGISTER I
`RAM FILE
`
`C
`
`C
`
`ADDR DIN
`
`~~---~-~---------
`' \
`860~
`
`Petitioners Microsoft