This document provides an operating method for a
semiconductor device, the
semiconductor device including memory cells that store multiple bits of data. The method includes: receiving data to be programmed into a
memory cell selected from the memory cells; and applying a
programming pulse to the selected
memory cell, the
programming pulse being determined based on the logical state of the data and selected from the group consisting of a first
programming pulse, a second programming pulse, a third programming pulse, and a fourth programming pulse, wherein the first programming pulse is positive, the second programming pulse is positive and has at least one of a
peak level, a peak period, and a falling oscillation rate different from the first programming pulse, the third programming pulse is negative, and the fourth programming pulse is negative and has at least one of a
peak level, a peak period, and a rising oscillation rate different from the third programming pulse.