Patents by Inventor Fong Pong

Fong Pong 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).

  • Publication number: 20060274762
    Abstract: Aspects of a method and system for efficient and cache-friendly TCP session lookup operations based on canonicalization tags are presented. Aspects of the method may include searching a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block that includes context information for a communication session. Aspects of the system may include a processor that searches a plurality of tag fields, retrieved via a single memory read operation, to locate a reference to a control block that includes context information for a communication session.
    Type: Application
    Filed: September 16, 2005
    Publication date: December 7, 2006
    Inventor: Fong Pong
  • Patent number: 7120752
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided with a memory controller which includes a recall unit. The recall unit allows selective forced write-backs of dirty cache lines to the home memory. After a request is posted in the recall unit, a recall (“flush”) command is issued which forces the owner cache to write-back the dirty cache line to be flushed. The memory controller will inform the recall unit as each recall operation is completed. The recall unit operation will be interrupted when all flush requests are completed.
    Type: Grant
    Filed: September 5, 2003
    Date of Patent: October 10, 2006
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kenneth Mark Wilson, Fong Pong, Lance Russell, Tung Nguyen, Lu Xu
  • Patent number: 6976205
    Abstract: A method is described that involves performing a checksum calculation on a section of data within an inbound packet before the section of data is first stored into a system memory. Another method is described that involves moving a section of data within an outbound packet from a system memory to an offload memory. Then, removing the section of data from the offload memory; and performing a checksum calculation on the section of data. An apparatus is described that includes a central processing unit that is communicatively coupled with a network processing offload unit, wherein the network processing offload unit calculates a checksum upon a section of data located within an inbound packet, and calculates a checksum upon a section of data within an outbound packet.
    Type: Grant
    Filed: September 21, 2001
    Date of Patent: December 13, 2005
    Assignee: Syrus Ziai
    Inventors: Syrus Ziai, Paul Jordan, Craig Robson, Ryan Donohue, Fong Pong
  • Patent number: 6880045
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided which supports transactional memory semantics. A cache flushing engine and temporary buffer allow selective forced write-backs of dirty cache lines to the home memory. A flush can be performed from the updated cache to the temporary buffer and then to the home memory after confirmation of receipt or from the updated cache to the home memory directly with the temporary buffer holding the old data until confirmation that the home memory contains the update.
    Type: Grant
    Filed: October 12, 2001
    Date of Patent: April 12, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Fong Pong, Lance Russell, Tung Nguyen
  • Patent number: 6874065
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided with a cache-flushing engine which allows selective forced write-backs of dirty cache lines to the home memory. After a request is posted in the cache-flushing engine, a “flush” command is issued which forces the owner cache to write-back the dirty cache line to be flushed. Subsequently, a “flush request” is issued to the home memory of the memory block. The home node will acknowledge when the home memory is successfully updated. The cache-flushing engine operation will be interrupted when all flush requests are complete.
    Type: Grant
    Filed: February 26, 1999
    Date of Patent: March 29, 2005
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Fong Pong, Lance Russell, Tung Nguyen
  • Publication number: 20050033925
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided with a memory controller which includes a recall unit. The recall unit allows selective forced write-backs of dirty cache lines to the home memory. After a request is posted in the recall unit, a recall (“flush”) command is issued which forces the owner cache to write-back the dirty cache line to be flushed. The memory controller will inform the recall unit as each recall operation is completed. The recall unit operation will be interrupted when all flush requests are completed.
    Type: Application
    Filed: September 5, 2003
    Publication date: February 10, 2005
    Inventors: Kenneth Wilson, Fong Pong, Lance Russell, Tung Nguyen, Lu Xu
  • Patent number: 6851074
    Abstract: The present invention is a system and method for recovering from memory failures in computer systems. The method of the present invention includes the steps of: identifying a predetermined instruction sequence; monitoring for memory access errors in response to the request; logging a memory access error in an error logging register; polling the register for any logged memory access error during execution of the instruction sequence; and raising exceptions, if the memory access error is logged. Within the system of the present invention, memory access errors are stored in an error logging register, machine check abort handles are masked, and memory controllers are under full control of the software so that memory access errors can be intercepted and responded to without necessitating a system reboot or application restart. The present invention is particularly applicable to O/S code which can not otherwise recover from memory errors except by rebooting.
    Type: Grant
    Filed: April 30, 2001
    Date of Patent: February 1, 2005
    Assignee: Hewlett-Packard Development Company
    Inventors: Dejan S. Miloiicic, Thomas Wylegala, Fong Pong, Stephen Hoyle, Lance W. Russell, Lu Xu, Alberto J. Munoz
  • Patent number: 6745294
    Abstract: A method is provided for cache flushing in a computer system having a processor, a cache, a synchronization primitive detector, and a cache flush engine. The method includes providing a synchronization primitive from the processor into the computer system; detecting the synchronization primitive in the synchronization primitive detector; providing a trigger signal from the synchronization primitive detector in response to detection of the synchronization primitive; providing cache information from the recall unit into the computer system in response to the trigger signal; and flushing the cache in response to the cache information in the computer system.
    Type: Grant
    Filed: June 8, 2001
    Date of Patent: June 1, 2004
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Kenneth Mark Wilson, Fong Pong, Lance Russell, Tung Nguyen, Lu Xu
  • Patent number: 6728843
    Abstract: A system and method for processing multiple main memory accesses in parallel includes transmitting from the processor to the system control unit a first and a second transaction. These transactions are decoded to determine their corresponding commands and addresses. The system control unit includes a qualifier and a scheduler that assigns each transaction to a particular finite state machine (FSM). Each FSM executes a single transaction until completed. Each FSM machine maintains a record or keeps track of the state of progress of a transaction that is being executed by the system control unit. The FSMs keep track of the data by storing the data, such as the current state of the transaction, the status of the data, and an identifier describing which processor issued the transaction, for each transaction in a data buffer. The data value corresponding to a particular transaction may be retrieved from the main memory using a FSM.
    Type: Grant
    Filed: November 30, 1999
    Date of Patent: April 27, 2004
    Assignee: Hewlett-Packard Development Company L.P.
    Inventors: Fong Pong, Tung Nguyen
  • Patent number: 6675262
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided with a memory controller which includes a recall unit. The recall unit allows selective forced write-backs of dirty cache lines to the home memory. After a request is posted in the recall unit, a recall (“flush”) command is issued which forces the owner cache to write-back the dirty cache line to be flushed. The memory controller will inform the recall unit as each recall operation is completed. The recall unit operation will be interrupted when all flush requests are completed.
    Type: Grant
    Filed: June 8, 2001
    Date of Patent: January 6, 2004
    Assignee: Hewlett-Packard Company, L.P.
    Inventors: Kenneth Mark Wilson, Fong Pong, Lance Russell, Tung Nguyen, Lu Xu
  • Patent number: 6654854
    Abstract: A caching method for using cache tag and cache data stored in dynamic RAM embedded in a logic chip. In general, there are at least two cache applications where this method can be employed. First, there are caches integral to a processor and interfaced to a processor pipeline. Second, there are caches external to a processor and interfaced with a shared bus.
    Type: Grant
    Filed: June 25, 1999
    Date of Patent: November 25, 2003
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Gopalakrishnan Janakiraman, Fong Pong
  • Patent number: 6516343
    Abstract: A computer system and method for enhancing memory-to-memory copy operations includes transmitting from the processor to the source system control unit a plurality of memory-to-memory copy transactions where each transaction includes a source address and a destination address. A lookup operation is performed on the destination address to determine the destination system control unit that controls access to the destination memory which contains the destination address. A number of data blocks located at the source address in the source memory are retrieved and transmitted to the destination address. The number of data blocks are stored at the destination address in the destination memory.
    Type: Grant
    Filed: April 24, 2000
    Date of Patent: February 4, 2003
    Inventors: Fong Pong, Tung Nguyen
  • Patent number: 6490662
    Abstract: A computer system and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module includes placing a “lock” command on the common bus. The lock protects or controls accesses to a number of memory locations in the memory modules designated by the programmer. At any point in time, one processor can obtain the lock, and hence has access to the number of memory locations protected by the lock. Other processors may attempt to acquire or make a request for the same lock, however, the other processor will fail until the processor that has the lock has released (i.e., “unlocked”) the lock. The other processors will keep trying to get the lock. The processor that obtains the lock instructs the system control unit to begin logging or monitoring all subsequent memory addresses that appear on the common bus.
    Type: Grant
    Filed: April 29, 2000
    Date of Patent: December 3, 2002
    Assignee: Hewlett-Packard Company
    Inventors: Fong Pong, Tung Nguyen
  • Publication number: 20020162050
    Abstract: The present invention is a system and method for recovering from memory failures in computer systems. The method of the present invention includes the steps of: identifying a predetermined instruction sequence; monitoring for memory access errors in response to the request; logging a memory access error in an error logging register; polling the register for any logged memory access error during execution of the instruction sequence; and raising exceptions, if the memory access error is logged. Within the system of the present invention, memory access errors are stored in an error logging register, machine check abort handles are masked, and memory controllers are under full control of the software so that memory access errors can be intercepted and responded to without necessitating a system reboot or application restart. The present invention is particularly applicable to O/S code which can not otherwise recover from memory errors except by rebooting.
    Type: Application
    Filed: April 30, 2001
    Publication date: October 31, 2002
    Inventors: Dejan S. Milojicic, Thomas Wylegala, Fong Pong, Stephen Hoyle, Lance W. Russell, Lu Xu, Alberto J. Munoz
  • Patent number: 6449690
    Abstract: A caching method for using cache data stored in dynamic RAM embedded in a logic chip and cache tags stored in static RAM external to the logic chip. In general, there are at least two cache applications where this method can be employed. First, there are caches integral to a processor and interfaced to a processor pipeline. Second, there are caches external to a processor and interfaced with a shared bus.
    Type: Grant
    Filed: June 25, 1999
    Date of Patent: September 10, 2002
    Assignee: Hewlett-Packard Company
    Inventors: Fong Pong, Gopalakrishnan Janakiraman
  • Publication number: 20020073071
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided which supports transactional memory semantics. A cache flushing engine and temporary buffer allow selective forced write-backs of dirty cache lines to the home memory. A flush can be performed from the updated cache to the temporary buffer and then to the home memory after confirmation of receipt or from the updated cache to the home memory directly with the temporary buffer holding the old data until confirmation that the home memory contains the update.
    Type: Application
    Filed: October 12, 2001
    Publication date: June 13, 2002
    Inventors: Fong Pong, Lance Russell, Tung Nguyen
  • Publication number: 20020069325
    Abstract: A caching method for using cache data stored in dynamic RAM embedded in a logic chip and cache tags stored in static RAM external to the logic chip. In general, there are at least two cache applications where this method can be employed. First, there are caches integral to a processor and interfaced to a processor pipeline. Second, there are caches external to a processor and interfaced with a shared bus.
    Type: Application
    Filed: June 25, 1999
    Publication date: June 6, 2002
    Inventors: FONG PONG, GOPALAKRISHNAN JANAKIRAMAN
  • Publication number: 20020053004
    Abstract: In a shared memory, multiprocessor system, an asynchronous cache coherence method associates state information with each data block to indicate whether a copy of the data block is valid or invalid. When a processor in the multiprocessor system requests a data block, it issues the request to one or more other processors and the shared memory. Depending on the implementation, the request may be broadcast, or specifically targeted to processors having a copy of the requested data block. Each of the processors and memory that receive the request independently check to determine whether they have a valid copy of the requested data block based on the state information. Only the processor or memory having a valid copy of the requested data block responds to the request. The memory control path between each processor and a shared memory controller may be implemented with two unidirectional and dedicated point-to-point links for sending and receiving requests for blocks of data.
    Type: Application
    Filed: November 19, 1999
    Publication date: May 2, 2002
    Inventor: FONG PONG
  • Patent number: 6360231
    Abstract: A cache coherent distributed shared memory multi-processor computer system is provided which supports transactional memory semantics. A cache flushing engine and temporary buffer allow selective forced write-backs of dirty cache lines to the home memory. A flush can be performed from the updated cache to the temporary buffer and then to the home memory after confirmation of receipt or from the updated cache to the home memory directly with the temporary buffer holding the old data until confirmation that the home memory contains the update.
    Type: Grant
    Filed: February 26, 1999
    Date of Patent: March 19, 2002
    Assignee: Hewlett-Packard Company
    Inventors: Fong Pong, Lance Russell, Tung Nguyen
  • Patent number: 6341337
    Abstract: The present invention is a method and apparatus that implements a snoop protocol in a multiprocessor system without the use of snoop-in and snoop-out logic units. The multiprocessor system includes a number of nodes connected by a bus operated in accordance with a snoop protocol and the MOSI cache coherency protocol. Each node includes a cache memory and a main memory unit including a shared memory region that is distributed in one or more of the cache memories of the nodes in the system. Each node includes a memory access unit having an export cache that stores identifiers associated with data blocks that have been modified by another node. Each data block in the main memory unit is associated with a state bit that indicates whether the data block is valid or invalid. The export cache and the state of each memory data block is used to determine whether a node should transmit a fetched data block to an initiator node in response to a read miss transaction.
    Type: Grant
    Filed: January 30, 1998
    Date of Patent: January 22, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Fong Pong