Patent ID: 7782666

Claim:
A multi-bit programming apparatus that programs N-bit data in at least one multi-bit cell, the apparatus comprising: a first control unit that allocates any one of 2 N threshold voltage states to the N-bit data; a second control unit that spaces, by any one of different 2 N −1 intervals, adjacent threshold voltage states of the 2 N threshold voltage states; a programming unit that programs the N-bit data by generating, in each of the at least one multi-bit cell, a distribution state corresponding to the allocated threshold voltage state; and a verification unit that verifies whether the distribution state corresponding to the allocated threshold voltage state is generated by comparing a threshold voltage of the at least one multi-bit cell and a verification voltage, wherein the second control unit spaces, by any one of the 2 N −1 intervals, the adjacent threshold voltage states by adjusting the verification voltage.