IP Library Granted Patent US 12,393,346
Granted Patent B1
US 12,393,346 · App. 18/443,899 · Granted Aug 19, 2025

Techniques for managing program disturb in non-volatile memory

Inventors: Bogdan Georgescu (Colorado Springs, CO); Antwerpen Hans Van (Mountain View, CA)
Assignee: Cypress Semiconductor Corporation
G06F3/0616G06F3/0659G06F3/0673G11C16/34
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 12,393,346
App. No.
18/443,899
Granted
Aug 19, 2025
Kind
B1
Abstract

A program operation targeted to a first page in a sector of non-volatile memory is identified. The sector includes an array of memory cells comprising a set of pages including the first page, and each page in the set of pages includes a set of tracking bits reserved for storing values of a freshness counter. A processing device determines a second page in the set of pages has been exposed to a maximum number of program operations in the set of pages based on a value of the freshness counter stored in the set of tracking bits of the second page. The maximum number of program operations is determined to exceed a program disturb threshold for the sector. The second page in the sector of non-volatile memory is refreshed in response to determining that the maximum number of program operations exceeds the program disturb threshold for the sector.

Claims (47)

1. A method comprising:

identifying a program operation targeted to a first page in a sector of non-volatile memory, the sector of non-volatile memory including an array of memory cells comprising a set of pages including the first page, and each page in the set of pages including a set of tracking bits reserved for storing values of a freshness counter;

determining, by a processing device, a second page in the set of pages has been exposed to a maximum number of program operations in the set of pages, and the second page determined based on a value of the freshness counter stored in the set of tracking bits in the second page;

determining that the maximum number of program operations to which the second page has been exposed exceeds a program disturb threshold for the sector of non-volatile memory; and

refreshing the second page in the sector of non-volatile memory in response to determining that the maximum number of program operations to which the second page has been exposed exceeds the program disturb threshold for the sector of non-volatile memory.

2. The method of claim 1 , wherein determining the second page has been exposed to the maximum number of program operations in the set of pages comprises identifying the second page as having a lowest non-zero value for the freshness counter in the set of pages.

3. The method of claim 1 , further comprising determining the maximum number of write operations for the set of pages based on a difference between a current value of the freshness counter and the value for the freshness counter stored in the set of tracking bits in the second page.

4. The method of claim 1 , further comprising performing the program operation targeted to the first page, wherein performance of the program operation includes storing a current value of the freshness counter in the set of tracking bits in the first page.

5. The method of claim 4 , wherein the program operation comprises a first program operation and the method further comprising:

incrementing the freshness counter to an updated value;

identifying a second program operation targeted to a different page in the sector of non-volatile memory; and

performing the second program operation targeted to the different page, wherein performance of the second program operation includes storing the updated value of the freshness counter in the set of tracking bits in the different page.

6. The method of claim 1 , wherein refreshing the second page in the sector of non-volatile memory comprises:

copying data stored in bits of the second page other than the set of tracking bits to a scratch page in the set of pages;

storing the data from the scratch page in the bits of the second page other than the set of tracking bits; and

storing a current value of the freshness counter in the set of tracking bits in the second page.

7. The method of claim 6 , wherein the set of tracking bits for each page includes a value for the freshness counter and a value for an endurance counter and wherein refreshing the second page in the sector of non-volatile memory further comprises:

incrementing a current value for the endurance counter in the second page to an updated value; and

storing the updated value of the endurance counter in the set tracking bits of the second page.

8. The method of claim 1 , further comprising:

determining that the maximum number of program operations for the second page exceeds an endurance threshold for the second page; and

preventing future program operations to the second page in response to determining that the maximum number of program operations for the second page exceeds the endurance threshold.

9. A non-volatile memory comprising:

a sector including an array of memory cells, the array of memory cells comprises a set of pages and each page in the set of pages including a set of tracking bits reserved for storing values of a freshness counter; and

control logic comprising a processing device, the control logic configured to:

identify a program operation targeted to a first page in the sector;

determine a second page in the set of pages has been exposed to a maximum number of program operations in the set of pages, and the second page determined based on a value of the freshness counter stored in the set of tracking bits in the second page;

determine that the maximum number of program operations to which the second page has been exposed exceeds a program disturb threshold for the sector; and

refresh the second page in the sector of non-volatile memory in response to determining that the maximum number of program operations to which the second page has been exposed exceeds the program disturb threshold for the sector.

10. The non-volatile memory of claim 9 , wherein each tracking bit for a respective page is coupled to a different sense amplifier.

11. The non-volatile memory of claim 9 , wherein each page in the set of pages corresponds to a different row of the array of memory cells.

12. The non-volatile memory of claim 9 , wherein a first column in the array of memory cells includes a first tracking bit from each page in the set of pages and a second column in the array of memory cells includes a second tracking bit from each page in the set of pages.

13. The non-volatile memory of claim 12 , wherein the first column is coupled to a first sense amplifier and the second column is coupled to a second sense amplifier.

14. The non-volatile memory of claim 9 , wherein the sector includes at least one page reserved for storing data during a page refresh.

15. The non-volatile memory of claim 9 , wherein determination that the second page has reached the maximum number of write operations for the set of pages comprises identification of the second page as having a lowest non-zero value for the freshness counter in the set of pages.

16. The non-volatile memory of claim 9 , wherein the control logic is further configured to determine the maximum number of write operations for the set of pages based on a difference between a current value of the freshness counter and a value for the freshness counter stored in the set of tracking bits in the second page.

17. The non-volatile memory of claim 9 , wherein the control logic is further configured to perform the program operation targeted to the first page, wherein performance of the program operation includes storing a current value of the freshness counter in the set of tracking bits in the first page.

18. A system comprising:

a sector of non-volatile memory including an array of memory cells, the array of memory cells comprises a set of pages and each page in the set of pages including a set of tracking bits reserved for storing values of a freshness counter;

a plurality of sense amplifiers, wherein each tracking bit for a respective page in the set of pages is coupled to a different one of the plurality of sense amplifiers;

control logic comprising a processing device, the control logic configured to:

identify a program operation targeted to a first page in the sector;

determine a second page in the set of pages has been exposed to a maximum number of program operations in the set of pages, and the second page determined based on a value of the freshness counter stored in the set of tracking bits in the second page;

determine that the maximum number of program operations to which the second page has been exposed exceeds a program disturb threshold for the sector of non-volatile memory; and

refresh the second page in the sector of non-volatile memory in response to determining that the maximum number of program operations to which the second page has been exposed exceeds the program disturb threshold for the sector of non-volatile memory.

19. The system of claim 18 , wherein each page in the set of pages corresponds to a different row of the array of memory cells.

20. The non-volatile memory of claim 18 , wherein a first column in the array of memory cells includes a first tracking bit from each page in the set of pages and a second column in the array of memory cells includes a second tracking bit from each page in the set of pages.

Assignments (2)
MERGER Recorded Nov 14, 2025
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES AMERICAS CORP.
Reel/Frame 073571/0456 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2024
From: GEORGESCU, BOGDAN; VAN, ANTWERPEN HANS
To: CYPRESS SEMICONDUCTOR CORPORATION
Reel/Frame 067495/0869 →
References Cited (3)
US 20170316826A1 · Nakanishi · 2017 [cited by examiner]
US 20180102159A1 · Ong · 2018 [cited by examiner]
US 20220137842A1 · Hung · 2022 [cited by examiner]