Search
Patexia Research
Patent No. US 11062756
Issue Date Jul 13, 2021
Claim this patent
PDF Unavailable

Patent 11062756 - Extending operating temperature of storage device > Claims

  • 1. An apparatus comprising: non-volatile memory cells; anda control circuit connected to the non-volatile memory cells, wherein the control circuit is configured to: fold single level cell (SLC) data stored in a first group of the non-volatile memory cells at one bit per memory cell to multi-level cell (MLC) data stored in a second group of the non-volatile memory cells at multiple bits per memory cell while an operating temperature is outside a first temperature range;maintain the SLC data in the first group after folding the SLC data in the first group to the MLC data in the second group;check data integrity of the MLC data in the second group after the operating temperature is within a second temperature range that is within the first temperature range;invalidate the SLC data in the first group responsive to the MLC data in the second group passing the data integrity check; andfold the SLC data in the first group to MLC data in a third group of the non-volatile memory cells responsive to the MLC data in the second group failing the data integrity check.
    • 2. The apparatus of claim 1, wherein the control circuit is further configured to: maintain the MLC data in the second group responsive to the MLC data in the second group passing the data integrity check; andinvalidate the MLC data in the second group responsive to the MLC data in the second group failing the data integrity check.
    • 3. The apparatus of claim 1, wherein the control circuit is further configured to: store a mapping of one or more logical addresses to one or more physical locations of the first group of the non-volatile memory cells; andchange the mapping of the one or more logical addresses from the one or more physical locations of the first group to one or more physical locations of the second group responsive to the MLC data in the second group passing the data integrity check.
    • 4. The apparatus of claim 1, wherein the control circuit is further configured to: read the SLC data in the first group responsive to a first read request from a host prior to the MLC data in the second group passing the data integrity check, the first read request for data associated with one or more logical addresses; andread the MLC data in the second group responsive to a second read request from the host after the MLC data in the second group passes the data integrity check, the second read request for the data associated with the one or more logical addresses.
    • 5. The apparatus of claim 1, wherein: the first temperature range comprises a first lower temperature threshold;the second temperature range comprises a second lower temperature threshold that is greater than the first lower temperature threshold; andthe control circuit is further configured to: fold the SLC data in the first group to the MLC data in the second group while the operating temperature is below the first lower temperature threshold; andcheck the data integrity of the MLC data in the second group after the operating temperature is above the second lower temperature threshold.
    • 6. The apparatus of claim 1, wherein: the first temperature range comprises a first upper temperature threshold;the second temperature range comprises a second upper temperature threshold that is lower than the first upper temperature threshold; andthe control circuit is configured to: fold the SLC data in the first group to the MLC data in the second group while the operating temperature is above the first upper temperature threshold; andcheck the data integrity of the MLC data in the second group after the operating temperature is below the second upper temperature threshold.
    • 20. The apparatus of claim 1, further comprising: means for storing a mapping of one or more logical addresses to one or more physical block addresses of the first group of the non-volatile memory cells and for changing the mapping of the one or more logical addresses from the one or more physical block addresses of the first group to one or more physical block addresses of the second group responsive to the MLC data in the second group passing the data integrity check.
  • 7. A method of operating non-volatile storage, the method comprising: storing a first mapping from one or more logical addresses to one or more physical locations of a first group of non-volatile memory cells in the non-volatile storage;folding single level cell (SLC) data stored in the first group at one bit per memory to multi-level cell (MLC) data stored in a second group of non-volatile memory cells in the non-volatile storage at multiple bits per memory cell while an operating temperature of the non-volatile storage is below a first temperature threshold;storing a second mapping from the one or more logical addresses to one or more physical locations of the second group of non-volatile memory cells;checking data integrity of the MLC data in the second group after the operating temperature is above a second temperature threshold that is at least has high as the first temperature threshold; andinvalidating the first mapping and maintaining the second mapping responsive to the MLC data in the second group passing the data integrity check.
    • 8. The method of claim 7, further comprising: invalidating the second mapping responsive to the MLC data in the second group failing the data integrity check.
      • 9. The method of claim 8, further comprising: folding the SLC data stored in the first group to MLC data stored in a third group of non-volatile memory cells in the non-volatile storage at multiple bits per memory cell responsive to the MLC data in the second group failing the data integrity check.
      • 10. The method of claim 8, further comprising: receiving a first request to read data associated with the one or more logical addresses after folding the SLC data in the first group to the MLC data in the second group but prior to the MLC data in the second group passing the data integrity check;accessing the first mapping; andreading the SLC data in the first group, based on the first mapping, to satisfy the first request.
        • 11. The method of claim 10, further comprising: receiving a second request to read data associated with the one or more logical addresses after the MLC data in the second group passes the data integrity check;accessing the second mapping; andreading the MLC data in the second group, based on the second mapping, to satisfy the second request.
    • 12. The method of claim 7, wherein storing the first mapping comprises: storing a mapping from the one or more logical addresses to one or more virtual addresses; andstoring a mapping from the one or more virtual addresses to the one or more physical locations of a first group of non-volatile memory cells.
      • 13. The method of claim 12, wherein storing the second mapping comprises: storing a mapping from the one or more virtual addresses to the one or more physical locations of a second group of non-volatile memory cells.
  • 14. A non-volatile storage device comprising: non-volatile memory cells; anda control circuit connected to the non-volatile memory cells, wherein the control circuit is configured to: copy single level cell (SLC) data in a first group of the non-volatile memory cells to multi-level cell (MLC) data in a second group of the non-volatile memory cells while an operating temperature is outside a first temperature range;set logical address to physical address mappings to return the SLC data in the first group in response to a request to read data for one or more logical addresses;check data integrity of the MLC data in the second group after the operating temperature is within a second temperature range that is within the first temperature range;responsive to the data integrity check indicating that the MLC data is within an error tolerance, set the logical address to physical address mappings to return the MLC data in the second group in response to a request to read data for the one or more logical addresses; andresponsive to the data integrity check indicating that the MLC data is outside of the error tolerance, copy the SLC data in the first group to MLC data in a third group of the non-volatile memory cells.
    • 15. The non-volatile storage device of claim 14, wherein the control circuit is further configured to: maintain the SLC data in the first group after copying the SLC data in the first group to the MLC data in the second group; anderase the SLC data in the first group if the data integrity check indicates the MLC data is within the error tolerance.
    • 16. The non-volatile storage device of claim 14, wherein the control circuit is further configured to: maintain the MLC data in the second group if the data integrity check indicates the MLC data is within the error tolerance; anderase the MLC data in the second group if the data integrity check indicates the MLC data is not within the error tolerance.
    • 17. The non-volatile storage device of claim 14, wherein: the first temperature range comprises a first lower temperature threshold;the second temperature range comprises a second lower temperature threshold that is greater than the first lower temperature threshold; andthe control circuit is further configured to: copy the SLC data in the first group to the MLC data in the second group while the operating temperature is below the first lower temperature threshold; andcheck the data integrity of the MLC data in the second group after the operating temperature is above the second lower temperature threshold.
    • 18. The non-volatile storage device of claim 14, wherein: the first temperature range comprises a first upper temperature threshold;the second temperature range comprises a second upper temperature threshold that is lower than the first upper temperature threshold; andthe control circuit is configured to: copy the SLC data in the first group to the MLC data in the second group while the operating temperature is above the first upper temperature threshold; andcheck the data integrity of the MLC data in the second group after the operating temperature is below the second upper temperature threshold.
    • 19. The non-volatile storage device of claim 14, wherein the control circuit is further configured to: use the logical address to physical address mappings to read the SLC data in the first group responsive to a first read request from a host prior to the MLC data in the second group being checked to being within the error tolerance, the first read request for data associated with one or more logical addresses; anduse the logical address to physical address mappings to read the MLC data in the second group responsive to a second read request from the host after the MLC data in the second group is checked to being within the error tolerance, the second read request for the data associated with the one or more logical addresses.
Menu