US 11,809,314 B2
Method and apparatus for performing access control of memory device with aid of multi-stage garbage collection management
Tsung-Chieh Yang, Hsinchu (TW)
Assigned to Silicon Motion, Inc., Hsinchu County (TW)
Filed by Silicon Motion, Inc., Hsinchu County (TW)
Filed on Nov. 21, 2021, as Appl. No. 17/531,780.
Prior Publication US 2023/0161698 A1, May 25, 2023
Int. Cl. G06F 12/00 (2006.01); G06F 12/02 (2006.01); G06F 3/06 (2006.01)
CPC G06F 12/0269 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01); G06F 2212/7205 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for performing access control of a memory device with aid of multi-stage garbage collection (GC) management, the method being applied to a controller of the memory device, the memory device comprising the 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:
during a first GC stage, sending a first simple read command to the NV memory in order to try reading first valid data from a first source block among the plurality of blocks;
during the first GC stage, in response to reading the first valid data from the first source block being successful, sending the first valid data into an internal buffer of the NV memory, for being programed into a first destination block among the plurality of blocks;
during the first GC stage, sending a second simple read command to the NV memory in order to try reading second valid data from the first source block;
during the first GC stage, in response to reading the second valid data from the first source block being unsuccessful, preventing retrying reading the second valid data from the first source block;
in a time period between an end time point of the first GC stage and a beginning time point of a second GC stage after the first GC stage, completing at least one host-triggered operation, wherein the controller performs the at least one host-triggered operation in response to at least one host command among a plurality of host commands from a host device; and
during the second GC stage, retrying reading the second valid data from the first source block.