DE102016108890B4 - Digitale Phasenregelung mit programmierbarer Nachführungssteigung - Google Patents

Digitale Phasenregelung mit programmierbarer Nachführungssteigung Download PDF

Info

Publication number
DE102016108890B4
DE102016108890B4 DE102016108890.0A DE102016108890A DE102016108890B4 DE 102016108890 B4 DE102016108890 B4 DE 102016108890B4 DE 102016108890 A DE102016108890 A DE 102016108890A DE 102016108890 B4 DE102016108890 B4 DE 102016108890B4
Authority
DE
Germany
Prior art keywords
phase
code
coarse
slope
signal
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
DE102016108890.0A
Other languages
English (en)
Other versions
DE102016108890A1 (de
Inventor
Fangxing Wei
Setul M. Shah
Michael J. Allen
Khushal N. Chandan
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of DE102016108890A1 publication Critical patent/DE102016108890A1/de
Application granted granted Critical
Publication of DE102016108890B4 publication Critical patent/DE102016108890B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0814Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0816Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter and the frequency- or phase-detection arrangement being connected to a common input
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0818Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter comprising coarse and fine delay or phase-shifting means

Landscapes

  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)

Abstract

Phasenkompensation in einer Schaltung für E/A (Eingabe/Ausgabe) umfasst variable programmierbare Steigung. Eine Phasenkompensationsschaltung kann Phasenkompensation einer Steigung anwenden und die Steigung der Phasenkompensation dynamisch ändern, um bessere Verfolgung von Umgebungsbedingungen zu erlauben. Die Phasenkompensationsschaltung kann einen linearen Code zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals mit einer Phase eines Timingsignals erzeugen. Die Schaltung justiert den linearen Code selektiv mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird. Die Schaltung wendet den justierten linearen Code auf einen Verriegelungskreis zur Verriegelung der Phase des E/A-Signals mit der Phase des Timingsignals an.

Description

  • TECHNISCHES GEBIET
  • Ausführungsformen der Erfindung betreffen allgemein digitale Schaltungen für Eingabe/Ausgabe (E/A) und insbesondere einen Phasenregelkreis mit programmierbarer Verfolgungssteigung.
  • COPYRIGHT-VERMERK/ZULASSUNG
  • Teile der Offenbarung dieser Patentschrift können Material enthalten, dass dem Urheberrechtsschutz unterliegt. Der Eigentümer des Urheberrechts hat keine Einwände gegen die Wiedergabe der Patentschrift oder der Patentoffenbarung, sowie sie in den Registern oder Aufzeichnungen des Patent and Trademark Office erscheint, durch beliebige Personen, behält sich aber ansonsten jegliche Urheberrechte vor. Der Copyright-Vermerk gilt für alle Daten, die nachfolgend beschrieben werden, und in den hier beigefügten Zeichnungen sowie für beliebige nachfolgend beschriebene Software: Copyright© 2015; Intel Corporation, All Rights Reserved.
  • STAND DER TECHNIK
  • Die E/A (Eingabe/Ausgabe) zwischen Vorrichtungen erlaubt verschiedenen Systemkomponenten, zum Betrieb von Datenverarbeitungssystemen miteinander zu kommunizieren. Datenverarbeitungssysteme werden in äußerst vielfältigen Verbraucher- und kommerziellen Vorrichtungen verwendet. Datenverarbeitungssysteme umfassen Speichersubsysteme zum Speichern von und Bereitstellen von Zugriff auf Code und Daten, die durch einen Prozessor des Datenverarbeitungssystems ausgeführt werden. E/A ist in Speichersystemen wichtig, um den Transfer von Daten zwischen dem Prozessor und den Speicherressourcen, die den Code und die Daten speichern, zu erlauben.
  • Spezifische Speichertechnologien haben Standards, die für das Timing gelten, das der E/A zugeordnet ist, denen Vorrichtungen genügen müssen, um als konform betrachtet zu werden. DDR-(Doppeldatenraten-)Speicher-E/A-Systeme stellen Phasenkompensation bereit, um ein Datensignal mit einem Takt- oder Timingsignal zu verriegeln. Ein Beispiel für DDR-E/A-Phasenkompensation ist die Verwendung eines DLL (Verzögerungsregelkreises), der eine variable Verzögerung einer Taktflanke zur Justierung des Timings des Taktsignals bereitstellt. Die Menge an Phasenkompensation pro Justierung (in der Industrie oft als "Schrittgröße" bezeichnet) steuert, wie schnell oder langsam der DLL auf das korrekte Phasentiming einrasten kann. Bei einer DDR-Implementierung besteht eine DLL-Einrastspezifikation, die erfordert, dass der DLL innerhalb einer spezifizierten Anzahl von Taktzyklen einrastet.
  • Es besteht ein Kompromiss bezüglich der Menge an Phasenkompensation pro Justierung: feinere Justierungen erlauben genaueres Einrasten, wodurch die Signalqualität verbessert wird, während gröbere Justierungen dem DLL erlauben, innerhalb von Spezifikationstiminganforderungen einzurasten. In einem Speichersubsystem, das durch eine Stromversorgung mit viel Rauschen versorgt wird, können feinere Justierungen im Rauschen untergehen, was verhindern kann, dass der DLL auch nur die ordnungsgemäße Phase "einholt" und ein Einrasten erreicht. Deshalb gibt es sowohl bei gröberer Phasenjustierungsgröße als auch bei feinerer Phasenjustierungsgröße Vorteile und Nachteile.
  • Zusätzlich zu den Beschränkungen bezüglich Phasenjustierungsgröße entstehen bei traditionellen Speichersubsystem-E/A-Entwürfen auch Fehler, die durch den Einrastpositions-Suchmechanismus eingeführt werden. Die meisten aktuellen digitalen DLL-Entwürfe verwenden einen Schieberegisterentwurf als Phasenregler und verwenden Binärsuche zur Bestimmung der Einrastposition. Die Binärsuche auf der Basis des Schieberegisterentwurfs kann Oberschwingungseinrasten verursachen (Einrasten auf eine Oberschwingung statt auf die Primärphase des Taktsignals). Der Schieberegister-Automatensteuerungsentwurf ist sehr kompliziert, was zu Gesamtsystemkomplexität und Kosten beiträgt. Die Binärsuche ist typischerweise bei der Verfolgung unter rauschbehafteten Bedingungen unflexibel.
  • Aus US4295098 ist folgendes bekannt: Ein Zähler erzeugt als Funktion der Zeit eine M-Bit-Zählung von Zyklen eines periodischen Signals. Eine Speichervorrichtung speichert einen veränderbaren Wert, der durch N Bits dargestellt wird, die M Bits höherer Ordnung und N – M Bits niedrigerer Ordnung umfassen. Ein Addierer erzeugt M Bits, die der Summe von M Zählerbits und M Bits höherer Ordnung entsprechen. Ein Digital-Analog-Wandler erzeugt ein Wechselsignal entsprechend dem Wert der M summierten Bits und N – M Bits niedrigerer Ordnung, wobei die Phase des Wechselsignals relativ zu einem beliebigen Referenzsignal dem in der Speichervorrichtung gespeicherten Wert entspricht.
  • In US2004100313 ist eine DLL-Schaltung mit einem geringen Jitter in einer Halbleitervorrichtung beschrieben, die eine Verzögerungsmodelleinheit zum Kompensieren einer Zeitdifferenz zwischen einem externen Taktsignal und einem internen Taktsignal und zum Erzeugen eines Kompensationssignals enthält. Weiter sind beschrieben ein Eingangspuffer zum Empfangen eines Referenztaktsignals und eines invertierten Taktsignals und zum Ausgeben eines Taktsignals und eines an jedem Kanten des Referenztaktsignals aktivierten invertierten Taktsignals und des invertierten Taktsignals, eine Phasendetektionseinheit zum Erzeugen eines Vergleichssignals durch Vergleichen des Kompensationssignals mit dem invertierten Taktsignal und zum Ausgeben des Vergleichssignals mit einem Normalmodus oder einem Schnellmodus; eine Steuereinheit zum Erzeugen einer Vielzahl von Steuersignalen durch Empfangen des Vergleichssignals, des invertierten Taktsignals und des Taktsignals, eine Verzögerungseinheit zum Verzögern in Reaktion auf die Vielzahl von Steuersignalen und einen Ausgangspuffer zum Ausgeben eines verzögerten Taktsignals durch Empfangen eines Ausgangssignals des Tastkorrektors.
  • In US2010327926 A1 ist eine DLL-Schaltung mit: einer Phasendifferenzmengenerfassungsschaltung beschrieben, die einen variablen Wert ausgibt, der einen Betrag der Phasendifferenz zwischen einem ersten Taktsignal und einem zweiten Taktsignal anzeigt; eine variable Verzögerungsschaltung, die das erste Taktsignal auf der Grundlage des variablen Wertes verzögert, um ein drittes Taktsignal zu erzeugen; und einen Replikapuffer, der das zweite Taktsignal auf der Grundlage des dritten Taktsignals erzeugt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die folgende Beschreibung umfasst eine Besprechung von Figuren mit Darstellungen, die beispielhaft für Implementierungen von Ausführungsformen der Erfindung gegeben werden. Die Zeichnungen sollten beispielhaft aufgefasst werden, und auf keine Weise als Beschränkung. Im vorliegenden Gebrauch sind Erwähnungen einer oder mehrerer "Ausführungsformen" als ein bestimmtes Merkmal, eine bestimmte Struktur und/oder ein bestimmtes Charakteristikum, das bzw. die in mindestens einer Implementierung der Erfindung enthalten ist, beschreibend aufzufassen. Phrasen wie "bei einer Ausführungsform" oder "bei einer alternativen Ausführungsform", die hier erscheinen, beschreiben somit verschiedene Ausführungsformen und Implementierungen der Erfindung und beziehen sich nicht unbedingt alle auf dieselbe Ausführungsform. Sie schließen sich jedoch auch nicht unbedingt gegenseitig aus.
  • 1 ist eine Ausführungsform einer Blockdarstellung eines Systems, das Phasenregelung für ein zwischen zwei Vorrichtungen ausgetauschtes E/A-Signal, einschließlich Phasensteigungssteuerung, anwendet.
  • 2 ist eine Ausführungsform einer Blockdarstellung eines Systems, das Phasenkompensationssteuerung mit einer programmierbaren Steigung erzeugt.
  • 3 ist eine Diagrammdarstellung einer Ausführungsform von Phasenverriegelung auf der Basis einer programmierbaren Steigung.
  • 4 ist eine Ausführungsform einer Blockdarstellung eines Systems, in dem Phasenregelung grobe Regelung und feine Regelung umfasst, die XOR-verknüpft werden, um ein Dreieck-Regelmerkmal zu erzeugen, das Phasenregelung von variierender Steigung bereitstellen kann.
  • 5 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum Erzeugen linearer Phasenregelung mit variierender Kompensationssteigung.
  • 6 ist eine Blockdarstellung einer Ausführungsform eines Datenverarbeitungssystems, in dem E/A-Phasenverzögerungsregelung mit variierender Steigung implementiert werden kann.
  • 7 ist eine Blockdarstellung einer Ausführungsform einer mobilen Vorrichtung, in dem E/A-Phasenverzögerungsregelung mit variierender Steigung implementiert werden kann.
  • Es folgen Beschreibungen bestimmter Einzelheiten und Implementierungen, darunter eine Beschreibung der Figuren, die einige oder alle der nachfolgend beschriebenen Ausführungsformen abbilden können, sowie Besprechung anderer potentieller Ausführungsformen oder Implementierungen der erfindungsgemäßen Konzepte, die hier dargelegt werden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Wie hier beschrieben, umfasst Phasenkompensation in einer Schaltung für E/A (Eingabe/Ausgabe) variable programmierbare Steigung. Die Phasenkompensation wird von einer linearen Steuerung angewandt, die Phasenkompensation einer Steigung anwenden und die Steigung der Phasenkompensation dynamisch ändern kann, um eine bessere Verfolgung von Umgebungsbedingungen zu erlauben. Die Phasenkompensationsschaltung kann einen linearen Code zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals mit einer Phase eines Timingsignals erzeugen. Die Schaltung justiert selektiv den linearen Code mit einer variablen programmierbaren Steigung, wobei die Steigung die Phasenkompensationsgröße definiert, oder wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird. Die Schaltung wendet den justierten linearen Code auf einen Regelkreis an, um die Phase des E/A-Signals mit der Phase des Timingsignals zu verriegeln.
  • Mit variabler programmierbarer Phasenjustierungssteigung kann die Verriegelungsschaltung schnelleres Einrasten gewährleisten, um grobe Phasenkompensation schnell bereitzustellen, und langsamere Verfolgung zur Verbesserung der Einrastgenauigkeit und Verringerung von Verfolgungsjitter. Durch Verwendung solcher Phasenkompensation kann ein DLL in der spezifizierten Anzahl von Taktzyklen für bestimmte DDR-(Doppeldatenraten-)E/A-Anforderungen einrasten. Da die Phasenjustierung programmierbar ist, kann der DLL oder eine andere Phasenkompensationsschaltung den Betrieb für verschiedene Umgebungsbedingungen justieren, wie etwa Stromversorgungsrauschen oder anderes Rauschen verschiedener Amplituden und Frequenzen. Bei einer Ausführungsform kann die Phasenkompensation somit auf sich ändernde Umgebungsbedingungen reagieren, indem die Verfolgungssteigung geändert wird.
  • Bei einer Ausführungsform verwendet die Phasenkompensationsschaltung ein paralleles Phasenkompensationssystem mit einer groben Verriegelung und einer feinen Verriegelung. Die Phasenkompensation kann getrennten Grob-Code und Fein-Code erzeugen, um die verschiedenen Verriegelungs-/Verfolgungsmechanismen zu steuern. Die Phasenkompensationsschaltung kann eine grobe Verriegelung finden, indem der Grob-Code durchlaufen wird, bis ein Rückkopplungssignal angibt, dass die justierte Taktflanke eine Referenztaktflanke überschreitet. Bei einer Ausführungsform speichert die Phasenkompensationsschaltung den Grob-Verriegelungscode in einer Speichervorrichtung ab und triggert dann langsame Verfolgung mit einer feineren Phasenjustierungsgröße. Nach dem Einrasten auf die Phase mit feinen Phasenjustierungen kann das System weiter Änderungen der Umgebungsbedingungen (z.B. Temperaturänderung, durch Stromversorgungsrauschen verursachte Änderung) mit den feinen Phasenjustierungen verfolgen. Wenn die Rückkopplung angibt, dass die Verriegelung verloren geht, kann das System zu groben Phasenjustierungen zurückkehren.
  • Eine Erwähnung von Speichervorrichtungen kann für verschiedene Speichertypen gelten. Speichervorrichtungen beziehen sich im Allgemeinen auf flüchtige Speichertechnologien. Flüchtiger Speicher ist ein Speicher, dessen Zustand (und deshalb die in ihm gespeicherten Daten) unbestimmt ist, wenn die Versorgung der Vorrichtung unterbrochen wird. Nichtflüchtiger Speicher bezieht sich auf einen Speicher, dessen Zustand bestimmt ist, selbst wenn die Versorgung der Vorrichtung unterbrochen wird. Dynamischer flüchtiger Speicher erfordert Auffrischen der in der Vorrichtung gespeicherten Daten, um den Zustand aufrechtzuerhalten. Ein Beispiel für dynamischen flüchten Speicher wäre DRAM (dynamischer Direktzugriffsspeicher) oder eine bestimmte Variante wie synchroner DRAM (SDRAM). Ein Speichersubsystem wie hier beschrieben kann mit einer Anzahl von Speichertechnologien kompatibel sein, DDR4 (DDR-Version 4, anfängliche Spezifikation veröffentlicht im September 2012 von JEDEC), LPDDR4 (LOW POWER DOUBLE DATA RATE (LPDDR) Version 4, JESD209-4, ursprünglich veröffentlicht von JEDEC im August 2014), WIO2 (Wide I/O 2 (WideIO2), JESD229-2, ursprünglich veröffentlicht von JEDEC im August 2014), HBM (HIGH BANDWIDTH MEMORY DRAM, JESD235, ursprünglich veröffentlicht von JEDEC im Oktober 2013), DDR5 (DDR Version 5, gerade unter Besprechung durch JEDEC), LPDDR5 (gerade unter Besprechung durch JEDEC), WIO3 (Wide I/O 3, gerade unter Besprechung durch JEDEC), HBM2 (HBM Version 2), gerade unter Besprechung durch JEDEC) und/oder andere und Technologien auf der Basis von Ableitungen oder Erweiterungen solcher Spezifikationen. Zusätzlich zu der E/A für Speichervorrichtungen können die Phasenkompensationstechniken auf andere Kommunikation zwischen Vorrichtungen angewandt werden, bei der Phasenkompensation verwendet werden kann, um ein Befehls- oder Datensignal mit einem Taktsignal auszurichten.
  • 1 ist eine Ausführungsform einer Blockdarstellung eines Systems, das Phasenregelung für ein zwischen zwei Vorrichtungen ausgetauschtes E/A-Signal, einschließlich Phasensteigungssteuerung, anwendet. Das System 100 stellt ein Beispiel für ein Speichersubsystem mit E/A-Phasenregelung bereit, das programmierbare variable Steigungsteuerung zur Phasenkompensation bereitstellt. Der Speicher 130 repräsentiert Speicherressourcen in dem System 100. Zum Beispiel kann jede Speichervorrichtung eine DRAM-Vorrichtung sein. Das Speicherarray 134 umfasst Zellen oder adressierbare Speicherstellen, die Datenbit speichern. Das Speicherarray 134 repräsentiert die Speicherressourcen, in denen Daten als Reaktion auf einen Schreibbefehl gespeichert werden und auf die als Reaktion auf einen Lesebefehl zugegriffen wird. Der Speicher 130 und die Speicherstellen in dem Array 134 können als Kanäle, Ränge, Banden, DIMMs (Dual Inline Memory Modules) und/oder andere Weisen zur Verwaltung der Speicheradressierung und des Speicherzugriffs organisiert werden.
  • Die Speichersteuerung 110 repräsentiert eine Schaltung oder Steuerlogik zum Steuern des Zugriffs auf den Speicher 130. Die Speichersteuerung 110 kann als eine diskrete Vorrichtung, als eine Schaltung, die Teil eines primären Prozessors ist, oder als ein in ein System auf einem Chip integrierter Chip implementiert werden. Bei einer Ausführungsform ist die Speichersteuerung 110 Teil einer (nicht gezeigten) Zentralverarbeitungseinheit, die Hostverarbeitungssteuerung für ein Datenverarbeitungssystem bereitstellt, indem das System 100 ein Teil ist. Es gibt gewöhnlich eine Speichersteuerung pro Kanal des Speichers; somit können in einem Hostsystem eine oder mehrere unabhängige Speichersteuerungen vorliegen.
  • Die Speichersteuerung 110 umfasst E/A 120 zur Kommunikation mit Chips oder anderen Vorrichtungen außerhalb der Speichersteuerungsvorrichtung. Zum Beispiel kommuniziert die Speichersteuerung 110 über die E/A 120 mit Speicher 130. Der Speicher 130 umfasst E/A 140 zur Verbindung mit den Signalleitungen, die die elektrische oder Signalisierungsschnittstelle zwischen der Speichersteuerung 110 und dem Speicher 130 bereitstellen. Die E/A 120 kann eine (nicht spezifisch gezeigte) Schnittstelle für Befehle/Adressen (C/A) umfassen, um es der Speichersteuerung 110 zu ermöglichen, dem Speicher 130 Befehle und Steuersignale zuzuführen. Die E/A 140 des Speichers 130 kann eine entsprechende C/A-Schnittstelle zum Empfangen der Befehle und Steuersignale umfassen.
  • Bei einer Ausführungsform umfasst die E/A 120 eine Takt-(CLK)-Schnittstelle 122 und eine Datenschnittstelle 124. Die E/A 140 umfasst entsprechende Schnittstellen Takt 142 und Daten 144. Die Taktschnittstelle kann der Speichersteuerung ermöglichen, ein Timingsignal oder Taktsignal für den Speicher 130 zum Empfangen und Senden von Daten bereitzustellen. Somit kann der Speicher 130 mit dem Timing der zu und von der Speichersteuerung 110 gesendeten Daten ausgerichtet sein, so dass beide Vorrichtungen die E/A synchronisieren können. Die Datenschnittstelle ermöglicht der Speichersteuerung 110, bei einer Schreibtransaktion Daten zu dem Speicher 130 zu senden und dem Speicher 130, bei einer Lesetransaktion Daten zu der Speichersteuerung zu senden. Bei einer Ausführungsform tauschen die Speichersteuerung 110 und der Speicher 130 Daten auf der Basis von Signalen aus, die Phasenkompensation benötigen, um ordnungsgemäße Signalisierungsreserven sicherzustellen. Bei einer Ausführungsform umfasst die Speichersteuerung 110 (nicht spezifisch gezeigte) Phasenregelung.
  • Bei einer Ausführungsform umfasst der Speicher 130 ein oder mehrere Register 132, die Modusregister anderer Speichervorrichtungen repräsentieren können, die Konfigurationseinstellungen oder Betriebseinstellungen mit Bezug auf E/A speichern. Bei einer Ausführungsform speichert das Register 132 einen oder mehrere Codes in Bezug auf E/A-Phasenkompensationssteigung. Bei einer Ausführungsform bestimmt das Register 132, welche Steigung der Phasenkompensation zum Verriegeln der E/A-Phase verwendet wird. Bei einer Ausführungsform umfasst der Speicher 130 eine Phasenregelung 146 zum Ausrichten von Signalen auf der Datenschnittstelle 144 mit dem Taktsignal auf dem Takt 142. Die Phasenregelung 146 arbeitet auf der Basis von in dem Register 132 oder seinem Äquivalent gespeicherten Werten.
  • Somit repräsentiert die Phasenregelung 146 Logik in dem Speicher 130 zur Bereitstellung von Phasenjustierung zur Ausrichtung der Kommunikation über die Datenschnittstelle 144 mit dem Taktsignal. Bei einer Ausführungsform umfasst die Phasenregelung 146 Logik in einer internen Steuerung des Speichers 130. Die interne Steuerung des Speichers 130 steuert das Timing und interne Befehle zur Ausführung von Operationen zur Ausführung der durch die Speichersteuerung 110 bereitgestellten Befehle. Bei einer Ausführungsform umfasst die Phasenregelung 146 einen Regelkreis, wie etwa einen digitalen Verzögerungsregelkreis (DLL) oder Phasenregelkreis (PLL) zur Bereitstellung von Phasenkompensation. Die Phasenregelung 146 kann das Timing bezüglich Rauschen und Drift und andere Bedingungen, die ein Offset zwischen den Datenflanken und den Taktflanken verursachen können, justieren. Die Phasenregelung 146 kann gemäß einer beliebigen hier beschriebenen Ausführungsform der Phasenregelung arbeiten. Die Phasenregelung 146 umfasst Steigungssteuerung 148, um der Phasenregelung zu ermöglichen, die Phasenkompensation mit verschiedenen Phasenjustierungsgrößen zu programmieren.
  • Bei einer Ausführungsform kann die Phasenregelung 146 durch Durchlaufen eines DLL-Grob-Codes für eine Grob-Verzögerungskette, bis eine DLL-Rückkopplungstaktflanke eine DLL-Referenztaktflanke überschreitet, eine grobe Verriegelung finden. Bei einer Ausführungsform kann die Phasenregelung 146 dann den Grob-Verriegelungscode in einer Speichervorrichtung (wie etwa dem Register 132 oder anderer Speicherung in dem Speicher 130) abspeichern und den DLL dann in den langsamen Verfolgungsmodus versetzen. Bei einer Ausführungsform lädt die Phasenregelung 146 den abgespeicherten DLL-Grob-Verriegelungscode neu und triggert über die Steigungssteuerung 148 den DLL dazu, in einer feinen Verfolgung mit einer anderen Phasenjustierungsgröße (einer anderen Steigung) zu arbeiten.
  • 2 ist eine Ausführungsform einer Blockdarstellung eines Systems, das Phasenkompensationssteuerung mit einer programmierbaren Steigung erzeugt. Die Schaltung 200 liefert ein Beispiel für eine Phasenkompensationsschaltung gemäß einer Ausführungsform der Phasenregelung 146 des Systems 100. Die Schaltung 200 kann auch als E/A-Regelschaltung bezeichnet werden, da sie die Phase des für E/A verwendeten Takts regelt. Die Schaltung 200 empfängt eine Takteingabe, die als PAD_CLK oder Pad-Takt identifiziert wird. Das Pad-Taktsignal ist ein Takt- oder Synchronisationssignal, das dem Speichersubsystem zugeführt wird, das die Schaltung 200 umfasst. Es versteht sich, dass, obwohl sie im Hinblick auf eine Speichervorrichtung oder ein Speichersubsystem beschrieben wird, die Schaltung 200 in einer beliebigen E/A-Schnittstelle zwischen Vorrichtungen enthalten sein kann, bei denen ein Taktsignal den Austausch eines Daten- oder Informationssignals begleitet. Somit sind Ausführungsformen der Erfindung nicht auf Speichervorrichtungen beschränkt.
  • Der Pad-Takt ist eine Eingabe in die E/A-Schaltung und wird im RX-Puffer 212 gepuffert. Die Eingabe kann zum Beispiel an einem Pin oder Pad oder anderer Eingangshardware der Schaltung 200 empfangen werden. Es besteht eine Verzögerung von D1 beim Empfang des Taktsignals. Die Schaltung 200 justiert das Eingangstaktsignal mit variabler Verzögerung 214. Bei einer Ausführungsform wird die variable Verzögerung 214 durch eine Phasenkompensationsschaltung bereitgestellt oder stellt einen Teil einer Phasenkompensationsschaltung dar. Bei einer Ausführungsform stellt die Schaltung 200 variable Verzögerung mit Phasenkompensation eines parallelen Typs bereit, mit einer Grob-Verzögerungskette und einem Fein-Verzögerungsmischer. Eine solche Schaltung kann gemäß einer beliebigen Ausführungsform sein, die in der gleichzeitig eingereichten US-Patentanmeldung Nr. TBD (P82402) beschrieben wird, die den gleichen Erfinder aufweist und gleichzeitig hiermit eingereicht wird. Bestimmte Einzelheiten eines Automaten und einer Verzögerungsschaltung werden nachfolgend mit Bezug auf 4 und 5 gegeben.
  • Die variable Verzögerung 214 führt eine variable, programmierbare Menge an Verzögerung in den Eingangstakt ein, um ein Datensignal mit dem Takt zu verriegeln. Der verzögerte Takt stellt eine Eingabe in die Sendepuffer 216 und 218 für DQS_OUT bzw. DQ_OUT bereit. Der verzögerte Takt wird in Schaltung 200 als DLL_CLK identifiziert. Die Signale DQS_OUT und DQ_OUT sind für Daten-Strobe und Datensignale. Der Pad-Takt kann auf einer an die Schaltung 200 angeschlossenen Signalleitung empfangen werden. Die DQ-Ausgänge bei 216 und 218 können für Datensignale sein, die auch über E/A-Signalleitungen gesendet werden. Die an dem E/A-Eingangstakt empfangenen Signale können über die Schaltung 200, die Phasenkompensation anwendet, um die Phase der E/A-Signale mit einer Phase eines Timin- oder Taktsignals zu verriegeln, mit dem Taktsignal phasenverriegelt werden.
  • Die Verzögerung für den Ausgang ist D2. Die Zeit durch variable Verzögerung ist als N·tCLK – (D1 + D2) oder Anzahl von Taktzyklen minus RX- und TX-Verzögerung dargestellt. Bei einer Ausführungsform ändert die variable Verzögerung 214 die Periode des Eingangstakts nicht, ändert aber die Triggerflanke (z.B. die ansteigende Flanke) des Taktsignals zur Berücksichtigung von Rauschen, Temperaturänderung und/oder anderen Umgebungsbedingungen, die Signaldrift verursachen können. Die Ausgabe der variablen Verzögerung 214 kann in den TX+RX-Dummy 230 rückgekoppelt werden, der einen angepassten oder verzögerungsäquivalenten Pfad wie den Pfad von Puffer 212 zu den Puffern 216 und 218 repräsentiert. Die Dummy-Route 230 weist somit die identische Verzögerung von N·tCLK – (D1 + D2) auf. Somit kann das Signal als Rückkopplung (FBCLK) zusammen mit dem ursprünglichen empfangenen Takt (REFCLK oder Referenztakt) in den Phasendetektor 220 rückgekoppelt werden, um ein Offset zwischen den Taktsignalen zu bestimmen.
  • Wie bereits erwähnt, kann die Phasendetektion 220 den Eingangstakt als einen Referenztakt und den vorherigen Zyklus mit angewandter variabler Verzögerung 24 als einen Rückkopplungstakt empfangen. Die Phasendetektion 220 kann ein Offset zwischen den Takten detektieren und dem Automaten 240 eine Eingabe zuführen, um zu bestimmen, in welchem Zustand sich das System befindet und wie Phasenkompensation auf den Takt anzuwenden ist. Der Automat 240 repräsentiert die Steuerlogik der Phasenkompensation. Der Automat 240 kann eine getrennte Steuerung auf einer Vorrichtung oder Teil einer existierenden Steuerung sein. Bei einer Ausführungsform umfasst die Steuerung, die das Timing und Operationen für die E/A in einem Chip oder einer Vorrichtung verwaltet, Steuerelemente der Schaltung 200.
  • Bei einer Ausführungsform umfasst der Automat 240 einen linearen Aufwärts-/Abwärtszähler. Bei einer Ausführungsform kann der Automat 240 einen ladbaren Zähler umfassen. Der Automat 240 stellt lineare Steuerung zur Erzeugung von variabler Verzögerung 214 bereit. Die lineare Steuerung wird aus Code erzeugt, mit dem die variable Verzögerung 214 gesteuert wird. Bei einer Ausführungsform umfasst der Automat 240 einen linearen Zähler, der einen Zählwert erzeugt, mit dem der Steuercode zur Steuerung der variablen Verzögerung 214 produziert wird. In einer parallelen Phasenkompensationsschaltung kann die Schaltung 200 eine DLL-Verzögerungskette mit einem oberen Teil für Grob-Verzögerungskompensation und einem unteren Teil für Fein-Verzögerungsmischung umfassen. Eine solche Kompensationsschaltung kann in dem Automaten 240 enthalten sein.
  • Der Automat 240 kann eine Anfangsbedingungseingabe (INIT_CONDITION) empfangen. Die Anfangsbedingungseingabe repräsentiert eine oder mehrere Einstellungen, die einen Startpunkt für Phasenkompensationsoperation durch die Schaltung 200 setzt. Bei einer Ausführungsform können Anfangsbedingungen konfiguriert werden, indem man einen oder mehrere Werte in ein Register (wie etwa das Register 132 des Systems 100) schreibt. Bei einer Ausführungsform können Anfangsbedingungen dafür konfiguriert werden, den Betrieb des Automaten in eine "Mitte" seines Betriebsbereichs zu setzen. Somit kann der Automat mit einem Offset beginnen, um Platz für Justierung nach oben oder nach unten zu lassen, abhängig von den detektierten Umgebungsbedingungen. Die Schaltung 200 kann Verriegelungsbetrieb von einem identifizierten voreingestellten Wert-Startpunkt für die Phasenkompensation aus einleiten und den zur Durchführung der Verriegelung verwendeten linearen Code auf der Basis von Anfangsbedingungen justieren.
  • Der Automat 240 kann eine als DLL_RESET identifizierte Rücksetzeingabe empfangen. Die Rücksetzeingabe triggert die Einleitung des Betriebs der Schaltung 200. Wenn die Schaltung betrieben wurde, können aktuelle Werte rückgesetzt werden und die Schaltung kehrt zu Anfangsbedingungen zurück. Die Rücksetzbedingung kann beim Herauffahren, Verlassen des Stromsparmodus oder zu anderen Zeiten auftreten, wenn die E/A nach einem heruntergefahrenen oder Stromsparzustand versorgt wird. Bei einer Ausführungsform beginnt, nachdem das Rücksetzsignal rückgesetzt wird (es könnte bei einer alternativen Ausführungsform beim Setzen auftreten), die Schaltung 200 einen schnellen Verriegelungsprozess. Während der schnellen Verriegelung kann der Zähler den Grob-Code heraufzählen, bis eine grobe Verriegelung erhalten wird. Bei einer Ausführungsform wird eine grobe Verriegelung identifiziert, wenn die Rückkopplungstaktflanke (FBCLK) die Referenztaktflanke (REFCLK) überschreitet. Bei einer Ausführungsform umfasst die Phasendetektion 220 einen Komparator, der ein Signal ausgibt, wenn die Rückkopplungstaktflanke den Referenztakt überschreitet. Eine solche Taktüberschreitung tritt auf, wenn der Grob-Code das Taktsignal das erste Mal "fängt".
  • Bei einer Ausführungsform triggert der Automat 240, nachdem die Grob-Verriegelung erhalten ist, eine Fein-Verzögerungsverriegelung, um eine genauere Fixierung an dem Signal zu erhalten. Bei einer Ausführungsform umfasst die Schaltung 200 einen oder mehrere Codeverschiebungsblöcke 252, 254, die sich auf die Steigung des linearen Verriegelungscodes auswirken. Bei einer Ausführungsform können die Codeverschiebungen 252, 254 betrachtet werden, um die Steigung oder Menge an Phasenkompensation pro Einheit Phasenjustierung zu programmieren. Bei einer Ausführungsform arbeiten die Codeverschiebungen 252, 254 als eine Justierung des Grob-Codes. Zum Beispiel können sie überhaupt nicht verschieben (d.h. dieselbe Steigung wie der Grob-Code behalten) oder eine Binärdivision des Grob-Codes durchführen, um eine andere Steigung zu erzeugen (z.B. Dividieren des Grob-Codes durch 1, 2, 4, 8, ...). Das Ausmaß der Verschiebung oder Binärdivision (z.B. durch Herausschieben von LSBs aus dem Grob-Code, um ihn herunterzuteilen) kann durch ein Auswahlbit, das als SEL_BIT_SHIFT identifiziert wird, programmiert oder ausgewählt werden. Bei einer Ausführungsform wird das Auswahlbit in einem Register gespeichert und wird aus einer Validierungssequenz bestimmt. In der Validierungssequenz kann das System einen oder mehrere E/A-Tests durchführen, um Umgebungsbedingungen (z.B. Spannung, Temperatur, Rauschen) zu bestimmen, die sich auf die E/A auswirken können. Auf der Basis der Umgebungsbedingungen kann das System (z.B. über einen Prozessor, der einen heuristischen Algorithmus berechnet) bestimmen, wie viel Steigung der Schaltung 200 erlauben wird, das Rauschen zu verfolgen, während die gewünschte Genauigkeit (z.B. gemessen durch Bestimmung der Fehlerleistungsfähigkeit) gewährleistet wird.
  • Bei einer Ausführungsform befindet sich die Codeverschiebung 254 zwischen dem Zähler des Automaten 240 und einer Verzögerungskette in der variablen Verzögerung 214. Somit kann die Codeverschiebung 254 eine Zählerausgabe (CODE OUT) auf die richtige Busposition verschieben, um die Grob-Verzögerung zu steuern. Bei einer Ausführungsform kommt während der schnellen Verriegelung der Fein-Verzögerungsmischcode aus der Anfangsbedingung (wie etwa einem gespeicherten oder abgespeicherten Wert aus einer vorherigen Fein-Verzögerungsmischsuche). Bei einer Ausführungsform speichert die Schaltung 200, nachdem die Phasendetektion 220 eine Grob-Verriegelung anzeigt, den Grob-Code, der zu der Verriegelung führte, in dem abgespeicherten Code 242. Der abgespeicherte Code 242 repräsentiert eine Speicherung (z.B. ein Register oder eine Speicherstelle in einem Speicher), die den Grob-Verriegelungscode behält.
  • Nach dem Erhalten einer groben Verriegelung kann der Automat 240 die schnelle Verriegelung verlassen und einen langsamen Verfolgungsmodus ausführen. Die langsame Verfolgung kann mit einer verschobenen Version des abgespeicherten Codes 242 erfolgen, die in die Codeverschiebungen 252, 254 rückgekoppelt wird. Um mit 1 Feinjustierungen pro Schleife zu verfolgen, kann die Schaltung 200 den gesamten abgespeicherten Grob-Verriegelungsverzögerungscode (abgespeicherten Code 242) (über die Codeverschiebung 252) in den Zähler des Automaten 240 laden, um eine einzige feine Aufwärts-/Abwärtsverfolgung durchzuführen. Um mit 2 Feinjustierungen pro Schleife zu verfolgen, kann SEL_BIT_SHIFT den abgespeicherten Code 242 um ein Bit verschieben, wobei das LSB abgeworfen wird, und den Rest des abgespeicherten Grob-Verriegelungsverzögerungscodes neu in den Zähler für Aufwärts-/Abwärtsverfolgung laden. Ähnlich können 4 Feinjustierungen und 8 Feinjustierungen erreicht werden, indem man mehr Bit aus dem Grob-Verriegelungsverzögerungscode (über die Codeverschiebung 252, 254) abwirft. Bei einer Ausführungsform triggert die Neulade-Signaleingabe in den Automaten 240 das Neuladen des Codes aus der Codeverschiebung 254 und/oder aus einer Anfangsbedingung (abhängig vom Zustand des Automaten 240).
  • Es versteht sich, dass die Schaltung 200 eine Weise zur Justierung der Steigung des zur Verfolgung verwendeten linearen Verzögerungscodes veranschaulicht. Es versteht sich, dass die Schaltung 200 mit einer größeren Steigung (Mehrphasenjustierung pro Einheit Änderung) schneller einrasten kann, und die Schaltung 200 mit einer kleineren Steigung (weniger Phasenjustierung pro Einheit Änderung) langsamer einrastet, aber mit kleinerem Verfolgungsjitter verfolgt. Mit programmierbaren Steigungen kann die Schaltung 200 verschiedene Umgebungsbedingungen verfolgen, wie etwa eine rauschbehaftete Stromversorgung mit unterschiedlicher Rauschamplitude und Rauschfrequenz.
  • Der einfache lineare Automat und die Steuerung der Schaltung 200 stehen im Gegensatz zu dem typischen DLL-Entwurf, der ein Schieberegister als Steuerung verwendet und Binärsuchen zur Bestimmung einer Einrastposition verwendet. Ein solcher traditioneller Ansatz kann Oberschwingungseinrastung verursachen. Die Schaltung 200 umfasst den Automaten 240, der eine lineare Verriegelungssuche aus minimalem Code verwendet, was Oberschwingungseinrastung vermeiden kann. Die Schaltung 200 erlaubt auch programmierbare Steigungen, was schnelle Einrastung, sowie sie durch traditionelle Entwürfe bereitgestellt wird, gewährleisten kann, aber bessere Flexibilität für die Verfolgung unter rauschbehafteten Bedingungen bietet. Außerdem kann der Automat 240 viel einfacher als existierende DLL-Automaten sein. Die Schaltung 200 kann relativ zu traditionellen DLL-Entwürfen aufgrund einfacherer Schaltkreise einen verringerten Stromverbrauch gewährleisten.
  • 3 ist eine Diagrammdarstellung einer Ausführungsform von Phasenverrieglung auf der Basis einer programmierbaren Steigung. Das Diagramm 300 gibt eine Veranschaulichung, wie die Anwendung programmierbarer Steigungen bewirkt, dass ein Automat zyklisch mehr Verzögerungscode durchläuft, um dieselbe Menge an Verzögerung zu lesen. Die Verzögerungsachse 302 ist über der Codeachse 304 aufgetragen. Die Verzögerung 302 repräsentiert, wie viel Verzögerung in die Phasenkompensation eingeführt wird. Der Code 304 repräsentiert, wie viel Code oder wie viele Zyklen durch den Code erforderlich wären, um die Verzögerung der Achse 302 zu erzielen. Die Verzögerungskettenverzögerung kann bei schneller Verriegelung oder grobem Verriegeln schneller mit weniger Steuercode bereitgestellt werden, und justiert sich dann langsamer mit feinerer Verzögerung.
  • Die Anfangsbedingung 312 repräsentieren einen Startpunkt für die Phasenkompensationsschaltung, der eine minimale für das System erwartete Verzögerung sein kann. Somit wird die Anfangsbedingung mit einer Zeit T0 identifiziert. Wenn sich PVT (Prozess, Spannung, Temperatur) ändert, hat der DLL oder eine andere Phasenkompensationsschaltung genug Verzögerungsreserve, um nach oben und nach unten zu verfolgen. Die Phasenkompensationsschaltung beginnt zu arbeiten und beginnt grobe Verriegelung oder schnelle Verriegelung (zwischen der Anfangsbedingung 312 und der Grob-Verriegelung 314). Bei der groben Verriegelung durchläuft bei einer Ausführungsform ein DLL-Zähler den Grob-Code für eine DLL-Verzögerungskette aufwärts, bis eine DLL-Rückkopplungstaktflanke eine DLL-Referenztaktflanke überschreitet. Wenn zu einem Zeitpunkt T1 die Grob-Verriegelung 314 erreicht ist, kann die Phasenkompensation zu Verriegelung und Verfolgung 340, repräsentiert durch den schraffierten Bereich, wechseln.
  • Die langsame Verriegelung und Verfolgung 340 erfolgt zwischen der Grob-Verriegelung 314 und dem erreichten Maximum (max) 316. Bei langsamer Verriegelung und Verfolgung 340 kann bei einer Ausführungsform der DLL-Zähler Voll- oder Partial-Fein-Verzögerungsmischsteuerung aufwärts oder abwärts durchlaufen, um DLL-Verzögerungsschwankungen zu verfolgen. Zum Beispiel können die Verzögerungsschwankungen gemäß einer Aufwärts-/Abwärtsdetektion des DLL-Phasendetektors verfolgt werden. Bei einer Ausführungsform kann die Phasenkompensation bewirken, dass der DLL-Zähler abhängig von der programmierten Verfolgungssteigung entweder vollen DLL-Fein-Verzögerungsmischcode oder Partial-Code zählt. Der Maximalpunkt von 316 repräsentiert, wann eine Verzögerung von T2 erreicht ist. Man sieht, dass verschiedene Steigungen, 332, 334, 336 und 338, mehr Code benötigen, um dieselbe Menge an Verzögerung zu erreichen. Man sieht, dass die Steigung 332 mit der Steigung der Grob-Verriegelung übereinstimmt. Bei einer Ausführungsform sind die Steigungen 332, 334, 336 und 338 jeweils Binärdivisionen des Grob-Verzögerungscodes, wobei die Steigung 332 der Grob-Verzögerungscode, dividiert durch 1, ist. Jede der Fein-Verzögerungsphasenjustierungen kann somit eine Unterteilung der Grob-Verzögerungsphasenjustierung sein.
  • 4 ist eine Ausführungsform einer Blockdarstellung eines Systems, in dem Phasenregelung grobe Regelung und feine Regelung umfasst, die XOR-verknüpft werden, um ein Dreieck-Steuermerkmal zu erzeugen, das Phasenregelung variierender Steigung bereitstellen kann. Bei einer Ausführungsform ist das System 400 ein Beispiel für Phasenregelung für das System 100 und/oder den Automaten des Systems 200. Das System 400 kann Phasenregelung für einen DLL oder PLL für E/A zwischen Vorrichtungen bereitstellen. Bei einer Ausführungsform werden die verschiedenen Steigungen des Diagramms 300 durch einen Automaten bereitgestellt, der Phasenkompensationssteuerung für einen DLL bereitstellt. Bei einer Ausführungsform repräsentiert das System 400 einen solchen Automaten. Bei einer Ausführungsform kann das System 400 variable programmierbare Steigung für die Phasenkompensation bereitstellen.
  • Bei einer Ausführungsform empfängt das System 400 ein Takt-Eingangs-Signal (CLK IN) von dem Pad 410. Das Pad 410 repräsentiert eine beliebige Art von physischem Verbinder mit einer externen Schnittstelle. Bei einer Ausführungsform ist CLK IN ein Eingangstaktsignal, das von der Vorrichtung empfangen wird, die ein Signal für Verarbeitung (wie etwa ein Datensignal) sendet. Die Phasenjustierung 420 repräsentiert Logik und/oder Schaltkreise zur Bereitstellung einer oder mehrerer Justierungen an der Phase des Signals CLK IN zur Erzeugung des Takt-Ausgangs-Signals (CLK OUT). CLK OUT ist auf die Daten phasenjustiert, um das Abtasten und die Signalisierung zu timen, wenn das Datensignal am wahrscheinlichsten korrekt verarbeitet wird. Bei einer Ausführungsform repräsentiert die Phasenjustierung 420 mehrere Justierungsschaltungen, wie etwa eine Grob-Verzögerungsjustierung und eine Fein-Verzögerungsjustierung.
  • Bei einer Ausführungsform stellt das System 400 Dreieck-Verzögerungssteuerung für mindestens einen Teil der Phasenjustierung 420 bereit. Bei einer Ausführungsform stellt das System 400 Dreieck-Phasensteuerung für Fein-Verzögerungsmischung bereit. Der Zähler 430 repräsentiert einen einfachen linearen Aufwärts-/Abwärtszähler. Für Beispielzwecke ist der Zähler 430 spezifisch als 9-Bit-Zähler dargestellt, könnte aber eine beliebige Anzahl (N) von Bit aufweisen, die die Steuerung bereitstellt, die für die spezifische Implementierung der Phasenregelung erwünscht ist. Wie dargestellt, wird ein Teil des Zählwerts von dem Zähler 430 geroutet, um grobe Phasenjustierung zu steuern, und ein Teil des Zählers wird geroutet, um feine Phasenjustierung zu steuern. Es versteht sich, dass Erwähnung des "unteren Teils" des Zählwerts den Teil des Zählwerts meint, der sich am häufigsten ändert, bzw. die niedrigstwertigen Bit (die niedrigstwertigen M Bit [(M – 1):0]). Der "obere Teil" des Zählwerts bedeutet den anderen Teil des Zählwerts oder die höherwertigen Bit (die höchstwertigen (N – M) Bit [(N – 1):M]).
  • Das System 400 routet den unteren Teil der Zählerausgangsbit zur Steuerung der Fein-Verzögerungsmischung. Wie dargestellt, werden bei einer Ausführungsform die oberen sechs Bit der Ausgabe des Zählers 430 Count[8:3] zur Steuerung der Grob-Verzögerung geroutet. Count[8:3] wird Coarsecode[5:0] als Eingabe für den linearen Decoder 450. Bei einer Ausführungsform stellt Coarsecode[5:0] Steuerung einer Gerade/Ungerade-Ausgangsauswahl der Grob-Verzögerungskette bereit. Es versteht sich, dass abhängig vom Entwurf des Steuersystems und der Verzögerungsschaltungen eine andere Anzahl von Bit für Fein-Verzögerungsmischung verwendet werden kann. Bei einer Ausführungsform führt der lineare Decoder 450 eine Zwei-Bit-Heiß-Binär-Decodieroperation aus, um gerade/ungerade Takte aus einer Grob-Verzögerungskette, die Teil der Phasenjustierung 420 ist, auszuwählen.
  • Bei einer Ausführungsform werden die unteren drei Bit der Ausgabe des Zählers 430, Count[2:0], zur Steuerung der Fein-Verzögerungsmischung geroutet. Die unteren Bit werden nicht direkt für Fein-Verzögerungssteuerung durchgeleitet. Stattdessen stellt das System 400 ein bitweises XOR von Count[2:0] mit dem LSB der Grob-Verzögerungssteuerung bereit. Es versteht sich, dass das LSB der Grob-Codeverzögerungssteuerung als Coarsecode[0] bezeichnet werden kann, was mit Count[3] übereinstimmt. Die XOR-Schaltung 440 führt die bitweise XOR-Operation aus und verwandelt Count[2:0] in Finecode[2:0] oder den Fein-Verzögerungscode. Bei einer Ausführungsform empfängt der lineare Decoder 450 Finecode[2:0] zur Steuerung der Fein-Verzögerungsmischung in einer Phaseninterpolatoreinheit der Phasenjustierung 420. Es versteht sich, dass der lineare Decoder 450 mehr als eine Schaltung umfassen kann und nicht unbedingt an dem Fein-Verzögerungscode und dem Grob-Verzögerungscode dieselbe Decodierungsoperation ausführt. Es versteht sich, dass das System 400 direktere Steuerung der Verzögerungsmischung auf der Basis der Anwendung der XOR-verknüpften Fein-Codeverzögerungsbit bereitstellt, im Gegensatz zu der indirekten Steuerung, die traditionell mittels eines komplexen Automaten angewandt wird.
  • Der obere und untere Teil weisen nicht unbedingt dieselbe Anzahl von Bit auf, obwohl sie es könnten. Bei einer Ausführungsform führt die XOR-Schaltung 440 eine bitweise XOR-Operation des LBS (niedrigstwertigen Bit) des Grob-Verzögerungscodes zur Steuerung des Fein-Verzögerungscodes aus. Somit kann die XOR-Schaltung mehrere XOR-Gatter umfassen. Wenn das LSB des Grob-Codes 0 ist, führt die bitweise XOR-Operation dazu, dass der untere Teil des Zählwerts so wie er ist durchgeht, wodurch ein Fein-Code erzeugt wird, der mit inkrementierendem Zähler heraufzählt. Es versteht sich, dass, wenn der Fein-Code seine Obergrenze erreicht und überlauft, das LSB des Grob-Codes zu 1 übergeht, weil das LSB des Grob-Codes das Überlaufbit für den Fein-Code ist. Wenn das LSB des Grob-Codes 1 ist, führt die bitweise XOR-Operation zur Invertierung des unteren Teils des Zählwerts, was zu einem Fein-Code führt, der an seinem Spitzenwert beginnt und sich mit inkrementierendem Zähler dekrementiert. Es versteht sich, dass dasselbe Ergebnis durch Verwendung eines dekrementierenden Zählers erreicht werden kann. Der Zählwert von dem Zähler kann also die gesamte Zeit in derselben Richtung weitergehen, führt aber dazu, dass der Fein-Code wiederholt kontinuierlich von Null bis zu seinem Maximum (2M – 1), von seinem Maximum auf Null und wieder herauf zu seinem Maximum zählt.
  • Bei einer Ausführungsform erzeugt der Decoder 450 Fein-Verzögerungsmischsteuerung als eine 3-zu-7-Decodierung. Somit werden die drei Bit von Finecode[2:0] in 7 Bit Steuerung umgesetzt (wie zum Beispiel nachfolgend mit Bezug auf 5 erläutert). Bei einer Ausführungsform zählt die Fein-Verzögerungssteuerung des Systems 400 wie dargestellt kontinuierlich von 0 bis 7 bis 0 in einem wiederholten Zyklus. In Binär beginnt der Zählwert mit '000xB' und zählt herauf, bis er '111xB' erreicht, und dann zählt er von '111xB' wieder herunter zu '000xB'. Bei einer Ausführungsform erzeugt der Decoder 450 64 Bit Grob-Verzögerungssteuerung aus den sechs Bit von Coarsecode[5:0] (d.h. 6-zu-64-Decodierung). Es versteht sich, dass die benötigte Anzahl von Bit zur groben Regelung von der Länge der Grob-Verzögerungskette abhängt und Ketten mit Binärlängen, die von 64 verschieden sind, verwendet werden können.
  • Bei einer Ausführungsform umfasst der lineare Decoder 450 zusätzliche Eingaben neben den in dem System 400 gezeigten. Eine solche zusätzliche Eingabe kann es dem linearen Decoder 450 ermöglichen, auf der Basis eines Codeverschiebungsblocks (der als sich für die Zwecke des Systems 400 in dem linearen Decoder 450 befindend aufgefasst werden kann), Code verschiedener Steigungen zu erzeugen. Ein solcher Codeverschiebungsblock kann es dem System 400 ermöglichen, eine Binärdivision des groben Codes [5:0] durchzuführen, um die Steigung der Phasenjustierung pro Einheit Änderung zu verringern. Die Steigungssteuerung kann als Reaktion auf in dem System detektierte verschiedene Umgebungsbedingungen ausgeführt werden. Bei einer Ausführungsform stellt der lineare Decoder 450 Fein-Verzögerungsmischsteuerung aus einem herunterdividierten Grob-Code, statt einer separaten Eingabe, bereit. Ein solcher Fein-Verzögerungscode kann variable programmierbare Steigung zur Verriegelung der Phase des Takts bereitstellen.
  • 5 ist ein Flussdiagramm einer Ausführungsform eines Prozesses zum Erzeugen linearer Phasenregelung mit variierender Kompensationssteigung. Der Prozess 500 liefert ein Beispiel für eine Ausführungsform zum Durchführen von Phasenkompensation für E/A-Übertragung mit variabler programmierbarer Steigung der Phasenkompensation. Bei einer Ausführungsform führt eine Vorrichtung mit E/A-Phasenkompensation Systeminitialisierung durch, um zu bestimmen, welche Umgebungsbedingungen (z.B. PVT) in der Systemimplementierung vorliegen, und zu bestimmen, welche Einstellungen der E/A-Phasenregelung die beste Leistungsfähigkeit und Phasenanpassung bereitstellt, 502. Das System kann eine oder mehrere Einstellungen bezüglich der Bedingungen als Anfangsbedingungen für den Betrieb der E/A-Phasenregelung voreinstellen.
  • Bei einer Ausführungsform fordert eine Vorrichtung E/A mit einer anderen Vorrichtung an und bestimmt Betriebsbedingungen für das E/A-Signal 504. Eine solche Bestimmung kann indirekt sein, wie etwa über einen Rückkopplungsmechanismus zum Lesen von Einstellungen aus einer Speicherung. Bei einer Ausführungsform setzt die E/A-Phasenkompensation Anfangsbedingungen und bestimmt, welche Einstellungen für Grob-Verzögerungsverriegelung und Fein-Verzögerungsverriegelung zu verwenden sind, 506. Die Fein-Verzögerungsverriegelung kann auf eine von mehreren verschiedenen Steigungen eingestellt werden.
  • Eine Vorrichtung entweder empfängt oder erzeugt einen Befehl zum Durchführen von E/A mit einer anderen Vorrichtung, 508. Die E/A kann Empfang eines Eingangssignals oder Erzeugung eines Ausgangssignals sein. Die Vorrichtung umfasst eine E/A-Steuerschaltung, wie etwa eine Mikrosteuerung, die die E/A verwaltet. Die Steuerung konfiguriert die E/A für Austausch mit der anderen Vorrichtung. Bei einer Ausführungsform umfasst Konfigurieren der E/A Triggern der Verzögerungsregelung zur Justierung der Phase des E/A-Signals zur Ausrichtung mit einem Taktsignal. Bei einer Ausführungsform folgt die Phasenregelung der Phase des E/A-Signals mit Grob-Phasenkompensation, 510. Bei einer Ausführungsform bestimmt ein Automat oder eine Steuerung, der bzw. die die Phasenkompensation steuert, ob Grob-Justierung eine Referenzphase erreicht hat, 512.
  • Wenn die Grob-Verriegelung nicht erreicht ist (514, NEIN-Zweig), wird die Grob-Verriegelung fortgesetzt. Wenn die Grob-Verriegelung erreicht ist (514, JA-Zweig), tritt bei einer Ausführungsform die Phasenregelung in einen langsamen Verriegelungsmodus ein und setzt die Fein-Verzögerungsphasenjustierungssteigung für die Fein-Verzögerungsjustierungen, 516. Bei einer Ausführungsform justiert die Phasenregelung selektiv einen linearen Code mit einer variablen programmierbaren Steigung für die feine Verzögerungsverfolgung. Die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird. Bei einer Ausführungsform kann die Phasenregelung anfänglich einen Grob-Code für Phasenjustierung anwenden und die Steigung von dem Grob-Code in eine Unterteilung der Grob-Codejustierung in feinere Justierungen umändern.
  • Die Steuerschaltung kann die Phase des E/A-Signals bei der langsamen Verfolgung mit Rückkopplung verfolgen, 518, und bestimmen, ob die Fein-Verriegelung erreicht ist, 520. Wenn Fein-Verriegelung nicht erreicht wurde (522, NEIN-Zweig), verfolgt und verriegelt die Phasenregelung weiter mit der feinen Verzögerung. Wenn Fein-Verriegelung erreicht ist (522, JA-Zweig) kann die Vorrichtung die E/A durchführen, 524.
  • 6 ist eine Blockdarstellung einer Ausführungsform eines Datenverarbeitungssystems, in dem E/A-Phasenverzögerungsregelung mit variierender Steigung implementiert werden kann. Das System 600 repräsentiert eine Datenverarbeitungsvorrichtung gemäß einer beliebigen hier beschriebenen Ausführungsform und kann ein Laptop-Computer, ein Desktop-Computer, ein Server, ein Spiel- oder Unterhaltungssteuersystem, ein Scanner, ein Kopierer, ein Drucker, eine Routing- oder Switchingvorrichtung oder eine andere elektronische Vorrichtung sein. Das System 600 umfasst einen Prozessor 620, der Verarbeitung, Operationsverwaltung und Ausführung von Anweisungen für das System 600 bereitstellt. Der Prozessor 620 kann eine beliebige Art von Mikroprozessor, Zentralverarbeitungseinheit (CPU), Verarbeitungskern oder anderer Verarbeitungshardware zur Bereitstellung von Verarbeitung für das System 600 umfassen. Der Prozessor 620 steuert den Gesamtbetrieb des Systems 600 und kann einen oder mehrere programmierbare Vielzweck- oder Spezialmikroprozessoren, digitale Signalprozessoren (DSP), programmierbare Steuerungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD) oder dergleichen oder eine Kombination solcher Vorrichtungen umfassen oder eines davon sein.
  • Das Speichersubsystem 630 repräsentiert den Hauptspeicher des Systems 600 und stellt temporäre Speicherung für durch den Prozessor 620 auszuführenden Code oder beim Ausführen einer Routine zu verwendende Datenwerte bereit. Das Speichersubsystem 630 kann eine oder mehrere Speichervorrichtungen umfassen, wie etwa Nurlesespeicher (ROM), Flash-Speicher, eine oder mehrere Arten von Direktzugriffsspeicher (RAM) oder andere Speichervorrichtungen oder eine Kombination solcher Vorrichtungen. Das Speichersubsystem 630 speichert und unterhält unter anderem ein Betriebssystem (OS) 636 zur Bereitstellung einer Softwareplattform für die Ausführung von Anweisungen in dem System 600. Außerdem werden anderen Anweisungen 638 aus dem Speichersubsystem 630 gespeichert und ausgeführt, um die Logik und die Verarbeitung des Systems 600 bereitzustellen. Das OS 636 und die Anweisungen 638 werden durch den Prozessor 620 ausgeführt. Das Speichersubsystem 630 umfasst eine Speichervorrichtung 632, in der es Daten, Anweisungen, Programme und andere Posten speichert. Bei einer Ausführungsform umfasst das Speichersubsystem die Speichersteuerung 634, die eine Speichersteuerung zur Erzeugung und Ausgabe von Befehlen an die Speichervorrichtung 632 ist. Es versteht sich, dass die Speichersteuerung 634 ein physischer Teil des Prozessors 620 sein könnte.
  • Der Prozessor 620 und das Speichersubsystem 630 sind mit dem Bus/Bussystem 610 gekoppelt. Der Bus 610 ist eine Abstraktion, die ein beliebiges oder mehrere von getrennten physischen Bussen, Kommunikationsleitungen/Schnittstellen und/oder Punkt-zu-Punkt-Verbindungen repräsentiert, die durch entsprechende Brücken, Adapter und/oder Steuerungen verbunden werden. Deshalb kann der Bus 610 zum Beispiel eines oder mehrere eines Systembusses, eines PCI-Busses (Peripheral Component Interconnect), eines HyperTransport- oder ISA-Busses (Industry Standard Architecture), eines SCSI-Busses (Small Computer System Interface), eines USB-Busses (Universal Serial Bus) oder eines Busses gemäß dem Standard 1394 des IEEE (Institute of Electrical and Electronics Engineers) (gewöhnlich als "Firewire" bezeichnet) umfassen. Die Busse des Busses 610 können auch Schnittstellen in der Netzwerkschnittstelle 650 entsprechen.
  • Das System 600 umfasst außerdem eine oder mehrere Schnittstellen 640 für Eingabe/Ausgabe (E/A), eine Netzwerkschnittstelle 650, eine oder mehrere interne Massenspeichervorrichtungen 660 und eine Peripherieschnittstelle 670, die mit dem Bus 610 gekoppelt ist. Die E/A-Schnittstelle 640 kann eine oder mehrere Schnittstellenkomponenten umfassen, mittels derer ein Benutzer mit dem System 600 in Interaktion treten kann (z.B. Video-, Audio- und/oder alphanumerische Schnittstellen). Die Netzwerkschnittstelle 650 gibt dem System 600 die Möglichkeit, über ein oder mehrere Netzwerke mit entfernten Vorrichtungen (z.B. Servern, anderen Datenverarbeitungsvorrichtungen) zu kommunizieren. Die Netzwerkschnittstelle 650 kann einen Ethernet-Adapter, drahtlose Verbindungskomponenten, einen USB (Universal Serial Bus) oder andere verdrahtete oder drahtlose auf Standards basierende oder proprietäre Schnittstellen umfassen.
  • Die Speicherung 660 kann ein beliebiges herkömmliches Medium zum Speichern großer Mengen von Daten auf nichtflüchtige Weise sein oder umfassen, wie etwa einen oder mehrere magnetische, Halbleiter- oder optische Datenträger oder eine Kombination. Die Speicherung 660 hält Code oder Anweisungen und Daten 662 in einem persistenten Zustand (d.h. der Wert wird trotz Unterbrechung der Versorgung des Systems 600 behalten). Die Speicherung 660 kann im Allgemeinen als "Speicher" betrachtet werden, obwohl der Speicher 630 der Ausführungs- oder Arbeitsspeicher ist, um dem Prozessor 620 Anweisungen zuzuführen. Während die Speicherung 660 nichtflüchtig ist, kann der Speicher 630 flüchtigen Speicher umfassen (d.h. der Wert oder Zustand der Daten ist unbestimmt, wenn die Versorgung des Systems 600 unterbrochen wird).
  • Die Peripherieschnittstelle 670 kann eine beliebige Hardwareschnittstelle umfassen, die oben nicht spezifisch erwähnt wurde. Peripheriegeräte beziehen sich im Allgemeinen auf Vorrichtungen, die abhängig an das System 600 angeschlossen werden. Ein abhängiger Anschluss ist einer, bei dem das System 600 die Software- und/oder Hardwareplattform bereitstellt, auf der der Betrieb ausgeführt wird und mit der ein Benutzer in Interaktion tritt.
  • Bei einer Ausführungsform umfasst das System 600 die Phasenregelung 680. Die Phasenregelung 680 kann in einer E/A-Phasenkompensationsschaltung zum Verriegeln von E/A mit einem Taktsignal, wie etwa in dem Speichersubsystem 630, enthalten sein. Bei einer Ausführungsform stellt die Phasenregelung 680 variable programmierbare Verzögerung zur E/A-Phasenkompensation bereit. Bei einer Ausführungsform wird die programmierbare Steigung bereitgestellt durch Dividieren eines Grob-Verriegelungscodes und Verfolgen und Verriegeln mit feineren Phasenjustierungen. Bei einer Ausführungsform umfasst die Phasenregelung einen Automaten mit linearer Codesteuerung zur Steuerung des Betriebs der Phasenkompensation.
  • 7 ist eine Blockdarstellung einer Ausführungsform einer mobilen Vorrichtung, in der E/A-Phasenverzögerungsregelung mit variierender Steigung implementiert werden kann. Die Vorrichtung 700 repräsentiert eine mobile Datenverarbeitungsvorrichtung, wie etwa ein Datenverarbeitungs-Tablet, ein Mobiltelefon oder Smartphone, einen E-Reader mit drahtloser Fähigkeit, eine tragbare Datenverarbeitungsvorrichtung oder andere mobile Vorrichtung. Es versteht sich, dass bestimmte der Komponenten allgemein gezeigt sind und nicht alle Komponenten einer solchen Vorrichtung in der Vorrichtung 700 gezeigt sind.
  • Die Vorrichtung 700 umfasst einen Prozessor 710, der die primären Verarbeitungsoperationen der Vorrichtung 700 ausführt. Der Prozessor 710 kann eine oder mehrere physische Vorrichtungen umfassen, wie etwa Mikroprozessoren, Anwendungsprozessoren, Mikrosteuerungen, programmierbare Logikvorrichtungen oder andere Verarbeitungsmittel. Zu den durch den Prozessor 710 ausgeführten Verarbeitungsoperationen gehört die Ausführung einer Betriebsplattform oder eines Betriebssystems, worauf Anwendungen und/oder Vorrichtungsfunktionen ausgeführt werden. Die Verarbeitungsoperationen umfassen Operationen in Bezug auf E/A (Eingabe/Ausgabe) mit einem menschlichen Benutzer oder mit anderen Vorrichtungen, Operationen in Bezug auf Powermanagement und/oder Operationen in Bezug auf die Verbindung der Vorrichtung 700 mit einer anderen Vorrichtung. Die Verarbeitungsoperationen können auch Operationen umfassen, die mit Audio-E/A und/oder Anzeige-E/A zusammenhängen.
  • Bei einer Ausführungsform umfasst die Vorrichtung 700 ein Audiosubsystem 720, das Komponenten von Hardware (z.B. Audiohardware und Audioschaltungen) und Software (z.B. Treiber, Codex) repräsentiert, die der Bereitstellung von Audiofunktionen für die Datenverarbeitungsvorrichtung zugeordnet sind. Audiofunktionen wären zum Beispiel Lautsprecher- und/oder Kopfhörerausgabe sowie Mikrofoneingabe. Vorrichtungen für solche Funktionen können in die Vorrichtung 700 integriert oder mit der Vorrichtung 700 verbunden sein. Bei einer Ausführungsform tritt ein Benutzer mit der Vorrichtung 700 in Interaktion, indem er Audiobefehle gibt, die durch den Prozessor 710 empfangen und verarbeitet werden.
  • Das Anzeigesubsystem 730 repräsentiert Komponenten von Hardware (z.B. Anzeigevorrichtungen) und Software (z.B. Treibern), die eine visuelle und/oder taktile Anzeige für einen Benutzer zur Interaktion mit der Datenverarbeitungsvorrichtung bereitstellen. Das Anzeigesubsystem 730 umfasst eine Anzeigeschnittstelle 732, die die konkrete Bildschirm- oder Hardwarevorrichtung umfasst, mit der einem Benutzer eine Anzeige bereitgestellt wird. Bei einer Ausführungsform umfasst die Anzeigeschnittstelle 732 von dem Prozessor 710 getrennte Logik zur Ausführung mindestens eines Teils der Verarbeitung in Bezug auf die Anzeige. Bei einer Ausführungsform umfasst das Anzeigesubsystem 730 eine Berührungsschirmvorrichtung, die einem Benutzer sowohl Ausgabe als auch Eingabe bereitstellt. Bei einer Ausführungsform umfasst das Anzeigesubsystem 730 eine hochauflösende (HD-)Anzeige, die einem Benutzer eine Ausgabe bereitstellt. Hohe Auflösung kann sich auf eine Anzeige beziehen, die eine Pixeldichte von ungefähr 100 PPI (Pixel pro Zoll) oder mehr aufweist, und kann Formate wie Voll-HD (z.B. 1080p), Retinaanzeigen, 4K (Ultrahochauflösung oder UHD) oder anderes umfassen.
  • Die E/A-Steuerung 740 repräsentiert Hardwarevorrichtungen und Softwarekomponenten in Bezug auf Interaktion mit einem Benutzer. Die E/A-Steuerung 740 kann wirken, um Hardware zu verwalten, die Teil des Audiosubsystems 720 und/oder des Anzeigesubsystems 730 ist. Außerdem stellt die E/A-Steuerung 740 einen Verbindungspunkt für zusätzliche Vorrichtungen dar, die sich mit der Vorrichtung 700 verbinden, mittels derer ein Benutzer mit dem System in Interaktion treten könnte. Vorrichtungen, die an die Vorrichtung 700 angeschlossen werden können, wären zum Beispiel Mikrofonvorrichtungen, Lautsprecher- oder Stereoanlagen, Videosysteme oder andere Anzeigevorrichtungen, Tastatur- oder Tastenfeldvorrichtungen oder andere E/A-Vorrichtungen zur Verwendung mit spezifischen Anwendungen, wie etwa Kartenleser oder andere Vorrichtungen.
  • Wie oben erwähnt, kann die E/A-Steuerung 740 mit dem Audiosubsystem 720 und/oder dem Anzeigesubsystem 730 in Interaktion treten. Zum Beispiel können Eingaben mittels eines Mikrofons oder einer anderen Audiovorrichtung Eingaben oder Befehle für eine oder mehrere Anwendungen oder Funktionen der Vorrichtung 700 bereitstellen. Außerdem kann Audioausgabe anstelle von oder zusätzlich zur Anzeigeausgabe bereitgestellt werden. In einem anderen Beispiel wirkt, wenn das Anzeigesubsystem einen Berührungsschirm umfasst, die Anzeigevorrichtung auch als Eingabevorrichtung, die mindestens teilweise durch die E/A-Steuerung 740 verwaltet werden kann. Es kann auch zusätzliche Tasten oder Schalter an der Vorrichtung 700 geben, um durch die E/A-Steuerung 740 verwaltete E/A-Funktionen bereitzustellen.
  • Bei einer Ausführungsform verwaltet die E/A-Steuerung 740 Vorrichtungen wie Beschleunigungsmesser, Kameras, Lichtsensoren oder andere Umgebungssensoren, Kreisel, GPS (Global Positioning System) oder andere Hardware, die in der Vorrichtung 700 enthalten sein kann. Die Eingaben können Teil direkter Benutzerinteraktion sein und auch Umgebungseingaben in das System bereitstellen, um seine Operationen zu beeinflussen (wie etwa Filterung für Rauschen, Justierung von Anzeigen zur Helligkeitsdetektion, Anwendung eines Blitzes für eine Kamera oder andere Merkmale). Bei einer Ausführungsform umfasst die Vorrichtung 700 Powermanagement 750, die die Batteriestrombenutzung, Laden der Batterie und Merkmale in Bezug auf Stromsparbetrieb verwaltet.
  • Das Speichersubsystem 760 umfasst eine Speichervorrichtung bzw. Speichervorrichtungen 762 zum Speichern von Informationen in der Vorrichtung 700. Das Speichersubsystem 760 kann nichtflüchtige (Zustand ändert sich nicht, wenn die Versorgung der Speichervorrichtung unterbrochen wird) und/oder flüchtige (Zustand ist unbestimmt, wenn die Versorgung der Speichervorrichtung unterbrochen wird) Speichervorrichtungen umfassen. Der Speicher 760 kann Anwendungsdaten, Benutzerdaten, Musik, Fotos, Dokumente oder andere Daten sowie Systemdaten (langfristige oder temporäre) in Bezug auf die Ausführung der Anwendungen und Funktionen des Systems 700 speichern. Bei einer Ausführungsform umfasst das Speichersubsystem 760 eine Speichersteuerung 764 (die auch als Teil der Steuerung des Systems 700 betrachtet und potentiell als Teil des Prozessors 710 betrachtet werden könnte). Die Speichersteuerung 764 umfasst einen Scheduler zum Erzeugen und Ausgeben von Befehlen an die Speichervorrichtung 762.
  • Zur Konnektivität 770 gehören Hardwarevorrichtungen (z.B. drahtlose und/oder verdrahtete Verbinder und Kommunikationshardware) und Softwarekomponenten (z.B. Treiber, Protokollstapel), um es der Vorrichtung 700 zu ermöglichen, mit externen Vorrichtungen zu kommunizieren. Die externe Vorrichtung könnte getrennte Vorrichtungen sein, wie etwa andere Datenverarbeitungsvorrichtungen, drahtlose Zugangspunkte oder Basisstationen sowie Peripheriegeräte wie Headsets, Drucker oder andere Vorrichtungen.
  • Die Konnektivität 770 kann mehrere verschiedene Arten von Konnektivität umfassen. Als Verallgemeinerung ist die Vorrichtung 700 mit Mobilfunkkonnektivität 772 und drahtloser Konnektivität 774 dargestellt. Mobilfunkkonnektivität 772 bezieht sich im Allgemeinen auf Mobilfunknetzkonnektivität, die durch drahtlose Träger bereitgestellt wird, wie etwa bereitgestellt über GSM (Global System for Mobile Communications) oder Varianten oder Ableitungen, CDMA (Code Division Multiple Access) oder Varianten oder Ableitungen, TDM (Time Division Multiplexing) oder Varianten oder Ableitungen, LTE (Long Term Evolution – auch als "4G" bezeichnet) oder andere Mobilfunk-Dienststandards. Die drahtlose Konnektivität 774 bezieht sich auf drahtlose Konnektivität die nicht Mobilfunk ist und kann persönliche Netzwerke (wie Bluetooth), lokale Netzwerke (wie WiFi) und/oder großflächige Netzwerke (wie etwa WiMax) oder andere drahtlose Kommunikation umfassen. Drahtlose Kommunikation bezieht sich auf Transfer von Daten mittels Verwendung modulierter elektromagnetischer Strahlung mittels eines nichtfesten Mediums. Verdrahtete Kommunikation erfolgt mittels eines festen Kommunikationsmediums.
  • Die Peripherieverbindungen 780 umfassen Hardwareschnittstellen und Verbinder sowie Softwarekomponenten (z.B. Treiber, Protokollstapel), um Peripherieverbindungen herzustellen. Es versteht sich, dass die Vorrichtung 700 sowohl eine Peripherievorrichtung ("zu" 782) zu anderen Datenverarbeitungsvorrichtungen sein könnte als auch mit ihr verbundene Peripherievorrichtungen ("von" 784) aufweisen könnte. Die Vorrichtung 700 weist gewöhnlich einen "Andock"-Verbinder zum Verbinden mit anderen Datenverarbeitungsvorrichtungen für Zwecke wie Verwaltung (z.B. Herunterladen und/oder Hochladen, Ändern, Synchronisieren) von Inhalt auf der Vorrichtung 700 auf. Außerdem kann es ein Andock-Verbinder der Vorrichtung 700 erlauben, sich mit bestimmten Peripheriegeräten zu verbinden, die es der Vorrichtung 700 erlauben, Inhaltsausgabe zum Beispiel an audiovisuelle oder andere Systeme zu steuern.
  • Zusätzlich zu einem proprietären Andock-Verbinder oder einer anderen proprietären Verbindungshardware kann die Vorrichtung 700 Peripherieverbindungen 780 über häufig anzutreffende oder auf Standards basierende Verbinder herstellen. Häufig anzutreffende Arten wären zum Beispiel ein USB-Verbinder (Universal Serial Bus) (der eine beliebige einer Anzahl verschiedener Hardwareschnittstellen umfassen kann), Displayport, einschließlich MDP (MiniDisplayPort), HDMI (High Definition Multimedia Interface), Firewire oder andere Arten.
  • Bei einer Ausführungsform umfasst das System 700 eine Phasenregelung 790. Die Phasenregelung 790 kann in einer E/A-Phasenkompensationsschaltung zum Verriegeln der E/A mit einem Taktsignal, wie etwa in dem Speichersubsystem 760, enthalten sein. Bei einer Ausführungsform stellt die Phasenregelung 680 variable programmierbare Verzögerung für E/A-Phasenkompensation bereit. Bei einer Ausführungsform wird die programmierbare Steigung bereitgestellt durch Dividieren eines Grob-Verriegelungscodes und Verfolgung und Verriegelung mit feineren Phasenjustierungen. Bei einer Ausführungsform umfasst die Phasenregelung einen Automaten mit linearer Codesteuerung zur Steuerung des Betriebs der Phasenkompensation.
  • In einem Aspekt umfasst ein Verfahren zur Phasenkompensation Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals (Eingabe/Ausgabe) mit einer Phase eines Timingsignals; selektives Justieren des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird; und Anwenden des justierten linearen Codes auf einen Verriegelungskreis zur Verriegelung der Phase des E/A-Signals mit der Phase des Timingsignals.
  • Bei einer Ausführungsform umfasst Erzeugen des linearen Codes Erzeugen des Codes aus einem linearen digitalen Zähler. Bei einer Ausführungsform umfasst selektives Justieren des linearen Codes mit der variablen programmierbaren Steigung ferner Justieren des linearen Codes von einem voreingestellten Wert aus auf der Basis einer Anfangsbedingung. Bei einer Ausführungsform umfasst selektives Justieren des linearen Codes mit der variablen programmierbaren Steigung ferner anfängliches Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code zur Unterteilung der Grob-Codejustierungen in feinere Justierungen. Bei einer Ausführungsform umfasst selektives Justieren des linearen Codes mit der variablen programmierbaren Steigung ferner anfängliches Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code durch Bitverschiebung des Grob-Codes. Bei einer Ausführungsform umfasst der Verriegelungskreis einen digitalen Verzögerungsregelkreis (DLL). Bei einer Ausführungsform umfasst der DLL einen DLL für eine Daten-E/A-Schnittstelle einer Speichervorrichtung. Bei einer Ausführungsform umfasst der Verriegelungskreis einen Phasenregelkreis (PLL).
  • In einem Aspekt umfasst eine Steuerschaltung für E/A (Eingabe/Ausgabe) eine E/A-Signalleitung zum Empfangen eines E/A-Signals, einen Automaten zum Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase des E/A-Signals mit einer Phase eines Timingsignals zur selektiven Justierung des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird, und zur Anwendung des justierten linearen Codes auf einen Verriegelungskreis zum Verriegeln der Phase des E/A-Signals mit der Phase des Timingsignals.
  • Bei einer Ausführungsform umfasst der Automat einen linearen digitalen Zähler zur Erzeugung des Codes. Bei einer Ausführungsform dient der Automat ferner zum Empfangen einer Anfangsbedingungseingabe zum Identifizieren eines voreingestellten Wert-Startpunkts für die Phasenkompensation; und Justieren des linearen Codes auf der Basis der Anfangsbedingung. Bei einer Ausführungsform dient der Automat ferner zum anfänglichen Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code zur Unterteilung der Grob-Codejustierungen in feinere Justierungen. Bei einer Ausführungsform dient der Automat ferner zum anfänglichen Anwenden eines Grob-Codes zur Phasenjustierung und umfasst ferner einen Bitschieber zum Bitverschieben des Grob-Codes zur Änderung der Steigung. Bei einer Ausführungsform umfasst der Verriegelungskreis einen digitalen Verzögerungsregelkreis (DLL). Bei einer Ausführungsform umfasst der DLL einen DLL für eine Daten-E/A-Schnittstelle einer Speichervorrichtung. Bei einer Ausführungsform umfasst der Verriegelungskreis einen Phasenregelkreis (PLL).
  • In einem Aspekt umfasst eine Speichervorrichtung Hardware für E/A (Eingabe/Ausgabe), ausgelegt zur Bildung einer Schnittstelle mit E/A-Signalleitungen zum Austausch von Daten bei Kopplung mit einer zugeordneten Speichersteuerung; und eine Steuerschaltung für E/A (Eingabe/Ausgabe) zur Erzeugung eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines zu der Speichersteuerung zu sendenden E/A-Signals mit einer Phase eines Timingsignals zur selektiven Justierung des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird, und zur Anwendung des justierten linearen Codes auf einen Verriegelungskreis zum Verriegeln der Phase des E/A-Signals mit der Phase des Timingsignals.
  • Bei einer Ausführungsform umfasst der Automat einen linearen digitalen Zähler zur Erzeugung des Codes. Bei einer Ausführungsform dient die E/A-Steuerschaltung ferner zum Empfangen einer Anfangsbedingungseingabe zum Identifizieren eines voreingestellten Wert-Startpunkts für die Phasenkompensation; und Justieren des linearen Codes auf der Basis der Anfangsbedingung. Bei einer Ausführungsform dient die E/A-Steuerschaltung ferner zum anfänglichen Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code zur Unterteilung der Grob-Codejustierungen in feinere Justierungen. Bei einer Ausführungsform dient die E/A-Steuerschaltung ferner zum anfänglichen Anwenden eines Grob-Codes zur Phasenjustierung, und wobei die E/A-Steuerschaltung ferner einen Bitschieber zum Bitverschieben des Grob-Codes umfasst, um die Steigung zu ändern. Bei einer Ausführungsform umfasst der Verriegelungskreis einen digitalen Verzögerungsregelkreis (DLL).
  • In einem Aspekt umfasst ein System mit einem Speichersubsystem mit Phasenkompensation der E/A (Eingabe/Ausgabe) eine Steuerschaltung der E/A (Eingabe/Ausgabe) für eine Datenschnittstelle zwischen einer Speichersteuerung und einer Speichervorrichtung, umfassend: eine E/A-Signalleitung zum Empfangen eines E/A-Signals; einen Automaten zum Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines Eingangstaktsignals mit einem Datensignal zur selektiven Justierung des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird, und zur Anwendung des justierten linearen Codes auf einen Verriegelungskreis zum Verriegeln der Phase des E/A-Signals mit der Phase des Timingsignals; und eine Berührungsschirmanzeige, die so geschaltet ist, dass sie auf der Basis von Daten, auf die aus der Speichervorrichtung zugegriffen wird, eine Anzeige erzeugt. Das System kann eine E/A-Steuerschaltung gemäß einer beliebigen hier beschriebenen Ausführungsform der E/A-Steuerschaltung oder der Speichervorrichtung umfassen.
  • In einem Aspekt umfasst ein Herstellungsartikel ein computerlesbares Speichermedium, auf dem Inhalt gespeichert ist, der, wenn auf ihn zugegriffen wird, bewirkt, dass eine Maschine Operationen zur Phasenkompensation ausführt, umfassend: Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals (Eingabe/Ausgabe) mit einer Phase eines Timingsignals; selektives Justieren des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird; und Anwenden des justierten linearen Codes auf einen Verriegelungskreis zum Verriegeln der Phase des E/A-Signals mit der Phase des Timingsignals. Der Herstellungsartikel kann bewirken, dass eine Maschine Operationen zum Ausführen eines Verfahrens gemäß einer beliebigen oben beschriebenen Ausführungsform des Verfahrens ausführt.
  • In einem Aspekt umfasst eine Vorrichtung zur Phasenkompensation Mittel zum Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals (Eingabe/Ausgabe) mit einer Phase eines Timingsignals; Mittel zum selektiven Justieren des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird; und Mittel zum Anwenden des justierten linearen Codes auf einen Verriegelungskreis zur Verriegelung der Phase des E/A-Signals mit der Phase des Timingsignals. Die Vorrichtung kann Mittel zum Ausführen von Operationen zum Ausführen eines Verfahrens gemäß einer beliebigen oben beschriebenen Ausführungsform des Verfahrens umfassen.
  • In einem Aspekt umfasst ein Verfahren zur Phasenkompensation Anwenden von groben Phasenjustierungen auf ein E/A-Synchronisationssignal (Eingabe/Ausgabe), bis eine Phase des Synchronisationssignals eine Referenzphase überschreitet; und Anwenden von feinen Phasenjustierungen auf das E/A-Synchronisationssignal nach dem Überschreiten der Referenzphase, wobei die feinen Phasenjustierungen Unterteilungen einer groben Phasenjustierung sind, wobei jedes Phasenoffset einer feinen Phasenjustierung kleiner als ein Phasenoffset einer groben Phasenjustierung ist; wobei eine Größe des Phasenoffsets der feinen Phasenjustierung programmierbar justierbar ist.
  • Bei einer Ausführungsform umfasst Anwenden der groben Phasenjustierungen ferner Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals (Eingabe/Ausgabe) mit einer Phase eines Timingsignals. Bei einer Ausführungsform umfasst Anwenden der groben Phasenjustierungen ferner Erzeugen eines linearen Codes aus einem linearen digitalen Zähler. Bei einer Ausführungsform definiert die Größe des Phasenoffsets, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird. Bei einer Ausführungsform umfasst Anwenden der feinen Phasenjustierungen selektives Justieren der groben Justierungen mit variablen programmierbaren Phasenoffsets. Bei einer Ausführungsform umfasst selektives Justieren der groben Justierungen mit variablen programmierbaren Phasenoffsets ferner Justieren der Phasenoffsets von einem voreingestellten Wert aus auf der Basis einer Anfangsbedingung. Bei einer Ausführungsform umfasst Anwenden der feinen Phasenjustierungen ferner Ändern einer Größe der Phasenoffsets durch Bitverschieben eines die Phasenoffsets für die groben Phasenjustierungen steuernden Codes. Bei einer Ausführungsform umfasst Anwenden der groben Phasenjustierungen und der feinen Phasenjustierungen Bereitstellen von Phasenregelung in einem digitalen Verzögerungsregelkreis (DLL). Bei einer Ausführungsform umfasst der DLL einen DLL für eine Daten-E/A-Schnittstelle einer Speichervorrichtung. Bei einer Ausführungsform umfasst Anwenden der groben Phasenjustierungen und der feinen Phasenjustierungen Bereitstellen von Phasenregelung in einem Phasenregelkreis (PLL).
  • In einem Aspekt umfasst ein Herstellungsartikel ein computerlesbares Speichermedium, auf dem Inhalt gespeichert ist, der, wenn auf ihn zugegriffen wird, bewirkt, dass eine Maschine Operationen zum Ausführen eines Verfahrens zur Phasenkompensation nach einer beliebigen Ausführungsform des direkt vorhergehenden Verfahrens ausführt. In einem Aspekt umfasst eine Vorrichtung zur Phasenkompensation Mittel zum Ausführen von Operationen zur Ausführung eines Verfahrens zur Phasenkompensation gemäß einer beliebigen Ausführungsform des direkt vorhergehenden Verfahrens.
  • Hier dargestellte Flussdiagramme geben Beispiele für Sequenzen verschiedener Prozessschritte. Die Flussdiagramme können Operationen angeben, die durch eine Software- oder Firmwareroutine auszuführen sind, sowie physische Operationen. Bei einer Ausführungsform kann ein Flussdiagramm den Zustand eines Automaten (FSM) darstellen, der in Hardware und/oder Software implementiert werden kann. Obwohl sie in einer konkreten Sequenz oder Reihenfolge gezeigt sind, kann die Reihenfolge der Schritte, sofern es nicht anders erwähnt wird, modifiziert werden. Die dargestellten Ausführungsformen sollten somit lediglich als Beispiel aufgefasst werden und der Prozess kann in einer anderen Reihenfolge ausgeführt werden. Einige Schritte können parallel ausgeführt werden. Außerdem können ein oder mehrere Schritte bei verschiedenen Ausführungsformen weggelassen werden; somit sind nicht in jeder Ausführungsform alle Schritte erforderlich. Es sind andere Prozessflüsse möglich.
  • Soweit hier verschiedene Operationen oder Funktionen beschrieben werden, können sie als Softwarecode, Anweisungen, Konfiguration und/oder Daten beschrieben oder definiert werden. Der Inhalt kann direkt ausführbar ("Objekt"- oder "ausführbare Form"), Quellcode oder Differenzcode ("Delta" oder "Patch"-Code) sein. Der Softwareinhalt der hier beschriebenen Ausführungsformen kann über einen Herstellungsartikel, auf dem der Inhalt gespeichert ist, oder über ein Verfahren zum Betrieb einer Kommunikationsschnittstelle zum Senden von Daten über die Kommunikationsschnittstelle bereitgestellt werden. Ein maschinenlesbares Speichermedium kann bewirken, dass eine Maschine die beschriebenen Funktionen oder Operationen ausführt, und umfasst einen beliebigen Mechanismus, der Informationen in einer Form speichert, die einer Maschine (z.B. einer Datenverarbeitungsvorrichtung, einem elektronischen System usw.) zugänglich ist, wie etwa beschreibbare/nicht beschreibbare Medien (z.B. Nurlesespeicher (ROM), Direktzugrifsspeicher (RAM), magnetische Datenträgerspeichermedien, optische Speichermedien, Flash-Speichervorrichtungen usw.). Eine Kommunikationsschnittstelle umfasst einen beliebigen Mechanismus, der eine Schnittstelle zu einem beliebigen eines festverdrahteten, drahtlosen, optischen usw. Mediums zur Kommunikation mit einer anderen Vorrichtung bildet, wie etwa eine Speicherbusschnittstelle, eine Prozessorbusschnittstelle, eine Internetverbindung, einen Plattenkontroller usw. Die Kommunikationsschnittstelle kann konfiguriert werden, indem Konfigurationsparameter bereitgestellt werden und/oder Signale gesendet werden, um die Kommunikationsschnittstelle darauf vorzubereiten, ein Datensignal bereitzustellen, das den Softwareinhalt beschreibt. Auf die Kommunikationsschnittstelle kann über einen oder mehrere Befehle oder ein oder mehrere Signale, die zu der Kommunikationsschnittstelle gesendet werden, zugegriffen werden.
  • Verschiedene hier beschriebene Komponenten können ein Mittel zum Ausführen der beschriebenen Operationen oder Funktionen sein. Jede hier beschriebene Komponente umfasst Software, Hardware oder eine Kombination dieser. Die Komponenten können als Softwaremodule, Hardwaremodule, Spezialhardware (z.B. anwendungsspezifische Hardware, anwendungsspezifische integrierte Schaltungen (ASIC), digitale Signalprozessoren (DSP) usw.), eingebettete Steuerungen, festverdrahtete Schaltkreise usw. implementiert werden.
  • Neben dem hier beschriebenen können verschiedene Modifikationen an den offenbarten Ausführungsformen und Implementierungen der Erfindung vorgenommen werden, ohne von ihrem Schutzumfang abzuweichen. Die vorliegenden Veranschaulichungen und Beispiele sollten daher im veranschaulichenden und nicht im einschränkenden Sinne aufgefasst werden. Der Schutzumfang der Erfindung sollte alleine durch Bezugnahme auf die folgenden Ansprüche gemessen werden.

Claims (25)

  1. Verfahren zur Phasenkompensation, umfassend: Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals (Eingabe/Ausgabe) mit einer Phase eines Timingsignals; selektives Justieren des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird; und Anwenden des justierten linearen Codes auf einen Verriegelungskreis zur Verriegelung der Phase des E/A-Signals mit der Phase des Timingsignals.
  2. Verfahren nach Anspruch 1, wobei das Erzeugen des linearen Codes Erzeugen des Codes aus einem linearen digitalen Zähler umfasst.
  3. Verfahren nach Anspruch 1, wobei das selektive Justieren des linearen Codes mit der variablen programmierbaren Steigung ferner Folgendes umfasst: Justieren des linearen Codes von einem voreingestellten Wert aus auf der Basis einer Anfangsbedingung.
  4. Verfahren nach Anspruch 1, wobei das selektive Justieren des linearen Codes mit der variablen programmierbaren Steigung ferner Folgendes umfasst: anfängliches Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code aus, um die Grob-Codejustierungen in feinere Justierungen zu unterteilen.
  5. Verfahren nach Anspruch 1, wobei das selektive Justieren des linearen Codes mit der variablen programmierbaren Steigung ferner Folgendes umfasst: anfängliches Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code aus, durch Bitverschieben des Grob-Codes.
  6. Verfahren nach Anspruch 1, wobei der Verriegelungskreis einen digitalen Verzögerungsregelkreis (DLL) umfasst.
  7. Verfahren nach Anspruch 6, wobei der DLL einen DLL für eine Daten-E/A-Schnittstelle einer Speichervorrichtung umfasst.
  8. Verfahren nach Anspruch 1, wobei der Verriegelungskreis einen Phasenregelkreis (PLL) umfasst.
  9. Steuerschaltung für E/A (Eingabe/Ausgabe), umfassend: eine E/A-Signalleitung zum Empfangen eines E/A-Signals; einen Automaten (240) zum Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase des E/A-Signals mit einer Phase eines Timingsignals zum selektiven Justieren des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird, und zur Anwendung des justierten linearen Codes auf einen Verriegelungskreis zum Verriegeln der Phase des E/A-Signals mit der Phase des Timingsignals.
  10. E/A-Steuerschaltung nach Anspruch 9, wobei der Automat (240) ferner zu Folgendem dient: Empfangen einer Anfangsbedingungseingabe zum Identifizieren eines voreingestellten Wert-Startpunkts für die Phasenkompensation; und Justieren des linearen Codes auf der Basis der Anfangsbedingung.
  11. E/A-Steuerschaltung nach Anspruch 9, wobei der Automat (240) ferner zu Folgendem dient: anfänglichem Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code aus, um die Grob-Codejustierungen in feinere Justierungen zu unterteilen.
  12. E/A-Steuerschaltung nach Anspruch 9, wobei der Automat (240) ferner dazu dient, anfänglich einen Grob-Code zur Phasenjustierung anzuwenden, und ferner umfassend einen Bitschieber zur Bitverschiebung des Grob-Codes, um die Steigung zu ändern.
  13. System mit einem Speichersubsystem (630) mit Phasenkompensation der E/A (Eingabe/Ausgabe), umfassend: eine Steuerschaltung für E/A (Eingabe/Ausgabe) für eine Datenschnittstelle (144) zwischen einer Speichersteuerung (634) und einer Speichervorrichtung (634), gemäß einer Ausführungsform der Ansprüche 9 bis 12; und eine Berührungsschirmanzeige, die so geschaltet ist, dass sie eine Anzeige auf der Basis von Daten, auf die aus der Speichervorrichtung (634) zugegriffen wird, erzeugt.
  14. Speichervorrichtung, umfassend: Hardware für E/A (Eingabe/Ausgabe) (140), ausgelegt zur Bildung einer Schnittstelle mit E/A-Signalleitungen zum Austausch von Daten bei Kopplung mit einer zugeordneten Speichersteuerung (110); und eine Steuerschaltung (740) für E/A (Eingabe/Ausgabe) zum Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines zu der Speichersteuerung zu sendenden E/A-Signals mit einer Phase eines Timingsignals zur selektiven Justierung des linearen Codes mit einer variablen programmierbaren Steigung, wobei die Steigung definiert, wie viel Phasenkompensation pro Einheit Änderung in dem linearen Code angewandt wird, und zur Anwendung des justierten linearen Codes auf einen Verriegelungskreis zum Verriegeln der Phase des E/A-Signals mit der Phase des Timingsignals.
  15. Speichervorrichtung nach Anspruch 14, wobei die E/A-Steuerschaltung (740) ferner zu Folgendem dient: Empfangen einer Anfangsbedingungseingabe zum Identifizieren eines voreingestellten Wert-Startpunkts für die Phasenkompensation; und Justieren des linearen Codes auf der Basis der Anfangsbedingung.
  16. Speichervorrichtung nach Anspruch 14, wobei die E/A-Steuerschaltung (740) ferner zu Folgendem dient: anfänglichem Anwenden eines Grob-Codes zur Phasenjustierung; und Ändern der Steigung von dem Grob-Code aus, um die Grob-Codejustierungen in feinere Justierungen zu unterteilen.
  17. Speichervorrichtung nach Anspruch 14, wobei die E/A-Steuerschaltung (740) ferner dazu dient, anfänglich einen Grob-Code zur Phasenjustierung anzuwenden, und wobei die E/A-Steuerschaltung ferner einen Bitschieber zur Bitverschiebung des Grob-Codes umfasst, um die Steigung zu ändern.
  18. Speichervorrichtung nach Anspruch 14, wobei der Verriegelungskreis einen digitalen Verzögerungsregelkreis (DLL) umfasst.
  19. Herstellungsartikel, der ein computerlesbares Speichermedium umfasst, auf dem Inhalt gespeichert ist, der, wenn auf ihn zugegriffen wird, bewirkt, dass eine Maschine Operationen zur Ausführung eines Verfahrens zur Phasenkompensation durchführt, gemäß einer beliebigen Ausführungsform der Ansprüche 1 bis 8.
  20. Einrichtung, die Mittel umfasst zum Durchführen von Operationen, um ein Verfahren zur Phasenkompensation gemäß einer beliebigen Ausführungsform der Ansprüche 1 bis 8 auszuführen.
  21. Verfahren zur Phasenkompensation, umfassend: Anwenden von groben Phasenjustierungen auf ein E/A-Synchronisationssignal (Eingabe/Ausgabe), bis eine Phase des Synchronisationssignals eine Referenzphase überschreitet; und Anwenden von feinen Phasenjustierungen auf das E/A-Synchronisationssignal nach dem Überschreiten der Referenzphase, wobei die feinen Phasenjustierungen Unterteilungen einer groben Phasenjustierung sind, wobei jedes Phasenoffset einer feinen Phasenjustierung kleiner als ein Phasenoffset einer groben Phasenjustierung ist; wobei eine Größe des Phasenoffsets der feinen Phasenjustierung programmierbar justierbar ist.
  22. Verfahren nach Anspruch 21, wobei Anwenden der groben Phasenjustierungen ferner Erzeugen eines linearen Codes zur Anwendung von Phasenkompensation zur Verriegelung der Phase eines E/A-Signals (Eingabe/Ausgabe) mit einer Phase eines Timingsignals umfasst.
  23. Verfahren nach Anspruch 21, wobei Anwenden der feinen Phasenjustierungen selektives Justieren der groben Justierungen mit variablen programmierbaren Phasenoffsets umfasst.
  24. Herstellungsartikel, der ein computerlesbares Speichermedium umfasst, auf dem Inhalt gespeichert ist, der, wenn auf ihn zugegriffen wird, bewirkt, dass eine Maschine Operationen zur Phasenkompensation durchführt, gemäß einem der Ansprüche 21 bis 23.
  25. Einrichtung für Phasenkompensation, die Mittel umfasst zum Durchführen von Operationen, um ein Verfahren gemäß einem der Ansprüche 21 bis 23 auszuführen.
DE102016108890.0A 2015-06-19 2016-05-13 Digitale Phasenregelung mit programmierbarer Nachführungssteigung Active DE102016108890B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/745,326 US9614533B2 (en) 2015-06-19 2015-06-19 Digital phase control with programmable tracking slope
US14/745,326 2015-06-19

Publications (2)

Publication Number Publication Date
DE102016108890A1 DE102016108890A1 (de) 2016-12-22
DE102016108890B4 true DE102016108890B4 (de) 2018-04-05

Family

ID=57467320

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016108890.0A Active DE102016108890B4 (de) 2015-06-19 2016-05-13 Digitale Phasenregelung mit programmierbarer Nachführungssteigung

Country Status (6)

Country Link
US (2) US9614533B2 (de)
EP (1) EP3311386A4 (de)
CN (1) CN107735836B (de)
DE (1) DE102016108890B4 (de)
TW (1) TWI679852B (de)
WO (1) WO2016204962A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180063396A (ko) * 2016-12-01 2018-06-12 에스케이하이닉스 주식회사 지연 고정 루프(dll)를 구비하는 반도체 장치 및 반도체 시스템
US9954542B1 (en) * 2017-02-01 2018-04-24 Apple Inc. Digital linearization technique for charge pump based fractional phased-locked loop
US9893878B1 (en) * 2017-03-15 2018-02-13 Oracle International Corporation On-chip jitter measurement for clock circuits
US10853004B2 (en) * 2017-04-20 2020-12-01 Hewlett-Packard Development Company, L.P. Calibrating communication lines
US10217497B2 (en) * 2017-06-07 2019-02-26 Winbond Electronics Corporation Delay locked loop circuit and method of controlling same
KR102598913B1 (ko) * 2018-06-14 2023-11-07 에스케이하이닉스 주식회사 반도체장치
CN110719090A (zh) * 2018-07-12 2020-01-21 新港海岸(北京)科技有限公司 一种相位插值器的自动校准电路及方法
KR20200052562A (ko) 2018-11-07 2020-05-15 삼성전자주식회사 스토리지 장치
US11133806B1 (en) * 2019-05-14 2021-09-28 Space Exploration Technologies Corp. Phase lock loop (PLL) synchronization
US11153067B2 (en) 2019-05-14 2021-10-19 Space Exploration Technologies Corp. Chip to chip time synchronization
CN110535575B (zh) * 2019-08-01 2021-05-14 电子科技大学 一种计算并补偿i/q信号线性相位失衡的方法
KR20210140875A (ko) * 2020-05-14 2021-11-23 삼성전자주식회사 멀티 위상 클록 생성기, 그것을 포함하는 메모리 장치, 및 그것의 멀티 위상클록 생성 방법
KR20220003712A (ko) 2020-07-02 2022-01-11 삼성전자주식회사 지연 고정 루프 회로의 지연 회로 및 지연 고정 루프 회로
EP4195510A4 (de) * 2020-08-11 2024-02-14 Changxin Memory Tech Inc Verzögerungsregelschleife
KR20220021505A (ko) 2020-08-14 2022-02-22 삼성전자주식회사 듀티 조절 회로, 이를 포함하는 지연 동기 루프 회로 및 반도체 메모리 장치
US11705429B2 (en) 2020-09-04 2023-07-18 Micron Technology, Inc. Redundant through-silicon vias
US11380395B2 (en) 2020-09-04 2022-07-05 Micron Technology, Inc. Access command delay using delay locked loop (DLL) circuitry
KR20220036175A (ko) 2020-09-15 2022-03-22 삼성전자주식회사 메모리 장치 및 그것의 클록 라킹 방법
US11392163B1 (en) * 2021-09-23 2022-07-19 Apple Inc. On-chip supply ripple tolerant clock distribution
CN115987275A (zh) * 2021-10-14 2023-04-18 澜起科技股份有限公司 校准方法、校准装置及多相时钟电路
CN114665908B (zh) * 2022-03-21 2023-05-12 中国电子科技集团公司第三十八研究所 一种幅相精度可调节的衰减移相系统
EP4318474A1 (de) * 2022-06-06 2024-02-07 Changxin Memory Technologies, Inc. Phasenanpassungsschaltung, verzögerungsverriegelungsschaltung und speicher

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295098A (en) 1979-12-19 1981-10-13 Rca Corporation Digitally adjustable phase shifting circuit
US6917229B2 (en) 2002-11-27 2005-07-12 Hynix Semiconductor Inc. Delay locked loop having low jitter in semiconductor device
US20100327926A1 (en) 2009-06-24 2010-12-30 Elpida Memory, Inc. DLL circuit and semiconductor device having the DLL circuit

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6417714B1 (en) * 2000-03-30 2002-07-09 Inter Corporation Method and apparatus for obtaining linear code-delay response from area-efficient delay cells
JP4592179B2 (ja) * 2000-12-19 2010-12-01 ルネサスエレクトロニクス株式会社 ディレイロックドループ、当該ディレイロックドループを含む半導体装置およびクロック同期により動作するシステムのための制御方法
US6549046B1 (en) * 2000-12-29 2003-04-15 Cisco Technology, Inc. Method and apparatus for phase aligning two clock signals utilizing a programmable phase adjustment circuit
US7242229B1 (en) 2001-05-06 2007-07-10 Altera Corporation Phase locked loop (PLL) and delay locked loop (DLL) counter and delay element programming in user mode
US7336752B2 (en) 2002-12-31 2008-02-26 Mosaid Technologies Inc. Wide frequency range delay locked loop
US7400690B2 (en) * 2003-10-14 2008-07-15 Agere Systems Inc. Adaptive phase controller, method of controlling a phase and transmitter employing the same
US7218158B2 (en) * 2004-08-27 2007-05-15 Micron Technology, Inc. Self-timed fine tuning control
US7227395B1 (en) * 2005-02-09 2007-06-05 Altera Corporation High-performance memory interface circuit architecture
US7629819B2 (en) 2005-07-21 2009-12-08 Micron Technology, Inc. Seamless coarse and fine delay structure for high performance DLL
US7271634B1 (en) * 2005-09-16 2007-09-18 Advanced Micro Devices, Inc. Delay-locked loop having a plurality of lock modes
KR100804154B1 (ko) * 2005-09-29 2008-02-19 주식회사 하이닉스반도체 지연고정루프회로
JP5198166B2 (ja) 2008-06-27 2013-05-15 富士通セミコンダクター株式会社 デジタルdll回路及び半導体装置
JP5451012B2 (ja) 2008-09-04 2014-03-26 ピーエスフォー ルクスコ エスエイアールエル Dll回路及びその制御方法
US8432768B2 (en) * 2009-01-12 2013-04-30 Rambus Inc. Mesochronous signaling system with multiple power modes
JP2011176615A (ja) * 2010-02-24 2011-09-08 Elpida Memory Inc クロック制御回路及びこれを備える半導体装置
US9213657B2 (en) 2010-08-25 2015-12-15 Rambus Inc. Memory controller with fast reacquisition of read timing to support rank switching
US8611163B2 (en) 2011-03-21 2013-12-17 Taiwan Semiconductor Manufacturing Co., Ltd. Digital DLL for timing control in semiconductor memory
US8564345B2 (en) 2011-04-01 2013-10-22 Intel Corporation Digitally controlled delay lines with fine grain and coarse grain delay elements, and methods and systems to adjust in fine grain increments
JP2013183415A (ja) * 2012-03-05 2013-09-12 Elpida Memory Inc 半導体装置及びクロック信号の位相調整方法
JP6007676B2 (ja) * 2012-08-29 2016-10-12 富士通株式会社 判定支援装置、判定装置、メモリコントローラ、システム、および判定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295098A (en) 1979-12-19 1981-10-13 Rca Corporation Digitally adjustable phase shifting circuit
US6917229B2 (en) 2002-11-27 2005-07-12 Hynix Semiconductor Inc. Delay locked loop having low jitter in semiconductor device
US20100327926A1 (en) 2009-06-24 2010-12-30 Elpida Memory, Inc. DLL circuit and semiconductor device having the DLL circuit

Also Published As

Publication number Publication date
EP3311386A1 (de) 2018-04-25
WO2016204962A1 (en) 2016-12-22
TWI679852B (zh) 2019-12-11
US9614533B2 (en) 2017-04-04
US10574241B2 (en) 2020-02-25
CN107735836A (zh) 2018-02-23
DE102016108890A1 (de) 2016-12-22
EP3311386A4 (de) 2019-03-27
CN107735836B (zh) 2021-08-24
TW201711395A (zh) 2017-03-16
US20170237444A1 (en) 2017-08-17
US20160373119A1 (en) 2016-12-22

Similar Documents

Publication Publication Date Title
DE102016108890B4 (de) Digitale Phasenregelung mit programmierbarer Nachführungssteigung
US10712768B2 (en) Apparatus and method for extending frequency range of a circuit and for over-clocking and under-clocking
US9508417B2 (en) Methods and apparatuses for controlling timing paths and latency based on a loop delay
US8395430B2 (en) Digital phase locking loop and method for eliminating glitches
DE112013007280T5 (de) Vorrichtung und Verfahren zur schnellen Phasenverriegelung
US10097189B2 (en) Semiconductor device
US20150188553A1 (en) Apparatus for symmetric and linear time-to-digital converter (tdc)
DE102004032478A1 (de) Verzögerungsregelkreis in Halbleiterspeichervorrichtung und sein Taktsynchronisierverfahren
DE102006020857A1 (de) Integrierter Halbleiterspeicher zur Synchronisierung eines Signals mit einem Taktsignal
US11722128B2 (en) Duty cycle correction system and low dropout (LDO) regulator based delay-locked loop (DLL)
DE102007040577A1 (de) DLL-Schaltung und damit ausgestattete Halbleitervorrichtung
DE102016108889B4 (de) XOR (exklusives ODER) -basiertes trianguläres Mischen für die digitale Phasensteuerung
DE102004031450B4 (de) Verzögerungsregelkreis-Vorrichtung
US20160087638A1 (en) Multi-channel delay locked loop
DE102017105745A1 (de) Phaseninterpolator zum Interpolieren der Phase eines Verzögerungs-Takt-Signals und Vorrichtung die diesen enthält und zum Durchführen eines Datenabtastens (Datensampling) unter Verwendung des phaseninterpolierten Taktsignals
US10698846B2 (en) DDR SDRAM physical layer interface circuit and DDR SDRAM control device
US6373301B1 (en) Fast-locking dual rail digital delayed locked loop
DE112020002809T5 (de) Einrichtung und verfahren zum aufrechterhalten stabiler taktung
US9178519B2 (en) Clock signal generator
DE102020130173A1 (de) Technik für den pll-kondensatoraustausch und dynamische bandauswahl für einen digital gesteuerten oszillator mit geringem jitter
KR20150105994A (ko) 출력 신호 생성 장치, 반도체 장치 및 출력 신호 생성 방법
DE60308006T2 (de) System mit phasensprung-regelkreisschaltung
DE102018132424A1 (de) Integrierte Schaltung mit Phasenregelkreisschaltung
US20080272817A1 (en) Integrated Circuit on a Semiconductor Chip with a Phase Shift Circuit and a Method for Digital Phase Shifting
DE20221502U1 (de) Vorrichtung zur Datenwiederherstellung in einem synchronen Chip-zu-Chip-System

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final