Inventor

Gilbert Neiger

Inventor
Portland, OR, US

Overview

166→
Patents
2000–2021
Patent span
Physics
Primary field (CPC G)

Patents· 166 as inventor

Public. Assignee & technology derived from the patent record. Each patent links to its LexDana page.

G06Fprimary
G06FElectric digital data processing92%
H04LTransmission of digital information, e.g. telegraphic communication4%
Y02DClimate change mitigation technologies in information and communication technologies [ict], i.e. information and communication technologies aiming at the reduction of their own energy use3%
G11CStatic stores1%
Y02BClimate change mitigation technologies related to buildings, e.g. housing, house appliances or related end-user applications1%
PatentTitleYear
11,113,217Delivering interrupts to user-level applications202111,099,880Virtualization of process address space identifiers for scalable virtualization of input/output devices202111,093,277Systems, methods, and apparatuses for heterogeneous computing202111,048,512Apparatus and method to identify the source of an interrupt202111,048,588Monitoring the operation of a processor202111,023,233Methods, apparatus, and instructions for user level thread suspension202111,019,061Protecting supervisor mode information202110,999,284Protecting supervisor mode information202110,901,772Virtualization exceptions202110,768,968Split-control of page attributes between virtual machines and a virtual machine monitor202010,747,682Synchronizing a translation lookaside buffer with an extended paging table202010,740,249Maintaining processor resources during architectural events202010,713,195Interrupts between virtual machines202010,713,177Defining virtualized page attributes based on guest page attributes202010,705,976Scalable processor-assisted guest physical address translation202010,678,575Instruction-set support for invocation of VMM-configured services without VMM intervention202010,671,737Cryptographic memory ownership table for secure public cloud202010,657,071System, apparatus and method for page granular, software controlled multiple key memory encryption202010,628,612Secure public cloud with protected guest-verified host control202010,599,455Virtualization event processing in a layered virtualization architecture202010,599,547Monitoring the operation of a processor202010,572,415Delivering interrupts to user-level applications202010,515,023System for address mapping and translation protection201910,503,664Virtual machine manager for address mapping and translation protection201910,503,662Systems, apparatuses, and methods for implementing temporary escalated privilege201910,489,309Memory protection key architecture with independent user and supervisor domains201910,394,595Method to manage guest address space trusted by virtual machine monitor201910,303,899Secure public cloud with protected guest-verified host control201910,303,620Maintaining processor resources during architectural events201910,296,366Virtualization exceptions201910,235,301Dynamic page table edit control201910,180,911Synchronizing a translation lookaside buffer with an extended paging table201910,175,990Gathering and scattering multiple data elements201910,135,825Protecting supervisor mode information201810,114,768Enhance memory access permission based on per-page current privilege level201810,114,767Virtualizing physical memory in a virtual machine system using a hierarchy of extended page tables to translate guest-physical addresses to host-physical addresses201810,114,651Gathering and scattering multiple data elements201810,002,012Virtualization event processing in a layered virtualization architecture20189,996,475Maintaining processor resources during architectural events20189,971,615Optimizing processor-managed resources based on the behavior of a virtual machine monitor20189,921,984'Delivering interrupts to user-level applications'20189,916,257'Method and apparatus for TLB shoot-down in a heterogeneous computing system supporting shared virtual memory'20189,910,699'Virtual processor direct interrupt delivery mechanism'20189,898,330'Compacted context state management'20189,892,069'Posting interrupts to virtual processors'20189,858,167'Monitoring the operation of a processor'20189,804,870'Instruction-set support for invocation of VMM-configured services without VMM intervention'20179,804,871'Instruction-set support for invocation of VMM-configured services without VMM intervention'20179,792,222'Validating virtual address translation by virtual machine monitor utilizing address validation structure to validate tentative guest physical address and aborting based on flag in extended page table requiring an expected guest physical address in the address validation structure'20179,785,485'Virtualization event processing in a layered virtualization architecture'20179,740,644'Avoiding premature enabling of nonmaskable interrupts when returning from exceptions'20179,710,393'Dynamic page table edit control'20179,678,890'Synchronizing a translation lookaside buffer with an extended paging table'20179,563,455'Virtualization exceptions'20179,507,730'Maintaining processor resources during architectural events'20169,471,494'Method and apparatus for cache line write back operation'20169,442,868'Delivering interrupts directly to a virtual processor'20169,423,959'Method and apparatus for store durability and ordering in a persistent memory architecture'20169,405,570'Low latency virtual machine page table management'20169,405,565'Virtualization event processing in a layered virtualization architecuture'20169,372,806'Synchronizing a translation lookaside buffer with an extended paging table'20169,372,807'Synchronizing a translation lookaside buffer with an extended paging table'20169,335,943'Method and apparatus for fine grain memory protection'20169,329,884'Managing generated trace data for a virtual machine'20169,330,021'Synchronizing a translation lookaside buffer with an extended paging table'20169,323,533'Supervisor mode execution protection'20169,298,640'Synchronizing a translation lookaside buffer with an extended paging table'20169,298,641'Synchronizing a translation lookaside buffer with an extended paging table'20169,262,338'Synchronizing a translation lookaside buffer with an extended paging table'20169,251,094'Synchronizing a translation lookaside buffer with an extended paging table'20169,244,712'Virtualizing performance counters'20169,239,801'Systems and methods for preventing unauthorized stack pivoting'20169,235,434'Virtualization event processing in a layered virtualization architecture'20169,164,918'Maintaining processor resources during architectural events'20159,164,920'Using permission bits in translating guests virtual addresses to guest physical addresses to host physical addresses'20159,164,901'Maintaining processor resources during architectural events'20159,152,561'Maintaining processor resources during architectural events'20159,141,555'Synchronizing a translation lookaside buffer with an extended paging table'20159,141,454'Signaling software recoverable errors'20159,122,624'Synchronizing a translation lookaside buffer with an extended paging table'20159,116,869'Posting interrupts to virtual processors'20159,086,958'Maintaining processor resources during architectural events'20158,997,099'Virtualization event processing in a layered virtualization architecture'20158,949,571'Synchronizing a translation lookaside buffer with an extended paging table'20158,938,606'System, apparatus, and method for segment register read and write regardless of privilege level'20158,938,737'Delivering interrupts directly to a virtual processor'20158,910,158'Virtualizing interrupt priority and delivery'20148,843,727'Performance enhancement of address translation using translation tables covering large address spaces'20148,843,683'Posting interrupts to virtual processors'20148,813,077'Virtualization event processing in a layered virtualization architecture'20148,806,172'Maintaining processor resources during architectural evens'20148,788,790'Maintaining processor resources during architectural events'20148,751,752'Invalidating translation lookaside buffer entries in a virtual machine system'20148,677,163'Context state management for processor feature sets'20148,645,665'Virtualizing physical memory in a virtual machine system utilizing multilevel translation table base registers to map guest virtual addresses to guest physical addresses then to host physical addresses'20148,635,415'Managing and implementing metadata in central processing unit using register extensions'20148,631,261'Context state management for processor feature sets'20148,607,228'Virtualizing performance counters'20138,601,233'Synchronizing a translation lookaside buffer with an extended paging table'20138,566,492'Posting interrupts to virtual processors'20138,561,068'Optimizing processor-managed resources based on the behavior of a virtual machine monitor'20138,543,793'Maintaining processor resources during architectural events'20138,543,772'Invalidating translation lookaside buffer entries in a virtual machine (VM) system'20138,533,428'Translating a guest virtual address to a host physical address as guest software executes on a virtual machine'20138,447,962'Gathering and scattering multiple data elements'20138,312,452'Method and apparatus for a guest to access a privileged register'20128,296,546'Synchronizing a translation lookaside buffer with an extended paging table'20128,291,410'Controlling virtual machines based on activity state'20128,286,162'Delivering interrupts directly to a virtual processor'20128,271,978'Virtualization event processing in a layered virtualization architecture'20128,230,203'Detecting spin loops in a virtual machine environment'20128,151,264'Injecting virtualization events in a layered virtualization architecture'20128,146,078'Timer offsetting mechanism in a virtual machine environment'20128,099,581'Synchronizing a translation lookaside buffer with an extended paging table'20128,079,034'Optimizing processor-managed resources based on the behavior of a virtual machine monitor'20117,984,203'Address window support for direct memory access translation'20117,975,267'Virtual interrupt processing in a layered virtualization architecture'20117,921,293'Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment'20117,904,694'Maintaining processor resources during architectural events'20117,899,972'Maintaining processor resources during architectural events'20117,900,204'Interrupt processing in a layered virtualization architecture'20117,886,126'Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system'20117,865,670'Invalidating translation lookaside buffer entries in a virtual machine (VM) system'20117,861,245'Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment'20107,840,962'System and method for controlling switching between VMM and VM using enabling value of VMM timer indicator and VMM timer value having a specified time'20107,818,808'Processor mode for limiting the operation of guest software running on a virtual machine supported by a virtual machine monitor'20107,802,250'Support for transitioning to a virtual machine monitor based upon the privilege level of guest software'20107,793,286'Methods and systems to manage machine state in virtual machine operations'20107,757,231'System and method to deprivilege components of a virtual machine monitor'20107,620,949'Method and apparatus for facilitating recognition of an open event window during operation of guest software in a virtual machine environment'20097,581,219'Transitioning between virtual machine monitor domains in a virtual machine environment'20097,562,179'Maintaining processor resources during architectural events'20097,555,628'Synchronizing a translation lookaside buffer to an extended paging table'20097,506,121'Method and apparatus for a guest to access a memory mapped device'20097,467,381'Resource partitioning and direct access utilizing hardware support for virtualization'20087,444,493'Address translation for input/output devices using hierarchical translation tables'20087,424,709'Use of multiple virtual machine monitors to handle privileged events'20087,370,160'Virtualizing memory type'20087,356,735'Providing support for single stepping a virtual machine in a virtual machine environment'20087,340,582'Fault processing for direct memory access address translation'20087,334,107'Caching support for direct memory access address translation'20087,318,141'Methods and systems to control virtual machines'20087,313,669'Virtual translation lookaside buffer'20077,308,576'Authenticated code module'20077,305,592'Support for nested fault in a virtual machine environment'20077,302,511'Chipset support for managing hardware interrupts in a virtual machine system'20077,296,267'System and method for binding virtual machines to hardware contexts'20077,287,197'Vectoring an interrupt or exception upon resuming operation of a virtual machine'20077,272,831'Method and apparatus for constructing host processor soft devices independent of the host processor operating system'20077,237,051'Mechanism to control hardware interrupt acknowledgement in a virtual machine system'20077,225,441'Mechanism for providing power management through virtualization'20077,222,203'Interrupt redirection for virtual partitioning'20077,191,440'Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor'20077,177,967'Chipset support for managing hardware interrupts in a virtual machine system'20077,127,548'Control register access virtualization performance improvement in the virtual-machine architecture'20067,124,273'Method and apparatus for translating guest physical addresses in a virtual machine environment'20067,124,327'Control over faults occurring during the operation of guest software in the virtual-machine architecture'20067,073,042'Reclaiming existing fields in address translation data structures to extend control over memory accesses'20067,035,963'Method for resolving address space conflicts between a virtual machine monitor and a guest operating system'20067,024,555'Apparatus and method for unilaterally loading a secure operating system within a multiprocessor environment'20067,020,738'Method for resolving address space conflicts between a virtual machine monitor and a guest operating system'20066,996,748'Handling faults associated with operation of guest software in the virtual-machine architecture'20066,907,600'Virtual translation lookaside buffer'20056,574,219'Passive message ordering on a decentralized ring'20036,377,582'Decentralized ring arbitration for multiprocessor computer systems'20026,112,283'Out-of-order snooping for multiprocessor computer systems'2000

Career & activity timeline

Assembled from patent assignee/location history and declaration credentials.

2000–2021Patents assigned to INTEL CORP (164)· patent assignee history
2000–2021Based in Portland, OR, US· patent location history
2011–2019Patents assigned to NEIGER GILBERT (39)· patent assignee history
2011–2019Patents assigned to ANDERSON ANDREW V (22)· patent assignee history
2011–2017Patents assigned to BENNETT STEVEN M (19)· patent assignee history
2011–2017Patents assigned to RODGERS DION (14)· patent assignee history
2012–2021Based in Hillsboro, OR, US· patent location history
2013Based in Portand, OR, US· patent location history

Inventor activity

Assignee and location history derived from the patent record.

Assignees
AssigneePatentsSpan
INTEL CORP1642000–2021
NEIGER GILBERTself392011–2019
ANDERSON ANDREW V222011–2019
BENNETT STEVEN M192011–2017
RODGERS DION142011–2017
Locations
LocationPatentsSpan
Portland, OR, US1252000–2021
Hillsboro, OR, US402012–2021
Portand, OR, US12013