IP Library Granted Patent US 9,733,857
Granted Patent B2
US 9,733,857 · App. 15/235,128 · Granted Aug 15, 2017

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.
G06F3/0634G06F3/0604G06F3/064G06F3/0679G06F12/0246G11C11/5628G11C11/5642G06F2212/7201G06F2212/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,733,857
App. No.
15/235,128
Granted
Aug 15, 2017
Kind
B2
Abstract

A flash memory controller for controlling a flash memory module includes a communication interface for receiving a first data and a second data; and a processing circuit for dynamically controlling a data writing mode of the flash memory module according to an amount of stored data in the flash memory module. If the amount of stored data in the flash memory module is less than a first threshold when the communication interface receives the first data, the processing circuit controls the flash memory module so that the first data is written into the first data block under an one-bit-per-cell mode. If the amount of stored data in the flash memory module is greater than the first threshold when the communication interface receives the second data, the processing circuit controls the flash memory module so that the second data is written into the second data block under a two-bit-per-cell mode.

Claims (23)

1. A flash memory controller for controlling a flash memory module, wherein the flash memory module comprises a read and write circuit and a plurality of blocks supporting a plurality of program threshold voltage intervals, and the flash memory controller comprising:

a communication interface for receiving data from a host device; and

a processing circuit, coupled with the communication interface and the flash memory module, for dynamically controlling a data writing mode of the flash memory module according to an amount of stored data in the flash memory module;

wherein if the amount of stored data in the flash memory module is less than a first threshold, the processing circuit controls the read and write circuit to use only two of the program threshold voltage intervals to write the data into one of the blocks; and if the amount of stored data in the flash memory module is greater than the first threshold, the processing circuit controls the read and write circuit to use at least four of the program threshold voltage intervals to write the data into the one of the blocks.

2. The flash memory controller of claim 1 , wherein the plurality of data blocks are realized by triple-level cells (TLCs), and the blocks supports eight plurality of program threshold voltage intervals.

3. The flash memory controller of claim 2 , wherein if the amount of stored data in the flash memory module is less than the first threshold, the processing circuit controls the read and write circuit to use only the lowest two of program threshold voltage intervals to write the data into the one of the blocks.

4. The flash memory controller of claim 2 , wherein if the amount of stored data in the flash memory module is greater than the first threshold, the processing circuit controls the read and write circuit to use only the lowest four of the program threshold voltage intervals to write the data into the one of the blocks.

5. The flash memory controller of claim 2 , wherein if the amount of stored data in the flash memory module is greater than the first threshold, the processing circuit controls the read and write circuit to use the eight program threshold voltage intervals to write the data into the one of the blocks.

6. The flash memory controller of claim 2 , wherein if the amount of stored data in the flash memory module is greater than the first threshold but the amount of stored data in the flash memory module is less than a second threshold, the processing circuit controls the read and write circuit to use only four of the program threshold voltage intervals to write the data into the one of the blocks; and if the amount of stored data in the flash memory module is greater than the second threshold, the processing circuit controls the read and write circuit to use the eight program threshold voltage intervals to write the data into the one of the blocks.

7. A method for controlling a flash memory module, wherein the flash memory module comprises a read and write circuit and a plurality of blocks supporting a plurality of program threshold voltage intervals, and the method comprising:

receiving data from a host device; and

if the amount of stored data in the flash memory module is less than a first threshold, controlling the read and write circuit to use only two of the program threshold voltage intervals to write the data into one of the blocks; and

if the amount of stored data in the flash memory module is greater than the first threshold, controlling the read and write circuit to use at least four of the program threshold voltage intervals to write the data into the one of the blocks.

8. The method of claim 7 , wherein the plurality of data blocks are realized by triple-level cells (TLCs), and the blocks supports eight plurality of program threshold voltage intervals.

9. The method of claim 8 , wherein the step of controlling the read and write circuit to use only two of the program threshold voltage intervals to write the data into one of the blocks if the amount of stored data in the flash memory module is greater than the first threshold comprises:

if the amount of stored data in the flash memory module is less than the first threshold, controlling the read and write circuit to use only the lowest two of program threshold voltage intervals to write the data into the one of the blocks.

10. The method of claim 8 , wherein the step of controlling the read and write circuit to use at least four of the program threshold voltage intervals to write the data into the one of the blocks if the amount of stored data in the flash memory module is greater than the first threshold comprises:

if the amount of stored data in the flash memory module is greater than the first threshold, controlling the read and write circuit to use only the lowest four of the program threshold voltage intervals to write the data into the one of the blocks.

11. The method of claim 8 , wherein the step of controlling the read and write circuit to use at least four of the program threshold voltage intervals to write the data into the one of the blocks if the amount of stored data in the flash memory module is greater than the first threshold comprises:

if the amount of stored data in the flash memory module is greater than the first threshold, controlling the read and write circuit to use the eight program threshold voltage intervals to write the data into the one of the blocks.

12. The method of claim 8 , wherein the step of controlling the read and write circuit to use at least four of the program threshold voltage intervals to write the data into the one of the blocks if the amount of stored data in the flash memory module is greater than the first threshold comprises:

if the amount of stored data in the flash memory module is greater than the first threshold but the amount of stored data in the flash memory module is less than a second threshold, controlling the read and write circuit to use only four of the program threshold voltage intervals to write the data into the one of the blocks; and

if the amount of stored data in the flash memory module is greater than the second threshold, controlling the read and write circuit to use the eight program threshold voltage intervals to write the data into the one of the blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 12, 2016
From: YANG, TSUNG-CHIEH; KUO, CHUN-CHIEH; LIN, CHING-HUI; SHEN, YANG-CHIH
To: SILICON MOTION INC.
Reel/Frame 039412/0823 →
Priority Claims (1)
TW 100129676 A · Aug 19, 2011 · national
Continuity (4)
Continuation 14983566 · Dec 30, 2015
Continuation 14596236 · Jan 14, 2015
Continuation 13491377 · Jun 7, 2012
Related Publication 20160351255A1 · Dec 1, 2016