1. A data writing method, wherein a data storage device comprises a flash memory, and the flash memory comprises a plurality of memory cells, comprising: adjusting a plurality of programming voltage values for programming most significant bits (MSB) of a plurality of stored data patterns of the memory cells of the flash memory to obtain a plurality of adjusted programming voltage values; receiving a target data from a host; and directing the flash memory to write the target data thereto according to the adjusted programming voltage values.