1. A memory cell programming method, for a rewritable non-volatile memory module, wherein the rewritable non-volatile memory module has a plurality of physical erasing units, and each of the physical erasing units has a plurality of physical programming units, the memory cell programming method comprising: applying a first programming parameter set to write a first kind of data to one of the physical programming units; and applying a second programming parameter set to write a second kind of data to one of the physical programming units, wherein at least part of parameters of the first programming parameter set differ from the second programming parameter set, and the number of bits of data of a memory cell of the one of the physical programming units written with the first kind of data by applying the first programming parameter set is the same as the number of bits of data of a memory cell of the one of the physical programming units written with the second kind of data by applying the second programming parameter set.