An apparatus and method of a multi-bit programming in a multi-level memory device is provided to reduce reading failure by using a multi-level programming. A first controller(110) assigns one of 2^N bit threshold voltage states to N bit data. A first controller assigns one to 2^N threshold voltage to a data to be programmed the multi-bit cells respectively. A controller(120) assigns one to 2^N threshold voltage state by a first interval or a second interval. A second controller sets up interval between the second threshold voltage state and the first threshold voltage state the first. A programming part(130) form distribution corresponding to the allocated threshold voltage state is formed in the multi bit cell.