DE60130437T2 - Simultane mehrbankoperation für flash-speicher - Google Patents

Simultane mehrbankoperation für flash-speicher Download PDF

Info

Publication number
DE60130437T2
DE60130437T2 DE60130437T DE60130437T DE60130437T2 DE 60130437 T2 DE60130437 T2 DE 60130437T2 DE 60130437 T DE60130437 T DE 60130437T DE 60130437 T DE60130437 T DE 60130437T DE 60130437 T2 DE60130437 T2 DE 60130437T2
Authority
DE
Germany
Prior art keywords
address
read
write
bank
banks
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
DE60130437T
Other languages
English (en)
Other versions
DE60130437D1 (de
Inventor
Takao Cupertino Akaogi
Kendra San Jose NGUYEN
Lee Edward Santa Clara CLEVELAND
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.)
Spansion LLC
Original Assignee
Spansion LLC
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 Spansion LLC filed Critical Spansion LLC
Application granted granted Critical
Publication of DE60130437D1 publication Critical patent/DE60130437D1/de
Publication of DE60130437T2 publication Critical patent/DE60130437T2/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
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output 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/08Address circuits; Decoders; Word-line control 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
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/22Nonvolatile memory in which reading can be carried out from one memory bank or array whilst a word or sector in another bank or array is being erased or programmed simultaneously

Landscapes

  • Read Only Memory (AREA)
  • Static Random-Access Memory (AREA)
  • Dram (AREA)
  • Medicinal Preparation (AREA)

Description

  • STAND DER TECHNIK
  • Die vorliegende Erfindung betrifft generell Halbleiterspeichervorrichtungen. Insbesondere betrifft die vorliegende Erfindung eine Mehrbank-Simultanoperation für einen Flash-Speicher.
  • Ein Flash-Speicher (oder Flash-ROM) ist eine Form von nichtflüchtigem Speicher, bei dem eine Speicherzellenkonfiguration mit einem Floating-Gate verwendet wird. Es werden hohe Spannungen an die Speicherzelleneingänge angelegt, um das Floating-Gate zu programmieren (Ladung an diesem zu speichern) oder das Floating-Gate zu löschen (Ladung von diesem zu entfernen). Das Programmieren erfolgt durch Heißelektronentransfer zum Platzieren von Ladung an dem Floating-Gate, während beim Löschen die Fowler-Nordheim-Tunnelung angewendet wird, bei der Elektronen ein dünnes dielektrisches Material durchdringen und die Menge an elektronischer Ladung an dem Floating-Gate reduzieren. Beim Löschen einer Zelle wird der logische Wert der Zelle auf "1" gesetzt, während beim Programmieren der Zelle der logische Wert auf "0" gesetzt wird. Neben den Programmier- und Löschoperationen arbeitet ein Flash-Speicher auf im Wesentlichen gleiche Weise wie ein Direktzugriffs-Lesespeicher (ROM). Herkömmlicherweise entsteht ein Flash-Speicherchip, einschließlich den Flash-Speicher-Abspeicherzellen und der Unterstützungslogik/-schaltung durch Fertigen von Schichten aus Halbleitermaterial und Verbindungsschichten aus Polysilizium und ersten und zweiten Metallschichen auf einem Substrat. Es sei angemerkt, dass es zahlreiche Techniken zum Herstellen von integrierten Schaltungen gibt, bei denen mehr oder weniger Schichten verwendet werden und die hier eingeschlossen sind.
  • Diese komplexe Natur des Programmierens und Löschens von Flash-Speichervorrichtungen führt dahingehend zu einer großen Herausforderung, dass diese Vorrichtungen keinen ausreichend schnellen Schreibzugriff bieten, wodurch dann Lesezugriffe beeinträchtigt werden. Beispielsweise ermöglichen es herkömmliche Flash-Speichervorrichtungen typischerweise nicht dass ein Prozessor eine Leseoperation durchführt, während eine Programmier- oder Löschoperation in der Flash-Speichervorrichtung abläuft. Bei den meisten Implementierungen muss der Prozessor periodisch ein Statusregister der Flash-Speichervorrichtung Pollen, um vor dem Initiieren einer Leseoperation in der Flash-Speichervorrichtung das Ende der Programmier- oder Löschoperation zu detektieren.
  • Leider sind, wie oben beschrieben, die Programmier- und Löschtaktzeiten bei typischen Flash-Speichervorrichtungen um Größenordnungen länger als akzeptable Schreibzugriffszeiten eines herkömmlichen Direktzugriffs-Hauptspeicher, bei dem beispielsweise ein Direktzugriffsspeicher mit dynamischem Zugriff ("DRAM") verwendet wird. Solche mit Programmier- oder Löschoperationen in Zusammenhang stehenden langen Latenzen können das Betriebssystem blockieren und verhindern, dass das System über inakzeptabel lange Zeitintervalle arbeitet, wenn der Flash-Speicher der einzige Speicher in dem elektronischen System ist. Einige dem Stand der Technik entsprechende Flash-Speicher ermöglichen Löschaussetzoperationen, um sich dieser Schwierigkeit zu widmen. Ein Aussetzen des Löschvorgangs ermöglicht es dem Prozessor, eine Löschoperation zu unterbrechen, so dass ein anderer Sektor gelesen werden kann. Diese Speicher weisen jedoch typischerweise immer noch ein Aussetzlatenzintervall von mehreren Mikrosekunden auf, bevor eine Leseoperation initiiert werden kann. Ein typisches Aussetzlatenzintervall liegt zwischen 0,1 und 20 Mikrosekunden.
  • Dem Stand der Technik entsprechende Systeme können Mehr-Flash-Speichervorrichtungen verwenden, um ein solche Blockierung des Betriebssystem zu verhindern. Bei diesen Systemen hat der Prozessor üblicherweise Lesezugriff auf eine der Flash-Speichervorrichtungen, während andere Flash- Speichervorrichtungen eine Programmier- oder Löschoperation durchführen. Bei diesen Systeme treten jedoch typischerweise hohe Kosten auf, da Mehr-Flash-Speichervorrichtungen implementiert werden, obwohl die Kapazität einer Einzel-Flash-Speichervorrichtung für den Bedarf der speziellen elektronischen Vorrichtung ausreichend sein kann.
  • Bei herkömmlichen Flash-Speichern aus der jüngsten Vergangenheit können Kernzellendaten während der Programmierung anderer Daten nicht gelesen werden. Vom Systemstandpunkt aus betrachtet, muss zum Programmieren von Daten in Kernzellen des Flash-Speichers der Mikroprozessor einen Programmierbefehl an den Flash-Speicher ausgeben. Da der Flash-Speicher nur in der Lage ist, die Daten auszulesen oder die Daten einzeln oder nicht gleichzeitig zu programmieren, muss der Programmierbefehl innerhalb/außerhalb des Flash-Speichers gespeichert werden.
  • Ferner werden für das Programmieren und Löschen eines Flash-Speichers im Vergleich zum Durchführen von Leseoperationen höhere Spannungen als normal benötigt. Die Verwendung dieser höheren Spannungen als normal stellt eine Herausforderung dar, wenn versucht wird, die Fähigkeit zum gleichzeitigen Lesen und Programmieren/Löschen zu implementieren. Diese Herausforderungen betreffen Schwierigkeiten bei der Verteilung der für die Programmier- und Löschoperationen benötigten hohen Spannungen zusammen mit der Normalspannung für Leseoperationen und Handhabung eines verstärkten Rauschens an den Lesedetektionsausgängen durch Verwendung hoher Spannungen an anderen Stellen in der Vorrichtung. Ferner kann je nach Implementierung auch eine redundante Logik verwendet werden, die ebenfalls zu der Komplexität des Systems beiträgt.
  • In den letzten Jahren sind mit Blick auf diese Probleme Doppelbank-Flash-Speicher eingeführt worden. In US-Patent Nr. 5,867,430 von Chen et al, auf dem der Oberbegriff von Anspruch 1 beruht, und US-Patent Nr. 5,847,998 von Van Buskirk et al sind Doppelbankarchitekturen beschrieben, die eine gleichzeitige Lese- und Schreiboperation ermöglicht. Der Doppelbank-Flash- Speicher kann die Daten programmieren, während gleichzeitig andere Daten ausgelesen werden (d.h. er ist in der Lage, eine Simultanoperation durchzuführen), so dass das Flash-Speichersystem in großem Maße vereinfacht werden kann.
  • In jüngster Zeit sind Doppelbank-Flash-Speichersysteme trotz dieser Vorteile komplexer geworden. Es stellen sich immer größere Herausforderungen hinsichtlich der Konfiguration in Bezug auf Adressier- und Datenperspektiven einer Flash-Speicherimplementierung unter Verwendung mehrerer Bänke. Es wäre wünschenswert, einen flexibler und effizienter ausgeführten Flash-Speicher zu implementieren, der eine Mehrbank-Simultanoperation durchführen kann. Es wäre vorteilhaft, eine auf jede Bank individuell zugeschnittene lokale Architektur und Schaltung zu entwickeln, um beispielsweise eine Erweiterung der Simultanoperationsarchitektur von einer Doppelbank oder von zwei Bänken auf N Bänke zu vereinfachen.
  • Entsprechend besteht Bedarf an einer erweiterbaren und flexiblen Mehrbankarchitektur, die eine Simultanoperation durchführen kann, das heißt, die gleichzeitig Lese- und Schreib-(Programmier- oder Lösch-)Operationen ermöglicht.
  • OFFENBARUNG DER ERFINDUNG
  • Einleitend wird ein Ausführungsbeispiel eines Mehrbank-Simultan-Lese- und Schreiboperations-Flash-Speicher beschrieben.
  • Es wird eine Ausführungsform einer Adresspuffer- und -decodierarchitektur zum Vereinfachen des gleichzeitigen Auslesens aus und Schreibens in N Bänke von Kernspeicherzellen in einem Speicher beschrieben. Für die Dauer einer Leseoperation an einer Bank der N Bänke kann eine Schreiboperation nur an einer der anderen N-1 Bänke durchgeführt werden. Für die Dauer einer Schreiboperation an einer Bank der N Bänke kann eine Leseoperation nur an einer der anderen der N-1 Bänke durchgeführt werden. Die Adresspuffer- und -decodierarchitektur weist eine Steuerlogikschaltung, eine Adressauswahlschaltung an jeder der N Bänke und eine Adresspufferschaltung auf. Die Steuerlogikschaltung wird zum Erzeugen von N Leseauswahlsignalen zum Auswählen einer Bank der N Bänke für eine Leseoperation und N Schreibauswahlsignalen zum Auswählen einer anderen Bank der N Bänke für eine Schreiboperation verwendet. Jede Adressauswahlschaltung ist zum Empfangen jeweils eines der N Leseauswahlsignale und jeweils eines der N Schreibauswahlsignale vorgesehen. Die Adresspufferschaltung dient zum gleichzeitigen Erzeugen einer Schreibadresse und einer Leseadresse zwecks Zugriffs auf Kernspeicherzellen. Jeweils erste Teile der Schreib- und Leseadressen werden zu der Steuerlogikschaltung geliefert, um die jeweiligen N Leseauswahlsignale und N Schreibauswahlsignale zu erzeugen. Jeweils zweite Teile der Schreib- und Leseadressen werden zu der jeweiligen Adressenauswahlschaltung geliefert.
  • Es wird eine Ausführungsform eines in einem Mehrbank-Flash-Speicher angewendeten Verfahrens zum gleichzeitigen Schreiben und Lesen von Daten beschrieben. Ein erster Teil einer Schreibadresse und ein erster Teil einer Leseadresse werden an N Adressenauswahlschaltungen geliefert, die N Bänken von Kernspeicherzellen entsprechen. Ein zweiter Teil der Schreibadresse wird an eine Steuerlogikschaltung geliefert. Der zweite Teil der Schreibadresse bildet eine Bank für eine Schreiboperation. Ein zweiter Teil der Leseadresse wird an eine Steuerlogikschaltung geliefert. Der zweite Teil der Leseadresse bildet eine Bank für eine Leseoperation. Eines von N Schreibauswahlsignalen von der Steuerlogikschaltung wird für eine Schreiboperation an jede Bank der N Bänke geliefert. Eines der N Leseauswahlsignale von der Steuerlogikschaltung wird für eine Leseoperation an jede Bank der N Bänke geliefert. Die ersten Teile der Schreib- und Leseadressen werden in Bezug auf N Schreibauswahlsignale und die entsprechenden N Leseauswahlsignale zu den N Bänken durchgelassen. Die Daten, auf die an Schreib- und Leseadressensites in den N Bänken von den ersten Teilen der Schreib- und Leseadressen zugegriffen wird, werden relativ zu den jeweiligen N Schreibauswahlsignalen und den N Leseauswahlsignalen zu dem Datenausgang und der Verifizierschaltung durchgelassen.
  • Die vorstehende Beschreibung einer Reihe von derzeit bevorzugten Ausführungsformen dient nur als Einleitung. In diesem Abschnitt darf nichts als Einschränkung der nachstehenden Patentansprüche angesehen werden, welche den Umfang der Erfindung definieren.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 1 zeigt ein Blockschaltbild einer Simultanoperations-Flash-Speicherarchitektur aus der Adressierperspektive betrachtet;
  • 2 zeigt ein Blockschaltbild einer Simultanoperations-Flash-Speicherarchitektur aus der Datenoperationsperspektive betrachtet;
  • 3A zeigt ein Schaltbild eines auf herkömmliche Weise implementierten Einzelport-Adressenpuffer;
  • 3B zeigt ein Schaltbild eines Ausführungsbeispiels eines Doppelport-Adressenpuffers;
  • 4 zeigt ein Schaltbild eines Ausführungsbeispiels eines Teils einer Steuerlogikschaltung zum Erzeugen von Lese- und Schreiboperationsauswahlsignalen, die individuell auf jede Bank zugeschnitten sind;
  • 5 zeigt ein Schaltbild eines ersten Ausführungsbeispiels einer Adressenauswahlschaltung n, die lokal an einer Bank n von Speicherzellen implementiert ist; und
  • 6 zeigt ein Schaltbild eines zweiten Ausführungsbeispiels einer Adressenauswahlschaltung n, die lokal an einer Bank n von Speicherzellen implementiert ist.
  • ARTEN ZUM DURCHFÜHREN DER ERFINDUNG
  • In den letzten Jahren sind Simultan-Lese- und Schreib-Doppelbank-Flash-Speicher in den Markt eingeführt worden. Einige Beispiele für diese Speicher sind in US-Pat. NR. 5,867,430 mit dem Titel "BANK ARCHITECTURE FOR A NON-VOLATILE MEMORY ENABLING SIMULTANEOUS REHDING AND WRITING" von Chen et al und US-Pat. Nr. 5,847,998 mit dem Titel "NON-VOLATILE MEMORY ARRAY THAT ENABLES SIMULTANEOUS READ AND WRITE OPERATIONS" von Van Buskirk beschrieben. Diese Patente beschreiben die Implementierung und Operation von Doppelbank-Flash-Speicherarchitekturen, die gleichzeitige Lese- und Schreiboperationen ermöglichen. Ein Doppelbank-Flash-Speicher kann die Daten programmieren, während andere Daten ausgelesen werden (d.h. er ist in der Lage eine Simultanoperation durchzuführen), so dass das Flash-Speichersystem in großem Maße vereinfacht werden kann.
  • In jüngster Zeit sind Doppelbank-Flash-Speichersysteme trotz dieser Vorteile immer komplexer geworden. Es stellen sich immer größere Herausforderungen hinsichtlich der Adressier- und Datenperspektiven einer Flash-Speicherimplementierung unter Verwendung mehrerer Bänke.
  • Hierin wird ein flexibler und effizienter ausgeführter Flash-Speicher beschrieben, der eine Mehrbank-Simultanoperation durchführen kann. Die hier beschriebene Ausführungsform erzeugt Adressier-, Adressenauswahl- und Operationssteuersignale und eine -logik sowie eine lokal an jeder Bank vorge sehen Zugriffsschaltung. Ein individualisierte Architektur, die lokal an jeder Bank von Kernzellen des Speicher vorgesehen ist, vereinfacht die Erweiterung der Simultanoperationsarchitektur von einer Doppelbank oder zwei Bänken zu N Bänken und macht diese Erweitung durchführbar.
  • Die hierin beschriebene Ausführungsform bietet eine erweiterbare und flexibel Mehrbankarchitektur, die Simultanoperationen durchführen kann, d.h. gleichzeitig erfolgende Lese- und Schreiboperationen ermöglicht. Generell wird unter einer Schreiboperation eine Programmier- oder Löschoperation verstanden.
  • 1 zeigt ein Blockschaltbild einer Adressierperspektive eines Mehrbank-Simultanoperations-Flash-Speichers 200 einer Flash-Speicherchips. Die beispielhafte Flash-Speicheradressierarchitektur des Mehrbank-Simultanoperations-Flash-Speichers 200 weist jenen Adresspufferblock 220, eine Zustandsmaschinen- und Steuerlogikschaltung (Logikschaltung) 218, einen Schreib-Enable-(WE-)Puffer 228, einen DIN-Puffer 224 und vier Bänke von Speicherzellen, Bank0 202, Bank1 204, Bank2 206, Bank3 208 mit jeweiligen diesen zugeordneten Adressauswahlschaltungsblöcken ASEL0 210, ASEL1 212, ASEL2 214 und ASEL3 216 auf.
  • Der Adressenpufferblock 220 liefert eine Leseadresse auf Leseadressen-Bitleitungen oder Datenbussen 232 und eine Schreib-(gegebenenfalls Programmier- oder Lösch-)Adresse auf Schreibadressen-Bitleitungen oder Datenbussen 234 für die Auswahl durch die Adressenauswahlschaltungsblöcke 210, 212, 214, 216. Der Adressenpufferblock 220 steht auch mit der Logikschaltung 218 in Verbindung. Aus Gründen der Klarheit sind in 1 eine Leseadressen-Bitleitung 232 und eine Schreibadressen-Bitleitung 234 gezeigt. Selbstverständlich werden vorzugsweise mehrere Bitleitungen 232, 234 in dem Speicher 200 verwendet. Die Anzahl von Bitleitungen 232, 234 zum Leiten oder Übertragen der Bits der Lese- und Schreibadressen hängt generell davon ab, wie viele Lese- und Schreibadressenbits verwendet werden.
  • Der Flash-Speicher 200 wird einmal anhand einer Leseadresse und einmal anhand einer Schreibadresse beschrieben. Es sei darauf hingewiesen, dass bei anderen Ausführungsformen der Adressenpufferblock 220 nicht auf diese Anordnung beschränkt ist, und er in der Lage ist, gleichzeitig mehrere Leseadressen und/oder mehrere Schreibadressen an die Adressenauswahlschaltungsblöcke 210, 212, 214, 216 zu liefern. Diese mehreren Adressen setzen generell zusätzliche Bitleitungen 232, 234 voraus.
  • Der Adressenpufferblock 220 empfängt ein Mehrbit-Adresseneingangssignal 222. Vorzugsweise wird das Adresseneingangssignal 222 von einer außerhalb des Flash-Speicher 200 befindlichen externen Quelle extern an den Adressenpufferblock 220 angelegt. Das Adresseneingangssignal 222 kann von einem auf dem Flash-Speicherchip oder in der Flash-Speicheradressenarchitektur angeordneten (nicht gezeigten) Adressengenerator erzeugt werden. Vorzugsweise weist der Adressenpufferblock 220 eine Adressensequenzierschaltung auf, die von der Logikschaltung 218 gesteuert wird. Vorzugsweise wird die Adressensequenzierschaltung zum Erzeugen von Adressen während einer Schreiboperation verwendet. Bei einer weiteren Ausführungsform ist der Adressensequenzer Teil der Logikschaltung 218.
  • Die Logikschaltung 218 ist in der Lage, mehrere Signale zu dem Flash-Speicher 200 zu liefern. Die von der Logikschaltung 218 erzeugten Signale umfassen vorzugsweise (nicht gezeigte) programmier- und löschbezogene Steuersignale sowie Operationsauswahlsignale.
  • Der DIN-Puffer 224 empfängt ein Mehrbit-Eingangssignal DIN 226. Vorzugsweise erzeugt das Mehrbit-Eingangssignal DIN 226 Lese- und Schreiboperationsbefehle für ein Befehlsregister in der Logikschaltung 218. Das Eingangssignal DIN 226 wird in dem DIN-Puffer 224 gespeichert und erforderlichenfalls zu der Logikschaltung 218 geliefert. Das Eingangssignal DIN 226 ist die Information, die bei einer Programmieroperation in die Kernspeicherzellen des Flash-Speichers 200 programmiert wird.
  • Der Schreib-Enable-(WE-)Puffer 228 empfängt ein Mehrbit-Steuereingangssignal (WE) 226. Das Steuereingangs-(WE-) Signal 226, das auch als Schreib-Enable-Signal bezeichnet wird, wird von dem Schreib-Enable-Puffer 228 gespeichert und an die Logikschaltung 218 geliefert. Das Steuereingangs-(WE-)Signal 226 wird zum Aktivieren der Schreibfunktionen des Flash-Speichers verwendet.
  • 1 zeigt ein Blockschaltbild des Flash-Speichers 200 vom Adressierstandpunkt aus betrachtet. 1 zeigt beispielhaft vier Bänke, Bank0 202, Bank1 204, Bank2 206 und Bank3 208. Es sei darauf hingewiesen, dass die Flash-Speicheradressierarchitektur für eine Mehrbank-Simultanoperation nicht auf vier Bänke von Speicherzellen begrenzt ist. Vielmehr liegt ein Vorteil der lokalisierten Adressier- und Decodierarchitektur darin, dass die Adressierarchitektur des Flash-Speichers 200 expandierbar ist und zum Aufnehmen einer beliebigen Anzahl von Bänken von Speicherzellen, das heißt "N" Bänke von Speicherzellen (hier N = 4), erweiterbar ist. Eine einzelne der N Bänke kann als Bank n bezeichnet werden. Daher sind, obwohl 1 der Klarheit halber nur vier Bänke zeigt, die Ausführungsformen der Flash-Speicheradressierarchitektur, wie z.B. der Adressierarchitektur des Flash-Speichers 200, für eine Mehrbank-Simultanoperation nicht auf vier Bänke begrenzt.
  • Die vier Bänke von Speicherzellen, Bank0 202, Bank1 204, Bank2 206 und Bank3 208 sind Arrays (oder Sets) von Flash-Speicherzellen. Andere nichtflüchtige Speicherzellen können bei anderen Ausführungsformen jedoch auch verwendet werden. Vorzugsweise sind die Bänke 202, 204, 206, 208 in Wörtern und dann in Sektoren organisiert und können entweder byte- oder wortadressierbar sein.
  • Die vier Bänke von Speicherzellen Bank0 202, Bank1 204, Bank2 206 und Bank3 208 weisen alle eine (in 1 nicht gezeigte) lokalisierte Adressendecodierlogik auf. Beispielsweise weist die Adressendecodierlogik für Bank0 202 (Bank1 204, Bank2 206, Bank3 208) einen (nicht gezeigten) X-Decoder und einen (nicht gezeigten) Y-Decoder auf. Vorzugsweise weist der X- Decoder einen Wortleitungsdecoder und einen Sektordecoder auf. Der Wortleitungsdecoder und der Sektordecoder empfangen Adressenbits von den Adressenauswahlschaltungsblöcken ASEL0 210 (ASEL1 212, ASEL2 214 und ASEL3 216). Vorzugsweise weist der Y-Decoder einen Bitleitungsdecoder und eine Y-Verknüpfung auf. Der Bitleitungsdecoder empfängt Adressenbits von ASEL0 210 (ASEL1 212, ASEL2 214 und ASEL3 216). Die X- und Y-Decoder sind auf dem Gebiet der Halbleiterspeicher, insbesondere der Flash-Speicher, bekannt. Einige Beispiele für Implementierungen von Flash-Speicher-Decodern sind in US-Patent NR. 5,867,430 von Chen et al und US-Patent Nr. 5,847998 von Van Buskirk et al beschrieben, die hiermit zum Gegenstand der vorliegenden Offenbarung gemacht sind.
  • Gemäß 1 liefert die Logikschaltung 218 eine Reihe von Auswahlsignalen an die Adressenauswahlschaltungsblöcke 210, 212, 214, 216. Die in 1 gezeigte Reihe von Auswahlsignalen umfasst 0RSEL, 0WSEL, 1RSEL, 1WSEL, 2RSEL, 2WSEL, 3RSEL und 3WSEL. Eine Funktion der Auswahlsignale ist das Auswählen von auf den Bitleitungen 232 übertragenen Leseadressen oder von auf den Bitleitungen 234 übertragenen Schreibadressen, die von dem Adressenpufferblock 220 erzeugt worden sind, oder von Einzelbits der Leseadresse oder der Schreibadresse.
  • Nach Auswählen einer geeigneten Lese- oder Schreib-Mehrbitadresse durch den Adressenauswahlschaltungsblock 210 (212, 214, 216) wird in 1 die Adresse der Bank von Speicherzellen Bank0 202 (Bank1 204, Bank2 206, Bank3 208) über eine (nicht gezeigte) zwischengeschaltete Reihen- und Zeilendecodierschaltung als Signal 236 präsentiert.
  • Es sei darauf hingewiesen, dass die Adressen des Flash-Speichers 200 generell Mehrbit-Digitalwort-Signale sind, da die Auswahl einer speziellen Kernzelle in dem Speicher eine entsprechende Mehrbit-Digitaladresse erfordert. Bei den derzeit bevorzugten Ausführungsformen kann die Schaltung jedoch anhand spezieller Bits der Mehrbit-Digitaladresse beschrieben werden. Es ist in solchen Fällen für Fachleute offensichtlich, die durch die Schaltung dargestellten Konzepte auf Mehrbitimplementierungen anzuwenden und auszuweiten. Fachleute erkennen, dass solche Implementierungen Parallelimplementierungen umfassen können, einschließlich Fälle, in denen die Schaltung für ein Bit für jedes Bit einer Mehrbitadresse erforderlichenfalls parallel dupliziert wird. Andere Implementierungen können das gemeinsame Präsentieren sämtlicher oder einiger der Mehrbitadressen umfassen, das gewünschte Resultat oder die gewünschte Funktion zu erreichen.
  • Das in 1 gezeigte Adresseneingangssignal 222 ist eine externe Mehrbit-Eingangsadresse, die die Adressenbits Ahi aus 3 aufweist (nachstehend beschrieben). Vorzugsweise wird die Adresse chipextern oder von außerhalb des Chips in den Flash-Speicher 200 eingegeben. Das Mehrbit-Adressensignal 222 kann Adressierinformationen über Lese- und Schreiboperationen enthalten. Vorzugsweise erzeugt ein außerhalb des Chips befindlicher Nutzer Adressen für Lese- und Schreiboperationen. Das Adressensignal 222 kann beispielsweise 20 Bits aufweisen, wobei je nach Anzahl N von Bänken von Speicherzellen (N = 4 in 1) zwei oder mehr Bits zum Aktivieren der Bankauswahllogik in der Logikschaltung 218 verwendet werden.
  • Der Adressenpufferblock 220 weist mehrere Adressenpuffer auf. Vorzugsweise weist jeder einzelne Adressenpuffer zwei Ports auf, das heißt, jeder Adressenpuffer hat zwei Ausgänge, und zwar einen Ausgang für eine Leseadresse und einen anderen für eine Schreibadresse. Vorzugsweise dient der Leseadressenausgang für ein Einzelbit der Leseadresse, während der Schreibadressenausgang für ein Einzelbit der Schreibadresse dient. Bei anderen Ausführungsformen kann der Adressenpufferblock 220 auch mehrere Leseadressen (wobei die Leseadressen selbst Mehrbitadressen sind) sowie mehrere Schreibadressen (wobei die Schreibadressen selbst Mehrbitadressen sind) ausgeben.
  • Vorzugsweise werden die Leseadressenbits und die Schreibadressenbits anfangs oder direkt von dem Adressenpufferblock 220 von dem Adressensignal 222 gesteuert. Vorzugsweise werden die Schreibadressenbits in dem Adressenpufferblock 220 festgehalten und gemäß der speziellen Operation inkrementiert.
  • Jede Bank n von Speicherzellen (hier Bank0 202, Bank1 204, Bank3 206 und Bank3 208) weist einen ihr zugeordneten Adressenauswahlschaltungsblock ASELn (hier n = 0, 1, 2, 3) auf. Der jeweilige zugeordnete ADressenauswahlschaltungsblock ASELn wählt entweder die Adressenbits zum Lesen oder die Adressenbits zum Schreiben zwecks Versorgung jeder Bank n mit dem erforderlichen Adressensignal in Abhängigkeit von den von der Logikschaltung 218 erzeugten Auswahlsignalen nRSEL und nWSEL aus. Wenn nRSEL High ist, wird die Bank n zum Lesen ausgewählt und werden die Leseadressenbits der Bank n zugeführt. Wenn nWSEL High ist, wird die Bank n zum Schreiben ausgewählt und werden die Schreibadressenbits der Bank n zugeführt. Wie oben beschrieben, erzeugt die Logikschaltung 218 nRSEL und nWSEL.
  • 2 zeigt ein Blockschaltbild einer Datenoperationsperspektive eines Mehrbank-Simultanoperations-Flash-Speicher 200 eines Flash-Speicherchips. Die beispielhaften Flash-Speicher Datenoperationsarchitektur des Mehrbank-Simultanoperations-Flash-Speichers 200 weist die vier Bänke von Speicherzellen Bank0 202, Bank1 204, Bank2 206, Bank3 208 auf, die jeweils Programmier-/Löschsteuerschaltungen PECC0 244, PECC1 246, PECC2 248, PECC3 250, n-Kanal-MOSFET-Transistoren 252, 254, 256, 258, 262, 264, 266, der Logikschaltung 218, einem zweckbestimmten Lesedetektionsverstärkerblock 268 ("S/A READ") und einen zweckbestimmten Verifizierdetektionsverstärkerblock 270 ("S/A VERIFY) zugeordnet sind. Die Verstärkerblöcke 268 und 270 enthalten jeweils einen oder mehrere Detektionsverstärker zum Detektieren von Daten von den Bänken 202, 204, 206, 208 des Flash-Speichers 200.
  • Der Lesedetektionsverstärkerblock 268 ist durch die jeweiligen n-Kanal-MOSFET-Transistoren 254, 258, 262 bzw. 266 mit jeder Bank von Speicherzellen Bank0 202, Bank1 204, Bank2 206, Bank3 208 gekoppelt. Jede Bank von Speicherzellen weist ihren eigenen zweckbestimmten Lesetransistor auf. Selbstverständlich können zusätzliche (nicht gezeigte) zweckbestimmte Lesetransistoren in dem Flash-Speicher 200 enthalten sein. Jeder Lesetransistor 254, 258, 262, 266 wird an seinem Gate-Eingang durch Anlegen des Leseauswahlsignals für die spezielle Bank 0RSEL, 1RSEL, 2RSEL bzw. 3RSEL eingeschaltet (d.h. leitet) und ausgeschaltet. Beispielsweise ist der Lesedetektionsverstärkerblock 268 in der Lage, den Wert einer Kernzelle der Bank0 202 auszulesen, wenn das Auswahlsignal 0RSEL High ist und der Lesetransistor 254 eingeschaltet und leitend ist. Der Lesedetektionsverstärkerblock 268 liest die Informationen aus den Kernzellen des Flash-Speichers 200 und gibt die Daten aus dem Flash-Speicher 200 aus. Anordnungen, wie z.B. für das Puffern von Ausgangssignalen, Festhalten von Daten oder andere Datenauslesemechanismen können gemeinsam oder getrennt verwendet werden, wie es zum Unterstützen des Lesedetektionsverstärkerblocks 268 beim Ausgeben der Kernzellendaten zweckmäßig ist. Diese Mechanismen und/oder Anordnungen sind in 2 nicht gezeigt, sind jedoch vorzugsweise in dem Flash-Speicher 200 enthalten. Selbstverständlich sei darauf hingewiesen, dass bei anderen Ausführungsformen Datenausgabemechanismen und/oder -anordnungen außerhalb des Flash-Speichers 200 vorgesehen sind. Gemäß den hier beschriebenen Ausführungsformen ist es nicht erforderlich, eine Lesedetektionsverstärkerschaltung separat für jede Bank vorzusehen.
  • Der Verifizierdetektionsverstärkerblock 270 ist durch die jeweiligen n-Kanal-MOSFET-Transistoren 252, 256, 260, 264 mit jeder Bank von Speicherzellen Bank0 202, Bank1 204, Bank2 206, Bank3 208 gekoppelt. Jede Bank von Speicherzellen weist ihren eigenen zweckbestimmten Verifiziertransistor auf. Selbstverständlich können zusätzliche (nicht gezeigte) zweckbestimmte Verifiziertransistoren in dem Flash-Speicher 200 enthalten sein. Jeder Verifiziertransistor 252, 256, 260, 264 wird an seinem Gate-Eingang durch Anlegen des Schreibauswahlsignals für die spezielle Bank 0WSEL, 1WSEL, 2WSEL bzw. 3WSEL eingeschaltet (d.h. ist stark leitend) und ausgeschaltet. Beispielsweise ist der VErifizierdetektionsverstärkerblock 270 in der Lage, den Wert einer Kernzelle der Bank3 208 zu verifizieren, wenn das Auswahlsignal 3WSEL High ist und der Verifiziertransistor 264 eingeschaltet und leitend ist. Der Verifi zierdetektionsverstärkerblock 270 detektiert die Informationen aus den Kernzellen des Flash-Speichers 200 und präsentiert die Informationen der Zustandsmaschinen- und Steuerlogikschaltung 218 zum Verifizieren und zum Bestimmen des nächsten Zustands des Flash-Speichers 200. Gemäß den hier beschriebenen Ausführungsformen ist es nicht erforderlich, eine Verifizierdetektionsverstärkerschaltung separat für jede Bank vorzusehen.
  • Gemäß 1 ist die Zustandsmaschinen- und Steuerlogikschaltung 218 (Logikschaltung 18) aus 2 in der Lage, mehrere Signale an den Flash-Speicherchip zu liefern, einschließlich globaler programmier- und löschbezogener Steuersignale (einschließlich "PGM", "ERS" bzw. "VERIFY" aus 2) sowie der Adressauswahlsignale 0RSEL, 1RSEL, 2RSEL und 3RSEL zum Lesen und 0WSEL, 1WSEL, 2WSEL und 3WSEL zum Schreiben. Das "VERIFY"-Signal wird zum Steuern des Verifizierdetektionsverstärkerblock 270 verwendet.
  • Jede der vier Bänke der Datenoperationsarchitektur des Flash-Speichers 200 weist jeweils eine ihr zugeordnete Programmier-/Löschsteuerschaltung PECC0 244, PECC1 246, PECC2 248 und PECC3 250 auf. Vorzugsweise weisen die lokal an jeder Bank angeordneten Programmier-/Löschsteuerschaltungen die Energieversorgung für eine Programmieroperation, die Energieversorgung für eine Löschoperation, die Energieversorgung für eine Verifizieroperation, die Programmierdatenversorgung sowie programmier- und löschbezogene Schaltungen und andere Energieversorgungen auf. Selbstverständlich sei darauf hingewiesen, dass einige oder sämtliche dieser Energieversorgungen und programmier- und löschbezogener Schaltungen außerhalb der Programmier-/Löschsteuerschaltungen angeordnet sein können. Die lokalen Programmier-/Löschsteuerschaltungen PECC0 244, PECC1 246, PECC2 248 und PECC 3 250 werden von den von der Logikschaltung 218 gelieferten Globalsignalen PGM und ERS gesteuert.
  • Vorzugsweise weisen die programmier- und löschbezogenen Schaltungen eine UND-Gatter-Logik auf. Wie Fachleuten bekannt ist, ist der Ausgang eines UND-Gatters High oder Eins, und zwar ausschließlich wenn seine Eingänge High oder Eins sind. Bei einer bevorzugten Ausführungsform steuern ein oder mehrere UND-Gatter die programmierbezogene(n) Schaltung(en) derart, dass das PGM-Signal in das eine oder die mehreren UND-Gatter eingegeben wird und das (die) Ausgangssignal(e) beliebiger UND-Gatter auf Low treibt, wenn das PGM-Signal Low ist. Auf diese Weise steuert das PGM-Signal von der Logikschaltung 217 die Programmierschaltung(en). Vorzugsweise steuern ein oder mehrere UND-Gatter die löschbezogene(n) Schaltung(en) derart, dass das ERS-Signal in das eine oder die mehreren UND-Gatter eingegeben wird und das (die) Ausgangssignal(e) beliebiger UND-Gatter aus Low treibt, wenn das ERS-Signal Low ist. Auf diese Weise steuert das ERS-Signal das (die) Löschschaltung(en).
  • Ferner werden die Programmier- und Löschschaltungen vorzugsweise von der UND-Gatter-Logik aktiviert, die Ausgangssignaleingänge sowie den PGM- oder ERS-Eingang aufweist. Das heißt, dass eine Programmieroperation nur an der Bank n durchgeführt werden kann und die Programmierschaltungen für die Bank n nur arbeiten kann, wenn, und nur dann wenn, das Auswahlsignal nWSEL UND das globale Steuersignal PGM High sind. Auf im Wesentlichen gleiche Weise kann eine Löschoperation nur an der Bank n durchgeführt werden und können die Löschschaltungen für die Bank n nur arbeiten, wenn, und nur dann wenn, das Auswahlsignal nWSEL UND das globale Steuersignal ERS High sind.
  • Bei dem Flash-Speicher 200, wie er in 1 aus einer Adressierperspektive und in 2 aus eine Datenoperationsperspektive gezeigt ist, sei darauf hingewiesen, das die jede Bank umgebende und aufweisende Schaltungsanordnung als lokalisierte Version eines herkömmlichen Flash-Speichers arbeitet. Das heißt, wenn die Operation jeder lokalisierten Bankschaltungsanordnung isoliert von den anderen lokalisierten Bankschaltungsanordnungen betrachtet wird, ist die Operation der eines herkömmlichen Flash-Speichers im Wesentlichen gleich. Selbstverständlich leiten und erfüllen der Adressenpufferblock 220, die Logikschaltung 218 und die Detektionsverstärkerblöcke 268, 270 globale Aspekte der Adressierung, Decodierung, Datendetektierung- und -verifizierung und der Operationssteuerung.
  • Unter Verwendung der jeweiligen Lese- und Schreibauswahlsignale zum Steuern der jeweiligen Transistoren können Daten von den Bänken 202, 204, 206, 208 aus 2 über diese Transistoren entweder zu dem Lesedetektionsverstärkerblock 268 oder dem Verifizierdetektionsverstärkerblock 270 übermittelt werden. Die Detektionsverstärkerblöcke 268, 270 stehen mit der Logikschaltung 218 in Verbindung. Während Daten von einer Bank zu dem Lesedetektionsverstärkerblock 268 übermittelt werden, können Daten von einer anderen Bank zu dem Verifizierdetektionverstärkerblock 270 übermittelt werden. Auf im Wesentlichen gleiche Weise können, während Daten von einer Bank zu dem Verifizierdetektionsverstärkerblock 270 übermittelt werden, Daten von einer anderen Bank zu dem Lesedetektionsverstärkerblock 268 übermittelt werden. Das Ausgangssignal des Verifizierdetektionsverstärkerblock 270 wird zu der Logikschaltung 218 gesendet, welches zum Verifizieren, ob ein spezielles Byte programmiert oder gelöscht worden ist, verwendet wird.
  • Vorzugsweise werden I/O-Puffer zum Weiterleiten von Daten in den Flash-Speicher 200 und aus diesem heraus verwendet. Während von einer der Bänke ein Lesevorgang durchgeführt wird, werden Ausgangsdaten von dem Lesedetektionsverstärkerblock 268 an die I/O-Puffer übermittelt. Vorzugsweise übermittelt während einer Lösch- oder Programmiersequenz die Logikschaltung 218 Statusinformationen an die I/O-Puffer, so dass ein externer Prozessor den Flash-Speicher 200 bezüglich des Lösch- oder Programmierstatus des Speichers 200 Pollen kann.
  • Während eine Bank programmiert wird, kann auf für eine Leseoperation auf eine der anderen Bänke zugegriffen werden. Beispielsweise liefert bei einer Programmierung eines Bytes an der Bank 0 202 die Logikschaltung 218 das aktive Schreibauswahlsignal 0WSEL an ASEL0 210 zwecks Auswahl der Schreibadresse aus dem Adressenpufferblock 220 zur Übermittlung an die (nicht gezeigten) X- und Y-Decodierer an der Bank0 202. Ferner speichert die Logikschaltung 218 das zu programmierende Datenbyte von den I/O-Puffern zwecks Verifizierung, wann die Programmierung beendet ist. Das Ausgangssignal der Bank0 202 wird zum Vergleich mit den gespeicherten Eingangsdaten über den Transistor 252 an den Verifizierdetektionsverstärkerblock 270 gesendet. Bei einer gleichzeitig initiierten Leseoperation an der Bank3 208 liefert die Logikschaltung 218 vorzugsweise nach dem Speichern der zu programmierenden Daten das aktive Leseauswahlsignal 3RSEL an ASEL3 216 zum Auswählen der Leseadresse aus dem Adressenpufferblock 220 zur Übermittlung an die (nicht gezeigten) X- und Y-Adressendecodierer an der Bank 3 208. Das Ausgangssignal derBAnk3 208 wird über den Transistor 266 an den Lesedetektionsverstärkerblock 268 gesendet. Vorzugsweise wird das Ausgangssignal des Lesedetektionsverstärkerblocks 268 an die I/O-Puffer und dann an einen (nicht gezeigten) Datenbus gesendet.
  • Auf im Wesentlichen gleiche Weise liefert beim Löschen eines Sektors in der Bank2 206 die Logikschaltung 218 das aktive Schreibauswahlsignal 2WSEL an ASEL2 214, um die Schreibadressen aus der Adressensequenzierschaltungsanordnung in dem Adressenpufferblock 220 auszuwählen. Die Adressensequenzierschaltungsanordnung wird zum Takten durch sämtliche Bytes in einem speziellen Sektor verwendet, um sicherzustellen, dass jedes Byte vorprogrammiert ist. Der Sektor wird anschließend einer Gesamtlöschung unterzogen. Nach dem Löschen wird die Adressensequenzierschaltungsanordnung zum Erzeugen von Adressen zum Verifizieren jedes Bytes dieses gelöschten Sektors verwendet. Während die Bank2 206 gelöscht wird und ASEL2 214 (in Richtung der Logikschaltung 218) eine Schreibadresse aus der Adressensequenzierschaltungsanordnung des Adressenpufferblocks 220 auswählt, kann eine Leseoperation in einer anderen Bank unter Anwendung von nRSEL zum Auswählen der Leseadresse aus dem Adressenpufferblock 220 statt einer Schreibadresse aus der Adressensequenzierschaltungsanordnung durchgeführt werden. Während der an einer Bank durchgeführten Verifizieroperation oder Löschoperation verifiziert die Logikschaltung 218 die Daten unter Verwendung des Verifizierdetektionsverstärkerblocks 270, während Lesedaten von einer anderen Bank an den Lesedetektionsverstärkerblock 268 übermittelt werden. Somit weist jede Bank Schreibbit- und Lesebit-Eingangsadressenwege und Verifizier- und Lesebit-Ausgangsdatenwege auf, die von den Lese- und Schreibauswahlsignalen nRSEL und nWSEL derart ausgewählt werden können, dass jede beliebige Bank ausgelesen werden kann, während gleichzeitig in eine beliebige andere Bank geschrieben wird.
  • 3 zeigt ein Logikschaltbild eines Doppelport-Adressenpuffer 400 entsprechend dem Mehrbank-Simultanoperations-Flash-Speicher 200. Vorzugweise weist der in 1 gezeigte Adressenpufferblock 220 eine Reihe von Adressenpuffern 400 zum Ausgeben von Adressenbits RAh der lesebezogenen Adresse auf den Bitleitungen 232 und von Adressenbits WAh der schreibbezogenen Adresse auf den Bitleitungen 234 auf. Der Adressenpuffer 400 weist ein NOR-Gatter 402, ein Exklusiv-NOR- oder äquivalentes Gatter 408, einen ersten Haltespeicher 450, einen zweiten Haltespeicher 460, Inverter 404, 422, 426, 428, als Schalter verwendete n-Kanal-Transistoren 406, 410, 416 und ein UND-Gatter 424 auf. Vorzugsweise weist der erste Haltespeicher 450 ein Paar Inverter 412, 414 auf. Vorzugsweise weist der zweite Haltespeicher 460 ein Paar Inverter 418, 420 auf.
  • Ein Nachteil eines herkömmlichen Adressenpufferblocks gegenüber einem Mehrbank-Simultanoperationsspeicher, wie z.B. dem Speicher 200, besteht darin, dass immer nur eine Adresseninformation, die nur einer Operation entspricht, ausgegeben wird. Bei einer Leseoperation wird ein Adressenbit für einen Lesevorgang ausgegeben, während bei einer Schreiboperation ein Adressenbit für einen Schreibvorgang (Programmier- oder Löschvorgang) von dem Adressenpuffer ausgegeben wird.
  • Bei dem Doppelport-Adressenpuffer 400 können der Leseadressenausgang und der Schreibadressenausgang in Abhängigkeit von den an den Puffer 400 angelegten Steuersignalen unabhängig voneinander und gleichzeitig arbeiten.
  • Der Adressenpuffer 400 empfängt ein Adressenbiteingangssignal Ahi. Vorzugsweise sind die Adressenbiteingangssignale Ahi eine Reihe von Bits des vorzugsweise extern angelegten Adresseneingangssignals 222 aus 1. Vorzugsweise werden die ersten und zweiten Haltespeicher 450, 460 zum Speichern von Adressenbits verwendet und sind Teil eines Adressensequenzers. Der Adressensequenzer ist aus einer Anzahl von kaskadengeschalteten Adressenpuffern 400 gebildet.
  • Das NOR-Gatter 402 empfängt das Adressenbiteingangssignal Ahi und ein Eingangssignal "PD". Das Eingangssignal PD ist ein Abschaltsignal zum Abschalten des Adressenpufferblocks 220. Vorzugsweise deaktiviert das Abschaltsignal auch die Taktpufferschaltungsanordnung. Wie Fachleuten bekannt ist, ist der Ausgang eines NOR-Gatter Eins, und zwar ausschließlich wenn sämtliche Eingänge des NOR-Gatters Null sind. Daher gibt, dann wenn das Signal PD in den High-Zustand geht, d.h. beim Abschalten, das Ausgangssignal des Ausgangs des NOR-Gatters 402 unabhängig von dem Wert von Ahi immer Low. Das heißt, RAh und WAh sind unabhängig von Ahi, und der Adressenpuffer 400 und somit der Adressenpufferblock 220 werden deaktiviert. Der Ausgang des NOR-Gatters 402 ist mit dem Inverter 404 gekoppelt. Der Inverter 404 ist mit dem Source des n-Kanal-Transistors 406 somit dem Eingang der kaskadengeschalteten Inverter 426, 428 gekoppelt. Das Leseadressenbit RAh wird von dem Inverter 428 ausgegeben. Der Transistor 406 empfängt ein Eingangssignal "LATCH" am Gate-Eingang des Transistors 406. Das Signal "LATCH" wird zum Koppeln oder Entkoppeln des zweiten Haltespeichers 460 und somit des Schreibadressenbitausgangs WAh mit oder von der Eingangsadresse Ahi verwendet. Wenn das LATCHb-Signal High ist, ist der Transistor 406 eingeschaltet, und der zweite Haltespeicher 460 kann mit der externen Adresse Ahi geladen werden, die vorzugsweise Schreib- oder Leseinformationen enthält. Auf diese Weise wird der Schreibadressenbitausgang WAh von der Eingangsadresse Ahi gesteuert. Wenn das LATCHb-Signal Low ist, ist der Transistor 406 ausgeschaltet, und der Leseadressenbitausgang RAh wird von der Eingangsadresse Ahi gesteuert. Obwohl bei im Low-Zustand befindlichem LATCHb-Signal der zweite Haltespeicher 460 von der Eingangsad resse Ahi entkoppelt ist, wird die Schreibadresse in dem Adressensequenzer gespeichert.
  • Das Exklusiv-NOR-Gatter 408 empfängt ein Eingangssignal TGLh-1 und einen Adressenbiteingang WAh. Wie Fachleuten bekannt ist, ist das Ausgangssignal eines Exklusiv-NOR- oder äquivalenten Gatters Eins, und zwar ausschließlich wenn sämtliche Eingänge des Exklusiv-NOR-Gatters äquivalent sind. Das Eingangssignal TGLh-1 ist das Ausgangs-Toggelsignal aus dem vorhergehenden Adressenpuffer in den kaskadengeschalteten Adressenpuffern. Das heißt, dass das Ausgangs-Toggelsignal TGLh dieses Puffers 400 aus dem Ausgangs-Toggelsignal des vorhergehenden Puffers erzeugt wird. In Abhängigkeit von dem Ausgangs-Toggelsignal TGLh-1 aus dem vorhergehenden Adressenpuffer 400 und dem Ausgangssignal des aktuellen Puffers 400 toggelt das Adressenpufferausgangssignal WAh. Wenn das Ausgangs-Toggelsignal TGLh-1 aus dem vorhergehenden Puffer Low ist, ist TGLh Low und WAh toggelt nicht. Der Ausgang des äquivalenten Gatters 408 ist mit dem Source des n-Kanal-Transistors 410 gekoppelt, das ein Eingangstaktsignal CLKb am Gate-Eingang des Transistors 410 empfängt. Der erste Haltespeicher 450 ist mit dem Source des n-Kanal-Transistors 416 gekoppelt, das ein Eingangstaktsignal CLKa am Gate-Eingang 416 empfängt. Das Drain des n-Kanal-Transistors 416 ist mit dem zweiten Haltespeicher 460 und dem Drain des n-Kanal-Transistors 406 gekoppelt. Der zweite Haltespeicher 460 ist mit dem Inverter 422 gekoppelt, um den Adressenbitausgang WAh zu liefern, das in Abhängigkeiot von der Operation des Adressenpuffers 400 Teil einer Schreib-(Programmier- oder Lösch-)Adresse bildet. Der Adressenbitausgang WAh wird auch zu dem äquivalenten Gatter 408 zurückgeführt. Der Adressenbitausgang WAh und das Signal TGLh-1 werden in das UND-Gatter 424 eingegeben, um das Ausgangssignal TGLh zu liefern.
  • Vorzugsweise steht das Komplement RAh des Leseadressenausgangs RAh zur Verwendung durch den Speicher 200 zur Verfügung. Beispielsweise kann der Ausgang des Inverters 426 das Komplement RAh des Leseadressenbitausgangs RAh erzeugen. Vorzugsweise werden (in 1 nicht gezeigte) zusätzliche Bitleitungen in dem Speicher 200 verwendet, um die komplementären Leseadressenbits RAh erforderlichenfalls zu transportieren.
  • Vorzugsweise steht das Komplement WAh des Schreibadressenbitausgangs WAh zur Verwendung durch den Speicher 200 zur Verfügung. Beispielsweise kann der Ausgang des zweiten Haltespeichers 460 für das Komplement WAh des Schreibadressenbitausgangs WAh verwendet werden. Vorzugsweise werden (in 1 nicht gezeigte) zusätzliche Bitleitungen in dem Speicher 200 verwendet, um die komplementären Schreibadressenbits WAh erforderlichenfalls zu transportieren.
  • Bei einer Leseoperation wird der Adressenbitausgang RAh als Leseadressenbit verwendet. Beim Durchführen einer Leseoperation geht das Signal LATCHb generell in dem Low-Zustand und bleibt für die Dauer der Leseoperation Low, es sein denn, dass eine Schreibadresse in den zweiten Haltespeicher 460 geladen werden muss. Wenn das in das NOR-Gatter 402 eingegebene Signal PD im "Low"-Zustand gehalten wird, ist das Ausgangssignal des NOR-Gatters 402 das Komplement von Ahi. Daraus folgt, dass das Ausgangssignal des Inverters 404 Ahi ist und der Adressenbitausgang RAh von dem Adressenbit Ahi gesteuert wird.
  • Bei einer Schreiboperation wird der Adressenbitausgang WAh als Programmier- bzw. Löschbit verwendet. Wenn eine Schreibadresse geladen oder intern erzeugt worden ist, wird das Signal LATCHb derart im Low-Zustand gehalten, dass der n-Kanal-Transistor 406 abgeschaltet ist und der Eingang des zweiten Haltespeichers 406 isoliert und von der Adresse Ahi unabhängig ist. Wenn die Schreibadresse geladen werden muss, geht das Signal in den High-Zustand. Bei einer Programmieroperation wird der Adressenbiteingang/-ausgang von den ersten und zweiten Haltespeichern 450, 460 und der Rückführung des Signals WAh in dem Adressenpuffer 400 festgehalten.
  • Beispielsweise sei angenommen, dass das ankommende externe Adressensignal 222 und somit Ahi eine Schreibadresse ist. Die Bits der Schreib adresse werden dann dadurch in den Haltespeichern 450, 460 in dem Adressenpuffer 400 festgehalten oder gespeichert, dass das Signal LATCHb in den High-Zustand geht. Dann kann die Schreibadresse während einer Schreiboperation als Adressenbitausgang WAh ausgegeben werden. Bei einer Leseoperation wird der Adressenbitausgang RAh an die entsprechende Bank gesendet. Selbst wenn LATCHb in den Low-Zustand geht, steht die Schreibadresse immer noch zur Verfügung, da die Schreibadresse in dem Adressenpuffer 400 festgehalten war.
  • Bei einer Löschoperation in einem Flash-Speicher ist typischerweise eine Verifizierung erforderlich, ob die Kernzellen sämtlicher Adressenplätze korrekt gelöscht sind. Ein Adressensequenzer ist in dem Adressenpuffer 400 eingebaut, um die Verifizierung der erforderlichen Adressenplätze zu koordinieren. Die Adressensequenzierung erfolgt mittels der Eingangstaktsignale CLKa und Clkb. Vorzugsweise erzeugt die Logikschaltung 218 die Taktsignale CLKa und Clkb. Das Eingangstaktsignal CLKa kann mit einem intern erzeugten Speicherchiptakt synchronisiert werden, während das Eingangstaktsignal Clkb jedes Mal dann auf Toggel gesetzt werden kann, wenn eine eingebettete Reihe von Operationen an dem Adressenplatz beendet ist. Auf diese Weise wird die interne Adresse korrekt inkrementiert, wenn ein interner Adressenübergang erforderlich ist, das heißt wenn die interne Adresse zu der nächsten Adresse übergehen muss. Obwohl die Eingangstaktsignale CLKa und Clkb über eine beliebige geeignete Schaltungsanordnung erzeugt werden können, muss das Clkb-Signal, wie beschrieben, wissen, wann die Operationen an jedem Adressenplatz beendet sind und kann in vorteilhafter Weise von der Logik- oder Steuerschaltung 218 implementiert werden. Bei einer zweckdienlichen Ausführungsform ist das CLKb-Signal das Komplement des CLKa-Signals.
  • 4 zeigt eine Lese- und Schreiboperations-Auswahlsignalgeneratorschaltung 600 des Mehrbank-Simultanoperations-Flash-Speichers 200. Vorzugsweise weist die Zustandsmaschinen- und Steuerlogikschaltung 218 eine Reihe von Auswahlsignalgeneratorschaltungen 600 auf, und zwar eine für die vier Bänke. Generell gibt es bei N Bänken N Auswahlsignalgeneratorschaltun gen. Die Lese- und Schreiboperations-Auswahlsignalgeneratorschaltung 600 weist ein UND-Gatter 608 mit zwei Eingängen, einen Haltespeicher 650, einen p-Kanal-MOSFET 602, ein NOR-Gatter 614 mit zwei Eingängen und ein Paar NAND-Gatter 616, 020 mit drei Eingängen und jeweiligen Invertern 618, 622 auf. Vorzugsweise weist der Haltespeicher 650 ein Paar Inverter 610, 612 auf.
  • Ein Enable-("EN-)Signal wird an das Gate des p-Kanal-MOSFET 602 und ein Eingangssignal des NAND-Gattes 620 mit drei Eingängen angelegt. Die zwei anderen Eingangssignale des NAND-Gatters 620 mit drei Eingängen sind Adressenbitsignale WAb und WAg zur Bankdecodierung, wie nachstehend genauer erläutert wird. In dem vorliegenden Fall mit vier Bänken werden alle vier Kombinationen der invertierten und nichtinvertierten Werte der Signale WAb und WAg jeweils für die Bankadressendekodierung verwendet. Der Einfachheit halber sind die nichtinvertierten Werte der Signale in 4 als in das NAND-Gatter 620 eintretend gezeigt. Das NAND-Gatter 620 ist mit dem Eingang des Inverters 622 gekoppelt und führt auf effiziente Weise die Funktion eines (nicht gezeigten) UND-Gatters aus. Das Ausgangssignal des Inverters 622 ist das generische Schreibauswahlsignal nWSEL. Dieses Signal wird zu dem UND-Gatter 608 und dem NOR-Gatter 614 zurückgeführt. Ein Latch-Enable-("LEN"-)Signal wird ebenfalls an dem UND-Gatter 608 mit zwei Eingängen angelegt. Das UND-Gatter 608 gibt ein n.Bank-Latch-Enable-Signal ("nLEN") am Knotenpunkt 606 aus. Die N Schaltungen 600, die N nRSEL- bzw. N nWSEL- Signale erzeugen, erzeugen auch N jeweilige interne nLEN-Signale.
  • Das Source des p-Kanal-MOSFET 602 ist mit der Versorgungsspannung Vcc verbunden, während das Drain des Transistors 602 mit dem Drain des n-Kanal-MOSFET 604 und dem Haltespeicher 650 gekoppelt ist. Das Source des Transistors 604 ist mit Masse verbunden, während das Gate des MOSFET 604 das Signal nLEN am Knotenpunkt 606 von dem UND-Gate 608 empfängt. Der Ausgang des Haltespeichers 650 ist mit einem Eingang des NOR-Gatters 614 mit zwei Eingängen gekoppelt.
  • Das Ausgangssignal des NOR-Gatters 614 ist mit einem Eingangssignal des NAND-Gatters 616 mit drei Eingängen gekoppelt. Die zwei anderen Eingangssignale des NAND-Gatters 620 mit drei Eingängen sind Adressenbitsignale RAb und RAg, die für die Bankdecodierung verwendet werden, wie nachstehend genauer erläutert wird. In dem vorliegenden Fall mit vier Bänken werden alle vier Kombinationen der invertierten und nichtinvertierten Werte der Signale WAb und WAg jeweils für die Bankadressendekodierung verwendet. Der Einfachheit halber sind die nichtinvertierten Werte der Signale in 4 als in das NAND-Gatter 616 eintretend gezeigt. Das NAND-Gatter 616 ist mit dem Eingang des Inverters 618 gekoppelt und führt auf effiziente Weise die Funktion eines (nicht gezeigten) UND-Gatters aus. Das Ausgangssignal des Inverters 618 ist das generische Leseauswahlsignal nRSEL.
  • Die Schaltung 600 erzeugt das Leseauswahlsignal nRSEL und das Schreibauswahlsignal nWSEL. Die Signale nRSEL und nWSEL entsprechend der n. Bank der Kernspeicherzellen. Bei dem in 1 gezeigten Mehrbank-Simultanoperations-Flash-Speicher 200 sind vier Bänke (N = 4) vorgesehen, nämlich Bank0 202, Bank1 204, Bank2 206 und Bank3 208, wobei sich Bank n generell auf die n. Bank bezieht. Daher gibt es vier Leseauswahlsignale 0RSEL, 1RSEL, 2RSEL, 3 RSEL und vier Schreibauswahlsignale 0WSEL, 1WSEL, 2WSEL, 3WSEL (d.h. n = 0, 1, 2, 3), wie in Fig. gezeigt. Die Schaltung 600 ist derart ausgeführt, dass nRSEL High oder aktiv ist, wenn eine Leseoperation an der Bank n durchgeführt wird. Auf im Wesentlichen gleiche Weise ist nWSEL High oder aktiv, wenn eine Schreiboperation, das heißt, eine Programmier- oder Löschoperation, an der Bank n durchgeführt wird.
  • Bestimmte Mengen an Bits der Lese- und Schreibadressen werden zum Bestimmen benutzt, in welcher Bank sich ein Adressenplatz befindet. Wenn vier Bänke (N = 4) vorgesehen sind, werden nur zwei Bits (22 = 4) benötigt, um die Bänke eindeutig zu beschreiben. Wenn beispielsweise sieben (N = 7) oder acht (N = 8) vorgesehen sind, werden drei Bits (23 > 7; 23 = 8) benötigt. Wenn N Bänke vorgesehen sind, werden generell y Bits (wobei 2N > 2y ≥ N) zum Repräsentieren der Bänke benötigt. Die N Leseauswahl- und N Schreibauswahlsignale werden durch ein y Bit für N Decodierer (wobei 2y ≥ N > 2y-1) unter Verwendung der vorstehenden Nomenklatur eindeutig bestimmt. Bei jeder Kombination der Werte der y Eingangssignale ist exakt ein Ausgangssignal High oder aktiv, so dass die Bank n, bei der die Operation (Lesen oder Schreiben) erfolgt, von der aktiven Ausgangsleitung eindeutig identifiziert wird.
  • Die Lese- und Schreibadressen können somit jeweils als einen ersten Teil und einen zweiten Teil aufweisend gekennzeichnet sein. Generell sind diese Teile aus einer Reihe von Adressenbits gebildet. Jeder Teil für jeden Adressentyp enthält Informationen. Die Quantität jedes Teils im Sinne von Bits hängt von den in diesen Teilen enthaltenen Informationen ab. Der erste Teil einer Lese- oder Schreibadresse kann beispielsweise zum Bestimmen verwendet werden, in welcher Bank sich ein Zelladressenplatz befindet, d.h. zum Bankdecodieren. Der zweite Teil einer Lese- oder Schreibadresse kann beispielsweise zum Bestimmen des speziellen Platzes der Zelle in einer Bank verwendet werden. Ferner können Informationen bezüglich der vorgesehenen Verwendung der Adresse bei einer Lese- oder einer Schreiboperation ebenfalls in dem Adressensignal 222 aus 1 codiert sein.
  • In dem Vierbank-Speicher 200 ist N gleich 4 und durch zwei Adressenbits repräsentiert. Somit sind bei der in 1 dargestellten Ausführungsform die ersten Teile sowohl der Lese- als auch der Schreibadresse zwei Bits groß. Ein beispielhaftes Bit einer Reihe von Leseadressenbits ist RAh aus 3. Beispielsweise können dann, wenn die Leseadresse 20 Bits lang ist und zwei Bits für die Bankdecodierung verwendet werden, zwei beispielhafte Bits als RAb und RAg bezeichnet werden. Die Bankdecodierbits, die den ersten Teil der Leseadressen bilden, RAb und RAg, werden in 4 in das NAND-Gatter 616 eingegeben, um das nRSEL-Leseauswahlsignal zu erzeugen. Generell werden invertierte und nichtinvertierte Werte der Bits RAb und RAg der Leseadressenbits, die durch RAh beispielhaft dargestellt sind, zu den N NAND-Gattern geliefert, um die N Leseauswahlsignale zu erzeugen. N (das der Anzahl von Bänken entspricht, hier N = 4) der 2y (hier 22 = 4) möglichen Kombinatio nen der invertierten und nicht invertierten Werte der Signale sind für Bankdecodierzwecke vorgesehen. Bei vier Bänken sind die Eingänge der vier NAND-Gatter 616 in vier Schaltungen 600 RAbRAg, RAbRAg, RAbRAg und RAbRAG.
  • Ähnlich ist ein beispielhaftes Bit einer Serie von Schreibadressenbits WAh aus 3. Zwei beispielhafte Bits von der Schreibadresse, die zur Bankdecodierung im Speicher 200 verwendet werden, können als WAb und WAg bezeichnet werden. Die Bankdecodierbits, die den ersten Teil der Schreibadresse bilden, WAb und WAg, werden in 4 in das NAND-Gatter 620 eingegeben, um das nWSEL-Schreibauswahlsignal zu erzeugen. Generell werden die invertierten und nichtinvertierten Werte der Bits WAb und WAg der Schreibadressenbits, die beispielhaft durch WAh repräsentiert sind, zu den NAND-Gattern geliefert, um die N Schreibauswahlsignale zu erzeugen. N (das der Anzahl von Bänken entspricht, hier N = 4) der 2y (hier 22 = 4) möglichen Kombinationen der invertierten und nicht invertierten Werte der Signale sind für Bankdecodierzwecke vorgesehen. Bei vier Bänken sind die Eingänge der vier NAND-Gatter 620 in vier Schaltungen 600 WAbWAg, WAbWAg, WAbWAg und WAbWAG.
  • Die Operation der Schaltung aus 4 wird zum großen Teil von drei Signalen (zusätzlich zu der Rückführung des Signals nWSEL) angesteuert. Das Enable-("EN"-)Singal ist ein gepulstes Signal, das bei einer Leseoperation Low ist und vorzugsweise einmal gepulst wird, um eine Schreiboperation zu initiieren. Das Latch-Enable-("LEN"-)Signal ist ein gepulstes Signal, das bei einer Lese- und bei einer Programmieroperation Low ist und vorzugsweise einmal gepulst wird, um eine Löschoperation zu initiieren. Das n.Bank-Latch-Enable-Signal ("nLEN") am Knotenpunkt 606 ist aktiv, wenn WSEL High oder aktiv ist UND das LEN-Signal gepulst ist oder in den High-Zustand geht. Das heißt, dass das nLEN-Signal aktiv ist, wenn eine Schreiboperation in die Bank n aktiviert ist UND die Schreiboperation eine Löschoperation ist.
  • Bei einer Leseoperation ist das EN-Signal Low oder nicht aktiviert. Folglich ist das Ausgangssignal des NAND-Gatters 620 High. Daraus folgt, dass das Ausgangssignal des Inverters 622 Low ist, so dass das Schreibauswahlsignal nWSEL nicht aktiv oder Low ist. Daher ist das Schreibauswahlsignal erwartungsgemäß bei einer Leseoperation immer Low. Bei im Low-Zustand befindlichem nWSEL ist das Signal nLEN am Knotenpunkt 606 (unabhängig vom Wert von LEN, der bei einer Leseoperation Low ist), und der Transistor 604 ist ausgeschaltet. Inzwischen schaltet ein Low-Wert des EN-Signals am Gate des Transistors 602 den p-Kanal-MOSFET 602 ein und zieht das Eingangssignal des Haltespeichers 650 auf High. Das NOR-Gatter 614 mit zwei Eingängen empfängt das Ausgangssignal des Haltespeichers 650, das Low ist, und das Schreibauswahlsignal nWSEL, das Low ist. Somit ist das Ausgangssignal des NOR-Gatters 614 High. Das Ausgangssignal des NAND-Gatters 616 ist Low, und das Ausgangssignal des Inverters 618 ist High. Der Grund dafür ist, dass eine geeignete Kombination (d.h. eine, die hohe logische Werte liefert) der Bankdecodier-Leseadressenbits dem NAND-Gatter 616 für die Bank n zusammen mit dem im High-Zustand befindlichen Ausgangssignal des NOR-Gatters 615 präsentiert worden ist. Das Nettoergebnis ist, dass das Leseauswahlsignal nRSEL aktiv (das heißt, High) ist, wenn eine Leseoperation an der Bank n durchgeführt wird.
  • Bei einer Programmieroperation wird das EN-Signal vorzugsweise einmal gepulst, um eine Schreiboperation zu initiieren. Somit sind dann, wenn das EN-Signal in den High-Zustand geht, das Ausgangssignal des NAND 620 Low und das Ausgangssignal des Inverters 620 High. Der Grund dafür ist, dass eine geeignete Kombination (d.h. eine, die hohe logische Werte liefert) der Bankdecodier-Schreibadressenbits dem NAND-Gatter 616 für die Bank n zusammen mit dem gepulsten aktiven EN-Signal präsentiert worden ist. Das Schreibauswahlsignal nWSEL ist aktiv oder High, wodurch das Ausgangssignal des NOR-Gatters 614 in den Low-Zustand getrieben wird, das Ausgangssignal des NAND-Gatters 616 in den High-Zustand getrieben wird und das Leseauswahlsignal nRSEL in den Low- oder inaktiven Zustand wird. Somit zwingt nWSEL auf einem hohen Level nRSEL, im Low-Zustand zu verbleiben, so dass ein Konflikt zwischen den Betriebsmoden an eine Bank vermieden werden kann. Das Nettoergebnis ist, dass das Schreibauswahlsignal nWSEL aktiv ist, wenn eine Schreiboperation, in dem vorliegenden Fall eine Programmieroperation, an der Bank n durchgeführt wird.
  • Bei einer Löschoperation wird das EN-Signal vorzugsweise einmal gepulst, um eine Schreiboperation zu initiieren. Somit sind dann, wenn das EN-Signal in den High-Zustand geht, das Ausgangssignal des NAND 620 Low und das Ausgangssignal des Inverters 620 High. Der Grund dafür ist, dass eine geeignete Kombination (d.h. eine, die hohe logische Werte liefert) der Bankdecodier-Schreibadressenbits dem NAND-Gatter 616 für die Bank n zusammen mit dem gepulsten aktiven EN-Signal präsentiert worden ist. Vorzugsweise wird das LEN-Signal gepulst, nachdem das EN-Signal in den High-Zustand gegangen ist. Das n.Bank-Latch-Enable-Signal ("nLEN") am Knotenpunkt 606 ist aktiv, wenn WSEL High oder aktiv ist UND das LEN-Signal gepulst ist oder in den High-Zustand geht. Das heißt, dass das nLEN-Signal am Knotenpunkt 606 aktiv ist und sich der n-Kanal-Transistor 604 aufgrund des ansteigenden nLEN-Signals an seinem Gate-Eingang einschaltet. Der Eingang des Haltespeichers 650 wird in Richtung Masse gebracht, so dass das Ausgangssignal des Haltespeichers 650 in den High-Zustand geht. Das Ausgangssignal des NOR-Gatters 614 geht in den Low-Zustand, da das nWSEL-Signal High ist, und das Ausgangssignal des Haltespeichers 650 geht in den High-Zustand, was zu einem Low-Wert für nRSEL führt. Wenn die Bank n für eine Löschoperation ausgewählt worden ist, geht das Leseauswahlsignal nRSEL niemals in den High-Zustand. Das heißt, dass der Haltespeicher 650 nRSEL in den Low-Zustand zwingt, bis das EN-Signal in den Low-Zustand geht (d.h. bei einer Leseoperation). Das EN-Signal wird mehrmals gepulst, um mehrere zu löschende Sektoren (der Bank n der Kernspeicherzellen) auszuwählen. Das Nettoergebnis ist, dass das Schreibauswahlsignal nWSEL aktiv ist, wenn eine Schreiboperation, in diesem Fall eine Löschoperation, an der Bank n durchgeführt wird.
  • Vorzugsweise werden das LEN-Signal und das EN-Signal von der Zustandsmaschine und der Steuerlogik auf dem Flash-Speicherchip erzeugt. Beispielsweise können die Signale LEN und EN mit der Steuerlogikschaltung 218 erzeugt werden.
  • 5 zeigt ein erstes Ausführungsbeispiel einer Adressenauswahlschaltung 500 des Mehrbank-Simultanoperations-Flash-Speichers 200. Vorzugsweise weisen die Adressenauswahlschaltungsblöcke ASEL0 210, ASEL1 212, ASEL2 214 bzw. ASEL3 216 jeweils eine Reihe von Adressenauswahlschaltungen 500 auf. Das erste Ausführungsbeispiel der Adressenschaltung 500 weist n-Kanal-Transistoren 502, 504, einen Haltespeicher 540 und einen Inverter 510 auf. Vorzugsweise weist der Haltespeicher 540 ein Paar Inverter 506, 508 auf. Jede Schaltung 500 ist zum Empfangen eines Leseadressenbits RAh und eines Schreibadressenbits WAh vorgesehen. Generell gibt es dann, wenn die Leseadresse q Bits aufweist, q Werte von RAh. Ähnlich gibt es dann, wenn die Schreibadresse q Bits aufweist, q Werte von WAh. Vorzugsweise werden nur die zum Auswählen einer einzelnen Zelle oder einzelner Zellen in einer der Bänke erforderlichen Lese- oder Schreibadressenbits zu den Adressenauswahlschaltungen 500 geliefert. Die anderen Bits der Lese- oder Schreibadresse werden zu der Steuerschaltung geliefert, um das Leseauswahlsignal nRSEL und das Schreibauswahlsignal nWSEL zu erzeugen. Die Signale nWSEL und nRSEL wählen oder deselektieren die geeigneten Bänke für gleichzeitig erfolgende Mehrbank-Lese- und Schreiboperationen. Bei einer Lösch- oder einer Programmieroperation an der Bank n sind nWSEL High und nRSEL Low. Bei einer speziellen Bank n sind nWSEL und nRSEL komplementär zueinander. Daher sind der Transistor 502 abgeschaltet und der Transistor 504 leitend, so dass das Bit WAh zu dem Haltespeicher 540 weitergeleitet wird. Das Bit WAh erscheint dann als nAh, dem Adressenbit für die lokale Bank n, am Ausgang des Inverters 510. Ähnlich sind bei einer Leseoperation an der Bank n nRSEL High und nWSEL Low. Somit sind der Transistor 502 leitend und der Transistor 504 abgeschaltet, so dass das Bit RAh zu dem Haltespeicher 540 weitergeleitet wird. Das Bit RAh erscheint dann als nAh am Ausgang des Inverters 510.
  • 6 zeigt ein zweites Ausführungsbeispiel einer Adressenauswahlschaltung 550 des Mehrbank-Simultanoperations-Flash-Speichers 200. Die Adressenauswahlblöcke ASEL0 210, ASEL1 212, ASEL2 214 bzw. ASEL3 216 können eine Reihe von Adressenauswahlschaltungen 550 aufweisen. Das zweite Ausführungsbeispiel der Adressenauswahlschaltung 550 weist n-Kanal-Transistoren 552, 554 und Inverter 556, 558, 560 auf.
  • Bei der Schaltung 550 wird die Tatsache genutzt, dass konfigurationsbedingt die Signale nWSEL und nRSEL für eine spezielle Bank n komplementär zueinander sind. Das Signal nWSEL wird an das Gate des Transistors 554 angelegt, um das Schreibadressenbit WAh auszuwählen, während das Komplement des Signals nWSEL von dem Inverter 558 ausgegeben wird und an das Gate des Transistors 552 angelegt wird, um das Leseadressenbit RAh auszuwählen. Ein Einzelinverter 556 ist statt eines Haltespeichers, wie z.B. des Haltespeichers 540 aus 1, vor dem Inverter 560 angeordnet. Ansonsten ist die Funktion der Schaltung 550 identisch mit der der Schaltung 500 aus 5.
  • Bei einer Ausführungsform sind sämtliche Komponenten aus 1 und 2 auf einen einzelnen integrierten Schaltungschip angeordnet. Es sei darauf hingewiesen, dass Adressen- und Steuereingänge für die beispielhaften Flash-Speicherchips von der Speicherdichte und den Interface-Implementierungen abhängig sind. Es sei angemerkt, dass die offenbarten Ausführungsformen mit unterschiedlichen Speicherdichten und alternativen Interface-Implementierungen mit ihren dazugehörigen alternativen Adressen und Steuereingangskonfigurationen arbeiten können.
  • Bei einer typischen eingebetteten Anwendung des vorstehend beispielhaft beschriebenen Mehrbank-Simultanoperations-Flash-Speichers 200 kann der verfügbare Datenspeicherplatz zum Speichern von Daten und eines Bootcodes in einer Bank und eines Steuercodes in einer anderen Bank strukturiert sein. Der Steuercode, der Befehlssequenzen enthalten kann, die einer Bank, beispielsweise Bank2 204, befiehlt, Datensektoren zu programmieren/löschen, kann als ausführbarer Code in einer weiteren Bank, z.B. Bank0 202, vorhanden sein. Beim Programmieren/Löschen der Bank2 204 kann das System weiterhin den Code von der Bank0 202 oder einer anderen Bank ausfüh ren, um andere Systemoperationen zu managen. Ähnlich kann je nach Systemimplementierung die Zentralverarbeitungseinheit auch den Code von einer ersten Bank ausführen, während bei einer der anderen Bänke ein Programmier-/Löschvorgang abläuft. Vorzugsweise gibt es kein Bankumschaltlatenz und keine Notwendigkeit, die Programmier-/Löschoperation zu unterbrechen, um einen Lesevorgang durchzuführen. Dadurch werden die Lese-/Schreib-Taktzeit der Zentralverarbeitungseinheit minimiert, der Datendurchsatz maximiert und durch Eliminierung des Bedarfs an zusätzlicher Hardware die Gesamtkosten des Systems reduziert.
  • Wie hier verwendet, beziehen sich die Signalbezeichnungen und Ausdrücke Low, nicht aktiviert, nicht aktiv und inaktiv im weiten Sinne auf logische Low-Werte eines Digitalsignals und repräsentieren generell eine binäre Null (0).
  • Wie hier verwendet, beziehen sich die Signalbezeichnungen und Ausdrücke High, aktiviert und aktiv im weiten Sinne auf logische High-Werte eines Digitalsignals und repräsentieren generell eine binäre Eins (1).
  • Wie hier verwendet, umfasst die Bezeichnung Schreiben Programmier- und Löschoperationen, sofern nichts anderes angegeben ist.
  • Wie hier verwendet, bedeutet der Ausdruck "A gekoppelt mit B", dass A direkt mit B verbunden ist oder A indirekt über eine oder mehrere Zwischenkomponenten mit B verbunden ist.
  • Wie hier verwendet, bezieht sich die Bezeichnung Nutzer auf einen Prozessor oder eine andere Komponente oder Entität, die dazu vorgesehen ist, auf den Speicher zuzugreifen.
  • Wie hier verwendet, bezieht sich die Bezeichnung Haltespeicher auf ein temporäres Datenspeicherelement. Ein temporäres Datenspeicherelement kann beispielsweise als ein Paar Inverter (wie hier beschrieben und dargestellt ist) oder als Flip-Flop, wie z.B. ein D-Flip-Flop, implementiert sein.
  • Hierin wir ein flexibler und effizienter konfigurierter Flash-Speicher präsentiert, der eine Mehrbank-Simultanoperation durchführen kann. Die hier beschriebenen Ausführungsformen bieten Adressierung, Adressenauswahl, Operationssteuersignale und -logik und eine lokal an jeder Bank vorgesehene Zugriffsschaltungsanordnung. Eine individualisierte Architektur, die lokal an jeder Bank von Kernspeicherzellen vorgesehen ist, erleichtert die Erweiterung der Simultanoperationsarchitektur von einer Doppelbank oder zwei Bänken auf N Bänke und macht diese Erweitung durchführbar.
  • Die hier erläuterten Ausführungsformen bieten eine erweiterbare und flexible Mehrbankarchitektur, die in der Lage ist, eine Simultanoperation durchzuführen, das heißt, die gleichzeitig erfolgende Lese- und Schreiboperationen ermöglicht.
  • Aus der vorstehenden Beschreibung geht hervor, dass die derzeit bevorzugten Ausführungsformen einen Mehrbank-(oder N-Bank-)Simultanoperations-Flash-Speicher, einschließlich einer Adressenpuffer- und -decodierarchitektur betreffen. Für die Dauer einer Leseoperation an einer Bank von N Bänken kann eine Schreiboperation nur an einer der anderen N-1 Bänke durchgeführt werden. Für die Dauer einer Schreiboperation an einer Bank der N Bänke kann eine Leseoperation nur an einer der anderen N-1 Bänke durchgeführt werden. Die Adressenpuffer- und -decodierarchitektur weist eine Steuerlogikschaltung, eine Adressenauswahlschaltung an jeder der N Bänke und eine Adressenpufferschaltungsanordnung auf. Die Steuerlogik wird zum Erzeugen von N Leseauswahlsignalen zum Auswählen einer Bank der N Bänke für eine Leseoperation und N Schreibauswahlsignalen zum Auswählen einer anderen Bank der N Bänke für eine Schreiboperation verwendet. Jede Adressenauswahlschaltung ist zum Empfangen eines jeweiligen einen der N Leseauswahlsignale und eines jeweiligen einen der N Schreibauswahlsignale aus der Steuerlogikschaltung vorgesehen. Die Adressenpufferschaltungsanord nung wird zum gleichzeitigen Erzeugen einer Schreibadresse und einer Leseadresse zum Zugreifen auf Kernspeicherzellen verwendet. Jeweils erste Teile der Schreib- und Leseadressen werden zu der Steuerlogikschaltung geliefert, um die jeweiligen N Leseauswahlsignale und N Schreibauswahlsignale zu erzeugen. Jeweils zweite Teile der Schreib- und Leseadressen werden zu der jeweiligen Adressenauswahlschaltung geliefert.
  • Ein Vorteil der Ausführungsform liegt darin, dass eine Adressenpufferung mit zwei Ports angewendet wird. Leseadressenbits werden gleichzeitig mit Schreibadressenbits aus dem Puffer ausgegeben. Ein weiterer Vorteil besteht darin, dass Lese- und Schreiboperationsauswahlsignale erzeugt werden, die jeweils den N Bänken entsprechen und zum Auswählen oder Deselektieren von Bänken für eine Schreib- oder eine Leseoperation dienen. Ein weiterer Vorteil liegt darin, dass die Schaltungsanordnung, vorzugsweise einschließlich Verstärker-Interface-Schaltungen, lokal an jeder Bank vorgesehen ist, um eine Erweiterung eines Doppelbank- zu einem Mehrfachbank- oder N-Bank-Simultanoperations-Flash-Speicher zu vereinfachen.
  • Obwohl eine spezielle Ausführungsform der vorliegenden Erfindung gezeigt und beschrieben worden ist, können Modifikationen durchgeführt werden. Beispielsweise können bei geeigneten Anwendungen die Richtungen der einzelnen Transistoren, p-Kanal und n-Kanal, umgekehrt werden. Es sei darauf hingewiesen, dass geeignete Transistorgrößen, die das Kanalbreiten-zu-Kanallängen-Verhältnis (gemessen in Mikrometern oder Mikro) für die Transistoren spezifizieren, welche die dargestellten Schaltungen bilden, in den Zeichnungen weggelassen worden sind. Es sei angemerkt, dass geeignete Verhältnisse je nach Konfigurationsanforderungen und Möglichkeiten und Beschränkungen des speziellen Fertigungsprozesses für integrierte Schaltungen zum Implementieren der Schaltung sowie den Leistungsanforderungen der spezifischen Ausführungsform gewählt werden können. Ferner können die hier beschriebenen erfindungsgemäßen Konzepte bei anderen Schaltungen als Speichervorrichtungen angewendet werden.

Claims (10)

  1. Adresspuffer- und -decodierarchitektur zum Vereinfachen des gleichzeitigen Lesens aus und Schreibens in N Bänke (202, 204, ...) von Kernspeicherzellen in einem Speicher, wobei für die Dauer einer Leseoperation an einer Bank der N Bänke eine Schreiboperation nur an einer der anderen N-1 Bänke durchgeführt werden kann; und wobei für die Dauer einer Schreiboperation an einer Bank der N Bänke eine Leseoperation nur an einer der anderen N-1 Bänke durchgeführt werden kann, wobei die Architektur gekennzeichnet ist durch: eine Steuerlogikschaltung (218) zum Erzeugen von N Leseauswahlsignalen (0RSEL, 1RSEL, ...) zum Auswählen einer Bank der N Bänke für eine Leseoperation und N Schreibauswahlsignalen (0WSEL, 1WSE, ..) zum Auswählen einer anderen Bank der N Bänke für eine Schreiboperation; eine Adressenauswahlschaltung (ASEL0, ASEL1, ...) an jeder der N Bänke, wobei jede Adressenauswahlschaltung zum Empfangen jeweils eines der N Leseauswahlsignale und jeweils eines der N Schreibauswahlsignale von der Steuerlogikschaltung vorgesehen ist; und eine Adressenpufferschaltungsanordnung (220) zum gleichzeitigen Liefern einer Schreibadresse und einer Leseadresse zum Zugreifen auf Kernspeicherzellen, wobei jeweils erste Teile der Lese- und Schreibadressen zum Erzeugen der jeweiligen N Leseauswahlsignale und der N Schreibauswahlsignale an die Steuerlogikschaltung geliefert werden und jeweils zweite Teile der Schreib- und Leseadressen an die jeweilige Adressenauswahlschaltung geliefert werden.
  2. Adressenpuffer- und -decodierarchitektur nach Anspruch 1, ferner mit: einer Schreiboperationssteuerschaltung (244, 246, ...) an jeder der N Bänke, wobei jede Schreiboperationssteuerschaltung auf jeweils eines der N Schreibauswahlsignale anspricht.
  3. Adressenpuffer- und -decodierarchitektur nach Anspruch 2, bei der die Schreiboperationssteuerschaltung eine Programmieroperation durchführt.
  4. Adressenpuffer- und -decodierarchitektur nach Anspruch 2, bei der die Schreiboperationssteuerschaltung eine Löschoperation durchführt.
  5. Adressenpuffer- und -decodierarchitektur nach Anspruch 2, bei der die Schreiboperationssteuerschaltung eine Verifizieroperation durchführt.
  6. Adressenpuffer- und -decodierarchitektur nach Anspruch 1, ferner mit: einem Lesedatenbus an jeder der N Bänke, wobei jeder Lesedatenbus zum Verbinden mit einem Detektionsverstärker vorgesehen ist, der auf jeweils eines der N Leseauswahlsignale anspricht.
  7. Adressenpuffer- und -decodierarchitektur nach Anspruch 1, ferner mit: einem Lesedatenbus an jeder der N Bänke, wobei jeder beliebige der Lesedatenbusse schaltbar mit einem Detektionsverstärker verbunden ist, wenn jeweils eines der N Leseauswahlsignale ein Lesen in derjenigen Bank anzeigt, an der sich der Lesedatenbus befindet.
  8. Adressenpuffer- und -decodierarchitektur nach Anspruch 1, ferner mit: einem Schreibdatenbus an jeder der N Bänke, wobei jeder Schreibdatenbus zum Verbinden mit einem Detektionsverstärker vorgesehen ist, der auf ein jeweiliges der N Schreibauswahlsignale anspricht.
  9. Adresspuffer- und -decodierarchitektur nach einem der vorhergehenden Ansprüche, bei der der Kernspeicher ein Flash-Speicher ist.
  10. In einem Speicher, Verfahren zum gleichzeitigen Durchführen von Schreiben und Lesen von Daten in einem Mehrbank-Flash-Speicher, mit folgenden Schritten: Liefern eines ersten Teils einer Schreibadresse und eines ersten Teils einer Leseadresse an N Adressenauswahlschaltungen, die N Bänken von Kernspeicherzellen entsprechen; Liefern eines zweiten Teils der Schreibadresse an eine Steuerlogikschaltung, wobei der zweite Teil der Schreibadresse eine Bank für eine Schreiboperation definiert; Liefern eines zweiten Teils der Lesadresse an eine Steuerlogikschaltung, wobei der zweite Teil der Leseadresse eine Bank für eine Leseoperation definiert; Liefern eines der N Schreibauswahlsignale von der Steuerlogikschaltung zu jeder Bank der N Bänke für eine Schreiboperation; Liefern eines der N Leseauswahlsignale von der Steuerlogikschaltung zum Auswählen einer anderen Bank der N Bänke für eine Leseoperation; Durchlassen der ersten Teile der Schreib- und Leseadressen zu den N Bänken mit den jeweiligen N Schreibauswahlsignalen und den jeweiligen N Leseauswahlsignalen; und Durchlassen der Daten, auf die an Schreib- und Leseadressenstellen in den N Bänken von den ersten Teilen der Schreib- und Leseadressen zugegriffen wird, zu einer Datenausgabe- und -verifizierschaltungsanordnung mit den jeweiligen N Schreibauswahlsignalen und den jeweiligen N Leseauswahlsignalen.
DE60130437T 2000-03-15 2001-03-12 Simultane mehrbankoperation für flash-speicher Expired - Lifetime DE60130437T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US526239 2000-03-15
US09/526,239 US6240040B1 (en) 2000-03-15 2000-03-15 Multiple bank simultaneous operation for a flash memory
PCT/US2001/007982 WO2001069603A2 (en) 2000-03-15 2001-03-12 Multiple bank simultaneous operation for a flash memory

Publications (2)

Publication Number Publication Date
DE60130437D1 DE60130437D1 (de) 2007-10-25
DE60130437T2 true DE60130437T2 (de) 2008-04-30

Family

ID=24096499

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60130437T Expired - Lifetime DE60130437T2 (de) 2000-03-15 2001-03-12 Simultane mehrbankoperation für flash-speicher

Country Status (10)

Country Link
US (1) US6240040B1 (de)
EP (1) EP1266377B1 (de)
JP (1) JP4744765B2 (de)
KR (1) KR100675959B1 (de)
CN (1) CN1277272C (de)
AT (1) ATE373307T1 (de)
BR (1) BR0108811A (de)
DE (1) DE60130437T2 (de)
TW (1) TWI222073B (de)
WO (1) WO2001069603A2 (de)

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL125604A (en) * 1997-07-30 2004-03-28 Saifun Semiconductors Ltd Non-volatile electrically erasable and programmble semiconductor memory cell utilizing asymmetrical charge
JP3807582B2 (ja) * 1999-02-18 2006-08-09 株式会社ルネサステクノロジ 情報処理装置及び半導体装置
US6377502B1 (en) * 1999-05-10 2002-04-23 Kabushiki Kaisha Toshiba Semiconductor device that enables simultaneous read and write/erase operation
US6851026B1 (en) 2000-07-28 2005-02-01 Micron Technology, Inc. Synchronous flash memory with concurrent write and read operation
US6928001B2 (en) * 2000-12-07 2005-08-09 Saifun Semiconductors Ltd. Programming and erasing methods for a non-volatile memory cell
US6396741B1 (en) 2000-05-04 2002-05-28 Saifun Semiconductors Ltd. Programming of nonvolatile memory cells
US6883044B1 (en) * 2000-07-28 2005-04-19 Micron Technology, Inc. Synchronous flash memory with simultaneous access to one or more banks
US6744671B2 (en) * 2000-12-29 2004-06-01 Intel Corporation Kicker for non-volatile memory drain bias
US6570789B2 (en) 2000-12-29 2003-05-27 Intel Corporation Load for non-volatile memory drain bias
US6535423B2 (en) 2000-12-29 2003-03-18 Intel Corporation Drain bias for non-volatile memory
US6477086B2 (en) * 2000-12-29 2002-11-05 Intel Corporation Local sensing of non-volatile memory
US6858865B2 (en) * 2001-02-23 2005-02-22 Micron Technology, Inc. Doped aluminum oxide dielectrics
US6584034B1 (en) * 2001-04-23 2003-06-24 Aplus Flash Technology Inc. Flash memory array structure suitable for multiple simultaneous operations
JP2003123488A (ja) * 2001-10-11 2003-04-25 Toshiba Corp 半導体記憶装置
KR100454144B1 (ko) * 2001-11-23 2004-10-26 주식회사 하이닉스반도체 멀티 뱅크 구조의 플래쉬 메모리 장치
JP2003223792A (ja) * 2002-01-25 2003-08-08 Hitachi Ltd 不揮発性メモリ及びメモリカード
US7190620B2 (en) * 2002-01-31 2007-03-13 Saifun Semiconductors Ltd. Method for operating a memory device
US6700818B2 (en) * 2002-01-31 2004-03-02 Saifun Semiconductors Ltd. Method for operating a memory device
US6975536B2 (en) * 2002-01-31 2005-12-13 Saifun Semiconductors Ltd. Mass storage array and methods for operation thereof
JP4050548B2 (ja) * 2002-04-18 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
US6917544B2 (en) 2002-07-10 2005-07-12 Saifun Semiconductors Ltd. Multiple use memory chip
US6826107B2 (en) 2002-08-01 2004-11-30 Saifun Semiconductors Ltd. High voltage insertion in flash memory cards
KR100490084B1 (ko) * 2002-09-12 2005-05-17 삼성전자주식회사 효율적인 리던던시 구제율을 갖는 반도체 메모리 장치
US6992932B2 (en) 2002-10-29 2006-01-31 Saifun Semiconductors Ltd Method circuit and system for read error detection in a non-volatile memory array
US7136304B2 (en) 2002-10-29 2006-11-14 Saifun Semiconductor Ltd Method, system and circuit for programming a non-volatile memory array
US6963505B2 (en) 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
US6965527B2 (en) * 2002-11-27 2005-11-15 Matrix Semiconductor, Inc Multibank memory on a die
US6967896B2 (en) * 2003-01-30 2005-11-22 Saifun Semiconductors Ltd Address scramble
US7178004B2 (en) 2003-01-31 2007-02-13 Yan Polansky Memory array programming circuit and a method for using the circuit
US8108588B2 (en) * 2003-04-16 2012-01-31 Sandisk Il Ltd. Monolithic read-while-write flash memory device
US7142464B2 (en) * 2003-04-29 2006-11-28 Saifun Semiconductors Ltd. Apparatus and methods for multi-level sensing in a memory array
JP2004348788A (ja) * 2003-05-20 2004-12-09 Sharp Corp 半導体記憶装置及び携帯電子機器
KR100553691B1 (ko) * 2003-06-17 2006-02-24 윈텍 주식회사 영상처리장치 및 그 방법
US7123532B2 (en) 2003-09-16 2006-10-17 Saifun Semiconductors Ltd. Operating array cells with matched reference cells
US6954393B2 (en) * 2003-09-16 2005-10-11 Saifun Semiconductors Ltd. Reading array cell with matched reference cell
US7210002B2 (en) * 2003-11-19 2007-04-24 Qualcomm Incorporated System and method for operating dual bank read-while-write flash
KR100606046B1 (ko) * 2004-01-20 2006-07-28 삼성전자주식회사 휴대용 단말기의 낸드 플래쉬 메모리를 이용한 부팅 장치및 방법
US7652930B2 (en) 2004-04-01 2010-01-26 Saifun Semiconductors Ltd. Method, circuit and system for erasing one or more non-volatile memory cells
US7755938B2 (en) 2004-04-19 2010-07-13 Saifun Semiconductors Ltd. Method for reading a memory array with neighbor effect cancellation
US7366025B2 (en) * 2004-06-10 2008-04-29 Saifun Semiconductors Ltd. Reduced power programming of non-volatile cells
US7095655B2 (en) * 2004-08-12 2006-08-22 Saifun Semiconductors Ltd. Dynamic matching of signal path and reference path for sensing
US20060069896A1 (en) * 2004-09-27 2006-03-30 Sigmatel, Inc. System and method for storing data
DE112004002973B4 (de) * 2004-09-30 2011-06-01 Spansion LLC (n.d.Ges.d. Staates Delaware), Sunnyvale Halbleiterbauelement und Verfahren zum Schreiben von Daten
US7280428B2 (en) 2004-09-30 2007-10-09 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US7638850B2 (en) 2004-10-14 2009-12-29 Saifun Semiconductors Ltd. Non-volatile memory structure and method of fabrication
US8595459B2 (en) 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
US7257025B2 (en) * 2004-12-09 2007-08-14 Saifun Semiconductors Ltd Method for reading non-volatile memory cells
WO2006080063A1 (ja) * 2005-01-27 2006-08-03 Spansion Llc 半導体装置、アドレス割り付け方法及びベリファイ方法
KR100590388B1 (ko) * 2005-03-10 2006-06-19 주식회사 하이닉스반도체 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법
US8053812B2 (en) 2005-03-17 2011-11-08 Spansion Israel Ltd Contact in planar NROM technology
US8400841B2 (en) 2005-06-15 2013-03-19 Spansion Israel Ltd. Device to program adjacent storage cells of different NROM cells
US7184313B2 (en) * 2005-06-17 2007-02-27 Saifun Semiconductors Ltd. Method circuit and system for compensating for temperature induced margin loss in non-volatile memory cells
US7804126B2 (en) 2005-07-18 2010-09-28 Saifun Semiconductors Ltd. Dense non-volatile memory array and method of fabrication
US7668017B2 (en) 2005-08-17 2010-02-23 Saifun Semiconductors Ltd. Method of erasing non-volatile memory cells
JP4842593B2 (ja) * 2005-09-05 2011-12-21 株式会社日立製作所 ストレージ仮想化装置のデバイス制御引継ぎ方法
JP5073667B2 (ja) * 2005-09-29 2012-11-14 トレック・2000・インターナショナル・リミテッド Slc及びmlcフラッシュメモリを使用するポータブルデータ記憶装置
US7260019B1 (en) * 2005-10-31 2007-08-21 Spansion Llc Memory array
US7808818B2 (en) 2006-01-12 2010-10-05 Saifun Semiconductors Ltd. Secondary injection for NROM
US7692961B2 (en) 2006-02-21 2010-04-06 Saifun Semiconductors Ltd. Method, circuit and device for disturb-control of programming nonvolatile memory cells by hot-hole injection (HHI) and by channel hot-electron (CHE) injection
US7760554B2 (en) 2006-02-21 2010-07-20 Saifun Semiconductors Ltd. NROM non-volatile memory and mode of operation
US8253452B2 (en) 2006-02-21 2012-08-28 Spansion Israel Ltd Circuit and method for powering up an integrated circuit and an integrated circuit utilizing same
US7441102B2 (en) * 2006-02-28 2008-10-21 Freescale Semiconductor, Inc. Integrated circuit with functional state configurable memory and method of configuring functional states of the integrated circuit memory
US7701779B2 (en) 2006-04-27 2010-04-20 Sajfun Semiconductors Ltd. Method for programming a reference cell
US20070260841A1 (en) 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
US7701764B2 (en) * 2006-05-17 2010-04-20 Micron Technology, Inc. Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices
TWI301270B (en) * 2006-06-30 2008-09-21 Winbond Electronics Corp Semiconductor memory and circuit and method of decoding address for the same
US7769942B2 (en) 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system
CN101636712B (zh) * 2006-12-06 2016-04-13 才智知识产权控股公司(2) 在存储控制器内服务对象请求的装置、系统和方法
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8706968B2 (en) * 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
US8443134B2 (en) * 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
KR101490327B1 (ko) 2006-12-06 2015-02-05 퓨전-아이오, 인크. 뱅크 인터리브를 이용한 솔리드-스테이트 스토리지의 명령 관리 장치, 시스템 및 방법
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8074011B2 (en) * 2006-12-06 2011-12-06 Fusion-Io, Inc. Apparatus, system, and method for storage space recovery after reaching a read count limit
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8195912B2 (en) * 2007-12-06 2012-06-05 Fusion-io, Inc Apparatus, system, and method for efficient mapping of virtual and physical addresses
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US8316277B2 (en) * 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US8068365B2 (en) 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
US8120990B2 (en) * 2008-02-04 2012-02-21 Mosaid Technologies Incorporated Flexible memory operations in NAND flash devices
EP2248130A1 (de) * 2008-02-19 2010-11-10 Rambus Inc. Mehrbank-flash-speicherarchitektur mit zuweisbaren betriebsmitteln
US8645617B2 (en) * 2008-12-09 2014-02-04 Rambus Inc. Memory device for concurrent and pipelined memory operations
US7859936B1 (en) * 2009-01-26 2010-12-28 Xilinx, Inc. Method and apparatus for saving and restoring the state of a power-gated memory device
WO2010093538A1 (en) 2009-02-11 2010-08-19 Rambus Inc. Shared access memory scheme
JP5999645B2 (ja) 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
EP2476039B1 (de) 2009-09-09 2016-10-26 SanDisk Technologies LLC Vorrichtung, system und verfahren zur leistungsverlustverwaltung in einem speichersystem
US9223514B2 (en) 2009-09-09 2015-12-29 SanDisk Technologies, Inc. Erase suspend/resume for memory
KR101678868B1 (ko) * 2010-02-11 2016-11-23 삼성전자주식회사 플래시 주소 변환 장치 및 그 방법
US8984216B2 (en) 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US9218278B2 (en) 2010-12-13 2015-12-22 SanDisk Technologies, Inc. Auto-commit memory
US10817502B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent memory management
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
CN103262054B (zh) 2010-12-13 2015-11-25 桑迪士克科技股份有限公司 用于自动提交存储器的装置、系统和方法
US9047178B2 (en) 2010-12-13 2015-06-02 SanDisk Technologies, Inc. Auto-commit memory synchronization
US9092337B2 (en) 2011-01-31 2015-07-28 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for managing eviction of data
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9268719B2 (en) 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US9715909B2 (en) 2013-03-14 2017-07-25 Micron Technology, Inc. Apparatuses and methods for controlling data timing in a multi-memory system
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9384830B2 (en) 2014-05-06 2016-07-05 Micron Technology, Inc. Apparatuses and methods for performing multiple memory operations
CN104461460B (zh) * 2014-11-11 2017-07-28 盛科网络(苏州)有限公司 同时配置多个内核寄存器的方法及装置
US10009438B2 (en) 2015-05-20 2018-06-26 Sandisk Technologies Llc Transaction log acceleration
KR101936951B1 (ko) 2018-04-11 2019-01-11 주식회사 맴레이 메모리 제어 장치 및 이를 포함하는 메모리 시스템
US11087849B2 (en) 2018-05-08 2021-08-10 Sandisk Technologies Llc Non-volatile memory with bit line controlled multi-plane mixed sub-block programming
KR101952827B1 (ko) 2018-06-29 2019-02-27 주식회사 맴레이 메모리 제어 장치 및 이를 포함하는 메모리 시스템
CN113409870A (zh) * 2021-06-30 2021-09-17 芯天下技术股份有限公司 一种闪存擦除方法、扇区选择电路、装置和电子设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3464271B2 (ja) * 1994-04-12 2003-11-05 三菱電機株式会社 不揮発性半導体記憶装置
EP0745995B1 (de) * 1995-05-05 2001-04-11 STMicroelectronics S.r.l. Anordnung von nichtflüchtigen EEPROM,insbesondere Flash-EEPROM
JPH10144086A (ja) * 1996-11-14 1998-05-29 Sharp Corp 不揮発性半導体記憶装置
US5847998A (en) 1996-12-20 1998-12-08 Advanced Micro Devices, Inc. Non-volatile memory array that enables simultaneous read and write operations
US5867430A (en) 1996-12-20 1999-02-02 Advanced Micro Devices Inc Bank architecture for a non-volatile memory enabling simultaneous reading and writing
JPH1116348A (ja) * 1997-06-25 1999-01-22 Hitachi Ltd 半導体記憶装置
JP3590246B2 (ja) * 1997-10-13 2004-11-17 株式会社日立製作所 半導体記憶装置
JPH11224492A (ja) * 1997-11-06 1999-08-17 Toshiba Corp 半導体記憶装置、不揮発性半導体記憶装置及びフラッシュメモリ
US6088264A (en) * 1998-01-05 2000-07-11 Intel Corporation Flash memory partitioning for read-while-write operation
US6016270A (en) * 1998-03-06 2000-01-18 Alliance Semiconductor Corporation Flash memory architecture that utilizes a time-shared address bus scheme and separate memory cell access paths for simultaneous read/write operations
TW430815B (en) * 1998-06-03 2001-04-21 Fujitsu Ltd Semiconductor integrated circuit memory and, bus control method
JP4047515B2 (ja) * 1999-05-10 2008-02-13 株式会社東芝 半導体装置
US6111787A (en) * 1999-10-19 2000-08-29 Advanced Micro Devices, Inc. Address transistion detect timing architecture for a simultaneous operation flash memory device

Also Published As

Publication number Publication date
BR0108811A (pt) 2002-11-05
JP4744765B2 (ja) 2011-08-10
US6240040B1 (en) 2001-05-29
CN1419697A (zh) 2003-05-21
ATE373307T1 (de) 2007-09-15
WO2001069603A3 (en) 2002-02-21
JP2003527724A (ja) 2003-09-16
KR20030014368A (ko) 2003-02-17
EP1266377A2 (de) 2002-12-18
KR100675959B1 (ko) 2007-02-01
EP1266377B1 (de) 2007-09-12
TWI222073B (en) 2004-10-11
DE60130437D1 (de) 2007-10-25
WO2001069603A2 (en) 2001-09-20
CN1277272C (zh) 2006-09-27

Similar Documents

Publication Publication Date Title
DE60130437T2 (de) Simultane mehrbankoperation für flash-speicher
DE60127651T2 (de) Bitleitungs-Vorladungs- und -Entladungsschaltung zum Programmieren eines nichtflüchtigen Speichers
DE60208500T2 (de) Speicheranordnung mit einem zwei Register enthaltenden Seitenpufferspeicher sowie entsprechendes Benutzungsverfahren
DE102004033443B4 (de) Flashspeicherbauelement mit Mehrpegelzelle
DE102005014815B4 (de) Datenleseverfahren und Halbleiterbauelement
DE60212661T2 (de) Hintergrund-ausführung einer operation mit speicherzellen
DE102005017012B4 (de) NOR-Flashspeicherbauelement, zugehöriges Speichersystem und Programmierverfahren
DE10239487B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement
DE4233248C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung und Verfahren zum blockweisen Löschen von Daten in einer nicht-flüchtigen Halbleiterspeichereinrichtung
DE60224703T2 (de) Leseverstärker für nichtflüchtige integrierte mehrebenen-speicherbausteine
DE102005028130B4 (de) Seitenpuffer sowie zugehöriges Betriebsverfahren
DE19983565B4 (de) Interner Auffrisch-Modus für eine Flash-Speicherzellenmatrix
DE69630268T2 (de) Datenleseschaltung einer nichtflüchtigen Halbleiterspeicheranordnung
DE602004010239T2 (de) Verbesserter Seitenspeicher für eine programmierbare Speichervorrichtung
DE102006016247A1 (de) Speicher, Datenverarbeitungssystem, Steuereinheit und Steuerverfahren
DE102005038861B4 (de) Flash-Speicher mit reduzierter Abmessung und Verfahren für den Zugriff auf diesen
DE10158849A1 (de) Nichtflüchtiges Speicherbauelement und zugehöriges Datenabtastverfahren
DE102008003055A1 (de) Flash-Speichervorrichtung und Verfahren zum Betreiben derselben
DE60133513T2 (de) Programmierbarer und elektrisch löschbarer serieller auslesbarer Speicher durch Vorempfang
DE60012081T2 (de) Nichtflüchtige Halbleiterspeicheranordnung, die eine Datenleseoperation während einer Datenschreib/lösch-Operation erlaubt
DE112005000866T5 (de) Verfahren und Systeme zur Erreichung einer hohen Schreibleistung in Multibit-Speichervorrichtungen
DE112015003651T5 (de) Adaptives selektives bitleitungsvorladen für stromeinsparungen und schnelles programmieren
DE102005015806A1 (de) Verfahren zum Lesen einer Flash-Speichervorrichtung
DE60218009T2 (de) Halbleiterspeichervorrichtung
DE112004003005B4 (de) Nicht-Flüchtiges Speicherbauelement

Legal Events

Date Code Title Description
8364 No opposition during term of opposition