1. A method of performing a program operation in a nonvolatile memory device, comprising: (a) applying a program pulse to selected memory cells; (b) detecting a number of fail bits among the selected memory cells, the fail bits comprising failed program bits and disturbed inhibit bits; and (c) determining a program completion status of the program operation based on the number of detected fail bits.