Patents by Inventor Allan Tzeng

Allan Tzeng 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: 20090198873
    Abstract: A memory system is provided. The system includes a controller that regulates read and write access to one or more FLASH memory devices that are employed for random access memory applications. A buffer component operates in conjunction with the controller to regulate read and write access to the one or more FLASH devices. Wear leveling components along with read and write processing components are provided to facilitate efficient operations of the FLASH memory devices.
    Type: Application
    Filed: February 5, 2008
    Publication date: August 6, 2009
    Applicant: Spansion LLC
    Inventor: Tzungren Allan Tzeng
  • 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
  • Patent number: 6813626
    Abstract: A method of executing a fused instruction is disclosed. The method begins by performing several actions, which may be performed serially or in parallel. These include performing a floating point multiplication of a first floating point number by a second floating point number and normalizing a third floating point number. The floating point multiplication of the first and second floating point numbers generates a first result, while the normalization generates a second result. The first result is then added to the second result, generating an unnormalized result. A determination is also made as to whether a large exponent difference exists between the first result and the second result. If a large exponent difference exists between the first result and the second result, a large exponent difference normalization is performed on the unnormalized result. Otherwise, a small exponent difference normalization is performed on the unnormalized result.
    Type: Grant
    Filed: April 4, 2000
    Date of Patent: November 2, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Choon-Ping Chng, Tzungren 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
  • Patent number: 6751644
    Abstract: A fused instruction datapath is disclosed. The fused instruction datapath may include a normalization unit, a floating point mutltiplier coupled to the normalization unit, and a mantissa alignment unit coupled to provide an aligned mantissa to the floating point multiplier. The floating point multiplier may include a term generation unit and a compensation unit coupled to the term generation unit. The term generation unit may be configured to generate a sum term and a carry term. The compensation unit may be configured to compensate the sum term.
    Type: Grant
    Filed: April 4, 2000
    Date of Patent: June 15, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Choon-Ping Chng, Tzungren Allan Tzeng
  • Patent number: 6692534
    Abstract: The present invention provides an apparatus for booth decoding which stores the most significant bit of the lower half of the number used as the key for booth decoding. By using this stored bit to determine the rightmost booth group corresponding to the upper half of the key, booth decoding may be accomplished more quickly using an apparatus that is simpler and smaller than prior art assemblies.
    Type: Grant
    Filed: September 8, 1999
    Date of Patent: February 17, 2004
    Assignee: Sun Microsystems, Inc.
    Inventors: Yong Wang, Allan Tzeng
  • Patent number: 6647404
    Abstract: A double-precision multiplier for use in the floating point pipeline of a processor has an array multiplier and a carry-save partial-product accumulator. Double precision multiplication is accomplished by generating a plurality of partial products and summing these in the carry-save partial-product accumulator. The partial-product accumulator has a carry-save adder, a sum register, a carry-out counter and an extender. The carry-out counter receives a carry outputs of the carry-save adder and array multiplier, and the extender is coupled to extend the sum register dependent upon the contents of the carry-out counter. The extension occurs during addition of the most significant partial product to the sum of less significant partial products.
    Type: Grant
    Filed: August 12, 2002
    Date of Patent: November 11, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Tzungren Allan Tzeng, Choon Ping Chng
  • Publication number: 20030005016
    Abstract: A double-precision multiplier for use in the floating point pipeline of a processor has an array multiplier and a carry-save partial-product accumulator. Double precision multiplication is accomplished by generating a plurality of partial products and summing these in the carry-save partial-product accumulator. The partial-product accumulator has a carry-save adder, a sum register, a carry-out counter and an extender. The carry-out counter receives a carry outputs of the carry-save adder and array multiplier, and the extender is coupled to extend the sum register dependent upon the contents of the carry-out counter. The extension occurs during addition of the most significant partial product to the sum of less significant partial products.
    Type: Application
    Filed: August 12, 2002
    Publication date: January 2, 2003
    Applicant: Sun Microsystems, Inc.
    Inventors: Tzungren Allan Tzeng, Choon Ping Chng
  • Patent number: 6446104
    Abstract: A double-precision multiplier for use in the floating point pipeline of a processor has an array multiplier and a carry-save partial-product accumulator. Double precision multiplication is accomplished by generating a plurality of partial products and summing these in the carry-save partial-product accumulator. The partial-product accumulator has a carry-save adder, a sum register, a carry-out counter and an extender. The carry-out counter receives a carry outputs of the carry-save adder and array multiplier, and the extender is coupled to extend the sum register dependent upon the contents of the carry-out counter. The extension occurs during addition of the most significant partial product to the sum of less significant partial products.
    Type: Grant
    Filed: September 15, 1999
    Date of Patent: September 3, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Tzungren Allan Tzeng, Choon Ping Chng
  • Patent number: 6389517
    Abstract: Apparatus and method to permit snoop filtering to occur while an atomic operation is pending. The snoop filtering apparatus includes first and second request queues and a cache. The first request queue tracks cache access requests, while the second request queue tracks snoops that have yet to be filtered. The cache includes a dedicated port for each request queue. The first port is dedicated to the first request queue and is a data-and-tag read-write port, permitting modification of both a cache line's data and tag. In contrast, the second port is dedicated to the second request queue and is a tag-only port. Because the second port is a tag-only port, snoop filtering can continue while a cache line is locked without fear of any modification of the data associated with the atomic address.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: May 14, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Anuradha N. Moudgal, Belliappa M. Kuttanna, Allan Tzeng
  • Patent number: 6347360
    Abstract: Apparatus and method for protecting cache data from eviction during an atomic operation. The apparatus includes a first request queue, a second request queue, and an atomic address block. The first request queue stores an entry for each cache access request. Each entry includes a first set of address bits and an atomic bit. The first set of address bits represents a first cache address associated with the cache access request and the atomic bit indicates whether the cache access request is associated with the atomic operation. The second request queue stores an entry for each cache eviction request. Each entry of the second request queue includes a second set of address bits indicating a second cache address associated with the cache eviction request. The atomic address block prevents eviction of a third cache address during the atomic operation on the third cache address.
    Type: Grant
    Filed: February 25, 2000
    Date of Patent: February 12, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Anuradha N. Moudgal, Belliappa M. Kuttanna, Allan Tzeng
  • Patent number: 5802576
    Abstract: A method and apparatus for facilitating the streaming of data over a system bus between a memory and a DMA device. This is accomplished by doing a speculative cache look-up, or snoop, on a next cache line during or immediately following the access of a current cache line. This is done for DMA transfers when the first DMA address is received, and before subsequent addresses are received. Thus, a determination of whether the cache line is in the cache can be done in advance, allowing the next cache line of data to stream over the bus to or from the cache without waiting for the next address from the system bus or requiring a rearbitration for the system bus.
    Type: Grant
    Filed: July 1, 1996
    Date of Patent: September 1, 1998
    Assignee: Sun Microsystems, Inc.
    Inventors: Allan Tzeng, Jayabharat Boddu