Patent attributes
According to a method of programming a nonvolatile memory device, a program operation is performed on a first page by applying a program pulse to the first page. A verification operation is performed on the program operation by applying a verification voltage to the first page. If the program operation for the first page has not been completed, a voltage selected from threshold voltages of the first page is set as a highest threshold voltage. The program operation for the first page is completed by repeatedly performing a program operation and a verification operation on the first page while a voltage level of the program pulse is increased. The sum of a program start voltage for the first page and a difference between the verification voltage and the highest threshold voltage is set as a program start voltage for a second page.