US 11,809,713 B1
Method and apparatus for performing data access management of memory device with aid of randomness-property control
Tsung-Chieh Yang, Hsinchu (TW)
Assigned to Silicon Motion, Inc., Hsinchu County (TW)
Filed by Silicon Motion, Inc., Hsinchu County (TW)
Filed on Jul. 12, 2022, as Appl. No. 17/863,383.
Int. Cl. G06F 3/06 (2006.01); G06F 12/02 (2006.01)
CPC G06F 3/0611 (2013.01) [G06F 3/064 (2013.01); G06F 3/0679 (2013.01); G06F 12/0253 (2013.01); G06F 2212/7205 (2013.01)] 13 Claims
OG exemplary drawing
 
1. A method for performing data access management of a memory device with aid of randomness-property control, 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 method comprising:
receiving a plurality of host commands from a host device and performing data access on the NV memory according to the plurality of host commands, wherein performing the data access on the NV memory according to the plurality of host commands comprises:
in response to at least one host write command among the plurality of host commands, programming data into at least one single level cell (SLC) block to be first stored data corresponding to a data reception stage; and
performing a seed-aware garbage collection (GC) procedure to collect valid data among the first stored data of the at least one SLC block into at least one non-SLC block to be second stored data corresponding to a data storage stage, wherein a bit count per memory cell for a plurality of memory cells within the at least one non-SLC block is greater than one, and the seed-aware GC procedure comprises:
performing a first randomness-property checking operation on a first seed and a second seed to generate a first randomness-property checking result; and
according to the first randomness-property checking result, selectively determining first data of a first page within the at least one SLC block and second data of a second page within the at least one SLC block as a first set of target data for being programmed into the at least one non-SLC block with at least one internal copy operation of the NV memory, wherein the first data is randomized with the first seed before the first data is programmed into the first page in the data reception stage, and the second data is randomized with the second seed before the second data is programmed into the second page in the data reception stage.