1. A method generating program data to be stored in a nonvolatile memory device, comprising: randomizing the program data; adding different guide data to different copies of the randomized program data to produce multiple units of modified data each having more bits than the program data; determining a number of bits in each of the units of modified data having a first data state; and based on the determined numbers, selecting one of the units of modified data as guided scramble data to be stored in the nonvolatile memory device, wherein the selected unit has a highest or lowest number of bits with the first data state among the units of modified data, and wherein the first data state is a state of least significant bit (LSB) data or most significant bit (MSB) data of an uppermost program state or an erase state of multi-bit data and the nonvolatile memory device is a multi-level-cell memory device.