IP Library Granted Patent US 11,062,756
Granted Patent B2
US 11,062,756 · App. 16/601,236 · Granted Jul 13, 2021

Extending operating temperature of storage device

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,062,756
App. No.
16/601,236
Granted
Jul 13, 2021
Kind
B2
Abstract

A storage device having a wide range of operating temperatures is disclosed. Techniques disclosed herein may be used to operate MLC cells at higher temperatures before resorting to thermal throttling. Techniques disclosed herein may be used to operate MLC cells at lower temperatures without needing to pre-heat the storage device. SLC data stored in a first group of memory cells is folded to MLC data stored in a second group of memory cells while an operating temperature is outside a first temperature range. After the operating temperature is within a second temperature range, the data integrity of the MLC data is checked. The SLC data in the first group is folded to MLC data in a third group of memory cells responsive to the MLC data in the second group failing the data integrity check. The foregoing permits the storage device to increase its range in operating temperatures.

Claims (83)

1. An apparatus comprising:

non-volatile memory cells; and

a 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; and

fold 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; and

invalidate 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; and

change 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; and

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 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; and

the 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; and

check 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; and

the 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; and

check the data integrity of the MLC data in the second group after the operating temperature is below the second upper temperature threshold.

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; and

invalidating 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; and

reading 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; and

reading 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; and

storing 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; and

a 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; and

responsive 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; and

erase 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; and

erase 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; and

the 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; and

check 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; and

the 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; and

check 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; and

use 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.

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.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 051717 FRAME 0716 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0385 →
SECURITY INTEREST Recorded Feb 4, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 051717/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2019
From: GOPALAKRISHNAN, RAGHAVENDRA; LAI, JOANNA; VAYSMAN, DMITRY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 050718/0329 →