Systems, methods, and media for reducing performance penalties caused by read re-tries
Mechanism, including systems, methods, and media, for reducing performance penalties caused by read re-tries are provided, the mechanisms including: maintaining a count of total reads for a block of non-volatile memory; maintaining a count of read re-tries for the block; determining a trigger rate based on the count of read re-tries for the block and the count of total reads for the block using a hardware processor; and tagging the block for data refresh based at least in part on the trigger rate meeting a trigger rate threshold. In some embodiments, the mechanisms further comprise: maintaining a count of block moves for a die corresponding to the block; and warning a user of device degradation based at least in part on the count of block moves meeting a maximum-number-of-moves-per-die threshold.
1 . A system for reducing performance penalties caused by read re-tries, comprising:
memory; and
at least one hardware processor that is collectively configured to at least:
maintain a count of total reads for a block of non-volatile memory;
maintain a count of read re-tries for the block, wherein maintaining the count of read re-tries for the block comprises adjusting the count of read re-tries in response to determining that a read re-try is not needed;
determine a trigger rate based on the count of read re-tries for the block and the count of total reads for the block; and
tag the block for data refresh based at least in part on the trigger rate meeting a trigger rate threshold.
2 . The system of claim 1 , wherein the at least one hardware processor is further collectively configured to at least:
maintain a count of block moves for a die corresponding to the block; and
warn a user of device degradation based at least in part on the count of block moves meeting a maximum-number-of-moves-per-die threshold.
3 . The system of claim 1 , wherein maintaining the count of total reads for the block comprises incrementing the count of total reads for the block in response to a successful read from the block.
4 . The system of claim 1 , wherein maintaining the count of read re-tries for the block comprises incrementing the count of read re-tries for the block in response to a successful read re-try from the block.
5 . The system of claim 1 , wherein the trigger rate is equal to the count of read re-tries for the block divided by the count of total reads for the block.
6 . The system of claim 1 , wherein the adjusting the count of read re-tries in response to determining that a read re-try is not needed comprises decrementing the count of read re-tries.
7 . The system of claim 1 , wherein the at least one hardware processor is further collectively configured to at least:
determine that a read retry was not successful; and
perform error handing in response to determining that the read retry was not successful.
8 . A method for reducing performance penalties caused by read re-tries, comprising:
maintaining a count of total reads for a block of non-volatile memory;
maintaining a count of read re-tries for the block, wherein maintaining the count of read re-tries for the block comprises adjusting the count of read re-tries in response to determining that a read re-try is not needed;
determining a trigger rate based on the count of read re-tries for the block and the count of total reads for the block using a hardware processor; and
tagging the block for data refresh based at least in part on the trigger rate meeting a trigger rate threshold.
9 . The method of claim 8 , further comprising:
maintaining a count of block moves for a die corresponding to the block; and
warning a user of device degradation based at least in part on the count of block moves meeting a maximum-number-of-moves-per-die threshold.
10 . The method of claim 8 , wherein maintaining the count of total reads for the block comprises incrementing the count of total reads for the block in response to a successful read from the block.
11 . The method of claim 8 , wherein maintaining the count of read re-tries for the block comprises incrementing the count of read re-tries for the block in response to a successful read re-try from the block.
12 . The method of claim 8 , wherein the trigger rate is equal to the count of read re-tries for the block divided by the count of total reads for the block.
13 . The method of claim 8 , wherein the adjusting the count of read re-tries in response to determining that a read re-try is not needed comprises decrementing the count of read re-tries.
14 . The method of claim 8 , further comprising:
determining that a read retry was not successful; and
performing error handing in response to determining that the read retry was not successful.
15 . A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method for reducing performance penalties caused by read re-tries, the method comprising:
maintaining a count of total reads for a block of non-volatile memory;
maintaining a count of read re-tries for the block, wherein maintaining the count of read re-tries for the block comprises adjusting the count of read re-tries in response to determining that a read re-try is not needed;
determining a trigger rate based on the count of read re-tries for the block and the count of total reads for the block; and
tagging the block for data refresh based at least in part on the trigger rate meeting a trigger rate threshold.
16 . The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:
maintaining a count of block moves for a die corresponding to the block; and
warning a user of device degradation based at least in part on the count of block moves meeting a maximum-number-of-moves-per-die threshold.
17 . The non-transitory computer-readable medium d of claim 15 , wherein maintaining the count of total reads for the block comprises incrementing the count of total reads for the block in response to a successful read from the block.
18 . The non-transitory computer-readable medium of claim 15 , wherein maintaining the count of read re-tries for the block comprises incrementing the count of read re-tries for the block in response to a successful read re-try from the block.
19 . The non-transitory computer-readable medium of claim 15 , wherein the trigger rate is equal to the count of read re-tries for the block divided by the count of total reads for the block.
20 . The non-transitory computer-readable medium of claim 15 , wherein the adjusting the count of read re-tries in response to determining that a read re-try is not needed comprises decrementing the count of read re-tries.
21 . The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:
determining that a read retry was not successful; and
performing error handing in response to determining that the read retry was not successful.