1. A method of programming data in a phase-changeable memory device, comprising: applying a first pulse to a memory cell with multiple states; and applying a second pulse to condition the memory cell to one of the multiple states, wherein the second pulse is variable in waveform depending on the multiple states and the first pulse maintains the same waveform regardless of the multiple states, and wherein if the memory cell is programmed into one of a reset state and a set state, the first pulse can be applied to the memory cell to program the memory cell into the one of the reset state and the set state without applying the second pulse.