A method for reducing the number of programming states (threshold voltage
levels) required to be traversed when programming a multistate memory cell
with a given set of data. The invention first determines the average
programming state (corresponding to an average threshold voltage level)
for the set of data which is to be programmed into the memory cells. This
is accomplished by counting the number of programming states which must be
traversed in programming the cells with the data. If the majority of the
data requires programming the memory cell(s) to the upper two programming
states (in the case of a two bit per cell or four state system), then the
data is inverted and stored in the memory in the inverted form. This
reduces the amount of programming time, the number of programming states
traversed, and the power consumed in programming the memory cell(s) with
the data field.
Eine Methode für das Verringern der Zahl der Programmierung der Zustände (Schwelle Spannungshöhen) erfordert überquert zu werden, wenn eine multistate Speicherzelle mit einem gegebenen Satz Daten programmiert wird. Die Erfindung stellt zuerst den durchschnittlichen programmierenzustand (entsprechend einer durchschnittlichen Schwelle Spannungshöhe) für den Satz von Daten fest, die in die Speicherzellen programmiert werden soll. Dieses wird vollendet, indem man die Zahl programmierenzuständen zählt, die überquert werden müssen, wenn man die Zellen mit den Daten programmiert. Wenn die Majorität der Daten die Programmierung des Gedächtnis cell(s) zu den oberen zwei programmierenzuständen (im Fall von einem Bit zwei pro Zelle oder mit vier Zuständen System) benötigt, dann werden die Daten im Speicher in der umgekehrten Form umgekehrt und gespeichert. Dieses verringert die Menge der programmierenzeit, die Zahl den programmierenüberquerten zuständen, und die Energie, die verbraucht wird, wenn sie das Gedächtnis cell(s) mit den Daten programmiert, fangen auf.