Patents by Inventor Kimming So

Kimming So 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: 20050210200
    Abstract: Systems and methods that cache are provided. In one example, a system may include a spatial cache system coupled to a processing unit and to a memory. The spatial cache system may be adapted to reduce the memory latency of the processing unit. The spatial cache system may be adapted to store prefetched blocks, each stored prefetched block including a plurality of cache lines. If a cache line requested by the processing unit resides in one of the stored prefetched blocks and does not reside in the processing unit, then the spatial cache system may be adapted to provide the processing unit with the requested cache line.
    Type: Application
    Filed: May 13, 2005
    Publication date: September 22, 2005
    Inventors: Kimming So, Jin Wang
  • Patent number: 6944746
    Abstract: A system and method for processing instructions in a computer system comprising a processor and a co-processor communicatively coupled to the processor. Instructions are processed in the processor in an instruction pipeline. In the instruction pipeline, instructions are processed sequentially by an instruction fetch stage, an instruction decode stage, an instruction execute stage, a memory access stage and a result write-back stage. If a co-processor instruction is received by the processor, the co-processor instruction is held in the core processor until the co-processor instruction reaches the memory access stage, at which time the co-processor instruction is transmitted to the co-processor.
    Type: Grant
    Filed: April 1, 2002
    Date of Patent: September 13, 2005
    Assignee: Broadcom Corporation
    Inventor: Kimming So
  • Publication number: 20050182904
    Abstract: Systems and methods that provide directional prefetching are provided. In one embodiment, a method may include one or more of the following: storing a first block and a second block in a prefetch buffer; associating a first block access with a backward prefetch scheme; associating a second block access with a forward prefetch scheme; and, if the first block is accessed before the second block, then performing a backward prefetch with respect to the first block.
    Type: Application
    Filed: April 8, 2005
    Publication date: August 18, 2005
    Inventors: Kimming So, Jin Wang
  • Patent number: 6931494
    Abstract: Systems and methods that provide directional prefetching are provided. In one embodiment, a method may include one or more of the following: storing a first block and a second block in a prefetch buffer; associating a first block access with a backward prefetch scheme; associating a second block access with a forward prefetch scheme; and, if the first block is accessed before the second block, then performing a backward prefetch with respect to the first block.
    Type: Grant
    Filed: November 14, 2002
    Date of Patent: August 16, 2005
    Assignee: Broadcom Corporation
    Inventors: Kimming So, Jin Chin Wang
  • Publication number: 20050015552
    Abstract: One or more methods and systems of improving the performance of consecutive data stores into a cache memory are presented. In one embodiment, the method comprises writing data into a data array associated with at least a first store instruction while accessing a tag in a tag array associated with at least a second store instruction. In one embodiment, the method of processing consecutive data stores into a cache memory comprises updating a first data in a cache memory while concurrently looking up or identifying a second data in the cache memory. In one embodiment, a system for improving the execution of data store instructions of a CPU comprises a pipelined buffer using a minimal number of data entries, a data array used for updating data associated with a first store instruction, and a tag array used for looking up data associated with a second store instruction.
    Type: Application
    Filed: December 23, 2003
    Publication date: January 20, 2005
    Inventors: Kimming So, Chia-Cheng Choung, BaoBinh Truong, Yook-Khai Cheok
  • Publication number: 20050015569
    Abstract: One or more methods and systems of improving performance and reducing the size of a translation lookaside buffer are presented. In one embodiment, the method comprises using a bit obtained from a virtual page number to store even and odd page frame numbers into a single page frame number field of a miniature translation lookaside buffer (mini-TLB). In one embodiment, even and odd page frame number fields are consolidated into a single page frame number field. In one embodiment, the mini-TLB facilitates the use of a buffer or memory of reduced size. Furthermore, in one or more embodiments, aspects of the invention may be found in a system and method that easily incorporates and adapts the use of existing control processor instruction sets or commands of a typical translation lookaside buffer.
    Type: Application
    Filed: December 31, 2003
    Publication date: January 20, 2005
    Inventors: Kimming So, Jane Lu
  • Publication number: 20050015578
    Abstract: One or more methods and systems of reducing the size of memory used in implementing a predictive scheme for executing conditional branch instructions are presented. In one embodiment, a conditional branch instruction addresses a first bit array and a second bit array of a branch history table. The branch history table comprises a first bit array and a second bit array in which the second bit array contains a fraction of the number of entries of said first bit array. In one or more embodiments, the size of the branch history table is reduced by at least twenty five percent, resulting in a reduction of memory required for implementing the predictive scheme.
    Type: Application
    Filed: December 23, 2003
    Publication date: January 20, 2005
    Inventors: Kimming So, BaoBinh Truong
  • Publication number: 20040143711
    Abstract: One or more methods and systems of maintaining data coherency of a read-ahead cache are presented. Blocks may be invalidated, for example, when a data coherency scheme is implemented by a multiprocessor based system. In one embodiment, the read-ahead cache may receive invalidate requests by way of cache control instructions generated from an execution unit of a control processor. In one embodiment, one or more blocks are invalidated in the read-ahead cache when one or more cache lines are modified in a data cache. In one embodiment, the method comprises using a read-ahead cache controller to perform one or more invalidation actions on the read-ahead cache.
    Type: Application
    Filed: December 23, 2003
    Publication date: July 22, 2004
    Inventors: Kimming So, Hon-Chong Ho
  • Publication number: 20040049640
    Abstract: Systems and methods that provide directional prefetching are provided. In one embodiment, a method may include one or more of the following: storing a first block and a second block in a prefetch buffer; associating a first block access with a backward prefetch scheme; associating a second block access with a forward prefetch scheme; and, if the first block is accessed before the second block, then performing a backward prefetch with respect to the first block.
    Type: Application
    Filed: November 14, 2002
    Publication date: March 11, 2004
    Inventors: Kimming So, Jin Chin Wang
  • Publication number: 20040049641
    Abstract: Systems and methods that control prefetching are provided. In one embodiment, a system may include, for example, a prefetch buffer system coupled to a processing unit and to a memory. The prefetch buffer system may include, for example, a prefetch controller that is adapted to be programmable such that prefetch control features can be selected.
    Type: Application
    Filed: November 14, 2002
    Publication date: March 11, 2004
    Inventors: Kimming So, Chengfuh Jeffrey Tang, Eric Tsang
  • Publication number: 20040049639
    Abstract: Systems and methods that cache are provided. In one example, a system may include a spatial cache system coupled to a processing unit and to a memory. The spatial cache system may be adapted to reduce the memory latency of the processing unit. The spatial cache system may be adapted to store prefetched blocks, each stored prefetched block including a plurality of cache lines. If a cache line requested by the processing unit resides in one of the stored prefetched blocks and does not reside in the processing unit, then the spatial cache system may be adapted to provide the processing unit with the requested cache line.
    Type: Application
    Filed: November 14, 2002
    Publication date: March 11, 2004
    Inventors: Kimming So, Jin Chin Wang
  • Publication number: 20030185305
    Abstract: Means of communicating between modules in a decoding system. A variable-length decoding accelerator communicates with a core decoder processor via a co-processor interface. In one embodiment, other decoding accelerators, in addition to the variable-length decoder, are adapted to provide status data indicative of their status to a co-processor status register. In another embodiment, a decoding accelerator is controlled by providing commands to the accelerator via posted write operations and polling the accelerator to determine whether the command has been performed. In still another embodiment, a first hardware accelerator communicates with a core decoder processor via a co-processor interface and other decoding accelerators, in addition to the first hardware accelerator, are adapted to provide status data indicative of their status to a co-processor status register.
    Type: Application
    Filed: April 1, 2002
    Publication date: October 2, 2003
    Inventors: Alexander G. MacInnis, Vivian Hsiun, Sheng Zhong, Xiaodong Xie, Kimming So, Jose R. Alvarez
  • Publication number: 20030188127
    Abstract: A system and method for processing instructions in a computer system comprising a processor and a co-processor communicatively coupled to the processor. Instructions are processed in the processor in an instruction pipeline. In the instruction pipeline, instructions are processed sequentially by an instruction fetch stage, an instruction decode stage, an instruction execute stage, a memory access stage and a result write-back stage. If a co-processor instruction is received by the processor, the co-processor instruction is held in the core processor until the co-processor instruction reaches the memory access stage, at which time the co-processor instruction is transmitted to the co-processor.
    Type: Application
    Filed: April 1, 2002
    Publication date: October 2, 2003
    Inventor: Kimming So
  • Patent number: 6073211
    Abstract: An apparatus is disclosed which supports memory updates within a data processing system including a number of processors. The apparatus includes a memory hierarchy including one or more upper levels of memory. Each upper level within the memory hierarchy includes one or more memory units which each store a subset of all data stored within an associated memory unit at a lower level of the memory hierarchy. Each memory unit at the highest level within the memory hierarchy is associated with a selected processor. In addition, the apparatus includes a reservation indicator associated with each memory unit within the memory hierarchy. For memory units at the highest level within the memory hierarchy, the reservation indicator specifies an address for which the processor associated with that memory unit holds a reservation. At each lower level within the memory hierarchy, the reservation indicator specifies addresses for which associated memory units at higher levels within the memory hierarchy hold a reservation.
    Type: Grant
    Filed: April 18, 1997
    Date of Patent: June 6, 2000
    Assignee: International Business Machines Corporation
    Inventors: Kai Cheng, Hoichi Cheong, Kimming So
  • Patent number: 5897651
    Abstract: An information handling system includes a cache memory architecture which includes a means for performing a direct lookup by identifying the double word in the cache using the congruence class ID field, a set ID field and a double word ID field of the request address, and sending the double word to the CPU, and if the tag of the identified double word does not match the tag of the request address, sending a cancel signal to the CPU, and the double word with a matched tag in the congruence class, and if no match occurs, reloading the line l1 into the improved cache from a lower level cache or from main memory. The line in the set identified by the set ID field replaces the least recently used line in the congruence class and its place is taken by the missing line.
    Type: Grant
    Filed: November 13, 1995
    Date of Patent: April 27, 1999
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Kimming So
  • Patent number: 5699538
    Abstract: Two processor controls for supporting efficient Firm Consistency while allowing out-of-order execution of Load instructions is provided. The Touch control operates when the processor stores a subsequent Store in a pending Store buffer while awaiting any outstanding Loads or Stores. The efficiency of the pending Store is improved by issuing a Touch of the data which pre-loads the line of data in the cache that is the subject of the store. The processor can complete out-of-order execution of a subsequently issued Load relative to a prior Load, but only to its finished state. The subsequently issued Load is not allowed to complete until the prior Load is completed. The Finished Load Cancellation control ensures that Firm Consistency is maintained by canceling any finished Loads, and subsequent instructions, when the subject of the Load is the same as an invalidation request from a multiprocessor.
    Type: Grant
    Filed: December 9, 1994
    Date of Patent: December 16, 1997
    Assignee: International Business Machines Corporation
    Inventors: Hung Qui Le, Kimming So, Bao-Binh Truong
  • Patent number: 5694573
    Abstract: A multi-processor data processing system has a multi-level cache wherein each processor has a split high level (e.g., level one or L1) cache composed of a data cache (DCache) and an instruction cache (ICache). A shared lower level (e.g., level two or L2) cache includes a cache array which is a superset of the cache lines in all L1 caches. There is a directory of L2 cache lines such that each line has a set of inclusion bits indicating if the line is residing in any of the L1 caches. A directory management system requires only N+2 inclusion bits per L2 line, where N is the number of processors having L1 caches sharing the L2 cache.
    Type: Grant
    Filed: December 30, 1996
    Date of Patent: December 2, 1997
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Dwain A. Hicks, Kimming So
  • Patent number: 5692151
    Abstract: An access hazard detection technique in a pipelined cache controller sustains high throughput in a frequently accessed cache but without the cost normally associated with such access hazard detection. If a previous request (request in the pipeline stages other than the first stage) has already resulted in a cache hit, and it matches the new request in both the Congruence Class Index and the Set Index fields and if the new request is also a hit, the address collision logic will signal a positive detection. This scheme makes use of the fact that (1) the hit condition, (2) the identical Congruence Class Index, and (3) the Set Index of two requests are sufficient to determine that they are referencing the same cache content. Implementation of this scheme results in a significant hardware saving and a significant performance boost.
    Type: Grant
    Filed: November 14, 1994
    Date of Patent: November 25, 1997
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Dwain A. Hicks, Kimming So
  • Patent number: 5655103
    Abstract: A system and method for identifying which incoming write data is valid and for insuring that stale data does not overwrite valid data within system memory within a symmetrical multiprocessor data processing system. Upon receipt of a Load Miss request from a processor, a stale bit is established and set equal to zero. A determination is then made of which other processor has ownership of the requested cache line. The requested cache line is then transferred in a cache-to-cache transfer from the second processor to the first processor. If the first processor further modifies the cache line and writes back the cache line to system memory before the original owner of the cache line writes back the stale data with an acknowledgment of the cache-to-cache transfer, the stale bit is set to one. Upon receipt from the acknowledgment from the original owner of the cache line, the stale data is dropped when it is determined that the stale bit has been set.
    Type: Grant
    Filed: February 13, 1995
    Date of Patent: August 5, 1997
    Assignee: International Business Machines Corporation
    Inventors: Kai Cheng, Kimming So, Jin Chin Wang
  • Patent number: 5584013
    Abstract: The present invention provides balanced cache performance in a data processing system. The data processing system includes a first processor, a second processor, a first cache memory, a second memory and a control circuit. The first processor is connected to the first cache memory, which serves as a first level cache for the first processor. The second processor and the first cache memory are connected to the second cache memory, which serves as a second level cache for the first processor and as a first level cache for the second processor. Replacement of a set in the second cache memory results in the set being invalidated in the first cache memory. The control circuit is connected to the second level cache and prevents replacing from a second level cache congruence class all sets that are in the first cache.
    Type: Grant
    Filed: December 9, 1994
    Date of Patent: December 10, 1996
    Assignee: International Business Machines Corporation
    Inventors: Hoichi Cheong, Dwain A. Hicks, Kimming So