Method for operating a
semiconductor device, comprising: - Accessing the
semiconductor device, which contains multi-stage storage transistors arranged in rows and columns, wherein the multi-stage storage transistors include
silicon-
oxide-
nitride-
oxide-
silicon (SONOS)-based charge-
trapping transistors designed to store one of N x analog values corresponding to the N levels of a
threshold voltage, VT, and a
drain current, ID, where N is a natural number greater than 2; - Selecting at least one of the multi-stage storage transistors for a write operation to a
setpoint, wherein the
setpoint is one of the N x analog values and corresponds to a
setpoint ID range extending from a setpoint ID lower bound, LL, to a setpoint ID upper bound, UL;- Performing a partial
programming operation on the at least one of the multi-stage storage transistors for ID level reduction, wherein the partial
programming operation comprises at least one soft
programming operation and one padding programming operation, wherein the partial programming operation is designed to reduce the ID level and increase a VT level for the at least one of the multi-stage storage transistors, and wherein multi-stage storage transistors not selected for the partial programming operation are disabled, wherein an initial check read is performed after the partial programming operation to determine how a reduced ID level compares to a target ID mean;- Performing a partial erase operation on at least one of the multi-stage storage transistors to raise the ID level, wherein the partial erase operation comprises at least one of a soft erase operation, a selective soft erase operation, and an annealing erase operation, wherein the partial erase operation is designed to raise the ID level and decrease the VT level for at least one of the multi-stage storage transistors, and wherein multi-stage storage transistors not selected for the selective soft erase operation are disabled, wherein a second check read is performed after the partial erase operation to determine how a raised ID level compares to the target ID mean; and - Determining that the write operation to the target value is complete when the ID level of the at least one of the multi-stage storage transistors falls within the target ID range.