`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`
`In re Patent of: Morton et al.
`
`U.S. Patent No.: 7,296,121
`Issue Date:
`Nov. 13, 2007
`Appl. Serial No.: 10/966,161
`Filing Date: Oct. 15, 2004
`Title: REDUCING PROBE TRAFFIC IN MULTIPROCESSOR SYSTEMS
`
`
`
`
`
`
`
`
`
`
`
`
`Case Nos.: IPR2015-00159
`
`
`IPR2015-00161
`
`
`IPR2015-00163
`
`
`IPR2015-00172
`
`DECLARATION OF DR. ROBERT HORST
`
`1. My name is Dr. Robert Horst. I am the Chief Technology Officer,
`
`Robotics of AlterG, and I am an independent consultant at HT Consulting. I have
`
`been asked to offer technical opinions relating to U.S. Patent No. 7,296,121, and
`
`prior art references relating to its subject matter. My current curriculum vitae is
`
`attached and some highlights follow.
`
`2.
`
`I earned my M.S. (1978) in electrical engineering and PhD (1991) in
`
`computer science from the University of Illinois at Urbana-Champaign after
`
`earning my B.S. (1975) in electrical engineering from Bradley University. During
`
`my master’s program, I designed, constructed and debugged a shared memory
`
`parallel microprocessor system. During my doctoral program, I designed and
`
`simulated a massively parallel, multi-threaded task flow computer.
`
`3.
`
`After receiving my bachelor’s degree and while pursuing my master’s
`
`degree, I worked for Hewlett-Packard Co. While at Hewlett-Packard, I designed
`
`the micro-sequencer and cache of the HP3000 Series 64 processor. From 1980 to
`
`Page 1 of 123
`
`APPLE 1014
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`1999, I worked at Tandem Computers which was acquired by Compaq Computers
`
`in 1997. While at Tandem, I was the designer and architect of several generations
`
`of fault-tolerant computer systems and was the principle architect of the NonStop
`
`Cyclone superscalar processor. Since leaving Compaq in 1999, I have worked
`
`with several technology companies, including 3Ware and Network Appliance, and
`
`have focused in the areas of computer design and biomedical devices.
`
`4.
`
`At HP, Tandem, Compaq, 3Ware and Network Appliance my
`
`computer design work was done using computer aided design (CAD) tools, with
`
`most designs specified in a hardware description language. In fact, the designs
`
`used integrated circuits and some involved the creation of new ASICs (application
`
`specific integrated circuits) that were manufactured using masks based on the
`
`netlists produced by the CAD software.
`
`5.
`
`I have authored over 30 publications, including: “The Risk of Data
`
`Corruption in Microprocessor-based Systems,” Proc. 23rd International
`
`Symposium on Fault-tolerant Computing, June 1993; and “Reliable Design of
`
`High-speed Cache and Control Store Memories,” Proc. 19th Int. Symp. Fault-
`
`Tolerant Computing, June 1989. In 1998, the University of Illinois department of
`
`Electrical and Computer Engineering awarded me the Distinguished Alumni
`
`Award for “Pioneering Contributions to Fault-tolerant Computer Architecture.”
`
`Page 2 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`And, in 2001, I was named IEEE Fellow “for contributions to the architecture and
`
`design of fault tolerant systems and networks.”
`
`6.
`
`I am a named inventor on 78 issued U.S. patents. These patents
`
`include U.S, Patent No. 5,751,932, entitled “Fail-fast, fail-functional, fault-tolerant
`
`multiprocessor system” and U.S. Patent No. 5,390,355, entitled “Computer
`
`architecture capable of concurrent issuance and execution of general purpose
`
`multiple instructions.”
`
`7.
`
`I am familiar with the content of U.S. Patent No. 7,296,121 (the “‘121
`
`patent”). Additionally, I have reviewed the following: U.S. Patent Application
`
`Publication Number 2002/0053004 to Pong (“Pong”); David Chaiken et al.,
`
`“Directory-Based Cache Coherence in Large-Scale Multiprocessors,” Computer
`
`vol. 24, issue 9 (Jun 1990) (“Chaiken”); Daniel Lenoski et al., “The Directory-
`
`Based Cache Coherence Protocol for the DASH Multiprocessor,” ISCA ‘90
`
`Proceedings of the 17th annual international symposium on Computer
`
`Architecture, pp. 149-159 (May 1990) (“Stanford DASH”); U.S. Patent Number
`
`6,490,661 to Keller et al (“Keller”); Jose Duato et al., INTERCONNECTION
`
`NETWORKS – AN ENGINEERING APPROACH (1997) (“Duato”); Michael John
`
`Sebastian Smith, APPLICATION-SPECIFIC INTEGRATED CIRCUITS (1997) (“Smith”);
`
`U.S. Patent No. 7,698,509 to Koster et al. (“Koster”); U.S. Patent No. 7,315,919 to
`
`O’Krafka et al. (“O’Krafka”); U.S. Patent No. 6,338,122 to Baumgartner et al.
`
`Page 3 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`(“Baumgartner”); Anant Agarwal et al., “An Evaluation of Directory Schemes for
`
`Cache Coherence,” Conference Proceedings of 15th Annual International
`
`Symposium on Computer Architecture (1988); Louis G. Johnson,
`
`“Multiprocessors,” ECEN 6253 Lecture Notes (April 28, 2003); Luca Benini and
`
`Giovanni De Micheli, “Networks on chips: a new SoC paradigm,” Computer vol.
`
`35, issue 1 (Jan. 2002) (“Benini”); “HyperTransport™ Technology I/O Link - A
`
`High-Bandwidth I/O Architecture” (Jul. 20, 2001) (“HyperTransport”); U.S.
`
`Publication No. 2005/0228952 to Mayhew et al. (“Mayhew”); and U.S. Patent No.
`
`6,662,277 to Gaither (“Gaither”). I have also reviewed the two Notices of
`
`Allowances included in the prosecution history of the ‘121 patent.
`
`8.
`
`Counsel has informed me that I should consider these materials
`
`through the lens of one of ordinary skill in the art related to the ‘121 patent at the
`
`time of the earliest purported priority date of the ‘121 patent, and I have done so
`
`during my review of these materials. I believe one of ordinary skill as of
`
`November 4, 2002 (the priority date of U.S. Patent No. 7,003,633, to which the
`
`‘121 patent claims continuation-in-part priority) would have a bachelor’s degree in
`
`electrical engineering, computer engineering, or computer science and at least two
`
`years of experience in the design of multiprocessor systems. I base this on my own
`
`personal experience, including my knowledge of colleagues and others at the time.
`
`Page 4 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`I have no financial interest in either party or in the outcome of this
`
`9.
`
`proceeding. I am being compensated for my work as an expert on an hourly basis.
`
`My compensation is not dependent on the outcome of these proceedings or the
`
`content of my opinions.
`
`10. My opinions, as explained below, are based on my education,
`
`experience, and background in the fields discussed above.
`
`11. This declaration is organized as follows:
`
`I.
`
`II.
`
`Brief Overview of Relevant Technology (page 5)
`
`Brief Overview of the ‘121 Patent (page 8)
`
`III. Terminology (page 11)
`
`IV. Legal Standards for Prior Art (page 19)
`
`V.
`
`Pong and Combinations Based on Pong (page 25)
`
`VI. Chaiken and Combinations Based on Chaiken (page 51)
`
`VII. Stanford DASH and Combinations Based on Stanford DASH
`
`(page 67)
`
`VIII. Koster and Combinations Based on Koster (page 104)
`
`IX. Conclusion (page 123)
`
`I.
`
`Brief Overview of Relevant Technology
`12. A shared-memory multiprocessor is a computer system in which
`
`multiple processors share memory. Memory (and I/O devices) are shared by each
`
`Page 5 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`of the processors via a bus or interconnection network. Ex. 1013, p. 1. “Each
`
`processor has access to its own memory and all the memory of all the other
`
`processors.” Id. “Memory becomes a common resource which must be shared
`
`between execution threads running simultaneously (really simultaneously, not time
`
`shared) on different processors in the multiprocessor system.” Id.
`
`13. One way to increase the speed of a multiprocessor is to associate a
`
`cache memory with each processor. See, e.g., Ex. 1020, 1:11-42, 3:47 to 4:2.
`
`Cache memories are significantly faster than standard main memory because main
`
`memory is generally implemented with external DRAM (dynamic random access
`
`memory), while caches are generally implemented with internal or external static
`
`RAM which is much faster, but also have significantly smaller capacity than main
`
`memory implemented with DRAM. See id. Each processor may have a cache
`
`memory to store a copy of only a portion of the data stored in main memory (e.g.,
`
`the portion most recently or most commonly accessed by the processor). See id.
`
`Moreover, because threads executed simultaneously across the processors within
`
`the multiprocessor share memory, more than one processor may store a copy of a
`
`particular memory location in its cache. See id.
`
`14. Each of these simultaneously executed threads has the ability to cause
`
`its processor to both read the data stored in cache and write modified data back into
`
`its cache. This leads to the possibility for inconsistencies between the copies of the
`
`Page 6 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`data stored in the cache memories. For example, in the case where multiple
`
`processors store a copy of a memory location in their caches and one of them
`
`updates the copy stored in its cache, two or more caches could have inconsistent
`
`copies of the data, resulting in cache incoherency. The updated copy of the
`
`memory location stored in the updating processor’s cache is known as a “dirty”
`
`copy of the memory location, because it differs from what is in main memory. See
`
`Ex. 1012, p. 280. The other processors that are storing copies of the updated
`
`memory location must be notified in some manner of the existence of a dirty copy,
`
`and thus of an update, to prevent the other processors from operating with/on stale
`
`data.
`
`15. A number of schemes have been proposed for maintaining coherency
`
`between the caches within a shared-memory multiprocessor. As described by
`
`Anant Agarwal et al. in “An Evaluation of Directory Schemes for Cache
`
`Coherence” (Ex. 1012):
`
`A cache coherency protocol is the mechanism by which the coherency
`of the caches is maintained. Maintaining coherency entails taking
`special action when one processor writes to a block of data that exists
`in other caches. The data in the other caches, which is now stale, must
`be either invalidated or updated with the new value, depending on the
`protocol. Similarly, if a read miss occurs on a shared data item and
`memory has not been updated with the most recent value (as would
`happen in a copy-back cache), that most recent value must be found
`
`Page 7 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`and supplied to the cache that missed. These two actions are the
`essence of all cache coherency protocols. The protocols differ
`primarily in how they determine whether the block is shared, how
`they find out where block copies reside, and how they invalidate or
`update copies.
`
`Id.
`
`16. Two classes of these cache coherency protocols are “snoopy-based”
`
`and “directory-based.” See id. In snoopy-based protocols, “each cache in the
`
`system must watch all coherency transactions to determine when consistency-
`
`related actions should take place for shared data.” See id. On the other hand,
`
`directory-based protocols “keep a separate directory associated with main memory
`
`that stores the state of each block of main memory.” See id. This directory is
`
`referenced and, if necessary, updated to account for coherency transactions that
`
`occur and to trigger corresponding consistency-related actions for shared data.
`
`Some systems combine aspects of from each of these protocols, so there isn’t a
`
`bight-line boundary between them.
`
`II.
`
`Brief Overview of the ‘121 Patent
`17. The ‘121 patent is directed to “techniques for improving data access
`
`and cache coherency in systems having multiple processors connected using point-
`
`to-point links.” Ex. 1001, 2:39-42. According to the ‘121 patent, “cache
`
`coherency problems arise because multiple copies of the same data can co-exist in
`
`systems having multiple processors and multiple cache memories.” Id. at 1:35-38.
`
`Page 8 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`“For example, a frequently accessed data block corresponding to a memory line
`
`may be loaded into the cache of two different processors.” Id. at 1:38-40. In such
`
`an example, “if both processors attempt to write new values into the data block at
`
`the same time, different data values may result.” Id. at 1:40-42. A cache
`
`coherency mechanism attempts to “address such problems in multiprocessor
`
`systems.” Id. at 1:46-48.
`
`18. Within the broader paradigm of cache coherence protocols, the ‘121
`
`patent specifically focuses on “reducing probe traffic in multiprocessor systems.”
`
`Ex. 1001, title. “Any mechanism for filtering or reducing the number of probes
`
`and requests transmitted to various nodes is referred to herein as managing
`
`probes.” Id. at 5:50-52. According to the ‘121 patent, managing probes may
`
`entail, for example, “characterizing a request to determine if a probe can be
`
`transmitted to a reduced number of entities.” Id. at 5:52-55. FIG. 18 (reproduced
`
`below) illustrates one implementation of a system that manages probes with a
`
`“probe filtering unit” (PFU).
`
`Page 9 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`
`
`
`19.
`
`“System 1800 includes processing nodes 1802a-1802d, one or more
`
`Basic I/O systems (BIOS) 1804, a memory subsystem comprising memory banks
`
`1806a-1806d, and point-to-point communication links 1808a-1808e.” Id. at 26:64
`
`to 27:1. The ‘121 patent describes the operation of the probe filtering unit with
`
`regard to FIG. 20. In particular, the process begins when a processing node sends
`
`a read request for a memory line to the probe filtering unit. Id. at 28:25-29. “The
`
`PFU accepts the probe and looks up the address [of the memory line] in its
`
`directory of shared cache states (2008).” Id. at 28:29-31.
`
`20. When “the directory lookup determines the cache line may be cached
`
`in the system (2010), the PFU sends out a probe only on links corresponding to the
`
`Page 10 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`nodes that may contain the cache line.” Id. at 28:50-53. This contrasts with
`
`“typical implementations” in which a processing node “broadcasts probes to
`
`various nodes in a system” without “knowledge of the cache line state.” Id. at
`
`5:56-59.
`
`III. Terminology
`21.
`
`I have been informed that claim terminology must be given the
`
`broadest reasonable interpretation during an IPR proceeding. I have been informed
`
`that this means the claims should be interpreted as broadly as their terms
`
`reasonably allow, but that such interpretation should not be inconsistent with the
`
`patent’s specification and with usage of the terms by one of ordinary skill in the
`
`art. Counsel has also informed me that this may yield interpretations that are
`
`broader than the interpretation applied during a District Court proceeding, such as
`
`the pending Memory Integrity, LLC v. Apple, Inc. litigation.
`
`22.
`
`I have been informed that it would be useful to provide some guidance
`
`in this proceeding with respect to certain terms, and have been asked to consider
`
`the terms below and corresponding constructions. As part of that, for each term
`
`addressed below, I considered each term’s context within the claim, each term’s
`
`use within the specification, and my understanding of how one of ordinary skill in
`
`the art would understand the term around the time of the purported invention.
`
`Page 11 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`I have considered whether a broadest reasonable interpretation of
`
`23.
`
`“processing node” would be broad enough to cover “an interconnectable computer
`
`subsystem comprising at least one processor.” I believe that it would, because
`
`such an interpretation is not inconsistent with the ‘121 patent’s specification and
`
`the understanding one of ordinary skill in the art would ascribe to this term when
`
`looking for the broadest reasonable construction.
`
`24. For example, the ‘121 patent describes that “the terms node and
`
`processor are often used interchangeably herein,” And it explains “that according
`
`to various implementations, a node (e.g., processors 202a-202d) may comprise
`
`multiple sub-units, e.g., CPUs, memory controllers, I/O bridges, etc.” Ex. 1001,
`
`6:52-57. FIG. 19 illustrates one example implementation of such a processing
`
`node. See Ex. 1001, 27:25-28. Based on these descriptions and my understanding
`
`of the ‘121 patent generally, it is apparent to me that a “processing node,” as that
`
`term is used in the ‘121 patent, includes at least one processor.
`
`25. The ‘121 patent further describes these processing nodes as end-points
`
`within a larger interconnected system. Ex. 1001, 27:32-40. In independent claims
`
`1, 16, and 25, the processing nodes are “interconnected by a first point-to-point
`
`architecture” and are included in “a computer system” and, hence, each processing
`
`node is a computer subsystem.
`
`Page 12 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`26. Furthermore, other references in the same field of art as the ‘121
`
`patent use the word “processing node” in accordance with its common usage and,
`
`therefore, in a manner consistent with the above-noted interpretation. For
`
`example, Baumgartner describes a “data processing system that speculatively
`
`forwards a read request to a remote processing node,” and states that “[p]rocessing
`
`nodes 8a-8n may each include M (M ≥ 1) processors 10, a local interconnect 16,
`
`and a system memory 18 . . . .” (emphasis added). Ex. 1011, 3:17-19 and FIG. 1.
`
`27.
`
`I have considered whether a broadest reasonable interpretation of
`
`“probe” would be broad enough to cover “a mechanism that elicits a response from
`
`a node to maintain cache coherency in a system.” I believe that it would, because
`
`such an interpretation is not inconsistent with the ‘121 patent’s specification and
`
`the understanding one of ordinary skill in the art would ascribe to this term when
`
`looking for the broadest reasonable construction. In fact, the ‘121 patent defines
`
`the term “probe” in nearly the exact same manner. Ex. 1001, 5:45-47 (“A
`
`mechanism for eliciting a response from a node to maintain cache coherency in a
`
`system is referred to herein as a probe.”). The broad usage of the term throughout
`
`the rest of the ‘121 patent is consistent with the above interpretation. For example,
`
`the ‘121 patent uses the term “probe” to describe messages used for snooping
`
`cache, as well as messages that carry information for maintaining cache coherency
`
`in a system. Ex. 1001, 5:47-48 (“In one example, a mechanism for snooping a
`
`Page 13 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`cache is referred to as a probe.”) and 11-66-67 (“any message for snooping a cache
`
`can be referred to as a probe.”) and 11: 20-23 (“While probes and probe responses
`
`carry information for maintaining cache coherency in the system, read responses
`
`can carry actual fetched data.”). Though some embodiments described in the ‘121
`
`patent contrast “probes” with other types of messages, I understand these to simply
`
`be examples and not definitions. See Ex. 1001, 9:21-33.
`
`28.
`
`I have considered whether a broadest reasonable interpretation of
`
`“probe filtering information” would be broad enough to cover “any criterion that
`
`can be used to reduce the number of clusters or nodes probed.” I believe that it
`
`would, because such an interpretation is not inconsistent with the ‘121 patent’s
`
`specification and the understanding one of ordinary skill in the art would ascribe to
`
`this term when looking for the broadest reasonable construction. In fact, the ‘121
`
`patent defines the term “probe filtering information” in nearly the exact same
`
`manner. Ex. 1001, 14:50-52 (“[a]ny criterion that can be used to reduce the
`
`number of clusters or nodes probed is referred to herein as probe filter
`
`information.”).
`
`29. Moreover, the remainder of the ‘121 patent specification uses the term
`
`“probe filtering information” consistent with this interpretation. For example, the
`
`‘121 patent specification points out that FIG. 8 shows a diagram representing probe
`
`filter information, and points out that the FIG. 8 probe filtering information “can be
`
`Page 14 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`used to reduce the number of transactions in a multiple or single cluster system.”
`
`Ex. 1001, 14:48-50. Similarly, according to claim 3, the probe filtering
`
`information may comprise a cache coherence directory which includes entries
`
`corresponding to memory lines stored in the selected cache memories. Ex. 1001,
`
`31:12-16.
`
`30.
`
`I have considered whether a broadest reasonable interpretation of
`
`“states associated with selected ones of the cache memories” would be broad
`
`enough to cover “any modes or conditions of selected ones of the cache
`
`memories.” I believe that it would, because such an interpretation is not
`
`inconsistent with the ‘121 patent’s specification and the understanding one of
`
`ordinary skill in the art would ascribe to this term when looking for the broadest
`
`reasonable construction.
`
`31.
`
`In particular, the ‘121 patent does not limit the term “state” to a
`
`specific type of state, such as standard coherence protocol states. See Ex. 1001,
`
`14:30-36. In fact, the ‘121 patent notes that “[t]he techniques of the present
`
`invention can be used with a variety of different possible memory line states.” See
`
`id. Moreover, the dictionary definition of the term “state” is a “mode or condition
`
`of being.” Ex. 1015, p. 1145. Presence is one example of a type of state. See Ex.
`
`1015, p. 919 (defining “presence” as “the fact or condition of being present”
`
`(emphasis added)). The ‘121 patent uses the term “state” consistent with the
`
`Page 15 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`dictionary definition. For example, the ‘121 patent describes that a “directory of
`
`shared states . . . indicates where particular memory lines are cached within the
`
`cluster.” Ex. 1001, 28:29-34.
`
`32. Furthermore, the Chaiken reference (Ex. 1004), which is in the same
`
`field of art as the ‘121 patent, uses the word “status,” which speaks to a “state,” in
`
`a manner that is consistent with the above-noted interpretation and that further
`
`supports the assertion that presence is one example of a type of state: “The full-
`
`map protocol uses directory entries with one bit per processor and a dirty bit. Each
`
`bit represents the status of the block in the corresponding processor’s cache
`
`(present or absent).” Ex. 1004, p. 50 (emphasis added).
`
`33.
`
`I have considered whether a broadest reasonable interpretation of
`
`“transmit the probes only to selected ones of the processing nodes” would be broad
`
`enough to cover “transmit each of the multiple probes only to one or more selected
`
`processing nodes.” I believe that it would, because such an interpretation is not
`
`inconsistent with the ‘121 patent’s specification and the understanding one of
`
`ordinary skill in the art would ascribe to this term when looking for the broadest
`
`reasonable construction.
`
`34.
`
`In particular, claims 1 and 16 recite that multiple “probes” are
`
`transmitted to “selected ones of the processing nodes.” Because the claims
`
`describe the transmission of plural “probes” instead of a single “probe,” the claim
`
`Page 16 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`language does not require that a single probe be transmitted to more than one
`
`selected processing node, despite the claims’ use of the plural form of “selected
`
`ones.” Rather, each probe could be transmitted to a single selected processing
`
`node and still satisfy the requirements of claims 1 and 16. For example, if probe A
`
`is transmitted to a selected processing node X and probe B is transmitted to a
`
`selected processing node Y, probes (i.e., probes A and B) are transmitted only to
`
`selected ones of the processing nodes (i.e., processing nodes X and Y) despite the
`
`distribution of the nodes among plural processing nodes.
`
`35.
`
`I have considered whether a broadest reasonable interpretation of
`
`“cache coherence controller” would be broad enough to cover “any mechanism or
`
`apparatus that can be used to provide communication between multiple processing
`
`nodes while maintaining cache coherence.” I believe that it would, because such
`
`an interpretation is not inconsistent with the ‘121 patent’s specification and the
`
`understanding one of ordinary skill in the art would ascribe to this term when
`
`looking for the broadest reasonable construction.
`
`36. For example, the ‘121 patent specification points out with regard to
`
`FIG. 2, which shows a diagram of a multiple processor cluster that includes a
`
`cache coherence controller, that the cache coherence controller may be connected
`
`to processors within the cluster and with other clusters of processors. Ex. 1001,
`
`7:10-12 (In such a configuration, “cache coherence controller 230 communicates
`
`Page 17 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`with both processors 202a-d as well as remote clusters using a point-to-point
`
`protocol.”)
`
`37. Though FIGS. 4-12 focus on such inter-cluster communications, the
`
`‘121 patent also describes the use of the cache coherence controller for filtering
`
`intra-cluster communications. See Ex. 1001, 25:24-57, 26:36-57. Specifically, the
`
`‘121 patent specification describes that “the filtering of probes within a cluster, i.e.,
`
`local probe filtering, may be implemented in systems having multiple clusters as
`
`well as systems having a single cluster of processors.” Ex. 1001, 26:36-39. Thus,
`
`a cache coherence controller may filter probes between clusters and/or between
`
`processors within a single cluster.
`
`38.
`
`I have considered whether a broadest reasonable interpretation of
`
`“cache coherence directory” would be broad enough to cover “a mechanism that
`
`facilitates the tracking of where particular memory lines are being cached.” I
`
`believe that it would, because such an interpretation is not inconsistent with the
`
`‘121 patent’s specification and the understanding one of ordinary skill in the art
`
`would ascribe to this term when looking for the broadest reasonable construction.
`
`For example, the ‘121 patent describes that, “according to some embodiments, a
`
`cache coherence directory is a mechanism that facilitates the tracking by that cache
`
`coherence controller of where particular memory lines within its cluster’s memory
`
`are being cached in remote clusters.” Ex. 1001, 18:43-47. Similarly, the ‘121
`
`Page 18 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`patent describes that the cache coherence directory “indicates the existence and
`
`location of any remotely cached copies of the memory.” Ex. 1001, 21:7-8.
`
`39.
`
`I have considered whether a broadest reasonable interpretation of “the
`
`probes,” as used in claim 8, would be broad enough to cover “probes received by
`
`the probe filtering unit from the processing nodes.” I believe that it would,
`
`because such an interpretation is not inconsistent with the ‘121 patent’s
`
`specification and the understanding one of ordinary skill in the art would ascribe to
`
`this term when looking for the broadest reasonable construction. The only
`
`previous recitation of “probes” in either claim 8 or claim 1, from which claim 8
`
`depends, regards probes received by the probe filtering unit from the processing
`
`nodes. Therefore, I believe one of ordinary skill in the art would understand claim
`
`8 to simply require transmission of probes received by the probe filtering unit
`
`(from the processing nodes) to only the probe filtering unit (as opposed to, for
`
`example, the processing nodes broadcasting those probes received by the probe
`
`filtering unit to other processing nodes).
`
`IV. Legal Standards for Prior Art
`40.
`
`I understand that a patent or other publication must first qualify as
`
`prior art before it can be used to invalidate a patent claim.
`
`41.
`
`I understand that a U.S. or foreign patent qualifies as prior art to an
`
`asserted patent if the date of issuance of the patent is prior to the invention of the
`
`Page 19 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`asserted patent. I further understand that a printed publication, such as an article
`
`published in a magazine or trade publication, qualifies as prior art to an asserted
`
`patent if the date of publication is prior to the invention of the asserted patent.
`
`42.
`
`I understand that a U.S. or foreign patent also qualifies as prior art to
`
`an asserted patent if the date of issuance of the patent is more than one year before
`
`the filing date of the asserted patent. I further understand that a printed
`
`publication, such as an article published in a magazine or trade publication,
`
`constitutes prior art to an asserted patent if the publication occurs more than one
`
`year before the filing date of the asserted patent.
`
`43.
`
`I understand that a U.S. patent qualifies as prior art to the asserted
`
`patent if the application for that patent was filed in the United Stated before the
`
`invention of the asserted patent.
`
`A.
`
`Legal Standards for Anticipation
`
`44.
`
`I understand that documents and materials that qualify as prior art can
`
`be used to invalidate a patent claim as anticipated or as obvious.
`
`45.
`
`I understand that, once the claims of a patent have been properly
`
`construed, the second step in determining anticipation of a patent claim requires a
`
`comparison of the properly construed claim language to the prior art on a
`
`limitation-by-limitation basis.
`
`46.
`
`I understand that a prior art reference “anticipates” an asserted claim,
`
`Page 20 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,121
`and thus renders the claim invalid, if all elements of the claim are disclosed in that
`
`prior art reference, either explicitly or inherently (i.e., necessarily present).
`
`47.
`
`I understand that anticipation in an inter partes review must be shown
`
`by a preponderance of the evidence.
`
`B.
`
`Legal Standards for Obviousness
`
`48.
`
`I understand that even if a patent is not anticipated, it is still invalid if
`
`the differences between the claimed subject matter and the prior art are such that
`
`the subject matter as a whole would have been obvious at the time the invention
`
`was made to a person of ordinary skill in the pertinent art.
`
`49.
`
`I understand that a person of ordinary skill in the art provides a
`
`reference point from which the prior art and claimed invention should be viewed.
`
`This reference point prevents one from using his or her own insight or hindsight in
`
`deciding whether a claim is obvious.
`
`50.
`
`I also understand that an obviousness determination includes the
`
`consideration of various factors such as (1) the scope and content of the prior art,
`
`(2) the differences between the prior art and the asserted claims, (3) the level of
`
`ordinary skill in the pertinent art, and (4) the existence of secondary considerations
`
`such as commercial success, long-felt but unresolved needs, failure of others, etc.
`
`51.
`
`I understand that an obviousness evaluation can be based on a
`
`combination of multiple prior art references. I understand that the prior art
`
`Page 21 of 123
`
`
`
`Case Nos.: IPR2015-00159, IPR2015-00161, IPR2015-00163, and IPR2015-00172
`U.S. Patent No. 7,296,