Patents by Inventor Krishna M. Thatipelli

Krishna M. Thatipelli 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: 7555634
    Abstract: Order indication logic can be recycled for at least two different data hazards, thus reducing the amount of processor real estate consumed by data hazard resolution logic. The logic also allows a single priority picker to be utilized for coloring without the cost of additional pipeline stages. A single priority picker can be utilized to identify memory operations for performing RAW bypass and for resolving OERs. For instance, a data hazard resolution unit resolves at least two different data hazards between resident memory operations and incoming memory operations with a set of logic that indicates order of the resident memory operations relative to the incoming memory operations. The indicated order corresponds to the data hazard being resolved. The data hazard resolution unit includes a priority picker to select one of the indicated resident memory operations for either data hazard.
    Type: Grant
    Filed: April 22, 2004
    Date of Patent: June 30, 2009
    Assignee: Sun Microsystems, Inc.
    Inventors: Krishna M. Thatipelli, Balakrishna Venkatrao
  • Patent number: 7020752
    Abstract: In a data cache unit that exchanges data signal groups with at least two execution units, the operation of the data cache unit is implemented as a three-stage pipeline in order to access data at the speed of the system clock. The data cache unit has a plurality of storage cell banks. Each storage cell bank has valid bit array unit and a tag unit for each execution unit incorporated therein. Each valid bit array unit has a valid/invalid storage cell associated with each data group stored in the storage cell bank. The valid bit array units have a read/write address port and snoop address port. During a read operation, the associated valid/invalid signal is retrieved to determine whether the data signal group should be processed by the associated execution unit. In a write operation, a valid bit is set in the valid/invalid bit location(s) associated with the storage of a data signal group (or groups) during memory access.
    Type: Grant
    Filed: February 7, 2003
    Date of Patent: March 28, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: Krishna M. Thatipelli, Allan Tzeng
  • Patent number: 6973557
    Abstract: In a data cache unit that exchanges data signal groups with at least two execution units, the operation of the data cache unit is implemented as a three-stage pipeline in order to access data at the speed of the system clock. For a READ operation, virtual address components are applied to a storage cell bank unit implemented in SAM technology to begin access of the storage cells with the data signal group identified by the virtual address components. The virtual address components are also applied to a microtag unit, the microtag unit identifying a subgroup of the signal group identified by the address components. Simultaneously, the virtual address is formed from the two virtual address components and applied to a translation table unit, to a valid-bit array unit, and to a tag unit. The translation table unit and the tag unit determine whether the correct data signal subgroup identified by the address signal group is stored in the data cache memory unit.
    Type: Grant
    Filed: February 4, 2003
    Date of Patent: December 6, 2005
    Assignee: Sun Microsystems, Inc.
    Inventors: Krishna M. Thatipelli, Allan Tzeng
  • Publication number: 20040158683
    Abstract: In a data cache unit that exchanges data signal groups with at least two execution units, the operation of the data cache unit is implemented as a three-stage pipeline in order to access data at the speed of the system clock. The data cache unit has a plurality of storage cell banks. Each storage cell bank has valid bit array unit and a tag unit for each execution unit incorporated therein. Each valid bit array unit has a valid/invalid storage cell associated with each data group stored in the storage cell bank. The valid bit array units have a read/write address port and snoop address port. During a read operation, the associated valid/invalid signal is retrieved to determine whether the data signal group should be processed by the associated execution unit. In a write operation, a valid bit is set in the valid/invalid bit location(s) associated with the storage of a data signal group (or groups) during memory access.
    Type: Application
    Filed: February 7, 2003
    Publication date: August 12, 2004
    Inventors: Krishna M. Thatipelli, Allan Tzeng
  • Publication number: 20040153598
    Abstract: In a data cache unit that exchanges data signal groups with at least two execution units, the operation of the data cache unit is implemented as a three-stage pipeline in order to access data at the speed of the system clock. For a READ operation, virtual address components are applied to a storage cell bank unit implemented in SAM technology to begin access of the storage cells with the data signal group identified by the virtual address components. The virtual address components are also applied to a microtag unit, the microtag unit identifying a subgroup of the signal group identified by the address components. Simultaneously, the virtual address is formed from the two virtual address components and applied to a translation table unit, to a valid-bit array unit, and to a tag unit. The translation table unit and the tag unit determine whether the correct data signal subgroup identified by the address signal group is stored in the data cache memory unit.
    Type: Application
    Filed: February 4, 2003
    Publication date: August 5, 2004
    Inventors: Krishna M. Thatipelli, Allan Tzeng
  • Publication number: 20030225992
    Abstract: A memory structure of a computer system receives an address tag associated with a computational value, generates a modified address which corresponds to the address tag using a compression function, and stores the modified address as being associated with the computational value. The address tag can be a physical address tag or a virtual address tag. The computational value (i.e., operand data or program instructions) may be stored in the memory structure as well, such as in a cache associated with a processing unit of the computer system. For such an implementation, the compressed address of a particular cache operation is compared to existing cache entries to determine which a cache miss or hit has occurred. In another exemplary embodiment, the memory structure is a memory disambiguation buffer associated with at least one processing unit of the computer system, and the compressed address is used to resolve load/store collisions.
    Type: Application
    Filed: May 29, 2002
    Publication date: December 4, 2003
    Inventors: Balakrishna Venkatrao, Krishna M. Thatipelli
  • 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: 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