DE112011104682B4 - Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem - Google Patents
Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem Download PDFInfo
- Publication number
- DE112011104682B4 DE112011104682B4 DE112011104682.0T DE112011104682T DE112011104682B4 DE 112011104682 B4 DE112011104682 B4 DE 112011104682B4 DE 112011104682 T DE112011104682 T DE 112011104682T DE 112011104682 B4 DE112011104682 B4 DE 112011104682B4
- Authority
- DE
- Germany
- Prior art keywords
- cwl
- memory
- strobe signal
- memory controller
- difference
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Eintreten (504) in eine Prüfbetriebsart in der Speichereinheit (104); Messen einer Spaltenadresse-Strobesignal-Schreiblatenzzeit (CWL) in der Speichereinheit durch:
Justieren des Spaltenadresse-Strobesignals, sodass ein Taktsignal mittig in einem Schreibdaten-Strobesignals liegt,
Empfangen (506) eines Schreibbefehls von einer Speichersteuereinheit (102);
Empfangen (510) eines Daten-Strobesignals von der Speichersteuereinheit; und
Zählen (512) einer Anzahl von Taktzyklen zwischen dem Empfangen des Schreibbefehls und dem Empfangen des Daten-Strobesignals;
Berechnen (514) einer Differenz zwischen der gemessenen CWL und einer programmierten CWL; und
Übertragen (516) der berechneten Differenz zu der Speichersteuereinheit, wobei die Speichersteuereinheit die berechnete Differenz zum Justieren einer Zeitverzögerung verwendet, um die gemessene CWL anzupassen.
Description
- HINTERGRUND
- Die vorliegende Erfindung bezieht sich auf Speichersysteme und insbesondere auf das Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem.
- Gegenwärtige Architekturen von Speicherschnittstellen ermöglichen unterschiedliche zeitliche Beziehungen zwischen der Befehl/Adressen/Steuerung/Takt-Schnittstelle (hier als „Adress- und Steuerungslogik“ bezeichnet) und dem Datenbus bei jedem dynamischen Direktzugriffsspeicher (DRAM) in einem Speichersystem. Zu zeitgemäßen Architekturen gehört eine Verdrahtungs-Topologie, die unter der Bezeichnung „Fly-by“ bekannt ist. Obwohl diese Topologie die Signalqualität verbessert, erfolgt das auf Kosten der Laufzeit- (Ausbreitungs-) Verzögerung zwischen dem am nächsten liegenden und dem am weitesten entfernt liegenden DRAM in einem Speicherteilsystem. Die Beziehung zwischen der Adress- und Steuerungslogik und dem Datenbus (Bitversatz) kann für eine Speichersteuereinheit Probleme beim Sicherstellen spezieller Zeitsteuerungsparameter bei jedem DRAM bewirken. Die Speichersteuereinheit muss Datenwegverzögerungen für jeden DRAM in dem System kalibrieren, um geeignete zeitliche Beziehungen zu der Adress- und Steuerungslogik sicherzustellen.
- Bei einer derartigen zeitlichen Beziehung handelt es sich um die Flankenausrichtung eines Schreibdaten-Strobesignals (DQS) auf den Speichertakt, mit dem der DRAM angesteuert wird. Eine spezielle Verdrahtungsbeziehung zwischen dem Adress/Steuerlogik-Pfad und dem Datenpfad in jedem DRAM ist weder erforderlich, noch besteht eine besondere Notwendigkeit dazu. Somit ist die zeitliche Beziehung zwischen diesen beiden Schnittstellen bei jedem DRAM anders, und Signale auf diesen beiden Schnittstellen müssen an jedem DRAM mit der korrekten zeitlichen Beziehung eintreffen. Es gibt eine übliche industrielle Methodik, um den Datenpfad der Speichersteuereinheit zu jedem DRAM variabel zu verzögern und diese Verzögerungsstruktur zu kalibrieren, um geeignete zeitlichen Beziehungen am DRAM sicherzustellen. Ein Schreibabgleich wird verwendet, um einen derartigen Kalibriervorgang anzugeben, der eine Prüfbetriebsart beinhaltet, die in die eingetreten wird, indem dem DRAM über einen Betriebsartregisterbefehl angewiesen wird, das DQS aus Sicht des DRAM auf den Speicher-Referenztakt auszurichten. Dieser Vorgang stellt nicht sicher, dass bei normalen Schreibbefehlen die Daten-Strobesignale in dem richtigen Taktzyklus liegen. Ein Schreibabgleich gewährleistet eine grundlegende Kerntaktbeziehung zwischen einer Daten-Strobesignalflanke und „irgendeiner vorgegebenen“ Taktflanke. Er stellt nicht sicher, dass die korrekte CWL aufrechterhalten wird.
- Bei zunehmenden Betriebsraten (Frequenz/Geschwindigkeit) der Schnittstellen kann es zu einer beträchtlichen Laufzeitverzögerung kommen. Da eine Laufzeitverzögerung die Taktperiode (Betriebsfrequenz/Datenrate) verkleinert oder vergrößert, kann sich der Versatz zwischen der Befehlsschnittstelle und der Datenschnittstelle relativ zur Speichersteuereinheit und jeder einzelnen DRAM-Einheit erheblich verändern. Das tritt deswegen auf, weil die Adressen- und Steuerlogiksignale gegebenenfalls eine viel größere Strecke zurücklegen müssen als ihre zugehörigen Datenschnittstellensignale. Aus Sicht der Speichersteuereinheit unterliegen der Schreibbefehl und das Daten-Strobesignal der programmierten Verzögerung, von der angenommen wird, dass sie die geforderte CWL-Anforderung erfüllt, die korrekte CWL am DRAM jedoch infolge des möglicherweise zunehmenden Versatzes zwischen der Adress/Steuerlogik und dem Datenbus an jedem DRAM unter Umständen nicht erreicht wird.
- Moderne Methodiken zum Prüfen der CWL beruhen auf einem Ansatz des systematischen Ausprobierens (Trial-and-Error-Verfahren). Ein Schreib/Lese-Zyklus wird durch die Speichersteuereinheit ausgeführt, um zu ermitteln, ob Daten, die durch einen Schreibbefehl zu einer Speicheradresse geschrieben werden, in Reaktion auf einen Lesebefehl an dieselbe Speicheradresse korrekt zurückgegeben werden. Eine Übereinstimmung von Rückgabedaten bedeutet, dass das Schreiben mit der korrekten CWL ausgeführt wird. Fehlerhafte Rückgabedaten können bedeuten, dass die CWL in Vorwärts- oder Rückwärtsrichtung justiert werden und anschließend ein erneutes Prüfen bei einem weiteren Schreib/Lese-Zyklus ausgeführt werden muss. Der Trial-and-Error-Ansatz der gegenwärtigen Methodik kann bewirken, dass bestimmte DRAMs ausfallen, und er kann andere Ausweichverfahren erfordern (z.B. das Ausgeben von zwei identischen Schreibvorgängen, damit das Schreiben reibungslos erfolgt). Der Trial-and-Error-Ansatz kann unter Verwendung von Hardware-Unterstützung (z.B. eine Zustandsmaschine) und/oder einfacher Software (z.B. Firmware) ausgeführt werden, um eine Schreib/Lese-Vergleichsoperation und eine Zyklus-Justierung auszuführen, bis ein erfolgreicher Vergleich gefunden wird.
- Ein Nachteil gegenwärtiger Ansätze besteht darin, dass es schwierig sein kann, ein korrektes DRAM-Verhalten sicherzustellen, wenn versucht wird, mit einem Trial-and-Error-Ansatz die richtige Schreiblatenzzeit zu finden. Ein weiterer Nachteil ist die Zeitdauer, die während der Initialisierung erforderlich ist, zahlreiche Iterationen auszuführen, insbesondere wenn ein einziger Dienstprozessor verwendet wird, um Speichersysteme mit großen Speicher-Arrays zu initialisieren.
- Bisher bekannte Systeme sind beispielsweise beschrieben in: das Dokument
US 2010/0185810 A1 WO 02/099661 A2 - Demzufolge und obwohl vorhandene Speichersysteme für ihren vorgegebenen Zweck geeignet sein können, besteht nach dem Stand der Technik für Speichersysteme nach wie vor ein Bedarf, diese Nachteile bei Speicheranordnungen zu überwinden, die Unterschiede in den zeitlichen Beziehungen zwischen der Speichersteuereinheit und zahlreichen angeschlossenen Speichereinheiten aufweisen, die bei hohen Frequenzen betrieben werden.
- KURZDARSTELLUNG
- Bei einer Ausführungsform handelt es sich um ein Verfahren zum Kalibrieren eines Speichersystems. Das Verfahren enthält ein Eintreten der Speichereinheit in eine Prüfbetriebsart und ein Messen einer Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in der Speichereinheit. Eine Differenz zwischen der gemessenen CWL und einer programmierten CWL wird berechnet. Die berechnete Differenz wird zu einer Speichersteuereinheit übertragen, die die berechnete Differenz zum Justieren einer Zeitverzögerung verwendet, um die gemessene CWL anzupassen.
- Bei einer weiteren Ausführungsform handelt es sich um eine Speichereinheit, die eine Schnittstelle zu einer Speichersteuereinheit und einen Kalibrator der Strobesignal-Schreiblatenzzeit an Spaltenadressen der Speichereinheit enthält. Die CWL der Speichereinheit ist zum Eintreten der Speichereinheit in eine Prüfbetriebsart und zum Messen einer CWL in der Speichereinheit eingerichtet. Eine Differenz zwischen der gemessenen CWL und einer programmierten CWL wird berechnet. Die berechnete Differenz wird zu einer Speichersteuereinheit übertragen, die die berechnete Differenz zum Justieren einer Zeitverzögerung verwendet, um die gemessene CWL anzupassen.
- Bei einer weiteren Ausführungsform handelt es sich um ein Verfahren zum Kalibrieren eines Speichersystems. Das Verfahren enthält das Übertragen eines Prüfbetriebsartbefehls von einer Speichersteuereinheit zu einer Speichereinheit. Der Prüfbetriebsartbefehl weist die Speichereinheit an, in eine Prüfbetriebsart einzutreten, um eine Differenz zwischen einer gemessenen CWL und einer programmierten CWL zu berechnen. Ein Schreibbefehl wird zu der Speichereinheit übertragen, gefolgt von einem Daten-Strobesignal. Das Daten-Strobesignal folgt dem Schreibbefehl um eine einer Anzahl von Taktzyklen entsprechenden zeitlichen Verzögerung, die der programmierten CWL entspricht. Eine Antwort, die die Differenz zwischen der gemessenen CWL und der programmierten CWL enthält, wird von der Speichereinheit empfangen. Die zeitliche Verzögerung wird auf der Grundlage der Differenz zwischen der gemessenen CWL und der programmierten CWL aktualisiert.
- Bei einer weiteren Ausführungsform handelt es sich um eine Speichersteuereinheit, die eine Schnittstelle zu einer Speichereinheit und einen CWL-Kalibrator der Speichersteuereinheit zum Übertragen eines Prüfbetriebsartbefehls zu der Speichereinheit enthält. Der Prüfbetriebsartbefehl weist die Speichereinheit an, in eine Prüfbetriebsart einzutreten, um eine Differenz zwischen einer gemessenen CWL und einer programmierten CWL zu berechnen. Der CWL-Kalibrator dient außerdem zum Übertragen eines Schreibbefehls zu der Speichereinheit, dem ein Daten-Strobesignal folgt. Das Daten-Strobesignal folgt dem Schreibbefehl um eine einer Anzahl von Taktzyklen entsprechenden zeitlichen Verzögerung, die der programmierten CWL entspricht. Eine Antwort, die die Differenz zwischen der gemessenen CWL und der programmierten CWL enthält, wird von der Speichereinheit empfangen. Die zeitliche Verzögerung wird auf der Grundlage der Differenz zwischen der gemessenen CWL und der programmierten CWL aktualisiert.
- Zusätzliche Merkmale und Vorteile werden durch die Techniken der vorliegenden Erfindung realisiert. Weitere Ausführungsformen und Aspekte der Erfindung werden hier ausführlich beschrieben und als Teil der beanspruchten Erfindung betrachtet. Für ein besseres Verständnis der Erfindung mit den Vorteilen und den Merkmalen wird auf die Beschreibung und die Zeichnungen verwiesen.
- Figurenliste
- Der Gegenstand, der als Erfindung betrachtet wird, ist in den Ansprüchen am Ende der Spezifikation besonders hervorgehoben und eindeutig beansprucht. Das Vorhergehende und weitere Merkmale und Vorteile der Erfindung werden aus der nachfolgenden genauen Beschreibung deutlich, die in Verbindung mit den beigefügten Zeichnungen erfolgt, in denen:
-
1 ein Blockschaltbild eines Speichersystems darstellt, bei dem die Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen für eine Speichereinheit gemäß einer Ausführungsform kalibriert wird; -
2 ein Blockschaltbild eines Speichersystems darstellt, bei dem die CWL gemäß einer Ausführungsform für mehrere Speichereinheiten parallel kalibriert wird; -
3 ein Blockschaltbild eines Speichersystems darstellt, bei dem die CWL gemäß einer Ausführungsform für mehrere Speichereinheiten separat kalibriert wird; -
4 einen Prozessablauf darstellt, der durch eine Speichersteuereinheit umgesetzt wird, um eine CWL-Kalibrierung gemäß einer Ausführungsform auszuführen; -
5 einen Prozessablauf darstellt, der durch eine Speichersteuereinheit umgesetzt wird, um eine CWL-Kalibrierung gemäß einer Ausführungsform auszuführen; und -
6 ein Zeitablaufdiagramm zum Ausführen einer CWL-Kalibrierung gemäß einer Ausführungsform darstellt. - GENAUE BESCHREIBUNG
- Eine Ausführungsform wird zum Justieren von Zeitverzögerungen in einem Speichersystem verwendet, um die Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen zu berücksichtigen. In einer Ausführungsform werden Verzögerungen der Speichersteuereinheit unter Verwendung eines deterministischen Ansatzes kalibriert, bei dem sowohl eine Speichersteuereinheit als auch ein dynamischer Direktzugriffsspeicher (DRAM) an einem Rückkopplungsmechanismus beteiligt sind, der der Speichersteuereinheit ermöglicht, Schreib-Strobesignale auf den korrekten Taktzyklus auszurichten, um die korrekte CWL an dem DRAM sicherzustellen. Wie in diesem Zusammenhang beschrieben, werden die Speichersteuereinheit und die DRAM-Einheit in eine Prüfbetriebsart versetzt, so dass die Speichersteuereinheit die geeignete Schreiblatenzzeit zu einer beliebigen DRAM-Einheit in dem Speichersystem erkennen kann. Die Speichersteuereinheit erkennt die geeigneten Datenbusverzögerungen unter Verwendung eines einfachen Reaktionsmechanismus zum Ausführen jeder erforderlichen Taktzyklus-Einstellung, um zukünftige Schreibdaten aus Sicht der DRAM-Einheit auf den geeigneten Takt auszurichten.
-
1 stellt ein Blockschaltbild eines Speichersystems dar, bei dem die CWL für eine DRAM-Einheit104 gemäß einer Ausführungsform kalibriert wird. Wie in1 gezeigt, steht eine Speichersteuereinheit102 mit einer DRAM-Einheit104 über einen Speicherbus106 im Datenaustausch. In einer Ausführungsform ist der Speicherbus106 bidirektional. In einer weiteren Ausführungsform handelt es sich bei dem Speicherbus106 um zwei unidirektionale Busse. In einer Ausführungsform überträgt der Speicherbus106 Adresse/Befehl/Takt (dieser Abschnitt des Speicherbusses wird in diesem Zusammenhang auch als die „Adress- und Steuerlogik-Schnittstelle“ bezeichnet) und ein Daten-Strobesignal zwischen der Speichersteuereinheit102 und der DRAM-Einheit104 . - Die in diesem Zusammenhang beschriebenen Beispiele betreffen Speichersysteme, die DRAM-Einheiten aufweisen, Ausführungsformen gelten jedoch für alle Speichersysteme, die Speichereinheiten enthalten, die eine Wartezeit aufweisen, bevor sie auf eine Speicherzelle zugreifen können, nachdem ein Schreibbefehl ausgegeben wurde (z.B. eine Schreiblatenzzeit).
- Der in diesem Zusammenhang verwendete Begriff „Speichersteuereinheit“ bezeichnet jede Einheit, die den Zugriff auf eine Speichereinheit steuert. Die Speichersteuereinheit kann als Teil eines Prozessors, als ein selbstständiger Prozessor oder in einem Speicher-Hub oder einer Puffereinheit enthalten sein. In einer Ausführungsform steuert die Speichersteuereinheit außerdem die Schnittstellensignale der physischen Schichten (z.B. über zusätzliche Verzögerungselemente) zu der DRAM-Einheit. Die Speichersteuereinheit und die Speichereinheit erfordern eine CWL-Kalibrierung, so dass Schreibdaten in geeigneter Weise durch die Speichereinheit gespeichert werden können.
-
2 stellt ein Blockschaltbild eines Speichersystems dar, bei dem eine CWL gemäß einer Ausführungsform für mehrere DRAM-Einheiten204 parallel kalibriert wird. Wie in2 gezeigt, steht eine Speichersteuereinheit202 mit einer Vielzahl von DRAM-Einheiten204 über eine Vielzahl von Speicherbussen206 im Datenaustausch. Wie in2 gezeigt, sind die Speichersteuereinheit202 und die DRAM-Einheiten204 auf einem Speichermodul208 angeordnet. In einer Ausführungsform ist die Speichersteuereinheit20 auf einer Hub-Einheit oder Puffereinheit angeordnet oder in dieser enthalten, die auf dem Speichermodul208 angeordnet ist. In einer Ausführungsform steht die Speichersteuereinheit202 , die auf dem Speichermodul208 angeordnet ist, mit einer weiteren (nicht gezeigten) Speichersteuereinheit im Datenaustausch, die das Speichermodul208 und möglicherweise weitere Speichermodule steuert. In einer Ausführungsform sind die Speicherbusse206 bidirektional. In einer weiteren Ausführungsform enthalten die Speicherbusse206 zwei unidirektionale Busse. Bei einer Ausführungsform übertragen die Speicherbusse206 Taktsignale, Daten, Befehle und ein Daten-Strobesignal zwischen der Speichersteuereinheit202 und den DRAM-Einheiten204 . -
3 stellt ein Blockschaltbild eines Speichersystems dar, bei dem die CWL gemäß einer Ausführungsform für mehrere Speichereinheiten parallel (oder separat) kalibriert wird. Wie in3 gezeigt, steht eine Speichersteuereinheit302 mit einer Vielzahl von DRAM-Einheiten304 über einen gemeinsam genutzten Adressen/Befehls/Takt-Bus306 (der in diesem Zusammenhang auch als eine „Adress- und Steuerlogik-Schnittstelle“ bezeichnet wird) im Datenaustausch. Wie ebenfalls in3 gezeigt, weist jeder DRAM seine eigene Datenschnittstelle308 (z.B. einen Datenbus) zum Verbinden mit der Speichersteuereinheit302 auf (d.h., pro Datenschnittstelle ist eine einzige Last vorhanden). In einer weiteren (nicht gezeigten) Ausführungsform nutzen mehrere DRAM-Einheiten dieselbe Datenschnittstelle gemeinsam. -
4 stellt einen Prozessablauf dar, der durch eine Speichersteuereinheit wie etwa die Speichersteuereinheit102 umgesetzt wird, um gemäß einer Ausführungsform eine CWL-Kalibrierung auszuführen. Bei einer Ausführungsform wird die gesamte oder ein Teil der Verarbeitung von4 durch einen Abschnitt der Speichersteuereinheit ausgeführt, der in diesem Zusammenhang als CWL-Kalibrator der Speichersteuereinheit bezeichnet wird. Die Speichersteuereinheit konfiguriert und initialisiert einen bzw. mehrere DRAMs wie z.B. den DRAM104 im Block402 . Die durch die Speichersteuereinheit ausgeführte Konfigurierung beruht auf definierten Standards und Praktiken und enthält das Konfigurieren (z.B. Programmieren) des DRAM mit einem speziellen CWL-Wert. Die DRAM-Initialisierung beruht ebenfalls auf definierten Standards und Praktiken und enthält das Ausführen eines Schreibabgleichs durch Ausrichten eines Schreibdaten-Strobesignals (DQS) auf ein Taktsignal an der DRAM-Einheit. Im Block404 versetzt die Speichersteuereinheit die Speichereinheit in eine „Finde-Schreiblatenzzeit-“ (FWL-) Prüfbetriebsart. Bei einer Ausführungsform sendet die Speichersteuereinheit einen Betriebsartregister- (MR-) Befehl zu dem DRAM, der den DRAM anweist, in eine FWL-Prüfbetriebsart einzutreten. Bei einer Ausführungsform führt die Speichersteuereinheit außerdem eine vorübergehende Justierung aus, so dass der Takt mittig in dem Schreibdaten-Strobesignal liegt, während sich der DRAM in der FWL-Prüfbetriebsart befindet. Das ermöglicht ein einfacheres Abtasten des Schreibdaten-Strobesignals durch die DRAM-Einheit. - Nach einer im Voraus festgelegten minimalen Zeitdauer, die dem DRAM das Eintreten in die FWL-Prüfbetriebsart ermöglicht, wird der Block
406 ausgeführt, und die Speichersteuereinheit sendet einen Schreibbefehl zu der Speichereinheit. Anschließend wartet die Speichersteuereinheit im Block408 eine Anzahl von Taktzyklen ab, die gleich dem programmierten CWL-Wert für die DRAM-Einheit ist. Der programmierte CWL-Wert ist der CWL-Wert, der durch das im Block402 ausgeführte Konfigurieren definiert ist. Eine zusätzliche Verzögerung könnte außerdem auf der Grundlage der Ergebnisse des Prozesses der Schreibausgleich-Kalibrierung erforderlich sein. Anschließend schaltet die Speichersteuereinheit ein einzelnes Daten-Strobesignal (DQS) ein. Im Block wartet die Speichersteuereinheit eine im Voraus festgelegte Zeitdauer ab und ermöglicht dann ihren Datenempfängern, eine Antwort von der DRAM-Einheit zwischenzuspeichern. Bei einer Ausführungsform gibt die Antwort die Differenz (z.B. in Taktzyklen) zwischen dem durch die DRAM-Einheit Ist-CWL-Wert und dem von dem DRAM-Einheit Soll-CWL-Wert an (d.h. der CWL-Wert, der während der im Block402 ausgeführten Konfigurierung programmiert wurde). Bei einer Ausführungsform stellt die Speichersteuereinheit ihre Zeitverzögerung anhand der Antwort ein und verwendet diesen eingestellten Wert beim Ausführen von Schreibvorgängen zu der Speichereinheit. Bei einer Ausführungsform versetzt die Speichersteuereinheit, nachdem der Block412 abgeschlossen wurde, den DRAM wieder in die normale Betriebsart (z.B. über einen Betriebsartregisterbefehl). Für einen Fachmann wird klar sein, dass das Zurückkehren zum Normalbetrieb das Zurücksetzen des Strobesignals enthält, damit die Flanke auf den Takt ausgerichtet ist. -
5 stellt einen Prozessablauf dar, der durch eine DRAM-Einheit wie etwa die DRAM-Einheit104 umgesetzt wird, um gemäß einer Ausführungsform eine CWL-Kalibrierung auszuführen. Bei einer Ausführungsform wird die Verarbeitung durch einen Abschnitt der DRAM-Einheit ausgeführt, die in diesem Zusammenhang als ein „CWL-Kalibrator der Speichereinheit“ bezeichnet wird. Im Block502 empfängt die DRAM-Einheit einen FWL-Prüfbetriebsartbefehl von einer Speichersteuereinheit wie etwa der Speichersteuereinheit102 , und im Block504 tritt die DRAM-Einheit in die FWL-Prüfbetriebsart ein, in der sie auf einen Schreibbefehl wartet. Im Block506 empfängt die DRAM-Einheit den Schreibbefehl von der Speichersteuereinheit und beginnt im Block508 mit dem Zählen von Taktzyklen. Wenn der DRAM im Block510 das Signal DQS erkennt, beendet er im Block512 das Zählen von Taktzyklen. Der Taktzyklus-Zählwert ist der Ist-CWL-Wert. Bei einer Ausführungsform läuft ein Zeitgeber ab, wenn das Signal DQS nicht innerhalb der maximalen Anzahl von Taktzyklen empfangen wird, die in der Antwort übermittelt werden kann. Im Block514 berechnet der DRAM die Differenz zwischen dem Ist-CWL-Wert und dem CWL-Wert, der durch die Speichersteuereinheit während der Systemkonfiguration in den DRAM programmiert wurde (der in diesem Zusammenhang auch als der programmierte CWL-Wert bezeichnet wird). Die berechnete Differenz wird im Block516 zu der Speichersteuereinheit gesendet. Wenn ein Zeitgeber abläuft, wird die maximale meldefähige Differenz wieder an die Speichersteuereinheit gemeldet. Wenn die maximale gemeldete Antwort zurückgegeben wird, ist davon auszugehen, dass die Speichersteuereinheit die Kalibrierungsanforderung iteriert, bis eine Null-Antwort zurückgegeben wird. -
6 stellt ein Zeitablaufdiagramm zum Ausführen einer CWL-Kalibrierung gemäß einer Ausführungsform dar. Das Zeitablaufdiagramm enthält einen Taktbus602 , einen Datenbus604 , einen Adressen/Befehlsbus606 und ein Daten-Strobesignal608 . Wie in der Ausführungsform von6 gezeigt, sendet die Speichersteuereinheit einen Betriebsartregisterbefehl610 , der eine FWL-Prüfbetriebsart spezifiziert, über den Adressen/Befehlsbus606 zu der DRAM-Einheit. Wie in6 gezeigt, folgt einem Schreibbefehl612 , der auf dem Adressen/Befehlsbus606 von der Speichersteuereinheit zu der DRAM-Einheit gesendet wird, ein Strobesignal616 auf dem Daten-Strobesignal608 . Wie zuvor unter Bezugnahme auf4 beschrieben, ist die Anzahl von Taktzyklen zwischen dem Schreibbefehl612 , der gesendet wird, und dem Strobesignal616 gleich dem programmierten CWL-Wert, der durch die Speichersteuereinheit während der Systemkonfiguration festgelegt wurde. - Wie in
6 gezeigt, kommt eine Antwort614 von der DRAM-Einheit über den Datenbus604 zurück zur Speichersteuereinheit. Wie zuvor unter Bezugnahme auf5 beschrieben, enthält die Antwort614 Daten, die die Differenz zwischen einem Ist-CWL-Wert (der an der DRAM-Einheit beobachtet wird) und dem programmierten CWL-Wert angeben. Inhalte der Antwort614 werden verwendet, um die Beziehung zwischen dem Schreibbefehl und dem Daten-Strobesignal zu justieren, um das Missverhältnis zwischen programmiertem und Ist-CWL-Wert auszugleichen, das aufgrund der Laufzeitverzögerungen vorhanden ist, die bei der Architektur der Fly-by-Topologie des Befehls/Adressen/Taktbusses grundsätzlich vorhanden sind. Der programmierte CWL-Wert bezeichnet den CWL-Wert, der von der Speichersteuereinheit und dem DRAM erwartet wird und während der Systemkonfiguration festgelegt wurde. - Eine Ausführungsform unterstützt sowohl x4-DRAMs, die eine Breite von vier Bit aufweisen, als auch x8-DRAMs, die eine Breite von acht Bit aufweisen, indem die Antwort
614 auf vier Bits beschränkt wird. In einer Ausführungsform, bei der die Signifikanz der Bitreihenfolge bekannt ist, enthalten die vier Bits ein Vorzeichenbit und drei Informationsbits, die die Differenz zwischen der Ist-CWL und einer programmierten CWL des DRAM repräsentieren. Die Begrenzung der Antwort614 auf vier Bits ermöglicht die Unterstützung einer +7- oder -7-Taktdifferenz zwischen der Ist- und der programmierten CWL. In einer Ausführungsform gibt eine Null-Antwort614 an, dass die Speichersteuereinheit und der DRAM in Bezug auf die CWL synchron sind. - Bei den meisten Umsetzungen ist die Fähigkeit zur Unterstützung einer Differenz von bis zu 7 Takten ausreichend. In weiteren Ausführungsformen wird jedoch eine größere Differenz als 7 Takte unterstützt, indem die Architektur so erweitert wird, dass die Speichersteuereinheit, wenn die maximale Differenz gemeldet wird, die Verzögerungswerte justiert und die Kalibrierungsanforderung iteriert, bis in der Antwort
614 eine Null erreicht wird. Beim Erkennen einer Null-Antwort614 ist die Kalibrierung mit den geeigneten Verzögerungen zum Sicherstellen der CWL abgeschlossen. - Bei einer Ausführungsform, bei der die Reihenfolge der Bits in der Antwort keine bekannte Signifikanz aufweist, wird die Anzahl von Eins-Bits und Null-Bits gezählt und in einen Wert übersetzt, der die Differenz zwischen der programmierten CWL und der Ist-CWL repräsentiert. In dieser Ausführungsform ist die Fähigkeit zum Unterstützen großer Differenzen zwischen Ist- und programmierter CWL beschränkt. Wenn die maximale Differenz gemeldet wird, justiert die Speichersteuereinheit die Verzögerungswerte, und die Kalibrierungsanforderung iteriert, bis in der Antwort
614 eine Null erreicht wird. Beim Erkennen einer Null-Antwort614 ist die Kalibrierung mit den geeigneten Verzögerungen zum Sicherstellen der CWL abgeschlossen. - Zu technischen Wirkungen und Vorteilen gehört die Fähigkeit zum deterministischen Kalibrieren von Verzögerungen, die einer CWL für eine Speichereinheit zugehörig sind. Da Firmware-Prüfverfahren (mit oder ohne Hardware-Unterstützung) entbehrlich werden, um ungeeignete, mit der CWL verbundene Verzögerungen zu korrigieren, können eine kürzere Dauer und eine höhere Zuverlässigkeit der Systeminitialisierung erreicht werden.
- Die in diesem Zusammenhang verwendete Terminologie dient lediglich dem Zweck der Beschreibung bestimmter Ausführungsformen und ist nicht zum Einschränken der Erfindung vorgesehen. Die dabei verwendeten Singularformen „ein“ und „der/die/das“ sollen ebenfalls die Pluralformen einschließen, falls im Kontext nicht ausdrücklich anders angegeben. Ferner ist klar, dass die Ausdrücke „aufweist“ und/oder „aufweisend“ bei Verwendung in dieser Spezifikation das Vorhandensein festgestellter Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten spezifizieren, jedoch nicht das Vorhandensein oder die Hinzufügung eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen hiervon ausschließen.
- Die entsprechenden Strukturen, Materialien, Wirkungen und Ersetzungen aller Mittel oder Schritte plus Funktionselemente in den nachfolgenden Ansprüchen sollen die Struktur, jedes Material oder jede Wirkung zum Ausführen der Funktion in Kombination mit anderen beanspruchten Elementen, die speziell beansprucht werden, enthalten. Die Beschreibung der Verwendung wird für Zwecke der Erläuterung und Beschreibung präsentiert und soll nicht erschöpfend oder für die Erfindung auf die offenbarte Form einschränkend sein. Viele Modifikationen und Variationen werden für einen Fachmann einsichtig sein, ohne vom Umfang und Erfindungsgedanken der Erfindung abzuweichen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Erfindung und die praktische Anwendung bestmöglich zu erklären und um Nichtfachleute zu befähigen, die Erfindung zu verstehen, da verschiedene Ausführungsformen mit zahlreichen Modifikationen für die speziell vorgesehene Verwendung geeignet sind.
- Wie dem Fachmann klar sein wird, können Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden. Dementsprechend können Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (darunter Firmware, residente Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardware-Aspekte kombiniert, annehmen, die hier alle allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, die computerlesbaren Programmcode, der darauf verkörpert ist, aufweisen.
- Jede Kombination aus einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann z.B. ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, -vorrichtung oder -einheit oder jede geeignete Kombination des Vorhergehenden sein, ist jedoch nicht auf diese beschränkt. Zu spezifischeren Beispielen (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums würde Folgendes gehören: eine elektrische Verbindung mit einer oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Festwertspeicher (ROM), ein löschbarer programmierbarer Festwertspeicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compactdisk-Festwertspeicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede geeignete Kombination des Vorhergehenden. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes materielle Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung enthalten oder speichern kann.
- Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal mit einem computerlesbaren Programmcode, der darin z.B. im Basisband oder als Teil einer Trägerwelle verkörpert ist, enthalten. Ein derartiges verbreitetes Signal kann jede von einer Vielfalt von Formen annehmen, zu denen elektromagnetische, optische Formen oder jede geeignete Kombination hiervon gehören, ohne jedoch auf diese beschränkt zu sein. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Befehlsausführung übertragen, verbreiten oder transportieren kann.
- Programmcode, der auf einem computerlesbaren Medium verkörpert ist, kann unter Verwendung jedes geeigneten Mediums übertragen werden, wozu drahtlose, leitungsgestützte, Lichtwellenleiterkabel-, HF-Medien oder jede geeignete Kombination aus dem Vorhergehenden gehören, ohne jedoch auf diese beschränkt zu sein.
- Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Erfindung kann in jeder Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, darunter eine objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie etwa die Programmiersprache „C“ oder ähnliche Programmiersprachen. Der Programmcode kann nur auf dem Computer eines Benutzers, teilweise auf dem Computer eines Benutzers, als ein eigenständiges Software-Paket, teilweise auf dem Computer eines Benutzers und teilweise auf einem fernen Computer oder nur auf dem fernen Computer oder Server ausgeführt werden. In dem zuletzt genannten Szenario kann der ferne Computer mit dem Computer des Benutzers durch jeden Netzwerktyp verbunden sein, einschließlich eines Lokalbereichsnetzwerks (LAN) oder eines Weitbereichsnetzwerks (WAN), oder die Verbindung kann zu einem externen Computer (z.B. über das Internet unter Verwendung eines Internet-Dienstanbieters) hergestellt werden.
- Aspekte der vorliegenden Erfindung sind hier unter Bezugnahme auf Ablaufplan-Darstellungen und/oder Blockschaltbilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es ist klar, dass jeder Block der Ablaufplan-Darstellungen und/oder Blockschaltbilder und Kombinationen von Blöcken in den Ablaufplan-Darstellungen und/oder Blockschaltbildern durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, so dass Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Umsetzen der Funktionen/Wirkungen, die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind, erzeugen.
- Diese Computerprogrammbefehle können außerdem in einem computerlesbaren Medium gespeichert sein, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsgegenstand produzieren, wozu Befehle gehören, die die Funktion/Wirkung umsetzen, die in dem Block/den Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind.
- Die Computerprogrammbefehle können außerdem in einen Computer, andere programmierbare Datenverarbeitungseinrichtungen oder andere Einheiten geladen werden, um eine Reihe von Operationsschritten zu bewirken, die auf dem Computer, der anderen programmierbaren Datenverarbeitungsvorrichtung oder anderen Einheiten ausgeführt werden sollen, um einen mittels Computer umgesetzten Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zum Umsetzen der Funktionen/Wirkungen, die in dem Block oder Blöcken des Ablaufplans und/oder Blockschaltbilds spezifiziert sind, bereitstellen.
- Der Ablaufplan und Blockschaltbilder in den Figuren veranschaulichen die Architektur, Funktionalität und den Betrieb von möglichen Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder Blockschaltbildern ein Modul, Segment oder Abschnitt von Code, das/der einen oder mehrere ausführbare Befehle zum Umsetzen der spezifizierten logischen Funktion(en) aufweist, repräsentieren. Es sollte außerdem angemerkt werden, dass in einigen alternativen Umsetzungen die in dem Block angegebenen Funktionen nicht in der in den Figuren angegebenen Reihenfolge auftreten können. Zum Beispiel können zwei Blöcke, die nacheinander gezeigt sind, tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können gelegentlich in Abhängigkeit von der beteiligten Funktionalität in der umgekehrten Reihenfolge ausgeführt werden. Es wird außerdem angemerkt, dass jeder Block der Blockschaltbilder und/oder Ablaufplan-Darstellung und Kombinationen von Blöcken in den Blockschaltbildern und/oder der Ablaufplan-Darstellung durch auf spezielle Hardware gestützte Systeme, die die spezifizierten Funktionen oder Wirkungen ausführen, oder Kombinationen aus spezieller Hardware und Computerbefehlen umgesetzt werden können.
Claims (10)
- Verfahren zum Kalibrieren eines Speichersystems, wobei das Verfahren aufweist: Eintreten (504) in eine Prüfbetriebsart in der Speichereinheit (104); Messen einer Spaltenadresse-Strobesignal-Schreiblatenzzeit (CWL) in der Speichereinheit durch: Justieren des Spaltenadresse-Strobesignals, sodass ein Taktsignal mittig in einem Schreibdaten-Strobesignals liegt, Empfangen (506) eines Schreibbefehls von einer Speichersteuereinheit (102); Empfangen (510) eines Daten-Strobesignals von der Speichersteuereinheit; und Zählen (512) einer Anzahl von Taktzyklen zwischen dem Empfangen des Schreibbefehls und dem Empfangen des Daten-Strobesignals; Berechnen (514) einer Differenz zwischen der gemessenen CWL und einer programmierten CWL; und Übertragen (516) der berechneten Differenz zu der Speichersteuereinheit, wobei die Speichersteuereinheit die berechnete Differenz zum Justieren einer Zeitverzögerung verwendet, um die gemessene CWL anzupassen.
- Verfahren nach
Anspruch 1 , wobei das Eintreten in eine Prüfbetriebsart in Reaktion auf ein Empfangen eines Befehls von der Speichersteuereinheit erfolgt. - Verfahren nach
Anspruch 1 , wobei das Messen in Reaktion auf einen Schreibbefehl, der in der Speichereinheit empfangen wird, und ein Daten-Strobesignal erfolgt, das in der Speichereinheit empfangen wird. - Verfahren nach
Anspruch 1 , das ferner ein Empfangen der programmierten CWL von der Speichersteuereinheit aufweist. - Verfahren nach
Anspruch 1 , wobei die berechnete Differenz als eine Anzahl von Eins-Bits und Null-Bits codiert ist. - Verfahren nach
Anspruch 1 , wobei die Differenz in Taktzyklen gemessen wird. - Verfahren zum Kalibrieren eines Speichersystems, wobei das Verfahren aufweist: Übertragen (404) eines Prüfbetriebsartbefehls von einer Speichersteuereinheit (102) zu einer Speichereinheit (104), wobei der Prüfbetriebsartbefehl die Speichereinheit anweist, in eine Prüfbetriebsart einzutreten, um eine Differenz zwischen einer gemessenen Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen und einer programmierten CWL zu berechnen; Übertragen (406) eines Schreibbefehls zu der Speichereinheit; Übertragen (410) eines Daten-Strobesignals zu der Speichereinheit, wobei das Daten-Strobesignal dem Schreibbefehl um eine Zeitverzögerung von einer Anzahl von Taktzyklen folgt, die der programmierten CWL entspricht; Empfangen (412) einer Antwort von der Speichereinheit, wobei die Antwort die Differenz zwischen der gemessenen CWL und der programmierten CWL aufweist; und Aktualisieren (412) der Zeitverzögerung in Reaktion auf die Differenz zwischen der gemessenen CWL und der programmierten CWL, wobei das Spaltenadresse-Strobesignal so justiert ist, dass ein Taktsignal mittig in einem Schreibdate-Strobesignals liegt.
- Verfahren nach
Anspruch 7 , wobei das Übertragen eines Schreibbefehls, das Übertragen eines Daten-Strobesignals, das Empfangen einer Antwort und das Aktualisieren ausgeführt werden, bis die Differenz zwischen der gemessenen CWL und der programmierten CWL einen Wert von Null aufweist. - Verfahren nach
Anspruch 7 , das ferner aufweist Messen der CWL in der Speichereinheit in Reaktion auf das Empfangen des Prüfbetriebsartbefehls von der Speichersteuereinheit; Berechnen der Differenz in der Speichereinheit; und Übertragen der berechneten Differenz von der Speichereinheit zu der Speichersteuereinheit. - Vorrichtung, die Mittel aufweist, die angepasst sind, alle Schritte des Verfahrens gemäß einem der vorhergehenden Verfahrensansprüche auszuführen.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/985,481 US8400845B2 (en) | 2011-01-06 | 2011-01-06 | Column address strobe write latency (CWL) calibration in a memory system |
US12/985,481 | 2011-01-06 | ||
PCT/IB2011/055868 WO2012093308A1 (en) | 2011-01-06 | 2011-12-21 | Column address strobe write latency (cwl) calibration in a memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE112011104682T5 DE112011104682T5 (de) | 2013-10-10 |
DE112011104682B4 true DE112011104682B4 (de) | 2019-02-14 |
Family
ID=46455119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112011104682.0T Active DE112011104682B4 (de) | 2011-01-06 | 2011-12-21 | Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem |
Country Status (4)
Country | Link |
---|---|
US (1) | US8400845B2 (de) |
DE (1) | DE112011104682B4 (de) |
GB (1) | GB2499337B (de) |
WO (1) | WO2012093308A1 (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565033B1 (en) * | 2011-05-31 | 2013-10-22 | Altera Corporation | Methods for calibrating memory interface circuitry |
EP2774151B1 (de) | 2011-11-01 | 2019-08-14 | Rambus Inc. | Datenübertragung mit verzögerten taktsignalen |
US20170083461A1 (en) * | 2015-09-22 | 2017-03-23 | Qualcomm Incorporated | Integrated circuit with low latency and high density routing between a memory controller digital core and i/os |
US10789185B2 (en) | 2016-09-21 | 2020-09-29 | Rambus Inc. | Memory modules and systems with variable-width data ranks and configurable data-rank timing |
US10236042B2 (en) | 2016-10-28 | 2019-03-19 | Integrated Silicon Solution, Inc. | Clocked commands timing adjustments method in synchronous semiconductor integrated circuits |
US10068626B2 (en) | 2016-10-28 | 2018-09-04 | Integrated Silicon Solution, Inc. | Clocked commands timing adjustments in synchronous semiconductor integrated circuits |
US10418090B1 (en) * | 2018-06-21 | 2019-09-17 | Micron Technology, Inc. | Write signal launch circuitry for memory drive |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002099661A2 (en) | 2001-06-06 | 2002-12-12 | Micron Technology, Inc. | Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device |
US20100185810A1 (en) | 2007-06-12 | 2010-07-22 | Rambus Inc. | In-dram cycle-based levelization |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006080065A1 (ja) | 2005-01-27 | 2006-08-03 | Spansion Llc | 記憶装置、およびその制御方法 |
KR100853468B1 (ko) * | 2007-07-12 | 2008-08-21 | 주식회사 하이닉스반도체 | 온 다이 터미네이션 장치를 구비하는 반도체메모리소자 및그의 구동방법 |
KR20100072704A (ko) * | 2008-12-22 | 2010-07-01 | 삼성전자주식회사 | 칼럼 어드레스 스트로브 기입 레이턴시에 의해 제어되는 지연동기 루프 회로 |
TWI401694B (zh) * | 2009-01-14 | 2013-07-11 | Nanya Technology Corp | 動態隨機存取記憶體行命令位址的控制電路及方法 |
JP5407551B2 (ja) | 2009-05-22 | 2014-02-05 | 富士通セミコンダクター株式会社 | タイミング調整回路及びタイミング調整方法 |
-
2011
- 2011-01-06 US US12/985,481 patent/US8400845B2/en not_active Expired - Fee Related
- 2011-12-21 GB GB1307432.3A patent/GB2499337B/en active Active
- 2011-12-21 DE DE112011104682.0T patent/DE112011104682B4/de active Active
- 2011-12-21 WO PCT/IB2011/055868 patent/WO2012093308A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002099661A2 (en) | 2001-06-06 | 2002-12-12 | Micron Technology, Inc. | Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device |
US20100185810A1 (en) | 2007-06-12 | 2010-07-22 | Rambus Inc. | In-dram cycle-based levelization |
Also Published As
Publication number | Publication date |
---|---|
WO2012093308A1 (en) | 2012-07-12 |
US8400845B2 (en) | 2013-03-19 |
GB201307432D0 (en) | 2013-06-05 |
US20120176850A1 (en) | 2012-07-12 |
DE112011104682T5 (de) | 2013-10-10 |
GB2499337A (en) | 2013-08-14 |
GB2499337B (en) | 2019-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112011104682B4 (de) | Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem | |
DE102012205613B4 (de) | Arbeitszyklus-Verzerrungsberichtigung | |
DE102010013668B4 (de) | Aktives Training von Speicherbefehl-Timing | |
DE60112125T2 (de) | Methode zur programmierung eines speicherkontrollers in einem hochleistungsmikroprozessor | |
DE102005019041B4 (de) | Halbleiterspeicher und Verfahren zur Anpassung der Phasenbeziehung zwischen einem Taktsignal und Strobe-Signal bei der Übernahme von zu übertragenden Schreibdaten | |
DE102005051206B4 (de) | Speichersystem, Halbleiterspeicherbauelement und Abtastsignalerzeugungsverfahren | |
DE112013002995B4 (de) | Echtzeitmessung von Virtualisierungs-E/A-Verarbeitungsverzögerungen | |
DE112011105683B4 (de) | Abgeschlossene(s) Alterungsüberwachungsvorrichtung und -verfahren auf Pfadebene | |
DE102013224638B4 (de) | Auf-Paket-Mehr-Prozessor-Masse-referenzierte-Einzel-Ende-Zwischenverbindung | |
DE112016004314T5 (de) | Programmierbare zeitgebung von chipinterner terminierung in einem mehrrangigen system | |
DE112013000758T5 (de) | Erzeugen von Taktsignalen für einen zyklusgenauen, zyklusreproduzierbaren FPGA-gestützten Hardware-Beschleuniger | |
DE102013224101A1 (de) | Verbinden mehrerer Slave-Vorrichtungen mit einem einzigen Master | |
DE10235448A1 (de) | Eichverfahren und Speichersystem | |
DE602005002931T2 (de) | Prüfung eines Testobjekts mit Abtastung vom Taktsignal und vom Datensignal | |
DE112020004583T5 (de) | Adaptiver digitaler on-chip-leistungsschätzer | |
DE112013003766T5 (de) | Schnelles Entzerren beim Verlassen eines Niedrigenergie-Teilbreite-Hochgeschwindigkeitsverbindungszustands | |
DE112021004180T5 (de) | Speichersubsystemkalibrierung unter verwendung von ersatzergebnissen | |
DE112021002267T5 (de) | System und verfahren zum synchronisieren von knoten in einer netzwerkvorrichtung | |
DE102007016309A1 (de) | Verfahren zur DDR-Empfängerleseresynchronisation | |
DE112011105692T5 (de) | Verfahren und eine Vorrichtung zur Injektion von Fehlern in einen Speicherhintergrund | |
DE112019002100T5 (de) | Zugriff auf dram durch wiederverwendung von pins | |
DE10048402A1 (de) | Datenspeichersystem | |
DE102012105159A1 (de) | Fehlertolerante Speicher | |
DE112013005833T5 (de) | Analyse zeitlicher Leitungsengpässe zur Steuerung einer Optimierung mit nützlichem Versatz | |
DE102013222471B4 (de) | Erzeugung und verteilung einer synchronisierten zeitquelle |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R082 | Change of representative |
Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE Representative=s name: SPIES DANNER & PARTNER PATENTANWAELTE PARTNERS, DE Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0012000000 Ipc: G11C0029000000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: G06F0012000000 Ipc: G11C0029000000 Effective date: 20140314 |
|
R082 | Change of representative |
Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R016 | Response to examination communication | ||
R082 | Change of representative |
Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R082 | Change of representative |
Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE |
|
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R084 | Declaration of willingness to licence | ||
R020 | Patent grant now final |