Patents by Inventor Yuheng Zhang

Yuheng Zhang 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: 20150113251
    Abstract: System and methods are provided for register allocation. An original code block and a target code block associated with a branch of an execution loop are determined. An original allocation of a plurality of physical registers to one or more original variables associated with the original code block is detected. A target allocation of the plurality of physical registers to one or more target variables associated with the target code block is determined. One or more temporary registers are selected from the plurality of physical registers based at least in part on the original allocation and the target allocation. The original allocation is changed to the target allocation using the selected temporary registers. Specifically, one or more instructions are generated to change the original allocation to the target allocation using the selected temporary registers. The instructions are executed using one or more processors.
    Type: Application
    Filed: September 12, 2014
    Publication date: April 23, 2015
    Inventors: Ningsheng Jian, Yuheng Zhang, Liping Gao, Haitao Huang, Xinyu Qi
  • Patent number: 8427890
    Abstract: A non-volatile storage system includes technology for skipping programming cycles while programming a page (or other unit) of data. While programming a current subset of the page (or other unit) of data, the system will evaluate whether the next subsets of the page (or other unit) of data should be programmed into non-volatile storage elements or skipped. Subsets of the page (or other unit) of data that should not be skipped are programmed into non-volatile storage elements. Some embodiments include transferring the appropriate data to temporary latches/registers, in preparation for programming, concurrently with the evaluation of whether to program or skip the programming.
    Type: Grant
    Filed: June 5, 2012
    Date of Patent: April 23, 2013
    Assignee: SanDisk 3D LLC
    Inventors: Gopinath Balakrishnan, Luca Fasoli, Tz-Yi Liu, Yuheng Zhang, Yan Li
  • Patent number: 8395948
    Abstract: A non-volatile storage system includes technology for skipping programming cycles while programming a page (or other unit) of data. While programming a current subset of the page (or other unit) of data, the system will evaluate whether the next subsets of the page (or other unit) of data should be programmed into non-volatile storage elements or skipped. Subsets of the page (or other unit) of data that should not be skipped are programmed into non-volatile storage elements. Some embodiments include transferring the appropriate data to temporary latches/registers, in preparation for programming, concurrently with the evaluation of whether to program or skip the programming.
    Type: Grant
    Filed: June 5, 2012
    Date of Patent: March 12, 2013
    Assignee: SanDisk 3D LLC
    Inventors: Gopinath Balakrishnan, Luca Fasoli, Tz-Yi Liu, Yuheng Zhang, Yan Li
  • Patent number: 8397024
    Abstract: A technique for efficiently handling write operation failures in a memory device which communicates with an external host device allows a page of data to be re-written to a memory array from a page buffer. The host provides user data, a first write address and a write command to the memory device. If the write attempt fails, the host provides a re-write command with a new address, without re-sending the user data to the memory device. Additional data can be received at a data cache of the memory device while a re-write from the page buffer is in progress. The re-written data may be obtained in a copy operation in which the data is read out to the host, modified and written back to the memory device. Additional data can be input to the memory device during the copy operation. Page buffer data can also be modified in place.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: March 12, 2013
    Assignee: SanDisk 3D LLC
    Inventors: Luca Fasoli, Yuheng Zhang, Gopinath Balakrishnan
  • Publication number: 20120243349
    Abstract: A non-volatile storage system includes technology for skipping programming cycles while programming a page (or other unit) of data. While programming a current subset of the page (or other unit) of data, the system will evaluate whether the next subsets of the page (or other unit) of data should be programmed into non-volatile storage elements or skipped. Subsets of the page (or other unit) of data that should not be skipped are programmed into non-volatile storage elements. Some embodiments include transferring the appropriate data to temporary latches/registers, in preparation for programming, concurrently with the evaluation of whether to program or skip the programming.
    Type: Application
    Filed: June 5, 2012
    Publication date: September 27, 2012
    Inventors: Gopinath Balakrishnan, Luca Fasoli, Tz-Yi Liu, Yuheng Zhang, Yan Li
  • Publication number: 20120236663
    Abstract: A non-volatile storage system includes technology for skipping programming cycles while programming a page (or other unit) of data. While programming a current subset of the page (or other unit) of data, the system will evaluate whether the next subsets of the page (or other unit) of data should be programmed into non-volatile storage elements or skipped. Subsets of the page (or other unit) of data that should not be skipped are programmed into non-volatile storage elements. Some embodiments include transferring the appropriate data to temporary latches/registers, in preparation for programming, concurrently with the evaluation of whether to program or skip the programming.
    Type: Application
    Filed: June 5, 2012
    Publication date: September 20, 2012
    Inventors: Gopinath Balakrishnan, Luca Fasoli, Tz-Yi Liu, Yuheng Zhang, Yan Li
  • Patent number: 8223525
    Abstract: A non-volatile storage device includes a substrate, a monolithic three-dimensional memory array of non-volatile storage elements arranged above a portion of the substrate, a plurality of sense amplifiers in communication with the non-volatile storage elements, a plurality of temporary storage devices in communication with the sense amplifiers, a page register in communication with the temporary storage devices, and one or more control circuits. The one or more control circuits are in communication with the page register, the temporary storage devices and the sense amplifiers. The sense amplifiers are arranged on the substrate underneath the monolithic three-dimensional memory array. The temporary storage devices are arranged on the substrate underneath the monolithic three-dimensional memory array. The page register is arranged on the substrate in an area that is not underneath the monolithic three-dimensional memory array.
    Type: Grant
    Filed: December 15, 2009
    Date of Patent: July 17, 2012
    Assignee: SanDisk 3D LLC
    Inventors: Gopinath Balakrishnan, Jeffrey Koon Yee Lee, Yuheng Zhang, Tz-Yi Liu, Luca Fasoli
  • Patent number: 8213243
    Abstract: A non-volatile storage system includes technology for skipping programming cycles while programming a page (or other unit) of data. While programming a current subset of the page (or other unit) of data, the system will evaluate whether the next subsets of the page (or other unit) of data should be programmed into non-volatile storage elements or skipped. Subsets of the page (or other unit) of data that should not be skipped are programmed into non-volatile storage elements. Some embodiments include transferring the appropriate data to temporary latches/registers, in preparation for programming, concurrently with the evaluation of whether to program or skip the programming.
    Type: Grant
    Filed: December 15, 2009
    Date of Patent: July 3, 2012
    Assignee: SanDisk 3D LLC
    Inventors: Gopinath Balakrishnan, Luca Fasoli, Tz-Yi Liu, Yuheng Zhang, Yan Li
  • Publication number: 20110141832
    Abstract: A non-volatile storage system includes technology for skipping programming cycles while programming a page (or other unit) of data. While programming a current subset of the page (or other unit) of data, the system will evaluate whether the next subsets of the page (or other unit) of data should be programmed into non-volatile storage elements or skipped. Subsets of the page (or other unit) of data that should not be skipped are programmed into non-volatile storage elements. Some embodiments include transferring the appropriate data to temporary latches/registers, in preparation for programming, concurrently with the evaluation of whether to program or skip the programming.
    Type: Application
    Filed: December 15, 2009
    Publication date: June 16, 2011
    Inventors: Gopinath Balakrishnan, Luca Fasoli, Tz-Yi Liu, Yuheng Zhang, Yan Li
  • Publication number: 20110141788
    Abstract: A non-volatile storage device includes a substrate, a monolithic three-dimensional memory array of non-volatile storage elements arranged above a portion of the substrate, a plurality of sense amplifiers in communication with the non-volatile storage elements, a plurality of temporary storage devices in communication with the sense amplifiers, a page register in communication with the temporary storage devices, and one or more control circuits. The one or more control circuits are in communication with the page register, the temporary storage devices and the sense amplifiers. The sense amplifiers are arranged on the substrate underneath the monolithic three-dimensional memory array. The temporary storage devices are arranged on the substrate underneath the monolithic three-dimensional memory array. The page register is arranged on the substrate in an area that is not underneath the monolithic three-dimensional memory array.
    Type: Application
    Filed: December 15, 2009
    Publication date: June 16, 2011
    Inventors: Gopinath Balakrishnan, Jeffrey Koon Yee Lee, Yuheng Zhang, Tz-Yi Liu, Luca Fasoli
  • Publication number: 20100106893
    Abstract: A technique for efficiently handling write operation failures in a memory device which communicates with an external host device allows a page of data to be re-written to a memory array from a page buffer. The host provides user data, a first write address and a write command to the memory device. If the write attempt fails, the host provides a re-write command with a new address, without re-sending the user data to the memory device. Additional data can be received at a data cache of the memory device while a re-write from the page buffer is in progress. The re-written data may be obtained in a copy operation in which the data is read out to the host, modified and written back to the memory device. Additional data can be input to the memory device during the copy operation. Page buffer data can also be modified in place.
    Type: Application
    Filed: March 31, 2009
    Publication date: April 29, 2010
    Inventors: Luca Fasoli, Yuheng Zhang, Gopinath Balakrishnan
  • Patent number: 6687322
    Abstract: The present invention provides a dual mode clock alignment device including a clock buffer cell, a PLL, and a first set and second set of buffers. The clock buffer cell is arranged to receive a first clock and delays the first clock. The PLL is arranged to receive the delayed first clock from the clock buffer and outputs a second clock. The first and second sets of buffers are arranged to receive the delayed first clock from the clock buffer cell for operating in a first clock mode. The first and second sets of buffers are further arranged to receive the second clock from the PLL for operating in a second clock mode. In this arrangement, the first set of buffers delays the received clock by a first delay to output a third clock and the second set of buffers delays the delayed clock by a second delay to output a fourth clock. When operating in the second clock mode, the first, third, and fourth clocks are all aligned.
    Type: Grant
    Filed: October 6, 2000
    Date of Patent: February 3, 2004
    Assignee: Adaptec, Inc.
    Inventors: Yuheng Zhang, Christopher Burns, Martin L. Ngu