DE60133513T2 - Programmierbarer und elektrisch löschbarer serieller auslesbarer Speicher durch Vorempfang - Google Patents

Programmierbarer und elektrisch löschbarer serieller auslesbarer Speicher durch Vorempfang Download PDF

Info

Publication number
DE60133513T2
DE60133513T2 DE60133513T DE60133513T DE60133513T2 DE 60133513 T2 DE60133513 T2 DE 60133513T2 DE 60133513 T DE60133513 T DE 60133513T DE 60133513 T DE60133513 T DE 60133513T DE 60133513 T2 DE60133513 T2 DE 60133513T2
Authority
DE
Germany
Prior art keywords
bits
memory
address
word
read
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
DE60133513T
Other languages
English (en)
Other versions
DE60133513D1 (de
Inventor
Sebastien Zink
Paola Cavaleri
Bruno Leconte
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of DE60133513D1 publication Critical patent/DE60133513D1/de
Application granted granted Critical
Publication of DE60133513T2 publication Critical patent/DE60133513T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • 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
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/103Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers
    • 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/30Reduction of number of input/output pins by using a serial interface to transmit or receive addresses or data, i.e. serial access memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)

Description

  • Die vorliegende Erfindung betrifft elektrisch programmiebare und löschbare Speicher, insbesondere EEPROM- und FLASH-Speicher (FLASH-EEPROM).
  • Die vorliegende Erfindung betrifft vor allem ein Verfahren zum Lesen eines Binärwortes in einem Speicher mit seriellem Ein- und Ausgang, einen Schritt des Lesens von Daten im Speicher nach Empfang einer partiellen Leseadresse, der N niederwertige Bits fehlen, um eine vollständige Adresse zu bilden, umfassend.
  • Im Patent EP 712 133 , das den nächstgelegenen Stand der Technik darstellt, hat die Anmelderin bereits das Problem dargestellt, das bei integrierten Speichern mit seriellem Zugriff angetroffen wird, dass es fast unmöglich ist, die Lesegeschwindigkeit dieser Speicher den Takten anzupassen, die von den seriellen Bussen vom Synchron-Typ auferlegt werden.
  • Es sei daran erinnert, dass sich die Zeit Tr, die dem Lesen eines Binärwortes in einem Speicher mit seriellem Zugriff zugeordnet wird, zwischen dem Zeitpunkt, wo das letzte Adressenbit vom Speicher empfangen wird, und dem Zeitpunkt erstreckt, zu dem das erste Bit des mit dieser Adresse bezeichneten Wortes vom Speicher ausgegeben wird. Da das Lesen eines Adressenbits im Allgemeinen in der Mitte eines Taktes erfolgt und das Senden eines Datenbits zu Beginn eines Taktes, ist die Zeit Tr mindestens gleich einem halben Takt. Die Zeit Tr liegt in Wirklichkeit bei einem Bus vom Typ Microwire oder I2C in der Größenordnung von 1,5 Takten (da eine Pause von einem Takt zwischen dem Empfang des letzten Adressenbits und dem Senden des ersten Datenbits des gelesenen Wortes zugestanden wird) und liegt bei einem Bus des Typs SPI in der Größenordnung von 0,5 Takten, was den schlimmsten Fall darstellt, was die Anforderungen an die Lesegeschwindigkeit von Speichern betrifft.
  • Während der Zeit Tr muss die empfangene Adresse an den Adressendecoder des Speichers angelegt werden, wobei das durch die empfangene Adresse bezeichnete Wort gelesen werden muss. das gelesene Wort in ein Ausgangsregister mit Paralleleingang und seriellem Ausgang geladen werden muss und ein Verschiebungssignal an das Ausgangsregister angelegt werden muss, damit das erste Bit des gelesenen Wortes gesendet wird.
  • In der Praxis beruht das oben erwähnte Problem auf der Tatsache, dass die Taktfrequenz der seriellen Busse in den letzten Jahren mit der technologischen Entwicklung laufend angestiegen ist. Diese Frequenz lag vor etwa zehn Jahren im Allgemeinen in der Größenordnung von 1 MHz, das bedeutet einen Takt in der Größenordnung einer Mikrosekunde, was im schlimmsten Fall (SPI-Bus) eine Lesezeit Tr in der Größenordnung von 0,5 Mkrosekunden zuweisen würde. Sie liegt zur Zeit häufig in der Größenordnung von 20 MHz, was einen Takt von 50 Nanosekunden bedeutet und eine sehr kurze Lesezeit Tr in der Größenordnung von 25 Nanosekunden.
  • Eine derartige Lesezeit Tr übersteigt die Möglichkeiten zahlreicher EEPROM- oder FLASH-Speicher trotz Vorsehens schneller Leseschaltungen.
  • Um diesem Nachteil Abhilfe zu schaffen, beschreibt das Patent EP 712 133 ein Leseverfahren, das darin besteht, einen Lesevorgang zu veranlassen, bevor alle Adressenbits empfangen sind. Da die Adressenbits im Rhythmus des Taktsignals empfangen werden, ist der Zeitgewinn gleich der Periode des Taktsignals, multipliziert mit der Anzahl N vorgezogener Adressenbits.
  • Wenn dieses Verfahren auch an sich vollkommen zufriedenstellend ist, so erfordert es doch, gleichzeitig M Binärwörter mit derselben partiellen Adresse zu lesen, wobei M gleich 2n ist. Auf diese Weise ist erforderlich, in einem Speicher mit vorgezogenem Lesen eine größere Anzahl Leseschaltungen („sense amplifier”) vorzusehen, als in einem herkömmlichen Speicher. Beispielsweise müssen für um zwei Byte (N = 1, M = 2) vorgezogenens Lesen sechzehn Leseschaltungen vorgesehen werden, anstelle von acht, zweiunddreißig Leseschaltungen anstelle von acht für ein um vier Byte (N = 2, M = 4) vorgezogenes Lesen etc.
  • Derartige Leseschaltungen sind aber komplex und belegen eine nicht unerhebliche Siliziumfläche. Um einen Eindruck zu geben: Eine schnelle Leseschaltung besetzt eine Siliziumfläche, die ungefähr 1000 Speicherzellen entspricht. Die Anzahl an Leseschaltungen zu verdoppeln oder gar zu vervierfachen erfolgt unter Beeinträchtigung der Kompaktheit des Speichers, wobei die verlorene Oberfläche 8000 bis 24000 Speicherzellen entspricht.
  • Die vorliegende Erfindung beabsichtigt, diesem Nachteil Abhilfe zu schaffen.
  • Insbesondere ist ein Gegenstand der vorliegenden Erfindung, ein Verfahren zum vorgezogenen Lesen vorzusehen, das ohne Vervielfachung der Anzahl an Leseschaltungen ausgeführt werden kann.
  • Ein anderer Gegenstand der vorliegenden Erfindung besteht darin, Architekturen von EEPROM-Speichern und FLASH-Speichern vorzusehen, die erlauben, ein derartiges Verfahren auszuführen.
  • Um diese Ziele zu erreichen, sieht die vorliegende Erfindung ein Verfahren zum Lesen eines Binärwortes in einem Speicher mit seriellem Ein- und Ausgang vor, einen ersten Schritt des Lesens von Daten im Speicher nach seriellem Empfang einer partiellen Leseadresse, der N niederwertige Bits fehlen, um eine vollständige Adresse zu bilden, umfassend, in dem der erste Leseschritt die Schritte umfasst: gleichzeitiges Lesen der P ersten Bits von M Wörtern des Speichers, die dieselbe partielle Adresse haben; nach Empfang der vollständigen Adresse, Auswählen der P ersten Bits des Wortes, das mit der ersten vollständigen Adresse bezeichnet wird, und Ausgabe dieser Bits am seriellen Ausgang des Speichers; und einen zweiten Leseschritt umfassend, darin bestehend, P folgende Bits des durch die vollständige Adresse bezeichneten Wortes während der Ausgabe der P ersten Bits zu lesen und die P folgenden Bits am seriellen Ausgang des Speichers auszugeben, wenn die P ersten Bits ausgegeben worden sind.
  • Nach einer Ausführungsform der Erfindung erfolgt das Lesen der P folgenden Bits wie das Lesen der P ersten Bits, indem gleichzeitig P folgende Bits der M Wörter des Speichers gelesen werden, die dieselbe partielle Adresse haben und indem die P folgenden Bits des mit der vollständigen Adresse bezeichneten Wortes ausgewählt werden.
  • Nach einer Ausführungsform der Erfindung, anwendbar auf einen Speicher, in dem die Speicherzellen in Wortzeilen und in Bitzeilen angeordnet sind und die Bitzeilen in Spalten angeordnet sind, enthält das Verfahren einen Schritt, darin bestehend, dass im Speicher Folgendes vorgesehen wird: ein Adressendecoder, der derart angeordnet ist, dass er gleichzeitig nach Anlegen einer vollständigen Adresse an den Decoder P Bitzeilen zu M verschiedenen Spalten auswählt, und ein Verbindungsbus, derart ange ordnet, dass er jede der P ausgewählten Bitzeilen mit einer Leseschaltung verbindet.
  • Nach einer Ausführungsform der Erfindung erfolgt der Leseschritt dadurch, dass an den Decoder die empfangene partielle Adresse angelegt wird und indem an den niederwertigen Adresseneingängen des Decoders die 2N möglichen Kombinationen der N letzten Adressenbits durchlaufen werden.
  • Nach einer Ausführungsform, anwendbar auf einen Speicher, in dem die Speicherzellen in Wortzeilen und in Bitzeilen angeordnet sind, wobei eine Wortzeile eine Speicherseite bildet, enthält das Verfahren einen vorangehenden Schritt, darin bestehend, M Wörter derselben partiellen Adresse in M aneinander anschließende Unterseiten einer Speicherseite zu speichern, jedes Wort in P aneinander anschließende Gruppen von Zellen zu speichern, die jeweils K/P aneinander anschließende Untergruppen von Zellen umfassen, wobei K die Anzahl der Bits jedes Wortes ist, und Bits vom Rang j und j + 1 eines Wortes in aneinander anschließende Zellengruppen zu speichern, und Bits vom Rang j und j + P eines Wortes in aneinander anschließende Untergruppen von Zellen, derart, dass die Wörter in den Unterseiten umgefaltet sind.
  • Nach einer Ausführungsform umfasst der Leseschritt einen Vorauswahlschritt, der darin besteht, gleichzeitig in jeder Zellengruppe jeder Unterseite des Speichers alle Zellen zum Lesen auszuwählen, die die Bits der M Wörter mit derselben partiellen Adresse enthalten, und einen Auswahlschritt, der darin besteht, an eine Leseschaltung die Zellen anzuschließen, die eins der P Zielbits jedes der M Wörter enthalten.
  • Nach einer Ausführungsform sind die P ersten Bits jedes der gleichzeitig im Speicher gelesenen Wörter höherwertige Bits.
  • Die vorliegende Erfindung betrifft ebenfalls einen Speicher in einer integrierten Schaltung mit seriellem Ein- und Ausgang, der Mittel umfasst, um nach seriellem Empfang einer partiellen Leseadresse, in der N niederwertige Bits fehlen, um eine vollständige Adresse zu bilden, gleichzeitig die P ersten Bits von M Wörtern des Speichers mit derselben partiellen Adresse zu lesen, nach Empfang der vollständigen Adresse die P ersten Bits des Wortes, das mit der vollständigen Adresse bezeichnet wird, auszuwählen und diese Bits am seriellen Ausgang auszugeben, und P folgende Bits des Wortes, das durch die vollständige Adresse bezeichnet wird, während der Ausgabe der P ersten Bits zu lesen und diese Bits am seriellen Ausgang auszugeben, wenn die P ersten Bits ausgegeben sind.
  • Nach einer Ausführungsform umfasst der Speicher Mittel zu Auswahl einer Gruppe von P Bits unter M Gruppen zu P Bits, die gleichzeitig gelesen wurden, die an einem Befehlseingang die N niederwertigen Bits der vollständigen Adresse empfangen.
  • Nach einer Ausführungsform umfasst der Speicher Speicherzellen, die in Wortzeilen und in Bitzeilen angeordnet sind, wobei die Bitzeilen in Spalten angeordnet sind, einen Adressendecoder zur Auswahl der Bitzeilen und einen Verbindungsbus, um ausgewählte Bitzeilen mit Leseschaltungen zu verbinden, wobei der Adressendecoder derart angeordnet ist, dass er gleichzeitig P Bitzeilen zu M verschiedenen Spalten mit derselben partiellen Adresse auswählt, und der Verbindungsbus derart angeordnet ist, dass er jede der P ausgewählten Bitzeilen mit einer Leseschaltung verbindet.
  • Nach einer Ausführungsform umfasst der Speicher eine Adressenabfrageschaltung, die dafür eingerichtet ist, während des Lesevorganges eines Wortes die 2N möglichen Kombinationen der N niederwertigen Bits einer Adresse, die an den Adressendecoder angelegt ist, abzufragen.
  • Nach einer Ausführungsform umfasst der Speicher Speicherzellen, die in Wortzeilen und in Bitzeilen angeordnet sind, wobei eine Wortzeile eine Speicherseite bildet, und Mittel zum Verschachteln von Bits, dafür eingerichtet, M Wörter derselben partiellen Adresse in M aneinander anschließende Unterseiten einer Speicherseite zu speichern, jedes Wort in P aneinander anschließende Gruppen von Zellen zu speichern, die jeweils K/P aneinander anschließende Untergruppen von Zellen umfassen, wobei K die Anzahl der Bits jedes Wortes ist, und Bits vom Rang j und j + 1 eines Wortes in aneinander anschließende Zellengruppen zu speichern, und Bits vom Rang j und j + P eines Wortes in aneinander anschließende Untergruppen von Zellen, derart, dass die Wörter in den Unterseiten umgefaltet sind.
  • Nach einer Ausführungsform enthält der Speicher einen Adressendecoder, der Schalter zur Auswahl der Bitzeile umfasst, eine Schaltung zur Programmierung des Speichers, der Latches (LT) umfasst, deren Eingang an einen Datenbus mit K Leitungen angeschlossen ist, wobei die Programmierschaltung M mal K Latches (LT) umfasst, die Bitzeilen derselben Untergruppe von Zellen über Auswahlschalter mit einer gemeinsamen Leitung verbunden sind, jede gemeinsame Leitung an den Ausgang eines Latch angeschlossen ist, und die Latches, deren Ausgänge an Untergruppen von Zellen desselben Ranges angeschlossen sind, die verschiedenen Unterseiten angehören, an dieselbe Leitung des Datenbusses angeschlossen sind.
  • Nach einer Ausführungsform weist der Adressendecoder Inhibitionsmittel in der Betriebsart Lesen seiner N niederwertigen Adresseneingänge auf, um gleichzeitig alle Bitzeilen auszuwäh len, die den Bits aller Wörter des Speichers entsprechen, die dieselbe partielle Adresse haben.
  • Nach einer Ausführungsform sind die gemeinsamen Leitungen der Untergruppen von Zellen ein und derselben Zellengruppe über eine Multiplexerschaltung mit ein und derselben Leseschaltung verbunden, Multiplexerschaltung, die derart eingerichtet ist, dass sie eine einzige gemeinsame Leitung auf einmal an die Leseschaltung anschließt, die durch ein Befehlssignal der Multiplexerschaltung bestimmt wird.
  • Nach einer Ausführungsform wird das Multiplexermittel durch eine Abrufschaltung gesteuert, die derart eingerichtet ist, dass sie im Verlauf eines Lesevorganges eines Wortes alle Multiplexwerte des Befehlssignals durchläuft, derart, dass die gemeinsamen Leitungen jeder Untergruppe einer Zellengruppe eine nach der anderen mit der Leseschaltung verbunden werden.
  • Nach einer Ausführungsform umfasst der Speicher einen Speicherblock und Peripherieteile des Speicherblockes, und Mittel zum Verschachteln von Bits, die zwischen dem seriellen Eingang und dem Eingang des Speicherblockes angeordnet und dafür eingerichtet sind, an den Eingang des Speicherblockes zusammengesetzte Wörter anzulegen, die M Gruppen zu P Bits von M verschiedenen Binärwörtern umfassen.
  • Nach einer Ausführungsform umfasst der Speicher einen flüchtigen Pufferspeicher, dessen Ausgang mit dem Eingang des Speicherblockes verbunden ist, und Mittel zum Einspeichern von Daten in den Pufferspeicher, die im Speicherblock gespeichert werden sollen, und dann zum Speichern der Daten, die vorab im Pufferspeicher gespeichert wurden, im Speicherblock.
  • Nach einer Ausführungsform enthält der Speicher Mittel zum Speichern von zusammengesetzten Wörtern in den Pufferspeicher, die M Gruppen zu P Bits von M verschiedenen Binärwörtern umfassen, die seriell empfangen wurden.
  • Nach einer Ausführungsform ist P gleich K/M, wobei K die Anzahl an Bits ist, die die Wörter umfassen, die im Speicher gespeichert sind, wobei M gleich 2N ist.
  • Nach einer Ausführungsform ist N gleich 1 und M gleich 2.
  • Diese Ziele, Merkmale und Vorteile der vorliegenden Erfindung, sowie weitere, werden in der folgenden Beschreibung des erfindungsgemäßen Leseverfahrens und verschiedener Ausführungsformen von Speichern, die erlauben, dieses Verfahren auszuführen, unter Bezugnahme auf die entsprechenden beigefügten Zeichnungen im Einzelnen dargestellt. Es zeigen:
  • 1 schematisch das erfindungsgemäße Leseverfahren.
  • 2 den Aufbau einer EEPROM-Speicherebene,
  • 3 den Aufbau eines erfindungsgemäßen EEPROM-Speicherblockes,
  • 4 das elektrische Schaltbild eines in 3 als Block dargestellten Teiles,
  • 5 den Aufbau eines erfindungsgemäßen seriellen Speichers, ausgehend vom Speicherblock der 3,
  • 6 das elektrische Schaltbild eines in 5 als Block dargestellten Teiles,
  • 7A bis 7L verschiedene elektrische Signale zur Erläuterung der Arbeitsweise des Speichers der 5,
  • 8 ist ausgelassen,
  • 9 zeigt den Aufbau eines erfindungsgemäßen FLASH-Speicherblockes,
  • 10 ist ausgelassen,
  • 11 den Aufbau eines erfindungsgemäßen seriellen Speichers, ausgehend vom Speicherblock der 9,
  • 12 ist ausgelassen,
  • 13 den Aufbau eines herkömmlichen FLASH-Speicherblockes, der eine erfindungsgemäße Bit-Verschachtelung aufweist,
  • 14 den Aufbau eines erfindungsgemäßen seriellen Speichers, ausgehend vom Speicherblock der 13, und
  • 15 den Aufbau eines erfindungsgemäßen Pufferspeichers, der in 14 als Block dargestellt ist.
  • I/Beschreibung des erfindungsgemäßen Leseverfahrens
  • 1 stellt sehr schematisch einen Speicher MEM1 dar und dient der Erläuterung des erfindungsgemäßen Leseverfahrens. Der Speicher MEM1 umfasst einen seriellen Eingang DIN, ein Schieberegister REG1, einen Speicherblock 10, eine Auswahlschaltung MUX1, die am Ausgang des Speicherblockes 10 angeordnet ist, ein Schieberegister REG2 und einen seriellen Ausgang DOUT. Adressen werden am Eingang DIN empfangen und die im Speicher gelesenen Wörter werden am Ausgang DOUT ausgegeben. Das Register REG1 umfasst einen seriellen Eingang, der an den Eingang DIN angeschlossen ist, und einen Parallelausgang, der an den Speicherblock 10 angeschlossen ist. Das Register REG2 umfasst einen Paralleleingang, der über eine Schaltung MUX1 mit dem Ausgang des Speicherblockes 10 verbunden ist, und einen seriellen Ausgang, der mit dem Ausgang DOUT des Speichers MEM1 verbunden ist. Die Daten werden mit Hilfe der Register REG1 und REG2 Bit für Bit im Rhythmus eines Taktsignals CLK empfangen und ausgegeben.
  • Das erfindungsgemäße Leseverfahren umfasst in an sich herkömmlicher Weise einen Schritt des Lesens von M Binärwörtern W0, W1, ... WM zu einem Zeitpunkt, zu dem die empfangene Adresse ADR1 partiell ist und nur höherwertige Bits AJ, AJ-1, AJ-2, ... AN+1, AN umfasst, denen N niederwertige Bits AN-1, AN-2, ... A0 fehlen, um eine vollständige Adresse ADR zu bilden.
  • Erfindungsgemäß besteht dieser Schritt darin, die P ersten Bits der Wörter W0, W1, ... WM mit derselben partiellen Adresse ADR1 zu lesen, also Bitgruppen P1(W0), P1(W1), ... P1(WM), statt gleichzeitig alle Bits zu lesen, die jedes der M Wörter umfasst. Wenn die empfangene Adresse vollständig ist, wird die Bitgruppe P1(Wi) des Wortes Wi, das mit der vollständigen Adresse ADR bezeichnet wird, aus der Menge der gleichzeitig gelesenen Bitgruppen ausgewählt, indem an die Auswahlschaltung MUX1 die N niederwertigen Adressenbits AN-1, AN-2, ... A0 angelegt werden, die während des Ablaufs des ersten Lesevorganges empfangen wurden, die eine Auswahladresse ADR2 bilden.
  • Während die P Bits der Bitgruppe P(Wi) eins nach dem anderen am Ausgang DOUT ausgegeben werden, werden die P folgenden Bits des Wortes im Speicher gelesen, das mit der vollständigen Adresse bezeichnet wird. Dieser zweite Leseschritt erfolgt vorzugsweise wie der erste, indem gleichzeitig die P folgenden Bits der M Wörter des Speichers gelesen werden, die dieselbe partielle Adresse haben, d. h. die Bitgruppen P2(W0), P2(W1), ... P2(WM), und dann eine Bitgruppe P2(Wi) mit Hilfe der Auswahladresse ADR2 ausgewählt wird. Die Bits der Gruppe P2(Wi), die dem Wort Wi entsprechen, das mit der vollständigen Adresse ADR bezeichnet wird, werden am Ausgang DOUT ausgegeben, wenn die P ersten Bits ausgegeben worden sind. Dieser Leseschritt wird wiederholt, bis alle Bits des mit der vollständigen Adresse bezeichneten Wortes ausgegeben sind.
  • Auf diese Weise erfolgt das Lesen eines Binärwortes Wi erfindungsgemäß in K/P gleichzeitigen Leseschritten von M Gruppen zu P Bits P1(Wi), P2(Wi), P3(Wi), ... PK/P(Wi), wobei K die Anzahl der Bits ist, die jedes der Wörter im Speicher umfasst, wobei K/P notwendigerweise eine ganze Zahl ist. Die Anzahl der Bits, die in jedem Leseschritt gleichzeitig im Speicher gelesen werden, ist gleich dem Produkt von P mit M (wobei M gleich 2N ist). Vorzugsweise ist P gleich K/M, also K/2N, so dass die Gesamtzahl der in jedem Leseschritt gleichzeitig im Speicher gelesenen Bits gleich K ist. Mit anderen Worten erfordert das erfindungsgemäße Verfahren nur K Leseschaltungen, d. h. dieselbe Anzahl an Leseschaltungen, wie ein herkömmlicher Speicher, der Wörter zu K Bits enthält und ohne vorgezogenes Lesen arbeitet.
  • Wenn davon ausgegangen wird, dass die Adressenbits im Maß eines Bits pro Taktzyklus empfangen werden, was in der Praxis der Fall ist, gilt für die Zeit Tr, die zum Lesen der ersten Bitgruppe P1(Wi) und Ausgeben der ersten Bits am Ausgang DOUT zugewiesen ist: Tr = NT + kT,wobei T die Taktperiode ist und kT die Zeit, die zwischen dem Empfang des letzten Adressenbits A0 und dem Senden des ersten Datenbits verläuft. Es sei daran erinnert, dass der Parameter k herkömmlicherweise bei einem SPI-Bus (dem schlimmsten Fall) gleich 0,5 ist und bei einem Microwire- oder I2C-Bus gleich 1,5. Die Anzahl N entspricht so der Anzahl an Taktzyklen, die beim ersten Leseschritt gegenüber Verfahren ohne vorgezogenes Lesen gewonnen werden.
  • Im Übrigen ist die Zeit Ts, die zum Lesen der folgenden Bitgruppen P2(Wi), P3(Wi), ... PK/P(Wi) zugeordnet ist, maximal gleich Ts = PTund hängt nur von der Zahl P der Bits jeder Gruppe ab.
  • Da die Zahlen N und P Parameter des erfindungsgemäßen Verfahrens sind, steigt die Lesezeit Tr der ersten Bitgruppe in Abhängigkeit von N, bis die Zeit Ts kleiner wird, als die Zeit Tr. Von diesem Wert ab stellt also nicht mehr die Zeit Tr, die zum Lesen der ersten Bitgruppe zur Verfügung steht, eine Begrenzung dar, sondern die Zeit Ts, die zum Lesen der folgenden Bitgruppen zur Verfügung steht.
  • Das erfindungsgemäße Verfahren kann also für einen gegebenen Wert N folgendermaßen zusammengefasst werden:
    • – M = 2N
    • – K/P ist eine ganze Zahl,
    • – P ist vorzugsweise gleich K/M, also K/2N, um eine konstante Anzahl K an Leseschaltungen im Vergleich zu einem herkömmlichen Speicher beizubehalten, der Wörter zu K Bits umfasst,
    • – die Zeit Tr, die für das Lesen der ersten Bitgruppe zugeordnet ist, ist gleich NT + kT,
    • – die Zeit Ts, die für das Lesen der folgenden Bitgruppen zugeordnet ist, ist gleich PT, also (K/M)T,
    • – die optimale Lesezeit Tr wird erreicht, wenn Ts kleiner wird, als Tr, also: (K/M)T ≤ NT + kT
  • Daraus folgt, dass K/M ≤ N + kalso K/2N ≤ N + koder K ≤ 2N(N + k)
  • Wenn beispielsweise K = 8 Bits und k = 0,5 gilt, ist die optimale Zahl N gleich 2, M gleich 4, P gleich 2 und umfasst das erfindungsgemäße Verfahren 4 Lesezyklen von 4 Gruppen zu 2 Bits, die unter 4 Binärwörtern ausgewählt wurden, die dieselbe partielle Adresse haben. Die für das Lesen der ersten Gruppe zugeordnete Zeit Ts beträgt 2,5 Taktzyklen (statt 0,5 Taktzyklen ohne vorgezogenes Lesen) und die für das Lesen der drei folgenden Bitgruppen zugeordnete Zeit beträgt 2 Taktzyklen. In der Praxis ist es jedoch nicht unbedingt erforderlich, die optimale Lesezeit zu suchen. Die Wahl N = 1 führt in den meisten Fällen zu einem ausreichenden Zeitgewinn (1 Taktzyklus), um das eingangs dargestellte Problem zu lösen.
  • Im Folgenden werden verschiedene Ausführungsformen von elektrisch programmierbaren und löschbaren Speichern beschrieben, die erlauben, dieses Verfahren auszuführen, ohne aus den Augen zu verlieren, dass das ursprüngliche Ziel der vorliegenden Erfindung darin besteht, den Aufbau von Speichern mit vorgezogenem Lesen zu vereinfachen, indem die Anzahl an Leseschaltungen verringert wird. Mit anderen Worten darf der Aufbau erfindungsgemäßer Speicher nicht zu komplex sein, weil dadurch der Vorteil verlorenginge, der mit der Verringerung der Anzahl an Leseschaltungen verbunden ist.
  • Zur Vereinfachung wird die unten folgende Beschreibung verschiedener Ausführungsformen erfindungsgemäßer Speicher erfolgen, indem N gleich 1 gewählt wird und M gleich 2. Eine vollständige Adresse wird 16 Bits A15 bis A0 umfassen, wobei das Bit A0 die Auswahladresse darstellt und die Bits A15–A1 die partielle Adresse. Vorzugsweise sind die P ersten Bits jedes der gleichzeitig im Speicher gelesenen Wörter die höherwertigen Bits, die im Allgemeinen als Erste auf einen seriellen Bus gelegt werden.
  • II/Ausführung des Verfahrens in einem EEPROM-Speicher
  • A/Aufbau einer EEPROM-Speicherebene
  • Zur Erinnerung zeigt 2 schematisch und teilweise das Herz eines EEPROM-Speichers oder die EEPROM-„Speicherebene” 20. Die Speicherebene 20 umfasst eine Vielzahl von Speicherzellen die matrixförmig angeordnet und mit Wortleitungen WLi und Bitleitungen BLj verbunden sind. Jede Zelle CEi,j umfasst einen Floating-Gate-FGT-Transistor und einen Zugriffstransistor TA. Das Gate G des Zugriffstransistors TA ist mit einer Wortleitung WLi verbunden, sein Drain D ist mit einer Bitleitung BLj verbunden, wobei seine Source S mit dem Drain D des Transistors FGT verbunden ist. Das Gate G des Transistors FGT ist über eine Gate-Steuerleitung CGL und einen Gate-Steuertransistor CGT mit einer Leitung zur Spaltenauswahl CLk verbunden und seine Source S ist mit einer Sourceleitung SL verbunden, wobei das Gate des Transistors CGT mit der Wortleitung WLi verbunden ist. Auf diese Weise sind die Speicherzellen CEi,j derselben Wortzeile/-leitung WLi in Spalten des Ranges k angeordnet und bilden Wörter Wi,k, im Allgemeinen Bytes, die mit Hilfe der Spaltenauswahlleitung CLk und der Wortleitung WLi zum Lesen ausgewählt werden können, mit der sie verbunden sind.
  • In einer derartigen EEPROM-Speicherebene besteht ein Lösch- oder Programmiervorgang einer Zelle im Injizieren oder Entfernen elektrischer Ladungen durch den Tunneleffekt in das Floating Gate des Transistors FGT der Zelle. Ein gelöschter FGT-Transistor weist eine positive Schwellenspannung VT1 auf und ein programmierter FGT-Transistor eine negative Schwellenspannung VT2. Wenn eine Lesespannung Vread, die zwischen VT1 und VT2 liegt, an sein Gate angelegt wird, bleibt ein gelöschter Transistor gesperrt, was durch Konvention einer logischen „1" entspricht, und wird ein programmierter Transistor leitend, was durch Konvention einer logischen „0" entspricht. Der Löschvorgang erfolgt durch Anlegen einer Löschspannung Vpp in der Größenordnung von 12 bis 20 V an das Gate G des FGT-Transistors, während die Sourceleitung SL an Masse liegt. Der Programmiervorgang erfolgt durch Anlegen einer Programmierspannung Vpp über den Zugriffstransistor TA an den Drain D des Transistors FGT, während das Gate an Masse liegt. Die Ladungsübergänge durch Tunneleffekt erfolgen mit einem Gitterstrom fast gleich Null, wobei eine große Anzahl an EEPROM-Speicherzellen gleichzeitig gelöscht oder programmiert werden können.
  • B/Aufbau eines erfindungsgemäßen EEPROM-Speicherblockes
  • 3 zeigt einen erfindungsgemäßen Speicherblock 21, der eine EEPROM-Speicherebene 20 ähnlich derjenigen umfasst, die soeben beschrieben wurde. Zur Erhöhung der Klarheit der Figur wurden nur zwei Spalten COL0, COL1 der Speicherebene 20 und vier Wortzeilen WL0 bis WL4 im Einzelnen dargestellt. Die Spalten COL0, COL1 umfassen jeweils acht Bitzeilen, BL0 bis BL7 bzw. BL8 bis BL13. Im Folgenden beschränken wir uns auf die Beschreibung des Aufbaus des Speicherblockes 21 unter Bezug auf die Spalten COL0 und COL1, wobei sich dieser Aufbau selbstverständlich in den anderen Spalten der Speicherebene wiederholt. Es sind die Bits b0 bis b7 von zwei Binärwörtern W0, W1 mit den Koordinaten WL0/COL0 bzw. WL0/COL1 und den Adressen 0000H und 0001H (Hexadezimaldarstellung) dargestellt. Diese Bits werden mit b0(W0) bis b7(W0) bzw. b0(W1) bis b7(W1) bezeichnet.
  • Der Speicherblock 21 umfasst in herkömmlicher Weise außer der Speicherebene 20 einen Zeilendecoder ADEC1, einen Spaltendecoder BDEC1, Leseschaltungen SA0 bis SA7 und eine Program mierschaltung PGRC1. Der Decoder ADEC1 empfängt am Eingang höherwertige Adressenbits, hier acht Bits A8 bis A15 (d. h. 256 Wortzeilen) und wählt an seinem Ausgang eine der Wortzeilen WLi aus, die mit der empfangenen Adresse bezeichnet wird, wobei die Gesamtheit an Wörtern einer Wortzeile eine Seite der Speicherebene 20 bildet. Der Decoder BDEC1 empfängt niederwertige Adressenbits, hier acht Bits A0 bis A7 (d. h. 256 Spalten), die die Adresse einer Spalte definieren, d. h. die Adresse eines Wortes in einer Seite.
  • Im Speicherblock 21 sind ein Lesepfad und ein Schreibpfad zu erkennen. Erfindungsgemäß erlaubt der Lesepfad, durch Anlegen einer vollständigen Adresse Gruppen von P Bits von M Binärwörtern auszugeben, die dieselbe partielle Adresse haben, d. h. hier vier Bits von zwei Wörtern. Der Schreibpfad, dessen Aufbau später in Erinnerung gerufen wird, ist an sich bekannt.
  • Lesepfad:
  • Der Spaltendecoder BDEC1 umfasst einen Decodierblock CDEC1 und Auswahltransistoren TS0 bis TS15, die vom Decodierblock CDEC1 gesteuert werden. Jede Bitzeile BL0 bis BL15 ist über einen Auswahltransistor TS0 bis TS15, einen Lesetransistor TR0 bis TR15 und einen Verbindungsbus RB mit einer Leseschaltung SA0 bis SA7 verbunden. Der Bus RB umfasst acht Leitungen RB0 bis RB7, wobei jede Leitung mit einer Leseschaltung SA0 bis SA7 verbunden ist. Die Lesetransistoren TR0 bis TR15, die mit den Transistoren TS0 bis TS15 in Reihe geschaltet sind, werden durch ein Signal READ (Gatesteuerung) gesteuert, das zum Lesen auf 1 gesetzt wird.
  • Erfindungsgemäß werden die Auswahltransistoren TS4 bis TS7 der Bitzeilen BL4 bis BL7 der Spalte COL0 und die Auswahltran sistoren TS12 bis TS15 der Bitzeilen BL12 bis BL15 der Spalte COL1 durch den Ausgang SCL1 (Auswahl der Spalte 1) des Decodierblockes CDEC1 gesteuert. Die Auswahltransistoren TS0 bis TS3 der Bitzeilen BL0 bis BL3 der Spalte COL0 und die Auswahltransistoren TS8 bis TS11 der Bitzeilen BL8 bis BL11 der Spalte COL1 werden durch den Ausgang SCL0 (Auswahl der Spalte 0) des Decodierblockes CDEC1 gesteuert. Weiterhin erfindungsgemäß sind die Bitzeilen des Rangs j und j + 4 (also j + P) jeder Spalte durch den Verbindungsbus RB mit derselben Leseschaltung SAj verbunden, während die Bitzeilen desselben Ranges von zwei Wörtern mit derselben partiellen Adresse (Bits A15–A1 identisch) mit verschiedenen Leseschaltungen verbunden sind.
  • Zusammenfassend sind die Bitzeilen hier über einen Auswahltransistor und einen Lesetransistor mit den Leseschaltungen in der Weise verbunden, die unten in der Tabelle 1 beschrieben wird. Tabelle 1
    Bitzeilen: Verbunden mit (*):
    BL0, BL4 (Wort W0) SA0
    BL1, BL5 (Wort W0) SA1
    BL2, BL6 (Wort W0) SA2
    BL3, BL7 (Wort W0) SA3
    BL4, BL8 (Wort W1) SA4
    BL5, BL9 (Wort W1) SA5
    BL6, BL10(Wort W1) SA6
    BL7, BL11(Wort W1) SA7
  • So veranlasst beim Lesen (READ = 1) das Anlegen einer geraden Adresse (A0 = 0) an den Decoder BDEC1 das Lesen der vier höherwertigen Bits von zwei Wörtern, die dieselbe partielle Adresse haben, und das Anlegen einer ungeraden Adresse (A0 = 1) bewirkt das Lesen der vier niederwertigen Bits zweier Wörter, die dieselbe partielle Adresse haben. Beispielsweise veranlasst das Anlegen der Adresse 0000H an die Decoder ADEC1, BDEC1 das Lesen der Bits b7 bis b4 jedes Wortes W0, W1, die an die Ausgänge der Schaltungen SA7 bis SA0 gelegt werden, und das Anlegen der Adresse 0001H an die Decoder veranlasst das Lesen der Bits b3 bis b0 jedes Wortes W0, W1.
  • Ganz allgemein unterscheidet sich ein erfindungsgemäßer EEPROM-Speicherblock also vom Stand der Technik durch die Tatsache, dass das Anlegen einer vollständigen oder partiellen Adresse, gefolgt vom Lesesignal READ, das Lesen der Gruppen zu P Bits von M Wörtern mit derselben partiellen Adresse veranlasst.
  • Schreibpfad:
  • Die Programmierschaltung PGRC1 umfasst in herkömmlicher Weise mehrere Latches LT, die während der Zellenprogrammierperioden mit der hohen Spannung Vpp versorgt werden. Die Anzahl an Latches LT ist hier gleich der Anzahl an Bitzeilen der Speicherebene, um die gleichzeitige Programmierung aller Wörter einer Wortzeile zu ermöglichen (Programmierung im Seitenmodus). Der Ausgang jedes Latch LT ist an eine Bitzeile BL angeschlossen und sein Eingang ist an eine Leitung des Datenbusses DB angeschlossen. Die Latches LT, die mit den Bitzeilen BL0 bis BL7 der Spalte COL0 verbunden sind, werden durch den Ausgang SCL0 des Decodierblockes CDEC1 aktiviert, die Latches LT, die mit den Bitzeilen BL8 bis BL15 der Spalte COL1 verbunden sind, werden durch den Ausgang SCL1 des Decodierblockes CDEC1 aktiviert etc. Jeder Latch LT gibt die Programmierspannung Vpp aus, wenn er vom Decodierblock CDEC1 aktiviert wird, wenn das Bit an seinem Eingang gleich 1 ist.
  • Gemeinsame Elemente für Schreiben und Lesen:
  • Die Programmierschaltung PGRC1 umfasst ebenfalls Latches LTC, die die Vorspannung der Zeilen der Spalte COLj sicherstellen, die mit den Drains der Gatesteuertransistoren CGT verbunden sind. Diese Latches LTC werden hier im Lesemodus verwendet, um die Spannung Vcc auszugeben, und werden im Programmier- oder Löschmodus verwendet, um eine Spannung gleich Null (Programmierung) auszugeben oder die Spannung Vpp (Löschen). Erfindungsgemäß wird jeder Latch LTC im Lesemodus durch irgendeinen der Ausgänge des Decodierblockes CDEC1 aktiviert, die dieselbe partielle Adresse haben, wie die Spalte, der der Latch zugeordnet ist. So werden beispielsweise die Latches LTC0, LTC1 der Spalten COL0, COL1 durch irgendeinen der beiden Ausgänge SCL0, SCL1 des Decodierblockes CDEC1 aktiviert. Im Programmier- oder Löschmodus dagegen wird jeder Latch LTC ausschließlich durch den Ausgang SCL0, SCL1 aktiviert, der der Spalte entspricht, der er zugeordnet ist.
  • Ein Ausführungsbeispiel des Latch LTC0 ist in 4 schematisch dargestellt. Der Latch LTC0 umfasst einen Inverterbaustein mit Speicher ICELL, der aus zwei gegeneinander geschalteten Invertern besteht, deren Ausgang das Gate eines Transistors T1 steuert. Die Source des Transistors T1 ist an den Transistor CGT angeschlossen und empfängt während der Zellenlöschvorgänge an seinem Drain die Spannung Vpp, während der Programmiervorgänge eine Spannung gleich Null (Masse) oder während der Lesevorgänge die Spannung Vcc. Der Eingang der Zelle ICELL ist durch zwei Inversionszweige an Masse angeschlossen, wobei der erste Zweig einen Transistor T2 umfasst, der durch das Auswahlsignal SCL0 gesteuert wird, und der zweite zwei Transistoren T3, T4 in Reihe geschaltet aufweist, die durch das Signal READ bzw. das Auswahlsignal SCL1 gesteuert werden.
  • Im Programmier- oder Löschmodus ist das Signal READ gleich 0 und nur das Signal SCL0 kann den Eingang des ICELL-Gatters auf 0 setzen, um den Ausgang des Latch LTC0 zu aktivieren. Der Transistor T1 wird dann leitend und legt den Transistor CGT an Masse (Zellenprogrammierung) oder an die Spannung Vpp (Zellenlöschen). Im Lesemodus (READ = 1) erlaubt der Übergang auf 1 eines beliebigen der Signale SCL0, SCL1, den Eingang der Zelle ICELL auf 0 zu setzen. Der Transistor T1 wird leitend und verbindet den entsprechenden Transistor CGT mit der Spannung Vcc.
  • C/Aufbau eines erfindungsgemäßen EEPROM-Speichers
  • Im Vorangehenden wurde ein EEPROM-Speicherblock 21 beschrieben, der dafür vorgesehen ist, beim Anlegen einer geraden Adresse (A0 = 0) vier höherwertige Bits von zwei Wörtern mit derselben partiellen Adresse auszugeben und beim Anlegen einer entsprechenden ungeraden Adresse (A0 = 1) vier niederwertige Bits dieser beiden Wörter. Wie bereits erwähnt, ist dieser Lesemodus ein besonderer Fall des gleichzeitigen Lesens von Gruppen von P Bits in M Wörtern, die dieselbe partielle Adresse haben, wenn N = 1, M = 2 und P = 4. Im Folgenden wird gezeigt, wie die Eigenschaften des Speicherblockes in dynamischer Weise ausgenutzt werden können, um das erfindungsgemäße Verfahren auszuführen.
  • 5 stellt schematisch einen erfindungsgemäßen seriellen Speicher MEM2 dar, der eine serielle Eingangsschnittstelle DIN und eine serielle Ausgangsschnittstelle DOUT umfasst, die hier an einen SPI-Bus angeschlossen sind. Der Speicher MEM2 besteht aus dem EEPROM-Speicherblock 21, dem verschiedene Peripherieteile hinzugefügt wurden, die die Behandlung der Datenströme am Ein- und Ausgang sicherstellen, sowie die Ausführung des erfindungsgemäßen Verfahrens. Unter diesen verschiedenen Peripherieteilen sind Schieberegister RA1, RA2, RIN mit seriellem Eingang und Parallelausgang zu erkennen, eine Adressenabrufschaltung SCAN1, eine Auswahlschaltung MUX1, ein Schieberegister RS mit Paralleleingang und seriellem Ausgang und ein Sperrregister LTS. Die gesamte Einheit wird durch eine Zentraleinheit UC mit festverdrahteter Logik oder Mikroprozessor gesteuert.
  • Der serielle Eingang des Registers RA1, hier von 15 Bits, ist an die Schnittstelle DIN angeschlossen und sein Parallelausgang gibt die Adressenbits A15 bis A1 aus. Die Bits A15 bis A8 werden an die entsprechenden Eingänge des Zeilendecoders ADEC1 gelegt und die Bits A7 bis A1 an die entsprechenden Eingänge des Spaltendecoders BDEC1. Der serielle Eingang des Registers RA2, hier von 1 Bit, ist mit der Schnittstelle DIN verbunden und sein Ausgang gibt das Adressenbit A0 aus. Das Bit A0 wird an den Steuereingang der Schaltung MUX1 angelegt. Das Bit A0 wird ebenfalls an den Eingang der Schaltung SCAN1 angelegt, deren Ausgang mit dem Adresseneingang A0 des Spaltendecoders BDEC1 verbunden ist. Der serielle Eingang des Registers RIN von 8 Bits ist an die Schnittstelle DIN angeschlossen und sein Parallelausgang mit dem Eingang der Zentraleinheit UC und dem Eingang der Programmierschaltung PGRC1 (Speicherblock 21) verbunden. Der Eingang der Auswahlschaltung MUX1 ist mit den Ausgängen der Leseschaltungen SA0 bis SA7 (Speicherblock 21) verbunden und ihr Ausgang ist an den Paralleleingang des Schieberegisters RS angeschlossen. Der serielle Ausgang des Registers RS ist an den Eingang des Registers LTS angeschlossen, dessen Ausgang mit der Schnittstelle DOUT verbunden ist.
  • Die Schaltung SCAN1, die in 6 im Einzelnen dargestellt ist, umfasst einen Frequenzteiler 23, der am Eingang das Taktsignal CLK des SPI-Busses empfängt, sowie zwei „UND"-Gatter 24, 25, einen Inverter 26 und ein „ODER"-Gatter 27. Der Teiler 23, hier ein Teiler durch 4 (da P = 4), empfängt das Signal READ an seinem Rückstellungseingang RST und gibt ein Signal QCLK aus, dessen Frequenz viermal langsamer ist, als das Taktsignal CLK. Das Signal QCLK wird an einen Eingang des Gatters 24 angelegt, dessen anderer Eingang das Signal READ empfängt. Das Gatter 25 empfängt an seinen Eingängen das niederwertige Adressenbit A0 und das invertierte Signal/READ, das vom Gatter 26 ausgegeben wird. Das Gatter 27 empfängt am Eingang die Ausgänge der Gatter 24, 25 und gibt ein Bit A0' aus.
  • Am Ausgang der Schaltung SCAN1 kopiert das Bit A0' das niederwertige Bit A0, wenn das Signal READ auf 0 liegt (Gatter 24 gesperrt, Schaltung SCAN1 transparent) oder kopiert das Signal QCLK, wenn das Signal READ auf 1 liegt (Gatter 25 gesperrt, Schaltung SCAN1 aktiv). Das Signal QCLK hegt während der ersten vier Taktzyklen nach dem Übergang des Signals READ auf 1 auf 0, und geht dann für die vier folgenden Taktzyklen auf 1 über etc.
  • Im Folgenden wird wieder auf 5 Bezug genommen. Die allgemeine Arbeitsweise des Speichers MEM2, was die Behandlung der Datenströme am Eingang angeht und die Ausführung von Schreibvorgängen, ist an sich bekannt und wird nicht im Einzelnen beschrieben. Die Operationscodes [CODEOP] der auszuführenden Befehle werden Bit für Bit im Register RIN durch aufeinanderfolgende Lade- und Registerschiebevorgänge empfangen und dann zum Decodieren an die Zentraleinheit UC gesandt. Die empfangenen, im Speicherblock abzuspeichernden Daten [DATAIN] werden ebenfalls im Register RIN empfangen und dann an den Eingang der Programmierschaltung PGRC1 angelegt. Die Speicher- oder Leseadressen von Wörtern werden in den Registern RA1 und RA2 empfangen.
  • Die Arbeitsweise des Speichers MEM2 im Lesemodus ist in den 7A bis 7L dargestellt, die die folgenden Signale zeigen, die von der Zentraleinheit UC ausgegeben werden:
    • – CLK: Synchronisationstaktsignal
    • – DIN: Daten (Adressenbits), die an der Schnittstelle DIN empfangen werden
    • – LRA1: Laden eines Bits in das Register RA1
    • – SRA1: Verschieben des Registers RA1 um ein Bit
    • – READ: Lesesignal
    • – LRA2: Laden eines Bits in das Register RA2
    • – A0': von der Schaltung SCAN1 ausgegebenes Signal
    • – INCR: Inkrementieren des Registers RA2
    • – LRS: paralleles Laden des Registers RS
    • – SRS: Verschieben des Registers RS um ein Bit
    • – LLTS: Laden eines Bits in das Register LTS
    • – DOUT: Daten (Bits eines Wortes), die an die Schnittstelle DIN geschickt werden.
  • Diese Figuren zeigen den Lesevorgang nach Empfang des Operationscodes [CODEREAD] des Lesebefehls und Empfang der ersten Adressenbits A15 bis A4. Der Empfang dieser Adressenbits, dargestellt in den 7A bis 7D, erfolgt durch die Schritte Laden (LRA1) des Registers RA1 in der Mitte eines Taktzyklus und Verschieben (SRA1) des Registers RA1 am Ende des Taktzyklus. Das vorletzte Adressenbit A1 wird im Register RA1 gespeichert und das letzte Bit A0 wird im Register RA2 gespeichert (Signal LRA2, 7F).
  • Das Signal READ (7E) wird im Wesentlichen zu dem Zeitpunkt gesendet, zu dem das Bit A1 ins Register RA1 geladen wird. Zu diesem Zeitpunkt ist das Register RA1 voll und enthält die partielle Adresse A15–A1. Der Übergang des Signals READ auf 1 aktiviert die Schaltung SCAN1, die für eine Dauer von vier Taktzyklen CLK ein Bit A0' gleich 0 ausgibt (7G). Der Speicherblock 21 empfängt so eine gerade Adresse, während der Eingang A0 des Decodierblockes auf 0 gesetzt wird. Der Speicherblock gibt die vier höherwertigen Bits b7 bis b4 jedes Wortes W0, W1 mit derselben partiellen Adresse aus, die sich an den Ausgängen der Schaltungen SA7 bis SA0 wiederfinden (5). Wenn das Bit A0 empfangen und im Register RA2 gespeichert ist (7F), liegt das Bit A0 für die Auswahl der Bitgruppe b7–b4 des durch die vollständige Adresse bezeichneten Wortes am Steuereingang der Schaltung MUX1 an. Im Wesentlichen zum selben Zeitpunkt wird das Ladesignal LRS ans Register RS angelegt (7J). Dieses wird also mit der ausgewählten Bitgruppe b7–b4 geladen und das Bit b7 an seinem Ausgang ausgegeben. Auf der abfallenden Flanke des Taktzyklus, d. h. 0,5 Taktzyklen nach Empfang des letzten Adressenbits A0, wird das Signal LLTS des Ladens des Ausgangsregisters LTS ausgegeben (7K) und das Bit b7 wird an der Schnittstelle DOUT ausgegeben.
  • Die hier für das Lesen der ersten Bitgruppe b7–b4 gewonnene Zeit Δt beträgt 1 Taktzyklus (N = 1) und addiert sich zum halben Taktzyklus, der den Empfang des letzten Adressenbits von der Sendung des ersten Datenbits trennt. Dieses Ergebnis wird mit nur acht Leseschaltungen SA0–SA7 erreicht gegenüber sechzehn in einem herkömmlichen Speicher mit vorgezogenem Lesen und mit einem Ausgangsregister RS, das nur vier Bits umfasst.
  • Nach dem Senden des ersten Bits b7 werden die folgenden Bits b6 bis b4 durch aufeinanderfolgende Verschiebungen des Registers RS und Laden des Registers LTS ausgegeben (7J, 7K). Im fünften Taktzyklus nach dem Beginn des vorgezogenen Leseschrittes, d. h. während des Sendens des Bits b5, geht das Bit A0' am Ausgang der Abrufschaltung SCAN automatisch auf 1 über (7G) und der Lesevorgang wird zum Lesen der folgenden Bits, hier der niederwertigen Bits b3 bis b0 jedes der Wörter W0, W1, erneut begonnen. Wenn das Bit b4 ausgegeben ist, wird das Signal LRS zum Laden des Registers RS erneut auf der abfallenden Flanke des Taktsignals abgegeben und die Bits b3 bis b0 werden in derselben Weise, wie die vorangehenden, an die Schnittstelle DOUT geschickt.
  • Optional kann der Speicher MEM1 im sequentiellen Lesemodus arbeiten und nach dem Lesen des mit der empfangenen Adresse bezeichneten Wortes eine Vielzahl an Wörtern zu lesen fortfahren, deren Anzahl im Lesebefehl angegeben ist. In diesem Fall wird, wie in den 5 und 7H gezeigt, während des Sendens der niederwertigen Bits des vorangehenden Wortes ein Inkrementierungssignal INCR an das Register RA2 angelegt. Das Überlaufsignal CRY des Registers RA2 wird als Inkrementierungssignal über ein „UND"-Gatter, das an seinem anderen Eingang ein Validierungssignal VINCR empfängt, das von der Zentraleinheit UC ausgegeben wird, an das Register RA1 angelegt. Das Signal VINCR muss auf 1 liegen, damit der sequentielle Lesemodus validiert ist.
  • III/Ausführung des Verfahrens in einem FLASH-Speicher
  • III-I/Einleitung
  • A/Aufbau einer FLASH-Speicherebene
  • Zur Erinnerung zeigt die 8 schematisch das Herz eines FLASH-Speichers oder eine FLASH-Speicherebene 30. Die Speicherebene 30 umfasst eine Vielzahl von Speicherzellen CEi,j bzw. die matrixförmig angeordnet und an Wortleitungen WLi und Bitleitungen BLj angeschlossen sind. Die Zellen CFi,j der FLASH-Speicherebene haben einen einfacheren Aufbau, als EEPROM-Speicherzellen und weisen nur einen Floating-Gate-Transistor FGT auf. Das Gate G des Transistors FGT ist an eine Wortleitung WLi angeschlossen, sein Drain D mit einer Bitleitung BLj verbunden und seine Source S mit einer Sourceleitung SL. Die Anordnung der Zellen eines Wortes kann fortlaufend oder verschachtelt sein, so dass ein Wort Wi,k, das einer Zeile des Ranges i und einer Spalte des Ranges k zugeordnet ist, acht Zellen umfassen kann, die nebeneinander angeordnet sind, wie in 8 dargestellt, oder im Fall von Verschachtelung nicht nebeneinander liegende Zellen. Auf dem Stand der Technik sind die physisch nebeneinander liegenden Zellen im Allgemeinen die Zellen gleichen Ranges der Wörter derselben Wortzeile.
  • In einer derartigen FLASH-Speicherebene besteht ein Löschvorgang einer Zelle in der Entnahme elektrischer Ladungen durch Tunneleffekt, die im Floating-Gate eingeschlossen sind, während ein Programmiervorgang im Injizieren von Ladungen in das Floating-Gate durch einen Effekt besteht, der „heiße Elektroneninjektion" (Hot electron injection) genannt wird. Ein gelöschter FGT-Transistor weist eine positive Schwellenspannung VT1 geringen Betrages auf und ein programmierter Transistor weist eine Schwellenspannung VT2 auf, die höher ist, als VT1. Wenn eine Lesespannung Vread zwischen VT1 und VT2 an sein Gate angelegt wird, ist ein gelöschter Transistor leitend, was durch Konvention einer logischen „1" entspricht, und bleibt ein programmierter Transistor gesperrt, was durch Konvention einer logischen „0" entspricht.
  • Aufgrund ihrer Einfachheit weisen die FLASH-Speicher den Vorteil großer Kompaktheit auf, was die belegte Siliziumoberfläche betrifft, und weisen so bei konstanter Siliziumoberfläche eine erheblich höhere Speicherkapazität auf, als EEPROM-Speicher, und dies bei niedrigeren Herstellungskosten.
  • Dagegen bieten die FLASH-Speicher eingeschränktere Programmiermöglichkeiten, als EEPROM-Speicher, insbesondere was die Möglichkeit betrifft, gleichzeitig mehrere Wörter zu speichern. Die Programmierung einer FLASH-Zelle durch heiße Elektroneninjektion erfolgt nämlich mit einem nicht vernachlässigbaren Strom, indem an den FGT-Transistor der Zelle eine Drainspannung Vppd in der Größenordnung von 6 V angelegt wird und eine Gatespannung Vppg in der Größenordnung von 12 V, wobei der FGT-Transistor während des Vorganges leitend und stark vorgespannt ist.
  • So erweist sich die gleichzeitige Programmierung einer großen Anzahl an FLASH-Zellen aufgrund des starken Stromes als unmöglich, der sich in den Sourceleitungen SL summiert und der in der Lage ist, die Metallbahnen zu zerstören, die die Transistoren des Speichers verbinden, und/oder die Verbindungen zwischen Bahnen unterschiedlichen Niveaus. Die Anzahl an Zellen, die gleichzeitig programmiert werden können, ist in der Praxis im Allgemeinen auf acht beschränkt, so dass ein FLASH-Speicher nicht die gleichzeitige Speicherung mehrerer Wörter erlauben kann und immer im Programmiermodus „Wort für Wort" arbeitet.
  • B/Lösungen zur Ausführung des erfindungsgemäßen Verfahrens
  • Die Ideen und Prinzipien, die im oben beschriebenen EEPROM-Speicherblock ausgeführt wurden, können auf den Aufbau eines FLASH-Speichers übertragen werden, um das gleichzeitige Lesen von Gruppen zu P Bits von M Binärwörtern zu erreichen. Eine derartige Übertragung führt jedoch zu einem komplexen FLASH-Speicher (der insbesondere mit einem Lesebus versehen ist) und zum Verlust der Vorteile, die diese Speicherart in Bezug auf die Kompaktheit bietet.
  • Hier besteht die Idee der vorliegenden Erfindung darin, die Möglichkeit der Verschachtelung von Bits zu nutzen, die die FLASH-Speicher bieten, und eine Verschachtelung vorzusehen, die erlaubt, gleichzeitig Gruppen zu P Bits von M Binärwörtern zu lesen, ohne den Aufbau des Speichers übermäßig zu komplizieren. Eine derartige Bitverschachtelung muss im Schritt der Speicherung der Binärwörter im FLASH-Speicher erfolgen, während sie im oben beschriebenen EEPROM-Speicher zum Zeitpunkt des Lesens der Binärwörter erfolgte.
  • Die vorliegende Erfindung sieht hier zwei Lösungen vor, die je nach beabsichtigter Anwendung jeweils Vorteile haben. Die erste Lösung besteht darin, den Schreibpfad innerhalb eines FLASH-Speicherblockes zu ändern, um die gewünschte Verschachtelung zum Zeitpunkt des Speicherns der Binärwörter zu erreichen. Eine dieser Lösung entsprechende Ausführungsform wird hierunter im Abschnitt III-2 beschrieben. Die zweite Lösung besteht darin, äußere Mittel vorzusehen, die auf dem Datenpfad angeordnet sind, der zum Eingang des Speichers führt, die für die Verschachtelung der Binärwörte vor ihrer Eintragung in den Speicher sorgen. Eine Ausführungsform entsprechend dieser Lösung wird weiter unten im Abschnitt III-3 beschrieben.
  • III-2/Erste Ausführungsform
  • A/Aufbau eines erfindungsgemäßen FLASH-Speichers
  • 9 zeigt den Aufbau eines erfindungsgemäßen FLASH-Speicherblockes 31, der eine Speicherebene 30 vom oben beschriebenen Typ umfasst, einen Wortzeilendecoder ADEC2, einen Bitzeilendecoder BDEC2, der einen Decodierblock CDEC2 und Auswahltransistoren TS umfasst, eine Programmierschaltung PGRC2, eine Auswahlschaltung MUX2 und acht Leseschaltungen SA0–SA7.
  • Die Speicherebene 30 weist eine Bitverschachtelung auf, wie sie in der Tabelle 2 im Anhang beschrieben wird, der vollgültiger Bestandteil der Beschreibung ist. Diese Tabelle beschreibt eine erfindungsgemäße Verschachtelung in dem Fall, dass N = 1, M = 2, P = 4, K = 8 ist. Die Binärwörter W0, W1, W2, W3, die als Beispiele erwähnt werden, haben die Adressen 0000H, 0001H, 0002H bzw. 0003H, wobei die Wörter W0, W1 einerseits und die Wörter W2, W3 andererseits dieselbe partielle Adresse haben. Die Verschachtelung der Bits in der Speicherebene 30 erfolgt nach den folgenden Regeln:
    • 1) jede Speicherseite, d. h. jede Wortzeile WL0, WL1, WL2, WL3, ... ist in M Unterseiten unterteilt, hier zwei Unterseiten SP0, SP1,
    • 2) die Wörter mit derselben partiellen Adresse sind in aneinander anschließenden Unterseiten angeordnet. Die Wörter W0, W2 beispielsweise sind in der Unterseite SP0 angeordnet und die Wörter W1, W3 in der Unterseite SP1,
    • 3) jede Unterseite umfasst P Zellengruppen, d. h. hier vier Gruppen GP0 bis GP3 für die Unterseite SP0 und vier Gruppen GP4 bis GP7 für die Unterseite SP1,
    • 4) jede Gruppe ist in K/P Zellenuntergruppen unterteilt, hier zwei Untergruppen (K = 8, P = 4). Beispielsweise umfasst die Gruppe GP0 zwei Untergruppen SGP00, SGP01, die Gruppe GP1 umfasst zwei Untergruppen SGP10, SGP11 etc.,
    • 5) die Bits des Ranges j und j + 1 desselben Wortes sind in aneinander anschließende Gruppen derselben Unterseite eingeordnet; beispielsweise sind die Bits b7, b6, b5, b4 des Wortes W0 in den Gruppen GP0, GP1, GP2, GP3 der Unterseite SP0 angeordnet und die Bits b7 bis b4 des Wortes W1 sind in den Gruppen GP4 bis GP7 der Unterseite SP1 angeordnet,
    • 6) die Bits des Ranges j und j + P, hier des Ranges j und j + 4, sind in aneinander anschließenden Untergruppen derselben Gruppe angeordnet; beispielsweise sind die Bits b7 der Wörter W0, W2, ... in der Untergruppe SGP00 der Gruppe GP0 angeordnet und die Bits b3 der Wörter W0, W2, ... sind in der Untergruppe SGP01, angeordnet;
    • 7) schließlich umfasst jede Untergruppe Bits desselben Ranges, die Wörtern angehören, die Adressen aufweisen, die Sprünge des Betrages M aufweisen, hier Sprünge des Wertes 2. Beispielsweise umfasst die Untergruppe SGP00 das Bit b7 jedes der Wörter W0 und W2.
  • Mit anderen Worten werden die Binärwörter mit derselben partiellen Adresse in aneinander anschließende Unterseiten derselben Seite gespeichert und sind in jeder Unterseite in P Bitgruppen „umgefaltet", wobei das Umfalten im Vorsehen von K/P Untergruppen besteht. Indem jeder Bitgruppe eine und nur eine Leseschaltung zugeordnet wird, wie hierunter dargestellt wird, erlaubt diese Verschachtelung, die Anzahl an Leseschaltungen zu begrenzen.
  • Eine derartige Bitverschachtelung wird hier dadurch erhalten, dass im Speicherblock 31 ein besonderer Schreibpfad vorgesehen wird, der weiter unten beschrieben wird. Außerdem umfasst der Speicherblock 31 einen Lesepfad in Übereinstimmung mit der Bitverschachtelung, dafür vorgesehen, beim Anlegen einer vollständigen Adresse Gruppen zu P Bits von M Binärwörtern mit derselben partiellen Adresse auszugeben, hier Gruppen zu vier Bits.
  • Lesepfad:
  • Die Bitleitungen der Speicherzellen jeder Untergruppe von Bits SGP00, SGP01, SGP10, SGP11, SGP20, ... SGP71 sind über einen Auswahltransistor TS des Decoders BDEC2 mit einer gemeinsamen Leitung, L00, L01, L10, L11, L20, ... L71, verbunden. Die Leitungen L00 bis L71 sind über die Auswahlschaltung MUX2 mit ein und derselben Leseschaltung verbunden. Diese umfasst Transistoren MT01, MT11, MT21, ... MT71, die durch ein Signal AX gesteuert werden, und Transistoren MT00, MT10, MT20, ... MT70, die durch ein Signal BX gesteuert werden, das zum Signal AX invers ist und das von einem Inverter ausgegeben wird. Die gemeinsamen Leitungen, die mit Zellenuntergruppen derselben Gruppe verbunden sind, hier die Leitungspaare L00/L01, L10/L11, ... L70/L71, sind über Transistoren der Schaltung MUX2, die mit entgegengesetzter Phase arbeiten, mit ein und derselben Leseschaltung SA7, SA6, ... SA0 verbunden. So sind die Leitungen L00/L01 durch die Transistoren MT00/MT01 mit der Leseschaltung A7 verbunden, sind die Leitungen L10/L11 durch die Transistoren MT10/MT11 mit der Leseschaltung A6 verbunden, etc.
  • Die Verbindungen der Ausgänge SCL0, SCL1, ... des Decodierblockes CDEC2 mit den Auswahltransistoren TS erfolgt derart, dass das Anlegen einer gegebenen Adresse an den Decodier block CDEC2 zur Auswahl aller Bitzeilen des Wortes führt, das mit dieser Adresse bezeichnet wird, wobei die Trennung zwischen den höherwertigen Bits und den niederwertigen Bits durch die Transistoren MT der Schaltung MUX2 entsprechend dem Wert des Signals AX sichergestellt wird.
  • Außerdem ist der Decodierblock CDEC2, damit zwei Gruppen zu vier Bits zweier verschiedener Wörter gleichzeitig ausgewählt werden können, derart angeordnet, dass er gleichzeitig zwei Ausgänge mit derselben partiellen Adresse zum Lesen aktiviert. Beispielsweise werden die Ausgänge SCL0 und SCL1 nach Anlegen der Adresse 0000H oder der Adresse 0001H an den Decodierblock CDEC2 gleichzeitig aktiviert. Das gleichzeitige Aktivieren aller Ausgänge des Decodierblockes CDEC2 mit derselben partiellen Adresse kann folgendermaßen erreicht werden: Jeder Haupteingang A0, A1, ... des Decodierblockes CDEC2 umfasst einen komplementären Eingang/A0, /A1, ..., der das Inverse des Adressenbits empfängt, das an den Haupteingang angelegt wird. Dieses Merkmal ist bei einem Decoder an sich bekannt. Erfindungsgemäß werden die Eingänge A0 und/A0 durch das Signal READ im Lesemodus mit Hilfe zweier „ODER"-Gatter auf "1" gesetzt, die am Eingang das Signal READ und das Bit A0 oder/A0 empfangen. Wenn eine Adresse an den Decodierblock CDEC2 angelegt wird, und das Signal READ auf 1 liegt, werden auf diese Weise die beiden Ausgänge des Decodierblockes CDEC2 mit derselben partiellen Adresse gleichzeitig aktiviert, beispielsweise die Ausgänge SCL0, SCL1 der 9.
  • Wenn wieder 9 betrachtet wird, ist zu erkennen, dass das Anlegen einer Adresse A15–A0, die acht Bits A15–A8 umfasst, die an den Decoder ADEC2 angelegt werden und acht Bits A7–A0, die an den Decodierblock CDEC2 angelegt werden, auf diese Weise zur Auswahl aller Bitleitungen der Wörter führt, die dieselbe partielle Adresse A15–A1 haben, wobei die Trennung zwischen den höherwertigen Bits und den niederwertigen Bits jedes der Wörter am Eingang der Leseschaltungen durch die Transistoren MT der Schaltung MUX2 sichergestellt wird. In der Praxis genügt das Anlegen einer partiellen Adresse A15–A1, um dieses Ergebnis zu erreichen, da das niederwertige Bit A0 durch das Signal READ inhibiert wird. So bewirkt beispielsweise das Anlegen einer partiellen Adresse A15–A1, deren sämtliche Bits auf 0 liegen, die gleichzeitige Auswahl der Wörter W0 und W1 mit den Adressen 0000H bzw. 0001H. Die Leseschaltungen SA7–SA0 geben die Bits b7(W0) – b4(W0)b7(W1) – b4(W1) aus, wenn das Signal AX auf 0 liegt, oder geben die Bits b3(W0) – b0(W0)b3(W1) – b0(W1) aus, wenn das Signal AX auf 1 liegt.
  • Schreibpfad:
  • Die Programmierschaltung PGRC2 umfasst soviele Latches, wie Zellenuntergruppen, d. h. hier sechzehn Latches LT00, LT01, LT10, LT11, ... LT71. Der Ausgang jeder Latch ist mit einer gemeinsamen Leitung L00, L01, L10, L11, ... L71 verbunden und sein Eingang mit einer Leitung des Datenbusses DB. Diese Leitung des Datenbusses ist diejenige, deren Rang dem Rang der in der Untergruppe von Zellen, die mit derselben gemeinsamen Leitung verbunden sind, gespeicherten Bits entspricht. Beispielsweise ist der Eingang des Latch LT00 an die Leitung „b7" des Busses DB angeschlossen (Leitung, die die Bits des Ranges 7 befördert), denn sein Ausgang ist mit der gemeinsamen Leitung LT00 der Untergruppe SGP00 verbunden, die die Bits b7 der Wörter mit gerader Adresse umfasst. Außerdem sind die Latches LT, die Untergruppen desselben Ranges in jeder Unterseite zugeordnet sind, an dieselbe Leitung des Datenbusses DB angeschlossen. So sind beispielsweise die Latches LT00 und LT40 an die Leitung „b7" des Busses DB angeschlossen, denn ihre Ausgänge sind mit den gemeinsamen Leitunge L00 und L40 der Zellen der Untergruppen SGP00 und SGP40 verbunden, die Bits b7 enthalten.
  • Während eines Zellenprogrammiervorganges, dem immer das Löschen der betreffenden Seite vorangeht oder das gleichzeitige Löschen mehrerer Seiten, sind alle Latches LT durch die hohe Drainspannung Vppd vorgespannt und empfangen am Eingang die zu programmierenden Bits b7–b0. Die Auswahl der acht Speicherzellen, die die Spannung Vppd empfangen, erfolgt durch die Auswahltransistoren TS des Decoders BDEC2, die zwischen der Programmierschaltung PGRC2 und der Speicherebene 30 angeordnet sind. Es ist zu beachten, dass diese Anordnung der Programmierschaltung PGRC2 vor den Auswahltransistoren TS des Decoders BDEC2 darauf beruht, dass aus den oben erwähnten Gründen die gleichzeitige Programmierung mehrerer Wörter in einem FLASH-Speicher nicht in Betracht gezogen werden kann. Die Zuordnung eines Latch LT zu jeder Bitzeile, wie dies im oben beschriebenen EEPROM-Speicher der Fall ist, ist hier also nicht möglich.
  • C/Aufbau eines erfindungsgemäßen FLASH-Speichers
  • 11 zeigt den Aufbau eines erfindungsgemäßen Speichers MEM3, der ausgehend vom oben beschriebenen Speicherblock 31 und verschiedenen Peripherieteilen konstruiert ist. Der Aufbau des Speichers MEM3 ist im Wesentlichen derselbe, wie der des Speichers MEM2. Hier finden sich wieder die Schnittstellen DIN, DOUT, die Eingangsregister RA1, RA2 (für die Adressen) und RIN (für die Daten und die Operationscodes), die Auswahlschaltung MUX1, die an den Ausgang der Leseschaltungen SA7–SA1 angeschlossen ist, die Ausgangsregister RS, LS und die Zentraleinheit UC.
  • Das vom Register RA2 ausgegebene Bit A0 wird hier direkt an den Decoder BDEC2 angelegt, während die Schaltung SCAN1 weggelassen wird. Die Schaltung SCAN1 wird durch eine Abrufschaltung SCAN2 ersetzt, die das Signal AX ausgibt, das die Auswahlschaltung MUX2 des Speicherblockes 31 steuert.
  • Die Schaltung SCAN2 umfasst den oben beschriebenen Teiler 23, wieder ein Teiler durch 4, dessen Ausgang das Signal QCLK ausgibt. Das Signal QCLK wird über einen Schalttransistor SWT, der durch das Signal READ gesteuert wird, an den Ausgang der Schaltung SCAN2 angelegt. Auf diese Weise kopiert das Signal AX am Ausgang der Schaltung SCAN2 das Signal QCLK während der Leseperioden (READ = 1). Außerhalb der Leseperioden ist der Transistor SWT geschlossen und liegt das Signal AX auf hoher Impedanz, womit die Auswahltransistoren MT der Schaltung MUX2 gesperrt bleiben.
  • Die Arbeitsweise des Speichers MEM3 ähnelt der des Speichers MEM2. Es sei auf die Erläuterungen verwiesen, die oben im Zusammenhang mit den 7A bis 7L gemacht wurden, wobei zu beachten ist, dass das Signal A0' hier das Signal AX ist.
  • III-3/Zweite Ausführungsform
  • A/Aufbau eines FLASH-Speicherblockes mit erfindungsgemäßer Bitverschachtelung
  • 13 zeigt einen FLASH-Speicherblock 41, der wie der vorangehende eine Speicherebene 40 umfasst, einen Wortzeilendecoder ADEC3, einen Bitzeilendecoder BDEC3, eine Programmierschaltung PGRC3, die nur acht Latches LT0 bis LT7 umfasst, deren Eingang mit einem Datenbus DB verbunden ist, und acht Leseschaltungen SA0 bis SA7. Die Speicherebene 40 ist mit der oben beschriebenen Speicherebene 30 identisch, wobei die Wörter mit der in Tabelle 2 im Anhang beschriebenen Verschachtelung gespeichert werden.
  • Der Speicherblock 41 unterscheidet sich vom Speicherblock 31 der 9 durch einen vereinfachten Aufbau, der eigentlich der eines herkömmlichen FLASH-Speicherblockes ist, der in der bekannten Technik verwendet wird, um Wörter in acht Zellengruppen steigenden Ranges zu speichern, die jeweils Bits desselben Ranges aufweisen. Alle Bitleitungen der Zellen einer selben Gruppe GP0, GP1, ... GP7 sind über Auswahltransistoren TS des Decoders BDEC3 an eine gemeinsame Leitung L0, L1, ... L7 angeschlossen und jede gemeinsame Leitung L0 bis L7 ist ohne die oben beschriebene Multiplexerschaltung MUX2 mit einer Leseschaltung SA0 bis SA7 verbunden. Dementsprechend werden zwei Zellen, die zwei Untergruppen SGP derselben Gruppe GP angehören, nicht unterschieden und sind mit derselben Leseschaltung SA verbunden. Hier erfolgt die Auswahl der höherwertigen oder der niederwertigen Zellen innerhalb der Gruppen (siehe Tabelle 2) ausschließlich durch die Transistoren TS des Decoders BDEC3, wobei jeder Ausgang SCL0, SCL1, ... des Decodierblockes CDEC3 nur acht Auswahltransistoren TS steuert. Der Schreibpfad des Speicherblockes 41 ist ebenfalls bekannter Art, indem der Eingang jedes Latch LT0, LT1, ... LT8 an eine Leitung des Datenbusses DB angeschlossen ist und sein Ausgang an eine der gemeinsamen Leitungen L0, L1, ... L8.
  • Schließlich erlaubt der Aufbau des Speicherblockes 41 nicht die erfindungsgemäße Verschachtelung der Wörter bei ihrer Speicherung. Diese Verschachtelung wird hier durch ein äußeres Mittel erreicht, das zusammengesetzte Wörter auf den Datenbus DB der Programmierschaltung legt, die bereits in folgender Weise verschachtelt sind: b7(Wj) – b4(Wj)b7(Wj+1) – b4(Wj+1) oder folgendermaßen: b3(Wj) – b0(Wj)b3(Wj+1) – b0(Wj+1).
  • Auf diese Weise sind die ursprünglichen Binärwörter in Gruppen zu P Bits „aufgespalten", die sich in zusammengesetzten Wörtern unterschiedlicher Adressen finden. Es gibt nur noch eine prinzipielle Entsprechung zwischen der ursprünglichen Adresse eines Wortes und seiner physischen Adresse im Speicher, da das Wort am Ausgang des Speicherblockes durch den Vorgang der Auswahl von Gruppen zu P Bits und deren Ausgabe als serielle Daten wiederhergestellt wird.
  • B/Aufbau eines erfindungsgemäßen FLASH-Speichers
  • 14 zeigt den Aufbau eines Speichers MEM4 auf der Grundlage des FLASH-Speicherblockes 41 und verschiedener, bereits oben beschriebener Peripherieteile, wie der Schnittstellen DIN, DOUT, der Eingangsregister RA1, RA2 (für die Adressen) und RIN (für die Daten und die Operationscodes), der Auswahlschaltung MUX1, die an die Leseschaltungen SA7–SA1 angeschlossen ist, der Ausgangsregister RS, LS und der Zentraleinheit UC. Das Eingangsregister RIN ist hier ein Register zu 4 Bits.
  • Der FLASH-Speicher MEM4 umfasst, wie der EEPROM-Speicher MEM2, die Schaltung SCAN1, aktiviert oder inhibiert durch das Signal READ, dessen Ausgang am Adresseneingang A0 des Decoders BDEC3 ansetzt und während der Lesevorgänge das zyklische Bit A0' ausgibt. Der Speicher MEM4 arbeitet also zum Lesen wie der Speicher MEM2, auch wenn die Mittel, die zum Erreichen dieses Ergebnisses angewandt wurden, andere sind.
  • Der Speicher MEM4 unterscheidet sich im Wesentlichen darin von den Speichern MEM2, MEM3, dass er Verschachtelungsmittel für Wörter aufweist, die sich außerhalb des Speicherblockes 41 befinden, die auf dem Datenpfad des Speichers MEM4 angeordnet sind, d. h. zwischen der Schnittstelle DIN und dem Eingang des Speicherblockes 41. Diese äußeren Verschachtelungsmittel umfassen einen flüchtigen Pufferspeicher, hier einen SRAM-Speicher, dessen Ausgang SDOUT mit dem Datenbus DB der Programmierschaltung PGRC3 verbunden ist. Der Eingang SDIN des Speichers SRAM ist über ein Pufferregister RBUF zu vier Bits mit dem Parallelausgang des Eingangsregisters RIN verbunden. Der Adresseneingang des Pufferspeichers SRAM empfängt die Adressenbits A7–A1, die vom Register RA1 ausgegeben werden, und empfängt das niedrigstwertige Adressenbit A0 über eine Schaltung SCAN3, deren Aufbau mit dem der Schaltung SCAN1 identisch ist, wobei die Schaltung SCAN3 jedoch durch ein Signal WRSR des Schreibens in den Speicher SRAM aktiviert oder inhibiert wird, statt durch das Signal READ aktiviert zu werden, wie die Schaltung SCAN1.
  • Der Aufbau des Speichers SRAM ist in 15 dargestellt und an sich bekannt. Der Speicher SRAM umfasst eine Speicherebene 50, Lese-/Schreibschaltungen SSA0 bis SSA7, einen Datenbus SDB, der an den Eingang SDIN des Speichers SRAM angeschlossen ist, der vier Leitungen SDB0 bis SDB3 umfasst, und einen Adressendecoder SDEC, der Auswahltransistoren STS aufweist, die von einem Decodierblock SDEC1 gesteuert werden. Jede Lese-/Schreibschaltung SSA0 bis SSA7 umfasst einen Eingang zum Veranlassen des Schreibens DWR, einen Dateneingang SDI0 bis SDI7, einen Datenausgang SDO0 bis SDO7. Die Speicherebene 50 umfasst vorzugsweise genausoviele flüchtige Speicherzellen, wie es FLASH-Speicherzellen in einer Seite der FLASH-Speicherebene 40 gibt. Die Zellen sind in acht Zellengruppen GP0 bis GP7 angeordnet. Die Zellen jeder Gruppe GP0 bis GP7 sind über Auswahltransistoren STS des Decoders SDEC mit einer gemeinsamen Leitung DL0 bis DL7 verbunden, wobei jede gemeinsame Leitung DL0 bis DL7 mit einer der Lese-/Schreibschaltungen SSA0 bis SSA7 verbunden ist. Die Anordnung des Decoders SDEC ist bekannter Art, wobei die Verbindungen zwischen den Ausgängen SCL0, SCL1, ... des Decodierblockes SDEC2 und den Auswahltransistoren STS derart sind, dass das Anlegen einer angelegten Adresse zur Auswahl einer Zelle jeder Gruppe führt.
  • Erfindungsgemäß sind die Lese-/Schreibschaltungen des Ranges j + P, hier des Ranges j + 4, an dieselbe Leitung des Datenbusses SDB angeschlossen. So sind die Schaltungen SSA7 und SSA3 mit der Leitung SDB3 verbunden, die Schaltungen SSA6 und SSA2 mit der Leitung SDB2, die Schaltungen SSA5 und SSA1 mit der Leitung SDB1, und die Schaltungen SSA4 und SSA0 mit der Leitung SDB0. Im Übrigen empfangen die Eingänge DWR der Schaltungen SSA7 bis SSA4 das Schreibsignal WRSR über ein „UND"-Gatter, das an seinem anderen Eingang das Inverse/A0 des niedrigstwertigen Adressenbits A0 empfängt, das vom Ausgang des Registers RA2 stammt. Die Eingänge DWR der Schaltungen SSA3 bis SSA0 empfangen das Schreibsignal WRSR über ein „UND"-Gatter, das an seinem anderen Eingang das Bit A0 empfängt. So wird eine Gruppe von 4 Bits, die am Eingang SDIN des Speichers SRAM anliegt, in Zellen der Gruppen GP0 bis GP3 gespeichert, wenn das Bit A0 auf 0 liegt (gerade Adresse), und wird in Zellen der Gruppen GP4 bis GP7 gespeichert, wenn das Bit A0 auf 1 liegt (ungerade Adresse).
  • Im Folgenden wird unter Bezug auf die 14 und 15 ein Schreibvorgang eines Wortes beschrieben. Der eigentliche Schreibvorgang beginnt nach Empfang des Codes [CODEOP] des Befehls, der Speicheradresse A15–A0 des Wortes und dem Empfang der vier ersten Bits des Wortes im Register RA1.
  • Beispielsweise wird hier angenommen, dass das Adressenbit A0 gleich 0 ist. Das Schreibsignal WRSR wird auf 1 gesetzt, die Schaltung SCAN3 beginnt und das Bit A0' wird für eine Dauer von vier Taktzyklen auf 0 gesetzt. Die vier Bits des Wortes werden mit Hilfe des Puffers RBUF an den Eingang SDIN des Speichers SRAM übertragen, während das erste Bit der vier folgenden Bits empfangen wird. Da das Adressenbit A0 gleich 0 ist, wird das Schreibsignal WRSR durch eins der „UND"-Gatter gefiltert und gelangt nur zu den Schaltungen SSA7 bis SSA4. Auf diese Weise werden die vier ersten Bits durch die Schaltungen SSA7 bis SSA4 (15) in Zellen der Gruppen GP7 bis GP4 des Speichers SRAM gespeichert. Wenn die vier Taktzyklen CLK abgelaufen sind, werden die vier folgenden Bits des Wortes an den Eingang SDIN übertragen, während die Schaltung SCAN3 das Bit A0' auf 1 legt. Die zweite Bitgruppe wird wieder in Zellen der Gruppen GP7 bis GP4 gespeichert, da das Adressenbit A0 noch gleich 0 ist. Die Speicheradresse ist jedoch eine andere, da das Bit A0', das an den Adressendecoder SDEC angelegt wird, jetzt auf 1 liegt. Es handelt sich um die ungerade Adresse, die unmittelbar auf die gerade Speicheradresse der ersten vier Bits folgt.
  • Diese Vorgänge erfolgen gesteuert durch die Zentraleinheit UC, die die erforderlichen Signale ausgibt. Im Ergebnis ist das Wort in zwei Bitgruppen gespalten, die an zwei aufeinanderfolgenden Adressen des Speichers SRAM gespeichert sind. Wenn ein zweites Binärwort mit ungerader Adresse (A0 = 1) mit derselben partiellen Adresse, wie das erste, im Speicher SRAM gespeichert wird, werden die beiden Bitgruppen des zweiten Wortes in Zellen der Gruppen GP3 bis GP0 gespeichert, denn das Adessenbit A0 ist gleich 1. Nach Abschluss der Speicherung des zweiten Wortes befinden sich im Speicher zwei zusammengesetzte Wörter mit gerader bzw. ungerader Adresse, die jeweils vier höherwertige oder niederwertige Bits der beiden ursprünglichen Wörter umfassen.
  • Schließlich weist der Speicher SRAM eine Bitverschachtelung entsprechend der in Tabelle 2 im Anhang beschriebenen auf. Wenn mehrere Wörter nacheinander in den Speicher SRAM gespeichert werden, überträgt sie die Zentraleinheit UC anschließend eins nach dem anderen in aufeinanderfolgenden Schritten des Lesens des Speichers SRAM und Schreibens in den FLASH-Speicherblock 41. Jeder Übertragungsschritt erfolgt durch Anlegen derselben niederwertigen Adresse A7–A0 an den Speicher SRAM und an den Decoder BDEC3 des FLASH-Speicherblockes. Da die gelesenen Wörter zusammengesetzte Wörter sind, wird die im Speicher SRAM vorliegende Verschachtelung ungeändert in den FLASH-Speicherblock übertragen.
  • Diese Ausführungsform der vorliegenden Erfindung hat verschiedene Vorteile. Einerseits erlaubt sie, das erfindungsgemäße Verfahren mit Hilfe eines herkömmlichen FLASH-Speicherblockes auszuführen, der aus einer Bibliothek von integrierten Standardschaltungen ausgewählt werden kann. In der Praxis kann sich die Ausführung eines Pufferspeichers SRAM der oben genannten Art als einfacher erweisen, als die Tatsache, einen spezifischen FLASH-Speicherblock fertigen zu müssen, wie den des oben beschriebenen Speichers MEM3. Ein anderer Vorteil dieser Ausführungsform besteht darin, vor Übertragung der Wörter in den FLASH-Speicherblock die sequentielle Speicherung einer Folge von Wörtern im Pufferspeicher zuzulassen. Der Pufferspeicher erlaubt so, den Seitenmodus der EEPROM-Speicher zu simulieren, was weder herkömmliche FLASH-Speicher können, noch die der oben beschriebenen Speicher MEM3. Der Speicher MEM3 könnte trotzdem dem Speicher MEM4 in Anwendungen vorgezogen werden, in denen der Seitenmodus unnütz ist.
  • Der erfindungsgemäße Pufferspeicher ist selbstverständlich verschiedener Ausführungsvarianten fähig. Er kann beispielsweise nur 16 Speicherzellen zur Speicherung zweier Binärwörter in Form zusammengesetzter Wörter umfassen, wenn ein Betrieb im Seitenmodus nicht gewünscht wird.
  • Andererseits kann die Verschachtelung der Binärwörter auf andere Weise erfolgen. So werden die Binärwörter in einer Variante normal im Pufferspeicher gespeichert und zum Zeitpunkt ihrer Übertragung in den FLASH-Speicherblock verschachtelt. Hierzu ist eine Mischschaltung zwischen dem Ausgang des Pufferspeichers und dem Eingang des FLASH-Speicherblockes vorgesehen. Die Mischschaltung umfasst beispielsweise zwei Pufferregister zu je 8 Bits, die die beiden zu verschachtelnden Wörter aufnehmen, deren Ausgänge verschachtelt und über eine Multiplexerschaltung an den Eingang des FLASH-Speicherblockes angelegt sind. Die Multiplexerschaltung wird durch eine Abrufschaltung desselben Aufbaus, wie die Schaltung SCAN3, gesteuert.
  • IV – Zusammenfassung der beschriebenen Ausführungsformen
  • Im Vorangehenden wurden drei Ausführungsformen eines seriellen Speichers mit vorgezogenem Lesen im Einzelnen beschrieben, die nur K Leseschaltungen erfordern, um Wörter zu K Bits zu lesen (gegenüber M mal K Leseschaltungen in den Speichern mit vorgezogenem Lesen des Standes der Technik). Der erste Speicher MEM2 weist einen Speicherblock mit einem besonderen Lesepfad auf, der ausgehend von unverschachtelt gespeicherten Wörtern zusammengesetzte Wörter ausgibt. Der zweite Speicher MEM3 umfasst einen Speicherblock, der mit einem besonderen Schreibpfad versehen ist, der die Verschachtelung der Wörter zum Zeitpunkt ihrer Speicherung sicherstellt, und einen zum Lesen zusammengesetzter Wörter geeigneten Lesepfad. Der dritte Speicher MEM4 umfasst einen Standard-Flash-Speicherblock, der mit einem Pufferspeicher versehen ist, der die Umwandlung empfangener Wörter in zusammengesetzte Wörter vor deren Speicherung im Speicherblock sicherstellt und/oder die Simulation des seitenweisen Progammiermodus, wobei die Verschachtelung der Wörter ebenfalls durch Mischmittel sichergestellt werden kann, die zwischen dem Ausgang des Pufferspeichers und dem Eingang des FLASH-Speicherblockes angeordnet sind.
  • Ganz allgemein sind Ausführungsformen verschiedener Varianten und Kombinationen fähig. Außerdem versteht sich von selbst, auch wenn die vorliegende Beschreibung in Bezug auf den Aufbau von EEPROM- und FLASH-Speichern gemacht wurde, dass die vorliegende Erfindung auf verschiedene andere Speicherarten anwendbar ist. Die vorliegende Erfindung ist insbesondere auf PROM-Speicher anwendbar, die sich aufgrund ihres Aufbaus auf halbem Wege zwischen FLASH-Speichern und EEPROM-Speichern befinden.
  • Figure 00450001

Claims (23)

  1. Verfahren zum Lesen eines Binärwortes (Wj) in einem Speicher mit seriellem Ein- und Ausgang (MEM1–MEM4), einen ersten Schritt des Lesens von Daten im Speicher nach seriellem Empfang einer partiellen Leseadresse, der N niederwertige Bits fehlen, um eine vollständige Adresse zu bilden, umfassend, dadurch gekennzeichnet, dass der erste Leseschritt die folgenden Schritte umfasst: – gleichzeitiges Lesen der P ersten Bits von M Wörtern des Speichers, die dieselbe partielle Adresse haben, – nach Empfang der vollständigen Adresse, Auswählen der P ersten Bits des Wortes, das mit der ersten vollständigen Adresse bezeichnet wird, und Ausgabe dieser Bits am seriellen Ausgang des Speichers, und dadurch, dass das Verfahren einen zweiten Leseschritt umfasst, darin bestehend, – P folgende Bits des durch die vollständige Adresse bezeichneten Wortes während der Ausgabe der P ersten Bits zu lesen und die P folgenden Bits am seriellen Ausgang des Speichers auszugeben, wenn die P ersten Bits ausgegeben worden sind.
  2. Verfahren nach Patentanspruch 1, dadurch gekennzeichnet, dass das Lesen der P folgenden Bits wie das Lesen der P ersten Bits erfolgt, indem gleichzeitig P folgende Bits der M Wörter des Speichers gelesen werden, die dieselbe partielle Adresse haben und indem die P folgenden Bits des mit der vollständigen Adresse bezeichneten Wortes ausgewählt werden.
  3. Verfahren nach einem der Patentansprüche 1 und 2, anwendbar auf einen Speicher (21, MEM2), in dem die Speicherzellen in Wortzeilen und in Bitzeilen angeordnet sind und die Bitzeilen in Spalten (COL0, COL1) angeordnet sind, dadurch gekennzeichnet, dass es einen Schritt enthält, darin bestehend, dass im Speicher Folgendes vorgesehen wird: – ein Adressendecoder (BDEC1), der derart angeordnet ist, dass er gleichzeitig nach Anlegen einer vollständigen Adresse an den Decoder P Bitzeilen zu M verschiedenen Spalten (COL0, COL1) auswählt, und – ein Verbindungsbus (RB), derart angeordnet, dass er jede der P ausgewählten Bitzeilen mit einer Leseschaltung (SA0–SA7) verbindet.
  4. Verfahren nach Patentanspruch 3, dadurch gekennzeichnet, dass der erste Leseschritt dadurch erfolgt, dass an den Decoder die empfangene partielle Adresse angelegt wird und indem an den niederwertigen Adresseneingängen des Decoders die 2N möglichen Kombinationen der N letzten Adressenbits durchlaufen werden.
  5. Verfahren nach einem der Patentansprüche 1 und 2, anwendbar auf einen Speicher (31, 41, MEM3, MEM4, SRAM), in dem die Speicherzellen in Wortzeilen und in Bitzeilen angeordnet sind, wobei eine Wortzeile eine Speicherseite bildet, dadurch gekennzeichnet, dass es einen vorangehenden Schritt enthält, darin bestehend (Tabelle 2), – M Wörter derselben partiellen Adresse in M aneinander anschließende Unterseiten einer Speicherseite zu speichern, – jedes Wort in P aneinander anschließende Gruppen von Zellen zu speichern, die jeweils K/P aneinander anschließende Untergruppen von Zellen umfassen, wobei K die Anzahl der Bits jedes Wortes ist, und – Bits vom Rang j und j + 1 eines Wortes in aneinander anschließende Zellengruppen zu speichern, und Bits vom Rang j und j + P eines Wortes in aneinander anschließende Untergruppen von Zellen, derart, dass die Wörter in den Unterseiten umgefaltet sind.
  6. Verfahren nach Patentanspruch 5, dadurch gekennzeichnet, dass der Leseschritt umfasst: – einen Vorauswahlschritt (BDEC2), der darin besteht, gleichzeitig in jeder Zellengruppe jeder Unterseite des Speichers (31, MEM3) alle Zellen zum Lesen auszuwählen, die die Bits von M Wörtern mit derselben partiellen Adresse enthalten, und – und einen Auswahlschritt (MUX2), der darin besteht, an eine Leseschaltung (SA7–SA0) die Zellen anzuschließen, die eins der P Zielbits jedes der M Wörter enthalten.
  7. Verfahren nach einem der Patentansprüche 1 bis 6, dadurch gekennzeichnet, dass P gleich K/M ist, wobei K die Anzahl an Bits ist, die die im Speicher gespeicherten Wörter umfassen, während M gleich 2N ist.
  8. Verfahren nach einem der Patentansprüche 1 bis 7, dadurch gekennzeichnet, dass N gleich 1 ist und M gleich 2.
  9. Verfahren nach einem der Patentansprüche 1 bis 8, dadurch gekennzeichnet, dass die P ersten Bits jedes der gleichzeitig im Speicher gelesenen Wörter höherwertige Bits sind.
  10. Speicher in einer integrierten Schaltung (MEM1–MEM4) mit seriellem Ein- (DIN) und Ausgang (DOUT), dadurch gekennzeichnet, dass er Mittel (BDEC1, RP, BDEC2, MUX2, BDEC3, MUX1, SA7–SA1) umfasst, um nach seriellem Empfang einer partiellen Leseadresse (A15–A1), in der N niederwertige Bits fehlen, um eine vollständige Adresse zu bilden, – gleichzeitig die P ersten Bits (b7–b4) von M Wörtern des Speichers mit derselben partiellen Adresse zu lesen, – nach Empfang der vollständigen Adresse die P ersten Bits des Wortes, das mit der vollständigen Adresse bezeichnet wird, auszuwählen und diese Bits am seriellen Ausgang auszugeben, und – P folgende Bits (b3–b0) des Wortes, das durch die vollständige Adresse bezeichnet wird, während der Ausgabe der P ersten Bits zu lesen und diese Bits am seriellen Ausgang auszugeben, wenn die P ersten Bits ausgegeben sind.
  11. Speicher nach Patentanspruch 10, dadurch gekennzeichnet, dass er Mittel (MUX1) zu Auswahl einer Gruppe von P Bits unter M Gruppen zu P Bits umfasst, die gleichzeitig gelesen wurden, die an einem Befehlseingang die N niederwertigen Bits (A0) der vollständigen Adresse empfangen.
  12. Speicher (21, MEM2) nach einem der Patentansprüche 10 und 11, Speicherzellen umfassend, die in Wortzeilen und in Bitzeilen angeordnet sind, wobei die Bitzeilen in Spalten (COL0, COL1) angeordnet sind, einen Adressendecoder (BDEC1) zur Auswahl der Bitzeilen und einen Verbindungsbus (RB), um ausgewählte Bitzeilen mit Leseschaltungen (SA7–SA0) zu verbinden, dadurch gekennzeichnet, dass – der Adressendecoder derart angeordnet ist, dass er gleichzeitig P Bitzeilen zu M verschiedenen Spalten mit derselben partiellen Adresse auswählt, und – der Verbindungsbus derart angeordnet ist, dass er jede der P ausgewählten Bitzeilen mit einer Leseschaltung verbindet.
  13. Speicher nach Patentanspruch 12, dadurch gekennzeichnet, dass er eine Adressenabfrageschaltung (SCAN1) umfasst, die dafür eingerichtet ist, während des Lesevorganges eines Wortes die 2N möglichen Kombinationen der N niederwertigen Bits (A0) einer Adresse, die an den Adressendecoder angelegt ist, abzufragen.
  14. Speicher (31, 41, MEM3, MEM4, SRAM) nach einem der Patentansprüche 10 und 11, Speicherzellen umfassend, die in Wortzeilen und in Bitzeilen angeordnet sind, wobei eine Wortzeile eine Speicherseite bildet, dadurch gekennzeichnet, dass er Mittel zum Verschachteln von Bits enthält, dafür eingerichtet (Tabelle 2), – M Wörter derselben partiellen Adresse in M aneinander anschließende Unterseiten einer Speicherseite zu speichern, – jedes Wort in P aneinander anschließende Gruppen von Zellen zu speichern, die jeweils K/P aneinander anschließende Untergruppen von Zellen umfassen, wobei K die Anzahl der Bits jedes Wortes ist, und – Bits vom Rang j und j + 1 eines Wortes in aneinander anschließende Zellengruppen zu speichern, und Bits vom Rang j und j + P eines Wortes in aneinander anschließende Untergruppen von Zellen, derart, dass die Wörter in den Unterseiten umgefaltet sind.
  15. Speicher (31, MEM3) nach Patentanspruch 14, einen Adressendecoder (BDEC2) enthaltend, der Schalter (TS) zur Auswahl der Bitzeile umfasst, eine Schaltung (PGRC2) zur Programmierung des Speichers, der Latches (LT) umfasst, deren Eingang an einen Datenbus (DB) mit K Leitungen angeschlossen ist, dadurch gekennzeichnet, dass – die Programmierschaltung (PGRC2) M mal K Latches (LT) umfasst, – die Bitzeilen (BL) derselben Untergruppe von Zellen (SGP) über Auswahlschalter (TS) mit einer gemeinsamen Leitung (L) verbunden sind, – jede gemeinsame Leitung an den Ausgang eines Latch (LT) angeschlossen ist, und – die Latches (LT00, LT40), deren Ausgänge an Untergruppen von Zellen desselben Ranges angeschlossen sind, die verschiedenen Unterseiten angehören, an dieselbe Leitung (b7) des Datenbuses angeschlossen sind.
  16. Speicher nach Patentanspruch 15, dadurch gekennzeichnet, dass der Adressendecoder (BDEC2) Inhibitionsmittel (READ) in der Betriebsart Lesen seiner N niederwertigen Adresseneingänge (A0) aufweist, um gleichzeitig alle Bitzeilen auszuwählen, die den Bits aller Wörter des Speichers entsprechen, die dieselbe partielle Adresse haben.
  17. Speicher nach Patentanspruch 16, dadurch gekennzeichnet, dass die gemeinsamen Zeilen der Untergruppen von Zellen ein und derselben Zellengruppe über eine Multiplexerschaltung (MUX2) mit ein und derselben Leseschaltung (SA7–SA0) verbunden sind, Multiplexerschaltung, die derart eingerichtet ist, dass sie eine einzige gemeinsame Zeile auf einmal an die Leseschaltung anschließt, die durch ein Befehlssignal (AX) der Multiplexerschaltung bestimmt wird.
  18. Speicher nach Patentanspruch 17, dadurch gekennzeichnet, dass das Multiplexermittel (MUX2) durch eine Abrufschaltung (SCAN2) gesteuert wird, die derart eingerichtet ist, dass sie im Verlauf eines Lesevorganges eines Wortes alle Multiplexwerte des Befehlssignals (AX) durchläuft, derart, dass die gemeinsamen Zeilen jeder Untergruppe einer Zellengruppe eine nach der anderen mit der Leseschaltung verbunden werden.
  19. Speicher (MEM4) nach einem der Patentansprüche 10, 11, 14, einen Speicherblock (41) und Peripherieteile des Speicherblockes umfassend, dadurch gekennzeichnet, dass er Mittel zum Verschachteln von Bits (SRAM) enthält, die zwischen dem seriellen Eingang (DIN) und dem Eingang des Speicherblockes (41) angeordnet und dafür eingerichtet sind, an den Eingang des Speicherblockes zusammengesetzte Wörter anzulegen, die M Gruppen von P Bits von M verschiedenen Binärwörtern anlegen.
  20. Speicher nach einem der Patentansprüche 10, 11, 14, 19, dadurch gekennzeichnet, dass er einen flüchtigen Pufferspeicher (SRAM) umfasst, dessen Ausgang mit dem Eingang des Speicherblockes (41) verbunden ist, und Mittel (UC) zum Einspeichern von Daten in den Pufferspeicher, die im Speicherblock gespeichert werden sollen, und dann im Speicherblock die Daten zu speichern, die vorab im Pufferspeicher gespeichert wurden.
  21. Speicher nach Patentanspruch 20, dadurch gekennzeichnet, dass er Mittel (SCAN3, SSA7–SSA0) zum Einspeichern von zusammengesetzten Wörtern in den Pufferspeicher enthält, die M Gruppen von P Bits von M verschiedenen Binärwörtern umfassen, die seriell empfangen wurden.
  22. Speicher nach einem der Patentansprüche 10 bis 21, in dem P gleich K/M ist, wobei K die Anzahl an Bits ist, die die Wörter umfassen, die im Speicher gespeichert sind, wobei M gleich 2N ist.
  23. Speicher nach einem der Patentansprüche 10 bis 22, in dem N gleich 1 ist und M gleich 2.
DE60133513T 2000-02-28 2001-02-05 Programmierbarer und elektrisch löschbarer serieller auslesbarer Speicher durch Vorempfang Expired - Lifetime DE60133513T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0002449 2000-02-28
FR0002449A FR2805653A1 (fr) 2000-02-28 2000-02-28 Memoire serie programmable et effacable electriquement a lecture par anticipation

Publications (2)

Publication Number Publication Date
DE60133513D1 DE60133513D1 (de) 2008-05-21
DE60133513T2 true DE60133513T2 (de) 2009-04-30

Family

ID=8847448

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60133513T Expired - Lifetime DE60133513T2 (de) 2000-02-28 2001-02-05 Programmierbarer und elektrisch löschbarer serieller auslesbarer Speicher durch Vorempfang

Country Status (4)

Country Link
US (1) US6477101B2 (de)
EP (1) EP1172820B1 (de)
DE (1) DE60133513T2 (de)
FR (1) FR2805653A1 (de)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2803080A1 (fr) * 1999-12-22 2001-06-29 St Microelectronics Sa Memoire flash programmable page par page
EP1220225A1 (de) * 2000-12-28 2002-07-03 STMicroelectronics S.r.l. Ein Verfahren und die zugehörige Schaltung zur Verminderung der Zugriffszeit zum Lesen eines nicht flüchtigen Speichers
JP2003308698A (ja) * 2002-04-12 2003-10-31 Toshiba Corp 不揮発性半導体メモリ装置
DE102004016334A1 (de) * 2004-04-02 2005-11-03 Infineon Technologies Ag Verfahren zum Testen eines integrierten Halbleiterspeichers und integrierter Halbleiterspeicher
FR2874734A1 (fr) 2004-08-26 2006-03-03 St Microelectronics Sa Procede de lecture de cellules memoire programmables et effacables electriquement, a precharge anticipee de lignes de bit
US6879535B1 (en) * 2004-08-30 2005-04-12 Atmel Corporation Approach for zero dummy byte flash memory read operation
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7916750B2 (en) * 2005-12-28 2011-03-29 Intel Corporation Transaction layer packet compression
FR2901626A1 (fr) 2006-05-29 2007-11-30 St Microelectronics Sa Memoire eeprom ayant une resistance contre le claquage de transistors amelioree
JP5319572B2 (ja) * 2010-02-23 2013-10-16 セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー メモリ装置
US8583987B2 (en) 2010-11-16 2013-11-12 Micron Technology, Inc. Method and apparatus to perform concurrent read and write memory operations
US8645637B2 (en) * 2010-11-16 2014-02-04 Micron Technology, Inc. Interruption of write memory operations to provide faster read access in a serial interface memory
US9159442B2 (en) * 2011-11-11 2015-10-13 Microchip Technology Incorporated Serial memory with fast read with look-ahead
CN103544991B (zh) * 2012-07-12 2016-06-22 华邦电子股份有限公司 闪存装置及其操作的方法
FR3012672B1 (fr) 2013-10-31 2017-04-14 Stmicroelectronics Rousset Cellule memoire comprenant des grilles de controle horizontale et verticale non auto-alignees
FR3012673B1 (fr) * 2013-10-31 2017-04-14 St Microelectronics Rousset Memoire programmable par injection de porteurs chauds et procede de programmation d'une telle memoire
FR3017746B1 (fr) 2014-02-18 2016-05-27 Stmicroelectronics Rousset Cellule memoire verticale ayant un implant drain-source flottant non auto-aligne
FR3065826B1 (fr) * 2017-04-28 2024-03-15 Patrick Pirim Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR712133A (fr) * 1931-02-26 1931-09-25 A Et H Patient Et Co Appareil de chasse pour w.-c. utilisant l'eau en pression avec canalisation d'alimentation réduite
US4723228B1 (en) * 1983-08-31 1998-04-21 Texas Instruments Inc Memory decoding circuitry
US4797858A (en) * 1987-03-30 1989-01-10 Motorola, Inc. Semiconductor memory with divided word lines and shared sense amplifiers
FR2726934B1 (fr) * 1994-11-10 1997-01-17 Sgs Thomson Microelectronics Procede de lecture anticipee de memoire a acces serie et memoire s'y rapportant
US5691956A (en) * 1996-07-17 1997-11-25 Chang; Edward C. M. Memory with fast decoding
US6038185A (en) * 1998-05-12 2000-03-14 Atmel Corporation Method and apparatus for a serial access memory

Also Published As

Publication number Publication date
US6477101B2 (en) 2002-11-05
US20010021117A1 (en) 2001-09-13
DE60133513D1 (de) 2008-05-21
EP1172820B1 (de) 2008-04-09
FR2805653A1 (fr) 2001-08-31
EP1172820A1 (de) 2002-01-16

Similar Documents

Publication Publication Date Title
DE60133513T2 (de) Programmierbarer und elektrisch löschbarer serieller auslesbarer Speicher durch Vorempfang
DE69828564T2 (de) Kombinierter nichtflüchtiger programm-/datenspeicher für gleichzeitiges lesen von programmen und schreiben von daten
DE60130437T2 (de) Simultane mehrbankoperation für flash-speicher
DE19882486B4 (de) Synchroner, nicht-flüchtiger Seitenmodus-Speicher
DE69535672T2 (de) Synchrone NAND DRAM Architektur
DE3686436T2 (de) Speichersystem mit hoher leistung.
DE10239487B4 (de) Nichtflüchtiges Halbleiterspeicherbauelement
DE69923634T2 (de) Synchrone Burstzugriffshalbleiterspeicheranordnung
DE69830962T2 (de) Integrierte Halbleiterschaltungsanordnung
DE69725632T2 (de) Halbleiterspeicheranordnung mit "Pipeline" Betrieb
DE69217761T2 (de) Lese- und Schreibschaltung für einen Speicher
DE68918469T2 (de) Serieller Lesezugriff von seriellen Speichern mit einer durch den Benutzer definierten Startadresse.
DE69126268T2 (de) Halbleiterspeicheranordnung mit verriegelten Zeilenleitungszwischenverstärken, angesteuert durch ein Speisespannungseinschaltrücksetzsignal
DE68922975T2 (de) Speichereinheit mit zwei Toren.
DE69837135T2 (de) Integrierte Halbleiterschaltungsvorrichtung
DE2545313A1 (de) Dynamischer misfet randomspeicher in integrierter schaltung
DE102006016247A1 (de) Speicher, Datenverarbeitungssystem, Steuereinheit und Steuerverfahren
DE102006054998A1 (de) Latenzsteuerschaltung, automatische Vorladesteuerschaltung, Halbleiterspeicherbauelement, Verfahren zum Steuern der Latenz und Verfahren zum Steuern eines Vorladevorgangs
DE4222273A1 (de) Zweikanalspeicher und verfahren zur datenuebertragung in einem solchen
DE69121315T2 (de) Festwertspeicheranordnung
DE69020764T4 (de) Speicheradressierung.
EP0393436B1 (de) Statischer Speicher mit Pipelineregistern
DE3786358T2 (de) Halbleiterspeicher mit System zum seriellen Schnellzugriff.
DE69838660T2 (de) Integrierte Halbleiterschaltungsvorrichtung
DE102005032484A1 (de) Nichtflüchtiges Speicherelement und zugehöriges Programmierverfahren

Legal Events

Date Code Title Description
8364 No opposition during term of opposition