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: 6360285
    Abstract: 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: Grant
    Filed: June 30, 1994
    Date of Patent: March 19, 2002
    Assignee: Compaq Computer Corporation
    Inventors: David M. Fenwick, Denis Foley, David Hartwell, Ricky C. Hetherington, Dale R. Keck, Elbert Bloom
  • Patent number: 6327667
    Abstract: 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: Grant
    Filed: July 15, 1997
    Date of Patent: December 4, 2001
    Assignee: Compaq Computer Corporation
    Inventors: Ricky C. Hetherington, Peter J. Bannon
  • Patent number: 6269426
    Abstract: 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: Grant
    Filed: June 24, 1997
    Date of Patent: July 31, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Thomas M. Wicki
  • Publication number: 20010010069
    Abstract: 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: Application
    Filed: February 28, 2001
    Publication date: July 26, 2001
    Inventors: Ricky C. Hetherington, Thomas M. Wicki
  • Patent number: 6240502
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: May 29, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramesh Panwar, Ricky C. Hetherington
  • Patent number: 6219723
    Abstract: 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: Grant
    Filed: March 23, 1999
    Date of Patent: April 17, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Ramesh Panwar
  • Patent number: 6212602
    Abstract: 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: Grant
    Filed: December 17, 1997
    Date of Patent: April 3, 2001
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. Wicki, Meera Kasinathan, Ricky C. Hetherington
  • Patent number: 6154812
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: November 28, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Sharad Mehrotra, Ramesh Panwar
  • Patent number: 6154815
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: November 28, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Thomas M. Wicki
  • Patent number: 6148371
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: November 14, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Sharad Mehrotra, Ramesh Panwar
  • Patent number: 6145054
    Abstract: 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: Grant
    Filed: January 21, 1998
    Date of Patent: November 7, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Sharad Mehrotra, Ricky C. Hetherington, Michelle L. Wong
  • Patent number: 6122709
    Abstract: 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: Grant
    Filed: December 19, 1997
    Date of Patent: September 19, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. Wicki, Meera Kasinathan, Ricky C. Hetherington
  • Patent number: 6119205
    Abstract: 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: Grant
    Filed: December 22, 1997
    Date of Patent: September 12, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Thomas M. Wicki, Meera Kasinathan, Fong Pong, Ricky C. Hetherington
  • Patent number: 6081873
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: June 27, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ricky C. Hetherington, Sharad Mehrotra, Ramesh Panwar
  • Patent number: 6076129
    Abstract: 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: Grant
    Filed: June 6, 1997
    Date of Patent: June 13, 2000
    Assignee: Digital Equipment Corporation
    Inventors: David M. Fenwick, Denis J. Foley, Stephen R. Van Doren, David W. Hartwell, Elbert Bloom, Ricky C. Hetherington
  • Patent number: 6073212
    Abstract: 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: Grant
    Filed: September 30, 1997
    Date of Patent: June 6, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Norman M. Hayes, Belliappa M. Kuttanna, Krishna M. Thatipelli, Ricky C. Hetherington, Fong Pong
  • Patent number: 6058472
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: May 2, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramesh Panwar, P.K. Chidambaran, Ricky C. Hetherington
  • Patent number: 6052775
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: April 18, 2000
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramesh Panwar, Ricky C. Hetherington
  • Patent number: 6006326
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: December 21, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramesh Panwar, Ricky C. Hetherington
  • Patent number: 5999727
    Abstract: 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: Grant
    Filed: June 25, 1997
    Date of Patent: December 7, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Ramesh Panwar, Ricky C. Hetherington