IP Library Granted Patent US 9,275,741
Granted Patent B1
US 9,275,741 · App. 14/482,852 · Granted Mar 1, 2016

Temperature compensation management in solid-state memory

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 9,275,741
App. No.
14/482,852
Granted
Mar 1, 2016
Kind
B1
Abstract

Systems and methods are disclosed for programming data in a non-volatile memory array are disclosed. A data storage device includes a non-volatile memory array including a plurality of non-volatile memory cells and a controller configured to receive a signal indicating a temperature of at least a portion of the data storage device. The controller determines a first offset program verify level associated with a first programming level based at least in part on the temperature and programs a first set of the memory cells of the non-volatile memory array using the first offset program verify level.

Claims (51)

1. A data storage device comprising:

a non-volatile memory array including a plurality of non-volatile memory cells; and

a controller configured to:

receive a signal indicating a temperature of at least a portion of the data storage device;

determine a first offset program verify level associated with a first programming level based at least in part on the temperature;

determine a second offset program verify level associated with a second programming level based at least in part on the temperature;

program a first set of the memory cells of the non-volatile memory array using the first offset program verify level; and

program a second set of the memory cells of the non-volatile memory array using the second offset program verify level;

wherein the first and second offset program verify levels are determined to provide more even distribution of programming levels, thereby reducing an overall bit error rate associated with the non-volatile memory array.

2. The data storage device of claim 1 , wherein the controller is further configured to program one or more of the memory cells using multi-level cell (MLC) programming.

3. The data storage device of claim 1 , wherein said determining the first offset program verify level is based at least in part on a program/erase (P/E) count associated with the first set of memory cells.

4. The data storage device of claim 1 , wherein said determining the first offset program verify level is based at least in part on a bit error rate associated with the first set of memory cells.

5. The data storage device of claim 1 , wherein the first offset program verify level is determined by a real-time calculation based at least in part on the temperature.

6. A data storage device comprising:

a non-volatile memory array including a plurality of non-volatile memory cells; and

a controller configured to:

receive a signal indicating a temperature of at least a portion of the data storage device;

determine a first offset program verify level associated with a first programming level based at least in part on the temperature, said determining comprising adding an offset value to a default program verify level, the offset value being based at least in part on the temperature; and

program a first set of the memory cells of the non-volatile memory array using the first offset program verify level;

wherein the offset value is greater than zero when the temperature is greater than or equal to a first predetermined temperature threshold, and wherein the offset value is less than zero when the temperature is lower than a second predetermined temperature threshold.

7. The data storage device of claim 6 , wherein the first predetermined temperature threshold is approximately 25° C.

8. A data storage device comprising:

a non-volatile memory array including a plurality of non-volatile memory cells; and

a controller configured to:

receive a signal indicating a temperature of at least a portion of the data storage device;

maintain a system table associating temperature values with program verify level offset values;

determine a first offset program verify level associated with a first programming level based at least in part on the temperature and the system table; and

program a first set of the memory cells of the non-volatile memory array using the first offset program verify level.

9. A data storage device comprising:

a non-volatile memory array including a plurality of non-volatile memory cells; and

a controller configured to:

receive a signal indicating a temperature of at least a portion of the data storage device;

determine a first offset program verify level associated with a first programming level based at least in part on the temperature;

program a first set of the memory cells of the non-volatile memory array using the first offset program verify level;

determine an offset voltage read level associated with the first programming level based at least in part on the temperature; and

read a second set of the memory cells of the non-volatile memory array using the offset voltage read level.

10. A method of programming data in a data storage system comprising a non-volatile memory array, the method comprising:

receiving a signal indicating a temperature of at least a portion of a data storage device;

determining a first offset program verify level associated with a first programming level based at least in part on the temperature;

programming a first set of memory cells of a non-volatile memory array of the data storage device using the first offset program verify level;

determining an offset voltage read level associated with the first programming level based at least in part on the temperature; and

reading a second set of the memory cells of the non-volatile memory array using the offset voltage read level;

wherein the method is performed under the control of a controller of the data storage device.

11. The method of claim 10 , further comprising:

determining a second offset program verify level associated with a second programming level based at least in part on the temperature; and

programming a third set of the memory cells of the non-volatile memory array using the second offset program verify level.

12. The method of claim 10 , wherein said determining the first offset program verify level is based at least in part on a program/erase (P/E) count associated with the first set of memory cells.

13. The method of claim 10 , wherein said determining the first offset program verify level is based at least in part on a bit error rate associated with the first set of memory cells.

14. The method of claim 10 , wherein said determining the first offset program verify level comprises adding an offset value to a default program verify level, the offset value being based at least in part on the temperature.

15. The method of claim 10 , further comprising maintaining a system table associating temperature values with program verify level offset values.

16. The method of claim 15 , wherein said determining the first offset program verify level comprises referencing the system table.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2025
From: SANDISK TECHNOLOGIES INC.
To: PALISADE TECHNOLOGIES, LLP
Reel/Frame 071435/0290 →
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 038744 FRAME 0481 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058982/0556 →
RELEASE OF SECURITY INTEREST Recorded Mar 5, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 045501/0714 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038722/0229 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038744/0281 →
SECURITY AGREEMENT Recorded May 17, 2016
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038744/0481 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2014
From: LIANG, GUIRONG; LI, HAIBO; ZHAO, DENGTAO; SUN, YONGKE; STOEV, KROUM S.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 033818/0934 →