Patents by Inventor Alberto J. Munoz

Alberto J. Munoz 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: 8412981
    Abstract: Methods and apparatus to provide core sparing on multi-core platforms are described. In an embodiment, stored core state information of a target core (e.g., a core that has detected a fault condition (e.g., within its circuitry) or a request to offload operations from the target core (e.g., to enable run-time diagnostics without interfering with system software)) may be read by a spare core which is to operationally replace the target core. Other embodiments are also described.
    Type: Grant
    Filed: December 29, 2006
    Date of Patent: April 2, 2013
    Assignee: Intel Corporation
    Inventors: Alberto J. Munoz, Sorin Iacobovici
  • Patent number: 8266628
    Abstract: The computer program includes a virtualization software that is executable on the new processor in the legacy mode. The new processor includes a legacy instruction set for a legacy operating mode and a new instruction set for a new operation mode. The switching includes switching from the new instruction set to the legacy instruction set and switching paging tables. Each of the new operating mode and the legacy operating mode has separate paging tables. The switch routine is incorporated in a switch page that is locked in physical memory. The switch page has a first section to store a part of switching instructions conforming to the new instruction set and a second section to store another part of the switching instructions conforming to the legacy instruction set.
    Type: Grant
    Filed: December 19, 2008
    Date of Patent: September 11, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz, Sahil Rihan, Robert D. Manchester
  • Patent number: 8225071
    Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.
    Type: Grant
    Filed: February 8, 2011
    Date of Patent: July 17, 2012
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz
  • Publication number: 20110131388
    Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.
    Type: Application
    Filed: February 8, 2011
    Publication date: June 2, 2011
    Applicant: VMWARE, INC.
    Inventors: Xiaoxin CHEN, Alberto J. MUNOZ
  • Patent number: 7908646
    Abstract: In a virtual computer system, the invention virtualizes a primary protection mechanism, which restricts memory accesses based on the type of access attempted and a current hardware privilege level, using a secondary protection mechanism, which is independent of the hardware privilege level. The invention may be used to virtualize the protection mechanisms of the Intel IA-64 architecture. In this embodiment, virtual access rights settings in a virtual TLB are translated into shadow access rights settings in a hardware TLB, while virtual protection key settings in a virtual PKR cache are translated into shadow protection key settings in a hardware PKR cache, based in part on the virtual access rights settings. The shadow protection key settings are dependent on the guest privilege level, but the shadow access rights settings are not.
    Type: Grant
    Filed: October 1, 2007
    Date of Patent: March 15, 2011
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz, Jeffrey W. Sheldon
  • Patent number: 7886127
    Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.
    Type: Grant
    Filed: December 30, 2008
    Date of Patent: February 8, 2011
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz
  • Publication number: 20090106524
    Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.
    Type: Application
    Filed: December 30, 2008
    Publication date: April 23, 2009
    Inventors: Xiaoxin Chen, Alberto J. Munoz
  • Publication number: 20090100250
    Abstract: The computer program includes a virtualization software that is executable on the new processor in the legacy mode. The new processor includes a legacy instruction set for a legacy operating mode and a new instruction set for a new operation mode. The switching includes switching from the new instruction set to the legacy instruction set and switching paging tables. Each of the new operating mode and the legacy operating mode has separate paging tables. The switch routine is incorporated in a switch page that is locked in physical memory. The switch page has a first section to store a part of switching instructions conforming to the new instruction set and a second section to store another part of the switching instructions conforming to the legacy instruction set.
    Type: Application
    Filed: December 19, 2008
    Publication date: April 16, 2009
    Inventors: Xiaoxin CHEN, Alberto J. Munoz, Sahil Rihan, Robert D. Manchester
  • Patent number: 7490216
    Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.
    Type: Grant
    Filed: September 14, 2006
    Date of Patent: February 10, 2009
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz
  • Patent number: 7478388
    Abstract: A processor has multiple operating modes, such as the long/compatibility mode, the long/64-bit mode and the legacy modes of the x86-64 microprocessor. Different software entities execute in different ones of these operating modes. A switching routine is implemented to switch from one operating mode to another and to transfer control from one software entity to another. The software entities may be, for example, a host operating system and a virtual machine monitor. Thus, for example, a virtual computer system may comprise a 64-bit host operating system and a 32-bit virtual machine monitor, executing on an x86-64 microprocessor in long mode and legacy mode, respectively, with the virtual machine monitor supporting an x86 virtual machine. The switching routine may be implemented partially or completely in an identity-mapped memory page. Execution of the switching routine may be initiated by a driver that is installed in the host operating system of a virtual computer system.
    Type: Grant
    Filed: April 21, 2004
    Date of Patent: January 13, 2009
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz, Sahil Rihan, Robert D. Manchester
  • Patent number: 7409487
    Abstract: A virtual computer system including multiple virtual machines (VMs) is implemented in a physical computer system that uses address space identifiers (ASIDs). Each VM includes a virtual translation look-aside buffer (TLB), in which guest software, executing on the VM, may insert address translations, with each translation including an ASID. For each ASID used by guest software, a virtual machine monitor (VMM), or other software unit, assigns a unique shadow ASID for use in corresponding address translations in a hardware TLB. If a unique shadow ASID is not available for a newly used guest ASID, the VMM reassigns a shadow ASID from a prior guest ASID to the new guest ASID, purging any entries in the hardware TLB corresponding to the prior guest ASID. Assigning unique shadow ASIDs limits the need for TLB purges upon switching between the multiple VMs, reducing the number of TLB miss faults, and consequently improving overall processing efficiency.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: August 5, 2008
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz, Sahil Rihan
  • Publication number: 20080163255
    Abstract: Methods and apparatus to provide core sparing on multi-core platforms are described. In an embodiment, stored core state information of a target core (e.g., a core that has detected a fault condition (e.g., within its circuitry) or a request to offload operations from the target core (e.g., to enable run-time diagnostics without interfering with system software)) may be read by a spare core which is to operationally replace the target core. Other embodiments are also described.
    Type: Application
    Filed: December 29, 2006
    Publication date: July 3, 2008
    Inventors: Alberto J. Munoz, Sorin Iacobovici
  • Patent number: 7278030
    Abstract: In a virtual computer system, the invention virtualizes a primary protection mechanism, which restricts memory accesses based on the type of access attempted and a current hardware privilege level, using a secondary protection mechanism, which is independent of the hardware privilege level. The invention may be used to virtualize the protection mechanisms of the Intel IA-64 architecture. In this embodiment, virtual access rights settings in a virtual TLB are translated into shadow access rights settings in a hardware TLB, while virtual protection key settings in a virtual PKR cache are translated into shadow protection key settings in a hardware PKR cache, based in part on the virtual access rights settings. The shadow protection key settings are dependent on the guest privilege level, but the shadow access rights settings are not.
    Type: Grant
    Filed: March 3, 2003
    Date of Patent: October 2, 2007
    Assignee: VMWare, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz, Jeffrey W. Sheldon
  • Patent number: 7111145
    Abstract: A virtual memory system implementing the invention provides concurrent access to translations for virtual addresses from multiple address spaces. One embodiment of the invention is implemented in a virtual computer system, in which a virtual machine monitor supports a virtual machine. In this embodiment, the invention provides concurrent access to translations for virtual addresses from the respective address spaces of both the virtual machine monitor and the virtual machine. Multiple page tables contain the translations for the multiple address spaces. Information about an operating state of the computer system, as well as an address space identifier, are used to determine whether, and under what circumstances, an attempted memory access is permissible. If the attempted memory access is permissible, the address space identifier is also used to determine which of the multiple page tables contains the translation for the attempted memory access.
    Type: Grant
    Filed: March 25, 2003
    Date of Patent: September 19, 2006
    Assignee: VMware, Inc.
    Inventors: Xiaoxin Chen, Alberto J. Munoz
  • Patent number: 6851074
    Abstract: The present invention is a system and method for recovering from memory failures in computer systems. The method of the present invention includes the steps of: identifying a predetermined instruction sequence; monitoring for memory access errors in response to the request; logging a memory access error in an error logging register; polling the register for any logged memory access error during execution of the instruction sequence; and raising exceptions, if the memory access error is logged. Within the system of the present invention, memory access errors are stored in an error logging register, machine check abort handles are masked, and memory controllers are under full control of the software so that memory access errors can be intercepted and responded to without necessitating a system reboot or application restart. The present invention is particularly applicable to O/S code which can not otherwise recover from memory errors except by rebooting.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: February 1, 2005
    Assignee: Hewlett-Packard Development Company
    Inventors: Dejan S. Miloiicic, Thomas Wylegala, Fong Pong, Stephen Hoyle, Lance W. Russell, Lu Xu, Alberto J. Munoz
  • Publication number: 20020162050
    Abstract: The present invention is a system and method for recovering from memory failures in computer systems. The method of the present invention includes the steps of: identifying a predetermined instruction sequence; monitoring for memory access errors in response to the request; logging a memory access error in an error logging register; polling the register for any logged memory access error during execution of the instruction sequence; and raising exceptions, if the memory access error is logged. Within the system of the present invention, memory access errors are stored in an error logging register, machine check abort handles are masked, and memory controllers are under full control of the software so that memory access errors can be intercepted and responded to without necessitating a system reboot or application restart. The present invention is particularly applicable to O/S code which can not otherwise recover from memory errors except by rebooting.
    Type: Application
    Filed: April 30, 2001
    Publication date: October 31, 2002
    Inventors: Dejan S. Milojicic, Thomas Wylegala, Fong Pong, Stephen Hoyle, Lance W. Russell, Lu Xu, Alberto J. Munoz
  • Patent number: 6453427
    Abstract: An uncorrectable error is detected in the data of a computer system. The erroneous data is allowed to be stored in first and second caches of the computer system while the system runs first and second processes, the first process being associated with the data. The first process is terminated when an attempt is made to load the data from the cache. Meanwhile, the second process continues to run.
    Type: Grant
    Filed: December 31, 1998
    Date of Patent: September 17, 2002
    Assignee: Intel Corporation
    Inventors: Nhon T. Quach, John W. C. Fu, James O. Hays, Valentin Anders, Sorin Iacobovici, Alberto J. Munoz, Dean A. Mulla
  • Publication number: 20010049798
    Abstract: An uncorrectable error is detected in the data of a computer system. The erroneous data is allowed to be stored in first and second caches of the computer system while the system runs first and second processes, the first process being associated with the data. The first process is terminated when an attempt is made to load the data from the cache. Meanwhile, the second process continues to run.
    Type: Application
    Filed: December 31, 1998
    Publication date: December 6, 2001
    Inventors: NHON T. QUACH, JOHN W. C. FU, VALENTIN ANDERS, SORIN IACOBOVICI, ALBERTO J. MUNOZ, DEAN MULLA, JAMES O. HAYS