PatentDe  


Dokumentenidentifikation DE102008006671B4 28.04.2011
Titel Asynchrone Datenübertragung
Anmelder Qimonda AG, 81739 München, DE
Erfinder Bilger, Christoph, 80469 München, DE;
Balb, Markus, 82008 Unterhaching, DE;
Brox, Martin, 80636 München, DE;
Hein, Thomas, 81379 München, DE;
Mayer, Peter, Apex, N.C., US;
Richter, Michael, 85521 Ottobrunn, DE;
Spirkl, Wolfgang, 82110 Germering, DE
Vertreter Wilhelm & Beck, 80639 München
DE-Anmeldedatum 30.01.2008
DE-Aktenzeichen 102008006671
Offenlegungstag 07.08.2008
Veröffentlichungstag der Patenterteilung 28.04.2011
Veröffentlichungstag im Patentblatt 28.04.2011
IPC-Hauptklasse H04L 25/40  (2006.01)  A,  F,  I,  20080130,  B,  H,  DE
IPC-Nebenklasse G11C 7/10  (2006.01)  A,  L,  I,  20080130,  B,  H,  DE
G06F 13/16  (2006.01)  A,  L,  I,  20080130,  B,  H,  DE
G06F 13/42  (2006.01)  A,  L,  I,  20080130,  B,  H,  DE
H04L 7/04  (2006.01)  A,  L,  I,  20080130,  B,  H,  DE

Beschreibung[de]

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.


Anspruch[de]
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.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com