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: 20140250266Abstract: 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: ApplicationFiled: May 15, 2014Publication date: September 4, 2014Applicant: SanDisk Technologies Inc.Inventors: Chris Avila, Yingda Dong, Lee Gavens
-
Publication number: 20140247665Abstract: 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: ApplicationFiled: May 16, 2014Publication date: September 4, 2014Applicant: San Disk Technologies Inc.Inventors: Chris Avila, Yingda Dong, Man Mui
-
Publication number: 20140247660Abstract: 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: ApplicationFiled: May 15, 2014Publication date: September 4, 2014Applicant: SanDisk Technologies Inc.Inventors: Chris Avila, Yingda Dong, Man Lung Mui
-
Publication number: 20140173382Abstract: 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: ApplicationFiled: February 2, 2013Publication date: June 19, 2014Applicant: SANDISK TECHNOLOGIES INC.Inventors: NIAN NILES YANG, CHRIS AVILA, STEVEN SPROUSE, JIANMIN HUANG, YICHAO HUANG, KULACHET TANPAIROJ
-
Publication number: 20140173172Abstract: 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: ApplicationFiled: February 2, 2013Publication date: June 19, 2014Applicant: SANDISK TECHNOLOGIES INC.Inventors: NIAN NILES YANG, RYAN TAKAFUJI, SEUNGJUNE JEON, CHRIS AVILA, STEVEN SPROUSE
-
Patent number: 8687421Abstract: 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: GrantFiled: March 30, 2012Date of Patent: April 1, 2014Assignee: SanDisk Technologies Inc.Inventors: Chris Avila, Jianmin Huang, Dana Lee
-
Patent number: 8634239Abstract: 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: GrantFiled: December 28, 2011Date of Patent: January 21, 2014Assignee: SanDisk Technologies Inc.Inventors: Steven Sprouse, Chris Avila, Sergey Anatolievich Gorobets
-
Publication number: 20130205066Abstract: 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: ApplicationFiled: February 3, 2012Publication date: August 8, 2013Applicant: SANDISK TECHNOLOGIES INC.Inventors: Gautam A. Dusija, Jianmin Huang, Chris Avila
-
Publication number: 20130170293Abstract: 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: ApplicationFiled: December 28, 2011Publication date: July 4, 2013Inventors: Steven Sprouse, Chris Avila, Sergey Anatolievich Gorobets
-
Publication number: 20130166893Abstract: 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: ApplicationFiled: December 23, 2011Publication date: June 27, 2013Applicant: SANDISK TECHNOLOGIES INC.Inventors: Gautam A. Dusija, Jianmin Huang, Chris Avila
-
Patent number: 8468294Abstract: 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: GrantFiled: December 18, 2009Date of Patent: June 18, 2013Assignee: SanDisk Technologies Inc.Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Steven Sprouse, Sergey Anatolievich Gorobets, Neil David Hutchinson
-
Publication number: 20130128666Abstract: 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: ApplicationFiled: March 30, 2012Publication date: May 23, 2013Inventors: Chris Avila, Jianmin Huang, Dana Lee
-
Patent number: 8423866Abstract: 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: GrantFiled: December 18, 2009Date of Patent: April 16, 2013Assignee: SanDisk Technologies, Inc.Inventors: Gautam Ashok Dusija, Jian Chen, Chris Avila, Jianmin Huang, Lee M. Gavens
-
Patent number: 8180994Abstract: 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: GrantFiled: July 8, 2009Date of Patent: May 15, 2012Assignee: SanDisk Technologies Inc.Inventors: Steven Sprouse, Jianmin Huang, Chris Avila, Yichao Huang, Emilio Yero
-
Patent number: 8144512Abstract: 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: GrantFiled: December 18, 2009Date of Patent: March 27, 2012Assignee: SanDisk Technologies Inc.Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Neil David Hutchinson, Sergey Anatolievich Gorobets
-
Publication number: 20110149650Abstract: 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: ApplicationFiled: December 18, 2009Publication date: June 23, 2011Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Neil David Hutchison, Sergey Anatolievich Gorobets
-
Publication number: 20110153911Abstract: 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: ApplicationFiled: December 18, 2009Publication date: June 23, 2011Inventors: Steven Sprouse, Chris Avila, Jianmin Huang
-
Publication number: 20110153913Abstract: 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: ApplicationFiled: December 18, 2009Publication date: June 23, 2011Inventors: Jianmin Huang, Chris Avila, Lee M. Gavens, Steven Sprouse, Sergey Anatolievich Gorobets, Neil David Hutchinson
-
Publication number: 20110099460Abstract: 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: ApplicationFiled: December 18, 2009Publication date: April 28, 2011Inventors: Gautam Ashok Dusija, Jian Chen, Chris Avila, Jianmin Huang, Lee M. Gavens
-
Publication number: 20110010484Abstract: 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: ApplicationFiled: July 8, 2009Publication date: January 13, 2011Inventors: Steven Sprouse, Jianmin Huang, Chris Avila, Yichao Huang, Emilio Yero