throbber
UNITED STATES PATENT AND TRADEMARK OFFICE
`
`
`
`
`
`
`
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case IPR2015-00158
`Patent 7,296,121 B2
`
`
`
`
`
`
`SONY CORPORATION, SONY ELECTRONICS INC.,
`SONY MOBILE COMMUNICATIONS AB, and
`SONY MOBILE COMMUNICATIONS (USA) INC.
`Petitioners,
`
`v.
`
`MEMORY INTEGRITY, LLC,
`Patent Owner.
`
`
`
`
`
`
`
`
`
`PETITIONERS’ OPPOSITION TO PATENT OWNER MOTION TO
`AMEND PURSUANT TO 37 C.F.R. § 42.23
`
`
`
`

`
`TABLE OF CONTENTS
`
`Introduction ..................................................................................................... 1
`
`Page
`
`
`I.
`
`II. MI’s Motion to Amend Fails to Comply with C.F.R. § 42.20(c) .................... 1
`
`III. Substitute Claims 29-34 Are Not Enabled and Lack Written Description
`Support ............................................................................................................. 5
`
`
`IV. Substitute Claims 29-34 Are Not Patentable Over the Prior Art .................... 6
`
`A.
`
`The Combination of the Culler Book, Laudon, and Smith Renders
`Claims 29-34 Obvious ........................................................................... 7
`
`
`
`1.
`
`Claims 29-34 ............................................................................. 11
`
`CONCLUSION .............................................................................................. 25
`
`
`
`i
`
`
`
`
`
`
`
`
`
`V.
`
`

`
`LIST OF EXHIBITS
`
`Exhibit Name
`Ex. No.
`Sony-1001 U.S. Patent No. 7,296,121 (“the ’121 Patent”)
`Sony-1002 File History for U.S. Pat. App. No. 10/966,161
`Sony-1003 U.S. Patent No. 7,003,633 (“the ’633 Patent”)
`Sony-1004 Comparison of ’121 Patent and ’633 Patent Specifications
`Sony-1005 U.S. Patent No. 7,698,509 to Koster (“Koster”)
`Jeffrey Kuskin, et al., The Stanford FLASH Multiprocessor,
`Sony-1006
`PROCEEDINGS ON THE 21ST ANNUAL INTERNATIONAL SYMPOSIUM ON
`COMPUTER ARCHITECTURE, IEEE (1994) (“Kuskin”)
`Sony-1007 S. Park et al., Verification of Cache Coherence Protocols by
`Aggregation of Distributed Transactions, Theory of Computing
`Systems 31 (1998) (“Park”)
`Sony-1008 U.S. Patent No. 6,088,769 to Luick (“Luick”)
`Sony-1009 U.S. Pat. Pub. 2002/0073261 (“Kosaraju”)
`Sony-1010 AUTHORITATIVE DICTIONARY OF IEEE STANDARDS TERMS (2000)
`Sony-1011
`Jeffrey L. Hilbert, APPLICATION SPECIFIC INTEGRATED CIRCUIT (ASIC)
`TECHNOLOGY (Academic Press 1991)
`Sony-1012 Ronald Sass, Andrew G. Schmidt, EMBEDDED SYSTEMS DESIGN WITH
`PLATFORM FPGAS: PRINCIPLES AND PRACTICES (Morgan Kaufmann
`2010)
`Sony-1013 Expert Declaration of Daniel J. Sorin
`Sony-1014 Curriculum Vitae of Daniel J. Sorin
`Sony-1015 Supplemental Expert Declaration of Daniel J. Sorin
`Sony-1016 Deposition Transcript of Vojin Oklobdzija (November 23–24, 2015)
`Sony-1017 David E. Culler et al., Parallel Computer Architecture: A
`Hardware/software Approach (1st Ed.) (1998)
`James Laudon and Daniel Lenoski, Proceedings of the 24th Annual
`International Symposium on Computer Architecture, “The SGI Origin:
`A ccNUMA Highly Scalable Server” (1997)
`
`Sony-1018
`
`ii
`
`
`

`
`Exhibit Name
`Ex. No.
`Sony-1019 Michael John Sebastian Smith, APPLICATION-SPECIFIC INTEGRATED
`CIRCUITS (1997) (“Smith”)
`Sony-1020 Motion to Amend Opposition Declaration of Dr. Robert Horst
`
`iii
`
`
`

`
`I.
`
`Introduction
`Petitioners submit this Opposition to Memory Integrity’s (“MI”) Motion to
`
`Amend (“MTA”) (Paper 18). The MTA should be denied for three primary
`
`reasons. First, MI failed to meet its burden of proof under 37 C.F.R. § 42.20(c) by
`
`failing to identify how the features in the proposed substitute claims are
`
`distinguished from the prior art of record. Second, the substitute claims are not
`
`enabled. Third, the prior art combination discussed below render the substitute
`
`claims obvious.
`
`II. MI’s Motion to Amend Fails to Comply with 37 C.F.R. § 42.20(c)
`MI “has the burden of proof to establish that it is entitled to the requested
`
`relief.” See 37 C.F.R. § 42.20(c). Section 42.20(c) “places the burden on the
`
`patent owner to show a patentable distinction of each proposed substitute claim
`
`over the prior art.” Idle Free Sys., Inc. v. Bergstrom, Inc., Case IPR2012-00027,
`
`slip op. at 7 (PTAB June 11, 2013) (Paper 26); Microsoft Corp. v. Proxyconn, Inc.,
`
`No. 2014-1542, 2015 WL 3747257, at *13-14 (Fed. Cir. June 16, 2015) (affirming
`
`denial where patent owner failed to establish the patentability over the prior art of
`
`record).
`
`Here, MI failed to meet the burden imposed by § 42.20(c) for at least three
`
`reasons. First, MI argues that, “all of the substitute claims find support in the ‘347
`
`Application, [thus] the Koster reference is not prior art to any of the proposed
`
`substitute claims.” MTA, p. 22. MI provides no discussion comparing Koster’s
`
`1
`
`
`

`
`teachings to the “proposed new limitations.” However, claims 19-24 are not
`
`entitled to the ’347 Application’s priority date. Because MI did not establish
`
`patentability of the substitute claims over Koster, MI has not met its burden under
`
`Section 42.20(c).
`
`More specifically, in identifying support for the limitations of original
`
`claims 19-24, MI relies entirely upon disclosure in “the ’893 App.” MTA, pp. 6-8.
`
`However, Section 1.57(c) requires “essential material” to be incorporated by
`
`reference “to a U.S. patent …, which … does not itself incorporate such essential
`
`material by reference.” 37 C.F.R. § 1.57(c); see also 37 C.F.R. § 42.121(b)(1)
`
`(must identify support in the original disclosure of the patent). However, here, the
`
`’893 App is incorporated by reference into U.S. Application No. 10/157,388,
`
`which is incorporated by reference into the ’347 App, which is incorporated by
`
`reference into the ’161 App (the ’121 Patent’s application). See MTA, p. 6.
`
`In other words, the relied upon essential material that is said to support
`
`claims 19-24 is only present in an application that requires multiple incorporation
`
`by references before finding its way into the ’161 App. For example, claim 19
`
`recites “[a]t least one computer-readable medium having data structures stored
`
`therein representative of the probe filtering unit of claim 16.” Neither, the ’347
`
`App nor the ’388 App contain any description of this feature, or any of the other
`
`features recited in claims 20-24. Therefore, claims 29-24 (and the corresponding
`
`2
`
`
`

`
`substitute claims) are only entitled to a priority date no earlier than the filing date
`
`of the ’161 App (Oct. 15, 2004). As such, Koster is eligible as prior art for
`
`substitute claims 29-34, and MI was required by 37 C.F.R. § 42.20(c) to explain
`
`why the claims are patentable over the Koster reference, which it did not.
`
`Accordingly, for at least substitute claims 29-34, the MTA is deficient.
`
`Second, the MTA fails to satisfy the Section 42.20(c) burden because it fails
`
`to even mention, much less explain, why the claims are patentable over the
`
`description of the SGI Origin system, set forth in the Culler reference (Ex. 1017)
`
`on pp. 596 to 622. Further, MI did not identify that the Pong and Koster references
`
`(Exs. 2040 and 1005) disclosed the newly proposed coherent and non-coherent
`
`interface limitation in the substitute claims. See Ex. 1016 at 89:6-15 (MI’s expert
`
`admitting that a probe filtering unit with a path to main memory is a non-coherent
`
`interface); compare Pong Ex. 2040 at FIG. 1 and Koster Ex. 1005 at FIG. 4 (both
`
`illustrating a path from controller to main memory). Further, with respect to the
`
`other new limitation in the substitute claims, MESI states were well known in the
`
`art. See Ex. 1016, 68:4-19. See Corning Optical Comm. RF, LLC v. PPC
`
`Broadband, Inc., Case IPR2014-00441, Paper 19 at 4 (PTAB Oct. 30, 2014)
`
`(patent owner must identify whether the new limitations were known anywhere).
`
`Third, the MTA fails to satisfy Section 42.20(c) because MI’s expert
`
`declaration is deficient. As explained in Idle Free, a “showing of patentable
`
`3
`
`
`

`
`distinction can rely on declaration testimony of a technical expert about the
`
`significance and usefulness of the feature(s) added by the proposed substitute claim
`
`. . . .” Idle Free, slip op. at 7. However, MI’s expert makes no effort whatsoever
`
`to testify regarding the significance and usefulness of the features added by the
`
`proposed substitute claims.
`
`These failures are emblematic of the fact that MI’s expert only spent about
`
`5-10 hours reviewing the hundreds of prior art references of record (Ex. 1016,
`
`21:1-23; 23:19 to 24:3), a review time per reference that does not meet the 37
`
`C.F.R. § 42.20(c) burden in this case. Further, MI’s expert’s “patentabil[ity]”
`
`opinion (Ex. 2019, ¶ 8) is completely unsupported as he failed to identify the legal
`
`standard he used in forming this opinion.
`
`MI was aware and familiar with the teachings of these references; Pong and
`
`Koster are discussed in the IPR2015-00158, -00159 and -00163 Petitions and both
`
`MI and its expert cited to the Culler book. Ex. 2016, ¶¶ 28, 90, 93. As will be
`
`established in Section IV infra, the Culler Book in combination with Laudon and
`
`Smith not only teaches the features of the original claims 19-24, it also teaches the
`
`“proposed new features” added to each of substitute claims 29-34. Indeed, these
`
`references clearly contradict MI’s argument that, “[a]mong . . . the prior art known
`
`to MI, coherent protocol interfaces and non-coherent protocol interfaces are
`
`generally not taught in the art.” MTA, p. 22; see, e.g., Ex. 1017, pp. 604, 607 (note
`
`4
`
`
`

`
`3), 610, 614 (discussing additional support for “noncoherent operations such as
`
`uncached memory operations, I/O operations, and special synchronization
`
`support”). In the pages that follow, the Culler book is applied to the amended
`
`claims, but without even resolving whether arguments can be made in attempting
`
`to distinguish the Culler book, we note that the failure of MI to even attempt to
`
`distinguish it demonstrates that MI’s MTA does not meet the requirements of 37
`
`C.F.R. § 42.20(c) and should be denied.
`
`III. Substitute Claims 29-34 Are Not Enabled and Lack Written Description
`MI drafted “[e]ach of proposed substitute claims 29-34 . . . by first
`
`converting the respective original claim 19-24 to independent form, and then
`
`adding the same proposed new limitations….” MTA, p. 2. One of these
`
`“proposed new limitations” is “wherein said probe filtering unit is coupled to a
`
`coherent protocol interface and a non-coherent protocol interface.” Id. In support
`
`of this limitation, MI cites only to FIG. 3, two lines from column 11, and seven
`
`lines from column 13. MTA, pp. 9-10. However, this disclosure simply illustrates
`
`the broad proposition that the cache coherence controller “can also include other
`
`interfaces such as a non-coherent protocol interface 311 for communicating with
`
`I/O devices.” Ex. 1001, 8:8-11. As such, MI’s support simply identifies where the
`
`non-coherent protocol interface is located, but provides no details for how it is
`
`implemented.
`
`5
`
`
`

`
`MI’s expert could not fix these §112 problems during his deposition. Dr.
`
`Oklobdzija agreed that “one of ordinary skill would not have already had in their
`
`knowledge how to build a system with a cache coherent interface and a non-cache
`
`coherent interface.” Ex. 1016, 90:5-17. He then identified various ’121 figures,
`
`that illustrated simple boxes labeled with the terms “coherent interface” and “non-
`
`coherent interface” as providing enabling disclosure. Id. at 91:13-92:15.
`
`However, he finally admitted that “the details [of how to have a system with both a
`
`coherent interface and non-coherent interface] are not provided in the [’121] patent
`
`… it is left to someone, you know, with the ordinary skill in the art to – to figure
`
`out.” Id. at 95:14-96:10. Given these admissions, a POSITA would not be able to
`
`make and use a system with the new limitation of “wherein said probe filtering unit
`
`is coupled to a coherent protocol interface and a non-coherent protocol interface,”
`
`nor to conclude that the inventor had possession of the claimed invention, as the
`
`implementation details are not provided in the ’121 patent and are also not within
`
`the knowledge of a POSITA.
`
`IV. Substitute Claims 29-34 Are Not Patentable Over the Prior Art
`According to MI, proposed substitute claims 29-34 recite the same features
`
`as respective original claims 19-24, but have been re-written in independent form,
`
`to include the same “proposed new limitations.” MTA, p. 2. MI treats these
`
`“proposed new limitations” in two parts:
`
`6
`
`
`

`
`1. wherein said states comprise cache coherency states of a cache
`coherence protocol, and wherein said cache coherence protocol
`includes at least a modified state, an exclusive state, a shared state,
`and an invalid state, and
`2. wherein said probe filtering unit is coupled to a coherent protocol
`interface and a non-coherent protocol interface
`See, e.g., MTA, pp. 8-9.
`
`As to the first feature, MI’s expert admitted that cache coherence protocols
`
`that implement modified, exclusive, shared, and invalid states (i.e., the MESI
`
`states) were well known in the art at the time of the ’121 Patent. See Ex. 1016,
`
`68:4-19. Indeed, at least the disclosure of the Origin system in the Culler and
`
`Laudon references, is an example of a system that implemented a protocol that
`
`used the MESI states. See Ex. 1017, p. 598. As to the second feature, there were a
`
`number of references that disclosed a probe filtering unit with both a coherent and
`
`non-coherent protocol interface, including the Culler and Laudon.
`
`A. The Combination of the Culler Book, Laudon, and Smith Renders
`Claims 29-34 Obvious
`The Culler Book includes a case study of the SGI Origin architecture. See
`
`Ex. 1017, p. 596. Similarly, Laudon is titled “The SGI Origin: A ccNUMA Highly
`
`Scalable Server” and describes the same SGI Origin architecture as described in
`
`the Culler Book’s case study. Ex. 1018, p. 1. Both the Culler Book and Laudon
`
`share similar system diagrams, particularly with regard to the Hub chip, which acts
`
`7
`
`
`

`
`as the probe filtering unit in the SGI Origin architecture and is shown nearly
`
`identically in FIG. 8.21 of the Culler Book and FIG. 6 of Laudon. See Ex. 1017, p.
`
`616; Ex. 1018, p. 245. Accordingly, it would have been obvious to a POSITA to
`
`combine the teachings of the Culler Book and Laudon, as the combination of these
`
`references would have provided a more complete and confirmatory teaching of the
`
`SGI Origin architecture. Ex. 1020, ¶ 2.
`
`The Culler Book describes that “[t]he Origin system is composed of a
`
`number of processing nodes connected by switch-based interconnection network.”
`
`Ex. 1017, p. 597. “The interconnection network has a hypercube topology,” which
`
`is one form of the “scalable point-to-point interconnection network[s]” on which
`
`the directory-based coherence protocols of Chapter 8 of the Culler Book are based.
`
`Id., pp. 553, 596-597, 613; see Ex. 1020, ¶ 3 see also Ex. 1016, 132:24-134:1
`
`(admitting that a switch-based network is a “point-to-point architecture”).
`
`According to one implementation within the Culler Book, “[e]very processing
`
`node contains two MIPS R10000 processors, each with first- and second-level
`
`caches, a fraction of the total main memory of the machine, an I/O interface, and a
`
`single-chip communication assist or cache coherence controller, called the Hub,
`
`that implements the coherence protocol.” Ex. 1017, p. 597. Another of the Culler
`
`Book implementations suggests a single processor for each node. Id., p. 597 (“for
`
`simplicity that each node contains only one processor”). Similarly, Laudon
`
`8
`
`
`

`
`describes that “[e]ach node consists of one or two R10000 processors.” Ex. 1018,
`
`p. 241 (emphasis added). Accordingly, it would have been obvious to a POSITA
`
`to implement an SGI Origin machine in which each of multiple nodes has only a
`
`single processor, and the following section applies such a configuration to claims
`
`29-34.
`
`The caches of an SGI Origin machine “use[] the same MESI states as used
`
`in Chapter 5” of the Culler Book, which are “modified (M) or dirty, exclusive-
`
`clean (E), shared (S), and invalid (I).” Ex. 1017, pp. 598, 299. In the directory
`
`referenced by the Hub chip, these MESI states are represented by one of seven
`
`directory states. Id. at 598. For example, the “shared” directory state indicates
`
`“zero or more read-only cached copies whose whereabouts are indicated by [a]
`
`presence vector.” Id. In this “shared” directory state, the presence vector
`
`represents the processors within which a memory line is stored in the shared (S)
`
`cache state and the processors within which a memory line has the not-present state
`
`or the invalid (I) state. Ex. 1020, ¶ 5. On the other hand, “[a]n exclusive directory
`
`state means the block may be in either dirty or (clean) exclusive state in the cache
`
`(i.e., either the M or E states of the MESI protocol.” Ex. 1017, p, 598. Thus, the
`
`information in the directory referenced by the Hub chip are representative of each
`
`of the four MESI states. Ex. 1020, ¶ 5.
`
`Each of the SGI Origin processors support “accesses that are under the
`
`9
`
`
`

`
`control of the coherence protocol.” Ex. 1017, p. 607, n. 3. In addition, each
`
`“processor also supports memory operations that are not visible to the coherence
`
`protocol, called noncoherent memory operations, for which the system does not
`
`guarantee any ordering.” Id. These noncoherent operations include “unchached
`
`memory operations, I/O operations, and special synchronization support.” Id. at
`
`604. For example, a processor can use uncached references to a special I/O
`
`address space to “reference any physical I/O device in the machine.” Id. at 614;
`
`Ex. 1020, ¶ 6.
`
`Moreover, “[a]ll cache misses, whether to local or remote memory, go
`
`through the Hub (which implements the coherence protocol), as do all uncached
`
`operations.” Ex. 1017, pp. 612-613. In other words, both a processor and a Hub in
`
`the SGI Origin architecture are capable of communicating coherent messages (e.g.,
`
`cache misses) and noncoherent messages (e.g., uncached I/O operations) to other
`
`components in the machine (e.g., each other), meaning that each contains a
`
`“coherent protocol interface” and a “non-coherent protocol interface,” by MI’s
`
`own construction of these terms. See MTA, p. 16; see also Ex. 1020, ¶¶ 6-7.
`
`Accordingly, each Hub in the SGI Origin architecture is “coupled to a coherent
`
`protocol interface and a non-coherent protocol interface,” as recited in the
`
`proposed substitute claims, either because the Hub itself includes a coherent
`
`protocol interface and a non-coherent protocol interface or because the Hub is
`
`10
`
`
`

`
`coupled to a processor that includes a coherent protocol interface and a non-
`
`coherent protocol interface.
`
`The following is an explanation of how a combination of the Culler Book
`
`and Laudon render substitute claim 29 obvious. This explanation focuses on the
`
`SGI Origin architecture’s handling of read requests where the requested memory
`
`lines are in the “owned” directory state and the local, home, and owner nodes are
`
`all separate from each other. As will be explained, the Hub chip of the home node
`
`is the claimed “probe filtering unit,” the processors are the claimed “processing
`
`nodes,” and the read requests are “probes corresponding to memory lines.”
`
`1.
`
`Claims 29-34
`The proposed combination of the Culler Book and Laudon discloses “[a]
`
`probe filtering unit for use in a computer system comprising a plurality of
`
`processing nodes interconnected by a first point-to-point architecture,” as recited
`
`in claim 29. See Ex. 1020, ¶¶ 2-3. The Culler Book describes that “[t]he Origin
`
`system is composed of a number of processing nodes connected by switch-based
`
`interconnection network.” Ex. 1017, p. 597. “The interconnection network has a
`
`hypercube topology,” which is one form of the “scalable point-to-point
`
`interconnection network[s]” on which the directory-based coherence protocols of
`
`Chapter 8 of the Culler Book are based. Id., pp. 553, 597, 613; see Ex. 1020, ¶ 3
`
`see also Ex. 1016, 132:24-134:1 (admitting that a switch-based network is a
`
`11
`
`
`

`
`“point-to-point architecture”).
`
`According to Laudon, “[e]ach node consists of one or two R10000
`
`processors,” and the Culler Book even “assumes for simplicity that each node
`
`contains only one processor” when discussing the cache coherence protocol. Ex.
`
`1018, p. 241 (emphasis added); Ex. 1017, p. 597. Moreover, an SGI Origin system
`
`may contain “up to 512 nodes.” Ex. 1017, p. 612. The proposed Culler and
`
`Lauden combination is a system having four nodes, each containing a single
`
`processor. However, the proposed combination would be equally applicable for
`
`systems containing more than four nodes. The following is an adaptation of FIG.
`
`8.15 of the Culler Book that illustrates the proposed combination and annotates the
`
`relevant components. See Ex. 1020, ¶ 4.
`
`The proposed combination of the Culler Book and Laudon discloses “each
`
`processing node having a cache memory associated therewith,” as recited in claim
`
`
`
`12
`
`
`

`
`29. See Ex. 1020 ¶ 5. As described in the Culler Book, each of the processors in
`
`the SGI Origin architecture is associated with “first- and second-level caches.” Ex.
`
`1017, pp. 597, 612.
`
`The proposed Culler Book and Laudon combination includes a “probe
`
`filtering unit being operable to receive probes corresponding to memory lines from
`
`the processing nodes and to transmit the probes only to selected ones of the
`
`processing nodes with reference to probe filtering information representative of
`
`states associated with selected ones of the cache memories,” as recited in claim 29.
`
`See Ex. 1020, ¶¶ 8-19. As described below, the home node Hub chip performs the
`
`recited functionality of a probe filtering unit with regard to at least read requests.
`
`The following adaptation of Culler Book FIG. 8.15 illustrates the communication
`
`of read requests A and B in the implementation of the SGI Origin system of the
`
`proposed combination. See Ex. 1020, ¶ 8.
`
`Probes Correspond to 
`Memory Lines
`(i.e., Read Requests)
`
`Selected Ones of the 
`Processing Nodes
`(i.e., Owners)
`
`Probe Filtering Unit
`(i.e., Home Hub)
`
`Request A
`Request B
`
`13
`
`
`
`
`

`
`Specifically, the home node Hub chip receives read requests for data blocks
`
`from a local processing node. The received read requests are “probes
`
`corresponding to memory lines from the processing nodes,” as recited in claim 29.
`
`The Hub chip looks up a directory entry corresponding to the address of the data
`
`block of the read request and forwards the read request depending on the state of
`
`the data block. The directory look up and forwarding of the read request are
`
`“transmit[ing] the probes only to selected ones of the processing nodes with
`
`reference to probe filtering information representative of states associated with
`
`selected ones of the cache memories,” as recited in claim 29.
`
`“The Hub chip is the heart of the machine.” Ex. 1017, p. 612. The Hub chip
`
`“implements the coherence protocol.” Id. The Hub chip “must . . . coordinate the
`
`activities and dependences of all the different types of transactions that flow
`
`through it from different components and implement the necessary pathways and
`
`control.” Id., p. 614. “The Hub is divided into four major interfaces, one for each
`
`type of external entity that it connects together: the processor interface or PI, the
`
`memory/directory interface or MI, the network interface or NI, and the I/O
`
`interface or II (see Figure 8.21).” Id., p. 615; Ex. 1020, ¶ 9.
`
`Each of the interfaces of the Hub chip “communicate with one another
`
`through an on-chip crossbar switch.” Ex. 1017, p. 615. “A key property of the
`
`design is for each interface to shield its external entity from the details of other
`
`14
`
`
`

`
`interfaces and entities (and vice versa).” Id. One example of this shielding is
`
`performed, during read requests, where the directory interface “treats a cache at the
`
`home just like any other cache; the only difference is that a ‘message’ between a
`
`home directory and a cache at home does not translate to a network transaction.”
`
`Id., p. 599. As a consequence, the processor and its associated cache in the home
`
`node will not receive a read request sent to the home node’s Hub chip, unless the
`
`memory directory interface of the Hub chip determines that the cache of the
`
`processor in the home node owns the requested cache line. Ex. 1020, ¶ 10.
`
`The following is an explanation of how a read request issued by a processor
`
`in a local/requesting node for a memory line associated with a separate home node
`
`flows through the proposed SGI Origin system when the requested memory line is
`
`owned in the Modified (M) or Exclusive (E) state by a processor in a separate
`
`owner node. Id., ¶ 11. According to the Culler Book, when “a processor issues a
`
`read that misses in its cache hierarchy . . . [, t]he address of the miss is examined
`
`by the local Hub to determine the home node, and a read request transaction is sent
`
`to the home node to look up the directory entry.” Ex. 1017, p. 599. This is
`
`illustrated in the following annotation of Culler Book FIG. 8.21, where “A” is the
`
`read request. Ex. 1020, ¶ 11. This message flow corresponds to the yellow and
`
`purple arrows from the local/requesting process to the Hub chip of the home node
`
`in the above adaptation of FIG. 8.15 of the Culler Book. Ex. 1020, ¶ 11.
`
`15
`
`
`

`
`
`
`According to the Culler Book, “[a]t the home, the data for the block is
`
`accessed speculatively in parallel with looking up the directory entry.” Ex. 1017,
`
`p. 599. The memory/directory interface of the Hub chip of the home node contains
`
`a directory interface, which “contains the logic and tables that determine what
`
`protocol actions to take and hence implement the coherence protocol.” Id., p. 617.
`
`The directory stores directory information, including states, for each memory block
`
`stored in the memory of the node. See Id., pp. 598, 609; Ex. 1020, ¶¶ 12-13.
`
`“At the directory, a block may be in one of seven states” including
`
`“unowned, or no cached copies in the system; shared, that is, zero or more read-
`
`only cached copies whose whereabouts are indicated by the presence vector; and
`
`exclusive, or one read-write cached copy in the system . . . .” Ex. 1017, p. 598
`
`(emphasis in original). “An exclusive directory state means the block may be in
`
`16
`
`
`

`
`either dirty or (clean) exclusive state in the cache (i.e., either the M or E states of
`
`the MESI protocol).” Id. When a request memory block is in the exclusive
`
`directory state (i.e., either the M or E states of the MESI protocol) and the home is
`
`not the owner of the block, “the valid data for the block must be obtained from the
`
`owner and must find its way to the requestor as well as to the home (since the state
`
`will change to shared).” Ex. 1017, p. 599; Ex. 1020, ¶ 14.
`
`“The Origin protocol uses reply forwarding; the request is forwarded to the
`
`owner, which replies directly to the requestor, sending a revision message to the
`
`home” node. Ex. 1017, p. 599. In other words, the same request that was received
`
`by the home node Hub chip is forwarded to the owner processor. Ex. 1020, ¶ 15.
`
`Importantly, in the example described here where the requested memory line is
`
`owned by a processor in a different node, neither the processor in the home node
`
`nor its associated cache receive the read request, because the Hub chip interface
`
`shields its external entity from the details of other interfaces and entities. Id.
`
`Moreover, according to the Culler Book, “[i]f a block is in an exclusive state
`
`(i.e., modified or exclusive) in a processor cache, then the rest of the directory
`
`entry is not a bit vector with one bit turned on; rather, it contains an explicit pointer
`
`to the specific processor (not node). This means that interventions forwarded from
`
`the home are targeted to a specific processor.” Ex. 1017., p. 609. The
`
`memory/directory interface of the home Hub chip uses this pointer to address the
`
`17
`
`
`

`
`read request to the owner node, and the network interface of the home Hub chip
`
`uses the address to forward the read request only to the specifically addressed
`
`processor. See Id., pp. 617-18; see also Ex. 1020, ¶ 16.
`
`The handling of a read request by the home node Hub chip is illustrated in
`
`the following annotation of FIG. 8.21 of the Culler book, where “A-in” is the read
`
`request received by the home hub over the interconnection network from the local
`
`processor of the local node, “A-out” illustrates that “the request is forwarded to the
`
`owner” across the interconnection network by the home hub, and “Spec” is the
`
`result of the speculative memory read that is returned by the home hub across the
`
`interconnection network to the Hub chip of the local node. Ex. 1020, ¶ 17. In the
`
`annotated Culler FIG. 8.15 above, this message flow corresponds to the yellow and
`
`purple arrows from the home node Hub chip to the processor indicated in the
`
`directory information to be the owner of the memory line. Id.
`
`18
`
`
`

`
`A‐in
`
`A‐out
`
`Spec
`
`
`
`Remote Home Hub
`
`Does not 
`receive request
`
`
`
`According to the Culler book, when the owner processor receives the
`
`request, the Hub chip associated with the owner ensures that a reply is sent to the
`
`local requesting processor and a revision message is sent to the home node Hub
`
`chip so that it can update the directory state information. See Ex. 1017, pp. 599-
`
`600, 617-18; see also Ex. 1020, ¶ 18. Because a read request in the Origin system
`
`elicits a response from the owner processor to maintain cache coherency (e.g., the
`
`reply by the owner processor causes a revision message to be sent to the home), the
`
`read request is a probe.
`
`As described above, the memory/directory interface of the home node’s Hub
`
`chip determines the owner processor with reference to the directory information
`
`stored in the directory and forwards the read request only to that owner processor.
`
`19
`
`
`

`
`Ex. 1020, ¶ 19. Accordingly, the Hub chip of the home node (probe filtering unit)
`
`is operable to receive read requests (i.e., probes corresponding to memory lines)
`
`from any of the processors of the system (i.e., the processing nodes) and to
`
`transmit the read requests only to selected ones of the processors that own the
`
`requested data (i.e., only to selected ones of the processing nodes) with reference
`
`to directory information (i.e., probe filtering information) representative of states
`
`associated with selected ones of the cache memories. Id.
`
`The proposed combination of the Culler Book and Laudon discloses that
`
`“said states comprise cache coherency states of a cache coherence protocol, and
`
`wherein said cache coherence protocol includes at least a modified state, an
`
`exclusive state, a shared state, and an invalid state,” as recited in claim 29. See
`
`Ex. 1020, ¶ 5. The caches of an SGI Origin machine “use[] the same MESI states
`
`as used in Chapter 5” of the Culler Book, which are “modified (M) or dirty,
`
`exclusive-clean (E), shared (S), and invalid (I).” Ex. 1017, pp. 598, 299. In the
`
`directory referenced by the Hub chip, these MESI states are represented by one of
`
`seven directory states. Ex. 1017, p. 598. For example, the “shared” directory state
`
`indicates “zero or more read-only cached copies whose whereabouts are indicated
`
`by [a] presence bit vector.” Id. In this “shared” directory state, the presence bit
`
`vector represents in which processors a memory line is stored in the shared (S)
`
`cache state and in which processors a memory line is in the not-present state or the
`
`20
`
`
`

`
`invalid (I) state. Ex. 1020, ¶ 5. On the other hand, “[a]n exclusive directory state
`
`means the block may be in either dirty or (clean) exclusive state in the cache (i.e.,
`
`either the M or E states of the MESI protocol).” Ex. 1017, p, 598. In other words,
`
`a requested block that is in the M state of the MESI protocol in a processor’s cache
`
`is represented in the directory by the exclusive directory state, and a requested
`
`block that is in the E state of the MESI protocol in a processor’s cache is also
`
`represented in the directory by the exclusive directory state. Ex. 1020, ¶ 5.
`
`Thus, the information in the directory referenced

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket