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.