-
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.
US 2007 0 103 188 A1 offenbart eine Schaltung mit einem DLL-Baustein. Der DLL-Baustein wird durch Taktleitungen CKE und CK angesteuert. Die Schaltung enthält ferner eine synchrone und eine asynchrone Schaltung und, die mit einem weiteren Takt ODT angesteuert werden und ferner mit einem Ausgangstakt der DLL-Baustein verbunden sind.
US 6 532 522 B1 offenbart eine Schaltung, die wenigstens einen „clocked buffer” enthält. An diesen Puffer liegen verschiedene Takt- und Datensignale an. Außerdem ist ein Ausgang mit einem weiteren Baustein verbunden.
EP 1 306 849 A2 offenbart eine Schaltung mit zwei parallel geschalteten Pufferelementen. Die Puffer können ein- und abgeschaltet werden. Einer der beiden Puffer dient zur synchronen, der andere zur asynchronen Kommunikation. Der Erfindung liegt die Aufgabe zugrunde, einen stromsparenden Betrieb einer Taktschaltung zu ermöglichen. Diese Aufgabe wird durch die beigefügten unabhängigen Ansprüche gelöst.
-
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 on 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 Memory-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.