DE102008006671B4 - Asynchrone Datenübertragung - Google Patents
Asynchrone Datenübertragung Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4265—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
- G06F13/4278—Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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.
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 US 4,449,202 A bekannt. DieUS 2004/0139262 A1 - 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 Beispielsystem100 gemäß einem Ausführungsbeispiel der Erfindung zeigt. Wie es gezeigt ist, kann das System100 einen Prozessor102 umfassen, wie z. B. eine zentrale Prozessoreinheit, eine graphische Prozessoreinheit oder eine Speichersteuerung. Der Prozessor102 kann konfiguriert sein, um auf ein Speichergerät130 zuzugreifen. Das Speichergerät130 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ät130 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 Steuerschaltungsanordnung104 umfassen, die konfiguriert ist, um Anweisungen auszuführen. Die ausgeführten Anweisungen können verwendet werden, um auf das Speichergerät130 unter Verwendung einer Eingangs-/Ausgangs-Schaltungsanordnung (I/O-Schaltungsanordnung; I/O = input/output)106 des Prozessors102 zuzugreifen. Der Prozessor kann auch eine Lokaltakterzeuger-Schaltung (LCG-Schaltung; LCG = local clock generator)108 umfassen, die verwendet werden kann, um Kommunikationen zwischen dem Prozessor102 und dem Speichergerät130 zeitlich zu steuern, wie es unten beschrieben ist. - Bei einem Ausführungsbeispiel kann das Speichergerät
139 eine Steuerschaltungsanordnung132 umfassen, die konfiguriert ist, um Befehlsignale von dem Prozessor102 zu empfangen. Auf ein Empfangen von Befehlen von dem Prozessor102 hin kann die Steuerschaltungsanordnung konfiguriert sein, um Zugriffsoperationen (z. B. Leseoperationen und/oder Schreiboperationen) in einem oder mehreren Speicherarrays136 des Speichergeräts130 durchzuführen. Daten für die Zugriffsoperationen können zwischen dem Prozessor102 und dem Speichergerät130 unter Verwendung einer I/O-Schaltungsanordnung134 des Speichergeräts130 übertragen werden. Die I/O-Schaltungsanordnung134 kann eine Datenwarteschlange140 umfassen, in die Daten, die durch das Speichergerät130 empfangen werden, platziert werden können. Wie es unten beschrieben ist, kann auch eine LCG-Schaltung138 verwendet werden, um Kommunikationen zwischen dem Prozessor102 und dem Speichergerät130 zeitzusteuern. - Bei einem Ausführungsbeispiel der Erfindung können der Prozessor
102 und das Speichergerät130 miteinander über eine Schnittstelle kommunizieren, die teilweise asynchron und teilweise synchron ist. Zum Beispiel kann der Prozessor102 konfiguriert sein, um Steuersignale für einen Zugriffsbefehl an das Speichergerät130 über eine asynchrone Schnittstelle122 zu liefern, während Daten für den Zugriffsbefehl synchron über einen Datenbus124 an das Speichergerät130 ü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ät130 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 Datenbus124 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 Prozess200 zum Zugreifen auf das Speichergerät130 gemäß einem Ausführungsbeispiel der Erfindung zeigt. Der Prozess200 kann z. B. durch den Prozessor102 durchgeführt werden. Der Prozess200 beginnt bei einem Schritt202 , wo Steuersignale für einen Zugriffsbefehl an das Speichergerät130 über eine asynchrone Schnittstelle122 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 Schnittstelle122 vorgelegt worden ist, umfassen. - Bei einem Schritt
204 kann durch den Prozessor102 ein Taktsignal erzeugt werden. Das Taktsignal kann unter Verwendung der Lokaltakterzeugerschaltung108 erzeugt werden. Bei einem Ausführungsbeispiel kann das Taktsignal konstant durch den Prozessor102 erzeugt werden. Bei einem anderen Ausführungsbeispiel kann das Taktsignal, das verwendet wird, um Daten zu übertragen, lediglich durch die Lokaltakterzeugerschaltung108 erzeugt werden, während von dem Prozessor102 zu dem Speichergerät130 eine Datenübertragung durchgeführt wird. In einigen Fällen kann ein anderes Taktsignal durch den Prozessor102 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 Prozessor102 reduziert ist. - Bei einem Schritt
206 können Daten für den Zugriffsbefehl an das Speichergerät102 übertragen werden. Bei einem Schritt208 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 Prozess300 zum Durchführen eines Zugriffs (z. B. aus der Perspektive des Speichergeräts130 ) gemäß einem Ausführungsbeispiel der Erfindung zeigt. Der Prozess300 kann z. B. durch das Speichergerät130 während einer Schreiboperation durchgeführt werden, wenn Daten von dem Prozessor102 in das Speichergerät130 geschrieben werden. Bei einem Schritt302 können Steuersignale für einen Zugriffsbefehl über die asynchrone Schnittstelle122 empfangen werden. Bei einem Schritt304 können Daten, die über den Datenbus124 mit einem codierten Taktsignal übertragen werden, durch das Speichergerät130 empfangen werden. Bei einem Schritt306 kann das codierte Taktsignal decodiert werden und bei einem Schritt308 kann das decodierte Taktsignal verwendet werden, um die übertragenen Daten in das Speichergerät130 zu lesen. Zum Beispiel kann das decodierte Taktsignal verwendet werden, um die empfangenen Daten in der Eingangswarteschlange140 des Speichergeräts130 zwischenzuspeichern (latchen). -
4 ist ein Flussdiagramm, das einen Prozess400 zum Übertragen von Daten von dem Speichergerät130 zu dem Prozessor102 gemäß einem Ausführungsbeispiel der Erfindung zeigt. Ein derartiger Transfer kann z. B. durch das Speichergerät130 ansprechend auf ein Empfangen eines Lesebefehls von dem Prozessor102 durchgeführt werden. Der Prozess400 kann bei einem Schritt402 beginnen, wo Steuersignale für einen Zugriffsbefehl von dem Prozessor102 über die asynchrone Befehlsschnittstelle122 empfangen werden. Bei einem Schritt404 kann durch das Speichergerät130 ein Taktsignal erzeugt werden, z. B. unter Verwendung der Lokaltakterzeugerschaltungsanordnung138 . Bei einem Schritt406 können Daten für den Zugriffsbefehl an den Prozessor102 übertragen werden. Bei einem Schritt408 kann das erzeugte Taktsignal in die übertragenen Daten codiert werden, während die Daten übertragen werden. Der Prozess102 kann das codierte Taktsignal verwenden, um die übertragenen Daten zu empfangen, wie es z. B. oben bezüglich des Prozesses300 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ät130 das Taktsignal, das verwendet wird, um Daten zu übertragen, lediglich erzeugen, wenn das bestimmte Gerät Daten überträgt. Zum Beispiel kann die Lokaltakterzeugerschaltungsanordnung108 in dem Prozessor102 das Taktsignal für eine Datenübertragung lediglich erzeugen, wenn der Prozessor102 Daten an das Speichergerät130 überträgt. In ähnlicher Weise kann die Lokaltakterzeugerschaltungsanordnung138 des Speichergeräts130 das Taktsignal für eine Datenübertragung lediglich erzeugen, wenn das Speichergerät130 Daten an den Prozessor102 ü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ät102 ,130 erzeugt wird, ein Leistungsverbrauch in dem System100 reduziert werden. - Da das System
100 ggf. kein Taktsignal verwendet, das zwischen dem Prozessor102 und dem Speichergerät130 zu Kommunikationszwecken verteilt wird, können das Speichergerät130 und/oder der Prozessor102 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ät130 und/oder Prozessor102 kann ein Leistungsverbrauch in dem System100 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ät130 und dem Prozessor102 übertragen/gemeinsam genutzt werden. - Bei einem Ausführungsbeispiel der Erfindung können Daten zwischen dem Speichergerät
130 und dem Prozessor102 auch unter Verwendung eines asynchronen Datentransfers übertragen werden. Zum Beispiel können bei einem Ausführungsbeispiel Kommunikationen zwischen dem Prozessor102 und dem Speichergerät130 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 Prozessor102 und dem Speichergerät130 zu übertragen. Bei einem Ausführungsbeispiel der Erfindung können die Befehlssignale von dem Prozessor102 zu dem Speichergerät130 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 Busses124 übertragen werden, während asynchrone Signale122 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ät102 ,130 ein Ringoszillator (z. B. ein Oszillator, der aus Gattern des Geräts102 ,130 gebildet ist) sein. Da der Ringoszillator unter Verwendung des gleichen Herstellungsprozesses gebildet werden kann, aus dem das Gerät102 ,130 hergestellt ist, kann der Ringoszillator so schnell oder so langsam wie eine andere Schaltungsanordnung des Geräts102 ,130 operieren und somit eine inhärent optimale Zeitsteuerung bezüglich der anderen Schaltungsanordnung des Geräts102 ,130 liefern. Wenn der hergestellte Prozessor102 z. B. mit einer höheren Frequenz operiert als andere Prozessoren, die unter Verwendung des gleichen Prozesses hergestellt sind, dann kann der Takterzeuger108 für den Prozessor102 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ät130 erzeugt wird, eingestellt werden, um z. B. die Übertragungsgeschwindigkeit zwischen den Geräten zu maximieren. Wie es oben beschrieben ist, kann, wenn der Lokaltakterzeuger108 ,138 in jedem Gerät eine optimale interne Zeitsteuerung bezüglich dieses Geräts102 ,130 liefert, ein Bestimmen einer maximalen kompatiblen Übertragungsfrequenz für die Geräte102 ,130 die Übertragungsgeschwindigkeit zwischen den Geräten102 ,130 maximieren. Dies kann ermöglichen, dass die Geräte102 ,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 Prozess500 zum Einstellen der Frequenz eines Taktsignals gemäß einem Ausführungsbeispiel der Erfindung darstellt. Der Prozess500 kann z. B. durchgeführt werden, während ein oder mehrere der Geräte102 ,130 in einen Testmodus versetzt sind. Optional kann der Prozess500 außerhalb eines Testmodus durchgeführt werden. In einigen Fällen z. B. kann der Prozess500 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äten102 ,130 aufrechtzuerhalten. Der Prozess500 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 Signale122 erfasst werden, die zwischen den Geräten102 ,130 übertragen werden. - Bei einem Ausführungsbeispiel beginnt der Prozess
500 bei einem Schritt502 , wo Testdaten unter Verwendung eines codierten Taktsignals mit einer gegebenen Frequenz (z. B. kann die Frequenz eine Standardfrequenz oder eine Maximalfrequenz für den Prozessor102 sein) an das Speichergerät130 übertragen werden. Bei einem Schritt504 kann eine Bestimmung erfolgen, ob die Frequenz für einen ordnungsgemäßen Datentransfer zwischen dem Prozessor102 und dem Speichergerät130 zu schnell ist. Zum Beispiel kann das Speichergerät130 die Daten zurück zu dem Prozessor102 übertragen, damit dieselben überprüft werden, der Prozessor102 kann die Daten, die vorhergehend übertragen wurden, zurücklesen, oder es können asynchrone Steuersignale122 verwendet werden, um anzugeben, ob die Daten erfolgreich übertragen wurden. Als eine andere Option kann das Speichergerät130 lediglich ein Signal aktivieren, das angibt, dass die empfangene Frequenz zu schnell war. Wenn die Frequenz zu schnell ist, dann kann bei einem Schritt510 die Frequenz reduziert werden, und der Test kann z. B. bei Schritt502 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ät130 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 Schritt512 erhöht werden. Der Test kann dann beginnend bei Schritt502 wiederholt werden, falls dies notwendig ist. Nachdem die Optimalfrequenz für eine Datenübertragung zwischen dem Speichergerät130 und dem Prozessor102 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)
- 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. - Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, dass das Taktsignal unter Verwendung eines Acht-zu-Zehn-Bit-Codierungsschemas codiert wird.
- 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.
- 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.
- 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. - 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. - 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. - 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. - 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.
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)
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)
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)
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 |
-
2007
- 2007-01-31 US US11/669,848 patent/US7746724B2/en not_active Expired - Fee Related
-
2008
- 2008-01-30 DE DE102008006671A patent/DE102008006671B4/de not_active Expired - Fee Related
Patent Citations (4)
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 |