-
Die
Erfindung betrifft einen integrierten Schaltungsbaustein, ein Speichersystem
mit Datenpuffer und ein zugehöriges
Steuerverfahren.
-
Herkömmliche
Halbleiterspeicherbausteine sind so ausgeführt, dass sie mit einer festen
Datenbreite arbeiten. So können
beispielsweise in einem Datenverarbeitungssystem mit einem acht
Bit breiten Datenbus Datenworte mit einer Breite von acht Bit in
einem Datenzugriffszyklus geladen oder aus diesem abgerufen werden,
was auch als X8-Betrieb bezeichnet wird.
-
1A zeigt
beispielsweise eine schematische Darstellung eines herkömmlichen
IC-Halbleiterspeicherbausteins 1 mit einer festen Eingabe- und Ausgabebreite,
der einen ersten Adresseneingabepuffer 10, einen Zeilendecoder 20,
einen Spaltendecoder 30, einen zweiten Adresseneingabepuffer 40,
einen Befehlspuffer 50, ein Speicherzellenfeld 60,
ein Abtastverstärkerfeld 70,
einen Datenausgabepuffer 80 und einen Daten eingabepuffer 90 umfasst.
Der IC-Halbleiterspeicherbaustein 1 umfasst außerdem acht
Datenausgabeanschlüsse
DOUT0 bis DOUT7, die mit dem Datenausgabepuffer 80 zur
Ausgabe eines 8-Bit-Datenworts DATA-OUT<0:7>,
das aus dem Speicherzellenfeld 60 gelesen wird, verbunden
sind, sowie acht Dateneingabeanschlüsse DIN0 bis DIN7 zur Eingabe
eines 8-Bit-Datenworts DATA_IN<0:7>, das in das Speicherzellenfeld 60 geschrieben
werden soll.
-
Der
erste Adresseneingabepuffer 10 puffert ein externes 9-Bit-Adressensignal ADDR<0:8>, das von Adressenleitungen
zwischengespeichert wird und entweder ein Spaltenadressensignal
oder die ersten neun Bits eines Zeilenadressensignals sein kann,
welches beispielsweise mit einem Spaltenadressenabtastsignal CAS
bzw. einem Zeilenadressenabtastsignal RAS zwischengespeichert wird.
Im Ausführungsbeispiel
aus 1A wird ausgenommen, dass Zeilenadressenbits RA<8:0> und Spaltenadressenbits
CA<8:0> über die gleichen Adressenanschlüsse gemultiplext
werden, um die Anzahl von Anschlüssen
zur Schnittstellenverbindung mit einem Adressenbus zu minimieren.
Der zweite Adresseneingabepuffer 40 puffert die letzten
beiden Bits ADDR<9:10> des externen Zeilenadressensignals.
Der Zeilendecoder 20 decodiert die Zeilenadressenbits RA<0:10>, die von den Puffern 10 und 40 empfangen
werden, und erzeugt ein Wortleitungssignal WL, um auf eine Zeile
von Speicherzellen im Speicherzellenfeld 60 entsprechend
der Zeilenadressenbits RA<0:10> zuzugreifen. Der Spaltendecoder 30 decodiert
die Spaltenadressenbits CA<0:8>, die vom Puffer 10 empfangen
werden, um ein Spaltenauswahlsignal CSL zu erzeugen, mit dem auf
einen Block von Speicherplätzen innerhalb
der angesprochenen Zeile zugegriffen werden kann. Im Beispiel aus 1A korrespondieren
die Speicherplätze
mit einer Gruppe von acht Blöcken.
-
In
Abhängigkeit
davon, ob ein Lese- oder ein Schreibvorgang ausgeführt werden
soll, was durch einen eingegebenen Befehl READ, WRITE an gezeigt
wird, der im Befehlsregister 50 gepuffert wird, wird ein 8-Bit-Datenwort DATA_OUT<0:7> von der angesprochenen
Speicherposition gelesen oder ein 8-Bit-Datenwort DATA_IN<0:7> in eine angesprochene
Speicherposition geschrieben. Das Abtastverstärkerfeld 70 ermöglicht,
dass Daten aus dem Speicherzellenfeld 60 gelesen oder in
das Speicherzellenfeld 60 geschrieben werden.
-
Der
Datenausgabepuffer 80 umfasst eine Mehrzahl von Ausgabepufferschaltungen 81 bis 88 zum
Puffern eines Datenwortes DATA_OUT<0:7>, das aus dem Speicherzellenfeld 60 während eines
Lesevorgangs gelesen wird. Der Dateneingabepuffer 90 umfasst
eine Mehrzahl von Eingabepufferschaltungen 91 bis 98 zum Puffern
eines Datenwortes DATA_IN<0:7>, das in das Speicherzellenfeld 60 während eines
Schreibvorgangs geschrieben wird. Jede der Ausgabepufferschaltungen 81 bis 88 ist
mit einem korrespondierenden Datenausgabeanschluss DOUT0 bis DOUT7
verbunden und jede der Eingabepufferschaltungen 91 bis 98 ist
mit einem korrespondierenden Dateneingabeanschluss DIN0 bis DIN7
verbunden.
-
In
einem in 1B dargestellten, alternativen
Beispiel ist eine Mehrzahl von Dateneingabe-/Datenausgabeanschlüssen DQ0
bis DQ7 mit je einem korrespondierenden Ausgabepuffer 81 bis 88 und
je einem korrespondierenden Eingabepuffer 91 bis 98 verbunden,
wobei sie sowohl zur Dateneingabe als auch zur Datenausgabe verwendet
werden.
-
Wie
oben bereits ausgeführt
ist, stellt der herkömmliche
IC-Halbleiterspeicherbaustein 1 einen
festen X8-Betrieb zur Verfügung,
d. h. ein 8-Bit-Datenwort wird aus dem Speicher 60 während eines
einzelnen Speicherzugriffsvorgangs gelesen oder ein 8-Bit-Datenwort
wird während
des einzelnen Speicherzugriffsvorgangs in den Speicher 60 geschrieben. 2 zeigt
ein Zeitablaufdiagramm, das ein Verfahren zur Datenausgabe während eines
Speicherlesevorgangs im IC-Halbleiter speicherbaustein 1 darstellt.
Wie aus 2 ersichtlich ist, werden ein
Lesebefehl READ und eine Spaltenadresse CA synchronisiert mit einem
Taktsignal CLK zu einer Taktperiode C1 eingegeben, wobei angenommen
wird, dass eine Wortleitung bereits aktiviert worden ist. In Reaktion
wird ein 8-Bit-Datenwort mit den Bits Q0 bis Q7 nach Ablauf von
zwei Taktsignalperioden nach Eingabe des Lesebefehls und der Spaltenadresse
gleichzeitig vom Ausgabepuffer 80 an die zugehörigen Ausgabeanschlüsse DOUT0
bis DOUT7 ausgegeben.
-
3 zeigt
ein Zeitablaufdiagramm, das ein Verfahren zur Dateneingabe während eines
Speicherschreibvorgangs im IC-Haibleiterspeicherbaustein 1 darstellt.
Wie aus 3 ersichtlich ist, werden ein Schreibbefehl
WRITE und eine Spaltenadresse CA synchronisiert mit einem Taktsignal
CLK zu einer Taktperiode C1 eingegeben, wobei angenommen wird, dass
eine Wortleitung bereits aktiviert worden ist. In Reaktion wird
ein 8-Bit-Datenwort mit den Bits D0 bis D7 während der gleichen Taktsignalperiode
C1 wie der Lesebefehl und die Spaltenadresse gleichzeitig von den
zugehörigen
Eingabeanschlüssen
DIN0 bis DIN7 in den Dateneingabepuffer 90 eingegeben.
-
Herkömmliche
Haibleiterspeicherbausteine, wie der oben beschriebene, die ein
festes Breitensteuerungsschema zur Dateneingabe und/oder zur Datenausgabe
aufweisen, können
einen Lese-, Schreib- oder Aktivierungsvorgang nur mit einer festen
Dateneingabe-/Datenausgabebreite (E/A-Breite) durchführen. Solche herkömmlichen
Halbleiterspeicherbausteine sind nicht effizient, wenn sie in Systemen
oder Anwendungen verwendet werden, bei denen die Datenwortbreite
nicht gleich der festen E/A-Datenbreite oder des Vielfachen davon
ist. So werden beispielsweise RGB-Daten für Notebooks und mobile Anwendungen,
wie Mobiltelefone und PDA, mit achtzehn Bit dargestellt, d. h. jede
Komponente R, G, B beinhaltet ein 6-Bit-Datenwort X6, während RGB-Daten
für Tischrechner
und Server durch 24 Bit dargestellt werden, d. h. jede Kompo nente
R, G, B durch ein 8-Bit-Datenwort, wobei RGB die Farben Rot, Grün bzw. Blau
bedeuten. Würden
in diesem Beispiel Notebook-PCs und mobile Anwendungen mit einem
Speichersystem mit einem festen X8-Betrieb verwendet werden, dann
würden
bei der Verarbeitung sechs redundante Datenbits benutzt, d. h. es
würde für einen 18-Bit-Datenblock
auf wenigstens 24 Datenbits zugegriffen. Eine solche Redundanz könnte zu
einem unnötigen
erhöhten
Leistungsverbrauch in den betroffenen Bausteinen bzw. Anwendungen
zur Verarbeitung der redundanten Bits führen.
-
Die
Patentschrift
US 5.715.197 offenbart
einen Mehrport-Speicherbaustein mit wahlfreiem Zugriff, der ein
Speicherzellenfeld, einen Datenpuffer zum Verarbeiten von aus dem
Speicherzellenfeld ausgelesenen bzw. in selbiges geschriebenen Daten
sowie eine programmierbare Datenportkonfiguration umfasst, mit der die
Datenbreite mittels eines entsprechenden Decoders programmierbar
konfiguriert werden kann. Weitere Halbleiterspeicherbausteine mit
variabler Einstellung der Datenbreite oder Datenorganisation sind
in den Offenlegungsschriften
KR 10-20020032689 A und
JP 61-000992 A sowie der
Patentschrift
US 5.177.573 offenbart.
-
Es
ist Aufgabe der Erfindung, einen integrierten Schaltungsbaustein
und ein Speichersystem sowie ein zugehöriges Steuerverfahren anzugeben,
die eine Dateneingabe und/oder Datenausgabe mit unterschiedlichen
Datenbreiten für
Lese-, Schreib- und/oder Aktivierungsspeichervorgänge zur
Verfügung
stellen.
-
Die
Erfindung löst
diese Aufgabe durch einen integrierten Schaltungsbaustein mit den
Merkmalen des Patentanspruchs 1, durch ein Speichersystem mit den
Merkmalen des Patentanspruchs 11 sowie durch ein Steuerverfahren
mit den Merkmalen des Patentanspruchs 15.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie das zu deren besserem Verständnis oben erläuterte,
herkömmliche
Ausführungsbeispiel
sind in den Zeichnungen dargestellt. Es zeigen:
-
1A und 1B jeweils
ein schematisches Blockschaltbild einer herkömmlichen Architektur für einen
IC-Halbleiterspeicherbaustein,
-
2 ein
Zeitablaufdiagramm zur Darstellung eines herkömmlichen Verfahrens zur Ausgabe
von Daten während
eines Speicherlesevorgangs eines IC-Halbleiterspeicherbausteins
mit einer festen E/A-Datenbreite,
-
3 ein
Zeitablaufdiagramm zur Darstellung eines herkömmlichen Verfahrens zur Eingabe
von Daten während
eines Speicherschreibvorgangs eines IC-Halbleiterspeicherbausteins
mit einer festen E/A-Datenbreite,
-
4 ein
schematisches Blockschaltbild eines erfindungsgemäßen IC-Halbleiterspeicherbausteins mit
einer variablen E/A-Datenbreite für Lese-, Schreib- und/oder
Aktivierungsvorgänge,
-
5 ein
Zeitablaufdiagramm zur Darstellung eines erfindungsgemäßen Verfahrens
zum Steuern der Datenausgabebreite bei einem Speicherlesevorgang,
-
6 ein
Zeitablaufdiagramm zur Darstellung eines erfindungsgemäßen Verfahrens
zum Steuern der Dateneingabebreite bei einem Speicherschreibvorgang,
-
7 ein
Schaltbild eines Decoders für
das Ausführungsbeispiel
aus 4,
-
8 ein
Schaltbild einer Datenausgabepuffer-Steuerschaltung für das Ausführungsbeispiel
aus 4,
-
9 ein
Schaltbild einer Dateneingabepuffer-Steuerschaltung für das Ausführungsbeispiel
aus 4,
-
10 ein
Schaltbild eines Datenausgabepuffers für das Ausführungsbeispiel aus 4,
-
11 ein
Schaltbild einer Pufferschaltung für den Datenausgabepuffer aus 10,
-
12 ein
Schaltbild eines Dateneingabepuffer für das Ausführungsbeispiel aus 4,
-
13 ein
Schaltbild einer Pufferschaltung für den Dateneingabepuffer aus 12 und
-
14 ein
Blockschaltbild eines erfindungsgemäßen Speichersystems.
-
4 zeigt
ein schematisches Blockschaltbild eines erfindungsgemäßen IC-Halbleiterspeicherbausteins 400 mit
einer variabel gesteuerten E/A-Datenbreite
für Lese-,
Schreib- oder Aktivierungsvorgänge.
Der Halbleiterspeicherbaustein 400 umfasst einen ersten
Adresseneingabepuffer 10, einen Zeilendecoder 20,
einen Spaltendecoder 30, einen zweiten Adresseneingabepuffer 40,
einen Befehlspuffer 50, ein Speicherzellenfeld 60 und
ein Abtastverstärkerfeld 70,
die im Wesentlichen auf die gleiche Weise arbeiten wie die Komponenten
aus 1A.
-
Zudem
umfasst der Halbleiterspeicherbaustein 400 einen Schaltungsaufbau
zur Freigabe einer variablen Steuerung der E/A-Datenbreite. Insbesondere
umfasst der dargestellte Halbleiterspeicherbaustein 400 einen
Decoder 100, eine Steuerschaltung 200 zum Steuern
eines Datenausgabepuffers 800 und eine Steuerschaltung 300 zum
Steuern ei nes Dateneingabepuffers 900. Der Datenausgabepuffer 800 umfasst
eine Mehrzahl von Ausgabepufferschaltungen 810 bis 880,
die mit zugehörigen
Ausgabeanschlüssen
DOUT0 bis DOUT7 verbunden sind. Der Dateneingabepuffer 900 umfasst
eine Mehrzahl von Eingabepufferschaltungen 910 bis 980,
die mit zugehörigen
Eingabeanschlüssen
DIN0 bis DIN7 verbunden sind. Selbstverständlich können der Datenausgabepuffer 800 und
der Dateneingabepuffer 900 alternativ mit gemeinsamen Dateneingabe- und
Datenausgabeanschlüssen
verbunden sein, wie es in 1B dargestellt
ist.
-
Im
Allgemeinen wird beim erfindungsgemäßen Halbleiterspeicherbaustein 400 zur
Steuerung der variablen E/A-Datenbreite für einen einzelnen Speicherzugriff
der Datenausgabepuffer 800 so gesteuert, dass entweder
keines oder eine Mehrzahl von Datenbits eines Datenworts DATA_OUT<0:7> maskiert wird, das
aus dem Speicherzellenfeld 60 gelesen wird, oder der Dateneingabepuffer 900 so
gesteuert, dass entweder kein oder eine Mehrzahl von Datenbits eines
Datenworts DATA_IN<0:7> maskiert wird, das
in das Speicherzellenfeld 60 geschrieben wird.
-
Insbesondere
wird in Reaktion auf einen Lese- oder Schreibbefehl READ, WRITE
vom Befehlsregister 50 der Decoder 100 aktiviert,
der ein externes Datenbreitesteuersignal decodiert, um ein internes
Datenbreitesteuersignal, z. B. WCON<0:3>,
zu erzeugen. Das Ausführungsbeispiel
aus 4 umfasst als externes Datenbreitesteuersignal
ein 2-Bit-Signal AD<9:10>, das über die
Adressenbitleitungen ADDR<9:10> in den Eingabepuffer 40 eingegeben
wird. Jedes der Adressensignale AD<0:10> wird zum Aktivieren
eines Wortleitungssignals WL benutzt. Das 2-Bit-Signal AD<9:10>,
das mit dem Lese- oder Schreibbefehl verknüpft ist, wird während Lese-
oder Schreibvorgängen
nicht benutzt, d. h. ist redundant. Während eines Lesevorgangs spricht
die Steuerschaltung 200 für den Datenausgabepuffer 800 auf
das interne Datenbreitesteuersignal WCON<0:3> an,
welches vom Decoder 100 ausgeben wird, um ein Ausgabepuffersteuersignal
COUT<0:3> zu erzeugen, welches
die Ausgabedatenbreite des Datenausgabepuffers 800 steuert.
Entsprechend spricht während
eines Schreibvorgangs die Steuerschaltung 300 für den Dateneingabepuffer 900 auf
das interne Datenbreitensteuersignal WCON<0:3> an,
welches vom Decoder 100 ausgeben wird, um ein Eingabepuffersteuersignal CIN<0:3> zu erzeugen, welches
die Eingabedatenbreite des Dateneingabepuffers 900 steuert.
-
Der
Halbleiterspeicherbaustein 400 aus 4 ist beispielsweise
in einem System mit einem acht Bit breiten Dateneingabe-/Datenausgabebus
implementiert. Der Halbleiterspeicherbaustein 400 kann
in diesem Fall dynamisch in Reaktion auf das externe 2-Bit-Datenbreitesteuersignal
AD<9:10> einen X2- und/oder
X4- und/oder X6- und/oder X8-Betrieb
zur Verfügung
stellen, wie nachstehend erläutert.
-
5 zeigt
ein Zeitablaufdiagramm zur Darstellung eines erfindungsgemäßen Verfahrens
zum variablen Steuern der Datenbreite bei einem Speicherlesevorgang.
Insbesondere zeigt 5 Betriebsarten des Halbleiterspeicherbausteins 400 aus 4 zur
dynamischen Steuerung der Datenausgabebreite, um einen X8- oder
X6- oder X2-Betrieb für
Speicherlesevorgänge
bereitzustellen. Wie aus 5 ersichtlich ist, werden ein
Lesebefehl READ und eine Spaltenadresse CA jeweils synchron mit
dem Beginn von Taktperioden C1, C5 und C9 zum Lesen von Daten aus
dem Speicher eingegeben. In 5 wird angenommen,
dass für
jeden Lesevorgang eine Zeilenadresse RA eingegeben und eine Wortleitung
aktiviert wurde.
-
Für einen
X8-Betrieb eines Speicherlesevorgangs werden die externen E/A-Datenbreitensteuerbits mit
einem logischen Wert „11” von den
Adressenleitungen ADDR<9> und ADDR<10> synchron mit dem Lesebefehl
READ und der Zeilenadresse CA zu Beginn der Taktperiode C1 eingegeben.
Darauf gibt der Decoder 100 ein internes E/A-Datenbreitensteuersignal
WCON<0:3> mit vier Bit und einem
logischen Wert „1000” aus, der
in die Steuerschaltung 200 für den Datenausgabepuffer 800 eingegeben
wird. In Reaktion darauf gibt die Steuerschaltung 200 ein
4-Bit-Ausgabepuffer-steuersignal
COUT<0:3> mit einem logischen
Wert „1111” aus. Der
Datenausgabepuffer 800 gibt in Reaktion auf das Ausgabepuffersteuersignal
mit dem logischen Wert „1111” ein 8-Bit-Datenwort Q0 bis
Q7 aus, ohne eines der Datenbits, welche aus dem Speicher gelesen
werden sollen, zu maskieren.
-
Für einen
X6-Betrieb eines Speicherlesevorgangs werden die externen E/A-Datenbreitensteuerbits mit
einem logischen Wert „10” von den
Adressenleitungen ADDR<9> und ADDR<10> synchron mit dem Lesebefehl
READ und der Zeilenadresse CA zu Beginn der Taktperiode C5 eingegeben.
Darauf gibt der Decoder 100 ein internes Datenbreitensteuersignal
WCON<0:3> mit vier Bit und einem
logischen Wert „0100” aus, der in
die Steuerschaltung 200 für den Datenausgabepuffer 800 eingegeben
wird. In Reaktion darauf gibt die Steuerschaltung 200 ein
4-Bit-Ausgabepuffer-steuersignal COUT<0:3> mit
einem logischen Wert „0111” aus. Der Datenausgabepuffer 800 gibt
in Reaktion auf das Ausgabepuffersteuersignal mit dem logischen
Wert „0111” ein 6-Bit-Datenwort Q0 bis
Q5 aus und maskiert dabei die letzten beiden Datenbits DATA_OUT<6:7> des aus dem Speicher
gelesenen Datenworts.
-
Wie
aus 5 weiter ersichtlich ist, werden für einen
X2-Betrieb eines Speicherlesevorgangs die externen E/A-Datenbreitensteuerbits
mit einem logischen Wert „00” von den
Adressenleitungen ADDR<9> und ADDR<10> synchron mit dem Lesebefehl
READ und der Zeilenadresse CA zu Beginn der Taktperiode C9 eingegeben.
Darauf gibt der Decoder 100 ein internes Datenbreitensteuersignal
WCON<0:3> mit einem logischen Wert „0001” aus, der
in die Steuerschaltung 200 für den Datenausgabepuffer 800 eingegeben
wird. In Reaktion darauf gibt die Steuer schaltung 200 ein
4-Bit-Ausgabepuffersteuersignal COUT<0:3> mit
einem logischen Wert „0001” aus. Der
Datenausgabepuffer 800 gibt in Reaktion auf das Ausgabepuffersteuersignal
mit dem logischen Wert „0001” ein 2-Bit-Datenwort
Q0, Q1 aus und maskiert dabei die letzten sechs Datenbits DATA_OUT<2:7> des aus dem Speicher
gelesenen Datenworts.
-
6 zeigt
ein Zeitablaufdiagramm zur Darstellung eines erfindungsgemäßen Verfahrens
zum variablen Steuern der Datenbreite für einen Speicherschreibvorgang.
Insbesondere zeigt 6 Betriebsarten des Halbleiterspeicherbausteins 400 aus 4 zur
Steuerung der Dateneingabebreite für einen X8- oder X6- oder X2-Betrieb
bei Speicherschreibvorgängen.
Wie aus 6 ersichtlich ist, werden ein
Schreibbefehl WRITE und eine Spaltenadresse CA jeweils synchron
mit dem Beginn der Taktperioden C1, C5 und C9 zum Schreiben von Daten
in den Speicher eingegeben. Zusätzlich
wird für
jeden Schreibvorgang ein 8-Bit-Datenwort
D0 bis D7 synchron mit dem Schreibbefehl WRITE und der Spaltenadresse
CA zu Beginn der Taktsignalperioden C1, C5 und C9 in den Dateneingabepuffer 900 eingegeben.
In 6 wird angenommen, dass vor jedem Schreibvorgang
eine Zeilenadresse RA eingegeben und eine Wortleitung aktiviert
wurde.
-
Für einen
X8-Betrieb eines Speicherschreibvorgangs werden die externen E/A-Datenbreitensteuerbits mit
einem logischen Wert „11” von den
Adressenleitungen ADDR<9> und ADDR<10> synchron mit dem Schreibbefehl
WRITE und der Zeilenadresse CA zu Beginn der Taktperiode C1 eingegeben.
Darauf gibt der Decoder 100 ein internes E/A-Datenbreitensteuersignal
WCON<0:3> mit einem logischen
Wert „1000” aus, der
in die Steuerschaltung 300 für den Dateneingabepuffer 900 eingegeben
wird. In Reaktion darauf gibt die Steuerschaltung 300 ein
4-Bit-Eingabepuffersteuersignal
CIN<0:3> mit einem logischen
Wert „1111” aus. Der Dateneingabepuffer 900 gibt
in Reaktion auf das Einga bepuffersteuersignal mit dem logischen
Wert „1111” ein 8-Bit-Datenwort
D0 bis D7 aus, das in den Speicher geschrieben werden soll, d. h.
ohne eines der Dateneingabebits D0 bis D7 zu maskieren, um so ein
8-Bit-Datenwort
DATA_IN<0:7> zur Verfügung zu
stellen, das in den Speicher geschrieben werden soll.
-
Für einen
X6-Betrieb eines Speicherschreibvorgangs werden die externen E/A-Datenbreitensteuerbits mit
einem logischen Wert „10” von den
Adressenleitungen ADDR<9> und ADDR<10> synchron mit dem Schreibbefehl
WRITE und der Zeilenadresse CA zu Beginn der Taktperiode C5 eingegeben.
Darauf gibt der Decoder 100 ein internes Datenbreitensteuersignal
WCON<0:3> mit vier Bit und einem
logischen Wert „0100” aus, der
in die Steuerschaltung 300 für den Dateneingabepuffer 900 eingegeben
wird. In Reaktion darauf gibt die Steuerschaltung 300 ein
4-Bit-Eingabepuffersteuersignal CIN<0:3> mit
einem logischen Wert „0111” aus. Der
Dateneingabepuffer 900 gibt in Reaktion auf das Eingabepuffersteuersignal
mit dem logischen Wert „0111” ein 6-Bit-Datenwort
D0 bis D5 aus, d. h. die letzten beiden Datenbits der eingegebenen
Datenbits D0 bis D7 werden maskiert, um ein 6-Bit-Datenwort DATA_IN<0:5> zu erzeugen, das in
den Speicher geschrieben wird.
-
Wie
aus 6 weiter ersichtlich ist, werden für einen
X2-Betrieb eines Speicherschreibvorgangs die externen E/A-Datenbreitensteuerbits
mit einem logischen Wert „00” von den
Adressenleitungen ADDR<9> und ADDR<10> synchron mit dem Schreibbefehl
WRITE und der Zeilenadresse CA zu Beginn der Taktperiode C9 eingegeben.
Darauf gibt der Decoder 100 ein internes Datenbreitensteuersignal
WCON<0:3> mit einem logischen
Wert „0001” aus, der
in die Steuerschaltung 300 für den Dateneingabepuffer 900 eingegeben
wird. In Reaktion darauf gibt die Steuerschaltung 300 ein
4-Bit-Eingabepuffersteuersignal CIN<0:3> mit
einem logischen Wert „0001” aus. Der
Dateneingabepuffer 900 gibt in Reaktion auf das Eingabepuffersteuersignal CIN<0:3> mit dem logi schen
Wert „0001” ein 2-Bit-Datenwort
D0, D1 aus, d. h. die letzten sechs Datenbits der eingegebenen Datenbits
D0 bis D7 werden maskiert, um ein 2-Bit-Datenwort DATA_IN<0:1> zu erzeugen, das in
den Speicher geschrieben wird.
-
7 zeigt
ein Schaltbild einer möglichen
Realisierung des Decoders
100 für den Halbleiterspeicherbaustein
400 aus
4.
Im Wesentlichen umfasst der Decoder
100 eine Mehrzahl von
logischen Schaltungen
110,
120,
130,
140,
die parallel zum Ausgang einer Schalteinheit
150 geschaltet
sind. Die Schalteinheit
150 empfängt das externe E/A-Datenbreitensteuersignal,
z. B. das 2-Bit-Steuersignal AD<9:10>, welches über die redundanten
Adressenleitungen eingegeben wird. Zudem umfasst der Decoder
100 ein
logisches ODER-Gatter
160, das als Eingabesignal den Lese-
oder Schreibbefehl READ, WRITE während
eines Speicherzugriffsvorgangs empfängt. Die Schalteinheit
150 wird
in Reaktion auf den Lese- oder Schreibbefehl READ, WRITE aktiviert.
Basierend auf dem logischen Pegel der Steuerbits AD<9:10> des externen E/A-Datenbreitensteuersignals
wird während
eines Lese- oder Schreibvorgangs eines der Bits des internen E/A-Datenbreitensteuersignals
WCON<0:3> auf einen logischen
Wert „1” gesetzt.
Die nachfolgende Tabelle 1 zeigt die logischen Pegel des Puffersteuersignals
WCON<0:3>, das während eines
Lese- oder Schreibvorgangs basierend auf dem logischen Pegel der
Steuerbits des externen E/A-Datenbreitensteuersignals AD<9:10> für verschiedene E/A-Datenbreiten
erzeugt wird.
E/A-Breite | AD <9> | AD <10> | WCON <0> | WCON <1> | WCON <2> | WCON <3> |
X8 | 1 | 1 | 1 | 0 | 0 | 0 |
X6 | 1 | 0 | 0 | 1 | 0 | 0 |
X4 | 0 | 1 | 0 | 0 | 1 | 0 |
X2 | 0 | 0 | 0 | 0 | 0 | 1 |
Tabelle
1
-
8 zeigt
ein Schaltbild einer möglichen
Realisierung der Steuerschaltung
200 für den Datenausgabepuffer
800 des
Halbleiterspeicherbausteins
400 aus
4. Im Wesentlichen
umfasst die Steuerschaltung
200 für den Datenausgabepuffer
800 eine
Mehrzahl von Schalteinheiten
210,
220,
230,
240 und
eine Mehrzahl von ODER-Gattern
215,
225,
235.
Die Steuerschaltung
200 für den Datenausgabepuffer
800 wird
in Reaktion auf den Lesebefehl READ aktiviert. Insbesondere empfängt jede
der Schalteinheiten
210,
220,
230 und
240 als
Eingabesignal den Lesebefehl READ und gibt ein zugehöriges Ausgabepuffersteuersignalbit
COUT<0>, COUT<1>, COUT<2>, COUT<3> in Abhängigkeit
vom logischen Pegel des internen Datenbreitensteuersignals WCON<3:0> aus, das vom Decoder
100 ausgegeben
wird. Die nachfolgende Tabelle 2 zeigt die logischen Pegel des Ausgabepuffersteuersignals
COUT<0:3>, das während eines
Lesevorgangs basierend auf dem logischen Pegel des internen E/A-Datenbreitensteuersignals
WCON<0:3> für verschiedene E/A-Datenbreiten erzeugt
wird.
E/A-Breite | WCON <0> | WCON <1> | WCON <2> | WCON <3> | COUT <0> | COUT <1> | COUT <2> | COUT <3> |
X8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
X6 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
X4 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
X2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
Tabelle
2
-
9 zeigt
ein Schaltbild einer möglichen
Realisierung der Steuerschaltung
300 für den Dateneingabepuffer
900 des
Halbleiterspeicherbausteins
400 aus
4. Im Wesentlichen
umfasst die Steuerschaltung
300 für den Dateneingabepuffer
900 eine
Mehrzahl von Schalteinheiten
310,
320,
330,
340 und
eine Mehrzahl von ODER-Gattern
315,
325,
335.
Die Steuerschaltung
300 für den Dateneingabepuffer
900 wird
in Reaktion auf den Schreibbefehl WRITE aktiviert. Insbesondere
empfängt
jede der Schalteinheiten
310,
320,
330 und
340 als
Eingabesignal den Schreibbefehl WRITE und gibt ein zugehöriges Eingabepuffersteuersignalbit CIN<0>, CIN<1>, CIN<2>, CIN<3> in Abhängigkeit
vom logischen Pegel des internen E/A-Datenbreitensteuersignals WCON<3:0> aus, das vom Decoder
100 ausgegeben
wird. Die nachfolgende Tabelle 3 zeigt die logischen Pegel des Eingabepuffersteuersignals
CIN<0:3>, das während eines
Schreibvorgangs basierend auf dem logischen Pegel des internen Datenbreitensteuersignals
WCON<0:3> für verschiedene E/A-Datenbreiten erzeugt
wird.
E/A-Breite | WCON <0> | WCON <1> | WCON <2> | WCON <3> | CIN <0> | CIN <1> | CIN <2> | CIN <3> |
X8 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
X6 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 |
X4 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
X2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
Tabelle
3
-
10 zeigt
ein Schaltbild einer möglichen
Realisierung des Datenausgabepuffers 800 des Halbleiterspeicherbausteins 400 aus 4.
Insbesondere zeigt 10 die Eingabesignale und Ausgabesignale
jeder der Ausgabepufferschaltungen 810 bis 880 des
Datenausgabepuffers 800 aus 4. Die Ausgabepufferschaltungen 810 bis 880 empfangen
zugehörige
Datenbits DATA_OUT<0> bis DATA_OUT<7>, die vom Speicher gelesen
werden, und Steuerbits des Ausgabepuffersteuersignals COUT<0:3>. Insbesondere empfangen
beim Ausgabepuffer 800 aus 10 die
Ausgabepufferschaltungen 810 und 820 als Eingabesignal
das Steuerbit COUT<3>, die Ausgabepufferschaltungen 830 und 840 empfangen
als Eingabesignal das Steuerbit COUT<2>,
die Ausgabepuf ferschaltungen 850 und 860 empfangen
als Eingabesignal das Steuerbit COUT<1> und
die Ausgabepufferschaltungen 870 und 880 empfangen
als Eingabesignal das Steuerbit COUT<0>.
In Abhängigkeit
vom logischen Pegel des Steuerbits COUT<i>,
welches in die Ausgabepufferschaltungen 810 bis 880 eingegeben
wird, maskieren die Ausgabepufferschaltungen 810 bis 880 Datenbits
des ausgelesenen Datenworts DATA_OUT<0:7> und
verhindern, dass solche Bits an den Datenausgabeanschlüssen DOUT0
bis DOUT7 ausgegeben werden.
-
11 zeigt
beispielhaft ein Schaltbild einer möglichen Realisierung der jeweiligen
Ausgabepufferschaltung 810 bis 880 für den Datenausgabepuffer 800 aus 10.
Die Ausgabepufferschaltung von 11 umfasst
eine erste logische Schaltung L1, eine zweite logische Schaltung 12 und
einen Inverter mit einem PMOS-Transistor MP4 und einem NMOS-Transistor MN4. Im
Betrieb entspricht der logische Pegel des ausgegebenen Datenbits
DOUT(i), wenn das Steuerbit COUT<i> einen logischen Wert „1” hat, dem
logischen Pegel des Datenbits DATA_OUT<i>,
das aus dem Speicher gelesen wird. Unter der Annahme, dass die Datenbits DATA_OUT<i> und COUT<i> beide einen logischen
Pegel mit dem Wert „1” haben,
ist das Ausgabesignal der ersten logischen Schaltung L1 ein logischer
Pegel mit dem Wert „0” und das
Ausgabesignal der zweiten logischen Schaltung 12 ist ebenfalls
ein logischer Pegel mit dem Wert „0”. Deshalb wird der NMOS-Transistor
MN4 sperrend geschaltet und der PMOS-Transistor MP4 wird leitend
geschaltet, wodurch ein Ausgabeknoten A auf einen logischen Pegel
mit dem Wert „1” gezogen
wird.
-
Andererseits
ist das Ausgabesignal der ersten logischen Schaltung 11 auf
einem logischen Pegel mit dem Wert „1” und das Ausgabesignal der
zweiten logischen Schaltung 12 ist auf einem logischen
Pegel mit dem Wert „0”, unabhängig vom
logischen Pegel des Datenbits DATA_OUT<i>,
wenn das Datenbit COUT<i> auf einem logischen
Pegel mit dem Wert „0” ist. In
einem solchen Fall sind beide Transistoren MP4 und MN4 sperrend
geschaltet, wodurch die Daten vor der Ausgabe am Anschluss DOUT(i)
maskiert, d. h. gesperrt sind. Im dargestellten erfindungsgemäßen Halbleiterspeicherbaustein 400 hat
vorzugsweise jede der Datenausgabepufferschaltungen 810 bis 880 aus 10 den
gleichen in 11 dargestellten Schaltungsaufbau
und arbeitet auf die gleiche Weise.
-
12 zeigt
ein Schaltbild einer möglichen
Realisierung des Dateneingabepuffers 900 des Halbleiterspeicherbausteins 400 aus 4.
Insbesondere zeigt 12 die Eingabesignale und Ausgabesignale
jeder der Eingabepufferschaltungen 910 bis 980 des
Dateneingabepuffers 900 aus 4. Die Eingabepufferschaltungen 910 bis 980 empfangen
zugehörige
Eingabedatenbits DIN0 bis DIN7, die in den Speicher geschrieben werden,
und Steuerbits CIN<i> des Eingabepuffersteuersignals
CIN<0:3>. Insbesondere empfangen
beim Eingabepuffer 900 aus 12 die
Eingabepufferschaltungen 910 und 920 als Eingabesignal
das Steuerbit CIN<3>, die Eingabepufferschaltungen 930 und 940 empfangen
als Eingabesignal das Steuerbit CIN<2>,
die Eingabepufferschaltungen 950 und 960 empfangen
als Eingabesignal das Steuerbit CIN<1> und
die Eingabepufferschaltungen 970 und 980 empfangen
als Eingabesignal das Steuerbit CIN<0>.
In Abhängigkeit
vom logischen Pegel des Steuerbits CIN<i>,
welches in die Eingabepufferschaltungen 910 bis 980 eingegeben
wird, maskieren die Eingabepufferschaltungen 910 bis 980 einige
der eingegebenen Datenbits DIN0 bis DIN7.
-
13 zeigt
beispielhaft ein Schaltbild einer möglichen Realisierung der jeweiligen
Eingabepufferschaltung 910 bis 980 für den Dateneingabepuffer 900 aus 12.
Die Eingabepufferschaltung von 13 ist
im Wesentlichen vom Typ eines Differenzverstärkers mit einem NMOS-Transistor MN2 zum
Empfangen der Eingabedaten DIN(i), einem NMOS-Transistor MN1 zum
Empfangen einer Referenzspannung REF, einer Stromspiegelschaltung,
die aus PMOS-Transistoren MP1 und MP2 gebildet wird, einem NMOS-Transistor MN3,
der als Eingabesignal ein Steuerbit CIN<i> zum
Steuern des NMOS-Transistors MN3 empfängt, um den Differenzverstärker mit
einer Massespannung VSS zu verbinden oder von dieser zu trennen,
und einen Inverter INV1 zum Invertieren der Daten von einem Knoten
B und zum Ausgeben des Datenbits DATA_IN<i>,
welches in den Speicher geschrieben wird.
-
Im
Betrieb wird der NMOS-Transistor MN3 leitend geschaltet und der
Differenzverstärker
erzeugt ein Ausgabesignal am Knoten B mit einem logischen Pegel,
der ungefähr
dem Gegenteil des logischen Pegels der eingegebenen Daten DIN(i)
entspricht, wenn das Steuerbit CIN<i> einen logischen Pegel
mit dem Wert „1” hat. Der
Inverter INV1 invertiert das Signal am Knoten B zur Ausgabe des
Datenbits DATA_IN<i> und ändert den Spannungspegel
des Bits auf einen CMOS-Signalpegel. Andererseits wird der NMOS-Transistor
MN3 sperrend geschaltet, wodurch die Eingabedaten DIN(i) gegenüber einem
Puffern und Ausgeben als Datenbit DATA_IN<i> maskiert,
d. h. gesperrt werden, wenn das Steuerbit CIN<i> auf
einem logischen Pegel mit dem Wert „0” ist. Im dargestellten erfindungsgemäßen Halbleiterspeicherbaustein 400 hat
jede der Dateneingabepufferschaltungen 910 bis 980 aus 12 vorzugsweise
den gleichen in 13 dargestellten Schaltungsaufbau
und arbeitet auf die gleiche Weise.
-
14 zeigt
ein schematisches Blockschaltbild eines erfindungsgemäßen Speichersystems 1000. Das
Speichersystem 1000 umfasst eine CPU 1001, eine
Speichersteuerschaltung 1002 und eine Mehrzahl von Speichermodulen 1003.
Die CPU kann eine Mikroprozessoreinheit (MPU) oder eine Netzwerkprozessoreinheit
(NPU) etc. sein. Jedes der Speichermodule 1003 umfasst
eine Mehrzahl von Halbleiterspeicherbausteinen 400 z. B.
der in 4 gezeigten Art. Die CPU 1001 ist über ein
erstes Bussystem B1, beispielsweise einen Steuerbus, einen Datenbus
oder einen Adressenbus, mit der Speichersteuerschaltung 1002 verbunden und
die Speichersteuerschaltung 1002 ist über ein zweites Datenbussystem
B2, beispielsweise einen Steuerbus, einen Datenbus oder einen Adressenbus,
mit den Speichermodulen 1003 verbunden. Bei dem in 14 dargestellten
Speichersystem steuert die CPU 1001 die Speichersteuerschaltung 1002,
und die Speichersteuerschaltung 1002 steuert die Speicher 1003, 400,
obwohl die CPU selbstverständlich
auch so implementiert sein kann, dass sie direkt auf die Speicher
zugreift, ohne Verwendung einer separaten Speichersteuerschaltung.
-
Im
Speichersystem aus 14 kann jedes Speichermodul 1003 beispielsweise
eine Speicherbank repräsentieren
und jeder Speicherbaustein 400 eines gegebenen Speichermoduls 1003 kann
ein erfindungsgemäßer Halbleiterspeicherbaustein 400 sein,
der einen Steuerschaltungsaufbau für eine variable E/A-Datenbreite
umfasst, wobei dieser Steuerschaltungsaufbau innerhalb des jeweiligen
Speicherbausteins 400 angeordnet sein kann.
-
Ein
anderes erfindungsgemäßes Speichersystem
kann einen oder mehrere separate Halbleiterspeicherbausteine anstelle
der Speichermodule 1003 aus 14 und
eine zentrale Prozessoreinheit (CPU) ohne Speichersteuerschaltung
umfassen. Bei diesem Ausführungsbeispiel
kommunizieren die Speicherbausteine direkt mit der CPU. In einem
weiteren Ausführungsbeispiel
kann das Speichersystem eine Mehrzahl der in 14 dargestellten
Speicherbausteine 400 anstelle der Module 1003 umfassen,
die direkt mit einer Speichersteuerschaltung kommunizieren.