-
Die Erfindung betrifft ein Halbleiterspeicherelement und ein System für ein Halbleiterspeicherelement.
-
Im Allgemeinen wird ein Halbleiterspeicherelement, das mehrere Zugriff-Ports aufweist, als Multiport-Speicher bezeichnet, wobei ein spezielles Speicherelement mit zwei Zugriff-Ports als Doppelport- oder Dual-Port-Speicher bezeichnet wird. Ein typischer Doppelport-Speicher ist ein Bildverarbeitungs-Videospeicher, der einen Random Access Memory(RAM)-Port aufweist, auf den mittels einer zufälligen Sequenz zugegriffen werden kann, und der einen SAM-Port aufweist, auf den nur mittels einer seriellen Sequenz zugegriffen werden kann.
-
Elektronische Systeme sind heutzutage im Alltag allgegenwärtig. Beispielsweise haben Hersteller von Mobiltelefonen oder PDAs (Personal Digital Assistants) usw. Mehrprozessorsysteme hergestellt, die gemäß 1 mehrere Prozessoren aufweisen, um auf diese Weise eine Hochgeschwindigkeits-Funktionalität und einen reibungslosen Systembetrieb zu erreichen.
-
Bezugnehmend auf 1 ist ein erster Prozessor 10 mit einem zweiten Prozessor 26 über eine Verbindungsleitung L10 verbunden. Ein NOR-Speicher 14 und ein DRAM 40 sind mit dem ersten Prozessor 10 über Busse B1–B3 verbunden. Ein DRAM 18 und ein NAND-Speicher 20 sind mit dem zweiten Prozessor 26 über festgelegte Busse B4–B6 verbunden. Der erste Prozessor 10 kann eine Basisband-Verarbeitungsfunktion aufweisen oder kann eine Modulation und/oder Demodulation eines Kommunikationssignals durchführen. Der zweite Prozessor 26 kann eine Anwendungsfunktion zum Verarbeiten von Kommunikationsdaten oder zum Durchführen einer Spielaktivität aufweisen, die als ein Spiel usw. bekannt ist. Der NOR-Speicher 14 hat eine NOR-Struktur-Zellenfeldkonfiguration, und der NAND-Speicher 20 hat eine NAND-Struktur-Zellenfeldkonfiguration. Bei beiden handelt es sich um nichtflüchtige Speicher mit Transistor-Speicherzellen, die Floating Gates aufweisen, und beide sind dazu ausgebildet, Daten zu erhalten und zu speichern, die nicht verloren gehen sollten, wenn die Energieversorgung unterbrochen ist. Solche Daten beinhalten beispielsweise einen gerätespezifischen Code von tragbaren Geräten oder Konfigurationsdaten. Die DRAMs 40 und 18 fungieren als Hauptspeicher für Verarbeitungsdaten der Prozessoren 10 und 26.
-
Allerdings werden in einem Mehrfach-Prozessorsystem, wie in 1 gezeigt, DRAMs jeweils jedem Prozessor zugeordnet. Darüber hinaus wird eine Schnittstelle, wie ein UART (Universal Asynchronous Receiver/Transmitter), eine SPI (Serial Peripheral Interface) oder ein SRAM (Static Random Access Memory), mit einer relativ niedrigen Geschwindigkeit verwendet, um auf die DRAMs zuzugreifen. Auf diese Weise ist es schwierig, eine zufriedenstellende Datenübertragungsgeschwindigkeit zu erreichen, und die größenabhängige Komplexität ist erhöht. Des Weiteren steigen die Kosten auf Grund des Konfigurierens der Speicher. Darüber hinaus werden Daten, die von beiden Prozessoren 10 und 26 benötigt werden, über einen Datenübertragungskanal L12 übertragen, was zu einer Verzögerung der Datenübertragung führt.
-
Ein Schema zum Reduzieren einer angenommenen Größe, zum Erhöhen einer Übertragungsgeschwindigkeit und zum Verringern der verwendeten Anzahl von Speichern ist in 2 dargestellt. In 2 ist ein DRAM 42 im Gegensatz zu dem System gemäß 1 mit ersten und zweiten Prozessoren 10 und 26 über Busse B1 und B2 verbunden. In der Struktur des Mehrprozessorsystems gemäß 2 ist es erforderlich, dass zwei Ports an dem DRAM mit den Bussen B1 und B2 verbunden sind, um mittels beider Prozessoren über zwei entsprechende Pfade auf einen DRAM 42 zuzugreifen.
-
Allerdings ist ein DRAM nach dem Stand der Technik ein Speicher 1, der einen einzelnen Port PO aufweist, wie in 3 gezeigt. 3 zeigt eine herkömmliche Struktur eines DRAM, wobei ein Speicherzellenfeld erste bis vierte Bänke 3, 4, 5 und 6 enthält, die jeweils einen Zeilendecodierer und einen Spaltendecodierer aufweisen. Ein oberer Input-/Output-Leseverstärker und -Treiber 13 ist für ein Zusammenwirken über einen Multiplexer 11, 12 mit der ersten Bank 3 oder der dritten Bank 5 verbunden. Ein unterer Input-/Output-Leseverstärker und -Treiber 15 ist für ein Zusammenwirken mit einer zweiten Bank 4 oder der vierten Bank 6 über einen Multiplexer 13 oder 28 verbunden.
-
Wenn beispielsweise eine Speicherzelle in der ersten Bank 3 ausgewählt wird und in der ausgewählten Speicherzeile gespeicherte Daten gelesen werden, findet die nachfolgend beschriebene Ausgabeoperation der Lesedaten statt. Zunächst wird eine ausgewählte Wortleitung aktiviert, dann werden Daten einer Speicherzelle, die durch einen Bitleitungsleseverstärker gelesen und verstärkt wurden, durch eine Aktivierung einer entsprechenden Spalten-Auswahlleitung CSL zu einem lokalen Input-/Output-Leitungspaar 9 übertragen. Daten, die zu dem lokalen Input-/Output-Leitungspaar 9 übertragen wurden, werden zu einem globalen Input-/Output-Leitungspaar 10 durch eine Schaltoperation eines ersten Multiplexers 21 übertragen. Der zweite Multiplexer 11, der mit einem globalen Input-/Output-Leitungspaar 10 verbunden ist, überträgt Daten des globalen Input-/Output-Leitungspaares 10 zu dem oberen Input-/Output-Leseverstärker und -Treiber 13. Durch den Input-/Output-Leseverstärker und -Treiber 13 gelesene und verstärkte Daten werden an eine Datenausgangsleitung L5 durch einen Pfadteil 16 ausgegeben.
-
Wenn jedoch Daten gelesen werden, die in einer Speicherzelle der vierten Bank 6 gespeichert sind, werden die Daten an einen Ausgangsanschluss DQ ausgegeben und gelangen nacheinander durch einen Multiplexer 24, einen Multiplexer 28, den unteren Input-/Output-Leseverstärker und -Treiber 15, den Pfadteil 16 und die Datenausgangsleitung L5. Dies bedeutet, dass der DRAM 1 in 3 eine Struktur aufweist, bei der sich zwei Bänke einen Input-/Output-Leseverstärker und -Treiber teilen, und einen Einzelport-Speicher darstellt, in dem die Eingabe/Ausgabe (Input/Output) von Daten über einen Port PO erfolgt. Der DRAM 1 in 3 kann in dem System gemäß 1 eingesetzt werden, jedoch kann es schwierig oder unmöglich sein, ihn in dem Mehrprozessorsystem einzusetzen, auf das in 2 bezuggenommen wurde.
-
Bezugnehmend auf 4, die ein Mehrprozessorsystem 50 darstellt, ist ein Speicherfeld 35 aus ersten, zweiten und dritten Bereichen gebildet. Auf den ersten Bereich 33 des Speicherfeldes 35 kann nur durch einen ersten Prozessor 70 über einen Port 37 zugegriffen werde. Auf den zweiten Bereich 31 kann nur mittels eines zweiten Prozessors 80 über einen Port 38 zugegriffen werden. Auf den dritten Bereich 32 kann sowohl mittels des ersten als auch mittels des zweiten Prozessors 70 bzw. 80 zugegriffen werden. Die Größe der ersten und zweiten Bereiche 33 und 31 des Speicherfeldes 35 kann in Abhängigkeit von einer Betriebslast der ersten und zweiten Prozessoren 70 und 80 vielfältig verändert werden. Des Weiteren kann es sich bei dem Speicherfeld 35 um einen Speichertyp oder einen Plattenspeichertyp handeln.
-
Beim Realisieren des dritten Bereichs 32 innerhalb des Speicherfeldes 35 in der DRAM-Struktur, den sich die ersten und zweiten Prozessoren 70 und 80 teilen, ergeben sich mehrere Schwierigkeiten. Beispielsweise muss auf ein Layout von Speicherbereichen und Input-/Output-Leseverstärkern innerhalb des Speicherfeldes 35 und auf eine geeignete Lese/Schreib-Pfadsteuertechnik geachtet werden. Während der Lese-/Schreib-Operation durch bzw. über entsprechende Ports muss ein Betriebszeitintervall verkürzt werden, um effiziente Portnutzungserlaubnisse und eine hohe Datenübertragungsgeschwindigkeit zu erreichen.
-
Die
US 4,164,787 zeigt einen Speicher, auf den ein erster und ein zweiter Prozessor über einen Multiplexer gemeinsam zugreifen.
-
Der Fachartikel Speicherkonfigurationen mit Dual-Port-SRAMs in: Design & Elektronik, Ausgabe 19 vom 13.09.1988, S. 123, 125, beschreibt die Arbitration bei Dual-Port-RAMs.
-
Der Erfindung liegt das technische Problem zu Grunde, ein Halbleiterspeicherelement und ein System für ein Halbleiterspeicherelement anzugeben, die es erlauben, einen gemeinsam genutzten Speicherbereich, der in einem DRAM-Speicherzellenfeld allokiert ist, in einem Mehrprozessorsystem mit zwei oder mehr Prozessoren gemeinsam zu nutzen, und die eine Datenübertragungen zwischen Ports ermöglichen.
-
Die Erfindung löst das Problem mittels eines Halbleiterspeicherelements mit den Merkmalen des Patentanspruchs 1 und eines Systems für ein Halbleiterspeicherelement mit den Merkmalen des Patentanspruchs 5.
-
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen angegeben, deren Wortlaut hiermit durch Bezugnahme in die Beschreibung aufgenommen wird, um unnötige Textwiederholungen zu vermeiden.
-
Vorteilhafte Ausgestaltungen der Erfindung, die weiter unten detailliert beschrieben sind, sowie zur Erleichterung des Verständnisses der Erfindung erörterte Ausgestaltungen des Standes der Technik sind in der Zeichnung dargestellt. Es zeigt/zeigen:
-
1 ein Blockschaltbild eines herkömmlichen Mehrprozessorsystems zur Verwendung in einer tragbaren Kommunikationsvorrichtung;
-
2 ein Blockschaltbild zur Darstellung eines Beispiels eines herkömmlichen Mehrprozessorsystems, das in der Lage ist, einen Speicher gemäß einer Ausgestaltung zu verwenden;
-
3 ist ein Blockschaltbild zur Darstellung einer internen Struktur eines herkömmlichen Speicherzellenfeldes eines DRAM;
-
4 ist ein Blockschaltbild zur Darstellung von Speicherfeldbereichen eines herkömmlichen Mehrprozessorsystems;
-
5 ist ein Blockschaltbild eines Mehrprozessorsystems mit einem DRAM mit mehreren Zugriffspfaden gemäß einer Ausgestaltung;
-
6 ist ein Blockschaltbild zur Darstellung eines Layouts von Speicherbereichen und Ports in einem DRAM mit mehreren Zugriffspfaden, der in 5 dargestellt ist;
-
7 ist ein Zeitablaufdiagramm für Schreib- und Leseoperationen gemäß 6;
-
8 ist ein Blockschaltbild zur detaillierten Darstellung einer Datenübertragungssteuereinheit in 6;
-
9 ist ein Schaltungsdiagramm der Datenübertragungssteuereinheit, die in 8 gezeigt ist;
-
10 ist ein Schaltungsdiagramm zur schematischen Darstellung von Befehlserzeugern, die in Prozessoren gemäß einer Ausgestaltung eingesetzt werden;
-
11 bis 13 Zeitabläufe von Signalen, die in 10 dargestellt sind; und
-
14 detailliert einen Adressenkomparator, der in Prozessoren gemäß einer Ausgestaltung eingesetzt wird.
-
Ein dynamischer Speicher mit wahlfreiem Zugriff muss keinen SAM-Port aufweisen, kann jedoch einen gemeinsamen Speicherbereich beinhalten, auf den durch bzw. über mehrfache Zugriffsports zugegriffen werden kann. Um zwischen dem dynamischen Speicher mit wahlfreiem Zugriff und dem oben beschriebenen Mehrport-Speicher unterscheiden zu können, wird der dynamische Speicher mit wahlfreiem Zugriff vorliegend als ein Mehrfachpfadzugriffshalbleiterspeicherelement oder als über mehrere Pfade ansprechbares Halbleiterspeicherelement bezeichnet, obwohl es in der nachfolgenden Beschreibung noch genauer erläutert wird.
-
Ein Mehrfachpfadzugriffshalbleiterspeicherelement zur Verwendung in einem Mehrprozessorsystem gemäß Ausgestaltungen der vorliegenden Erfindung wird unter Bezugnahme auf die beigefügte Zeichnung beschrieben.
-
5 ist ein Blockschaltbild eines Mehrprozessorsystems, das einen DRAM mit mehreren Zugriffspfaden gemäß einer Ausgestaltung aufweist. Bezugnehmend auf 5 kann ein Mehrprozessorsystem einen ersten Prozessor 10 zum Durchführen einer ersten bestimmten Aufgabe, einen zweiten Prozessor 26 zum Durchführen einer zweiten bestimmten Aufgabe und einen DRAM (Dynamic Random Access Memory) 17 aufweisen, der einen gemeinsam genutzten Speicherbereich in einem Speicherzellenfeld aufweist, auf den durch den ersten und den zweiten Prozessor 10 und 26 zugegriffen werden kann. Das tragbare Kommunikationssystem kann eine Flüssigkristallanzeige (LCD) 13 aufweisen, die über eine Verbindungsleitung L14 mit dem zweiten Prozessor 26 verbunden ist. Obwohl in 5 eine LCD 13 dargestellt ist, können andere Arten von Anzeigevorrichtungen, einschließlich Kathodenstrahlröhren(CRT)-Anzeigen, Plasmaanzeigen oder dergleichen als eine Anzeigevorrichtung 13 verwendet werden.
-
Das in 5 gezeigte DRAM 17 kann unabhängige Ports A und B aufweisen. Obwohl zwei Ports A und B beschrieben sind, kann jede Anzahl von Ports verwendet werden. Unter der Annahme, dass der Port A vorliegend als ein erster Port bezeichnet wird, ist der erste Port mit dem ersten Prozessor 10 über einen Systembus B1 verbunden. Unter der Annahme, dass der Port B vorliegend als ein zweiter Port bezeichnet wird, ist der zweite Port mit dem zweiten Prozessor 26 über einen Systembus B2 gekoppelt. Der erste Prozessor 10 kann Verarbeitungsfähigkeiten, wie eine MODEM-Funktion zum Durchführen einer Modulation und/oder Demodulation eines Kommunikationssignals oder eine Basisband-Verarbeitungsfunktion aufweisen. Der zweite Prozessor 26 kann Verarbeitungsfähigkeiten, wie eine Anwendungsfunktion zum Verarbeiten von Kommunikationsdaten, wie zum Bereitstellen von Unterhaltung aufweisen, z. B. eines Spiels, eines Videos oder dergleichen. Obwohl bestimmte Verarbeitungsfähigkeiten für jeden Prozessor getrennt beschrieben wurden, kann jeder Prozessor eine beliebige Kombination derartiger Verarbeitungsfähigkeiten aufweisen.
-
In einer Ausgestaltung kann der Systembus B1 16 Bit aufweisen. Der Systembus B2 kann entweder 16 Bit oder 32 Bit (x16, x32) aufweisen. Allerdings können als Busbreite der Busse B1 und B2 jede gewünschte Breite gewählt werden. Darüber hinaus muss die Breite des Busses B1 nicht dieselbe sein wie die Breite des Busses B2.
-
Der DRAM 17, welcher einen doppelten Port oder Doppelport aufweist, kann dazu verwendet werden, Daten und Befehle für eine Ausführung durch die Prozessoren 10 und 26 zu speichern. Der DRAM 17 kann unabhängige Eingabe-/Ausgabepfade pro Port aufweisen, sodass die Verarbeitungsaufgaben der Prozessoren 10 und 26 reibungsloser durchgeführt werden können. Entsprechend wird in dem Mehrprozessorsystem gemäß 5 ein Speicherzellenfeld mit einem gemeinsam genutzten Speicherbereich verwendet, sodass ein Datenübertragungskanal L12 zwischen den Prozessoren 10 und 26, der in 1 dargestellt ist, entfernt werden kann.
-
Bei dem System gemäß 5 kann es sich um ein tragbares Rechnergerät oder eine tragbare Kommunikationsvorrichtung handeln. Solche Geräte oder Vorrichtungen umfassen beispielsweise Mobiltelefone, bidirektionale funkgestützte Kommunikationssysteme, unidirektionale Pager, bidirektionale Pager, persönliche Kommunikationssysteme, tragbare Computer und dergleichen.
-
In dem System gemäß 5 kann die Anzahl der Prozessoren größer sein als zwei. Bei den Prozessoren des Systems kann es sich um Mikroprozessoren, CPU, digitale Signalprozessoren, Mikrocontroller, Rechner mit reduziertem Befehlssatz (reduced command set computer), Rechner mit komplexem Befehlssatz (complex command set computer) oder dergleichen handeln. Des Weiteren kann eine beliebige Anzahl und Typen von Prozessoren in beliebiger Kombination verwendet werden.
-
Ein Beispiel für eine Layout-Beziehung eines gemeinsam genutzten Speicherbereichs in dem DRAM 17 gemäß 5 und eine Zugriffsoperation der Prozessoren 10 und 26 wird unter Bezugnahme auf diejenigen Figuren beschrieben, welche das Innere des Speicherelements zeigen.
-
6 ist ein Blockschaltbild zur Darstellung eines Layouts von Speicherbereichen und Ports in einem DRAM mit mehreren Zugriffspfaden gemäß der Darstellung in 5. Wie in 6 gezeigt, sind drei Speicherbereiche 101–103 innerhalb eines Speicherzellenfeldes 100 angeordnet. In der Layoutstruktur gemäß 6 kann auf einen ersten Speicherbereich 101 mittels eines ersten Prozessors 10 über einen ersten Port POA zugegriffen werden, auf einen dritten Speicherbereich 103 kann mittels eines zweiten Prozessors 26 über einen zweiten Port POB zugegriffen werden und auf einen zweiten Speicherbereich 102 kann durch den ersten Prozessor 10 und den zweiten Prozessor 26 über entsprechende erste und zweite Ports POA und POB zugegriffen werden.
-
Der zweite Speicherbereich 102 ist ein gemeinsam genutzter Speicherbereich. Die ersten und dritten Speicherbereiche 101 und 103 sind private Speicherbereiche, auf die mittels des ersten Prozessors 10 bzw. des zweiten Prozessors 26 zugegriffen werden kann. Die drei Speicherbereiche 101–103 können individuell als eine Bankeinheit eines DRAM konfiguriert werden. Eine Bank kann beispielsweise eine Speicherkapazität von 64 Mbit, 128 Mbit, 256 Mbit, 512 Mbit oder 1024 Mbit aufweisen. Die Speicherzellen innerhalb einer Bank können nach Art einer Matrix aus Zeilen und Spalten angeordnet sein. Die Speicherzellen können DRAM-Speicherzellen sein, die einen Zugriffstransistor und einen Speicherkondensator aufweisen.
-
Wenn in 6 beispielsweise der erste Prozessor 10 auf den zweiten Speicherbereich 102 über den ersten Port POA zugreift, kann der zweite Prozessor 26 auf einen anderen Speicherbereich, wie den dritten Speicherbereich 103, über den zweiten Port POB zugreifen. Ein derartiger Zugriff durch den zweiten Prozessor 26 kann im Wesentlichen zeitgleich erfolgen. Eine derartige Mehrfachpfadzugriffsoperation kann durchgeführt werden, indem ein Eingabe-/Ausgabe-Pfad durch die Ports geeignet gesteuert wird.
-
In 6 sind das Layout eines gemeinsam genutzten Speicherbereichs 102 und zwei Ports dargestellt. Allerdings kann jede beliebige Anzahl an Ports vorhanden sein. Beispielsweise kann die Anzahl an Ports der Anzahl an Prozessoren entsprechen. Des Weiteren kann mehr als ein gemeinsam genutzter Speicherbereich vorhanden sein, auf die durch mehrere Prozessoren gemeinsam zugegriffen werden kann. Weiterhin ist es möglich, dass jeder Prozessor auf jeden gemeinsam genutzten Speicherbereich zugreifen kann, jedoch muss dies nicht zwingend der Fall sein. Wenn beispielsweise drei Prozessoren A, B und C sowie ein erster und ein zweiter gemeinsam genutzter Speicherbereich vorhanden sind, können die Prozessoren A und B auf den ersten gemeinsam genutzten Speicherbereich zugreifen, während die Prozessoren B und C auf den zweiten gemeinsam genutzten Speicherbereich zugreifen.
-
Wenn – wie oben beschrieben – auf einen gemeinsam genutzten Speicherbereich innerhalb eines Speicherzellenfeldes reibungslos durch mehrere Prozessoren zugegriffen werden kann, kann der Datenübertragungskanal L12 in 1 entfernt werden. Jegliche Datenübertragung zwischen Prozessoren kann durch den gemeinsam genutzten Speicherbereich 102 erfolgen. Beispielsweise gelangt eine Zugriffsanfrage des ersten Prozessors 10 auf den zweiten Speicherbereich 102, wie eine Datenschreibanfrage, über den ersten Port POA. Anschließend gelangt eine Zugriffsanfrage des zweiten Prozessors auf den zweiten Speicherbereich 102, wie eine Datenleseanfrage, über den zweiten Port POB. In diesem Fall hat derjenige Prozessor, der zuerst zuzugreifen versuchte, die Zugriffspriorität auf den zweiten Speicherbereich 102. Somit hat der erste Prozessor 10 Priorität. Nachdem die schreibbezogenen Operationen für eine bestimmte Speicherzelle des zweiten Speicherbereichs 102 durch eine Zugriffsanfrage des ersten Prozessors 10 abgeschlossen sind, kann der zweite Prozessor 26 auf den zweiten Speicherbereich 102 zugreifen und eine Leseoperation zum Auslesen von Daten einer bestimmten Speicherzelle des zweiten Speicherbereichs 102 durchführen. Ein Schreiboperationsmodus kann ein aktives Zeitintervall zum Schreiben, ein tatsächliches Datenschreibzeitintervall und ein Vorladezeitintervall nach dem Schreiben beinhalten. Ein Lesebetriebsmodus kann ein aktives Zeitintervall zum Lesen, ein tatsächliches Datenlesezeitintervall und ein Vorladezeitintervall nach dem Lesen beinhalten.
-
In dem vorliegenden Beispiel versuchen Prozessoren über unterschiedliche Ports auf dieselbe Zeilenadresse zuzugreifen, indem sie einen Schreibbetriebsmodus und einen Lesebetriebsmodus verwenden. Wenn eine Schreiboperation über einen besetzten Port durchgeführt wird, kann ein Lesebefehl unmittelbar über einen anderen Port angelegt bzw. angewendet werden, ohne ein Vorladen nach der Schreiboperation und einen angelegten Aktivierungsbefehl bzw. aktiven Befehl vor der Leseoperation. Im Ergebnis kann eine Datenübertragungszeit deutlich reduziert werden.
-
Wenn in 6 die Prozessoren 10 und 26 einen Zugriff auf einen gemeinsam genutzten Speicherbereich unter Verwendung derselben Zeilenadresse über unterschiedliche Ports POA und POB versuchen, werden eine sequentielle Schreiboperation und eine Leseoperation verwendet. Eine Datenübertragungssteuereinheit 120 führt eine Schreiboperation über einen Port POA und anschließend eine Leseoperation durch, indem sie unmittelbar einen Lesebefehl über einen anderen Port POB ohne Vorladen und Anlegen bzw. Anwenden eines Aktivierungsbefehls anlegt bzw. anwendet. In 6 zeigt ein Bezugszeichen in Form eines Pfeils AW1 Aktivierung und Schreiben in dem ersten Port POA an, und ein Pfeil AW2 zeigt ein Lesen und ein Vorladen in dem zweiten Port POB an. Zeitintervalle für Vorlade- und Aktivierungsbefehle werden durch eine Steuerfunktion der Datenübertragungssteuereinheit 120 gemäß 7 ausgelassen.
-
7 ist ein Zeitablaufdiagramm für Schreib- und Leseoperationen gemäß 6. Eine Signal-Wellenform A-A eines Befehls CMD zeigt ein Anlegeintervall für einen Aktivierungsbefehl in dem ersten Port POA an. Eine Signal-Wellenform A-W zeigt ein Anlegeintervall für einen Schreibbefehl in dem ersten Port POA an. Eine Signal-Wellenform B-R zeigt ein Anlegeintervall für einen Lesebefehl in dem zweiten Port POB an. Eine Signal-Wellenform B-PRE zeigt ein Vorlade-Anlegeintervall in dem zweiten Port an. Es sei darauf hingewiesen, dass ein Anlegeintervall für einen Vorladebefehl des ersten Ports im Zusammenhang mit der Schreiboperation und ein Anlegeintervall für den Aktivierungsbefehl des zweiten Ports im Zusammenhang mit der Leseoperation während eines Zeitintervalls T1 nicht vorhanden sind.
-
Gemäß einer anderen Ausgestaltung kann die Datenübertragungssteuereinheit 120 die Befehle in Verbindung mit einer Schreiboperation und einer Leseoperation empfangen. Wie oben beschrieben, kann die Datenübertragungssteuereinheit 120 die Vorlade- und Aktivierungsbefehle auslassen. Auf diese Weise kann die Datenübertragungssteuereinheit 120 eine Untergruppe derjenigen Befehle anwenden bzw. anzulegen, die mit einer Schreiboperation und einer Leseoperation im Zusammenhang stehen.
-
Wie oben beschrieben, nimmt eine Datenübertragungsgeschwindigkeit zwischen Prozessoren zu, wenn mehrere Befehlsanlegeintervalle zwischen einer Schreiboperation und einer Leseoperation entfernt werden. Des Weiteren kann ein Speicher in dem System angeordnet werden, wodurch sich die Systemgröße und entsprechend Speicherkosten in dem System verringern.
-
8 ist ein Blockschaltbild zur detaillierten Darstellung der Datenübertragungssteuereinheit gemäß 6. Die Datenübertragungssteuereinheit kann einen Befehlsdecodierer 120 enthalten, der die externen Signale MRSET_AP, MRSET_BP und GRANT_TRANS logisch kombiniert und Portdecodiersignale NDA und NDB ausgibt. Des Weiteren kann die Datenübertragungssteuereinheit einen Porterlaubnissignalerzeuger 124 zum Erzeugen von Porterlaubnissignalen GRANT_A und GRANT_B in Abhängigkeit von den Portdecodiersignalen NDA und NDB aufweisen.
-
Die Signale MRSET_AP und MRSET_BP sind Portbelegungsanfragesignale, die durch Befehle erzeugt werden, welche von Prozessoren angelegt werden. Das Signal GRANT_TRANS wird erzeugt, indem durch ein Gatter-Teil 121 ein aktives Mastersignal PMAS, das von Prozessoren geliefert wird, und ein Schreibabschlusssignal PWRB, das über einen abgeschlossenen Schreibvorgang im Inneren des DRAM informiert, logisch kombiniert werden. Das bedeutet, dass bei Aktivierung des Port-Erlaubnissignals GRANT_A ein Datenzugriffspfad (B1-2 in 6) zwischen dem unter den Ports ausgewählten Port POA und dem gemeinsam genutzten Speicherbereich 102 gebildet wird. In gleicher Weise wird dann, wenn das Port-Erlaubnissignal GRANT_B aktiviert wird, ein Datenzugriffspfad (B2-2 in 6) zwischen dem unter den Ports ausgewählten Port POB und dem gemeinsam genutzten Speicherbereich 102 gebildet.
-
Bei Verwendung des Datenzugriffspfads können Eingabe-/Ausgabebezogene Schaltungen entsprechender Ports gebildet werden. Eine Eingabe-/Ausgabe-bezogene Schaltung kann mittels einer Umschalt-Schaltung ausgewählt werden. Eine Eingabe-/Ausgabe-bezogene Schaltung kann eine Datenausgangspfadschaltung und eine Dateneingangspfadschaltung umfassen. Die Datenausgangspfadschaltung kann einen Input-/Output-Leseverstärker, einen Datenmultiplexer, der mit dem Input-/Output-Leseverstärker gekoppelt ist, einen Datenausgangspuffer, der mit dem Datenmultiplexer gekoppelt ist, und einen Datenausgangstreiber, der zum Treiben von Ausgangsdaten mit dem Datenausgangspuffer gekoppelt ist, aufweisen. Die Dateneingangspfadschaltung kann einen Dateneingangspuffer, der mit einem Port gekoppelt ist, einen ersten Eingangstreiber, der mit dem Dateneingangspuffer gekoppelt ist, um Schreibdaten primär zu treiben, und einen zweiten Eingangstreiber aufweisen, der mit dem ersten Eingangstreiber gekoppelt ist, um die Schreibdaten sekundär zu treiben.
-
Die Prozessoren kennen sich ein globales Input-/Output-Leitungspaar des gemeinsam genutzten Speicherbereichs, ein lokales Input-/Output-Leitungspaar, das mit dem globalen Input-/Output-Leitungspaar gekoppelt ist, ein Bitleitungspaar, das mit dem lokalen Input-/Output-Leitungspaar durch ein Spaltenauswahlsignal gekoppelt ist, einen Bitleitungsleseverstärker, der an dem Bitleitungspaar angeordnet ist, um Daten der Bitleitung zu lesen und zu verstärken, und eine Speicherzelle, die mit einem Zugriffstransistor gekoppelt ist, teilen, wobei die Speicherzelle an dem Bitleitungspaar ausgebildet ist.
-
9 ist ein Schaltungsdiagramm der Datenübertragungssteuereinheit gemäß 8. Schaltungselemente 90 und 91–101 weisen eine Verdrahtungsstruktur auf, wie sie im linken Bereich der Figur gezeigt ist, und bilden den Befehlsdecodierer 122. Die Schaltungselemente 102–116 weisen eine Verdrahtungsstruktur auf, wie sie im rechten Bereich der Figur gezeigt ist, und bilden den Porterlaubnissignalerzeuger 124. Die Signale PSELF_AP und PSELF_BP, die innerhalb des Porterlaubnissignalerzeugers 124 an ein NAND-Gatter 106 angelegt werden, können von einem Prozessor des Systems geliefert werden, wenn eine Porterlaubnis erforderlich ist.
-
10 ist ein Schaltungsdiagramm, welches schematisch Befehlserzeuger darstellt, die in Prozessoren gemäß einer Ausgestaltung der vorliegenden Erfindung verwendet werden. in dem Fall, dass die ersten und zweiten Prozessoren versuchen, einen Zugriff über jeweils unterschiedliche Ports durchzuführen, und dass ein Schreibbetriebmodus und ein Lesebetriebsmodus sequentiell angefordert werden, können ein Befehlserzeuger 10-1 des ersten Prozessors 10 und ein Befehlserzeuger 26-1 des zweiten Prozessors 26 verwendet werden.
-
Der Befehlserzeuger 10-1 des ersten Prozessors 10 kann ein NAND-Gatter 100 und einen Invertierer 111 umfassen, um einen Vorladebefehl des ersten Ports zu erzeugen. Der Befehlserzeuger 26-1 des zweiten Prozessors 26 kann ein NAND-Gatter 120 und einen Invertierer 121 aufweisen, um einen Aktivierungsbefehl zu erzeugen, einen Multiplexer 123 und Invertierer 124 und 125 aufweisen, um einen Lesebefehl zu erzeugen, und Schaltungselemente 126–130 aufweisen, um einen Vorladebefehl zu erzeugen.
-
Die 11 bis 13 zeigen Zeitabläufe der in 10 gezeigten Signale.
-
Es wird zunächst Bezug genommen auf 11, welche Zeitabläufe für die Befehlserzeugung durch den Befehlserzeuger 10-1 im Normalfall zeigt. In beiden Fällen versuchen beide Prozessoren beispielsweise auf den zweiten Speicherbereich 102 zuzugreifen. Der erste Prozessor schreibt in den zweiten Speicherbereich 102, und der zweite Prozessor liest aus dem zweiten Speicherbereich 102. In dem normalen Modus greifen die Prozessoren auf unterschiedliche Zeilenadressen zu. In dem Übertragungsmodus greifen beide Prozessoren auf dieselben Zeilenadressen zu.
-
In dem normalen Fall wird PRECHARGE_A aktiviert, wodurch ein Vorladen an der Zeilenadresse bewirkt wird. Da jedoch der zweite Prozessor in dem Übertragungsfall auf dieselbe Zeilenadresse zugreift, ist ein Vorladen nicht notwendig. Daher wird in dem Übertragungsfall PRECHARGE_A nicht aktiviert.
-
12 zeigt Zeitabläufe für eine Befehlserzeugungsoperation des Befehlserzeugers 26-1 in dem normalen Fall. In dem normalen Fall gibt der Befehlserzeuger 26-1 des zweiten Prozessors 26 ein Signal auf einem hohen Aktivierungslogikpegel aus. Somit erfolgt in dem normalen Fall eine Aktivierungsoperation, bevor eine Leseoperation stattfindet.
-
13 zeigt Zeitabläufe einer Befehlserzeugungsoperation des Befehlserzeugers 26-1 in einem Übertragungsfall. In dem Übertragungsfall gibt der Befehlserzeuger 26-1 des zweiten Prozessors 26 ein aktives Signal auf einem niedrigen Logikpegel aus. Somit wird in dem Übertragungsfall auf eine Aktivierungsoperation vor einer Leseoperation verzichtet. Des Weiteren wird ein Lesebefehl unmittelbar über den zweiten Port angelegt, und eine Leseoperation wird durchgeführt, wie in 7 gezeigt. Im Ergebnis nimmt eine Datenübertragungsrate zwischen den Prozessoren zu.
-
14 zeigt detailliert einen Adressenkomparator, der in Prozessoren gemäß einer Ausgestaltung eingesetzt wird. Der Adressenkomparator kann mehrere exklusive NOR-Gatter ENOR1–ENORn und ein NAND-Gatter aufweisen. Entsprechende Bits AP0_Ax und BP0_Ax jeweiliger Prozessoren werden miteinander verglichen, wobei x eine Zahl ist, welche die Gewichtung des Bits in der Zeilenadresse angibt. Die Vergleiche werden in dem NAND-Gatter kombiniert. Auf diese Weise wird ein Signal TRANS_MASTERB erzeugt, welches dem Adressenvergleich entspricht. Durch Verwendung dieses Signals wird eine Entscheidung getroffen, ob Spaltenadressen einer Speicherzelle, auf die über zwei Ports zugegriffen werden soll, dieselben sind oder nicht.
-
Wie oben beschrieben, wird in einem Halbleiterspeicherelement gemäß einer Ausgestaltung eine Schreiboperation aber einen Port durchgeführt, und ein Lesebefehl wird unmittelbar über einen anderen Port ohne ein Vorladen nach der Schreiboperation und einen angelegten Aktivierungsbefehl vor einer Leseoperation durchgeführt. Im Ergebnis wird hierdurch eine Datenübertragungszeit deutlich reduziert.
-
Wie oben beschrieben, kann in einem Halbleiterspeicherelement gemäß einer Ausgestaltung auf einen gemeinsam genutzten Speicherbereich, der innerhalb eines Speicherzellenfeldes allokiert ist, mittels mehrerer Prozessoren reibungslos zugegriffen werden. Des Weiteren wird in einem speziellen Datenübertragungsmodus eine Leseoperation ohne Vorladen und Anlegen eines Aktivierungsbefehls durchgeführt, sodass eine Datenübertragungsgeschwindigkeit zwischen den Prozessoren zunimmt. Die Abmessungen des Systems werden kompakter, und Speicherkosten in dem System können deutlich reduziert werden. Demgemäß kann ein Mehrprozessorsystem, welches einen solchen Speicherzugriff verwendet, einen Wettbewerbsvorteil aufweisen.
-
In weiteren Ausgestaltungen kann die Konfiguration von Bänken oder eine Schaltungskonfiguration im Inneren des Speichers sowie ein Zugriffsverfahren nach Wunsch verändert werden.
-
Nach einer weiteren Ausgestaltung können zwei von drei Speicherbereichen gemeinsam genutzte Speicherbereiche sein, und der eine verbleibende Speicherbereich ist als ein privater Speicherbereich vorgesehen. Alternativ können alle drei Speicherbereiche gemeinsam genutzte Speicherbereiche sein. Des Weiteren können drei oder mehr Prozessoren in dem System eingesetzt werden. Als ein Ergebnis hiervon können drei oder mehr Ports in einem DRAM vorgesehen sein, wobei jeder der drei Prozessoren über einen entsprechenden Part auf die gemeinsam genutzten Speicher zugreifen kann.
-
Obwohl in den obigen Ausgestaltungen ein DRAM beschrieben wurde, ist die Datenstruktur nicht auf DRAMs beschränkt. Die Ausgestaltungen können andere Arten von Speicherstrukturen beinhalten, wie beispielsweise statische Speicher mit wahlfreiem Zugriff, nichtflüchtige Speicher, Flash-Speicher oder dergleichen.