-
HINTERGRUND DER ERFINDUNG
-
Halbleiterbausteine
werden in integrierten Schaltungen für eine Reihe elektrischer und
elektronischer Anwendungen eingesetzt, beispielsweise in Computern,
Funktelefonen, Radios und Fernsehern. Ein besonderer Typ von Halbleiterbaustein
ist ein Halbleiterspeicherbaustein, wie z.B. ein Speicher mit wahlfreiem
Zugriff (RAM – random
access memory). Speicher mit wahlfreiem Zugriff umfassen Speicherzellen,
die in einem zweidimensionalen Array angeordnet sind und zwei Sätze von
Auswahlleitungen, nämlich
Wortleitungen und Bitleitungen, umfassen. Eine einzelne Speicherzelle
wird durch Aktivierung ihrer Wortleitung und ihrer Bitleitung ausgewählt. RAM-Bausteine werden
deshalb als Speicher mit wahlfreiem Zugriff bezeichnet, da auf jede
beliebige Speicherzelle in einem Speicherzellenfeld direkt zugegriffen
werden kann, wenn die Reihe und die Spalte, die sich an der Speicherzelle
kreuzen, bekannt sind.
-
Eine
häufig
verwendete Form eines RAM-Speichers ist als dynamischer Speicher
mit wahlfreiem Zugriff (DRAM – dynamic
random access memory) bekannt. Ein DRAM-Speicher umfasst Speicherzellen
mit einem Auswahltransistor und einem Kondensator. Es besteht die
Tendenz, dass sich die Ladung im Laufe der Zeit aufgrund von Leckströmen aus
dem Kondensator verringert. Um einen Verlust der Ladung zu verhindern,
müssen
die Speicherzellen der DRAM-Speicher regelmäßig ausgelesen und ihr Inhalt überschrieben
werden, was als Auffrischvorgang der Speicherzellen bezeichnet wird. Jede
der Speicherzellen in einem DRAM-Speicher muss periodisch auf diese
Weise aufgefrischt werden, wobei die maximale Auffrischdauer von
einer Reihe von Prozessparametern bestimmt wird und vom Hersteller des
Bauelements in der Regel gemäß vorgegebenen
Standards festgelegt wird.
-
Herkömmliche
DRAMs können
auf dem Speicherchip eine Steuerlogik zur automatischen Durchführung eines
extern oder intern generierten Auffrischbefehls aufweisen. Die auf
dem Speicherchip angebrachte Auffrischlogik würde ein Auffrischverfahren
für den
Nutzer durch Eingabe eines Auffrischbefehls beispielsweise von einer
Speichersteuereinheit, und durch eine interne Ausführung aller
logischen Schritte, die zur Auffrischung einiger oder aller Speicherzellen
innerhalb der zugewiesenen Zeitspanne erforderlich sind, transparent
machen, einschließlich
der Erzeugung von Adressen, der Aktivierung von Wort- und Bitleitungen,
und der Rückführung des
Speicherchips auf einen Vorladezustand. Das Auffrischen der Speicherzellen
erfordert Energie. Ein DRAM-Speicher kann mehrere Speicherbänke aufweisen.
Ein herkömmliches
Verfahren zum Verringern des Energieverbrauchs beim Auffrischen von
Speicherzellen eines DRAMs besteht darin, lediglich einzelne Speicherbänke oder
Teile von Speicherbänken
aufzufrischen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Eine
Ausführungsform
der Erfindung betrifft einen Speicher mit Speicherzellen sowie mit
einer mit den Speicherzelle verbundenen Auffrischschaltung, wobei
die Auffrischschaltung ein Auffrischen von in den Speicherzellen
gespeicherten Daten steuert. Der Speicher umfasst eine Speicherschaltung
mit Gültigkeitsbits,
wobei ein Gültigkeitsbit
mindestens einer Teilmenge der Speicherzellen zugewiesen wird. Die Auffrischschaltung überprüft die Gültigkeitsbits
und frischt lediglich die Speicherzellen auf, die einem Gültigkeitsbit
zugewiesen sind, in dem ein Aktivierungswert gespeichert ist.
-
Eine
weitere Ausführungsform
der Erfindung betrifft einen Speicher mit Speicherzellen, sowie
mit einer mit den Speicherzellen verbundenen Auffrischschaltung.
Die Auffrisch schaltung steuert ein Auffrischen von in den Speicherzellen
gespeicherten Daten. Der Speicher umfasst eine Speicherschaltung mit
Gültigkeitsbits,
wobei ein Gültigkeitsbit
mindestens einer Teilmenge der Speicherzellen zugewiesen wird. Der
Speicher umfasst eine Auswerteschaltung, welche die Gültigkeitsbits überprüft und einen
Aktivierungswert überträgt, wenn
ein Aktivierungswert in dem Gültigkeitsbit
gespeichert ist. Die Auffrischschaltung steuert das Auffrischen
nur dieser Speicherzellen, die einem Gültigkeitsbit zugewiesen sind,
in dem ein Aktivierungswert gespeichert ist. Die Auswerteschaltung
schreibt einen Aktivierungswert in ein Gültigkeitsbit ein, welches einer
Teilmenge von Speicherzelle des Speichers zugewiesen wird, wenn
eine Schreibschaltung Daten in eine Speicherzelle der Teilmenge
des Speichers einschreibt.
-
In
einer weiteren Ausführungsform
betrifft die Erfindung ein Verfahren zum Auffrischen von Daten von
Speicherzellen eines Speichers, der eine Speicherschaltung mit Gültigkeitsbits
aufweist. Das Gültigkeitsbit
ist mindestens einer Teilmenge der Speicherzellen zugewiesen. Das
Gültigkeitsbit
wird überprüft und nur
die Speicherzellen, die einem Gültigkeitsbit
mit einem Aktivierungswert zugewiesen sind, werden aufgefrischt.
-
KURZE BESCHREIBUNG DER FIGUREN
-
Um
ein detailliertes Verständnis
der oben erwähnten
Merkmale der vorliegenden Erfindung zu ermöglichen, wird nachfolgend eine
genauere Beschreibung der oben kurz zusammengefassten Erfindung
unter Bezugnahme auf Ausführungsformen
angegeben, von denen manche in den beigefügten Zeichnungen dargestellt
sind. Es wird jedoch darauf hingewiesen, dass die beigefügten Zeichnungen
lediglich typische Ausführungsformen
der Erfindung darstellen und daher ihren Umfang nicht einschränken, da
die Erfindung weitere, ebenso wirksame Ausführungsformen zulassen kann.
-
1 zeigt
eine schematische Darstellung einer Speicherschaltung;
-
2 zeigt
eine Detailansicht der Speicherzellen des Speichers;
-
3 zeigt
eine Auffrischschaltung; und
-
4 zeigt
ein Blockdiagramm einer weiteren Ausführungsform einer Auffrischschaltung.
-
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN
AUSFÜHRUNGSFORM
-
Die
vorliegende Erfindung betrifft im Allgemeinen mikroelektronische
Bauelemente. Insbesondere betrifft die Erfindung programmierbare
Strukturen, die sich für
verschiedene Anwendungen in integrierten Schaltungen, beispielsweise
in Speicherbausteinen eignen.
-
Die
vorliegende Erfindung kann im Hinblick auf verschiedene funktionale
Bauelemente beschrieben werden. Dabei wird darauf hingewiesen, dass solche
funktionalen Bauelemente durch eine beliebige Anzahl von Hardware-
und Softwarebauelementen umgesetzt werden können, die zum Durchführen der
spezifischen Funktionen dienen. Die vorliegende Erfindung kann beispielsweise
verschiedene integrierte Bauelemente einsetzen, die verschiedene elektrische
Vorrichtung aufweisen, wie z.B. Widerstände, Transistoren, Kondensatoren,
Dioden und dergleichen, deren Funktionsweise sich für verschiedene
vorgesehene Zwecke eignen kann. Darüber hinaus kann die vorliegende
Erfindung in jeder beliebigen integrierten Schaltungsanwendung eingesetzt werden,
in der eine wirkungsvolle umkehrbare Polarität erwünscht ist. Solche allgemeinen
Anwendungen sind für
den Fachmann im Lichte der vorliegenden Offenbarung ersichtlich
und werden nicht detailliert beschrieben. Außerdem wird darauf hingewiesen,
dass verschiedene Bauelemente in geeigneter Weise mit anderen Bauelementen
innerhalb beispielhafter Schaltungen gekoppelt oder verbunden sein können, und
dass solche Verbindungen und Kopplungen durch direktes Verbinden
zwischen Bauelementen und durch Verbinden mittels anderer dazwischen
angebrachter Bauelemente und Vorrichtungen realisiert werden können.
-
1 zeigt
ein funktionales Blockdiagramm eines DRAM-Speichers 10 mit einem Array 12 aus Speicherzellen 40.
Das Array 12 umfasst eine Vielzahl von Speicherzellen 40,
die in Reihen und Spalten angeordnet sind, wobei Wortleitungen und
Bitleitungen zum Zugreifen auf die Speicherzellen 40 angeordnet
sind. Am Kreuzungspunkt einer Wortleitung und einer Bitleitung ist
eine Speicherzelle 40 angeordnet. Um auf eine bestimmte
Speicherzelle in dem Array 12 zuzugreifen, wird ein Adressauswahlsignal ADDR
an einen Spaltenadresspuffer 16 und einen Reihenadresspuffer 20 übertragen.
Außerdem
sind der Reihenadresspuffer 20 und der Spaltenadresspuffer 16 mit
einem Adressregister 41 verbunden, der in einem Zeit-Multiplex-Modus Spaltenadressen
und Reihenadressen an den Spaltenadresspuffer 16 und den
Reihenadresspuffer 20 überträgt. Das
Adressauswahlsignal hat zur Folge, dass der Spaltenadresspuffer 16 die
vom Adressregister 41 übersandten Adressen
speichert. Das Adressauswahlsignal hat außerdem zur Folge, dass der
Reihenadresspuffer 20 die vom Adressregister 41 übertragenen
Adressen speichert. In einem typischen DRAM teilen die Spaltenadresse
und die Reihenadresse externe Anschlüsse, so dass die Reihenadresse
zu einem ersten Zeitpunkt empfangen wird und die Spaltenadresse
zu einem zweiten Zeitpunkt. Das Adressauswahlsignal kann von einem
externen Baustein übertragen werden,
beispielsweise von einer Speichersteuereinheit.
-
Der
Spaltenadresspuffer 16 und der Reihenadresspuffer 20 dienen
zum Puffern des Adresssignals. Die Ausgänge des Spaltenadresspuffers 16 sind
mit einem Spaltendecoder 14 verbunden. Die Ausgänge des
Reihenadresspuffers 20 sind mit einem Reihendecoder 18 verbunden.
Der Spaltendecoder und der Reihendecoder 14, 18 dienen
zum Decodieren aufgrund der Adressen phy sikalische Positionen der
adressierten Speicherzellen 40, die vom Spaltenadresspuffer 16 bzw.
vom Reihenadresspuffer 20 empfangen werden, um Signaleingänge im Array 12 vorzusehen,
so dass die adressierten Reihen und Spalten der Speicherzellen ausgewählt werden können. In 1 sind
der Spaltendecoder 14 und der Reihendecoder 18 als
einzelne Blöcke
gezeigt. Es wird jedoch darauf hingewiesen, dass die Decoder mehrere
Stufen des Vordecodierens und des Decodierens ausführen können. Bei
manchen, allen oder keiner dieser Stufen kann eine Taktung vorgesehen sein.
Daten, die im DRAM 10 adressiert werden, werden in das
Array 12 eingeschrieben oder über einen Datenpuffer 17 aus
dem Array 12 ausgelesen. Der Datenpuffer 17 und
die zugehörige
Leitung sollen den Lese- und Schreibpfad darstellen, der eine große Anzahl
von Leitungen und anderen Bauteilen (beispielsweise sekundäre Leseverstärker) aufweisen kann.
-
1 stellt
ebenfalls einen Takteingang CLK dar, um zu zeigen, dass der Speicherbaustein
synchron sein kann. Um diesen Punkt genauer zu erläutern, wird
jedem der Blöcke
das Taktsignal CLK zugewiesen. Es wird davon ausgegangen, dass,
obwohl der externe Takt von verschiedenen Elementen im Array zur
Verfügung
gestellt werden kann, eine Anzahl von Taktsignalen, die kontinuierlich
oder nur bei Bedarf tätig
sein können,
von dem Taktsignal CLK abgeleitet werden können. Der DRAM umfasst auch eine
Auffrischschaltung 19, die eingesetzt wird, um das Auffrischen
der Speicherzellen im Array 12 durchzuführen. Die Auffrischschaltung 19 umfasst
in der Regel eine Form der Adresserzeugung, die häufig ein
digitaler Zähler
ist. Zusätzlich
kann die Auffrischschaltung 19 ein automatisches Auffrischbefehlssignal
von einer Speichersteuereinheit 42 annehmen oder intern
die geeignete Zeit zur Durchführung
eines Auffrischvorgangs bestimmen.
-
Die
Funktion eines automatischen Auffrischvorgangs besteht in der automatischen
Generierung einer Auffrischung der Speicherzelladressen, und in der
Durchführung
aller für
die Durchführung
der Auffrischung erforderlichen Schritte. Es kann von Vorteil sein,
die Speicherzellen auf mehr als einer Wortleitung gleichzeitig aufzufrischen.
Außerdem
kann es von Vorteil sein, nur eine Teilmenge der Speicherzellen
des Arrays 12 aufzufrischen. Das Array 12 kann mehrere
Speicherbänke
mit Speicherzellen umfassen. Die Ausführungsform des in 1 gezeigten
Arrays 12 kann vier Speicherbänke 53, 54, 55, 56 aufweisen.
Auf jede der Speicherbänke 53, 54, 55, 56 kann
gezielt durch den Reihendecoder 18 und den Spaltendecoder 14 zum
Auslesen, Beschreiben oder Auffrischen von Speicherzellen der Speicherbänke 53, 54, 55, 56 zugegriffen
werden.
-
In
einer Ausführungsform
erzeugt die Auffrischschaltung 19 Adressen und legt die
Adressen an den Reihendecoder 18 an. Bestimmte Bereiche der
Auffrischschaltung 19 können
Teil des DRAMs sein. Umgekehrt kann ein Teil der Auffrischschaltung oder
die gesamte Auffrischschaltung 19 außerhalb des DRAM-Speichers angebracht
sein.
-
Die
Auffrischschaltung 19 ist mit einer Auswerteschaltung 43 verbunden.
Die Auswerteschaltung 43 ist mit einem Speicher 44 verbunden,
der mindestens ein Gültigkeitsbit 45 umfasst.
In einer weiteren Ausführungsform
sind mehrere Gültigkeitsbits 45 im
Speicher 44 angeordnet. Das Gültigkeitsbit 45 wird
einer Teilmenge der Speicherzellen des Arrays 12 zugewiesen.
In einer Ausführungsform
kann ein Gültigkeitsbit 45 einer
Speicherzelle 40 zugewiesen werden. In einer weiteren Ausführungsform
kann ein Gültigkeitsbit
einer Reihe von Speicherzellen 40 zugewiesen werden. Zudem
können
dem Gültigkeitsbit 45 auch
andere Teilmengen von Speicherelementen des Arrays 12 zugewiesen
sein. Zusätzlich
ist die Speichersteuereinheit 42 mit der Auffrischschaltung 19 und
der Auswerteschaltung 43 verbunden. Die Speichersteuereinheit 42 ist
mit dem Adressregister 41 verbunden. In einer weiteren
Ausführungsform kann
die Auswerteschaltung 43 mit dem Adressregister 41 verbunden
sein.
-
Die
Auffrischschaltung 19 überträgt die generierten
Adressen der aufzufrischenden Speicherzellen an die Auswerteschaltung 43.
Die Auswerteschaltung 43 vergleicht ein Gültigkeitsbit 45,
das den Speicherzellen der empfangenen Adressen zugewiesen ist,
und überprüft, ob das
Gültigkeitsbit 45 einen Aktivierungs-
oder einen Deaktivierungswert speichert. Wenn das Gültigkeitsbit 45 einen
Aktivierungswert umfasst, überträgt die Auswerteschaltung 43 ein Aktivierungssignal
an die Auffrischschaltung 19. Die Auffrischschaltung 19 überträgt die generierte
Adresse nach Empfang eines Aktivierungssignals an den Reihendecoder 18.
-
Wenn
das Gültigkeitsbit 45 einen
Aktivierungswert für
die empfangenen Adressen aufweist, überträgt die Auswerteschaltung 43 ein
Aktivierungssignal an die Auffrischschaltung 19. Die Auffrischschaltung 19 überträgt keine
Adresse, für
die ein Deaktivierungssignal von der Auswerteschaltung 43 empfangen
wird, an den Reihendecoder 18. Daher werden nur die Speicherzellen
des Arrays 12 aufgefrischt, für die ein Gültigkeitsbit mit einem Aktivierungswert
im Speicher 44 gespeichert wird.
-
Der
Wert der Gültigkeitsbits 45 kann
bei einem Initialisierungsvorgang des DRAMs voreingestellt werden.
In einer weiteren Ausführungsform können die
Werte der Gültigkeitsbits 45 während des Betriebs
des DRAMs 10 angepasst werden.
-
In
einer Ausführungsform
wird das Gültigkeitsbit 45 einer
Teilmenge der Speicherzellen auf einen Aktivierungswert gesetzt,
wenn Daten in eine Speicherzelle der Teilmenge der Speicherzellen
eingeschrieben werden. Daher kann die Auswerteschaltung 43 mit
dem Adressregister 41 verbunden sein und ein Informationssignal
von der Speichersteuereinheit 42 dafür empfangen, dass für die eigentlichen Adressen
des Adressregisters 41 ein Schreibvorgang durchgeführt wird.
Nach Empfang des Schreibsignals und der Adressen sucht die Auswerteschal tung 45 nach
dem Gültigkeitsbit 45,
das den empfangenen Adressen zugewiesen ist, und speichert ein Aktivierungssignal
zu dem jeweiligen Gültigkeitsbit 45.
-
In
einer weiteren Ausführungsform
kann die Auswerteschaltung 43 das Gültigkeitsbit 45 auf
einen Deaktivierungswert für
eine Teilmenge von Speicherzellen zurücksetzen, wenn für eine vorgegebene Zeitdauer
kein Lese- oder Schreibvorgang für
die Teilmenge der Speicherzellen durchgeführt wurde.
-
2 zeigt
mehrere Einzelheiten des Speicher-Arrays 12. Das Speicher-Array 12 umfasst
eine Vielzahl von Speicherzellen 40, die in einer matrixförmigen Architektur
bzw. einem Array angeordnet sind. Jede Speicherzelle 40 umfasst
einen Zugriffstransistor 28, der mit einem Kondensator 30 in
Reihe geschaltet wird. Ein Gate des Zugriffstransistors 28 ist mit
einer Wortleitung 46 und ein Source/Drain-Bereich des Transistors 28 ist
mit einer Bitleitung 47 gekoppelt. Ein zweiter Source/Drain-Bereich
des Transistors 28 ist an einen Endbereich des Speicherkondensators 30 gekoppelt.
Das andere Ende des Speicherkondensators 30 ist mit einer
Referenzspannung gekoppelt, die beispielsweise die Hälfte der
hohen Bitleitungsspannung beträgt.
Das vereinfachte Beispiel von 2 zeigt
nur vier Speicherzellen 40. Es wird davon ausgegangen,
dass ein üblicher
DRAM 10 eine Vielzahl von Speicherzellen aufweisen kann, die
in einem Array aus Reihen und Spalten angeordnet sind.
-
In
einer weiteren Ausführungsform
umfasst der DRAM-Speicher 10 vier 128 MB große Speicherquadranten,
von denen jeder einer einzelnen logischen Speicherbank entspricht.
Um auf eine Speicherzelle zuzugreifen wird eine entsprechende Wortleitung 46 auf
eine hohe Spannung gelegt, was zur Folge hat, dass der Zugriffstransistor 28 einer
jeden mit der Wortleitung gekoppelten Speicherzelle leitend ist.
Entsprechend bewegt sich die Ladung entweder von der Speicherzelle
(in diesem Fall einer physikalischen 1) zur Bitleitung oder von
der Bitleitung zur Speicherzelle (in diesem Fall eine physikalische
0). In der dargestellten Detailansicht sind zwei Bitleitungen 47 mit
einem Leseverstärker 24 verbunden.
Die beiden Bitleitungen werden über
einen Durchgangsbereich 27 mit zwei Transistoren geführt. In
dieser Ausführungsform
schaltet der Durchgangsbereich 27 in einen leitenden Zustand,
um die zwei Bitleitungen 47 mit dem Leseverstärker 24 zu
verbinden. Der Durchgangsbereich 27 dient zur Isolierung
des Leseverstärkers 27 von
den Bitleitungen 47, falls erforderlich. Mit Hilfe des
Durchgangsbereichs 27 kann der Leseverstärker 24 von
mehreren Bitleitungen geteilt werden. Wenn eine Aktivierung durch
das Signal SET vorliegt, liest der Leseverstärker 24 die physikalische 1
oder 0 aus und generiert eine Differentialspannung, die dem aus
der Speicherzelle ausgelesenen Signal entspricht. Eine Vorladeschaltung 22 umfasst
eine Vielzahl von Transistoren (3 sind gezeigt) und legt die Bitleitungen
auf Veq, wenn die Transistoren leitend (d.h. durchgeschaltet) sind.
-
Ein
zweiter Durchgangsbereich 26 mit zwei Transistoren ist
zwischen jeder Spalte und jeder lokalen Datenleitung 48 vorgesehen.
Da der jeder Spalte zugeordnete Leseverstärker 24 ein Bit generiert,
das einer zu der ausgewählten
Reihe (wie von der ausgewählten
Wortleitung bestimmt) gehörigen
Speicherzelle entspricht, wird dem zweiten Durchgangsbereich 26 zur
Auswahl einer Spalte ein Spaltenauswahlsignal CSL zur Verfügung gestellt,
wobei der zweite Durchgangsbereich 26 mit einer lokalen
Datenleitung 48 verbunden ist. Manche Architekturen umfassen
mehrere Eingänge/Ausgänge. In
einem solchen Fall wird ein einzelnes Auswahlsignal CSL mit den
Durchgangsbereichen von mehr als einer Spalte gekoppelt.
-
Ein
sekundärer
Leseverstärker 25 ist
mit dem zweiten Durchgangsbereich 26 und mit Eingangs-/Ausgangsleitungen
verbunden, um den Spannungspegel zu verstärken und das Signal durch den
DRAM zu treiben. In einer weiteren Ausführungsform ist der sekundäre Leseverstärker 25 mit Schreibpuffern
zum Treiben der Eingangs-/Ausgangsleitungen verbunden. Wenn ein
Lese befehl ausgegeben wird, wird der zweite Durchgangsbereich 26 aktiviert
und der primäre
Leseverstärker 24 wird
mit dem sekundären
Leseverstärker 25 verbunden.
-
Ein
Schreibzyklus wird in ähnlicher
Weise durchgeführt
wie ein Lesezyklus. Zuerst muss eine mit dem Reihendecoder 18 verbundene
Wortleitung 46 vorher aktiviert worden sein, beispielsweise
weil eine Bank aktiv ist. Anschließend werden Daten auf die Eingangs-/Ausgangsleitung
gelegt und der zweite Übergangsbereich 26 wird
von einem CSL-Signal aktiviert. Während des Schreibzyklus wird
der sekundäre
Leseverstärker 25 nicht
aktiviert, jedoch sind die Schreibtreiber stattdessen über den
zweiten Durchgangsbereich 26 mit den lokalen Datenleitungen 48 verbunden.
Die Schreibtreiber überschreiben
den primären
Leseverstärker,
was dazu führt,
dass die zwei Bitleitungen die Spannung verändern (nur im Fall unterschiedlicher
Datenzustände)
und Daten an die Speicherzelle 40 übertragen werden.
-
Neben
den Lese- und Schreibzyklen muss der DRAM jede seiner Speicherzellen 40 innerhalb einer
bestimmten Zeitdauer auffrischen, oder die Daten können verloren
gehen. Die Notwendigkeit, einen DRAM 10 aufzufrischen,
ist ein fester Bestandteil der Kondensatorstruktur der einzelnen
Speicherzellen 40, da die gespeicherte Ladung die Tendenz
aufweist, mit der Zeit aufgrund von Leckströmen aus den Kondensator abgebaut
zu werden. Jede der Speicherzellen muss ausgelesen und dann zurückgeschrieben
werden, um die datentragende Ladung wiederherzustellen oder aufzufrischen,
bevor die Ladung zu sehr abgebaut wird, um zuverlässig ausgelesen
zu werden. Die Geschwindigkeit, mit der dieser Ladungsabbau vonstatten
geht, wird von unterschiedlichen Herstellungsparametern gesteuert;
daher wird die maximal zulässige
Zeit zwischen Auffrischzyklen in der Regel vom Hersteller gemäß vorgegebenen
Standards bestimmt.
-
Der
Auffrischvorgang kann dann stattfinden, wenn der DRAM nicht in Betrieb
ist, beispielsweise wenn keine Daten ausgelesen oder Schreibvorgänge durchgeführt werden,
oder wenn die Speichersteuereinheit feststellt, dass die maximal
zulässige
Auffrischdauer demnächst
ausläuft.
Nachfolgend werden die beispielhaften Modi zum Auffrischen eines DRAM-Bausteins,
der die Ideen der vorliegenden Erfindung umsetzen kann, diskutiert.
Bei einer Selbstauffrischung wird ein einzelner Befehl von der Speichersteuereinheit 42 an
die Auffrischschaltung 19 ausgegeben und die Auffrischschaltung 19 frischt alle
Speicherzellen 40 des Arrays 12 oder nacheinander
eine einzelne Speicherbank 53, 54, 55, 56 auf, wobei
auch eine Vielzahl von Speicherzellen gleichzeitig aufgefrischt
werden kann.
-
Während einer
automatischen Auffrischung generiert die Auffrischschaltung 19 die
Reihenadressen und frischt jede Reihe nach Empfang eines Befehls
von der Speichersteuereinheit 42 auf. Die automatische
Auffrischung kann in zwei Modi durchgeführt werden: in einem verteilten
Modus oder in einem Burst-Modus.
Im verteilten Modus frischt die Auffrischschaltung 19 eine
oder mehrere Reihen nacheinander auf, jedoch nicht gleichzeitig
das gesamte Array oder die gesamte Speicherbank. Die Speichersteuereinheit 42 behält einen Überblick über die
seit der letzten Auffrischung jeder Speicherzelle 40 oder
jeder Speicherbank mit Speicherzellen verstrichenen Zeit, und kann
daher einen Zyklus durch das gesamte Array 12 innerhalb
der maximalen Auffrischdauer mit Hilfe mehrfacher Auffrischschritte durchlaufen.
Im Burst-Auffrischmodus stellt die Speichersteuereinheit 42 eine
Reihe von Auffrischbefehlen für
die Auffrischschaltung zur Verfügung,
um das gesamte Array 12 aufzufrischen.
-
3 zeigt
eine Ausführungsform
einer Auffrischschaltung 19. Die Auffrischschaltung 19 umfasst
eine Zählerschaltung 52 und
eine Inkrementierschaltung 49. Die Auffrischschaltung 19 beginnt
bei einer Startadresse und überträgt die Startadresse
an die Auswerteschaltung 43. Die Auswerteschaltung 43 über prüft ein der
Startadresse zugewiesenes Gültigkeitsbit
und gibt ein Aktivierungssignal über
eine Aktivierungsleitung 50 an ein UND-Gatter 51 aus.
Die Auswerteschaltung 43 überträgt ein Aktivierungssignal an
das UND-Gatter 51, wenn das Gültigkeitsbit 45, das
der Startadresse zugewiesen ist, einen Aktivierungswert aufweist.
Wenn das der Startadresse zugewiesene Gültigkeitsbit 45 einen
Deaktivierungswert aufweist, dann überträgt die Auswerteschaltung 43 ein
Deaktivierungssignal auf der Aktivierungsleitung 50 an
das UND-Gatter 51. Darüber
hinaus überträgt die Auffrischschaltung 19 die
Startadresse an das UND-Gatter 51. Das UND-Gatter 51 gibt
eine Startadresse an den Reihendecoder 18 weiter, wenn das
Signal auf der Aktivierungsleitung 50 ein Aktivierungssignal
ist. Wenn ein Deaktivierungssignal auf der Aktivierungsleitung 50 vorliegt,
dann gibt das UND-Gatter 51 die Startadresse nicht an den
Reihendecoder 18 weiter.
-
Die
Auffrischschaltung 19 erhöht mit Hilfe der Inkrementierschaltung 49 die
Startadresse, um einen vorgegebenen Wert und überträgt die erhöhte Adresse an das UND-Gatter 51 und
an die Auswerteschaltung 43. Die Auswerteschaltung 43 überprüft das Gültigkeitsbit 45,
das der erhöhten
Adresse zugewiesen ist. In Abhängigkeit
von dem Wert des Gültigkeitsbits 45 überträgt die Auswerteschaltung 43 ein Aktivierungs-
oder ein Deaktivierungssignal an das UND-Gatter 51. Das
UND-Gatter 51 gibt die erhöhte Adresse an den Reihendecoder 18 weiter,
wenn ein Aktivierungssignal auf der Aktivierungsleitung 50 übertragen
wird.
-
Die
Auffrischschaltung 19 erhöht angefangen bei der Startadresse
bis zu einer Endadresse. In Abhängigkeit
von den Werten der Gültigkeitsbits
der erhöhten
Adressen überträgt das UND-Gatter 51 die erhöhten Adressen
an den Reihendecoder 18. Daher werden nur die Speicherzellen 40 mit
Gültigkeitsbits 45,
die Aktivierungswerte aufweisen, aufgefrischt. So ist es möglich, die
Teilmengen von Speicherzellen 40 des Arrays 12 aufzufrischen.
-
Im
Zusammenhang mit 1 ist ein Verfahren zum Anpassen
des Werts des Gültigkeitsbits während des
Betriebs des DRAMs 10 erläutert.
-
In
der Ausführungsform,
in der die Auswerteschaltung 43 mit dem Adressregister 41 und
mit der Speichersteuereinheit 42 verbunden ist, empfängt die
Auswerteschaltung 43 Informationen darüber, für welche Adressen, d.h. für welche
Speicherzellen ein Schreibvorgang durchgeführt wird. Wenn für eine Adresse
von Speicherzellen ein Schreibvorgang durchgeführt wird, bestimmt die Auswerteschaltung 43 die
Gültigkeitsbits 44,
die den Speicherzellenadressen entsprechen, und speichert einen
Aktivierungswert in dem Gültigkeitsbit.
So werden die Gültigkeitsbits 45 auf
einen Aktivierungswert programmiert, wenn Daten in die entsprechende
Speicherzelle eingeschrieben werden. Darüber hinaus kann die Auswerteschaltung 43 die
Lese- und Schreibvorgänge überwachen
und die Auswerteschaltung 43 kann einen Deaktivierungswert
in den entsprechenden Gültigkeitsbits 45 speichern,
wenn über
eine vorgegebene Zeitdauer mit den dem Gültigkeitsbit zugewiesenen Speicherzellen
kein Schreib- oder Lesevorgang durchgeführt wurde.
-
4 zeigt
eine weitere Ausführungsform
einer Auffrischschaltung 19, wobei eine Zählerschaltung 52 eine
Startadresse an eine Inkrementierschaltung 49 übermittelt.
Die Inkrementierschaltung 49 überträgt die Startadresse an die
Auswerteschaltung 43. Die Auswerteschaltung 43 überprüft das der Startadresse
zugewiesene Gültigkeitsbit 45 und überträgt einen
Aktivierungswert an die Inkrementierschaltung 49, wenn
das Gültigkeitsbit
einen Aktivierungswert speichert. Wenn das Gültigkeitsbit einen Deaktivierungswert
speichert, überträgt die Auswerteschaltung 43 ein
Deaktivierungssignal an die Inkrementierschaltung. Die Zählerschaltung 52 kann
ein binärer
Zähler
sein und die Zählerschaltung 52 beginnt
nach einem Auffrischbefehl von der Speichersteuereinheit 42 zu
inkrementieren. Wenn das Gültigkeitsbit
einen Deaktivierungswert speichert, erhöht die Inkrementierschaltung 49 die
Adresse noch mal und überträgt die erhöhte Adresse
an die Auswerteschaltung 43. Wenn die Inkrementierschaltung 49 ein Aktivierungssignal
empfängt, überträgt die Inkrementierschaltung 49 die
Adresse an die Zählerschaltung 52.
Die Zählerschaltung 52 überträgt die empfangene
Adresse an den Reihendecoder 18, der den Auffrischvorgang
für diese
Adresse wie oben erläutert verarbeitet.
-
Die
oben erläuterten
Anordnungen ermöglichen
eine flexible Auffrischbefehlsdauer, die an die Anzahl der derzeit
im DRAM 10 gespeicherten relevanten Daten angepasst ist.
Je nach Ausführungsform
können
die Gültigkeitsbits
automatisch auf einen Schreibbefehl hin auf die verwandte Bank-,
Reihen- oder Spaltenadresse eingestellt werden. Ein Rücksetzen
des Gültigkeitsbits 45 kann
eine gezielte Aktion von der Speichersteuereinheit 43 erforderlich machen.
In einer Ausführungsform
wird ein schreibgültiges
Steuersignal zu der Liste von Befehlssignalen, die in der Speichersteuereinheit 42 abgelegt sind,
hinzugefügt.
Ein schreibgültiger
Befehl aktiviert das schreibgültige
Signal. Die Adressleitungen bestimmen die Bank- und Reihenadresse
der Speicherzellen der außer
Kraft zu setzenden Gültigkeitsbits. Wenn
der schreibgültige
Befehl durch Eingangssignale von der Speichersteuereinheit 42 empfangen wird, überträgt die Speichersteuereinheit 42 ein Rücksetzsignal
an die Auswerteschaltung 43. Die Auswerteschaltung 43 setzt
die Gültigkeitsbits
der Speicherzellen zurück,
deren Adressen vom Adressregister 41 an die Auswerteschaltung 43 übertragen werden.
-
In
einer weiteren Ausführungsform
wird für einen
Zugriff auf den Speicher 44 mit den Gültigkeitsbits 45 ein
modifizierter Schreibbefehl verwendet. Ein Vorteil dieser Ausführung besteht
darin, dass keine zusätzlichen
Signale erforderlich sind. Der Vorgang läuft wie folgt ab: zunächst wird
eine spezifische Rücksetzmarkierung
des Gültigkeitsbits
in einem Modusregister 57 (1) der Speichersteuereinheit 42 durch Anlegen
eines Stellbefehls des Modusregisters an den Eingang der Speichersteuereinheit
eingestellt. Die Markierung weist einen Befehlsdecoder 58 der
Speichersteuereinheit an, den nächsten
Schreibbefehl als schreibgültigen
Befehl zu interpretieren. Ein Schreibbefehl wird an den Eingang
der Speichersteuereinheit 42 angelegt. Die Adresse des
Adressregisters bestimmt eine Bank und eine Reihe einer Speicherzelle,
deren Gültigkeitsbit
außer
Kraft gesetzt werden soll. Die Speichersteuereinheit setzt in einer
Ausführungsform
das adressierte Gültigkeitsbit im
Speicher 44 zurück.
Die Rücksetzmarkierung
des Gültigkeitsbits
wird automatisch mit dem schreibgültigen Befehl zurückgesetzt.
Alternativ setzt sich die Rücksetzmarkierung
des Gültigkeitsbits
nicht selbst zurück,
sondern benötigt
eine Rücksetzung
durch einen Einstellbefehl des Modusregisters, wodurch ein Ausgeben
von Bursts mit schreibgültigen
Befehlen ermöglicht
wird. In einer weiteren Ausführungsform empfängt die
Auswerteschaltung 43 einen Rücksetzbefehl von der Speichersteuereinheit 42 und
die Auswerteschaltung setzt das entsprechende Gültigkeitsbit 45 zurück.
-
In
einer dritten Ausführungsform
kann der gesamte Speicher 44 in einem einzigen Schritt
zurückgesetzt
werden. Dies wird beispielsweise durch Hinzufügen eines bestimmten Rücksetzsignals
des Gültigkeitsbits
zu der Befehlsliste oder durch Verwendung eines rücksetzgültigen Speichermarkierung im
Modusregister 57 in Verbindung mit einem Stellbefehl des
Modusregisters erreicht. Alternativ kann diese Rücksetzfunktion durch Verwendung
einer Bankadresse bankspezifisch gemacht werden. Diese Rücksetzfunktion
würde beispielsweise
nach einem Speichertest beim Hochfahren von Vorteil sein, wodurch alle
Gültigkeitsbits 45 aufgrund
des Speichertests gesetzt werden, jedoch keine relevanten Daten
im Speicher gespeichert würden.
-
In
einer weiteren Ausführungsform
wird dem Befehlssatz des Speichers ein destruktiver Lesebefehl hinzugefügt. Der
Lesevorgang würde
als regulärer
Lesebefehl durchgeführt
werden, doch würde
das zugehörige
Gültigkeitsbit
zurückgesetzt
werden, wenn ein destruktiver Lesebefehl von der Speichersteuereinheit 42 erhalten
wird.
-
Obwohl
sich vorstehende Beschreibung auf Ausführungsformen der vorliegenden
Erfindung bezieht, können
andere und weiterführende
Ausführungsformen
der Erfindung entwickelt werden, ohne dabei über ihren grundlegenden Umfang
hinauszugehen, der in den nachfolgenden Patentansprüchen festgelegt
ist.
-
- 10
- DRAM-Speicher
- 12
- Speicherzellenfeld
- 14
- Spaltendecoder
- 16
- Spaltenadresspuffer
- 17
- Datenpuffer
- 18
- Reihendecoder
- 19
- Auffrischschaltung
- 20
- Reihenadresspuffer
- 22
- Durchgangsbereich
- 24
- Leseverstärker
- 28
- Zugriffstransistor
- 30
- Kondensator
- 40
- Speicherzelle
- 41
- Adressregister
- 42
- Speichersteuereinheit
- 43
- Auswerteschaltung
- 44
- Speicher
- 45
- gültiges Bit
- 46
- Wortleitung
- 47
- Bitleitung
- 48
- lokale
Datenleitung
- 49
- Inkrementalschaltung
- 50
- Aktivierungsleitung
- 51
- UND-Gatter
- 52
- Zählerschaltung
- 53
- erste
Speicherbank
- 54
- zweite
Speicherbank
- 55
- dritte
Speicherbank
- 56
- vierte
Speicherbank
- 57
- Modusregister
- 58
- Befehlsdecoder