`
`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-00158
`IPR2015-00159
`IPR2015-00163
`
`DECLARATION OF VOJIN OKLOBDZIJA, Ph.D.
`IN SUPPORT OF PATENT OWNER’S RESPONSES
`PURSUANT TO 37 C.F.R. § 42.120
`
`I, Vojin Oklobdzija,, hereby declare as follows:
`
`1. My name is Dr. Vojin Oklobdzija. I submit this declaration in support
`
`of Patent Owner’s Responses in IPR2015-00158, -00159, and -00163. I have been
`
`asked to offer technical opinions relating to U.S. Patent No. 7,296,121 and the
`
`alleged prior art and arguments presented by the Petitioners on the grounds which
`
`were instituted, and the reasoning of the Board in the decisions on institution.
`
`2.
`
`I received a Dipl. Ing. (equivalent to a Master’s in Electrical
`
`Engineering in the U.S.) degree in Telecommunications and Electronics in 1971
`
`from the University of Belgrade, Yugoslavia, followed by a Master’s in Computer
`
`Science from the University of California, Los Angeles in 1978. I received a Ph.D.
`
`in Computer Science with a minor in Electronics from the University of California,
`
`Los Angeles in 1982.
`
`3.
`
`Following my Ph.D. graduation, I spent 9 years at IBM’s T.J. Watson
`
`Research Center working on microprocessor architecture, development and design.
`
`In my career at IBM, I worked on the early development of RISC (Reduced
`
`
`
`1
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`Instruction Set Architecture Computer) architecture and development of a new
`
`processor generation for IBM. Most notably, I worked on the first commercial
`
`RISC computer, IBM ROMP, as well as the first super-scalar microprocessor, IBM
`
`RS/6000.
`4.
`
`After leaving IBM, I have held a faculty (Full Professor) position at
`
`the University of California, Davis; and visiting positions at the University of
`
`California, Berkeley; Sydney University in Australia; EPFL in Switzerland; and
`
`others. I have over 20 years of teaching experience, teaching courses in:
`
`Computer Architecture, Computer Design, Digital Design, VLSI Circuits as well
`
`as advanced post-graduate courses in Computer Architecture and Design. During
`
`this time, I served as a consultant with members of the microprocessor industry
`
`extensively and was a principal architect in the Siemens/Infineon TriCore
`
`processor.
`5.
`
`After retiring from the academia, I returned back to industry. In 2013,
`
`I became a Senior Director of Microprocessor Development at Skyera Inc., a
`
`startup company that was subsequently acquired by Hitachi Ltd. While working at
`
`Skyera, I lead a team developing an on-chip processor array consisting of a grid or
`
`256 processors, including development of its cache-coherency mechanism and its
`
`fast cache memory hierarchy.
`6.
`
`Currently I am President and CTO of my own startup company,
`
`Silicon Analytics Inc. and I also work as a consultant. I am a named inventor on
`
`15 issued U.S. Patents and a similar number of international patents. I have also
`
`2
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`authored several books on microprocessor design, including a book titled
`
`“Computer Engineering Handbook,” published by CRC Press in 2001, which won
`
`the CHOICE Outstanding Academic Title Award for 2002, as well as “High
`
`Performance Energy Efficient Microprocessor Design” published Springer in 2006.
`
`I have attached a true and correct copy of my curriculum vitae as Exhibit 2017,
`
`which further sets forth my qualifications.
`
`7.
`
`I have reviewed and am familiar with the content of U.S. Patent No.
`
`7,296,121 (“the ’121 Patent”). Additionally, I have reviewed all of the prior art
`
`which provides the basis for the grounds on which the Board has instituted
`
`proceedings in IPR2015-00158, -00159, and -00163, including U.S. Patent
`
`Application Publication Number 2002/0053004 to Pong (“Pong”), U.S. Patent No.
`
`7,698,509 to Koster et al. (“Koster”), Jeffrey Kuskin, et al., The Stanford FLASH
`
`Multiprocessor, PROCEEDINGS ON THE 21ST ANNUAL INTERNATIONAL
`
`SYMPOSIUM ON COMPUTER ARCHITECTURE, IEEE (1994) (“Kuskin”),
`
`Michael John Sebastian Smith, APPLICATION-SPECIFIC INTEGRATED
`
`CIRCUITS (1997) (“Smith”), and U.S. Patent No. 7,315,919 to O'Krafka et al.
`
`("O'Krafka"). I have also reviewed various other documents which are discussed
`
`later herein. I have reviewed these and the other materials from the perspective of
`
`one of ordinary skill in the art of the ‘121 Patent at the time of the ’121 Patent’s
`
`November 4, 2002 effective filing date.
`
`8.
`
`I agree with the opinion of Dr. Horst in IPR2015-00159 and -00163,
`
`Ex. 1014 (“Horst Decl.”) ¶ 8, that one of ordinary skill in the field of cache
`
`3
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`coherency as of November 4, 2002 would have a at least 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.
`
`9.
`
`I have no financial interest in either party or in the outcome of this
`
`proceeding. I am being paid for my work as an expert in these matters on an
`
`hourly basis. My compensation is not dependent on the outcome of these
`
`proceedings or the content of my opinions. My opinions, as explained below, are
`
`based on my education, experience, and background in the fields discussed above,
`
`and my review of the materials cited by Petitioners, and the other materials
`
`discussed herein.
`10. This declaration is organized as follows:
`
`I.
`
`Terminology in the claims of the ’121 Patent (page 4);
`
`II. Opinions regarding Koster and the Koster combinations (IPR2015-
`
`00158 and -00163) (page 22);
`
`III. Opinions regarding Pong and the Pong combinations (IPR2015-
`
`00159) (page 34).
`
`I.
`
`THE LANGUAGE OF THE CLAIMS OF THE ’121 PATENT
`
`A.
`
`“States”
`
`11. The term “states” is recited in independent claims 1 and 16 of the ’121
`
`Patent as part of the longer phrase “probe filtering information representative of
`
`states associated with selected ones of the cache memories.” The term “states” is
`
`also recited in independent claim 25 in the similar phrase “probe filtering
`
`4
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`information . . . representative of states associated with selected ones of the cache
`
`memories.”
`
`12. Dr. Horst, in IPR2015-00159 and -00163, Ex. 1014 (“Horst Decl.”),
`
`opines that “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.’” Horst Decl. ¶ 30. In particular, Dr. Horst opines that “the ‘121 patent
`
`does not limit the term 'state' to a specific type of state, such as standard coherence
`
`protocol states.” Id. ¶ 31. Dr. Horst also points to a definition in the Merriam
`
`Webster dictionary, a general purpose dictionary, of state as a “mode or condition
`
`of being.”
`13.
`
`I also understand that the Board, in its decisions on institution in
`
`IPR2015-00158, -00159, -00163 determined that “state” was not limited to “cache
`
`coherence protocol states.” Although the Board did not adopt an express
`
`construction of the term “state,” it held that “the term is not limited to cache
`
`coherence protocol states and is broad enough to include the condition of
`
`presence—i.e., what is stored in cache memory.” E.g., IPR2015-00163, Paper No.
`
`18 at 12.
`
`14.
`
`It is my opinion that the constructions adopted by Dr. Horst and the
`
`Board are inconsistent with the broadest reasonable construction of the term “state”
`
`in the claims of the ’121 Patent from the perspective of one of ordinary skill in the
`
`art informed by the specification and teachings of the patent. In particular, by not
`
`construing “state” as cache coherency states, Dr. Horst and the Board divorce the
`
`5
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`term “state” from its well understood meaning in the field of cache coherency and
`
`the teachings of the specification of the ’121 Patent.
`
`15. Although the term “state” may have many broad and different
`
`meanings in general English usage, as well as in the specific field of computers,
`
`the term “state” connotes a specific meaning in the context of the field of cache
`
`coherency. In the field of cache coherency, the term “state” is understood to refer
`
`to a “cache coherency state.” For example, in Sorin et al., A Primer on Memory
`
`Consistency and Cache Coherence (2011), the author equates the term “state” with
`
`cache coherency states. The table of contents of the Sorin book simply lists
`
`“States” as a heading, even though the section is dedicated to talking about cache
`
`coherency states. Ex. 2010 at xi. Additionally, the “states” section of the Sorin
`
`book immediately begins discussing states, equating “states” with “cache
`
`coherency states”:
`
`
`Id. at 88. The Sorin book also teaches that “Many coherence protocols use a subset
`
`of the classic five state MOESI model first introduced by Sweazey and Smith” and
`
`that “The MOESI states, although quite common, are not an exhaustive set of
`
`6
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`stable states. . . . There are many possible coherence states, but we focus our
`
`attention in this primer on the well-known MOESI states.” Id. at 89-91. Again,
`
`this language reflects that, in the field of cache coherency, “states” are understood
`
`as referring to “cache coherency states.”
`16. Moreover, equating “states” with “cache coherency states” is not
`
`new—it was also the usage of the term “states” in the field of cache coherency at
`
`the time of the filing of the ’121 Patent. For example, in “Specifying and
`
`Verifying a Broadcast and a Multicast Snooping Cache Coherence Protocol,” by
`
`Sorin et al. (2002), states that “A processor’s access to a cache block is determined
`
`by the state of that block in its cache, and this state is generally one of the five
`
`MOESI (Modified, Owned, Exclusive, Shared, Invalid) states.” Ex. 2003 at 1.
`
`17. Additionally, the teachings of the ’121 Patent both confirm that it is
`
`firmly embedded in the specific field of cache coherency, and that it also uses the
`
`term “state” to refer to cache coherence protocol states. The ’121 Patent confirms
`
`that it is directed to the specific field of cache coherency from the very beginning
`
`of the Summary of the Invention section, stating that:
`Data access in multiple processor systems can raise issues relating to
`cache coherency. Conventional multiple processor computer systems
`have processors coupled to a system memory through a shared bus. In
`order to optimize access to data in the system memory, individual
`processors are typically designed to work with cache memory. In one
`example, each processor has a cache that is loaded with data that the
`processor frequently accesses. The cache is read or written by a
`processor. However, cache coherency problems arise because multiple
`
`7
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`copies of the same data can co-exist in systems having multiple
`processors and multiple cache memories.
`IPR2015-00159, Ex. 1001 (“’121 Patent”) at 1:26-38. Moreover, the’121 Patent
`
`describes the primary problem to be solved as “to provide techniques for
`
`improving data access and cache coherency in systems having multiple processors
`
`connected using point-to-point links.” Id. at 2:39-42.
`
`18. The ’121 Patent’s usage of the term “state” is consistent with “states”
`
`meaning cache coherence protocol states. For example, the ’121 Patent describes
`
`that:
`
`[A] coherence protocol can contain several types of messages. In one
`example, a coherence protocol includes four types of messages; data
`or cache access requests, probes, responses or probe responses, and
`data packets. Data or cache access requests usually target the home
`node memory controller. Probes are used to query each cache in the
`system. The probe packet can carry information that allows the
`caches to properly transition the cache state for a specified line.
`Id. at 9:21-29 (emphasis added). This reflects that the “state” discussed in the ’121
`
`Patent reflects the “state” of a memory line in a “[cache] coherence protocol.”
`19. Similarly, the ’121 Patent explains that “[b]y using a coherence
`directory, global memory line state information (with respect to each cluster) can
`
`be maintained and accessed by a memory controller or a cache coherence
`
`controller in a particular cluster.” ’121 Patent at 13:4-7 (emphasis added). Again,
`
`this section does not specifically state that the “memory line state information” is
`
`referring to states in a cache coherence protocol—that is because one of skill in the
`
`8
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`art would already understand that the term “state” in a reference discussing cache
`
`coherency would refer to cache coherence protocol states. However, it would
`make no sense for a “coherence directory” to be concerned with states other than
`
`coherence states. Moreover, one of skill in the art would expect that if the phrase
`
`“memory line state information” was referring to cache coherence protocol states
`
`plus some other states, it would describe what those other states are—but no
`
`description of “states” other than cache coherence protocol states is provided.
`20. Moreover, in describing Figure 7, the patent simply states that “the
`coherence directory 701 includes state information 713” and “[i]n some
`
`embodiments, the memory line states are modified, owned, shared, and invalid.”
`
`’121 Patent at 13:55-59 (emphasis added). This section does not say “cache
`
`coherence protocol state information” because one of ordinary skill in the art
`
`would already understand that, in the context of cache coherency, the relevant
`
`states are cache coherent protocol states. Indeed, Figure 7 confirms that the “state
`
`information” discussed in this passage is referring to cache coherence protocol
`
`states, showing “Modified, “Owned,” “Shared, and “Invalid” states in the “State”
`
`column of the “Coherence Directory.”
`
`9
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`
`
`’121 Patent, Fig. 7.
`
`21.
`
`I also disagree with the conclusion of Dr. Horst and the Board that
`
`“states” in the ’121 Patent includes the condition of mere presence. I am aware of
`
`no such protocol, I do not believe that any such protocol exists, and I do not
`
`believe that any such protocol could work. Additionally, as described above, I
`
`believe that the term “state” in the ’121 Patent refers to cache coherency protocol
`
`states. Furthermore, as explained below, the “state” of the ’121 patent is
`
`concerned with the states of lines which are stored in the cache. By contrast,
`
`presence information merely indicates whether a line is stored in the cache. The
`
`teachings of the ’121 Patent confirm that mere presence is not a state.
`
`22. For example, the ’121 Patent teaches that “because the cache
`coherence directory provides information about where [i.e., in which cluster]
`
`10
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`memory lines are cached as well as their states, probes only need be directed
`toward the clusters in which the requested memory line is cached” and “[t]he state
`of a particular cached line will determine what type of probe is generated.” ’121
`
`Patent at 19:36-43 (emphasis added). This passage confirms that the relevant
`
`“state” as used in the ’121 Patent is a state of a line that is “cached,” i.e. it is
`
`already known that the line is present in one of the caches, and the “state” provides
`
`additional information about “a particular cached line.”
`23. This is also confirmed because the ’121 Patent discusses the cache
`
`coherence directory, in which state information is stored, as implemented using an
`
`“associative” memory. ’121 Patent at 19:46-50 (“The associative nature of the
`
`cache coherence directory . . . ”). An “associative” memory permits directly
`
`accessing the memory based on content, for example a cache tag, rather than
`
`merely providing an address or index into the directory. The “state” information
`
`and other information regarding a line are stored as fields in a row in the
`
`associative memory which is associated with that tag. ’121 Pat. Fig. 7. However,
`
`the “state” information for a line is only stored if the directory’s associative
`
`memory has a row corresponding to the cache tag (i.e. the line is present therefore
`
`there is a row, containing state information). If the line were not present in any of
`
`the caches, searching for its tag would simply result in a miss in the search of the
`
`directory’s associative memory. Thus, the teachings of the ’121 Patent regarding a
`
`cache coherence directory confirm that if a line is not cached, there is no state
`
`11
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`information about the line—i.e. presence in a cache is distinct from and a pre-
`
`condition to the existence of state for that cache line.
`
`24. The ’121 Patent further expressly confirms that it does not use the
`
`term “state” to refer to mere presence because per-processing node presence
`
`information is stored in an “occupancy vector” in the ’121 Patent. The ’121 Patent
`
`explains that “[a]ny mechanism for tracking what clusters hold a copy of the
`
`relevant memory line in cache is referred to herein as an occupancy vector.” ’121
`
`Patent at 14:2-4. It provides the example of the occupancy vector “implemented as
`
`an N-bit string, where each bit represents the availability of the data in the cache of
`
`N clusters.” Id. at 13:67-14:2. Moreover, the ’121 Patent distinguishes the
`
`“occupancy vector” from “state information.” For example, in describing Figure 7,
`the ’121 Patent states that “the coherence directory 701 includes state information
`713, dirty data owner information 715, and an occupancy vector 717 associated
`
`with the memory lines 711.” Id. at 13:55-57. Furthermore, Figure 7 itself further
`
`confirms that the mere presence information is not a state, depicting cache
`
`coherency states—which are labeled “state information” as distinct from presence
`
`information—labeled as the “occupancy vector.” The ’121 Patent would not
`
`introduce the term “Occupancy Vector” if “State” already included “presence.”
`
`Furthermore, the ’121 Patent would simply fail to operate if “state” was merely
`
`presence.
`
`12
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`
`
`’121 Patent, Fig. 71. Thus, the figure further confirms that presence information is
`distinct from the “state” of the “memory line,” as the only “State[s]” shown in Fig.
`
`7 are cache coherency states.
`25. Figure 8 of the ’121 patent is also informative. Figure 8 shows how
`
`probe filter information can be used to reduce the number of nodes that need to be
`
`probed. Notably, in the column labeled “Probe Filter Information 821”, the entries
`
`
`1
`In the rows for Address 781, and 791, the column “Dirty Data Owner”
`
`instead provides the presence information. Because those lines are in the
`
`“Modified” state, only one cluster has a valid copy of the cache line, and a “vector”
`
`is not needed.
`
`13
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`that are listed--“invalid”, “shared”, “owned,” and “modified” (MOSI protocol)—
`
`exactly correspond with the entries in the “State” column of the coherence
`
`directory of Figure 7. This further confirms that the “probe filter information
`
`representative of states associated with selected ones of the cache memories” of the
`
`claims refers to cache coherence states and not to occupancy or presence
`
`information.
`
`26.
`
`I understand that Dr. Horst and the Board draw particular attention to
`
`a passage of the ’121 Patent stating that:
`Although the coherence directory 701 includes the four states of
`modified, owned, shared, and invalid [i.e., the MOSI protocol], it
`should be noted that particular implementations may use a different
`set of states. In one example, a system may have the five states of
`modified, exclusive, owned, shared, and invalid [i.e., MOESI
`protocol]. The techniques of the present invention can be used with a
`variety of different possible memory line states.
`See IPR2015-00159, Paper 12 (“Pong Institution Decision”) at 9 (quoting ’121
`
`Patent at 14:30-36). The Board and Dr. Horst apprehend this passage’s statements
`
`that the invention can be used with a “variety” of different possible memory line
`
`states as supporting that the invention can be used with states other than cache
`
`coherence protocol states. To the contrary, one of skill in the art would recognize
`
`the phrase “a variety of different possible memory line states” as meaning “a
`
`variety of different possible cache coherence protocol states” because the ’121
`
`Patent is deeply connected to the field of cache coherency. Thus, this passage
`
`merely states that the inventions of the ’121 Patent are not limited to the states of
`
`14
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`any particular cache coherence protocol (e.g. MOSI, MOESI, etc.)—not that some
`
`“state” other than a cache coherence protocol state can be used to practice the
`
`invention.
`
`27.
`
`Indeed, neither this passage, nor anywhere else in the ’121 Patent,
`
`describes probe filtering based on probe filtering information representative of
`
`states other than cache coherence protocols states. Moreover, there is no
`
`explanation from Dr. Horst or elsewhere in the record of how such a configuration
`
`could work.
`
`28. Moreover, the MOESI states are not the universe of all cache
`
`coherency states. For example, the Dragon protocol, a well known cache
`
`coherence protocol, uses a very different set of states than the MOESI states. In
`
`the Dragon protocol, the cache coherence states are Exclusive, Shared-Clean,
`
`Shared-Modified, and Dirty. Ex. 2011 at 302. The Dragon protocol has no
`
`“Invalid” state.” Id. Thus, saying that “a variety of different possible memory line
`
`states” can be used with the present invention, after mentioning the MOESI
`
`protocol, is simply referring to the universe of different cache coherence
`
`protocols—not states which are not cache coherence protocol states.
`
`29.
`
`I also understand that the Board draws attention to a passage that
`
`states:
`According to a specific embodiment, the directory of shared states
`may be implemented as described above with reference to FIGS. 7
`and 8, and indicates where particular memory lines are cached within
`the cluster.
`
`15
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`See Pong Institution Decision at 8 (quoting ’121 Patent at 28:29-34). This passage
`
`does not imply that “states” “indicates where particular memory lines are cached
`
`within the cluster.” To the contrary, the phrase “indicates where . . .” is referring
`
`to the “directory” which is depicted in Figures 7 and 8. As Figures 7 and 8 depict,
`
`in addition to “states,” the directory also stores “dirty data owner” information and
`
`an “occupancy vector”—and it is those items, not “states” which “indicate[] where
`
`particular memory lines are cached within the cluster.” Interpreting this passage as
`
`teaching that “states” “indicate where particular memory lines are cached” would
`
`ignore the express teachings of the very figures that the passage is discussing, as
`
`well as the knowledge of the field demonstrated by the articles and treatises
`
`referenced above.
`
`B.
`“Programmed”
`30. The term “programmed” is recited in claim 11 of the ’121 Patent as
`
`part of the longer phrase “each of the processing nodes is programmed to complete
`
`a memory transaction after receiving a first number of responses to a first probe.”
`
`31. Dr. Horst, in IPR2015-00159 and -00163, does not offer any opinion
`
`regarding the meaning of the term “programmed.” Similarly, Dr. Sorin, in
`
`IPR2015-00158, does not offer any opinion regarding the meaning of the term
`
`“programmed.”
`32.
`
`I also understand that the Board, in its decision on institution in
`
`IPR2015-00163 did not adopt any express construction of the term “programmed.”
`
`However, the Board did cite to a definition from NEWTON’S TELECOM DICTIONARY
`
`16
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`(20th ed. 2004) defining “program” as “[i]nstructions given to a computer . . . to
`perform certain tasks.” IPR2015-00163, Paper 18 (“Koster Institution Decision”),
`
`at 21-22 n.7.
`
`33.
`
`It is my opinion that the broadest reasonable interpretation of the term
`
`“programmed” in the context of the ’121 patent refers to a device that has been
`
`configured by a sequence of instructions. For example, such instructions may be in
`
`the form of machine instructions, an assembly language program, or some other
`
`form of instructions, such as microinstructions or microcode.
`
`34. My opinion regarding the broadest reasonable interpretation of this
`
`term is based on my experience of how the term “programmed” is used by those
`
`working in the field of computers and microprocessors, including those working in
`
`the field of cache coherency.
`
`35. My opinion is also based on my review of the ’121 patent and how the
`
`term “programmed” is used in the patent. In several places, the specification of the
`
`patent describes how the processing nodes are “programmed.” For example, the
`
`specification states that:
`According to a specific embodiment, the processing nodes in a single
`cluster are programmed according to their normal setup rules with a
`few exceptions. First, the broadcast routing tables in each of the nodes
`are programmed such that the broadcasts initiated from each node go
`directly to the PFU rather than on all of the node interfaces. Second,
`the broadcast routing table in each node is programmed such that
`broadcasts originating from the PFU enter the node and are not
`forwarded to any other node. Third, each node is programmed to
`
`17
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`expect only one or two probe responses instead of one from each node
`in the system. More specifically, each node is programmed to expect
`one probe response if the PFU contains temporary storage to hold
`dirty data, and two if it does not.”
`IPR2015-00163, Ex.1001 at 28:8-24 (emphasis added). As another example, the
`
`specification states that “As mentioned above, embodiments are contemplated in
`which the requesting node is programmed to expect two responses from the PFU.”
`
`Id. at 29:1-3. Based on my understanding of the operation of processors, the
`
`references in the patent to “programmed according to their normal setup rules with
`
`a few exceptions” refers to the use of instructions executed by the processing nodes
`
`to store values in certain configuration registers or other locations to configure
`
`their operation. My understanding is further supported by the discussion in the
`
`specification regarding the use of JTAG handshake registers to modify the routing
`tables. The specification states that “routing table entries can be written to the
`
`handshake registers 1908 for eventual storage in routing tables1906a-1906c.” Id.
`
`at 27:67-28:2 (emphasis added). These JTAG handshake registers and routing
`
`tables are located within the processing nodes as shown in Figure 19.
`
`36. My opinion regarding the broadest reasonable interpretation of
`
`“programmed” is also consistent with the definition cited by the Board from
`NEWTON’S TELECOM DICTIONARY (20th ed. 2004) which defined “program” as
`“[i]nstructions given to a computer . . . to perform certain tasks.” Koster
`
`Institution Decision at 21-22 n.7.
`
`18
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`37.
`
`I have been asked to consider whether the broadest reasonable
`
`interpretation of “programmed” could encompass “configuration” without the use
`
`of any sequence of instructions. In my opinion, that would not be a reasonable
`
`interpretation of the term “programmed.” There are many terms that could be used
`
`to refer generically to configuration without use of a sequence of instructions.
`
`Examples of such terms are “configured,” “set up,” “arranged,” etc. In contrast,
`
`the term “programmed” indicates that some type of “programming”, i.e., a
`
`sequence of instructions, has been used. In fact, I note that some of the claims of
`
`the ’121 patent use the term “configured” such as claims 9 and 10, whereas claim
`
`11 uses the term “programmed.” The use of these different terms indicates that
`
`these terms are intended to have different meanings.
`
`38.
`
`I have also been asked to consider whether the broadest reasonable
`
`interpretation of “programmed” can encompass hardwired logic. Hardwired logic
`
`refers to a system where the sequence of operations is governed by the physical
`
`interconnection of the digital processing elements. See ELECTRICAL ENGINEER’S
`
`REFERENCE BOOK, edited by M.A. Laughton, et al. (2003). Ex. 2014 at 15/3. As
`
`such, hardwired logic does not involve the use of any “programming” or “sequence
`
`of instructions.” Accordingly, the broadest reasonable interpretation of
`
`“programmed” would not include hardwired logic.
`39. The distinction between hardwired logic and a programmable device
`
`is confirmed by the ELECTRICAL ENGINEER’S REFERENCE BOOK, edited by M.A.
`
`19
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`Laughton, et al. (2003). Ex.2014 at 15/3. With respect to hardwired logic, this
`
`book explains that:
`A digital system is considered to be hardwired if the sequence of
`operations is governed by the physical interconnection of the digital
`processing elements. For example, in hardwired logic systems the
`physical interconnections of the elements govern the routes by which
`data flows between the processing elements and thus the sequence of
`processing operations performed on the data. Conventionally, a
`hardwired system is considered to be inflexible because the design is
`specific to a particular processing function: if the processing function
`is changed, then the processing elements and their interconnections
`have to be altered.
`Id. at 15/3. In contrast, with respect to a programmable system, this book explains
`
`that:
`
`A digital system is considered to be genuinely programmable if a
`prescriptive program of instructions (i.e. software) can be used to
`control the data-processing function of the system. This type of
`system usually incorporates a general-purpose processing element
`which is programmed to implement a specific function in a
`predetermined way. The coded instructions are normally stored in the
`memory part of the system and the program forms an integral part of
`the system. The ability to define the function of the digital system by
`programming introduces considerable flexibility into the system
`because the programming operation can take place after the general-
`purpose digital elements have been designed.
`Id. The book goes on to explain that “Traditionally, hardwired logic has been used
`
`extensively to provide the control and interface logic for more complex digital
`
`20
`
`
`
`Patent No. 7,296,121
`Case Nos. IPR2015-00158, -00159, -00163
`
`components such as microprocessors and other very large scale integration (VLSI)
`
`devices.” Id.
`
`C.
`“Read Response Data”
`40. The term “read response data” is recited in dependent claim 12 of the
`
`’121 Patent as part of the longer phrase “temporary storage associated therewith
`
`for holding read response data from one of the cache memories.” The Apple
`
`Petitioners and Dr. Horst do not propose any interpretation of “read response data.”
`
`I also understand that the Board did not adopt a construction of this term.
`
`41.
`
`It is my opinion that the broadest reasonable interpretation of the term
`
`“read response data” in this limitation of the ’121 Patent refers to the data retrieved
`
`from a cache. The claim language itself refers to “read response data from one of
`
`the cache memories” Moreover, the specification of the ’121 Patent confirms this
`
`understanding when it explains that “[w]hile probes and probe responses carry
`information for mainta