-
Die
Erfindung betrifft eine Speichersteuerschaltung, eine zugehörige Smartcard
und ein zugehöriges
Lesesteuerverfahren.
-
Mit
der Entwicklung von Halbleiterherstellungstechnologien wurden Systeme
auf einem Chip, d.h. vom sogenannten Typ System-auf-Chip bzw. system-on-chip
(SOC), vorgeschlagen, bei denen eine Mehrzahl von Systemchips in
einem einzigen Systemchip integriert sind. Ein SOC umfasst typischerweise
einen Speicher, in dem ein Betriebssystem(OS)-Programm oder Daten gespeichert sind,
die erzeugt werden, wenn das OS-Programm ausgeführt wird.
-
Im
Allgemeinen umfasst ein Speicher ein Speicherzellenfeld mit einer
Matrixstruktur. Der Speicher empfängt ein Zeilenadressensignal,
ein Spaltenadressensignal und ein Datenlesesteuersignal oder ein
Datenschreibsteuersignal von einer Speichersteuerschaltung. Der
Speicher gibt Daten aus einer korrespondierenden Speicherzelle aus
oder schreibt Daten in eine korrespondierende Speicherzelle in Reaktion
auf das Datenlesesteuersignal bzw. das Datenschreibsteuersignal.
Zudem liest oder schreibt der Speicher Daten synchronisiert mit
einem Speichertaktsignal, welches von der Speichersteuerschaltung
empfangen wird. Die Speichersteuerschaltung empfängt ein Systemtaktsignal und
erzeugt das Speichertaktsignal. Das Systemtaktsignal wird in der Speichersteuerschaltung
und in einem System mit einer solchen Speichersteuerschaltung benutzt,
während
das Speichertaktsignal nur im Speicher benutzt wird. Das System
korrespondiert mit einem SOC, das die Speichersteuerschaltung und
einen Speicher umfasst.
-
Ein
Ausführungsbeispiel
einer Speichersteuerschaltung, die ein Speichertaktsignal aus einem Systemtaktsignal
erzeugt und das Speichertaktsignal einer Mehrzahl von Speichern
zur Verfügung
stellt, wird in der Patentschrift US 5.630.096 beschrieben.
-
1 zeigt im Blockdiagramm
eine herkömmliche
Speichersteuerschaltung 10 und einen Speicher 20.
Wie aus 1 ersichtlich
ist, umfasst die Speichersteuerschaltung 10 eine zentrale
Prozessoreinheit (CPU) 11 und eine Speicherschnittstelle 12,
die mit dem Speicher 20 verbunden ist. Die CPU 11 und
der Speicher 20 sind außerdem über einen Datenbus 30 miteinander
verbunden.
-
Ein
Verfahren zum Steuern eines Lesevorgangs des Speichers 20 mit
der herkömmlichen
Speichersteuerschaltung 10 wird nachfolgend unter Bezugnahme
auf die 1 und 2 beschrieben. 2 zeigt ein Zeitablaufdiagramm
von Signalen, welche während
eines Lesevorgangs des Speichers 20 benutzt werden.
-
Gemäß 2 sind ein Zeilenadressensignal RADD,
ein Spaltenadressensignal CADD und ein Vorladesteuersignal PGN zum
Lesen einer jeweiligen Speicherzelle des Speichers 20 erforderlich.
Ein Speichertaktsignal MCLK ist mit einem Systemtaktsignal SCLK
identisch.
-
Wie
aus 2 ersichtlich ist,
muss ein Zeitintervall „D1", während dem
ein Abtastverstärkersignal SEN
freigeschaltet wird, länger
sein als ein Zeitintervall „C", das für die Ausgabe
eines effektiven Datensignals aus einer Speicherzelle benötigt wird.
Des Weiteren muss ein Zellentransistor zur Ausgabe des effektiven
Datensignals aus der Speicherzelle erlauben, dass ein ausreichender
Zellenstrom fließt.
Für diesen
Zweck muss eine mit einem Gateanschluss des Zellentransistors verbundene
Wortleitung WL1 ausreichend aktiviert werden, um einen Setzspannungspegel
zu erreichen.
-
Mit
dem Ansteigen einer Zeitspanne „E", die erforderlich ist, um die Wortleitung
WL1 ausreichend zu aktivieren und so den Setzspannungspegel zu erreichen,
steigt auch das Zeitintervall „C" an. Als Konsequenz
steigt auch ein Zeitintervall an, welches ein Bitleitungsabtastverstärker benötigt, um
ein Datensignal zur Ermittlung eines Datenwertes zu verstärken. Daraus
resultiert, dass das Zeitintervall „E" den größten Einfluss auf den Lesevorgang
im Speicher 20 hat.
-
Wie
weiter aus 2 ersichtlich
ist, erscheint das Zeitintervall „E" in einem Zeitintervall „A1 ", während dem
das Zeilenadressensignal verschoben wird, es erscheint aber nicht
in einem Zeitintervall „A2", während dem
das Zeilenadressensignal nicht verschoben wird. Daher wird eine
Lesegeschwindigkeit des Speichers 20 während des Intervalls „A1" stärker reduziert
als im Intervall „A2". Entsprechend können fehlerhafte
Daten ausgegeben werden, wenn der Speicher 20 mit einer
hohen Frequenz zu betreiben ist. Wird beispielsweise die Frequenz
des Speichertaktsignals MCLK während
des Intervalls „A1" vergrößert, dann
wird ein Freigabeintervall eines Chipauswahlsignals CSN kleiner.
Deshalb wird ein Zeitintervall „B1" und das Zeitintervall „D1" ebenfalls kürzer. Das
Intervall „E" wird jedoch nicht
variiert, sondern unverändert
beibehalten, so dass das Intervall „C" länger
als das Intervall „D1" wird. Als Konsequenz
gibt der Speicher 20 dann eventuell fehlerhafte Daten aus.
-
Um
zu verhindern, dass der Speicher 20 fehlerhafte Daten ausgibt,
wenn er mit einer hohen Frequenz betrieben wird, teilt eine herkömmliche
Speicherschnittstelle das Systemtaktsignal SCLK, um das Speichertaktsignal
MCLK mit einer niedrigeren Frequenz als das Systemtaktsignal SCLK
zu erzeugen, wie in 3 dargestellt
ist. Entsprechend ist das Freigabeintervall des Chipauswahlsignals
CSN länger
und das Intervall „E", das benötigt wird,
um die Wortleitung WL ausreichend zu aktivieren, und das Intervall „C", welches zur Ausgabe
eines effektiven Datensignals aus der Speicherzelle benötigt wird, können sichergestellt
werden. In einem System, in dem der Lesevorgang des Speichers 20 häufig ausgeführt wird,
verschlechtert sich jedoch die Leistungsfähigkeit des Systems, wenn die
Frequenz des Speichertaktsignals MCLK abnimmt.
-
Es
ist Aufgabe der Erfindung, eine Speichersteuerschaltung anzugeben,
die zuverlässig
verhindert, dass ein Speicher bei einem Betrieb mit hohen Frequenzen
fehlerhafte Daten ausgibt, und eine vergleichsweise hohe Leistungsfähigkeit
eines Systems ermöglicht,
bei dem häufig
Lesevorgänge
ausgeführt werden,
sowie eine zugehörige
Smartcard mit einer solchen Speichersteuerschaltung zur Verfügung zu stellen
und ein zugehöriges
Steuerverfahren für
einen Lesevorgang in einem Speicher anzugeben.
-
Die
Erfindung löst
diese Aufgabe durch eine Speichersteuerschaltung mit den Merkmalen
des Patentanspruchs 1, durch eine Smartcard mit den Merkmalen des
Patentanspruchs 9 sowie durch ein Verfahren zum Steuern eines Lesevorgangs
in einem Speicher mit den Merkmalen des Patentanspruchs 12.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie das zu deren besserem Verständnis oben erläuterte,
herkömmliche
Ausführungsbeispiel
sind in den Zeichnungen dargestellt. Es zeigen:
-
1 ein Blockschaltbild einer
herkömmlichen
Speichersteuerschaltung und eines Speichers,
-
2 ein Zeitablaufdiagramm
von Signalen, welche während
eines Lesevorgangs des Speichers durch eine herkömmliche Speichersteuerschaltung erzeugt
werden,
-
3 ein Zeitablaufdiagramm
von Signalen, welche während
eines Lesevorgangs eines Speichers durch eine andere herkömmliche
Speichersteuerschaltung erzeugt werden,
-
4 ein Blockschaltbild eines
Ausführungsbeispiels
einer erfindungsgemäßen Speichersteuerschaltung
und eines Speichers,
-
5 ein Blockschaltbild einer
Frequenzänderungssteuerschaltung
aus 4,
-
6 ein Blockschaltbild einer
Speicherschnittstelle aus 4,
-
7 ein Zeitablaufdiagramm
von Signalen, welche während
eines Lesevorgangs eines Speichers durch die erfindungsgemäße Speichersteuerschaltung
aus 4 erzeugt werden,
-
8 ein Flussdiagramm eines
erfindungsgemäßen Steuerverfahrens
für einen
Lesevorgang in einem Speicher, welches von der erfindungsgemäßen Speichersteuerschaltung
aus 4 ausgeführt wird,
-
9 ein Flussdiagramm eines
Prozesses zur Bestimmung einer Frequenz eines Speichertaktsignals
und Erzeugen des Speichertaktsignals gemäß der Erfindung und
-
10 ein Blockschaltbild einer
erfindungsgemäßen Smartcard
mit der Speichersteuerschaltung aus 4.
-
4 zeigt ein Blockschaltbild
einer erfindungsgemäßen Speichersteuerschaltung 110 und
eines Speichers 120. Wie aus 4 ersichtlich
ist, umfasst die Speichersteuerschaltung 110 eine zentrale Prozessoreinheit
(CPU) 111, eine Speicherschnittstelle 112 und
eine Frequenzänderungssteuerschaltung 113.
Die Speicherschnittstelle 112 ist mit dem Speicher 120 verbunden.
Die CPU 111 gibt ein Lesebefehlsignal CMD_R oder ein Schreibbefehlsignal CMD_W
an die Speicherschnittstelle 112 aus, wenn die CPU 111 ein
externes Datenleseanforderungssignal DRQ oder ein externes Datenschreibanforderungssignal
DWQ empfängt.
-
Die
Speicherschnittstelle 112 gibt ein Datenlesesteuersignal
READ oder ein Datenschreibsteuersignal WRITE an den Speicher 120 in
Reaktion auf das Lesebefehlssignal CMD_R bzw. das Schreibbefehlsignal
CMD_W aus. Zusätzlich
gibt die Speicherschnittstelle 112 ein Chipauswahlsignal
CSN, ein Zeilenadressensignal RADD und ein Spaltenadressensignal
CADD an den Speicher 120 aus. Obwohl die in 4 dargestellte Speicherschnittstelle 112 das
Zeilenadressensignal RADD und das Spaltenadressensignal CADD über die
gleiche Adressenleitung ausgibt, kann die Speicherschnittstelle 112 das
Zeilenadressensignal RADD und das Spaltenadressensignal CADD alternativ
auch über
verschiedene Adressenleitungen ausgeben.
-
Zusätzlich empfängt die
Speicherschnittstelle 112 ein Systemtaktsignal SCLK und
erzeugt ein Speichertaktsignal MCLK. Die Speicherschnittstelle 112 wird
weiter unten unter Bezugnahme auf 6 im
Detail beschrieben. Das Systemtaktsignal SCLK kann von einem externen
Gerät in
die Speichersteuerschaltung 110 eingegeben oder von einem
internen Taktsignalgenerator erzeugt werden. Es wird von der Speichersteuerschaltung 110 und
von einem System mit der Speichersteuerschaltung 110 und
dem Speicher 120 benutzt. Dieses System kann als System auf
einem Chip (SOC) ausgeführt
sein. Das Speichertaktsignal MCLK wird vom Speicher 120 benutzt.
-
Die
Frequenzänderungssteuerschaltung 113 empfängt das
Datenlesesteuersignal READ oder das Datenschreibsteuersignal WRITE
von der Speicherschnittstelle 112. Zusätzlich empfängt die Frequenzänderungssteuerschaltung 113 das
Chipauswahlsignal CSN, das Zeilenadressensignal RADD, das Spaltenadressensignal
CADD und das Speichertaktsignal MCLK.
-
Wenn
die Frequenzänderungssteuerschaltung 113 das
Datenlesesteuersignal READ empfängt,
erzeugt sie ein Frequenzänderungssteuersignal
WT in Reaktion auf das Zeilenadressensignal RADD. Die Frequenzänderungssteuerschaltung 113 erzeugt
das Frequenzänderungssteuersignal
WT, wenn ein Lesevorgang des Speichers 120 zuerst ausgeführt wird,
nachdem die Frequenzänderungssteuerschaltung 113 ein
externes Rücksetzsignal RST
empfangen hat. Die Frequenzänderungssteuerschaltung 113 wird
weiter unten unter Bezugnahme auf 5 im
Detail beschrieben.
-
Der
Speicher 120 gibt Daten RDATA an einen internen Datenbus 130 aus
oder schreibt Daten WDATA, die vom internen Datenbus 130 empfangen werden,
in Reaktion auf das Zeilenadressensignal RADD, das Spaltenadressensignal
CADD und das Datenlesesteuersignal READ oder das Datenschreibsteuersignal
WRITE. 4 zeigt keine
detaillierte Konfiguration des Speichers 120, da der Speicher 120 eine
beliebige, allgemein bekannte Konfiguration aufweisen kann.
-
Die
CPU 111 gibt die Daten RDATA, die vom Speicher 120 über den
internen Datenbus 130 empfangen werden, an ein externes
Gerät aus,
welches die Speichersteuerschaltung 110 auffordert, die
Daten RDATA zu lesen. Außerdem überträgt die CPU 111 die
Daten WDATA, welche von einem externen Gerät empfangen werden, das die
Speichersteuerschaltung 110 auffordert, die Daten zu schreiben, über den
internen Datenbus 130 zum Speicher 120.
-
5 zeigt ein Blockschaltbild
einer möglichen
Realisierung der Frequenzänderungssteuerschaltung 113 aus 4. Wie aus 5 ersichtlich ist, umfasst die Frequenzänderungssteuerschaltung 113 in
diesem Beispiel einen Zwischenspeichertaktsignalgenerator 51,
einen Adressenzwischenspeicher 52, eine Adressenspeichereinheit 53,
einen Adressenkomparator 54, einen Rücksetzsignaldetektor 55 und
eine Frequenzänderungssteuersignalausgabeeinheit 56.
-
Der
Zwischenspeichertaktsignalgenerator 51 erzeugt ein Zwischenspeichertaktsignal
ALCLK in Reaktion auf das Speichertaktsignal MCLK und das Chipauswahlsignal
CSN, welche von der Speicherschnittstelle 112 in 4 empfangen werden. Der Adressenzwischenspeicher 52 speichert
Zeilenadressensignale RADD(N) zwischen, die aufeinander folgend
von der Speicherschnittstelle 112 in Reaktion auf das Zwischenspeichertaktsignal
ALCLK empfangen werden, wobei N eine natürliche Zahl größer als eins
ist. Der Adressenzwischenspeicher 52 empfängt die
Zeilenadressensignale RADD(N), wenn das Zwischenspeichertaktsignal
ALCLK, das an einem Gattereingabeanschluss G eingegeben wird, auf
einem hohen Pegel ist, und empfängt
die Zeilenadressensignale RADD(N) nicht, wenn das Zwischenspeichertaktsignal
ALCLK auf einem niedrigen Pegel ist.
-
In
anderen Worten ausgedrückt,
der Adressenzwischenspeicher 52 gibt die zwischengespeicherten
Zeilenadressensignale RADD(N) nacheinander aus, wenn das Zwischenspeichertaktsignal
ALCLK auf einem hohen Pegel ist. Der Adressenzwischenspeicher 52 behält die Ausgabe
des zuletzt zwischengespeicherten Zeilenadressensignals RADD(N),
wenn das Zwischenspeichertaktsignal ALCLK auf einem niedrigen Pegel
ist.
-
Die
Adressenspeichereinheit 53 speichert das Zeilenadressensignal
RADD(N), das vom Adressenzwischenspeicher 52 in Reaktion
auf das Zwischenspeichertaktsignal ALCLK empfangen wird. Die Adressenspeichereinheit 53 kann
als D-Flip-Flop ausgeführt
sein. Das D-Flip-Flop 53 empfängt das Zeilenadressensignal
RADD(N) über
einen Eingabeanschluss D und empfängt das Zwischenspeichertaktsignal
ALCLK über
einen Takteingabeanschluss. Das D-Flip-Flop 53 empfängt und
speichert das Zeilenadressensignal RADD(N), wenn sich das Zeilenadressensignal
RADD(N) bei einer ansteigenden Flanke des Zwischenspeichertaktsignals
ALCLK verschiebt. Nachfolgend wird die Funktionsweise des Adressenzwischenspeichers 52 und
der Adressenspeichereinheit 53 detaillierter beschrieben.
-
Zur
einfachen Beschreibung sei angenommen, dass Zeilenadressensignale
RADD0 und RADD1 nacheinander in den Adressenzwischenspeicher 52 eingegeben
werden, wenn das Zwischenspeichertaktsignal ALCLK auf einem hohen
Pegel ist. In diesem Fall speichert der Adressenzwischenspeicher 52 die
aufeinanderfolgend empfangenen Zeilenadressensignale RADD0 und RADD1
zwischen, weil das Zwischenspeichertaktsignal ALCLK auf hohem Pegel
ist. Die Adressenspeichereinheit 53 empfängt das
Zeilenadressensignal RADD0 synchronisiert mit der ansteigenden Flanke
des Zwischenspeichertaktsignals ALCLK. Die Adressenspeichereinheit 53 behält die Ausgabe
des Zeilenadressensignals RADD0 bis zur nächsten ansteigenden Flanke
des Zwischenspeichertaktsignals ALCLK. Entsprechend gibt die Adressenspeichereinheit 53 das
zuvor empfangene Zeilenadressensignal RADD0 aus, wenn der Adressenzwischenspeicher 52 das
Zeilenadressensignal RADD1 zwischenspeichert und das zwischengespeicherte
Zeilenadressensignal RADD1 ausgibt.
-
Der
Adressenkomparator 54 vergleicht ein aktuelles Zeilenadressensignal
RADD(N), das er vom Adressenzwischenspeicher 52 empfängt, mit
einem vorherigen Zeilenadressensignal RADD(N – 1), das er von der Adressenspeichereinheit 53 empfängt, und
gibt das Vergleichsergebnis aus. Der Adressenkomparator 54 kann
als Exklusiv-ODER-Gatter ausgeführt
sein. Das Exklusiv-ODER-Gatter 54 gibt ein logisches Signal
mit einem hohen Pegel aus, wenn das aktuelle Zeilenadressensignal
RADD(N) und das vorherige Zeilenadressensignal RADD(N – 1) voneinander
verschieden sind.
-
Der
Rücksetzsignaldetektor 55 gibt
in Reaktion auf das Chipauswahlsignal CSN, das Zwischenspeichertaktsignal
ALCLK und das Rücksetzsignal RST
ein Rücksetzdetektionssignal
RSTA aus. Insbesondere aktiviert der Rücksetzsignaldetektor 55 das Rücksetzdetektionssignal
RSTA, wenn er nach dem Empfang des Rücksetzsignals RST zuerst das
Chipauswahlsignal CSN und das Zwischenspeichertaktsignal ALCLK empfängt.
-
Die
Frequenzänderungssteuersignalausgabeeinheit 56 gibt
das Frequenzänderungssteuersignal
WT in Reaktion auf das Ausgabesignal des Adressenkomparators 54 und
auf das Rücksetzdetektionssignal
RSTA aus. Die Frequenzänderungssteuersignalausgabeeinheit 56 kann
als ODER-Gatter ausgeführt
sein. Das ODER-Gatter 56 aktiviert das Frequenzänderungssteuersignal
WT, wenn das Ausgabesignal des Adressenkomparators 54 und/oder
das Rücksetzdetektionssignal
RSTA auf einem hohen Pegel sind.
-
6 zeigt ein Blockschaltbild
einer möglichen
Realisierung der Speicherschnittstelle 112 aus 4. Wie aus 6 ersichtlich ist, umfasst die Speicherschnittstelle 112 in
diesem Fall einen Speichertaktsignalgenerator 61 und einen
Befehlsdecoder 62. Der Speichertaktsignalgenerator 61 erzeugt das
Speichertaktsignal MCLK mit einer vorgegebenen Frequenz in Reaktion
auf das Frequenzänderungssteuersignal
WT und das Systemtaktsignal SCLK. Insbesondere teilt der Speichertaktsignalgenerator 61 das
Systemtaktsignal SCLK, um das Speichertaktsignal MCLK mit einer
ersten Frequenz zu erzeugen, wenn das Frequenzänderungssteuersignal WT freigegeben
ist. Außerdem
erzeugt der Speichertaktsignalgenerator 61 das Speichertaktsignal
MCLK mit einer zweiten Frequenz, wenn das Frequenzänderungssteuersignal
WT gesperrt ist. Hierbei ist die zweite Frequenz höher als
die erste Frequenz.
-
Der
Befehlsdecoder 62 empfängt
das Systemtaktsignal SCLK, das Speichertaktsignal MCLK und das Lesebefehlssignal
CMD_R oder das Schreibbefehlsignal CMD_W, die von der CPU 111 übertragen
werden. Der Befehlsdecoder 62 gibt das Chipauswahlsignal
CSN, ein Adressensignal ADD und das Datenlesesteuersignal READ oder
das Datenschreibsteuersignal WRITE in Reaktion auf das Lesebefehlssignal
CMD_R aus. Das Adressensignal ADD umfasst das Zeilenadressensignal
RADD und das Spaltenadressensignal CADD. Der Befehlsdecoder 62 gibt
das Chipauswahlsignal CSN, das Adressensignal ADD und das Datenlesesteuersignal READ
oder das Datenschreibsteuersignal WRITE in Synchronisation mit dem
Speichertaktsignal MCLK aus.
-
Nachfolgend
wird unter Bezugnahme auf die 4 bis 9 ein Steuerverfahren für einen
Lesevorgang des Speichers 120 beschrieben, wie es von der erfindungsgemäßen Speichersteuerschaltung 110 ausgeführt wird.
-
7 zeigt ein Zeitablaufdiagramm
von Signalen, welche während
eines Lesevorgangs des Speichers 120 von einem erfindungsgemäßen Ausführungsbeispiel
erzeugt werden, und 8 zeigt
ein Flussdiagramm, das ein erfindungsgemäßes Steuerverfahren für einen
Lesevorgang im Speicher 120 darstellt, welches von der
erfindungsgemäßen Speichersteuerschaltung 110 ausgeführt wird.
-
Wie
aus den 4 bis 8 ersichtlich ist, gibt die
CPU 111 in einem Schritt 1100 der Speichersteuerschaltung 110 das
Lesebefehlsignal CMD_R an die Speicherschnittstelle 112 in
Reaktion auf das Datenleseanforderungssignal DRQ aus, das von einem
externen Gerät
empfangen wird. 7 zeigt
den Fall, in dem die Speicherschnittstelle 112 ein erstes
Lesesteuersignal READ1 und dann ein zweites Lesesteuersignal READ2
in Reaktion auf das Lesebefehlsignal CMD_R ausgibt.
-
Die
Speicherschnittstelle 112 empfängt das Systemtaktsignal SCLK,
das Frequenzänderungssteuersignal
WT und das Lesebefehlsignal CMD_R oder das Schreibbefehlsignal CMD_W.
Der Befehlsdecoder 62 der Speicherschnittstelle 112 gibt
das erste Lesesteuersignal READ1, das Chipauswahlsignal CSN, das
Zeilenadressensignal RADD1 und das Spaltenadressensignal CADD1 an
den Speicher 120 und die Frequenzänderungssteuerschaltung 113 in Reaktion
auf das Lesebefehlsignal CMD_R in einem Schritt 1200 aus.
-
Der
Speichertaktsignalgenerator 61 der Speicherschnittstelle 112 bestimmt
eine Frequenz des Speichertaktsignals MCLK in Reaktion auf das Frequenzänderungssteuersignal
und teilt das Systemtaktsignal SCLK, um das Speichertaktsignal MCLK
mit der vorbestimmten Frequenz zu erzeugen, siehe Schritt 1300.
Hierbei gibt der Befehlsdecoder 62 das Chipauswahlsignal
CSN für
ein Zeitintervall „P1" frei und sperrt
dann das Chipauswahlsignal CSN in Synchronisation mit dem Speichertaktsignal MCLK.
Des Weiteren gibt der Befehlsdecoder 62 das erste Lesesteuersignal
READ1, das Zeilenadressensignal RADD1 und das Spaltenadressensignal CADD1
in Synchronisation mit dem Speichertaktsignal MCLK aus.
-
Der
Schritt 1300 wird nachstehend unter Bezugnahme auf 9 detaillierter beschrieben,
die ein Flussdiagramm des Schrittes 1300 zur Bestimmung der
Frequenz des Speichertaktsignals MCLK und zur Erzeugung des Speichertaktsignals
MCLK zeigt.
-
In
einem Schritt 1301 bestimmt die Frequenzänderungssteuerschaltung 113,
ob sich das Zeilenadressensignal RADD1 verschoben, d.h. geändert hat,
wenn sie das erste Lesesteuersignal READ1 von der Speicherschnittstelle 112 empfängt. Dieser
Prozess wird unter Bezugnahme auf 5 detaillierter beschrieben.
-
Der
Zwischenspeichertaktsignalgenerator 51 erzeugt das Zwischenspeichertaktsignal
ALCLK in Reaktion auf das Speichertaktsignal MCLK. Ist das Zwischenspeichertaktsignal
ALCLK auf einem hohen Pegel, dann puffert der Adressenzwischenspeicher 52 die
aufeinander folgend empfangenen Zeilenadressensignale RADD0 und
RADD1 und gibt sie aus. Hierbei empfängt und speichert die Adressenspeichereinheit 53 nur
das Zeilenadressensignal RADD0 in Synchronisation mit einer ansteigenden
Flanke des Zwischenspeichertaktsignals ALCLK. Anschließend gibt
der Adressenzwischenspeicher 52 das Zeilenadressensignal
RADD1 aus und die Adressenspeichereinheit 53 gibt das zuvor
empfangene Zeilenadressensignal RADD0 aus. Der Adressenkomparator 54 gibt
ein logisches Signal mit hohem Pegel aus, weil das vom Adressenzwischenspeicher 52 empfangene
Zeilenadressensignal RADD1 und das von der Adressenspeichereinheit 53 empfangene Zeilenadressensignal
RADD0 voneinander verschieden sind.
-
In
einem Schritt 1302 gibt die Frequenzänderungssteuersignalausgabeeinheit 56 das
Frequenzänderungssteuersignal
WT für
eine vorbestimmte Zeitdauer „T1" in Reaktion auf
das Ausgabesignal des Adressenkomparators 54 frei und sperrt
danach das Frequenzänderungssteuersignal
WT. Hierbei ist die vorbestimmte Zeitdauer „T1" für
den Adressenzwischenspeicher 52 und die Adressenspeichereinheit 53 erforderlich,
um jeweils die verschiedenen Zeilenadressensignale auszugeben.
-
In
einem Schritt 1303 erzeugt der Speichertaktsignalgenerator 61 das
Speichertaktsignal MCLK während
des Freigabeintervalls „T1" des Frequenzänderungssteuersignals
WT mit der ersten Frequenz. Danach erzeugt der Speichertaktsignalgenerator 61 das
Speichertaktsignal MCLK mit der zweiten Frequenz, wenn das Frequenzänderungssteuersignal
WT gesperrt ist.
-
Obwohl 7 den Fall darstellt, dass
mit einer Periode des Speichertaktsignals MCLK mit der ersten Frequenz
zwei Perioden des Systemtaktsignals SCLK korrespondieren, können diese
Signale bei Bedarf auch ein anderes Verhältnis zueinander haben. Des
Weiteren können,
obwohl 7 den Fall darstellt,
dass eine Periode des Speichertaktsignals MCLK mit der zweiten Frequenz
gleich lang wie eine Periode des Systemtaktsignals SCLK ist, diese
Signale bei Bedarf auch ein anderes Verhältnis zueinander haben.
-
Der
Speicher 120 gibt ein Vorladesteuersignal PGN für ein Intervall „Q1" frei, wie aus 7 ersichtlich ist, und sperrt
das Vorladesteuersignal PGN danach in Reaktion auf das Chipauswahlsignal
CSN und das Speichertaktsignal MCLK mit der ersten Frequenz. Ist
das Vorladesteuersignal PGN freigeschaltet, dann wird eine nicht
dargestellte Bitleitung im Speicher 120 auf einen vorbestimmten
Spannungspegel vorgeladen. Des Weiteren wird eine korrespondierende
Wortleitung WL1 des Speichers 120 in Reaktion auf das Zeilenadressensignal
RADD1 aktiviert und ein Spannungspegel auf der Wortleitung WL1 erhöht. Als
Konsequenz wird ein nicht dargestellter Zellentransistor des Speichers 120,
der mit der Wortleitung WL1 verbunden ist, leitend geschaltet und
ein Datensignal einer korrespondierenden Speicherzelle wird an die
Bitleitung angelegt.
-
Dann
gibt der Speicher 120 das Abtastverstärkersteuersignal SEN für ein Zeitintervall „R1" in Reaktion auf
das Chipauswahlsignal CSN und das Speichertaktsignal MCLK mit der
ersten Frequenz frei und sperrt danach das Abtastverstärkersteuersignal
SEN. Hierbei ist das Zeitintervall „R1", während dem
das Abtastverstärkersteuersignal
SEN freigegeben ist, länger
als das Zeitintervall „C", welches erforderlich
ist, um ein effektives Datensignal von der Speicherzelle auszugeben.
-
Ist
das Abtastverstärkersteuersignal
SEN freigegeben, dann wird ein nicht dargestellter Bitleitungsabtastverstärker des
Speichers 120 aktiviert, um das auf der Bitleitung anliegende
Datensignal zu verstärken.
Entsprechend wird ein in der korrespondierenden Speicherzelle gespeicherter
Datenwert ermittelt. Dann gibt der Speicher 120 das vom
Bitleitungsabtastverstärker
verstärkte
Datensignal als Ausgabedatensignal DATA1 über eine nicht dargestellte
Ausgabeschaltung aus.
-
Nun
wird der Fall beschrieben, bei dem der Befehlsdecoder 62 das
zweite Lesesteuersignal READ2 in Reaktion auf das Lesebefehlssignal CMD_R
ausgibt.
-
Der
Befehlsdecoder 62 gibt das zweite Lesesteuersignal READ2,
das Zeilenadressensignal RADD1 und das Spaltenadressensignal CADD2
aus, wie aus 7 ersichtlich
ist. Im Schritt 1301 bestimmt die Fre quenzänderungssteuerschaltung 113, ob
sich das Zeilenadressensignal RADD1 geändert hat, wenn die Frequenzänderungssteuerschaltung 113 das
zweite Lesesteuersignal READ2 empfängt. Dieser Prozess wird unter
Bezugnahme auf 5 detaillierter
beschrieben.
-
Der
Adressenzwischenspeicher 52 speichert das Zeilenadressensignal
RADD1 zwischen, wenn das Zwischenspeichertaktsignal ALCLK auf hohem Pegel
ist, und gibt das Zeilenadressensignal RADD1 aus. Hierbei empfängt und
speichert die Adressenspeichereinheit 53 das Zeilenadressensignal
RADD1 in Synchronisation mit der ansteigenden Flanke des Zwischenspeichertaktsignals
ALCLK. Entsprechend geben der Adressenzwischenspeicher 52 und
die Adressenspeichereinheit 53 beide das Zeilenadressensignal
RADD1 aus.
-
Der
Adressenkomparator 54 gibt ein logisches Signal mit niedrigem
Pegel aus, weil das vom Adressenzwischenspeicher 52 empfangene
Zeilenadressensignal RADD1 und das von der Adressenspeichereinheit 53 empfangene
Zeilenadressensignal RADD1 identisch sind. Die Frequenzänderungssteuersignalausgabeeinheit 56 hält das Frequenzänderungssteuersignal
WT in Reaktion auf das Ausgabesignal des Adressenkomparators 54 im
gesperrten Zustand.
-
Wenn
das Zeilenadressensignal RADD1 nicht verschoben ist, fragt die Frequenzänderungssteuerschaltung 113 in
einem Schritt 1304 ab, ob das externe Rücksetzsignal RST freigegeben
ist. Dazu schaltet, wie unter Bezugnahme auf 5 ersichtlich, der Rücksetzsignaldetektor 55 das
Rücksetzdetektionssignal
RSTA frei, wenn er nach Empfang des Rücksetzsignals RST zuerst das
Chipauswahlsignal CSN und das Zwischenspeichertaktsignal ALCLK empfängt. Dann
wird das Verfahren mit Schritt 1302 fortgesetzt, um anschließend Schritt 1303 auszuführen, wie
aus 9 ersichtlich ist.
Hierbei wird das Speichertaktsignal MCLK mit der ersten Frequenz
erzeugt, welche niedriger als die Frequenz des Systemtaktsignals
SCLK ist, wenn der Lesevorgang des Speichers 120 zuerst
nach Freigabe des Rücksetzsignals
RST ausgeführt
wird, um einen stabilen Lesevorgang des Speichers 120 sicherzustellen.
-
Wird
das Rücksetzsignal
RST im Schritt 1304 nicht freigegeben, das heißt, dass
das Rücksetzdetektionssignal
RSTA gesperrt ist, dann schaltet die Frequenzänderungssteuersignalausgabeeinheit 56 das
Frequenzänderungssteuersignal
WT nicht frei. Als Konsequenz erzeugt der Speichertaktsignalgenerator 61 in
einem Schritt 1305 kontinuierlich das Speichertaktsignal
MCLK mit der zweiten Frequenz.
-
Wie
oben ausgeführt,
erzeugt die erfindungsgemäße Speichersteuerschaltung 110 das Speichertaktsignal
MCLK mit einer Frequenz, die während
des Intervalls „P1", wenn das Zeilenadressensignal
verschoben ist, niedriger als während
des Intervalls „P2" ist, wenn das Zeilenadressensignal nicht
verschoben ist. Entsprechend können
ein Zeitintervall „S", welches benötigt wird,
um die Wortleitung WL1 ausreichend zu aktivieren, und das Zeitintervall „C", welches erforderlich
ist, um ein effektives Datensignal von der Speicherzelle auszugeben,
sichergestellt werden. Als Konsequenz kann der Speicher 120 effektive
Daten auch dann ausgeben, wenn er mit einer hohen Frequenz betrieben
wird.
-
Zusätzlich ist
die erfindungsgemäße Speichersteuerschaltung 110 in
der Lage, die Frequenz des Speichertaktsignals MCLK nur dann temporär ändern, wenn
das Zeilenadressensignal verschoben ist, d.h. während des Intervalls „P1" oder wenn das Rücksetzsignal
RST freigegeben ist. Entsprechend kann für den Fall eines Systems, in
welchem der Lesevorgang des Speichers 120 häufig ausgeführt wird, verhindert
werden, dass sich die Betriebsleistungsfähigkeit des Systems wegen der
Lesebetriebsgeschwindigkeit des Speichers 120 verschlechtert.
-
Ein
intelligente Karte, d.h. eine sogenannte Smartcard, mit einer erfindungsgemäßen Speichersteuerschaltung
wird nachfolgend unter Bezugnahme auf 10 beschrieben,
die im Blockschaltbild eine Smartcard 200 mit erfindungsgemäßer Speichersteuerschaltung 210 zeigt.
Wie aus 10 ersichtlich
ist, umfasst die Smartcard 200 eine Speichersteuerschaltung 210,
einen nichtflüchtigen
Speicher 220, einen Nur-Lese-Speicher
(ROM) 230, einen Speicher 240 mit direktem Zugriff
(RAM), einen Taktsignalgenerator 250, einen Zeitgeber 260,
einen Detektor 270 für
abnormale Zustände
und eine Eingabe-/Ausgabeschnittstelle (E/A- bzw. I/O-Schnittstelle) 280.
Alle Komponenten der Smartcard 200 sind über einen
Systembus 201 verbunden.
-
Die
Speichersteuerschaltung 210 umfasst eine CPU 211,
eine Speicherschnittstelle 212 und eine Frequenzänderungssteuerschaltung 213.
Die CPU 211 schreibt Daten WDATA in den nichtflüchtigen
Speicher 220 oder liest Daten RDATA vom nichtflüchtigen
Speicher 220 über
die Speicherschnittstelle 212. Insbesondere gibt die CPU 211 zum
Schreiben der Daten WDATA in den nichtflüchtigen Speicher 220 ein
Schreibbefehlssignal CMD_W an die Speicherschnittstelle 212 aus
und gibt die Daten WDATA über
den Systembus 201 an den nichtflüchtigen Speicher 220 aus.
Zum Lesen der Daten RDATA aus dem nichtflüchtigen Speicher 220 gibt
die CPU 211 ein Lesebefehlsignal CMD_R an die Speicherschnittstelle 212 aus
und empfängt
dann die Daten RDATA über
den Systembus 201 vom nichtflüchtigen
Speicher 220.
-
Des
Weiteren empfängt
die CPU 211 einen Programmcode PRO_CODE über die
I/O-Schnittstelle 280 und den Systembus 201 von
einer externen Smartcard-Hosteinheit. Die CPU 211 führt einen
Befehl aus, der vom Programmcode PRO_CODE angezeigt wird, und gibt
ein Steuersignal SCTL an den Systembus 201 aus, um Komponenten
der Smartcard 200 zu steuern. Die CPU 211 führt ein
OS-Programm aus, um Nut zerinformationen zu speichern, und führt verschiedene
Kodiervorgänge
aus.
-
Die
Funktionsweise der Speicherschnittstelle 212 ist analog
zur Funktionsweise der Speicherschnittstelle 112 aus 4, mit der Ausnahme, dass die
Speicherschnittstelle 212 beispielsweise ein Adressensignal
ROM_ADD an den ROM 230 oder ein Befehlssignal CMD und ein
Adressensignal RAM_ADD an den RAM 240 in Reaktion auf ein
nicht dargestelltes Speichersteuersignal ausgibt, das von der CPU 211 empfangen
wird, und dass die Speicherschnittstelle 212 mit dem Systembus 201 verbunden
ist.
-
Der
nichtflüchtige
Speicher 220 speichert die über den Systembus 201 empfangenen
Daten WDATA und liest die Daten RDATA und gibt diese über den
Systembus 201 gesteuert von der CPU 211 und der
Speicherschnittstelle 212 aus.
-
Der
ROM 230 speichert das OS-Programm und der RAM 240 speichert
temporär
Daten, die erzeugt werden, wenn die CPU 211 das OS-Programm ausführt. Der
Taktsignalgenerator 250 erzeugt das Systemtaktsignal SCLK
und gibt es an alle Komponenten der Smartcard 200 aus.
Der Zeitgeber steuert das von der CPU 211 benötigte Zeitverhalten
zur Ausführung
des OS-Programms. Der Detektor 270 für abnormale Zustände detektiert
in der externen Umgebung abnormale Zustände, beispielsweise abnormale
Spannungen, Frequenzen, Temperaturen, Licht usw., und erzeugt ein
Rücksetzsignal
RST, um alle Komponenten der Smartcard 200 zurückzusetzen.
Ist die Smartcard 200 mit einer externen Smartcard-Hosteinheit
verbunden, dann stellt die I/O-Schnittstelle 280 die Verbindung
zwischen der CPU 211 und der externen Smartcard-Hosteinheit her.
-
Wie
oben beschrieben ist, können
die erfindungsgemäße Speichersteuerschaltung,
die erfindungsgemäße Smartcard
mit einer solchen Speichersteuerschaltung und das erfindungsgemäße Steuerverfahren
für einen
Lesevorgang in einem Speicher verhindern, dass ein Speicher fehlerhafte Daten
ausgibt, wenn der Speicher mit einer hohen Frequenz betrieben wird.
Zusätzlich
können
erfindungsgemäße Ausführungsformen
verhindern, dass die Leistungsfähigkeit
eines Systems, in dem häufig Lesevorgänge im Speicher
durchgeführt
werden, durch die Lesebetriebsgeschwindigkeit des Speichers verschlechtert
wird.