IP Library Granted Patent US 9,075,709
Granted Patent B2
US 9,075,709 · App. 13/491,377 · Granted Jul 7, 2015

Flash memory controller

Inventors: Tsung-Chieh Yang (Hsinchu, TW); Chun-Chieh Kuo (Taipei, TW); Ching-Hui Lin (Taipei, TW); Yang-Chih Shen (Taipei, TW)
Assignee: Silicon Motion, Inc.
G06F12/0246G06F2212/7206Y02B60/1225
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 9,075,709
App. No.
13/491,377
Granted
Jul 7, 2015
Kind
B2
Abstract

A flash memory controller includes a recording medium and a processing circuit. When the amount of stored data in a flash memory module is less than a first threshold, the processing circuit controls a read and write circuit of the flash memory module to program a target data block using program threshold voltages within a first voltage range so as to write data into the target data block. When the amount of stored data in the flash memory module is greater than a second threshold, the processing circuit controls the read and write circuit to program the target data block using program threshold voltages within a second voltage range so as to write data into the target data block, wherein the second threshold is greater than the first threshold and the first voltage range is less than the second voltage range.

Claims (40)

1. A flash memory controller comprising:

a communication interface for receiving a first data, a second data, and a third data;

a recording medium for recording an amount of stored data in a flash memory module, wherein the flash memory module comprising a read and write circuit, a first data block, a second data block, and a third data block; and

a processing circuit, coupled with the communication interface, the recording medium, and the flash memory module, for controlling the read and write circuit to configure program threshold voltages of at least one cell in the first data block to be within a first voltage range so as to write the first data into the first data block when the amount of stored data in a flash memory module is less than a first threshold, and for controlling the read and write circuit to configure program threshold voltages of at least one cell in the third data block to be within a second voltage range so as to write the third data into the third data block when the amount of stored data in the flash memory module is greater than a second threshold;

wherein the second threshold is greater than the first threshold and the first voltage range is less than the second voltage range.

2. The flash memory controller of claim 1 , wherein the communication interface further receives a fourth data, and if the fourth data is not cold data, the processing circuit decides a range of program threshold voltages for cells in a data block for use to store the fourth data according to the amount of stored data in the flash memory module.

3. The flash memory controller of claim 2 , wherein the communication interface further receives a fifth data, and if the fifth data is not hot data, the processing circuit decides a range of program threshold voltages for cells in a data block for use to store the fifth data according to the amount of stored data in the flash memory module.

4. The flash memory controller of claim 1 , wherein the communication interface further receives a fifth data, and if the fifth data is not hot data, the processing circuit decides a range of program threshold voltages for cells in a data block for use to store the fifth data according to the amount of stored data in the flash memory module.

5. The flash memory controller of claim 1 , wherein the first voltage range is less than 50% of the second voltage range.

6. The flash memory controller of claim 5 , wherein when the second data is received by the communication interface, if the amount of stored data in the flash memory module is between the first threshold and the second threshold, the processing circuit controls the read and write circuit to configure program threshold voltages of at least one cell in the second data block to be within a third voltage range so as to write the second data into the second data block;

wherein the third voltage range is less than 60% of the second voltage range.

7. The flash memory controller of claim 6 , wherein an upper limit of the third voltage range is less than 80% of an upper limit of the second voltage range.

8. The flash memory controller of claim 6 , wherein an upper limit of the third voltage range is less than 60% of an upper limit of the second voltage range.

9. The flash memory controller of claim 6 , wherein the processing circuit controls the read and write circuit to write the first data into the first data block under an one-bit-per-cell mode, to write the second data into the second data block under a two-bit-per-cell mode, and to write the third data into the third data block under a three-bit-per-cell mode.

10. The flash memory controller of claim 9 , wherein the processing circuit selects the first, second, and third data blocks from the flash memory module according to at least one of a number of times each data block was written under the one-bit-per-cell mode, a number of times each data block was written under the two-bit-per-cell mode, and a number of times each data block was written under the three-bit-per-cell mode.

11. The flash memory controller of claim 9 , wherein when an amount of data blocks in use within the flash memory module is higher than a third threshold or when an amount of empty data blocks within the flash memory module is lower than a fourth threshold, the processing circuit controls the read and write circuit to write valid data, stored in one or more candidate data blocks containing data written under the one-bit-per-cell mode, into a target data block under the two-bit-per-cell mode or the three-bit-per-cell mode, and to erase the candidate data blocks.

12. The flash memory controller of claim 9 , wherein when an amount of data blocks in use within the flash memory module is higher than a third threshold or when an amount of empty data blocks within the flash memory module is lower than a fourth threshold, the processing circuit controls the read and write circuit to write valid data, stored in one or more candidate data blocks containing data written under the two-bit-per-cell mode, into a target data block under the three-bit-per-cell mode, and to erase the candidate data blocks.

13. The flash memory controller of claim 5 , wherein an upper limit of the first voltage range is less than 80% of an upper limit of the second voltage range.

14. The flash memory controller of claim 5 , wherein an upper limit of the first voltage range is less than 60% of an upper limit of the second voltage range.

15. The flash memory controller of claim 5 , wherein an upper limit of the first voltage range is less than 30% of an upper limit of the second voltage range.

16. A flash memory controller comprising:

a recording medium for recording an amount of stored data in a flash memory module, wherein the flash memory module comprising a read and write circuit and a target data block; and

a processing circuit, coupled with the recording medium and the flash memory module, for controlling the read and write circuit to program cells in the target data block using program threshold voltages within a first voltage range so as to write data into the target data block when the amount of stored data in a flash memory module is less than a first threshold, and for controlling the read and write circuit to program the cells in the target data block using program threshold voltages within a second voltage range so as to write data into the target data block when the amount of stored data in the flash memory module is greater than a second threshold;

wherein the second threshold is greater than the first threshold and the first voltage range is less than the second voltage range.

17. The flash memory controller of claim 16 , wherein the first voltage range is less than 50% of the second voltage range.

18. The flash memory controller of claim 17 , wherein an upper limit of the first voltage range is less than 80% of an upper limit of the second voltage range.

19. The flash memory controller of claim 17 , wherein an upper limit of the first voltage range is less than 60% of an upper limit of the second voltage range.

20. The flash memory controller of claim 17 , wherein an upper limit of the first voltage range is less than 30% of an upper limit of the second voltage range.

21. The flash memory controller of claim 17 , wherein when the amount of stored data in the flash memory module is between the first threshold and the second threshold, the processing circuit controls the read and write circuit to program cells in the target data block using program threshold voltages within a third voltage range so as to write data into the target data block;

wherein the third voltage range is less than 60% of the second voltage range.

22. The flash memory controller of claim 21 , wherein an upper limit of the third voltage range is less than 80% of an upper limit of the second voltage range.

23. The flash memory controller of claim 21 , wherein an upper limit of the third voltage range is less than 60% of an upper limit of the second voltage range.

24. A flash memory controller comprising:

a recording medium for recording an amount of data blocks in use within a flash memory module, wherein the flash memory module comprising a read and write circuit and a plurality of data blocks; and

a processing circuit, coupled with the recording medium and the flash memory module, for, when an amount of data blocks in use within the flash memory module is higher than a third threshold or when an amount of empty data blocks within the flash memory module is lower than a fourth threshold, controlling the read and write circuit to write valid data stored in a plurality of candidate data blocks into a target data block and to erase the plurality of candidate data blocks;

wherein at least one cell of the plurality of candidate data blocks has a program threshold voltage configured to be within a first voltage range before erasing, at least one cell of the target data block has a program threshold voltage configured to be within a second voltage range, and the first voltage range is less than the second voltage range.

25. The flash memory controller of claim 24 , wherein the first voltage range is less than 50% of the second voltage range.

26. The flash memory controller of claim 25 , wherein an upper limit of the first voltage range is less than 80% of an upper limit of the second voltage range.

27. The flash memory controller of claim 25 , wherein an upper limit of the first voltage range is less than 60% of an upper limit of the second voltage range.

28. The flash memory controller of claim 25 , wherein an upper limit of the first voltage range is less than 30% of an upper limit of the second voltage range.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2012
From: YANG, TSUNG-CHIEH; KUO, CHUN-CHIEH; LIN, CHING HUI; SHEN, YANG-CHIH
To: SILICON MOTION, INC.
Reel/Frame 028351/0428 →
Priority Claims (1)
TW 100129676 A · Aug 19, 2011 · national
Continuity (1)
Related Publication 20130046917A1 · Feb 21, 2013