DE102008006671B4 - Asynchrone Datenübertragung - Google Patents

Asynchrone Datenübertragung Download PDF

Info

Publication number
DE102008006671B4
DE102008006671B4 DE102008006671A DE102008006671A DE102008006671B4 DE 102008006671 B4 DE102008006671 B4 DE 102008006671B4 DE 102008006671 A DE102008006671 A DE 102008006671A DE 102008006671 A DE102008006671 A DE 102008006671A DE 102008006671 B4 DE102008006671 B4 DE 102008006671B4
Authority
DE
Germany
Prior art keywords
processor
data
clock signal
storage device
frequency
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.)
Expired - Fee Related
Application number
DE102008006671A
Other languages
English (en)
Other versions
DE102008006671A1 (de
Inventor
Christoph Bilger
Markus Balb
Martin Brox
Thomas Hein
Peter Mayer
Michael Richter
Wolfgang Spirkl
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.)
Polaris Innovations Ltd
Original Assignee
Qimonda AG
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 Qimonda AG filed Critical Qimonda AG
Publication of DE102008006671A1 publication Critical patent/DE102008006671A1/de
Application granted granted Critical
Publication of DE102008006671B4 publication Critical patent/DE102008006671B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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 
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

Verfahren zur Datenübertragung zwischen einem Prozessor (102) und einem Speichergerät (130) mit den Schritten:
Liefern von Steuersignalen für einen Zugriffsbefehl vom Prozessor (102) an das Speichergerät über eine asynchrone Schnittstelle (122);
Übertragen von dem Zugriffsbefehl zugeordneten Daten zwischen dem Prozessor (102) und dem Speichergerät (130) über eine synchrone Schnittstelle (124), wobei die übertragenen Daten ein codiertes Taktsignals enthalten; und
Empfangen der übertragenen Daten unter Verwendung des codierten Taktsignals,
dadurch gekennzeichnet, dass
das Taktsignal ausschließlich während der Datenübertragung und alternativ von dem Speichergerät (130), wenn das Speichergerät (130) die Daten überträgt, und von dem Prozessor (102), wenn der Prozessor (102) die Daten überträgt, erzeugt wird.

Description

  • Kommunikationen in modernen Computersystemen können in regelmäßigen Intervallen stattfinden, z. B. wie es durch ein Taktsignal reguliert wird. Zum Beispiel kann während einer Datenübertragung eine Gruppe von Daten während jeder ansteigenden Flanke des Taktsignals übertragen werden. Kommunikationen, die mit einem Taktsignal durchgeführt werden, werden oft als synchrone Kommunikationen bezeichnet. Synchrone Kommunikationssysteme können manchmal gegenüber asynchronen Kommunikationssystemen bevorzugt werden. Bei asynchronen Systemen werden Kommunikationen durch ein Aktivieren von Handshake-Signalen durchgeführt, die angeben, wenn Daten, die übertragen werden, gültig sind und durch das Empfangsgerät korrekt empfangen worden sind. Synchrone Systeme können gegenüber asynchronen Systemen bevorzugt werden, weil synchrone Systeme Kommunikationen z. B. schneller, ohne den Aufwand der Handshake-Signale durchführen können.
  • In einigen Fällen können unterschiedliche Geräte in einem Computersystem inhärent Operationen mit unterschiedlichen Geschwindigkeiten durchführen, z. B. aufgrund von Unterschieden bei sowohl dem Design als auch der Herstellung. Sogar Geräte, die unter Verwendung des gleichen Herstellungsprozesses hergestellt worden sind, können aufgrund der Prozessvariationen zwischen Stapeln und sogar aufgrund von Prozessvariationen in einem einzelnen Stapel Operationen ebenfalls mit unterschiedlichen Geschwindigkeiten durchführen. Da unterschiedliche Geräte bei einem gegebenen System bezüglich einander und bezüglich anderer Systeme mit unterschiedlichen Geschwindigkeiten operieren können, kann es schwierig sein, eine Taktfrequenz festzulegen, die bei jedem hergestellten System verwendet werden soll.
  • In einigen Fällen können Entwerfer eine Maximaltaktfrequenz festlegen, die niedrig genug ist, so dass die Mehrheit von Komponenten in jedem hergestellten System dazu fähig ist, Operationen mit der festgelegten Taktfrequenz durchzuführen. Wenn ein hergestelltes System zu einem Operieren mit der festgelegten Maximaltaktfrequenz nicht fähig ist, kann das System als fehlerhaft verworfen werden, wodurch Abfall bei dem Herstellungsprozess erhöht wird. Ferner kann ein Festlegen einer gemeinsamen Taktfrequenz für Kommunikationssysteme darin resultieren, dass schnellere hergestellte Systeme unnötig langsam mit der festgelegten Taktfrequenz operieren. Ferner kann ein Betreiben eines Systems, das unter Verwendung eines gemeinsamen Taktsignals kommuniziert, einen Leistungsverbrauch erhöhen, da das gemeinsame Taktsignal kontinuierlich erzeugt und an jedes der Geräte in dem System übertragen wird.
  • Was folglich benötigt wird, sind ein verbessertes System, eine Vorrichtung und ein Verfahren zum Durchführen einer Datenübertragung.
  • Aus der US 2006/0109929 A1 ist ein Datenübertragungsverfahren bzw. ein Datenübertragungssystem mit einem Prozessor und einem Speicher bekannt, bei dem der Zugriffsbefehl asynchron und die Daten synchron übertragen werden, wobei ein Taktsignal zum Steuern des Datenempfangs den übertragenen Daten aufgeprägt ist. Das Datenübertragungsverfahren bzw. das Datenübertragungssystem arbeitet dabei mit einem verteilten Taktsignal, das kontinuierlich erzeugt wird. Ein ähnlicher Stand der Technik ist aus der US 4,449,202 A bekannt. Die US 2004/0139262 A1 offenbart eine zeitlich limitierte Taktsignalerzeugung.
  • Aufgabe der Erfindung ist es, ein Datenübertragungsverfahren bzw. ein Datenübertragungssystem mit reduziertem Leistungsverbrauch bereitzustellen.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren gemäß Anspruch 1 und ein Datenübertragungssystem gemäß Anspruch 5 gelöst. Bevorzugte Weiterbildungen sind in den abhängigen Ansprüchen angegeben.
  • Ausführungsbeispiele der Erfindung schaffen allgemein ein Verfahren und eine Vorrichtung zum Zugreifen auf ein Speichergerät. Bei einem Ausführungsbeispiel umfasst das Verfahren ein Liefern von Steuersignalen für einen Zugriffsbefehl an das Speichergerät über eine asynchrone Schnittstelle und ein Übertragen von Daten für den Zugriffsbefehl an das Speichergerät. Das Verfahren umfasst auch ein Codieren eines Taktsignals in die übertragenen Daten. Das codierte Taktsignal in den übertragenen Daten wird durch das Speichergerät zum Empfangen der Datenübertragung verwendet.
  • Damit die Weise, in der die oben angeführten Merkmale der vorliegenden Erfindung zusammenwirken, detailliert verstanden werden kann, wird eine genauere Beschreibung der Erfindung, oben kurz zusammengefasst, unter Bezugnahme auf die Ausführungsbeispiele geliefert, von denen einige in den angehängten Zeichnungen dargestellt sind. Es ist jedoch zu beachten, dass die angehängten Zeichnungen lediglich typische Ausführungsbeispiele dieser Erfindung darstellen und somit nicht als den Schutzbereich derselben einschränkend betrachtet werden sollen, da die Erfindung andere, gleichermaßen wirksame Ausführungsbeispiele zulassen kann.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Blockdiagramm, das ein Beispielsystem gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • 2 ein Blockdiagramm, das einen Prozess zum Zugreifen auf das Speichergerät gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • 3 ein Flussdiagramm, das einen Prozess zum Durchführen eines Zugriffs unter Verwendung eines codierten Taktsignals gemäß einem Ausführungsbeispiel der Erfindung zeigt;
  • 4 ein Flussdiagramm, das einen Prozess zum Übertragen von Daten von dem Speichergerät zu dem Prozessor gemäß einem Ausführungsbeispiel der Erfindung zeigt; und
  • 5 ein Blockdiagramm, das einen Prozess zum Einstellen der Frequenz eines Taktsignals gemäß einem Ausführungsbeispiel der Erfindung zeigt.
  • Ausführungsbeispiele der Erfindung schaffen allgemein ein Verfahren und eine Vorrichtung zum Zugreifen auf ein Speichergerät. Bei einem Ausführungsbeispiel umfasst das Verfahren ein Liefern von Steuersignalen für einen Zugriffsbefehl an das Speichergerät über eine asynchrone Schnittstelle und ein Übertragen von Daten für den Zugriffsbefehl an das Speichergerät. Das Verfahren umfasst auch ein Codieren eines Taktsignals in die übertragenen Daten. Das codierte Taktsignal in den übertragenen Daten wird durch das Speichergerät zum Empfangen der Datenübertragung verwendet. Durch ein Verwenden einer asynchronen Steuerung bei einer synchronen Hochgeschwindigkeitsdatenübertragung kann jedes der Geräte, die Daten transferieren, die Daten mit einer Rate transferieren, die sehr nah an der inneren Verzögerung derselben ist, wodurch die Datentransferrate erhöht ist.
  • Im Folgenden wird Bezug auf Ausführungsbeispiele der Erfindung genommen. Es sei jedoch darauf hingewiesen, dass die Erfindung nicht auf spezifische beschriebene Ausführungsbeispiele beschränkt ist. Statt dessen wird irgendeine Kombination der folgenden Merkmale und Elemente, ob auf unterschiedliche Ausführungsbeispiele bezogen oder nicht, erwogen, um die Erfindung zu implementieren und zu praktizieren. Ferner schafft die Erfindung bei verschiedenartigen Ausführungsbeispielen zahlreiche Vorteile gegenüber dem Stand der Technik. Obwohl Ausführungsbeispiele der Erfindung Vorteile gegenüber anderen möglichen Lösungen und/oder gegenüber dem Stand der Technik erreichen können, schränkt es die Erfindung jedoch nicht ein, ob ein bestimmter Vorteil durch ein gegebenes Ausführungsbeispiel erreicht wird oder nicht. Somit sind die folgenden Aspekte, Merkmale, Ausführungsbeispiele und Vorteile lediglich darstellend und werden nicht als Elemente oder Einschränkungen der angehängten Ansprüche betrachtet, außer wenn es in einem Anspruch (Ansprüchen) explizit angeführt ist. In ähnlicher Weise soll eine Bezugnahme auf „die Erfindung” nicht als eine Verallgemeinerung irgendeines erfindungsgemäßen, hierin offenbarten Gegenstandes aufgefasst werden und soll nicht als ein Element oder eine Einschränkung der angehängten Ansprüche betrachtet werden, außer wenn es in einem Anspruch (Ansprüchen) explizit angeführt ist.
  • Das Folgende ist eine detaillierte Beschreibung von Ausführungsbeispielen der Erfindung, die in den zugehörigen Zeichnungen gezeigt sind. Die Ausführungsbeispiele sind Beispiele und sind derartig detailliert, um die Erfindung deutlich zu kommunizieren. Jedoch soll die Menge der angebotenen Details die antizipierten Variationen von Ausführungsbeispielen nicht einschränken, sondern die Absicht besteht im Gegenteil darin, alle Modifikationen, Äquivalente und Alternativen abzudecken, die in die Wesensart und den Schutzbereich der vorliegenden Erfindung fallen, wie es durch die angehängten Ansprüche definiert ist.
  • 1 ist ein Blockdiagramm, das ein Beispielsystem 100 gemäß einem Ausführungsbeispiel der Erfindung zeigt. Wie es gezeigt ist, kann das System 100 einen Prozessor 102 umfassen, wie z. B. eine zentrale Prozessoreinheit, eine graphische Prozessoreinheit oder eine Speichersteuerung. Der Prozessor 102 kann konfiguriert sein, um auf ein Speichergerät 130 zuzugreifen. Das Speichergerät 130 kann ein Dynamischer-Direktzugriffsspeicher-Gerät (DRAM-Gerät; DRAM = dynamic random access memory) wie z. B. ein Synchron-DRAM-Gerät (SDRAM-Gerät), ein Doppeldatenraten-DRAM-Gerät (DDR-DRAM-Gerät) sein. Das Speichergerät 130 kann auch ein Statischer-RAM-Gerät (SRAM-Gerät) oder ein Nicht-Flüchtiger-Speicher-Gerät wie z. B. ein Flash-Speichergerät oder ein Magnetischer-RAM-Gerät (MRAM-Gerät) sein.
  • Bei einem Ausführungsbeispiel kann der Prozessor 102 eine Steuerschaltungsanordnung 104 umfassen, die konfiguriert ist, um Anweisungen auszuführen. Die ausgeführten Anweisungen können verwendet werden, um auf das Speichergerät 130 unter Verwendung einer Eingangs-/Ausgangs-Schaltungsanordnung (I/O-Schaltungsanordnung; I/O = input/output) 106 des Prozessors 102 zuzugreifen. Der Prozessor kann auch eine Lokaltakterzeuger-Schaltung (LCG-Schaltung; LCG = local clock generator) 108 umfassen, die verwendet werden kann, um Kommunikationen zwischen dem Prozessor 102 und dem Speichergerät 130 zeitlich zu steuern, wie es unten beschrieben ist.
  • Bei einem Ausführungsbeispiel kann das Speichergerät 139 eine Steuerschaltungsanordnung 132 umfassen, die konfiguriert ist, um Befehlsignale von dem Prozessor 102 zu empfangen. Auf ein Empfangen von Befehlen von dem Prozessor 102 hin kann die Steuerschaltungsanordnung konfiguriert sein, um Zugriffsoperationen (z. B. Leseoperationen und/oder Schreiboperationen) in einem oder mehreren Speicherarrays 136 des Speichergeräts 130 durchzuführen. Daten für die Zugriffsoperationen können zwischen dem Prozessor 102 und dem Speichergerät 130 unter Verwendung einer I/O-Schaltungsanordnung 134 des Speichergeräts 130 übertragen werden. Die I/O-Schaltungsanordnung 134 kann eine Datenwarteschlange 140 umfassen, in die Daten, die durch das Speichergerät 130 empfangen werden, platziert werden können. Wie es unten beschrieben ist, kann auch eine LCG-Schaltung 138 verwendet werden, um Kommunikationen zwischen dem Prozessor 102 und dem Speichergerät 130 zeitzusteuern.
  • Bei einem Ausführungsbeispiel der Erfindung können der Prozessor 102 und das Speichergerät 130 miteinander über eine Schnittstelle kommunizieren, die teilweise asynchron und teilweise synchron ist. Zum Beispiel kann der Prozessor 102 konfiguriert sein, um Steuersignale für einen Zugriffsbefehl an das Speichergerät 130 über eine asynchrone Schnittstelle 122 zu liefern, während Daten für den Zugriffsbefehl synchron über einen Datenbus 124 an das Speichergerät 130 übertragen werden. Eine Zeitsteuerung für die übertragenen Daten kann z. B. durch ein Codieren eines Taktsignals in die übertragenen Daten durchgeführt werden. Das Speichergerät 130 kann das codierte Taktsignal verwenden, um die übertragenen Daten zu empfangen.
  • Durch ein Verwenden einer asynchronen Befehlsschnittstelle 122 kann ein Leistungsverbrauch, der einem Takten von synchronen Befehlsschnittstellen zugeordnet ist, reduziert werden. Durch ein synchrones Transferieren von Daten über den Datenbus 124 kann ein Mehraufwand (z. B. Handshaking), der asynchronen Datentransfers zugeordnet ist, in einigen Fällen reduziert oder vermieden werden, wodurch erhöhte Datenübertragungsraten geliefert werden.
  • 2 ist ein Blockdiagramm, das einen Prozess 200 zum Zugreifen auf das Speichergerät 130 gemäß einem Ausführungsbeispiel der Erfindung zeigt. Der Prozess 200 kann z. B. durch den Prozessor 102 durchgeführt werden. Der Prozess 200 beginnt bei einem Schritt 202, wo Steuersignale für einen Zugriffsbefehl an das Speichergerät 130 über eine asynchrone Schnittstelle 122 geliefert werden. Die Steuersignale können z. B. Befehlsignale, die den Befehlstyp angeben, sowie Handshake-Signale, die angeben, wenn ein gültiger Befehl über die Schnittstelle 122 vorgelegt worden ist, umfassen.
  • Bei einem Schritt 204 kann durch den Prozessor 102 ein Taktsignal erzeugt werden. Das Taktsignal kann unter Verwendung der Lokaltakterzeugerschaltung 108 erzeugt werden. Bei einem Ausführungsbeispiel kann das Taktsignal konstant durch den Prozessor 102 erzeugt werden. Bei einem anderen Ausführungsbeispiel kann das Taktsignal, das verwendet wird, um Daten zu übertragen, lediglich durch die Lokaltakterzeugerschaltung 108 erzeugt werden, während von dem Prozessor 102 zu dem Speichergerät 130 eine Datenübertragung durchgeführt wird. In einigen Fällen kann ein anderes Taktsignal durch den Prozessor 102 erzeugt und für eine andere Verarbeitung verwendet werden. Das andere Taktsignal kann z. B. eine niedrigere Frequenz aufweisen als das Taktsignal, das verwendet wird, um Daten zu übertragen, wodurch ein Leistungsverbrauch in dem Prozessor 102 reduziert ist.
  • Bei einem Schritt 206 können Daten für den Zugriffsbefehl an das Speichergerät 102 übertragen werden. Bei einem Schritt 208 kann das erzeugte Taktsignal in die übertragenen Daten codiert werden, während die Daten übertragen werden. Es kann irgendein zweckmäßiges Codierungsschema verwendet werden, um das Taktsignal in die übertragenen Daten zu codieren. Zum Beispiel kann eine Manchester-Phasencodierung, eine Manchester-Differenzcodierung, eine Acht-zu-Zehn-Bit-Codierung oder eine Mehrpegelübergangscodierung verwendet werden.
  • 3 ist ein Flussdiagramm, das einen Prozess 300 zum Durchführen eines Zugriffs (z. B. aus der Perspektive des Speichergeräts 130) gemäß einem Ausführungsbeispiel der Erfindung zeigt. Der Prozess 300 kann z. B. durch das Speichergerät 130 während einer Schreiboperation durchgeführt werden, wenn Daten von dem Prozessor 102 in das Speichergerät 130 geschrieben werden. Bei einem Schritt 302 können Steuersignale für einen Zugriffsbefehl über die asynchrone Schnittstelle 122 empfangen werden. Bei einem Schritt 304 können Daten, die über den Datenbus 124 mit einem codierten Taktsignal übertragen werden, durch das Speichergerät 130 empfangen werden. Bei einem Schritt 306 kann das codierte Taktsignal decodiert werden und bei einem Schritt 308 kann das decodierte Taktsignal verwendet werden, um die übertragenen Daten in das Speichergerät 130 zu lesen. Zum Beispiel kann das decodierte Taktsignal verwendet werden, um die empfangenen Daten in der Eingangswarteschlange 140 des Speichergeräts 130 zwischenzuspeichern (latchen).
  • 4 ist ein Flussdiagramm, das einen Prozess 400 zum Übertragen von Daten von dem Speichergerät 130 zu dem Prozessor 102 gemäß einem Ausführungsbeispiel der Erfindung zeigt. Ein derartiger Transfer kann z. B. durch das Speichergerät 130 ansprechend auf ein Empfangen eines Lesebefehls von dem Prozessor 102 durchgeführt werden. Der Prozess 400 kann bei einem Schritt 402 beginnen, wo Steuersignale für einen Zugriffsbefehl von dem Prozessor 102 über die asynchrone Befehlsschnittstelle 122 empfangen werden. Bei einem Schritt 404 kann durch das Speichergerät 130 ein Taktsignal erzeugt werden, z. B. unter Verwendung der Lokaltakterzeugerschaltungsanordnung 138. Bei einem Schritt 406 können Daten für den Zugriffsbefehl an den Prozessor 102 übertragen werden. Bei einem Schritt 408 kann das erzeugte Taktsignal in die übertragenen Daten codiert werden, während die Daten übertragen werden. Der Prozess 102 kann das codierte Taktsignal verwenden, um die übertragenen Daten zu empfangen, wie es z. B. oben bezüglich des Prozesses 300 des Speichergeräts zum Empfangen von übertragenen Daten beschrieben ist.
  • Wie es oben erwähnt ist, können bei einem Ausführungsbeispiel der Prozessor 102 und das Speichergerät 130 das Taktsignal, das verwendet wird, um Daten zu übertragen, lediglich erzeugen, wenn das bestimmte Gerät Daten überträgt. Zum Beispiel kann die Lokaltakterzeugerschaltungsanordnung 108 in dem Prozessor 102 das Taktsignal für eine Datenübertragung lediglich erzeugen, wenn der Prozessor 102 Daten an das Speichergerät 130 überträgt. In ähnlicher Weise kann die Lokaltakterzeugerschaltungsanordnung 138 des Speichergeräts 130 das Taktsignal für eine Datenübertragung lediglich erzeugen, wenn das Speichergerät 130 Daten an den Prozessor 102 überträgt. In jedem Fall kann das Taktsignal z. B. lediglich ab dem Zeitpunkt, in dem ein Zugriffsbefehl ausgegeben oder empfangen wird, bis zu dem Zeitpunkt, wenn der Befehl abgeschlossen worden ist, erzeugt werden. Bei einem Ausführungsbeispiel kann das Taktsignal für ein gegebenes Gerät optional lediglich erzeugt werden, wenn das Gerät nicht in einen Bereitschaftsmodus versetzt ist. In einigen Fällen kann durch ein Reduzieren der Zeitmenge, für die das Taktsignal in einem gegebenen Gerät 102, 130 erzeugt wird, ein Leistungsverbrauch in dem System 100 reduziert werden.
  • Da das System 100 ggf. kein Taktsignal verwendet, das zwischen dem Prozessor 102 und dem Speichergerät 130 zu Kommunikationszwecken verteilt wird, können das Speichergerät 130 und/oder der Prozessor 102 in einigen Fällen eine bestimmte Synchronisationsschaltungsanordnung wie z. B. eine Phasenregelschleifenschaltung oder eine Verzögerungsregelschleifenschaltung ggf. nicht umfassen. Durch ein Weglassen derartiger Schaltungen von dem Speichergerät 130 und/oder Prozessor 102 kann ein Leistungsverbrauch in dem System 100 reduziert werden. Ferner kann bei einem Ausführungsbeispiel ggf. kein Taktsignal (außer dem codierten Taktsignal, das während einer Datenübertragung verwendet wird) zwischen dem Speichergerät 130 und dem Prozessor 102 übertragen/gemeinsam genutzt werden.
  • Bei einem Ausführungsbeispiel der Erfindung können Daten zwischen dem Speichergerät 130 und dem Prozessor 102 auch unter Verwendung eines asynchronen Datentransfers übertragen werden. Zum Beispiel können bei einem Ausführungsbeispiel Kommunikationen zwischen dem Prozessor 102 und dem Speichergerät 130 entweder in einem schnellen Modus (wie oben beschrieben) oder einem langsamen Modus durchgeführt werden, wobei asynchrone Handshake-Signale verwendet werden, um Daten zwischen dem Prozessor 102 und dem Speichergerät 130 zu übertragen. Bei einem Ausführungsbeispiel der Erfindung können die Befehlssignale von dem Prozessor 102 zu dem Speichergerät 130 auch synchron unter Verwendung eines Taktsignals übertragen werden, das in die Befehlssignale codiert ist. Somit können die Daten und die Steuersignale unter Verwendung eines einzelnes Busses 124 übertragen werden, während asynchrone Signale 122 verwendet werden können, um anzugeben, wenn übertragene Befehle und/oder Daten gültig sind.
  • Bei einem Ausführungsbeispiel der Erfindung können die Lokaltakterzeuger 108, 138 in jedem Gerät 102, 130 ein Ringoszillator (z. B. ein Oszillator, der aus Gattern des Geräts 102, 130 gebildet ist) sein. Da der Ringoszillator unter Verwendung des gleichen Herstellungsprozesses gebildet werden kann, aus dem das Gerät 102, 130 hergestellt ist, kann der Ringoszillator so schnell oder so langsam wie eine andere Schaltungsanordnung des Geräts 102, 130 operieren und somit eine inhärent optimale Zeitsteuerung bezüglich der anderen Schaltungsanordnung des Geräts 102, 130 liefern. Wenn der hergestellte Prozessor 102 z. B. mit einer höheren Frequenz operiert als andere Prozessoren, die unter Verwendung des gleichen Prozesses hergestellt sind, dann kann der Takterzeuger 108 für den Prozessor 102 für eine Datenübertragung auch ein Taktsignal mit einer höheren Frequenz erzeugen.
  • Bei einem Ausführungsbeispiel kann die Frequenz des Taktsignals, das durch den Prozessor 102 und/oder das Speichergerät 130 erzeugt wird, eingestellt werden, um z. B. die Übertragungsgeschwindigkeit zwischen den Geräten zu maximieren. Wie es oben beschrieben ist, kann, wenn der Lokaltakterzeuger 108, 138 in jedem Gerät eine optimale interne Zeitsteuerung bezüglich dieses Geräts 102, 130 liefert, ein Bestimmen einer maximalen kompatiblen Übertragungsfrequenz für die Geräte 102, 130 die Übertragungsgeschwindigkeit zwischen den Geräten 102, 130 maximieren. Dies kann ermöglichen, dass die Geräte 102, 130 bei einem Übertragen von Daten so nah wie möglich an der maximalen möglichen Übertragungsfrequenz derselben operieren.
  • 5 ist ein Blockdiagramm, das einen Prozess 500 zum Einstellen der Frequenz eines Taktsignals gemäß einem Ausführungsbeispiel der Erfindung darstellt. Der Prozess 500 kann z. B. durchgeführt werden, während ein oder mehrere der Geräte 102, 130 in einen Testmodus versetzt sind. Optional kann der Prozess 500 außerhalb eines Testmodus durchgeführt werden. In einigen Fällen z. B. kann der Prozess 500 auch intermittierend (z. B. nachdem eine Änderung der Operationsbedingungen erfasst worden ist, nach einer vorbestimmten Zeitdauer oder nachdem eine bestimmte Anzahl von Operationen durchgeführt worden ist) durchgeführt werden, um eine optimale Zeitgebung zwischen den Geräten 102, 130 aufrechtzuerhalten. Der Prozess 500 kann z. B. auch durchgeführt werden, wenn ein Fehler bei einer Datenübertragung erfasst wird. Bei einem Ausführungsbeispiel kann ein derartiger Fehler über asynchrone Signale 122 erfasst werden, die zwischen den Geräten 102, 130 übertragen werden.
  • Bei einem Ausführungsbeispiel beginnt der Prozess 500 bei einem Schritt 502, wo Testdaten unter Verwendung eines codierten Taktsignals mit einer gegebenen Frequenz (z. B. kann die Frequenz eine Standardfrequenz oder eine Maximalfrequenz für den Prozessor 102 sein) an das Speichergerät 130 übertragen werden. Bei einem Schritt 504 kann eine Bestimmung erfolgen, ob die Frequenz für einen ordnungsgemäßen Datentransfer zwischen dem Prozessor 102 und dem Speichergerät 130 zu schnell ist. Zum Beispiel kann das Speichergerät 130 die Daten zurück zu dem Prozessor 102 übertragen, damit dieselben überprüft werden, der Prozessor 102 kann die Daten, die vorhergehend übertragen wurden, zurücklesen, oder es können asynchrone Steuersignale 122 verwendet werden, um anzugeben, ob die Daten erfolgreich übertragen wurden. Als eine andere Option kann das Speichergerät 130 lediglich ein Signal aktivieren, das angibt, dass die empfangene Frequenz zu schnell war. Wenn die Frequenz zu schnell ist, dann kann bei einem Schritt 510 die Frequenz reduziert werden, und der Test kann z. B. bei Schritt 502 beginnend wiederholt werden.
  • Wenn eine Bestimmung erfolgt, dass die Frequenz nicht zu schnell ist, kann in einigen Fällen (wenn die Frequenz des Taktsignals erhöht werden kann) eine Bestimmung erfolgen, ob die Frequenz erfolgreich erhöht werden kann (Schritt 506). Zum Beispiel kann die Frequenz erhöht werden, bis die Datenübertragung fehlschlägt, und an diesem Punkt kann die Frequenz zu der schnellsten erfolgreichen Übertragungsfrequenz zurückgeführt werden. Optional kann das Speichergerät 130 eine Schaltungsanordnung umfassen, die angibt, ob weitere Frequenzerhöhungen erfolgreich sein werden. Wenn die Frequenz erfolgreich erhöht werden kann, kann die Frequenz bei einem Schritt 512 erhöht werden. Der Test kann dann beginnend bei Schritt 502 wiederholt werden, falls dies notwendig ist. Nachdem die Optimalfrequenz für eine Datenübertragung zwischen dem Speichergerät 130 und dem Prozessor 102 bestimmt worden ist, kann der Test enden.
  • Während das Vorhergehende auf Ausführungsbeispiele der vorliegenden Erfindung gerichtet ist, können andere und weitere Ausführungsbeispiele der Erfindung erdacht werden, ohne von dem grundsätzlichen Schutzbereich derselben abzuweichen, und der Schutzbereich derselben ist durch die Ansprüche, die folgen, bestimmt.

Claims (9)

  1. Verfahren zur Datenübertragung zwischen einem Prozessor (102) und einem Speichergerät (130) mit den Schritten: Liefern von Steuersignalen für einen Zugriffsbefehl vom Prozessor (102) an das Speichergerät über eine asynchrone Schnittstelle (122); Übertragen von dem Zugriffsbefehl zugeordneten Daten zwischen dem Prozessor (102) und dem Speichergerät (130) über eine synchrone Schnittstelle (124), wobei die übertragenen Daten ein codiertes Taktsignals enthalten; und Empfangen der übertragenen Daten unter Verwendung des codierten Taktsignals, dadurch gekennzeichnet, dass das Taktsignal ausschließlich während der Datenübertragung und alternativ von dem Speichergerät (130), wenn das Speichergerät (130) die Daten überträgt, und von dem Prozessor (102), wenn der Prozessor (102) die Daten überträgt, erzeugt wird.
  2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Taktsignal unter Verwendung eines Acht-zu-Zehn-Bit-Codierungsschemas codiert wird.
  3. Verfahren gemäß Anspruch 1 oder 2, gekennzeichnet durch folgende weitere Schritte: Bestimmen, ob die Frequenz des Taktsignals einer erwünschten Frequenz entspricht; und, wenn die Frequenz des Taktsignals nicht der erwünschten Frequenz entspricht, Anpassen der Frequenz des Taktsignals an die erwünschte Frequenz.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass das Taktsignal von dem Zeitpunkt ab, an dem der Zugriffsbefehl ausgegeben oder empfangen wird, bis zu dem Zeitpunkt, wenn die Ausführung des Zugriffsbefehl abgeschlossen ist, erzeugt wird.
  5. Datenübertragungssystem mit einem Prozessor (102) und einem Speichergerät (130), die über eine asynchrone Schnittstelle (122) und eine synchrone Schnittstelle (124) miteinander verbunden sind, wobei der Prozessor (102) Steuersignale für einen Zugriffsbefehl an das Speichergerät über die asynchrone Schnittstelle (122) liefert, wobei dem Zugriffsbefehl zugeordnete Daten zwischen dem Prozessor (102) und dem Speichergerät (130) über die synchrone Schnittstelle (124) übertragen werden, wobei die übertragenen Daten ein codiertes Taktsignals enthalten, und wobei die übertragenen Daten unter Verwendung des codierten Taktsignals empfangen werden, dadurch gekennzeichnet, dass das Taktsignal ausschließlich während der Datenübertragung und alternativ von einer Lokaltakterzeugerschaltung (138) des Speichergeräts (130), wenn das Speichergerät (130) die Daten überträgt, und von einer Lokaltakterzeugerschaltung (108) des Prozessors (102), wenn der Prozessor (102) die Daten überträgt, erzeugt wird.
  6. Datenübertragungssystem gemäß Anspruch 5, dadurch gekennzeichnet, dass der Prozessor (102) bzw. das Speichergerät (130) das Taktsignal unter Verwendung eines Acht-zu-Zehn-Bit-Codierungsschemas codiert.
  7. Datenübertragungssystem gemäß Anspruch 5 oder 6, dadurch gekennzeichnet, dass der Prozessor (102) eine Eingangs-/Ausgangs-Schaltungsanordnung (106) zum Ausgeben der Steuersignale auf der asynchronen Schnittstelle (122) und zum Senden und Empfangen von Daten auf der synchronen Schnittstelle (124) aufweist.
  8. Datenübertragungssystem gemäß einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass das Speichergerät (130) eine Steuerschaltungsanordnung (132) zum Empfangen der Steuersignale auf der asynchronen Schnittstelle (122) und zum Ausführen des Zugriffsbefehls in einem Speicherarray (136) und eine Eingangs-/Ausgangs-Schaltungsanordnung (134) zum Übertragen der Daten auf der synchronen Schnittstelle (124) zwischen dem Speicherarray (136) und dem Prozessor (102) aufweist.
  9. Datenübertragungssystem gemäß einem der Ansprüche 5 bis 8, dadurch gekennzeichnet, dass die Lokaltakterzeugerschaltung (138) des Speichergeräts (130) und die Lokaltakterzeugerschaltung (108) des Prozessors (102) ausgelegt sind, die Frequenz des Taktsignals an eine erwünschte Frequenz anzupassen.
DE102008006671A 2007-01-31 2008-01-30 Asynchrone Datenübertragung Expired - Fee Related DE102008006671B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/669,848 2007-01-31
US11/669,848 US7746724B2 (en) 2007-01-31 2007-01-31 Asynchronous data transmission

Publications (2)

Publication Number Publication Date
DE102008006671A1 DE102008006671A1 (de) 2008-08-07
DE102008006671B4 true DE102008006671B4 (de) 2011-04-28

Family

ID=39587537

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102008006671A Expired - Fee Related DE102008006671B4 (de) 2007-01-31 2008-01-30 Asynchrone Datenübertragung

Country Status (2)

Country Link
US (1) US7746724B2 (de)
DE (1) DE102008006671B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7746098B2 (en) * 2008-03-10 2010-06-29 Qimonda North America Corp. Termination switching based on data rate
EP2323009A1 (de) * 2009-11-13 2011-05-18 SiTel Semiconductor B.V. Elektronische Vorrichtung mit geringerem Energieverbrauch und externer Speicher
US8645743B2 (en) 2010-11-22 2014-02-04 Apple Inc. Mechanism for an efficient DLL training protocol during a frequency change
CN103106165A (zh) * 2011-11-15 2013-05-15 鸿富锦精密工业(深圳)有限公司 信号采集系统及方法
CN103136147A (zh) * 2011-12-03 2013-06-05 鸿富锦精密工业(深圳)有限公司 信号采集系统及方法
CN104765577B (zh) * 2015-04-28 2017-08-15 杭州中天微系统有限公司 一种频率自适应的高速存储系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449202A (en) * 1981-12-04 1984-05-15 Ncr Corporation Full duplex integrated circuit communication controller
US20040139262A1 (en) * 2003-01-13 2004-07-15 Beaudoin Denis R. Communications interface
DE10307548A1 (de) * 2003-02-21 2004-09-09 Infineon Technologies Ag Synchrones Speichersystem sowie Verfahren und Protokoll zur Kommunikation in einem synchronen Speichersystem
US20060109929A1 (en) * 2004-11-19 2006-05-25 Agere Systems Inc. Methods and apparatus for interface buffer management and clock compensation in data transfers

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4007421A (en) * 1975-08-25 1977-02-08 Bell Telephone Laboratories, Incorporated Circuit for encoding an asynchronous binary signal into a synchronous coded signal
US5666362A (en) * 1995-07-25 1997-09-09 3Com Corporation Method and apparatus for asynchronous PPP and synchronous PPP conversion
DE19542715A1 (de) * 1995-11-16 1997-05-22 Asea Brown Boveri Verfahren zum Übertragen von binären, asynchronen Daten über einen synchronen Kanal
US6490225B1 (en) * 2001-12-04 2002-12-03 Motorola, Inc. Memory having a synchronous controller and asynchronous array and method thereof
US7239669B2 (en) * 2002-04-30 2007-07-03 Fulcrum Microsystems, Inc. Asynchronous system-on-a-chip interconnect
GB2441726B (en) * 2005-06-24 2010-08-11 Metaram Inc An integrated memory core and memory interface circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449202A (en) * 1981-12-04 1984-05-15 Ncr Corporation Full duplex integrated circuit communication controller
US20040139262A1 (en) * 2003-01-13 2004-07-15 Beaudoin Denis R. Communications interface
DE10307548A1 (de) * 2003-02-21 2004-09-09 Infineon Technologies Ag Synchrones Speichersystem sowie Verfahren und Protokoll zur Kommunikation in einem synchronen Speichersystem
US20060109929A1 (en) * 2004-11-19 2006-05-25 Agere Systems Inc. Methods and apparatus for interface buffer management and clock compensation in data transfers

Also Published As

Publication number Publication date
US7746724B2 (en) 2010-06-29
US20080183956A1 (en) 2008-07-31
DE102008006671A1 (de) 2008-08-07

Similar Documents

Publication Publication Date Title
DE102008006671B4 (de) Asynchrone Datenübertragung
EP0570557B1 (de) Verfahren zur erzeugung einer systemzeitbasis in einer anlage mit verteilten rechnereinheiten
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE112006003224B4 (de) Polaritätsbetriebener dynamischer, schaltkreisintegrierter Abschluss
DE19882418B4 (de) System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren
DE112017003209T5 (de) Multiprotokoll-Neusynchronisierer mit geringer Latenz
DE10252492B4 (de) Schaltung und Verfahren zur Dateneingabe für ein synchrones Halbleiterspeicherbauelement
DE112005002261B4 (de) Gepufferter kontinuierlicher Mehrpunkt-Taktring
DE102007052840B4 (de) Vorrichtung und Verfahren zum Umschalten einer Vorrichtung in einen Leistungssparmodus
DE102014209752A1 (de) Relaiseinrichtung
DE10235448A1 (de) Eichverfahren und Speichersystem
DE102007033785A1 (de) Speichersteuereinheit, DDR-Speichersteuereinheit und Verfahren zum Testen einer Speichersteuereinheit
DE112018002334T5 (de) Vorrichtungen und verfahren zur übertragung von ereignissen mit einer gleichförmigen latenz auf seriellen kommunikationsverbindungen
DE102007038790A1 (de) Speicherkartensystem und Verfahren zum Übertragen von Daten zwischen einem Host und einer Speicherkarte
DE102017110784A1 (de) Halbleitervorrichtung, Halbleitersystem und Verfahren zum Betreiben der Halbleitervorrichtung
DE102019127444A1 (de) System, Einrichtung und Verfahren zur Verkehrsformung von Datenkommunikation über ein Interconnect
DE112006003503T5 (de) Mehrfachanschluss-Speicher mit Banksätzen zugeordneten Anschlüssen
DE102021106944A1 (de) Weiterleitungsvorrichtung
DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit
DE60032966T2 (de) Steuerungsschaltung mit einer Taktssteuerungseinheit
DE112013003845B4 (de) Energieeinsparvorrichtung und -verfahren für Speichervorrichtung mit Delay-Locked Loop
DE102018115971A1 (de) Taktsteuerung in einem Halbleitersystem
DE102015108005A1 (de) Mechanismen und Geräte für neu konfigurierbare Interprozessorkommunikationen mit eingebettetem Controller
DE102016109387A1 (de) Ein-Chip-System mit Taktverwaltungseinheit und Verfahren zum Betreiben des Ein-Chip-Systems
DE102018124375A1 (de) Betriebsverfahren eines signalempfängers, pulsbreitensteuerungund elektronische vorrichtung mit denselben

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R020 Patent grant now final

Effective date: 20110729

R082 Change of representative
R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee