Patents by Inventor Guillermo Rozas

Guillermo Rozas 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: 10061582
    Abstract: A method for increasing the speed of execution by a processor including the steps of selecting a sequence of instructions to optimize, optimizing the sequence of instructions, creating a duplicate of instructions from the sequence of instructions which has been selected to optimize, executing the optimized sequence of instructions, and responding to an error during the execution of the optimized sequence of instructions by rolling back to the duplicate of instructions from the sequence of instructions.
    Type: Grant
    Filed: December 30, 2013
    Date of Patent: August 28, 2018
    Assignee: INTELLECTUAL VENTURES HOLDING 81 LLC
    Inventors: Richard Johnson, Guillermo Rozas
  • Patent number: 9804854
    Abstract: The description covers a system and method for operating a micro-processing system having a runahead mode of operation. In one implementation, the method includes providing, for a first portion of code, a runahead correlate. When the first portion of code is encountered by the micro-processing system, a determination is made as to whether the system is operating in the runahead mode. If so, the system branches to the runahead correlate, which is specifically configured to identify and resolve latency events likely to occur when the first portion of code is encountered outside of runahead. Branching out of the first portion of code may also be performed based on a determination that a register is poisoned.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: October 31, 2017
    Assignee: NVIDIA CORPORATION
    Inventors: Rohit Kumar, Guillermo Rozas, Magnus Ekman, Lawrence Spracklen
  • Publication number: 20170168839
    Abstract: The description covers a system and method for operating a micro-processing system having a runahead mode of operation. In one implementation, the method includes providing, for a first portion of code, a runahead correlate. When the first portion of code is encountered by the micro-processing system, a determination is made as to whether the system is operating in the runahead mode. If so, the system branches to the runahead correlate, which is specifically configured to identify and resolve latency events likely to occur when the first portion of code is encountered outside of runahead. Branching out of the first portion of code may also be performed based on a determination that a register is poisoned.
    Type: Application
    Filed: February 27, 2017
    Publication date: June 15, 2017
    Inventors: Rohit Kumar, Guillermo Rozas, Magnus Ekman, Lawrence Spracklen
  • Patent number: 9652244
    Abstract: A processing bypass directory system and method are disclosed. In one embodiment, a bypass directory tracking process includes setting bits in a bypass directory when a corresponding architectural register is written. The bits are selectively cleared in the bypass directory each cycle. The configuration of the bits is utilized to determine which stage of a bypass path processing information is at.
    Type: Grant
    Filed: June 25, 2012
    Date of Patent: May 16, 2017
    Assignee: Intellectual Ventures Holding 81 LLC
    Inventors: Alexander Klaiber, Guillermo Rozas
  • Patent number: 9582280
    Abstract: The description covers a system and method for operating a micro-processing system having a runahead mode of operation. In one implementation, the method includes providing, for a first portion of code, a runahead correlate. When the first portion of code is encountered by the micro-processing system, a determination is made as to whether the system is operating in the runahead mode. If so, the system branches to the runahead correlate, which is specifically configured to identify and resolve latency events likely to occur when the first portion of code is encountered outside of runahead. Branching out of the first portion of code may also be performed based on a determination that a register is poisoned.
    Type: Grant
    Filed: July 18, 2013
    Date of Patent: February 28, 2017
    Assignee: NVIDIA CORPORATION
    Inventors: Rohit Kumar, Guillermo Rozas, Magnus Ekman, Lawrence Spracklen
  • Publication number: 20170039073
    Abstract: A processing bypass directory system and method are disclosed. In one embodiment, a bypass directory tracking process includes setting bits in a bypass directory when a corresponding architectural register is written. The bits are selectively cleared in the bypass directory each cycle. The configuration of the bits is utilized to determine which state of a bypass path processing information is at.
    Type: Application
    Filed: October 18, 2016
    Publication date: February 9, 2017
    Inventors: Alexander Klaiber, Guillermo Rozas
  • Patent number: 9367467
    Abstract: A system and method for managing cache replacements and a memory subsystem incorporating the system or the method. In one embodiment, the system includes: (1) a cache controller operable to control a cache and, in order: (1a) issue a pre-fetch command when the cache has a cache miss, (1b) perform at least one housekeeping task to ensure that the cache can store a replacement line and (1c) issue a fetch command and (2) a memory controller associated with a memory of a lower level than the cache and operable to respond to the pre-fetch command by performing at least one housekeeping task to ensure that the memory can provide the replacement line and respond to the fetch command by providing the replacement line.
    Type: Grant
    Filed: August 22, 2014
    Date of Patent: June 14, 2016
    Assignee: Nvidia Corporation
    Inventors: Anurag Chaudhary, Guillermo Rozas
  • Publication number: 20160055087
    Abstract: A system and method for managing cache replacements and a memory subsystem incorporating the system or the method. In one embodiment, the system includes: (1) a cache controller operable to control a cache and, in order: (1a) issue a pre-fetch command when the cache has a cache miss, (1b) perform at least one housekeeping task to ensure that the cache can store a replacement line and (1c) issue a fetch command and (2) a memory controller associated with a memory of a lower level than the cache and operable to respond to the pre-fetch command by performing at least one housekeeping task to ensure that the memory can provide the replacement line and respond to the fetch command by providing the replacement line.
    Type: Application
    Filed: August 22, 2014
    Publication date: February 25, 2016
    Inventors: Anurag Chaudhary, Guillermo Rozas
  • Publication number: 20150149733
    Abstract: Method and system for supporting speculative modification in a data cache are provided and described. In one embodiment, a speculative cache buffer includes a plurality of cache lines and a plurality of state indicators. At least one of the cache lines is operable to receive an evicted cache line from a cache. The at least one of the cache lines is operable to return the evicted cache line to the cache if the cache requests the evicted cache line. Further, the plurality of state indicators is operable to indicate a state of a corresponding cache line of the cache lines.
    Type: Application
    Filed: January 14, 2011
    Publication date: May 28, 2015
    Inventors: Guillermo Rozas, Alexander Klaiber, David Dunn, Paul Serris, Lacky Shah
  • Publication number: 20150026443
    Abstract: The description covers a system and method for operating a micro-processing system having a runahead mode of operation. In one implementation, the method includes providing, for a first portion of code, a runahead correlate. When the first portion of code is encountered by the micro-processing system, a determination is made as to whether the system is operating in the runahead mode. If so, the system branches to the runahead correlate, which is specifically configured to identify and resolve latency events likely to occur when the first portion of code is encountered outside of runahead. Branching out of the first portion of code may also be performed based on a determination that a register is poisoned.
    Type: Application
    Filed: July 18, 2013
    Publication date: January 22, 2015
    Inventors: Rohit Kumar, Guillermo Rozas, Magnus Ekman, Lawrence Spracklen
  • Publication number: 20140115305
    Abstract: A method for increasing the speed of execution by a processor including the steps of selecting a sequence of instructions to optimize, optimizing the sequence of instructions, creating a duplicate of instructions from the sequence of instructions which has been selected to optimize, executing the optimized sequence of instructions, and responding to an error during the execution of the optimized sequence of instructions by rolling back to the duplicate of instructions from the sequence of instructions.
    Type: Application
    Filed: December 30, 2013
    Publication date: April 24, 2014
    Applicant: Intellectual Venture Funding LLC
    Inventors: Richard Johnson, Guillermo Rozas
  • Patent number: 8656214
    Abstract: A dual ported replicated data cache. The cache is configured for storing input data blocks. The cache includes an augmenter for producing an augmented data block with parity information from the input data block, a first memory array for storing the augmented data block, and a second memory array for storing the augmented data block.
    Type: Grant
    Filed: May 24, 2010
    Date of Patent: February 18, 2014
    Inventors: Guillermo Rozas, Alex Klaiber, Robert Masleid
  • Patent number: 8650555
    Abstract: A method of code execution by a processor including duplicating a first set of instructions to generate a second set of instructions, modifying the second set of instructions, executing the modified set of instructions, and upon exiting the modified set of instructions, loading an updated state of the processor.
    Type: Grant
    Filed: February 26, 2008
    Date of Patent: February 11, 2014
    Inventors: Richard Johnson, Guillermo Rozas
  • Patent number: 8522253
    Abstract: A method for tagging cache entries to support context switching for virtual machines and for operating systems. The method includes, storing a plurality of entries within a cache of a CPU of a computer system, wherein each of the entries includes a context ID, handling a first portion of the entries as local entries when the respective context IDs indicate a local status, and handling a second portion of the entries as global entries when the respective context IDs indicate a global status.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: August 27, 2013
    Inventors: Guillermo Rozas, Alex Klaiber
  • Publication number: 20120265965
    Abstract: A processing bypass directory system and method are disclosed. In one embodiment, a bypass directory tracking process includes setting bits in a bypass directory when a corresponding architectural register is written. The bits are selectively cleared in the bypass directory each cycle. The configuration of the bits is utilized to determine which stage of a bypass path processing information is at.
    Type: Application
    Filed: June 25, 2012
    Publication date: October 18, 2012
    Inventors: Alexander Klaiber, Guillermo Rozas
  • Publication number: 20120254584
    Abstract: A system and method for identifying a TLB entry having a physical address that is within a specified range are disclosed. The method includes obtaining a tentative TLB entry from a page table entry and accessing a physical address associated with the tentative TLB entry. The method further includes comparing the physical address of the tentative TLB entry with a predetermined range of addresses. If the physical address is within the finite range of addresses, an exception is invoked. In response to the exception, the physical address and/or an attribute of the tentative TLB entry can be modified. The tentative TLB entry can then be stored in a TLB.
    Type: Application
    Filed: June 11, 2012
    Publication date: October 4, 2012
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • Patent number: 8239656
    Abstract: A system and method for identifying a TLB entry having a physical address that is within a specified range are disclosed. The method includes obtaining a tentative TLB entry from a page table entry and accessing a physical address associated with the tentative TLB entry. The method further includes comparing the physical address of the tentative TLB entry with a predetermined range of addresses. If the physical address is within the finite range of addresses, an exception is invoked. In response to the exception, the physical address and/or an attribute of the tentative TLB entry can be modified. The tentative TLB entry can then be stored in a TLB.
    Type: Grant
    Filed: March 22, 2011
    Date of Patent: August 7, 2012
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • Patent number: 8209518
    Abstract: A processing bypass directory system and method are disclosed. In one embodiment, a bypass directory tracking process includes setting bits in a bypass directory when a corresponding architectural register is written. The bits are selectively cleared in the bypass directory each cycle. The configuration of the bits is utilized to determine which stage of a bypass path processing information is at.
    Type: Grant
    Filed: March 28, 2011
    Date of Patent: June 26, 2012
    Inventors: Alexander Klaiber, Guillermo Rozas
  • Publication number: 20120072697
    Abstract: A system and method for identifying a TLB entry having a physical address that is within a specified range are disclosed. The method includes obtaining a tentative TLB entry from a page table entry and accessing a physical address associated with the tentative TLB entry. The method further includes comparing the physical address of the tentative TLB entry with a predetermined range of addresses. If the physical address is within the finite range of addresses, an exception is invoked. In response to the exception, the physical address and/or an attribute of the tentative TLB entry can be modified. The tentative TLB entry can then be stored in a TLB.
    Type: Application
    Filed: March 22, 2011
    Publication date: March 22, 2012
    Inventors: Guillermo Rozas, Alexander Klaiber, H. Peter Anvin, David Dunn
  • Publication number: 20110179256
    Abstract: A processing bypass directory system and method are disclosed. In one embodiment, a bypass directory tracking process includes setting bits in a bypass directory when a corresponding architectural register is written. The bits are selectively cleared in the bypass directory each cycle. The configuration of the bits is utilized to determine which stage of a bypass path processing information is at.
    Type: Application
    Filed: March 28, 2011
    Publication date: July 21, 2011
    Inventors: Alexander Klaiber, Guillermo Rozas