-
GEBIET DER ERFINDUNG
-
Diese
Erfindung bezieht sich auf ein registriertes Speichermodul, und
spezieller, aber nicht ausschließlich, darauf, die Operationen
des registrierten Speichermoduls zu verbessern.
-
HINTERGRUND DER BESCHREIBUNG
-
Bei
dem Blockdiagramm 100 eines registrierten Speichermoduls 120 des
Standes der Technik, wie in 1 gezeigt,
puffert das Speicherregister 122 Signale von dem Memory-Controller 110 in
den dynamischen Direktzugriffsspeicher (dynamic random access memory,
DRAM) 126. Durch ein Puffern der Signale von dem Memory-Controller 110 wird
die elektrische Beanspruchung auf dem Memory-Controller 110 verringert
und es erhöht die Verlässlichkeit eines Hochgeschwindigkeitsdatenzugangs
auf den DRAM 126.
-
Das
Speicherregister 122 weist eine Phasenregelschleife (phase-locked
loop, PLL) 124 auf, die von einem Paar von Eingabedifferenztakten
CLK 140 und CLK# 142 von dem Memory-Controller 110 gesteuert
wird. Der dynamische Energieverbrauch der PLL 124 ist verhältnismäßig
höher als der Energieverbrauch der anderen in dem registrierten
Speichermodul 120 vorhandenen Komponenten. Wenn zusätzlich
die PLL 124 in die Eingabedifferenztakte CLK 140 und
CLK# 142 einrastet, um die Ausgabedifferenztakte CLK 150 und
CLK# 152 zu erzeugen, kann keine Schreib- oder Leseoperation
auf den DRAM 126 ausgeführt werden, bis die PLL 124 eingerastet
ist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
Merkmale und Vorteile von erfindungsgemäßen Ausführungsformen
werden aus der folgenden ausführlichen Beschreibung des
Gegenstands ersichtlich, bei der:
-
1 ein
Blockdiagramm eines registrierten Speichermoduls des Standes der
Technik veranschaulicht;
-
2 ein
System veranschaulicht, um die hierin offenbarten Verfahren in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
zu implementieren;
-
3A ein
Blockdiagramm eines registrierten Speichermoduls in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
veranschaulicht;
-
3B ein
Blockdiagramm eines registrierten Speichermoduls in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
veranschaulicht;
-
3C ein
Blockdiagramm eines registrierten Speichermoduls in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
veranschaulicht;
-
4 ein
Blockdiagramm einer Speichereinheit in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
veranschaulicht;
-
5A ein
Ablaufdiagramm zum Umschalten des Betriebsmodus einer Taktschaltung
von Normal- zu Bypassmodus in Übereinstimmung mit einer erfindungsgemäßen
Ausführungsform veranschaulicht;
-
5B ein
Ablaufdiagramm zum Umschalten des Betriebsmodus einer Taktschaltung
von einem Bypass- zu einem normalen Modus in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
veranschaulicht;
-
5C ein
Ablaufdiagramm zum Umschalten des Betriebsmodus einer Taktschaltung
von einem Bypass- zu einem normalen Modus in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
veranschaulicht;
-
6A ein
Taktdiagramm des Standes der Technik einer Schreiboperation auf
ein registriertes Speichermodul des Standes der Technik veranschaulicht;
-
6B ein
Taktdiagramm einer Schreiboperation auf ein registriertes Speichermodul
im Bypassmodus in Übereinstimmung mit einer erfindungsgemäßen
Ausführungsform veranschaulicht;
-
7 einen
Vergleich zwischen einer Umschaltsequenz eines früheren
registrierten Speichermoduls und einer Umschaltsequenz eines registrierten
Speichermoduls in Übereinstimmung mit einer erfindungsgemäßen
Ausführungsform veranschaulicht;
-
8 einen
Vergleich zwischen einer Umschaltsequenz eines DRAM des Standes
der Technik und einer Umschaltsequenz einer Speichereinheit in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
veranschaulicht.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Hierin
beschriebene erfindungsgemäße Ausführungsformen
werden in den beigefügten Figuren in beispielhafter und
nicht einschränkender Weise veranschaulicht. Der Einfachheit
halber und zur besseren Veranschaulichung sind in den Figuren veranschaulichte
Elemente nicht notwendigerweise maßstabsgetreu. Beispielsweise
können die Abmessungen einiger Elemente im Verhältnis
zu anderen Elementen zur Verdeutlichung übermäßig
groß dargestellt sein. Wo es zweckmäßig
erschien, wurden weiter Bezugszeichen in den Figuren wiederholt,
um entsprechende oder analoge Elemente zu kennzeichnen. Verweise
in der Beschreibung auf „eine erfindungsgemäße
Ausführungsform” bedeuten, dass ein bestimmtes
Merkmal, eine Struktur oder Charakteristikum, das in Verbindung
mit der Ausführungsform beschrieben wird, in zumindest
einer erfindungsgemäßen Ausführungsform
enthalten ist. Somit bezieht sich das Auftreten des Ausdrucks „bei
einer Ausführungsform” an verschiedenen Stellen
in der Beschreibung nicht immer zwingend alle auf dieselbe Ausführungsform.
-
Erfindungsgemäße
Ausführungsformen stellen ein Verfahren und System bereit,
um die Operationen eines registrierten Speichermoduls zu verbessern.
Bei einer erfindungsgemäßen Ausführungsform ermöglicht
das registrierte Speichermodul asynchrone Lese- und Schreiboperationen,
wenn eine Taktschaltung in dem registrierten Speichermodul aktiviert
wird. Die Taktschaltung beinhaltet, ist aber nicht beschränkt
auf, eine PLL, eine Verzögerungsregelschleife (delay-locked
loop, DLL) und dergleichen. Wenn beispielsweise bei einer erfindungsgemäßen Ausführungsform
die PLL in einem registrierten Speichermodul aktiviert, d. h., die
PLL rastet in ein Eingabetaktsignal ein, braucht das registrierte
Speichermodul nicht zu warten, dass die PLL einrastet, bevor irgendwelche
asynchronen Lese- oder Schreiboperationen auf das registrierte Speichermodul
ausgeführt werden.
-
Bei
einer weiteren erfindungsgemäßen Ausführungsform
ermöglicht das registrierte Speichermodul, dass seine Taktschaltung
ohne jegliche Unterbrechung seines Betriebs freigegeben oder gesperrt
wird. Wenn die Taktschaltung in dem registrierten Speichermodul
gesperrt ist, kann der Energieverbrauch des registrierten Speichermoduls
verringert werden. Bei noch einer weiteren erfindungsgemäßen Ausführungsform
darf das registrierte Speichermodul in einen asynchronen Betriebsmodus
eintreten oder ihn verlassen, ohne in einen Selbstauffrischungs- oder
Vorlade-Herunterfahr-Betriebsmodus des registrierten Speichermoduls
einzutreten oder ihn zu verlassen.
-
2 veranschaulicht
ein System 200, um die hierin offenbarten Verfahren in Übereinstimmung mit
einer erfindungsgemäßen Ausführungsform
zu implementieren. Das System 200 beinhaltet, ist aber nicht
beschränkt auf, einen Desktopcomputer, einen Laptop, ein
Notebook, ein Netbook, einen Minicomputer (personal digital assistant,
PDA), einen Server, eine Workstation, ein Mobiltelefon, ein mobiles EDV-Gerät,
ein Internet-Gerät oder jede andere Art EDV-Gerät.
Bei einer weiteren Ausführungsform kann das System 200,
das verwendet wird, um die hierin offenbarten Verfahren zu implementieren,
ein Ein-Chip-System (system an a chip, SOC) sein.
-
Das
System 200 beinhaltet einen Memory-/Grafik-Controller 220 und
einen I/O-Eingangs/Ausgangs-(I/O-Input/Output)-Controller 250. Der
Memory-/Grafik-Controller 220 stellt typischerweise Speicher-
und I/O-Managementfunktionen bereit sowie eine Vielzahl von Universal-
und/oder Spezialregistern, Zeitgebern, etc., auf die von dem Prozessor 210 zugegriffen
werden kann oder die von ihm verwendet werden können. Der
Prozessor 210 kann unter Verwendung eines oder mehr Prozessoren oder
unter Verwendung von Mehrkernprozessoren implementiert sein. Der
Memory-/Grafik-Controller 220 führt Funktionen
aus, die es dem Prozessor 210 ermöglichen, auf
einen Hauptspeicher 240, der einen flüchtigen
Speicher 242 und/oder einen Permanentspeicher 244 beinhaltet,
zuzugreifen und damit zu kommunizieren. Bei einer erfindungsgemäßen
Ausführungsform ist der Hauptspeicher 240 ein
registriertes Speichermodul, das asynchrone Lese- und Schreiboperationen
ermöglicht, wenn eine Taktschaltung in dem registrierten
Speichermodul aktiviert wird.
-
Der
flüchtige Speicher 242 beinhaltet, ist aber nicht
beschränkt auf, synchroner dynamischer Direktzugriffsspeicher
(Synchronous Dynamic Random Access Memory, SDRAM), dynamischer Direktzugriffsspeicher
(Dynamic Random Access Memory, DRAM), RAMBUS DRAM (RDRAM), Doppel-Datenraten-Drei
SDRAM (double data rate three SDRAM, DDR3 SDRAM) und/oder jede andere
Art Speichergerät mit wahlfreiem Zugriff (random access).
Der Permanentspeicher 244 beinhaltet, ist aber nicht beschränkt
auf, NAND-Flash-Memory, Festspeicher (read only memory, ROM), elektrisch
löschbarer programmierbarer ROM (electrically erasable
programmable ROM, EEPROM) und/oder jede andere gewünschte
Art Speichergerät. Der Hauptspeicher 240 speichert
Informationen und Befehle, die von dem Prozessor 210 ausgeführt
werden sollen. Der Hauptspeicher 240 kann ebenfalls temporäre
Variablen oder andere Zwischeninformationen speichern, während
der Prozessor 210 Befehle ausführt. Bei einer weiteren
erfindungsgemäßen Ausführungsform ist der
Memory-/Grafik-Controller 220 Teil des Prozessors 210.
-
Der
Memory-/Grafik-Controller 220 ist mit einem Display-Gerät 230 verbunden,
das Flüssigkristallbildschirme (liquid crystal displays,
LCDs), Röhrenmonitor-(cathode ray tube, CRT-)Displays oder jede
andere Art von visuellem Display-Gerät beinhaltet, aber
nicht darauf beschränkt ist. Der I/O-Controller 250 ist
mit einem Speichergerät(en) 260, einem Netzwerk-Interface 270 und
einer Tastatur/Maus 280 gekoppelt, aber nicht darauf beschränkt.
Insbesondere führt der I/O-Controller 250 Funktionen
aus, die es dem Prozessor 210 ermöglichen, mit
dem Speichermedium 260, dem Netzwerk-Interface 270,
und der Tastatur/Maus 280 zu kommunizieren.
-
Das
Netzwerk-Interface 270 ist unter Verwendung jeder Art von
wohlbekannten Netzwerk-Interface-Standards implementiert und beinhaltet,
ist aber nicht beschränkt auf, eine Ethernet-Schnittstelle,
eine USB-Schnittstelle, eine Peripheral-Component-Interconnect-(PCI-)Express-Schnittstelle,
eine Drahtlosschnittstelle und/oder jede andere geeignete Art von
Schnittstelle. Die Drahtlosschnittstelle arbeitet in Übereinstimmung
mit, ist aber nicht beschränkt auf, der Drahtlosstandardfamilie
Institute of Electrical and Electronics Engineers (IEEE) 802.11,
Home Plug AV (HPAV), Ultra-Breitband (ultra wide band, UWB), Bluetooth,
WiMax oder jeder anderen Art von Drahtlos-Kommunikationsprotokoll.
-
Bei
einer erfindungsgemäßen Ausführungsform
ist/sind der/die in 2 gezeigte(n) Bus(se) ein von
allen damit verbundenen Komponenten gemeinsam benutzter Kommunikationslink.
Bei einer weiteren erfindungsgemäßen Ausführungsform
ist/sind der/die in 2 gezeigte(n) Bus(se) ein Punkt-zu-Punkt-Kommunikationslink
zwischen Komponentenpaaren, die miteinander verbunden sind. Während
die in 2 gezeigten Komponenten als getrennte Blöcke
innerhalb des Systems 200 dargestellt sind, können
die von einigen dieser Blöcke ausgeführten Funktionen
innerhalb einer einzigen Halbleiterschaltung integriert sein oder
können unter Verwendung von zwei oder mehr getrennten integrierten Schaltungen
implementiert sein. Obwohl beispielsweise der Memory-/Grafik-Controller 220 und
der I/O-Controller 250 als getrennte Blöcke dargestellt sind,
ist es für einen Fachmann sofort verständlich, dass
der Memory-/Grafik-Controller 220 und der I/O-Controller 250 innerhalb
einer einzigen Halbleiterschaltung integriert sein können.
-
3A veranschaulicht
ein Blockdiagramm 300 eines registrierten Speichermoduls 306 in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform.
Der Einfachheit halber und zu besseren Veranschaulichung zeigt 3A die
Logik für nur eines der Paare von Eingabedifferenztakten
CLK 140 und CLK# 142. Für einen Fachmann
ist es sofort verständlich, wie die hierin offenbarten
erfindungsgemäßen Ausführungsformen sowohl
auf CLK 140 als auch CLK# 142 angewandt werden,
und dies soll hierin nicht erörtert werden.
-
Das
registrierte Speichermodul 306 weist ein Speicherregister 311 und
eine Speichereinheit 390 auf. Die Speichereinheit 390 kann
ein flüchtiger Speicher oder Permanentspeicher sein und
kann eine Vielzahl von Speicherbanken bei einer erfindungsgemäßen
Ausführungsform beinhalten. Der Memory-Controller 305 stellt
ein Paar von Eingabedifferenztakten CLK 140 und CLK# 142 für
das registrierte Speichermodul 306 bereit. Bei einer erfindungsgemäßen
Ausführungsform sind der Memory-Controller 305 und
das registrierte Speichermodul 306 zumindest teilweise
konform mit einer oder mehr Beschreibungen, die den Joint Electron
Device Engineering Council (JEDEC) DDR3 SDRAM-Standard (JEDEC DDR3
SDRAM-Standard, „JEDEC Standard DDR3 SDRAM", Änderung
JESD79-3C vom November 2008) definiert, beinhaltend, dass
z. B. alle Steuerungs-, Befehls- und Adresssignale von dem Memory-Controller 305 von
dem registrierten Speichermodul 306 an der Kreuzung der
positiven Flanke von CLK 140 und der negativen Flanke von
CLK# 142 abgetastet werden.
-
Bei
einer erfindungsgemäßen Ausführungsform
verfügt das Speicherregister 311 über
Logik, um ein Freigeben oder Sperren der PLL 314 ohne jegliche
Unterbrechung des Betriebes der Speichereinheit 390 zu
erleichtern. Bei einer erfindungsgemäßen Ausführungsform
beispielsweise verfügt das Speicherregister 311 über
ein UND-Gatter 316, um die Verbindung zwischen den Eingabedifferenztakten CLK 140/CLK# 142 und
der PLL 314 freizugeben oder zu sperren. Bei weiteren erfindungsgemäßen Ausführungsformen
können andere Logikarten, wie z. B. ein Nicht-UND-(Not
AND, NAND-)Gatter, verwendet werden. Für einen Fachmann
ist es sofort verständlich, wie eine alternative Logik
verwendet wird, um die Verbindung zwischen den Eingabedifferenztakten
CLK 140/CLK# 142 und der PLL 314 freizugeben
oder zu sperren, ohne die erfindungsgemäßen Arbeiten
zu beeinträchtigen.
-
Das
UND-Gatter 316 weist ein Eingabesignal auf, das mit dem
Freigabesignal 322 von einer Decodierlogik 320 verbunden
ist. Bei einer erfindungsgemäßen Ausführungsform
kann der Memory-Controller 305 ein Befehlssignal über
die Befehlsleitung 144 an das registrierte Speichermodul 306 senden,
um die PLL 314 freizugeben oder zu sperren. Die Decodierlogik 320 in
dem Speicherregister 311 empfängt das Befehlssignal
und erzeugt ein entsprechendes Freigabesignal 322, um das
UND-Gatter 316 freizugeben oder zu sperren, nachdem das empfangene
Befehlssignal decodiert ist. Wenn beispielsweise die Decodierlogik 320 decodiert,
dass das empfangene Befehlssignal die PLL 314 freigeben
oder aktivieren soll, aktiviert die Decodierlogik 320 das
Freigabesignal 322, um es den Eingabedifferenztakten CLK 140/CLK# 142 zu
ermöglichen, das UND-Gatter 316 zu passieren,
um die PLL 314 zu erreichen.
-
Wenn
gleichermaßen die Decodierlogik 320 decodiert,
dass das empfangene Befehlssignal die PLL 314 sperren oder
deaktivieren soll, deaktiviert die Decodierlogik 320 das
Freigabesignal 322, um die Eingabedifferenztakte CLK 140/CLK# 142 davon abzuhalten
oder zu stoppen, das UND-Gatter 316 zu passieren, um die
PLL 314 zu erreichen. Wenn der PLL 314 kein Eingabetakt
bereitgestellt wird, wird die PLL 314 gesperrt oder deaktiviert.
Durch ein Sperren der PLL 314 wird der Energieverbrauch
der PLL 314 auf statischen Energieverbrauch verringert.
-
Bei
einer erfindungsgemäßen Ausführungsform
weist das Speicherregister 311 Logik auf, um den/die Ausgabetakt(e)
der PLL 314 als den Eingabetakt an die Speichereinheit 390 zu
umgehen. Bei einer erfindungsgemäßen Ausführungsform
beispielsweise hat das Speicherregister 311 einen Multiplexer 318,
um zwischen den Eingabedifferenztakten CLK 140/CLK# 142 und
den Ausgabedifferenztakten der PLL 314 als die Eingabedifferenztakte CLK 350/CLK# 352 an
die Speicherreinheit 390 zu wählen. Die Decodierlogik 320 erzeugt
ein Bypasssignal 324 an den Multiplexer 318, um
zwischen den Eingabedifferenztakten CLK 140/CLK# 142 und
den Ausgabedifferenztakten der PLL 314 als die Eingabedifferenztakte
an den DRAM 390 zu wählen.
-
Bei
einer erfindungsgemäßen Ausführungsform
kann der Memory-Controller 305 ein Befehlssignal über
die Befehlsleitung 144 an das registrierte Speichermodul 306 senden,
um die PLL 314 in einen Bypass- oder normalen Modus zu
versetzen. Die Decodierlogik 320 in dem Speicherregister 311 empfängt
das Befehlssignal und erzeugt ein entsprechendes Freigabesignal 322 und/oder
Bypasssignal 324, um die PLL 314 in einen Bypass-
oder normalen Modus zu versetzen, nachdem das empfangene Befehlssignal
decodiert ist. Wenn beispielsweise die Decodierlogik 320 decodiert,
dass das empfangene Befehlssignal die PLL 314 in einen
Bypassmodus versetzen soll, aktiviert die Decodierlogik 320 das
Bypasssignal 324 an den Multiplexer 318, um die
Eingabedifferenztakte CLK 140/CLK# 142 als die
Eingabedifferenztakte an den DRAM 390 zu wählen.
Die Decodierlogik 320 kann optional das Freigabesignal 322 deaktivieren,
um die PLL 314 zu deaktivieren.
-
Wenn
gleichermaßen die Decodierlogik 320 decodiert,
dass das empfangene Befehlssignal die PLL 314 in einen
normalen Modus versetzen soll, aktiviert die Decodierlogik 320 das
Freigabesignal 322 an das UND-Gatter 316. Nachdem
die PLL 314 eingerastet ist, deaktiviert die Decodierlogik 320 das
Bypasssignal 324 an den Multiplexer 318, um die
Ausgabedifferenztakte der PLL 314 als die Eingabedifferenztakte
an die Speichereinheit 390 auszuwählen. Bei einer
erfindungsgemäßen Ausführungsform ist der
Multiplexer 318 ein störungsfreier Multiplexer,
d. h., wenn der Multiplexer 318 zwischen seinen Eingabesignalen
umschaltet, führt er keine Störungen in sein Ausgabesignal
ein, die von der Speichereinheit 390 entdeckt werden können.
-
Dadurch,
dass die PLL 314 in Bypassmodus versetzt wird, kann der
Memory-Controller 305 mit dem registrierten Speichermodul 306 asynchron kommunizieren
oder es betreiben. Wenn die PLL 314 gesperrt und in Bypassmodus
versetzt ist, ermöglicht sie dem System 200, einen
asynchronen Betrieb des registrierten Speichermoduls 306 aufrechtzuerhalten und
den Energieverbrauch des Speicherregisters 311 zu verringern.
Zusätzlich kann bei einer erfindungsgemäßen
Ausführungsform das Registerspeichermodul 311 ein
Freigeben oder Sperren der PLL 314 ohne jegliche Unterbrechung
des Betriebes der Speichereinheit 390 erleichtern.
-
Wenn
bei einer erfindungsgemäßen Ausführungsform
beispielsweise der Memory-Controller 305 den Betrieb des
Registerspeichermoduls 306 von einem asynchronen zu einem
synchronen Modus ändern möchte, aktiviert der
Memory-Controller 305 die PLL 314 und kann weiterhin
asynchron mit dem Registerspeichermodul 306 kommunizieren,
ohne zu warten, bis die PLL 314 einrastet. Wenn bei einer
erfindungsgemäßen Ausführungsform die
PLL 314 eingerastet ist, sendet der Memory-Controller 305 ein Befehlssignal über
die Befehlsleitung 144 an das Registerspeichermodul 311,
um die PLL 314 in normalen Modus zu versetzen, d. h. Aktivieren
der PLL 314, Sperren des Umgehens des Ausgabetaktes der
PLL 314 als den Eingabetakt des DRAM 390 und Setzen des
Ausgabetakts der PLL 314 als den Eingabetakt an die Speichereinheit 390.
Wenn bei einer weiteren erfindungsgemäßen Ausführungsform
die PLL 314 eingerastet ist, versetzt die Decodierlogik 320 die PLL 314 in
normalen Modus ohne irgendeinen Befehl von dem Memory-Controller 305 zu
empfangen, d. h. Aktivieren des Freigabesignals 322, und
nachdem die PLL 314 eingerastet ist, Deaktivieren des Bypasssignals 324.
-
3B veranschaulicht
ein Blockdiagramm 340 eines registrierten Speichermoduls 308 in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform.
Der Einfachheit halber und zur besseren Veranschaulichung zeigt 3B die
Logik für nur eines der Paare von Differenztakten CLK 140 und CLK# 142.
Für einen Fachmann ist es sofort verständlich,
wie die hierin offenbarten erfindungsgemäßen Ausführungsformen
sowohl auf CLK 140 als auch CLK# 142 angewandt
werden, und dies soll hierin nicht erörtert werden.
-
Das
registrierte Speichermodul 308 weist ein Speicherregister 312 und
eine Speichereinheit 390 auf. Das Speicherregister 312 verfügt über
die gleiche PLL 314, Multiplexer 318 und Decodierlogik 320 wie
bei Speicherregister 311, und ihre Operationen und Funktionen
sollen hierin nicht wiederholt werden. Bei einer erfindungsgemäßen
Ausführungsform weist das Speicherregister 312 Logik
auf, um ein Freigeben oder Sperren der PLL 314 durch Regeln der
Energie an die PLL 314 zu erleichtern. Bei einer erfindungsgemäßen
Ausführungsform beispielsweise verfügt das Speicherregister 312 über
ein Leistungsgatter 317, das die Hauptenergieversorgung (Analog
Voltage Drain Drain, AVDD 315) an die PLL 314 regelt.
Bei einer erfindungsgemäßen Ausführungsform
ist das Leistungsgatter 317 ein Feldeffekttransistor (field
effect transistor, FET).
-
Bei
einer erfindungsgemäßen Ausführungsform
kann der Memory-Controller 305 ein Befehlssignal über
die Befehlsleitung 144 an das registrierte Speichermodul 308 senden,
um die PLL 314 freizugeben oder zu sperren. Die Decodierlogik 320 in
dem Speicherregister 312 empfängt das Befehlssignal und
erzeugt ein entsprechendes Freigabesignal 322, um das Leistungsgatter 317 freizugeben
oder zu sperren, nachdem das empfangene Befehlssignal decodiert
ist. Wenn beispielsweise die Decodierlogik 320 decodiert,
dass das empfangene Befehlssignal die PLL 314 freigeben
oder aktivieren soll, aktiviert die Decodierlogik 320 das
Freigabesignal 322, um das Leistungsgatter 317 anzuschalten,
um es der AVDD 315 zu ermöglichen, die PLL 314 hochzufahren.
-
Wenn
gleichermaßen die Decodierlogik 320 decodiert,
dass das empfangene Befehlssignal die PLL 314 sperren oder
deaktivieren soll, deaktiviert die Decodierlogik 320 das
Freigabesignal 322, um das Leistungsgatter 317 abzuschalten,
um die AVDD 315 davon abzuhalten oder zu stoppen, die PLL 314 hochzufahren.
Durch Sperren der PLL 314, indem ihre Energie abgeschaltet
wird, wird der Energieverbrauch der PLL 314 auf null verringert.
-
Wenn
bei einer erfindungsgemäßen Ausführungsform
die PLL 314 gesperrt ist, kann die Frequenz der Eingabedifferenztakte
CLK 140/CLK# 142 in einem einzigen Maschinenzyklus
geändert werden, ohne auf den Wiedererwerb der PLL 314 bei
der neuen Frequenz zu warten, d. h., man muss nicht darauf warten,
dass die PLL 314 einrastet. Das registrierte Speichermodul 308 kann
momentane Änderungen bei der Eingabetaktfrequenz nachverfolgen, wenn
es in einem asynchronen Modus arbeitet, einschließlich,
wenn die Takte für einige Zeitspannen gestoppt werden.
-
3C veranschaulicht
ein Blockdiagramm 360 eines registrierten Speichermoduls 310 in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform.
Der Einfachheit halber und zur besseren Veranschaulichung zeigt 3C die
Logik für nur eines der Paare von Differenztakten CLK 140 und CLK# 142.
Für einen Fachmann ist es sofort verständlich,
wie die hierin offenbarten erfindungsgemäßen Ausführungsformen
sowohl auf CLK 140 als auch CLK# 142 angewandt
werden, und dies soll hierin nicht erörtert werden.
-
Bei
einer erfindungsgemäßen Ausführungsform
verfügt das registrierte Speichermodul 310 über ein
Leistungsgatter 318, das sich extern zu dem Speicherregister 313 befindet.
Das Speicherregister 313 verfügt über
die gleiche PLL 314, Multiplexer 318 und Decodierlogik 320 wie
bei Speicherregister 311, und ihre Operationen und Funktionen
sollen hierin nicht wiederholt werden. Das Freigabesignal 322 der Decodierlogik 320 ist
mit dem Gatteranschluss des externen Leistungsgatters 318 verbunden.
Die in 3B und 3C gezeigten
Leistungsgatter 317 und 318 sollen als nicht einschränkend
verstanden werden. Für einen Fachmann ist es sofort verständlich,
dass andere alternative Logik oder Schaltung implementiert werden
kann, um die AVDD 315 an die PLL 314 zu regeln,
ohne die erfindungsgemäßen Arbeiten zu beeinträchtigen.
-
4 veranschaulicht
ein Blockdiagramm 400 einer Speichereinheit 390 in Übereinstimmung mit
einer erfindungsgemäßen Ausführungsform.
Der Einfachheit halber und zur besseren Veranschaulichung zeigt 4 die
Logik für nur eines der Paare von Differenztakten CLK 402 und
CLK# 404. Für einen Fachmann ist es sofort verständlich,
wie die hierin offenbarten erfindungsgemäßen Ausführungsformen
sowohl auf CLK 402 als auch CLK# 404 angewandt
werden, und dies soll hierin nicht erörtert werden. Das
Blockdiagramm 400 zeigt eine DLL 410 in der Speichereinheit 390.
Der Einfachheit halber und zur besseren Veranschaulichung sind die
anderen Module oder Elemente, wie z. B. die Speicherbanken der Speichereinheit 390 nicht
in 4 gezeigt.
-
Bei
einer erfindungsgemäßen Ausführungsform
verfügt die Speichereinheit 390 über
Logik, um ein Eintreten in oder Verlassen eines asynchronen Betriebsmodus
zu erleichtern, ohne in einen Selbstauffrischungs- oder Vorlade-Herunterfahr-Betriebsmodus
einzutreten oder ihn zu verlassen. Bei einer erfindungsgemäßen
Ausführungsform beispielsweise verfügt die Speichereinheit 390 über
ein UND-Gatter 420, um die Verbindung zwischen den Eingabedifferenztakten
CLK 402/CLK# 404 und der DLL 410 freizugeben
oder zu sperren. Bei weiteren erfindungsgemäßen
Ausführungsformen können andere Logikarten, wie
z. B. ein Nicht-UND-(Not AND, NAND-)Gatter, verwendet werden. Für
einen Fachmann ist es verständlich, wie eine alternative
Logik verwendet wird, um die Verbindung zwischen den Eingabedifferenztakten
CLK 402/CLK# 404 und der DLL 410 freizugeben
oder zu sperren, ohne die erfindungsgemäßen Arbeiten
zu beeinträchtigen.
-
Das
UND-Gatter 420 weist ein Eingabesignal auf, das mit dem
Freigabesignal 450 von einer Decodierlogik 440 verbunden
ist. Bei einer erfindungsgemäßen Ausführungsform
empfängt die Speichereinheit 390 ein Befehlssignal über
Befehlsleitung 406, um die DLL 410 freizugeben
oder zu sperren. Die Decodierlogik 440 in der Speichereinheit 390 empfängt
das Befehlssignal und erzeugt ein entsprechendes Freigabesignal 450,
um das UND-Gatter 420 freizugeben oder zu sperren, nachdem
das empfangene Befehlssignal decodiert ist. Wenn beispielsweise
die Decodierlogik 440 decodiert, dass das empfangene Befehlssignal
die DLL 410 freigeben oder aktivieren soll, aktiviert die
Decodierlogik 440 das Freigabesignal 450, um es
den Eingabedifferenztakten CLK 402/CLK# 404 zu
ermöglichen, das UND-Gatter 420 zu passieren,
um die DLL 410 zu erreichen.
-
Wenn
gleichermaßen die Decodierlogik 440 decodiert,
dass das empfangene Befehlssignal die DLL 410 sperren oder
deaktivieren soll, deaktiviert die Decodierlogik 440 das
Freigabesignal 450, um die Eingabedifferenztakte CLK 402/CLK# 404 davon abzuhalten
oder zu stoppen, das UND-Gatter 420 zu passieren, um die
DLL 410 zu erreichen. Wenn der DLL 410 kein Eingabetakt
bereitgestellt wird, wird die DLL 410 gesperrt oder deaktiviert.
Durch ein Sperren der DLL 410 wird der Energieverbrauch
der DLL 410 auf statischen Energieverbrauch verringert.
-
Bei
einer erfindungsgemäßen Ausführungsform
weist die Speichereinheit 390 Logik auf, um den/die Ausgabetakt(e)
der DLL 410 als den Eingabetakt an den internen Taktbaum
der Speichereinheit 390 zu umgehen. Bei einer erfindungsgemäßen
Ausführungsform beispielsweise hat die Speichereinheit 390 einen
Multiplexer 430, um zwischen den Eingabedifferenztakten
CLK 402/CLK# 404 und den Ausgabedifferenztakten
der DLL 410 als die Eingabedifferenztakte CLK 462/CLK# 464 an
den internen Taktbaum 480 der Speichereinheit 390 zu
wählen. Die Decodierlogik 440 erzeugt ein Bypasssignal 452 an den
Multiplexer 430, um zwischen den Eingabedifferenztakten
CLK 402/CLK# 404 und den Ausgabedifferenztakten
der DLL 410 als die Eingabedifferenztakte CLK 462/CLK# 464 an
den internen Taktbaum 480 der Speichereinheit 390 zu
wählen.
-
Bei
einer erfindungsgemäßen Ausführungsform
empfängt die Speichereinheit 390 ein Befehlssignal über
Befehlsleitung 406, um die DLL 410 in Bypass-
oder normalen Modus zu versetzen. Die Decodierlogik 440 in
der Speichereinheit 390 empfängt das Befehlssignal
und erzeugt ein entsprechendes Freigabesignal 450 und/oder
Bypasssignal 452, um die DLL 410 in Bypass- oder
normalen Modus zu versetzen, nachdem das empfangene Befehlssignal
decodiert ist. Wenn beispielsweise die Decodierlogik 440 decodiert,
dass das empfangene Befehlssignal die DLL 410 in Bypassmodus
versetzen soll, aktiviert die Decodierlogik 440 das Bypasssignal 452 an
den Multiplexer 430, um die Eingabedifferenztakte CLK 402/CLK# 404 als
die Eingabedifferenztakte CLK 462/CLK# 464 an
den internen Taktbaum 480 der Speichereinheit 390 zu
wählen. Die Decodierlogik 440 kann optional das
Freigabesignal 450 deaktivieren, um die DLL 410 zu
deaktivieren.
-
Wenn
gleichermaßen die Decodierlogik 440 decodiert,
dass das empfangene Befehlssignal die DLL 410 in normalen
Modus versetzen soll, aktiviert die Decodierlogik 440 das
Freigabesignal 450, um die DLL 410 zu aktivieren.
Nachdem die DLL eingerastet ist, deaktiviert die Decodierlogik 440 das
Bypasssignal 452 an den Multiplexer 430, um die
Ausgabedifferenztakte der DLL 410 als die Eingabedifferenztakte
CLK 462/CLK# 464 an den internen Taktbaum 480 der
Speichereinheit 390 auszuwählen. Der JEDEC DDR3
SDRAM-Standard spezifiziert, dass ein DDR3 SDRAM in einen Selbstauffrischungs-
oder Vorlade-Herunterfahr-Modus eintreten muss, bevor er in einen
asynchronen Modus eintritt und umgekehrt. Die Speichereinheit 390 kann
bei einer erfindungsgemäßen Ausführungsform
in einen asynchronen Betriebsmodus eintreten oder ihn verlassen, ohne
in einen Selbstauffrischungs- oder Vorlade-Herunterfahr-Betriebsmodus
einzutreten oder ihn zu verlassen. Dies ist so, da die Logik in
der Speichereinheit 390 es der DLL 410 ermöglicht,
umgangen zu werden, und die Speichereinheit 390 in einem
asynchronen Modus arbeitet, wenn die DLL 410 umgangen wird.
-
5A veranschaulicht
ein Ablaufdiagramm 500 zum Umschalten des Betriebsmodus
einer Taktschaltung von einem normalen zu einem Bypassmodus in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform.
Zur besseren Veranschaulichung wird 5A mit
Bezug auf 3A erörtert. Für
einen Fachmann ist es sofort verständlich, dass die Sequenz
zum Übergang des Betriebsmodus der Taktschaltung von einem
normalen zu einem Bypassmodus für andere hierin offenbarte
erfindungsgemäße Ausführungsformen gilt.
-
Bei
einem normalen Betriebsmodus der PLL 314 ist das Bypasssignal 324 deaktiviert,
d. h., der Multiplexer 318 wählt die Ausgabedifferenztakte
der PLL 314 als die Eingabedifferenztakte CLK 350/CLK# 352 an
die Speichereinheit 390 aus.
-
Zusätzlich
wird das Freigabesignal 322 aktiviert, und die PLL 314 wird
aktiviert oder freigegeben.
-
In
Schritt 502 aktiviert die Decodierlogik 320 das
Bypasssignal 324. Bei einer erfindungsgemäßen Ausführungsform
beispielsweise sendet der Memory-Controller 305 ein Befehlssignal über
die Befehlsleitung 144 an das registrierte Speichermodul 306, um
den/die Ausgabetakt(e) der PLL 314 an die Speichereinheit 390 zu
umgehen. Die Decodierlogik 320 decodiert das empfangene
Befehlssignal und aktiviert das Bypasssignal 324 an den
Multiplexer 318, um die Eingabedifferenztakte CLK 140/CLK# 142 als den
Eingabetakt an die Speichereinheit 390 auszuwählen.
Wenn Schritt 502 ausgeführt ist, kann der Memory-Controller 305 das
registrierte Speichermodul 306 in einem asynchronen Modus
betreiben.
-
In
Schritt 504 deaktiviert die Decodierlogik das Freigabesignal 322.
Bei einer erfindungsgemäßen Ausführungsform
beispielsweise sendet der Memory-Controller 305 ein Befehlssignal über
die Befehlsleitung 144 an das registrierte Speichermodul 306,
um die PLL 314 zu sperren. Die Decodierlogik 320 decodiert
den Befehl 144 und deaktiviert das Freigabesignal 322 an
das UND-Gatter 316, um zu verhindern, dass die Eingabedifferenztakte
CLK 140/CLK# 142 die PLL 314 erreichen.
Wenn Schritt 504 ausgeführt ist, ist die PLL 314 gesperrt
oder deaktiviert, da kein(e) Eingabetakt(e) an die PLL 314 vorhanden
ist/sind.
-
Bei
einer erfindungsgemäßen Ausführungsform
sendet der Memory-Controller 305 ein einziges Befehlssignal,
um das registrierte Speichermodul 306 vom Normal- zum Bypassmodus
umzuschalten, und sperrt die PLL 314, d. h., es ist nicht
erforderlich, einen Befehl zu senden, um die Ausgabetakte der PLL 314 als
die Eingabetakte an die Speichereinheit 390 zu umgehen,
und einen weiteren Befehl zu senden, um die PLL 314 zu
sperren. Bei einer erfindungsgemäßen Ausführungsform
beispielsweise sendet der Memory-Controller 305 ein Befehlssignal an
das registrierte Speichermodul 306, um den Betriebsmodus
des registrierten Speichermoduls 306 vom Normal- in den
Bypassmodus umzuschalten. Die Decodierlogik 320 decodiert
das Befehlssignal und bestimmt, dass in dem Befehlssignal angezeigt wird,
dass das registrierte Speichermodul 306 vom Normal- zum
Bypassmodus umgeschaltet und die PLL 314 gesperrt werden
soll. Die Decodierlogik 320 führt die Schritte
von 502 und 504 basierend auf der Anzeige aus.
-
Bei
einer erfindungsgemäßen Ausführungsform
ist die Anzeige ein Registerbit in einem Befehlsregister, das von
der Decodierlogik 320 gelesen wird. Für einen
Fachmann ist es sofort verständlich, dass andere Verfahren
von dem Memory-Controller 305 verwendet werden können,
um das registrierte Speichermodul 306 zu informieren, seinen
Betrieb vom Normal- in den Bypassmodus umzuschalten und die PLL 314 zu
sperren, und diese anderen Verfahren können verwendet werden,
ohne die erfindungsgemäßen Arbeiten zu beeinträchtigen.
-
5B veranschaulicht
ein Ablaufdiagramm 550 zum Umschalten des Betriebsmodus
einer Taktschaltung von Bypass- zu Normalmodus in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform.
Zur besseren Veranschaulichung wird 5A mit
Bezug auf 4 erörtert. Für
einen Fachmann ist es sofort verständlich, dass die Sequenz zum Übergang
des Betriebsmodus der Taktschaltung von einem Bypass- zu einem normalen
Modus für andere hierin offenbarte erfindungsgemäße
Ausführungsformen gilt.
-
Bei
einem Bypass-Betriebsmodus der DLL 410, wird das Bypasssignal 452 aktiviert,
d. h. der Multiplexer 430 wählt die Eingabedifferenztakte
CLK 402/CLK# 404 der DLL 410 als die
Eingabedifferenztakte CLK 462/CLK# 464 an den
internen Taktbaum 480 der Speichereinheit 390 aus.
Die DLL 410 kann bei dem Bypass-Betriebsmodus aktiviert
oder deaktiviert sein.
-
In
Schritt 552 aktiviert die Decodierlogik 440 das
Freigabesignal 450, wenn das Freigabesignal 450 nicht
aktiviert ist. Bei einer erfindungsgemäßen Ausführungsform
beispielsweise empfängt die Decodierlogik 450 ein
Befehlssignal über die Befehlsleitung 406, um
die DLL 410 zu aktivieren. Die Decodierlogik 440 decodiert
das empfangene Befehlssignal und aktiviert das Freigabesignal 450 an
das UND-Gatter 420, um es den Eingabedifferenztakten CLK 402/CLK# 404 zu
ermöglichen, die DLL 410 zu erreichen.
-
In
Schritt 554 wartet der Ablauf 550 darauf, dass
die DLL 410 ein Einrastsignal erhält. Bei einer erfindungsgemäßen
Ausführungsform wird das Einrastsignal an die Decodierlogik 440 gesendet.
Bei einer weiteren erfindungsgemäßen Ausführungsform wird
das Einrastsignal an ein Speicherregister oder einen Memory-Controller
gesendet, das/der mit der Speichereinheit 390 gekoppelt
ist. In Schritt 556 prüft der Ablauf 550,
ob die DLL 410 ein Einrastsignal erhalten hat, d. h., die
DLL 410 ist in die Eingabedifferenztakte CLK 402/CLK# 404 eingerastet.
Wenn nicht, geht der Ablauf 550 zu dem Schritt 554 zurück. Wenn
ja, deaktiviert die Decodierlogik 440 das Bypasssignal 452 und
der Ablauf endet. Bei einer erfindungsgemäßen
Ausführungsform beispielsweise empfängt die Decodierlogik 440 das
Einrastsignal und deaktiviert das Bypasssignal 452 an Multiplexer 430,
um die Ausgabedifferenztakte der DLL 410 als die Eingabedifferenztakte
CLK 462/CLK# 464 an den internen Taktbaum 480 der
Speichereinheit 390 auszuwählen. Bei einer weiteren
erfindungsgemäßen Ausführungsform empfängt
ein Memory-Controller das Einrastsignal und sendet ein Befehlssignal über die
Befehlsleitung 406 an die Speichereinheit 390, um
den Betrieb der DLL 410 in normalen Modus zu ändern.
Die Decodierlogik empfängt das Befehlssignal und deaktiviert
das Bypasssignal 452 an den Multiplexer 430.
-
5C veranschaulicht
ein Ablaufdiagramm 580 zum Umschalten des Betriebsmodus
einer Taktschaltung von Bypass- zu Normalmodus in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform.
Zur besseren Veranschaulichung wird 5A mit
Bezug auf 4 erörtert. Für
einen Fachmann ist es sofort verständlich, dass die Sequenz zum Übergang
des Betriebsmodus der Taktschaltung von einem Bypass- zu einem normalen
Modus für andere hierin offenbarte erfindungsgemäße
Ausführungsformen gilt.
-
Bei
einem Bypass-Betriebsmodus der DLL 410 wird das Bypasssignal 452 aktiviert,
d. h., der Multiplexer 430 wählt die Eingabedifferenztakte
CLK 402/CLK# 404 der DLL 410 als die
Eingabedifferenztakte CLK 462/CLK# 464 an den
internen Taktbaum 480 der Speichereinheit 390 aus.
Die DLL 410 kann bei dem Bypass-Betriebsmodus aktiviert
oder deaktiviert sein.
-
In
Schritt 582 aktiviert die Decodierlogik 440 das
Freigabesignal 450, wenn das Freigabesignal 450 nicht
aktiviert ist. Bei einer erfindungsgemäßen Ausführungsform
beispielsweise empfängt die Decodierlogik 450 ein
Befehlssignal über die Befehlsleitung 406, um
die DLL 410 zu aktivieren. Die Decodierlogik 440 decodiert
das empfangene Befehlssignal und aktiviert das Freigabesignal 450 an
das UND-Gatter 420, um es den Eingabedifferenztakten CLK 402/CLK# 404 zu
ermöglichen, die DLL 410 zu erreichen.
-
In
Schritt 584 wartet der Ablauf 550 auf eine Einrastzeit
für die PLL/DLL. Bei einer erfindungsgemäßen
Ausführungsform beispielsweise wartet der mit der DLL 410 gekoppelte
Memory-Controller auf 512 Zyklen oder zählt 512 Zyklen herunter,
nachdem das Freigabesignal 450 aktiviert ist. Bei einer
weiteren erfindungsgemäßen Ausführungsform
zählt der mit der PLL 410 gekoppelte Memory-Controller sechs
Mikrosekunden herunter, nachdem das Freigabesignal 450 aktiviert
ist. Die Einrastzeit für die PLL/DLL ist so gesetzt, dass
die PLL/DLL ausreichend Zeit hat, ein Einrastsignal zu erhalten.
Bei einer erfindungsgemäßen Ausführungsform
beispielsweise wird die Einrastzeit für die PLL/DLL auf
die maximal erforderliche Zeit gesetzt, nachdem Faktoren wie z.
B. Betriebstemperatur, Prozessecken und dergleichen für
eine bestimmte PLL/DLL in Betracht gezogen werden, um ein Einrastsignal
zu erhalten. Für einen Fachmann ist es sofort verständlich,
wie andere Verfahren zum Setzen der Einrastzeit für die PLL/DLL
verwendet werden, ohne die erfindungsgemäßen Arbeiten
zu beeinträchtigen.
-
In
Schritt 588 deaktiviert Decodierlogik 440 das
Bypasssignal 452 und der Ablauf endet. Bei einer erfindungsgemäßen
Ausführungsform beispielsweise empfängt die Decodierlogik 440 ein
Befehlssignal über die Befehlsleitung 406, um
das Bypasssignal 452 an den Multiplexer 430 zu
deaktivieren. Wenn das Bypasssignal 452 deaktiviert ist,
werden die Ausgabedifferenztakte der DLL 410 als die Eingabedifferenztakte
CLK 462/CLK# 464 an den internen Taktbaum 480 der
Speichereinheit 390 gesetzt.
-
6A veranschaulicht
ein Taktdiagramm 600 des Standes der Technik einer Schreiboperation auf
ein registriertes Speichermodul 120 des Standes der Technik.
Zur besseren Veranschaulichung wird 6A mit
Bezug auf 1 erörtert. Die in 6A veranschaulichte
Schreiboperation ist zumindest teilweise konform mit dem JEDEC DDR3
SDRAM-Standard. Der Memory-Controller 110 sendet Differenztakte
CLK 140 und CLK# 142 an die PLL 124.
Das Speicherregister 122 tastet das Befehlssignal ab oder
liest es über die Befehlsleitung 144 aus dem Memory-Controller 110,
wenn die positive Flanke von CLK 140 die negative Flanke
von CLK# 142 kreuzt. Der Memory-Controller 110 sendet,
wie in 6A gezeigt, ein Column-Access-Strobe-(CAS)-Signal über
die Befehlsleitung 144, wenn die positive Flanke von CLK 140 die
negative Flanke von CLK# 142 kreuzt.
-
Das
Speicherregister 122 puffert das über die Befehlsleitung 144 empfangene
CAS-Signal für einen Taktzyklus und sendet das gepufferte
CAS-Signal über die Befehlsleitung 154 an den
DRAM 126. Das über die Befehlsleitung 154 an
den DRAM 126 gesendete CAS-Signal ist in 6A als
ein Taktzyklus nach dem durch den Memory-Controller 110 über die
Befehlsleitung 144 gesendete CAS-Signal veranschaulicht.
Die kritische Verzögerung 605 beginnt ab dem Zeitpunkt,
wenn das gepufferte CAS-Signal über den Befehl 154 an
den DRAM 126 zu der Zeit 610 gesendet wird. Die
kritische Verzögerung 605 wird durch die PLL 124 verstärkt
und ist unveränderlich. Der Memory-Controller 110 darf
keinerlei Daten auf Datenleitung 160 während der
kritischen Verzögerung 605 senden. Die Daten auf
der Datenleitung 160 werden bei jeder Kreuzung von CLK 140 und
CLK# 142 gelesen oder abgetastet. Der Memory-Controller 110 hat
einen Taktzyklus nach der Zeit 610, um Daten auf der Datenleitung 160 an
den DRAM 126 zu senden. Die Zeit 620 zeigt den
spätesten Zeitpunkt, wann die Schreiboperation beginnen
soll.
-
6B veranschaulicht
ein Taktdiagramm 650 einer Schreiboperation auf ein registriertes
Speichermodul 306 im Bypassmodus bei einer erfindungsgemäßen
Ausführungsform. Zur besseren Veranschaulichung wird 6B mit
Bezug auf 3A erörtert. Das Taktdiagramm
von 6B gilt ebenfalls für weitere hierin
offenbarte erfindungsgemäße Ausführungsformen.
Das registrierte Speichermodul 306 wird in Bypassmodus
versetzt, d. h. die Differenztakte CLK 140 und CLK# 142 werden
als die Eingabedifferenztakte CLK 350 und CLK# 352 an
den DRAM 390 gesetzt. Wenn die PLL 314 umgangen
wird, ist die kritische Verzögerung 605, die von
der Speichereinheit 390 erwartet wird, bei einer konstanten
Verzögerung nicht länger fix. Das CAS-Signal,
das von der Speichereinheit 390 über die Befehlsleitung 354 empfangen
wird, kann eine variable Verzögerung (veranschaulicht durch
mehrere CAS-Signale, die gestrichelt gezeigt sind) haben, nachdem
das CAS-Signal durch den Memory-Controller 305 über die
Befehlsleitung 144 gesendet wird.
-
Wenn
die Speichereinheit 390 der gleichen Taktanforderung von 600 folgt,
kann es sein, dass sie die Daten nicht in der richtigen Reihenfolge
sieht. Um daher dieses Problem zu überwinden, ermöglicht
bei einer erfindungsgemäßen Ausführungsform
die Schreiboperation des registrierten Speichermoduls 306 und
des Memory-Controllers 305 einer variablen Anzahl an Taktzyklen
abzulaufen, bevor Daten während einer Schreiboperation
auf die Speichereinheit 390 an die Speichereinheit 390 gesendet
werden. Dadurch wird es der Speichereinheit 390 ermöglicht, toleranter
gegenüber dem Eintreffen der Daten auf der Datenleitung 160 zu
sein.
-
7 veranschaulicht
einen Vergleich zwischen einer Umschaltsequenz 710 eines
registrierten Speichermoduls 120 des Standes der Technik
und einer Umschaltsequenz 750 eines registrierten Speichermoduls 306 in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform.
Zur besseren Veranschaulichung wird Umschaltsequenz 710 mit
Bezug auf 1 erörtert und Umschaltsequenz 750 wird
mit Bezug auf 3A erörtert. Für
einen Fachmann ist es sofort verständlich, dass die Umschaltsequenz 750 auch
für andere hierin offenbarte erfindungsgemäße
Ausführungsformen gilt.
-
Mit
Bezug auf 1 und 7 kann die
PLL 124 des registrierten Speichermoduls 120 des
Standes der Technik in Umschaltsequenz 710 gesperrt werden,
d. h. Takte CLK 140 und CLK# 142 werden beide
niedrig oder hoch betrieben, oder können bei Ereignis 712 auf
einer nicht standardisierten Betriebsfrequenz laufen. Beispielsweise
spezifiziert der JEDEC DDR3 SDRAM-Standard, dass die normale Betriebsfrequenz
eines registrierten Speichermoduls 120 des Standes der
Technik 400 Megahertz (Mhz), 533 Mhz oder 667 Mhz beträgt.
Wie in dem JEDEC DD3 SDRAM-Standard spezifiziert, kann die PLL 124 ebenfalls
in eine nicht standardisierte Frequenz innerhalb eines minimalen
bis zu einem maximalen Bereich, welcher für eine Registerklasse
zwischen 300 MHz und 670 MHz liegt, eingerastet sein. Bei Zeit 702 schaltet
der Memory-Controller 110 das registrierte Speichermodul 120 des
Standes der Technik in synchronen Modus und die PLL 124 beginnt
damit, in die Eingabedifferenztakte CLK 140/CLK# 142 einzurasten.
Das registrierte Speichermodul 120 des Standes der Technik
ist nicht betriebsfähig, wenn die PLL 124 bei
Ereignis 714 einrastet. Die Zeit, die erforderlich ist,
um die PLL 124 einzurasten, variiert und ist als sechs
Mikrosekunden bei Umschaltsequenz 710 veranschaulicht.
Nachdem die PLL 124 bei Zeit 704 eingerastet ist,
arbeitet das Speichermodul 120 des Standes der Technik
bei Ereignis 716 synchron im Hochleistungsmodus. Bei Ereignis 718 schaltet
der Memory-Controller 110 das registrierte Speichermodul 120 in
einen asynchronen Modus. Es gibt keine Blackout-Periode, wenn von
synchronen in asynchronen Modus umgeschaltet wird. Das registrierte Speichermodul 120 des
Standes der Technik ist nicht betriebsfähig, wenn es von
asynchronen in synchronen Modus umschaltet. Dies verringert die
Effizienz des registrierten Speichermoduls 120 des Standes der
Technik.
-
Mit
Bezug auf 3A und 7 in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
arbeitet das registrierte Speichermodul 306 bei Umschaltsequenz 750 asynchron
im Niedrigleistungsmodus bei Ereignis 752. Bei Ereignis 752 ist
die PLL 314 deaktiviert und im Bypassmodus, d. h. Freigabesignal 322 ist
deaktiviert und Bypasssignal 324 ist aktiviert. Der Memory-Controller 305 betreibt das
registrierte Speichermodul 306 bei Ereignis 752 asynchron.
Bei Zeit 702 schaltet der Memo-Controller 305 das
registrierte Speichermodul 306 in einen synchronen Modus
und die PLL 314 beginnt in die Eingabedifferenztakte CLK 140/CLK# 142 einzurasten,
wenn die Decodierlogik 320 das Freigabesignal 322 aktiviert.
Das registrierte Speichermodul 306 kann in asynchronem
Modus betrieben werden, wenn die PLL 314 bei Ereignis 754 einrastet.
Nachdem die PLL 314 bei Zeit 704 eingerastet ist,
arbeitet das registrierte Speichermodul 306 synchron im Hochleistungsmodus
bei Ereignis 756, wenn die Decodierlogik 320 das
Bypasssignal 324 deaktiviert.
-
Bei
Ereignis 758 schaltet der Memory-Controller 305 das
registrierte Speichermodul 306 in einen asynchronen Modus,
wenn die Decodierlogik 320 das Bypasssignal 324 aktiviert
und das Freigabesignal 322 deaktiviert. Bei einer erfindungsgemäßen Ausführungsform
bietet das registrierte Speichermodul 306 gegenüber
dem registrierten Speichermodul 120 des Standes der Technik
Vorteile, da es keine Blackout-Perioden gibt, wenn von einem synchronen in
einen asynchronen Modus umgeschaltet wird. Dies erhöht
die Effizienz des registrierten Speichermoduls 306. Das
Ereignis 760 zeigt die Mindestzeit von 512 Zyklen, die
von der DLL in der Speichereinheit 390 benötigt
wird, um in ihre Eingabetakte einzurasten.
-
8 veranschaulicht
einen Vergleich zwischen einer Umschaltsequenz 810 eines
DRAM 126 des Standes der Technik und einer Umschaltsequenz 850 einer
Speichereinheit 390 in Übereinstimmung mit einer
erfindungsgemäßen Ausführungsform. Zur besseren
Veranschaulichung wird die Umschaltsequenz 810 mit Bezug
auf 1 erörtert, und Umschaltsequenz 850 wird
mit Bezug auf 3A und 4 erörtert.
Für einen Fachmann ist es sofort verständlich,
dass die Umschaltsequenz 850 für andere hierin
offenbarte erfindungsgemäße Ausführungsformen
gilt.
-
Mit
Bezug auf 1 und 8 arbeitet
der DRAM 126 des Standes der Technik bei der Umschaltsequenz 810 in
einem Selbstauffrischungs- oder Vorlade-Herunterfahr-Modus 812.
Der DRAM 126 des Standes der Technik entspricht zumindest teilweise
dem JEDEC DDR3 SDRAM-Standard, und in dem Selbstauffrischungs- oder
Vorlade-Herunterfahr-Modus 812 ist die DLL in dem DRAM 126 des Standes
der Technik abgeschaltet. Bei Zeit 802 schaltet der Memory-Controller 110 den
DRAM 126 des Standes der Technik in einen synchronen Modus und
die DLL beginnt in die Eingabedifferenztakte CLK 150/CLK# 152 einzurasten.
Der Memory-Controller 110 ist nicht in der Lage, asynchrone
Leseoperationen auf den DRAM 126 des Standes der Technik auszuführen
und kann lediglich asynchrone Schreiboperationen auf den DRAM 126 des
Standes der Technik ausführen, wenn die DLL bei Ereignis 814 einrastet.
Die Mindestzeit, die erforderlich ist, um die DLL 124 einzurasten,
ist gemäß dem JEDEC DDR3 SDRAM-Standard als 512
Zyklen spezifiziert, und mehr als 512 Zyklen können benötigt
werden, um die DLL einzurasten. Nachdem die DLL bei Zeit 804 eingerastet
ist, arbeitet der DRAM 126 des Standes der Technik bei
Ereignis 816 synchron. Es gibt bei Ereignis 814 eine
Zeitspanne, in der der DRAM 126 des Standes der Technik
nicht asynchron gelesen werden kann, wann immer der DRAM 126 des
Standes der Technik von Selbstauffrischungs- oder Vorlade-Herunterfahr-Modus
in synchronen Modus umschaltet. Dies verringert die Effizienz des
DRAM 126 des Standes der Technik.
-
Mit
Bezug auf 3A, 4 und 8 in Übereinstimmung
mit einer erfindungsgemäßen Ausführungsform
arbeitet die Speichereinheit 390 bei Umschaltsequenz 850 in
einem Selbstauffrischungs- oder Vorlade-Herunterfahr-Modus 852.
Die DLL 410 in der Speichereinheit 390 wird in
dem Selbstauffrischungs- oder Vorlade-Herunterfahr-Modus von der Decodierlogik 440 abgeschaltet,
die das Freigabesignal 450 deaktiviert. Bei Zeit 802 schaltet
der Memory-Controller 305 die Speichereinheit 390 in
synchronen Modus und die DLL 410 beginnt in die Eingabedifferenztakte
CLK 350/CLK# 352 einzurasten, wenn die Decodierlogik 440 das
Freigabesignal 450 aktiviert. Der Memory-Controller 305 ist
in der Lage, asynchrone Lese- und Schreiboperationen auf die Speichereinheit 390 auszuführen,
wenn die Speichereinheit 390 in Bypassmodus ist, d. h.,
das Bypasssignal 452 ist aktiviert. Nachdem die DLL 410 bei
Zeit 804 eingerastet ist, arbeitet die Speichereinheit 390 bei
Ereignis 856 synchron, wenn die Decodierlogik 450 das
Bypasssignal 452 deaktiviert. Die Speichereinheit 390 kann
asynchron gelesen und geschrieben werden, wann immer die Speichereinheit 390 von
Selbstauffrischungs- oder Vorlade-Herunterfahr-Modus in synchronen
Modus umschaltet. Zusätzlich besteht ebenfalls kein Bedarf,
in einen Selbstauffrischungs- oder Vorlade-Herunterfahr-Modus des
Speichers 390 einzutreten, um die DLL 410 abzuschalten.
Dies erhöht die Effizienz des DRAM 390.
-
Obwohl
Beispiele der Ausführungsformen des offenbarten Gegenstands
beschrieben sind, ist es für einen Fachmann sofort verständlich,
dass viele andere Verfahren zum Implementieren des offenbarten Gegenstands
alternativ verwendet werden können. Bei der vorstehenden
Beschreibung sind verschiedene Ausführungsformen des offenbarten
Gegenstands beschrieben worden. Zum Zwecke der Erklärung
wurden spezifische Anzahlen, Systeme und Konfigurationen dargelegt,
um ein gründliches Verständnis des Gegenstands
bereitzustellen. Es ist jedoch für einen Fachmann, der
den Vorteil dieser Offenbarung hat, selbstverständlich,
dass der Gegenstand ohne die spezifischen Details umgesetzt werden
kann. In anderen Fällen wurden wohlbekannte Merkmale, Komponenten
oder Module weggelassen, vereinfacht, kombiniert oder aufgeteilt,
um den offenbarten Gegenstand nicht zu verschleiern.
-
Der
hierin verwendete Begriff „arbeitet” bedeutet,
dass das Gerät, System, Protokoll etc. in der Lage ist
oder dazu ausgelegt ist, für seine gewünschte
Funktionalität zu arbeiten, wenn sich das Gerät oder
System in einem ausgeschalteten Zustand befindet. Verschiedene Ausführungsformen
des offenbarten Gegenstands können in Hardware, Firmware, Software
oder Kombinationen davon implementiert sein, und können
unter Bezugnahme auf oder in Verbindung mit Programmcode, wie z.
B. Befehlen, Funktionen, Verfahrensweisen, Datenstrukturen, Logik,
Anwendungsprogrammen, Designdarstellungen oder Formaten zur Simulation,
Emulation und Herstellung eines Designs beschrieben werden, die, wenn
von einer Maschine darauf zugegriffen wird, dazu führen,
dass die Maschine Aufgaben ausführt, wobei abstrakte Datentypen
oder hardwarenaher Zusammenhang definiert wird oder ein Ergebnis
erzeugt wird.
-
Die
in den Figuren gezeigten Techniken können unter Verwendung
von Code und Daten implementiert werden, die auf einem oder mehreren EDV-Geräten, wie
z. B. Universalrechnern oder EDV-Geräten, gespeichert und
ausgeführt werden. Solche EDV-Geräte speichern
und kommunizieren (intern und mit anderen EDV-Geräten über
ein Netzwerk) Code und Daten unter Verwendung maschinenlesbarer
Medien, wie z. B. maschinenlesbare Speichermedien (z. B. Magnetplatten;
optische Platten; Direktzugriffsspeicher; Festspeicher; Flash-Speicher-Geräte;
Phasenwechselspeicher) und maschinenlesbarer Kommunikationsmedien
(z. B. elektrische, optische, akustische oder andere Formen sich
ausbreitender Signale – wie z. B. Trägersignale,
Infrarotsignale, digitale Signale etc.).
-
Während
der offenbarte Gegenstand unter Bezugnahme auf veranschaulichende
Ausführungsformen beschrieben wurde, soll diese Beschreibung nicht
einschränkend ausgelegt werden. Verschiedene Modifikationen
der veranschaulichenden Ausführungsformen sowie anderer
Ausführungsformen des Gegenstands, der Fachleuten, die
der offenbarte Gegenstand betrifft, offensichtlich ist, sollen als
im Umfang des offenbarten Gegenstands einbegriffen erachtet werden.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - JEDEC DDR3
SDRAM-Standard, „JEDEC Standard DDR3 SDRAM”, Änderung
JESD79-3C vom November 2008 [0028]