IP Library › Granted Patent US 8,095,724
Granted Patent B2
US 8,095,724 · App. 12/026,400 · Granted Jan 10, 2012

Method of wear leveling for non-volatile memory and apparatus using via shifting windows

Assignee: Skymedi Corporation
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,095,724
App. No.
12/026,400
Granted
Jan 10, 2012
Kind
B2
Abstract

A method of wear leveling for a non-volatile memory is disclosed. A non-volatile memory is divided into windows and gaps, with each gap between two adjacent windows. The windows comprise physical blocks mapped to logical addresses, and the gaps comprise physical blocks not mapped to logical addresses. The windows are shifted through the non-volatile memory in which the mapping to the physical blocks in the window to be shifted is changed to the physical blocks in the gap.

Claims (26)

1. A method of wear leveling for a non-volatile memory, the non-volatile memory comprises a plurality of physical blocks, the method comprising the steps of:

dividing the plurality of physical blocks of the non-volatile memory into windows and gaps, wherein the gaps are between the windows, each of the windows comprises physical blocks mapped to logical addresses of a host, and each of the gaps comprises physical blocks not mapped to logical addresses of the host; and

shifting one window to an adjacent window through the non-volatile memory in circle to reduce the physical blocks of the gap between the window and the adjacent window, wherein at least one of the logical addresses pointing to the physical block in the window to be shifted is changed to point to the physical block in the gap and the physical block in the window to be shifted is changed to form the gap by not mapping to the logical addresses such that data is not saved in the physical block in the window to be shifted after shifting.

2. The method of claim 1 , wherein the physical blocks to be shifted are the initial physical blocks in the window.

3. The method of claim 1 , further comprising the step of performing wear leveling in each window before shifting.

4. The method of claim 1 , wherein the shifting is performed after the non-volatile memory is erased and/or programmed a predetermined number of times.

5. The method of claim 1 , wherein the windows are shifted through the entire non-volatile memory at least once before an erase/program endurance of a non-volatile memory device having the non-volatile memory is expired.

6. The method of claim 1 , wherein the gaps are changeable to adjust an endurance of a non-volatile memory device having the non-volatile memory.

7. The method of claim 1 , wherein the shifting continues if the quantity of physical blocks in the window capable of being erased and/or programmed is insufficient.

8. A method of wear leveling for a non-volatile memory, the non-volatile memory comprises a plurality of physical blocks, the method comprising the steps of:

dividing the plurality of physical blocks of the non-volatile memory into windows and gaps, wherein the gaps are between the windows, each of the windows comprises physical blocks mapped to logical addresses of a host and free physical blocks not mapped to logical addresses, and each of the gaps comprises physical blocks not mapped to logical addresses of the host;

allocating the physical blocks in the window to be shifted to the free physical blocks; and

shifting one window to an adjacent window through the non-volatile memory to reduce the physical blocks of the gap between the window and the adjacent window, wherein pointers to the free physical blocks in the window are changed to point to the physical blocks in the gap, and the physical block in the window to be shifted is changed to form the gap by not mapping to the logical addresses such that data is not saved in the physical block in the window to be shifted after shifting.

9. The method of claim 8 , further comprising the step of performing wear leveling in each window before shifting.

10. The method of claim 8 , wherein the shifting is performed after the non-volatile memory is erased and/or programmed a predetermined number of times.

11. The method of claim 8 , wherein the windows are shifted through the entire non-volatile memory at least once before an erase/program endurance of a non-volatile memory device having the non-volatile memory is expired.

12. The method of claim 8 , wherein sizes of the gaps are changeable to adjust an endurance of a non-volatile memory device having the non-volatile memory.

13. The method of claim 8 , wherein the shifting continues if the quantity of physical blocks in the window capable of being erased and/or programmed is insufficient.

14. A wear leveling apparatus for a non-volatile memory, comprising:

a host;

a non-volatile memory; and

an address converter configured to convert logical addresses from the host into physical addresses directed to a plurality of physical blocks of the non-volatile memory, the address converter comprising a memory that stores mapping information between the logical addresses and the physical blocks,

wherein the non-volatile memory is divided into a plurality of windows and gaps between the windows, and one window is shifted to an adjacent window through the non-volatile memory to reduce the physical blocks of the gap between the windows and the adjacent window after being erased or programmed a predetermined number of times,

wherein the physical block in the window to be shifted is changed to form the gap by not mapping to the logical addresses such that data is not saved in the physical block in the window to be shifted after shifting.

15. The wear leveling apparatus of claim 14 , wherein the non-volatile memory further comprises gaps between the windows, the windows comprise the physical blocks mapped to logical addresses, the gaps comprise the physical blocks not mapped to logical addresses, and the logical addresses pointing to the physical blocks in the window to be shifted are changed to point to the physical blocks in the gap when shifting.

16. The wear leveling apparatus of claim 14 , wherein the non-volatile memory further comprises gaps between the windows, the windows comprise physical blocks mapped to logical addresses and free physical blocks not mapped to logical addresses, and the gaps comprise physical blocks not mapped to logical addresses, the physical blocks in the window to be shifted are allocated to be the free physical blocks, and pointers to the free physical blocks are changed to point to the physical blocks in the gap when shifting.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 25, 2017
From: SKYMEDI CORPORATION
To: JIANGSU HUACUN ELECTRONIC TECHNOLOGY CO., LTD.
Reel/Frame 044475/0553 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2008
From: JI, YUNG LI; CHANG, CHIA CHEN; YEN, CHIH NAN; SHONE, FUJA
To: SKYMEDI CORPORATION
Reel/Frame 020467/0920 →
Continuity (1)
Related Publication 20090198882A1 · Aug 6, 2009