-
Die
vorliegende Erfindung bezieht sich auf ein Speichersystem, einen
NAND-Flashspeicher und ein Verfahren zum Lesen von Daten in einem NAND-Flashspeichersystem
mit wahlfreiem Zugriff.
-
In
vielen Computersystemen werden Softwaremodule oder Programme an „Ort und
Stelle" (in place)
ausgeführt.
Diese Technologie ist gewöhnlich als
XIP (eXecute-in-place) bekannt, durch welche Programme wegen der
kleinen Hauptspeichergröße und der
kurzen Boot-Dauer in mobilen Speichersystemen direkt im Flashspeicher
ausgeführt
werden. XIP-Applikationen können
im Flashspeicher ausgeführt
werden ohne Ausführungscodes
vom Flashspeicher an den RAM zu übermitteln.
Die XIP-Technologie erlaubt eine Reduzierung der Speicheranforderungen
an RAMs und die Mehrfach-Ausführung von
vielen Applikationsprogrammen. Da NAND-Flashspeicher gewöhnlich in
XIP-fähigen
Umgebungen nicht funktionsfähig
sind, werden normalerweise NOR-Flashspeicher
für XIP-Applikationen benutzt.
-
Viele
Untersuchungen wurden durchgeführt um
XIP-Applikationen für NAND-Flashspeicher
bereitzustellen. NAND-Flashspeicher mit einer XIP-Funktion auszustatten
erlaubt diesen in Modi mit wahlfreiem Zugriff bzw. direktem Zugriff
zu arbeiten.
-
Der
Erfindung liegt das technische Problem zugrunde, ein Speichersystem,
einen NAND-Flashspeicher und ein Verfahren zum Lesen von Daten in einem
NAND-Flashspeichersystem mit wahlfreiem Zugriff bereitzustellen,
welche in einer XIP-fähigen Umgebung
betreibbar sind.
-
Die
Erfindung löst
dieses Problem durch Bereitstellung eines Speichersystems mit den
Merkmalen des Patentanspruchs 1 oder 16, eines NAND-Flashspeichers
mit den Merkmalen des Patentanspruchs 25 und eines Verfahrens zum
Lesen von Daten in einem NAND-Flashspeichersystem
mit wahlfreiem Zugriff mit den Merkmalen des Patentanspruchs 35.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben,
deren Wortlaut hiermit durch Bezugnahme in die Beschreibung aufgenommen
wird, um unnötige
Textwiederholungen zu vermeiden.
-
Vorteilhafte,
nachfolgend im Detail beschriebene Ausführungsformen der Erfindung
sind in den Zeichnungen dargestellt. Es zeigt/zeigen:
-
1 ein
Speichersystem gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung,
-
2 eine
Darstellung des in 1 gezeigten Speichers gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung,
-
3 eine
Darstellung des in 1 gezeigten Speichers gemäß ei ner
beispielhaften Ausführungsform
der vorliegenden Erfindung,
-
4 ein
Speichersystem gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung,
-
5 eine
Darstellung des in 4 gezeigten Speichers gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung und
-
6 einen
Ablauf des Lesens von Daten in das Speichersystem gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung.
-
1 zeigt
ein Speichersystem 10 gemäß einer beispielhaften Ausführungsform
der vorliegenden Erfindung. Unter Bezugnahme auf 1 umfasst
das Speichersystem 10 eine Speichersteuereinheit 100 und
einen Speicher 200. Eine zentrale Prozessoreinheit (CPU) 120 der
Speichersteuereinheit 100 dient dazu, den Speicher 200 allgemein
zu steuern. Der Speicher 200 umfasst einen Speicher 220 mit
wahlfreiem Zugriff, einen NAND-Flashspeicher 240 und einen
Auswahlschaltkreis 260. Die CPU 120 steuert den
Speicher 220 mit wahlfreiem Zugriff und den NAND-Flashspeicher 240 des
Speichers 200 unabhängig
voneinander. Der Auswahlschaltkreis 260 verbindet die Speichersteuereinheit
in Übereinstimmung
mit einem Befehl der CPU 120 mit dem Speicher 220 mit
wahlfreiem Zugriff oder mit dem NAND-Flashspeicher 240.
-
Im
Speicher 200 sind der Speicher 220 mit wahlfreiem
Zugriff und der NAND-Flashspeicher 240 in einen einzelnen
Chip integriert. Der Speicher 220 mit wahlfreiem Zugriff
umfasst ein Speicherzellenfeld, welches in einem Modus mit wahlfreiem
Zugriff bzw. direktem Zugriff betrieben werden kann. Das Speicherzellenfeld
umfasst nichtflüchtige
Speicher zellen. Der Speicher 220 mit wahlfreiem Zugriff
kann beispielsweise mit einem parallelen Flashspeicher implementiert
werden. Dieser parallele Flashspeicher ist in paralleler Anordnung
zu den Speicherzellen zwischen einer Bitleitung und einer Masseleitung eingeschleift.
Der parallele Flashspeicher kann Daten von einer Adresse lesen bzw.
in eine Adresse schreiben, unabhängig
von der Anordnung der Speicherzellen. Auf die Speicherzellen kann
in Einzel-Byte-Einheiten zugegriffen werden. Es gibt verschiedene
Arten von parallelen Flashspeichern, wie beispielsweise elektrisch
löschbare
und programmierbare Nur-Lese-Speicher
(EEPROMs), NOR-Flashspeicher, geteilte Bitleitungs-NOR(DINOR)-Flashspeicher
usw. Der Speicher 220 mit wahlfreiem Zugriff kann mit einem
partiellen Speicherzellenfeld eines NAND-Flashspeichers verwendet werden. Dies
wird nachfolgend in Verbindung mit 2, 3 und 5 detailliert
beschrieben.
-
Dem
Speichersystem 10 gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung ist der Auswahlschaltkreis 260 zugeordnet,
welcher im Speicher 200 angeordnet ist. Entsprechend steuert
der Auswahlschaltkreis 260 den Speicher 220 mit
wahlfreiem Zugriff und den NAND-Flashspeicher 240. Dieses
Speichersystem 10 ist in der Lage, die XIP-Funktion zu
unterstützen.
Entsprechend wird ein Programm direkt, zum Beispiel an Ort und Stelle,
im Flashspeicher ausgeführt.
Die XIP-Funktion
kann einen RAM-Bedarf, welcher zur Ausführung des Applikationsprogramms
erforderlich ist, reduzieren und viele Applikationsprogramme können gleichzeitig ausgeführt werden.
Das mit einer XIP-Funktion
ausgestattete Speichersystem 10 kann in einem mobilen System
eingesetzt werden.
-
2, 3 und 5 zweigen
beispielhafte Ausführungsformen,
welche partiell ein Speicherzellenfeld eines NAND-Flashspeichers
als Speicher mit wahlfreiem Zugriff verwenden. Zur Vereinfachung der
Beschreibung zeigen 2, 3 und 5, dass
eine einzelne Wortleitung des NAND- Flashspeicherzellenfelds für eine Struktur
des Speichers mit wahlfreiem Zugriff benutzt wird. Selbst wenn diese beispielhaften
Ausführungsformen
die einzelne Wortleitung für
eine Struktur des Speichers mit wahlfreiem Zugriff zeigen, muss
die vorliegende Erfindung nicht darauf beschränkt sein. Es können beispielsweise zwei
oder mehr Wortleitungen für
den Speicher mit wahlfreiem Zugriff verwendet werden.
-
2 zeigt
eine beispielhafte Ausführungsform
des in 1 dargestellten Speichers 200. Bezugnehmend
auf 2 umfasst der Speicher 200 den Speicher 220 mit
wahlfreiem Zugriff und den NAND-Flashspeicher 240.
-
Der
Speicher 220 mit wahlfreiem Zugriff programmiert Daten
seitenweise und liest Daten in einem Modus mit wahlfreiem Zugriff.
Der Speicher 220 mit wahlfreiem Zugriff beinhaltet ein
1-Wortleitung-Kettenspeicherzellenfeld 222,
einen X-Decoder 224, einen V-Decoder 226 und einen
Abtastverstärkerschaltkreis 228.
-
Das
1-Wortleitung-Kettenspeicherzellenfeld 222 umfasst eine
Vielzahl von Bitleitungen BL0 bis BLn, welche jeweils einen ersten
Auswahltransistor ST, einen Zellentransistor MC und einen zweiten Auswahltransistor
GT umfassen, welche in Reihe geschaltet sind. Der erste Auswahltransistor
ST korrespondiert mit einem Kettenauswahltransistor SST eines normalen
NAND-Flashspeicherzellenfelds, während
der zweite Auswahltransistor GT mit einem Masseauswahltransistor
GST eines normalen NAND-Flashspeicherzellenfelds korrespondiert.
Der Zellentransistor MC wird aus einer einzelnen Bitleitung gebildet.
Der Zellentransistor MC wird über
zwei Auswahlsignalleitungen SSL0 und GSL0 und eine Wortleitung WL
mit Auswahlsignalen und Wortleitungsspannungen versorgt.
-
Der
X-Decoder 224 empfängt
eine Zeilenadresse aus einem nicht dar gestellten Adressenpuffer und
stellt dem 1-Wortleitung-Kettenspeicherzellenfeld 222 über die
Auswahlleitungen SSL0 und GSL0 und die Wortleitung WL Auswahlsignale
und die Wortleitungsspannung zur Verfügung.
-
Der
Y-Decoder 226 empfängt
eine Spaltenadresse aus dem Adressenpuffer und aktiviert eine korrespondierende
Bitleitung BL.
-
Der
Abtastverstärkerschaltkreis 228 detektiert
Daten einer Speicherzelle, die mit einer aktiven Bitleitung des
1-Wortleitung-Kettenspeicherzellenfeldes 222 verbunden
ist.
-
Der
NAND-Flashspeicher 240 besteht aus einem 32-Wortleitungen-Kettenspeicherzellenfeld 242,
einem X-Decoder 244, einen Y-Decoder 246 und einem
Seitenpufferschaltkreis 248.
-
Das
32-Wortleitungen-Kettenspeicherzellenfeld 242 ist mit dem
1-Wortleitung-Kettenspeicherzellenfeld 222 des
Speichers 220 mit wahlfreiem Zugriff durch den Auswahlschaltkreis 260 verbunden.
Wie aus 2 hervorgeht, ist eine 1-Wortleitung-Kette 223 mit
einer 32-Wortleitungen-Kette 243 durch
einen Blockauswahltransistor BST0 verbunden.
-
Der
X-Decoder 244 wählt
eine Wortleitung in Reaktion auf eine Zeilenadresse aus, welche
von einem nicht dargestellten Adressenpuffer eingegeben wird, und
versorgt die ausgewählte
Wortleitung mit einer Wortleitungsspannung.
-
Der
Y-Decoder 246 empfängt
eine Spaltenadresse vom Adressenpuffer und aktiviert eine korrespondierende
Bitleitung.
-
Der
Seitenpufferschaltkreis 248 ist durch Bitleitungen BL0
bis BLn mit dem 32-Wortleitungen-Speicherzellenfeld 242 verbunden.
Der Seitenpufferschaltkreis 248 speichert Daten, welche
von einem nicht dargestellten Pufferspeicher geladen werden. Daten,
welche mit der Kapazität
einer Seite korrespondieren, werden in den Seitenpufferschaltkreis 248 geladen.
Die geladenen Daten werden gleichzeitig in eine ausgewählte Seite
programmiert. Darüber hinaus
liest der Seitenpufferschaltkreis 248 Daten von einer ausgewählten Seite
und speichert die gelesenen Daten temporär. Im Seitenpufferschaltkreis 248 gespeicherte
Daten werden in Reaktion auf ein nicht dargestelltes Lesefreigabesignal
an den Pufferspeicher übermittelt.
-
In
der Zwischenzeit wird der Seitenpufferschaltkreis 248 vom
1-Wortleitung- und
32-Wortleitungen-Speicherzellenfeld 222 und 242 über die
Bitleitungen BL0 bis BLn gemeinsam verwendet. Das 1-Wortleitung-Speicherzellenfeld 222 wird
durch den Seitenpufferschaltkreis 248 seitenweise mit Daten programmiert.
-
Der
Auswahlschaltkreis 260 wählt aus, ob der Speicher 200 als
der Speicher 220 mit wahlfreiem Zugriff für die Ausführung der
XIP-Funktion oder der NAND-Flashspeicher 240 verwendet
werden soll, um normale Daten zu speichern. Bezugnehmend auf 2 umfasst
der Auswahlschaltkreis 260 einer Mehrzahl von Blockauswahltransistoren
BST0 bis BSTn. Die Mehrzahl von Blockauswahltransistoren BST0 bis
BSTn ist in Reaktion auf ein Blockauswahlsignal BSS, welches über eine
Blockauswahlleitung BSL übertragen
wird, an oder aus geschaltet. Die Blockauswahltransistoren BST0
bis BSTn verbinden oder trennen das 1-Wortleitung-Kettenspeicherzellenfeld 222 mit
dem 32-Wortleitungen-Kettenspeicherzellenfeld 242 in
Reaktion auf das Blockauswahlsignal BSS. Das Blockauswahlsignal
BSS wird von der CPU 120 der Speichersteuereinheit 100 bereitgestellt.
-
Zum
Beispiel werden die Blockauswahltransistoren BST0 bis BSTn wäh rend der
Programmierung von Daten in das 1-Wortleitung-Kettenspeicherzellenfeld 222 angeschaltet.
Das 1-Wortleitung-Kettenspeicherzellenfeld 222 wird
durch den Seitenpufferschaltkreis 248 programmiert. Die
Blockauswahltransistoren BST0 bis BSTn werden während des Lesens von Daten
des 1-Wortleitung-Kettenspeicherzellenfeldes 222 ausgeschaltet.
Der Abtastverstärkerschaltkreis 228 liest
Daten vom 1-Wortleitung-Kettenspeicherzellenfeld 222. Dadurch
ist der Speicher 220 mit wahlfreiem Zugriff in der Lage,
direkt bzw. wahlfrei auf das 1-Wortleitung-Kettenspeicherzellenfeld 222 zuzugreifen.
-
Die
Mehrzahl von Blockauswahltransistoren BST0 bis BSTn ist Hochspannungstransistoren
zugeordnet. Diese Hochspannungstransistoren helfen zu verhindern,
dass fälschlicherweise
das 1-Wortleitung-Kettenspeicherzellenfeld 222 gelöscht wird, während das
32-Wortleitungen-Kettenspeicherzellenfeld 242 gelöscht wird.
-
Das
Blockauswahlsignal BSS wird gemäß der vorliegenden
beispielhaften Ausführungsform von
der CPU 120 bereitgestellt, die vorliegende Erfindung ist
jedoch nicht darauf beschränkt.
Der Auswahlschaltkreis 260 kann weiter einen nicht dargestellten
Blockauswahlsignalgenerator umfassen, um das Blockauswahlsignal
BSS zu liefern. Der Blockauswahlsignalgenerator analysiert Adressen
und Daten, welche an die Speichersteuereinheit 100 übermittelt
wurden, und erzeugt das Blockauswahlsignal BSS nachdem bestimmt
wurde, welcher Speicher den korrespondierenden Adressen und Daten
zugeordnet ist. Wenn zum Beispiel eine Anforderung zur Programmierung
von Code-Daten von der Speichersteuereinheit 100 besteht,
um den NAND-Flashspeicher 240 zu betreiben, gibt der Blockauswahlsignalgenerator
das Blockauswahlsignal BSS mit einem hohen logischen Pegel aus und
programmiert die Code-Daten korrespondierend in das 1-Wortleitung-Kettenspeicherzellenfeld 222.
-
Während der
NAND-Flashspeicher 240 entsprechend der vorliegenden beispielhaften
Ausführungsform
eine 32-Wortleitungen-Kette 243 umfasst, ist die vorliegende
Erfindung nicht darauf beschränkt.
-
Im
Speicher 200 gemäß der beispielhaften Ausführung der
vorliegenden Erfindung werden Daten, auf welche direkt bzw. wahlfrei
zugegriffen werden soll, im 1-Wortleitung-Kettenspeicherzellenfeld 222 des
Speichers 220 mit wahlfreiem Zugriff gespeichert und normale
Daten werden im 32-Wortleitungen-Kettenspeicherzellenfeld 242 des
NAND-Flashspeichers 240 gespeichert.
Der Speicher 220 mit wahlfreiem Zugriff und der NAND-Flashspeicher 240 sind
unabhängig
voneinander durch den Auswahlschaltkreis 260 steuerbar.
Zusätzlich
ist der Speicher 200 gemäß der beispielhaften Ausführungsform
der vorliegenden Erfindung dazu in der Lage, Daten vom Speicher 220 mit
wahlfreiem Zugriff zu lesen, während
Daten in den NAND-Flashspeicher 240 programmiert werden.
-
Im
Speicher 200 gemäß der beispielhaften Ausführungsform
der vorliegenden Erfindung benutzt der Speicher 220 mit
wahlfreiem Zugriff den Seitenpufferschaltkreis 248 des
NAND Flashspeichers 240, um Daten zu programmieren.
-
Trotzdem 2 zeigt,
dass der Speicher 220 mit wahlfreiem Zugriff und der NAND-Flashspeicher 240 sich
gemäß der beispielhaften
Ausführungsform eine
gemeinsame Datenleitung DL teilen, ist die vorliegende Erfindung
nicht darauf beschränkt. 3 stellt
einen in 1 gezeigten Speicher 300 gemäß einer
weiteren beispielhaften Ausführungsform
der vorliegenden Erfindung dar. Bezugnehmend auf 3 sind
ein Speicher 320 mit wahlfreiem Zugriff und ein NAND-Flashspeicher 340 alternativ
mit einer Datenleitung DL verbunden.
-
Der
Speicher 320 mit wahlfreiem Zugriff und der NAND-Flashspeicher 340 sind
den entsprechenden Elementen 220 und 240 ähnlich,
die in 2 gezeigt sind.
-
Ein
Auswahlschaltkreis 360 umfasst einen Blockauswahlschaltkreis 362 und
einen Datenleitungsauswahlschaltkreis 364. Der Blockauswahlschaltkreis 362 dient
dazu, ein 1-Wortleitung-Kettenspeicherzellenfeld 322 und
ein 32-Wortleitungen-Kettenspeicherzellenfeld 342 in Reaktion
auf ein Blockauswahlsignal BSS elektrisch zu verbinden oder zu trennen.
Der Datenleitungsauswahlschaltkreis 364 dient dazu, in
Reaktion auf ein Datenleitungsauswahlsignal DSS die Datenleitung
DL mit dem Speicher 320 mit wahlfreiem Zugriff oder dem NAND-Flashspeicher 340 zu
verbinden. Das Datenleitungsauswahlsignal DSS wird von der Speichersteuereinheit 100 geliefert.
-
Das
Speichersystem 10 gemäß 1 umfasst
den Auswahlschaltkreis 260 im Speicher 200, aber
die vorliegende Erfindung ist nicht auf diese beispielhafte Ausführungsform
beschränkt. 4 zeigt ein
Speichersystem 20 gemäß einer
beispielhaften Ausführungsform
der vorliegenden Erfindung. Ein Speicher 400 des Speichersystems 20 kann
auf einen in 1 gezeigten Auswahlschaltkreis 260 verzichten.
Der Speicher 400 umfasst einen Speicher 420 mit
wahlfreiem Zugriff und einen NAND-Flashspeicher 440. Der Speicher 420 mit
wahlfreiem Zugriff setzt mehrere Schaltkreiseinheiten des NAND-Flashspeichers 440 ein,
während
Daten hineingeschrieben oder ausgelesen werden. Das Speichersystem 20 kann
darüber
hinaus eine Speichersteuereinheit 100 umfassen, die eine
CPU 120 umfasst, wie oben unter Bezugnahme auf 1 beschrieben
ist.
-
5 zeigt
eine Ausführungsform
des in 4 gezeigten Speichers 400. Bezugnehmend
auf 5 umfasst der Speicher 400 den Speicher 420 mit
wahlfreiem Zugriff und den NAND-Flashspeicher 440.
-
Der
Speicher 420 mit wahlfreiem Zugriff besteht aus einem 1-Wortleitung-Kettenspeicherzellenfeld 422,
einem X-Decoder 424 und einem Abtastverstärkerschaltkreis 428 mit
wahlfreiem Zugriff. Der Speicher 420 mit wahlfreiem Zugriff
teilt einen V-Decoder 446 mit dem NAND-Flashspeicher 440.
Der Abtastverstärkerschaltkreis 428 mit
wahlfreiem Zugriff kann unter dem V-Decoder 446 angeordnet
sein.
-
6 zeigt
einen Datenlesevorgang im Speichersystem gemäß einer beispielhaften Ausführungsform
der vorliegenden Erfindung. Bezugnehmend auf 6 programmiert
das Speichersystem Daten in Einzelseiteneinheiten oder seitenweise.
Das Speichersystem liest Daten in Abhängigkeit von der Art der Daten
in einem Direktzugriffsmodus oder in Einzelseiteneinheiten oder
seitenweise. Verfahren zum Programmierung und zum Lesen von Daten werden
nachfolgend zur Vereinfachung der Beschreibung in Verbindung mit 1 und 6 beschrieben.
-
In
einem Schritt S110 werden zuerst Daten in den Speicher 200 programmiert.
Während
dieses Schrittes werden alle Daten in Einzelseiteneinheiten oder
seitenweise programmiert. Der Speicher 220 mit wahlfreiem
Zugriff und der NAND-Flashspeicher 240 werden in Einzelseiteneinheiten
oder seitenweise programmiert. Zum Beispiel werden Code-Daten in Seiteneinheiten
in den Speicher 220 mit wahlfreiem Zugriff programmiert.
Die Code-Daten werden bereitgestellt, um den NAND-Flashspeicher 240 zu steuern.
-
Als
nächstes
wird vor dem Lesen der Daten in einem Schritt S120 bestimmt, ob
die zu lesenden Daten, welche im Speicher 200 gespeichert
sind, Code-Daten sind. Wenn die zu lesenden Daten, welche im Speicher 200 gespeichert
sind, Code-Daten sind, erzeugt und übermittelt die Speichersteuereinheit 100 ein
Signal, um den Auswahlschaltkreis 260 zu veranlassen, den
Speicher 220 mit wahlfreiem Zugriff auszuwählen.
-
In
einem Schritt S130 arbeitet der Auswahlschaltkreis 260,
um den Speicher 220 mit wahlfreiem Zugriff in Reaktion
auf das von der Speichersteuereinheit 100 gesendete Signal
auszuwählen.
Die Speichersteuereinheit 100 liest die Code-Daten vom Speicher 220 mit
wahlfreiem Zugriff im Direktzugriffsmodus bzw. im Modus mit wahlfreiem
Zugriff.
-
Wenn
die zu lesenden Daten keine Code-Daten sondern stattdessen normale
Daten sind, liest die Speichersteuereinheit 100 Daten in
einem Schritt S140 vom NAND-Flashspeicher 240 in Einzelseiteneinheiten
oder seitenweise.
-
Speichersysteme
gemäß beispielhaften
Ausführungsformen
der vorliegenden Erfindung können in
eingebetteten Speichersystemen anwendbar sein.
-
Wie
oben ausgeführt,
sind das Speichersystem und das Datenleseverfahren gemäß der beispielhaften
Ausführungsformen
der vorliegenden Erfindung dazu in der Lage, die XIP-Applikationen
durch Programmieren der Daten in Einzelseiteneinheiten bzw. seitenweise
und durch Einbinden des Speichers mit wahlfreiem Zugriff, der dazu
in der Lage ist, Daten im wahlfreien Zugriffsmodus zu lesen, selbst
mit einem NAND-Flashspeicher
auszuführen.