Cornell University v. Hewlett-Packard Co.

313 F. Supp. 2d 114, 74 U.S.P.Q. 2d (BNA) 1559, 2004 U.S. Dist. LEXIS 5202, 2004 WL 737071
CourtDistrict Court, N.D. New York
DecidedMarch 26, 2004
Docket5:01-cv-1974
StatusPublished
Cited by2 cases

This text of 313 F. Supp. 2d 114 (Cornell University v. Hewlett-Packard Co.) is published on Counsel Stack Legal Research, covering District Court, N.D. New York primary law. Counsel Stack provides free access to over 12 million legal documents including statutes, case law, regulations, and constitutions.

Bluebook
Cornell University v. Hewlett-Packard Co., 313 F. Supp. 2d 114, 74 U.S.P.Q. 2d (BNA) 1559, 2004 U.S. Dist. LEXIS 5202, 2004 WL 737071 (N.D.N.Y. 2004).

Opinion

*118 MEMORANDUM-DECISION AND ORDER

MORDUE, District Judge.

INTRODUCTION

In this action, 1 plaintiffs Cornell University and Cornell Research Foundation, Inc. (collectively referred to as “plaintiff’) claim that defendant Hewlett-Packard Company has infringed United States Patent 4,807,115 (“115 patent”). Defendant interposed counterclaims asserting that the patent is invalid. United States Magistrate Judge David E. Peebles.issued an order on August 8, 2002, noting that “[i]t is envisioned that the parties will work together toward the preparation for a Mark-man hearing, [pursuant to Markman v. Westview Instruments, Inc., 52 F.3d 967 (Fed.Cir.1995), aff'd 517 U.S. 370 388-89, 116 S.Ct. 1384, 134 L.Ed.2d 577 (1996) (‘Markman’)], to address claim construction in connection with the ’115 patent.” The order permitted the parties to proceed with any discovery necessary to prepare' for the claim construction hearing, and stayed for k limited period all other discovery on issues not relating to claim construction.

On defendant’s motion, the Court held a Markman claim construction hearing on April 29 and 30, and May 1, 2003. Based on the record, the Court interprets the disputed claims as set forth herein.

THE INVENTION

Background

In setting forth the following simplified description of the invention — based primarily on the testimony of plaintiffs expert, James E. Smith, Ph.D., and defendant’s expert, Michael J. Flynn, Ph.D.— the Court merely intends to provide background for the discussion of the issues. This section does not constitute any part of the Court’s findings, which are set forth in subsequent sections herein. 2

The patent characterizes the invention as an “instruction issuing mechanism for processors with multiple functional units.” “Instructions” may be generally defined as expressions which specify operations a computer is to perform. Instructions are issued, executed and otherwise handled by the computer’s “processor.” A processor typically includes (1) an instruction unit, which stores and issues' instructions fetched from a memory, and (2) an execution unit which performs the operations specified by the instruction. The instruction unit typically comprises an instruction fetch unit, an instruction decode unit and an instruction issue unit. The instruction issue unit has an instruction buffer (also known as instruction stack, issue buffer or instruction issue buffer), which temporarily holds the instructions that the instruction unit issues to the execution unit. Within the instruction buffer, the instructions are held in “cells” or “rows,” one for each instruction.

Each instruction is placed in a certain format, or sequence of fields, each field corresponding to a separate part of the instruction. There is no universal instruction format or set of fields. 1 A typical format' comprises fields for “operation codes,” which tell the processor what functions to- perform; “source operands,” which tell the processor the location of the data on which the functions are to be performed; and “destinations,” which tell the processor where to deliver the results. *119 Each row (or cell) in the instruction buffer is made up of a number of “registers,” or containers, with a register to correspond to each of the separate parts, or fields, of the instruction. Thus, when an instruction is held in a row, the information in each field of the instruction is held in the corresponding register within that row.

When the instruction unit issues the instruction, the execution unit executes the particular operation designated by the operation code. The operation is performed in a functional unit, such as an adder or multiplier, in the execution unit. The execution unit may have multiple functional units.

Early processors issued and executed only one instruction at a time. Therefore, during the time required to complete that instruction (“clock cycle” or “machine cycle”), only one functional unit would be in use. This resulted in inefficient use of functional units in processors equipped with multiple functional units. One challenge in designing processors that issue multiple instructions using multiple functional units during a single clock cycle is that some instructions “depend” on others. For example, an instruction to divide a number by the sum of X and Y can not be executed until after the completion of the instruction to add X and Y; thus, the former instruction is “dependent” or “data dependent” on the latter.

The 115 patent teaches an instruction issuing mechanism capable of detecting and issuing those instructions which are not dependent and therefore can be performed during the same clock cycle without conflict or error. Such instructions are also referred to as “concurrencies” or “concurrently executable” instructions.

Dependencies

There are two primary types of dependencies in the context of instruction issuance for processors with multiple functional units. This section sets forth a simplified discussion of these two types of dependencies; a detañed explanation is found in the Declaration of James E. Smith, Ph.D., plaintiffs expert, Docket No. 68, paragraphs 29, 31-42.

The first type of dependencies, known as “essential,” “true,” “read after write” (“RAW”), or “a” [alpha] dependencies, occur where the result of one operation is needed for the performance of another. An example is set forth above: an instruction to divide a number by the sum of X and Y can not be executed until after the completion of the instruction to add X and Y. Such dependencies are inherent in the nature of the instructions and cannot be eliminated.

The second type of dependencies, known as “non-essential,” “false” or “(3” [beta] dependencies, are not inherent in the nature of the instructions themselves. Rather, they are the result of “register conflicts” arising when a processor, which has a limited number of registers, reuses registers and overwrites the values stored therein. There are two types of false dependencies: “write after read” (‘WAR”) and “write after write” (“WAW”). The patent covers both types. 3 As an example, a “write after read” (“WAR”) type of false dependency occurs because an operand stored in a register cannot be overwritten until after it has been used to execute the instruction for which it has been fetched and stored. To illustrate, assume that X, an operand upon which Instruction A is to operate, is stored in register FO. Assume *120 further that before Instruction A executes, Instruction B executes and writes its result, Y, to register F0, thus overwriting operand X. Then, when Instruction A executes, it will operate upon value Y instead of X, causing error.

As Dr.

Free access — add to your briefcase to read the full text and ask questions with AI

Related

Cornell University v. Hewlett-Packard Co.
654 F. Supp. 2d 119 (N.D. New York, 2009)
Cargill, Inc. v. Sears Petroleum & Transport Corp.
334 F. Supp. 2d 197 (N.D. New York, 2004)

Cite This Page — Counsel Stack

Bluebook (online)
313 F. Supp. 2d 114, 74 U.S.P.Q. 2d (BNA) 1559, 2004 U.S. Dist. LEXIS 5202, 2004 WL 737071, Counsel Stack Legal Research, https://law.counselstack.com/opinion/cornell-university-v-hewlett-packard-co-nynd-2004.