Read disturb reclaim policy
Memory systems may include a memory including a plurality of memory blocks and a controller. The controller calculates an effective read disturb based on both a direct neighbor read disturb count and a non-direct neighbor read disturb count. The controller selects a wordline with the largest effective read disturb for test read and deciding whether to reclaim the data of the block based on the errors on the wordline.
1. A memory system, comprising:
a memory including a plurality of blocks; and
a controller configured to:
calculate an effective read disturb based on both a direct neighbor read disturb count and a non-direct neighbor read disturb count;
select a wordline with a largest effective read disturb for test read; and
decide whether to reclaim data of a block based on errors on the wordline, wherein the block is one of the plurality of blocks.
2. The memory system of claim 1 , further comprising an error threshold based on a difference between an error correction code (ECC) correction capability of the memory system and a total number of errors accumulated in the block.
3. The memory system of claim 1 , wherein the controller is further configured to:
calculate the non-direct neighbor read disturb count with a fixed ratio determined by a fixed ratio solution based on flash pre-characterization.
4. The memory system of claim 3 , wherein the controller uses the fixed ratio of 1:2 favoring direct neighbor read disturb.
5. The memory system of claim 1 , wherein the controller is further configured to:
calculate the non-direct neighbor read disturb count with an adaptive ratio determined by an adaptive ratio learning.
6. The memory system of claim 5 , wherein the adaptive ratio learning is determined based on a raw error number increase per one read disturb from direct neighbor wordline and a raw error number increase per one read disturb from non-direct neighbor wordline.
7. The memory system of claim 6 , wherein the raw error number increase per one read disturb from direct neighbor wordline is determined by
X
1
=
(
ERR
(
WL
i
)
-
ERR
(
WL
j
)
)
×
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
k
)
)
-
(
ERR
(
WL
i
)
-
ERR
(
WL
k
)
)
×
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
j
)
)
*
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
k
)
)
-
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
k
)
)
*
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
8. The memory system of claim 6 , wherein the raw error number increase per one read disturb from non-direct neighbor wordline is determined by
X
2
=
(
ERR
(
WL
i
)
-
ERR
(
WL
j
)
)
×
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
k
)
)
-
(
ERR
(
WL
i
)
-
ERR
(
WL
k
)
)
×
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
j
)
)
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
*
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
k
)
)
-
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
j
)
)
*
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
9. A method, comprising:
calculating an effective read disturb metric based on both direct neighbor read disturb count and non-direct neighbor read disturb count;
selecting a wordline with a largest effective read disturb for test read; and
deciding whether to reclaim data of a block based on errors on the wordline, wherein the block is one of the plurality of blocks.
10. The method of claim 9 , further comprising calculating the non-direct neighbor read disturb count with a fixed ratio determined by a fixed ratio solution based on flash pre-characterization.
11. The method of claim 10 , wherein the fixed ratio is 1:2 favoring direct neighbor read disturb.
12. The method of claim 9 , further comprising calculating the non-direct neighbor read disturb count with an adaptive ratio determined by an adaptive ratio learning.
13. The method of claim 12 , wherein the adaptive ratio learning is determined based on a raw error number increase per one read disturb from direct neighbor wordline and a raw error number increase per one read disturb from non-direct neighbor wordline.
14. The method of claim 13 , wherein the raw error number increase per one read disturb from direct neighbor wordline is determined by
X
1
=
(
ERR
(
WL
i
)
-
ERR
(
WL
j
)
)
×
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
k
)
)
-
(
ERR
(
WL
i
)
-
ERR
(
WL
k
)
)
×
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
j
)
)
*
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
k
)
)
-
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
k
)
)
*
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
15. The method of claim 13 , wherein the raw error number increase per one read disturb from non-direct neighbor wordline is determined by
X
2
=
(
ERR
(
WL
i
)
-
ERR
(
WL
j
)
)
×
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
k
)
)
-
(
ERR
(
WL
i
)
-
ERR
(
WL
k
)
)
×
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
j
)
)
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
*
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
k
)
)
-
(
NumDirect
(
WL
i
)
-
NumDirect
(
WL
j
)
)
*
(
NumNonDirect
(
WL
i
)
-
NumNonDirect
(
WL
j
)
)
16. A memory device, comprising:
a memory including a plurality of blocks;
one or more counters suitable for generating direct neighbor read disturb count and non-direct neighbor read disturb count;
a control circuit configured to:
calculate an effective read disturb metric based on both of the direct neighbor read disturb count and non-direct neighbor read disturb count;
select a wordline with a largest effective read disturb for test read; and
decide whether to reclaim data of a block based on errors on the word line, wherein the block is one of the plurality of blocks.
17. The memory device of claim 16 , wherein the non-direct neighbor read disturb count is calculated with a fixed ratio determined by a fixed ratio solution based on flash pre-characterization.
18. The memory device of claim 17 , wherein the fixed ratio is 1:2 favoring direct neighbor read disturb.
19. The memory device of claim 16 , wherein the non-direct neighbor read disturb count is calculated with an adaptive ratio determined by an adaptive ratio learning.
20. The memory device of claim 19 , wherein the adaptive ratio learning is determined based on a raw error number increase per one read disturb from direct neighbor wordline and a raw error number increase per one read disturb from non-direct neighbor wordline.