Patents by Inventor Chris Avila

Chris Avila 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: 20140250266
    Abstract: In a nonvolatile memory array, such as a three-dimensional array of charge-storage memory cells, data is randomized so that data of different strings along the same bit line are randomized using different keys and portions of data along neighboring word lines are randomized using different keys. Keys may be rotated so that data of a particular word line is randomized according to different keys in different strings.
    Type: Application
    Filed: May 15, 2014
    Publication date: September 4, 2014
    Applicant: SanDisk Technologies Inc.
    Inventors: Chris Avila, Yingda Dong, Lee Gavens
  • Publication number: 20140247665
    Abstract: In a nonvolatile memory array in which a select transistor includes a charge storage element, the threshold voltage of the select transistor is monitored, and if the threshold voltage deviates from a desired threshold voltage range, charge is added to, or removed from the charge storage element to return the threshold voltage to the desired threshold voltage range.
    Type: Application
    Filed: May 16, 2014
    Publication date: September 4, 2014
    Applicant: San Disk Technologies Inc.
    Inventors: Chris Avila, Yingda Dong, Man Mui
  • Publication number: 20140247660
    Abstract: A non-volatile memory system that has two or more sub-blocks in a block performs a check before accessing memory cells to see if the condition of a sub-block that is not being accessed could affect the memory cells being accessed. If such a sub-block is found then parameters used to access the cells may be modified according to a predetermined scheme.
    Type: Application
    Filed: May 15, 2014
    Publication date: September 4, 2014
    Applicant: SanDisk Technologies Inc.
    Inventors: Chris Avila, Yingda Dong, Man Lung Mui
  • Publication number: 20140173382
    Abstract: A method performed in a data storage device including a non-volatile memory includes reading a representation of data, the representation corresponding to one or more selected states of storage elements of a group of storage elements of the non-volatile memory. The method includes, in response to a count of errors in the representation of the data exceeding a threshold, scheduling a remedial action to be performed on the group of storage elements.
    Type: Application
    Filed: February 2, 2013
    Publication date: June 19, 2014
    Applicant: SANDISK TECHNOLOGIES INC.
    Inventors: NIAN NILES YANG, CHRIS AVILA, STEVEN SPROUSE, JIANMIN HUANG, YICHAO HUANG, KULACHET TANPAIROJ
  • Publication number: 20140173172
    Abstract: A method includes reading a representation of tracking data from at least a portion of a non-volatile memory. The method further includes adjusting a read voltage based on a comparison between a number of bits in tracking data as compared to a count of bits in the representation of the tracking data.
    Type: Application
    Filed: February 2, 2013
    Publication date: June 19, 2014
    Applicant: SANDISK TECHNOLOGIES INC.
    Inventors: NIAN NILES YANG, RYAN TAKAFUJI, SEUNGJUNE JEON, CHRIS AVILA, STEVEN SPROUSE
  • Patent number: 8687421
    Abstract: The decision on whether to refresh or retire a memory block is based on the set of dynamic read values being used. In a memory system using a table of dynamic read values, the table is configured to include how to handle read error (retire, refresh) in addition to the read parameters for the different dynamic read cases. In a refinement, the read case number can used to prioritize blocks selected for refresh or retire. In cases where the read scrub is to be made more precise, multiple dynamic read cases can be applied. Further, which cases are applied can be intelligently selected.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: April 1, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Chris Avila, Jianmin Huang, Dana Lee
  • Patent number: 8634239
    Abstract: A memory device implements hybrid programming sequences for writing data to multiple level cells (MLCs). The memory device obtains specified data to write to the MLC and selects among multiple different programming techniques to write the specified data. Each of the programming techniques establishes a charge configuration in the MLC that represents multiple data bits. The memory device writes the specified data to the MLC using the selected programming technique. In one implementation, the programming techniques include a robust programming technique that preserves previously written data in the MLC in the event of a write abort of the specified data and an additional programming technique that has higher average performance than the robust programming technique. The selection may be made based on a wide variety of criteria, including whether data has been previously written to a block that includes the MLC.
    Type: Grant
    Filed: December 28, 2011
    Date of Patent: January 21, 2014
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven Sprouse, Chris Avila, Sergey Anatolievich Gorobets
  • Publication number: 20130205066
    Abstract: A memory system or flash card may include safe zone blocks where data is written in case of an error condition, such as a write abort. The system may utilize predetermined risk zones when selecting the data that is written to the safe zone blocks. For example, data written to a lower page may be one example of data that is a predetermined risk. Upon receiving a write command, the data that is written to a lower page may be written to a safe zone either in parallel or after the write operation.
    Type: Application
    Filed: February 3, 2012
    Publication date: August 8, 2013
    Applicant: SANDISK TECHNOLOGIES INC.
    Inventors: Gautam A. Dusija, Jianmin Huang, Chris Avila
  • Publication number: 20130170293
    Abstract: A memory device implements hybrid programming sequences for writing data to multiple level cells (MLCs). The memory device obtains specified data to write to the MLC and selects among multiple different programming techniques to write the specified data. Each of the programming techniques establishes a charge configuration in the MLC that represents multiple data bits. The memory device writes the specified data to the MLC using the selected programming technique. In one implementation, the programming techniques include a robust programming technique that preserves previously written data in the MLC in the event of a write abort of the specified data and an additional programming technique that has higher average performance than the robust programming technique. The selection may be made based on a wide variety of criteria, including whether data has been previously written to a block that includes the MLC.
    Type: Application
    Filed: December 28, 2011
    Publication date: July 4, 2013
    Inventors: Steven Sprouse, Chris Avila, Sergey Anatolievich Gorobets
  • Publication number: 20130166893
    Abstract: A memory system or flash card may be initialized from a protected block of flash memory as a backup process. If there is an error during regular card initialization and the firmware for the card cannot be loaded, the card may be inaccessible to a user. Booting with a protected block of memory may be used to load a different version of the firmware that can still initialize the card despite the error from loading the other firmware.
    Type: Application
    Filed: December 23, 2011
    Publication date: June 27, 2013
    Applicant: SANDISK TECHNOLOGIES INC.
    Inventors: Gautam A. Dusija, Jianmin Huang, Chris Avila
  • Patent number: 8468294
    Abstract: A memory system and methods of its operation are presented. The memory system includes a controller and a non-volatile memory circuit, where the non-volatile memory circuit has a first section, where data is stored in a binary format, and a second section, where data is stored in a multi-state format. The memory system receives data from the host and performs a binary write operation of the received data to the first section of the non-volatile memory circuit. The memory system subsequently folds portions of the data from the first section of the non-volatile memory to the second section of the non-volatile memory, wherein a folding operation includes reading the portions of the data from the first section rewriting it into the second section of the non-volatile memory using a multi-state programming operation. The controller determines to operate the memory system according to one of multiple modes.
    Type: Grant
    Filed: December 18, 2009
    Date of Patent: June 18, 2013
    Assignee: SanDisk Technologies Inc.
    Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Steven Sprouse, Sergey Anatolievich Gorobets, Neil David Hutchinson
  • Publication number: 20130128666
    Abstract: The decision on whether to refresh or retire a memory block is based on the set of dynamic read values being used. In a memory system using a table of dynamic read values, the table is configured to include how to handle read error (retire, refresh) in addition to the read parameters for the different dynamic read cases. In a refinement, the read case number can used to prioritize blocks selected for refresh or retire. In cases where the read scrub is to be made more precise, multiple dynamic read cases can be applied. Further, which cases are applied can be intelligently selected.
    Type: Application
    Filed: March 30, 2012
    Publication date: May 23, 2013
    Inventors: Chris Avila, Jianmin Huang, Dana Lee
  • Patent number: 8423866
    Abstract: Data errors in non-volatile memory inevitably increase with usage and with higher density of bits stored per cell. The memory is configured to have a first portion operating with less error but of lower density storage, and a second portion operating with a higher density but less robust storage. Input data is written and staged in the first portion before being copied to the second portion. An error management provides checking the quality of the copied data for excessive error bits. The copying and checking are repeated on a different location in the second portion until either a predetermined quality is satisfied or the number or repeats exceeds a predetermined limit. The error management is not started when a memory is new with little or no errors, but started after the memory has aged to a predetermined amount as determined by the number of erase/program cycling its has experienced.
    Type: Grant
    Filed: December 18, 2009
    Date of Patent: April 16, 2013
    Assignee: SanDisk Technologies, Inc.
    Inventors: Gautam Ashok Dusija, Jian Chen, Chris Avila, Jianmin Huang, Lee M. Gavens
  • Patent number: 8180994
    Abstract: During a programming data transfer process in a non-volatile storage system, recording units of data are transferred from a host to a memory device, such as a memory card. For each recording unit, pages of data are arranged in an order such that a page which takes longer to write to a memory array of the memory device is provided before a page which takes less time to write. Overall programming time for the recording unit is reduced since a greater degree of parallel processing occurs. While the page which takes longer to program is being programmed to the memory array, the page which takes less time to program is being transferred to the memory device. After programming is completed, the memory device signals the host to transfer a next recording unit. The pages of data may include lower, middle and upper pages.
    Type: Grant
    Filed: July 8, 2009
    Date of Patent: May 15, 2012
    Assignee: SanDisk Technologies Inc.
    Inventors: Steven Sprouse, Jianmin Huang, Chris Avila, Yichao Huang, Emilio Yero
  • Patent number: 8144512
    Abstract: A memory system and methods of its operation are presented. The memory system includes a volatile buffer memory and a non-volatile memory circuit, where the non-volatile memory circuit has a first section, where data is stored in a binary format, and a second section, where data is stored in a multi-state format. When writing data to the non-volatile memory, the data is received from a host, stored in the buffer memory, transferred from the buffer memory to into read/write registers of the non-volatile memory circuit, and then written from the read/write registers to the first section of the non-volatile memory circuit using a binary write operation.
    Type: Grant
    Filed: December 18, 2009
    Date of Patent: March 27, 2012
    Assignee: SanDisk Technologies Inc.
    Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Neil David Hutchinson, Sergey Anatolievich Gorobets
  • Publication number: 20110149650
    Abstract: A memory system and methods of its operation are presented. The memory system includes a volatile buffer memory and a non-volatile memory circuit, where the non-volatile memory circuit has a first section, where data is stored in a binary format, and a second section, where data is stored in a multi-state format. When writing data to the non-volatile memory, the data is received from a host, stored in the buffer memory, transferred from the buffer memory to into read/write registers of the non-volatile memory circuit, and then written from the read/write registers to the first section of the non-volatile memory circuit using a binary write operation.
    Type: Application
    Filed: December 18, 2009
    Publication date: June 23, 2011
    Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Neil David Hutchison, Sergey Anatolievich Gorobets
  • Publication number: 20110153911
    Abstract: A method and system for achieving die parallelism through block interleaving includes non-volatile memory having a multiple non-volatile memory dies, where each die has a cache storage area and a main storage area. A controller is configured to receive data and write sequentially addressed data to the cache storage area of a first die. The controller, after writing sequentially addressed data to the cache storage area of the first die equal to a block of the main storage area of the first die, writes additional data to a cache storage area of a next die until sequentially addressed data is written into the cache area of the next die equal to a block of the main storage area. The cache storage area may be copied to the main storage area on the first die while the cache storage area is written to on the next die.
    Type: Application
    Filed: December 18, 2009
    Publication date: June 23, 2011
    Inventors: Steven Sprouse, Chris Avila, Jianmin Huang
  • Publication number: 20110153913
    Abstract: A memory system and methods of its operation are presented. The memory system includes a controller and a non-volatile memory circuit, where the non-volatile memory circuit has a first section, where data is stored in a binary format, and a second section, where data is stored in a multi-state format. The memory system receives data from the host and performs a binary write operation of the received data to the first section of the non-volatile memory circuit. The memory system subsequently folds portions of the data from the first section of the non-volatile memory to the second section of the non-volatile memory, wherein a folding operation includes reading the portions of the data from the first section rewriting it into the second section of the non-volatile memory using a multi-state programming operation. The controller determines to operate the memory system according to one of multiple modes.
    Type: Application
    Filed: December 18, 2009
    Publication date: June 23, 2011
    Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Steven Sprouse, Sergey Anatolievich Gorobets, Neil David Hutchinson
  • Publication number: 20110099460
    Abstract: Data errors in non-volatile memory inevitably increase with usage and with higher density of bits stored per cell. The memory is configured to have a first portion operating with less error but of lower density storage, and a second portion operating with a higher density but less robust storage. Input data is written and staged in the first portion before being copied to the second portion. An error management provides checking the quality of the copied data for excessive error bits. The copying and checking are repeated on a different location in the second portion until either a predetermined quality is satisfied or the number or repeats exceeds a predetermined limit. The error management is not started when a memory is new with little or no errors, but started after the memory has aged to a predetermined amount as determined by the number of erase/program cycling its has experienced.
    Type: Application
    Filed: December 18, 2009
    Publication date: April 28, 2011
    Inventors: Gautam Ashok Dusija, Jian Chen, Chris Avila, Jianmin Huang, Lee M. Gavens
  • Publication number: 20110010484
    Abstract: During a programming data transfer process in a non-volatile storage system, recording units of data are transferred from a host to a memory device, such as a memory card. For each recording unit, pages of data are arranged in an order such that a page which takes longer to write to a memory array of the memory device is provided before a page which takes less time to write. Overall programming time for the recording unit is reduced since a greater degree of parallel processing occurs. While the page which takes longer to program is being programmed to the memory array, the page which takes less time to program is being transferred to the memory device. After programming is completed, the memory device signals the host to transfer a next recording unit. The pages of data may include lower, middle and upper pages.
    Type: Application
    Filed: July 8, 2009
    Publication date: January 13, 2011
    Inventors: Steven Sprouse, Jianmin Huang, Chris Avila, Yichao Huang, Emilio Yero