US 12,353,327 B2
Method for performing garbage collection management of memory device with aid of block classification, memory controller, memory device and electronic device
Cheng-Yu Tsai, Kaohsiung (TW)
Assigned to Silicon Motion, Inc., Hsinchu County (TW)
Filed by Silicon Motion, Inc., Hsinchu County (TW)
Filed on May 2, 2024, as Appl. No. 18/653,915.
Claims priority of application No. 112116436 (TW), filed on May 3, 2023.
Prior Publication US 2024/0370367 A1, Nov. 7, 2024
Int. Cl. G06F 12/02 (2006.01)
CPC G06F 12/0253 (2013.01) [G06F 2212/7205 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A method for performing garbage collection (GC) management of a memory device with aid of block classification, the method being applied to a memory controller of the memory device, the memory device comprising the memory controller and a non-volatile (NV) memory, the NV memory comprising at least one NV memory element, the at least one NV memory element comprising a plurality of blocks, the method comprising:
utilizing the memory controller to divide at least one portion of blocks among the plurality of blocks into multiple first blocks belonging to at least one first type in a first area and multiple second blocks belonging to at least one second type in a second area, wherein a bit count per memory cell of the multiple first blocks is fixed, and a bit count per memory cell of a first set of second blocks among the multiple second blocks, rather than a bit count per memory cell of all second blocks among the multiple second blocks, is fixed;
utilizing the memory controller to receive a first command from a host device through a transmission interface circuit within the memory controller, wherein the first command indicates a write request from the host device; and
during writing data in response to the first command, performing a foreground GC (FGC) procedure to control the memory device to perform GC before completing at least one writing operation corresponding to the first command, for controlling priority of releasing storage space of the second area to be higher than that of releasing storage space of the first area, wherein the FGC procedure comprises multiple FGC sub-procedures, and a FGC start-up control sub-procedure among the multiple FGC sub-procedures comprises:
determining whether at least one first FGC-related condition among a set of first FGC-related conditions is satisfied; and
according to whether the at least one first FGC-related condition is satisfied, determining whether to perform FGC, wherein if the at least one first FGC-related condition is satisfied, it is determined to perform the FGC to allow performing subsequent operations of the FGC procedure, otherwise, it is determined not to perform the FGC to prevent performing said subsequent operations of the FGC procedure;
wherein the bit count per memory cell of the multiple first blocks is equal to a first predetermined value, the bit count per memory cell of the first set of second blocks among the multiple second blocks is equal to a second predetermined value, and the memory controller is arranged to reconfigure any second block in a second set of second blocks among the multiple second blocks, to make the bit count per memory cell of the any second block change between the first predetermined value and the second predetermined value, wherein both of the first predetermined value and the second predetermined value are positive integers, and the second predetermined value is greater than the first predetermined value.