IP Library Granted Patent US 9,588,709
Granted Patent B2
US 9,588,709 · App. 14/983,566 · Granted Mar 7, 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/0246G06F2212/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,588,709
App. No.
14/983,566
Granted
Mar 7, 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 (16)

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 data blocks, 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 determining a one-bit-per-cell mode or a multiple-bit-per-cell mode according to an amount of stored data in the flash memory module, and using the determined one-bit-per-cell mode or the determined multiple-bit-per-cell mode to write the data into a target data block of the plurality of data blocks of the flash memory module.

2. The flash memory controller of claim 1 , wherein if the amount of stored data in the flash memory module is less than a first threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that the data is written into the target data block under the one-bit-per-cell mode, and if the amount of stored data in the flash memory module is greater than the first threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that the data is written into the target data block under the multiple-bit-per-cell mode.

3. The flash memory controller of claim 1 , wherein if the amount of stored data in the flash memory module is less than the first threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that a program threshold voltage of at least one cell in the target data block is configured to be within a first voltage range when writing the data into the target data block; and if the amount of stored data in the flash memory module is greater than the first threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that a program threshold voltage of at least one cell in the target data block is configured to be within a second voltage range when writing the data into the target data block; wherein the first voltage range is less than the second voltage range.

4. The flash memory controller of claim 1 , wherein the plurality of data blocks further comprises a first data block and a second data block, wherein the first data block is written under the one-bit-per-cell mode, and the second data block is written under the multiple-bit-per-cell mode.

5. The flash memory controller of claim 1 , wherein the processing circuit is arranged for dynamically determining the one-bit-per-cell mode, the a multiple-bit-per-cell mode or a three-bit-per-cell mode according to the amount of stored data in the flash memory module, and using the determined one-bit-per-cell mode, the determined multiple-bit-per-cell mode, or the determined three-bit-per-cell mode to write the data into the target data block.

6. The flash memory controller of claim 5 , wherein if the amount of stored data in the flash memory module is less than a second threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that the data is written into the target data block under the one-bit-per-cell mode or the multiple-bit-per-cell mode, and if the amount of stored data in the flash memory module is greater than the second threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that the data is written into the target data block under the three-bit-per-cell mode.

7. The flash memory controller of claim 1 , wherein the plurality of data blocks further comprises a first data block, a second data block and a third data block, wherein the first data block is written under the one-bit-per-cell mode, the second data block is written under the multiple-bit-per-cell mode, and the third data block is written under the three-bit-per-cell mode.

8. The flash memory controller of claim 1 , wherein the plurality of data blocks are realized by triple-level cells (TLCs).

9. 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 data blocks, 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 determining a multiple-bit-per-cell mode or a three-bit-per-cell mode according to an amount of stored data in the flash memory module, and using the determined multiple-bit-per-cell mode or the determined three-bit-per-cell mode to write the data into a target data block of the plurality of data blocks of the flash memory module.

10. The flash memory controller of claim 9 , wherein if the amount of stored data in the flash memory module is less than a threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that the data is written into the target data block under the multiple-bit-per-cell mode, and if the amount of stored data in the flash memory module is greater than the threshold when the communication interface receives the data, the processing circuit controls the flash memory module so that the data is written into the target data block under the three-bit-per-cell mode.

11. The flash memory controller of claim 9 , wherein the plurality of data blocks further comprises a first data block and a second data block, wherein the first data block is written under the multiple-bit-per-cell mode, and the second data block is written under the three-bit-per-cell mode.

12. The flash memory controller of claim 9 , wherein the plurality of data blocks are realized by triple-level cells (TLCs).

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