-
Ausführungsbeispiele der vorliegenden
Erfindung beziehen sich allgemein auf dynamische Direktzugriffsspeicher(DRAM-;
DRAM = dynamic random access memory) Geräte und insbesondere auf interne
Schaltungen von DRAM-Geräten,
die Selbstauffrischsignale erzeugen.
-
Dynamische Direktzugriffsspeicher- (DRAM-;
DRAM = dynamic random access memory) Geräte speichern Daten in Speicherelementen,
die eine zugeordnete Haltezeit aufweisen. DRAM-Geräte
werden als dynamisch bezeichnet, da, falls die Speicherelemente
nicht innerhalb der Haltezeit aufgefrischt werden (z. B. auf dieselben
zugegriffen wird), die in dem Speicherelement gespeicherten Daten
eventuell verloren sind. Während
normaler Betriebsbedingungen erzeugt eine Speichersteuerung, die
mit einem DRRM-Gerät
verbunden ist, typischerweise regelmäßige oder periodische Signale,
um die Speicherelemente aufzufrischen, um die Daten zu halten. Bei
speziellen Betriebsbedingungen jedoch, wie beispielsweise einem
Niedrigleistungsmodus, kann die Speichersteuerung heruntergefahren
und nicht in der Lage sein, um die Periodenauffrischsignale zu erzeugen.
Um Daten bei derartigen speziellen Betriebsbedingungen beizubehalten,
können DRAM-Geräte typischerweise
in einen Selbstauffrischmodus versetzt werden, in dem die Speicherelemente
durch Signale aufgefrischt werden, die durch eine interne Selbstauffrischschaltung
erzeugt werden.
-
Die Selbstauffrischschaltung umfaßt im allgemeinen
eine Zeitsteuerungsschaltung und eine Adreßdecodierungslogik, die konfiguriert
ist, um zumindest einmal innerhalb der Haltezeit auf alle Speicherelemente
zuzugreifen. Die Zeitsteuerungsschaltung umfaßt typischerweise einen program mierbaren Zähler, der
durch einen Oszillator getrieben ist, um ein Selbstauffrischzeitsteuerungssignal
zu erzeugen, um eine Selbstauffrischsequenz einzuleiten, bei der auf
ein Speicherelement zugegriffen wird, das durch die Adreßdecodierungslogik
ausgewählt
ist. Die Adreßdecodierungslogik
kann für
jeden Zugriff ein unterschiedliches Speicherelement auswählen. Aufgrund
von Variationen bei Materialien und Herstellungsprozessen kann die
Oszillatorfrequenz variieren, was wiederum in Variationen bei der
Frequenz des Selbstauffrischsignals resultieren kann. Falls diese
Variationen groß genug
sind, kann die Frequenz des Selbstauffrischsignals ungenügend sein,
um sicherzustellen, daß innerhalb
der Haltezeit auf jedes Speicherelement zugegriffen wird, und Daten
sind eventuell verloren.
-
Um Variationen bei der Oszillatorfrequenz
zu berücksichtigen,
wird daher die Selbstauffrischschaltung typischerweise während dem
Herstellungsprozeß kalibriert
(oder getrimmt). Weil die Frequenz des Selbstauffrischsignals allgemein
gleich der Oszillatorfrequenz multipliziert mit einem vorprogrammierten
Zählwert
ist, der in den programmierbaren Zähler geladen wird, können Variationen
bei der Oszillatorfrequenz durch ein entsprechendes Variieren des vorprogrammierten
Zählwerts
kompensiert werden. Um diese Zeit während dem Herstellungsprozeß einzustellen,
wird ein DRAM-Gerät
herkömmlicherweise in
einen speziellen Testmodus versetzt, bei dem die Frequenz des Selbstauffrischsignals
extern durch ein Testgerät
gemessen werden kann (z. B. kann das Selbstauffrischsignal während dem
speziellen Testmodus auf einen Ausgangsanschlußstift getrieben werden).
-
Im allgemeinen bestimmt das Testgerät einen
optimalen Wert für
den vorprogrammierten Zählwert,
basierend auf der gemessenen Frequenz des Selbstauffrischsignals.
Der optimale Wert wird berechnet, um sicherzustellen, daß die Frequenz
des Selbstauffrischsignals ausreichend ist, um sicherzustellen,
daß jedes
Speicherelement innerhalb der Haltezeit adressiert wird. Ist derselbe
einmal berechnet, wird der optimale Wert permanent in nichtflüchtigen
Speicherungselementen, wie beispielsweise Sicherungen, an dem DRAM-Gerät gespeichert.
Nach dieser anfänglichen
Kalibrierung (z. B. bei zukünftigen
Hochfahrsequenzen) kann das DRAM-Gerät dann den vorprogrammierten
Zählwert
von dem nichtflüchtigen
Speicher laden. Da die Oszillatorfrequenz für jedes DRAM-Gerät unabhängig variieren kann,
wird die Selbstauffrischsequenz für jeden DRAM typischerweise
einzeln gemessen und getrimmt. Daher neigt eine Selbstauffrischkalibrierung dazu,
einem DRAM-Herstellungsprozeß eine
beträchtliche
Zeit hinzuzufügen,
was einen Herstellungsdurchsatz begrenzen kann.
-
Folglich ist das, was benötigt wird,
ein verbessertes Verfahren und eine Vorrichtung zur Selbstauffrischkalibrierung
von DRAM-Geräten,
die in einer reduzierten Kalibrierungszeit und einem erhöhten Herstellungsdurchsatz
resultiert.
-
Es ist die Aufgabe der vorliegenden
Erfindung, ein Verfahren zum internen Trimmen eines regelmäßigen Selbstauffrischzeitsteuerungssignals
eines dynamischen Direktzugriffsspeicher- (DRAM-) Geräts, ein
dynamisches Direktzugriffsspeicher- (DRAM-) Gerät oder ein System zum Kalibrieren
von dynamischen Direktzugriffsspeicher- (DRAM-) Geräten mit
verbesserten Charakteristika zu schaffen.
-
Diese Aufgabe wird durch ein Verfahren
gemäß Anspruch
1 oder Anspruch 10, ein dynamisches Direktzugriffsspeicher(DRAM-)
Gerät gemäß Anspruch
18 oder Anspruch 24 oder ein System gemäß Anspruch 30 gelöst.
-
Ausführungsbeispiele der vorliegenden
Erfindung stellen allgemein Verfahren, Vorrichtungen und Systeme
zum Trimmen eines regelmäßigen Selbstauffrischzeitsteuerungssignals
eines dynamischen Direktzugriffsspeicher- (DRAM-) Geräts bereit.
-
Bei einem Ausführungsbeispiel umfaßt ein Verfahren
zum internen Trimmen eines regelmäßigen Selbstauffrischzeitsteuerungssignals
eines dynamischen Direktzugriffsspeicher(DRAM-) Geräts, das
durch einen programmierbaren Zähler
erzeugt wird, der durch einen Oszillator getrieben ist, im allgemeinen
ein Empfangen eines Referenzzeitsteuerungssignals, das von einem
Gerät außerhalb
des DRAM-Geräts
geliefert wird, und ein internes Bestimmen eines Trimmwerts zum
Programmieren des programmierbaren Zählers basierend auf dem Referenzzeitsteuerungssignal.
-
Bei einem Ausführungsbeispiel umfaßt ein Verfahren
zum internen Trimmen eines regelmäßigen Selbstauffrischzeitsteuerungssignals
eines dynamischen Direktzugriffsspeicher(DRAM-) Geräts, das
durch einen programmierbaren Zähler
erzeugt wird, der durch einen Oszillator getrieben ist, im allgemeinen
ein Empfangen eines Referenzzeitsteuerungssignals, das von einem
Gerät außerhalb
des DRAM-Geräts
geliefert wird, und ein internes Bestimmen eines Trimmwerts zum
Programmieren des programmierbaren Zählers durch ein Vergleichen
einer Periode des Referenzzeitsteuerungssignals mit einer Periode
des Selbstauffrischzeitsteuerungssignals.
-
Bei einem Ausführungsbeispiel umfaßt ein dynamisches
Direktzugriffsspeicher- (DRAM-) Gerät im allgemeinen eine Selbstauffrischschaltung,
die einen programmierbaren Zähler
aufweist, der durch einen Oszillator getrieben ist, zum Erzeugen
eines regelmäßigen Selbstauffrischzeitsteuerungssignals und
eine Selbsttrimmschaltung, die konfiguriert ist, um ein Referenzzeitsteuerungssignal
zu empfangen, das durch ein Gerät
außerhalb
des DRAM-Geräts
geliefert wird, und um einen Trimmwert zum Programmieren des programmierbaren
Zählers
zu erzeugen, basierend auf einer Periode des Referenzzeitsteuerungssignals.
-
Bei einem Ausführungsbeispiel umfaßt ein dynamisches
Direktzugriffsspeicher- (DRAM-) Gerät im allgemeinen eine Selbstauffrischschaltung,
die einen programmierbaren Zähler aufweist,
der durch einen Oszillator getrieben ist, zum Erzeugen eines regelmäßigen Selbstauffrischzeitsteuerungssignals und
eine Selbsttrimmschaltung, die konfiguriert ist, um eine Periode
eines Referenzzeitsteuerungssignals zu messen, das durch ein Gerät außerhalb
des DRAM-Geräts
geliefert wird, und um einen Trimmwert zum Programmieren des programmierbaren Zählers zu
erzeugen, basierend auf der gemessenen Periode.
-
Bei einem Ausführungsbeispiel umfaßt ein System
zum Kalibrieren von dynamischen Direktzugriffsspeicher- (DRAM-)
Geräten
im allgemeinen ein Testgerät,
das konfiguriert ist, um ein regelmäßiges Referenzzeitsteuerungssignal
zu erzeugen, und eines oder mehrere DRAM-Geräte, die über einen Bus mit dem Testgerät gekoppelt
sind, wobei jedes eine Selbstauffrischschaltung mit einem programmierbaren
Zähler,
der durch einen Oszillator getrieben ist, zum Erzeugen eines regelmäßigen Selbstauffrischzeitsteuerungssignals
und eine Selbsttrimmschaltung aufweist, die konfiguriert ist, um
ein Referenzzeitsteuerungssignal zu empfangen, das durch ein Gerät außerhalb
des DRAM-Geräts
geliefert wird, und um einen Trimmwert zum Programmieren des programmierbaren
Zählers
zu erzeugen, basierend auf einer Periode des Referenzzeitsteuerungssignals.
-
Bevorzugte Ausführungsbeispiele der vorliegenden
Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
exemplarisches DRAM-Testsystem gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung;
-
2 exemplarische
Operationen zum Trimmen eines Selbstauffrischzeitsteuerungssignals
gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung;
-
3 eine
exemplarische Schaltung, die zu einem Trimmen eines Selbstauffrischzeitsteuerungssignals gemäß den exemplarischen
Operationen von 2 geeignet
ist;
-
4 Zeitdiagramme
für exemplarische
externe Zeitsteuerungssignale und exemplarische Selbstauffrischsignale,
die unter Verwendung unterschiedlicher Trimmwerte erzeugt sind;
-
5 exemplarische
Operationen zum Trimmen eines Selbstauffrischzeitsteuerungssignals
gemäß einem
anderen Ausführungsbeispiel
der vorliegenden Erfindung; und
-
6 eine
exemplarische Schaltung, die zu einem Trimmen eines Selbstauffrischzeitsteuerungssignals
gemäß den exemplarischen
Operationen von 5 geeignet
ist.
-
Die vorliegende Erfindung stellt
im allgemeinen Verfahren, Vorrichtungen und Systeme zum Trimmen
eines Selbstauffrischzeitsteuerungssignals eines DRAM basierend
auf einem extern gelieferten Zeitsteuerungssignal bereit. Das externe
Zeitsteuerungssignal kann an mehrere DRAM-Geräte gleichzeitig geliefert werden,
wobei es den Selbstauffrischsignalen der mehreren DRAM-Geräte ermöglicht,
parallel getrimmt zu werden, wobei so eine Kalibrierungszeit reduziert
wird, was einen Herstellungsdurchsatz erhöhen kann.
-
1 stellt
ein exemplarisches DRAM-Testsystem 100 gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung dar. Wie es dargestellt ist, kann das
Testsystem 100 ein Testgerät 110 und eine Mehrzahl
von DRAM-Geräten 1201 , 1202 ,... 120N (kollektiv DRAM-Geräte 120)
umfassen. Das Testgerät 110 kann
jegliche geeignete Komponenten (z. B. Computer, eine Schnittstellenschaltungsanordnung und
eine Software) zum Durchführen
einer Vielfalt von Operationen umfassen, um die DRAM-Geräte 120 zu
testen, zu verifizieren und zu konfigurieren. Wie es dargestellt
ist, kann das Testgerät
110 mit
den DRAM-Geräten 120 über einen
Bus 132 kommunizieren, der eine jegliche geeignete Kombination
von Steuerleitungen, Adreßleitungen
und Datenleitungen umfassen kann. Bei einigen Ausführungsbeispielen kann
der Bus 132 Seriell-Kommunikationsleitungen umfassen,
um eine Anzahl von Leitungen zu reduzieren, die erforderlich sind,
um mit dem Testgerät 110 eine
Schnittstelle zu bilden. Ein Reduzieren der Anzahl von Leitungen,
die erforderlich sind, um eine Schnittstelle mit dem Testgerät 110 zu
bilden, kann den Anschlußstiftzählwert der
DRAM-Geräte 120 reduzieren,
die Anzahl von Anschlußstiften
erhöhen, die
für andere
Funktionen verfügbar
sind, und/oder die Komplexität
einer Schaltungsanordnung (z. B. einer Multiplexschaltungsanordnung)
reduzieren, die an den DRAM-Geräten 120 erforderlich
ist, um eine Schnittstelle mit dem Testgerät 110 zu bilden.
-
Wie es dargestellt ist, können die
DRAM-Geräte 120 eine
Selbstauffrischschaltung 140 umfassen, die konfiguriert
ist, um auf Speicherelemente 122 zuzugreifen, wenn die
DRAM-Geräte 120 in
einen Selbstauffrischmodus versetzt sind. Die Selbstauffrischschaltung 140 kann
einen programmierbaren Zähler 144 umfassen,
der durch einen Oszillator 142 getrieben ist. Im allgemeinen
zählt der programmierbare
Zähler 144 Pulse,
die durch den Oszillator 142 geliefert werden, bis ein
vorprogrammierter Zählwert
erreicht ist. Hat die gezählte
Anzahl von Pulsen den programmierbaren Zählwert einmal erreicht, erzeugt
ein programmierbarer Zähler 144 einen
Ausgangspuls (z. B. ein Selbstauffrischsignal), das verwendet werden
kann, um einen Selbstauffrischzyklus einzuleiten. Folglich kann
das Selbstauffrischsignal eine Periode (TREFRESH)
aufweisen, die im wesentlichen gleich einer Periode des Signals,
das durch den Oszillator 142 erzeugt wird (TOSC)
multipliziert mit dem vorprogrammierten Zählwert ist.
-
Jedoch ist es durch Fachleute auf
dem Gebiet zu erkennen, daß programmierbare
Zähler
variieren können.
Zum Beispiel können
einige programmierbare Zähler
einen Ausgangspuls erzeugen, wenn der vorprogrammierte Zählwert erreicht
ist, während
andere einen Ausgangspuls erzeugen können, wenn der vorprogrammierte
Zählwert überschritten
ist. In dem letzteren Fall kann TREFRESH im wesentlichen
gleich TOSC multipliziert mit einem Wert des
vorprogrammierten Zählwerts
inkrementiert durch 1 sein. Ferner können programmierbare Zähler sich
darin unterscheiden, wie der vorprogrammierte Zählwert geladen wird. Zum Beispiel
können
einige programmierbare Zähler
Eingangssignale aufweisen, die mit dem vorprogrammierten Zählwert hoch
oder niedrig gehalten werden müssen,
während
andere programmierbare Zähler
ein Register 146 zum Speichern des vorprogrammierten Zählwerts
aufweisen.
-
Ungeachtet der exakten Implementierung des
programmierbaren Zählers 144 können Variationen
bei einer Periode TOSC des Signals, das
durch den Oszillator 142 erzeugt wird, aufgrund von Variationen
bei Materialien und Herstellungsprozessen in Variationen bei einer
Periode TREFRESH des Selbstauffrischsignals
resultieren, das durch den programmierbaren Zähler 144 erzeugt wird.
Diese Variationen können
durch ein Einstellen eines Werts des vorprogrammierten Zählwerts
auf einen optimalen Wert (einen Trimmwert) kompensiert werden, um
das Selbstauffrischsignal zu trimmen, um eine erwünschte Periode
zu erhalten. Wie es vorhergehend beschrieben ist, umfassen herkömmliche
Techniken zum Trimmen des Selbstauffrischsignals eine externe Messung
der Periode des Selbstauffrischsignals und ein Berechnen eines Trimmwerts
basierend auf der extern gemessenen Periode. Da jedes DRAM-Gerät variieren
kann, muß die
Selbstauffrischperiode jedes DRAM-Geräts unter Verwendung dieser
Technik einzeln gemessen und getrimmt werden.
-
Im Gegensatz dazu umfassen die DRAM-Geräte 120 eine
Selbsttrimmschaltung 150, die es den Selbstauffrischsignalen
der DRAM-Geräte 120 ermöglichen
kann, zu der gleichen Zeit (d. h. parallel) getrimmt zu werden.
Zum Beispiel können
die Selbstauffrischsignale von Hunderten oder Tausenden von DRAM-Geräten 120 parallel
getrimmt werden, was eine Kali brierungszeit stark reduzieren und einen
Herstellungsdurchsatz erhöhen
kann. Die Selbsttrimmschaltung 150 kann konfiguriert sein,
um einen Trimmwert basierend auf einem Zeitsteuerungssignal (CLKEXT) zu erzeugen, das durch das Testgerät 110 über eine
Leitung 134 jedem der DRAM-Geräte 120 parallel geliefert
wird. Der Trimmwert, der durch die Selbsttrimmschaltung 150 erzeugt
wird, kann als der vorprogrammierte Zählwert des programmierbaren
Zählers 144 verwendet
werden, um ein Selbstauffrischsignal zu erzeugen, das eine Periode
(TREFRESH) aufweist, die im wesentlichen gleich
oder etwas geringer ist als eine Periode (TE
XT) des extern gelieferten Zeitsteuerungssignals.
-
In anderen Worten kann die Periode
TE
XT von CLKEXT (durch das Testgerät 110) gesteuert werden, um
sicherzustellen, daß die
Periode TREFRESH des Selbstauffrischsignals,
das durch den programmierbaren Zähler 144 erzeugt
wird, ausreichend niedrig ist, um es der Selbstauffrischschaltung 140 zu
ermöglichen,
auf jedes der Speicherelemente 122 innerhalb einer spezifizierten
Haltezeit zuzugreifen. Da jedes Speicherelement 122 innerhalb
der Haltezeit adressiert werden muß, kann der Wert von TE
XT nicht nur durch
die Haltezeit, sondern auch durch die Anzahl von Speicherelementen 122 in
den DRAM-Geräten 120 bestimmt
sein. Folglich kann das Testgerät 110 konfiguriert
sein, um externe Zeitsteuerungssignale zu erzeugen, die unterschiedliche
Perioden aufweisen, um die DRAM-Geräte 120 zu kalibrieren,
die eine unterschiedliche Anzahl von Speicherelementen (d. h. unterschiedliche
Speicherungskapazitäten) aufweisen.
-
Der Trimmwert oder Einstellwert kann
durch die Selbsttrimmschaltung oder Einstellschaltung 150 erzeugt
werden, während
sich die DRAM-Geräte 120 in
einem speziellen Selbsttrimmodus befinden. Zum Beispiel kann in
den Selbsttrimmodus über
eine Befehlssequenz eingetreten werden, die den DRAM-Geräten 120 über den
Bus 132 erteilt wird. Ist derselbe einmal erzeugt, kann
der Trimmwert in einem nichtflüchtigen
Speicher 160 gespeichert werden. Folglich kann wäh rend einer
normalen Operation (z. B. nach einem Verlassen des Selbsttrimmodus oder
bei zukünftigen
Hochfahrsequenzen) von dem nichtflüchtigen Speicher 160 auf
den gespeicherten Trimmwert zu einer Verwendung als dem vorprogrammierten
Zählwert
des programmierbaren Zählers 144 zugegriffen
werden.
-
Der nichtflüchtige Speicher 160 kann
ein jegliches geeignetes nichtflüchtiges
Speicherungselement oder eine Kombination von nichtflüchtigen Speicherungselementen
aufweisen. Bei einigen Ausführungsbeispielen
kann der nichtflüchtige
Speicher 160 herkömmliche
Sicherungen (z. B. Lasersicherungen) aufweisen, die nach dem Selbsttrimmodus über eine
externe Vorrichtung (z. B. einen Laser) durchgebrannt werden können. In
einem derartigen Fall kann das Testgerät 110 eine Laservorrichtung
zum Durchbrennen der Sicherungen umfassen, um den Trimmwert zu speichern.
Um zu bestimmen, welche der Sicherungen für jedes DRAM-Gerät 120 durchgebrannt werden
soll, kann das Testgerät 110 den
Trimmwert über
den Bus 132 von jedem DRAM-Gerät 120 lesen und die
Sicherungen an jedem DRAM-Gerät 120 einzeln
brennen.
-
Alternativ kann bei einigen Ausführungsbeispielen
der nichtflüchtige
Speicher 160 elektrisch programmierbare Sicherungen (eFuses) 164 aufweisen.
Die Selbsttrimmschaltung 150 kann eine Sicherungsprogrammierungsschaltung 162 zum
Programmieren der eFuses 164 umfassen, um den erzeugten Trimmwert
ohne ein Eingreifen des Testgeräts 110 zu speichern.
Zum Beispiel kann die Selbsttrimmschaltung 150 konfiguriert
sein, um die eFuses 164 mit der Programmierungsschaltung 162 automatisch
nach einem Erzeugen des Trimmwerts zu programmieren, was eine Kalibrierungszeit
weiter reduzieren kann.
-
Bei verschiedenen Ausführungsbeispielen kann
die Selbsttrimmschaltung 150 konfiguriert sein, um einen
Trimmwert basierend auf dem extern gelieferten Zeitsteuerungssignal
unter Verwendung verschiedener Algorithmen zu erzeugen. Zum Beispiel stellt 2 exemplarische Operationen
200 zum Erzeugen eines Trimmwerts gemäß einem Ausführungsbeispiel
der vorliegenden Erfindung dar. Die Operationen 200 können mit
Bezug auf 3 beschrieben
werden, die ein Ausführungsbeispiel
einer Selbsttrimmschaltung 150 darstellt, die zu einem Durchführen der
Operationen 200 von 2 geeignet
ist. Die Operationen 200 erzeugen einen Trimmwert basierend
auf Vergleichen zwischen der Periode TREFRESH des
Selbstauffrischsignals, das durch den programmierbaren Zähler 144 erzeugt
wird, und der Periode TEXT des extern gelieferten
Zeitsteuerungssignals.
-
Bei einem Schritt 202 wird der Trimmwert
auf Null initialisiert. Bei einem Schritt 204 wird ein „Bitzeiger"-Wert N auf den maximalen
Bitwert in einem Zählwert
gesetzt. Wie es in 3 dargestellt
ist, kann der Trimmwert z. B. 7 Bits aufweisen (d. h. Bits 6:0, was
es dem Trimmwert 154 ermöglicht, zwischen 0 und 127
zu liegen), so daß der
Wert von N auf 6 gesetzt werden kann. Natürlich kann die Anzahl von Bits
in dem Trimmwert bei unterschiedlichen Ausführungsbeispielen variieren,
z. B. basierend auf einem Bereich von Selbstauffrischperioden, die
mit der Selbstauffrischschaltung erreicht werden sollen, was z.
B. durch die Herstellungstoleranzen des Oszillators 142 bestimmt
sein kann.
-
Schritte 206 – 220 stellen schleifenförmige Operationen
dar, die für
jedes Bit in dem Trimmwert durchgeführt werden. In anderen Worten
können
die Operationen der Schritte 206 – 220 wiederholt werden, wenn
N von dem maximalen (d. h. dem höchstwertigen)
Bit des Trimmwerts auf Null (d. h. das niederstwertige Bit) dekrementiert
wird.
-
Bei Schritt 206 wird BIT N des Trimmwerts (auf
1) gesetzt, was die Wirkung eines Erhöhens des Trimmwerts um 2N hat. Falls z. B. N = 6, wird der Trimmwert
(von ursprünglich
0) um 64 erhöht.
Die Selbsttrimmschaltung 150 kann eine jegliche geeignete
Schaltungsanordnung zum Aufrechterhalten und Manipulieren des Trimmwerts
umfassen.
-
Bei Schritt 208 wird der programmierbare Zähler 144 mit
dem Trimmwert geladen (d. h. der vorprogrammierte Zählwert wird
auf den Trimmwert gesetzt). Wie es vorhergehend beschrieben ist,
kann ein Setzen des vorprogrammierten Zählwerts ein Liefern von Signalen
zu Eingängen
des programmierbaren Zählers 144 oder
ein Schreiben des Zählwerts
zu dem Register 146 umfassen. Bei Schritt 210 wird der programmierbare
Zähler 144 mit
dem Selbstauffrischoszillator 142 getrieben. Wie es vorhergehend beschrieben
ist, ist die Periode TREFRESH des Auffrischsignals,
das durch den programmierbaren Zähler 144 erzeugt
wird, allgemein gleich der Periode TOSC des
Signals, das durch den Selbstauffrischoszillator 142 erzeugt
wird, multipliziert mit dem programmierbaren Zählwert, der auf den Trimmwert
gesetzt wurde.
-
Bei Schritt 212 wird die Periode
TREFRESH des Selbstauffrischsignals, das
durch den programmierbaren Zähler 144 erzeugt
wird, mit der Periode TEXT des externen
Zeitsteuerungssignals verglichen. Falls bei Schritt 214 TREFRESH > TEXT (d. h. die Periode des Selbstauffrischsignals
hat das extern gelieferte Zeitsteuerungssignal überschritten), wird bei Schritt
216 das BIT N des Trimmwerts gelöscht.
In anderen Worten wird der Trimmwert um 2N reduziert,
was die Periode TREFRESH des Selbstauffrischsignals,
das durch den programmierbaren Zähler 144 erzeugt
wird, reduziert. Falls jedoch die Periode des Selbstauffrischsignals
das extern gelieferte Zeitsteuerungssignal nicht überschritten
hat (d. h. TREFRESH ≤ TEXT),
wird das BIT N des Trimmwerts gesetzt beibehalten.
-
Die Selbsttrimmschaltung 150 kann
eine jegliche geeignete Schaltungsanordnung zum Vergleichen von
TREFRESH mit TEXT umfassen.
Zum Beispiel kann die Selbsttrimmschaltung 150 einen Komparator 152 (z.
B. einen Phasendetektor) umfassen, der konfiguriert ist, um ansteigende
und/oder abfallende Flanken des externen Zeitsteuerungssignals und
des Selbstauffrischsignals zu erfassen. Zum Beispiel kann eine an steigende
Flanke des externen Zeitsteuerungssignals CLKEXT auslösen, daß die Selbsttrimmschaltung 150 ein
Treiben des programmierbaren Zählers
mit dem Oszillator 142 beginnt (laut Schritt 210). Der
Komparator 152 kann ferner diese ansteigende Flanke von
CLKEXT erfassen. Der Komparator 152 kann
konfiguriert sein, um TREFRESH und TEXT z. B. basierend auf der nächsten ansteigenden Flanke
des extern gelieferten Signals und einer ersten ansteigenden Flanke
des Selbstauffrischsignals zu vergleichen. Der Komparator 152 kann
ein Signal erzeugen, um das BIT N in dem Register 154 basierend
auf dem Vergleich (als gesetzt) beizubehalten und/oder zu löschen. Das
Signal kann z. B. bei einer ansteigenden oder abfallenden Flanke
des externen Zeitsteuerungssignals in das Register 154 gelatcht bzw.
zwischengespeichert werden. Die ansteigende oder abfallende Flanke
kann ferner das Bit N zu dem nächsten
Bit vorbewegen (d. h. Schritt 220), das gesetzt werden soll, und
den Oszillator- und den Zählerzustand
rücksetzen,
bis alle Bits in dem Trimmwert gesetzt wurden und die entsprechenden
Auffrischperioden TREFRESH mit TEXT verglichen wurden.
-
Bei Schritt 218 wird ein Test durchgeführt, um
zu bestimmen, ob N = 0 (d. h. die Operationen der Schritte 206 – 216 für alle Bits
des Trimmwerts durchgeführt
wurden). Falls nicht, wird der Wert von N bei Schritt 220 dekrementiert
(d. h. um auf das nächstniedrigere
Bit zu zeigen), und die Operationen fahren bei Schritt 206 durch
ein Setzen des nächstniedrigeren
BIT N fort. Folglich wird bei jedem Schleifendurchlauf der Trimmwert
bei Schritt 206 um 2N erhöht, wobei
N bei jedem Schleifendurchlauf um 1 dekrementiert wird. In anderen
Worten, falls der Trimmwert 154 ein 7-Bit-Wert ist (der
Bits 0 – 6
aufweist), inkrementiert ein Setzen von Bit 6 den Trimmwert um 64, inkrementiert
ein Setzen von Bit 5 den Trimmwert um 32, etc.
-
Wurden die Operationen 206 – 218 einmal für alle Bits
durchgeführt
(d. h. N = 0), wird bei einem Schritt 222 der Trimmwert 154 gespeichert.
An diesem Punkt sollte der Trimmwert 154 einen optimalen Wert
für das
Register 146 des programmierbaren Zählers 144 darstellen,
der in einem Selbstauffrischsignal resultiert, das eine Periode
aufweist, die die nächstmögliche Annäherung an
die Periode des extern gelieferten Signals ist, ohne dieselbe zu überschreiten.
Wie es vorhergehend beschrieben ist, kann die Periode des externen
Signals gewählt
sein, um sicherzustellen, daß die
Periode des Selbstauffrischsignals für die Selbstauffrischschaltung 140 ausreichend
ist, um innerhalb einer spezifizierten Haltezeit auf alle Speicherelemente
eines DRAM zuzugreifen.
-
Durch ein Durchführen der Operationen der Schritte
206 – 218
für jedes
Bit, beginnend mit dem höchstwertigen
Bit, kann ein optimaler Trimmwert asymptotisch erreicht werden.
In anderen Worten sind die Operationen 200 ähnlich einem
Binärsuchalgorithmus.
Bei einem Binärsuchalgorithmus
wird allgemein ein Satz von sortierten Elementen durch ein iteratives
Vergleichen eines erwünschten
Elements mit einem mittleren Element durchsucht, um zu bestimmen,
ob das mittlere Element das erwünschte Element
ist oder ob das erwünschte
Element in einer oberen Hälfte
von Elementen (über
dem mittleren Element) oder einer unteren Hälfte von Elementen (unter dem
mittleren Element) ist. Bei jeder Iteration wird die Suche auf die
Hälfte
der vorhergehenden Elemente eingeschränkt, bis das erwünschte Element
gefunden ist.
-
Die Weise, auf die die Operationen 200 einen
optimalen Trimmwert erreichen, ist in 4 dargestellt,
die ein exemplarisches äußeres Zeitsteuerungssignal
CLKEXT und exemplarische Auffrischzeitsteuerungssignale
CLKREFRESH für unterschiedliche Trimmwerte
zeigt, die zu unterschiedlichen Zeiten durch die schleifenförmigen Operationen 206 – 218 erzeugt
werden können.
Lediglich zu Darstellungszwecken weist bei diesem Beispiel CLKE
XT eine Periode
von 100·TOSC
auf und der Trimmwert ist ein 7-Bit-Wert.
-
Bei dem ersten Schleifendurchlauf
(N = 6) wird BIT 6 gesetzt, was in einem Trimmwert von 64 resultiert.
Wie es dargestellt ist, ist bei einem Trimmwert von 64 die Periode
von CLKREFRESH viel geringer als die Periode
von CLKEXT, und daher bleibt BIT 6 gesetzt.
Bei dem nächsten
Schleifendurchlauf (N = 5) wird BIT 5 gesetzt, was in einem Trimmwert
von 96 resultiert. Wie es dargestellt ist, ist bei einem Trimmwert
von 96 die Periode von CLKREFRESH immer
noch etwas geringer als die Periode von CLKEX
T, und daher bleibt auch BIT 5 gesetzt.
-
Bei dem nächsten Schleifendurchlauf (N
= 4) jedoch wird BIT 4 gesetzt, was in einem Trimmwert von 112 resultiert.
Wie es dargestellt ist, ist bei einem Trimmwert von 112 die Periode
von CLKREFRESH größer als die Periode von CLKEXT, und daher wird BIT 4 gelöscht. Bei
dem nächsten
Schleifendurchlauf (N = 3) wird entsprechend BIT 3 gesetzt, was
in einem Trimmwert von 104 resultiert. Wie es dargestellt ist, ist
bei einem Trimmwert von 104 die Periode von CLKREFRESH immer
noch etwas größer als
die Periode von CLKE
XT,
und daher wird auch BIT 3 gelöscht.
-
Bei dem nächsten Schleifendurchlauf (N
= 2) jedoch wird BIT 2 gesetzt, was in einem Trimmwert von 100 resultiert.
Wie es dargestellt ist, ist bei einem Trimmwert von 100 die Periode
von CLKREFRESH im wesentlichen gleich der
Periode von CLKEXT, und daher bleibt BIT
2 gesetzt. Obwohl es nicht dargestellt ist, werden bei den letzten
zwei Malen durch die Schleife (N = 1 und N = 0) die Bits 1 und 0
gesetzt, was in Trimmwerten von 102 bzw. 101 resultiert, die jeweils
in Perioden für
CLKREFRESH resultieren würden, die etwas größer als
eine Periode von CLKE
XT sind. Folglich
würden
die Bits 1 und 0 gelöscht,
so daß der Endtrimmwert 100 bleiben
würde.
-
Bei anderen Ausführungsbeispielen können jedoch
Variationen der Operationen 200 durchgeführt werden,
um einen optimalen Trimmwert zu bestimmen, Als ein Beispiel können TREFRESH und TEX
T verglichen werden, während der Trimmwert von 0 zu
einem Maximalwert inkrementiert wird. Sobald TREFRESH TEXT überschreitet,
können
die Operationen enden und der Trimmwert kann (wahlweise um 1 dekrementiert
und) gespeichert werden. Alternativ können TREFRESH und
TEXT verglichen werden, während der Trimmwert
von einem Maximalwert zu Null dekrementiert wird. Sobald z. B. TREFRESH unter TEXT fällt, können die
Operationen enden und der Trimmwert kann gespeichert werden. Statt
komplette Perioden von CLKREFRESH und CLKEXT zu vergleichen, kann als ein anderes
Beispiel die Selbsttrimmschaltung 150 konfiguriert sein,
um Halbperioden zu vergleichen (z. B. die Zeit zwischen der ansteigenden
Flanke und einer abfallenden Flanke oder die Zeit zwischen einer abfallenden
Flanke und einer ansteigenden Flanke).
-
Als eine Alternative zu einem Bestimmen
eines Trimmwerts basierend auf Vergleichen zwischen TREFRESH und
TEXT kann ferner bei einigen Ausführungsbeispielen
ein Trimmwert durch eine direkte Messung von TEXT bestimmt
werden. Zum Beispiel stellt 5 exemplarische
Operationen 500 zum Erzeugen eines Trimmwerts durch eine direkte
Messung von TEXT dar. Die Operationen 500 können mit Bezug
auf 6 beschrieben werden,
die ein anderes Ausführungsbeispiel
einer Selbsttrimmschaltung 150 darstellt, die zu einem
Durchführen
der Operationen 500 von 5 geeignet
ist. Wie es dargestellt ist, ist das in 6 dargestellte Ausführungsbeispiel der Selbsttrimmschaltung
150 dem in 3 dargestellten
Ausführungsbeispiel ähnlich.
Statt einen Komparator 152 zu benutzen, der das Selbstauffrischsignal
als ein Eingangssignal empfängt,
benutzt jedoch die Selbsttrimmschaltung 150 von 6 einen Aufnahmezähler 156,
der das durch den Oszillator 142 erzeugte Signals als ein
Eingangssignal empfängt.
-
Bei einem Schritt 502 wird der Aufnahmezähler 156 mit
dem Selbstauffrischoszillator 142 getrieben. Der Aufnahmezähler 156 kann
z. B. einen freilaufenden Zähler
aufweisen, der bei jedem Puls inkrementiert wird, der von dem Oszillator
142 empfangen
wird. Bei einem Schritt 504 wird ein Wert des Aufnahmezählers 156 bei
einer ersten ansteigenden oder abfallenden Flanke des extern gelieferten
Zeitsteuerungssignals CLKEXT gelöscht. Bei
einem Schritt 506 wird der Wert des Aufnahmezählers 156 bei einer
zweiten ansteigenden oder abfallenden Flanke des extern gelieferten
Zeitsteuerungssignals aufgenommen. Wie es dargestellt ist, kann
der aufgenommene Zählerwert
zu einem Trimmwertregister 158 übertragen werden.
-
Der aufgenommene Zählerwert
stellt die Anzahl von Pulsen dar, die von dem Oszillator 142 innerhalb
einer Periode TEXT des extern gelieferten Zeitsteuerungssignals
empfangen werden. Folglich kann dieser aufgenommene Zählerwert
zu dem programmierbaren Zählregister 146 geschrieben
werden, um sicherzustellen, daß die
Periode TREFRESH des Selbstauffrischsignals,
das durch den programmierbaren Zähler 144 erzeugt
wird, im wesentlichen gleich der Periode TEXT des
extern gelieferten Zeitsteuerungssignals ist. Schließlich wird
bei einem Schritt 508 der aufgenommene Zählerwert gespeichert. Wie es
vorhergehend beschrieben ist, kann der aufgenommene Zählerwert
z. B. in einem jeglichen geeigneten nichtflüchtigen Speicher gespeichert
werden.
-
Ein Fachmann auf dem Gebiet erkennt,
daß bei
unterschiedlichen Ausführungsbeispielen
der Aufnahmezähler 156 konfiguriert
sein kann, um die Periode des extern gelieferten Zeitsteuerungssignals unter
Verwendung unterschiedlicher Techniken zu messen. Zum Beispiel kann
der Aufnahmezähler 156 konfiguriert
sein, um den Wert des freilaufenden Zählers bei einer ersten ansteigenden
Flanke des extern gelieferten Zeitsteuerungssignals rückzusetzen.
Alternativ kann der freilaufende Zähler in einer Rücksetzbedingung
gehalten werden und auf eine ansteigende Flanke des extern gelieferten
Zeitsteuerungssignals hin gestartet werden. Bei noch anderen Ausführungsbeispielen
ist es möglich,
daß der
Wert des freilaufenden Zählers
nicht rückgesetzt
wird. Anstelle dessen kann der Wert des freilaufenden Zählers bei einer ersten
und einer zweiten ansteigenden Flanke des extern gelieferten Zeitsteuerungssignals
aufgenommen werden. Die Periode des extern gelieferten Zeitsteuerungssignals
kann dann basierend auf der Differenz des ersten und des zweiten
Zeitsteuerungssignals berechnet werden.
-
Statt eine volle Periode zu messen
(z. B. zwischen zwei ansteigenden Flanken oder zwischen zwei abfallenden
Flanken), kann der Aufnahmezähler
ferner eine halbe Periode messen (z. B. zwischen einer ansteigenden
Flanke und einer abfallenden Flanke oder zwischen einer abfallenden
Flanke und einer ansteigenden Flanke). Ein Wert für die volle
Periode kann durch ein Multiplizieren des aufgenommenen Werts für die halbe
Periode mit 2 erzeugt werden (z. B. durch eine logische Verschiebung
nach links). Während
ein Bit einer Auflösung
aufgrund einer logischen Verschiebung nach links verloren werden kann,
kann der aus der Verschiebung resultierende Wert eine genügend nahe
Annäherung
sein und ein jegliches verlorenes Bit (angenommen eine Null wird eingeschoben)
resultiert in einem geringeren Trimmwert und einer entsprechend
kürzeren
TREFRESH. was sicherstellen kann, daß jedes
Speicherelement innerhalb der spezifizierten Haltezeit adressiert
wird. Entsprechend kann das Referenzzeitsteuerungssignal CLKEXT eine andere Frequenz aufweisen als die
erwünschte
Selbstauffrischfrequenz. Zum Beispiel kann das Referenzzeitsteuerungssignals
ein Halb einer erwünschten
Selbstauffrischfrequenz oder das Doppelte der erwünschten
Selbstauffrischfrequenz sein. Dessen ungeachtet kann die Selbsttrimmschaltung 150 konfiguriert
sein, um einen geeigneten Trimmwert z. B. durch logische Verschiebungen
nach links oder rechts zu erzeugen.
-
Während
oben spezifische Ausführungsbeispiele
der vorliegenden Erfindung mit Bezug auf Selbstauffrischschaltungen
von DRAM-Geräten
beschrieben wurden, sei darauf hingewiesen, daß Ausführungsbeispiele der vorliegenden
Erfindung verwendet werden können,
um einen jeglichen Typ von internen Zeitsteuerungsschualtungen,
die bei integrierten Schal tungen (ICs) eines anderen Typs verwendet
werden, selbst zu trimmen, wie beispielsweise Mikroprozessoren oder
Systemauf-Chip-Geräte, die
Speicher- und Mikroprozessorfunktionen integrieren.