PatentDe  


Dokumentenidentifikation DE102006046441A1 03.05.2007
Titel Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement und Master zum Arbitrieren eines Zugriffs auf ein geteiltes Speicherbauelement
Anmelder Samsung Electronics Co., Ltd., Suwon, Kyonggi, KR
Erfinder Lee, Young-Min, Suwon, Kyonggi, KR;
Hwang, Gyoo-Cheol, Seongnam, Kyonggi, KR;
Sohn, Han-Gu, Suwon, Kyonggi, KR;
Byun, Sung-Jae, Yongin, Kyonggi, KR
Vertreter Patentanwälte Ruff, Wilhelm, Beier, Dauster & Partner, 70174 Stuttgart
DE-Anmeldedatum 25.09.2006
DE-Aktenzeichen 102006046441
Offenlegungstag 03.05.2007
Veröffentlichungstag im Patentblatt 03.05.2007
IPC-Hauptklasse G06F 13/16(2006.01)A, F, I, 20070123, B, H, DE
Zusammenfassung Die Erfindung betrifft ein Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement zwischen einer Anzahl von Mastern und einen Master, der einen Zugriff auf ein geteiltes Speicherbauelement zwischen einer Anzahl von Mastern arbitriert.
Das Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement zwischen einer Anzahl von Mastern umfasst die Schritte: Empfangen einer Zugriffsanzeige (SGM2) durch einen ausgewählten Master, die anzeigt, dass der ausgewählte Master Zugriff auf das Speicherbauelement hat; und Erzeugen eines vorbestimmten Einstellbefehls (MRS2) durch den ausgewählten Master beim Empfangen der Zugriffsanzeige (SGM2) und vor dem Erzeugen eines aktiven Befehls (Active21) zum Vermeiden einer Kollision zwischen dem aktiven Befehl (Active21) und einem vorhergehenden Befehl (320), der von dem Speicherbauelement ausgeführt wird.
Verwendung beispielsweise in der Speichertechnologie.

Beschreibung[de]

Die Erfindung betrifft ein Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement zwischen einer Anzahl von Mastern und einen Master, der einen Zugriff auf ein geteiltes Speicherbauelement zwischen einer Anzahl von Mastern arbitriert, und insbesondere die Verwendung von Befehlen während einer Software-Arbitrierung zur Vermeidung von Befehlskollisionen, Selbstauffrischungsverlusten und/oder einer Auslassung von Vorladevorgängen.

1 zeigt ein Blockdiagramm eines elektronischen Systems 100 mit einer Anzahl von Mastern, die sich einen Zugriff auf ein Speicherbauelement teilen. Gemäß der 1 umfasst eine Anzahl von Mastern einen ersten Master 102, einen zweiten Master 104 und einen dritten Master 106, die sich den Zugriff auf ein Multi-Port-Speicherbauelement (multi-port Memory Device) 108, das ein Multi-Port-SDRAM (Synchronous-Dynamic-Random-Access-Memory – SDRAM) sein kann, teilen. Ein Fachmann ist mit einem SDRAM, das synchron zu einem Taktsignal von einem Master betrieben wird, vertraut. Weiterhin ist ein SDRAM ein befehlsbasiertes Speicherbauelement mit einem Master, der einen Befehl durch Setzen von logischen Zuständen einer Anzahl von Steuersignalen anzeigt.

Das SDRAM 108 wird als Multi-Port-SDRAM 108 bezeichnet, da es eine Anzahl von Anschlüssen oder Ports aufweist, umfassend einen ersten Anschluss oder Port 112, einen zweiten Anschluss oder Port 114 und einen dritten Anschluss oder Port 116. Jeder der ersten, zweiten und dritten Anschlüsse 112, 114 und 116 hat eine entsprechend eingerichtete Signalschnittstelle SIF1, SIF2 oder SIF3 zur Kommunikation mit einer zugeordneten Steuereinheit 122, 124 oder 126 der zugeordneten Master 102, 104 bzw. 106. Jede der Signalschnittstellen SIF1, SIF2 und SIF3 wird zur Kommunikation von Steuersignalen und Daten zwischen dem zugeordneten Master 102, 104 bzw. 106 und dem SDRAM 108 benutzt.

Zusätzlich weisen die ersten, zweiten und dritten Master 102, 104 und 106 jeweils zugeordnete erste, zweite und dritte Central-Processing-Units (CPUs) 132, 134 und 136 auf. Bei Ablauf der Arbitrierungs-Software arbitrieren die CPUs 132, 134 und 136 den Zugriff auf das geteilte SDRAM 108 unter oder zwischen den Mastern 102, 104 und 106. Die Master 132, 134 und 136 kommunizieren diese Arbitrierung untereinander über Universal-Asynchronous-Receiver/Transmitter(UART)-Schnittstellen 142 und 144. Allgemein wird einem der Master 102, 104 und 106 der Zugriff zum Lesen oder Schreiben aus dem bzw. in das SDRAM 108 zu einem Zeitpunkt gewährt.

2 zeigt ein exemplarisches Zeitverlaufsdiagramm für die Arbitrierung zwischen den ersten und zweiten Mastern 102 und 104. Ein erstes Zugriffsanzeigesignal SGM1, das auf den logischen „high"-Zustand gesetzt wird, zeigt an, dass der erste Master 102 Zugriff auf das SDRAM 108 hat, wobei dem ersten Master 102 der Zugriff verwehrt wird, wenn das Zugriffsanzeigesignal SGM1 auf den logischen „low"-Zustand gesetzt ist.

Ein zweites Zugriffsanzeigesignal SGM2, das auf den logischen „high"-Zustand gesetzt wird, zeigt an, dass der zweite Master 104 Zugriff auf das SDRAM 108 hat, wobei dem zweiten Master 104 der Zugriff verwehrt wird, wenn das zweite Zugriffsanzeigesignal SGM2 auf den logischen „low"-Zustand gesetzt ist. In dem Beispiel gemäß 2 hat der erste Master 102 vor dem Zeitpunkt T1 Zugriff (d.h. er hat den Besitz) auf das SDRAM 108 und der zweite Master 104 hat nach dem Zeitpunkt T1 Zugriff auf das SDRAM 108.

Gemäß der 2 stellt M1_CMD die Befehle dar, die von dem ersten Master 102 erzeugt wurden, und M2_CMD stellt die Befehle dar, die von dem zweiten Master 104 erzeugt wurden. Allgemein wird jeder Befehl, der von einem Master erzeugt wird, von dem SDRAM 108 ausgeführt, wenn dieser Master Zugriff hat. Andererseits wird ein Befehl, der von einem Master erzeugt wird, der keinen Zugriff hat, nicht von dem SDRAM 108 ausgeführt. Daher führt das SDRAM 108 in dem Beispiel gemäß der 2 vor dem Zeitpunkt T1 die Befehle des ersten Masters 102 und nach dem Zeitpunkt T1 die Befehle des zweiten Masters 104 aus.

Demnach führt das SDRAM 108 aktive Befehle Active11 und Active12 aus, die um eine Zeilenzykluszeit tRC versetzt nach periodischen Selbstauffrischungsbefehlen erzeugt werden, wie sie von dem ersten Master 102 vor dem Zeitpunkt T1 ausgesendet werden. Jeder der Master 102 und 104 erzeugt periodisch einen Selbstauffrischungsbefehl (wie durch die Linien, die mit „Auto-Refresh" in 2 bezeichnet sind, dargestellt).

Dabei ist festzuhalten, dass der erste Master 102 nach dem Zeitpunkt T1 keinerlei aktive Befehle erzeugt, da dem ersten Master 102 der Zugriff verwehrt ist. Der erste Master 102 erzeugt die periodischen Selbstauffrischungsbefehle nach dem Zeitpunkt T1, aber diese Selbstauffrischungsbefehle werden nach dem Zeitpunkt T1 nicht von dem SDRAM 108 ausgeführt (wie durch die Linien ohne Pfeile für die Selbstauffrischungsbefehle nach dem Zeitpunkt T1 in 2 dargestellt).

Wie in der 2 weiterhin dargestellt, führt das SDRAM 108 aktive Befehle Active21 und Active22 aus, die jeweils zwischen den periodischen Selbstauffrischungsbefehlen erzeugt werden, wie sie von dem zweiten Master 104 nach dem Zeitpunkt T1 ausgesendet werden. Üblicherweise wird die Zeilenzykluszeit tRC für das SDRAM 108 benötigt, um die Selbstauffrischungsbefehle auszuführen, bevor das SDRAM 108 mit der Durchführung eines aktiven Befehls beginnen kann.

Dennoch wird in 2 ein letzter Selbstauffrischungsbefehl 152 des ersten Masters 102 ausgeführt, wenn der zweite Master 104 den aktiven Befehl Active21 nach dem Besitzerwechsel zum Zeitpunkt T1 sendet. Der aktive Befehl Active21 wird von dem zweiten Master 104 vor dem Ende der Zeilenzykluszeit tRC des letzten Selbstauffrischungsbefehls 152 gesendet, sodass es zu einer Kollision des Active21-Befehls mit dem letzten Selbstauffrischungsbefehl 152 kommt. Als Ergebnis führt das SDRAM 108 nach dem bzw. beim Besitzerwechsel den Active21-Befehl des zweiten Masters 104 nicht durch.

3 zeigt ein weiteres Zeitverlaufsdiagramm von exemplarischen Signalen SGM1, M1_CMD, SGM2 und M2_CMD, die zu einem Selbstauffrischungsverlust (refresh starvation) im SDRAM 108 führen. Die SGM1- und SGM2-Signale der 3 illustrieren einen häufigen Besitzerwechsel zwischen den ersten und zweiten Mastern 102 und 104. Der erste Master 102 erzeugt jeweils zwischen den periodischen Selbstauffrischungsbefehlen eine Folge von aktiven Befehlen Active11, Active12 und Active13, und der zweite Master 104 erzeugt jeweils zwischen den periodischen Selbstauffrischungsbefehlen eine Abfolge von aktiven Befehlen Active21, Active22 und Active23.

Somit werden nur die aktiven Befehle in den Zeiten erzeugt, wenn der erste und zweite Master 102 und 104 Zugriff auf das SDRAM 108 haben. Die Selbstauffrischungsbefehle werden erzeugt, wenn der erste und zweite Master 102 und 104 keinen Zugriff auf das SDRAM 108 haben. Somit führt das SDRAM 108 nur die aktiven Befehle Active11, Active21, Active12, Active22, Activel3 und Active23 aus und führt keinen der Selbstauffrischungsbefehle aus. Das SDRAM 108 kann gegebenenfalls aufgrund der fehlenden Ausführung von Selbstauffrischungsbefehlen unzureichend funktionieren.

4 zeigt ein weiteres Zeitverlaufsdiagramm exemplarischer Signale SGM1, M1_CMD, SGM2 und M2_CMD, die zu einer Auslassung eines Vorladevorgangs (missing pre-charge operation) in dem SDRAM 108 führen. Wenn der erste Master 102 mit dem auf den logischen „high"-Zustand gesetzten SGM1-Signal Zugriff hat, überträgt der erste Master 102 einen Burst-Lesevorgang an das SDRAM 108 mittels eines Row-Address-Strobe(RAS)-Befehls, der von acht Lesebefehlen RD1, RD2, RD3, RD4, RD5, RD6, RD7 und RD8 gefolgt wird.

Jedenfalls erfolgt gemäß 4 ein erster Besitzerwechsel an den zweiten Master 104 zu dem Zeitpunkt T1, der daraufhin eine Leseoperation mit einem RAS-Befehl durchführt, der von einem Schreibbefehl WR1 gefolgt wird. Ein solcher erster Besitzerwechsel zum Zeitpunkt T1 findet statt, nachdem der erste Master 102 die ersten vier Lesebefehle RD1, RD2, RD3 und RD4 ausgegeben hat. Ein zweiter Besitzerwechsel findet gemäß 4 zum Zeitpunkt T2 zurück zu dem ersten Master 102 statt, der daraufhin die verbleibenden vier Lesebefehle RD5, RD6, RD7 und RD8 ausgibt.

Eine Vorladung der Bitleitungen in dem SDRAM 108 ist erwünscht, bevor der WR1-Befehl von dem zweiten Master 104 zwischen den Zeitpunkten T1 und T2 gemäß 4 ausgegeben wird. Jedoch fehlt in der 4 ein gewünschter Vorladevorgang aufgrund des plötzlichen Besitzerwechsels zum Zeitpunkt T1.

Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement zwischen einer Anzahl von Mastern und einen Master zur Verfügung zu stellen, der den Zugriff auf ein geteiltes Speicherbauelement zwischen einer Anzahl von Mastern arbitriert, wobei unvorteilhafte Befehlskollisionen, wie sie in der 2 dargestellt sind, Selbstauffrischungsverluste, wie sie in der 3 dargestellt sind, und ausgelassene Voraufladevorgänge, wie sie in der 4 dargestellt sind, während der Arbitrierung vermieden werden sollen.

Die Erfindung löst Diese Aufgabe durch ein Verfahren mit den Merkmalen der Ansprüche 1, 14 oder 19 und einen Master mit den Merkmalen der Ansprüche 22, 30 oder 35.

Vorteilhafte Ausführungsformen der Erfindung sind Gegenstand der Unteransprüche, deren Wortlaut hiermit durch ausdrückliche Bezugsnahme zum Gegenstand der Beschreibung gemacht wird, um unnötige Textwiederholungen zu vermeiden.

Gemäß einem allgemeinen Aspekt der vorliegenden Erfindung werden von jedem der Master bei der Zuteilung oder bei dem Verlust des Zugriffs auf ein geteiltes Speicherbauelement zusätzliche vorbestimmte Befehle ausgegeben, um Befehlskollisionen, Selbstauffrischungsverluste und/oder die Auslassung eines Vorladevorgangs zu vermeiden.

Zum Arbitrieren eines Zugriffs auf ein Speicherbauelement unter bzw. zwischen einer Anzahl von Mastern gemäß einer Ausführungsform der vorliegenden Erfindung empfängt ein ausgewählter Master eine Zugriffsanzeige, dass dieser ausgewählte Master Zugriff auf das Speicherbauelement hat. Nach dem Erhalten der Zugriffsanzeige und vor dem Erzeugen eines aktiven Befehls erzeugt der ausgewählte Master einen vorbestimmten Einstellbefehl, wie einen Mode-Register-Set(MRS)-Befehl, um eine Kollision zwischen dem aktiven Befehl und einem vorhergehenden Befehl, wie einem Selbstauffrischungsbefehl, zu vermeiden, der von dem Speicherbauelement ausgeführt wird. Eine solche Erzeugung des MRS-Befehls gewährleistet eine Zeitspanne zwischen dem vorhergehenden Befehl und dem aktiven Befehl.

Zum Arbitrieren eines Zugriffs auf ein Speicherbauelement unter einer Anzahl von Mastern gemäß einer anderen Ausführungsform der vorliegenden Erfindung entscheidet das Speicherbauelement, ob beim Empfangen des vorbestimmten Einstellbefehls (wie des MRS-Befehls) ein Selbstauffrischungsvorgang durchgeführt wird. Wenn das Speicherbauelement innerhalb einer vorbestimmten Zeitspanne keinen Selbstauffrischungsbefehl durchgeführt hat, entscheidet das Speicherbauelement beim Empfangen des vorbestimmten Einstellbefehls (wie des MRS-Befehls) einen Selbstauffrischungsvorgang durchzuführen, um einen Selbstauffrischungsverlust zu verhindern.

Zum Arbitrieren eines Zugriffs auf ein Speicherbauelement unter einer Anzahl von Mastern gemäß einer weiteren Ausführungsform der vorliegenden Erfindung erzeugt ein vorhergehender Master, der Zugriff auf das Speicherbauelement hat, einen Vorladebefehl, der von dem Speicherbauelement ausgeführt wird, bevor der ausgewählte Master nach Erhalt der Zugriffsanzeige irgendeinen Befehl erzeugt. Somit kann das Auslassen eines Vorladevorgangs vor der Erzeugung eines anderen aktiven Befehls durch den ausgewählten Master vermieden werden.

Die vorliegende Erfindung kann insbesondere vorteilhaft eingesetzt werden, wenn das Speicherbauelement ein SDRAM ist. Die vorliegende Erfindung kann jedoch auch auf andere Typen von befehlsbasierten Speicherbauelementen, die zwischen einer Anzahl von Mastern geteilt werden, angewendet werden.

Vorteilhafte Ausführungsformen der Erfindung, wie nachstehend im Detail beschrieben, sowie die Ausführungsformen gemäß dem Stand der Technik, die obenstehend zur Erleichterung des Verständnisses der Erfindung beschrieben sind, sind in den Zeichnungen dargestellt. Hierbei zeigt bzw. zeigen:

1 ein Blockdiagramm eines elektronischen Systems mit einer Anzahl von Mastern, die sich den Zugriff auf ein Speicherbauelement herkömmlich durch Software-Arbitrierung zwischen den Mastern teilen;

2 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 1 zur Darstellung von Befehlskollisionen, wie sie beim Stand der Technik auftreten;

3 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 1 zur Darstellung von Selbstauffrischungsverlusten, wie sie beim Stand der Technik auftreten;

4 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 1 zur Darstellung von ausgelassenen Vorladevorgängen, wie sie beim Stand der Technik auftreten;

5 und 6 Blockdiagramme eines elektronischen Systems mit einer Anzahl von Mastern, die sich erfindungsgemäß den Zugriff auf ein Multi-Port-Speicherbauelement durch Software-Arbitrierung zwischen den Mastern teilen;

7 ein Blockdiagramm einer erfindungsgemäßen Zugriffs-Steuereinheit in dem elektronischen System von 5;

8 ein Blockdiagramm eines elektronischen Systems mit einer Anzahl von Mastern, die sich erfindungsgemäßen den Zugriff auf ein Single-Port-Speicherbauelement mit Software-Arbitrierung zwischen den Mastern teilen;

9 ein Blockdiagramm einer weiteren erfindungsgemäßen Zugriffs-Steuereinheit in dem elektronischen System von 8;

10 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 5 oder 8 zur Darstellung der Vermeidung von Befehlskollisionen gemäß einer Ausführungsform der vorliegenden Erfindung;

11 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 5 oder 8 zur Darstellung der Vermeidung von Selbstauffrischungsverlusten gemäß einer Ausführungsform der vorliegenden Erfindung;

12 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 5 oder 8 zur Darstellung der Vermeidung des Auslassens von Voraufladevorgängen gemäß einer Ausführungsform der vorliegenden Erfindung; und

13 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 5 oder 8 zur Darstellung der Vermeidung von Befehlskollisionen, Selbstauffrischungsverlusten und des Auslassens von Vorladevorgängen gemäß einer Ausführungsform der vorliegenden Erfindung.

5 zeigt ein Blockdiagramm eines elektronischen Systems 200 mit einer Anzahl von Mastern, die sich den Zugriff auf ein Speicherbauelement nach einem Arbitrierungsschema gemäß einer Ausführungsform der vorliegenden Erfindung teilen. Gemäß der 5 teilt sich eine Anzahl von Mastern, umfassend einen ersten Master 202, einen zweiten Master 204 und einen dritten Master 206, den Zugriff auf ein Multi-Port-Speicherbauelement 208, das ein Multi-Port-SDRAM sein kann.

Ein Fachmann für Speicherbauelemente ist mit einem SDRAM vertraut, das synchron zu einem Taktsignal von einem Master betrieben wird. Zusätzlich ist ein SDRAM üblicherweise ein befehlsbasiertes Speicherbauelement mit einem Master, der einen Befehl durch Setzen der logischen Zustände einer Anzahl von Steuersignalen angibt.

Das SDRAM 208 wird als Multi-Port-SDRAM 208 bezeichnet, da es eine Anzahl von Anschlüssen (Ports), umfassend einen ersten Anschluss 212, einen zweiten Anschluss 214 und einen dritten Anschluss 216, aufweist. Jeder der ersten, zweiten und dritten Anschlüsse 212, 214 und 216 weist eine entsprechend eingerichtete Signalschnittstelle SIF1, SIF2 bzw. SIF3 zur Kommunikation mit einer zugeordneten Steuereinheit 222, 224 bzw. 226 der zugehörigen Master 202, 204 bzw. 206 auf. Jede der Signalschnittstellen SIF1, SIF2 und SIF3 wird für die Kommunikation von Steuersignalen und Daten zwischen den zugeordneten Mastern 202, 204 oder 206 und dem SDRAM 208 eingesetzt.

Jeder der Master 202, 204 und 206 hat einen zugeordneten Datenprozessor 232, 234 bzw. 236, der mit der zugeordneten Steuereinheit 222, 224 bzw. 226 über einen jeweils zugeordneten internen Bus 242, 244 bzw. 246 kommuniziert, wenn ein Zugriff auf das geteilte SDRAM 208angefragt wird. Gemäß der 5 und 6 weist jeder der Master 202, 204 und 206 ein zugeordnetes Master-Speicherbauelement 252, 254 bzw. 256 auf, das Abfolgen von Instruktionen (d.h. Software) speichert. Das Ausführen der Abfolgen von Instruktionen durch den jeweils zugeordneten Datenprozessor 232, 234 bzw. 236, der mit den Speicherbauelementen 252, 254 bzw. 256 verbunden ist, bewirkt bei dem zugeordneten Datenprozessor 232, 234 bzw. 236 das Durchführen der darin beschriebenen Schritte.

Gemäß den 5 und 6 koordinieren die Datenprozessoren 232, 234 und 236 den Zugriff auf das geteilte SDRAM 208 zwischen den Mastern 202, 204 und 206 durch Ausführung der Software, die in den Speicherbauelementen 252, 254 und 256 gespeichert ist. Die Master 202, 204 und 206 kommunizieren untereinander über Universal-Asynchronous-Receiver/Transmitter(UART)-Schnittstellen 262 und 264 zum Arbitrieren eines solchen Zugriffs auf das SDRAM 208. Das geteilte SDRAM 208 umfasst eine Zugriffs-Steuereinheit 266, die gemäß der Ausführungsform der 5 als Teil des Multi-Port-SDRAM 208 ausgeführt ist. Die Zugriffs-Steuereinheit 266 empfängt Befehle von den Speicher-Steuereinheiten 222, 224 und 226 über die Schnittstellen SIF1, SIF2 und SIF3 und bestimmt, welcher Befehl von einem der Master 202, 204 und 206 von dem SDRAM 208 abhängig davon ausgeführt wird, welcher der Master 202, 204 und 206 Zugriff hat. 7 zeigt ein Blockdiagramm der Zugriffs-Steuereinheit 266 gemäß der 5, die nachfolgend detaillierter beschrieben wird.

8 zeigt ein Blockdiagramm eines elektronischen Systems 300 mit einem Single-Port-SDRAM 308, das zwischen den Mastern 202, 204 und 206 gemäß einer alternativen Ausführungsform der vorliegenden Erfindung geteilt wird. Elemente mit den gleichen Bezugszeichen in den 5 und 8 bezeichnen Elemente, die die gleiche Struktur und/oder Funktion aufweisen. In 8 ist eine Zugriffs-Steuereinheit 310 getrennt oder außerhalb (Off-Chip) von dem SDRAM 308 verwirklicht.

Die Zugriffs-Steuereinheit 310 ist mit mehreren Anschlüssen 302, 304 und 306 zum Empfangen von Steuersignalen und Daten von den jeweils zugeordneten Mastern 202, 204 und 206 über die jeweils zugeordneten Schnittstellen SIF1, SIF2 und SIF3 ausgebildet. Die Zugriffs-Steuereinheit 310 empfängt Befehle von den Speicher-Steuereinheiten 222, 224 und 226 über die Schnittstellen SIF1, SIF2 und SIF3 und bestimmt, welcher Befehl von einem der Master 202, 204 und 206 durch das SDRAM 308 in Abhängigkeit davon ausgeführt wird, welcher der Master 202, 204 und 206 Zugriff hat. 9 zeigt ein Blockdiagramm der Zugriffs-Steuereinheit 310 gemäß 8 und wird nachfolgend näher beschrieben.

10 zeigt ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems 200 gemäß der 5 oder 300 gemäß der 8 zur Vermeidung von Befehlskollisionen gemäß einer Ausführungsform der vorliegenden Erfindung. Entsprechend den 5 und 10 zeigt ein auf einen logischen „high"-Zustand eingestelltes erstes Zugriffsanzeigesignal SGM1 an, dass der erste Master 202 Zugriff auf das SDRAM 208 hat, und dem ersten Master 202 wird der Zugriff verwehrt, wenn das erste Zugriffsanzeigesignal SGM1 auf den logischen „low"-Zustand gesetzt ist.

Ein zweites auf den logischen „high"-Zustand gesetztes Zugriffsanzeigesignal SGM2 zeigt an, dass der zweite Master 204 Zugriff auf das SDRAM 208 hat, und dem zweiten Master 204 wird der Zugriff verwehrt, wenn das zweite Zugriffsanzeigesignal SGM2 auf den logischen „low"-Zustand gesetzt ist. In dem Beispiel von 10 hat der erste Master 202 vor dem Zeitpunkt T1 Zugriff (d.h. Besitz) auf das SDRAM 208 und der zweite Master 204 hat nach dem Zeitpunkt T1 Zugriff auf das SDRAM 208.

Demnach hat jeder der Master 202, 204 und 206 ein zugeordnetes Zugriffsanzeigesignal, das über die UART-Schnittstellen 262 und 264 übertragen wird, um anzuzeigen, dass ein ausgewählter Master Zugriff auf das SDRAM 208 hat. Allgemein hat zu einer Zeit nur ein ausgewählter Master 202, 204 oder 206 Zugriff auf das SDRAM 208.

Gemäß der 10 stellt M1_CMD die Befehle dar, die von dem ersten Master 202 erzeugt werden und M2_CMD stellt die Befehle dar, die von dem zweiten Master 204 erzeugt werden. Allgemein wird jeder Befehl, der von einem Master erzeugt wird, von dem SDRAM 208 ausgeführt, wenn dieser Master Zugriff hat. Andererseits wird ein Befehl, der von einem Master erzeugt wird, der keinen Zugriff hat, nicht von dem SDRAM 208 ausgeführt. Demnach führt das SDRAM 208 in dem Beispiel gemäß 10 vor dem Zeitpunkt T1 die Befehle des ersten Masters 202 und nach dem Zeitpunkt T1 die Befehle des zweiten Masters 204 aus.

Folglich führt das SDRAM 208 aktive Befehle Active11 und Active12 aus, die um eine Zeilenzykluszeit tRC versetzt nach periodischen Selbstauffrischungsbefehlen erzeugt werden, wie sie von dem ersten Master 202 vor dem Zeitpunkt T1 gesendet werden. Jeder der Master 202 und 204 erzeugt periodisch einen Selbstauffrischungsbefehl (wie durch die mit „Auto-Refresh" bezeichneten Linien in 10 dargestellt).

Dabei ist festzuhalten, dass der erste Master 202 nach dem Zeitpunkt T1 keinerlei aktive Befehle erzeugt, da dem ersten Master 202 der Zugriff verwehrt ist. Der erste Master 202 erzeugt nach dem Zeitpunkt T1 weiterhin die periodischen Selbstauffrischungsbefehle, aber diese Selbstauffrischungsbefehle des ersten Masters 202 werden nach dem Zeitpunkt T1 von dem SDRAM 208 nicht ausgeführt (wie dies durch die Linien ohne Pfeile für die Selbstauffrischungsbefehle nach dem Zeitpunkt T1 in 10 dargestellt ist).

Gemäß der 10 führt das SDRAM 208 aktive Befehle Active21 und Active22 aus, die jeweils zwischen den periodischen Selbstauffrischungsbefehlen, wie sie von dem zweiten Master 204 nach dem Zeitpunkt T1 gesendet werden, erzeugt werden. Üblicherweise ist die Zeilenzykluszeit tRC für das SDRAM 208 vorgesehen, um einen Selbstauffrischungsbefehl auszuführen, bevor das SDRAM 208 mit der Ausführung eines nachfolgenden aktiven Befehls beginnt.

Wenn ein Master den Besitz des SDRAMs 208 erhält, kann der Master gemäß einem weiteren Aspekt der vorliegenden Erfindung einen vorbestimmten Einstellbefehl wie einen Mode-Register-Set(MRS)-Befehl zur Vermeidung von Befehlskollisionen erzeugen. Wenn der zweite Master 204 über das SGM2-Signal die Zugriffsanzeige zur Umschaltung des Besitzes auf den zweiten Master 204 erhält, kann dessen Datenprozessor 234 entsprechend der 5 und 10 einen MRS-Befehl durch Erzeugen eines MRS2'-Steuersignals an seine SDRAM-Steuereinheit 224 auslösen, die daraufhin den MRS2-Befehl erzeugt.

Solch ein MRS2-Befehl wird erzeugt, bevor der erste aktive Befehl Active21 von dem zweiten Master 204 erzeugt wird, um eine Zeitspanne tM zwischen derartigen Befehlen bereitzustellen. Auf den Empfang des MRS2-Befehls führt das SDRAM 208 den MRS2-Befehl vor dem Active21-Befehl aus. Ein MRS-Befehl wird allgemein zum Einstellen eines Modus-Registers innerhalb eines SDRAM eingesetzt und ein derartiger MRS-Befehl ist dem Fachmann für SDRAM-Design hinlänglich bekannt.

Da der Active21-Befehl mit einer Zeitverzögerung (Timing Margin) tM nach dem MRS2-Befehl erzeugt wird, führt das SDRAM gemäß der 10 den Active21-Befehl zuverlässig nach Ablauf der Zeilenzykluszeit tRC zur Ausführung des letzten Selbstauffrischungsbefehls 320 aus, der von dem ersten Master 202 empfangen wurde. Somit kann die Kollision des vom ersten Master 202 empfangenen letzten Selbstauffrischungsbefehls 320 und des Active21-Befehls des zweiten Masters 204 durch die Erzeugung des MRS2-Befehls vermieden werden.

11 zeigt ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems 200 nach 5 oder 300 nach 8 zur Vermeidung von Selbstauffrischungsverlusten gemäß einer Ausführungsform der vorliegenden Erfindung. Mit jeder Änderung des SGM1-Signals in den logischen „high"-Zustand wird der Besitz auf den ersten Master 202 umgeschaltet. Zu diesem Zeitpunkt löst der erste Datenprozessor 232 durch Erzeugen eines Steuersignals MRS1', das der Speicher-Steuereinheit 222 anzeigt, einen Befehl MRS1 zu erzeugen, einen MRS-Befehl aus. Demnach erzeugt der erste Master 202 bei jedem Erlangen des Besitzes des SDRAMs 208 vor jedem der aktiven Befehle Active11, Active12 und Active13 ein zugeordnetes MRS1-Signal.

Entsprechend wird gemäß 11 mit jeder Änderung des SGM2-Signals auf den logischen „high"-Zustand der Besitz auf den zweiten Master 204 umgeschaltet. Zu einem solchen Zeitpunkt erzeugt der zweite Master 204 vor jedem der aktiven Befehle Active21, Active22 und Active23 ein zugeordnetes Signal MRS2. Das SDRAM 208 führt zusätzlich zu dem Modusregister-Einstellvorgang einen Selbstauffrischungsvorgang beim Empfangen eines der MRS1- und MRS2-Befehle aus, sodass der Selbstauffrischungsverlust vermieden wird.

In einer Ausführungsform der vorliegenden Erfindung entscheidet das SDRAM 208, ob der Selbstauffrischungsvorgang beim Empfangen eines der MRS1- und MRS2-Befehle durchgeführt wird. Beispielsweise führt das SDRAM 208 beim Empfangen eines der MRS1- und MRS2-Befehle lediglich den Modusregister-Einstellvorgang ohne Ausführung eines zusätzlichen Selbstauffrischungsvorgangs aus, wenn das SDRAM 208 bereits einen Selbstauffrischungsvorgang durchführt. Wenn das SDRAM 208 innerhalb einer vorbestimmten Zeitdauer nicht bereits einen Selbstauffrischungsvorgang ausgeführt hat, führt das SDRAM 208 einen Selbstauffrischungsvorgang zusätzlich zu dem Modusregister-Einstellvorgang beim Empfangen eines der beiden MRS1- und MRS2-Befehle durch.

7 zeigt ein exemplarisches Blockdiagramm des SDRAM 208 gemäß der 5 umfassend die Zugriffs-Steuereinheit 266 und einen Speicherkern 350. Die Zugriffs-Steuereinheit 266 umfasst einen ersten Befehlsdetektor 352, einen zweiten Befehlsdetektor 354 und einen dritten Befehlsdetektor 356, die jeweils mit einem zugeordneten ersten Auffrischungszähler 362, einem zweiten Auffrischungszähler 364 bzw. einem dritten Auffrischungszähler 366 verbunden sind.

Jeder der Befehlsdetektoren 352, 354 und 356 erhält einen zugeordneten Satz von Takt- und Steuersignalen von der zugeordneten Schnittstelle SIF1, SIF2 bzw. SIF3. Demnach empfängt der erste Befehlsdetektor 352 ein Taktsignal CLK1, ein Takt-Aktivierungssignal CKE1, ein Chipauswahlsignal /CS, ein Schreibaktivierungssignal /WE1, ein Zeilenadressabtastsignal /RAS und ein Spaltenadressabtastsignal /ZAS1 von dem ersten Master 202 über die erste Schnittstelle SIF1. Solche Signale sind dem Fachmann für das SDRAM-Design hinlänglich bekannt.

Der zweite Befehlsdetektor 354 empfängt zugeordnete Signale CLK2, CKE2, /CS2, /WE2, /RAS2 und /CAS2 von dem zweiten Master 204 über die zweite Schnittstelle SIF2. Der dritte Befehlsdetektor 356 empfängt zugeordnete Signale CLK3, CKE3, /CS3, /WE3, /RAS3 und /CAS3 von dem dritten Master 206 über die dritte Schnittstelle SIF3.

Jeder der Befehlsdetektoren 352, 354 oder 356 nutzt den zugeordneten Satz solcher Signale zur Bestimmung, ob der zugeordnete Master einen MRS-Befehl oder einen Selbstauffrischungsbefehl sendet. Auf den Empfang eines von beiden Befehlen steuert der Befehlsdetektor 352, 354 oder 356 den zugeordneten Auffrischungszähler 362, 364 oder 366, um eine zugeordnete Selbstauffrischungsadresse AREF_ADD1, AREF_ADD2 oder AREF_ADD3 zu erhöhen.

Beispielsweise aktiviert der erste Befehlsdetektor 352 ein MRS1-Signal, wenn der erste Befehlsdetektor 352 feststellt, dass der erste Master 202 einen MRS-Befehl sendet. In ähnlicher Weise aktiviert der erste Befehlsdetektor 352 ein AREF1-Signal, wenn der erste Befehlsdetektor 352 feststellt, dass der erste Master 202 einen Selbstauffrischungsbefehl sendet. Der erste Auffrischungszähler 362 erhöht die erste Selbstauffrischungsadresse AREF_ADD1, wenn eines der beiden MRS1- und AREF1-Signale aktiviert ist.

Der zweite Befehlsdetektor 354 aktiviert ein MRS2-Signal, wenn der zweite Befehlsdetektor 354 feststellt, dass der zweite Master 204 einen MRS-Befehl sendet. Ebenso aktiviert der zweite Befehlsdetektor 354 ein AREF2-Signal, wenn der zweite Befehlsdetektor 354 feststellt, dass der zweite Master 204 einen Selbstauffrischungsbefehl sendet. Der zweite Auffrischungszähler 364 erhöht die zweite Selbstauffrischungsadresse AREF_ADD2, wenn eines der beiden Signale MRS2- und AREF2 aktiviert ist.

Der dritte Befehlsdetektor 356 aktiviert ein MRS3-Signal, wenn der dritte Befehlsdetektor 356 feststellt, dass der dritte Master 206 einen MRS-Befehl sendet. Weiterhin aktiviert der dritte Befehlsdetektor 356 ein AREF3-Signal, wenn der dritte Befehlsdetektor 356 feststellt, dass der dritte Master 206 einen Selbstauffrischungsbefehl sendet. Der dritte Auffrischungszähler 366 erhöht die dritte Selbstauffrischungsadresse AREF_ADD3, wenn eines der beiden Signale MRS3- und AREF3 aktiviert ist.

Die Selbstauffrischungsadressen AREF_ADD1, AREF_ADD2 und AREF_ADD3 werden in einen Multiplexer 368 eingegeben, der eine der Selbstauffrischungsadressen AREF_ADD1, AREF_ADD2 oder AREF_ADD3 auswählt, die an den Adressdekoder 370 gesendet werden soll. Der Adressdekoder 370 decodiert eine solche aus den Selbstauffrischungsadressen AREF_ADD1, AREF_ADD2 und AREF_ADD3 ausgewählte Selbstauffrischungsadresse, um eine Zeile des Speicherkerns 350 aufzufrischen, die durch die aus den Selbstauffrischungsadressen AREF_ADD1, AREF_ADD2 und AREF_ADD3 ausgewählte Selbstauffrischungsadresse angegeben ist.

Der Multiplexer 368 wählt eine der Selbstauffrischungsadressen AREF_ADD1, AREF_ADD2 oder AREF_ADD3 in Abhängigkeit davon aus, welches der MRS1-, MRS2- und MRS3-Signale der zugeordneten Befehlsdetektoren oder Befehlsdekoder 352, 354 und 356 zur Anzeige des Besitzes aktiviert ist. Wenn das MRS1-Signal aktiviert ist, wählt der Multiplexer 368 die erste Selbstauffrischungsadresse AREF_ADD1 aus. Wenn das MRS2-Signal aktiviert ist, wählt der Multiplexer 368 die zweite Selbstauffrischungsadresse AREF_ADD2 aus. Wenn das MRS3-Signal aktiviert ist, wählt der Multiplexer 368 die dritte Selbstauffrischungsadresse AREF_ADD3 aus.

In einer Ausführungsform der vorliegenden Erfindung führt das SDRAM 208 nur dann einen Selbstauffrischungsvorgang beim Empfang eines MRS-Befehls durch, wenn innerhalb einer vorbestimmten Zeitdauer kein Selbstauffrischungsvorgang durchgeführt wurde. Bei einer solchen Ausführungsform umfasst jeder der Auffrischungszähler 362, 364 und 366 einen zugeordneten Timer und erhöht seine zugeordnete Selbstauffrischungsadresse nur dann, wenn das zugeordnete MRS-Signal aktiviert wird, nachdem das zugeordnete AREF-Signal zum letzten Mal vor der vorbestimmten Zeitdauer aktiviert war.

9 zeigt ein Blockdiagramm der Zugriffs-Steuereinheit 310 und des SDRAM 308 von 8. In 7 ist die Zugriffs-Steuereinheit 266 als Teil des SDRAM 208 nach 5 „on-chip" hergestellt. Die Zugriffs-Steuereinheit 310 nach der 9 kann „off-chip", getrennt von dem SDRAM 308, das als Single-Port-Speicherbauelement in 8 dargestellt ist, ausgeführt sein.

Gemäß der 9 umfasst die Zugriffs-Steuereinheit 310 einen ersten Befehlsdetektor 372, einen zweiten Befehlsdetektor 374 und einen dritten Befehlsdetektor 376. Jeder der Befehlsdetektoren 372, 374 und 376 empfängt in ähnlicher Weise wie die Befehlsdetektoren 352, 354 und 356 nach 7 einen zugeordneten Satz von Takt- und Steuersignalen von den jeweils zugeordneten Mastern 202, 204 und 206.

Gemäß der 9 aktiviert der erste Befehlsdetektor 372 ein MRS1-Signal, wenn der erste Master 202 einen MRS-Befehl erzeugt. Der zweite Befehlsdetektor 374 aktiviert ein MRS2-Signal, wenn der zweite Master 204 einen MRS-Befehl erzeugt. Der dritte Befehlsdetektor 376 aktiviert ein MRS3-Signal, wenn der dritte Master 206 einen MRS-Befehl erzeugt.

Die Takt- und Steuersignale der Master 202, 204 und 206, die über die zugeordneten Schnittstellen SIF1, SIF2 und SIF3 an den zugeordneten Anschlüssen 302, 304 und 306 empfangen werden, sind mit einem Multiplexer 378 verbunden. Der Multiplexer 378 koppelt die zugeordneten Takt- und Steuersignale von einem der Master 202, 204 oder 206 in Abhängigkeit davon, welches der MRS1-, MRS2- oder MRS3-Signale aktiviert ist, um den Besitz des SDRAMs 308 anzuzeigen.

Wenn das MRS1-Signal aktiviert ist, wird die erste Schnittstelle SIF1 des ersten Masters 202 mit einem Befehlsdekoder 382 des SDRAM 308 verbunden. Wenn das MRS2-Signal aktiviert ist, wird die zweite Schnittstelle SIF2 des zweiten Masters mit dem Befehlsdekoder 382 des SDRAM 308 verbunden. Wenn das MRS3-Signal aktiviert ist, wird die dritte Schnittstelle SIF3 des dritten Masters 206 mit dem Befehlsdekoder 382 des SDRAM 308 verbunden. Entsprechend führt das SDRAM 308 Befehle von einem der Master 202, 204 oder 206 aus, der den Besitz des SDRAM 308 hat.

Die MRS1-, MRS2- und MRS3-Signale werden in eine Logikeinheit 380 eingekoppelt, die in einer Ausführungsform der vorliegenden Erfindung als ODER-Gatter ausgeführt ist. Wenn ein beliebiges der MRS1-, MRS2- oder MRS3-Signale aktiviert ist, aktiviert das ODER-Gatter 380 ein MRS_REF-Signal, das an einen Auffrischungszähler 384 des SDRAM 308 gesendet wird. Der Auffrischungszähler 384 erhöht eine Selbstauffrischungsadresse AREF_ADD, wenn das MRS_REF-Signal aktiviert ist. Zusätzlich erzeugt der Befehlsdekoder 382 ein AREF-Signal, das aktiviert wird, wenn der Befehlsdekoder feststellt, dass von demjenigen der Master 202, 204 oder 206, der im Besitz ist, ein Selbstauffrischungsbefehl gesendet wird. Der Auffrischungszähler 384 erhöht auch die Selbstauffrischungsadresse AREF_ADD, wenn das AREF-Signal aktiviert ist.

In einer Ausführungsform der vorliegenden Erfindung führt das SDRAM 308 nur dann einen Selbstauffrischungsvorgang nach Aussendung eines MRS-Befehls von einem beliebigen der Master 202, 204 oder 206 aus, wenn innerhalb einer vorbestimmten Zeitdauer kein Selbstauffrischungsvorgang vorgenommen wurde. Bei einer solchen Ausführungsform umfasst der Auffrischungszähler 384 einen Timer und erhöht die Selbstauffrischungsadresse AREF_ADD nur dann, wenn das MRS_REF-Signal aktiviert wurde, nachdem das AREF-Signal zuletzt vor einer vorbestimmten Zeitdauer aktiviert wurde.

12 zeigt ein Zeitverlaufsdiagramm von Signalen während des Betriebes des elektronischen Systems 200 von 5 oder 300 von 8 zur Vermeidung der Auslassung von Vorladevorgängen gemäß einer Ausführungsform der vorliegenden Erfindung. 12 gleicht der vorstehend beschriebenen 4, 12 weicht jedoch von 4 dahingehend ab, dass jeder der Master 202, 204 und 206 beim Verlust des Besitzes des geteilten SDRAMs 208 einen Pre-Charge-All-Befehl PALL erzeugt.

Gemäß der 12 erzeugt der erste Master 202 einen PALL1-Befehl beim Verlust des Besitzes nach dem RD4-Befehl. Gemäß den 5 und 12 löst der Datenprozessor 232 beim Empfangen eines SGM1-Signals, das auf den logischen „low"-Zustand deaktiviert ist, einen PALL-Befehl durch Erzeugen eines Steuersignals PALL1' aus, um der SDRAM-Steuereinheit 222 anzuzeigen, dass diese den PALL1-Befehl zu erzeugen hat. In gleicher Weise erzeugt der zweite Master 204 gemäß der 12 einen PALL2-Befehl beim Verlust des Besitzes nach dem WR1-Befehl.

Das SDRAM 208 führt beim Empfangen eines der beiden PALL1- und PALL2-Befehle einen Gesamtvorladevorgang durch. Bitleitungen aller Bänke des SDRAMs 208 werden während eines Gesamtvorladevorgangs vorgeladen. Ein Gesamtvorladevorgang ist dem Fachmann für SDRAM-Design hinlänglich bekannt.

Demnach wird eine Vorladung der relevanten Bitleitungen vor dem WR1-Vorgang nicht ausgelassen, wenn der zweite Master 204 den Besitz hat. Die vorliegende Erfindung kann auch verwirklicht werden, wenn die Master 202, 204 und 206 einen beliebigen anderen Typ eines Vorladebefehls, wie einen PRE_SEL-Befehl (Pre-Charge-Select), beim Verlust des Besitzes für das geteilte SDRAM 208 erzeugen. Bitleitungen einer spezifizierten Bank des SDRAM 208 werden während eines Vorlade-Auswahlvorgangs vorgeladen. Ein Vorlade-Auswahlvorgang ist dem Fachmann für SDRAM-Design hinlänglich bekannt.

13 zeigt ein Zeitverlaufsdiagramm von Signalen während des Betriebs des elektronischen Systems von 5 oder 8 zur Darstellung der Vermeidung von Befehlskollisionen, Selbstauffrischungsverlusten und des Auslassen von Vorladevorgängen gemäß einer Ausführungsform der vorliegenden Erfindung. Gemäß der 13 hat der erste Master 202 den Besitz des SDRAM 208 vor dem Zeitpunkt T1 und nach dem Zeitpunkt T2. Der zweite Master 204 hat zwischen den Zeitpunkten T1 und T2 den Besitz des SDRAM 208.

Der erste Master 202 erzeugt vor dem Verlust des Besitzes zum Zeitpunkt T1 einen PALL1-Befehl. Mit dem Erlangen des Besitzes zum Zeitpunkt T2 erzeugt der erste Master 202 auch einen MRS1-Befehl mit einer Zeitverzögerung in der Größe der Zeilenzykluszeit tRC vor dem aktiven Befehl Active12.

Beim bzw. nach dem Erlangen des Besitzes zum Zeitpunkt T1 erzeugt der zweite Master 204 einen MRS2-Befehl mit einer Zeitverzögerung in der Größe der Zeilenzykluszeit tRC vor dem aktiven Befehl Active21. Der zweite Master 204 erzeugt einen PALL2-Befehl, bevor er den Besitz zum Zeitpunkt T2 verliert.

Das SDRAM 208 führt beim Empfangen der PALL1- und PALL2-Befehle einen Gesamtvorladevorgang durch, sodass der Vorladevorgang bei einem Besitzerwechsel nicht ausgelassen wird. Das SDRAM 208 führt bei Erhalt der MRS1- und MRS2-Befehle einen Selbstauffrischungsvorgang durch, um einen Selbstauffrischungsverlust in dem SDRAM 208 zu vermeiden. Zusätzlich werden die MRS1- und MRS2-Befehle mit der Zeitdauer der Zeilenzykluszeit tRC vor den zugeordneten aktiven Befehlen Active12 und Active1 erzeugt, um die Kollision von Selbstauffrischungsbefehlen und aktiven Befehle zu vermeiden.

In dieser Weise erzeugen bei Ausführungsformen der Erfindung die Master 202, 204 und 206 zusätzliche Befehle, wie die MRS- und PALL-Befehle, wenn eine Software-Arbitrierung untereinander auftritt. Derartige zusätzliche Befehle werden vorteilhaft für die Vermeidung von Befehlskollisionen, Selbstauffrischungsverlusten und/oder der Vermeidung einer Auslassung von Vorladevorgängen in dem geteilten SDRAM 208 eingesetzt.

Die vorliegende Erfindung wurde für das geteilte SDRAM 208 in dem elektronischen System 200 der 5 beschrieben, die vorliegende Erfindung kann jedoch in entsprechender Weise auf das elektronische System 300 von 8 angewendet werden, was für den Fachmann aufgrund der vorliegenden Beschreibung selbstverständlich ist.

Weiterhin wurde die vorliegende Erfindung mittels der Zeitverlaufsdiagramme der 10, 11, 12 und 13 zum Arbitrieren eines Zugriffs zwischen den ersten und zweiten Mastern 202 und 204 beschrieben und verdeutlicht. Die vorliegende Erfindung kann in entsprechender Weise für die Arbitrierung eines Zugriffs unter einer beliebigen Anzahl von Mastern, umfassend den dritten Master 206, angewendet werden. Zudem wurde die vorliegende Erfindung für das geteilte SDRAM beschrieben. Die vorliegende Erfindung kann jedoch auch für andere Typen von geteilten Speicherbauelementen eingesetzt werden.


Anspruch[de]
Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement (208) zwischen einer Anzahl von Mastern (202, 204, 206), mit den Schritten:

– Empfangen einer Zugriffsanzeige (SGM2) durch einen ausgewählten Master (204), die anzeigt, dass der ausgewählte Master (204) Zugriff auf das Speicherbauelement (208) hat; und

– Erzeugen eines vorbestimmten Einstellbefehls (MRS2) durch den ausgewählten Master (204) beim Empfangen der Zugriffsanzeige (SGM2) und vor dem Erzeugen eines aktiven Befehls (Active21) zur Vermeidung einer Kollision zwischen dem aktiven Befehl (Active21) und einem vorhergehenden Befehl (320), der von dem Speicherbauelement (208) ausgeführt wird.
Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der vorbestimmte Einstellbefehl (MRS2) durch das Speicherbauelement (208) vor dem Ausführen des aktiven Befehls (Active21) ausgeführt wird, um eine Zeitspanne (tM) zwischen dem vorhergehenden Befehl (320) und dem aktiven Befehl (Active21) zu erzeugen. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der vorbestimmte Einstellbefehl (MRS2) durch einen Datenprozessor (234) des ausgewählten Masters (204) erzeugt wird. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der vorhergehende Befehl (320) von einem vorhergehenden Master (202) erzeugt wird, der Zugriff auf das Speicherbauelement (208) hat, bevor die Zugriffsanzeige (SGM2) von dem ausgewählten Master (204) empfangen wird. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass der vorhergehende Befehl ein Selbstauffrischungsbefehl (320) ist, der von dem vorhergehenden Master (202) erzeugt wurde. Verfahren nach Anspruch 4 oder 5, gekennzeichnet durch Erzeugen eines Vorladebefehls (PALL1) durch den vorhergehenden Master (202), der durch das Speicherbauelement (208) auszuführen ist, bevor der ausgewählte Master (204) beim Empfangen der Zugriffsanzeige (SGM2) einen beliebigen Befehl erzeugt. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Speicherbauelement (208) beim Empfangen des vorbestimmten Einstellbefehls (MRS2) einen Selbstauffrischungsvorgang durchführt, wenn der vorhergehende Befehl (PALL1) nicht für einen Selbstauffrischungsvorgang vorgesehen ist, der innerhalb einer vorbestimmten Zeitdauer durchgeführt worden ist. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass der vorbestimmte Einstellbefehl ein Modusregister(MRS)-Einstellbefehl ist. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass der vorhergehende Befehl ein Selbstauffrischungsbefehl (320) ist. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass das Speicherbauelement ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Verfahren nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass der vorbestimmte Einstellbefehl (MRS2) von einer Zugriffs-Steuereinheit (266) dazu eingesetzt wird, eine zugehörige Schnittstelle (SIF2) des ausgewählten Masters (204) auszuwählen, die mit einem Speicherkern (350) des Speicherbauelements (208) zu verbinden ist, während zugehörige Schnittstellen (SIF1, SIF3) beliebiger anderer Master (202, 206) von dem Speicherkern (350) getrennt werden. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Zugriffs-Steuereinheit (266) als Teil des Speicherbauelements (208) ausgeführt wird. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die Zugriffs-Steuereinheit (266) außerhalb des Speicherbauelements (208) ausgeführt wird. Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement (208) zwischen einer Vielzahl von Mastern (202, 204, 206), mit den Schritten:

– Empfangen einer Zugriffsanzeige (SGM2) durch einen ausgewählten Master (204), die anzeigt, dass der ausgewählte Master (204) Zugriff auf das Speicherbauelement (208) hat;

– Erzeugen eines vorbestimmten Einstellbefehls (MRS2) durch den ausgewählten Master (204) beim Empfangen der Zugriffsanzeige (SGM2); und

– Entscheiden durch das Speicherbauelement (208), ob ein Selbstauffrischungsvorgang beim Empfangenen des vorbestimmten Einstellbefehls (MRS2) durchzuführen ist.
Verfahren nach Anspruch 14, dadurch gekennzeichnet, dass das Speicherbauelement (208) den Selbstauffrischungsvorgang beim Empfangen des vorbestimmten Einstellbefehls (MRS2) durchführt, wenn ein vorhergehender Selbstauffrischungsvorgang nicht innerhalb einer vorbestimmten Zeitdauer durchgeführt wurde. Verfahren nach Anspruch 14 oder 15, dadurch gekennzeichnet, dass der vorbestimmte Einstellbefehl ein Modusregister(MRS)-Einstellbefehl ist. Verfahren nach einem der Ansprüche 14 bis 16, dadurch gekennzeichnet, dass das Speicherbauelement ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Verfahren nach einem der Ansprüche 14 bis 17, dadurch gekennzeichnet dass der vorbestimmte Einstellbefehl (MRS2) von einer Zugriffs-Steuereinheit (266) dazu eingesetzt wird, eine zugehörige Schnittstelle (SIF2) des ausgewählten Masters (204) auszuwählen, die mit einem Speicherkern (350) des Speicherbauelements (208) zu verbinden ist, während zugehörige Schnittstellen (SIF1, SIF3) beliebiger anderer Master (202, 206) von dem Speicherkern (350) getrennt werden. Verfahren zum Arbitrieren eines Zugriffs auf ein Speicherbauelement (208) zwischen einer Anzahl von Mastern (202, 204, 206), mit den Schritten:

– Empfangen einer Zugriffsanzeige (SGM2) durch einen ausgewählten Master (204), die anzeigt, dass der ausgewählte Master (204) Zugriff auf das Speicherbauelement (208) hat, wobei ein vorhergehender Master (202) Zugriff auf das Speicherbauelement (208) hat, bevor die Zugriffsanzeige (SGM2) von dem ausgewählten Master (204) empfangen wird; und

– Erzeugen eines Vorladebefehls (PALL1) durch den vorhergehenden Master (202), der durch das Speicherbauelement (208) auszuführen ist, bevor der ausgewählte Master (204) beim Empfangen der Zugriffsanzeige (SGM2) einen beliebigen Befehl erzeugt.
Verfahren nach Anspruch 19, dadurch gekennzeichnet, dass das Speicherbauelement ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Verfahren nach Anspruch 19 oder 20, dadurch gekennzeichnet, dass der Vorladebefehl ein Gesamtvorladebefehl (PALL) oder ein Vorladeauswahlbefehl (PRE_SEL) ist. Master (204) zum Arbitrieren eines Zugriffs auf ein geteiltes Speicherbauelement (208) zwischen einer Anzahl von Mastern (202, 204, 206), umfassend:

– einen Datenprozessor (234); und

– ein Master-Speicherbauelement (254), das eine Abfolge von Instruktionen gespeichert hat, wobei eine Ausführung der Abfolge von Instruktionen durch den Datenprozessor (234) den Datenprozessor (234) zur Durchführung der folgenden Schritte veranlasst:

– Erzeugen eines vorbestimmten Einstellbefehls (MRS2) beim Empfangen einer Zugriffsanzeige (SGM2) und vor dem Erzeugen eines aktiven Befehls (Active21); und

– Senden des vorbestimmten Einstellbefehls (MRS2) an das geteilte Speicherbauelement (208), das den vorbestimmten Einstellbefehl (MRS2) ausführt, um eine Kollision zwischen dem aktiven Befehl (Active21) und einem vorhergehenden Befehl (320), der von dem geteilten Speicherbauelement (208) ausgeführt wird, zu vermeiden.
Master nach Anspruch 22, dadurch gekennzeichnet, dass das geteilte Speicherbauelement (208) den vorbestimmten Einstellbefehl (MRS2) vor dem Durchführen des aktiven Befehls (Active21) durchführt, um eine Zeitspanne (tM) zwischen dem vorhergehenden Befehl (320) und dem aktiven Befehl (Active21) zu erzeugen. Master nach Anspruch 22 oder 23, dadurch gekennzeichnet, dass der vorhergehende Befehl ein Selbstauffrischungsbefehl (320) ist. Master nach einem der Ansprüche 22 bis 24, dadurch gekennzeichnet, dass der vorbestimmte Einstellbefehl ein Modusregister(MRS)-Einstellbefehl ist. Master nach einem der Ansprüche 22 bis 25, dadurch gekennzeichnet, dass das geteilte Speicherbauelement ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Master nach einem der Ansprüche 22 bis 26, gekennzeichnet durch eine Schnittstelle (SIF2), die mit einem Speicherkern (350) des geteilten Speicherbauelements (208) mittels einer Zugriffs-Steuereinheit (266) gekoppelt wird, wenn der vorbestimmte Einstellbefehl (MRS2) von dem Master (204) erzeugt wird. Master nach Anspruch 27, dadurch gekennzeichnet, dass die Zugriffs-Steuereinheit als Teil des geteilten Speicherbauelements (208) ausgeführt ist. Master nach Anspruch 27, dadurch gekennzeichnet, dass die Zugriffs-Steuereinheit (266) getrennt von dem geteilten Speicherbauelement (208) ausgeführt ist. Master (204) zum Arbitrieren eines Zugriffs auf ein geteiltes Speicherbauelement (208) zwischen einer Anzahl von Mastern (202, 204, 206), gekennzeichnet durch:

– einen Datenprozessor (234); und

– ein Master-Speicherbauelement (254), das eine Abfolge von Instruktionen speichert, wobei eine Ausführung der Abfolge von Instruktionen durch den Datenprozessor (234) den Datenprozessor (234) zur Durchführung der folgenden Schritte veranlasst:

– Erzeugen eines vorbestimmten Einstellbefehls (MRS2) beim Empfangen einer Zugriffsanzeige (SGM2); und

– Senden des vorbestimmten Einstellbefehls (MRS2) an das geteilte Speicherbauelement (208), das entscheidet, ob ein Selbstauffrischungsvorgang beim Empfangen des vorbestimmten Einstellbefehls (MRS2) durchzuführen ist.
Master nach Anspruch 30, dadurch gekennzeichnet, dass das geteilte Speicherbauelement (208) den Selbstauffrischungsvorgang beim Empfangen des vorbestimmten Einstellbefehls (MRS2) durchführt, wenn innerhalb einer vorbestimmten Zeitdauer kein Selbstauffrischungsvorgang durchgeführt wurde. Master nach Anspruch 30 oder 31, dadurch gekennzeichnet, dass der vorbestimmte Einstellbefehl ein Modusregister(MRS)-Einstellbefehl ist. Master nach einem der Ansprüche 30 bis 32, dadurch gekennzeichnet, dass das geteilte Speicherbauelement ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Master nach einem der Ansprüche 30 bis 33, gekennzeichnet durch:

– eine Schnittstelle (SIF2), die von einer Zugriffs-Steuereinheit (266) mit einem Speicherkern (350) des geteilten Speicherbauelements (208) verbunden wird, wenn der vorbestimmte Einstellbefehl (MRS2) durch den Master (204) erzeugt wird.
Master (202) zum Arbitrieren eines Zugriffs auf ein geteiltes Speicherbauelement (208) zwischen einer Anzahl von Mastern (202, 204, 206), umfassend:

– einen Datenprozessor (232); und

– ein Master-Speicherbauelement (252), das eine Abfolge von Instruktionen speichert, wobei eine Ausführung der Abfolge von Instruktionen durch den Datenprozessor (232) den Datenprozessor (232) zur Durchführung der folgenden Schritte veranlasst:

– Erzeugen eines Vorladebefehls (PALL1) beim Empfangen einer Anzeige eines Besitzerwechsels hin zu einem nachfolgenden Master; und

– Senden des Vorladebefehls (PALL1) an das geteilte Speicherbauelement (208), das einen Vorladevorgang durchführt, bevor das geteilte Speicherbauelement (208) einen beliebigen Befehl von dem nachfolgenden Master (204) empfängt.
Master nach Anspruch 35, dadurch gekennzeichnet, dass das geteilte Speicherbauelement ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Master nach Anspruch 35 oder 36, dadurch gekennzeichnet, dass der Vorladebefehl ein Gesamtvorladebefehl (PALL) oder ein Vorladeauswahlbefehl (PRE_SEL) ist.






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