1. A method generating program data to be stored in a nonvolatile memory device, comprising: randomizing the program data; adding guide data to the randomized program data to produce modified data with more bits than the program data; determining a number of bits in the modified data having a first data state; and based on the determined number, processing the modified data to reduce a frequency of at least one data state among the modified data.