throbber
Trials@uspto.gov
`571.272.7822
`
`
`Paper No. 12
`
` Filed: May 11, 2015
`
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`____________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`____________
`
`APPLE INC., HTC CORPORATION, HTC AMERICA, INC.,
`SAMSUNG ELECTRONICS CO. LTD,
`SAMSUNG ELECTRONICS AMERICA, INC., and
`AMAZON.COM, INC.,
`Petitioner,
`
`v.
`
`MEMORY INTEGRITY, LLC,
`Patent Owner.
`____________
`
`Case IPR2015-00159
`Patent 7,296,121 B2
`____________
`
`
`
`Before JENNIFER S. BISK, NEIL T. POWELL, and KERRY BEGLEY,
`Administrative Patent Judges.
`
`BEGLEY, Administrative Patent Judge.
`
`
`
`DECISION
`Institution of Inter Partes Review
`37 C.F.R. § 42.108
`
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`Apple Inc., HTC Corporation, HTC America, Inc., Samsung
`
`Electronics Co. Ltd., Samsung Electronics America, Inc.,1 and Amazon.com,
`Inc. (collectively, “Petitioner”) filed a Petition requesting inter partes review
`of claims 1–3, 8, and 11–25 of U.S. Patent No. 7,296,121 B2 (Ex. 1001, “the
`’121 patent”). Memory Integrity, LLC (“Patent Owner”) filed a Preliminary
`Response to the Petition. Paper 11 (“Prelim. Resp.”).
`Pursuant to 35 U.S.C. § 314(a), an inter partes review may not be
`instituted unless “the information presented in the petition . . . and any
`response . . . shows that there is a reasonable likelihood that the petitioner
`would prevail with respect to at least 1 of the claims challenged in the
`petition.” Having considered the Petition and the Preliminary Response, we
`conclude that there is a reasonable likelihood that Petitioner would prevail in
`establishing the unpatentability of claims 1–3, 8, 11, and 15–25 of the
`’121 patent but not claims 12–14. Therefore, we institute inter partes
`review only as to claims 1–3, 8, 11, and 15–25.
`I. BACKGROUND
`A. THE ’121 PATENT
`The ’121 patent relates to techniques to reduce memory transaction
`
`traffic and to improve data access and cache coherency in systems with
`multiple processors connected using point-to-point links. Ex. 1001, 1:22–
`25, 2:39–47. The ’121 patent explains that cache coherency problems can
`arise in a system with multiple processors, each with an individual cache
`memory, because the system may contain multiple copies of the same data.
`
`1 The Petition also lists Samsung Telecommunications America, LLC
`(“STA”) as a petitioner. Paper 6 (“Pet.”), 1. After the filing of the Petition,
`however, STA merged with and into Samsung Electronics America, Inc.
`Paper 10. Thus, STA no longer exists as a separate corporate entity. Id.
`
`
`
`2
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`Id. at 1:26–38. For example, if the caches of two different processors have a
`copy of the same data block and both processors “attempt to write new
`values into the data block at the same time,” then the two caches may have
`different data values and the system may be “unable to determine what value
`to write through to system memory.” Id. at 1:37–45.
`
`The ’121 patent discloses a computer system with processing nodes,
`each with a cache memory, connected by a point-to-point architecture. Id. at
`[57], 2:48–62. The system also includes a “probe filtering unit” that can
`receive a probe, “[a] mechanism for eliciting a response from a node to
`maintain cache coherency in a system,” from a processing node. Id. at [57],
`2:52–65, 5:45–47. The probe filtering unit then can evaluate the probe
`based on probe filtering information, specifically “[a]ny criterion that can be
`used to reduce the number of clusters or nodes probed,” and can transmit the
`probe to selected processing nodes. Id. at [57], 2:52–3:5, 14:50–52; see id.
`at 28:29–58, 29:43–46. The probe filtering unit also may be operable to
`accumulate responses from the selected processing nodes and to respond to
`the node from which the probe originated. Id. at 3:5–8, 28:59–67, 29:46–51.
`Figure 18 of the patent is reproduced below.
`
`
`
`3
`
`
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`
`Figure 18 is a diagrammatic representation of a multiple processor
`system with a probe filtering unit. Id. at 3:61–63, 26:58–27:20, Fig. 18.
`Specifically, Figure 18 depicts multiple processor system 1800 with
`processing nodes 1802a–d interconnected by point-to-point communication
`links 1808a–e. Id. at 26:58–27:1. System 1800 also includes probe filtering
`unit 1830 as well as I/O switch 1810, one or more Basic I/O systems
`(“BIOS”) 1804, I/O adapters 1816, 1820, and a memory subsystem with
`memory banks 1806a–d. Id. at 3:61–63, 26:58–27:20, Fig. 18.
`Claims 1, 16, and 25 of the ’121 patent are independent claims.
`Claim 1 is illustrative of the claimed subject matter and recites:
`1. A computer system comprising a plurality of processing
`nodes interconnected by a first point-to-point architecture,
`each processing node having a cache memory associated
`therewith,
`the computer system further comprising a probe filtering unit
`which is 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.
`Id. at 30:65–31:7 (line breaks added).
`B. ASSERTED PRIOR ART
`The Petition relies upon the following prior art references, as well as
`the supporting Declaration of Robert Horst, Ph.D. (Ex. 1014):
`U.S. Patent Application Publication No. 2002/0053004 A1 (published
`May 2, 2002) (Ex. 1003, “Pong”);
`
`U.S. Patent No. 6,662,277 B2 (filed July 31, 2001) (issued Dec. 9,
`2003) (Ex. 1020, “Gaither”);
`
`
`
`4
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`
`JOSÉ DUATO ET AL., INTERCONNECTION NETWORKS (1997) (Ex. 1007,
`“Duato”); and
`
`MICHAEL JOHN SEBASTIAN SMITH, APPLICATION-SPECIFIC INTEGRATED
`CIRCUITS (1997) (Ex. 1008, “Smith”).
`C. ASSERTED GROUNDS OF UNPATENTABILITY
`Petitioner asserts the following grounds of unpatentability. Pet. 3.
`Challenged Claim[s]
`Basis
`Reference[s]
`1–3, 8, 11, 12, 15, 16, and 25 § 102 Pong
`13
`§ 103 Pong and Gaither
`14
`§ 103 Pong and Duato
`17–24
`§ 103 Pong and Smith
`
`II. ANALYSIS
`A. CLAIM INTERPRETATION
`We begin our analysis by addressing the meaning of the claims. The
`Board interprets claims using the “broadest reasonable construction in light
`of the specification of the patent in which [they] appear[].” 37 C.F.R.
`§ 42.100(b); see In re Cuozzo Speed Techs., LLC, 778 F.3d 1271, 1279–82
`(Fed. Cir. 2015). We presume a claim term carries its “ordinary and
`customary meaning,” which is “the meaning that the term would have to a
`person of ordinary skill in the art in question” at the time of the invention.
`In re Translogic Tech., Inc., 504 F.3d 1249, 1257 (Fed. Cir. 2007) (citation
`and quotations omitted). This presumption, however, is rebutted when the
`patentee acts as his own lexicographer by giving the term a particular
`meaning in the specification with “reasonable clarity, deliberateness, and
`precision.” In re Paulsen, 30 F.3d 1475, 1480 (Fed. Cir. 1994).
`
`
`
`5
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`
`Petitioner and Patent Owner each proffer proposed constructions of
`several claim terms. On this record and for purposes of this decision, we
`determine that only the claim terms addressed below require construction.
`1. “probe” (claims 1–3, 8, 11–17, 19, 20, 22, 24, and 25)
`Petitioner points out that the ’121 patent defines the term “probe,”
`
`which is recited in challenged claims 1–3, 8, 11–17, 19, 20, 22, 24, and 25,
`and argues that the term should be construed as “a mechanism that elicits a
`response from a node to maintain cache coherency in a system.” Pet. 7–8.
`Patent Owner does not address Petitioner’s assertions.
`We note that Petitioner’s proposed construction slightly differs from
`the definition of “probe” in the ’121 patent, which uses the language “a
`mechanism for eliciting a response,” as opposed to “a mechanism that elicits
`a response” in Petitioner’s proposed construction. Id. (emphases added); see
`Ex. 1001, 5:45–47. Petitioner has provided no reason for the difference in
`wording. Therefore, for purposes of this decision, we adopt as the broadest
`reasonable construction of “probe” the express definition of the term in the
`’121 patent: “[a] mechanism for eliciting a response from a node to
`maintain cache coherency in a system.” Ex. 1001, 5:45–47.
`2. “probe filtering information” (claims 1, 3, 16, and 25)
`Petitioner argues that the ’121 patent expressly defines “probe
`
`filtering information,” as recited in challenged claims 1, 3, 16, and 25.
`Pet. 8–9. Patent Owner does not respond to this argument. We agree that
`the ’121 patent defines the term “probe filter information.” Ex. 1001,
`14:50–52. On the record before us, we adopt this definition as the broadest
`reasonable construction of the claim term “probe filtering information”:
`
`
`
`6
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`“[a]ny criterion that can be used to reduce the number of clusters or nodes
`probed.” Id.
`3. “states associated with selected ones of the cache memories (claims 1,
`16, and 25)
`Claims 1, 16, and 25 recite “probe filtering information”
`“representative of states associated with selected ones of the cache
`memories.” The parties agree that the ’121 patent does not explicitly define
`“states associated with selected ones of the cache memories.” Pet. 9; Prelim.
`Resp. 13. Each party proposes a construction of the term. Pet. 9–10; Prelim.
`Resp. 13–24. Petitioner’s proposal is that the term is “broad enough to
`encompass ‘any modes or conditions of selected ones of the cache
`memories.’” Pet. 10. Patent Owner proposes that the term means “cache
`coherence protocol states associated with data blocks stored in selected ones
`of the cache memories,” where a “cache coherence protocol state” means
`“the current state of a data block in a protocol used to maintain the
`coherency of caches, in which a data block can only be in one current state
`at a time, and in which the current state can transition to a different state
`upon one or more triggering events or conditions.” Prelim. Resp. 13–14. At
`this preliminary stage of this proceeding, for the reasons discussed below,
`we are not persuaded that either party’s proposal accurately represents the
`broadest reasonable construction of the term “states associated with selected
`ones of the cache memories.” For purposes of this decision, we do not adopt
`a construction of the term and instead address aspects of its scope.
`Petitioner explains that this term should be construed broadly because
`“the ’121 patent fails to limit the recited ‘states’ to a specific type of state
`nor even to a particular group of states, such as standard coherence protocol
`states.” Pet. 9 (citing Ex. 1001, 14:30–36). Petitioner points to a dictionary
`
`
`
`7
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`definition of the word “state” as “‘mode or condition of being.’” Id. at 10
`(citing Ex. 1015, 1145). Petitioner argues “state” is exemplified by
`presence, which is defined in the same dictionary as “‘the fact or condition
`of being present.’” Id. (citing Ex. 1015, 919) (emphasis omitted).
`According to Petitioner, the ’121 patent uses the word “state” in a manner
`consistent with this meaning and encompasses the condition of being present
`by describing that a “directory of shared cache states . . . indicates where
`particular memory lines are cached within the cluster.” Id. (quoting
`Ex. 1001, 28:29–34).
`Patent Owner disagrees. Specifically, Patent Owner argues that
`“under Petitioner’s construction, the mode or condition need not have any
`relation to cache coherency or even what is stored in the selected ones of the
`cache memories.” Prelim. Resp. 13. To the extent Petitioner’s construction
`is broad enough to include “states” that are not in any way related to what is
`stored in cache memory, we agree with Patent Owner that this construction
`is unreasonable. The words in the limitation “states associated with selected
`ones of the cache memories,” especially when read in the context of the
`claims, plainly link the “states” to the “cache memories.” The claims use the
`term “representative of states associated with selected ones of the cache
`memory” to modify “probe filtering information.” Ex. 1001, 31:5–7, 32:14–
`15, 32:52–55 (emphasis added). Based on the function of the probe filtering
`information—reducing the number of clusters or nodes probed when
`requesting contents of cache memory (see id. at 14:50–52)—we are
`persuaded that this language effectively relates the recited “states” not just to
`any aspect of the cache memory, but to the contents of that memory.
`
`
`
`8
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`
`On the other hand, we are not persuaded that the ’121 patent supports
`a construction as narrow as that proposed by Patent Owner. Patent Owner
`asserts that “states” refers solely to cache coherence protocol states. Prelim.
`Resp. 14–17. Patent Owner bases this assertion on two examples of
`potential states given in the ’121 patent: “the four states of modified, owned,
`shared, and invalid” and “the five states of modified, exclusive, owned,
`shared, and invalid.” Id. at 14–15 (quoting Ex. 1001, 14:30–36) (emphasis
`omitted). According to Patent Owner, these examples “reinforce[] that the
`relevant states are cache coherence protocol states (although not limited to
`any particular cache coherence protocol’s set of states).” Id. at 15. Patent
`Owner also points to Figures 7 and 8, which show similar states in diagram
`form. Id. The ’121 patent, however, sets these examples within broad
`language stating that “particular implementations may use a different set of
`states” and “[t]he techniques of the present invention can be used with a
`variety of different possible memory line states.” Ex. 1001, 14:30–36. We,
`thus, are not persuaded that these examples limit the broadest reasonable
`construction of the term “states” to cache coherence protocol states.
`In addition, because we are not persuaded that the term “states” is
`limited to cache coherence protocol states, we are not persuaded by
`Patent Owner’s further proposed limitations to the term “states associated
`with selected ones of the cache memories” based on aspects of cache
`coherence protocol states. See Prelim. Resp. 17–24.
`Moreover, given the usage of “states” in the specification of the
`’121 patent as well as the dictionary definition of “state” cited by Petitioner,
`we are persuaded, on this record, that “states associated with selected ones
`of the cache memories” is broad enough to include the condition of
`
`
`
`9
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`presence. See Pet. 9–10; Ex. 1001, 14:30–36, 28:29–34 (“The PFU accepts
`the probe and looks up the address in its directory of shared cache states . . .
`[that] indicates where particular memory lines are cached within the
`cluster.”); Ex. 1015, 919, 1145. This conclusion is further supported by
`other extrinsic evidence, particularly the definition of “state” in MICROSOFT
`COMPUTER DICTIONARY: “[t]he condition at a particular time of any of
`numerous elements of computing—a device, a communications channel, a
`network station, a program, a bit, or other element—used to report on or to
`control computer operations.” Ex. 3001 (MICROSOFT COMPUTER
`DICTIONARY (5th ed. 2002)), 497–98.
`At this preliminary stage of this proceeding, we decline to adopt either
`party’s proposed construction of the term “states associated with selected
`ones of the cache memories.” Instead, for purposes of this decision, we are
`persuaded only that, on this record, 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.
`4. “after receiving a first number of responses to a first probe” (claim 11),
`“wherein . . . the first number is one” (claim 12), “wherein . . . the first
`number is two” (claim 13)
`Claim 11 depends from claim 1 and further recites “wherein each of
`
`the processing nodes is programmed to complete a memory transaction after
`receiving a first number of responses to a first probe, the first number being
`fewer than the number of processing nodes.” Ex. 1001, 31:49–53.
`Claims 12 and 13 depend from claim 11. Claim 12 adds the limitation:
`“wherein . . . the first number is one.” Id. at 31:57. Claim 13 adds the
`limitation: “wherein . . . the first number is two.” Id. at 31:61–62. Neither
`party discusses this claim language in the claim construction section of its
`
`
`
`10
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`briefing. See Pet. 5–15; Prelim. Resp. 11–25. In arguing that Pong
`anticipates claim 12, however, Petitioner proposes an interpretation of “after
`receiving a first number of responses to a first probe” “wherein . . . the first
`number is one” that we must address to determine whether institution of
`inter partes review is warranted. See Pet. 34; Ex. 1014 ¶ A-23.
`Specifically, Petitioner argues that, under the broadest reasonable
`interpretation, “the requirement of claim 12 that ‘the first number is one’
`simply imparts a temporal requirement . . . that the memory transaction be
`completed after receiving one response.” Pet. 34. Therefore, according to
`Petitioner, “even in the case where a requesting processor waits for [a]
`second response to complete the memory transaction, that memory
`transaction is completed after receiving one response” and, thus, falls within
`the claim language. Id. As support, Petitioner cites the testimony of
`Dr. Horst, who similarly opines that “‘after’ can be reasonably read to mean
`any time after receiving one response” and, therefore, “claim 12 can be
`reasonably read to simply impart a temporal requirement that each
`processing node be programmed to wait until receiving at least one response
`to complete a memory transaction.” Ex. 1014 ¶ A-23 (emphases added). In
`other words, Petitioner proposes that even if a processing node performs a
`memory transaction after receiving two, three, four, etc. responses, it would
`still satisfy the claim language “after receiving a first number of responses to
`a first probe” “wherein . . . the first number is one.”
`
`We disagree. Upon review of the claims and the written description
`of the ’121 patent—neither of which is discussed in the Petition or
`Dr. Horst’s testimony—we determine that Petitioner’s proposed
`interpretation of the claim language is too broad to be reasonable. We
`
`
`
`11
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`decline to interpret “after” as “any time after” and “one” as “at least one,” as
`Petitioner suggests. Id.
`Petitioner’s proposed interpretation would render the various specific
`limitations regarding the recited “first number”—“the first number being
`fewer than the number of processing nodes” (claim 11), “the first number is
`one” (claim 12), and “the first number is two” (claim 13)—effectively
`meaningless and nonsensical. See Becton, Dickinson & Co. v. Tyco
`Healthcare Grp., LP, 616 F.3d 1249, 1255 (Fed. Cir. 2010) (holding that a
`claim construction that renders claims nonsensical cannot be correct); Cat
`Tech LLC v. TubeMaster, Inc., 528 F.3d 871, 885 (Fed. Cir. 2008) (refusing
`to adopt a construction that would render a claim limitation meaningless).
`For example, under Petitioner’s proposed interpretation, claim 11’s
`language, “after receiving a first number of responses to a first probe, the
`first number being fewer than the number of processing nodes,” would
`extend to memory transactions performed “any time after receiving” a
`number of responses fewer than the processing nodes. Ex. 1014 ¶ A-23; see
`Pet. 34. In other words, the limitation would cover memory transactions
`performed after the processing node received any number of responses—
`whether fewer than, equal to, or greater than the number of processing
`nodes. It, therefore, would impose no meaningful limitation on the number
`of responses the requesting processor must be programmed to receive before
`performing a memory transaction.
`
`We also are not persuaded that Petitioner’s proposed construction is
`consistent with the discussion of programming the processing nodes in the
`’121 patent specification. The ’121 patent refers to programming each node
`“to expect only one or two probe responses instead of one from each node in
`
`
`
`12
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`the system. More specifically, each node is programmed to expect one
`probe response if the [probe filtering unit] contains temporary storage to
`hold dirty data, and two if it does not.” Ex. 1001, 28:16–21; see id. at
`28:21–29:30. This discussion of programming processing nodes to expect a
`specific number of responses (one or two) is not in line with Petitioner’s
`proposal that claim 12’s limitation—the first number is one—would extend
`to performing a memory transaction any time after receiving one response,
`including after receiving two, three, four, or more responses, and that
`claim 13’s corresponding limitation—the first number is two—similarly
`would extend to performing a transaction after receiving three, four, five, or
`more responses.
`
`In light of the ’121 patent claims and written description, discussed
`above, we determine that “after receiving a first number of responses to a
`first probe” “wherein . . . the first number is one,” as recited in claim 12,
`means after receiving one response—not at least one or more than one
`response, as Petitioner proposes. Similarly, we conclude that the language
`in claim 13, “after receiving a first number of responses to a first probe”
`“wherein . . . the first number is two” means after receiving two responses—
`not at least two or more than two responses. In other words, if a processor
`performs a memory transaction after receiving two responses, the first
`number is two—not one, as Petitioner suggests. See Pet. 34.
`5. “cache coherence controller” (claim 3)
`Petitioner also correctly contends that the ’121 patent defines “cache
`
`coherence controller,” as recited in claim 3. Id. at 12–13. Patent Owner
`does not address this assertion. For purposes of this decision, we adopt this
`express definition as the broadest reasonable construction of “cache
`
`
`
`13
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`coherence controller”: “[a]ny mechanism or apparatus that can be used to
`provide communication between multiple processor clusters while
`maintaining cache coherence.” Ex. 1001, 7:2–5.
`B. ANTICIPATION BY PONG
`We turn to the asserted grounds. Petitioner argues Pong anticipates
`
`claims 1–3, 8, 11, 12, 15, 16, and 25 of the ’121 patent. Pet. 20–44.
`1. Pong
`Pong discloses a multiprocessor system implementing an
`
`asynchronous cache coherence protocol. Ex. 1003, [57], ¶ 12. In the
`asynchronous cache coherence protocol, each data block has associated state
`information, which “indicates whether a copy of the data block is valid or
`invalid.” Id. ¶ 13. When a processor “propagates a read or write request”
`and the receiving processor does not have a valid copy of the requested data
`block, “it simply drops the request without responding.” Id. ¶ 24; see id.
`¶ 13. Therefore, “the processors do not have to synchronize a response to a
`request for a data block.” Id. ¶ 24.
`In addition, Pong explains that “write invalidation and write update”
`are the “two primary protocols for cache coherence.” Id. ¶ 48. “Either of
`these protocols may be used to implement” the disclosed system. Id. ¶ 69;
`see id. ¶ 48. These protocols respond differently to write operations.
`Specifically, in response to a write operation, “[t]he write invalidation
`protocol invalidates other copies of a data block,” whereas the write update
`protocol “updates all of the cached copies of a data block.” Id. ¶ 48.
`Pong discusses an implementation of the disclosed multiprocessor
`system using “point-to-point links to communicate memory requests.” Id.
`¶ 12; see id. ¶¶ 15, 29–30. Figure 2 of Pong is reproduced below.
`
`
`
`14
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`
`
`Figure 2 depicts multiprocessor 200, with processors 202, 204 and memory
`controller 206. Id. ¶¶ 18, 30. Each processor includes “one or more
`caches” 212, 214. Id. ¶ 31. Each processor communicates with memory
`controller 206 through “two dedicated and unidirectional links.” Id. ¶ 30;
`see id. ¶ 15.
`Memory controller 206 has one request queue 220, 222 and one snoop
`queue 224, 226 per processor. Id. ¶¶ 31–33. The request queue receives
`requests from the processor; the snoop queue issues requests to the processor
`in first in, first out order. Id. ¶¶ 32–35. Memory controller 206 also
`includes internal address bus 223, through which these queues communicate.
`See id. ¶ 33, Fig. 3. “[W]hen a processor issues a request for a block of
`data,” the request enters a request queue (220 or 222) in memory
`controller 206. Id. ¶ 32; see id. ¶ 43. These request queues may be designed
`either to “broadcast the request to all other processors and the memory” or to
`“target the request to a specific processor or set of processors known to have
`a copy of the requested block.” Id. ¶ 32; see id. at [57], ¶ 13.
`
`
`
`15
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`Pong describes a “possible implementation of the data path for the
`
`architecture” shown in Figure 2, in which the memory controller also
`includes an incoming queue and an outgoing queue for each processor. See
`id. ¶¶ 40–43, Fig. 3. Pong explains that when a processor “is responding to
`a request for a data block,” it transfers the data block to the memory
`controller, particularly the outgoing queue that corresponds to the processor.
`Id. ¶¶ 41, 43. From the outgoing queue, the data block enters the bus of the
`memory controller. Id. ¶ 41. From the bus, the data block is buffered in the
`incoming queue that corresponds to the processor to which the data block is
`destined. Id.
`Pong also discloses the use of a directory to “reduce traffic in the
`control path.” Id. ¶ 51. “A directory, in this context, is a mechanism for
`identifying which processors have a copy of a data block.” Id. The
`directory can be implemented with a “presence bit vector,” with one bit per
`processor. Id. “When the bit corresponding to a processor is set in the bit
`vector, the processor has a copy of the data block.” Id.
`The directory “may be stored in a memory device that is . . .
`integrated into the memory controller.” Id. ¶ 57. “In this implementation,
`the memory controller directs a request from the request queue to the
`directory, which filters the request and addresses it to the appropriate
`processors (and possibly memory devices).” Id. ¶ 56. Specifically,
`“directory filter 400 receives requests from the request queues (e.g., 402,
`404) in the memory controller, determines which processors have a copy of
`the data block of interest, and forwards the request to the [snoop queue](s)
`(e.g., 406, 408) corresponding to these processors.” Id. ¶ 57.
`
`
`
`16
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`
`2. Independent Claims 1, 16, and 25
`We begin our analysis by addressing the independent claims of the
`
`’121 patent, claims 1, 16, and 25.
`a. Common Disputed Limitations
`Patent Owner’s dispute of Petitioner’s anticipation arguments
`
`regarding claims 1, 16, and 25 focuses on the limitations related to probe
`filtering. Prelim. Resp. 28–48. In addressing the limitations, Petitioner
`contends that Pong’s memory controller corresponds to the recited “probe
`filtering unit” and its presence bit vector corresponds to the recited “probe
`filtering information.” Pet. 25–27, 36–37, 38–44. Further, Petitioner argues
`that both the read requests and write requests in Pong correspond to the
`“probes” recited in claims 1 and 16 and the “probe” recited in claim 25. Id.
` i. “probe filtering unit” and “probes”
`Based on our review of the Petition, Petitioner has proffered sufficient
`evidence that Pong discloses a “probe filtering unit . . . 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”—as
`recited in claims 1 and 16. Ex. 1001, 31:1–5, 32:11–14; see Pet. 24–26, 36–
`37. We also are persuaded, on this record, that Pong discloses “transmitting
`a probe from a first one of the processing nodes only to a probe filtering
`unit, the probe corresponding to a memory line” and “transmitting the probe
`from the probe filtering unit only to the selected ones of the processing
`nodes,” as recited in claim 25. Ex. 1001, 32:45–57; Pet. 38–42.
`In particular, we are persuaded that Pong’s read requests are
`equivalent to the recited “probes” and its memory controller is equivalent to
`the recited “probe filtering unit.” Specifically, Pong’s memory controller
`
`
`
`17
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`(“probe filtering unit”) receives a read request, or a “request for a block of
`data,” from a requesting processor (“processing node”). Ex. 1003 ¶ 32; see
`id. ¶¶ 24, 43. The memory controller “target[s] the request to a specific
`processor or set of processors known to have a copy of the requested block”
`(“selected ones of the processing nodes”). Id. ¶ 32; see id. ¶¶ 56–57.
`Specifically, the directory in the memory controller “filters the request” by
`determining “which processors have a copy of the data block of interest[]
`and forward[ing] the request” to the appropriate processors. Id. ¶¶ 56–57;
`see id. ¶¶ 33, 35. Further, at this stage of the proceeding, we agree with
`Petitioner that the requesting processor receives a response to the request as
`part of a cache coherence protocol—thereby bringing a read request within
`the meaning of the claim term “probe.” See id. ¶¶ 24, 33, 41–43; see, e.g.,
`Pet. 25–26, Ex. 1014 ¶ A-8.
`We do not find persuasive Patent Owner’s arguments to the contrary.
`Patent Owner argues that paragraph 47 of Pong “makes clear that read
`requests are filtered not by the memory controller—which Petitioners argue
`is the ‘probe filtering unit’—but rather by the requesting processors
`themselves.” Prelim. Resp. 31–32. Thus, according to Patent Owner, read
`requests do not disclose “probes” filtered by the “probe filtering unit.” Id.
`Paragraph 47 of Pong explains that “state information can be extended
`to include the ID of the processor that currently has a particular data block”
`and that “[t]his ID can be used to target a processor” in a read request.
`Ex. 1003 ¶ 47 (emphases added). In particular, “[u]sing the processor ID
`associated with the requested data block, the requesting processor
`specifically addresses the read request to the processor that has the valid
`copy.” Id. By using the language “can be,” Pong makes clear that extending
`
`
`
`18
`
`

`
`IPR2015-00159
`Patent 7,296,121 B2
`
`state information to include a processor ID is an optional addition to the state
`information. On this record, we are not persuaded that this optional feature,
`which allows the requesting processor to target its requests to a specific
`processor, impacts Pong’s other disclosures, addressed above, that the
`memory controller receives and filters requests. See id. ¶¶ 32, 56–57.
`Because we are persuaded that Petitioner has put forward adequate
`evidence that Pong’s read requests correspond to the recited “probes”
`filtered by the “probe filtering unit,” we do not address the parties’
`arguments directed to whether write requests constitute “probes.”
`ii. “probe filtering information”
`Petitioner argues that—with either the write update protocol or the
`
`write invalidation protocol implemented—Pong’s presence bit vector is
`equivalent to the “probe filtering information” “representative of states
`associated with selected ones of the cache memories,” as recited in claims 1,
`16, and 25. Pet. 26–27, 36–37, 40–42. Petitioner relies on testimony from
`Dr. Horst, opining that—for both the write update protocol and the write
`invalidation protocol—a set bit in the presence bit vector indicates not only
`that the corresponding processor has a copy of the data but also that the copy
`is valid. Id. at 26 (citing Ex. 1014 ¶¶ A-10–A-13); Ex. 1014 ¶¶ A-10–A-13.
`In other words, according to Petitioner, the presence bit vector indicates
`states of both presence and validity of data blocks in the cache of processors.
`See, e

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