throbber
Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 1 of 29
`
`EXHIBIT 1
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 1
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 2 of 29
`
`UNITED STATES DISTRICT COURT
`WESTERN DISTRICT OF WASHINGTON
`AT SEATTLE
`
`
`SRC LABS, LLC, and
`SAINT REGIS MOHAWK TRIBE,
`Plaintiffs,
`
`
`
`v.
`
`
`AMAZON WEB SERVICES, INC.,
`AMAZON.COM, INC., and
`VADATA, INC.,
`
`Defendants.
`
`)
`)
`)
`)
`)
`)
`)
`)
`)
`)
`)
`)
`)
`)
`
`
`
`Case No. 2:18-cv-00317-JLR
`
`JURY TRIAL DEMANDED
`
`OPENING REPORT OF BRAD HUTCHINGS, PH.D.,
`REGARDING MARKMAN ISSUES
`
`I, BRAD L. HUTCHINGS, PH.D., declare as follows:
`
`1.
`
`The facts and opinions listed below are within my personal knowledge. If called
`
`as a witness, I could and would testify competently to the matters provided herein. I am over the
`
`age of eighteen and am a citizen of the United States.
`
`2.
`
`I understand that Plaintiffs SRC Labs, LLC, and Saint Regis Mohawk Tribe (col-
`
`lectively, “SRC”) assert U.S. Patent Nos. 7,149,867 (the “’867 patent”), 7,225,324 (the “’324 pa-
`
`tent”), 7,620,800 (the “’800 patent”), and 9,153,311 (the “’311 patent) (collectively, “the patents-
`
`in-suit”) against Amazon Web Services, Inc., Amazon.com, Inc., and VADATA, Inc. (collectively,
`
`“Amazon”). I was asked by Amazon to provide my opinions about what certain claim terms of
`
`the patents-in-suit mean to a person having ordinary skill in the art at the time the patents-in-suit
`
`were filed.
`
`1
`
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 2
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 3 of 29
`
`I.
`
`QUALIFICATIONS
`
`3.
`
`Here, I provide a brief summary of my qualifications. My qualifications are stated
`
`more fully in my curriculum vitae, which is attached to this declaration as Exhibit A. I have re-
`
`viewed the patents-in-suit and am familiar with the subject matter thereof, which relates to my
`
`training, education, and background. I am qualified to testify as an expert on matters related to
`
`these patents.
`
`4.
`
`I am a professor in the department of Electrical and Computer Engineering at
`
`Brigham Young University (BYU) in Provo, Utah. I received a Bachelor of Science degree in
`
`Computer Science in 1984, a Master of Science degree in Computer Science in 1987, and a Ph.D.
`
`degree in Computer Science in 1992, all from the University of Utah. I have been a professor at
`
`BYU since 1992. Since that time, I also established the Reconfigurable Computing Laboratory at
`
`BYU in 1993. In 1998, I was a visiting scholar at HP Labs in Bristol, England, where I was part
`
`of a group that designed and studied reconfigurable devices for portable appliances. From 2003
`
`to 2007, I worked as a director at Tabula, an FPGA design and manufacturing company that I
`
`helped to start. I have published extensively in the reconfigurable-computing community and reg-
`
`ularly consult with the industry. I serve on the committees of many of the conferences related to
`
`reconfigurable computing and FPGAs. My research interests include programmable devices and
`
`architectures, tool flows, debugging strategies, and parallel computation.
`
`5.
`
`I have over 25 years of experience working with and designing FPGAs. In that
`
`time, I have also taught numerous FPGA-related courses to both undergraduate and graduate stu-
`
`dents. I have published over 70 articles related to FPGA technology and am a named inventor on
`
`over 60 patents related to FPGA devices and debugging of FPGA circuits. I was also qualified as
`
`an expert witness in patent-litigation matters related to FPGA technology.
`
`II. MATERIALS CONSIDERED
`
`2
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 3
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 4 of 29
`
`6.
`
`In reaching my opinions, I have reviewed the patents-in-suit and their respective
`
`file histories and prior art that was referenced by the Patent Office during prosecution of the pa-
`
`tents. I have also reviewed the parties’ proposed claim constructions along with support each party
`
`cited in support of the respective constructions to date. I also reviewed SRC’s infringement con-
`
`tentions and Amazon’s invalidity contentions. Additionally, I have reviewed dictionary definitions
`
`and any literature I reference below. In forming my opinions, I also relied on my knowledge and
`
`expertise in the field. My opinions below are not exhaustive, and they are provided without the
`
`benefit of being able to consider the opinions of any expert retained by SRC. I reserve the right to
`
`offer additional opinions in response to any expert opinions or briefing from SRC, including during
`
`my deposition or at the claim construction hearing in this action. I may also provide a tutorial to
`
`the Court concerning the patents-in-suit generally, the underlying technology, and the state of the
`
`art at the time of the alleged invention, or provide any other testimony the Court may request or
`
`find helpful.
`
`7.
`
`I am being compensated for my time in this proceeding at my standard rate of $500
`
`per hour. My compensation in this matter is not based in any way on the outcome of the litigation,
`
`or the nature of my opinions, and I have no financial or business interest in any of the parties in
`
`this case.
`
`III. LEVEL OF ORDINARY SKILL IN THE ART
`
`8.
`
`I understand that the ’867 patent claims priority to June 18, 2003; the ’324 and ’800
`
`patents claim priority to October 31, 2002; and the ’311 patent claims priority to May 27, 2014.
`
`In forming my opinions regarding claim construction, I have applied the level of ordinary skill as
`
`of the priority date claimed for each of the patents-in-suit.
`
`3
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 4
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 5 of 29
`
`9.
`
`In my opinion, a person having ordinary skill in the art at the time of the alleged
`
`invention of the patents-in-suit would have had a Bachelor’s degree in electrical engineering, com-
`
`puter engineering, or a related field, with two to three years of experience working with reconfig-
`
`urable systems. With more education, such as additional graduate degrees and/or study, less ex-
`
`perience is needed to attain the ordinary level of skill.
`
`10.
`
`Both now and at the time of the filing of the patents-in-suit, I possessed at least
`
`ordinary skill in the art. At the relevant time frame, I worked with, taught, and knew many indi-
`
`viduals who would qualify as persons of ordinary skill in the art. As a result of my education and
`
`over twenty-five years of experience in reconfigurable computing, I am very familiar with the state
`
`of the art in the area to which the patents-in-suit relate.
`
`IV. CLAIM CONSTRUCTION FRAMEWORK
`
`11.
`
`I understand that claim construction is governed by a number of legal principles. I
`
`am not a lawyer. I have been advised of the relevant legal principles and have used them as a basis
`
`for my opinions.
`
`12.
`
`I understand that claim terms and phrases are to be given their plain and ordinary
`
`meaning unless the patentee provided a special meaning. I also understand that claims must be
`
`read in light of the written description of the invention in the patent’s specification. Additionally,
`
`I understand that the prosecution history can further inform the meaning of the claim language by
`
`demonstrating how the inventor understood the invention and whether the inventor limited the
`
`invention in the course of prosecution, making the claim scope narrower than it might be otherwise.
`
`In addition, I understand that both general and technical dictionaries may assist the Court in con-
`
`struing a claim term.
`
`A. Means-plus-function terms
`
`4
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 5
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 6 of 29
`
`13.
`
`I understand that a patentee may express a claim limitation as a means for perform-
`
`ing a given function. These kinds of terms are called “means-plus-function” terms and are subject
`
`to special rules of claim construction.
`
`14.
`
`I also understand that one determines whether a claim term is in means-plus-func-
`
`tion form by considering whether the claims disclose a structure or whether the limitation speaks
`
`in purely functional terms. A claim term that uses the word “means” may trigger a presumption
`
`that it is a means-plus-function term. This presumption can be overcome if the term itself recites
`
`the structure, the term connotes a known structure to one of skill in the art, or the claim does not
`
`recite any function for the means term to perform. Conversely, a term that does not use similar
`
`“means” phrasing is presumed not to be in means-plus-function form. This presumption is over-
`
`come where the term does not connote a sufficiently definite structure to perform the entire claimed
`
`function or recites a function without reciting structure for performing that function. I further
`
`understand that it is not sufficient that one of skill could have carried out the recited function in a
`
`variety of ways. Instead, the relevant inquiry is whether the term connotes to a person of ordinary
`
`skill in the art a sufficiently definite structure for performing the recited function.
`
`15.
`
`I understand that means-plus-function limitations are construed to “cover the cor-
`
`responding structure, material, or acts described in the specification and equivalents thereof.” 35
`
`U.S.C. § 112(6). Means-plus-function limitations are construed using a two-step process. First,
`
`the court uses ordinary principles of claim construction to determine the function explicitly set
`
`forth in the claims. Second, the court determines from the perspective of a person of ordinary skill
`
`in the art what structure, if any, disclosed in the specification corresponds to the claimed function.
`
`Any such structure must be clearly associated with the performance of the function.
`
`B.
`
`Indefiniteness
`
`5
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 6
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 7 of 29
`
`16.
`
`I understand that in order for a patent to be valid, it must satisfy the statutory defi-
`
`niteness requirement. The definiteness requirement provides that the patent specification must
`
`“conclude with one or more claims particularly pointing out and distinctly claiming the subject
`
`matter that the applicant regards as the invention.” 35 U.S.C. § 112(2). In determining whether a
`
`patent claim is indefinite, a court must consider whether the claims, read in light of the specifica-
`
`tion delineating the patent, provide reasonable certainty about the scope of the invention to one
`
`skilled in the art.
`
`17.
`
`In the case of means-plus-function limitations, it is my understanding that if a cor-
`
`responding structure for performing the function is not set out in the specification, then the claim
`
`is indefinite. It is my understanding that even if the specification discloses some corresponding
`
`structure, a means-plus-function limitation may be indefinite if that disclosure is inadequate to
`
`perform the entire claimed function. I understand that in order to meet the definiteness requirement
`
`of 35 U.S.C. § 112(6), the specification must include a disclosure sufficient for one skilled in the
`
`art to understand what structure disclosed in the specification performs the function recited in the
`
`claim. To ascertain the structure that corresponds with the recited function, the specification must
`
`clearly link or associate a structure with the particular function recited in the claim.
`
`18.
`
`In addition, I understand that for claims directed towards computer-implemented
`
`inventions, the structure disclosed in the specification generally must be more than a general-pur-
`
`pose computer or microprocessor. This is because general purpose computers can be programmed
`
`to perform different tasks in different ways and such a disclosure would effectively provide no
`
`limit on the scope of the claims. Thus, the corresponding structure for a computer-implemented
`
`function is not a computer, but is a specific algorithm that allows a general-purpose computer or
`
`microprocessor to perform the claimed function. An “algorithm” is a fixed step-by-step procedure
`
`6
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 7
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 8 of 29
`
`for accomplishing a given result. A patentee may express the procedural algorithm in any under-
`
`standable terms including as a mathematical formula, in prose, or as a flow chart. A patentee is
`
`not required to produce a listing of source code or a highly detailed description of the algorithm to
`
`be used to achieve the claimed function in order to satisfy 35 U.S.C. § 112(6). The patentee is
`
`required, however, to at least disclose the algorithm that transforms the general-purpose micropro-
`
`cessor to a special-purpose computer which is programmed to perform the algorithm. I am in-
`
`formed that a patent claim is invalid as being indefinite if the specification fails to disclose in
`
`sufficient detail an algorithm for programming the computer or microprocessor. There is one ex-
`
`ception to this general rule—a patent can meet the requirements of Section 112(6) by reciting only
`
`a general-purpose computer or microprocessor (with no corresponding algorithm) if the claimed
`
`function can be achieved without any special programming.
`
`V.
`
`OVERVIEW OF THE ’311 PATENT
`
`19.
`
`The ’311 patent is titled “System and Method for Retaining DRAM Data when
`
`Reprogramming Reconfigurable Devices with DRAM Memory Controllers.” DRAM is a well-
`
`known component in computer engineering; it stands for dynamic random access memory and is
`
`a type of random access semiconductor memory used in computing devices. Data stored in DRAM
`
`decays over time, as charges in the memory cells leak away. To prevent this, DRAM cells must
`
`be “refreshed”—their data must be read and written back to them on a regular basis. Generally, in
`
`DRAM systems, the memory controller initiates the refresh cycle. Some DRAM systems also
`
`offer a “self-refresh” mode, in which the DRAM refreshes its contents without the memory con-
`
`troller’s involvement. This is generally used when the system enters a power-save mode but the
`
`memory contents must be preserved.
`
`20.
`
`The ’311 patent attempts to disclose “a system and method for preserving DRAM
`
`memory contents when a reconfigurable device, for example an FPGA having a DRAM memory
`
`7
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 8
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 9 of 29
`
`controller, is reconfigured, reprogrammed or otherwise powered down.” ’311 patent at 1:63-66.
`
`An FPGA, or a field programmable array, is a computer chip whose circuits can be configured or
`
`re-programmed by a consumer or developer—“in the field,” as it were. Like most computer sys-
`
`tems, FPGA-based systems are usually coupled with a random-access memory (typically DRAM)
`
`subsystem to store machine code and data while it is in use. Interfacing with the DRAM subsystem
`
`requires a memory controller, which in FPGA systems comprises part of the field programming of
`
`the FPGA. See, e.g., id. at 1:28-45.
`
`21.
`
`As the patent describes:
`
`A significant problem arises in reconfigurable computing when the FPGA is repro-
`grammed during a live application and the memory controller tri-states all inputs
`and outputs (I/O) between the FPGA device and the DRAM. The result is corrupted
`data in the memory subsystem. Therefore, dynamically reconfigurable processors
`are excluded as viable computing options, especially in regard to database applica-
`tions or context switch processing. The reason for this is that the time it takes to
`copy the entire contents of DRAM data and preserve it in another part of the system,
`reconfigure the processor, then finally retrieve the data and restore it in DRAM is
`just too excessive.
`
`Id. at 1:48-59.1
`
`22.
`
`To attempt to solve this problem, the ’311 patent introduces a data maintenance
`
`block and delegates to it the self-refresh command signals. The data maintenance block keeps the
`
`DRAM cells in self-refresh mode while the FPGA is being reprogrammed and until a newly con-
`
`figured memory controller is ready to reassume control over the refresh cycle. See generally id.
`
`at 1:67-2:22, 2:43-56. The Summary of the Invention of the patent describes that “the FPGA drives
`
`
`1 One skilled in the art would understand that when the FPGA tri-states all outputs during recon-
`figuration, the control signals connected to the DRAM take on arbitrary values and the DRAM is
`no longer controlled by the FPGA (including the refresh cycle).
`
`8
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 9
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 10 of 29
`
`the majority of the DRAM input/output (I/O) and the data maintenance block drives the self-re-
`
`fresh command inputs.” Id. at 2:7-9. As the same section describes, “the data maintenance block
`
`does not contain the memory controller.” Id. at 2:13-14.
`
`23.
`
`The ’311 patent describes that “using the self-refresh capability of DRAM alone is
`
`not adequate for maintaining data integrity during reconfiguration.” Id. at 2:29-31. That is because
`
`when the memory controller resumes control over the DRAM subsystem, it assumes that no useful
`
`data is in DRAM and so initializes itself by reading and writing to specific memory locations as
`
`part of a calibration process. The ’311 patent discloses reading the data at those DRAM locations
`
`before the FPGA is reconfigured, storing them in the data maintenance block during reconfigura-
`
`tion, and then retrieving and writing them to the DRAM after reconfiguration is complete and the
`
`memory controller is initialized. See generally id. at 2:23-42.
`
`24.
`
`In particular, the Summary of the Invention describes that the memory controller
`
`within the FPGA communicates with the data maintenance block via a communication port to
`
`instruct the data maintenance block to send self-refresh command signals to the DRAM. Id. at
`
`2:17-22. Before the FPGA is reconfigured, the memory controller retrieves data from DRAM and
`
`transmits the data via the communication port to the data maintenance block, where the data is
`
`stored. Id. at 2:21-42. This data includes data from specific memory addresses in the DRAM that
`
`will be corrupted when the memory controller in the FPGA attempts to calibrate with the DRAM
`
`after the FPGA is reconfigured. Id. at 2:49-52. The Summary of the Invention explains that the
`
`specific memory addresses “used during calibration/leveling are known and typically detailed in
`
`the controller IP specification.” Id. at 2:31-33. The FPGA retrieves the data from the DRAM
`
`using direct memory access (DMA) read requests to the specific memory addresses. Id. at 5:1-6.
`
`The DRAM data is then stored in the data maintenance block’s block RAM. Id. at 5:7-10. After
`
`9
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 10
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 11 of 29
`
`the process of storing the DRAM data in the data maintenance block is complete, the data mainte-
`
`nance block sends a self-refresh command to the DRAM and transmits an acknowledge signal
`
`back to the FPGA. Id. at 2:43-45. The FPGA can then be reprogrammed.
`
`25.
`
`Once reprogramming is complete, the memory controller calibrates with the
`
`DRAM, thereby corrupting data stored in the specific memory addresses of the DRAM. Id. at
`
`2:49-52. The data maintenance block then notifies FPGA logic surrounding the memory controller
`
`that the FPGA has awakened from “either an initial power up condition or a reconfiguration con-
`
`dition.” Id. at 2:49-56. If a “reconfiguration condition is detected,” the memory controller re-
`
`trieves stored DRAM data from the data maintenance block via the communication port and writes
`
`it back to the specific address locations corrupted during the calibration process. Id. at 2:56-61.
`
`Once this is complete, the FPGA resumes normal operation, servicing DRAM memory requests in
`
`“the traditional fashion.” Id. at 2:61-63.
`
`26.
`
`I understand that SRC asserts claims 1, 3, 9 and 10 of the ’311 patent. Claim 1 of
`
`is an independent claim, while the other three asserted claims depend from it.
`
`VI. DISPUTED CLAIM TERMS OF THE ’311 PATENT
`A.
`“a data maintenance block”
`
`27.
`
`The term “a data maintenance block” appears in asserted claim 1 of the ’311 patent
`
`(and is also referred to explicitly in claim 9 and claim 10). I understand the parties dispute the
`
`construction of this term and have proposed the following competing constructions:
`
`“a data maintenance block”
`Amazon’s Proposed Construction
`SRC’s Proposed Construction
`“a circuit separate from the memory control-
`“circuit or logic device for retaining DRAM
`ler that drives self-refresh command inputs
`memory data when the reconfigurable logic de-
`and stores DRAM memory data when the re-
`vice is reconfigured”
`configurable logic device is reconfigured”
`
`
`
`
`10
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 11
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 12 of 29
`
`28.
`
`As shown above, the parties’ proposed constructions have certain similarities. Both
`
`parties agree that the claimed data maintenance block is a circuit for “stor[ing]” or “retaining”
`
`“DRAM memory data when the reconfigurable logic device is reconfigured.” In my opinion,
`
`however, SRC’s proposed construction omits a portion of the implicit definition of the term in the
`
`patent and is thus inaccurate. Amazon’s proposed construction, on the other hand, correctly re-
`
`flects the requirement that the claimed data maintenance block not only store DRAM data when
`
`the reconfigurable logic device is reconfigured, but also that it is separate from the memory con-
`
`troller and drives self-refresh command inputs.
`
`29.
`
`“Data maintenance block” was not a term of art in 2014, when the ’311 patent was
`
`filed. Accordingly, I understand its meaning needs to be gleaned from the ’311 patent itself and
`
`its prosecution history. The patent makes clear that the data maintenance block 1) is separate from
`
`the memory controller, 2) stores DRAM memory data when the reconfigurable logic device is
`
`reconfigured, and 3) drives self-refresh command inputs. I address each of these requirements
`
`below.
`
`30.
`
`First, the ’311 patent makes clear that the “data maintenance block” must be sepa-
`
`rate from the memory controller. Each independent claim of the ’311 patent separately recites a
`
`“memory controller” and a “data maintenance block.” In particular, claim 1 requires “a reconfig-
`
`urable logic device having a memory controller” in addition to “a data maintenance block coupled
`
`to said reconfigurable logic device.” Likewise, claim 11, the only other independent claim, re-
`
`quires “a reconfigurable device having a memory controller” as well as “a data maintenance block
`
`coupled to said reconfigurable device.”
`
`31.
`
`Throughout the specification of the ’311 patent, the data maintenance block is sim-
`
`ilarly described as separate from, and working in concert with, the memory controller. ’311 patent
`
`11
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 12
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 13 of 29
`
`at Abstract (“The DRAM memory controller is utilized in concert with an internally or externally
`
`located data maintenance block . . . .”); id. at 2:4-7 (“In accordance with the system and method
`
`of the present invention, an FPGA based DRAM controller is utilized in concert with an internally
`
`or externally located data maintenance block.”); id. at 2:13-14 (“the data maintenance block does
`
`not contain the memory controller”).
`
`32.
`
`At points, the specification discusses that the data maintenance block may be “in-
`
`ternally or externally located.” Id. at Abstract, 2:5-7. After reading the ’311 patent, one skilled in
`
`the art would understand the patent describing that the data maintenance block is internally or
`
`externally located in relation to the reconfigurable device, not the memory controller: “In a rep-
`
`resentative embodiment of the present invention, the data maintenance block 106 may be conven-
`
`iently provided as a . . . separate integrated circuit device or, in alternative embodiments, may be
`
`provided as a portion of an FPGA comprising the reconfigurable logic device 104.” Id. at 4:23-
`
`29.
`
`33.
`
`The patent also makes clear visually that the “data maintenance block” is separate
`
`from the memory controller, as shown in Figure 1 below.
`
`12
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 13
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 14 of 29
`
`34.
`
`Figure 1 shows that the data maintenance block 106 is separate from memory con-
`
`troller 118. Although I understand that patent figures generally illustrate embodiments, here the
`
`’311 patent states that Figure 1 “illustrat[es] the data maintenance block of the present invention.”
`
`
`
`Id. at 3:59-64.
`
`35.
`
`In fact, if the data maintenance block were not separate and distinct from the
`
`memory controller, the system disclosed in the ’311 patent would not be able to work as described.
`
`The Summary of the Invention describes that what the patent discloses is “a system and method
`
`for preserving DRAM data contents in a reconfigurable computing environment when the pro-
`
`grammable device is reconfigured with a new design that does not include a DRAM controller.”
`
`13
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 14
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 15 of 29
`
`Id. at 3:21-25. In other words, if the data maintenance block was part of the memory controller,
`
`and the memory controller is eliminated when the FPGA is reconfigured, then the data maintenance
`
`block along with the data that it stores would be lost or corrupted during reconfiguration, thereby
`
`defeating the purpose of the data maintenance block described in the patent.
`
`36.
`
`Relatedly, the data maintenance block, while the FPGA is being reconfigured, must
`
`store DRAM memory data that would otherwise be corrupted during calibration. The patent’s
`
`background explains the problem it attempts to solve: “A significant problem arises in reconfigu-
`
`rable computing when the FPGA is reprogrammed during a live application and the memory con-
`
`troller tri-states all inputs and outputs (I/O) between the FPGA device and the DRAM. The result
`
`is corrupted data in the memory subsystem.” Id. at 1:48-53. The patent’s proposed solution is to
`
`store the DRAM data that would ordinarily be corrupted in prior art systems in block RAM of a
`
`data maintenance block separate from the memory controller while the FPGA is reconfigured, and
`
`then write the data back to DRAM after the FPGA is reconfigured:
`
`Also illustrated is a data maintenance block 106 in accordance with the present
`invention for retaining DRAM memory 102 data when the logic device 104 is
`reconfigured during operation of the computer subsystem 100.
`
`Id. at 4:20-23 (emphasis added);
`
`The method comprises providing a data maintenance block coupled to the recon-
`figurable device, coupling the data maintenance block to self-refresh command in-
`puts of the DRAM memory, storing data received from the reconfigurable device
`at the data maintenance block and maintaining stable input levels on the self-
`refresh command inputs while the reconfigurable logic device is reconfigured.
`
`Id. at 3:42-49 (emphasis added).
`
`37.
`
`After the reconfigurable logic device of the ’311 patent is reconfigured, the memory
`
`controller of the reconfigurable logic device retrieves the DRAM memory data stored in the data
`
`maintenance block and writes it back to the same DRAM memory addresses that were corrupted:
`
`14
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 15
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 16 of 29
`
`If a reconfiguration condition is detected, and before processing incoming DMA
`requests, the controller retrieves stored DRAM data from the data maintenance
`block (again through the communication port) and writes it back to the specific
`address locations corrupted during the calibration/leveling process.
`
`
`Id. at 2:56-61 (emphasis added).
`
`
`At the operation indicated by numeral 6, the reconfigure controller 110 retrieves
`the data maintenance block 106 block RAM 114 contents and stores it in a small
`section of block RAM (not shown) in the reconfigure controller 110. The reconfig-
`ure controller 110 detects that the memory controller and physical interface 118
`and DRAM memory 102 initialization is complete at the operation indicated by
`numeral 7 and initiates DMA write requests to restore the memory contents cor-
`rupted during the calibration/leveling sequence with the data values read prior to
`reconfiguration.
`
`
`Id. at 5:27-36 (emphasis added).
`
`
`38.
`
`Therefore, a data maintenance block, as claimed in the ’311 patent, must store
`
`DRAM memory data when the reconfigurable logic device is reconfigured.
`
`39.
`
`The ’311 patent also makes clear that the data maintenance block must drive the
`
`self-refresh command inputs of DRAM memory. The ’311 patent expressly states that in the Sum-
`
`mary of the Invention: “the FPGA drives the majority of the DRAM input/out (I/O) and the data
`
`maintenance block drives the self-refresh command inputs.” Id. at 2:7-9 (emphasis added).
`
`40.
`
`As the patent describes, “[t]he data maintenance block 106 is coupled to the DRAM
`
`memory 102 to supply reset (RESET#) and clock enable (CKE#) signals thereto.” Id. at 4:52-54;
`
`see also id. at Fig. 1. It was known to one of skill in the art at the time the patent was filed that the
`
`“clock enable” signal controls whether the DRAM is in self-refresh mode. Thus, when the recon-
`
`figurable logic device is being reconfigured, the data maintenance block de-asserts the “clock en-
`
`able” signal of the DRAM. Id. at 5:12-16 (“At the operation indicated by numeral 3, the reconfig-
`
`ure controller 110 detects a refresh command from the refresh timer 116, waits a refresh cycle time
`
`(tRFC) and instructs the data maintenance block 106 to de-assert CKE to the DRAM memory
`
`15
`
`Patent Owner Saint Regis Mohawk Tribe
`Ex. 2015. p. 16
`
`

`

`Case 2:18-cv-00317-JLR Document 115-2 Filed 11/05/18 Page 17 of 29
`
`102.”). When the reconfiguration is complete, the data maintenance block asserts the “clock ena-
`
`ble” signal. Id. at 5:19-24 (“As indicated by the operation at numeral 5, the reconfigure controller
`
`110 recognizes a post-reconfigure condition (Ack=High), holds the memory controller and physi-
`
`cal interface 118 in reset and instructs the data maintenance block 106 to assert CKE to the DRAM
`
`memory 102.”).
`
`41.
`
`For these reasons, it is my opinion that “a data maintenance block” is properly con-
`
`strued as “a circuit separate from the memory controller that drives self-refresh command inputs
`
`and stores DRAM memory data when the reconfigurable logic device is reconfigured,” as pro-
`
`posed by Amazon.
`
`VII. OVERVIEW OF THE ’867 PATENT
`
`42.
`
`The perceived speed and efficiency of a computer system in everyday usage de-
`
`pends, in part, on the speed of its storage. But the faster the storage, the less one can have of it,
`
`and vice versa. In part this is due to cost, but also some of the fastest types of storage—such as
`
`on-chip caches—have very limited capacity. Thus, one of the evergreen problems of computer
`
`architecture is maximizing these two fundamentally opposed variables: speed and capacity.
`
`43.
`
`The solution to this problem, used in modern computer architectures, is to imple-
`
`ment a memory hierarchy. Thus, a modern computer will have a very large and very slow hard
`
`disk; a much faster, but considerably smaller RAM subsystem; and two or three levels of on-chip
`
`cache, with each level successively smaller yet closer to the computational core of the chip—and
`
`therefore faster. Each level of the hierarchy is used to duplicate a smaller and, in theory, more
`
`immediately relevant subset of the contents of the lower levels. Thus, the L1 cache (closest to the
`
`computational core) might contain only the most recently used bytes; the L2 cache might contain
`
`a larger am

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