IP Library Granted Patent US 8,161,355
Granted Patent B2
US 8,161,355 · App. 12/378,249 · Granted Apr 17, 2012

Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process

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,161,355
App. No.
12/378,249
Granted
Apr 17, 2012
Kind
B2
Abstract

A method for selectively refreshing data in a nonvolatile memory array based on failure type detected by an error correction code. If the page is determined to be error-free, no refresh operation takes place. Otherwise, if single-error words on a page contain erased and programmed bit errors, then a refresh operation, consisting of an erase and program, takes place. The erase operation is skipped if single-error words on a page solely contain a program failure.

Claims (44)

1. A method for selectively refreshing a nonvolatile memory array having n number of words in a row, each row being organized in a plurality of pages comprising:

a) providing a page address to the memory array;

b) reading each word sequentially out of a page corresponding to said address;

c) providing an ECC circuit to receive each word that is read;

d) evaluating the integrity of each word with an error correction code (ECC);

e) providing a signal to indicate whether any word on said page contains a program failure;

f) refreshing each page that is determined to contain a program failure by writing new data to said address without performing an erase operation.

2. The method of claim 1 , wherein steps a)-f) are repeated until all pages of the memory array have been tested.

3. The method of claim 1 , wherein said signal corresponds to an erase failure signal that is provided to the refresh controller.

4. The method of claim 1 , wherein said signal comprises an error flag that is asserted in a first condition if any one word contains an error and said error flag is asserted in a second condition opposite said first condition if any word is error-free.

5. A method for selectively refreshing a page of memory within a semiconductor integrated circuit, comprising:

reading one or more words sequentially out of said page of memory;

performing error detection and correction of each word with an error correction code (ECC);

providing a signal to indicate whether any of said words contains a specific type of error;

wherein an erase operation is not performed if the page of memory is determined to be error-free.

6. The method of claim 5 , wherein said signal is generated internally from an ECC circuit embedded within a chip that contains the nonvolatile memory.

7. The method of claim 5 , wherein an erase operation is not performed if the signal indicates that a word contains a program failure.

8. The method of claim 5 , wherein select data words are refreshed during an idle cycle of the memory array.

9. The method of claim 5 , wherein the ECC is a modified Hamming code.

10. The method of claim 5 , wherein said memory is a nonvolatile memory.

11. The method of claim 10 , further comprising reprogramming the page with corrected data without performing an erase operation if the error is attributable to a program failure.

12. The method of claim 10 , wherein the memory array is refreshed at regular intervals.

13. The method of claim 10 , wherein the memory array is refreshed at power up.

14. The method of claim 10 , wherein select words are refreshed during an idle cycle of the memory array.

15. The method of claim 10 , wherein said memory is a NOR-type flash memory.

16. The method of claim 5 , wherein said memory is a NOR-type flash memory.

17. The method of claim 16 , further comprising loading corrected data into the memory array after any page has been reprogrammed.

18. A method for selectively refreshing a nonvolatile memory array, said memory array arranged in rows, each row having n number of data words and being organized as a plurality of pages, said method comprising:

a) reading each data word sequentially out of a first page of memory and into an ECC circuit;

b) evaluating the integrity of each data word within the first page with an error correction code (ECC);

c) providing a signal to a controller to indicate whether any portion of a word contains an error, wherein said signal also identifies the type of failure that generated said error; and

d) not performing an erase operation for a row of memory if the signal indicates that said row is error-free.

19. A method for selectively refreshing a nonvolatile memory array having n number of data words in a row, each row being organized in a plurality of pages comprising:

a) reading each word sequentially out of a first page and into an ECC circuit;

b) evaluating the integrity of each word within the first page with an error correction code (ECC);

c) providing a signal to indicate whether any word on the first page contains an error;

d) checking each word on a next page in the memory array to determine if an error exists, and providing a signal if any word on said next page contains an error;

e) skipping a refresh operation for each page of the memory array that is found to be error-free;

f) and repeating steps c) and d) until all pages of the memory array have been tested.

20. The method of claim 19 , further comprising reprogramming the page with corrected data without performing an erase operation if the error is attributable to a program failure.

21. The method of claim 19 , further comprising generating new ECC check bits for words containing an error, and loading a corrected word with new check bits into the memory array.

22. The method of claim 19 , wherein the memory array is refreshed at regular intervals.

23. The method of claim 19 , wherein the memory array is refreshed at power up.

24. The method of claim 19 , wherein select words are refreshed during an idle cycle of the memory array.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2022
From: PERASO INC. F/K/A MOSYS, INC.
To: INGALLS & SNYDER LLC
Reel/Frame 061593/0094 →
SECURITY INTEREST Recorded Mar 14, 2016
From: MOSYS, INC.
To: INGALLS & SNYDER LLC
Reel/Frame 038081/0262 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2009
From: FUNG, STEPHEN; RAO, VITHAL; YU, DA-GUANG; RUETZ, J. ERIC; CHUA, CHEE T.; CHEN, JAWJI; RAO, KAMESWARA K.
To: MOSYS, INC.
Reel/Frame 022307/0050 →