SYSTEM AND METHOD FOR MITIGATING READ DISTURBANCES OF WORDLINES
A memory system includes a memory device and a controller including a cache. The controller receives, from a host, a read request on a target wordline of the memory device; determines whether target data of the target wordline is in the cache; when the target data is not in the cache, reads the target data from the memory device, provides the read target data to the host, and stores the read target data in the cache; when the target data is in the cache, provides the target data in the cache to the host; determines whether the target wordline is in an attacker wordline list including neighbor wordlines adjacent to an intrinsic weak wordline; determines a cache score based on the determining whether the target wordline is in the attacker wordline list; and selectively evicts data entry of the cache based on the cache score.
1 . A memory system comprising:
a memory device including a memory array coupled to a plurality of wordlines; and
a controller including a cache, and configured to:
receive, from a host, a read request on a target wordline selected from among the plurality of wordlines;
determine whether target data of the target wordline is in the cache;
when it is determined that the target data is not in the cache, read the target data from the memory device, provide the read target data to the host, and store the read target data in the cache;
when it is determined that the target data is in the cache, provide the target data in the cache to the host;
determine whether the target wordline is in an attacker wordline list including neighbor wordlines adjacent to an intrinsically weak wordline susceptible to read disturbances;
determine a cache score based on the determining whether the target wordline is in the attacker wordline list; and
evict a data entry of the cache based on the cache score.
2 . The memory system of claim 1 , wherein, when it is determined that the target data is not in the cache and the target wordline is in the attacker wordline list, the controller determines the cache score as a first score, and
when it is determined that the target data is not in the cache and the target wordline is not in the attacker wordline list, the controller determines the cache score as a second score less than the first score.
3 . The memory system of claim 2 , wherein the controller is further configured to determine whether the cache is full.
4 . The memory system of claim 3 , wherein, when it is determined that the cache is full, the controller evicts data entry with the lowest cache score from the cache based on the cache score.
5 . The memory system of claim 1 , wherein, when it is determined that the target data is in the cache and the target wordline is in the attacker wordline list, the controller determines the cache score based on a first score.
6 . The memory system of claim 5 , wherein, when it is determined that the target data is in the cache and the target wordline is not in the attacker wordline list, the controller determines the cache score based on a second score, which is less than the first score.
7 . The memory system of claim 6 , wherein the controller determines the cache score as a minimum value between a threshold score and a sum of the first score and a previous cache score for the target wordline when it is determined that the target data is in the cache and the target wordline is in the attacker wordline list.
8 . The memory system of claim 7 , wherein the controller determines the cache score as a minimum value between the threshold score and a sum of the second score and a previous cache score for the target wordline when it is determined that the target data is in the cache and the target wordline is not in the attacker wordline list.
9 . The memory system of claim 5 , wherein the threshold score is a maximum score for overflow protection of cache scores corresponding to data entries in the cache.
10 . The memory system of claim 1 , wherein the controller determines the cache score based on the determining whether the target wordline is in the attacker wordline list, and a hotness of the target data.
11 . A method for operating a controller including a cache and coupled to a memory device including a memory array coupled to a plurality of wordlines, the method comprising:
receiving, from a host, a read request on a target wordline selected from among the plurality of wordlines;
determining whether target data of the target wordline is in the cache;
when it is determined that the target data is not in the cache, reading the target data from the memory device, providing the read target data to the host, and storing the read target data in the cache;
when it is determined that the target data is in the cache, providing the target data in the cache to the host;
determining whether the target wordline is in an attacker wordline list including neighbor wordlines adjacent to an intrinsically weak wordline susceptible to read disturbances;
determining a cache score based on the determining whether the target wordline is in the attacker wordline list; and
evicting a data entry of the cache based on the cache score.
12 . The method of claim 11 , wherein the determining of the cache score comprises:
determining the cache score as a first score when it is determined that the target data is not in the cache and the target wordline is in the attacker wordline list, and
determining the cache score as a second score less than the first score when it is determined that the target data is not in the cache and the target wordline is not in the attacker wordline list.
13 . The method of claim 12 , further comprising determining whether the cache is full.
14 . The method of claim 13 , wherein the evicting of data entry of the cache comprises:
evicting data entry with the lowest cache score from the cache based on the cache score when it is determined that the cache is full.
15 . The method of claim 11 , wherein the determining of the cache score comprises:
determining the cache score based on a first score when it is determined that the target data is in the cache and the target wordline is in the attacker wordline list.
16 . The method of claim 15 , wherein the determining of the cache score comprises:
determining the cache score based on a second score less than the first score when it is determined that the target data is in the cache and the target wordline is not in the attacker wordline list.
17 . The method of claim 16 , wherein the determining of the cache score comprises:
determining the cache score as a minimum value between a threshold score and a sum of the first score and a previous cache score for the target wordline when it is determined that the target data is in the cache and the target wordline is in the attacker wordline list.
18 . The method of claim 17 , wherein the determining of the cache score comprises:
determining the cache score as a minimum value between the threshold score and a sum of the second score and a previous cache score for the target wordline when it is determined that the target data is in the cache and the target wordline is not in the attacker wordline list.
19 . The method of claim 15 , wherein the threshold score is a maximum score for overflow protection of cache scores corresponding to data entries in the cache.
20 . The method of claim 11 , wherein the determining of the cache score comprises:
determining the cache score based on the determining whether the target wordline is in the attacker wordline list, and a hotness of the target data.