Patents by Inventor John Wai Cheong Fu

John Wai Cheong Fu 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: 6725339
    Abstract: A method is provided for requesting data from a memory. The method includes issuing a plurality of data requests to a data request port for the memory. The plurality of data requests includes at least two ordered data requests. The method includes determining if an earlier one of the ordered data requests corresponds to a miss in the memory, and converting a later one of the ordered data requests to a prefetch in response to the earlier one of the ordered data requests corresponding to a miss in the memory. An apparatus includes a memory having at least one pipelined port for receiving data requests. The port is adapted to determine whether an earlier ordered one of the data requests corresponds to a miss in the memory. The port converts a later ordered one of the data requests to a prefetch in response to determining that the earlier ordered one of the data requests corresponds to a miss in the memory.
    Type: Grant
    Filed: January 31, 2002
    Date of Patent: April 20, 2004
    Assignee: Intel Corporation
    Inventors: John Wai Cheong Fu, Dean Ahmad Mulla, Gregory S. Mathews, Stuart E. Sailer, Jeng-Jye Shaw
  • Publication number: 20030074601
    Abstract: Processor implementation-specific instructions save a processor state in a system memory and attempt to correct the error. Control is then transferred to processor-independent instructions. Control is returned to the processor implementation-specific instructions which then return to an interrupted context of the processor by restoring the processor state.
    Type: Application
    Filed: September 28, 2001
    Publication date: April 17, 2003
    Inventors: Len Schultz, Nhon Toai Quach, Dean Mulla, Jim Hays, John Wai Cheong Fu
  • Patent number: 6542966
    Abstract: A method is provided for managing temporal and non-temporal data in the same cache structure. The temporal or non-temporal character of data targeted by a cache access is determined, and a cache entry for the data is identified. When the targeted data is temporal, a replacement priority indicator associated with the identified cache entry is updated to reflect the access. When the targeted data is non temporal, the replacement priority indicator associated with the identified cache entry is preserved. The method may also be implemented by employing a first algorithm to update the replacement priority indicator for temporal data and a second, different algorithm to update the replacement priority indicator for non-temporal data.
    Type: Grant
    Filed: July 16, 1998
    Date of Patent: April 1, 2003
    Assignee: Intel Corporation
    Inventors: John Crawford, Gautam Doshi, Stuart E. Sailer, John Wai Cheong Fu, Gregory S. Mathews
  • Patent number: 6427191
    Abstract: A novel on-chip cache memory and method of operation are provided which increase microprocessor performance. The cache design allows two cache requests to be processed simultaneously (dual-ported) and concurrent cache requests to be in-flight (pipelined). The design of the cache allocates a first clock cycle to cache tag and data access and a second cycle is allocated to data manipulation. The memory array circuit design is simplified because the circuits are synchronized to the main processor clock and do not need to use self-timed circuits. The overall logic control scheme is simplified because distinct cycles are allocated to the cache functions.
    Type: Grant
    Filed: December 31, 1998
    Date of Patent: July 30, 2002
    Assignee: Intel Corporation
    Inventors: John Wai Cheong Fu, Dean A. Mulla, Gregory S. Mathews
  • Patent number: 6418521
    Abstract: A fully-associative translation lookaside buffer structure for a computer system includes a first-level TLB0 memory having a plurality of entries and a second-level TLB1 memory operatively coupled to the first level TLB0 memory. The second-level TLB1 memory also has a plurality of entries. Entries are placed in the TLB0 and TLB1 structure as a result of software controlled translation register operations and hardware controlled translation cache operations. Logic controlling TLB0 treats both operations the same way and uses a hardware replacement algorithm to determine the entry index. Logic controlling TLB1 uses a hardware replacement algorithm to determine the entry index for translation cache entries, and use an index provided within the insertion instruction to determine the entry index for translation register operations.
    Type: Grant
    Filed: December 23, 1998
    Date of Patent: July 9, 2002
    Assignee: Intel Corporation
    Inventors: Gregory S. Mathews, Dean A. Mulla, John Wai Cheong Fu, Stuart E. Sailer
  • Publication number: 20020073284
    Abstract: A method is provided for requesting data from a memory. The method includes issuing a plurality of data requests to a data request port for the memory. The plurality of data requests includes at least two ordered data requests. The method includes determining if an earlier one of the ordered data requests corresponds to a miss in the memory, and converting a later one of the ordered data requests to a prefetch in response to the earlier one of the ordered data requests corresponding to a miss in the memory. An apparatus includes a memory having at least one pipelined port for receiving data requests. The port is adapted to determine whether an earlier ordered one of the data requests corresponds to a miss in the memory. The port converts a later ordered one of the data requests to a prefetch in response to determining that the earlier ordered one of the data requests corresponds to a miss in the memory.
    Type: Application
    Filed: January 31, 2002
    Publication date: June 13, 2002
    Inventors: John Wai Cheong Fu, Dean Ahmad Mulla, Gregory S. Mathews, Stuart E. Sailer, Jeng-Jye Shaw
  • Patent number: 6381678
    Abstract: A method is provided for requesting data from a memory. The method includes issuing a plurality of data requests to a data request port for the memory. The plurality of data requests includes at least two ordered data requests. The method includes determining if an earlier one of the ordered data requests corresponds to a miss in the memory, and converting a later one of the ordered data requests to a prefetch in response to the earlier one of the ordered data requests corresponding to a miss in the memory. An apparatus includes a memory having at least one pipelined port for receiving data requests. The port is adapted to determine whether an earlier ordered one of the data requests corresponds to a miss in the memory. The port converts a later ordered one of the data requests to a prefetch in response to determining that the earlier ordered one of the data requests corresponds to a miss in the memory.
    Type: Grant
    Filed: October 30, 1998
    Date of Patent: April 30, 2002
    Assignee: Intel Corporation
    Inventors: John Wai Cheong Fu, Dean Ahmad Mulla, Gregory S. Mathews, Stuart E. Sailer, Jeng-Jye Shaw
  • Publication number: 20010044881
    Abstract: A method is provided for requesting data from a memory. The method includes issuing a plurality of data requests to a data request port for the memory. The plurality of data requests includes at least two ordered data requests. The method includes determining if an earlier one of the ordered data requests corresponds to a miss in the memory, and converting a later one of the ordered data requests to a prefetch in response to the earlier one of the ordered data requests corresponding to a miss in the memory. An apparatus includes a memory having at least one pipelined port for receiving data requests. The port is adapted to determine whether an earlier ordered one of the data requests corresponds to a miss in the memory. The port converts a later ordered one of the data requests to a prefetch in response to determining that the earlier ordered one of the data requests corresponds to a miss in the memory.
    Type: Application
    Filed: October 30, 1998
    Publication date: November 22, 2001
    Inventors: JOHN WAI CHEONG FU, DEAN AHMAD MULLA, GREGORY S. MATHEWS, STUART E. SAILER, JENG-JYE SHAW
  • Patent number: 6272597
    Abstract: A novel on-chip cache memory and method of operation are provided which increase microprocessor performance. The on-chip cache memory has two levels. The first level is optimized for low latency and the second level is optimized for capacity. Both levels of cache are pipelined and can support simultaneous dual port accesses. A queuing structure is provided between the first and second level of cache which is used to decouple the faster first level cache from the slower second level cache. The queuing structure is also dual ported. Both levels of cache support non-blocking behavior. When there is a cache miss at one level of cache, both caches can continue to process other cache hits and misses. The first level cache is optimized for integer data. The second level cache can store any data type including floating point. The novel two-level cache system of the present invention provides high performance which emphasizes throughput.
    Type: Grant
    Filed: December 31, 1998
    Date of Patent: August 7, 2001
    Assignee: Intel Corporation
    Inventors: John Wai Cheong Fu, Dean A. Mulla, Gregory S. Mathews, Stuart E. Sailer
  • Patent number: 6226763
    Abstract: A method and apparatus for performing cache accesses. A comparator is coupled to a cache and a lookup parity bit line to perform error detection.
    Type: Grant
    Filed: July 29, 1998
    Date of Patent: May 1, 2001
    Assignee: Intel Corporation
    Inventors: John Wai Cheong Fu, Dean Ahmad Mulla
  • Patent number: 6134636
    Abstract: A method and apparatus for storing, locking, and unlocking data in a memory array. The memory array includes a first line to store a first type of data while the first line is unlocked during a first period of time and to store a second type of data while the first line is locked during a subsequent second period of time. The memory array further includes a second line to store the second type of data while the second line is locked during the first period of time and to store the first type of data while the second line is unlocked during the second period of time.
    Type: Grant
    Filed: September 11, 1998
    Date of Patent: October 17, 2000
    Assignee: Intel Corporation
    Inventors: Gregory Scott Mathews, John Wai Cheong Fu, Dean Ahmad Mulla
  • Patent number: 6067656
    Abstract: The invention comprises, in one aspect, a content addressable memory array having a plurality of memory locations to store tag words. The content addressable memory array includes a parity encoder and a parity comparator. The parity encoder has a first input terminal to receive an input data signal and a first output terminal to deliver a signal representative of the parity of the input data signal. The parity comparator has a second input terminal, a third input terminal connected to the first output terminal, and a plurality of memory cells to store original parities of the tag words. The parity comparator compares the original parity of a first tag word to the parity of the input data signal in response to a receiving a match signal. The content addressable memory array includes a fourth input terminal to receive the input data signal, and a second output terminal to send the match signal in response to one of the tag words matching the input data signal.
    Type: Grant
    Filed: December 5, 1997
    Date of Patent: May 23, 2000
    Assignee: Intel Corporation
    Inventors: Stefan Rusu, John Wai Cheong Fu, Simon M. Tam