PatentDe  


Dokumentenidentifikation DE102006034486A1 12.04.2007
Titel Master zum Arbitrieren eines Zugriffs auf eine geteilte Speichereinrichtung, System und Verfahren zum Arbitrieren eines Zugriffs auf eine Speichereinrichtung unter einer Anzahl von Mastern
Anmelder Samsung Electronics Co., Ltd., Suwon, Kyonggi, KR
Erfinder Lee, Young-Min, Suwon, Kyonggi, KR
Vertreter Patentanwälte Ruff, Wilhelm, Beier, Dauster & Partner, 70174 Stuttgart
DE-Anmeldedatum 21.07.2006
DE-Aktenzeichen 102006034486
Offenlegungstag 12.04.2007
Veröffentlichungstag im Patentblatt 12.04.2007
IPC-Hauptklasse G06F 13/362(2006.01)A, F, I, 20061212, B, H, DE
Zusammenfassung Die Erfindung betrifft einen Master zum Arbitrieren eines Zugriffs auf eine geteilte Speichereinrichtung (shared memory device), ein System und ein Verfahren zum Arbitrieren eines Zugriffs auf eine Speichereinrichtung unter einer Anzahl von Mastern.
Der Master (202) zum Arbitrieren von Zugriffen auf eine geteilte Speichereinrichtung (208) umfasst einen Datenprozessor (232) und eine Master-Speichereinrichtung (242), auf der Anweisungs-Sequenzen gespeichert sind, deren Ausführung durch den Datenprozessor (232) den Datenprozessor (232) veranlasst, die folgenden Schritte auszuführen: Steuern der Erzeugung einer Serie eines unabdingbaren Befehls, der an einen Arbitrierer gesendet sind; und Steuern der Erzeugung eines Zugriffsanforderungssignals (REQ1), das an den Arbitrierer zusammen mit einem der unabdingbaren Befehle aus der Serie gesendet wird.
Verwendung beispielsweise in der Speichertechnologie.

Beschreibung[de]

Die Erfindung betrifft einen Master zum Arbitrieren eines Zugriffs auf eine geteilte Speichereinrichtung (shared memory device), ein System und ein Verfahren zum Arbitrieren eines Zugriffs auf eine Speichereinrichtung unter einer Anzahl von Mastern.

1 zeigt ein Blockdiagramm eines elektronischen Systems 100 mit einer Anzahl von Mastern, die sich einen Zugriff auf eine Speichereinrichtung teilen. Gemäß der 1 teilt sich eine Anzahl von Mastern, umfassend einen ersten Master 102, einen zweiten Master 104 und einen dritten Master 106, den Zugriff auf eine Multi-Port-Speichereinrichtung 108, die ein Multi-Port-SDRAM (synchroner dynamischer Speicher mit wahlfreiem Zugriff – Synchronous Dynamic Random Access Memory) sein kann. Dem Fachmann ist ein SDRAM, das synchron zu einem Taktsignal eines Masters betrieben wird, bekannt. Ein SDRAM ist eine befehlbasierte Speichereinrichtung, wobei ein Master durch Setzen von logischen Zuständen einer Anzahl von Steuersignalen einen Befehl anzeigt.

Das SDRAM 108 ist ein Multi-Port-SDRAM, da das SDRAM 108 eine Anzahl von Ports, umfassend einen ersten Port 112, einen zweiten Port 114 und einen dritten Port 116, aufweist. Jeder der ersten, zweiten und dritten Ports 112, 114 und 116 hat eine zugehörige, entsprechend eingerichtete Signal-Schnittstelle SIF1, SIF2 oder SIF3 zur Kommunikation mit einer zugehörigen Steuereinheit (oder Kontroller) 122, 124 oder 126 des jeweiligen Masters 102, 104 oder 106. Jede der Signal-Schnittstellen SIF1, SIF2 und SIF3 wird zur Übertragung von Steuersignalen und Daten zwischen den zugehörigen Mastern 102, 104 oder 106 und dem SDRAM 108 eingesetzt.

Im Stand der Technik koordiniert ein Arbitrierer 118 den Zugriff auf das SDRAM 108 zwischen oder unter der Anzahl von Mastern 102, 104 und 106. Jede Steuereinheit 122, 124 und 126 sendet ein zugehöriges Zugriffsanforderungssignal REQ1, REQ2 oder REQ3 an den Arbitrierer, wenn ein Zugriff zum Lesen von dem oder zum Schreiben in das SDRAM 108 gewünscht wird. Der Arbitrierer sendet dann jeweils ein zugehöriges Bestätigungssignal ACK1, ACK2 oder ACK3 an jede Steuereinheit 122, 124 und 126.

Generell wird zu einem Zeitpunkt von dem Arbitrierer 118 nur einem der Master 102, 104 oder 106 der Zugriff zum Lesen von dem oder zum Schreiben in das SDRAM 108 gewährt. Beispielsweise wird eines der Bestätigungssignale ACK1, ACK2 oder ACK3 aktiviert, um anzuzeigen, dass dem zugehörigen Master 102, 104 oder 106 der Zugriff gewährt wird. Ein derartiges, aus dem Stand der Technik bekanntes Arbitrierungsschema gemäß der 1 benötigt nachteiligerweise jeweils zwei zusätzliche (Input/Output, Eingabe/Ausgabe)IO-Anschlüsse für das Zugriffsanforderungssignal und die Bestätigungssignale an jedem Master 102, 104 und 106 sowie an jedem Port 112, 114 und 116 des SDRAM 108.

2 zeigt ein elektronisches System 150 mit einer Anzahl von Mastern 152, 154 und 156 mit zugehörigen Steuereinheiten 162, 164 und 166, die sich einen Zugriff auf ein SDRAM 170 teilen, das Mehrfach(Multi)-Ports 172, 174 und 176 aufweist. Jeder Master 152, 154 und 156 hat eine zugehörige Schnittstelle SIF1, SIF2 oder SIF3 zum Austausch von Steuersignalen und Daten mit einem zugehörigen Port 172, 174 bzw. 176 des SDRAM 170.

Das elektronische System 150 der 2 benötigt keine zwei zusätzlichen Anschlüsse oder Pins für die Zugriffsanforderungssignale und die Bestätigungssignale. Vielmehr wird der Zugriff auf das SDRAM 170 durch Software in jedem der Master 152, 154 und 156 arbitriert. Die Master 152, 154 und 156 kommunizieren eine Arbitrierung oder eine Zugriffssteuerung untereinander mittels UART-Schnittstellen (Universal Asynchronous Receiver/Transmitter) 182 und 184.

Das Arbitrierungsschema der 2 nach dem Stand der Technik benötigt nachteiligerweise die zusätzlichen UART-Schnittstellen 182 und 184 zwischen den Mastern 152, 154 und 156. Außerdem bedeutet der Austausch von Zugriffsanforderungs- und Bestätigungs-Informationen zwischen den Mastern 152, 154 und 156 unerwünschte Zeitverzögerungen für die Signalverarbeitung in dem elektronischen System 150.

Weiterhin nimmt die Komplexität der Software mit einer steigenden Anzahl von Mastern zu.

Der Erfindung liegt die technische Aufgabe zugrunde, einen Master, der einen Zugriff auf eine geteilte Speichereinrichtung arbitriert, ein System zur Arbitrierung von Zugriffen auf eine Speichereinrichtung unter einer Anzahl von Mastern und ein Verfahren zum Arbitrieren von Zugriffen auf eine Speichereinrichtung unter einer Anzahl von Mastern bereitzustellen, die einen effizienten Arbitrierungsmechanismus aufweisen und die keine zusätzlichen I/O-Anschlüsse für die Arbitrierung von Zugriffen auf eine geteilte Speichereinrichtung unter einer Anzahl von Mastern erfordern.

Die Erfindung löst dieses Problem durch Bereitstellen eines Masters, der Zugriffe auf eine geteilte Speichereinrichtung arbitriert oder steuert, mit den Merkmalen des Anspruchs 1, eines Systems zum Arbitrieren von Zugriffen oder zur Zugriffssteuerung auf eine Speichereinrichtung unter einer Anzahl von Mastern mit den Merkmalen des Anspruchs 8 und eines Verfahrens zum Arbitrieren oder zum Steuern von Zugriffen auf eine Speichereinrichtung unter einer Anzahl von Mastern mit den Merkmalen des Anspruchs 18.

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

In einem allgemeinen Aspekt der vorliegenden Erfindung werden Zugriffsanforderungs- und Bestätigungssignale über existierende Anschlüsse oder Pins während der Übertragung eines unabdingbaren (indispensable) Befehls in einem elektronischen System versendet, das eine Anzahl von Mastern aufweist, die sich den Zugriff auf eine Speichereinrichtung teilen.

Zur Arbitrierung von Zugriffen auf eine Speichereinrichtung unter oder zwischen einer Anzahl von Mastern gemäß einem allgemeinen Aspekt der vorliegenden Erfindung erzeugt ein Master eine Serie eines unabdingbaren Befehls, der an einen Arbitrierer gesendet wird. Der Master erzeugt auch ein Zugriffsanforderungssignal, das an den Arbitrierer zusammen mit einem unabdingbaren Befehl aus der Serie gesendet wird.

Die vorliegende Erfindung kann mit einem Arbitrierer realisiert sein, der als Teil der Speichereinrichtung ausgeführt ist, die mehrere Ports aufweist, wobei jeder Port mit einem zugehörigen Master gekoppelt ist. Alternativ kann die vorliegende Erfindung auch mit einem Arbitrierer realisiert sein, der getrennt von der Speichereinrichtung ausgeführt ist, die einen einzelnen Port aufweist. In diesem Fall hat der Arbitrierer mehrere Ports, wobei jeder Port mit einem zugehörigen Master verbunden ist.

In dieser Weise können vorhandene Anschlüsse der Master und der geteilten Speichereinrichtung zur Arbitrierung benutzt werden. Zusätzlich können die Zugriffsanforderungs- und Bestätigungssignale gleichzeitig mit der Übertragung des unabdingbaren Befehls gesendet werden, um eine einfache und effiziente Zugriffs-Arbitrierung zu ermöglichen.

Nachstehend beschriebene vorteilhafte Ausführungsformen der Erfindung, sowie die herkömmlichen Ausführungsformen, die oben beschrieben wurden, um das Verständnis der Erfindung zu erleichtern, sind in den Zeichnungen dargestellt. Hierbei zeigt

1 ein herkömmliches elektronisches System mit einer Anzahl von Mastern, die sich einen Zugriff auf eine Speichereinrichtung durch Arbitrierung über zusätzliche Anschlüsse teilen,

2 ein herkömmliches elektronisches System mit einer Anzahl von Mastern, die sich den Zugriff auf eine Speichereinrichtung mit Software-Arbitrierung zwischen den Mastern teilen,

3 ein elektronisches System mit einem Arbitrierungsschema mittels eines unabdingbaren Befehls gemäß einer Ausführungsform der vorliegenden Erfindung;

4 ein Blockdiagramm mit Komponenten eines exemplarischen Masters von 3 gemäß einer Ausführungsform der vorliegenden Erfindung;

5 ein Zeitverlaufsdiagramm von Signalen während des Betriebs des Masters von 4 gemäß einer Ausführungsform der vorliegenden Erfindung;

6 ein Zeitverlaufsdiagramm von Signalen von einer Anzahl von Mastern während einer Arbitrierung für den Zugriff auf eine geteilte Speichereinrichtung von 3 gemäß einer Ausführungsform der vorliegenden Erfindung;

7 ein Blockdiagramm von Komponenten einer geteilten Speichereinrichtung von 3, die einen Arbitrierer und eine Schnittstellen-Auswahleinheit umfassen, gemäß einer Ausführungsform der vorliegenden Erfindung; und

8 ein Blockdiagramm eines elektronischen Systems mit einem Arbitrierer und einer Schnittstellen-Auswahleinheit, die gemäß einer weiteren Ausführungsform der vorliegenden Erfindung getrennt von einem Chip (off-Chip) einer geteilten Speichereinrichtung verwirklicht sind.

Die Figuren, auf die hier Bezug genommen wird, sind für eine deutliche Darstellung gezeichnet und sind nicht notwendigerweise maßstäblich. Elemente, die in den 1, 2, 3, 4, 5, 6, 7 und 8 identische Bezugszeichen aufweisen, beziehen sich auf Elemente, die die gleiche Struktur und/oder Funktion aufweisen.

3 zeigt ein Blockdiagramm eines elektronischen Systems 200 mit einer Anzahl von Mastern, die sich den Zugriff auf eine Speichereinrichtung mit einem Arbitrierungsschema gemäß einer Ausführungsform der vorliegenden Erfindung teilen. Gemäß der 3 umfasst eine Anzahl von Mastern einen ersten Master 202, einen zweiten Master 204 und einen dritten Master 206, die sich einen Zugriff auf eine Multi-Port-Speichereinrichtung 208 teilen, die ein Multi-Port-SDRAM (synchroner dynamischer Speicher mit wahlfreiem Zugriff) sein kann.

Ein Fachmann für Speichereinrichtungen ist mit einem SDRAM vertraut, das synchron mit einem Taktsignal eines Masters betrieben wird. Zusätzlich ist ein SDRAM generell eine befehlbasierte Speichereinrichtung mit einem Master, der einen Befehl durch Setzen von logischen Zuständen einer Anzahl von Steuersignalen anzeigt.

Das SDRAM 208 wird als ein Multi-Port-SDRAM angesehen, da das SDRAM 208 eine Anzahl von Ports aufweist, umfassend einen ersten Port 212, einen zweiten Port 214 und einen dritten Port 216. Jedem der ersten, zweiten und dritten Ports 212, 214 und 216 ist eine entsprechend eingerichtete Signal-Schnittstelle SIF1, SIF2 bzw. SIF3 zur Kommunikation mit einer zugehörigen Steuereinheit 222, 224 bzw. 226 der zugehörigen Master 202, 204 bzw. 206 zugeordnet. Jede der Signal-Schnittstellen SIF1, SIF2 und SIF3 wird zur Übertragung von Steuersignalen und Daten zwischen dem zugehörigen Master 202, 204 bzw. 206 und dem SDRAM 208 eingesetzt.

Jeder Master 202, 204 und 206 umfasst einen zugehörigen Datenprozessor 232, 234 oder 236, der mit der zugehörigen Steuereinheit 222, 224 bzw. 226 kommuniziert, wenn ein Zugriff auf das geteilte SDRAM 208 angefordert wird. Gemäß einem Aspekt der vorliegenden Erfindung wird eine derartige Zugriffsanforderung über die entsprechend eingerichteten Schnittstellen SIF1, SIF2 und SIF3 mit einem periodisch erzeugten, unabdingbaren Befehl wie einem Selbstauffrischungsbefehl für das SDRAM 208 verschickt.

Demnach sendet die erste Steuereinheit 222 des ersten Masters 202 ein beliebiges Zugriffsanforderungssignal REQ1 zusammen mit einem Selbstauffrischungsbefehl AREF1 über die erste Signalschnittstelle SIF1. In gleicher Weise schickt die zweite Steuereinheit 224 des zweiten Masters 204 ein beliebiges Zugriffsanforderungssignal REQ2 mit einem Selbstauffrischungsbefehl AREF2 über die zweite Signalschnittstelle SIF2. Zusätzlich sendet die dritte Steuereinheit 226 des dritten Masters 206 ein beliebiges Zugriffsanforderungssignal REQ3 mit einem Selbstauffrischungsbefehl AREF3 über die dritte Signalschnittstelle SIF3.

Ein Arbitrierer 240 im SDRAM 208 empfängt derartige Zugriffsanforderungssignale REQ1, REQ2 und REQ3 und schickt zugehörige Bestätigungssignale ACK1, ACK2 und ACK3 zurück, um eine Zustimmung oder eine Ablehnung eines Zugriffs auf das SDRAM 208 anzuzeigen. In einer Ausführungsform der vorliegenden Erfindung gewährt der Arbitrierer 240 zu einem Zeitpunkt nur einem der Master 202, 204 oder 206 die Zustimmung für den Zugriff.

Jeder Datenprozessor 232, 234 und 236 ist mit einer zugehörigen Master-Speichereinrichtung (in 3 nicht dargestellt) verbunden, die Befehls-Sequenzen speichert, deren Ausführung durch den Datenprozessor diesen veranlasst, die darin beschriebenen operativen Schritte auszuführen. 4 zeigt ein Blockdiagramm eines exemplarischen Masters, beispielsweise des ersten Masters 202, der eine derartige Master-Speichereinrichtung 242, den Datenprozessor 232 und die Steuereinheit 222 aufweist. Die anderen Master 204 und 206 sind jeweils in gleicher Weise, wie in 4 dargestellt, aufgebaut.

Bezugnehmend auf 4 aktiviert der Datenprozessor 232 ein Zugriffsanforderungssignal ACC_REQ für die Steuereinheit 222, wenn der Master 202 einen Zugriff auf den geteilten SDRAM 208 wünscht. Die Steuereinheit 222 umfasst eine Signalverarbeitungseinheit 244, die ein REQ-Signal aktiviert, wenn das aktivierte ACC_REQ-Signal empfangen wurde. Eine Befehlsverarbeitungseinheit 246 innerhalb der Steuereinheit 222 empfängt das aktivierte REQ-Signal von der Signalverarbeitungseinheit 244.

Die Befehlsverarbeitungseinheit 246 steuert eine Schnittstelleneinheit 248 innerhalb der Steuereinheit 222. Die Befehlsverarbeitungseinheit empfängt auch einen Befehl, der mit beliebigen Daten des Datenprozessors 232 verknüpft sein kann, und erzeugt in Abhängigkeit davon ein Steuersignal CTRL, ein Adresssignal ADD und ein Datensignal DOUT, die an die Schnittstelleneinheit 248 übertragen werden. Die Befehlsverarbeitungseinheit 246 passt auch die CTRL-, ADD- und/oder DOUT-Signale in Abhängigkeit von dem REQ-Signal der Signalverarbeitungseinheit 244 an.

Die Schnittstelleneinheit 248 erzeugt ein Master-Taktsignal CLK und eine Anzahl von Steuersignalen CKE (Taktfreigabesignal – Clock Enable Signal), /CS (Chipauswahlsignal – Chip Select Signal), /WE (Schreibfreigabesignal – Write Enable Signal), /RAS (Zeilenadressenabtastsignal – Row Address Strobe Signal), /CAS (Spaltenadressenabtastsignal – Column Address Strobe Signal) und /DQM (Ausgabefreigabesignal – Output Enable Signal), in Abhängigkeit von dem CTRL-Signal der Befehlsverarbeitungseinheit 246. Das CLK-Signal wird an einem Anschluss oder Pin P1 des Masters 202 erzeugt, die CKE, /CS, /WE, /RAS, /CAS und /DQM-Steuersignale werden auf den jeweils zugehörigen Steueranschlüssen P2, P3, P4, P5, P6 bzw. P7 des Masters 202 erzeugt.

Derartige Steuersignale CKE, /CS, /WE, /RAS, /CAS und /DQM werden allgemein verwendet und sind einem Fachmann für SDRAM-Design bekannt. Der logische Zustand derartiger Steuersignale wird durch einen Master gesetzt, um einem SDRAM, das synchron zu einem CLK-Signal eines Masters arbeitet, einen bestimmten Befehl anzuzeigen.

Zusätzlich erzeugt die Schnittstelleneinheit 248 Adresssignale BA (Bank Address) und A (Zeilen- und Spaltenaddresse – Row and Column Address) in Abhängigkeit von einem ADD-Signal der Befehlsverarbeitungseinheit 246. Die BA- und A-Signale werden auf den jeweils zugehörigen Adressanschlüssen P8 und P9 des Masters 202 erzeugt. Der Master 202 umfasst auch N Datenanschlüsse P10, P11, ..., bis P12 für zugehörige N Datensignale DQ1, DQ2, ..., bis DQN, die durch die Schnittstelleneinheit 248 in Abhängigkeit von einem DOUT-Signal der Befehlsverarbeitungseinheit 246 erzeugt werden. Die N Datenanschlüsse P10, P11, ..., bis P12 sind jeweils bidirektionale (Eingangs/Ausgangs – Input/Output)IO-Anschlüsse, die ein Signal an das SDRAM 208 senden oder ein Signal von dem SDRAM empfangen können.

Der Betrieb des exemplarischen Masters 202 zum Anfordern eines Zugriffs auf das SDRAM 208 wird nun mit Bezug auf das Zeitverlaufsdiagramm von 5 beschrieben. Die anderen Master 204 und 206 arbeiten entsprechend, wenn sie einen Zugriff auf das SDRAM 208 anfordern. Gemäß den 4 und 5 arbeitet der Master 202 entsprechend dem Taktsignal CLK und erzeugt periodisch eine Serie eines Selbstauffrischungsbefehls, der mit dem CLK-Signal synchronisiert ist.

Der Datenprozessor 232 des Masters 202 aktiviert das ACC_REQ-Signal, um der Signalverarbeitungseinheit 244 anzuzeigen, dass der Master 202 einen Zugriff auf das SDRAM 208 wünscht. Die Signalverarbeitungseinheit 244 aktiviert dann das REQ-Signal, um der Befehlsverarbeitungseinheit 246 anzuzeigen, dass der Master 202 einen Zugriff auf das SDRAM 208 wünscht.

Die Befehlsverarbeitungseinheit 246 steuert die Schnittstelleneinheit 248, um periodisch die Serie des Selbstauffrischungsbefehls zu erzeugen, indem die entsprechenden logischen Zustände der Steuersignale CKE, /CS, /WE, /RAS und/CAS gesetzt werden. Beispielsweise wird dem SDRAM 208 der Selbstauffrischungsbefehl angezeigt, wenn das CKE-Signal auf den logischen High-Pegel („1"), das /CS-Signal auf den logischen Low-Pegel („0"), das /WE-Signal auf den logischen High-Pegel, das /RAS-Signal auf den logischen Low-Pegel und das /CAS-Signal auf den logischen Low-Pegel gesetzt ist.

Mit dem Empfang eines derartigen Selbstauffrischungsbefehls von einem Master, dem der Zugriff gewährt wurde, kann das SDRAM 208 einen Selbstauffrischungsvorgang durchführen (wie durch die mit Pfeilen dargestellten Zeitpunkte in 5 gezeigt). Der Selbstauffrischungsvorgang ist dem Fachmann für SDRAMs hinlänglich bekannt.

Gemäß einem Aspekt der vorliegenden Erfindung steuert die Befehlsverarbeitungseinheit 246 die Schnittstelleneinheit 248, um ein Zugriffsanforderungssignal REQ1 während der Erzeugung eines derartigen Selbstauffrischungsbefehls zu aktivieren, wenn das REQ-Signal, das von der Signalverarbeitungseinheit 244 aktiviert wurde, empfangen wird. Da während der Erzeugung des Selbstauffrischungsbefehls keine Daten auf den Datenanschlüssen P10, P11, ... bis P12 erzeugt werden, sendet die Schnittstelleneinheit das Zugriffsanforderungssignal REQ1 über den DQ1-Datenanschluss P10 an das SDRAM 208.

Wenn das REQ-Signal nicht aktiviert ist, was anzeigt, dass der Master 202 keinen Zugriff auf das SDRAM wünscht, ist das Zugriffsanforderungssignal REQ1 während der Erzeugung des Selbstauffrischungsbefehls deaktiviert. 5 zeigt ein Beispiel für eine periodische Erzeugung einer Serie von drei Selbstauffrischungsbefehlen 252, 254 und 256. Die Schnittstelleneinheit 248 des Masters 202 erzeugt kontinuierlich eine derartige Folge von periodischen Selbstauffrischungsbefehlen, die mit dem Taktsignal CLK synchronisiert sind. Die drei Selbstauffrischungsbefehle 252, 254 und 256 sind in 5 dargestellt.

In der 5 wird das REQ1-Signal während des ersten Selbstauffrischungsbefehls 252 und während des dritten Selbstauffrischungsbefehls 256 aktiviert, ist jedoch während des zweiten Selbstauffrischungsbefehls deaktiviert. Demnach ist das REQ1-Signal ebenfalls mit dem CLK-Signal synchronisiert. Der Arbitrierer 240 des SDRAMs 208 empfängt das Zugriffsanforderungssignal REQ1 und entscheidet, ob ein Zugriff auf das SDRAM 208 gewährt oder abgelehnt wird.

Der Arbitrierer 240 erzeugt ein Bestätigungssignal ACK1, das über einen anderen DQ2-Datenanschluss P11 an die Schnittstelleneinheit 248 des Masters 202 zurückgeschickt wird. Das ACK1-Signal wird aktiviert, um Zustimmung anzuzeigen, und wird deaktiviert, um Ablehnung anzuzeigen. Der Arbitrierer 240 empfängt auch das CLK-Signal und erzeugt das ACK1-Signal synchron zu dem CLK-Signal.

In dem Beispiel von 5 wird das ACK1-Signal aktiviert, kurz nachdem das REQ1-Signal für den ersten Selbstauffrischungsbefehl 252 aktiviert wurde, um die Zustimmung für einen Zugriff anzuzeigen. Andererseits wird das ACK1-Signal deaktiviert, kurz nachdem das REQ1-Signal für den dritten Selbstauffrischungsbefehl 256 aktiviert wurde, um die Ablehnung für den Zugriff anzuzeigen. Der logische Zustand des ACK1-Signals ist nach dem zweiten Selbstauffrischungsbefehl 254 in einem beliebigen oder „don't care"-Zustand, da das REQ1-Signal keinen Bedarf für einen Zugriff angezeigt hat. Der DQ1-Datenanschluss P10 und der DQ2-Datenanschluss P11 weisen zwischen dem Selbstauffrischungsbefehlen hochohmige Zustände auf (wie mit „High-Z" in 5 dargestellt).

Gemäß der 3, 4 und 5 arbeiten die anderen Master 204 und 206 in entsprechender Weise durch Erzeugung einer zugehörigen Serie von Selbstauffrischungsbefehlen. Zusätzlich erzeugen die anderen Master 204 und 206 in entsprechender Weise zugehörige Zugriffsanforderungssignale REQ2 bzw. REQ3. Der Arbitrierer 240 antwortet in entsprechender Weise durch Erzeugen zugehöriger Bestätigungssignale ACK2 und ACK3 für die Master 204 bzw. 206.

Der Arbitrierer 240 empfängt alle Zugriffsanforderungssignale REQ1, REQ2 und REQ3 und wählt einen der Master 202, 204 oder 206 für einen Zugriff auf das SDRAM 208 zu einem bestimmten Zeitpunkt aus. Eine derartige Auswahl wird den Mastern 202, 204 und 206 von dem Arbitrierer 240 über die zugehörigen Bestätigungssignale ACK1, ACK2 und ACK3 angezeigt.

6 ist ein Zeitverlaufsdiagramm, das ein Beispiel für eine Arbitrierung eines Zugriffs zwischen dem ersten Master 202 und dem zweiten Master 204 darstellt. Gemäß der 6 wird während eines ersten Selbstauffrischungsbefehls Ref2-1 dem zweiten Master 204 der Zugriff gewährt. Demnach empfängt der erste Master 202 eine Zugriffsverweigerung, wenn er während eines nachfolgenden Selbstauffrischungsbefehls Ref1-1 einen Zugriff anfordert.

Der erste Master 202 erhält jedoch die Zugriffsanforderung während seines zweiten Selbstauffrischungsbefehls Ref1-2 aufrecht, wobei ihm dann der Zugriff gewährt wird, wenn der zweite Master 204 nicht länger Zugriff hat. Der zweite Master 204 fordert während seines zweiten und dritten Selbstauffrischungsbefehls Ref2-2 und Ref2-3 einen Zugriff an, empfängt aber eine Ablehnung, da der erste Master 202 bereits Zugriff hat. Der zweite Master 204 erhält die Anforderung für Zugriff während seines vierten Selbstauffrischungsbefehls Ref2-4 aufrecht und erhält Zugriff, wenn der erste Master 202 nicht länger Zugriff hat.

Der erste Master 202 macht während seines dritten Selbstauffrischungsbefehls Ref1-3 keine Zugriffsanfrage. Der erste Master 202 macht während seines vierten Selbstauffrischungsbefehls Ref1-4 eine Zugriffsanfrage, erhält jedoch eine Ablehnung, da der zweite Master 204 bereits Zugriff hat.

Der Arbitrierer 240 entscheidet gemäß einer Prioritäts-Strategie, welcher der Master 202, 204 oder 206 zu einem Zeitpunkt den Zugriff hat. 6 zeigt eine rotierende Prioritäts-Strategie als eine exemplarische Ausführungsform. Die vorliegende Erfindung kann auch mit anderen Typen von Prioritäts-Strategien, wie mit einer festen Prioritäts-Strategie oder mit einer Round-Robin-Prioritäts-Strategie, verwirklicht werden.

7 zeigt ein Blockdiagramm des SDRAM 208 gemäß einer Ausführungsform der vorliegenden Erfindung. Der Arbitrierer 240 umfasst einen ersten Selbstauffrischungsbefehls-Detektor 262, der mit einem ersten Zwischenspeicher 272 verbunden ist, einen zweiten Selbstauffrischungsbefehls-Detektor 264, der mit einem zweiten Zwischenspeicher 274 verbunden ist, und einen dritten Selbstauffrischungsbefehls-Detektor 266, der mit einem dritten Zwischenspeicher 276 verbunden ist. Ausgänge der Zwischenspeicher 272, 274 und 276 sind mit einer Prioritäts-Entscheidungseinheit 278 verbunden.

Der erste Selbstauffrischungsbefehls-Detektor 262 empfängt das Taktsignal CLK1 und die Steuersignale CKE1, /CS1, /WE1, /RAS1 und /CAS1 des ersten Masters 202. Der erste Selbstauffrischungsbefehls-Detektor 262 aktiviert ein erstes Befehls-Detektionssignal DET1, wenn zwischen den Steuersignalen ein Selbstauffrischungsbefehl detektiert wird. Der erste Zwischenspeicher 272 speichert das erste Zugriffsanforderungssignal REQ1 des ersten Masters 202 nach Aktivierung des ersten Befehls-Detektionssignals DET1 zwischen.

Entsprechend empfängt der zweite Selbstauffrischungsbefehls-Detektor 264 das Taktsignal CLK2 und die Steuersignale CKE2, /CS2, /WE2, /RAS2 und /CAS2 des zweiten Masters 204. Der zweite Selbstauffrischungsbefehls-Detektor 264 aktiviert ein zweites Befehls-Detektionssignal DET2, wenn zwischen den Steuersignalen ein Selbstauffrischungsbefehl detektiert wird. Der zweite Zwischenspeicher 274 speichert das zweite Zugriffsanforderungssignal REQ2 des zweiten Masters 204 nach Aktivierung des zweiten Befehls-Detektionssignals DET2 zwischen.

Ebenso empfängt der dritte Selbstauffrischungsbefehls-Detektor 266 das Taktsignal CLK3 und die Steuersignale CKE3, /CS3, /WE3, /RAS3 und /CAS3 des dritten Masters 206. Der dritte Selbstauffrischungsbefehls-Detektor 266 aktiviert ein drittes Befehls-Detektionssignal DET3, wenn zwischen diesen Steuersignalen ein Selbstauffrischungsbefehl detektiert wurde. Der dritte Zwischenspeicher 276 speichert das dritte Zugriffsanforderungssignal REQ3 des dritten Masters 206 nach Aktivierung des dritten Befehls-Detektionssignals DET3 zwischen.

Die derart zwischengespeicherten Zugriffsanforderungssignale REQ1, REQ2 und REQ3 werden an die Prioritäts-Entscheidungseinheit 278 übertragen. Die Prioritäts-Entscheidungseinheit 278 entscheidet gemäß einer Prioritäts-Strategie, welcher der Master 202, 204 oder 206 mit den Zugriffsanforderungssignalen REQ1, REQ2 und REQ3 den Zugriff erhält. Die Prioritäts-Entscheidungseinheit 278 erzeugt die Bestätigungssignale ACK1, ACK2 und ACK3, die an die zugehörigen Speichereinrichtungen 202, 204 und 206 übertragen werden, abhängig davon, welcher Speichereinrichtung der Zugriff gewährt wurde.

Zusätzlich erzeugt die Prioritäts-Entscheidungseinheit 278 Steuersignale S1, S2 und S3 zur Steuerung der Schnittstellen-Auswahleinheit 280. Die Schnittstellen-Auswahleinheit 280 ist ein Multiplexer, der eine der Schnittstellen SIF1 der ersten Speichereinrichtung 202, SIF2 der zweiten Speichereinrichtung 204 oder SIF3 der dritten Speichereinrichtung auswählt, um diese mit einem Speicherkern 282 des SDRAMs 208 zu verbinden.

Wenn dem ersten Master 202 der Zugriff gewährt wird, zeigen die Steuersignale S1, S2 und S3 an, dass die erste Schnittstelle SIF1 von dem Schnittstellen-Wähler 280 ausgewählt wird, um mit dem Speicherkern 282 verbunden zu werden. Wenn dem zweiten Master 204 der Zugriff gewährt wird, zeigen die Steuersignale S1, S2 und S3 an, dass die zweite Schnittstelle SIF2 durch den Schnittstellen-Wähler 280 ausgewählt wird, um mit dem Speicherkern 282 verbunden zu werden. Wenn dem dritten Master 206 der Zugriff gewährt wurde, geben die Steuersignale S1, S2 und S3 an, dass die dritte Schnittstelle SIF3 ausgewählt wird, um mit dem Speicherkern 282 verbunden zu werden. Folglich arbeitet der SDRAM 208 gemäß einem beliebigen Befehl, der von einem der Master 202, 204 oder 206 erzeugt wird, dem ein Zugriff auf den SDRAM gewährt wurde.

8 zeigt ein elektronisches System 300 mit der Anzahl von Mastern 202, 204 und 206, die eine Arbitrierung eines Zugriffs auf eine Einzel-Port-SDRAM-Einrichtung 302 benötigen. Das elektronische System 300 umfasst einen Arbitrierer 304, der eine Anzahl von Ports aufweist, umfassend einen ersten Port 312, einen zweiten Port 314 und einen dritten Port 316. Die ersten, zweiten und dritten Ports 312, 314 und 316 umfassen jeweils entsprechend eingerichtete, zugehörige Schnittstellen SIF1, SIF2 und SIF3 zu den entsprechenden ersten, zweiten und dritten Mastern 202, 204 und 206.

Das elektronische System 300 umfasst auch eine Schnittstellen-Auswahleinheit 320 zur Verbindung einer der Schnittstellen SIF1, SIF2 und SIF3 mit dem geteilten SDRAM 302 in Abhängigkeit von den Steuersignalen S1, S2 und S3 des Arbitrierers 304. Die Komponenten der 8 operieren entsprechend wie die gleichnamigen, vorstehend beschriebenen Komponenten der 3 und 7. Jedoch sind der Arbitrierer 304 und die Schnittstellen-Auswahleinheit 320 von 8 extern von einem Chip des SDRAMs 302 verwirklicht, das ein bekanntes Ein-Port-SDRAM sein kann. Demnach sind die Mehrfach-Ports 312, 314 und 316 als Bestandteile des Arbitrierers 304 und nicht als Bestandteile des SDRAMs 302 von 8 verwirklicht.

Bei Ausführungsformen der vorliegenden Erfindung können in dieser Weise die Anschlüsse der eingerichteten Schnittstellen SIF1, SIF2 und SIF3 zur Übertragung der Zugriffsanforderungs- und Bestätigungssignale verwendet werden. Demnach werden keine zusätzlichen Anschlüsse für die Arbitrierung eines Zugriffs auf das geteilte SDRAM benötigt. Zudem wird keine zusätzliche Zeitverzögerung durch die Arbitrierung des Zugriffs hervorgerufen, da diese Signale zusammen mit der periodischen Folge von Selbstauffrischungsbefehlen übertragen werden.

Die vorliegende Erfindung wurde für geteilte SDRAMs beschrieben. Sie kann auch für andere Typen von geteilten Speichereinrichtungen angewendet werden.

Weiterhin wurde die vorliegende Erfindung dahingehend beschrieben, dass die Zugriffsanforderungs- und Bestätigungssignale zusammen mit der Übertragung der periodischen Serie des Selbstauffrischungsbefehls übertragen werden. Die vorliegende Erfindung kann auch mit beliebigen anderen unabdingbaren Befehlen, die in Serie von jedem der Master erzeugt werden, verwirklicht sein. Die vorliegende Erfindung kann mit unabdingbaren Befehlen verwirklicht sein, die periodisch oder nicht-periodisch erzeugt werden.

Zusätzlich kann die vorliegende Erfindung auch dadurch verwirklicht werden, dass die Zugriffsanforderungs- und Bestätigungssignale über andere Anschlüsse als die exemplarischen DQ1- und DQ2-Datenanschlüsse P10 und P11 übertragen werden, die nicht für die Übertragung des unabdingbaren Selbstauffrischungsbefehls verwendet werden. Beispielsweise werden gemäß der 4 die BA- und A-Adressanschlüsse P8 und P9 nicht für die Übertragung von unabdingbaren Befehlen verwendet, wodurch diese Anschlüsse für die Übertragung der Zugriffsanforderungs- und Bestätigungssignale verwendet werden können, wenn sie als bidirektionale Anschlüsse ausgeführt sind.


Anspruch[de]
Master (202) zum Arbitrieren von Zugriffen auf eine geteilte Speichereinrichtung (208), umfassend:

– einen Datenprozessor (232); und

– eine Master-Speichereinrichtung (242), auf der Anweisungs-Sequenzen gespeichert sind, deren Ausführung durch den Datenprozessor (232) den Datenprozessor (232) veranlasst, die folgenden Schritte auszuführen:

– Steuern der Erzeugung einer Serie eines unabdingbaren Befehls (AREF1), der an einen Arbitrierer (240) gesendet wird; und

– Steuern der Erzeugung eines Zugriffsanforderungssignals (REQ1), das an den Arbitrierer (240) zusammen mit einem der unabdingbaren Befehle (AREF1) aus der Serie gesendet wird.
Master nach Anspruch 1, dadurch gekennzeichnet, dass der unabdingbare Befehl ein Selbstauffrischungsbefehl (AREF1) ist, der periodisch in Serie erzeugt wird. Master nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Master (202) ein Bestätigungssignal (ACK1) empfängt, das von dem Arbitrierer (240) zur Anzeige einer Zustimmung oder einer Ablehnung eines Zugriffs erzeugt wird. Master nach Anspruch 3, dadurch gekennzeichnet, dass das Zugriffsanforderungssignal, der eine der unabdingbaren Befehle (AREF1) aus der Serie und das Bestätigungssignal (ACK1) mit einem Master-Taktsignal (CLK) synchronisiert sind. Master nach Anspruch 3 oder 4, gekennzeichnet durch:

– eine Anzahl von Steueranschlüssen (P2, P3, P4, P5, P6, P7) zum Übertragen einer Anzahl von Steuersignalen (CKE, /CS, /WE, /RAS, /CAS, DQM), die zum Anzeigen des unabdingbaren Befehls (AREF1) gesetzt sind;

– einen Daten- oder Adressanschluss (P10) zum Übertragen des Zugriffsanforderungssignals (REQ1) und

– einen weiteren Daten- oder Adressanschluss (P11) zum Empfangen des Bestätigungssignals (ACK1).
Master nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die geteilte Speichereinrichtung ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Master nach einem der Ansprüche 1 bis 6, gekennzeichnet durch eine Schnittstelle (248), die mit einem Speicherkern (282) der geteilten Speichereinrichtung (208) verbunden ist, wenn der Master (202) die Zugriffsfreigabe erhalten hat. System zum Arbitrieren eines Zugriffs auf eine Speichereinrichtung (208) unter einer Anzahl von Mastern (202, 204, 206), umfassend:

– einen Arbitrierer (240); und

– einen Master (202), der regelmäßig eine Serie eines unabdingbaren Befehls (AREF1) erzeugt, der an den Arbitrierer (240) gesendet wird, wobei der Master (202) ein Zugriffsanforderungssignal (REQ1) erzeugt, das an den Arbitrierer (240) zusammen mit einem der unabdingbaren Befehle (AREF1) aus der Serie gesendet wird.
System nach Anspruch 8, dadurch gekennzeichnet, dass der unabdingbare Befehl ein Selbstauffrischungsbefehl (AREF1) ist, der periodisch in Serie von dem Master (202) erzeugt wird. System nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass der Arbitrierer (240) ein Bestätigungssignal (ACK1) erzeugt, das an den Master (202) zur Anzeige einer Zustimmung oder einer Ablehnung eines Zugriffs gesendet wird, nachdem das Zugriffsanforderungssignal (REQ1) empfangen wurde. System nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass der Arbitrierer (240) umfasst:

– einen zugehörigen Befehlsdetektor (262), der mit dem Master (202) zum Erzeugen eines zugehörigen Befehls-Detektionssignals (DET1) gekoppelt ist;

– einen zugehörigen Zwischenspeicher (272) zum Zwischenspeichern des Zugriffsanforderungssignals (REQ1), wann immer das zugehörige Befehls-Detektionssignal (DET1) aktiviert ist; und

– eine Prioritäts-Entscheidungseinheit (278) zum Entscheiden, ob in Abhängigkeit von dem in dem zugehörigen Zwischenspeicher (272) zwischengespeicherten Zugriffsanforderungssignal (REQ1) und in Abhängigkeit von einer Prioritäts-Strategie ein Zugriff gewährt oder verweigert wird.
System nach Anspruch 10 oder 11, dadurch gekennzeichnet, dass der Master (202) ein Master-Taktsignal (CLK) erzeugt, wobei das Zugriffsanforderungssignal (REQ1), der eine der unabdingbaren Befehle (AREF1) aus der Serie und das Bestätigungssignal (ACK1) mit dem Master-Taktsignal (CLK) synchronisiert sind. System nach einem der Ansprüche 10 bis 12, gekennzeichnet durch:

– eine Anzahl von Steueranschlüssen (P2, P3, P4, P5, P6, P7) des Masters (202) zum Übertragen einer Anzahl von Steuersignalen (CKE, /CS, /WE, /RAS, /CAS, DQM), die den unabdingbaren Befehl (AREF1) umfassen;

– einen Daten- oder Adressanschluss (P10) des Masters (202) zum Übertragen des Zugriffsanforderungssignals (REQ1); und

– einen weiteren Daten- oder Adressanschluss (P11) des Masters (202) zum Empfangen des Bestätigungssignals (ACK1).
System nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass die Speichereinrichtung ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. System nach einem der Ansprüche 8 bis 14, gekennzeichnet durch:

– eine Auswahleinheit (280) zur Auswahl einer zugehörigen Schnittstelle (SIF1) des Masters (202), die mit einem Speicherkern (282) der Speichereinrichtung (208) zu koppeln ist, wenn der Master (202) die Freigabe zum Zugriff erhalten hat, wobei zugehörige Schnittstellen (SIF2, SIF3) beliebiger anderer Master (204, 206) von dem Speicherkern (282) entkoppelt sind.
System nach einem der Ansprüche 8 bis 15, dadurch gekennzeichnet, dass der Arbitrierer (240) als Teil der Speichereinrichtung (208) ausgeführt ist, die eine Anzahl von Ports (212, 214, 216) aufweist, wobei jeder Port (212, 214, 216) mit einem zugehörigen Master (202, 204, 206) verbunden ist. System nach einem der Ansprüche 8 bis 16, dadurch gekennzeichnet, dass der Arbitrierer (304) extern von einem Chip der Speichereinrichtung (302) ausgebildet ist, die einen einzelnen Port aufweist, wobei der Arbitrierer (304) eine Vielzahl von Ports (312, 314, 316) aufweist und jeder Port (312, 314, 316) mit einem zugehörigen Master (202, 204, 206) verbunden ist. Verfahren zum Arbitrieren eines Zugriffs auf eine Speichereinrichtung (208) unter einer Anzahl von Mastern (202, 204, 206), mit den Schritten:

– Erzeugen einer Serie eines unabdingbaren Befehls (AREF1), der an einen Arbitrierer (240) gesendet wird, durch einen Master (202); und

– Erzeugen eines Zugriffsanforderungssignals (REQ1), das an den Arbitrierer (240) zusammen mit einem der unabdingbaren Befehle (AREF1) aus der Serie gesendet wird, durch den Master (202).
Verfahren nach Anspruch 18, dadurch gekennzeichnet, dass der unabdingbare Befehl ein Selbstauffrischungsbefehl (AREF1) ist, der periodisch in Serie durch den Master (202) erzeugt wird. Verfahren nach Anspruch 18 oder 19, dadurch gekennzeichnet, dass ein Bestätigungssignal (ACK1) durch den Arbitrierer (240) erzeugt wird, das an den Master (202) zur Anzeige einer Zustimmung oder einer Ablehnung eines Zugriffs gesendet wird, nachdem das Zugriffsanforderungssignal (REQ1) empfangen worden ist. Verfahren nach einem der Ansprüche 18 bis 20, dadurch gekennzeichnet, dass der Arbitrierer (240) zu einem Zeitpunkt nur einem Master den Zugriff gemäß einer Prioritäts-Strategie gewährt. Verfahren nach Anspruch 20 oder 21, dadurch gekennzeichnet, dass das Zugriffsanforderungssignal (REQ1), der eine der unabdingbaren Befehle (AREF1) aus der Serie und das Bestätigungssignal (ACK1) mit einem Master-Taktsignal (CLK) synchronisiert werden. Verfahren nach einem der Ansprüche 18 bis 22, dadurch gekennzeichnet, dass der unabdingbare Befehl (AREF1) als eine Anzahl von Steuersignalen (CKE, /CS, /WE, /RAS, /CAS, DQM) von einer Anzahl von Anschlüssen (P2, P3, P4, P5, P6, P7) des Masters (202) gesendet wird, wobei das Zugriffsanforderungssignal (REQ1) von einem Daten- oder Adressanschluss (P10) des Masters (202) gesendet wird und/oder ein Bestätigungssignal (ACK1) an einem weiteren Daten- oder Adressanschluss (P11) des Masters (202) empfangen wird. Verfahren nach einem der Ansprüche 18 bis 23, dadurch gekennzeichnet, dass die Speichereinrichtung ein synchroner dynamischer Speicher mit wahlfreiem Zugriff (SDRAM) ist. Verfahren nach einem der Ansprüche 18 bis 24, dadurch gekennzeichnet, dass eine zugehörige Schnittstelle (SF1) des Masters (202) ausgewählt wird, die mit einem Speicherkern (282) der Speichereinrichtung (208) zu koppeln ist, wenn der Master (202) die Freigabe zum Zugriff erhalten hat, wobei zugehörige Schnittstellen (SF2, SF3) beliebiger anderer Master (204, 206) von dem Speicherkern (282) entkoppelt werden.






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