IP Library Granted Patent US 8,644,099
Granted Patent B2
US 8,644,099 · App. 13/179,466 · Granted Feb 4, 2014

Apparatus and method for determining a read level of a flash memory after an inactive period of time

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 8,644,099
App. No.
13/179,466
Granted
Feb 4, 2014
Kind
B2
Abstract

Disclosed is an apparatus and method for determining a dwell time in a non-volatile memory circuit after a shutdown of the memory circuit. A voltage shift is calculated by comparing a first read level voltage required to read a test block stored before the shutdown and a second read level voltage required to read a second test block stored after the shutdown. A shutdown time is determined from a look up table indexed by the voltage shift and a number of program/erase cycles. The dwell time is calculated as a function of the drive temperature, a clock, and a block time stamp. Once the dwell time is calculated, a controller calculates a new read level voltage based, in part, on the dwell time and provides one or more programming commands representative of the new read level voltage to the memory circuit to read the memory circuit.

Claims (107)

1. A non-transitory machine-readable medium including machine-executable instructions stored thereon, which when executed by a machine or computer cause the machine or computer to perform a method of determining a dwell time in a memory circuit after a shutdown of the memory circuit, the method comprising:

storing a first test block before the shutdown;

storing a second test block after powering on the memory circuit;

performing a first read level sweep of the first test block to determine a first read level voltage with minimum errors, including determining the first read level voltage as a function of a nominal read level voltage and a first estimation parameter;

performing a second read level sweep of the second test block to determine a second read level voltage with minimum errors, including determining the second read level voltage as a function of the nominal read level voltage and a second estimation parameter;

determining a shutdown threshold voltage (V T ) shift as a function of the first read level voltage and the second read level voltage; and

determining a shutdown duration as a function of the shutdown V T shift.

2. The non-transitory machine-readable medium of claim 1 , the method further comprising:

reading a drive temperature after the drive temperature has stabilized;

determining a revised duration as a function of the shutdown duration and the drive temperature and a reference temperature; and

determining the dwell time as a function of a current time and a block time stamp and the revised duration.

3. The non-transitory machine-readable medium of claim 2 , wherein determining the revised duration as a function of the shutdown duration and the drive temperature and the reference temperature includes:

determining a temperature acceleration factor as a function of the drive temperature and the reference temperature; and

determining the revised duration as a function of the shutdown duration and the temperature acceleration factor.

4. The non-transitory machine-readable medium of claim 2 , the method further comprising:

storing a pre-shutdown temperature before the shutdown, wherein determining the dwell time as a function of the current time and the block time stamp and the revised duration includes:

retrieving the pre-shutdown temperature and the block time stamp after the memory circuit is powered on,

determining a temperature acceleration factor as a function of the drive temperature and the pre-shutdown temperature, and

determining the dwell time as a function of the current time, the block time stamp, the revised duration, and the temperature acceleration factor.

5. The non-transitory machine-readable medium of claim 4 , wherein determining the dwell time includes:

determining a temporary duration by subtracting the block time stamp from the current time; and

multiplying the temporary duration by the temperature acceleration factor and then adding the revised duration.

6. The non-transitory machine-readable medium of claim 1 , wherein determining a shutdown duration as a function of the shutdown V T shift includes indexing a lookup table by the shutdown V T shift and a program/erase cycle to retrieve the shutdown duration.

7. The non-transitory machine-readable medium of claim 1 , the method further comprising:

determining the dwell time as a function of a current time and a first block time stamp associated with a memory block and a temperature acceleration factor;

determining an updated block time stamp by subtracting the dwell time from a current time; and

storing the updated block time stamp.

8. The non-transitory machine readable medium of claim 1 , wherein storing the first test block includes:

writing data to a memory block; and

storing an address of the memory block.

9. The non-transitory machine-readable medium of claim 1 , the method further comprising:

determining a temperature acceleration factor as a function of a drive temperature;

determining a current aging time as a function of a current time value and the temperature acceleration factor;

determining an post-shutdown aging time as a function of the current aging time and the shutdown duration;

reading a block time stamp; and

determining the dwell time by subtracting the block time stamp from the post-shutdown aging time.

10. The non-transitory machine-readable medium of claim 1 , the method further comprising:

determining a temperature acceleration factor as a function of a drive temperature;

determining a current aging time as a function of a current time value and the temperature acceleration factor;

receiving a command representative of a write operation; and

on receiving the command, storing the aging time as a block time stamp.

11. A control circuit for determining a dwell time in a memory circuit after a shutdown of the memory circuit, comprising:

a memory interface configured to be operably coupled to the memory circuit; and

a controller, wherein the controller is configured to:

store a first test block before the shutdown;

save a second test block after the memory circuit is powered on;

perform a first read level sweep of the first test block to determine a first read level voltage with minimum errors, including determining the first read level voltage as a function of a nominal read level voltage and a first estimation parameter;

perform a second read level sweep of the second test block to determine a second read level voltage with minimum errors, including determining the second read level voltage as a function of the nominal read level voltage and a second estimation parameter;

calculate a shutdown threshold voltage (V T ) shift as a function of the first read level voltage and the second read level voltage; and

calculate a shutdown duration as a function of the shutdown V T shift.

12. The control circuit of claim 11 , wherein the controller is further configured to:

read a drive temperature after the drive temperature has stabilized;

calculate a revised duration as a function of the shutdown duration and the drive temperature and a reference temperature; and

calculate the dwell time as a function of a current time and a block time stamp and the revised duration.

13. The control circuit of claim 12 , wherein the controller being configured to calculate the revised duration as a function of the shutdown duration and the drive temperature and the reference temperature includes the controller being configured to:

calculate a temperature acceleration factor as a function of the drive temperature and the reference temperature; and

calculate the revised duration as a function of the shutdown duration and the temperature acceleration factor.

14. The control circuit of claim 12 , wherein the controller is further configured to:

store a pre-shutdown temperature before the shutdown, wherein the controller being configured to calculate the dwell time as a function of the current time and the block time stamp and the revised duration includes the controller being configured to:

retrieve the pre-shutdown temperature and the block time stamp after the memory circuit is powered on,

calculate a temperature acceleration factor as a function of the drive temperature and the pre-shutdown temperature, and

calculate the dwell time as a function of the current time, the block time stamp, the revised duration, and the temperature acceleration factor.

15. The control circuit of claim 14 , wherein the controller being configured to calculate the dwell time includes the controller being configured to:

calculate a temporary duration by subtracting the block time stamp from the current time; and

multiply the temporary duration by the temperature acceleration factor and then add the revised duration.

16. The control circuit of claim 11 , wherein the controller being configured to calculate a shutdown duration as a function of the shutdown V T shift includes the controller being configured to index a lookup table by the shutdown V T shift and a program/erase cycle to retrieve the shutdown duration.

17. The control circuit of claim 11 , wherein the controller is further configured to:

calculate the dwell time as a function of a current time and a first block time stamp associated with a memory block and a temperature acceleration factor;

calculate an updated block time stamp by subtracting the dwell time from a current time; and

store the updated block time stamp.

18. The control circuit of claim 11 , wherein the controller being configured to store the first test block includes the controller being configured to:

write data to a memory block; and

store an address of the memory block.

19. The control circuit of claim 11 , wherein the controller is further configured to:

calculate a temperature acceleration factor as a function of a drive temperature;

calculate a current aging time as a function of a current time value and the temperature acceleration factor;

calculate an post-shutdown aging time as a function of the current aging time and the shutdown duration;

read a block time stamp; and

calculate the dwell time by subtracting the block time stamp from the post-shutdown aging time.

20. The control circuit of claim 11 , wherein the controller is further configured to:

calculate a temperature acceleration factor as a function of a drive temperature;

calculate a current aging time as a function of a current time value and the temperature acceleration factor;

receive a command representative of a write operation; and

on receiving the command, store the aging time as a block time stamp.

21. A system for determining a dwell time in a memory circuit after a shutdown of the memory circuit, comprising:

a host interface configured to be operably coupled to a host device, to receive data from the host device, and to send data to the host device;

a temperature sensor;

a storage medium interface operably coupled to a volatile memory;

a memory interface operably coupled to the memory circuit; and

a controller operably coupled to the host interface, wherein the controller is operable to:

store a first test block on the memory circuit before the shutdown;

store a second test block on the memory circuit after the memory circuit is powered on;

perform a first read level sweep of the first test block to determine a first read level voltage with minimum errors, including determining the first read level voltage as a function of a nominal read level voltage and a first estimation parameter;

perform a second read level sweep of the second test block to determine a second read level voltage with minimum errors, including determining the second read level voltage as a function of the nominal read level voltage and a second estimation parameter;

calculate a shutdown V T shift as a function of the first read level voltage and the second read level voltage; and

calculate a shutdown duration as a function of the shutdown V T shift.

22. The system of claim 21 , wherein the controller is further configured to:

store a pre-shutdown temperature received from the temperature sensor before the shutdown;

read from the temperature sensor a drive temperature after the memory circuit is powered on and after the drive temperature has stabilized;

calculate a revised duration as a function of the shutdown duration and the drive temperature and a reference temperature; and

calculate the dwell time as a function of a current time and a block time stamp and the revised duration.

23. The system of claim 21 , wherein the controller is further configured to:

calculate a temperature acceleration factor as a function of a drive temperature;

calculate a current aging time as a function of a current time value and the temperature acceleration factor;

calculate an post-shutdown aging time as a function of the current aging time and the shutdown duration;

read a block time stamp; and

calculate the dwell time by subtracting the block time stamp from the post-shutdown aging time.

Assignments (12)
SECURITY AGREEMENT (SUPPLEMENTAL) Recorded Nov 14, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 069411/0208 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2024
From: SANDISK TECHNOLOGIES, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 069168/0273 →
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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2018
From: HGST TECHNOLOGIES SANTA ANA, INC.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046174/0446 →
CHANGE OF NAME Recorded Jul 1, 2015
From: STEC, INC.
To: HGST TECHNOLOGIES SANTA ANA, INC.
Reel/Frame 036042/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2011
From: COMETTI, ALDO G.; HUANG, LUN BIN; MELIK-MARTIROSIAN, ASHOT
To: STEC, INC.
Reel/Frame 026565/0444 →