Patents by Inventor Steven K. Reinhardt

Steven K. Reinhardt has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 7386756
    Abstract: A technique to reduce false error detection in microprocessors by tracking instructions neutral to errors. As an instruction is decoded, an anti-pi bit is tagged to the decoded instruction. When a parity error is detected, an instruction queue first checks if the anti-pi bit is set. If the anti-pi bit is set, then instruction is neutral to errors, and the pi bit need not be set. Prefetch, branch predict hint and NOP are types of instructions that are neutral to errors.
    Type: Grant
    Filed: June 17, 2004
    Date of Patent: June 10, 2008
    Assignee: Intel Corporation
    Inventors: Joel S. Emer, Shubhendu S. Mukherjee, Steven K. Reinhardt, Christopher T. Weaver
  • Patent number: 7373548
    Abstract: Log-based hardware recovery. A checkpointed state of a system includes both architectural register values and memory. The checkpoint consists of a copy of the architectural register file values at the time the checkpoint is generated. An ordered log of non-deterministic events is maintained so that the responses can be repeated to simulate a complete checkpoint for error recovery purposes. When a processor detects an error, the processor reloads the state from the last checkpoint and repeats the non-deterministic events from the log.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: May 13, 2008
    Assignee: Intel Corporation
    Inventors: Steven K. Reinhardt, Shubhendu S. Mukherjee, Joel S. Emer
  • Patent number: 7353365
    Abstract: A method and apparatus for a checker instruction in a redundant multithreading environment is described. In one embodiment, when RMT requires, a processor may issue a checker instruction in both a leading thread and a trailing thread. The checker instruction may travel down individual pipelines for each thread independently until it reaches a buffer at the end of each pipeline. Then, prior to committing the checker instruction, the checker instruction looks for its counterpart and does a comparison of the instructions. If the checker instructions match, the checker instructions commit and retires otherwise an error is declared.
    Type: Grant
    Filed: September 29, 2004
    Date of Patent: April 1, 2008
    Assignee: Intel Corporation
    Inventors: Shubhendu S. Mukherjee, Joel S. Emer, Steven K. Reinhardt, Christopher T. Weaver
  • Publication number: 20080071783
    Abstract: A computer software product, methods and apparatus for target report generation are provided. In one embodiment, a trigger pattern is derived from at least one target pattern. Locations within a data set containing the trigger pattern are identified and a target report is generated. In another embodiment, a computing apparatus is provided that produces reports by deriving a trigger pattern, identifying locations within a dataset where the trigger patterns exist and generating a report. In a further embodiment, a computer software product is provided that configures an apparatus to generate a target report. This Abstract is provided for the sole purpose of complying with the Abstract requirement rules that allow a reader to quickly ascertain the subject matter of the disclosure contained herein. This Abstract is submitted with the explicit understanding that it will not be used to interpret or to limit the scope or the meaning of the claims.
    Type: Application
    Filed: June 21, 2007
    Publication date: March 20, 2008
    Inventors: Benjamin Langmead, Kenneth M. Mackenzie, Steven K. Reinhardt, Richard A. Lethin
  • Patent number: 7308607
    Abstract: A multithreaded architecture having one or more checker circuits that operate on store operations that send data outside of a sphere of replication. Fault detection mechanisms used to check outputs from the sphere of replication are reused for checkpointing at the conclusion of an execution epoch.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: December 11, 2007
    Assignee: Intel Corporation
    Inventors: Steven K. Reinhardt, Shubhendu S. Mukherjee, Joel S. Emer
  • Publication number: 20070283195
    Abstract: A technique to detect errors in a computer system. More particularly, at least one embodiment of the invention relates to using redundant virtual machines and comparison logic to detect errors occurring in input/output (I/O) operations in a computer system.
    Type: Application
    Filed: May 22, 2006
    Publication date: December 6, 2007
    Inventors: Steven K. Reinhardt, Shubhendu S. Mukherjee
  • Patent number: 7243262
    Abstract: A processor executes corresponding instruction threads as a leading thread and a trailing thread. For a selected instruction, processor state corresponding to the execution of the instruction is saved in a history buffer. This is performed before writing a result from the selected instruction to a destination register. The result from executing the selected instruction in the leading thread is compared to the result from executing the selected instruction in the trailing thread. If the comparison indicates a fault, then restoring the processor state corresponding to a previous instruction. Data from the history buffer is used to perform the restoration.
    Type: Grant
    Filed: August 29, 2003
    Date of Patent: July 10, 2007
    Assignee: Intel Corporation
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt, Joel S. Emer
  • Patent number: 6854075
    Abstract: A simultaneous and redundantly threaded, pipelined processor executes the same set of instructions simultaneously as two separate threads to provide fault tolerance. One thread is processed ahead of the other thread so that the instructions in one thread are processed through the processor's pipeline ahead of the corresponding instructions from the other thread. The thread, whose instructions are processed earlier, places its committed stores in a store queue. Subsequently, the second thread places its committed stores in the store queue. A compare circuit periodically scans the store queue for matching store instructions. If otherwise matching store instructions differ in any way (address or data), then a fault has occurred in the processing and the compare circuits initiates fault recovery. If comparison of the two instructions reveals they are identical, the compare circuit allows only a single store instruction to pass to the data cache or the system main memory.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: February 8, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt
  • Patent number: 6792525
    Abstract: A processor is disclosed having a fetch unit that initiating interrupt service routines in redundant, unsynchronized threads. A counter is provided to track the difference between leading and trailing threads in terms of the number of instructions committed by the instruction execution circuitry. When the processor receives an external interrupt signal, the instruction fetch unit stalls the leading thread until the counter indicates that the threads are synchronized, and then simultaneously initiates an interrupt service routine in each of the threads. In a second embodiment similar to the first, the instruction fetch unit does not stall the leading thread, but rather, immediately initiates the interrupt service routine in the leading thread, and copies the difference to an interrupt counter. When the counter reaches zero, the fetch unit initiates the interrupt service routine in the trailing thread.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: September 14, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt
  • Patent number: 6598122
    Abstract: A redundantly threaded processor is disclosed having an Active Load Address Buffer (“ALAB”) that ensures efficient replication of data values retrieved from the data cache. In one embodiment, the processor comprises a data cache, instruction execution circuitry, and an ALAB. The instruction execution circuitry executes instructions in two or more redundant threads. The threads include at least one load instruction that causes the instruction execution circuitry to retrieve data from the data cache. The ALAB includes entries that are associated with data values that a leading thread has retrieved. The entries include a counter field that is incremented when the instruction execution circuitry retrieves the associated data value for the leading thread, and that is decremented with the associated data value is retrieved for the trailing thread. The entries preferably also include an invalidation field which may be set to prevent further incrementing of the counter field.
    Type: Grant
    Filed: April 19, 2001
    Date of Patent: July 22, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt
  • Publication number: 20010037447
    Abstract: A pipelined, simultaneous and redundantly threaded (“SRT”) processor configured to detect transient faults during program execution by executing instructions in at least two redundant copies of a program thread and wherein misspeculation caused by incorrectly predicting the outcomes of branch instructions in a second program thread is avoided by using the actual outcomes of branch instructions in a first program thread to correctly predict the outcome of branch instructions in the second program thread. The SRT processor comprises a branch predictor for speculating the outcomes of branch instructions in the first program thread and a branch outcome queue for storing the actual outcomes of branch instructions in the first program thread. The processor uses the branch outcome queue and not the branch predictor to predict the outcomes of branch instructions in the second program thread.
    Type: Application
    Filed: April 19, 2001
    Publication date: November 1, 2001
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt
  • Publication number: 20010037448
    Abstract: A processor is disclosed having a fetch unit that initiating interrupt service routines in redundant, unsynchronized threads. A counter is provided to track the difference between leading and trailing threads in terms of the number of instructions committed by the instruction execution circuitry. When the processor receives an external interrupt signal, the instruction fetch unit stalls the leading thread until the counter indicates that the threads are synchronized, and then simultaneously initiates an interrupt service routine in each of the threads. In a second embodiment similar to the first, the instruction fetch unit does not stall the leading thread, but rather, immediately initiates the interrupt service routine in the leading thread, and copies the difference to an interrupt counter. When the counter reaches zero, the fetch unit initiates the interrupt service routine in the trailing thread.
    Type: Application
    Filed: April 19, 2001
    Publication date: November 1, 2001
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt
  • Publication number: 20010034827
    Abstract: A redundantly threaded processor is disclosed having an Active Load Address Buffer (“ALAB”) that ensures efficient replication of data values retrieved from the data cache. In one embodiment, the processor comprises a data cache, instruction execution circuitry, and an ALAB. The instruction execution circuitry executes instructions in two or more redundant threads. The threads include at least one load instruction that causes the instruction execution circuitry to retrieve data from the data cache. The ALAB includes entries that are associated with data values that a leading thread has retrieved. The entries include a counter field that is incremented when the instruction execution circuitry retrieves the associated data value for the leading thread, and that is decremented with the associated data value is retrieved for the trailing thread. The entries preferably also include an invalidation field which may be set to prevent further incrementing of the counter field.
    Type: Application
    Filed: April 19, 2001
    Publication date: October 25, 2001
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt
  • Publication number: 20010034824
    Abstract: A simultaneous and redundantly threaded, pipelined processor executes the same set of instructions simultaneously as two separate threads to provide fault tolerance. One thread is processed ahead of the other thread so that the instructions in one thread are processed through the processor's pipeline ahead of the corresponding instructions from the other thread. The thread, whose instructions are processed earlier, places its committed stores in a store queue. Subsequently, the second thread places its committed stores in the store queue. A compare circuit periodically scans the store queue for matching store instructions. If otherwise matching store instructions differ in any way (address or data), then a fault has occurred in the processing and the compare circuits initiates fault recovery. If comparison of the two instructions reveals they are identical, the compare circuit allows only a single store instruction to pass to the data cache or the system main memory.
    Type: Application
    Filed: April 19, 2001
    Publication date: October 25, 2001
    Inventors: Shubhendu S. Mukherjee, Steven K. Reinhardt
  • Patent number: 5951657
    Abstract: A device interface for communicating between a processor system and a separate device employs cacheable control registers, both to indicate the receipt of a message and to receive messages to be transmitted. The data structure of the cacheable control registers may be that of a queue, minimizing the need for routine handshaking signals to clear the queue after each message. Communication of queue pointers is minimized by the use of a shadow pointer relied on as long as adequate queue space exists and queue entry valid flags which are interpreted with alternate sense for each cycling through the queue.
    Type: Grant
    Filed: June 9, 1997
    Date of Patent: September 14, 1999
    Assignee: Wisconsin Alumni Research Foundation
    Inventors: David A. Wood, Steven K. Reinhardt, Shubhendu S. Mukherjee, Babak Falsafi, Mark D. Hill, Robert W. Pfile