-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zum Scramblen
von Adressendaten und auf ein Speichersystem.
-
Ein
Flashspeicherbauelement ist ein Typ eines elektrisch löschbaren
und programmierbaren Nur-Lesespeichers (EEPROM), in welchem eine Mehrzahl
von Speicherbereichen unter Verwendung eines einzigen Speichersystemvorgangs
gelöscht oder
programmiert werden können.
Andere Arten von EEPROMs ermöglichen
lediglich, dass ein einziger Speicherbereich durch einen unitären Speichersystemvorgang
gelöscht
oder programmiert werden kann. Daher erfreuen sich Speichersysteme,
die Flashspeicher aufweisen, einer zunehmenden Funktionseffizienz
gegenüber
Speichersystemen, die andere Arten von EEPROMs verwenden. Die vorhandenen
Speicherzellen, die einen Flashspeicher bilden, werden jedoch, wie
andere Arten von EEPROMs, durch eine bestimmte Anzahl von Lösch-/Programmiervorgängen aufgrund
einer Beanspruchung abgenutzt, die ein dielektrisches Material betrifft,
das ein ladungsspeicherndes Element isoliert.
-
Der
Flashspeicher ist in seiner Funktionsweise nichtflüchtig. Daher
können
gespeicherte Daten auch ohne angelegte Energie erhalten werden.
Zudem stellen Flashspeicher eine ausgezeichnete Immunität vor physikalischen
Eingriffen und eine relativ schnelle Datenzugriffsgeschwindigkeit
zur Verfügung.
Aufgrund dieser Eigenschaften werden Flashspeicher verbreitet in
tragbaren batteriebetriebenen elektronischen Geräten genutzt. Moderne Flashspeicher
gibt es in zwei Typen, nämlich
als NOR-Flashspeicher und als NAND-Flashspeicher, die sich in der Art
der in Bezug auf die Speicherzellen verwendeten logischen Gatter
unterscheiden.
-
Flashspeicher
können
unter Verwendung eines Felds von Speicherzellen, die eine Einzelbitinformation
je Speicherzelle (SBC) speichern, oder von Speicherzellen implementiert
werden, die eine Mehrfachbitinformation je Speicherzelle (MBC) speichern.
-
1 ist
ein Blockdiagramm eines relevanten Bereichs eines herkömmlichen
NAND-Flashspeicherbauelements.
-
Bezugnehmend
auf 1 umfasst der dargestellte Bereich des Flashspeicherbauelements
ein Speicherzellenfeld 10, einen Zeilenauswahlschaltkreis 20,
der nachfolgend als X-Auswahlschaltkreis bezeichnet wird, und einen
Datenregister- und Abtastverstärkerschaltkreis
(S/A) 30. Das Speicherzellenfeld 10 ist mit einer
Mehrzahl von Speicherblöcken implementiert,
die als MB0 bis MB (m – 1)
bezeichnet sind. Es wird für
die vorliegende Beschreibung vorausgesetzt, dass jeder der Mehrzahl
von Speicherblöcken
MB0 bis MB (m – 1)
eine im Wesentlichen ähnliche
Struktur aufweist. Jeder der Mehrzahl von Speicherblöcken MB0
bis MB (m – 1)
ist dazu ausgebildet, 2N-Bit-Daten bzw. 2N Datenbits zu speichern, wobei
N eine positive ganze Zahl größer oder
gleich 1 ist. Der X-Auswahlschaltkreis 20 wählt in Reaktion auf
eine empfangene Zeilenadresse einen der Mehrzahl von Speicherblöcken MB0
bis MB (m – 1),
in der nachfolgenden Beschreibung z. B. den Speicherblock MB0, und
eine Wortleitung innerhalb des ausgewählten Speicherblocks aus. Der
S/A 30 ist über eine
Bitleitung mit dem ausgewählten
Speicherblock verbunden und arbeitet während Programmiervorgängen als
Schreibtreiber und während
Lesevorgängen
als Abtastverstärker.
-
2 ist
ein Blockdiagramm, das weiter einen Bereich eines ausgewählten Speicherblocks MB0
und einen korrespondierenden Teil des in 1 dargestellten
S/A 30 zeigt.
-
Bezugnehmend
auf 2 umfasst der ausgewählte Speicherblock MB0 eine
Mehrzahl von Ketten 11, die entsprechend mit einer der
Mehrzahl von Bitleitungen verbunden ist. Hier wird nur ein einzelnes
Bitleitungspaar mit einer geraden Bitleitung BLe0 und einer ungeraden
Bitleitung Blo0 dargestellt, wobei es sich versteht, dass viele
Bitleitungen oder ungerade/gerade Bitleitungspaare verwendet werden können, um
den ausgewählten
Speicherblock MB0 zu implementieren. Jede der Mehrzahl von Ketten 11 umfasst
einen Kettenauswahltransistor SST, einen Masseauswahltransistor
GST und eine Mehrzahl von in Reihe geschalteten Speicherzellen MC31
bis MC0, die zwischen dem Kettenauswahltransistor SST und dem Masseauswahltransistor
GST eingeschleift sind. Die Kettenauswahltransistoren SST der Ketten 11 sind
gemeinsam mit einer Kettenauswahlleitung SSL verbunden, die vom
X-Auswahlschaltkreis 20 gesteuert wird. Die Masseauswahltransistoren
GST der Ketten 11 sind gemeinsam mit einer Masseauswahlleitung
GSL verbunden, die vom X-Auswahlschaltkreis 20 gesteuert
wird. Die Mehrzahl von in Reihe geschalteten Speicherzellen MC31
bis MC0 in jeder Kette 11 sind entsprechend mit korrespondierenden Wortleitungen
WL31 bis WL0 verbunden, die vom X-Auswahlschaltkreis 20 gesteuert
werden.
-
Der
S/A 30 umfasst einen Bitleitungsauswahlschaltkreis 31,
der mit dem Bitleitungspaar BLe0 und BLo0 verbunden ist, und ein
zugehöriges
Re gister 32. Der Bitleitungsauswahlschaltkreis 31 wählt eine
Bitleitung des Bitleitungspaars BLe0 und BLo0 aus und verbindet
die ausgewählte
Bitleitung mit dem Register 32. Das Register 32 legt
entsprechend den in Bezug auf einen aktuellen Programmiervorgang spezifizierten
Programmierdaten eine Programmierspannung, z. B. eine Massespannung,
oder eine Programmierblockierspannung, z. B. eine Versorgungsspannung,
an die ausgewählte
Bitleitung an. Das Register 32 detektiert während eines
aktuellen Lesevorgangs über
die ausgewählte
Bitleitung in einer oder mehreren der Mehrzahl von Speicherzellen gespeicherte
Daten. Obwohl es in 2 nicht dargestellt ist, sind
andere Bitleitungspaare unter Verwendung einer ähnlichen Struktur entsprechend
mit korrespondierenden Registern verbunden.
-
Unter
der Voraussetzung, dass jede Wortleitung zwei Seiten (2P) zugeordnet
ist, d. h. einer geraden Seiten und einer ungeraden Seite, jede
der in Reihe geschalteten Speicherzellen 2-Bit-Daten (2B) speichert
und jeder der Mehrzahl von Speicherblöcken 32 Wortleitungen
(32WL) umfasst, umfasst jeder Speicherblock 128 Seiten (32WL·2P·2B).
-
Weiter
vorausgesetzt, dass eine Zeilenadresse eine Blockadresse, die einen
gewünschten Speicherblock
auswählt,
und eine Seitenadresse umfasst, die eine oder mehrere Seiten innerhalb
des ausgewählten
Speicherblocks auswählt,
folgt dann, dass eine 7-Bit-Adresse, die nachfolgend als „erste Zeilenadresse" bezeichnet wird,
verwendet werden muss, um jede der 128 Seiten auswählen zu
können. Weiter
vorausgesetzt, dass 1024 Speicherblöcke innerhalb des Speicherzellenfelds 10 angeordnet
sind, muss eine 10-Bit-Adresse, die nachfolgend als „zweite
Zeilenadresse" bezeichnet
wird, verwendet werden, um jeden der 1024 Speicherblöcke auswählen zu
können.
-
Entsprechend
ist eine Adressencodierung erforderlich, um alle Seiten in einem
Speicherblock und dann Seiten in einem nächsten Speicherblock auszuwählen. Wie
beispielsweise in 3A dargestellt ist, werden sieben
Bit einer ersten Adresse A12 bis A18 verwendet, um zwischen 128
Seiten in jedem Speicherblock auszuwählen, und eine Mehrzahl von zweiten
Adressenbits A19 bis Ai wird verwendet, um zwischen den Speicherblöcken auszuwählen. Wenn die
sieben Bit der ersten Adresse den Wert 0000000 aufweisen, dann wird
eine erste Seite 0P innerhalb des ausgewählten Speicherblocks ausgewählt. Wenn
die sieben Bit der ersten Adresse den Wert 1111111 aufweisen, wird
eine letzte Seite 127P innerhalb des ausgewählten Speicherblocks ausgewählt.
-
Unter
diesen Randbedingungen ist es wünschenswert,
die extern zur Verfügung
gestellte Adresse in eine physikalische Adresse innerhalb des Flashspeicherbauelements
zu übertragen.
Das bedeutet, dass die extern zur Verfügung gestellte Adresse, welche
eine Zeilenadresse umfasst, in eine Blockadresse und eine Seitenadresse
umgewandelt wird. Für
diesen Vorgang existieren jedoch Grenzen. Wenn beispielsweise 3-Bit-Daten anstelle
von 2-Bit-Daten gespeichert werden, umfasst jeder Speicherblock
gemäß den vorherigen
Annahmen 192 Seiten oder (32WL·2P·3B) Seiten.
-
Wenn
3-Bit-Daten je Speicherzelle gespeichert werden, ist es unmöglich, die
korrespondierenden Adressendaten auf die oben beschriebene Weise
in eine Seitenadresse und eine Blockadresse aufzuteilen. Das bedeutet,
dass eine 8-Bit-Adresse erforderlich ist, um zwischen den 192 Seiten
auszuwählen.
Unter Verwendung der 8-Bit-Adresse kann jedoch zwischen 256 Seiten
ausgewählt
werden. Aus diesem Grund existieren „Seiten", die mit der 8-Bit-Adresse, z. B. einer
fehlerhaften 8-Bit-Adresse, ausgewählt werden können, aber
nicht innerhalb eines jeden Speicherblocks zugewiesen oder identifiziert
werden können.
-
Wenn
ein Flashspeicherbauelement beispielsweise 2-Bit-Daten je Speicherzelle
speichert, wie in 3A dargestellt ist, ist eine
Seitenadresse, welche die erste/letzte Seite des ersten Speicherblocks
BLK0 auswählt,
identisch mit einer Seitenadresse zur Auswahl der ersten/letzten
Seite eines zweiten oder anderen Speicherblocks. Im Gegensatz dazu
unterscheidet sich, wenn ein Flashspeicherbauelement 3-Bit-Daten
je Speicherzelle speichert, wie in 3B dargestellt
ist, die Seitenadresse, welche die erste/letzte Seite des ersten
Speicherblocks BLK0 auswählt,
von der Seitenadresse zur Auswahl der ersten/letzten Seite eines
zweiten oder anderen Speicherblocks. Dies schließt die effektive Zuordnung
einer extern zur Verfügung
gestellten Adresse zu einer Seitenadresse und einer Blockadresse
für das
korrespondierende Flashspeicherbauelement aus. Das bedeutet, dass
es nicht möglich
ist, die Adressenzuordnungen in den vorhandenen Speicherblöcken von
einer in den Seiten zugeordneten Adresse zu unterscheiden, wenn
3-Bit-Daten je Speicherzelle gespeichert werden. Aus diesem Grund
kann eine Speichersteuereinheit, die ein Flashspeicherbauelement
steuert, eine Adressenumwandlungstabelle benötigen, um eine extern zur Verfügung gestellte
Adresse in eine interne Adresse umzuwandeln, die in dem in 3B dargestellten
Flashspeicherbauelement verwendbar ist.
-
Der
Erfindung liegt das technische Problem zugrunde, ein Verfahren zum
Scramblen (scramble – durchmischen
bzw. verschlüsseln)
von Adressendaten und ein Speichersystem bereitzustellen, welche keine
Adressenumwandlungstabelle zum Konvertieren einer extern angelegten
Adresse in eine interne Adresse benötigen.
-
Die
Erfindung löst
dieses Problem durch Bereitstellung eines Verfahrens mit den Merkmalen
des Patentanspruchs 1 und eines Speichersystems mit den Merkmalen
des Patentanspruchs 11.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben,
deren Wortlaut hiermit durch Bezugnahme in die Beschrei bung aufgenommen
wird, um unnötige
Textwiederholungen zu vermeiden.
-
Vorteilhafte,
nachfolgend im Detail beschriebene Ausführungsformen der Erfindung
sowie die zu deren besserem Verständnis oben erläuterten,
herkömmlichen
Ausführungsbeispiele
sind in den Zeichnungen dargestellt. Es zeigt/zeigen:
-
1 ein
Blockdiagramm eines herkömmlichen
NAND-Flashspeicherbauelements,
-
2 ein
Blockdiagramm eines Bereichs eines Speicherblocks und ein korrespondierender
Datenregister- & Detektionsverstärkerschaltkreis
aus 1,
-
3A eine
Tabelle zur Darstellung der Block- und Seitenadressen für ein Flashspeicherbauelement,
das 2-Bit-Daten je Speicherzelle speichert,
-
3B eine
Tabelle zur Darstellung der Block- und Seitenadressen für ein Flashspeicherbauelement,
das 3-Bit-Daten je Speicherzelle speichert,
-
4 ein
allgemeines Blockdiagramm eines Speichersystems gemäß einer
Ausführungsform
der Erfindung,
-
5 eine
Tabelle zur Darstellung eines beispielhaften Adressenscrambleverfahrens
gemäß einer
Ausführungsform
der Erfindung,
-
6 eine
Tabelle zur weiteren Darstellung des Adressenscrambleverfahrens
zur Verwendung mit einer Flashsteuereinheit und einem Flashspeicherbauelement
gemäß 4 und
-
7 ein
Blockdiagramm zur weiteren Darstellung des Flashspeicherbauelements
aus 4.
-
Ein
Flashspeicherbauelement wird als Beispiel für ein nichtflüchtiges
Speicherbauelement verwendet, das in einer Ausführungsform der vorliegenden
Erfindung verwendet werden kann. Die Erfindung ist jedoch nicht
auf das hier beschriebene Flashspeicherbauelement oder auf bestimmte
in diesem Zusammenhang gemachte illustrative Annahmen beschränkt.
-
4 ist
ein allgemeines Blockdiagramm eines Speichersystems gemäß einer
Ausführungsform der
Erfindung.
-
Bezugnehmend
auf 4 umfasst das Speichersystem ein Flashspeicherbauelement 1000,
das ein Feld von Speicherzellen aufweist, die angepasst sind, um
3-Bit-Daten bzw. 3 Datenbits zu speichern, und eine zugehörige Flashsteuereinheit 2000.
Das dargestellte Speichersystem kann beispielsweise in Bezug auf
Speicherkarten, Pufferspeicher für
Festplatten (HDDs), Speicher mit großer Kapazität, die zur Verwendung in verschiedenen
Computerplattformen angepasst sind, usw. verwendet werden.
-
Das
Speicherbauelement 1000 wird durch die Flashsteuereinheit 2000 gesteuert
und wird als Beispiel eines Speicherbauelements beschrieben, das
eine ungerade Anzahl von Bit-Daten oder (2N + 1)-Bit-Daten bzw.
(2N + 1) Datenbits je Speicherzelle speichert, wobei N eine positive
ganze Zahl größer oder
gleich 1 ist. Die Flashsteuereinheit 2000 empfängt extern
zur Verfügung
gestellte Adressendaten, beispielsweise von einer CPU eines Hostgerätes, und
konvertiert die „externen
Adressendaten" in „interne
Adressendaten",
die zur Verwendung innerhalb des Speicherbauelements 1000 geeignet
sind, das 3-Bit-Daten speichert.
-
Wie
im Zusammenhang mit der Beschreibung von 3B ausgeführt ist,
sind herkömmliche Speichersysteme
nicht in der Lage eine extern-zu-intern-Adressendatenkonvertierung
ohne Rückgriff
auf eine Nachschlagtabelle auszuführen. Die Verwendung einer
Nachschlagetabelle ist jedoch relativ langsam und eine effizientere
Lösung
wird durch Ausführungsformen
dieser Erfindung vorgeschlagen. Daher konvertiert die Flashsteuereinheit 2000 im
Unterschied zur herkömmlichen
Lösung
die externen Adressendaten in interne Adressendaten, z. B. in eine
Seitenadresse und eine Blockadresse, für das Speicherbauelement 1000,
das eine ungerade Anzahl von Bit-Daten speichert, ohne eine Adressennachschlagetabelle
für die
Umsetzung der Konvertierung zu verwenden.
-
In
einer Ausgestaltung der Erfindung ignoriert die Flashsteuereinheit 2000 im
Betrieb bestimmte bzw. gewisse externe Adressendaten, wenn die externen
Adressendaten einen bestimmten bzw. gewissen Scramblewert aufweisen.
Das bedeutet, dass, wenn externe Adressendaten einen bestimmten
Scramblewert aufweisen, der korrespondierende Datenzugriffsvorgang
auf das Flashspeicherbauelement 1000, d. h. ein Programmier-,
Lese- oder Löschvorgang,
der den „Scramblewertadressendaten" zugeordnet ist,
einfach ignoriert wird. Dies wird beispielsweise als „No-op" bezeichnet. Wenn
dies der Fall ist, muss der Bereich der Scramblewertadressendaten
sehr sorgfältig
zwischen der Flashsteuereinheit 2000 und dem externen Gerät definiert
werden, welches den korrespondierenden Datenzugriffsvorgang auslöst.
-
Unter
den oben gemachten Annahmen speichert das Flashspeicherbauelement 1000 beispielsweise
3-Bit-Daten je Speicherzelle (3B) und umfasst 32 Wortleitungen
(32WL), Paare von ungeraden/geraden Bitleitun gen (2P) werden in
jedem Speicherblock zur Verfügung
gestellt und jeder Speicherblock umfasst 192 Seiten (32WL·2P·3B). Daher
müssen 8-Bit-Adressendaten
verwendet werden, um zwischen den 192 Seiten auswählen zu
können.
Entsprechend einer Ausführungsform
der Erfindung werden jedoch wenigstens Teile, z. B. 2 Bits der Adressendaten,
der 8-Bit-Adressendaten gescrambled.
-
Wie
in 5 dargestellt ist, werden beispielsweise 8-Bit-Adressendaten,
z. B. Adressenbits A12 bis A19, verwendet, um zwischen den 192 Seiten
eines jeden Speicherblocks auszuwählen. Hier werden, wenn externe
Adressendaten für
die Adressenbits A13 und A14 gleichzeitig die Bitwerte von „1" und „1" aufweisen, die korrespondierenden
an das Flashspeicherbauelement 1000 gerichteten Datenzugriffsvorgänge ignoriert.
Daher werden bei diesem Beispiel die externen Adressendaten, welche
den Wert „11" für die Adressenbits
A13 und A14 aufweisen, als „gescramblede
Adressendatenwerte" definiert,
und diese gescrambleden Adressendatenwerte werden keiner Seite zugewiesen
oder zugeordnet.
-
Als
Ergebnis dieses externen Adressenscrambleverfahrens, werden 64 Seiten
für jeden Speicherblock
gescrambled. Wenn dies der Fall ist, ist es möglich, 192 Seiten durch Verwendung
der zugewiesenen externen 8-Bit-Adressendaten auszuwählen. Wie
aus 5 ersichtlich ist, kann, trotz der Tatsache, dass
das Flashspeicherbauelement 2000 3-Bit-Daten je Speicherzelle
speichert, eine Seitenadresse, welche die Adressenbits A12 bis A19
umfasst, auf identische Weise verwendet werden, um eine erste/letzte
Seite eines ersten Speicherblocks BLK0 oder die erste/letzte Seite
eines zweiten oder anderen Speicherblocks auszuwählen. Das bedeutet, dass die
externen Adressendaten passend den Seitenadressen und Blockadressen
für das
Flashspeicherbauelement 200 zugeordnet sind, ohne eine Adressennachschlagetabelle
zu verwenden. Entsprechend können
im Bezug auf Speicherblöcke
zugeordnete Adres sendaten von im Bezug auf Seiten zugeordneten Adressendaten
unterschieden werden.
-
Für andere
Ausführungsformen
versteht sich, dass das Adressenscrambleverfahren nicht auf Flashspeicherbauelemente
begrenzt ist, die 3-Bit-Daten
je Speicherzelle speichern. Zusätzlich sind
die bestimmten Scramblewerte nicht nur auf die dargestellten Adressenbits,
z. B. Adressenbits A13 und A14, beschränkt.
-
6 ist
eine Tabelle zur weiteren Darstellung des Adressenscrambleverfahrens
und der zugehörigen
Adressendaten, wie sie zwischen der Flashsteuereinheit und dem Flashspeicherbauelement
gemäß 4 übertragen
werden.
-
Aus
dem Stand der Technik ist es bekannt, dass Flashspeicherbauelemente
Adressendaten, Befehlsdaten und Nutzdaten über eine Ansammlung von Eingabe-/Ausgabe(I/O)-Pins
empfangen, die in der Tabelle gemäß 6 mit I/O
0 bis I/O 7 nummeriert sind. Aufgrund der beschränkten Anzahl von I/O-Pins,
werden Zeilen- und Spaltenadressen in Datengruppen aufgeteilt und über eine
Anzahl von Datenübertragungstakten,
z. B. erste bis fünfte
Takte, an das Flashspeicherbauelement übertragen. Wie in 6 dargestellt
ist, werden Spaltenadressendaten, d. h. Adressenbits A0 bis A11,
dem Flashspeicherbauelement während
des ersten und zweiten Takts zur Verfügung gestellt. Zeilenadressendaten,
d. h. Adressenbits A12 bis A31, werden dem Flashspeicherbauelement
während
des dritten bis fünften Takts
zur Verfügung
gestellt. Die Zeilenadressenbits A12 bis A31 umfassen eine Seitenadresse,
die zwischen den Seiten auswählt,
und eine Blockadresse, die zwischen Speicherblöcken auswählt.
-
Im
dargestellten Ausführungsbeispiel
umfasst jeder Speicherblock 192 Seiten (32WL·2P·3B), da 32 Wortleitungen
und ungerade/gerade Bitlei tungspaare in jedem Speicherblock zur
Verfügung gestellt
werden, welcher Speicherzellen umfasst, die 3-Bit-Daten speichern.
Die korrespondierende Seitenadresse sind 8-Bit-Adressendaten, z.
B. A12 bis A19, um zwischen den 192 Seiten auszuwählen. Das Adressenbit
A12 wird als Information verwendet, um zwischen der geraden/ungeraden
Bitleitung auszuwählen.
Die Adressenbits A13 und A14 werden als Informationen zum Auswählen von
einem von drei Datenbits, die alternativ auch als erste bis dritte
Seitendatenbits bezeichnet werden können, für jeden Speicher verwendet.
Die Adressenbits A15 bis A19 werden verwendet, um zwischen den 32
Wortleitungen in jedem Speicherblock auszuwählen. Es versteht sich, dass
diese Adressenbitzuordnung beliebig ist und mit dem Speichersystementwurf
variieren kann.
-
Die
Seitenadressen können
beispielsweise zusätzlich
zu den Blockadressen unterschiedlich neu angeordnet werden. Die
Adressenbits zum Auswählen
von einem der drei Datenbits können
höher als die
Adressenbits zur Auswahl der Wortleitungen angeordnet werden. Oder
die Adressenbits zum Auswählen
von einem der drei Datenbits können
niedriger als die Adressenbits zur Auswahl der Wortleitungen angeordnet
werden. Oder Adressenbits zum Auswählen von einem der drei Datenbits,
Adressenbits zum Auswählen
eines Speicherblocks und Adressenbits zur Auswahl der Wortleitungen
können dem
Flashspeicherbauelement sequentiell zur Verfügung gestellt werden.
-
7 ist
ein Blockdiagramm zur weiteren Darstellung des Flashspeichersystems
aus 4.
-
Bezugnehmend
auf 7 umfasst das Flashspeicherbauelement 1000 ein
Speicherzellenfeld 1100, einen Zeilendecoderschaltkreis 1200,
einen Spaltendecoderschaltkreis 1300, einen Datenregister-
und Abtastverstärkerschaltkreis
(S/A) 1400, einen Spaltengatterschaltkreis 1500,
eine I/O-Schnittstelle 1600 und einen Befehlsregister- & Steuerlogikschaltkreis 1700.
-
Das
Speicherzellenfeld 1100 umfasst eine Mehrzahl von Speicherblöcken, wobei
jeder Speicherblock in einem Feld angeordnete Speicherzellen umfasst,
welche durch kreuzende Wortleitungen und Bitleitungen definiert
werden. Die Struktur eines jeweiligen Speicherblocks entspricht
der von 2. Der Zeilendecoderschaltkreis 1200 wählt in Reaktion
auf eine über
die I/O-Schnittstelle 1600 zur Verfügung gestellte Zeilenadresse
zwischen den Seiten des Speicherzellenfelds 1100 aus. Der
Spaltendecoderschaltkreis 1300 decodiert eine Spaltenadresse
CA, die über
die I/O-Schnittstelle 1600 zur Verfügung gestellt wird, und gibt
dann das decodierte Ergebnis an den Spaltengatterschaltkreis 1500 als Spaltenauswahlinformation
aus. Der S/A 1400 arbeitet während Lesevorgängen als
Abtastverstärker
und während
Programmiervorgängen
als Schreibtreiber. Es wird angenommen, dass der S/A 1400 eine ähnliche
Struktur aufweist, wie der in Bezug auf 2 Beschriebene.
-
Der
Befehlsregister- & Steuerlogikschaltkreis 1700 empfängt in Reaktion
auf Steuersignale einen Befehl von der I/O-Schnittstelle 1600 und
steuert Komponenten des Flashspeicherbauelements 1000 entsprechend
einem extern zur Verfügung
gestellten Befehl. Der Befehlsregister- & Steuerlogikschaltkreis 1700 empfängt bestimmte
Adressenbits, z. B. A13 und A14, in einer Zeilenadresse RA. Der
Befehlsregister- & Steuerlogikschaltkreis 1700 ignoriert
einen aktuellen Datenzugriffsvorgang, wenn definierte Adressenbits,
hier A13 und A14, einen Scrambleadressendatenwert von z. B. 11 anzeigen.
Die Adressenbits A13 und A14 werden auch verwendet, um Programmier-/Lesevorgänge auszuwählen, die
an eines der ersten bis dritten Seitendatenbits gerichtet ist. Aufgrund
dessen wird der aktuell angeforderte Vorgang nicht ausgeführt, wenn
die Adressenbits A13 und A14 einen bestimmten Scramblewert von z. B. 11 aufweisen.
Im Gegensatz dazu wird der aktuelle Datenzugriffsvorgang in Bezug
auf eines der ersten bis dritten Seitendatenbits durch den Befehlsregister- & Steuerlogikschaltkreis 1700 ausgeführt, wenn
die Adressenbits A13 und A14 keinen bestimmten Scramblewert von
z. B. 11 aufweisen.
-
Wie
oben ausgeführt,
ist es daher möglich, die
externen Adressendaten Speicherblöcken auf eine Weise effektiv
zuzuordnen, die es ermöglicht, derartig
zugeordnete Daten von Seiten zugeordneten Adressendaten zu unterscheiden,
selbst wenn ein Speichersystem ungerade Anzahlen von Bitdaten bzw.
Datenbits, z. B. 3-Bit-Daten, je Speicherzelle speichert. Daher
benötigt
eine zugehörige
Flashsteuereinheit keine Adressennachschlagetabelle, wie es unter
diesen Umständen
normalerweise üblich
ist.