1. A data programming method of a semiconductor memory device, comprising: randomizing write data using at least one randomization method selected from among a plurality of randomization methods according to whether the write data is programmed in any one of a plurality of nonvolatile memories; and programming the randomized write data in at least one of the plurality of nonvolatile memories, wherein the plurality of nonvolatile memories has different types from one another.