Patents by Inventor Ricky C. Hetherington
Ricky C. Hetherington 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: 6360285Abstract: In accordance with the present invention, an apparatus includes a system bus having memory bank available signals. Coupled to the system bus are at least two memory modules, each having at least one memory bank. Each memory module includes a mechanism for associating each memory bank with one of the memory bank available signals. Further, each memory module includes logic for determining an availability status of each memory bank and for providing the associated memory bank busy signal with values reflecting the availability status of the memory bank. Additionally, at least two commander modules are coupled to the system bus and include logic, responsive to the memory bank available signals for preventing the commander module from gaining control of the system bus when the commander is attempting to access a memory bank determined to be unavailable. With such an arrangement, only commander modules seeking to access memory banks which are available will be allowed to gain control of the system bus.Type: GrantFiled: June 30, 1994Date of Patent: March 19, 2002Assignee: Compaq Computer CorporationInventors: David M. Fenwick, Denis Foley, David Hartwell, Ricky C. Hetherington, Dale R. Keck, Elbert Bloom
-
Patent number: 6327667Abstract: In a digital signal processing system, such as a computer system, an apparatus for communicating digital signals in a plurality of operating domains. The first domain has first timing and control signals synchronized to a first clock. In response to an event, the apparatus dynamically transitions the operation of the synchronous memory to a second domain having second timing and control signals synchronized to a second clock. The first timing and control signals being different in frequency, shape, and protocol than the second timing and control signals. The first clock can be a processor clock to synchronize communication of address and data signals with a processor, and the second clock can be a system clock to synchronize communication of address and data signals with an asynchronous data processing device such as random access memory.Type: GrantFiled: July 15, 1997Date of Patent: December 4, 2001Assignee: Compaq Computer CorporationInventors: Ricky C. Hetherington, Peter J. Bannon
-
Patent number: 6269426Abstract: A multi-level cache and method for operation of a multi-level cache generating multiple cache system accesses simultaneously. Each access request includes an address identifying a memory location having data that is a target of the access. A insertion pointer inserts each access request into an entry in a memory scheduling window. Each entry is marked as valid when that entry is ready to be applied to a first cache level. A picker picks valid entries from the memory scheduling window by pointing to the picked entry and applying the address therein to the first cache level. The picking occurs in a free-running mode regardless of whether the accesses hit in the first cache level. A second cache level, receives accesses that have missed in the first cache level. A resource monitor in the second cache level determines when a predetermined number of resources are committed to servicing the accesses that have missed in the first cache level.Type: GrantFiled: June 24, 1997Date of Patent: July 31, 2001Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Thomas M. Wicki
-
Publication number: 20010010069Abstract: A multi-level cache and method for operation of a multi-level cache generating multiple cache system accesses simultaneously. Each access request includes an address identifying a memory location having data that is a target of the access. A insertion pointer inserts each access request into an entry in a memory scheduling window. Each entry is marked as valid when that entry is ready to be applied to a first cache level. A picker picks valid entries from the memory scheduling window by pointing to the picked entry and applying the address therein to the first cache level. The picking occurs in a free-running mode regardless of whether the accesses hit in the first cache level. A second cache level, receives accesses that have missed in the first cache level. A resource monitor in the second cache level determines when a predetermined number of resources are committed to servicing the accesses that have missed in the first cache level.Type: ApplicationFiled: February 28, 2001Publication date: July 26, 2001Inventors: Ricky C. Hetherington, Thomas M. Wicki
-
Patent number: 6240502Abstract: A method and apparatus for dynamically reconfiguring a processor involves placing the processor in a first configuration having a first number (m) of strands while the coded instructions comprise instructions from a number (m) threads. The instructions in each of the m threads are executed on one of the m strands using execution resources at least some of which are shared among the m strands. While the coded instructions comprise instructions from a number (n) threads, the processor is placed in a second configuration having a second number (n) of strands. The instruction are executed in each of the n strands using execution resources at least some of which are shared among the n strands.Type: GrantFiled: June 25, 1997Date of Patent: May 29, 2001Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, Ricky C. Hetherington
-
Patent number: 6219723Abstract: A system and method for thermal overload detection and protection for a processor which allows the processor to run at near maximum potential for the vast majority of its execution life. This is effectuated by the provision of circuitry to detect when the processor has exceeded its thermal thresholds and which then causes the processor to automatically reduce the clock rate to a fraction of the nominal clock while execution continues. When the thermal condition has stabilized, the clock may be raised in a stepwise fashion back to the nominal clock rate. Throughout the period of cycling the clock frequency from nominal to minimum and back, the program continues to be executed. Also provided is a queue activity rise time detector and method to control the rate of acceleration of a functional unit from idle to full throttle by a localized stall mechanism at the boundary of each stage in the pipe.Type: GrantFiled: March 23, 1999Date of Patent: April 17, 2001Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Ramesh Panwar
-
Patent number: 6212602Abstract: A cache memory system having a cache and a cache tag. A cache tag cache is provided to store a subset of the most recently or frequently used cache tags. The cache tag cache is accessed during tag inquires in a manner similar to conventional cache tag inquires. Hits in the cache tag cache have a lower access latency than the tag lookups that miss and require access to the cache tag.Type: GrantFiled: December 17, 1997Date of Patent: April 3, 2001Assignee: Sun Microsystems, Inc.Inventors: Thomas M. Wicki, Meera Kasinathan, Ricky C. Hetherington
-
Patent number: 6154812Abstract: A data cache unit associated with a processor, the data cache unit including a first non-blocking cache receiving a data access from a device in the processor. A second non-blocking cache is coupled to the first non-blocking cache to service misses in the first non-blocking cache. A data return path coupled to the second non-blocking cache couples data returning from the second non-blocking cache to both the first non-blocking cache and the device generating the access to the first non-blocking cache.Type: GrantFiled: June 25, 1997Date of Patent: November 28, 2000Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Sharad Mehrotra, Ramesh Panwar
-
Patent number: 6154815Abstract: A multi-level cache and method for operation of a multi-level cache generating multiple cache system accesses simultaneously. Each access request includes an address identifying a memory location having data that is a target of the access. A insertion pointer inserts each access request into an entry in a memory scheduling window. Each entry is marked as valid when that entry is ready to be applied to a first cache level. A picker picks valid entries from the memory scheduling window by pointing to the picked entry and applying the address therein to the first cache level. The picking occurs in a free-running mode regardless of whether the accesses hit in the first cache level. A second cache level receives accesses that have missed in the first cache level. A resource monitor in the second cache level determines when a predetermined number of resources are committed to servicing the accesses that have missed in the first cache level.Type: GrantFiled: June 25, 1997Date of Patent: November 28, 2000Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Thomas M. Wicki
-
Patent number: 6148371Abstract: A data cache unit associated with a processor, the data cache unit including a first non-blocking cache receiving a data access from a device in the processor. A second non-blocking cache is coupled to the first non-blocking cache to service misses in the first non-blocking cache. A data return path coupled to the second non-blocking cache couples data returning from the second non-blocking cache to both the first non-blocking cache and the device generating the access to the first non-blocking cache.Type: GrantFiled: June 25, 1997Date of Patent: November 14, 2000Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Sharad Mehrotra, Ramesh Panwar
-
Patent number: 6145054Abstract: A method and apparatus for merging multiple misses to a multi-level cache is provided to improve the performance of the cache. A first and second non-blocking cache are each provided with miss queues storing entries corresponding to access requests not serviced by the respective caches. The first and second miss queues have an indicator associable with each of said entries in the respective miss queues indicating that the entry is a primary reference to data located at the address associated with said entry. If a subsequent instruction generates a cache miss accessing data associated with an entry in a miss queue, the subsequent miss is merged with the appropriate entry in the miss queue and serviced when the primary reference is serviced.Type: GrantFiled: January 21, 1998Date of Patent: November 7, 2000Assignee: Sun Microsystems, Inc.Inventors: Sharad Mehrotra, Ricky C. Hetherington, Michelle L. Wong
-
Patent number: 6122709Abstract: A cache memory system including a cache memory having a plurality of cache lines. An index portion of a tag array includes an n-bit pointer entry for every cache line. A shared tag portion of a tag array includes a number of entries, where each entry includes shared tag information that is shared among a plurality of the cache lines. Each n-bit pointer in the index portion of the tag array points into an entry in the shared tag portion.Type: GrantFiled: December 19, 1997Date of Patent: September 19, 2000Assignee: Sun Microsystems, Inc.Inventors: Thomas M. Wicki, Meera Kasinathan, Ricky C. Hetherington
-
Patent number: 6119205Abstract: A cache system including a data cache memory comprising a plurality of cache lines. A tag store has an entry representing each line in the cache memory where each entry comprises tag information for accessing the data cache. The tag information includes state information indicating whether the represented cache line includes dirty data. A speculative write back unit monitors the state information and is operative to initiate a write back of a cache line having more than a preselected amount of dirty data.Type: GrantFiled: December 22, 1997Date of Patent: September 12, 2000Assignee: Sun Microsystems, Inc.Inventors: Thomas M. Wicki, Meera Kasinathan, Fong Pong, Ricky C. Hetherington
-
Patent number: 6081873Abstract: A data cache unit associated with a processor, the data cache unit including a multi-ported non-blocking cache receiving a data access request from a lower level device in the processor. A memory scheduling window includes at least one row of entries, wherein each entry includes an address field holding an address of the access request. A conflict map field within at least some of the entries is coupled to a conflict checking unit. The conflict checking unit responds to the address fields by setting bits in the conflict map fields to indicate intra-row conflicts between entries. A picker coupled to the memory scheduling window responds to the conflict map fields so as to identify groups of non-conflicting entries to launch in parallel at the multi-ported non-blocking cache.Type: GrantFiled: June 25, 1997Date of Patent: June 27, 2000Assignee: Sun Microsystems, Inc.Inventors: Ricky C. Hetherington, Sharad Mehrotra, Ramesh Panwar
-
Patent number: 6076129Abstract: A data bus sequencer for use by nodes coupled to a system bus for associating data transactions and address transactions on the bus. The data bus sequencer includes means for tracking address and command transactions occurring on an address bus, the means for tracking producing a sequence number tag corresponding to each address and command transaction occurring on the address bus. Means for associating data transactions with address and command transactions stores the sequence number tags corresponding to address and command transactions for which data transactions are to be initiated by the node. Further included are means for tracking data transactions occurring on a data bus, means for comparing tracked data transactions to associated data transactions, and means for initiating data transactions on the data bus in response to the comparison.Type: GrantFiled: June 6, 1997Date of Patent: June 13, 2000Assignee: Digital Equipment CorporationInventors: David M. Fenwick, Denis J. Foley, Stephen R. Van Doren, David W. Hartwell, Elbert Bloom, Ricky C. Hetherington
-
Patent number: 6073212Abstract: An apparatus and method for optimizing a non-inclusive hierarchical cache memory system that includes a first and second cache for storing information. The first and second cache are arranged in an hierarchical manner such as a level two and level three cache in a cache system having three levels of cache. The level two and level three cache hold information non-inclusively, while a dual directory holds tags and states that are duplicates of the tags and states held for the level two cache. All snoop requests (snoops) are passed to the dual directory by a snoop queue. The dual directory is used to determine whether a snoop request sent by snoop queue is relevant to the contents of level two cache, avoiding the need to send the snoop request to level two cache if there is a "miss" in the dual directory.Type: GrantFiled: September 30, 1997Date of Patent: June 6, 2000Assignee: Sun Microsystems, Inc.Inventors: Norman M. Hayes, Belliappa M. Kuttanna, Krishna M. Thatipelli, Ricky C. Hetherington, Fong Pong
-
Patent number: 6058472Abstract: A system, apparatus and method for ensuring program correctness in an out-of-order processor spite of younger load instructions being boosted past an older store utilizing a memory disambiguation buffer ("MDB"). The memory disambiguation buffer stores all memory operations that have not yet been retired. Each entry has several fields amongst which are the data and the addresses of the memory operations. An incoming load checks its address against the addresses of all the stores. If there is a match against an older store, then the load must have received old data from the data cache and the load operation is replayed to seek data from the memory disambiguation buffer on the replay. If on the other hand, there were no matches on any older store, the load is assumed to have received the right data from the data cache (assuming a data cache hit). An incoming store checks its address against the addresses of all younger loads.Type: GrantFiled: June 25, 1997Date of Patent: May 2, 2000Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, P.K. Chidambaran, Ricky C. Hetherington
-
Patent number: 6052775Abstract: A method for operating a processor that executes coded instructions using an instruction scheduling unit receiving the coded instructions and issuing an instruction for execution. A replay signaling device generates a signal indicating when the instruction failed to execute properly within a predetermined time. A replay device within the instruction scheduling unit responsive to the signaling device then reissues the instruction for execution.Type: GrantFiled: June 25, 1997Date of Patent: April 18, 2000Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, Ricky C. Hetherington
-
Patent number: 6006326Abstract: A system for restraining over-eager boosting of load instructions past store instructions in an out-of-order processor. The system comprises a memory disambiguation buffer for storing load and store instruction addresses and associated data and an instruction scheduling window in operative association with the memory disambiguation buffer. The instruction scheduling window and the memory disambiguation buffer determine load/store dependencies and effectuate replay of the store and load instructions wherein a dependent load instruction has been executed prior to a store instruction. An instruction cache is provided in operative association with the memory disambiguation buffer, together to associate the dependent load instructions with a store instruction such that the store instruction is subsequently executed prior to the dependent load instructions.Type: GrantFiled: June 25, 1997Date of Patent: December 21, 1999Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, Ricky C. Hetherington
-
Patent number: 5999727Abstract: A system, apparatus and method which functions to restrain over-eager load boosting in an out-of-order processor through the implementation of a special "coloring" mechanism that colors dependent load and store instructions to ensure recognition of a dependency based on the assignment of a common multi-bit "color" scheme. In an exemplary embodiment, two bits of color are assigned to load and store instructions. These color bits are stored in a special array and are read when the load or store is read from the instruction cache ("I$"). The encoding of "00" for a load, for example, may indicate no coloring dependency for the load. Any encoding other than a "00" is utilized to indicate a store-load dependence for a store and load of the same color. The color bits for the load and store instructions are updated when a read-after-write ("RAW") hazard is detected by the memory disambiguation buffer ("MDB") for a store-load pair.Type: GrantFiled: June 25, 1997Date of Patent: December 7, 1999Assignee: Sun Microsystems, Inc.Inventors: Ramesh Panwar, Ricky C. Hetherington