Patent ID: 8001317

Claim:
A data writing method for a non-volatile memory, comprising: respectively using a plurality of blocks belonging to a substitution area of the non-volatile memory for substituting a plurality of blocks belonging to a data area of the non-volatile memory to building a plurality of mother-child blocks sets, wherein each of the mother-child blocks sets includes one block belonging to the data area and one block belonging to the substitution area, and the blocks belonging to the substitution area are selected from a spare area of the non-volatile memory; using a plurality of temporary blocks of the non-volatile memory as a temporary area for the plurality of mother-child blocks sets, wherein each of the temporary blocks does not independently belong to any one of the mother-child blocks sets, receiving new data to be written into the blocks belonging to the data area; determining whether the new data to be written is in a random mode; writing the new data into the blocks belonging to the substitution area if the new data to be written is not in the random mode; and writing the new data into the temporary blocks belonging to the temporary area if the new data to be written is in the random mode.