Bicameral LLC v. NXP USA, Inc. et al

Western District of Texas, txwd-6:2018-cv-00294

Affidavit Hansquine Declaration

Interested in this case?

Current View

Full Text

3 IN THE UNITED STATES DISTRICT COURT FOR THE WESTERN DISTRICT OF TEXAS WACO DIVISION BICAMERAL, LLC, Plaintiff, Case No. 6:18-cv-00294-ADA v. JURY TRIAL DEMANDED NXP USA, INC., NXP SEMICONDUCTORS N.V. AND NXP B.V., Defendants. DECLARATION BY DAVID HANSQUINE, M.S. -1- 3 TABLE OF CONTENTS I. INTRODUCTION .............................................................................................................. 1 II. EDUCATIONAL AND PROFESSIONAL BACKGROUND ........................................... 2 III. LEGAL FRAMEWORK FOR CLAIM CONSTRUCTION .............................................. 3 A. Person of Ordinary Skill in the Art ............................................................................... 3 B. Intrinsic Evidence ......................................................................................................... 3 C. Extrinsic Evidence ........................................................................................................ 4 D. Indefiniteness ................................................................................................................ 4 IV. TECHNOLOGY BACKGROUND .................................................................................... 4 V. THE '331 PATENT ............................................................................................................ 5 VI. DISPUTED CLAIM TERMS ............................................................................................. 6 A. "interrupt" and "exception" .......................................................................................... 6 i 3 I. INTRODUCTION 1. My name is David Hansquine. I am over the age of 21 years and am competent to make the following statements. I have personal knowledge of the facts stated in this report and am otherwise qualified to opine as to the topics discussed herein. If called as a witness, I could and would testify to the facts and opinions set forth herein. 2. I have been retained by Bicameral, LLC ("Bicameral") to provide opinions in this action based on my expertise. I am being compensated at the rate of $375.00 per hour for time spent providing consulting and testifying services to Plaintiff. My compensation is not contingent on the outcome of this action. 3. For present purposes, I have been asked by counsel for Bicameral to offer my opinions concerning the proper constructions of the following disputed claim terms and phrases that appear in the claims of U.S. Patent No. 6,321,331 (the "'331 Patent"): a. "interrupt(s)" b. "exception(s)" 4. In arriving at my opinions concerning the meaning of the phrases listed in Paragraph 3 above, I reviewed the following materials: a. The '331 Patent and Ex Parte Reexamination Certificate of the '331 Patent (Exhibit 1); b. File History for U.S. Patent Application No. 09/064,474 which matured into the '331 Patent; c. File History of Reexamination 90/011,532 which resulted in the '331 Patent Ex Parte Reexamination Certificate; d. Excerpts from IBM Dictionary of Computing, Tenth Edition., McGraw- Hill, Inc., 1993 (Exhibit 2); e. Excerpts from the Modern Dictionary of Electronics, Sixth Edition, 1997 (Exhibit 3); f. Excerpts from the Illustrated Dictionary of Electronics, Seventh Edition, 1 3 1997 (Exhibit 4); and g. The New IEEE Standard Dictionary of Electrical and Electronics Terms, Fifth Edition, 1993 (Exhibit 5). II. EDUCATIONAL AND PROFESSIONAL BACKGROUND 5. I have the following college degrees: Bachelor of Applied Science in Computer Engineering, 1995 from University of Waterloo, Canada, Masters of Science in Electrical Engineering, Communication Theory & Systems, 2000 from University of California San Diego, California. My curriculum vitae is attached to this report as Appendix A. 6. I have over 23 years of experience as a semiconductor engineer with the focus on microcircuit and semiconductor technologies including circuit design and analysis, foundry process evaluation and selection, design automation, design for test (DFT), chip manufacturing, wafer and product testing, quality, reliability and defect / failure analysis. Following various internships that spanned software and hardware design roles, I began my career working at Qualcomm and worked in different positions at various Qualcomm subsidiaries from 1995 until 2017. I then worked for GlobalFoundries in 2018 where I was tasked to tie together internal semiconductor technology with external partner technologies to deliver a novel product. In 2018, I started to provide consulting services in the area of semiconductor development, manufacture and test. 7. Relevant to the '331 patent, I have substantial experience designing, manufacturing, and testing various microprocessors, was responsible for the organization delivering microprocessors to various Qualcomm products, and formed and led a research team focusing on developing novel circuit and micro-architectural techniques to enhance performance and reduce power consumption of micro-processors. 2 3 III. LEGAL FRAMEWORK FOR CLAIM CONSTRUCTION 8. It is my understanding that, while a patent consists of several parts, the claims set forth and distinctly specify the subject matter of the invention. In other words, the claims define the scope of the patented invention and, thus, the right to exclude all others from making, using, selling, offering to sell, and importing the invention. A patent also includes a "specification," which is the patentee's written description of how one or more embodiments of the invention are constructed and/or used. A. Person of Ordinary Skill in the Art 9. It is my understanding that words of a claim are generally given the meaning that the terms would have to a person of ordinary skill in the art in question at the time of the invention. It is also my understanding that the meaning of claim terms as understood by a person of ordinary skill in the art may be determined from sources such as the words of the claims themselves, the remainder of the specification, the prosecution history, and extrinsic evidence concerning relevant scientific principles, the meaning of technical terms, and the state of the art. 10. In the present case, it is my opinion that a person of ordinary skill in the art at the time of the inventions would have a B.S. in electrical engineering or computer engineering with approximately two years of experience in designing and testing of microprocessors. B. Intrinsic Evidence 11. It is my understanding that, in determining the ordinary meaning of a claim term, the primary focus is the intrinsic evidence of record, viz., the patent itself, including the claims, the specification and prosecution history, from the perspective of one of ordinary skill in the art. The claims themselves provide substantial guidance as to the meaning of particular claim terms, and the context in which a term is used in the asserted claim can be highly instructive. In addition, the usage of a term in one claim can often illuminate the meaning of the same term in 3 3 other claims. 12. It is my understanding that the specification should also be consulted as an aid in interpreting claim terms, but that it is inappropriate to import limitations from the specification into the claims. 13. It is also my understanding that means-plus-function terms are a special case and are construed by first identifying a function and then the structure(s) disclosed in the specification that perform the identified function. 14. Also, I understand that statements that the patentee made to the patent office during the prosecution of the patent may be relevant to claim construction. C. Extrinsic Evidence 15. It is my understanding that, when considering claim terms, it is proper to consider evidence external to the patent and prosecution history, including, for example, dictionaries and related industry standards. D. Indefiniteness 16. It is my understanding that if a claim fails to inform a person of ordinary skill in the art, with reasonable certainty, about the scope of the invention, that claim is invalid for being indefinite. IV. TECHNOLOGY BACKGROUND 17. At the time of filing of the Roy patent on April 22, 1998, debugging techniques could be divided into three categories: Logging, Trapping and Tracing. 18. Logging techniques typically required the program to be modified to include statements to "log" activity. For example, statements could be inserted at points of interest in the code to print a message on the display so that the user could track program progress or see the value of a program variable. Alternatively, statements to log could redirect messages and values 4 3 to a program which ran separately, or to a set of pins connected to an external device. Such techniques, while providing flexibility, were limited in that they required modification of the program, and might change the behavior of the program, limiting their ability to debug issues found in real-time systems. 19. Trapping techniques typically pause the program at one or more points so that the state of the processor at that time can be analyzed. A common technique involved setting a "breakpoint" at a particular processor instruction address that would pause execution of the program if that instruction address were encountered. A debug program or external debug device could then read out the state of the processor and potentially allow the program to resume. A major downside of this type of debugging was that it was not useful for identifying problems that only manifested themselves when the program was running in real-time. 20. Tracing techniques provide an alternative mechanism to debug processors. In general, tracing involves monitoring and recording certain aspects of processor activity as they occur. The captured information is often accessed through an external device or component attached to the processor being tested. Such techniques were not without their limitations. In order to keep up with the processor execution, large amounts of data were generated which needed to be extracted from the embedded system. This either required large amounts of storage and/or many pins. The types of activity captured were often limited to bus or memory transactions, which might provide additional loading on the bus or memory, potentially slowing it down, while providing limited visibility into the state of the processor. For example, certain actions such as cache memory accesses, interaction with other components in an ASIC, and the state of interrupt sources and exceptions may not be visible. V. THE '331 PATENT 21. The Roy patent solves the problems associated with traditional debugging 5 3 techniques. In comparison with prior art techniques, the Roy patent accomplishes the following: a. Allows for tracing processor instructions without loss of real-time context, which is useful for finding and debugging timing-related errors. b. Provides a mechanism to debug that does not interfere with the operation of a processor or system bus. c. Provides a more complete view of the processor state including information related to the executed instructions and state of events that may prompt changes to program execution including exceptions and interrupts. d. Provides a mechanism requiring few additional pins to access the trace information by an external device. VI. DISPUTED CLAIM TERMS 22. The constructions offered below are based on my understanding of how a person of ordinary skill in the art would understand the claims and the specification of the '331 Patent, its file history, re-examination certificate, and its file history, as well as my experience and understanding of the relevant technologies around 1998 (summarized in Sections II and IV of this declaration). A. "interrupt" and "exception" 23. I understand that NXP contends that the terms "interrupt" and "exception" are indefinite. In other words, according to NXP, a person of ordinary skill in the art would not be informed about the meaning of the terms "interrupt" and "exception" with reasonable certainty. 24. I disagree with NXP because a person of ordinary skill in the art would understand the terms "interrupt" and "exception" with reasonable certainty. In my opinion these terms did not require any explanation in the specification of the '331 Patent because of their widely accepted meaning at the time of the '331 Patent's invention. 25. In the field of the '331 Patent, "interrupt" refers to a break in the normal program flow of a computer system or a process. The source of the interrupt may be external or internal. 6 3 When the normal flow of a processor is suspended by an interrupt from an internal or external source, typically, the processor begins to execute a corresponding interrupt handler, which is a sequence of instructions intended to appropriately handle the interrupt. Following the execution of the interrupt handler, the processor often resumes from the point where the break occurred. 26. An example of an external interrupt that would be well-known at the time of the '331 Patent invention is the press of a key which on contemporaneous x86 processors would trigger hardware interrupt 9h. Examples of other sources of external interrupts include the movement of a mouse, programmable timer time-outs, and the insertion of a disk in a disk drive. Internal sources of interrupts include issuing of an interrupt command by a software program. An example from the x86 architecture would be issuing of an INT instruction followed by an interrupt number. These were often used to trigger calls to functions in a library or the operating system. An example is "INT 34h" that was used by some programs at the time to perform floating-point emulation. When that instruction was executed, control would transfer to an interrupt handler that checked for the presence of a floating-point coprocessor such as the 8087. If such existed, that coprocessor would perform the needed work, otherwise, the work would be done by the handler without the benefit of the coprocessor. The original program would function on computer systems, both with and without the coprocessor, albeit with differing levels of performance. 27. The above understanding of "interrupt" is consistent with a definition of this term set forth in contemporary technical dictionaries from the late 1990s: Interrupt – 1. In a computer, a break in the normal flow of a system or routine such that the flow can be resumed from that point at a later time. The source of the interrupt may be internal or external. 2. A method of stopping a process and identifying that a certain condition exists. In graphic systems, interrupts can originate from data entry devices, the display list, the host computer, the refresh 7 3 clock, and display error conditions. When an interrupt occurs, the host computer and display refresh cease until the interrupt is answered and processed. At that time, the host computer will restart the refresh usually from where it was halted. If a new display list is to be presented, the display starts at the beginning of the list. 3. To disrupt temporarily the normal execution of a program by a special signal from the computer. 4. To stop a process so that it cannot be automatically resumed. Ex. 3, Modern Dictionary of Electronics. Sixth Edition (1997), p. 515 Specifically, definitions (1) and (2) are consistent with the understanding of "interrupt" by a person of ordinary skill in the art as used in the '331 Patent. The above is also consistent with other dictionary definitions, such as the IBM Dictionary of Computing: Interrupt – (1) A suspension of a process, such as execution of a computer program caused by an external event, and performed in such a way that the process can be resumed. (A) (2) An instruction that directs the microprocessor to suspend what it is doing and run a specified routine. When the routine is complete, the microprocessor resumes its original work. See also routine. (3) To stop a process in such a way that it can be resumed. (4) In data communication, to take an action at a receiving station that causes the sending station to end a transmission. (5) To temporarily stop a process. (6) Synonymous with interruption. (7) See vectored interrupt. (8) Contrast with exception, signal. Ex. 2, IBM Dictionary of Computing. Tenth Edition., McGraw-Hill, Inc. (1993), p. 355. 28. In the context of microprocessors, an "exception" refers to an abnormal condition detected by the micro-processor in relation to the instructions it is executing. When such a condition occurs, the processor itself, the operating system, or a programming language typically provide facilities to define, raise, recognize, ignore, and/or handle the abnormal situation. 29. When such an event occurs, control is typically transferred to an exception handler, which is a sequence of instructions intended to appropriately handle the exception. Depending on the cause of the exception and the ability of the system to deal with it, program flow may or may not return to the instruction that triggered the exception in the first place. 8 3 30. Examples of exceptions include division by zero and a page fault, which can occur when an instruction attempts to access a memory page that does not exist or has not been loaded into physical memory. 31. A contemporaneous dictionary definition confirms the understanding of a person of ordinary skill in the art at the time of the '331 Patent's invention: Exception – In a computer, a condition which is out of the ordinary in normal task execution; e.g., arithmetic overflow. Ex. 3, Modern Dictionary of Electronics. Sixth Edition (1997), p. 353. The above is also consistent with other dictionary definitions, such as the IBM Dictionary of Computing: Exception – (1) In programming languages, an abnormal situation that may arise during execution, that may cause a deviation from the normal execution sequence, and for which facilities exist in a programming language to define, raise, recognize, ignore, and handle it; for example, (ON-) condition in PL/I, exception in Ada. (I) (2) An abnormal condition such as an 1/0 error encountered in processing a data set or a file. See overflow exception, underflow exception. (3) Contrast with interrupt, signal. Ex. 2, IBM Dictionary of Computing. Tenth Edition., McGraw-Hill, Inc. (1993), p. 248. 32. It should be noted that some processors handle internal, or software-issued, interrupts as exceptions. 33. Both interrupts and exceptions result in a deviation from normal process execution, but a key distinction to underscore the differences is that interrupts often signal events independent of instruction execution – in other words, they signal asynchronous events that occur in the computer system that may require attention. Exceptions, on the other hand, typically occur in relation to instruction execution. Software interrupts such as the x86 INT instruction are a special-case that provide an alternative means to perform a function call or programmatically emulate an external interrupt event. Another key distinction between interrupts and exceptions is that for interrupts, the code or program that was interrupted is generally resumed after the 9 3 interrupt handler completes. In the case of an exception, while this may occur for certain classes of exceptions, there are other classes of exceptions for which the program that generated the exception may be aborted. 34. In my opinion, in the context of the '331 Patent claims, the terms "interrupt" and "exception" have plain and ordinary meanings that require no further construction. A person of ordinary skill in the art at the time of the '331 Patent invention would understand the terms "interrupts" and "exceptions" with reasonable certainty, consistent with the above dictionary definitions, and would not require further clarification from the specification as to the meaning of these terms. 35. The understanding by a person of ordinary skill in the art would be entirely consistent with the usage of these terms in the '331 Patent. For example, the '331 Patent states: The second decoder decodes the contents of the cause register and enables the history buffer whenever the contents of the cause register indicates an exception, a jump register instruction, or a change in the status of an interrupt line. Ex. 1, '331 Patent at col. 3:19-23. The above quote draws a distinction between an exception and a change in status of an interrupt line (hardware interrupt) consistent with the understanding of the person of ordinary skill in the art discussed above. In another example, the '331 Patent states: Bit locations 39 through 35 are used to store processor related exception conditions. Bit locations 34 through 18 are used to store an indication of all pending interrupts (external, software, co- processor. Ex. 1, '331 Patent at col. 6:66-7:3. Here again, the use of the terms "exception [condition]" and "interrupts" by the inventors supports the terms' plain and ordinary meaning consistent with the understanding by a person of ordinary skill in the art consistent with the above discussion. 10 3 I declare under penalty of perjury under the laws of the United States of America that the foregoing is true and correct. Dated: Ottawa, Canada August 12, 2019 By: 11