IP Library › Granted Patent US 8,938,655
Granted Patent B2
US 8,938,655 · App. 11/961,772 · Granted Jan 20, 2015

Extending flash memory data retension via rewrite refresh

Inventors: Darlene G. Hamilton (Lyle, WA); Mark W. Randolph (San Jose, CA); Don Carlos Darling (San Jose, CA); Ron Kornitz (Sunnyvale, CA)
Assignee: Spansion LLC
G11C16/3418G11C16/10G11C16/3431
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,938,655
App. No.
11/961,772
Granted
Jan 20, 2015
Kind
B2
Abstract

Providing for extended data retention of flash memory devices by program state rewrite is disclosed herein. By way of example, a memory cell or group of memory cells can be evaluated to determine a program state of the cell(s). If the cell(s) is in a program state, as opposed to a natural or non-programmed state, a charge level, voltage level and/or the like can be rewritten to a default level associated with the program state, without erasing the cell(s) first. Accordingly, conventional mechanisms for refreshing cell program state that require rewriting and erasing, typically degrading storage capacity of the memory cell, can be avoided. As a result, data stored in flash memory can be refreshed in a manner that mitigates loss of memory integrity, providing substantial benefits over conventional mechanisms that can degrade memory integrity at a relatively high rate.

Claims (43)

1. A system that provides extended data retention for a programmed flash memory device, comprising:

a diagnostic component that determines a particular program state from one or more programmed states of at least one cell of a flash memory device;

a program component that selectively rewrites the at least one cell to a predetermined value associated with the particular program state from the one or more programmed states in response to a rewrite command, wherein the program component rewrites the at least one cell without first erasing the at least one cell, and wherein the rewrite command specifies the predetermined value and the particular program state for the at least one cell; and

a refresh component that determines an elapsed time of the at least one cell from a time when the at least one cell is programmed or refreshed, and issues the rewrite command to the program component if the elapsed time is above a threshold refresh time and a command associated with user controlled refreshing of the at least one cell is received from an input module external to the flash memory device, wherein the threshold refresh time is determined based at least in part on an electrical characteristic associated with the at least one cell, and wherein the refresh component suspends the rewrite command in response to receiving another command from the input module external to the flash memory device.

2. The system of claim 1 , wherein the program component further comprises at least one of:

a voltage source that rewrites the at least one cell to the predetermined value by adjusting a voltage of the at least one cell to a predetermined voltage level associated with the particular program state from the one or more programmed states;

a controller, internal or external to the flash memory device, that one of instructs the flash memory device to measure a concurrent program level of the at least one cell or instructs the flash memory device to rewrite the at least one cell; or

a current source that rewrites the at least one cell to the predetermined value by adjusting a charge of the at least one cell to a predetermined charge level associated with the particular program state from the one or more programmed states.

3. The system of claim 1 , further comprising an evaluation module that determines a concurrent charge, voltage or current value, or a combination thereof, of the at least one cell and compares the concurrent value with a default value of the particular program state from the one or more programmed states.

4. The system of claim 3 , the program component conditions rewriting of the at least one cell on whether the concurrent value is within a threshold of the default value.

5. The system of claim 1 , wherein the program component is configured to rewrite at least one cell of a multi-level cell to one of a plurality of program state preset values.

6. The system of claim 1 , further comprising:

a time stamp component that records the time when the at least one cell of the flash device is programmed or refreshed, or both.

7. The system of claim 1 , further comprising:

a memory cell access component that tracks a number or frequency of read errors associated with reading the at least one program cell; and

a memory cell integrity component that issues a rewrite command to the program component if the number or frequency of read errors rises above a predetermined level, causing the program component to rewrite the at least one cell.

8. The system of claim 1 , wherein at least one of:

the diagnostic component and program component are incorporated within the flash memory device; or

the diagnostic component or the program component are incorporated within a memory controller or a rewrite component that is at least partially external to the flash memory device.

9. A method for providing extended data retention for programmed flash memory cells, comprising:

determining at least one cell of a flash memory device having one or more program states;

determining an elapsed time between a concurrent time and a time when the at least one cell was last programmed or refreshed, or both;

issuing a rewrite command if the elapsed time is above a threshold rewrite period and a command associated with user controlled refreshing of the at least one cell is received from an application external to the flash memory device, wherein the threshold rewrite period is determined based at least in part on an electrical characteristic associated with the at least one cell;

suspending the rewrite command in response to receiving another command from the application external to the flash memory device; and

programming the at least one cell to a predetermined value associated with a particular program state from the one or more program states in response to the rewrite command, wherein the programming the at least one cell does not first erase the at least one cell, and wherein the rewrite command specifies the predetermined value and the particular program state for the at least one cell.

10. The method of claim 9 , further comprising employing an injection of electric charge into the at least one cell in conjunction with programming the at least one cell.

11. The method of claim 9 , further comprising employing an injection of holes into the at least one cell in conjunction with programming the at least one cell.

12. The method of claim 9 , further comprising determining a concurrent value of the particular program state of the at least one cell prior to programming the at least one cell.

13. The method of claim 12 , further comprising conditioning the programming of the at least one cell on a comparison of the determined concurrent value and a default value of the particular program state.

14. The method of claim 12 , further comprising foregoing programming the at least one cell if the concurrent value is within a threshold of the default value.

15. The method of claim 12 , further comprising executing the programming of the at least one cell if the concurrent value is not within a threshold of the default value.

16. The method of claim 9 , further comprising conditioning the programming on receiving the rewrite command from an external diagnostic entity.

17. The method of claim 9 , further comprising:

conditioning the programming on a comparison of the elapsed time and the threshold rewrite period.

18. The method of claim 9 , further comprising:

determining a number of read errors associated with reading the one or more program states of the at least one cell; and

conditioning the programming on a comparison of the number of read errors and a threshold number of read errors.

19. The method of claim 9 , further comprising employing the application external to the flash memory device to execute the programming.

20. A computer program product, comprising:

a non-transitory computer readable medium containing instructions configured to cause a computer or electronic device to extend data retention for programmed flash memory cells, comprising:

a first instruction configured to cause the computer or electronic device to determine at least one cell of a flash memory device in a particular program state from one or more programmed states;

a second instruction configured to cause the computer or electronic device to program the at least one cell to a predetermined value associated with the particular program state from the one or more programmed states in response to a rewrite command, wherein the programming the at least one cell does not first erase the at least one cell, and wherein the rewrite command specifies the predetermined value and the particular program state for the at least one cell; and

a third instruction configured to cause the computer or electronic device to determine an elapsed time between a concurrent time and a time when the at least one cell was last programmed or refreshed, and issue the rewrite command if the elapsed time is above a threshold refresh time and a command associated with user controlled refreshing of the at least one cell is received from an input device external to the flash memory device, wherein the threshold refresh time is determined based at least in part on an electrical characteristic associated with the at least one cell, and wherein the rewrite command is suspended in response to receiving another command from the input device external to the flash memory device.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES LLC
Reel/Frame 059721/0467 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 8647899 PREVIOUSLY RECORDED ON REEL 035240 FRAME 0429. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTERST. Recorded Nov 3, 2020
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058002/0470 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Oct 28, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MUFG UNION BANK, N.A.
Reel/Frame 050896/0366 →
SECURITY INTEREST Recorded Mar 21, 2015
From: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035240/0429 →
RELEASE OF SECURITY INTEREST Recorded Mar 13, 2015
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 035201/0159 →
SECURITY AGREEMENT Recorded Jun 4, 2010
From: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
To: BARCLAYS BANK PLC
Reel/Frame 024522/0338 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2008
From: HAMILTON, DARLENE G.; RANDOLPH, MARK W.; DARLING, DON CARLOS; KORNITZ, RON
To: SPANSION LLC
Reel/Frame 020395/0375 →
Continuity (1)
Related Publication 20090161466A1 · Jun 25, 2009