Patents by Inventor Norman M. Hayes

Norman M. Hayes 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: 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: 5987570
    Abstract: A high performance microprocessor bus protocol for improving system throughput. The bus protocol enables overlapping read burst and write burst bus transactions to a cache, and interleaved bus transactions during external fetch cycles for missed cache lines. The bus protocol is implemented in a system comprising a CPU, and a secondary cache. The secondary cache comprises an SRAM array cache, and a cache controller. The CPU contains an instruction pipeline and a primary cache system.
    Type: Grant
    Filed: June 24, 1997
    Date of Patent: November 16, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Norman M. Hayes, Kumar Venkatasubramaniam
  • Patent number: 5909697
    Abstract: A non-inclusive multi-level cache memory system is optimized by removing a first cache content from a first cache, so as to provide cache space in the first cache. In response to a cache miss in the first and second caches, the removed first cache content is stored in a second cache. All cache contents that are stored in the second cache are limited to have read-only attributes so that if any copies of the cache contents in the second cache exist in the cache memory system, a processor or equivalent device must seek permission to access the location in which that copy exists, ensuring cache coherency. If the first cache content is required by a processor (e.g., when a cache hit occurs in the second cache for the first cache content), room is again made available, if required, in the first cache by selecting a second cache content from the first cache and moving it to the second cache.
    Type: Grant
    Filed: September 30, 1997
    Date of Patent: June 1, 1999
    Assignee: Sun Microsystems, Inc.
    Inventors: Norman M. Hayes, Ricky C. Hetherington, Belliappa M. Kuttanna, Fong Pong, Krishna M. Thatipelli
  • Patent number: 5781721
    Abstract: An apparatus and method for enabling a cache controller and address and data buses of a microprocessor with an on-board cache to provide a SRAM test mode for testing the on-board cache. Upon assertion of a SRAM test signal to a SRAM test pin on the microprocessor chip, the cache and bus controllers cease normal functionality and permit data to be written to, and read from, individual addresses within the on-board cache as though the on-board cache is simple SRAM. After the chip is reset, standard SRAM tests can then be implemented by reading and writing data to selected cache memory addresses as though the cache memory were SRAM. Upon completion of the tests, the SRAM test signal is deasserted and the cache and bus controllers resume normal operating functionality. A reset signal is then applied to the microprocessor to reinitialize control logic employed within the microprocessor.
    Type: Grant
    Filed: September 16, 1996
    Date of Patent: July 14, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Norman M. Hayes, Adam Malamy, Rajiv N. Patel
  • Patent number: 5708792
    Abstract: A method and apparatus for maintaining cache coherency in a multiprocessor system having a plurality of processors and a shared main memory. Each of the plurality of processors is coupled to at least one cache unit and a store buffer. The method comprises the steps of writing by a first cache unit to its first store buffer a dirty line when the first cache unit experiences a cache miss; gaining control of the bus by the first cache unit; reading a new line from the share main memory by the first cache unit through the bus; writing the dirty line to the shared main memory if the bus is available to the first cache unit and if not available, the first cache unit checking snooping by a second cache unit from a second processor; comparing an address from the second cache unit with the tag of the dirty line, wherein the tag is stored in content-addressable memory coupled to the store buffer and if there is a hit, then supplying the dirty line to the second cache unit for updating.
    Type: Grant
    Filed: July 29, 1996
    Date of Patent: January 13, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Norman M. Hayes, Adam Malamy
  • Patent number: 5675765
    Abstract: Two independently accessible subdivided cache tag arrays and a cache control logic is provided to a set associative cache system. Each tag entry is stored in two subdivided cache tag arrays, a physical and a set tag array such that each physical tag array entry has a corresponding set tag array entry. Each physical tag array entry stores the tag addresses and control bits for a set of cache lines. The control bits comprise at least one validity bit indicating whether the data stored in the corresponding cache line is valid. Each set tag array entry stores the descriptive bits for a set of cache lines which consists of the most recently used (MRU) field identifying the most recently used cache lines of the cache set. Each subdivided tag array is provided with its own interface to enable each array to be accessed concurrently but independently by the cache control logic which performs read and write operations against the cache.
    Type: Grant
    Filed: February 21, 1996
    Date of Patent: October 7, 1997
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam Malamy, Rajiv N. Patel, Norman M. Hayes
  • Patent number: 5497480
    Abstract: A method and apparatus for removing a page table entry from a plurality of translation lookaside buffers ("TLBs") in a multiprocessor computer system. The multiprocessor computer system includes at least two processors coupled to a packet-switched bus. Page table entries are removed from a plurality of TLBs in the multiprocessor computer system by first broadcasting a demap request packet on the packet-switched bus in response to one of the processors requesting that a page table entry be removed from its associated TLB. The demap request packet includes a virtual address and context information specifying this page table entry. Controllers reply to the demap request packet by sending a first reply packet to the controller that sent the original demap request packet to indicate receipt of the demap request packet.
    Type: Grant
    Filed: July 29, 1994
    Date of Patent: March 5, 1996
    Assignees: Sun Microsystems, Inc., Xerox Corporation
    Inventors: Norman M. Hayes, Pradeep Sindhu, Jean-Marc Frailong, Sunil Nanda
  • Patent number: 5440707
    Abstract: A caching arrangement which can work efficiently in a superscaler and multiprocessing environment includes separate caches for instructions and data and a single translation lookaside buffer (TLB) shared by them. During each clock cycle, retrievals from both the instruction cache and data cache may be performed, one on the rising edge of the clock cycle and one on the falling edge. The TLB is capable of translating two addresses per clock cycle. Because the TLB is faster than accessing the tag arrays which in turn are faster than addressing the cache data arrays, virtual addresses may be concurrently supplied to all three components and the retrieval made in one phase of a clock cycle. When an instruction retrieval is being performed, snooping for snoop broadcasts may be performed for the data cache and vice versa. Thus, for every clock cycle, an instruction and data cache retrieval may be performed as well as snooping.
    Type: Grant
    Filed: April 29, 1992
    Date of Patent: August 8, 1995
    Assignee: Sun Microsystems, Inc.
    Inventors: Norman M. Hayes, Adam Malamy, Rajiv N. Patel
  • Patent number: 5353425
    Abstract: In a memory system having a main memory and a faster cache memory, a cache memory replacement scheme with a locking feature is provided. Locking bits associated with each line in the cache are supplied in the tag table. These locking bits are preferably set and reset by the application program/process executing and are utilized in conjunction with cache replacement bits by the cache controller to determine the lines in the cache to replace. The lock bits and replacement bits for a cache line are "ORed" to create a composite bit for the cache line. If the composite bit is set the cache line is not removed from the cache. When deadlock due to all composite bits being set will result, all replacement bits are cleared. One cache line is always maintained as non-lockable. The locking bits "lock" the line of data in the cache until such time when the process resets the lock bit.
    Type: Grant
    Filed: April 29, 1992
    Date of Patent: October 4, 1994
    Assignee: Sun Microsystems, Inc.
    Inventors: Adam Malamy, Rajiv N. Patel, Norman M. Hayes
  • Patent number: 5353426
    Abstract: A cache array, a cache tag and comparator unit and a cache multiplexor are provided to a cache memory. Each cache operation performed against the cache array, read or write, takes only half a clock cycle. The cache tag and comparator unit comprises a cache tag array, a cache miss buffer and control logic. Each cache operation performed against the cache tag array, read or write, also takes only half a clock cycle. The cache miss buffer comprises cache miss descriptive information identifying the current state of a cache fill in progress. The control logic comprises a plurality of combinatorial logics for performing tag match operations. In addition to standard tag match operations, the control logic also conditionally tag matches an accessing address against an address tag stored in the cache miss buffer.
    Type: Grant
    Filed: April 29, 1992
    Date of Patent: October 4, 1994
    Assignee: Sun Microsystems, Inc.
    Inventors: Rajiv N. Patel, Adam Malamy, Norman M. Hayes
  • Patent number: 5329627
    Abstract: A method and apparatus for selecting an entry to be replaced in a translation lookaside buffer in a computer system. The translation lookaside buffer stores a plurality of entries of virtual-to-physical address translations with each entry having a used bit and a valid bit.
    Type: Grant
    Filed: April 17, 1992
    Date of Patent: July 12, 1994
    Assignee: Sun Microsystems, Inc.
    Inventors: Sunil Nanda, Norman M. Hayes