# US 8,788,923 B2 · Methods and apparatus for soft demapping and intercell interference mitigation in flash memories

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,923 B2
- Document ID: US8788923B2
- Status: Granted
- Kind: B2
- Application number: 13/001,317
- Filed: 2009-06-30
- Published: 2011-06-16
- Granted: 2014-07-22
- Earliest claimed: 2008-07-01
- Assignees: LSI Corporation
- Applicants: Erich F. Haratsch; Milos Ivkovic; Victor Krachkovsky; Nenad Miladinovic; Andrei Vityaev; Johnson Yen
- Inventors: Erich F. Haratsch; Milos Ivkovic; Victor Krachkovsky; Nenad Miladinovic; Andrei Vityaev; Johnson Yen
- Web page: https://patentgrep.com/patent/US8788923B2

## CPC

- G11C 16/3427: {Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written}
- G06F 11/1072: {in multilevel memories}
- G11C 5/00: Details of stores covered by group G11C11/00
- G11C 7/02: with means for avoiding parasitic signals
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C 11/5628: {Programming or writing circuits; Data input circuits}
- G11C 11/5642: {Sensing or reading circuits; Data output circuits}
- G11C 16/10: Programming or data input circuits
- G11C 16/3418: {Disturbance prevention or evaluation; Refreshing of disturbed memory data}
- G11C: STATIC STORES (semiconductor memory devices H10B)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and apparatus are provided for soft demapping and intercell interference mitigation in flash memories. In one variation, a target cell in a flash memory device capable of storing at least two data levels, s, per cell is read by obtaining a measured read value, r, for at least one target cell in the flash memory; obtaining a value, h, representing data stored for at least one aggressor cell in the flash memory; selecting one or more probability density functions based on a pattern of values stored in at least a portion of the flash memory, wherein the probability density functions comprises pattern-dependent disturbance of one or more aggressor cells on the at least one target cell in the flash memory; evaluating at least one selected probability density function based on the measured read value, r; and computing one or more log likelihood ratios based on a result of the evaluating step.

## Claims

### Claim 1

A method for reading a target cell in a flash memory device capable of storing at least two data levels, s, per cell, said method comprising:
obtaining a measured read value, r, for at least one target cell in said flash memory;
evaluating at least one probability density function based on said measured read value, r, wherein said probability density function indicates a probability of measuring a read value, r, for a given data level, s; and
computing one or more log likelihood ratios based on a result of said evaluating step; wherein said computing step further comprises the step of:
aggregating for each of two possible binary values said probability of measuring a read value, r, for a given data level, s, for multiple data levels associated with said two possible binary values.

### Claim 2 (depends on 1)

The method of claim 1, wherein said probability density function further comprises an expression of disturbance on said target cell.

### Claim 3 (depends on 1)

The method of claim 1, wherein said probability density function further comprises an expression of pattern-dependent disturbance of one or more aggressor cells on at least one target cell in said flash memory.

### Claim 4 (depends on 1)

The method of claim 1, further comprising the step of forming a ratio based on said aggregated probabilities for each of said two possible binary values.

### Claim 5 (depends on 1)

The method of claim 1, further comprising the step of multiplying said aggregated probabilities for each of said two possible binary values by an expression based on one or more a priori probability values for all bits within a cell other than a bit for which said log likelihood ratio is being computed.

### Claim 6 (depends on 1)

The method of claim 1, where said aggregating comprises one or more of a sum and a multiplication.

### Claim 7 (depends on 1)

The method of claim 1, wherein said computing step evaluates the following expression:
L
e
⁡
(
C
t
)
=
log
⁢
∑
s
∈
χ
0
t
⁢
p
⁡
(
r
❘
s
)
·
∏
q
=
1
,
q
≠
t
m
⁢
exp
⁡
(
-
L
a
⁡
(
C
q
)
·
c
q
)
∑
s
∈
χ
1
t
⁢
p
⁡
(
r
❘
s
)
·
∏
r
=
1
,
q
≠
t
m
⁢
exp
⁡
(
-
L
a
⁡
(
C
q
)
·
c
q
)
(
2
)
where p(r|s) are the probability density functions characterizing the flash memory; cq is the coded bit, m is the number of bits per cell, La(Ct) is the log likelihood ratio, La(Cq) is the log likelihood ratio for encoded bit Cq, Le(Ct) is extrinsic log likelihood ratio, and χctit is a subset of symbols whose bit labels have the value Ct=ct on position t.

### Claim 8 (depends on 1)

The method of claim 1, wherein said disturbance comprises one or more of back pattern dependency, intercell interference, program disturb, read disturb and additional noise.

### Claim 9 (depends on 1)

The method of claim 1, wherein said probability density function is represented as one or more of a stored table and an expression.

### Claim 10

A method for reading a target cell in a flash memory device capable of storing at least two data levels, s, per cell, said method comprising:
obtaining a measured read value, r, for at least one target cell in said flash memory;
obtaining a value, h, representing data stored for at least one aggressor cell in said flash memory;
selecting one or more probability density functions based on a pattern of values stored in at least a portion of said flash memory, wherein said probability density functions comprises pattern-dependent disturbance of one or more aggressor cells on said at least one target cell in said flash memory;
evaluating at least one selected probability density function based on said measured read value, r; and
computing one or more log likelihood ratios based on a result of said evaluating step.

### Claim 11 (depends on 10)

The method of claim 10, wherein said value, h, is one or more of a hard decision and a soft value.

### Claim 12 (depends on 10)

The method of claim 10, wherein said computing step further comprises the step of aggregating for each of two possible binary values said probability of measuring a read value, r, for a given data level, s, for all data levels associated with said two possible binary values.

### Claim 13 (depends on 12)

The method of claim 12, further comprising the step of forming a ratio based on said aggregated probabilities for each of said two possible binary values.

### Claim 14 (depends on 12)

The method of claim 12, further comprising the step of multiplying said aggregated probabilities for each of said two possible binary values by an expression based on one or more a priori probability values for all bits within a cell other than a bit for which said log likelihood ratio is being computed.

### Claim 15 (depends on 12)

The method of claim 12, where said aggregating comprises one or more of a sum and a multiplication.

### Claim 16 (depends on 12)

The method of claim 12, wherein said evaluating step determines a pattern-dependent probability of measuring a read value, r, for a given data level, s, for a given pattern of values stored in said one or more aggressor cells.

### Claim 17 (depends on 10)

The method of claim 10, wherein said computing step evaluates the following expression:
L
e
⁡
(
C
t
)
=
log
⁢
∑
s
∈
χ
0
t
⁢
p
⁡
(
r
❘
s
,
h
(
i
±
1
,
j
)
,
h
(
i
,
j
±
1
)
,
h
(
i
±
1
,
j
±
1
)
)
·
∏
q
=
1
,
q
≠
t
m
⁢
exp
⁡
(
-
L
a
⁡
(
C
q
)
·
c
q
)
∑
s
∈
χ
1
t
⁢
p
⁡
(
r
❘
s
,
h
(
i
±
1
,
j
)
,
h
(
i
,
j
±
1
)
,
h
(
i
±
1
,
j
±
1
)
)
·
∏
r
=
1
,
q
≠
t
m
⁢
exp
⁡
(
-
L
a
⁡
(
C
q
)
·
c
q
)
(
3
)
where h(i,j) are voltage levels of the aggressor cells, based on the hard output of said flash memory, p(r|s) are the probability density functions characterizing the flash memory; r is the received signal, s is the noiseless signal, cq is the coded bit, m is the number of bits per cell, La(Ct) is the log likelihood ratio, La(Cq) is the log likelihood ratio for encoded bit Cq, Le(Ct) is extrinsic log likelihood ratio, and χctit is a subset of symbols whose bit labels have the value Ct=ct on position t.

### Claim 18 (depends on 10)

The method of claim 10, wherein said probability density functions further comprise one or more of back pattern dependency, intercell interference, program disturb, read disturb and additional noise.

### Claim 19 (depends on 10)

The method of claim 10, wherein said probability density function is represented as one or more of a stored table and an expression.

### Claim 20 (depends on 10)

The method of claim 10, further comprising the step of performing multiple iterations using soft information.

### Claim 21 (depends on 10)

The method of claim 10, wherein at least one of said one or more probability density functions comprises a histogram.

### Claim 22 (depends on 10)

The method of claim 10, wherein at least one of said one or more probability density functions is expressed using a Gaussian approximation.

### Claim 23 (depends on 10)

The method of claim 10, wherein at least one of said one or more probability density functions is based on a trellis-based algorithm.

### Claim 24

A method for characterizing disturbance in a flash memory, comprising:
obtaining one or more probability density functions that express pattern-dependent disturbance of one or more aggressor cells on at least one target cell; and
selecting one or more of said probability density functions based on a pattern of values stored in at least a portion of said flash memory.

### Claim 25 (depends on 24)

The method of claim 24, wherein said disturbance comprises one or more of back pattern dependency, intercell interference, program disturb, read disturb and additional noise.

### Claim 26 (depends on 24)

The method of claim 24, wherein said probability density function is represented as one or more of a stored table and an expression.

### Claim 27 (depends on 24)

The method of claim 24, further comprising the step of updating said probability density function based on one or more data decisions.

### Claim 28

A system for reading a target cell in a flash memory device capable of storing at least two data levels, s, per cell, comprising:
a memory; and
at least one processor, coupled to the memory, operative to:
obtain a measured read value, r, for at least one target cell in said flash memory;
evaluate at least one probability density function based on said measured read value, r, wherein said probability density function indicates a probability of measuring a read value, r, for a given data level, s; and
compute one or more log likelihood ratios based on a result of said evaluation; wherein said computation comprises aggregating for each of two possible binary values said probability of measuring a read value, r, for a given data level, s, for multiple data levels associated with said two possible binary values.

### Claim 29 (depends on 28)

The system of claim 28, wherein said at least one hardware device is further configured to form a ratio based on said aggregated probabilities for each of said two possible binary values.

### Claim 30 (depends on 28)

The system of claim 28, wherein said at least one hardware device is further configured to multiply said aggregated probabilities for each of said two possible binary values by an expression based on one or more a priori probability values for all bits within a cell other than a bit for which said log likelihood ratio is being computed.

### Claim 31 (depends on 28)

The system of claim 28, wherein said aggregating comprises one or more of a sum and a multiplication.

### Claim 32 (depends on 28)

The system of claim 28, wherein said computation of one or more log likelihood ratios evaluates the following expression:
L
e
⁡
(
C
t
)
=
log
⁢
∑
s
∈
χ
0
t
⁢
p
⁡
(
r
❘
s
)
·
∏
q
=
1
,
q
≠
t
m
⁢
exp
⁡
(
-
L
a
⁡
(
C
q
)
·
c
q
)
∑
s
∈
χ
1
t
⁢
p
⁡
(
r
❘
s
)
·
∏
r
=
1
,
q
≠
t
m
⁢
exp
⁡
(
-
L
a
⁡
(
C
q
)
·
c
q
)
(
2
)
where p(r|s) are the probability density functions characterizing the flash memory; cq is the coded bit, m is the number of bits per cell, La(Ct) is the log likelihood ratio, La(Cq) is the log likelihood ratio for encoded bit Cq, Le(Ct) is extrinsic log likelihood ratio, and
χct1t is a subset of symbols whose bit labels have the value Ci=ct on position t.

### Claim 33

A system for reading a target cell in a flash memory device capable of storing at least two data levels, s, per cell, comprising:
a memory; and
at least one processor, coupled to the memory, operative to:
obtain a measured read value, r, for at least one target cell in said flash memory;
obtain a value, h, representing data stored for at least one aggressor cell in said flash memory;
select one or more probability density functions based on a pattern of values stored in at least a portion of said flash memory, wherein said probability density functions comprises pattern-dependent disturbance of one or more aggressor cells on said at least one target cell in said flash memory;
evaluate at least one selected probability density function based on said measured read value, r; and
compute one or more log likelihood ratios based on a result of said evaluation.
