Selective re-programming of analog memory cells
First Claim
1. A method for data storage, comprising:
- in a memory that includes multiple analog memory cells, defining an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states;
initially storing data in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states;
after initially storing the data, programming a second group of the analog memory cells, which potentially cause interference to the first group; and
after programming the second group, selectively re-programming the first group with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset,wherein initially storing the data comprises writing respective storage values into the memory cells in the first group and verifying the written storage values using first verification thresholds, and wherein selectively re-programming the first group comprises re-writing the storage values that are associated with the partial subset, and verifying the re-written storage values using second verification thresholds, higher than the corresponding first verification thresholds.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for data storage includes defining, in a memory that includes multiple analog memory cells, an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states. Data is initially stored in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states. After initially storing the data, a second group of the analog memory cells, which potentially cause interference to the first group, is programmed. After programming the second group, the first group is selectively re-programmed with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset.
-
Citations
20 Claims
-
1. A method for data storage, comprising:
-
in a memory that includes multiple analog memory cells, defining an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states; initially storing data in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states; after initially storing the data, programming a second group of the analog memory cells, which potentially cause interference to the first group; and after programming the second group, selectively re-programming the first group with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset, wherein initially storing the data comprises writing respective storage values into the memory cells in the first group and verifying the written storage values using first verification thresholds, and wherein selectively re-programming the first group comprises re-writing the storage values that are associated with the partial subset, and verifying the re-written storage values using second verification thresholds, higher than the corresponding first verification thresholds. - View Dependent Claims (2, 3)
-
-
4. A method for data storage, comprising:
-
in a memory that includes multiple analog memory cells, defining an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states; initially storing data in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states; after initially storing the data, programming a second group of the analog memory cells, which potentially cause interference to the first group; after programming the second group, selectively re-programming the first group with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset; and programming the second group with dummy data responsively to detecting that programming of the second group is postponed, so as to cause re-programming of the first group. - View Dependent Claims (5, 6)
-
-
7. A method for data storage, comprising:
-
in a memory that includes multiple analog memory cells, defining an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states; initially storing data in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states; after initially storing the data, programming a second group of the analog memory cells, which potentially cause interference to the first group; after programming the second group, selectively re-programming the first group with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset; and upon preparing to read the data from the first group, applying a corrective action to the first group responsively to detecting that that the first group was not re-programmed. - View Dependent Claims (8, 9, 10)
-
-
11. Apparatus for data storage, comprising:
-
a memory, which comprises multiple analog memory cells; and circuitry, which is configured to define an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states, to initially store data in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states, to program a second group of the analog memory cells, which potentially cause interference to the first group, after initially storing the data, and, after programming the second group, to selectively re-program the first group with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset, wherein the circuitry is configured to initially store the data by writing respective storage values into the memory cells in the first group and verifying the written storage values using first verification thresholds, and to selectively re-program the first group by re-writing the storage values that are associated with the partial subset and verifying the re-written storage values using second verification thresholds, higher than the corresponding first verification thresholds. - View Dependent Claims (12, 13)
-
-
14. Apparatus for data storage, comprising:
-
a memory, which comprises multiple analog memory cells; and circuitry, which is configured to define an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states, to initially store data in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states, to program a second group of the analog memory cells, which potentially cause interference to the first group, after initially storing the data, and, after programming the second group, to selectively re-program the first group with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset, wherein the circuitry is configured to program the second group with dummy data responsively to detecting that programming of the second group is postponed, so as to cause re-programming of the first group. - View Dependent Claims (15, 16)
-
-
17. Apparatus for data storage, comprising:
-
a memory, which comprises multiple analog memory cells; and circuitry, which is configured to define an erased state, a set of non-erased programming states and a partial subset of the non-erased programming states, to initially store data in a first group of the analog memory cells by programming each of at least some of the memory cells in the first group from the erased state to a respective non-erased programming state selected from the set of non-erased programming states, to program a second group of the analog memory cells, which potentially cause interference to the first group, after initially storing the data, and, after programming the second group, to selectively re-program the first group with the data by repeating programming of only the memory cells in the first group whose respective programming states belong to the partial subset, wherein, upon preparing to read the data from the first group, the circuitry is configured to apply a corrective action to the first group responsively to detecting that that the first group was not re-programmed. - View Dependent Claims (18, 19, 20)
-
Specification