DE60307184T2 - Halbleiterspeicher und Verfahren zum Schreiben von Daten - Google Patents

Halbleiterspeicher und Verfahren zum Schreiben von Daten Download PDF

Info

Publication number
DE60307184T2
DE60307184T2 DE60307184T DE60307184T DE60307184T2 DE 60307184 T2 DE60307184 T2 DE 60307184T2 DE 60307184 T DE60307184 T DE 60307184T DE 60307184 T DE60307184 T DE 60307184T DE 60307184 T2 DE60307184 T2 DE 60307184T2
Authority
DE
Germany
Prior art keywords
data
circuit
write
memory
memory cell
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60307184T
Other languages
English (en)
Other versions
DE60307184D1 (de
Inventor
Ken Tenri-shi Sumitani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of DE60307184D1 publication Critical patent/DE60307184D1/de
Application granted granted Critical
Publication of DE60307184T2 publication Critical patent/DE60307184T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. GEBIET DER ERFINDUNG:
  • Die Erfindung betrifft einen Halbleiterspeicher mit einer Mehrzahl von Speicherzellen und ein Verfahren zum Steuern des Schreibens von Daten in den Halbleiterspeicher.
  • 2. BESCHREIBUNG DES STANDES DER TECHNIK:
  • In einem Halbleiterspeicher mit einer Mehrzahl von Speicherzellen, die jeweils wenigstens 1-Bit Daten speichern, wie einem MLC (Multi Level Cell) Flash-Speicher oder dergleichen, kennzeichnen die Schwellspannungen der Speicherzelle verschiedene darin gespeicherte Daten. Somit ist eine Datenumwandlung auf die eine oder andere Weise erforderlich, um Daten in die Speicherzellen zu schreiben und Daten aus diesen auszulesen.
  • In einem MLC Flash-Speicher kann jede Speicherzelle üblicherweise drei oder vier Schwellspannungen einnehmen (oder sich in drei oder noch mehr Zuständen befinden). Im Vergleich mit einem binären Speicher mit lediglich einer Schwellspannung ist hierbei eine komplexere Steuerung erforderlich, um Daten entsprechend der jeweiligen Schwellspannung zu schreiben und zu lesen.
  • Nachfolgend wird ein Datenschreibvorgang eines Halbleiterspeichers, der ein MLC Flash-Speicher ist, mit einer Mehrzahl von in einer Matrix angeordneten Speicherzellen erläutert.
  • Zunächst wird ein Verfahren zum Speichern von MLC Daten in einem herkömmlichen MLC Flash-Speicher im Vergleich zu einem Verfahren zum Speichern von MLC Daten in einem herkömmlichen binären Flash-Speicher erläutert.
  • Ein MLC Flash-Speicher, der einen nichtflüchtigen Halbleiterspeicher darstellt, enthält eine Mehrzahl von üblicherweise aus MOSFETs ausgebildeten Speicherzellen. Daten werden dadurch gespeichert, dass die Schwellspannung jeder Speicherzelle entsprechend der in einem Floating-Gate des zugeordneten MOSFETs angesammelten Ladungsmenge verändert wird.
  • 10 zeigt eine Darstellung einer Verteilung von Schwellspannungen einer Mehrzahl von Speicherzellen, die in einem herkömmlichen binären Flash-Speicher vorliegen. Die horizontale Achse kennzeichnet die Schwellspannung und die vertikale Achse kennzeichnet die Anzahl von Speicherzellen. Die Referenz-Schwellspannung in der Mitte der horizontalen Achse kennzeichnet die Spannung, bei der Daten gelesen werden.
  • Üblicherweise ist ein repräsentativer binärer NOR Flash-Speicher in einem Zustand mit gelöschten Daten, falls ein Floating-Gate einer Speicherzelle keine angesammelten Daten aufweist. Dieser Zustand wird durch Daten „1" gekennzeichnet. Der binäre NOR Flash-Speicher ist einem Zustand mit geschriebenen Daten, falls ein Floating-Gate einer Speicherzelle darin injizierte negative Ladungen (Elektronen) aufweist. Dieser Zustand wird durch Daten „0" gekennzeichnet.
  • Das Gebiet von 10, das unterhalb der Referenz-Schwellspannung liegt, zeigt eine Verteilung von Schwellspannungen in dem Zustand mit gelöschten Daten und das Gebiet von 10, das oberhalb der Referenz-Schwellspannung liegt, zeigt eine Verteilung von Schwellspannungen in dem Zustand mit geschriebenen Daten.
  • Die Schwellspannung einer Speicherzelle ist im Zustand mit gelöschten Daten kleiner als im Zustand mit geschriebenen Daten. Solange die an das Steuer-Gate einer Speicherzelle angelegte Spannung auf demselben Niveau liegt, fließt in eine Speicherzelle im Zustand mit gelöschten Daten ein größerer Strom als in eine Speicherzelle im Zustand mit geschriebenen Daten. Somit ist die in eine Speicherzelle fließende Stromgröße im Zustand mit gelöschten Daten verschieden von derjenigen im Zustand mit geschriebenen Daten. Ob sich Daten in der Speicherzelle befinden oder nicht („Datenspeicherzustand") wird über die Differenz der Stromgrößen geprüft. Dies wird als Datenlesevorgang zur Überprüfung bezeichnet (ein unten beschriebener Datenüberprüfungsvorgang entspricht im Wesentlichen dem Datenlesevorgang zur Überprüfung).
  • Ein Lesevorgang wird durch Detektieren der Größe des in eine Referenzzelle fließenden Stromes ausgeführt, wobei die obige Referenz-Schwellspannung in der Referenzzelle eingestellt ist und ebenso wird die in eine Speicherzelle, aus der Daten ausgelesen werden sollen, fließende Stromgröße detektiert, wonach die Stromgrößen miteinander verglichen werden.
  • Die Stromgrößen werden speziell mittels eines Leseverstärkers durch Detektieren der Stromgröße einer mit der gewünschten Speicherzelle verbundenen Bitleitung und einer mit der Referenzzelle verbundenen Bitleitung verglichen.
  • 11 zeigt eine Darstellung einer Verteilung von Schwellspannungen einer Mehrzahl von Speicherzellen, die in einem gewöhnlichen quaternären Flash-Speicher vorgesehen sind. In diesem Beispiel speichert jede der Speicherzellen in dem quaternären Flash-Speicher 2-Bit Daten. Die horizontale Achse kennzeichnet die Schwellspannung und die vertikale Achse kennzeichnet die Anzahl von Speicherzellen. Die Referenz-Schwellspannungen 1, 2 und 3 entlang der horizontalen Achse kennzeichnen jeweils die Spannung, bei der Daten gelesen werden.
  • Jede Speicherzelle kann in einem quaternären Flash-Speicher vier Zustände einnehmen, d. h. einen Zustand mit gelöschten Daten und drei Zustände mit geschriebenen Daten. Die Schwellspannung einer Speicherzelle ist im Zustand mit gelöschten Daten am geringsten. Die Schwellspannungen der drei Zustände mit geschriebenen Daten sind verschieden voneinander. Zum Ausführen eines Datenlesevorgangs aus einer Speicherzelle, die sich wahlweise in vier Zuständen befinden kann, werden drei Referenz-Spannungen 1, 2 und 3 eingestellt, siehe 11.
  • 2-Bit Daten, die in die Speicherzellen des in 11 gezeigten Flash-Speichers geschrieben sind, werden als „11", „10", „01" oder „00" definiert. Die Daten „11" speichernde Speicherzelle weist die niedrigste Schwellspannung auf und die Daten „00" speichernde Speicherzelle weist die höchste Schwellspannung auf. Daten „11" entsprechen dem Zustand mit gelöschten Daten. In den Zuständen mit geschriebenen Daten, welche Daten „10", „01" und „00" wiedergeben, werden die Referenzspannungen derart eingestellt, dass die Streuung der Verteilung von Schwellspannungen unter der Mehrzahl von Speicherzellen so klein als möglich ist.
  • Ein Steuervorgang zum Schreiben von Daten in ein MLC Flash-Speicher, wie dem in 11 gezeigten quaternären Flash-Speicher, weist die folgenden Probleme auf.
  • Ein Datenschreibvorgang ist derart auszuführen, dass die den Daten einer Mehrzahl von Speicherzellen entsprechende Verteilung der Schwellspannungen innerhalb eines vergleichsweise engen Bereichs liegt (d. h. so dass die Streuung der Verteilung vergleichsweise klein ist).
  • Insbesondere wird der Bereich der Verteilung der den Daten der Mehrzahl von Speicherzellen entsprechenden Schwellspannungen beim Lesen von Daten aus den Speicherzellen zur Wiedergabe vergrößert im Vergleich zu dem Bereich der Verteilung der Schwellspannungen beim Datenschreibvorgang. Dadurch wird das Fenster für die kleinstmögliche Schwellspannung und die größtmögliche Schwellspannung im Hinblick auf die Referenz-Spannung beim Schreiben von Daten reduziert.
  • Zusätzlich müssen die Daten zur Wiedergabe effizient aus den Speicherzellen, in denen drei Referenz-Spannungen eingestellt sind, gelesen werden.
  • 12 zeigt einen beispielhaften Algorithmus zur Schreiben von Daten in einen quaternären Flash-Speicher. Bei dem in 12 gezeigten Algorithmus wird das Schreiben von Daten in drei Schritten durchgeführt, d.h. den Schritten 1 bis 3.
  • In jedem der Schritte 1 bis 3 werden Zieldaten, die in einer Speicherzelle gespeichert werden sollen, und die gegenwärtig in der Speicherzelle gespeicherten Daten überprüft, um zu ermitteln, ob ein Datenschreibvorgang in die Speicherzelle ausgeführt werden soll oder nicht. Beim Datenschreibvorgang wird die Schwellspannung unter strengeren Anforderungen im Vergleich zur Referenz-Schwellspannung beim Datenlesevorgang eingestellt, um nach dem Schreiben von Daten ein Fenster für eine im Zeitablauf erfolgende Datenschädigung und ebenso ein Fenster zum Lesen von Daten zu gewährleisten. Die Schwellspannung wird ebenso für einen Datenüberprüfungsvorgang genutzt.
  • In den Schritten 1 bis 3 wird ein vorgegebener Schreibdatenpuls an ein Steuer-Gate und an ein Drain jeder Speicherzelle angelegt. Dann wird ein Datenüberprüfungsvorgang durchgeführt (d. h. die Referenzspannung wird überprüft und ein Datenlesevorgang ausgeführt) um zu überprüfen, ob die Schwellspannung der Speicherzelle ein gewünschtes Niveau erreicht hat oder nicht. Hat die Schwellspannung das gewünschte Niveau erreicht, wird das Anlegen des Schreibdatenpulses gestoppt. Hat die Schwellspannung das gewünschte Niveau nicht erreicht, liegt der Schreibdatenpuls weiter an. Das Anlegen des Schreibdatenpulses und der Überprüfungsvorgang werden auf diese Weise wiederholt, so dass die gewünschte Schwellspannung in der Speicherzelle eingestellt wird.
  • Insbesondere wird ein Schreiben von Daten in Einklang damit ausgeführt, ob die Daten in die Speicherzellen geschrieben werden müssen oder nicht, siehe rechter Teil der Tabelle von 12.
  • In Schritt 1 erfolgt der Datenschreibvorgang in die Speicherzellen, in denen die gegenwärtigen Daten „11" entsprechen (gelöschter Datenzustand) und die Zieldaten "10", "01" und "00" entsprechen.
  • Der Datenschreibvorgang wird fortgesetzt bis die Schwellspannung all der Speicherzellen, in die Daten geschrieben werden sollen, der Referenz-Schwellspannung 1' entspricht, welche dem niedrigst möglichen Wert der Zieldaten "10" gleichkommt oder darüber liegt (die Referenz-Schwellspannung 1' stellt einen zur Überprüfung genutzten Wert dar, der unter strengeren Bedingungen eingestellt wird als die Referenz-Schwellspannung 1, welche für den niedrigstmöglichen Wert der Daten "10" (11) zum Lesen von Daten genutzt wird. Ebenso werden die Referenz-Schwellspannungen 2' und 2'' unter strengeren Bedingungen als die Referenz-Schwellspannung 2 eingestellt und die Referenz-Schwellspannungen 3' und 3'' werden unter strengeren Bedingungen eingestellt als die Referenz-Schwellspannung 3).
  • Die Referenz-Schwellspannung 1' wird höher eingestellt als die zum Lesen von Daten verwendete Referenz-Schwellspannung 1, um ein Fenster mit einer Sicherheit im Hinblick auf die Detektionspräzision eines zum Lesen der Daten verwendeten Leseschaltkreises sowie ein Fenster für Änderungen der Schwellspannung, welche von einer durch den Zeitablauf verur sachten Schädigung der in der Speicherzelle gespeicherten Daten herrührt, zu erzielen. Aus demselben Grund wird die Referenz-Schwellspannung 2', welche den höchstmöglichen Wert der Zieldaten "10" darstellt, niedriger eingestellt als die Referenz-Schwellspannung 2, die zum Lesen der Daten verwendet wird.
  • Erhält beispielsweise eine Speicherzelle eine Schwellspannung, welche die Referenz-Schwellspannung 2' der Zieldaten "10" während des Datenschreibvorgangs übersteigt, befindet sich die Speicherzelle in einem überprogrammierten Zustand, der außerhalb des Schwellspannungsbereichs liegt, in dem das Lesen von Zieldaten "10" gewährleistet ist. Wird deshalb ein Datenschreibvorgang in einem MLC Flash-Speicher durchgeführt, ist es wichtig, Speicherzellen vom überprogrammierten Zustand fernzuhalten, z. B. durch Steuern der Datenschreibspannung.
  • In Schritt 2 wird der Datenschreibvorgang in die Speicherzellen durchgeführt, in denen die Zieldaten "01" oder "00" entsprechen und die gegenwärtigen Daten unterhalb von "01" liegen. Die Details des Datenschreibvorgangs stimmten im Wesentlichen mit dem Schritt 1 überein.
  • In Schritt 2 wird die Referenz-Schwellspannung 2'', welche dem niedrigstmöglichen Wert der Zieldaten "01" entspricht, höher als die Referenz-Schwellspannung 2 (11) eingestellt, welche dem niedrigstmöglichen Wert der Daten „01" beim Lesen von Daten entspricht. Die Referenz-Schwellspannung 3', welche dem höchstmöglichen Wert der Zieldaten „01" entspricht, wird niedriger als die Referenz-Schwellspannung 3 (11) eingestellt, welche dem höchstmöglichen Wert der Daten "01" beim Lesen der Daten entspricht.
  • Der Datenschreibvorgang wird derart durchgeführt, dass all die Speicherzellen, in die Daten geschrieben werden sollen, einen Schwellspannungswert innerhalb des Bereichs von der Referenz-Schwellspannung 2'' (dem niedrigstmöglichen Wert der Zieldaten "01") bis zur Referenz-Schwellspannung 3' (dem höchstmöglichen Wert der Zieldaten "01") erhalten.
  • In Schritt 3 wird der Datenschreibvorgang in die Speicherzellen durchgeführt, in denen die Zieldaten "00" entsprechen und die gegenwärti gen Daten unterhalb von "00" liegen. Die Details des Datenschreibvorgangs stimmen im Wesentlichen mit dem Schritt 1 überein.
  • In Schritt 3 wird die Referenz-Schwellspannung 3'', welche dem niedrigstmöglichen Wert der Zieldaten "00" entspricht, höher als die Referenz-Schwellspannung 3 (11) eingestellt, welche dem niedrigstmöglichen Wert der Daten "00" beim Lesen von Daten entspricht.
  • Der Datenschreibvorgang wird derart durchgeführt, dass all die Speicherzellen, in die Daten geschrieben werden sollen, eine Schwellspannung erhalten, die größer als oder gleich zur Referenz-Schwellspannung 3'' (der niedrigstmögliche Wert der Zieldaten "00") ist.
  • Wie oben beschrieben ist, können Daten in einem quaternären Flash-Speicher über den in 12 gezeigten Algorithmus geschrieben werden.
  • Nachfolgend wird eine als „Array Noise" bezeichnete Erscheinung erläutert. „Array Noise" verursacht ein beträchtliches Problem im Hinblick auf den überprogrammierten Zustand des Datenschreibvorgangs.
  • Array Noise entspricht der folgenden Erscheinung. Es sei beispielsweise angenommen, dass eine vorgegebene Speicherzelle und eine weitere Speicherzelle an eine vorgegebene Wortleitung in einem Speicherfeld angeschlossen sind. Werden Daten in die vorgegebene Speicherzelle geschrieben und die Schwellspannung der vorgegebenen Speicherzelle geändert, so wird die Schwellspannung der anderen Speicherzelle, in die keine Daten geschrieben wurden, offenbar auch geändert.
  • 13 zeigt einen Teil eines Speicherfeldes eines MLC NOR Flash-Speichers. 13 zeigt vier Wortleitungen WL1 bis WL4, vier Bitleitungen BL1 bis BL4, eine Sourceleitung SRC und Speicherzellen CELL11 bis CELL44.
  • Die Sources aller Speicherzellen sind gemeinsam an die Sourceleitung SRC angeschlossen. Die Wortleitungen WL und die Bitleitungen BL liegen senkrecht zueinander.
  • Die Wortleitungen WL1 bis WL4 sind an ein Steuer-Gate der mit diesen verbundenen Speicherzellen angeschlossen. Die Bitleitungen BL1 bis BL4 sind an ein Drain der mit diesen verbundenen Speicherzellen angeschlossen. Somit sind die Speicherzellen in einer Matrix angeordnet.
  • Die Drains zweier benachbarter und an eine der Bitleitungen BL1 bis BL4 angeschlossenen Speicherzellen sind miteinander verbunden und die Sources zweier benachbarter Speicherzellen sind ebenso miteinander verbunden. Beispielsweise sind die Drains der Speicherzellen CELL11 und CELL21 miteinander verbunden und die Drains sind an die Bitleitung BL1 angeschlossen. Die Sources der Speicherzellen CELL21 und CELL31 sind miteinander verbunden und diese sind an die Sourceleitung SRC angeschlossen. Die Drains der Speicherzellen CELL31 und CELL41 sind miteinander verbunden und diese sind an die Bitleitung BL1 angeschlossen.
  • Ein Vorgang zum Schreiben beliebiger Daten in die Speicherzellen CELL21 bis CELL23, die an die Wortleitungen WL2 angeschlossen sind, wird ausgehend von dem Zustand, in dem all die Speicherzellen gelöscht sind, beschrieben. In die an die Wortleitung WL2 angeschlossene Speicherzelle CELL24 werden keine Daten geschrieben und diese wird in dem Zustand mit gelöschten Daten gehalten.
  • Bevor der Datenschreibvorgang ausgeführt wird, befinden sich alle Speicherzellen in dem Zustand mit gelöschten Daten. Die Schwellspannung ist in all den Speicherzellen so niedrig als möglich. Wird somit ein Datenlesevorgang zur Überprüfung der Speicherzellen CELL21 bis CELL24 durchgeführt, fließt ein verhältnismäßig großer Strom in die Speicherzellen CELL21 bis CELL24.
  • Aufgrund des parasitären Widerstands der Sourceleitung SRC und eines Anstiegs des Ausgangswiderstands eines Ausgangstransistors in einer Ansteuerschaltung und dergleichen floatet die Spannung der Sourceleitung SRC verhältnismäßig stark gegenüber der anfänglichen Spannung (z. B. Massespannung).
  • Schreitet der Datenschreibvorgang in die Speicherzellen CELL21 bis CELL23 voran, nimmt die Schwellspannung in den Speicherzellen CELL21 bis CELL23 zu. Dadurch nimmt die Größe des in die Speicherzellen CELL21 bis CELL23 fließenden Stroms ab und damit nimmt auch der floatende Pegel der Spannung der Sourceleitung SRC in Bezug auf die Massespannung nach und nach ab.
  • Nimmt der floatende Pegel der Spannung der Sourceleitung SRC ab, steigt die Drain-Source-Spannung der Speicherzellen CELL21 bis CELL23 an und damit nimmt die Größe des Stroms zu, der von dem Datenlesevorgang zur Überprüfung verursacht wird. Somit detektiert der Leseverstärker fälschlicherweise eine Abnahme der Schwellspannung der Speicherzellen CELL21 bis CELL23.
  • Die Speicherzelle CELL24, die keinem Schreiben von Daten unterzogen wird und deshalb keine Änderung der Schwellspannung erfahren hat, ist an die Sourceleitung SRC und die Speicherzellen CELL21 bis CELL23 angeschlossen. Dadurch fließt infolge des Datenlesevorgangs zur Überprüfung zunehmend mehr Strom in die Speicherzelle CELL24 und der Leseverstärker detektiert fälschlicherweise, dass die Schwellspannung der Speicherzelle CELL24 kleiner geworden ist.
  • Diese Erscheinung wird als „Array Noise" bezeichnet. Tritt Array Noise auf, so kann eine Speicherzelle, in der der Datenschreibvorgang und der Überprüfungsvorgang abgeschlossen sind, infolge des nachfolgenden Datenlesevorgangs zur Überprüfung fälschlicherweise als Speicherzelle mit erniedrigter Schwellspannung ermittelt werden und dadurch werden die Daten erneut in die Speicherzelle geschrieben.
  • Eine derartige Fehlfunktion aufgrund von Array Noise verursacht ein ernsthaftes Problem in einem MLC Flash-Speicher, bei dem die Schwellspannung jeder Speicherzelle präzise gesteuert werden muss, um die Streuung in der Verteilung der Schwellspannungen zu reduzieren.
  • Dies führt jedoch in einem binären Flash-Speicher aus folgenden Gründen zu keinem gravierenden Problem. In einem binären Flash-Speicher wird die Schwellspannung beim erneuten Schreiben einer Speicherzelle vergrößert verglichen mit der Schwellspannung in einem gewöhnlichen Zustand mit geschriebenen Daten. Jedoch ist in dem binären Flash-Speicher das Fenster der niedrigstmöglichen Schwellspannung und der höchstmöglichen Schwellspannung in Bezug auf die Referenz-Spannung größer als das Fenster in einem MLC Flash-Speicher, siehe 10. Deshalb besteht im Wesentlichen kein Risiko, dass der binäre Flash-Speicher eine Fehlfunktion beim Lesen von Daten zur Wiedergabe verursacht.
  • Im Gegensatz hierzu ist in einem MLC Flash-Speicher das Fenster für die niedrigstmögliche Schwellspannung und die höchstmögliche Schwellspannung in Bezug auf die Referenz-Spannung geringer. Werden deshalb die den Daten „10" und „01" (11) zugeordneten Schwellspannungen zu hoch („Überprogrammierung"), können die tatsächlich geschriebenen Daten von den Zieldaten abweichen.
  • Selbst falls die Daten konstant unter denselben Bedingungen geschrieben werden, kann der floatende Pegel der Schwellspannung gegenüber der anfänglichen Spannung nach und nach abnehmen.
  • Um diese Probleme zu lösen, ist es erforderlich, die Amplitude (Spannungswert) und den Zyklus (Anwendungsdauer) von in eine Speicherzelle zu schreibenden Datenpulsen abzustimmen. Selbst falls jedoch eine derartige Abstimmung erfolgt, kann eine Speicherzelle, in die Daten verhältnismäßig einfach geschrieben werden können, fälschlicherweise als im Hinblick auf den Datenschreibvorgang nicht vollständig verarbeitete Speicherzelle befunden werden, nachdem diese Speicherzelle einmal in einer anfänglichen Stufe eines Datenschreibvorgangs als vollständig mit Daten beschriebene Speicherzelle befunden wurde. In diesem Fall werden Datenpulse mit einer hohen Spannung für eine lange Zeitspanne angelegt, was mit großer Wahrscheinlichkeit zu einem überprogrammierten Zustand führt.
  • Eine ähnliche Erscheinung kann beispielsweise durch eine Änderung der Leseeigenschaften des Leseverstärkers verursacht werden, wobei eine solche Änderung auf eine Änderung der Versorgungsspannung zurückzuführen sein kann.
  • Nachfolgend wird ein Datenschreibvorgang in einen weiteren MLC Flash-Speicher mit Bezug auf 14 beschrieben.
  • Ein Datenschreibvorgang in einem MLC Flash-Speicher, bei dem die Schwellspannungen der Speicherzellen präzise zu steuern sind, erfordert üblicherweise eine größere Zeitspanne im Vergleich zu einem binären Flash-Speicher.
  • Um die für den Datenschreibvorgang erforderliche Zeitspanne zu verkürzen, enthält ein MLC Flash-Speicher üblicherweise einen Seitenpufferschaltkreis zum vorübergehenden Speichern von in die Speicherzellen zu schreibenden Daten. 14 zeigt einen Teil eines MLC Flash-Speichers 400 mit einer Seitenpufferschaltung.
  • Der MLC Flash-Speicher 400 enthält einen Nutzerschnittstellenschaltkreis (nachfolgend als „UI Schaltkreis" bezeichnet) 410, einen Steuerbus 401, einen Adressbus 402 und einen Datenbus 403. Der MLC Flash-Speicher 400 wird extern über den Steuerbus 401, den Adressbus 402 und den Datenbus 403 betrieben, die an den UI Schaltkreis 410 angeschlossen sind.
  • Der UI Schaltkreis 410 empfängt extern ein Signal über den Steuerbus 401, den Adressbus 402 und den Datenbus 403 und analysiert das Signal zur Steuerung der Vorgänge in dem MLC Flash-Speicher 400. Der UI Schaltkreis 410 ist mit einem Seitenpufferschaltkreis 420 über einen Steuerbus 411, einen Adressbus 412 und einen Datenbus 413 verbunden und dieser ist ebenso mit einem Schreibzustandsmaschinenschaltkreis (Write State Machine, nachfolgend als „WSM Schaltkreis" bezeichnet) 430 über einen Steuerbus 414 verbunden.
  • Der Seitenpufferschaltkreis 420 speichert in die Speicherzellen zu schreibende Daten vorübergehend und wird hinsichtlich des Schreibens von Daten durch den UI Schaltkreis 410 über den Steuerbus 411, den Adressbus 412 und den Datenbus 413 gesteuert.
  • Der WSM Schaltkreis 430 steuert nach Empfang einer Anweisung Vorgänge in z.B. einem Speicherfeld 460, um z.B. Daten erneut in die Speicherzellen zu schreiben. Der WSM Schaltkreis 430 empfängt eine Anweisung durch ein Steuersignal von dem UI Schaltkreis 410 über den Steuerbus 414 und informiert den UI Schaltkreis 410 über ein Signal 431 über den Zustand desselben. Der WSM Schaltkreis 430 ist mit einem Leseschaltkreis (Leseverstärker) 440, einem Schreibschaltkreis (Programmierschaltkreis) 450, und dem Speicherfeld 460 über die Steuerbusse 434, 435 und 436 verbunden. Der Leseschaltkreis 440, der Schreibschaltkreis 450 und das Speicherfeld 460 sind miteinander über einen Lesebus 461 verbunden.
  • Falls eine Anweisung zum Schreiben von Daten seitens des UI Schaltkreises 410 erfolgt, gibt der WSM Schaltkreis 430 ein Steuersignal und Adresssignale an den Seitenpufferschaltkreis 420 über einen Steuerbus 432 und einen Adressbus 433 aus, um den Seitenpufferschaltkreis 420 anzuwei sen, spezielle Daten, die in die Speicherzellen zu schreiben sind, auszugeben. Der Seitenpufferschaltkreis 420 gibt die angewiesenen speziellen Daten an den WSM Schaltkreis 430 über einen Datenbus 421 aus.
  • Der Leseschaltkreis 440 empfängt ein Steuersignal von dem WSM Schaltkreis 430 über den Steuerbus 434 und liest damit Daten von den Speicherzellen im Speicherfeld 460. Die Speicherzellen, aus denen die Daten gelesen werden, werden basierend auf einem Steuersignal und Adresssignalen ausgewählt, welche von dem WSM Schaltkreis 430 über den Steuerbus 436 und den Adressbus 433 ausgegeben werden. Die ausgewählten Speicherzellen werden durch den WSM Schaltkreis 430 aktiviert.
  • Die Drains der ausgewählten Speicherzellen sind mit dem Lesebus 461 verbunden. Der Leseschaltkreis 440 bestätigt die Schwellspannung (die den Datenspeicherzustand kennzeichnet) jeder ausgewählten Speicherzelle über den Lesebus 461 und gibt dann die aus den ausgewählten Speicherzellen gelesenen Daten an den WSM Schaltkreis 430 über den Datenbus 441 aus.
  • Der WSM Schaltkreis 430 empfängt die zu schreibenden speziellen Daten (Zieldaten) von dem Seitenpufferschaltkreis 420 über den Datenbus 421 und dieser empfängt ebenso Daten von dem Leseschaltkreis 440 über den Datenbus 441. Basierend auf der gegenwärtigen Schwellspannung der jeweils ausgewählten Speicherzelle ermittelt der WSM Schaltkreis 430, ob Daten in die ausgewählte Speicherzelle zu schreiben sind oder nicht. Ein Schreibdatenpuls wird dem Schreibschaltkreis 450 als Ermittlungsergebnis über einen Datenbus 437 ausgegeben.
  • Der WSM Schaltkreis 430 gibt ein Steuersignal an das Speicherfeld 460 über den Steuerbus 436 aus, so dass das Speicherfeld 460 Daten empfangen kann. Dann gibt der WSM Schaltkreis 430 ein Steuersignal an den Schreibschaltkreis 450 über den Steuerbus 435 aus, um den Schreibdatenpuls an das Speicherfeld 460 anzulegen. Der Schreibschaltkreis 450 schreibt dem Schreibdatenpuls entsprechende Daten in die ausgewählten Speicherzellen, in dem ein Signal hoher Spannung an eine Bitleitung angelegt wird, die mit einem Drain der ausgewählten Speicherzellen über den Lesebus 461 sequenziell verbunden ist.
  • 15 zeigt einen Teil eines weiteren MLC Flash-Speichers 500, der einen im Vergleich zum in 14 gezeigten MLC Flash-Speicher 400 effizienteren Datenschreibvorgang ermöglicht.
  • Der MLC Flash-Speicher 500 weist eine Seitenmoduslesefunktion zum simultanen Lesen von Daten auf, die durch eine Mehrzahl von Adressen gekennzeichnet sind, sowie zum Auswählen erforderlicher Daten aus den gelesenen Daten.
  • Wie bei dem in 14 gezeigten MLC Flash-Speicher 400 enthält der MLC Flash-Speicher 500 einen UI Schaltkreis 510, einen Steuerbus 501, einen Adressbus 502 und einen Datenbus 503. Der MLC Flash-Speicher 500 wird extern über den Steuerbus 501, den Adressbus 502 und den Datenbus 503 betrieben, die mit dem UI Schaltkreis 510 verbunden sind.
  • Der UI Schaltkreis 510 empfängt extern ein Signal über den Steuerbus 501, den Adressbus 502 und den Datenbus 503 und analysiert das Signal zur Steuerung der Vorgänge in dem MLC Flash-Speicher 500. Der UI Schaltkreis 510 ist mit einem Seitenpufferschaltkreis 520 über einen Steuerbus 511, einen Adressbus 512 und einen Datenbus 513 verbunden und dieser ist ebenso mit einem Schreibzustandsmaschinenschaltkreis (Write State Machine, nachfolgend als „WSM Schaltkreis" bezeichnet) 530 über einen Steuerbus 514 verbunden.
  • Der Seitenpufferschaltkreis 520 speichert in die Speicherzellen zu schreibende Daten vorübergehend und wird hinsichtlich des Schreibens von Daten durch den UI Schaltkreis 510 über den Steuerbus 511, den Adressbus 512 und den Datenbus 513 gesteuert.
  • Der WSM Schaltkreis 530 steuert nach Empfang einer Anweisung Vorgänge in z. B. einem Speicherfeld 560, um z. B. Daten erneut in die Speicherzellen zu schreiben. Der WSM Schaltkreis 530 empfängt eine Anweisung durch ein Steuersignal von dem UI Schaltkreis 510 über den Steuerbus 514 und informiert den UI Schaltkreis 510 über ein Signal 531 über den Zustand desselben. Der WSM Schaltkreis 530 ist mit einem MLC Logikschaltkreis 580, einem Leseschaltkreis (Leseverstärker) 540, einem Schreibschaltkreis (Programmierschaltkreis) 550 und dem Speicherfeld 560 über die Steuerbusse 533, 534, 535 und 536 verbunden. Der Leseschaltkreis 540, der Schreib schaltkreis 550 und das Speicherfeld 560 sind untereinander über einen Lesebus 561 verbunden.
  • Ein Adresserzeugungsschaltkreis (Adresscontroller) 570 empfängt ein Steuersignal und Adresssignale von dem WSM Schaltkreis 530 über einen Steuerbus 538 und einen Adressbus 539, um interne Adressen zu erzeugen. Falls eine Schlüsseladresse, in die Daten zu schreiben sind, an den Adressbus 539 ausgegeben wird, stellt der Adresserzeugungsschaltkreis 570 eine an einen Adressbus 571 auszugebende Adresse basierend auf einem von dem Steuerbus 538 empfangenen Initialisierungssignal als Schlüsseladresse ein. Dann erhöht der Adresserzeugungsschaltkreis 570 basierend auf einem von dem Steuerbus 538 empfangenen Taktsignal die Adresse und gibt die erhöhte Adresse an den Adressbus 571 aus.
  • Der Leseschaltkreis 540 empfängt ein Steuersignal von dem WSM Schaltkreis 530 über den Steuerbus 534 und liest damit Daten aus den Speicherzellen im Speicherfeld 560. Die Speicherzellen, aus denen Daten gelesen werden, werden basierend auf einem Steuersignal ausgewählt, das von dem WSM Schaltkreis 530 ausgegeben wird, als auch basierend auf Adresssignalen, die von dem Adresserzeugungsschaltkreis 570 ausgegeben werden, wobei die Ausgaben über den Steuerbus 536 und den Adressbus 571 erfolgen. Die ausgewählten Speicherzellen werden von dem WSM Schaltkreis 530 aktiviert.
  • Die Drains der ausgewählten Speicherzellen sind mit dem Lesebus 561 verbunden. Der Leseschaltkreis 540 bestätigt die Schwellspannung (welche den Datenspeicherzustand kennzeichnet) jeder ausgewählten Speicherzelle über den Lesebus 561 und gibt dann die von den ausgewählten Speicherzellen gelesenen Daten an einen Datenmultiplexschaltkreis (nachfolgend als „MUX Schaltkreis" bezeichnet) 545 über den Datenbus 541 aus.
  • Der MUX Schaltkreis 545 empfängt ein Adresssignal von dem Adresserzeugungsschaltkreis 570 über den Adressbus 571. Basierend auf dem Adresssignal wählt der MUX Schaltkreis 545 unter den von dem Leseschaltkreis 540 empfangenen Daten auszugebende Daten aus und gibt die ausgewählten Daten an den MLC Logikschaltkreis 580 über einen Datenbus 546 aus.
  • Der MLC Logikschaltkreis 580 empfängt ein Steuersignal, das von dem WSM Schaltkreis 530 über einen Steuerbus 533 ausgegeben wird, Zieldaten, welche von dem Seitenpufferschaltkreis 520 über einen Datenbus 521 ausgegeben werden, und die Daten, welche von dem MUX Schaltkreis 545 ausgewählt werden und über den Datenbus 546 ausgegeben werden. Basierend auf der gegenwärtigen Schwellspannung der jeweils ausgewählten Speicherzelle bestimmt der MLC Logikschaltkreis 580, ob Daten in die jeweils ausgewählte Speicherzelle zu schreiben sind oder nicht. Ein Schreibdatenpuls wird als Ermittlungsergebnis an den WSM Schaltkreis 530 über einen Datenbus 581 ausgegeben. Basierend auf dem Schreibdatenpuls gibt der WSM Schaltkreis 530 Daten an den Schreibschaltkreis 550 über einen Datenbus 537 aus, die darauf hinweisen, ob Daten in die jeweils ausgewählte Speicherzelle geschrieben werden sollen oder nicht.
  • Der WSM Schaltkreis 530 gibt ein Steuersignal an das Speicherfeld 560 über den Steuerbus 536 aus, so dass das Speicherfeld 560 Daten empfangen kann. Dann gibt der WSM Schaltkreis 530 ein Steuersignal an den Schreibschaltkreis 550 über den Steuerbus 535 aus zum Anlegen des Schreibdatenpulses an das Speicherfeld 560. Der Schreibschaltkreis 550 schreibt dem Schreibdatenpuls entsprechende Daten in die ausgewählten Speicherzellen, in dem ein Signal hoher Spannung an eine Bitleitung angelegt wird, die mit einem Drain der jeweils ausgewählten Speicherzellen über den Lesebus 561 sequenziell verbunden ist.
  • Der Seitenpufferschaltkreis 520 des in 5 gezeigten MLC Flash-Speichers 500 weist eine wie folgt beschriebene Rückmeldefunktion auf. Basierend auf dem Steuersignal, das von dem WSM Schaltkreis 530 über einen Steuerbus 532 ausgegeben wird, kann der Seitenpufferschaltkreis 520 die über das Adresssignal gekennzeichneten Daten aktualisieren, wobei das Adresssignal von der Adresserzeugungsschaltung 570 über den Adressbus 571 ausgegeben wird und die Aktualisierung auf seitens des MLC Logikschaltkreises 580 erzeugte Rückmeldedaten erfolgt. Die Rückmeldedaten werden dem Seitenpufferschaltkreis 520 von dem MLC Logikschaltkreis 580 über einen Datenbus 582 ausgegeben.
  • 16 zeigt eine Wahrheitstabelle zu einem beispielhaften Betrieb des MLC Logikschaltkreises 580 während eines Datenschreibvorgangs eines quaternären Flash-Speichers.
  • 16 zeigt eine Logik pro Speicherzelle, die von dem MLC Logikschaltkreis 580 verwendet wird. Die Logik entspricht der Logik, die in dem dreistufigen Datenschreibvorgang in 12 verwendet wird. Die Schritte 1, 2 und 3 von 16 entsprechen den jeweiligen Schritten 1, 2 und 3, welche oben mit Bezug auf 12 beschrieben sind. In 16 kennzeichnet „Ziel" die Zieldaten und „gegenwärtig" kennzeichnet die gegenwärtigen Daten. „Schreiben" kennzeichnet, ob Daten in die jeweiligen Speicherzellen geschrieben werden sollen oder nicht. „L" weist darauf hin, dass keine Daten geschrieben werden sollen und „H" weist darauf hin, dass Daten geschrieben werden sollen.
  • 17 zeigt einen beispielhaften Logikschaltkreis zur Realisierung der in 16 gezeigten Wahrheitstabelle. Der in 17 gezeigte Logikschaltkreis enthält NAND Schaltkreise, NOR Schaltkreise, AND Schaltkreise und einen OR Schaltkreis. Signale, die in den in 17 gezeigten Logikschaltkreis eingespeist werden und von diesem ausgegeben werden, werden wie folgt eingestellt.
  • STP[1:0] ist ein Signal zur Kennzeichnung des gegenwärtigen Schrittes (16). Entspricht der gegenwärtige Schritt dem Schritt 1, entspricht STP[1:0] 01. Entspricht der gegenwärtige Schritt dem Schritt 2, so entspricht STP[1:0] 10. Entspricht der gegenwärtige Schritt dem Schritt 3, so ist STP[1:0] 11. STP1 entspricht dem oberen Bit und STP0 entspricht dem unteren Bit. Entspricht beispielsweise der gegenwärtige Schritt dem Schritt 1, so entspricht STP[1:0] 01 und deshalb nimmt STP1 den Wert 0 und STP0 den Wert 1 ein.
  • TGH und TGL entsprechen jeweils dem oberen und unteren Bit der Zieldaten („Ziel" in 16). Entsprechen die Zieldaten beispielsweise 01, so ist TGH0 und TGL entspricht 1.
  • RDH und RDL kennzeichnen jeweils das obere Bit und das untere Bit der gegenwärtigen Daten („gegenwärtig" in 16). Entsprechen die gegenwärtigen Daten beispielsweise 01, so beträgt RDH0 und RDL entspricht 1.
  • PROG kennzeichnet die Ausgabe und entspricht „Schreiben" in Tabelle 16. Entspricht PROG L, werden keine Daten geschrieben und falls PROG H entspricht, werden Daten geschrieben.
  • Der in 14 gezeigte MLC Flash-Speicher 400 und der in 15 gezeigte MLC Flash-Speicher 500 unterscheiden sich hauptsächlich hinsichtlich folgender vier Punkte voneinander.
    • (1) Ein Vorgang zum Ermitteln, ob Daten in eine Speicherzelle zu schreiben sind oder nicht, wird von dem WSM Schaltkreis 430 in dem MLC Flash-Speicher 400 durchgeführt, jedoch von dem MLC Logikschaltkreis 580 in dem MLC Flash-Speicher 500.
    • (2) Der zum Auswählen der Speicherzellen, in die Daten zu schreiben sind, verwendete Adressbus wird von dem WSM Schaltkreis 430 in dem MLC Flash-Speicher 400 gesteuert, jedoch von dem Adresserzeugungsschaltkreis 570 in dem MLC Flash-Speicher 500.
    • (3) Der MLC Flash-Speicher 500 weist eine Rückmeldefunktion zum erneuten Schreiben der Daten in den Seitenpufferschaltkreis 520 auf, wobei der MLC Flash-Speicher 400 keine derartige Funktion aufweist.
    • (4) Der MLC Flash-Speicher 500 weist eine Seitenmoduslesefunktion zum Auswählen erforderlicher Daten auf, wobei der MLC Flash-Speicher 400 keine derartige Funktion aufweist.
  • Der Unterschied (1) wird detailliert beschrieben. Wie oben mit Bezug auf 16 und 17 erläutert ist, erfordert der Vorgang zur Ermittlung, ob Daten in eine Speicherzelle zu schreiben sind oder nicht, eine komplizierte Logik und einen Logikschaltkreis zum Ausführen der Logik. Selbst falls der WSM Schaltkreis 430 des MLC Flash-Speichers 400 einen Mehrzweckschaltkreis enthält, ist eine sehr lange Verarbeitungszeit erforderlich, um basierend auf einer Kombination herkömmlicher Vorgänge (z. B. AND, OR, NOR und NAND) zu ermitteln, ob Schreibdaten zu schreiben sind oder nicht. Der MLC Flash-Speicher 500 führt den Ermittlungsvorgang über den MLC Logikschaltkreis 580 aus, welcher speziell für diesen Zweck vorgesehen ist und veranlasst den WSM Schaltkreis 530, das Ergebnis des Betriebs des MLC Logikschaltkreis 580 zu verarbeiten.
  • Der Unterschied (2) wird detailliert beschrieben. Um Daten zu schreiben, die in einer der Mehrzahl von Adressen entsprechenden Mehrzahl von Speicherzellen gespeichert sind, ist es erforderlich, die internen Adressen in dem Speicherfeld über den Steuerbus und den Adressbus zu steuern. Eine derartige Steuerung wird beispielsweise durch Erhöhen der Schlüsseladresse durchgeführt. Der MLC Flash-Speicher 400 setzt voraus, dass der WSM Schaltkreis 430 einen zusätzlichen Schaltkreis sowie eine Einrichtung zum Steuern des zusätzlichen Schaltkreises zur Durchführung einer derartigen Steuerung des Adressbusses mit dem WSM Schaltkreis 430 (z. B. zum Erhöhen der Adresse) enthält. Der MLC Flash-Speicher 500 führt eine derartige Steuerung der Adressen mittels dem Adresserzeugungsschaltkreis 570 durch, der speziell für diesen Zweck vorgesehen ist.
  • Der Unterschied (3) wird detailliert beschrieben. In dem MLC Flash-Speicher 500 weist der Seitenpufferschaltkreis 520 die obige Rückmeldefunktion auf. Dies verhindert einen überprogrammierten Zustand, der ansonsten durch eine Änderung der Schwellspannung der Speicherzellen bei einem Datenlesevorgang zur Überprüfung verursacht wird. Aufgrund des obigen Array Noise kann selbst eine Speicherzelle, bei der einmal ein Erreichen der Referenz-Schwellspannung als Ergebnis des Datenschreibvorgangs festgestellt wurde, derart bewertet werden, dass diese die Referenz-Schwellspannung durch einen nachfolgenden Datenlesevorgang zur Überprüfung nicht erreicht hat. Um zu verhindern, dass erneut Daten in die Speicherzelle, bezüglich der einmal festgestellt wurde, dass diese die Referenz-Schwellspannung erreicht hat, geschrieben werden, werden die in dem Seitenpufferschaltkreis 520 gespeicherten Daten erneut geschrieben.
  • Wie aus 16 ersichtlich ist, werden in die Speicherzellen " in dem MLC Flash-Speicher 500 mit Zieldaten „11" keine Daten geschrieben.
  • Somit werden beispielsweise die Daten in der Seitenpufferschaltung 520, die einer Speicherzelle entsprechen, die im Hinblick auf den Datenschreibvorgang als vollständig verarbeitet gilt, als "11" erneut beschrieben. Aufgrund dieses erneuten Schreibens wird in dem nachfolgenden Datenschreibvorgang zur Überprüfung kein Schreibdatenpuls zusätzlich an die Speicherzelle angelegt und damit kann die Erzeugung des überprogrammierten Zustandes durch Array Noise vermieden werden.
  • Wie oben beschrieben ist, weist der MLC Flash-Speicher 500 eine Funktion zum Aktualisieren der in dem Seitenpufferschaltkreis 520 gespeicherten Daten auf. Die aktualisierten Daten (Rückmeldedaten) werden von dem MLC Logikschaltkreis 580 erzeugt.
  • Die aktualisierten Daten werden von dem MLC Logikschaltkreis 580 erzeugt, da das Signal zum Erzeugen der aktualisierten Daten dem Signal entspricht, das zur Ermittlung, ob Daten geschrieben werden sollen oder nicht, dient. Die aktualisierten Daten können auch von einem anderen Schaltkreis erzeugt werden.
  • Der Unterschied (4) wird detailliert beschrieben. Gewöhnlich ist ein Datenlesevorgang in einem MLC Flash-Speicher verhältnismäßig langsam. Um eine Verlangsamung des gesamten Betriebs zu verhindern, wird eine Datenausgabesektion zum Ausgeben von Daten an einen externen Schaltkreis mit einer zusätzlichen Funktion wie einer Seitenmoduslesefunktion, einer synchronen Burst-Funktion oder dergleichen versehen. Mit einer derartigen Spezifikation ist die Anzahl von Speicherzellen, aus denen Daten zu einer bestimmten Zeit gelesen werden, größer als die Anzahl von Speicherzellen, aus denen Daten bei gewöhnlicher Spezifikation gelesen werden. Bei Verwendung der Seitenmoduslesefunktion, der synchronen Burst-Funktion oder dergleichen zum Steuern des Datenschreibvorgangs wird die Geschwindigkeit des Datenschreibvorgangs vergrößert.
  • 18 zeigt eine Wahrheitstabelle zu einem beispielhaften Betrieb des MLC Logikschaltkreises 580 während eines Datenschreibvorgangs in einen quaternären Flash-Speicher, insbesondere zum Erzeugen aktualisierter Daten unter Verwendung der Rückmeldefunktion. 19 zeigt einen beispielhaften Logikschaltkreis zum Realisieren der in 18 gezeigten Logik.
  • In der in 18 gezeigten Logikstruktur werden, falls erforderlich, in dem Seitenpufferschaltkreis 520 gespeicherte Daten als "11" erneut geschrieben, wodurch der Zustand, in dem keine Daten geschrieben sind, gekennzeichnet wird.
  • Die in dem Seitenpufferschaltkreis 520 gespeicherten Daten können als "11" in dem Zustand erneut geschrieben werden, in dem ein Datenschreibvorgang in die Speicherzelle abgeschlossen ist; d. h. in Schritt 1 entsprechen die Zieldaten "10", jedoch wurden "10" oder darüber hinausgehende Daten bereits geschrieben; in Schritt 2 entsprechen die Daten "01", jedoch wurden die Daten entsprechend "01" oder darüber hinaus bereits ge schrieben; in Schritt 3 entsprechen die Zieldaten "00", jedoch wurden Daten entsprechend "00" bereits geschrieben.
  • In der Speicherzelle eines solchen Zustands wurde die Ziel-Schwellspannung bereits erzielt und es ist kein zusätzliches Schreiben von Daten erforderlich.
  • Somit liegt kein Problem vor, die in dem Seitenpufferschaltkreis 520 gespeicherten Daten mit "11" erneut zu schreiben. Ein derartiges erneutes Schreiben verringert das Risiko des überprogrammierten Zustands.
  • Der in 19 gezeigte Logikschaltkreis enthält einen NAND Schaltkreis, NOR Schaltkreise, AND Schaltkreise und OR Schaltkreise. Signale, die in den in 19 gezeigten Logikschaltkreis eingespeist werden oder von diesem ausgegeben werden, werden wie oben mit Bezug auf 16 und 17 erläutert eingestellt, abgesehen von den Rückmeldesignalen FBK1 und FBK0, welche von dem Logikschaltkreis ausgegeben werden.
  • FBK [1:0] beträgt nach einem erneuten Scheiben von Daten (Aktualisieren) "11", sofern ein erneutes Schreiben von Daten auf "11" erfolgt. Unter anderen Bedingungen wird FBK [1:0] nicht geändert. FBK1 entspricht dem oberen Bit und FBK0 entspricht dem unteren Bit.
  • Mit Bezug auf 20 und 21 wird ein Datenschreibvorgang über den WSM Schaltkreis 430 des MLC Flash-Speichers 400 (14) ausgeführt und der WSM Schaltkreis 530 des MLC Flash-Speichers 500 (15) wird erläutert.
  • Zunächst wird mit Bezug auf 20 ein von dem WSM Schaltkreis 430 des MLC Flash-Speichers 400 (14) ausgeführter Datenschreibvorgang erläutert.
  • In dem MLC Flash-Speicher 400 sind die für das Schreiben von Daten verwendeten Elemente einfach strukturiert und damit nimmt der WSM Schaltkreis 430 im Hinblick auf die Steuerung des Schreibens von Daten eine verhältnismäßig wichtige Rolle ein.
  • 20 zeigt ein Flussdiagramm zur Erläuterung des Schreibens von einem Wort entsprechenden Daten. In 20 ist lediglich die für einen Vergleich mit dem vom MLC Flash-Speicher 500 und einem erfindungsgemäßen MLC Flash-Speicher notwendige Verarbeitung gezeigt. Tatsächlich führt der WSM Schaltkreis 430 ebenso weitere Verarbeitungen durch. Ein Teil dieser Vorgänge kann von 20 abweichen.
  • Im Schritt S4000 verarbeitet der WSM Schaltkreis 430 Adressen von Speicherzellen, in die Daten geschrieben werden sollen. Entsprechend der einfachsten Vorgehensweise wird die Adresse der ersten Speicherzelle der Mehrzahl von Speicherzellen, in die Daten geschrieben werden sollen, als Schlüsseladresse im ersten Betriebszyklus festgelegt und dann wird die Adresse erhöht.
  • In Schritt 4001 gibt der WSM Schaltkreis 430 die resultierende Adresse an das Speicherfeld 460 als interne Adresse aus. Dann wird das Speicherfeld 460 in einen Zustand versetzt, in dem Daten gelesen werden können (S4002). Die über die interne Adresse gekennzeichnete Speicherzelle im Speicherfeld 460 wird aktiviert und Daten werden aus dieser gelesen (Schritt S4003).
  • Falls eine spezielle Steuerung zum Lesen der in dem Seitenpufferschaltkreis 420 gespeicherten Daten erforderlich ist, wird eine derartige Steuerung zu diesem Zeitpunkt durchgeführt. In dem Beispiel von 20 wird der Einfachheit halber angenommen, dass der Seitenpufferschaltkreis 420 den internen Adressen entsprechende Daten ausgibt. Dasselbe trifft auf 21 (unten) zu.
  • In Schritt S4004 ermittelt der WSM Schaltkreis 430 basierend auf dem Ergebnis des Lesens von Daten von dem Seitenpufferschaltkreis 420 und dem Ergebnis des Lesens von Daten aus der Speicherzelle, ob Daten in die Speicherzelle durch Ausführen eines auf z. B. der in 16 gezeigten Wahrheitstabelle basierenden Vorgangs geschrieben werden sollen oder nicht.
  • Der Vorgang ist trotz seiner Komplexität von dem WSM Schaltkreis 430 in dem MLC Flash-Speicher 400 auszuführen, da der MLC Flash-Speicher 400 keinen speziell für diesen Zweck vorgesehenen Schaltkreis enthält (wie etwa den Adresserzeugungsschaltkreis 570 in dem MLC Flash-Speicher 500).
  • In Schritt S4005 gibt der WSM Schaltkreis 430 zu schreibende Daten, welche basierend auf dem Ermittlungsergebnis in Schritt S4004 erzeugt wurden, an den Schreibschaltkreis 450 aus. Das Speicherfeld 460 wird in einen Zustand versetzt, in dem Daten geschrieben werden können (S4006) und die Schreibsteuerung 450 wird zum Scheiben von Daten in die Speicherzelle gesteuert (Schritt S4007).
  • Dadurch werden Daten in die Speicherzellen des Speicherfeldes 460 geschrieben. Alle Daten werden durch Wiederholung einer solchen Verarbeitung mit einer der zu schreibenden Daten entsprechenden Anzahl geschrieben.
  • Mit Bezug auf 21 wird ein von dem WSM Schaltkreis 530 des MLC Flash-Speichers 500 (15) ausgeführter Datenschreibvorgang erläutert. 21 zeigt ein Flussdiagramm zum Speichern von Daten, die einer Seite entsprechen.
  • In Schritt S5000 stellt der WSM Schaltkreis 530 eine interne Adresse als Schlüsseladresse der Seitenadresse ein.
  • In Schritt S5001 versetzt der WSM Schaltkreis 530 das Speicherfeld 560 in einen Zustand, in dem Daten gelesen werden können. In Schritt S5002 werden Daten aus einer Speicherzelle im Speicherfeld 560 gelesen. Beim Lesen im Seitenmodus können all die den Adressen in einer Seite entsprechende Daten simultan gelesen werden. Somit werden nach diesem Schritt Daten, die unter all den Adressen den vom Adresserzeugungsschaltkreis 570 gekennzeichneten Adressen entsprechen, sequenziell von dem MUX Schaltkreis 575 ausgegeben.
  • In Schritt S5003 versetzt der WSM Schaltkreis 530 das Speicherfeld 560 in einen Zustand, in dem Daten geschrieben werden können. Dann werden zu schreibende Daten, welche von dem MLC Logikschaltkreis 580 erzeugt wurden, gelesen (Schritt S5004) und an den Schreibschaltkreis 550 ausgegeben (Schritt S5005). Dadurch werden Daten in die Speicherzelle im Speicherfeld 560 geschrieben (Schritt S5006). In Schritt S5007 wird ermittelt, ob alle einer zu schreibenden Seite entsprechende Daten geschrieben wurden oder nicht. Wurden alle Daten geschrieben, so ist der Datenschreibvorgang abgeschlossen. Sind noch nicht alle Daten geschrieben, wird die Adresse aktualisiert (Schritt S5008). Falls es nicht erforderlich ist, den Da tenlesevorgang für dieselbe Seite zu wiederholen, kehrt die Verarbeitung nach dem Aktualisieren der Adresse zu Schritt S5004 zurück, und der Datenschreibvorgang wird wiederholt.
  • Dadurch werden die einer Seite entsprechenden Daten in die Speicherzellen im Speicherfeld 560 geschrieben. Alle Daten werden durch Wiederholen dieser Verarbeitung gemäß der Anzahl der zu schreibenden Daten geschrieben.
  • Vergleicht man die Flussdiagramme in 20 und 21, so ist es im Falle des MLC Flash-Speichers 500 nicht erforderlich zu ermitteln, ob Daten über den WSM Schaltkreis 530 geschrieben werden sollen oder nicht. Deshalb ist der Vorgang verhältnismäßig einfach.
  • Die Häufigkeit des Umschaltens zwischen Zuständen, in denen Daten im Speicherfeld 560 gelesen oder geschrieben werden können, ist kleiner im Vergleich zum Speicherfeld 460. Damit kann eine verhältnismäßig zeitaufwändige Verarbeitung wie z. B. das Umschalten der an das Speicherfeld 560 in dem MLC Flash-Speicher 500 angelegten Spannung verringert werden. Dadurch nimmt die Geschwindigkeit des Datenschreibvorgangs zu.
  • Eine Verarbeitung im Hinblick auf Adressen besteht hauptsächlich im Erhöhen der Adressen und kann deshalb von einem speziell für diesen Zweck vorgesehenen Schaltkreis durchgeführt werden (wie dem Adresserzeugungsschaltkreis 570).
  • Wie oben beschrieben ist, ermöglicht der MLC Flash-Speicher 500 in 15 eine Erhöhung der Geschwindigkeit des Datenschreibvorgangs und der Aufbau des WSM Schaltkreises 530 kann somit verglichen mit dem in 14 gezeigten MLC Flash-Speicher 400 vereinfacht werden.
  • Wie obigen Ausführungen entnommen werden kann, ist es mit den herkömmlichen MLC Flash-Speichern möglich, die Geschwindigkeit des Datenschreibvorgangs in beschränktem Maße zu vergrößern und den Aufbau des WSM Schaltkreises in beschränktem Maße zu vereinfachen.
  • Jedoch erfordert der Datenschreibvorgang in herkömmlichen MLC Flash-Speichern eine Erzeugung von internen Adressen und eine Eingangs/Ausgangssteuerung von notwendigen Daten. Dadurch ist der WSM Schaltkreis weiterhin groß und komplex und deshalb lässt sich die Geschwindigkeit des Datenschreibvorgangs nicht erheblich erhöhen. Das Risiko der Erzeugung von Array Noise ist nicht vollständig ausgeräumt.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Gemäß einem Aspekt der Erfindung wird ein Halbleiterspeicher angegeben mit einem Speicherfeld einschließlich einer Mehrzahl von Speicherzellen zum Speichern von Daten aus wenigstens 1 Bit, wobei der Halbleiterspeicher aufweist: eine Datenschreibsteuersektion zum Steuern eines Datenschreibvorgangs in die Mehrzahl von Speicherzellen; eine Adresssignalerzeugungssektion zum Erzeugen eines Adresssignals, das eine Adresse einer bestimmten Speicherzelle unter der Mehrzahl von Speicherzellen, in die Daten geschrieben werden sollen, kennzeichnet; eine Datenlesesektion zum Lesen von Daten aus der bestimmten Speicherzelle; eine Puffersektion zum vorübergehenden Speichern von in die bestimmte Speicherzelle zu schreibenden Daten; eine Ermittlungssektion zum Ermitteln, ob Daten in die bestimmte Speicherzelle geschrieben werden sollen oder nicht und zum Ausgeben eines ersten Schreibsignals basierend auf dem Ermittlungsergebnis; eine Datenregistersektion zum Speichern von durch das erste Schreibsignal gekennzeichneten Daten und Ausgeben eines zweiten Schreibsignals basierend auf den gespeicherten Daten; und eine Datenschreibsektion zum Schreiben von Daten in die bestimmte Speicherzelle basierend auf dem zweiten Schreibsignal, wobei die Datenregistersektion die durch das erste Schreibsignal gekennzeichneten Daten basierend auf einem Steuersignal, welches von der Datenschreibsteuersektion ausgegeben wird, speichert, dadurch gekennzeichnet, dass die Datenregistersektion eine Mehrzahl von Registern enthält und die durch das erste Schreibsignal gekennzeichneten Daten in ein Register unter der Mehrzahl von Registern speichert, das der durch das Adresssignal gekennzeichneten Adresse entspricht.
  • In einer Ausführungsform der Erfindung fixiert die Datenregistersektion die gespeicherten Daten auf einen vorgeschriebenen Wert, um zu verhindern, dass die Daten in die vorgeschriebene Speicherzelle geschrieben werden, falls es nicht erforderlich ist, Daten in die vorgeschriebene Speicherzelle zu schreiben.
  • Gemäß einer Ausführungsform der Erfindung liest die Datenlesesektion Daten von wenigstens zwei Speicherzellen unter der Mehrzahl von Speicherzellen gleichzeitig aus.
  • In einer Ausführungsform der Erfindung gibt die Ermittlungssektion Rückmeldedaten zum Aktualisieren der in der Puffersektion gespeicherten Daten aus und die Puffersektion aktualisiert die darin gespeicherten Daten basierend auf den Rückmeldedaten entsprechend einem Steuersignal, das von der Datenschreibsteuersektion ausgegeben wird.
  • In einer Ausführungsform der Erfindung aktualisiert die Puffersektion die gespeicherten Daten mit einem vorgeschriebenen Wert, um zu verhindern, dass Daten in die vorgeschriebene Speicherzelle geschrieben werden, falls es nicht erforderlich ist, Daten in die vorgeschriebene Speicherzelle zu schreiben.
  • In einer Ausführungsform der Erfindung liest die Datenlesesektion Daten von wenigstens zwei Speicherzellen unter der Mehrzahl der Speicherzellen gleichzeitig aus.
  • In einer Ausführungsform der Erfindung werden die in der Puffersektion gespeicherten Daten gemäß den in der vorgeschriebenen Speicherzelle gespeicherten Daten basierend auf den Rückmeldedaten vor dem Schreiben der Daten in die vorgeschriebene Speicherzelle aktualisiert.
  • Gemäß einem weiteren Aspekt der Erfindung wird ein Verfahren zum Schreiben von Daten in ein in einem Halbleiterspeicher enthaltenen Speicherfeld angegeben, wobei das Speicherfeld eine Mehrzahl von Speicherzellen zum Speichern von wenigstens 1 Bit enthält und das Verfahren die Schritte aufweist: Erzeugen eines Adresssignals, das eine Adresse einer vorgeschriebenen Speicherzelle unter der Mehrzahl von Speicherzellen, in die Daten zu schreiben sind, kennzeichnet; Lesen von Daten aus der vorgeschriebenen Speicherzelle; vorübergehendes Speichern von in die vorgeschriebene Speicherzelle zu schreibenden Daten; Ermitteln, ob Daten in die vorgeschriebene Speicherzelle zu schreiben sind oder nicht und Ausgeben eines ersten Schreibsignals basierend auf dem Ermittlungsergebnis; Speichern der durch das erste Schreibsignal gekennzeichneten Daten und Ausgeben eines zweiten Schreibsignals basierend auf den gespeicherten Daten; und Schreiben von Daten in die vorgeschriebene Speicherzelle basierend auf dem zweiten Schreibsignal, dadurch gekennzeichnet, dass der durch das erste Schreibsignal dargestellte Schritt des Speicherns von Daten in einer Datenregistersektion durchgeführt wird, welche eine Mehrzahl von Registern enthält, und die durch das erste Schreibsignal gekennzeichneten Daten in ein Register aus der Mehrzahl von Registern schreibt, das der durch das Adresssignal gekennzeichneten Adresse entspricht.
  • In einer Ausführungsform der Erfindung weist das Verfahren zusätzlich die Schritte auf: Ausgeben von Rückmeldedaten zum Aktualisieren der vorübergehend gespeicherten Daten; und Aktualisieren der vorübergehend gespeicherten Daten basierend auf den Rückmeldedaten.
  • Gemäß einem Halbleiterspeicher der Erfindung gibt eine Datenschreibsteuersektion ein erstes Steuersignal aus, um eine Datenregistersektion anzuweisen, ein erstes Schreibsignal zu speichern. Basierend auf der von dem zweiten Steuersignal, das von der Datenschreibsteuersektion ausgegeben wird, vorgegebenen Zeitverlauf speichert die Datenregistersektion das erste Schreibsignal in einer vorgegebenen Registerzelle, welche über das Adresssignal gekennzeichnet ist. Die Datenregistersektion gibt ein zweites Schreibsignal, das basierend auf dem gespeicherten ersten Schreibsignal erzeugt wurde, direkt an die Datenschreibsektion aus. Mit einem solchen Aufbau kann eine Datenverarbeitung zwischen dem MLC Logikschaltkreis, der Datenregistersektion und der Datenschreibsektion für einen Datenschreibvorgang ohne Einsatz des WSM Schaltkreises (der Datenschreibsteuersektion) ausgeführt werden. Dadurch kann der Aufbau des WSM Schaltkreises vereinfacht werden und die Datenverarbeitungsdauer verkürzt werden.
  • Somit ermöglicht die Erfindung einen Halbleiterspeicher mit einem vereinfachten WSM Schaltkreis zur Erhöhung der Geschwindigkeit eines Datenschreibvorgangs bei ausreichend unterdrücktem Einfluss von Array Noise sowie ein Verfahren zum Steuern des Schreibens von Daten in den Halbleiterspeicher.
  • Diese und weitere Vorteile der Erfindung werden einem Fachmann beim Lesen und Verstehen der nachfolgenden detaillierten Beschreibung mit Bezug zu den begleitenden Abbildungen ersichtlich.
  • KURZBESCHREIBUNG DER ABBILDUNGEN
  • 1 zeigt ein Blockdiagramm eines Halbleiterspeichers gemäß einem Beispiel der Erfindung;
  • 2 zeigt einen Datenregisterschaltkreis des in 1 gezeigten Halbleiterspeichers;
  • 3 zeigt eine Registerzelle in dem in 2 gezeigten Datenregisterschaltkreis;
  • 4 zeigt einen Registersteuerschaltkreis in dem in 2 gezeigten Datenregisterschaltkreis;
  • 5 zeigt ein Zeitablaufdiagramm von Signalen bei einem Datenschreibvorgang des in 1 gezeigten Halbleiterspeichers;
  • 6 zeigt ein Flussdiagramm zum Datenschreibvorgang des in 1 gezeigten Halbleiterspeichers;
  • 7 zeigt eine weitere Registerzelle, die in dem in 2 gezeigten Datenregister enthalten sein kann;
  • 8 zeigt eine Wahrheitstabelle zur Kompatibilität zwischen Daten eines MLC Flash-Speichers und eines binären Flash-Speichers beim Datenschreibvorgang;
  • 9 zeigt einen Logikschaltkreis zur Realisierung der in 8 gezeigten Logik;
  • 10 zeigt ein Diagramm mit einer Verteilung von Schwellspannungen für einen herkömmlichen Halbleiterspeicher;
  • 11 zeigt ein Diagramm mit einer Verteilung von Schwellspannungen für einen zweiten herkömmlichen Halbleiterspeicher;
  • 12 zeigt einen Algorithmus zum Schreiben von Daten in den zweiten herkömmlichen Halbleiterspeicher;
  • 13 zeigt ein Speicherfeld des zweiten herkömmlichen Halbleiterspeichers;
  • 14 zeigt einen Aufbau des zweiten herkömmlichen Halbleiterspeichers;
  • 15 zeigt einen Aufbau eines dritten herkömmlichen Halbleiterspeichers;
  • 16 zeigt eine Wahrheitstabelle einer Logik, die zum Schreiben von Daten in den dritten herkömmlichen Halbleiterspeicher verwendet wird;
  • 17 zeigt einen beispielhaften Logikschaltkreis zur Realisierung der in 16 gezeigten Logik.
  • 18 zeigt eine weitere Wahrheitstabelle einer Logik, die zum Schreiben von Daten in den dritten herkömmlichen Halbleiterspeicher verwendet wird;
  • 19 zeigt einen beispielhaften Logikschaltkreis zur Realisierung der in 18 gezeigten Logik;
  • 20 zeigt ein Flussdiagramm zur Darstellung eines Datenschreibvorgangs des zweiten herkömmlichen Halbleiterspeichers; und
  • 21 zeigt ein Flussdiagramm zur Darstellung eines Datenschreibvorgangs des dritten herkömmlichen Halbleiterspeichers.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend wird die Erfindung anhand anschaulicher Beispiele mit Bezug auf die begleitenden Abbildungen erläutert.
  • 1 zeigt ein Blockdiagramm eines MLC Flash-Speichers 100 als Halbleiterspeicher gemäß einem Beispiel dieser Erfindung. 1 zeigt Elemente des MLC Flash-Speichers 100, die in einen Datenschreibvorgang eingebunden sind.
  • Der MLC Flash-Speicher 100 enthält einen Datenregisterschaltkreis 190. Der verbleibende Aufbau entspricht im Wesentlichen dem in 15 gezeigten MLC Flash-Speicher 500. Der MLC Flash-Speicher 100 enthält ein Speicherfeld 160, das im Wesentlichen dem in 13 gezeigten Speicher feld entspricht. Das Speicherfeld 160 enthält eine Mehrzahl von Speicherzellen, von der jede wenigstens einem Bit entsprechende Daten speichern kann.
  • In dem MLC Flash-Speicher 100 weist ein Seitenpufferschaltkreis 120 eine Seitenpufferschreibfunktion auf und ein Leseschaltkreis (Leseverstärker) 140 weist eine Schreibmoduslesefunktion auf.
  • Ein Aufbau und ein Datenschreibvorgang des MLC Flash-Speichers 100 werden nachfolgend erläutert.
  • Der MLC Flash-Speicher 100 enthält einen Nutzerschnittstellenschaltkreis (nachfolgend als „UI Schaltkreis" bezeichnet) 110, einen Steuerbus 101, einen Adressbus 102 und einen Datenbus 103. Der MLC Flash-Speicher 100 wird extern über den Steuerbus 101, den Adressbus 102 und den Datenbus 103 betrieben, welche mit dem UI Schaltkreis 110 verbunden sind.
  • Der UI Schaltkreis 110 empfängt ein externes Signal über den Steuerbus 101, den Adressbus 102 und den Datenbus 103 und analysiert das Signal, um den Betrieb in dem MLC Flash-Speicher 100 zu steuern. Der UI Schaltkreis 110 ist mit einem Seitenpufferschaltkreis 120 über einen Steuerbus 111, einen Adressbus 112 und einen Datenbus 113 verbunden und dieser ist ebenso mit einem Schreibzustandsmaschinenschaltkreis (nachfolgend als „WSM Schaltkreis" bezeichnet) 130 über einen Steuerbus 114 verbunden.
  • Ein Seitenpufferschaltkreis 120 speichert vorübergehend in die Speicherzellen zu schreibende Daten und dieser wird hinsichtlich des Schreibens von Daten von dem UI Schaltkreis 110 über den Steuerbus 111, den Adressbus 112 und den Datenbus 113 gesteuert.
  • Der WSM Schaltkreis 130 wirkt als Datenschreibsteuersektion zum Steuern des Schreibens von Daten in die Mehrzahl von Speicherzellen. Beispielsweise steuert der WSM Schaltkreis 130 Vorgänge eines Speicherfeldes 160 nach Empfang einer Anweisung zum z. B. erneuten Schreiben von Daten in die Speicherzellen. Der WSM Schaltkreis 130 empfängt eine Anweisung über ein Steuersignal von dem UI Schaltkreis 110 über den Steuerbus 114 und informiert den UI Schaltkreis 110 über ein Signal 131 über dessen Zustand.
  • Der WSM Schaltkreis 130 ist mit einem MLC Logikschaltkreis 180, dem Leseschaltkreis (Leseverstärker) 140, einem Schreibschaltkreis (Programmierschaltkreis) 150, dem Speicherfeld 160 und dem Datenregisterschaltkreis 190 über die Steuerbusse 133, 134, 135, 136 und 137 verbunden. Der Leseschaltkreis 140, der Schreibschaltkreis 150 und das Speicherfeld 160 sind miteinander über einen Lesebus 161 verbunden.
  • Ein Adressversorgungsschaltkreis (Adresscontroller) 170 empfängt ein Steuersignal und Adresssignale von dem WSM Schaltkreis 130 über einen Steuerbus 138 und einen Adressbus 139, um eine interne Adresse zu erzeugen. Der Adresserzeugungsschaltkreis 170 gibt eine Schlüsseladresse an einen Adressbus 171 aus, in die Daten zu schreiben sind. Dann erhöht der Adresserzeugungsschaltkreis 170 die Adresse über ein Steuertaktsignal CLK (Adresssteuersignal), das vom Steuerbus 138 empfangen wird und gibt die erhöhte Adresse an den Adressbus 171 aus. Das Adresssignal kennzeichnet die Adresse der Speicherzelle, in die Daten zu speichern sind.
  • Der Leseschaltkreis 140 weist eine Seitenmoduslesefunktion auf. Der Leseschaltkreis 140 empfängt ein Steuersignal von dem WSM Schaltkreis 130 über den Steuerbus 134 und liest somit Daten von den Speicherzellen in dem Speicherfeld 160. Die Speicherzellen, aus denen Daten gelesen werden, werden basierend auf einem Steuersignal ausgewählt, das von dem WSM Schaltkreis 130 über den Steuerbus 136 ausgegeben wird sowie basierend auf Adresssignalen, welche von dem Adresserzeugungsschaltkreis 170 über den Adressbus 171 ausgegeben werden. Die ausgewählten Speicherzellen werden von dem WSM Schaltkreis 130 aktiviert. In dem Speicherfeld 160 sind Speicherzellen, Referenzzellen, Dummyzellen und dergleichen in einem Feld angeordnet.
  • Drains der ausgewählten Speicherzellen sind an den Lesebus 161 angeschlossen. Der Leseschaltkreis 140 bestätigt die Schwellspannung (die den Datenspeicherzustand kennzeichnet) jeder ausgewählten Speicherzelle über den Lesebus 161 und gibt dann die von den ausgewählten Speicherzellen gelesenen Daten an einen Datenmultiplexschaltkreis (nachfolgend als „MUX Schaltkreis" bezeichnet) 145 über den Datenbus 141 aus.
  • Der MUX Schaltkreis empfängt ein Adresssignal von dem Adresserzeugungsschaltkreis 170 über den Adressbus 171. Basierend auf dem Ad resssignal wählt der MUX Schaltkreis 145 auszugebende Daten aus den von dem Leseschaltkreis 140 empfangenen Daten aus (und verarbeitet diese) und gibt die ausgewählten Daten an den MLC Logikschaltkreis 180 über einen Datenbus 146 aus.
  • Der MLC Logikschaltkreis 180 (Ermittlungssektion) empfängt ein Steuersignal, welches von dem WSM Schaltkreis 130 über einen Steuerbus 133 ausgegeben wird, Zieldaten, welche von dem Seitenpufferschaltkreis 120 über einen Datenbus 121 ausgegeben werden, und die von dem MUX Schaltkreis 145 über den Datenbus 146 ausgewählten und ausgegebenen Daten. Basierend auf der gegenwärtigen Schwellspannung der jeweils ausgewählten Speicherzelle ermittelt der MLC Logikschaltkreis 180, ob Daten in die jeweils ausgewählte Speicherzelle geschrieben werden sollen oder nicht. Ein Schreibdatenpuls PRG wird an den Datenregisterschaltkreis 190 über einen Datenbus 181 als Ermittlungsergebnis ausgegeben.
  • Der Datenregisterschaltkreis 190 wird angewiesen, den Schreibdatenpuls PRG über ein Schreibsteuersignal WRT, welches von dem WSM Schaltkreis 130 über den Steuerbus 137 ausgegeben (erteilt) wird, zu latchen. Hierbei wird ein Steuertaktsignal CLK, welches von dem WSM Schaltkreis 130 über den Steuerbus 138 zum Steuern des Adresserzeugungsschaltkreises 170 ausgegeben wird, ebenso in den Datenregisterschaltkreis 190 eingespeist. Basierend auf dem Steuertaktsignal CLK speichert der Datenregisterschaltkreis 190 den von dem MLC Logikschaltkreis 180 empfangenen Schreibdatenpuls PRG in einer Registerzelle im Datenregisterschaltkreis 190, welche durch ein Adresssignal ADD von dem Adresserzeugungsschaltkreis 170 über den Adressbus 171 gekennzeichnet wird.
  • Der Datenregisterschaltkreis 190 gibt ein Datensignal PLS einschließlich des Inhalts des in der Registerzelle gespeicherten Schreibdatenpulses PRG an den Schreibschaltkreis 150 über einen Datenbus 191 aus.
  • Der WSM Schaltkreis 130 gibt ein Steuersignal an das Speicherfeld 160 über den Steuerbus 136 aus, so dass das Speicherfeld 160 Daten empfangen kann. Dann gibt der WSM Schaltkreis 130 ein Steuersignal an den Schreibschaltkreis 150 über den Steuerbus 135 aus, um den Schreibdatenpuls an das Speicherfeld 160 anzulegen. Der Schreibschaltkreis 150 schreibt dem Schreibdatenpuls entsprechende Daten in die ausgewählten Speicherzellen, indem ein Signal hoher Spannung an eine Bitleitung angelegt wird, die mit einem Drain jeder der ausgewählten Speicherzellen über den Lesebus 161 sequenziell verbunden ist.
  • Der Seitenpufferschaltkreis 120 des in 1 gezeigten MLC Flash-Speichers 100 weist wie folgt eine Rückmeldefunktion auf. Falls eine Anweisung zur Durchführung einer Rückmeldung über das von dem WSM Schaltkreis 130 über einen Steuerbus 132 ausgegebene Steuersignal erfolgt, kann der Seitenpufferschaltkreis 120 die Daten, auf die das von dem Adresserzeugungsschaltkreis 170 über den Adressbus 171 ausgegebene Adresssignal hinweist, auf Rückmeldedaten aktualisieren, die von dem MLC Logikschaltkreis 180 erzeugt wurden, basierend auf dem von dem WSM Schaltkreis 130 über den Steuerbus 138 ausgegebenen Steuertaktsignal CLK. Die Rückmeldedaten werden von dem MLC Logikschaltkreis 180 an den Seitenpufferschaltkreis 120 über einen Datenbus 182 ausgegeben. Falls es nicht notwendig ist, Daten in die über das Adresssignal gekennzeichnete Speicherzelle zu speichern, kann der Seitenpufferschaltkreis 120 die gespeicherten Daten auf einen vorgegebenen Wert aktualisieren um zu verhindern, dass die Daten in die Speicherzelle geschrieben werden.
  • Basierend auf dem Steuertaktsignal CLK speichert der Datenregisterschaltkreis 190 den Schreibdatenpuls PRG in der über das Adresssignal ADD gekennzeichneten Registerzelle. Dann werden die Daten PLS einschließlich des Inhalts des gespeicherten Schreibdatenpulses PRG direkt an den Schreibschaltkreis 150 ausgegeben.
  • Wie oben beschrieben ist, kann die Datenverarbeitung zwischen dem MLC Logikschaltkreis 180, dem Datenregisterschaltkreis 190 und dem Schreibschaltkreis 150 für den Datenschreibvorgang ohne Einsatz des WSM Schaltkreises 130 durchgeführt werden. Dadurch kann der Aufbau des WSM Schaltkreises 130 vereinfacht und die Datenverarbeitungsdauer verkürzt werden.
  • 2 zeigt einen beispielhaften Aufbau des Datenregisterschaltkreises 190. In diesem Beispiel sind vier Speicherzellen einer Adresse zugeordnet und vier Adressen entsprechen einer Seite.
  • Wie in 2 gezeigt ist, enthält der Datenregisterschaltkreis 190 einen Registersteuerschaltkreis 192, Registerzellen Reg und Inverter 193 zum Invertieren und Ausgeben von Daten.
  • Der Registerschaltkreis 192 empfängt ein Adresssignal ADD, welches von dem Adresserzeugungsschaltkreis 170 ausgegeben wird, ein Schreibsteuersignal WRT, welches von dem WSM Schaltkreis 130 ausgegeben wird und ein Taktsignal CLK, welches ebenso von dem WSM Schaltkreis 130 ausgegeben wird, und gibt Schreibsteuersignale WR0 bis WR3 und Lesesteuersignale RD0 bis RD3 an die entsprechenden Registerzellen Reg aus. Jede Registerzelle Reg ist aus einem Latch-Schaltkreis wie beispielsweise einem Flip-Flop-Schaltkreis aufgebaut.
  • Die Registerzelle Reg, welche über das entsprechende Signal der Schreibsteuersignale WR0 bis WR3 aktiviert wird, empfängt einen entsprechenden Puls der Schreibdatenpulse PRG0 bis PRG3, welche von dem MLC Logikschaltkreis 180 über den Datenbus 181 ausgegeben werden und latcht den empfangenen Schreibdatenpuls.
  • Jede Registerzelle Reg wird ebenso von dem entsprechenden der Lesesteuersignale RD0 bis RD3 aktiviert und invertiert den gelatchten Schreibdatenpuls und gibt diesen aus (entsprechend einem der Schreibdatenpulse PRG0 bis PRG3). Jeder Inverter 193 invertiert zudem den empfangenen Schreibdatenpuls (entsprechend einem der Schreibdatenpulse PRG0 bis PRG3) und gibt den invertierten Schreibdatenpuls als eines von Datensignalen PLS0 bis PLS3 an den Datenbus 191 aus (1). Die Datensignale PLS0 bis PLS3 entsprechen jeweils den Schreibdatenpulsen PRG0 bis PRG3, welche dem Datenregisterschaltkreis 190 eingespeist werden.
  • Wie oben beschrieben ist, erzeugt der Registersteuerschaltkreis 192 die Schreibsteuersignale WR0 bis WR3 und die Lesesteuersignale RD0 bis RD3 basierend auf den drei Steuersignalen, die dem Datenregisterschaltkreis 190 eingespeist werden, d. h. dem Adresssignal ADD, dem Schreibsteuersignal WRT und dem Steuertaktsignal CLK. Der Registerschaltkreis 192 stellt diese Signale jeder Registerzelle Reg bereit und jede Registerzelle Reg wird basierend auf den Schreibsteuersignalen WR0 bis WR3 und den Lesesteuersignalen RD0 bis RD3 betrieben. Die Schreibdatenpulse PRG0 bis PRG3, welche dem Datenregisterschaltkreis 190 eingespeist werden, werden wie vorgeschrieben für jede Registerzelle Reg und für jeden Inverter 193 umgewandelt, so dass Datensignale PLS0 bis PLS3 von den Invertern 193 ausgegeben werden.
  • 3 zeigt ein Schaltungsdiagramm mit einem beispielhaften Aufbau der in 2 gezeigten Registerzelle Reg.
  • Die in 3 gezeigte Registerzelle Reg stellt einen Latch-Schaltkreis einschließlich NAND Schaltkreisen und Invertern dar. Ein Schreibdatenpuls PRG wird als Eingangssignal basierend auf einem Lesesteuersignal RD und einem Schreibsteuersignal WR umgewandelt und die umgewandelten Daten werden als Datensignal PLS# ausgegeben.
  • Das Lesesteuersignal RD stellt ein Leseaktivierungssignal dar, welches eine Datenausgabe freigibt. Somit wird ein durch Invertieren des gelatchten Schreibdatenpulses PRG erhaltenes Signal als Datensignal PLS# ausgegeben. Das Datensignal PLS# entspricht jedem der Datensignale PLS0 bis PLS3, welche von den in 2 gezeigten Registerzellen Reg ausgegeben werden.
  • Das Schreibsteuersignal WR stellt ein Schreibaktivierungssignal dar, das ein Schreiben von Daten ermöglicht. Dadurch werden Daten, welche über den Schreibdatenpuls PRG gekennzeichnet werden, von dem Flip-Flop-Schaltkreis gelatcht.
  • 4 zeigt ein Schaltkreisdiagramm eines beispielhaften Aufbaus des in 2 gezeigten Registersteuerschaltkreises 192.
  • Der Registersteuerschaltkreis 192 enthält Inverter und AND Schaltkreise. Der Registersteuerschaltkreis 192 dekodiert eingespeiste 2-Bit Adresssignale ADD0 und ADD1 und gibt eines der Lesesteuersignale RD0 bis RD3 aus.
  • Falls das Schreibsteuersignal WRT freigegeben ist, gibt der Registersteuerschaltkreis 192 eines der Schreibsteuersignale WR0 bis WR3 basierend auf dem Steuertaktsignal CLK an jede Registerzeile Reg aus.
  • 5 zeigt ein Zeitablaufdiagramm eines beispielhaften Zeitablaufs des Datenschreibvorgangs im MLC Flash-Speicher 100 (1).
  • Das in 5 gezeigte Zeitablaufdiagramm kennzeichnet den Verlauf des Datenschreibvorgangs, gibt jedoch die für jeden Schritt erforderliche tatsächliche Zeitspanne nicht korrekt wieder. In diesem Beispiel sind zwei Adressen in einer Seite enthalten und der Seitenpufferschaltkreis 120 und der Datenregisterschaltkreis 190 können vier oder mehr Adressen entsprechende Daten speichern.
  • Zur Zeit t0 wird ein an den Adressbus 171 ausgegebenes Adresssignal („Address") mit Hilfe eines Adressinitialisierungssignals („Address Initialize"), welches von dem WSM Schaltkreis 130 an den Steuerbus 139 ausgegeben wird, als Adresse der ersten Speicherzelle eingestellt, in die Daten zu schreiben sind. Hierbei wird das Adresssignal als Adresssignal ADD0 eingestellt.
  • Zum Zeitpunkt t1 werden die einer Seite entsprechenden Daten basierend auf dem Lesefreigabesignal (Lesefreigabe), welches von dem WSM Schaltkreis 130 an den Steuerbus 134 ausgegeben wird, aus den über die beiden Adressen gekennzeichneten Speicherzellen gelesen.
  • Daten RDAT0, welche in der über das Adresssignal ADD0 in dem Speicherfeld 160 gekennzeichneten Speicherzelle gespeichert sind und Daten RDAT1, welche in der über das Adresssignal ADD1 gekennzeichneten Speicherzelle derselben Seite gespeichert sind, werden von dem Leseschaltkreis 140 gelesen und an den Datenbus 141 ausgegeben.
  • Der MUX Schaltkreis 145 empfängt die Daten für zwei Adressen, welche von dem Leseschaltkreis 140 über den Datenbus 141 ausgegeben werden und gibt die dem Adresssignal ADD0 entsprechenden Daten an den MLC Logikschaltkreis 180 über den Datenbus 146 aus.
  • Der Seitenpufferschaltkreis 120 gibt Daten an den MLC Logikschaltkreis 180 über den Datenbus 121 aus, wobei die Daten in die über das Adresssignal ADD0 gekennzeichnete Speicherzelle zu schreiben sind.
  • Der MLC Logikschaltkreis 180 empfängt die Lesedaten RDAT0 und die in dem Seitenpufferschaltkreis 120 gespeicherten Daten PB0 und ermittelt, ob Daten zu schreiben sind oder nicht und gibt einen Schreibdatenimpuls PRG0 als Ermittlungsergebnis an den Datenregisterschaltkreis 190 über den Datenbus 181 aus.
  • Der MLC Logikschaltkreis 180 gibt ebenso Rückmeldedaten FBK0 an den Seitenpufferschaltkreis 120 über den Datenbus 182 aus.
  • Nachfolgend wird zum Zeitpunkt t2 ein Adresssteuersignal („Address Control") zum Steuern des Adresserzeugungsschaltkreises 170 ausgegeben.
  • In 5 wird die Adresse bei der fallenden Flanke des Adresssteuersignals aktualisiert. In der unmittelbar vorhergehenden Periode, in der das Adresssteuersignal auf HIGH liegt, latcht der Datenregisterschaltkreis 190 den Schreibdatenpuls PRG basierend auf einem Datenregistersteuersignal. Basierend auf dem Rückmeldesignal wird eine Rückmeldung der in dem Seitenpufferschaltkreis 120 gespeicherten Daten ausgeführt. Falls das Adresssteuersignal auf HIGH geht, latcht der Datenregisterschaltkreis 190 den Schreibdatenpuls PRG0 („Data Register 0"), der dem Adresssignal ADD0 entspricht.
  • Das dem Adresssignal ADD0 entsprechende Rückmeldesignal FBK0 wird von dem Seitenpufferschaltkreis 120 („Page Buffer 0") gelatcht. Zu diesem Zeitpunkt kann der Seitenpufferschaltkreis 120 z.B. die darin gespeicherten Daten PB0 basierend auf dem Rückmeldesignal FBK0 auf Daten aktualisieren, die denselben Inhalt wie die Daten RDAT0 haben.
  • Zum Zeitpunkt t3 wird das Adresssignal ADD0 bei der fallenden Flanke des Adresssteuersignals auf das Adresssignal ADD1 geändert, welches eine weitere Adresse auf derselben Seite kennzeichnet. Hiermit übereinstimmend gibt der MUX Schaltkreis 145 die Daten RDAT1, die aus der über das Adresssignal ADD1 gekennzeichneten Speicherzelle gelesen wurden, an den MLC Logikschaltkreis 180 über den Datenbus 146 aus.
  • Der Seitenpufferschaltkreis 120 gibt Daten PB1 aus, die in die über das Adresssignal ADD1 gekennzeichnete Adresse gespeichert werden sollen. Der MLC Logikschaltkreis 180 empfängt die Daten RDAT1 sowie die Daten PB1 und gibt einen neuen Schreibdatenpuls PRG1 und neue Rückmeldedaten FBK1 aus. Entspricht das Adresssignal dem Adresssignal ADD1, so entspricht der Betrieb des MLC Flash-Speichers 100 im Wesentlichen demjenigen Betrieb, bei dem das Adresssignal dem Adresssignal ADD0 entspricht.
  • Falls Adressen einer anderen Seite verarbeitet werden sollen wird ein Datenlesevorgang benötigt. Auch in diesem Fall erfolgt eine Aktualisierung der Adresse, Speicherung von Daten in dem Datenregisterschaltkreis 190 und Rückmeldung der in dem Seitenpufferschaltkreis 120 gespeicherten Daten auf im Wesentlichen oben erläuterte Weise.
  • 6 zeigt ein Ablaufdiagramm eines von dem WSM Schaltkreis 130 während des Datenschreibvorgangs im MLC Flash-Speicher 100 (1) durchgeführten Steuervorgangs.
  • Die Schritte S1000 bis S1004 in 6 entsprechen jeweils dem oben mit Bezug auf 5 beschriebenen Steuervorgang.
  • In 6 wird lediglich die Verarbeitung erläutert, die für einen Vergleich mit einer herkömmlichen Verarbeitung erforderlich ist. Tatsächlich führt der WSM Schaltkreis 130 weitere Verarbeitungen durch. Die Reihenfolge der Verarbeitung kann von der in 6 gezeigten Reihenfolge verschieden sein.
  • In Schritt S1000 stellt der WSM Schaltkreis 130 eine interne Adresse als Schlüsseladresse der Seitenadresse ein. In Schritt 1001 versetzt der WSM Schaltkreis 130 das Speicherfeld in einen Zustand, in dem Daten gelesen werden können.
  • In Schritt S1002 werden Daten aus einer Speicherzelle in dem Speicherfeld 160 gelesen. Beim Lesen im Seitenmodus können Daten, die allen Adressen einer Seite entsprechen, simultan gelesen werden.
  • In Schritt S1003 wird die interne Adresse aktualisiert und es werden Daten in dem Datenregisterschaltkreis 190 gespeichert und eine Rückmeldung der in dem Seitenpufferschaltkreis 120 gespeicherten Daten wird entsprechend zur Aktualisierung der internen Adresse ausgeführt.
  • Die Aktualisierung der internen Adresse wird entsprechend der Anzahl der in einer Seite enthaltenden Adressen wiederholt. In Schritt S1004 werden ein Lesen von Daten aus der Speicherzelle und eine Aktualisierung der Adresse gleichzeitig für alle Seiten durchgeführt, in die Daten zu schreiben sind. Erfolgt dies in Schritt S1004 nicht für alle Seiten, in die Daten gleichzeitig zu schreiben sind, wird die Verarbeitung der Schritte S1002 und S1003 für die nächste Seite durchgeführt. Sobald das Lesen von Daten aus der Speicherzelle und die Aktualisierung der Adresse für alle Seiten in Schritt 1004 durchgeführt sind (d. h. falls die Vorbereitung des Schreibens von Daten abgeschlossen ist), wird die Verarbeitung in Schritt S1005 ausgeführt.
  • Ist die Vorbereitung zum Schreiben von Daten abgeschlossen, wird das Speicherfeld 160 in einen Zustand versetzt, in dem Daten geschrieben werden können (Schritt S1005) und Daten werden in das Speicherfeld 160 geschrieben (Schritt S1006).
  • Wie oben beschrieben ist, ermöglicht es der erfindungsgemäße MLC Flash-Speicher 100 dem WSM Schaltkreis 130, eine erheblich einfachere Steuerung im Vergleich zu einer herkömmlichen Datenschreibsteuerung durchzuführen.
  • Der WSM Schaltkreis 130 in dem MLC Flash-Speicher 100 weist eine kleinere Anzahl von zu steuernden Signalen auf und deshalb werden die Geschwindigkeit des Datenschreibvorgangs auf einfache Weise vergrößert und die Schaltkreisdimensionen reduziert.
  • In obigem Beispiel weist der erfindungsgemäße MLC Flash-Speicher 100 eine Seitenmoduslesefunktion auf. Selbst ohne die Seitenmoduslesefunktion wird im Wesentlichen dieselbe Wirkung erzielt, indem bei jeder Änderung der internen Adresse 171 ein Datenlesevorgang ausgeführt wird.
  • Das Latchen des Schreibdatenpulses in dem Datenregisterschaltkreis 190 und die Rückmeldung der in dem Seitenpufferschaltkreis 120 gespeicherten Daten wird basierend auf einem Adresssignal gesteuert. Es ist nicht erforderlich, beide Vorgänge basierend auf einem Adresssignal zu steuern und es kann durch Steuerung eines der Vorgänge basierend auf einem Adresssignal im Wesentlichen dieselbe Wirkung erzielt werden.
  • Selbst falls lediglich einer der Vorgänge, d.h. Latchen oder Rückmeldung, aufgrund eines speziellen Aufbaus des Datenregisterschaltkreises 190 oder des Seitenpufferschaltkreises 120 oder aufgrund einer speziellen Art der Verdrahtung des Datenbusses oder des Steuerbusses gesteuert werden kann, lässt sich im Wesentlichen dieselbe Wirkung erzielen.
  • 7 zeigt ein Schaltkreisdiagramm eines weiteren beispielhaften Aufbaus der Registerzelle Reg, die in dem in 2 gezeigten Datenregisterschaltkreis 190 enthalten sein kann. In 7 stellt die Registerzelle Reg einen Latch-Schaltkreis einschließlich NAND Schaltkreisen und Invertern dar. Der in 7 gezeigte Schaltkreis stimmt mit dem in 3 gezeigten Schaltkreis überein, abgesehen davon, dass Letzterer ein Reset-Signal RSTB von dem WSM Schaltkreis 130 empfängt.
  • Der Aufbau der Registerzelle Reg (Latch-Schaltkreis) in 7 unterdrückt den überprogrammierten Zustand in der Speicherzelle, welcher durch die offensichtliche Änderung der Schwellspannung der Speicherzelle wie z.B. durch Array Noise, das von einem Datenlesevorgang zur Überprüfung hervorgerufen wird, verursacht wird.
  • Die von dem WSM Schaltkreis 130 gesteuerte Registerzelle Reg in 7 latcht zu schreibende Daten. Die Registerzelle Reg weist einen Betriebsmodus auf, in dem die zu schreibenden gelatchten Daten zurückgesetzt, jedoch nicht eingestellt werden können.
  • In einem solchen Modus wird das Reset-Signal RSTB als Steuersignal auf LOW eingestellt.
  • In diesem Fall kann der aus einem Flip-Flop Schaltkreis aufgebaute Latch-Schaltkreis Daten zurücksetzen, diese jedoch nicht einstellen. Ist das Reset-Signal RSTB auf HIGH, kann der aus einem Flip-Flop Schaltkreis aufgebaute Latch-Schaltkreis Daten sowohl einstellen als auch zurücksetzen und arbeitet auf im Wesentlichen dieselbe Weise wie der in 3 gezeigte Lacht-Schaltkreis.
  • Werden Daten zum ersten Mal in den Datenregisterschaltkreis 190 geschrieben, wird das Reset-Signal RSTB auf HIGH gesetzt. Danach wird das Reset-Signal RSTB auf LOW gesetzt. Um zu verhindern, dass Daten in eine Speicherzelle geschrieben werden, in der ein Schreiben von Daten nicht notwendig ist, können die in der entsprechenden Registerzelle Reg gespeicherten Daten auf einen bestimmten Wert fixiert werden. Der Betrieb des in 7 gezeigten Latch-Schaltkreises stimmt mit dem in 3 gezeigten Latch-Schaltkreis überein, abgesehen von dem Betrieb zum Speichern von Daten in den Datenregisterschaltkreis 190.
  • Werden, wie oben beschrieben, Daten zum ersten Mal in den Datenregisterschaltkreis 190 geschrieben, wird das Reset-Signal RSTB auf HIGH gesetzt. Hierbei wird die der Speicherzelle, in die Daten geschrieben werden sollen, entsprechende Registerzelle Reg eingestellt. Die der Speicherzelle, in die keine Daten geschrieben werden sollen, entsprechende Registerzelle Reg wird zurückgesetzt.
  • Liegt somit das Reset-Signal RSTB auf HIGH, kann der Datenregisterschaltkreis 190 einschließlich des Latch-Schaltkreises von 7 festlegen, ob Daten auf einer Speicherzelle-zu-Speicherzelle Basis geschrieben werden sollen, wie dies beim Datenregisterschaltkreis 190 einschließlich des Latch-Schaltkreises in 3 der Fall ist.
  • Bei dem den Latch-Schaltkreis enthaltenden Datenregisterschaltkreis 190 in 7 wird das Reset-Signal RSTB auf LOW gesetzt, so dass keine Daten in der Registerzelle Reg, in die Daten bereits in demselben Schreibzyklus geschrieben wurden, angesammelt werden.
  • In dem den Latch-Schaltkreis enthaltenden Datenregisterschaltkreis 190 in 7 wird die Registerzelle Reg derjenigen Speicherzelle, bei der die Referenzspannung im ersten Zyklus des Datenlesevorgangs nicht erreicht wurde, eingestellt. Sind alle Registerzellen Reg, die einmal eingestellt wurden zurückgesetzt, so kann bestimmt werden, dass der Betrieb eines Schreibzyklus abgeschlossen ist.
  • Die Erscheinung, dass eine Registerzelle Reg, welche einmal zurückgesetzt wurde, erneut eingestellt wird, wird durch die Änderung des Detektionsergebnisses vom Leseverstärker verursacht, was auf den Einfluss von Array Noise und eine Änderung in der Versorgungsspannung zurückzuführen ist. Dies führt zu einem überprogrammierten Zustand in einem MLC Flash-Speicher und ist somit nicht erwünscht.
  • Der den Latch-Schaltkreis enthaltende Datenregisterschaltkreis 190 in 7 stellt keine Daten in der Registerzelle Reg ein, abgesehen von dem ersten Zyklus des Datenschreibvorgangs. Dadurch wird ein falscher Schreibvorgang aufgrund von Array Noise oder desgleichen unterdrückt und der überprogrammierte Zustand der Speicherzelle vermieden.
  • Die Rückmeldefunktion der in dem Seitenpufferschaltkreis 120 des MLC Flash-Speichers 100 gespeicherten Daten wird zur Reduzierung der offensichtlichen Änderung der Schwellspannung der Speicherzellen beim Datenlesevorgang zur Überprüfung verwendet. Wird der den Latch- Schaltkreis enthaltende Datenregisterschaltkreis 190 in 7 verwendet, kann auf die Rückmeldefunktion verzichtet werden.
  • Der MLC Flash-Speicher 100 (1) kann die Daten auf offensichtlich dieselbe Weise wie ein binärer Flash-Speicher verarbeiten, indem lediglich der in 3 oder 7 gezeigte Latch-Schaltkreis in dem Datenregisterschaltkreis 190 bereitgestellt wird und Teile des Schaltkreises geändert werden (z. B. ein MLC Logikschaltkreis).
  • Üblicherweise wird ein Datenschreibvorgang in Speicherzellen eines Flash-Speichers in einer Richtung ausgeführt. In einem herkömmlichen binären Flash-Speicher wird ein Schreiben von Daten lediglich von einer niedrigeren Schwellspannung zu einer höheren Schwellspannung ausgeführt. Beispielsweise wird ein Schreiben von Daten lediglich von Daten „1" auf Daten „0" ausgeführt. Ein erneutes Schreiben in einer entgegengesetzten Richtung erfordert z. B. ein Block-um-Block Löschen von Daten.
  • Bezüglich des Überschreibens von in einer Speicherzelle gespeicherten Daten kann ein binärer Flash-Speicher Daten „1" mit Daten „0" überschreiben, jedoch nicht Daten „0" mit Daten „1". Damit entsprechen die Daten nach dem Schreiben einem AND (logische Summe) der Daten vor dem Schreiben und der zu schreibenden Daten.
  • 8 zeigt eine beispielhafte Wahrheitstabelle, welche die Kompatibilität zwischen Daten eines MLC Flash-Speichers und eines binären Flash-Speichers in einem Datenschreibvorgang darlegt.
  • Wie in 8 gezeigt ist, kann der MLC Flash-Speicher Daten „10" mit Daten „01" überschreiben und ist somit hinsichtlich des Überschreibens von Daten flexibel. Um es dem Nutzer zu ermöglichen, den MLC Flash-Speicher auf eine ähnliche Weise wie den binären Flash-Speicher zu verwenden, ist es wünschenswert, dass die Daten nach dem Schreiben einem AND (logische Summe) der Daten vor dem Schreiben und der zu schreibenden Daten wie beim binären Flash-Speicher entsprechen.
  • Wie oben beschrieben ist, kann der MLC Flash-Speicher gemäß der Erfindung die in dem Seitenpufferschaltkreis gespeicherten Daten auf in einer Speicherzelle gespeicherte Daten aktualisieren.
  • Unter Verwendung dieser Funktion können die Daten auf einfache Weise erneut geschrieben werden, so dass die Logik des Überschreibens von Daten ähnlich zu derjenigen des binären Flash-Speichers ist.
  • Die oben erwähnte 19 zeigt einen beispielhaften Logikschaltkreis zum Erzeugen von Rückmeldedaten. 9 zeigt zusätzlich zum Aufbau des in 19 gezeigten Logikschaltkreises einen Logikschaltkreis mit einer Funktion zum Erzeugen einer Logik zum Überschreiben von Daten.
  • Der in 9 gezeigte Logikschaltkreis enthält einen NAND Schaltkreis, NOR Schaltkreise, AND Schaltkreise, OR Schaltkreise und einen Inverter. Die Ausgangssignale FBK1 und FBK0, die Eingangssignale und dergleichen entsprechen denjenigen des in 19 gezeigten Logikschaltkreises.
  • Zur Erzeugung einer Logik zum Überschreiben von Daten in dem in 9 gezeigten Logikschaltkreis wird STP1 = STP0 = L (L: LOW Pegel oder 0) eingestellt, so dass der Schritt zum Erzeugen der Logik zum Überschreiben von Daten von den weiteren Schritten zum Schreiben von Daten unterschieden werden kann.
  • Der in 9 gezeigte Logikschaltkreis unterscheidet sich von dem in 19 gezeigten Logikschaltkreis dadurch, dass Ersterer die ausgegebenen Daten FBK[1:0] auf einen LOW Pegel fixieren kann, was auf die AND Schaltkreise (AND Gatter), die in der Endstufe vorgesehen sind, zurückzuführen ist.
  • Somit wird in dem in 9 gezeigten Logik-Schaltkreis ein ausgegebenes LOW Signal erzielt, falls STP1 = STP0 = L ist und die von der gegenwärtigen Speicherzelle gelesenen Daten weisen den LOW Pegel auf.
  • Wie mit Bezug auf 8 und 9 beschrieben wurde, kann die Schaltkreiskonfiguration zur Datenschreibsteuerung des in 1 gezeigten MLC Flash-Speichers 100 ebenso zum Überschreiben von Daten verwendet werden.
  • Entsprechend einem erfindungsgemäßen Halbleiterspeicher gibt eine Datenschreibsteuersektion ein erstes Steuersignal aus, um eine Datenregistersektion anzuweisen, ein erstes Schreibsignal zu speichern. Basierend auf dem über ein zweites Steuersignal, das von der Datenschreibsteuersektion ausgegeben wird, gekennzeichneten Zeitverlauf speichert die Datenregistersektion das erste Schreibsignal in einer vorgeschriebenen Registerzelle, welche durch ein Adresssignal gekennzeichnet ist. Die Datenregistersektion gibt direkt an die Datenschreibsektion ein zweites Schreibsignal aus, das basierend auf dem gespeicherten ersten Schreibsignal erzeugt wird. Mit einem solchen Aufbau kann eine Datenverarbeitung zwischen dem MLC Logikschaltkreis, der Datenregistersektion und der Datenschreibsektion für einen Datenschreibvorgang ohne Einbeziehen des WSM Schaltkreises (der Datenschreibsteuersektion) erfolgen. Dadurch können der Aufbau des WSM Schaltkreises vereinfacht und die Datenverarbeitungsdauer reduziert werden.
  • Ein Fachmann wird verschiedene weitere Modifikationen erkennen und umsetzen können ohne vom Schutzbereich dieser Erfindung, der in den Ansprüchen definiert ist, abzuweichen. Der Schutzbereich der Patentansprüche ist somit nicht auf die hierin gegebene Beschreibung beschränkt.

Claims (9)

  1. Halbleiterspeicher mit einem Speicherfeld (160) einschließlich einer Mehrzahl von Speicherzellen zum Speichern von Daten von wenigstens 1 Bit, wobei der Halbleiterspeicher aufweist: eine Datenschreibsteuersektion (130) zum Steuern eines Datenschreibvorgangs in die Mehrzahl von Speicherzellen; eine Adresssignalerzeugungssektion (170) zum Erzeugen eines Adresssignals (ADD), das eine Adresse einer vorgeschriebenen Speicherzelle der Mehrzahl von Speicherzellen, in die geschrieben werden soll, kennzeichnet; eine Datenlesesektion (140) zum Lesen von Daten aus der vorgeschriebenen Speicherzelle; eine Puffersektion (120) zum vorübergehenden Speichern von in die vorgeschriebene Speicherzelle zu schreibenden Daten; eine Ermittlungssektion (180) zum Ermitteln, ob Daten in die vorgeschriebene Speicherzelle geschrieben werden sollen oder nicht und zum Ausgeben eines ersten Schreibsignals basierend auf dem Ermittlungsergebnis; eine Datenregistersektion (190) zum Speichern von über das erste Schreibsignal (PRE) gekennzeichneten Daten und zum Ausgeben eines zweiten Schreibsignals (PLS) basierend auf den gespeicherten Daten; und eine Datenschreibsektion (150) zum Schreiben von Daten in die vorgeschriebene Speicherzelle basierend auf dem zweiten Schreibsignal, wobei die Datenregistersektion (190) die durch das erste Schreibsignal gekennzeichneten Daten basierend auf einem Steuersignal (WRT), welches von der Datenschreibsteuersektion ausgegeben wird, speichert, dadurch gekennzeichnet, dass die Datenregistersektion eine Mehrzahl von Registern (Reg) enthält und die durch das erste Schreibsignal (PRG) gekennzeichneten Daten in ein Register der Mehrzahl von Registern, das der durch das Adresssignal (ADD) gekennzeichneten Adresse entspricht, speichert.
  2. Halbleiterspeicher nach Anspruch 1, wobei die Datenregistersektion die gespeicherten Daten auf einen vorgeschriebenen Wert fixiert um zu verhin dern, dass die Daten in die vorgeschriebene Speicherzelle geschrieben werden, falls es nicht erforderlich ist, Daten in die vorgeschriebene Speicherzelle zu schreiben.
  3. Halbleiterspeicher nach Anspruch 1, wobei die Datenlesesektion Daten von wenigstens zwei Speicherzellen der Mehrzahl von Speicherzellen gleichzeitig ausliest.
  4. Halbleiterspeicher nach Anspruch 1, wobei die Ermittlungssektion (180) Rückmeldedaten zum Aktualisieren der in der Puffersektion gespeicherten Daten ausgibt, und die Puffersektion (170) die darin gespeicherten Daten basierend auf den Rückmeldedaten entsprechend einem Steuersignal, das von der Datenschreibsteuersektion ausgegeben wird, aktualisiert.
  5. Halbleiterspeicher nach Anspruch 4, wobei die Puffersektion die gespeicherten Daten auf einen vorgeschriebenen Wert aktualisiert, um zu verhindern, dass Daten in die vorgeschriebene Speicherzelle geschrieben werden, falls es nicht erforderlich ist, Daten in die vorgeschriebene Speicherzelle zu schreiben.
  6. Halbleiterspeicher nach Anspruch 4, wobei die Datenlesesektion Daten von wenigstens zwei Speicherzellen der Mehrzahl von Speicherzellen gleichzeitig ausliest.
  7. Halbleiterspeicher nach Anspruch 4, wobei die in der Puffersektion gespeicherten Daten auf die in der vorgeschriebenen Speicherzelle gespeicherten Daten basierend auf den Rückmeldedaten vor dem Schreiben der Daten in die vorgeschriebene Speicherzelle aktualisiert werden.
  8. Verfahren zum Schreiben von Daten in ein in einem Halbleiterspeicher (100) enthaltenen Speicherfeld (160), wobei das Speicherfeld eine Mehrzahl von Speicherzellen zum Speichern von wenigstens 1 Bit enthält und das Verfahren die Schritte aufweist: Erzeugen eines Adresssignals (ADD), das eine Adresse einer vorgeschriebenen Speicherzelle der Mehrzahl von Speicherzellen, in die Daten zu schreiben sind, kennzeichnet; Auslesen von Daten aus der vorgeschriebenen Speicherzelle; vorübergehendes Speichern von in die vorgeschriebene Speicherzelle zu schreibenden Daten; Ermitteln, ob Daten in die vorgeschriebene Speicherzelle zu schreiben sind oder nicht und Ausgeben eines ersten Schreibsignals (PRG) basierend auf dem Ermittlungsergebnis; Speichern von durch das erste Schreibsignal gekennzeichneten Daten und Ausgeben eines zweiten Schreibsignals (PLS) basierend auf den gespeicherten Daten; und Schreiben von Daten in die vorgeschriebene Speicherzelle basierend auf dem zweiten Schreibsignal, dadurch gekennzeichnet, dass der durch das erste Schreibsignal gekennzeichnete Schritt des Speicherns von Daten in einer Datenregistersektion (190), die eine Mehrzahl von Registern (Reg) enthält, durchgeführt wird und die durch das erste Schreibsignal gekennzeichneten Daten in ein Register der Mehrzahl von Registern, das der über das Adresssignal (ADD) gekennzeichneten Adresse entspricht, schreibt.
  9. Verfahren nach Anspruch 8 mit den zusätzlichen Schritten: Ausgeben von Rückmeldedaten zum Aktualisieren der vorübergehend gespeicherten Daten; und Aktualisieren der vorübergehend gespeicherten Daten basierend auf den Rückmeldedaten.
DE60307184T 2002-06-14 2003-06-12 Halbleiterspeicher und Verfahren zum Schreiben von Daten Expired - Lifetime DE60307184T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002175044 2002-06-14
JP2002175044A JP4010400B2 (ja) 2002-06-14 2002-06-14 半導体記憶装置およびデータ書き込み制御方法

Publications (2)

Publication Number Publication Date
DE60307184D1 DE60307184D1 (de) 2006-09-14
DE60307184T2 true DE60307184T2 (de) 2007-07-12

Family

ID=29561827

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60307184T Expired - Lifetime DE60307184T2 (de) 2002-06-14 2003-06-12 Halbleiterspeicher und Verfahren zum Schreiben von Daten

Country Status (7)

Country Link
US (1) US7161843B2 (de)
EP (1) EP1372157B1 (de)
JP (1) JP4010400B2 (de)
KR (1) KR100556199B1 (de)
CN (1) CN100338685C (de)
DE (1) DE60307184T2 (de)
TW (1) TWI229340B (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002279B (zh) 2004-03-26 2010-04-28 斯班逊有限公司 半导体器件及将资料写入该半导体器件的方法
JP4421925B2 (ja) 2004-03-30 2010-02-24 三星電子株式会社 不揮発性半導体記憶装置
KR100732628B1 (ko) * 2005-07-28 2007-06-27 삼성전자주식회사 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치
US8184469B2 (en) * 2009-11-30 2012-05-22 Micron Technology, Inc. Stored multi-bit data characterized by multiple-dimensional memory states
JP5270627B2 (ja) * 2010-09-01 2013-08-21 スパンション エルエルシー 半導体装置
CN104111901B (zh) * 2014-08-07 2017-05-24 昆腾微电子股份有限公司 用于填充存储器的方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447069B1 (en) 1989-04-13 2008-11-04 Sandisk Corporation Flash EEprom system
KR100477494B1 (ko) 1995-01-31 2005-03-23 가부시끼가이샤 히다치 세이사꾸쇼 반도체 메모리 장치
US5825708A (en) 1997-11-18 1998-10-20 Western Digital Corporation Control system for allowing multiple chips of a disk drive to safely assert and de-assert a reset signal on a reset line
US6034891A (en) * 1997-12-01 2000-03-07 Micron Technology, Inc. Multi-state flash memory defect management
US6424486B2 (en) 1997-12-17 2002-07-23 Texas Instruments Incorporated Method and apparatus for positioning a read/write head of a hard disk drive
JP2923643B2 (ja) 1998-02-27 1999-07-26 株式会社日立製作所 多値メモリの記録方法および半導体記憶装置
US6026031A (en) * 1998-05-13 2000-02-15 Micron Technology, Inc. Relaxed write timing for a memory device
JP3871184B2 (ja) 2000-06-12 2007-01-24 シャープ株式会社 半導体記憶装置
US6496406B1 (en) 2000-06-30 2002-12-17 Mitsumi Electric Co., Ltd. Systems for managing optical disk drive parameters
US6728798B1 (en) * 2000-07-28 2004-04-27 Micron Technology, Inc. Synchronous flash memory with status burst output
JP2002288988A (ja) * 2001-03-28 2002-10-04 Mitsubishi Electric Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
US7161843B2 (en) 2007-01-09
CN1469389A (zh) 2004-01-21
DE60307184D1 (de) 2006-09-14
EP1372157A1 (de) 2003-12-17
TWI229340B (en) 2005-03-11
JP2004022061A (ja) 2004-01-22
TW200405348A (en) 2004-04-01
KR20030096093A (ko) 2003-12-24
US20030233526A1 (en) 2003-12-18
JP4010400B2 (ja) 2007-11-21
KR100556199B1 (ko) 2006-03-03
CN100338685C (zh) 2007-09-19
EP1372157B1 (de) 2006-08-02

Similar Documents

Publication Publication Date Title
DE60220590T2 (de) Verfahren zur Reduzierung von Kopplungseffekten zwischen multi-level Speicherelementen eines nicht flüchtigen Speichers
DE10037037B4 (de) Erfassungszeit-Steuervorrichtung und -Verfahren
DE4433098C2 (de) Halbleiter-Permanentspeichervorrichtung
DE102007031027B4 (de) Leseverfahren einer Speichervorrichtung
DE602004005211T2 (de) Detektieren von überprogrammierter speicherzellen nach einer programmierung benachbarter speicherzellen
DE102005026663B4 (de) Nichtflüchtiges Speicherbauelement mit ISPP
DE60125932T2 (de) Nichtflüchtige Halbleiterspeicher
DE4433721C2 (de) Nichtflüchtige Halbleiterspeicheranordnung
DE102006034265B4 (de) Verfahren zum Programmieren eines Flash-Speicherelements und Flash-Speicherelement
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE102006030758B4 (de) Nicht-flüchtiges Speicherelement, Flash-Speicher und Verfahren zum Programmieren eines Flash-Speicherelements
DE102006020180B3 (de) Verfahren zum Programmieren eines Blocks von Speicherzellen, nicht-flüchtiger Speicher und Speicherkarte
DE10052326B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement und Programmierverfahren hierfür
DE69830089T2 (de) Mehrpegelspeicher
DE19983565B4 (de) Interner Auffrisch-Modus für eine Flash-Speicherzellenmatrix
DE102005057112B4 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102005063166B4 (de) Nicht-flüchtiges Speicherelement und Verfahren zur Programmierüberprüfung in einem nicht-flüchtigen Speicherelement
DE10158849A1 (de) Nichtflüchtiges Speicherbauelement und zugehöriges Datenabtastverfahren
DE102005020797A1 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102007026856A1 (de) Nicht-flüchtiges Speicherbauelement und Verfahren zum Programmieren einer MLC-Speicherzelle in derselben
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE102005020796B4 (de) Halbleiterspeicherbauelement und Programmierverfahren
DE102008003168A1 (de) Speichervorrichtung und Verfahren zum Betreiben derselben
DE102012217730A1 (de) Halbleitervorrichtung und Verfahren des Betreibens von dieser
DE69828131T2 (de) Nicht-flüchtige Halbleiterspeicheranordnung und Schreibverfahren dafür

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1372157

Country of ref document: EP

Representative=s name: PATENTANWAELTE RUFF, WILHELM, BEIER, DAUSTER & PAR