DE112011104682B4 - Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem - Google Patents

Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem Download PDF

Info

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
Application number
DE112011104682.0T
Other languages
English (en)
Other versions
DE112011104682T5 (de
Inventor
William Mark Zevin
Lydia Do
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011104682T5 publication Critical patent/DE112011104682T5/de
Application granted granted Critical
Publication of DE112011104682B4 publication Critical patent/DE112011104682B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

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

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.

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 beschreibt Systeme und Verfahren für einen Ausgleich innerhalb eines DRAM-Zyklus. Dabei werden zusätzliche additive Schreib-Verzögerung und/oder additive Lese-Verzögerungen in einem Speicherbaustein berücksichtigt. Dabei werden die Schreib- und/oder Leseverzögerung zwischen einzelnen Bereichen des Speichers ausgeglichen. Das Dokument WO 02/099661 A2 beschreibt ein Verfahren und eine Vorrichtung für eine genaue Bestimmung einer Datenankunft in einem Speicher relativ zu einem Schreibtakt. Die aktuelle Datenankunftszeit bei der Speichervorrichtung wird ermittelt aus einem Senden eines Back-to-Back-Schreibkommandos zusammen mit einem vorher festgelegten Datenmuster.
  • 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-Einheit 104 gemäß einer Ausführungsform kalibriert wird. Wie in 1 gezeigt, steht eine Speichersteuereinheit 102 mit einer DRAM-Einheit 104 über einen Speicherbus 106 im Datenaustausch. In einer Ausführungsform ist der Speicherbus 106 bidirektional. In einer weiteren Ausführungsform handelt es sich bei dem Speicherbus 106 um zwei unidirektionale Busse. In einer Ausführungsform überträgt der Speicherbus 106 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 Speichersteuereinheit 102 und der DRAM-Einheit 104.
  • 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-Einheiten 204 parallel kalibriert wird. Wie in 2 gezeigt, steht eine Speichersteuereinheit 202 mit einer Vielzahl von DRAM-Einheiten 204 über eine Vielzahl von Speicherbussen 206 im Datenaustausch. Wie in 2 gezeigt, sind die Speichersteuereinheit 202 und die DRAM-Einheiten 204 auf einem Speichermodul 208 angeordnet. In einer Ausführungsform ist die Speichersteuereinheit 20 auf einer Hub-Einheit oder Puffereinheit angeordnet oder in dieser enthalten, die auf dem Speichermodul 208 angeordnet ist. In einer Ausführungsform steht die Speichersteuereinheit 202, die auf dem Speichermodul 208 angeordnet ist, mit einer weiteren (nicht gezeigten) Speichersteuereinheit im Datenaustausch, die das Speichermodul 208 und möglicherweise weitere Speichermodule steuert. In einer Ausführungsform sind die Speicherbusse 206 bidirektional. In einer weiteren Ausführungsform enthalten die Speicherbusse 206 zwei unidirektionale Busse. Bei einer Ausführungsform übertragen die Speicherbusse 206 Taktsignale, Daten, Befehle und ein Daten-Strobesignal zwischen der Speichersteuereinheit 202 und den DRAM-Einheiten 204.
  • 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 in 3 gezeigt, steht eine Speichersteuereinheit 302 mit einer Vielzahl von DRAM-Einheiten 304 über einen gemeinsam genutzten Adressen/Befehls/Takt-Bus 306 (der in diesem Zusammenhang auch als eine „Adress- und Steuerlogik-Schnittstelle“ bezeichnet wird) im Datenaustausch. Wie ebenfalls in 3 gezeigt, weist jeder DRAM seine eigene Datenschnittstelle 308 (z.B. einen Datenbus) zum Verbinden mit der Speichersteuereinheit 302 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 Speichersteuereinheit 102 umgesetzt wird, um gemäß einer Ausführungsform eine CWL-Kalibrierung auszuführen. Bei einer Ausführungsform wird die gesamte oder ein Teil der Verarbeitung von 4 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 DRAM 104 im Block 402. 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 Block 404 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 Block 408 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 Block 402 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 Block 402 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 Block 412 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-Einheit 104 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 Block 502 empfängt die DRAM-Einheit einen FWL-Prüfbetriebsartbefehl von einer Speichersteuereinheit wie etwa der Speichersteuereinheit 102, und im Block 504 tritt die DRAM-Einheit in die FWL-Prüfbetriebsart ein, in der sie auf einen Schreibbefehl wartet. Im Block 506 empfängt die DRAM-Einheit den Schreibbefehl von der Speichersteuereinheit und beginnt im Block 508 mit dem Zählen von Taktzyklen. Wenn der DRAM im Block 510 das Signal DQS erkennt, beendet er im Block 512 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 Block 514 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 Block 516 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 Taktbus 602, einen Datenbus 604, einen Adressen/Befehlsbus 606 und ein Daten-Strobesignal 608. Wie in der Ausführungsform von 6 gezeigt, sendet die Speichersteuereinheit einen Betriebsartregisterbefehl 610, der eine FWL-Prüfbetriebsart spezifiziert, über den Adressen/Befehlsbus 606 zu der DRAM-Einheit. Wie in 6 gezeigt, folgt einem Schreibbefehl 612, der auf dem Adressen/Befehlsbus 606 von der Speichersteuereinheit zu der DRAM-Einheit gesendet wird, ein Strobesignal 616 auf dem Daten-Strobesignal 608. Wie zuvor unter Bezugnahme auf 4 beschrieben, ist die Anzahl von Taktzyklen zwischen dem Schreibbefehl 612, der gesendet wird, und dem Strobesignal 616 gleich dem programmierten CWL-Wert, der durch die Speichersteuereinheit während der Systemkonfiguration festgelegt wurde.
  • Wie in 6 gezeigt, kommt eine Antwort 614 von der DRAM-Einheit über den Datenbus 604 zurück zur Speichersteuereinheit. Wie zuvor unter Bezugnahme auf 5 beschrieben, enthält die Antwort 614 Daten, die die Differenz zwischen einem Ist-CWL-Wert (der an der DRAM-Einheit beobachtet wird) und dem programmierten CWL-Wert angeben. Inhalte der Antwort 614 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 Antwort 614 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-Antwort 614 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-Antwort 614 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-Antwort 614 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)

  1. 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.
  2. Verfahren nach Anspruch 1, wobei das Eintreten in eine Prüfbetriebsart in Reaktion auf ein Empfangen eines Befehls von der Speichersteuereinheit erfolgt.
  3. 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.
  4. Verfahren nach Anspruch 1, das ferner ein Empfangen der programmierten CWL von der Speichersteuereinheit aufweist.
  5. Verfahren nach Anspruch 1, wobei die berechnete Differenz als eine Anzahl von Eins-Bits und Null-Bits codiert ist.
  6. Verfahren nach Anspruch 1, wobei die Differenz in Taktzyklen gemessen wird.
  7. 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.
  8. 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.
  9. 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.
  10. Vorrichtung, die Mittel aufweist, die angepasst sind, alle Schritte des Verfahrens gemäß einem der vorhergehenden Verfahrensansprüche auszuführen.
DE112011104682.0T 2011-01-06 2011-12-21 Kalibrieren der Strobesignal-Schreiblatenzzeit (CWL) an Spaltenadressen in einem Speichersystem Active DE112011104682B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 富士通セミコンダクター株式会社 タイミング調整回路及びタイミング調整方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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