Systems and methods presented herein provide for mitigating errors in a storage device. In one embodiment, a storage system includes a storage device comprising a plurality of storage areas operable to store data, and a controller operable to evaluate operating conditions of the storage device, to perform a background scan on a first of the storage areas to characterize a read retention of the first storage area, and to adjust a read signal of the first storage area based on the characterized read retention and the operating conditions of the storage device.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A storage system, comprising: a storage device comprising a plurality of storage areas operable to store data; and a controller operable to evaluate operating conditions of the storage device, to track a time of last programming and a time of last retention test associated with each the plurality of storage areas, to perform a background scan on a first storage area of the plurality of storage areas, to read at least a portion of the first storage area without data transfer based on the tracked time of last programming of the first storage area, and to adjust a reference voltage for the first storage area based on the tracked time of last programming and tracked time of last retention test of the first storage area and the operating conditions of the storage device, wherein adjusting the reference voltage for the first storage area based on the tracked time of last programming and tracked time of last retention test of the first storage area comprises adjusting the reference voltage for the first storage area after a second threshold amount of time since the reference voltage has been adjusted.
2. The storage system of claim 1 , wherein reading the at least a portion of the first storage area without data transfer based on the tracked time of last programming of the first storage area comprises: reading at least one page of a block of the first storage area after a first threshold amount of time has passed since the time of last programming of the first storage area.
3. The storage system of claim 1 , wherein the controller is further operable to: track a temperature of the storage device when the first storage area was programmed; upon performing the background scan on a first storage area, determine a current temperature of the storage device; and adjust the reference voltage based on a comparison of the current temperature and the tracked temperature of the storage device when the first storage area was programmed.
4. The storage system of claim 3 , wherein the controller is further operable to access a lookup table to determine how to adjust the reference voltage based on the comparison of the current temperature and the tracked temperature of the storage device when the first storage area was programmed and a number of program erase cycles performed on the first storage area.
5. The storage system of claim 1 , wherein: the storage device is a three-dimensional NAND flash device.
6. A method, comprising: evaluating operating conditions of a storage device comprising a plurality of storage areas operable to store data; tracking a time of last programming and a time of last retention test associated with each the plurality of storage areas; performing a background scan on a first storage area of the plurality of storage areas; reading at least a portion of the first storage area without data transfer based on the tracked time of last programming of the first storage area; and adjusting a reference voltage of the first storage area based on the tracked time of last programming and tracked time of last retention test of the first storage area and the operating conditions of the storage device, wherein adjusting the reference voltage for the first storage area based on the tracked time of last programming and tracked time of last retention test of the first storage area comprises adjusting the reference voltage for the first storage area after a second threshold amount of time since the reference voltage has been adjusted.
7. The method of claim 6 , wherein reading the at least a portion of the first storage area without data transfer based on the tracked time of last programming of the first storage area comprises: reading at least one page of a block of the first storage area after a first threshold amount of time has passed since the time of last programming of the first storage area.
8. The method of claim 6 , wherein the method further comprises: tracking a temperature of the storage device when the first storage area was programmed; upon performing the background scan on a first storage area, determining a current temperature of the storage device; and adjusting the reference voltage based on a comparison of the current temperature and the tracked temperature of the storage device when the first storage area was programmed.
9. The method of claim 8 , further comprising: accessing a lookup table to determine how to adjust the reference voltage based on the comparison of the current temperature and the tracked temperature of the storage device when the first storage area was programmed and a number of program erase cycles performed on the first storage area.
10. The method of claim 6 , wherein: the storage device is a three-dimensional NAND flash device.
11. A non-transitory computer readable medium, comprising instructions that, when executed by a controller of a storage system, direct the controller to: evaluate operating conditions of a NAND flash storage device comprising a plurality of storage areas operable to store data; track a time of last programming and a time of last retention test associated with each the plurality of storage areas; perform a background scan on a first storage area of the plurality of storage areas; read at least a portion of the first storage area without data transfer based on the tracked time of last programming of the first storage area; and adjust a reference voltage of the first storage area based on the tracked time of last programming and tracked time of last retention test of the first storage area and the operating conditions of the storage device, wherein adjusting the reference voltage for the first storage area based on the tracked time of last programming and tracked time of last retention test of the first storage area comprises adjusting the reference voltage for the first storage area after a second threshold amount of time since the reference voltage has been adjusted.
12. The non-transitory computer readable medium of claim 11 , wherein reading the at least a portion of the first storage area without data transfer based on the tracked time of last programming of the first storage area comprises: reading at least one page of a block of the first storage area after a first threshold amount of time has passed since the time of last programming of the first storage area.
13. The non-transitory computer readable medium of claim 11 , further comprising instructions that direct the controller to: track a temperature of the NAND flash storage device when the first storage area was programmed; upon performing the background scan on a first storage area, determine a current temperature of the NAND flash storage device; and adjust the reference voltage based on a comparison of the current temperature and the tracked temperature of the NAND flash storage device when the first storage area was programmed.
14. The non-transitory computer readable medium of claim 13 , further comprising instructions that direct the controller to: access a lookup table to determine how to adjust the reference voltage based on the comparison of the current temperature and the tracked temperature of the NAND flash storage device when the first storage area was programmed and a number of program erase cycles performed on the first storage area.
15. The storage system of claim 1 , wherein the second threshold amount of time is calculated from a programmable threshold value and a multiple of the tracked time of last programming of the first storage area.
16. The method of claim 6 , wherein the second threshold amount of time is calculated from a programmable threshold value and a multiple of the tracked time of last programming of the first storage area.
17. The non-transitory computer readable medium of claim 11 , wherein the second threshold amount of time is calculated from a programmable threshold value and a multiple of the tracked time of last programming of the first storage area.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 9, 2019
March 9, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.