IP Library Granted Patent US 8,254,172
Granted Patent B1
US 8,254,172 · App. 12/571,264 · Granted Aug 28, 2012

Wear leveling non-volatile semiconductor memory based on erase times and program times

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,254,172
App. No.
12/571,264
Granted
Aug 28, 2012
Kind
B1
Abstract

A non-volatile semiconductor memory is disclosed comprising a memory device including a plurality of memory segments. A program command is issued to the memory device to program a memory segment, and a program time required to execute the program command is saved. An erase command is issued to the memory device to erase the memory segment, and an erase time required to execute the erase command is saved. A wear leveling algorithm is executed for the memory segment in response to the program time and the erase time.

Claims (44)

1. A non-volatile semiconductor memory comprising a memory device including a plurality of memory segments, and control circuitry operable to:

issue a program command to the memory device to program a memory segment, and save a program time required to execute the program command;

issue an erase command to the memory device to erase the memory segment, and save an erase time required to execute the erase command; and

wear level the memory segment when the erase time is greater than a first threshold and the program time is less than a second threshold.

2. The non-volatile semiconductor memory as recited in claim 1 , wherein the control circuitry is further operable to:

determine the second threshold as a function of the program time.

3. The non-volatile semiconductor memory as recited in claim 1 , wherein the control circuitry is further operable to:

determine the first threshold as a function of the erase time.

4. The non-volatile semiconductor memory as recited in claim 1 , wherein the memory segment comprises a page out of a block of pages, and the control circuitry is further operable to wear level the memory segment by:

issuing a plurality of program commands to the memory device to program a plurality of pages in a block;

saving the shortest program time for the block out of the plurality of pages;

issuing an erase command to the memory device to erase the block and save a block erase time required to execute the erase command; and

wear leveling the block when the block erase time is greater than the first threshold and the shortest program time is less than the second threshold.

5. The non-volatile semiconductor memory as recited in claim 1 , wherein the memory segment comprises a page out of a block of pages, and the control circuitry is further operable to wear level the memory segment by:

issuing a plurality of program commands to the memory device to program a plurality of pages in a block;

saving an average program time for the block out of the plurality of pages;

issuing an erase command to the memory device to erase the block and save a block erase time required to execute the erase command; and

wear leveling the block when the block erase time is greater than the first threshold and the average program time is less than the second threshold.

6. The non-volatile semiconductor memory as recited in claim 1 , wherein the control circuitry is further operable to:

first count a number of times the program time is less than the second threshold;

second count a number of times the erase time is greater than the first threshold; and

wear level the memory segment when at least one of the first and second counts exceeds a threshold.

7. A method of operating a non-volatile semiconductor memory comprising a memory device including a plurality of memory segments, the method comprising:

issuing a program command to the memory device to program a memory segment, and saving a program time required to execute the program command;

issuing an erase command to the memory device to erase the memory segment, and saving an erase time required to execute the erase command; and

wear leveling the memory segment when the erase time is greater than a first threshold and the program time is less than a second threshold.

8. The method as recited in claim 7 , further comprising:

determining the second threshold as a function of the program time.

9. The method as recited in claim 7 , further comprising:

determining the first threshold as a function of the erase time.

10. The method as recited in claim 7 , wherein the memory segment comprises a page out of a block of pages, and wherein the wear leveling further comprises:

issuing a plurality of program commands to the memory device to program a plurality of pages in a block;

saving the shortest program time for the block out of the plurality of pages;

issuing an erase command to the memory device to erase the block and saving a block erase time required to execute the erase command; and

wear leveling the block when the block erase time is greater than the first threshold and the shortest program time is less than the second threshold.

11. The method as recited in claim 7 , wherein the memory segment comprises a page out of a block of pages, and wherein the wear leveling further comprises:

issuing a plurality of program commands to the memory device to program a plurality of pages in a block;

saving an average program time for the block out of the plurality of pages;

issuing an erase command to the memory device to erase the block and saving a block erase time required to execute the erase command; and

wear leveling the block when the block erase time is greater than the first threshold and the average program time is less than the second threshold.

12. The method as recited in claim 7 , further comprising:

first counting a number of times the program time is less than the second threshold;

second counting a number of times the erase time is greater than the first threshold; and

wear leveling the memory segment when at least one of the first and second counts exceeds a threshold.

Assignments (8)
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 038744/0481 →
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 038722/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2009
From: KAN, ALAN CHINGTAO
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 023644/0314 →