Patents by Inventor Robert G. Hathaway

Robert G. Hathaway 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: 8099651
    Abstract: A memory system provides data error detection and correction and address error detection. A cyclical-redundancy-check (CRC) code generates address check bits. A 32-bit address is compressed to 6 address check bits using the CRC code. The 6 address check bits are concatenated with 64 data bits and 2 flag bits to generate a 72-bit check word. The 72-bit check word is input to an error-correction code (ECC) generator that generates 12 check bits that are stored in memory with the 64 data bits. A 76-bit memory module can store the 64 data and 12 check bits. Nibble errors can be corrected, and all nibble+1 bit errors can be detected. Also, a 6-bit error in a sequence of bits can be detected. This allows all errors in the 6-bit CRC of the address to be detected. The CRC code and ECC are ideal for detecting double-bit errors common with multiplexed-address DRAMs.
    Type: Grant
    Filed: June 4, 2008
    Date of Patent: January 17, 2012
    Assignee: Azul Systems, Inc.
    Inventors: Kevin B. Normoyle, Robert G. Hathaway
  • Publication number: 20080235558
    Abstract: A memory system provides data error detection and correction and address error detection. A cyclical-redundancy-check (CRC) code generates address check bits. A 32-bit address is compressed to 6 address check bits using the CRC code. The 6 address check bits are concatenated with 64 data bits and 2 flag bits to generate a 72-bit check word. The 72-bit check word is input to an error-correction code (ECC) generator that generates 12 check bits that are stored in memory with the 64 data bits. A 76-bit memory module can store the 64 data and 12 check bits. Nibble errors can be corrected, and all nibble+1 bit errors can be detected. Also, a 6-bit error in a sequence of bits can be detected. This allows all errors in the 6-bit CRC of the address to be detected. The CRC code and ECC are ideal for detecting double-bit errors common with multiplexed-address DRAMs.
    Type: Application
    Filed: June 4, 2008
    Publication date: September 25, 2008
    Applicant: AZUL SYSTEMS, INC.
    Inventors: Kevin B. Normoyle, Robert G. Hathaway
  • Patent number: 7398449
    Abstract: A memory system provides data error detection and correction and address error detection. A cyclical-redundancy-check (CRC) code generates address check bits. A 32-bit address is compressed to 6 address check bits using the CRC code. The 6 address check bits are concatenated with 64 data bits and 2 flag bits to generate a 72-bit check word. The 72-bit check word is input to an error-correction code (ECC) generator that generates 12 check bits that are stored in memory with the 64 data bits. A 76-bit memory module can store the 64 data and 12 check bits. Nibble errors can be corrected, and all nibble+1 bit errors can be detected. Also, a 6-bit error in a sequence of bits can be detected. This allows all errors in the 6-bit CRC of the address to be detected. The CRC code and ECC are ideal for detecting double-bit errors common with multiplexed-address DRAMs.
    Type: Grant
    Filed: July 20, 2005
    Date of Patent: July 8, 2008
    Assignee: Azul Systems, Inc.
    Inventors: Kevin B. Normoyle, Robert G. Hathaway
  • Patent number: 7366847
    Abstract: A multi-processor, multi-cache system has filter pipes that store entries for request messages sent to a central coherency controller. The central coherency controller orders requests from filter pipes using coherency rules but does not track completion of invalidations. The central coherency controller reads snoop tags to identify sharing caches having a copy of a requested cache line. The central coherency controller sends an ordering message to the requesting filter pipe. The ordering message has an invalidate count indicating the number of sharing caches. Each sharing cache receives an invalidation message from the central coherency controller, invalidates its copy of the cache line, and sends an invalidation acknowledgement message to the requesting filter pipe. The requesting filter pipe decrements the invalidate count until all sharing caches have acknowledged invalidation.
    Type: Grant
    Filed: February 6, 2006
    Date of Patent: April 29, 2008
    Assignee: Azul Systems, Inc.
    Inventors: David A. Kruckemyer, Kevin B. Normoyle, Robert G. Hathaway
  • Patent number: 7225300
    Abstract: Several cluster chips and a shared main memory are connected by interconnect buses. Each cluster chip has multiple processors using multiple level-2 local caches, two memory controllers and two snoop tag partitions. The interconnect buses connect all local caches to all snoop tag partitions on all cluster chips. Each snoop tag partition has all the system's snoop tags for a partition of the main memory space. The snoop index is a subset of the cache index, with remaining chip-select and interleave address bits selecting which of the snoop tag partitions on the multiple cluster chips stores snoop tags for that address. The number of snoop entries in a snoop set is equal to a total number of cache entries in one cache index for all local caches on all cluster chips. Cache coherency request processing is distributed among the snoop tag partitions on different cluster chips, reducing bottlenecks.
    Type: Grant
    Filed: September 15, 2004
    Date of Patent: May 29, 2007
    Assignee: Azul Systems, Inc
    Inventors: Jack H. Choquette, David A. Kruckemyer, Robert G. Hathaway
  • Patent number: 6105128
    Abstract: A first embodiment provides an apparatus including a first execution unit capable of executing a first type and a second type of ready instruction, a second execution unit capable of executing the second type of ready instruction, and a scheduler. The scheduler dispatches the instructions in waves and dispatches the first type of ready instruction to the first execution unit with a higher priority than the second type of ready instruction. The scheduler is capable of dispatching a second type of ready instruction to the second execution unit. A second embodiment provides a method of dispatching instructions in a processor having a scheduler, a first execution unit, and a second execution unit is provided. The method includes dispatching a first type of ready instruction to the first execution unit with a higher priority than dispatching a second type of ready instruction to the first execution unit in each wave.
    Type: Grant
    Filed: April 30, 1998
    Date of Patent: August 15, 2000
    Assignee: Intel Corporation
    Inventors: Robert G. Hathaway, Ramesh Kumar Panwar
  • Patent number: 5978898
    Abstract: A register allocator is provided including a plurality of N allocatable memory cells arranged in B banks having N/B rows each so that each of the N allocatable memory cells is capable of storing a register identifier. The register allocator includes a plurality of M parallel execution write data ports coupled to the plurality of N allocatable memory cells so as to be capable of writing a de-allocated register identifier to a first associated memory cell and a plurality of M parallel execution read data ports coupled to the plurality of N allocatable memory cells so as to be capable of reading an allocated register identifier from a second associated memory cell. The register allocator includes a plurality of M (N/B)-bit write enable ports coupled to the plurality of N allocatable memory cells by N/B 1-bit write entry ports and a plurality of M (N/B)-bit read enable ports coupled to the plurality of N allocatable memory cells by N/B 1-bit read entry ports. The register allocator also includes a decoded (B-.
    Type: Grant
    Filed: October 30, 1998
    Date of Patent: November 2, 1999
    Assignee: Intel Corporation
    Inventors: Robert G. Hathaway, Ramesh K. Panwar