Reverse coupling effect with timing information
AssigneeSanDisk Corporation
InventorJian Chen
Life of this patent
Estimating the term…
Abstract
Shifts in the apparent charge stored on a floating gate (or other charge storing element) of a non-volatile memory cell can occur because of the coupling of an electric field based on the charge stored in neighboring floating gates (or other neighboring charge storing elements). The problem occurs most pronouncedly between sets of adjacent memory cells that have been programmed at different times. To compensate for this coupling, the read process for a given memory cell will take into account the programmed state of a neighbor memory cell if the neighbor memory cell was programmed subsequent to the given memory cell. Techniques for determining whether the neighbor memory cell was programmed before or after the given memory cell are disclosed.
Claims24
A method for operating non-volatile storage, comprising:
- accessing stored timing information that is customized for a set of data, said set of data is stored in one or more non-volatile storage elements;
- and
- reading said set of data from said one or more non-volatile storage elements including selectively compensating for one or more potential errors in said set of data based on said timing information,
- said selectively compensating for one or more potential errors comprises sensing neighboring non-volatile storage elements for said one or more non-volatile storage elements, determining read voltage offsets based for said one or more non-volatile storage elements based on information sensed from said neighboring non-volatile storage elements, and reading said one or more non-volatile storage elements using said offsets.
A method for operating non-volatile storage, comprising:
- accessing stored timing information that is customized for a set of data, said set of data is stored in one or more non-volatile storage elements;
- and
- reading said set of data from said one or more non-volatile storage elements including selectively compensating for one or more potential errors in said set of data based on said timing information, said selectively compensating includes choosing whether or not to use a voltage offset during said reading based on said timing information.
A method for operating non-volatile storage, comprising:
- accessing stored timing information that is customized for a set of data, said set of data is stored in one or more non-volatile storage elements, said timing information includes an indication of order of programming between said one or more non-volatile storage elements and neighboring non-volatile storage elements;
- and
- reading said set of data from said one or more non-volatile storage elements including selectively compensating for one or more potential errors in said set of data based on said timing information, said selectively compensating includes changing a parameter used to sense threshold voltage information for at least one of said non-volatile storage elements.
A method for operating non-volatile storage, comprising:
- programming a set of data to one or more non-volatile storage elements including programming timing information that is customized for said set of data, said programming comprises:
- reading first neighbor timing information associated with a first set of neighboring non-volatile storage elements,
- determining a first timing value based on said first neighbor timing information,
- reading second neighbor timing information associated with a second set of neighboring non-volatile storage elements,
- determining a second timing value based on said second neighbor timing information, and
- determining said timing information that is customized for said set of data based on said first timing value and said second timing value;
- accessing said timing information that is customized for a set of data, said timing information includes an indication of order of programming between said one or more non-volatile storage elements and neighboring non-volatile storage elements;
- and
- reading said set of data from said one or more non-volatile storage elements including selectively compensating for one or more potential errors in said set of data based on said timing information.
A method for operating non-volatile storage, comprising:
- accessing stored timing information that is customized for a set of data, said set of data is stored in one or more non-volatile storage elements, said timing information includes a two bit code indicating whether the set of data is erased data or data programmed subsequent to programming neighboring word lines or data programmed potentially prior to programming neighboring word lines;
- and
- reading said set of data from said one or more non-volatile storage elements including selectively compensating for one or more potential errors in said set of data based on said timing information.
A method for operating non-volatile storage, comprising:
- reading first time data for a word line associated with one or more non-volatile storage elements;
- reading second time data for a word line associated with neighboring non-volatile storage elements with respect to said one or more non-volatile storage elements;
- comparing said first time data to said second time data;
- determining whether there is a potential for errors based on said comparing;
- and
- reading a set of data from said one or more non-volatile storage elements including selectively compensating for one or more potential errors in said set of data based on said determining.
Dependencies are inferred from the claim text.