8296501

Memory Management Method for Non-Volatile Memory and Controller Using the Same

PublishedOctober 23, 2012
Assigneenot available in USPTO data we have
InventorsChih-Kang Yeh
Technical Abstract

Patent Claims
16 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A memory management method for a non-volatile memory, wherein the non-volatile memory is divided into a plurality of blocks, the memory management method comprising: (a) recording each corrected bit number of an error correction code (ECC) of a plurality of memory units, wherein each of the memory units comprises at least one block; and (b) establishing an evaluation value, and determining whether to move data of at least one block on the memory units to another memory unit according to the evaluation value; wherein the step (b) comprises: calculating the corrected bit number of an error correction code (ECC) generated when each of the blocks is read, and the calculation result serves as the evaluation value; judging whether the evaluation value exceeds a threshold value; and marking or weighting the corresponding block if the evaluation value exceeds the threshold value, and selecting the block in priority for data moving, wherein in the step (b), corrected bit number of the ECC of the blocks of the memory units is weighted to erasing times of the memory units to serve as the evaluation value.

2

2. The memory management method for a non-volatile memory as claimed in claim 1 , wherein the memory unit is a single block.

3

3. The memory management method for a non-volatile memory as claimed in claim 2 further comprising: copying data of the blocks to a register; and copying the data from the register to other blocks before a host instruction is received.

4

4. The memory management method for a non-volatile memory as claimed in claim 2 further comprising: copying data of the blocks to a register; and copying the data of the blocks from original blocks to other blocks before a host instruction is received.

5

5. The memory management method for a non-volatile memory as claimed in claim 1 , wherein if the evaluation value reaches the threshold value, data on the memory units is forced to be moved to another memory unit.

6

6. The memory management method for a non-volatile memory as claimed in claim 1 , wherein the memory units are a plurality of groups and each of the groups contains a plurality of the blocks.

7

7. The memory management method for a non-volatile memory as claimed in claim 1 , wherein the step (b) is executed when the non-volatile memory is judged to be ever power-off.

8

8. The memory management method for a non-volatile memory as claimed in claim 1 , wherein the non-volatile memory comprises a flash memory.

9

9. The memory management method for a non-volatile memory as claimed in claim 1 , wherein if the evaluation value reaches the threshold value, selecting the corresponding block in priority for data moving when data of the blocks are being moved next time.

10

10. A controller, comprising: a micro-processing unit, for controlling whole operations of the controller; a host link interface, coupled to a host and the micro-processing unit; a memory link interface, coupled to a non-volatile memory and the micro-processing unit, wherein the non-volatile memory is divided into a plurality of blocks; and a memory management module, coupled to the micro-processing unit for executing a wear leveling procedure to the non-volatile memory via the micro-processing unit, wherein the memory management module records each corrected bit number of an error correction code (ECC) of a plurality of memory units within the non-volatile memory that each of the memory units comprises at least one block, establishes an evaluation value, and determines whether to move data of at least one block on the memory units to another memory unit according to the evaluation value; wherein when establishing the evaluation value and determining whether to move data of the at least one block on the memory units to another memory unit according to the evaluation value, the memory management module calculates the corrected bit number of an error correction code generated when each of the blocks is read, and the calculation result serves as the evaluation value; the memory management module judges whether the evaluation value exceeds a threshold value; and the memory management module marks or weights the corresponding block if the evaluation value exceeds the threshold value, and selects the block in priority for data moving, wherein the step (b) is executed when the non-volatile memory is judged to be ever power-off.

11

11. The controller as claimed in claim 10 further comprising: a storage unit, for temporarily storing data of the blocks, and moving data of the memory units to another memory unit before receiving a host instruction.

12

12. The controller as claimed in claim 10 , wherein the memory unit is a single block.

13

13. The controller as claimed in claim 12 , wherein the memory management module takes the corrected bit number of the ECC of the blocks of the memory units weighting erasing times of the memory units as the evaluation value.

14

14. The controller as claimed in claim 10 , wherein the memory units are a plurality of groups and each of the groups contains a plurality of the blocks.

15

15. The controller as claimed in claim 10 , wherein when the evaluation value reaches the threshold value, data on the memory units is forced to be moved to another memory unit.

16

16. The controller as claimed in claim 10 , wherein if the evaluation value exceeds the threshold value, the memory management module marks or weights the corresponding block and selects the block in priority for data moving when data of the blocks are being moved next time.

Patent Metadata

Filing Date

Unknown

Publication Date

October 23, 2012

Inventors

Chih-Kang Yeh

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “MEMORY MANAGEMENT METHOD FOR NON-VOLATILE MEMORY AND CONTROLLER USING THE SAME” (8296501). https://patentable.app/patents/8296501

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.