Read commands for reading interfering memory cells
First Claim
1. A method comprising:
- storing data in a group of target memory cells of a memory system by programming analog memory cells to respective programming states selected from a predefined set;
issuing a first read command that addresses one or more target memory cells and retrieves the data stored in the target memory cells;
issuing a second read command that addresses one or more memory cells neighboring the target memory cells, wherein the second read command identifies at least one of the neighboring memory cells as being programmed to a programming state in a predefined subset of the programming states that are expected to cause interference to the target memory cells; and
compensating for the interference caused to the target memory cells based upon the programming state of the neighboring memory cells that were identified by the second read command;
wherein storing the data comprises encoding the data with an Error Correction Code (ECC), and wherein reading the data using the first read command comprises computing soft decoding metrics for the data read from the target memory cells based on the neighboring memory cells that were identified by the second read command, and decoding the ECC of the target memory cells using the soft decoding metrics.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for data storage includes, in a memory system that stores data by programming analog memory cells to respective programming states selected from a predefined set, providing a first read command that retrieves the data stored in target memory cells, and a second read command that identifies at least one potentially-interfering memory cell that is programmed to a programming state in a predefined subset of programming states expected to cause interference. Given data is stored in a first group of the memory cells. After storing the given data, the given data is retrieved by reading the first group using the first read command, reading a second group of the memory cells using the second read command, and compensating for the interference caused to the first group by the memory cells in the second group that were identified by the second read command.
-
Citations
16 Claims
-
1. A method comprising:
-
storing data in a group of target memory cells of a memory system by programming analog memory cells to respective programming states selected from a predefined set; issuing a first read command that addresses one or more target memory cells and retrieves the data stored in the target memory cells; issuing a second read command that addresses one or more memory cells neighboring the target memory cells, wherein the second read command identifies at least one of the neighboring memory cells as being programmed to a programming state in a predefined subset of the programming states that are expected to cause interference to the target memory cells; and compensating for the interference caused to the target memory cells based upon the programming state of the neighboring memory cells that were identified by the second read command; wherein storing the data comprises encoding the data with an Error Correction Code (ECC), and wherein reading the data using the first read command comprises computing soft decoding metrics for the data read from the target memory cells based on the neighboring memory cells that were identified by the second read command, and decoding the ECC of the target memory cells using the soft decoding metrics. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A data storage apparatus, comprising:
-
a memory comprising multiple analog memory cells; and circuitry coupled to the memory and configured to; store data in the memory by programming the analog memory cells to respective programming states selected from a predefined set; provide a first read command that addresses one or more target memory cells and retrieves the data stored in the target memory cells; provide a second read command that addresses one or more potentially-interfering memory cells and identifies at least one of the potentially-interfering memory cells that is programmed to a programming state in a predefined subset of the programming states that are expected to cause interference; store given data in a first group of the memory cells; and after storing the given data, retrieve the given data by; reading the first group using the first read command; reading a second group of the memory cells using the second read command; and compensating for the interference caused to the first group by the memory cells in the second group that were identified by the second read command; wherein the circuitry is configured to encode the given data with an Error Correction Code (ECC), and to retrieve the given data by computing soft decoding metrics for the data read from the first group depending on the memory cells in the second group that were identified by the second read command, and decoding the ECC using the soft decoding metrics. - View Dependent Claims (10, 11, 13, 14, 15, 16)
-
-
12. A data storage apparatus comprising:
-
a memory comprising multiple analog memory cells; and circuitry coupled to the memory and configured to; store data in the memory by programming the analog memory cells to respective programming states selected from a predefined set; provide a first read command that addresses one or more target memory cells and retrieves the data stored in the target memory cells; provide a second read command that addresses one or more potentially-interfering memory cells and identifies at least one of the potentially-interfering memory cells that is programmed to a programming state in a predefined subset of the programming states that are expected to cause interference; store given data in a first group of the memory cells; and subsequent to storing the given data the circuitry is configured to; read the first group using the first read command and; read a second group of the memory cells using the second read command; and compensate for the interference caused to the first group by the memory cells in the second group that were identified by the second read command; wherein the first read command compares respective analog storage values of the target memory cells to one or more first sets of read thresholds, and wherein the second read command compares the respective analog storage values of the potentially-interfering memory cells to a second set of read thresholds, different from any of the first sets.
-
Specification