Inventor

William J. Starke

Inventor
Round Rock, TX, US

Overview

302→
Patents
1996–2021
Patent span
Physics
Primary field (CPC G)

Patents· 302 as inventor

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

G06Fprimary
G06FElectric digital data processing87%
Y02DClimate change mitigation technologies in information and communication technologies [ict], i.e. information and communication technologies aiming at the reduction of their own energy use6%
H04LTransmission of digital information, e.g. telegraphic communication1%
Y02BClimate change mitigation technologies related to buildings, e.g. housing, house appliances or related end-user applications1%
G11CStatic stores1%
H03MCoding1%
G01RMeasuring electric variables1%
F16FSprings0%
H10DInorganic electric semiconductor devices0%
PatentTitleYear
11,113,204Translation invalidation in a translation cache serving an accelerator202111,074,205Managing efficient selection of a particular processor thread for handling an interrupt202111,042,325Speculative bank activate dynamic random access memory (DRAM) scheduler202111,030,110Integrated circuit and data processing system supporting address aliasing in an accelerator202110,846,235Integrated circuit and data processing system supporting attachment of a real address-agnostic accelerator202010,831,889Secure memory implementation for secure execution of virtual machines202010,824,567Selectively preventing pre-coherence point reads in a cache hierarchy to reduce barrier overhead202010,761,995Integrated circuit and data processing system having a configurable cache directory for an accelerator202010,664,398Link-level cyclic redundancy check replay for non-blocking coherence flow202010,649,853Tracking modifications to a virtual machine image that occur during backup of the virtual machine202010,613,940Tracking modifications to a virtual machine image that occur during backup of the virtual machine202010,613,792Efficient enforcement of barriers with respect to memory move sequences202010,606,777Dropped command truncation for efficient queue utilization in multiprocessor data processing system202010,579,527Remote node broadcast of requests in a multinode data processing system202010,489,293Information handling system with immediate scheduling of load operations201910,474,816Secure memory implementation for secure execution of Virtual Machines201910,437,725Master requesting missing segments of a cache line for which the master has coherence ownership201910,423,550Managing efficient selection of a particular processor thread for handling an interrupt201910,394,711Managing lowest point of coherency (LPC) memory using a service layer adapter201910,346,164Memory move instruction sequence targeting an accelerator switchboard201910,346,255Method for flagging data modification during a virtual machine backup201910,339,009System for flagging data modification during a virtual machine backup201910,331,373Migration of memory move instruction sequences between hardware threads201910,296,741Secure memory implementation for secure execution of virtual machines201910,235,215Memory lock mechanism for a multiprocessor system201910,216,653Pre-transmission data reordering for a serial interface201910,169,103Managing speculative memory access requests in the presence of transactional storage accesses201910,162,755Techniques for implementing barriers to efficiently support cumulativity in a weakly-ordered memory system201810,157,134Decreasing the data handoff interval for a reserved cache line based on an early indication of a systemwide coherence response201810,152,417Early freeing of a snoop machine of a data processing system prior to completion of snoop processing for an interconnect operation201810,152,322Memory move instruction sequence including a stream of copy-type and paste-type instructions201810,152,385Virtual machine backup201810,140,052Memory access in a data processing system utilizing copy and paste instructions201810,133,641Tracking modifications to a virtual machine image that occur during backup of the virtual machine201810,126,952Memory move instruction sequence targeting a memory-mapped device201810,108,498Virtual machine backup201810,108,464Managing speculative memory access requests in the presence of transactional storage accesses201810,102,130Decreasing the data handoff interval in a multiprocessor data processing system based on an early indication of a systemwide coherence response201810,067,713Efficient enforcement of barriers with respect to memory move sequences20189,996,298Memory move instruction sequence enabling software control20189,886,350'Tracking modifications to a virtual machine image that occur during backup of the virtual machine'20189,880,905'Tracking modifications to a virtual machine image that occur during backup of the virtual machine'20189,798,577'Transactional storage accesses supporting differing priority levels'20179,792,147'Transactional storage accesses supporting differing priority levels'20179,778,933'Non-serialized push instruction for pushing a message payload from a sending thread to a receiving thread'20179,766,890'Non-serialized push instruction for pushing a message payload from a sending thread to a receiving thread'20179,727,488'Counter-based victim selection in a cache memory'20179,727,489'Counter-based victim selection in a cache memory'20179,684,551'Addressing for inter-thread push communication'20179,678,812'Addressing for inter-thread push communication'20179,619,390'Proactive prefetch throttling'20179,575,825'Push instruction for pushing a message payload from a sending thread to a receiving thread'20179,569,293'Push instruction for pushing a message payload from a sending thread to a receiving thread'20179,563,558'Techniques for implementing barriers to efficiently support cumulativity in a weakly-ordered memory system'20179,519,502'Virtual machine backup'20169,514,045'Techniques for implementing barriers to efficiently support cumulativity in a weakly-ordered memory system'20169,514,049'Cache backing store for transactional memory'20169,501,411'Cache backing store for transactional memory'20169,495,312'Determining command rate based on dropped commands'20169,495,314'Determining command rate based on dropped commands'20169,471,410'Transient condition management utilizing a posted error detection processing protocol'20169,454,484'Integrated circuit system having decoupled logical and physical interfaces'20169,442,852'Programmable coherent proxy for attached processor'20169,367,504'Coherency overcommit'20169,367,458'Programmable coherent proxy for attached processor'20169,367,505'Coherency overcommit'20169,355,035'Dynamic write priority based on virtual write queue high water mark for set associative cache using cache cleaner when modified sets exceed threshold'20169,342,387'Hardware-assisted interthread push communication'20169,336,145'Techniques for cache injection in a processor system based on a shared state'20169,286,148'Hardware-assisted interthread push communication'20169,280,465'Techniques for moving checkpoint-based high-availability log and data directly from a producer cache to a consumer cache'20169,274,952'Moving checkpoint-based high-availability log and data directly from a producer cache to a consumer cache'20169,274,856'Improving processor performance for instruction sequences that include barrier instructions'20169,268,703'Techniques for cache injection in a processor system from a remote node'20169,231,618'Early data tag to allow data CRC bypass via a speculative memory data return protocol'20169,189,403'Selective cache-to-cache lateral castouts'20159,176,876'Selective cache-to-cache lateral castouts'20159,110,808'Formation of an exclusive ownership coherence state in a lower level cache upon replacement from an upper level cache of a cache line in a private shared owner state'20159,106,258'Early data tag to allow data CRC bypass via a speculative memory data return protocol'20159,086,975'Coherent proxy for attached processor'20159,069,701'Virtual machine failover'20159,069,674'Coherent proxy for attached processor'20159,058,195'Virtual machines failover'20159,058,178'Selective posted data error detection based on request type'20159,058,260'Transient condition management utilizing a posted error detection processing protocol'20159,047,221'Virtual machines failover'20159,032,157'Virtual machine failover'20158,990,640'Selective posted data error detection based on request type'20158,959,289'Data cache block deallocate requests'20158,935,513'Processor performance improvement for instruction sequences that include barrier instructions'20158,930,629'Data cache block deallocate requests in a multi-level cache hierarchy'20158,893,126'Binding a process to a special purpose processing element having characteristics of a processor'20148,874,852'Data cache block deallocate requests in a multi-level cache hierarchy'20148,856,455'Data cache block deallocate requests'20148,838,901'Coordinated writeback of dirty cachelines'20148,683,128'Memory bus write prioritization'20148,683,140'Cache-based speculation of stores following synchronizing operations'20148,656,128'Aggregate data processing system having multiple overlapping synthetic computers'20148,656,129'Aggregate symmetric multiprocessor system'20148,656,121'Facilitating data coherency using in-memory tag bits and tag test instructions'20148,645,633'Facilitating data coherency using in-memory tag bits and faulting stores'20148,645,644'Facilitating data coherency using in-memory tag bits and tag test instructions'20148,645,627'Memory bus write prioritization'20148,615,634'Coordinated writeback of dirty cachelines'20138,521,982'Load request scheduling in a cache hierarchy'20138,510,512'Memory coherence directory supporting remotely sourced requests of nodal scope'20138,504,779'Memory coherence directory supporting remotely sourced requests of nodal scope'20138,499,124'Handling castout cache lines in a victim cache'20138,495,308'Processor, data processing system and method supporting a shared global coherency state'20138,489,819'Victim cache lateral castout targeting'20138,484,307'Host fabric interface (HFI) to perform global shared memory (GSM) operations'20138,433,851'Reducing wiring congestion in a cache subsystem utilizing sectored caches with discontiguous addressing'20138,412,888'Cache-based speculation of stores following synchronizing operations'20138,370,595'Aggregate data processing system having multiple overlapping synthetic computers'20138,364,922'Aggregate symmetric multiprocessor system'20138,347,036'Empirically based dynamic control of transmission of victim cache lateral castouts'20138,347,037'Victim cache replacement'20138,332,588'Performing a partial cache line storage-modifying operation based upon a hint'20128,327,074'Synchronizing access to data in shared memory via upper level cache queuing'20128,327,073'Empirically based dynamic control of acceptance of victim cache lateral castouts'20128,327,072'Victim cache replacement'20128,312,220'Mode-based castout destination selection'20128,296,519'Synchronizing access to data in shared memory via upper level cache queuing'20128,281,075'Processor system and methods of triggering a block move using a system bus write command initiated by user code'20128,254,411'Data processing system, method and interconnect fabric having a flow governor'20128,230,178'Data processing system and method for efficient coherency communication utilizing coherency domain indicators'20128,230,117'Techniques for write-after-write ordering in a coherency managed processor system that employs a command pipeline'20128,225,045'Lateral cache-to-cache cast-in'20128,214,600'Data processing system and method for efficient coherency communication utilizing coherency domains'20128,214,603'Method and apparatus for handling multiple memory requests within a multiprocessor system'20128,214,592'Dynamic runtime modification of array layout for offset'20128,209,489'Victim cache prefetching'20128,205,024'Protecting ownership transfer with non-uniform protection windows'20128,205,136'Fault tolerant encoding of directory states for stuck bits'20128,195,880'Information handling system with immediate scheduling of load operations in a dual-bank cache with dual dispatch into write/read data flow'20128,166,246'Chaining multiple smaller store queue entries for more efficient store queue usage'20128,140,765'Information handling system with immediate scheduling of load operations in a dual-bank cache with single dispatch into write/read data flow'20128,140,771'Partial cache line storage-modifying operation based upon a hint'20128,139,592'Ticket-based operation tracking'20128,140,759'Specifying an access hint for prefetching partial cache block data in a cache hierarchy'20128,140,756'Information handling system with immediate scheduling of load operations and fine-grained access to cache memory'20128,140,770'Data processing system and method for predictively selecting a scope of broadcast of an operation'20128,135,910'Bandwidth of a cache directory by slicing the cache directory into two smaller cache directories and replicating snooping logic for each sliced cache directory'20128,131,935'Virtual barrier synchronization cache'20128,117,397'Victim cache line selection'20128,117,390'Updating partial cache lines in a data processing system'20128,103,791'Synchronized communication in a data processing system'20128,099,570'Methods, systems, and computer program products for dynamic selective memory mirroring'20128,095,733'Virtual barrier synchronization cache castout election'20128,015,358'System bus structure for large L2 cache array topology with different latency domains'20118,001,330'L2 cache controller with slice directory and unified cache structure'20117,996,564'Remote asynchronous data mover'20117,992,051'Method, apparatus, and computer program product in a processor for dynamically during runtime allocating memory for in-memory hardware tracing'20117,987,320'Cache mechanism and method for avoiding cast out on bad victim select and recycling victim select operation'20117,966,454'Issuing global shared memory operations via direct cache injection to a host fabric interface'20117,944,932'Interconnect fabric for a data processing system'20117,941,611'Filtering snooped operations'20117,925,842'Allocating a global shared memory'20117,917,730'Processor chip with multiple computing elements and external i/o interfaces connected to perpendicular interconnection trunks communicating coherency signals via intersection bus controller'20117,913,123'Concurrently sharing a memory controller among a tracing process and non-tracing processes using a programmable variable number of shared memory write buffers'20117,890,704'Implementing an enhanced hover state with active prefetches'20117,865,650'Processor with coherent bus controller at perpendicularly intersecting axial bus layout for communication among SMP compute elements and off-chip I/O elements'20117,849,298'Enhanced processor virtualization mechanism via saving and restoring soft processor/system states'20107,844,860'Apparatus and computer program product in a processor for performing in-memory tracing using existing communication paths'20107,831,774'Pipelining D states for MRU steerage during MRU-LRU member allocation'20107,827,354'Victim cache using direct intervention'20107,818,388'Data processing system, method and interconnect fabric supporting multiple planes of processing nodes'20107,818,511'Reducing number of rejected snoop requests by extending time to respond to snoop request'20107,793,048'System bus structure for large L2 cache array topology with different latency domains'20107,783,841'Efficient coherency communication utilizing an IG coherency state'20107,783,842'Cache coherent I/O communication'20107,783,834'L2 cache array topology for large cache with different latency domains'20107,774,555'Data processing system and method for efficient coherency communication utilizing coherency domain indicators'20107,761,631'Data processing system, method and interconnect fabric supporting destination data tagging'20107,747,826'Data processing system and method for efficient communication utilizing an in coherency state'20107,743,218'Updating an invalid coherency state in response to snooping an operation'20107,734,876'Protecting ownership transfer with non-uniform protection windows'20107,725,619'Data processing system and method that permit pipelining of I/O write operations and multiple operation scopes'20107,716,428'Data processing system, cache system and method for reducing imprecise invalid coherency states'20107,716,427'Store stream prefetching in a microprocessor'20107,689,891'Method and system for handling stuck bits in cache directories'20107,689,771'Coherency management of castouts'20107,689,777'Cache member protection with partial make MRU allocation'20107,627,738'Request and combined response broadcasting to processors coupled to other processors within node and coupled to respective processors in another node'20097,610,458'Data processing system, processor and method of data processing that support memory access according to diverse memory models'20097,584,331'Data processing system and method for selectively updating an invalid coherency state in response to snooping a castout'20097,584,329'Data processing system and method for efficient communication utilizing an Ig coherency state'20097,577,797'Data processing system, cache system and method for precisely forming an invalid coherency state based upon a combined response'20097,543,116'Data processing system, cache system and method for handling a flush operation in a data processing system having multiple coherency domains'20097,536,513'Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state'20097,533,321'Fault tolerant encoding of directory states for stuck bits'20097,523,268'Reducing number of rejected snoop requests by extending time to respond to snoop request'20097,512,742'Data processing system, cache system and method for precisely forming an invalid coherency state indicating a broadcast scope'20097,500,065'Data processing system and method for efficient L3 cache directory management'20097,493,478'Enhanced processor virtualization mechanism via saving and restoring soft processor/system states'20097,490,202'Data processing system and method for efficient L3 cache directory management'20097,490,200'L2 cache controller with slice directory and unified cache structure'20097,484,042'Data processing system and method for predictively selecting a scope of a prefetch operation'20097,484,046'Reducing number of rejected snoop requests by extending time to respond to snoop request'20097,483,422'Data processing system, method and interconnect fabric for selective link information allocation in a data processing system'20097,480,772'Data processing system and method for efficient communication utilizing an Tn and Ten coherency states'20097,478,201'Data processing system, cache system and method for passively scrubbing a domain indication'20097,475,196'Processor, data processing system, and method for initializing a memory block in a data processing system having multiple coherency domains'20097,475,195'Data processing system, cache system and method for actively scrubbing a domain indication'20097,469,318'System bus structure for large L2 cache array topology with different latency domains'20087,467,262'Data processing system, cache system and method for scrubbing a domain indication in response to execution of program code'20087,454,580'Data processing system, processor and method of data processing that reduce store queue entry utilization for synchronizing operations'20087,454,577'Data processing system and method for efficient communication utilizing an Tn and Ten coherency states'20087,454,578'Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory'20087,451,231'Data processing system, method and interconnect fabric for synchronized communication in a data processing system'20087,451,277'Data processing system, cache system and method for updating an invalid coherency state in response to snooping an operation'20087,447,844'Data processing system, processor and method of data processing in which local memory access requests are serviced on a fixed schedule'20087,447,845'Data processing system, processor and method of data processing in which local memory access requests are serviced by state machines with differing functionality'20087,444,494'Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a history-based prediction'20087,437,618'Method in a processor for dynamically during runtime allocating memory for in-memory hardware tracing'20087,437,617'Method, apparatus, and computer program product in a processor for concurrently sharing a memory controller among a tracing process and non-tracing processes using a programmable variable number of shared memory write buffers'20087,421,619'Method in a processor for performing in-memory tracing using existing communication paths'20087,409,481'Data processing system, method and interconnect fabric supporting destination data tagging'20087,404,046'Cache memory, processing unit, data processing system and method for filtering snooped operations'20087,401,189'Pipelining D states for MRU steerage during MRU/LRU member allocation'20087,389,388'Data processing system and method for efficient communication utilizing an in coherency state'20087,386,682'Reducing number of rejected snoop requests by extending time to respond to snoop request'20087,386,681'Reducing number of rejected snoop requests by extending time to respond to snoop request'20087,380,102'Communication link control among inter-coupled multiple processing units in a node to respective units in another node for request broadcasting and combined response'20087,380,066'Store stream prefetching in a microprocessor'20087,366,841'L2 cache array topology for large cache with different latency domains'20087,363,433'Cache member protection with partial make MRU allocation'20087,343,455'Cache mechanism and method for avoiding cast out on bad victim select and recycling victim select operation'20087,340,568'Reducing number of rejected snoop requests by extending time to respond to snoop request'20087,337,280'Data processing system and method for efficient L3 cache directory management'20087,308,537'Half-good mode for large L2 cache array topology with different latency domains'20077,305,522'Victim cache using direct intervention'20077,305,523'Cache memory direct intervention'20077,284,102'System and method of re-ordering store operations within a processor'20077,272,664'Cross partition sharing of state information'20077,272,773'Cache directory array recovery mechanism to support special ECC stuck bit matrix'20077,254,694'Processors interconnect fabric with relay broadcasting and accumulation of partial responses'20077,237,070'Cache memory, processing unit, data processing system and method for assuming a selected invalid coherency state based upon a request source'20077,228,385'Processor, data processing system and method for synchronizing access to data in shared memory'20077,200,717'Processor, data processing system and method for synchronizing access to data in shared memory'20077,197,604'Processor, data processing system and method for synchronzing access to data in shared memory'20077,117,319'Managing processor architected state upon an interrupt'20067,103,721'Cache allocation mechanism for biasing subsequent allocations based upon cache directory state'20067,069,494'Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism'20067,047,320'Data processing system providing hardware acceleration of input/output (I/O) communication'20067,039,832'Robust system reliability via systolic manufacturing level chip test operating real time on microprocessors/systems'20067,039,760'Programming means for dynamic specifications of cache management preferences'20067,032,097'Zero cycle penalty in selecting instructions in prefetch buffer in the event of a miss in the instruction cache'20066,996,679'Cache allocation mechanism for saving multiple elected unworthy members via substitute victimization and imputed worthiness of multiple substitute victim members'20066,993,628'Cache allocation mechanism for saving elected unworthy member via substitute victimization and imputed worthiness of substitute victim member'20066,983,347'Dynamically managing saved processor soft states'20066,981,083'Processor virtualization mechanism via an enhanced restoration of hard architected states'20056,976,148'Acceleration of input/output (I/O) communication through improved address translation'20056,877,083'Address mapping mechanism for behavioral memory enablement within a data processing system'20056,848,044'Circuits and methods for recovering link stack data upon branch instruction mis-speculation'20056,804,770'Method and apparatus for using past history to avoid flush conditions in a microprocessor'20046,792,521'Behavioral memory mechanism for a data processing system'20046,785,774'High performance symmetric multiprocessing systems via super-coherent data mechanisms'20046,779,086'Symmetric multiprocessor systems with an independent super-coherent cache directory'20046,763,435'Super-coherent multiprocessor system bus protocols'20046,704,844'Dynamic hardware and software performance optimizations for super-coherent SMP systems'20046,694,427'Method system and apparatus for instruction tracing with out of order processors'20046,681,321'Method system and apparatus for instruction execution tracing with out of order processors'20046,678,814'Method and apparatus for allocating data usages within an embedded dynamic random access memory device'20046,675,279'Behavioral memory enabled fetch prediction mechanism within a data processing system'20046,658,539'Super-coherent data mechanisms for shared caches in a multiprocessing system'20036,651,162'Recursively accessing a branch target address cache using a target address previously accessed from the branch target address cache'20036,643,763'Register pipe for multi-processing engine environment'20036,629,212'High speed lock acquisition mechanism with time parameterized cache coherency states'20036,629,209'Cache coherency protocol permitting sharing of a locked data granule'20036,629,214'Extended cache coherency protocol with a persistent lock acquired state'20036,625,701'Extended cache coherency protocol with a modified store instruction lock release indicator'20036,606,666'Method and system for controlling information flow between a producer and a buffer in a high frequency digital system'20036,606,680'Method and apparatus for accessing banked embedded dynamic random access memory devices'20036,604,145'Method and system for controlling information flow in a high frequency digital system from a producer to a buffering consumer via an intermediate buffer and a shared data path'20036,601,105'Method and system for controlling information flow between a producer and multiple buffers in a high frequency digital system'20036,598,086'Method and system for controlling information flow in a high frequency digital system from a producer to a buffering consumer via an intermediate buffer'20036,574,719'Method and apparatus for concurrently communicating with multiple embedded dynamic random access memory devices'20036,549,989'Extended cache coherency protocol with a lock released state'20036,493,814'Reducing resource collisions associated with memory units in a multi-level hierarchy memory system'20026,487,637'Method and system for clearing dependent speculations from a request queue'20026,438,656'Method and system for cancelling speculative cache prefetch requests'20026,430,656'Cache and management method using combined software and hardware congruence class selectors'20026,421,761'Partitioned cache and management method for selectively caching data by type'20026,418,516'Method and system for managing speculative requests in a multi-level memory hierarchy'20026,385,702'High performance multiprocessor system with exclusive-deallocate cache state'20026,374,333'Cache coherency protocol in which a load instruction hint bit is employed to indicate deallocation of a modified cache line supplied by intervention'20026,349,369'Protocol for transferring modified-unsolicited state during data intervention'20026,345,342'Cache coherency protocol employing a read operation including a programmable flag to indicate deallocation of an intervened cache line'20026,345,344'Cache allocation mechanism for modified-unsolicited cache state that modifies victimization priority bits'20026,345,343'Multiprocessor system bus protocol with command and snoop responses for modified-unsolicited cache state'20026,321,306'High performance multiprocessor system with modified-unsolicited cache state'20016,314,498'Multiprocessor system bus transaction for transferring exclusive-deallocate cache state to lower lever cache'20016,075,937'Preprocessing of stored target routines for controlling emulation of incompatible instructions on a target processor and utilizing target processor feedback for controlling non-sequential incompatible instruction emulation'20006,009,261'Preprocessing of stored target routines for emulating incompatible instructions on a target processor'19995,894,575'Method and system for initial state determination for instruction trace reconstruction'19995,889,947'Apparatus and method for executing instructions that select a storage location for output values in response to an operation count'19995,878,208'Method and system for instruction trace reconstruction utilizing limited output pins and bus monitoring'19995,862,371'Method and system for instruction trace reconstruction utilizing performance monitor outputs and bus monitoring'19995,809,566'Automatic cache prefetch timing with dynamic trigger migration'1998

Career & activity timeline

Assembled from patent assignee/location history and declaration credentials.

1996–2021Patents assigned to IBM (298)· patent assignee history
1996–2016Based in Austin, TX, US· patent location history
2002–2021Based in Round Rock, TX, US· patent location history
2012–2019Patents assigned to STARKE WILLIAM J (55)· patent assignee history
2012–2019Patents assigned to GUTHRIE GUY L (44)· patent assignee history
2012–2017Patents assigned to WILLIAMS DEREK E (29)· patent assignee history
2012–2015Patents assigned to STUECHELI JEFFREY A (15)· patent assignee history

Inventor activity

Assignee and location history derived from the patent record.

Assignees
AssigneePatentsSpan
IBM2981996–2021
STARKE WILLIAM Jself552012–2019
GUTHRIE GUY L442012–2019
WILLIAMS DEREK E292012–2017
STUECHELI JEFFREY A152012–2015
Locations
LocationPatentsSpan
Round Rock, Texas, US2642002–2021
Austin, Texas, US381996–2016