-
- Priorität:
4. Oktober 2005–USA–11/242,149
-
GEBIET DER
ERFINDUNG
-
Diese
Erfindung betrifft allgemein Halbleiterspeicherchips und insbesondere
einen Halbleiterspeicherchip, der Sende- und Empfangsschnittstellenabschnitte
jeweils zum Senden und Empfangen von Daten-, Befehls- und Adresssignalen
in Form serieller Signalrahmen in Übereinstimmung mit einem vordefinierten
Protokoll über
jeweilige Daten/Befehls- und Adresssignalleitungen zu/von einer
Speichersteuereinheit enthält.
-
HINTERGRUND
-
Vorhandene
herkömmliche
DRAMs verwenden für
die Datenübertragung
keine Rahmen. Datensignale, wie z.B. Schreibdaten sowie Befehle
und Adressen werden parallel durch separate Daten-, Befehls- und
Adresssignalbusse von einer Speichersteuereinheit zu einem oder
mehreren Halbleiterspeicherchips (DRAM) gesendet.
-
In
zukünftigen
DRAM-Speichersystemen und -Speicherchips werden die Daten mit sehr
hohen Frequenzen übertragen.
Der Datentransfer wird sehr wahrscheinlich durch ein Protokoll geregelt,
bei dem die Datenbits in Rahmen übereinstimmend
mit dem Protokoll angeordnet sind. Nach verschiedenen Ausrichtprozeduren
wird z.B. ein Datenstrom durch eine Demultiplexeinrichtung in eine
niedrigere Frequenz umgesetzt und für die Auswertung bereitgestellt.
Ein solcher neuartiger Halbleiterspeicherchip muss eine Rahmendekodiereinheit
zum Dekodieren der Signalrahmen in: (a) speicherrelevante Befehle;
(b) Systembefehle und (c) Schreibdaten enthalten, die unmittelbar
in einem Datenzwischenpuffer „IDB" zu speichern sind.
Jeder Rahmen kann einen oder mehrere speicherrelevante Befehle enthalten.
Außerdem können sich
die für
dieselbe Bank bestimmten Befehle in verschiedenen Rahmen befinden.
-
KURZFASSUNG
-
Diese
Erfindung erzielt einen Halbleiterspeicherchip mit einem Rahmendekodierer,
der dazu eingerichtet ist, speicherrelevante Befehle, Systembefehle
und den Transfer von Schreibdaten zu dem IDB oder von dem IDB zum
Speicherkern zu dekodieren und zu handhaben, und der mehrere Merkmale,
wie Zeitparameter, unterschiedliche Frequenzen und Taktdomänen des
Speicherkerns und des Rahmendekodierers, Mehrbankzugriff, Mehrbefehlsrahmen oder
mehrere Befehlstypen innerhalb eines Rahmens handhaben kann.
-
Übereinstimmend
mit einem Ausführungsbeispiel
enthält
ein Halbleiterspeicherchip dieser Erfindung:
Sende- und Empfangsschnittstellenabschnitte
jeweils zum Senden und Empfangen von Daten-, Befehls- und Adressensignalen
in Form serieller Signalrahmen, die Übereinstimmung mit einem vordefinierten
Protokoll gestaltet sind, über
jeweilige Daten-, Befehls- und Adresssignalleitungen zu/von einer Speichersteuereinheit
und/oder zu/von einem anderen gleichartigen Speicherchip;
einen
Datenzwischenpuffer, der zur Zwischenspeicherung von Schreibdaten
gestaltet ist;
einen Speicherkern, der ein bankorganisiertes
Speicherzellenfeld und einen Adressendekodierer enthält, um eine
aus einem von dem Empfangsschnittstellenabschnittempfangenen Signalrahmen
abgeleitete Adresse zu dekodieren und um Daten in wenigstens eine
Speicherbank des Speicherzellenfeldes in Übereinstimmung mit einem in
einem oder mehreren empfangenen Signalrahmen enthaltenen Schreib/Lese-Befehl
einzuschreiben oder daraus auszulesen;
ein Systemmodusregister,
das zur Speicherung befehlsrelevanter Zeitparameter gestaltet ist,
die nicht von der Speichersteuereinheit in einem aktuellen Rahmen
geliefert werden und die jeweils eine Anzahl von Taktzyklen eines
synchronisierenden Dekodiertaktsignals angeben; und
einen Rahmendekodierer,
der eine Schnittstelle zwischen dem Speicherkern und dem Empfangsschnittstellenabschnitt
bildet, Rahmensignale von dem Empfangsschnittstellenabschnitt empfängt und
der enthält:
einen
Befehlstypdekodierabschnitt, der zur Dekodierung eines Befehlstyps
eines oder mehrerer in einem oder mehreren Rahmen enthaltener Befehle
und zur Ausgabe von Steuersignalen in Übereinstimmung mit jedem dekodierten
Befehlstyp angeordnet und eingerichtet ist;
einen Speicherbefehlbewertungs-/generatorabschnitt,
der für
die Planung und Vorbereitung von Befehlen für den Speicherkern gestaltet
ist;
einen Datenzwischenpufferbefehlbewertungs-/generatorabschnitt,
der zur Planung und Vorbereitung von Steuersignalen für den Datenzwischenpuffer
gestaltet ist; und
einen Systembefehlbewertungs-/generatorabschnitt,
der zur Vorbereitung und Planung von Systembefehlen gestaltet ist,
wobei
der Speicherbefehlbewertungs-/generatorabschnitt, der
Datenzwischenpufferbefehlbewertungs-/generatorabschnitt und der
Systembefehlbewertungs-/generatorabschnitt
von von dem Befehlstypdekodiererabschnitt in Übereinstimmung mit dem dekodierten Befehlstyp
empfangenen Steuersignalen betrieben werden; und
zumindest
der Speicherbefehlbewertungs-/generatorabschnitt, der Datenzwischenpuffer
und der Datenzwischenpufferbefehlbewertungs-/generatorabschnitt synchron mit dem
synchronisierenden Dekodiertaktsignal betreibbar sind.
-
Der
Empfangsschnittstellenabschnitt der Halbleiterspeicherchips kann außerdem einen CRC-Bit-Dekodierer
zur Bewertung von CRC-Bits innerhalb des Signalrahmens und zur Prüfung der
Korrektheit/Fehlerhaftigkeit von Befehlen und Daten in jedem Signalrahmen
enthalten, wobei der Rahmendekodierer außerdem eine Falschbefehlsschutzeinheit
enthält,
der zum Speicherkern nur die vom CRC-Bit-Dekodierer als korrekt
geprüften
Befehle durchlässt.
-
Der
Speicherbefehlbewertungs-/generatorabschnitt des Rahmendekodierers
kann einen Befehlsbewerter- und -generator und für jede Speicherbank des Speicherkerns
einen Befehlspuffer, der zur Pufferung: (a) eines oder mehrerer
in einem momentan dekodierten Signalrahmen und in vorangehenden Befehlen
enthaltener Speicherbefehle und, falls durch das Protokoll für den momentan
dekodierten Befehl definiert, des letzten Befehls des vorangehenden
Rahmens; und (b) eines Zeitparameters aus dem Systemmodusregister
zugeordnet zu jedem gepufferten Befehl gestaltet ist; eine Zählereinheit,
die zum Zählen
von Taktzyklen des synchronisierenden Dekodiertaktsignals eingerichtet
ist; einen Vergleicher, der zum Vergleich eines Zählwerts
der Zählereinheit mit
einem dem momentan dekodierten Befehl zugeordneten gepufferten Zeitparameter
gestaltet ist und eine Rücksetzeinheit
enthalten, die zum Rücksetzen der
Zählereinheit
gestaltet ist, wobei der Befehlspuffer immer, wenn der Vergleicher
eine Übereinstimmung
zwischen dem Zählwert
der Zählereinheit
und dem zugeordneten gepufferten Zeitparameter erfasst, den Befehl
an die jeweilige Speicherbank freigibt und die Rücksetzeinheit zum Rücksetzen
der Zählereinheit
aktiviert.
-
Wenn
nach der Freigabe eines Befehls zum Kern kein weiterer Befehl ankommt,
startet der Zähler (gewöhnlich bei
Null) und zählt
bis zum maximalen Zählwert
und hält
dort an. Wenn ein neuer Befehl ankommt, ist der benötigte Zeitparameter
immer kleiner oder gleich dem Zählwert,
d.h. dem maximalen Zählwert,
und der Befehl kann unmittelbar unverzögert an den Kern freigegeben
werden.
-
Wenn
in dem Befehlspuffer zwei oder mehr Befehle gepuffert sind, ordnet
der Befehlsbewerter und -generator des Speicherbefehlbewertungs-/generatorabschnitts
die Speicherbefehle in der richtigen Reihenfolge neu an und leitet
mit dem Rahmen, durch den zu einer bestimmten Speicherbank zugegriffen
wurde und aus dem der letzte Speicherbefehl in dem Befehlspuffer
zu speichern war, die Zeitparameter aus dem Systemmodusregister
Befehl für
Befehl ab und speichert die Zeitparameter jeweils zugeordnet zu
den neu angeordneten Befehlen in dem Befehlspuffer. Die Größe der Zählereinheit
stimmt mit dem größtmöglichen
Mindestzeitparameter zwischen zwei aufeinander folgenden Befehlen überein.
Dieser Mindestzeitparameter könnte
t(ACT-PRE) sein.
-
Damit
sie aufeinander folgende Interbankbefehle, d.h. Befehle, die für dieselbe
Bank bestimmt sind und die in verschiedenen Rahmen enthalten sein
können,
und auch Interbankbefehle handhaben und dekodieren kann, enthält die Zählereinheit
eines Ausführungsbeispiels
dieser Erfindung einen ersten Zähler,
der für
jede Bank des Speicherzellenfeldes vorgesehen und dafür gestaltet
ist, die jeweiligen Zeitparameter mehrerer Interbankbefehle zu messen.
Der Befehlsbewerter und -generator des Speicherbefehlbewertungs-/generatorabschnitts
enthält
mindestens einen zweiten Zähler,
der zur Messung von Zeitparametern von Interbankbefehlen gestaltet
ist. Der Rahmendekodierer und der Speicherbefehlbewertungs-/generatorabschnitt
werden durch das Dekodiertaktsignal synchronisiert, um Daten und Befehle
an den Speicherkern mit einer Taktflanke des Dekodiertaktsignals
freizugeben.
-
Der
Rahmendekodierer ist eine synchrone Einheit, die von dem Dekodiertaktsignal,
das mit dem Rahmentaktsignal übereinstimmen
oder davon abgeleitet sein kann und eine hohe Frequenz hat, synchronisiert
ist und synchron mit diesem arbeitet. In einem nicht beschränkenden
Beispiel kann die Taktfrequenz des Rahmendekodierers abgeglichen
auf Datenraten von 3,6 bis 7,2 Gbit/s unter 1 GHz liegen. Der Speicherkern
und der Adressendekodierer innerhalb des Speicherkerns werden mit
einer kleineren Frequenz, z.B. im Bereich 100 bis 200 MHz betrieben.
Dies bedeutet, dass der Speicherkern und der Rahmendekodierer mit
unterschiedlichen Frequenzen arbeiten und dass die Komponenten des
Rahmendekodierers die unterschiedlichen Frequenzen beherrschen müssen. Außerdem ist
eine Anzahl Zeitparameter vorhanden, die die Mindestzeit zwischen bestimmten
Speicherbefehlen definieren. Um diese Zeitparameter zu erfüllen, muss
der Rahmendekodierer mit einem höheren
Frequenz betrieben werden, d.h. dass der Rahmendekodierer eine höhere Auflösung als
der aktuelle Speicherkern haben muss. Der Speicherkern und der Rahmendekodierer
gehören
zu verschiedenen Taktdomänen
und sind miteinander nicht synchronisiert. Bevorzugt liegt das Verhältnis zwischen
der synchronisierenden Dekodierertaktsignalfrequenz und der Betriebsfrequenz
des Speicherkerns im Bereich von 2 bis 5.
-
Hinsichtlich
des Rahmendekodierers führt der
vorliegende Halbleiterspeicherchip folgende Funktionen aus. Signalrahmen
kommen von dem Empfangsschnittstellenabschnitt an dem Rahmendekodierer
mit der Frequenz des Rahmentakts oder des Dekodierertaktsignals
an. Die Frequenz des Rahmentakts entspricht der Datenrate/Rahmenlänge. In dem
Befehlstypdekodiererabschnitt wird der Befehlstyp dekodiert. Aufgrund
des Befehlstyps werden Schreibdaten in den Datenzwischenpuffer IDB
eingeschrieben, Systembefehlsdaten in ein Systemmodusregister eingeschrieben
oder zusammen mit einer übergeordneten
global steuernden finiten Zustandsmaschine gehandhabt, und die speicherrelevanten Befehle
werden dekodiert. Parallel dazu wertet der CRC-Bit-Dekodierer die
CRC-Bits in dem Rahmen aus und die Schutzeinheit vor falschen Befehlen
des Rahmendekodierers gibt die Befehle nur frei, wenn die CRC-Prüfung in
Ordnung ist.
-
Allgemein
können
speicherrelevante Befehle auf einen minimalen Befehlssatz reduziert
werden: ACT (Bank offen), READ (auslesen von Daten aus dem Zellenfeld),
WRITE-RET (Daten vom IDB in das Speicherzellenfeld schreiben) und
PRE (Bank schließen).
Eine Auffrischoperation kann als ACR+PRE dekodiert werden. Bei vorigen
DRAM-Generationen gibt es andere Befehle, wie „Beginn/Ende Abschalten der
Stromversorgung" oder „EMRS/MRS", welche hier jedoch
ohne Bedeutung sind, da das Gesamtsystem, welches den Halbleiterspeicherchip
dieser Erfindung enthält,
betroffen ist und deshalb unter Berücksichtigung von allgemeineren
Systemaspekten gehandhabt werden muss.
-
Das
Systemmodusregister speichert jeden relevanten Zeitparameter als
eine Anzahl von Taktzyklen (bezogen auf den Rahmentakt oder das
synchronisierende Dekodierertaktsignal). Wenn in einem einzelnen
Rahmen mehr als ein speicherrelevanter Befehl zu einer Bank enthalten
ist, ordnet der Rahmendekodierer sie in der richtigen Reihenfolge
an, z.B. führt
in einem einzelnen Rahmen die dekodierte Befehlsfolge ACT+READ zu
1) ACT, 2) READ. Die relevanten Zeitparameter für einen bestimmten Befehl werden
vom Systemmodusregister geliefert und dem momentanen Befehl zugeordnet.
Allerdings werden für
die Auswahl relevanter Zeitparameter auch vorangehende Befehle in
Betracht gezogen. Darüber
hinaus muss, wie zuvor erwähnt,
der Befehlspuffer nicht leer sein. Ein darauf folgender Rahmen könnte einen
weiteren zu planenden Befehl READ enthalten, so dass die vorige
Reihenfolge neu angeordnet werden müsste.
-
Der
Befehlspuffer speichert mindestens einen Befehl und den vom Systemmodusregister
abgeleiteten zugehörigen
Zeitparameter. Der für
die momentane Bank vorgesehene erste Zähler beginnt zu zählen. Der
Zähler
beginnt mit der Freigabe eines Befehls zum Kern. Falls kein weiterer
Befehl unmittelbar bevorsteht, erreicht der Zähler seinen Maximalwert und
hält an.
Der nächste
ankommende Befehl erkennt den maximalen Zählwert und wird unverzögert freigegeben,
und der Zähler
beginnt erneut zu zählen.
Bei Gleichheit des Zählwerts
und des Werts des Zeitparameters wird der Speicherbefehl an den Speicherkern
gesendet. Der Befehlspuffer kann mehrere Speicherbefehle enthalten,
die abhängig
von dem im Befehlspuffer gespeicherten Zeitwert aufeinander folgend
freigegeben werden.
-
Die
obigen und weitere Aufgaben, Merkmale und Vorteile der Erfindung
werden beim Studium der nachfolgenden Definitionen, Beschreibungen
und erläuternden
Figuren spezieller Ausführungsbeispiele deutlich,
wobei die gleichen Bezugszeichen in den verschiedenen Figuren zur
Bezeichnung derselben Komponenten verwendet werden. Obwohl diese
Beschreibungen in spezielle Einzelheiten der Erfindung gehen, sollte
es verständlich
sein, dass es Varianten derselben gibt, die für die auf diesem technischen Gebiet
erfahrenen Fachleute mit Hilfe der beiliegenden Beschreibung deutlich
erkennbar werden.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
beiliegenden Zeichnungen sind ein Teil dieser Spezifikation und
in dieser eingeschossen, veranschaulichen ein momentan bevorzugtes
Ausführungsbeispiel
der Erfindung und dienen zusammen mit der obigen allgemeinen Beschreibung
und der nachstehenden detaillierten Beschreibung zur Erläuterung
der Prinzipien der Erfindung.
-
1 ist
eine allgemeine Übersicht
in Form eines Funktionsblockdiagramms eines Rahmendekodierers und
damit in funktionellem Zusammenhang stehenden anderen Komponenten
des vorliegenden Halbleiterspeicherchips.
-
2 ist
ein schematischer Umriss der funktionellen Zusammenhänge zwischen
dem Systembefehlsbewertungs-/generatorabschnitt und dem entsprechenden
Systemmodusregister.
-
3 zeigt in einem Signalzeitdiagramm Signalformen,
die ankommende Systembefehlsrahmen und den Zugriff zu dem Systemmodusregister
gemäß 2 darstellen.
-
4 ist
ein detaillierteres Blockdiagramm des Speicherbefehlbewertungs-/generatorabschnitts
des Rahmendekodierers, welcher in Kombination eine Bewertungs- und
Generatoreinheit, einen Befehlspuffer, eine Zählereinheit und eine Vergleichereinheit
enthält,
welche eine Schnittstelle des Rahmendekodierers zum Speicherkern
bilden.
-
5 zeigt
in einem Signalzeitdiagramm Signalformen an/in dem Speicherbefehlsbewertungs-/generatorabschnitt
gemäß 4.
-
6 zeigt
eine Tabelle, die mehrere verschiedene Zeitparameter zugeordnet
zu kombinierten Befehlen auflistet.
-
DETAILLIERTE
BESCHREIBUNG
-
Das
in 1 dargestellte Funktionsblockdiagramm zeigt ein
Ausführungsbeispiel
eines allgemein mit der Bezugsziffer 10 bezeichneten Rahmendekodierers,
einen Schnittstellenabschnitt 11 zum Speicherkern, der
mit dem Rahmendekodierer 10 für den Empfang von speicherrelevanten
Befehlen und gepufferten Schreibdaten aus einem Datenzwischenpuffer
(IDB) 14 verbunden ist. Ein Systemmodusregister 13 ist
zur Speicherung der von einer (nicht gezeigten) Speichersteuereinheit
gesendeten Zeitparameter vorgesehen. Zur Einstellung des Systemmodusregisters 13 sendet
die Speichersteuereinheit Rahmen mit Systembefehlen, die die Zeitparameter zur
Speicherung liefern. Die Zeitparameter geben jeweils eine spezielle
Zeitdauer durch eine Anzahl von Taktzyklen, entweder eines Rahmentaktsignals
oder eines Dekodierertaktsignals an (das später beschrieben wird). Hier
sind nur einige Zeitparameter interessant, die nicht von der Speichersteuereinheit überprüft oder
festgelegt sind.
-
Von
dem zumindest teilweise in dem Systemmodusregister (13 in 1)
zu speichernden Zeitparametern listet die in 6 dargestellte
Tabelle einige relevante Zeitparameter, deren Bedeutung und Zuordnung
zu aufeinander folgenden Befehlen auf. Befehle, die mit einem Stern
(*) bezeichnet sind, sind nicht notwendigerweise im Systemmodusregister
gespeichert, sondern können
von der Speichersteuereinheit festgelegt bzw. überprüft werden. Aus 6 ersieht
man, dass Zeitparameter, wie tRRD und tCCD aufeinander folgenden
Befehlen für
verschiedene Speicherbänke
zugeordnet sind.
-
Weiterhin
zeigt 1 einen CRC-Bit-Dekodierer 12, der CRC-relevante
Bits aus jedem Rahmen empfängt
und der zur Auswertung der CRC-Bits in dem Rahmen und zur Prüfung der
Korrektheit/Fehlerhaftigkeit von Befehlen) und Daten in jedem Signalrahmen
eingerichtet ist. Im Betrieb ist der CRC-Bit-Dekodierer 12 mit einer Falschbefehlschutzeinheit 5 verbunden,
die Teil des Rahmendekodierers 10 ist. Eine weitere Komponente
dieses Halbleiterspeicherchips ist eine übergeordnete finite Zustandsmaschine 15 zur
globalen Steuerung, die für die
Steuerung des Systems und des Speicherkerns vorgesehen ist und Systembefehle
von einem Systembefehlbewertungs-/generatorabschnitt 4 empfängt, der
ebenfalls ein Teil dieses Rahmendekoders 10 ist. Der Rahmendekodierer 10 enthält als Hauptkomponenten
einen Befehlstypdekodierabschnitt 1, der zur Dekodierung
der Typen eines oder mehrerer in einem oder mehreren Rahmen enthaltener
Befehle eingerichtet ist. Der Befehlstypdekodierabschnitt 1 empfängt von
dem oder den Rahmen Bits zur Auswahl des Befehlstyps und gibt verschiedene
Steuersignale (a) „Befehl
an Speicher ja/nein" an
einen Speicherbefehlbewertungs-/generatorabschnitts 2, der
zur Planung und Vorbereitung einzelner Befehle an den Kern CORE
eingerichtet ist, (b) „IDB
ja/nein" an den
zur Planung und Vorbereitung von Steuersignalen an den Datenzwischenpuffer
IDB eingerichteten Befehlbewertungsgeneratorabschnitt 3,
und (c) das Signal „Systembefehl ja/nein" an einen Systembefehlbewertungs-/generatorabschnitt 4,
der zur Vorbereitung und Planung von Systembefehlen hauptsächlich an
das Systemmodusregister 13 und auch an die übergeordnete
finite Zustandsmaschine 15 zur globalen Steuerung eingerichtet
ist.
-
Wie
beschrieben, werden der Speicherbefehlbewertungs-/generatorabschnitt 2,
der Datenzwischenpufferbefehlbewertungs-/generatorabschnitt 3 und
der Systembefehlbewertungs-/generatorabschnitt 4 mit den
Steuersignalen von dem Befehlstypdekodierabschnitt in Übereinstimmung
mit dem dekodierten Typ des Befehls bzw. der Befehle betrieben.
-
Die
Komponenten des Rahmendekodierers 10, nämlich der Befehlstypdekodiererabschnitt 1,
der Speicherbefehlbewertungs-/generatorabschnitt 2, der
Datenzwischenpufferbefehlbewertungs-/generatorabschnitt 3,
der Systembefehlbewertungs-/generatorabschnitt und die Falschbefehlschutzeinheit 5 arbeiten
synchron mit einem Synchronisationstaktsignal, welches ein Rahmentaktsignal
oder ein Synchronisationsdekodiertaktsignal sein kann, welches dieselbe
Phase wie das Rahmentaktsignal, jedoch eine höhere Frequenz als dieses hat.
-
In
dem in 1 gezeigten Ausführungsbeispiel ist der IDB 14 in
dem Schreibdatenweg vor der Falschbefehlschutzeinheit 5 angeordnet.
Jedoch kann es vorteilhaft sein, den IDB 14 außerhalb,
d.h. nach der Falschbefehlschutzeinheit 5 anzuordnen, so
dass die unmittelbar einzuspeisenden und aus dem IDB auszulesenden
Schreibdaten auch durch die Falschbefehlschutzeinheit 5 schätzbar sind.
D.h., dass mehrere verschiedene Anordnungen für den IDB möglich sind.
-
2 stellt
den Systembefehlbewertungs-/generatorabschnitt 4 und dessen
Verbindung mit dem entsprechenden Systemmodusregister 13 dar.
Beide Einheiten, der Systembefehlbewertungs-/generatorabschnitt 4 und
das Systemmodusregister (SMRS) 13 werden vom selben synchronisierenden
Dekodiertakt dclk oder alternativ durch das Rahmentaktsignal frmclk
getaktet. Der Systembefehlsbewertungs-/generatorabschnitt 4 stellt
eine Adresse und einen zu speichernden Wert, d.h. eine Anzahl von
Taktzyklen des Taktsignals dclk (frmclk) entsprechend jedem Systembefehl
zur Verfügung (3). Für
andere Systembefehle kann, falls nötig, der Systembefehlbewertungs-/generatorabschnitt 4 zur übergeordneten
finiten Zustandsmaschine 15 für die globale Steuerung zugreifen.
Obwohl dies in 2 nicht explizit gezeigt ist,
können
die Systembefehle nicht nur Register-Lesen/Schreiben, sondern auch
andere Systemtätigkeiten,
wie „Leistungsversorgung
abschalten" anstoßen. Jeder
einen Systembefehl enthaltende Rahmen wird von dem Bewertungs-/generatorabschnitt 4 für die Systembefehle mit
der ersten Vorderflanke dclk oder frmclk bewertet und in das Systemmodusregister 13 mit
der darauf folgenden Flanke des Taktsignals eingeschrieben. Allerdings
zeigen die 2 und 3 nur
ein Beispiel, wie die für
den Zählervergleich
(4) nötigen
Dateiparameter gespeichert werden können.
-
Das
Funktionsblockdiagramm der 4 zeigt
schematisch Einzelheiten des Speicherbefehlbewertungs-/generatorabschnitts 2.
Letzterer enthält eine
Speicherbefehlbewertungs-/ und -generatoreinheit 21 und
für jede
Speicherbank eine Befehlspuffereinheit 22, die zum Puffern
eines oder mehrerer in einem momentan dekodierten Signalrahmen enthaltener
Speicherbefehle und, falls dies das Protokoll für einen momentan dekodierten
Befehl definiert, zum Puffern des letzten Befehls eines vorangehenden Rahmens
und auch zum Puffern eines Zeitparameters von dem Systemmodusregister
zugeordnet zu dem jeweils gepufferten Befehl eingerichet ist. Ein Zähler 23 ist
in dem Speicherbefehlbewertungs-/generatorabschnitt 2 zum
Zählen
von Taktzyklen des synchronisierenden Dekodierertakts dclk oder
alternativ des Rahmentaktsignals frmclk angeordnet, und ein Vergleicher 24 ist
zum Vergleich eines Zählwerts des
Zählers 23 mit
einem in dem Befehlspuffer 22 in Zuordung zu dem momentan
dekodierten Befehl gepufferten Zeitparameter eingerichtet. Rücksetzmittel (nicht
gezeigt) sind zum Rücksetzen
des Zählers 23 vorgesehen.
Immer wenn der Vergleicher 24 eine Übereinstimmung zwischen dem
Wert des Zählers 23 und
dem zugeordneten gepufferten Zeitparameter erfasst, gibt die Befehlspuffereinheit 22 den
Befehl, wie z.B. eine Spaltenadresse oder eine andere Information
an die jeweilige Speicherbank des Kerns und aktiviert die (nicht
gezeigten) Rücksetzmittel
zum Rücksetzen
des Zählers 23.
-
Die
normale Betriebsart des Rahmendekodierers ist hauptsächlich die
Dekodierung der Speicherbefehlsrahmen. Zu diesem Zweck sendet die
Speichersteuereinheit Rahmen mit eingebetteten Speicherbefehlen.
Der Speicherbefehlbewertungs-/generatorabschnitt 2 arbeitet
pro Speicherbank. Der ankommende Rahmen wird dekodiert und daraus
ermittelt, ob ein oder mehrere Speicherbefehl(e) eingebettet sind.
Wenn zwei oder mehr Speicherbefehle eingebettet sind, ordnet die
Befehlbewertungs- und -generatoreinheit 21 sie in der richtigen
Reihenfolge an. Z.B. werden die kombinierten Speicherbefehle ACT+READ
in die Reihenfolge 1) ACT; 2) READ gebracht. Mit dem letzten Rahmen, der
einen Zugriff zu dieser Bank hat, wurde der letzte Speicherbefehl
in der Befehlspuffereinheit 22 gespeichert. Mit dieser
Information werden die Zeitparameter vom Systemmodusregister 13 Befehl
für Befehl abgeleitet
und mit einem gewissen Befehl der Befehlspuffereinheit 22 zur
Verfügung
gestellt.
-
Allgemein
hängt die
Größe dieser
Befehlsgeschichte stark von der Speichersteuereinheit ab. Je mehr
Zeitparameter von der Speichersteuereinheit festgelegt bzw. überprüft werden,
umso weniger davon müssen
in dem Halbleiterspeicherchip überprüft werden.
Im schlimmsten Fall könnte,
falls die Speichersteuereinheit fast keine Zeitparameter festlegt bzw. überprüft, die
Prüfung
von tRC (RAS Zykluszeit), das ist die Zeitdauer von ACT zu ACT mit
anderen Befehlen dazwischen, oder die Prüfung von tRRD, das ist die
Zeitdauer von ACT einer ersten Bank A bis ACT einer zweiten Bank
B erforderlich werden. In diesem Ausführungsbeispiel ist angenommen,
dass die Speichersteuereinheit die meisten Zeitparameter festlegt
bzw. überprüft und dass
der Rahmendekodierer nur die relevanten Zeitparameter zwischen zwei
aufeinander folgenden Befehlen sicherstellen und prüfen muss,
das sind zwei aufeinander folgende kombinierte Befehle innerhalb
eines Rahmens, ein Befehl eines vorangehenden Rahmens, der jedoch
zu einem Befehl des momentanen Rahmens in Beziehung steht, und optional
von aufeinander folgenden Interbankbefehlen.
-
Das
in 5 gezeigte Signalzeitdiagramm veranschaulicht
ein Arbeitsbeispiel des Speicherbefehlbewertungs-/generatorabschnitts 2,
wie er in 4 dargestellt ist, in Zusammenarbeit
mit dem Systemmodusregister 13. Wie 5 zeigt,
war ein letzter Befehl PRE. Nun kommt ein Rahmen mit den kombinierten
Befehlen ACT+READ an. Die Befehlbewertungs- und – generatoreinheit 21 bringt
die kombinierten Befehle in die richtige Reihenfolge :1) ACT; 2)
READ. Für
PRE zu ACT gibt es eine Mindestzeit: tRP (6). Für ACT werden – neben
einem potenziellen Freigabesignal – Reihenadresse und Bankadresse
und ebenfalls dieser Zeitparameter tRP als eine Anzahl von Taktzyklen
von dclk oder frmclk zur Verfügung
gestellt. Auch für
ACT zu READ gibt es eine Mindestzeit: tRCD (siehe 6).
In derselben Weise wie für
ACT werden für
READ eine Spaltenadresse, Bankadresse und der Zeitparameter tRCD als
eine Anzahl von Taktzyklen zur Verfügung gestellt. Diese Befehle
und die Anzahl der Taktzyklen für
die jeweiligen Zeitparameter tRP und tRCD werden dem Zähler 23 und
der Befehlspuffereinheit 22 zur Verfügung gestellt. Die Größe des Zählers 23 wird
vom dem größtmöglichen
Mindestzeitparameter zwischen zwei aufeinander folgenden Befehlen
abgeleitet.
-
Ein
neuer Befehl oder mehrere neue Befehle wird bzw. werden in die Befehlspuffereinheit 22 eingeschrieben.
Der Zähler 23 zählt mit
jedem Taktzyklus des Taktsignals dclk oder frmclk. Wenn der Zählwert gleich
dem Zeitwert des ersten Befehls ist, wird dieser Befehl dem Speicherkern
CORE zugeführt. Dann
wird der Zähler 23 von
dem (in 4 nicht gezeigten) Rücksetzmittel
zurückgesetzt
und beginnt erneut zu zählen,
bis der Zählwert
gleich dem Zeitwert des zweiten Befehls ist – dieser Befehl wird dem Speicherkern
CORE zugeführt.
Die Situation wiederholt sich wieder und wieder, wenn neue Befehle
in die Befehlspuffereinheit 22 eingeschrieben werden.
-
Nun
sei angenommen, dass ein zweiter Befehl der derzeit letzte ist,
d.h., dass ein weiterer Befehl mit einem der nächsten Rahmen kommt: Die Freigabe
des zweiten Befehls zum Speicherkern CORE setzt den Zähler zurück und lässt diesen
erneut zählen.
Wenn er seinen maximalen Zählwert
erreicht, hält
er an, ohne zum Anfangswert zurückzukehren.
Dann gibt es für
einen ankommenden weiteren Befehl zwei Möglichkeiten:
- a)
Ein Befehl kommt, bevor der maximale Zählwert erreicht worden ist.
Wenn der Zeitwert des ankommenden Befehls kleiner als der Zählwert ist,
kann der Befehl dem Speicherkern CORE mit dem nächsten Taktzyklus ohne jede
Verzögerung zugeleitet
werden. Andernfalls muss gewartet werden, bis der Zählwert und
der Zeitwert des Befehls gleich sind.
- b) Ein Befehl kommt, wenn der Zähler 23 seinen maximalen
Wert erreicht hat. Dann besteht kein Risiko, dass der ankommende
Befehl irgendeinen Zeitparameter verletzen kann. Der Zähler 23 wird zurückgesetzt
und der Befehl an den Speicherkern CORE freigegeben.
-
Hier
ist zu bemerken, dass die Symbole @1, @2, @3 in der vierten Zeile
des Signalzeitdiagramms der 5 den Wert
in Taktzyklen jeder Mindestzeit gemäß den dem jeweiligen Speicherbefehl
zugeordneten Zeitparametern symbolisieren.
-
In 4 ist
der Speicherbefehlbewertungs-/generatorabschnitt 2 des
bevorzugten Ausführungsbeispiels
des Rahmendekodierers dieses Halbleiterspeicherchips mit nur einem
Zähler,
einer Befehlspuffereinheit 22 und einem Vergleicher 24 dargestellt.
Jedoch können
der Zähler 23,
die Befehlspuffereinheit 22 und der Vergleicher 24 bankweise realisiert
sein. Dies hängt
stark von den implizit durch die Speichersteuereinheit festgelegten
bzw. überprüften Zeitparametern
ab.
-
Hinsichtlich
einer möglichen
Beschränkung der
Pinzahl dieses Halbleiterspeicherchips sind dessen Busse Mehrzweckbusse
und werden für
mehrere Signalarten genutzt. Diesbezüglich machen Interbankbefehle,
z.B. read A, read B eine Absicherung der Zeitparameter für solche
Interbankbefehle erforderlich, d.h. jedes Zeitparameters tCCD (siehe 6).
Falls die Speichereinheit diese Zeitparameter nicht sicherstellt,
muss der Rahmendekodierer dieses Halbleiterspeicherchip diese Zeitparameter
sicherstellen und einhalten. Deshalb kann der Speicherbefehlbewertungs-/generatorabschnitt 2 optional
wenigstens einen zusätzlichen
(zweiten) Zähler
enthalten, der für
alle Speicherbänke
gemeinsam die Interbankzeitparameter sicherstellt.
-
Vorangehend
wurden bevorzugte Ausführungsbeispiele
eines neuen und verbesserten Halbleiterspeicherchips unter der Annahme
beschrieben, dass die hier unterbreiteten Lehren den Fachleuten auf
diesem technischen Gebiet andere Modifikationen, Variationen und Änderungen
nahe legen. Es wird deshalb angenommen, dass es verständlich ist, dass
alle diese Variationen, Modifikationen und Änderungen in den Umfang dieser
Erfindung, wie er durch die beiliegenden Ansprüche definiert ist, fallen. Obwohl
hier spezielle Bezeichnungen verwendet werden, werden sie hier lediglich
in einem allgemeinen und beschreibenden Sinn und nicht in beschränkender
Weise verwendet.
-
- 1
- Befehlstypdekodierabschnitt
- 2
- Speicherbefehlbewertungs-/generatorabschnitt
- 3
- Datenzwischenpufferbefehlbewertungs-/generatorabschnitt
- 4
- Systembefehlbewertungs-/generatorabschnitt
- 5
- Falschbefehlschutzeinheit
- 10
- Rahmendekodierer
- 11
- Speicherkernschnittstelle
- 12
- CRC-Bit-Dekodierer
- 13
- Systemmodusregister
- 14
- Datenzwischenpuffer
(IDB)
- 15
- übergeordnete
finite Zustandsmaschine für
globale Steuerung
-
- (Systemsteuereinheit)
- CORE
- Speicherkern
- frm_i
- Rahmeneingabe
- dclk
- Synchronisationsdekodiertakt
- frmclk
- Rahmentakt
- 21
- Befehlsbewerter-
und -generator
- 22
- Befehlspuffer
- 23
- Zählereinheit
- 24
- Vergleichereinheit
- PRE
- PRE-Befehl
- NOP
- Keine
Operation
- ACT
- ACT-Befehl
- READ
- Lesebefehl