IP Library › Granted Patent US 12,393,368
Granted Patent B2
US 12,393,368 · App. 18/236,398 · Granted Aug 19, 2025

Flash memory controller and associated memory device and control method

Inventor: Ming-Yu Tsai (Taipei, TW)
Assignee: Silicon Motion, Inc.
G06F3/0659G06F3/0619G06F3/0656G06F3/0679
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 12,393,368
App. No.
18/236,398
Granted
Aug 19, 2025
Kind
B2
Abstract

A flash memory controller is arranged to access a flash memory module, and includes a transmission interface circuit a buffer memory, and a microprocessor. The transmission interface circuit is coupled to a host device, wherein the transmission interface circuit includes a command processing circuit, and the command processing circuit is arranged to: receive a command from the host device; utilize multiple check items to check the command to generate at least one check result; and convert the command to generate a converted command of a specific format, wherein the converted command comprises an error state field for recording the at least one check result. The buffer memory is arranged to store the converted command. The microprocessor is arranged to read the converted command from the buffer memory, and access the flash memory module according to the converted command.

Claims (47)

1. A flash memory controller, arranged to access a flash memory module, comprising:

a transmission interface circuit, coupled to a host device, wherein the transmission interface circuit comprises a command processing circuit, and the command processing circuit is arranged to:

receive a command from the host device;

utilize multiple check items to check the command to generate at least one check result; and

convert the command to generate a converted command of a specific format, wherein the converted command comprises an error state field for recording the at least one check result;

a buffer memory, arranged to store the converted command; and

a microprocessor, arranged to read the converted command from the buffer memory, and access the flash memory module according to the converted command;

wherein the converted command further comprises a logical unit number (LUN), a logical block address (LBA), and a transfer length;

wherein the converted command further comprises an operation code, and the operation code is arranged to indicate whether the command corresponding to the converted command is a read command of a first format, a read command of a second format, a write command of the first format, or a write command of the second format.

2. The flash memory controller of claim 1 , wherein in response to the at least one check result of the converted command indicating there is an error in the command, the microprocessor generates a response signal to the host device according to an error state of the at least one check result in the converted command.

3. The flash memory controller of claim 1 , wherein the at least one check result is multiple check results, the multiple check results correspond to the multiple check items, respectively, and each of the multiple check results indicates whether the command conforms to a corresponding check item.

4. The flash memory controller of claim 1 , wherein the converted command further comprises a label, and the label is arranged to indicate whether the converted command is a read command or a write command.

5. The flash memory controller of claim 1 , wherein the converted command further comprises a response setting, and the response setting is arranged to set that, in response to the command being stored in the buffer memory or the microprocessor successfully accessing the flash memory module according to the converted command, a response message is sent to the host device to notify that the command is received successfully.

6. The flash memory controller of claim 1 , wherein the converted command further comprises a group number, and the group number is arranged to set that a single-level cell (SLC) method, a multi-level cell (MLC) method, or a triple-level cell (TLC) method is utilized to perform a read/write operation upon the flash memory module.

7. The flash memory controller of claim 1 , wherein the converted command further comprises a memory slot index value, and the memory slot index value is arranged to indicate an address of the converted command within the buffer memory.

8. The flash memory controller of claim 1 , wherein operations of the command processing circuit are implemented by a hardware circuit, and generating the converted command of the specific format by converting the command through the command processing circuit does not involve operations of the microprocessor.

9. A memory device, comprising:

a flash memory module; and

a flash memory controller, arranged to access the flash memory module, comprising:

a transmission interface circuit, coupled to a host device, wherein the transmission interface circuit comprises a command processing circuit, and the command processing circuit is arranged to:

receive a command from the host device;

utilize multiple check items to check the command to generate at least one check result; and

convert the command to generate a converted command of a specific format, wherein the converted command comprises an error state field for recording the at least one check result;

a buffer memory, arranged to store the converted command; and

a microprocessor, arranged to read the converted command from the buffer memory, and access the flash memory module according to the converted command;

wherein the converted command further comprises a logical unit number (LUN), a logical block address (LBA), and a transfer length;

wherein the converted command further comprises an operation code, and the operation code is arranged to indicate whether the command corresponding to the converted command is a read command of a first format, a read command of a second format, a write command of the first format, or a write command of the second format.

10. A control method of a flash memory controller comprising:

receiving a command from a host device;

utilizing multiple check items to check the command to generate at least one check result, and converting the command to generate a converted command of a specific format, wherein the converted command comprises an error state field for recording the at least one check result;

storing the converted command in a buffer memory; and

reading the converted command from the buffer memory, and accessing the flash memory module according to the converted command;

wherein the converted command further comprises a logical unit number (LUN), a logical block address (LBA), and a transfer length;

wherein the converted command further comprises an operation code, and the operation code is arranged to indicate whether the command corresponding to the converted command is a read command of a first format, a read command of a second format, a write command of the first format, or a write command of the second format.

11. The control method of claim 10 , further comprising:

in response to the at least one check result of the converted command indicating there is an error in the command, generating a response signal to the host device according to an error state of the at least one check result in the converted command.

12. The control method of claim 10 , wherein the at least one check result is multiple check results, the multiple check results correspond to the multiple check items, respectively, and each of the multiple check results indicates whether the command conforms to a corresponding check item.

13. The control method of claim 10 , wherein the converted command further comprises a label, and the label is arranged to indicate whether the converted command is a read command or a write command.

14. The control method of claim 10 , wherein the converted command further comprises a response setting, and the response setting is arranged to set that, in response to the command being stored in the buffer memory or the microprocessor successfully accessing the flash memory module according to the converted command, a response message is sent to the host device to notify that the command is received successfully.

15. The control method of claim 10 , wherein the converted command further comprises a group number, and the group number is arranged to set that a single-level cell (SLC) method, a multi-level cell (MLC) method, or a triple-level cell (TLC) method is utilized to perform a read/write operation upon the flash memory module.

16. The control method of claim 10 , wherein the converted command further comprises a memory slot index value, and the memory slot index value is arranged to indicate an address of the converted command within the buffer memory.

17. The flash memory controller of claim 1 , wherein both the command and the converted command are stored in the buffer memory, and the flash memory controller selectively operates in a first mode and a second mode; and under the first mode, the microprocessor only reads the converted command from the buffer memory without executing the command; and under the second mode, the microprocessor only reads the command from the buffer memory.

18. The memory device of claim 9 , wherein both the command and the converted command are stored in the buffer memory, and the flash memory controller selectively operates in a first mode and a second mode; and under the first mode, the microprocessor only reads the converted command from the buffer memory without executing the command; and under the second mode, the microprocessor only reads the command from the buffer memory.

19. The control method of claim 10 , wherein both the command and the converted command are stored in the buffer memory, and the control method further comprises:

selectively operating in a first mode and a second mode;

under the first mode, only reading the converted command from the buffer memory without executing the command; and

under the second mode, only reading the command from the buffer memory.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2023
From: TSAI, MING-YU
To: SILICON MOTION, INC.
Reel/Frame 064655/0727 →
Priority Claims (1)
TW 111146505 · Dec 5, 2022 · national
Continuity (1)
Related Publication 20240184485A1 · Jun 6, 2024
References Cited (28)
US 7274781B2 · Lipton · 2007 [cited by examiner]
US 7739475B2 · He · 2010 [cited by examiner]
US 10497075B2 · Chiappe · 2019 [cited by examiner]
US 11630721B2 · Kim · 2023 [cited by examiner]
US 11720490B2 · Chen · 2023 [cited by examiner]
US 11816028B2 · Huo · 2023 [cited by examiner]
US 12026101B2 · Park · 2024 [cited by examiner]
US 20090307537A1 · Chen · 2009 [cited by examiner]
US 20110029732A1 · Kobayashi · 2011 [cited by examiner]
US 20120051643A1 · Ha · 2012 [cited by examiner]
US 20160036466A1 · DeBrosse · 2016 [cited by examiner]
US 20160036888A1 · Jadhav · 2016 [cited by applicant]
US 20160098316A1 · Lin · 2016 [cited by examiner]
US 20180018172A1 · Rouban · 2018 [cited by examiner]
US 20180253345A1 · Kim · 2018 [cited by examiner]
US 20210034536A1 · Kim · 2021 [cited by examiner]
US 20210149796A1 · Nam · 2021 [cited by examiner]
US 20210224145A1 · Warmack · 2021 [cited by examiner]
US 20240134740A1 · Rapalli · 2024 [cited by examiner]
US 20240184484A1 · Tsai · 2024 [cited by examiner]
CN 112506569A · 2021 [cited by applicant]
EP 2311039B1 · 2013 [cited by applicant]
TW 200739547 · 2007 [cited by applicant]
TW 200839754 · 2008 [cited by applicant]
TW 201433919A · 2014 [cited by applicant]
TW 1660271B · 2019 [cited by applicant]
TW 202230114A · 2022 [cited by applicant]
Tsai, the specification, including the claims, and drawings in the U.S. Appl. No. 18/233,897, filed Aug. 15, 2023. [cited by applicant]