-
HINTERGRUND
DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich allgemein auf Halbleiterspeichervorrichtungen
und insbesondere auf dynamische Halbleiterspeichervorrichtungen,
die Speicherzellen aufweisen, die eine Auffrischung benötigen.
-
Beschreibung
der verwandten Technik
-
Die
Entwicklung der Submikrometer-CMOS-Technologie führte zu einer steigenden Nachfrage
an Hochgeschwindigkeits-Halbleiterspeichervorrichtungen,
z.B. dynamischen Direktzugriffsspeichervorrichtungen (DRAM-Vorrichtungen),
pseudostatischen Direktzugriffsspeichervorrichtungen (PSRAM-Vorrichtungen) und
dergleichen. Hierin werden derartige Speichervorrichtungen kollektiv
als DRAM-Vorrichtungen bezeichnet. Derartige Vorrichtungen verwenden
Speicherzellen, die aus einem Transistor und einem Kondensator bestehen.
Aufgrund eines Leckens benötigen
die Speicherzellen ein periodisches Auffrischen, um Daten, die in
der Speicherzelle gespeichert sind, vor einer über die Zeit erfolgenden Verfälschung
oder einem über
die Zeit erfolgenden Verfall zu schützen. Die in der Speicherzelle
gespeicherten Daten werden automatisch zu einem vollständigen Logikpegel
wiederhergestellt, wenn auf sie zugegriffen wird (z.B. über einen
Lese- oder einen Schreibvorgang), müssen jedoch periodisch aufgefrischt
werden, wenn nicht auf dieselben zugegriffen wird. Somit umfassen
DRAM-Vorrichtungen üblicherweise
eine Auffrischschaltungsanordnung, um eine Speicherzellenauffrischung
zu ermöglichen.
-
1 veranschaulicht
eine exemplarische DRAM-Vorrichtung 100, die eine herkömmliche
Auffrischschaltung 120 dazu verwendet, Reihen von Speicherzellen,
die in vier Bänken
(1040 –1043 )
angeordnet sind, aufzufrischen. Wie veranschaulicht ist, umfasst
die Auffrischschaltung 120 allgemein einen Auffrischzeitgeber 122 und
einen Auffrischadresszähler 126.
Der Auffrischzeitgeber 122 wird freigegeben, wenn ansprechend
darauf, dass ein Befehlsdecodierer 112 einen von einer
externen Vorrichtung über
einen Befehlsbus 128 ausgegebenen Selbstauffrischbefehl
erfasst, in ein Selbstauffrischmodus eingetreten wird. Wenn der
Auffrischzeitgeber freigegeben wird, erzeugt er periodische Auffrischanforderungssignale
(REFRESH_REQUEST-Signale), die Auffrischvorgänge über eine Banksteuerlogik 106 einleiten.
Die Frequenz der Auffrischanforderungssignale wird dahin gehend
ausgewählt,
zu gewährleisten,
dass auf jede Reihe innerhalb einer festgelegten minimalen Haltezeit
der Speicherzellen zugegriffen wird.
-
Ansprechend
auf ein Auffrischanforderungssignal frischt die Banksteuerlogik
eine Speicherreihe auf, die durch die Reihenadresse (RA = row address) angegeben
wird, die durch den Auffrischadresszähler 126 erzeugt wird.
Die oberen Bits der Reihenadresse können angeben, welche Bank 104 die
aufzufrischende Reihe enthält.
Das Auffrischanforderungssignal kann ferner eine Verzögerungsschaltung 124 freigeben,
deren Ausgangssignal dem Auffrischadresszähler signalisiert, die Reihenadresse
zu inkrementieren. Wie veranschaulicht ist, können externe Auffrischbefehle
(z.B. automatische bzw. Auto-Auffrischbefehle) über ein ODER-Gatter 128 auch
eine Auffrischanforderung einleiten und dem Auffrischadresszähler signalisieren,
die Reihenadresse zu inkrementieren.
-
Da
auf jede Zellenreihe innerhalb einer festgelegten Zellenhaltezeit
zugegriffen werden muss, kommen Auffrischoperationen häufig vor.
Folglich ist das Auffrischen von Speicherzellen eine Leistung verbrauchende
Routine. Bei batteriebetriebenen Computersystemen (z.B. Handflächen-Computern, mobilen
und in der Hand zu haltenden elektronischen Vorrichtungen und dergleichen)
ist die Minimierung des Leistungsverbrauchs von kritischer Bedeutung. Ein
Verfahren, das den Leistungsverbrauch des Speichers eventuell reduzieren
kann, ist in der Technik als Teilarrayauffrischschema (PAR-Schema,
PAR = partial array refresh, Teilarraywiederauffrischung) bekannt.
Unter Verwendung des PAR-Schemas bei DRAM-Vorrichtungen, die eine
Mehrzahl von Speicherbänken
aufweisen, werden lediglich diejenigen Speicherbänke aufgefrischt, bei denen
die Speicherzellen gültige
Daten enthalten.
-
2 zeigt
ein logisches Diagramm eines beispielhaften PAR-Schemas zur Verwendung
bei einer DRAM-Vorrichtung, die vier Bänke (1040 –1043 ) aufweist. Bits in einem Modusregister
(z.B. einem Modusregister 114, wie es in 1 gezeigt
ist) können
(z.B. über
einen Modusregistereinstellbefehl) dahin gehend programmiert werden,
zu bestimmen, über
welchen Adressbereich Auffrischoperationen stattfinden werden. Wie
veranschaulicht ist, können alle
vier Bänke,
die ersten beiden Bänke,
die erste Bank oder lediglich die Hälfte der ersten Bank ausgewählt werden.
Der Selbstauffrischstrom ist proportional zu der Anzahl ausgewählter Bänke. Beispielsweise
kann der Selbstauffrischstrom um 50% verringert werden, wenn lediglich
die ersten zwei Bänke
ausgewählt
werden.
-
Jedoch
besteht ein Nachteil bei PAR-Schemata darin, dass die Leistungsfähigkeit
von mehreren Bankspeicher, z.B. von DRAMs und Doppeldatenraten-DRAMs
(DDR-DRAMs, DDR = double data rate, Doppeldatenrate), oft dadurch
optimiert wird, dass Operationen, die verschiedene Bänke beinhalten,
verschachtelt werden, so dass bestimmte Latenzen, die einem Zugreifen
auf jede Bank zugeordnet sind, versteckt werden. Beispielsweise
kann dadurch, dass zwei oder mehr Bänke auf verschachtelte Weise
betrieben werden, die Vorladezeit bzw. die Zeit von einer aktiven
Bank zu einem Spaltenzugriff versteckt werden. Wenn bei einem PAR-Schema
lediglich eine Bank ausgewählt
wird, ist jedoch eine Mehrbänkeoperation
keine zur Verfügung
stehende Option mehr. Ein weiterer Nachteil bei PAR-Schemata besteht
darin, dass es nicht wahrscheinlich ist, dass alle Speicherzellen
in einer ausgewählten
Bank tatsächlich
gültige
Daten enthalten. Folglich wird die Leistungsersparnis nicht maximiert,
da eine Anzahl von Reihen, die keine gültigen Daten enthalten, weiterhin
aufgefrischt werden.
-
Demgemäß besteht
in der Technik ein Bedarf an einem verbesserten Verfahren und einer
verbesserten Schaltungskonfiguration zum Auffrischen von Daten bei
Halbleiterspeichervorrichtungen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ausführungsbeispiele
der vorliegenden Erfindung liefern allgemein Verfahren und Schaltungskonfigurationen
zum Auffrischen von Daten in einer Halbleiterspeichervorrichtung,
bei der für
eine begrenzte Anzahl von Reihen Auffrischoperationen durchgeführt werden.
-
Ein
Ausführungsbeispiel
liefert ein Verfahren zum Verringern eines Stroms in einer Halbleiterspeichervorrichtung,
die eine Mehrzahl von Reihen von Speicherzellen umfasst. Das Verfahren
umfasst allgemein ein Aufrechterhalten einer Mehrzahl von Bits, die
Reihen von Speicherzellen, die aufzufrischen sind, angeben, und
ein Auffrischen lediglich derjeniger Reihen, die aufzufrischen sind,
wie durch die Mehrzahl von Bits angegeben ist.
-
Ein
weiteres Ausführungsbeispiel
liefert ein Verfahren zum selektiven Auffrischen von Reihen von
Speicherzellen in einer oder mehr Halbleiterspeichervorrichtungen.
Das Verfahren umfasst allgemein ein Überwachen von Schreiboperationen
zu Speicherzellen, ein Aufrechterhalten einer Mehrzahl von Bits,
die Reihen angeben, die Speicherzellen enthalten, die an den überwachten
Schreiboperationen beteiligt sind, und ein Beschränken der
Anzahl von Reihen, für
die Auffrischoperationen durchgeführt werden können, auf
der Basis der Mehrzahl von Bits.
-
Ein
weiteres Ausführungsbeispiel
liefert eine Halbleiterspeichervorrichtung, die allgemein eine Mehrzahl
von Reihen von Speicherzellen, eine Auffrischschaltungsanordnung,
eine Reihenzustandsschaltungsanordnung und eine Auffrischfreigabeschaltungsanordnung
umfasst. Die Auffrischschaltungsanordnung ist allgemein dahin gehend
konfiguriert, Auffrischanforderungen für die Reihen von Speicherzellen
auszugeben, wenn die Speichervorrichtung in einen Selbstauffrischmodus
versetzt wird. Die Reihenzustandsschaltungsanordnung ist allgemein dahin
gehend konfiguriert, eine Mehrzahl von Bits aufrechtzuerhalten,
die Reihen, die aufzufrischen sind, angeben. Die Auffrischfreigabeschaltungsanordnung
ist allgemein dahin gehend konfiguriert, die Anzahl von Reihen,
für die
Auffrischanforderungen ausgegeben werden, auf der Basis der Bits
der Reihenzustandsschaltungsanordnung zu beschränken.
-
Ein
weiteres Ausführungsbeispiel
liefert ein System, das allgemein eine Speichervorrichtung umfasst,
die eine Mehrzahl von Reihen von Speicherzellen und eine Speichersteuerung
aufweist. Die Speichervorrichtung ist allgemein dahin gehend konfiguriert,
die Anzahl von Reihen, die während
eines Selbstauffrischmodus aufgefrischt werden, auf der Basis von
Reihendaten, die Reihen angeben, die Speicherzellen enthalten, in
die geschrieben wurde, zu beschränken.
Die Speichersteuerung ist allgemein dahin gehend konfiguriert, Schreiboperationen in
die Speichervorrichtung zu überwachen,
die Reihendaten auf der Basis der überwachten Schreiboperationen
zu erzeugen und die Reihendaten an die Speichervorrichtung zu transferieren,
bevor die Speichervorrichtung in den Selbstauffrischmodus versetzt wird.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
Die
Lehren der vorliegenden Erfindung sind ohne weiteres verständlich,
wenn die folgende ausführliche
Beschreibung in Verbindung mit den beiliegenden Zeichnungen betrachtet
wird, von denen:
-
1 eine
exemplarische Halbleiterspeichervorrichtung, die eine Auffrischschaltung
gemäß dem Stand
der Technik verwendet, veranschaulicht;
-
2 ein
logisches Blockdiagramm eines Teilarrayauffrischschemas (PAR-Schemas)
gemäß dem Stand
der Technik ist;
-
3 eine
beispielhafte Auffrischschaltung gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht;
-
4 ein
exemplarisches Zeitgebungsdiagramm von Signalen ist, die bei der
in 3 gezeigten exemplarischen Auffrischschaltung
verwendet werden;
-
5A eine
exemplarische Schaltungskonfiguration einer Speicherzelle des Status-RAM-Blocks
der 3 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht;
-
5B ein
exemplarisches Entwurfsdiagramm des Status-RAM-Blocks von 3 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung veranschaulicht;
-
6A ein
exemplarisches System veranschaulicht, das eine Speichersteuerung
mit einem Status-RAM gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung verwendet; und
-
6B bis 6C exemplarische
Diagramme zum Transferieren von Da ten von einem Speichersteuerung-Zustands-RAM
zu einem Speichervorrichtung-Zustands-RAM gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung veranschaulichen.
-
Zum
leichteren Verständnis
wurden dort, wo es möglich
war, identische Bezugszeichen verwendet, um identische Elemente,
die den Figuren gemein sind, zu benennen.
-
Jedoch
ist anzumerken, dass die beigefügten
Zeichnungen lediglich exemplarische Ausführungsbeispiele der vorliegenden
Erfindung veranschaulichen und somit nicht als Einschränkung von deren
Schutzumfang anzusehen sind, da die Erfindung auch andere, gleichermaßen effektive
Ausführungsbeispiele
fassen kann.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Die
vorliegende Erfindung liefert Verfahren und Schaltungskonfigurationen
zum Auffrischen von Daten in einer Halbleiterspeichervorrichtung,
bei denen lediglich Reihen mit Speicherzellen, die gültige Daten
enthalten, aufgefrischt werden. Für manche Ausführungsbeispiele
können
Bits in einer Speicherschaltung (hierin als Zustands-RAM bezeichnet)
aufrechterhalten werden, um anzugeben, welche Reihen gültige Daten
enthalten. Mit anderen Worten kann jedes Bit in dem Zustands-RAM
einer auffrischbaren Reihe entsprechen, wobei der Zustand des Bits
angibt, ob seit einem Rücksetzereignis
in eine Speicherzelle in der entsprechenden Reihe geschrieben wurde.
Beim Durchführen
von Auffrischoperationen werden lediglich diejenigen Reihen, in
die gemäß der Angabe
seitens Bits in dem Zustands-RAM geschrieben wurde, aufgefrischt,
wodurch unnötige Auffrischoperationen
für Reihen,
die keine gültigen Daten
enthalten, vermieden werden, und wodurch Leistung verringert wird.
-
Die
hierin beschriebenen Auffrischschaltungen können bei beliebigen Arten von
Vorrichtungen vorteilhaft verwendet werden, die dynamische Speicherzellen
verwenden, die eine Auffrischung benötigen (z.B. Prozessoren, digitale
Signalprozessoren oder andere Arten vor Vorrichtungen mit eingebettetem
DRAM). Zum besseren Verständnis
nimmt die folgende Beschreibung jedoch auf Speichervorrichtungen
wie z.B. dynamische Direktzugriffsspeicher-Vorrichtungen (DRAM-Vorrichtungen) oder pseudostatische
RAM-Vorrichtungen (PSRAM-Vorrichtungen) als spezifische, jedoch
nicht einschränkende
Beispiele von Vorrichtungen Bezug, bei denen die Auffrischschaltungen
verwendet werden können. Obwohl
die folgende Beschreibung ein Beschränken der Anzahl von Reihen
beschreibt, die während Selbstauffrischoperationen
(z.B. während
sich eine Vorrichtung in einem Bereitschafts- oder in einem langen
Ruhezustand befindet) aufgefrischt werden, werden Fachleute erkennen,
dass die Techniken auch dazu angewendet werden können, die Anzahl von Reihen,
die während
Auto-Auffrischoperationen (z.B. durch eine Speichersteuerung gesteuert,
während
sich eine Vorrichtung in einem aktiven Zustand befindet) aufgefrischt
werden, zu beschränken.
-
EINE EXEMPLARISCHE
AUFFRISCHSCHALTUNG
-
3 veranschaulicht
eine exemplarische Auffrischschaltung 320 zur Verwendung
bei einer Speichervorrichtung, z.B. einer PSRAM- oder einer DRAM-Vorrichtung 100,
die oben unter Bezugnahme auf 1 beschrieben
wurde. Wie veranschaulicht ist, kann die Auffrischschaltung 320 einen
Auffrischzeitgeber 322 und einen Auffrischadresszähler 326 umfassen,
die auf ähnliche
Weise wie diejenigen arbeiten können,
die bei herkömmlichen
Auffrischschaltungen, z.B. der Auffrischschaltung 120 der 1,
verwendet werden. Jedoch kann ein zu der Auffrischschaltung 320 hinzugefügter Zustands-RAM-Block 320 Auffrischoperationen
beispielsweise auf diejenigen Reihen beschränken, die gültige Daten enthalten.
-
Wie
veranschaulicht ist, kann der Auffrischzeitgeber 322 ansprechend
auf einen Selbstauffrischbefehl (z.B. einen durch eine externe Vorrichtung
ausgegebenen Selbstauffrischbefehl) freigegeben werden. Wenn er
freigegeben wird, erzeugt der Auffrischzeitgeber periodische Auffrischanforderungssignale
(REFRESH_REQUEST-Signale). Auffrischanforderungen können auch
ansprechend auf extern gelieferte „Auto"-Auffrischbefehle eingeleitet werden.
In beiden Fällen
kann die aufzufrischende Reihe anhand der durch den RAC (RAC = refresh address
counter, Auffrischadresszähler) 326 erzeugte
Reihenadresse (RA) bestimmt werden. Statt jedoch auf der Basis des
Auffrischanforderungssignals (z.B. durch Liefern des Auffrischanforderungssignals und
der Reihenadresse an die Banksteuerlogik) automatisch eine Auffrischoperation
für die
angegebene Reihe einzuleiten, können
Auffrischoperationen eventuell nur dann eingeleitet werden, wenn
ein Freigabesignal (REFRESH_ENABLE) durch den Zustands-RAM-Block 330 aktiviert
wird, was angibt, dass die aktuelle Reihe gültige Daten enthält.
-
Wie
veranschaulicht ist, können
Auffrischoperationen nur dann durch ein (durch ein UND-Gatter 340)
aktiviertes Auffrischstartsignal (REFRESH_START) eingeleitet werden,
wenn REFRESH_ENABLE und REFRESH_REQUEST aktiviert werden. Somit
ist der Zustands-RAM-Block 330 während Auffrischoperationen
allgemein dahin gehend konfiguriert, REFRESH_ENABLE ansprechend
auf ein Bestimmen, dass die der aktuellen Reihenadresse (RA) entsprechende
Reihe Speicherzellen mit gültigen
Daten enthält,
zu aktivieren. Wenn die aktuelle Reihe gültige Daten enthält, wird REFRESH_ENABLE
aktiviert, und das REFRESH_REQUEST-Signal bewirkt das REFRESH_START-Signal,
das eine Auffrischoperation für
die durch die aktuelle Reihenadresse (RA) angegebene Reihe einleitet.
Wenn die Speicherzellen der aktuellen Reihe dagegen keine gültigen Daten enthalten
(wenn z.B. seit einem Rücksetzereignis nicht
mehr in dieselben geschrieben wurde, wie nachfolgend beschrieben
wird), wird REFRESH_ENABLE deaktiviert, was Auffrischoperationen
für die
aktuelle Reihe hemmt. Selbstverständlich werden Fachleute erkennen,
dass das REFRESH_ENABLE bei anderen Ausführungsbeispielen dazu dienen
kann, Auffrischoperationen auf andere Art und Weise zu hemmen, beispielsweise dadurch,
dass der Auffrischzeitgeber 322, der ebenfalls Auffrischoperationen
verhindern würde,
gesperrt wird.
-
Die
Funktionsweise der verschiedenen Komponenten der Auffrischschaltung 320 können unter Bezugnahme
auf 4, die ein beispielhaftes Zeitgebungsdiagramm
für Auffrischoperationen
veranschaulicht, näher
beschrieben werden. Selbstverständlich
werden Fachleute erkennen, dass die veranschaulichten Logikpegel
(für eine
Aktivierung hoch) willkürlich
sind und dass die aktuellen Logikpegel und die Zeitgebung für jedes
Signal beispielsweise je nach einer exakten Schaltungsimplementierung variieren
können.
-
Zu
einer Zeit T1 tritt man in einen Selbstauffrischmodus ein, wobei
der Auffrischzeitgeber 332 freigegeben wird. Zu einer Zeit
T2K wird durch den Auffrischzeitgeber 332 ein
Auffrischanforderungssignal (REFRESH_REQUEST) erzeugt, während die durch
den RAC 326 erzeugte Reihenadresse auf eine Reihe K zeigt.
Wie veranschaulicht ist, hat der Zustands-RAM-Block 330 REFRESH_ENABLE
aktiviert, was angibt, dass zumindest eine Speicherzelle in der
Reihe K gültige
Daten enthält.
Folglich wird zu einer Zeit T3 (die sich von T2K z.B.
lediglich durch Ausbreitungsverzögerungen
des Gatters 340 unterscheidet) REFRESH_START aktiviert,
was eine Auffrischoperation für
die Reihe K einleitet.
-
Anschießend inkrementiert
der RAC 126 die Reihenadresse zu K+1, eine Reihe, deren
Speicherzellen keine gültigen
Daten enthalten. Ansprechend darauf deaktiviert der Zustands-RAM-Block 330 REFRESH_ENABLE
zu einer Zeit T4. Folglich wird, wenn zu einer Zeit T2K+1 durch
den Auffrischzeitgeber 332 ein weiteres Auffrischanforderungssignal (REFRESH_REQUEST)
erzeugt wird, REF START nicht aktiviert, und eine Auffrischoperation
für die
Reihe K wird nicht eingeleitet. Nachdem die Reihenadresse zu einer
Reihe inkrementiert wurde, die gültige
Daten enthält
(bei dem veranschaulichten Beispiel Reihe K+2), wird REFRESH_ENABLE
erneut aktiviert, wodurch Auffrischoperationen für diese Reihe freigegeben werden.
-
EINE EXEMPLARISCHE
ZUSTANDS-RAM-SCHALTUNGSKONFIGURATION
-
Der
Zustands-RAM-Block 330 kann eine beliebige geeignete Schaltungsanordnung
zum Speichern und Liefern eines Auslesens des Status von auffrischbaren
Reihen umfassen. Für
manche Ausführungsbeispiele
umfasst der Zustands-RAM-Block 330 ein N-Bit-Register,
das als Array von N Speicherzellen angeordnet ist, um Bitinformationen
zu halten, wobei jede einer auffrischbaren Speicherreihe entspricht.
Der Logikzustand jedes Bits kann angeben, ob Speicherzellen in einer
entsprechenden Reihe gültige
Daten enthalten und somit aufgefrischt werden sollten. Wenn beispielsweise
zumindest eine Speicherzelle der Reihe gültige Daten enthält, kann das
entsprechende Bit einen logisch hohen Zustand aufweisen. Als solches
kann das REFRESH_ENABLE-Signal einfach ein Auslesen, aus dem Zustands-RAM-Block 330,
des Bits darstellen, das der aktuellen Reihenadresse (RA) entspricht.
-
Die
Auffrischschaltung 320 kann eine beliebige geeignete Schaltungsanordnung
umfassen, die ermöglicht,
dass der Zustands-RAM-Block 330 während Auffrischoperationen
gelesen und während
normaler Schreiboperationen beschrieben wird. Beispielsweise kann
eine Lese-Gatter-Schaltung (RG-Schaltung) 344,
die während
einer Selbstauffrischung freigegeben wird, dahin gehend konfiguriert sein,
die aktuelle Reihenadresse an den Zustands-RAM-Block 330 anzulegen
und beliebige andere geeignete Steuersignale zu erzeugen, um ein Auslesen
der entsprechenden Zelle freizugeben. Desglei chen kann eine Schreib-Gatter-Schaltung (WG-Schaltun) 344,
die während
Schreiboperationen freigegeben wird, dahin gehend konfiguriert sein, eine
extern gelieferte Schreibadresse (mit XA bezeichnet) an den Zustands-RAM-Block 330 anzulegen
und beliebige andere geeignete Steuersignale zu erzeugen, um ein
Schreiben in eine Zelle freizugeben, um anzugeben, dass in eine
entsprechende Reihe geschrieben wurde und dass dieselbe somit gültige Daten
enthält.
-
Mit
anderen Worten bewirkt eine Schreiboperation in jegliche Zellen
in einer Reihe, dass das entsprechende Bit in dem Zustands-RAM-Block 330 gesetzt
wird. Für
manche Ausführungsbeispiele
kann das Bit gesetzt bleiben, bis ein Rücksetzereignis auftritt, beispielsweise
Bewirken einer Aktivierung eines Rücksetzsignals (RESET), das
alle Bits löscht.
Wie nachstehend ausführlicher
beschrieben wird, kann das Rücksetzsignal
unter einer Hardwaresteuerung (z.B. über einen extern zugänglichen
Anschlussstift) oder unter einer Softwaresteuerung (über einen
Modusregister-Setzen-Befehl)
aktiviert werden. In jedem Fall kann eine Aktivierung von RESET
den Zustands-RAM-Block 330 initialisieren und definieren, ab
wann Bits des Zustands-RAM-Blocks 330 durch Schreiboperationen
programmiert werden, um anzugeben, dass entsprechende Reihen gültige Daten enthalten,
was zuweilen nützlich
sein kann. Wenn beispielsweise ein System mit Speichervorrichtungen,
die die Auffrischschaltung 302 verwenden, einen Initialisierungstest,
z.B. einen Leistung-EIN-Selbsttest (POST), durchführt, werden
aufgrund des Tests eventuell alle Bits des Zustands-RAM-Blocks 330 gesetzt.
Somit kann der Zustands-RAM-Block 330 zurückgesetzt
werden, um zu verhindern, dass alle Reihen nach dem Test aufgefrischt
werden.
-
Die
Speicherzellen des Zustands-RAM-Blocks 330 können eine
beliebige Form aufweisen, die dafür geeignet ist, die Bitinformationen
zu speichern (und müssen
nicht unbedingt RAM sein). 5A veranschaulicht
eine Art einer exemplarischen Speicherzelle 306. Wie veranschaulicht
ist, kann die Speicherzelle 306 ein Auslesen-Durchgangsgatter 505,
einen Schreibschalter 506, einen Rücksetzschalter 507 und
einen Datenzwischenspeicher 508 umfassen. Wie veranschaulicht
ist, kann der Ausleseschalter 505 mit einer Lesedatenleitung (RDL – read data
line) 502 gekoppelt sein, wenn ein Paar von komplementären Lesegattersignalen (RG/RG#)
beispielsweise durch eine Reihendecodiererschaltungsanordnung 604 und
eine Spaltendecodiererschaltungsanordnung 606, die in 5B veranschaulicht
sind, aktiviert wird.
-
Desgleichen
kann der Schreibschalter 506 mit einer Schreibdatenleitung
(WDL) 504 gekoppelt sein, wenn ein Schreibgattersignal
(WG) aktiviert wird, wodurch ermöglicht
wird, dass der Zustand der WDL 504 in den Datenzwischenspeicher 508 geschrieben
wird. Wie veranschaulicht ist, kann der Vorwärtsinverter I2 des Zwischenspeichers 508 stärker sein
als der Rückkopplungsinverter
I1, was Schreiboperationen in den Zwischenspeicher 508 durch
den Schreibschalter 506 und ein Beschleunigen von Leseoperationen
durch das Durchgangsgatter 505 ermöglicht. Bei der exemplarischen
Konfiguration wird, wenn in eine entsprechende Reihe geschrieben
wird, in die Zelle 306 geschrieben, während das WG hoch ist, indem
der Knoten ST# niedrig gezogen wird, wodurch ein logisches Hoch
durch den Inverter I2 zu dem Knoten ST zwischengespeichert wird.
Um den Zwischenspeicher 508 zurückzusetzen, kann der Knoten
ST# durch den Rücksetzschalter 507 hochgezogen
werden, wenn ein Rücksetzsignal
aktiviert wird (niedrig). Wie zuvor beschrieben wurde, kann ein
gemeinsames Rücksetzsignal
alle Speicherzellen 306 des Zustands-RAM-Blocks 330 zurücksetzen.
-
5B veranschaulicht
ein exemplarisches Layout 600 von Speicherzellen 306 des
Zustands-RAM-Blocks 330. Um Substratoberfläche einzusparen
und um das Layout zu vereinfachen, können die Speicherzellen 306 als
Arraystruktur 602 angeordnet sein. Obwohl beispielsweise
die Anzahl von aufzufrischenden Reihen bei verschiedenen Ausführungsbeispielen
stark variieren kann, beträgt
die durch das Array 602 eingenommene Oberfläche üblicherweise
deutlich unter 1% der Gesamtsubstratoberfläche. Somit können die
Einsparungen beim Leistungsverbrauch die Kosten der benötigten Nutzfläche deutlich überwiegen.
-
Während Schreiboperationen
kann ein Paar von WG-Signalen durch den Reihendecodierer 604 und
den Spaltendecodierer 608 erzeugt werden (wobei entsprechend
der aktuellen Reihe lediglich eines aktiviert wird). Beispielsweise
kann das durch den Reihendecodierer 604 erzeugte WG-Signal
die Schreibschalter 506 (in 5A gezeigt)
freigeben, wohingegen das durch den Spaltendecodierer 608 erzeugte
WG-Signal die entsprechende
WDL-Leitung über
einen Pull-Down-Transistor 612 nach
unten ziehen kann. Wie veranschaulicht ist, kann der Reihendecodierer 604 während Schreiboperationen als
Eingänge
die höchstwertigen
Bits (MSBs) der externen Adresse XA (die die betreffende Reihe angeben)
empfangen, wohingegen der Spaltendecodierer 608 als Eingänge die
niedrigstwertigen Bits von XA empfangen kann. Während also eine ganze WDL-Leitung
nach unten gezogen wird, wird der Schreibschalter 506 lediglich
einer mit der WDL-Leitung gekoppelten Speicherzelle freigegeben.
-
Auf ähnliche
Weise kann der Reihendecodierer 604 während Leseoperationen als Eingänge die höchstwertigen
Bits (MSBs) der aktuellen Reihenadresse RA empfangen, wohingegen
der Spaltendecodierer 608 als Eingänge die niedrigstwertigen Bits von
RA empfangen kann. Während
also eine ganze RDL 502 (die mit einer ganzen Spalte von
Zellen 306 gekoppelt ist) (über einen Transistor 610)
mit einem Eingang eines Inverters 618 gekoppelt wird, der
den REFRESH_ENABLE-Ausgang treibt, wird das Auslesen-Durchgangsgatter 504 lediglich
einer mit der RDL-Leitung gekoppelten Speicherzelle 306 eingeschaltet.
Somit zeigt der Ausgang des Inverters 618 den Zustand der
Speicherzelle für
die ausgewählte Reihe
an.
-
SPEICHERSTEUERUNG-ZUSTANDS-RAM
-
Für manche
Ausführungsbeispiele
können Schreiboperationen
extern überwacht
werden, beispielsweise in einer Speichersteuerung, statt an der Speichervorrichtung überwacht
zu werden, um nachzuverfolgen, welche Reihen gültige Daten enthalten. Beispielsweise
veranschaulicht 6A ein exemplarisches System 600,
bei dem eine Speichersteuerung 602 Schreiboperationen überwacht,
an denen Reihen von Speicherzellen beteiligt sind, die sich in einer
oder mehr Speichervorrichtungen 604 befinden. Die Speichersteuerung 602 kann
einen Zustands-RAM-Block 630 aufrechterhalten, der dahin gehend
konfiguriert sein kann, Bits von Informationen zu speichern, die
angeben, welche entsprechenden Reihen der Speichervorrichtungen 604 gültige Daten enthalten.
-
Beispielsweise
kann der Speichersteuerung-Zustands-RAM-Block 630 eine ausreichende Anzahl
von Bits enthalten, um zu ermöglichen,
dass die Speichersteuerung 602 den Status der Reihen aller
Speichervorrichtungen 604 überwacht. Bevor die Speichersteuerung
die Speichervorrichtungen 604 in einen Selbstauffrischmodus
versetzt, kann sie die Reihenzustandsinformationen von dem Speichersteuerung-Zustands-RAM-Block 630 zu
Zustands-RAM-Blöcken 630M der einzelnen Speichervorrichtungen 604 transferieren.
Nachdem der Transfer abgeschlossen ist, kann die Speichersteuerung 602 anschließend die
Speichervorrichtungen 604 in den Selbstauffrischmodus versetzen.
-
6B veranschaulicht
eine exemplarische Abfolge von Operationen 650, die die
Speichersteuerung 602 durchführen kann, um die Speichervorrichtungen 604 vorzubereiten
und in einen Selbstauffrischmodus zu versetzen. Die Abfolge von
Operationen 650 kann durchgeführt werden, um Bits von dem Speichersteuerung-Zustands-RAM-Block 630 gleichzeitig
zu den Zustands-RAM-Blöcken 630M einer Mehrzahl von Speichervorrichtungen 604 zu
transferieren, oder die Abfolge von Operationen 650 kann für jede Speichervorrichtung 604 wiederholt
werden.
-
Die
Speichersteuerung 602 kann zuerst einen Rücksetzbefehl
(652) für
die Speicher-Zustands-RAM-Blöcke 630M ausgeben, auf den ein Befehl, Daten
von dem Steuerung-Zustands-RAM-Block 630 zu
dem Speicher-Zustands-RAM-Block 630M zu
transferieren (654), folgt. Nachdem der Transfer abgeschlossen ist,
kann ein Selbstauffrischbefehl (656) ausgegeben werden,
der die Speichervorrichtung 604 in einen Selbstauffrischmodus
(658) versetzt. Während
des Selbstauffrischmodus werden Auffrischoperationen lediglich für Reihen
durchgeführt,
die gültige
Daten enthalten, wie durch die transferierten Zustands-RAM-Inhalte
angegeben ist, bis aus dem Selbstauffrischmodus ausgetreten wird
(660).
-
6C veranschaulicht
eine exemplarische Abfolge 660 zum Transferieren des Inhalts
eines Steuerungs-Zustands-RAM-Blocks 630 zu
dem Speicher-Zustands-RAM-Block 630M .
Wie veranschaulicht ist, kann ein MRS-Befehl bei einem ersten Taktzyklus
einen Start eines Transfers signalisieren, beispielsweise indem
ein Modusregisterbit gesetzt wird. Während nachfolgender Taktzyklen
kann die Steuerung Zustands-RAM-Reihenadressen auf dem Adressbus
und die entsprechenden Inhalte auf dem (auf einer Leitung des) Daten(DQ)Bus(ses)
treiben. Nachdem der Transfer abgeschlossen ist, kann ein weiterer
MRS-Befehl einen Abschluss signalisieren, beispielsweise indem er
ein Modusregisterbit löscht. Gemäß diesem
Ausführungsbeispiel
kann die oben beschriebene Zustands-RAM-Schaltungsanordnung 330 dahin
gehend modifiziert werden, zu gewährleisten, dass ein gekoppeltes
Schreibgatter (WG) nur dann freigegeben wird, wenn der transferierte
Inhalt hoch ist (was angibt, dass eine Auffrischung für eine entsprechende
Reihe freigegeben werden sollte) – im Gegensatz zu der oben
beschriebenen normalen Schreibzugangsfreigabe. Mit anderen Worten
wurde das Bit während
einer normalen Schreibzugangsfreigabe ungeachtet des Zustands (hoch
oder niedrig) von Daten, die in eine entsprechende Reihenspeicherzelle
geschrieben wurden, gesetzt. Jedoch wird, wenn Inhalt transferiert
wird, ein Bit gesetzt, lediglich das entsprechende Bit in dem Steuerungs-Zustands-RAM-Block 630 gesetzt.
-
Unter
erneuter Bezugnahme auf 6A kann
der Speichersteuerung-Zustands-RAM-Block 630 eine größere Anzahl
von Bits (> N) transferieren als
die Zustands-RAM-Blöcke 630M der Speichervorrichtungen 604 halten
können.
Dies kann z.B. dann der Fall sein, wenn der Speicher Auffrischoperationen
für mehr
als eine Reihe gleichzeitig durchführt, beispielsweise indem er
einen Abschnitt (untere Bits) einer Reihenadresse in dem Auffrischadresszählerblock
komprimiert. Jedoch sollten auch in diesem Fall bei einer Verwendung
der zuvor beschriebenen Zustands-RAM-Schaltungsanordnung (in 5A–5B gezeigt)
die Transferoperationen funktionieren, da mehr als eine Operation
eines Setzens auf dieselbe Zustands-RAM-Zelle 306 dasselbe Ergebnis
aufweist (was angibt, dass eine entsprechende Reihe oder entsprechende
Reihen gültige Daten
aufweist bzw. aufweisen). Somit sollte für mehrere zusammen aufgefrischte
Reihen eine Zustands-RAM-Zelle 306, die den mehreren Reihen entspricht,
gesetzt werden, wenn jegliche der mehreren Reihen gültige Daten
enthalten, die ein Auffrischen erfordern.
-
MISCH-TEILARRAY-AUFFRISCHSCHEMA
-
Bei
manchen Ausführungsbeispielen
können die
hierin beschriebenen Techniken in Verbindung mit herkömmlichen
Teilarray-Auffrischschemata (PAR-Schemata) verwendet werden. Wie
zuvor beschrieben wurde, können
herkömmliche
PAR-Schemata beispielsweise
weniger als optimal sein, da eine ausgewählte (Teil-)Bandbreite von
Speicherblöcken, die
aufzufrischen sind, eine Anzahl von Reihen umfassen kann, die keine
gültigen
Daten enthalten. Unter Verwendung der hierin beschriebenen Techniken werden
jedoch eventuell lediglich diejenigen Reihen innerhalb der ausgewählten Bandbreite
von Speicherblöcken
aufgefrischt, die gültige
Daten enthalten (wie z.B. durch einen Zustands-RAM-Block angegeben
ist), wodurch Leistung weiter verringert wird. Für nicht ausgewählte Speicherbänke können jedoch
alle Auffrischoperationen ungeachtet des Zustands-RAM-Inhalts gehemmt
werden.
-
Obwohl
das Vorstehende auf Ausführungsbeispiele
der vorliegenden Erfindung gerichtet ist, können andere und weitere Ausführungsbeispiele der
Erfindung ersonnen werden, ohne von dem grundlegenden Schutzumfang
derselben abzuweichen, und der Schutzumfang derselben wird durch die
folgenden Patentansprüche
bestimmt.
-
VERFAHREN
UND SCHALTUNGSKONFIGURATION ZUM AUFFRISCHEN VON DATEN IN EINEM HALBLEITERSPEICHER
-
ZUSAMMENFASSUNG
-
Es
werden Verfahren und Schaltungskonfigurationen zum Auffrischen von
Daten in einer Halbleiterspeichervorrichtung, bei denen Auffrischoperationen
für eine
begrenzte Anzahl von Reihen durchgeführt werden, offenbart. Die
begrenzte Anzahl von Reihen umfasst eventuell lediglich diejenigen
Reihen, die gültige
Daten enthalten, wie sie beispielsweise anhand von überwachten
Schreiboperationen bestimmt werden.