-
Die
Erfindung bezieht sich allgemein auf das Zugreifen auf Speichervorrichtungen
und insbesondere auf das Zugreifen auf dynamische Doppeldatenraten-
(DDR-) Direktzugriffspeicher- (DRAM-) Vorrichtungen, wie z. B. DRAM-Vorrichtungen
vom DDR-II-Typ.
-
Die
Entwicklung von Submikrometer-CMOS-Technologie hat zu einer steigenden Nachfrage
nach Hochgeschwindigkeitshalbleiterspeichervorrichtungen geführt, wie
z. B. dynamischen Direktzugriffsspeicher- (DRAM-) Vorrichtungen,
pseudostatischen Direktzugriffsspeicher- (PSRAM-) Vorrichtungen
und dergleichen. Hierin werden solche Speichervorrichtungen gemeinsam
als DRAM-Vorrichtungen bezeichnet.
-
Einige
DRAM-Vorrichtungstypen haben eine synchrone Schnittstelle, was allgemein
bedeutet, dass Daten in Verbindung mit einem Taktpuls in die Vorrichtungen
gespeichert und von denselben gelesen werden. Frühe synchrone DRAM- (SDRAM-) Vorrichtungen übertrugen
ein einziges Datenbit pro Taktzyklus (z. B. auf einer ansteigenden
Flanke) und werden entsprechend als Einzeldatenraten- (SDR-) SDRAM-Vorrichtungen
bezeichnet. Später
entwickelte Doppeldatenraten- (DDR-) SDRAM-Vorrichtungen umfassen
Eingabe/Ausgabe- (I/O-) Puffer, die ein Datenbit sowohl auf der
ansteigenden als auch der abfallenden Flanke des Taktsignals übertragen
und dadurch die effektive Datenübertragungsrate
verdoppeln. Andere SDRAM-Vorrichtungstypen, die als DDR-II-SDRAM-Vorrichtungen bezeichnet
werden, übertragen
zwei Datenbits auf jeder Taktflanke, typischerweise durch Betreiben
der I/O-Puffer bei zweimal der Frequenz des Taktsignals, wodurch
die Datenübertragungsrate
erneut verdoppelt wird (auf viermal die SDR-Datenübertragungsrate).
-
Während die
Speichergeschwindigkeiten sich erhöhen, ergibt das Betreiben der
I/O-Puffer und das Verarbeiten der Daten bei zweimal der Taktfrequenz
leider eine Anzahl von Herausforderungen. Beispielsweise unterstützen moderne
SDRAM-Vorrichtungen
eine Anzahl von unterschiedlichen Datenübertragungsmodi (z. B. verschachtelte
oder sequentielle Burstmodi), die es erfordern, dass Daten neu angeordnet
werden, bevor dieselben in ein Speicherarray geschrieben werden,
oder nachdem dieselben von demselben gelesen werden. Ferner haben
diese Vorrichtungen aus verschiedenen Gründen (z. B. Geometrie, Ertrag
und Geschwindigkeitsoptimierungen) häufig physikalische Speichertopologien,
die „Verwürfelungs"-Techniken verwenden,
wo logisch benachbarte Adressen und/oder Daten nicht physikalisch
benachbart sind. Dieses Neuanordnen und Verwürfeln von Daten beeinträchtigt,
wann und wie Daten zwischen Datenanschlussflächen und einem Speicherarray
weitergeleitet werden, und erfordert typischerweise eine komplexe
Schaltlogik.
-
Aufgrund
dieser Komplexität
wird eine herkömmliche
Datenwegschaltlogik typischerweise durch Synthese entworfen, die
sich allgemein auf den Prozess des Umwandelns eines Entwurfs von
einer Entwurfssprache hoher Ebene (z. B. VHDL) in tatsächliche
Gatter. Leider hat der Syntheseentwurf Nachteile. Beispielsweise
setzt er die gesamte Kombinationslogik zusammen, was zu mehr Gatterverzögerung und
größerer Maskenfläche führt, was
sowohl die Leistungsfähigkeit
als auch die Dichte beeinträchtigt.
Ferner verschlechtern Zeitstörimpulse
und unnötige
Schaltoperationen in diesen Entwürfen
häufig
die Geschwindigkeitsleistung und erhöhen den Leistungsverbrauch.
Diese Zeitprobleme werden problematischer, wenn sich die Taktfrequenzen
erhöhen. Außerdem fördert die
typischerweise nichtstrukturierte Art der Logik, die durch Synthese
entworfen wird, nicht die Wiederverwendung, beispielsweise bei Vorrichtungsfamilienmitgliedern
mit unterschiedlichen Organisationen (z. B. x4, x8 und x16) oder
innerhalb einer einzelnen Vorrichtung, die unterschiedliche Organisationen
unterstützt.
-
Was
folglich benötigt
wird, ist ein flexibler Datenweglogikentwurf, der in der Lage ist,
Schaltoperationen zu unterstützen,
die erforderlich sind, um Daten zwischen Speicherarrays und externen
Datenanschlussflächen
zu übertragen.
-
Es
ist die Aufgabe der vorliegenden Erfindung, eine Speichervorrichtung,
ein Verfahren zum Austauschen von Daten mit einer Speichervorrichtung
sowie ein Verfahren zum Austauschen von Daten zwischen Datenanschlussflächen und
einem oder mehreren Speicherarrays mit verbesserten Charakteristika
zu schaffen.
-
Diese
Aufgabe wird durch eine Speichervorrichtung gemäß einem der Ansprüche 1, 4,
10 und 23 sowie ein Verfahren gemäß einem der Ansprüche 14, 17
und 20 gelöst.
-
Ausführungsbeispiele
der vorliegenden Erfindung liefern allgemein Verfahren und Vorrichtungen
für eine
effiziente Übertragung
von Daten zwischen Datenanschlussflächen und Speicherarrays.
-
Ein
Ausführungsbeispiel
liefert eine Speichervorrichtung, die allgemein ein oder mehrere Speicherarrays
umfasst, zumindest eine Neuanordnungslogikstufe und eine I/O-Pufferstufe. Die
Neuanordnungslogik wird bei einer Kernfrequenz betriebenen und allgemein
konfiguriert, um während
einer Schreiboperation Datenbits, die an einem ersten Satz von Datenleitungen
empfangen werden, auf einen zweiten Satz von Datenleitungen neu
anzuordnen, der in die Speicherarrays zu schreiben ist, und um während einer
Leseoperation Datenbits, die von den Speicherarrays gelesen werden, über den
zweiten Satz von Datenleitungen auf den ersten Satz von Datenleitungen
neu anzuordnen. Die Eingabe/Ausgabe- (I/O-) Pufferstufe hat beispielsweise
für jede
einer Mehrzahl von Datenanschlussflächen eine Anschlussflächenlogik,
die konfiguriert ist, um während der
Leseoperation N Datenbits parallel von der Neuanordnungslogik auf
dem ersten Satz von Datenleitungen zu empfangen, und die N Bits
sequentiell auf der Datenanschlussfläche bei einer Datenfrequenz auszugeben,
und um während
der Schreiboperation N Datenbits sequentiell auf der Datenanschlussfläche bei
der Datenfrequenz zu empfangen, und die N Datenbits parallel zu
der Neuanordnungslogik auf dem ersten Satz von Datenleitungen auszugeben, wobei
N eine Ganzzahl größer als
1 ist und die Datenfrequenz zumindest zweimal die Kernfrequenz ist.
-
Ein
weiteres Ausführungsbeispiel
liefert eine Speichervorrichtung, die allgemein ein oder mehrere Speicherarrays,
Neuanordnungslogik, Verwürfelungslogik
und Anschlussflächenlogik
für jede
einer Mehrzahl von Datenanschlussflächen umfasst. Die Neuanordnungslogik
wird bei einer Kernfrequenz getrieben und ist allgemein konfiguriert,
um Datenbits, die parallel auf einem ersten Satz von Datenleitungen empfangen
werden, auf der Basis eines spezifizierten Burstübertragungstyps neu anzuordnen,
und die neu angeordneten Bits auf einem zweiten Satz von Datenleitungen
zu präsentieren.
Die Verwürfelungslogik
wird bei der Kernfrequenz getrieben und ist allgemein konfiguriert,
um Datenbits, die von der Neuanordnungslogik auf dem zweiten Satz
von Datenleitungen empfangen werden, basierend zumindest teilweise
auf einer physikalischen Position der Datenbits innerhalb der Speicherarrays,
auf einen dritten Satz von Datenleitungen neu anzuordnen, der in
die Speicherarrays zu schreiben ist. Die Anschlussflächenlogik
ist allgemein konfiguriert, um N Datenbits sequentiell auf einer
Datenfrequenz zu empfangen, und die N Datenbits in der empfangenen
Reihenfolge parallel zu der Neuanordnungslogik auf dem ersten Satz
von Datenleitungen ausgegeben, wobei die Datenfrequenz zumindest
zweimal die Kernfrequenz ist.
-
Ein
weiteres Ausführungsbeispiel
liefert eine Speichervorrichtung, die allgemein ein oder mehrere Speicherarrays,
eine Mehrzahl von Anschlussflächen und
einen pipelineartigen Datenweg zwischen der Mehrzahl von Anschlussflächen und den
Speicherarrays umfasst, der eine Anschlussflächenlogik, die bei einer Datenfrequenz
betrieben wird, und eine Neuanordnungslogik umfasst, die bei einer
Kernfrequenz betrieben wird, wobei die Datenfrequenz zumindest viermal
die Kernfrequenz ist.
-
Ein
weiteres Ausführungsbeispiel
liefert ein Verfahren zum Austauschen von Daten mit einer Speichervorrichtung,
das Adress- und/oder Datenverwürfeln
verwendet, wobei logisch benachbarte Adressen und/oder Daten in
einem oder mehreren Speicherarrays nicht physikalisch benachbart
sind. Das Verfahren umfasst allgemein das sequentielle Empfangen
von N Datenbits bei einer bestimmten Datenfrequenz auf einer Datenanschlussfläche von einer
externen Vorrichtung, wobei N eine Ganzzahl größer als 1 ist, wobei die N
Datenbits in der empfangenen Reihenfolge parallel auf einem ersten
internen Bus präsentiert
werden und die N Datenbits zumindest einmal auf zumindest einen
internen Bus bei einer Kernfrequenz neu anordnet, vor dem Schreiben der
N Datenbits in die Speicherarrays, wobei die Datenfrequenz zumindest
zweimal die Kernfrequenz ist.
-
Ein
weiteres Ausführungsbeispiel
liefert ein Verfahren zum Austauschen von Daten mit einer Speichervorrichtung.
Das Verfahren umfasst im Allgemeinen das Austauschen von Datenbits
bei einer gegebenen Datenfrequenz auf einer Mehrzahl von Datenanschlussflächen, die
von einem oder mehreren Speicherarrays gelesen werden oder in dasselbe geschrieben
werden sollen, und das Neuanordnen der Datenbits zumindest einmal
bei einer Kerntaktfrequenz vor dem Schreiben der Bits in das eine
oder die mehreren Speicherarrays oder vor dem Ausgeben der Bits
auf der Mehrzahl von Anschlussflächen, wobei
die Datenfrequenz zumindest zweimal die Kerntaktfrequenz ist.
-
Ein
weiteres Ausführungsbeispiel
liefert ein Verfahren zum Austauschen von Daten zwischen Datenanschlussflächen und
einem oder mehreren Speicherarrays. Das Verfahren umfasst allgemein das
Erzeugen eines Datentaktsignals und eines Kerntaktsignals von einem
externen Taktsignal, wobei das Datentaktsignal eine Frequenz aufweist,
die zumindest zweimal so groß ist
wie das Kerntaktsignal, das sequentielle Empfangen von Datenbits,
die in die Speicherarrays geschrieben werden sollen, auf den Datenanschlussflächen, in
Verbindung mit dem Datentaktsignal, das sequentielle Ausgeben von
Datenbits, die von den Speicherarrays gelesen werden, auf den Datenanschlussflächen in
Verbindung mit dem Datentaktsignal, und das Neuanordnen von Datenbits
in Verbindung mit dem Kerntaktsignal bevor dieselben in die Speicherarrays
geschrieben werden oder bevor dieselben auf den Datenanschlussflächen ausgegeben
werden.
-
Ein
weiteres Ausführungsbeispiel
liefert eine Speichervorrichtung, die allgemein eine Einrichtung zum
Empfangen von N Datenbits pro Zyklus eines externen Taktsignals
auf jedem von P Datenanschlussflächen
umfasst, und zum Präsentieren
der N Bits parallel auf einem ersten Satz von Datenleitungen, eine
Einrichtung zum Neuanordnen der N Datenbits, die auf jedem der P
Datenanschlussflächen empfangen
werden, in Verbindung mit einem Kerntaktsignal mit einer niedrigeren
Frequenz als das externe Taktsignal, und zum Präsentieren der neu angeordneten
N Bits auf einem zweiten Satz von Datenleitungen, und eine Einrichtung
zum Verwürfeln
der neu angeordneten Datenbits in Verbindung mit dem Kerntaktsignal
basierend zumindest teilweise auf einer physikalischen Position
auf einer Zieladresse und zum Präsentieren
der verwürfelten
Datenbits auf einem dritten Satz von Datenleitungen.
-
Damit
die oben erwähnten
Merkmale der vorliegenden Erfindung näher verständlich werden, wird eine genauere
Beschreibung der Erfindung, die oben kurz zusammengefasst ist, durch
Bezugnahme auf Ausführungsbeispiele
gegeben, von denen einige in den angehängten Zeichnungen dargestellt
sind. Es wird jedoch angemerkt, dass die angehängten Zeichnungen nur typische
Ausführungsbeispiele
dieser Erfindung darstellen und daher den Schutzumfang derselben
nicht beschränken,
da die Erfindung auch auf gleichermaßen effektive Ausführungsbeispiele
angewendet werden kann.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden Bezug nehmend auf beiliegende
Zeichnungen näher
erläutert.
Es zeigen:
-
1 eine
dynamische Direktzugriffsspeicher- (DRAM-) Vorrichtung gemäß Ausführungsbeispielen
der vorliegenden Erfindung;
-
2 einen
beispielhaften DRAM-Datenweg gemäß Ausführungsbeispielen
der vorliegenden Erfindung;
-
3 beispielhafte
Operationen zum Schreiben von Daten in bzw. Lesen von Daten von
Speicherarrays;
-
4A und 4B ein
beispielhaftes Blockdiagramm einer Nahe-Anschlussfläche-Anordnungslogik
bzw. entsprechender Wahrheitstabelle;
-
5A und 5B eine
beispielhafte Schreibweganordnungsschaltmatrix bzw. entsprechende
Wahrheitstabelle;
-
6A und 6B jeweils
eine beispielhafte Leseweganordnungsschaltmatrix bzw. entsprechende
Wahrheitstabelle;
-
7A und 7B beispielhafte
Einstellungen für
die Schaltmatrizen, die in 5A bzw. 6A dargestellt
sind;
-
8 ein
beispielhaftes Blockdiagramm einer intelligenten Arrayschaltlogik
gemäß Ausführungsbeispielen
der vorliegenden Erfindung;
-
9 eine
beispielhafte Schaltanordnung und Signalleitung für die in 8 gezeigte
intelligente Arrayschaltlogik;
-
10A und 10B eine
einzelne Stufe der in 9 gezeigten Schaltanordnung
bzw. der entsprechenden Wahrheitstabelle;
-
11 Schalteinrichtung
der in 10A gezeigten einzelnen Stufe
für eine
x16-Speicherorganisation;
-
12A und 12B Schalteinstellungen der
in 10A gezeigten einzelnen Stufe, für eine x8-Speicherorganisation;
und
-
13A bis 13D Schalteinstellungen der
in 10A gezeigten einzelnen Stufe für eine x4-Speicherorganisation.
-
Ausführungsbeispiele
der Erfindung liefern allgemein Techniken und Schaltungsanordnungen, die
Schaltoperationen unterstützen,
die erforderlich sind, um Daten zwischen Speicherarrays/Banken und
externen Datenanschlussflächen
zu übertragen. In
einem Schreibweg können
solche Schaltoperationen das Zwischenspeichern und Zusammensetzen einer
Anzahl von Bits, die sequentiell über eine einzelne Datenanschlussfläche empfangen
werden, Neuanordnen dieser Bits auf der Basis eines bestimmten Typs
von Zugriffsmodus (z. B. verschachtelt oder sequentiell, gerade/ungerade),
und Durchführen
von Verwürfelungsoperationen
auf der Basis der Chiporganisation (z. B. x4, x8 oder x16) einer Bankstelle
umfassen, auf die zugegriffen wird. Ähnliche Operationen können (in
umgekehrter Reihenfolge) in einem Leseweg durchgeführt werden,
um Daten vorzubereiten und zusammenzustellen, die aus einer Vorrichtung
gelesen werden sollen.
-
Durch
Verteilen dieser Schaltoperationen zwischen unterschiedlichen Logikblöcken in
dem Datenweg kann nur ein Teil der Operationen (z. B. Zwischenspeichern
der Daten) bei der Datentaktfrequenz durchgeführt werden, während die
verbleibenden Operationen (z. B. Anordnen und Verwürfeln) bei einer
niedrigeren Frequenz (z. B. eine Hälfte der externen Taktfrequenz)
durchgeführt
werden können. Außerdem können durch
Teilen dieser Schaltoperationen die Operationen parallel durchgeführt werden (z.
B. in einer pipelineartigen Weise), anstatt die gesamte komplexe
Decodierung auf serielle Weise an einem komplexen Block zu platzieren.
Als Folge kann dieser verteilte Logikansatz dazu beitragen, den
Geschwindigkeitsengpass auf der Datenwegebene zu reduzieren und
die (DDR-II-SDRAM-) Vorrichtungsleistungsfähigkeit zu verbessern.
-
Eine beispielhafte Speichervorrichtung
mit vereinfachter Anschlussflächenlogik
-
1 stellt
eine beispielhafte Speichervorrichtung 100 (z. B. eine
DRAM-Vorrichtung) dar, die eine Datenweglogikentwurf gemäß einem
Ausführungsbeispiel
der vorliegenden Erfindung verwendet, um auf Daten zuzugreifen,
die in einem oder mehreren Speicherarrays (oder Banken) 110 gespeichert sind.
-
Wie
es dargestellt ist, kann die Vorrichtung 100 eine Steuerlogik 130 umfassen,
um einen Satz von Steuersignalen 132 zu empfangen, um auf
(z. B. Lese-, Schreib- oder Auffrischungs-) Daten zuzugreifen, die
in den Arrays 110 an Stellen gespeichert sind, die durch
einen Satz von Adresssignalen 126 spezifiziert sind. Die
Adresssignale 126 können
ansprechend auf die Signale 132 zwischengespeichert werden
und in Zeilenadresssignale (RA) 122 und Spaltenadresssignale
(CA) 124 umgewandelt werden, die verwendet werden, um durch
die Adressierlogik 120 auf einzelne Zellen in den Arrays 110 zuzugreifen.
-
Daten,
die als Datensignale (DQ0 – DQ15) 152 präsentiert
werden, die von den Arrays 110 gelesen werden und in dieselben
geschrieben werden, können
zwischen externen Datenanschlussflächen von den Arrays 110 über I/O-Pufferlogik 135 übertragen
werden. Wie es vorher beschrieben wurde, kann diese Datenübertragung
eine Anzahl von Schaltoperationen erfordern, einschließlich Zusammensetzen einer
Anzahl von sequentiell empfangen Bits, Neuanordnen dieser Bits auf
der Basis eines Zugriffsmodustyps (z. B. verschachtelt oder sequentiell,
gerade/ungerade) und Durchführen
von Verwürfelungsoperationen
auf der Basis von Chiporganisation (z. B. x4, x8 oder x16) und der
physikalischen Stelle (z. B. einer bestimmten Bank oder Partition
in einer Bank) der Daten, auf die zugegriffen wird. Obwohl herkömmliche
Systeme einen einzelnen komplexen Logikblock verwenden können, um
alle diese Schaltoperationen durchzuführen, können Ausführungsbeispiele der vorliegenden
Erfindung die Operationen zwischen mehreren Logikblöcken verteilen.
-
Für einige
Ausführungsbeispiele
können
diese Logikblöcke
vereinfachte Anschlussflächenlogik (simplified
pad logic) 150, Nahe-Anschlussfläche-Anordnungslogik (near pad
ordering logic) 160 und intelligente Arrayschaltlogik (intelligent
array switching logic) 170 umfassen. Die vereinfachte Anschlussflächenlogik 150 und
die Nahe-Anschlussfläche-Anordnungslogik 160 können in
der I/O-Pufferlogik 135 integriert sein. Wie es dargestellt
ist, kann für
einige Ausführungsbeispiele
nur die vereinfachte Anschlussflächenlogik 150 bei
der Datentaktfrequenz betrieben werden (typischerweise zweimal die
externe Taktfrequenz für
DDR-II), während
die Nahe-Anschlussfläche-Anordnungslogik 160 und
die intelligente Arrayschaltlogik 170 bei einer langsameren Speicherkernfrequenz
betrieben werden können
(typischerweise eine Hälfte
der externen Taktfrequenz).
-
Im
Allgemeinen ist die vereinfachte Anschlussflächenlogik 150 während einer
Schreiboperation nur verantwortlich für das Empfangen von Datenbits,
die seriell auf externen Anschlussflächen präsentiert werden, und das Präsentieren
dieser Datenbits parallel (in der empfangenen Reihenfolge) an die
Nahe-Anschlussfläche-Anordnungslogik 160.
Die Nahe-Anschlussfläche-Anordnungslogik 160 ist
verantwortlich für das
(Neu-) Anordnen dieser Bits basierend auf dem bestimmten Zugriffsmodus,
und das Präsentieren
der angeordneten Bits an die intelligente Arrayschaltlogik 170.
Die intelligente Arrayschaltlogik 170 ist verantwortlich
für das
Durchführen
einer 1:1-Datenverwürfelungsfunktion,
das Schreiben von Daten auf einen Satz von Datenleitungen in die
Arrays in das Speicherbankarray durch einen anderen Satz von Datenleitungen.
Wie es nachfolgend näher beschrieben
wird, kann die genaue Art und Weise, wie die Daten verwürfelt werden,
bestimmt werden durch eine spezifische Chiporganisation (z. B. x4,
x8 und x16) und eine bestimmte Bankpartition, auf die zugegriffen
wird. Diese Komponenten arbeiten auf umgekehrte Weise entlang dem
Leseweg (z. B. wenn die Daten in einer Leseoperation übertragen
werden).
-
Lese- und
Schreibdatenwege
-
Die
kooperativen Funktionen der vereinfachten Anschlussflächenlogik 150,
der Nahe-Anschlussfläche-Anordnungslogik 160 und
der intelligenten Arrayschaltlogik 170 können mit
Bezugnahme auf 2 beschrieben werden, die eine
beispielhaften Lese-/Schreibdatenweg gemäß Ausführungsbeispielen der vorliegenden
Erfindung zeigt. Um das Verständnis
zu erleichtern werden die Schreib- und Lesewege getrennt beschrieben,
beginnend mit dem Schreibweg.
-
Wie
es dargestellt ist, kann die vereinfachte Anschlussflächenlogik 150 jede
geeignete Anordnung von Komponenten umfassen, wie z. B. Zuerst-Hinein-Zuerst-Hinaus-
(FIFO-) Zwischenspeicherpuffer, die konfiguriert sind, um eine Anzahl
von Datenbits, die seriell auf einer externen Anschlussfläche präsentiert
werden, zu empfangen und zusammenzusetzen. Jede externe Datenanschlussfläche kann
ihre eigene entsprechende Stufe 152 haben, die durch den
Datentakt getrieben wird. Wie es vorher beschrieben wurde, können in
einer DDR-II-DRAM-Vorrichtung Daten auf ansteigenden und abfallenden
Flanken des Datentakts übertragen werden,
so dass in jedem externen Taktzyklus vier Datenbits zwischengespeichert
werden können.
-
Sobald
vier Bits durch jede Stufe 151 zwischengespeichert sind
(z. B. jeder externe Taktzyklus), können diese Bits parallel zu
der Nahe-Anschlussfläche-Anordnungslogik 160 übertragen
werden, in der Reihenfolge, in der sie empfangen wurden, für eine mögliche Neuanordnung
auf der Basis des Zugriffsmodustyps. Anders ausgedrückt, die
vereinfachte Anschlussflächenlogik 150 muss
die Datensignale lediglich zwischenspeichern, ohne irgendwelches
Anordnen oder Verwürfeln
auf der Basis von Adresssignalen durchführen zu müssen, was die Wahrscheinlichkeit
von Rauschstörimpulsen
reduzieren kann, während
die Datensignale bei der (höheren)
Datentaktfrequenz übergehen.
Dieser Lösungsansatz
kann auch die Signalleitung vereinfachen, da Adresssignale, die
zum Anordnen notwendig sind, nicht zu der Anschlussflächenlogik
geleitet werden müssen.
-
Wie
es dargestellt ist, können
Daten zwischen der vereinfachten Anschlussflächenlogik 150 und
der Nahe-Anschlussfläche-Anordnungslogik 160 über einen
Bus von Datenleitungen übertragen
werden, die als Rückgrat-Lese/Schreibdaten-
(SRWD-; SRWD = spine read/write data) Leitungen 151 bezeichnet
werden. Wenn eine Gesamtzahl von 16 externen Datenanschlussflächen DQ<15:0> angenommen wird, gibt
es insgesamt 64 SRWD-Leitungen 151 (z. B. führt die
Anschlussflächenordnungslogik einen
4:1-Abruf für
jede Datenanschlussfläche durch)
für eine
DDR-II-Vorrichtung (32 für
eine DDR-I-Vorrichtung und 128 für DDR-III). Obwohl die vereinfachte
Anschlussflächenlogik 150 bei
der höheren
Datentaktfrequenz arbeitet, weil Daten nur übertragen werden, nachdem vier
Bits sequentiell empfangen werden, kann die Anschlussfläche-Anordnungslogik 160 bei
der niedrigeren Speicherkerntakt- (CLKCORE-)
Frequenz betrieben werden.
-
Wie
es dargestellt ist, kann die Nahe-Anschlussfläche-Anordnungslogik 160 für jede entsprechende
Datenanschlussfläche
eine Anordnung von Schaltern (hierin als Matrix bezeichnet) 162 umfassen,
um die vier Datenbits, die sie auf den SRWDL-Leitungen 151 empfängt, gemäß dem Zugriffsmodus
der aktuellen Operation (sequentiell oder verschachtelt, und Spaltenadresse
0 und Spaltenadresse 1 für
geraden oder ungeraden Modus) neu anzuordnen. Die angeordneten Bits
von jeder Matrix 162 werden auf einen anderen Satz von
Datenleitungen ausgegeben, darstellend ein Satz von Datenleitungen
(XRWDL) 161, die in einer horizontalen oder „X"-Richtung verlaufen. Anders ausgedrückt, jede Matrix 162 kann
eine 1:1-Datenverwürfelungsfunktion
zwischen den SRWD-Leitungen 151 und
den XRWD-Leitungen 161 durchführen.
-
Die
XRWDL-Leitungen 161 sind mit der intelligenten Arrayschaltlogik 170 verbunden,
die diese Leitungen auf einen anderen Satz von Datenleitungen verwürfelt, darstellend
ein Satz von Datenleitungen (YRWDL) 171, die in der vertikalen
oder „Y"-Richtung verlaufen.
Abhängig
von der aktiven Bank 110 auf die geschrieben wird, und
wo dieselbe angeordnet ist, verbindet die obere oder die untere Pufferstufe 112U oder 112L die
aktiven YRWD-Leitungen mit Lese/Schreib-Datenleitungen (RWDLs), die mit den
Speicherarrays 110 verbunden sind. Wie es dargestellt ist,
kann jede Bank in vier Partitionen unterteilt sein, wobei eine bestimmte
Partition durch die Spaltenadresse CR11 und die Zeilenadresse RA13 ausgewählt wird.
Beispielsweise wählt
CR11 = 1 mit Bezugnahme auf Bank 0 (die obere linke Bank 1100 ), eine Partition in der oberen Hälfte aus,
CR11 = 0 wählt
eine Partition in der unteren Hälfte
aus, während
RA13 = 1 eine Partition in der linken Seite auswählt und RA13 = 0 eine Partition
in der rechten Seite auswählt.
Diese Partition ermöglicht
es, dass die Arrays effizient verwendet werden, nicht nur für x16-Organisationen,
sondern auch für
x4- und x8-Organisationen.
-
In
jedem Fall führt
die intelligente Arrayschaltlogik 170 auch eine 1:1-Datenverwürfelungsfunktion
bei der Speicherkernfrequenz durch, wobei Daten von den XRWD-Leitungen 161 durch
Arraylese/Schreibdaten- (RWD-) Leitungen über die YRWDs in das Speicherbankarray
geschrieben werden. Wie es nachfolgend näher beschrieben ist, wird die
Art und Weise, wie die Daten verwürfelt werden, bestimmt durch
unterschiedliche Chiporganisation (x4, x8 und x16). Das Datenverwürfeln kann
auch bestimmt werden auf der Basis der bestimmten Partition in einer
gegebenen Bank, auf die zugegriffen wird (die Partition kann identifiziert
werden durch die Zeilenadresse RA13 und die Spaltenadresse CR11),
um Bitleitungsverdrehen zwischen Banken zu berücksichtigen, das in den Verdrehungsregionen 114 gezeigt
sind.
-
Während einem
Lesezugriff breiten sich die Daten in der entgegengesetzten Richtung,
durch die intelligente Arrayschaltlogik 170, die Nahe-Anschlussfläche-Verwürfelungslogik 160 und
die vereinfachte Anschlussflächenlogik 150 aus.
Anders ausgedrückt,
Daten können
der Reihe nach von den Speicherarrays 110 zu den XRWD-Leitungen 171 über die
intelligente Arrayschaltlogik 170 zu den SRWD-Leitungen 151 über die
Anschlussflächenverwürfelungslogik 160 und
schließlich
zu den Datenanschlussflächen über die
vereinfachte Anschlussflächenlogik 150 übertragen
werden. Wie es dargestellt ist, kann die Nahe-Anschlussfläche-Verwürfelungslogik 160 eine
Anordnung von Schaltern (z. B. eine Matrix) 164 für jede entsprechende
Datenanschlussfläche
umfassen, um die Datenbits neu anzuordnen. Als Folge kann die vereinfachte
Anschlussflächenlogik 150 die
Datenbits einfach in der Reihenfolge hinaus schieben, in der sie
empfangen wurden (bei der Datentaktrate) ohne komplizierte Logikoperationen durchzuführen und
ohne lange Steuersignalleitungen, die zu den Anschlussflächen geleitet
werden.
-
Operationen,
die durch die vereinfachte Anschlussflächenlogik 150, die
Nahe-Anschlussfläche-Anordnungslogik 160 und
die intelligente Arrayschaltlogik 170 während Schreib- und Lesezugriffen durchgeführt werden,
sind in 3 zusammengefasst. Es sollte
angemerkt werden, dass die gleichen Operationen parallel durchgeführt werden
durch die vereinfachte Anschlussflächenlogik 150 für jede externe
Anschlussfläche
(z. B. 4, 8 oder 16 Anschlussflächen,
basierend auf der Organisation).
-
Indem
zuerst auf einen Schreibzugriff Bezug genommen wird, empfängt die
vereinfachte Anschlussflächenlogik 150 Datenbits
sequentiell an einer externen Anschlussflächen (bei der Datentaktfrequenz).
Nach dem Empfangen von vier Datenbits, präsentiert die vereinfachte Anschlussflächenlogik die
vier Datenbits parallel der Nahe-Anschlussfläche-Anordnungslogik 160 auf den
SRWD-Leitungen 151 in der empfangenen Reihenfolge. Bei
Schritt 306 ordnet die Nahe-Anschlussfläche-Anordnungslogik die Datenbits
auf den XRWD-Leitungen 161 basierend
auf dem Datenstrukturmodus neu an. Bei Schritt 308 führt die
intelligente Arrayschaltlogik 170 eine Datenverwürfelungsfunktion
durch, basierend auf Chiporganisation und der bestimmten Bankposition, auf
die relativ zu der Verdrehungsregion 114 zugegriffen wird,
um Daten in das Speicherarray zu schreiben (über die YRWD-Leitungen 171).
-
Mit
Bezugnahme auf 3B empfängt die intelligente
Arrayschaltlogik 170 während
einem Lesezugriff Lesedaten von dem Array (auf den YRWD-Leitungen 171)
und führt
eine Verwürfelungsfunktion
durch, um die Lesedaten bei Schritt 312 auf die XRWD-Leitungen 161 zu übertragen.
Bei Schritt 314 ordnet die Nahe-Anschlussfläche-Anordnungslogik 160 Bits
neu an auf die SRWD-Leitungen 151. Bei Schritt 316 empfängt die
vereinfachte Anschlussflächenlogik 150 die
angeordneten Datenbits parallel (auf den SRWD-Leitungen 151)
und gibt die Datenbits bei Schritt 318 in der empfangenen
Reihenfolge an die Datenanschlussfläche aus.
-
Beispielhafte
Schaltungskonfigurationen für die
vereinfachte Anschlussflächenlogik 150,
Nahe-Anschlussfläche-Anord nungslogik 160 und
intelligente Arrayschaltlogik 170, die in der Lage sind,
die oben beschriebenen Operationen durchzuführen, werden nun beschreiben.
Obwohl dieselben getrennt beschrieben sind, werden Fachleute auf
diesem Gebiet erkennen, dass diese Logikblöcke tatsächlich parallel geschaltet
sind, und somit einen effizienten pipelineartigen Datenweg mit reduzierter
Latenzzeit bilden.
-
Nahe-Anschlussfläche-Anordnungslogik
-
Wie
es vorher beschrieben wurde, empfängt jede Stufe 162 der
Nahe-Anschlussfläche-Anordnungslogik 160 während einem
Schreibzugriff vier Datenbits von der vereinfachten Anschlussflächenlogik 150 und
ordnet die vier Bits neu, basierend auf einem spezifizierten Datenzugriffsmodus
(d. h. sequentieller oder verschachtelter Burstmodus). Auf ähnliche
Weise empfängt
jede Stufe 164 während
einem Schreibzugriff vier Datenbits von der intelligenten Arrayschaltlogik 170 und
ordnet dieselben neu an (in der Reihenfolge, in der dieselben ausgelesen
werden sollten). 4A stellt diese Lese- und Schreibstufen 162 bis 164,
die einer der einzigen Anschlussflächen entsprechen, in näheren Einzelheiten
als in 2 dar.
-
Gemäß dem DDR-II-Betrieb
werden Datenbits auf gültige
Weise sowohl bei der ansteigenden als auch abfallenden Flanke eines
Takts zwischengespeichert. Indexe 0, 1, 2 und 3 können verwendet werden,
um die Ereignisse anzuzeigen, wo die Daten bei der ersten Taktanstiegsflanke,
bei der ersten Taktabfallsflanke, bei der zweiten Taktanstiegsflanke
und der zweiten Taktabfallsflanke zwischengespeichert werden. Wie
es in 4C dargestellt ist, könnten diese
Datenbits auch (nacheinander) bezeichnet werden als Even1- (gerade1),
(E1), Odd1- (ungerade1), (O1), Even2- (E2) und Odd2- (O2) Datenbits.
Wie es in 4A dargestellt ist, können diese Even/Odd-Kennungen
auch als Postfixnotationen an SRWD- und XRWD-Leitungen verwendet
werden, um Datenreihenfolge von und zu der entsprechenden DQ-Anschlussfläche zu reflektieren.
Während
einer Schreiboperation kann jede SRWD-Datenleitung über die Stufe 162 mit
einer der vier XRWD-Leitungen
(XRWDe1, XRWDo1, XRWDe2 und XRWDo2) gekoppelt sein, während während einer
Lesesequenz alle XRWD-Daten über
die Stufe 164 zu einer der vier SRWD-Leitungen (SRWDe1,
SRWDo1, SRWDe2 und SRWDo2) gehen können.
-
Wie
es oben beschrieben ist, werden die Datenbits sequentiell an der
Anschlussflächenebene
in der empfangenen Reihenfolge oder der Reihenfolge, in der dieselben
am Ausgang getrieben werden müssen,
gehandhabt. Daher werden diese Indexe benötigt, um die Datenreihenfolge
zu identifizieren. Für
einige Ausführungsbeispiele
können
die Stufen 162 und 164 konfiguriert sein, um die
Daten gemäß einem
Standarddatenstrukturmodus (z. B. definiert durch JEDEC STANDARD
JESD79-2A) neu anzuordnen, die sequentiellen oder verschachtelten Bursttypübertragung
spezifizieren kann, sowie auch die Anfangsadresse (CR1 und CR0)
in dem Burst. Der Bursttyp ist programmierbar (z. B. über ein
Modusregister), während
die Anfangsadresse durch einen Benutzer spezifiziert wird (z. B.
dem die Lese-/Schreiboperation präsentiert wird).
-
4B stellt
eine beispielhafte Tabelle 400 dar, die in der rechtesten Spalte
aufschlüsselt,
wie die Stufen 162 und 164 Daten neu anordnen
sollten, basierend auf unterschiedlichen Burstmodustypen und Anfangsadressen.
Außerdem
zeigt in Tabelle 400 VERSCHACHTELT = 1, dass die Vorrichtung in einem
Datenverschachtelungsmodus ist, wie er durch das JEDEC-Komitee definiert
ist. Daher stellen die ersten vier Einträge (VERSCHACHTELT = 0) nichtverschachtelte/Sequentielltyp-Übertragungsmodi
dar, mit unterschiedlichen Anfangsadressen, die durch die Spaltenadressen
(CA1 und CA0) spezifiziert sind. Wie es dargestellt ist, falls eine Nicht-Null-Anfangsadresse
geliefert wird, werden selbst für
einen Zugriff vom sequentiellen Typ die Datenleitungen neu angeordnet
(z. B. auf der Basis der Anfangs adresse logisch verschoben). Die
letzten vier Einträge
(VERSCHACHTELT = 1) stellen Übertragungsmodi
des verschachtelten Typs mit unterschiedlichen Anfangsadressen dar.
Falls eine Nicht-Null-Anfangsadresse vorgesehen ist, werden die
Datenleitungen auch neu angeordnet, wie es gezeigt ist.
-
5A stellt
eine beispielhafte Anordnung von Schaltungen 163 dar, die
in der Lage sind, die in Tabelle 400 von 4B gezeigte
Neuanordnung auszuführen,
die in der Schreibstufe 162 verwendet werden kann. Wie
es dargestellt ist, kann ein erster Satz der Schaltung 163E (gekennzeichnet
SW0-3) verwendet werden, um Daten von den SRWD-Leitungen auf die
geraden XRWD-Leitungen (XRWDE1 und XRWDE2) zu schalten, während ein
zweiter Satz der Schalter 163O (gekennzeichnet SW4-7) verwendet
werden kann, um Daten von SRWD-Leitungen auf die ungeraden SRWD-Leitungen
(XRWDO1 und XRWDO2) zu schalten. Die geschaltete Ausgabe für jede XRWD-Leitung kann durch
einen Zwischenspeicher 165 beibehalten werden. 5B stellt
eine beispielhafte Wahrheitstabelle zum Steuern der Schaltung 163 dar,
basierend auf den Spaltenadressen CA<1,0> und
einem Verschachtelt-Signal, um die in Tabelle 400 gezeigte Neuanordnung
zu implementieren.
-
6A stellt
eine ähnliche
Anordnung von Schaltern 167 dar, die in der Lesestufe 164 verwendet
werden kann. Wie es dargestellt ist, kann ein erster Satz der Schalter 167E (gekennzeichnet
SW0-3) verwendet werden, um Daten von den XRWD-Leitungen auf die
geraden SRWD-Leitungen (SRWDE1 und SRWDE2) zu schalten, während ein
zweiter Satz der Schalter 1670 (gekennzeichnet SW4-7) verwendet
werden kann, um Daten von den SRWD-Leitungen auf die ungeraden SRWD-Leitungen
(SRWDO1 und SRWDO2) zu schalten. Die geschaltete Ausgabe für jede SRWD-Leitung
kann durch einen Zwischenspeicher 169 beibehalten werden. 6B stellt
eine beispielhafte Wahrheitstabelle zum Steuern der Schalter 167 dar,
basierend auf den Spaltenadressen CA<1,0> und
einem Verschachtelt-Signal, um die in Tabelle 400 gezeigte Neuanordnung
zu implementieren. Wie es dargestellt ist, sind die Lese- und Schreibstufen 162 und 164 im
Wesentlichen die gleichen Strukturen, die mit unterschiedlichen
Signalen wiederverwendet werden, was zu gut ausgeglichenen Lese-
und Schreibzeitsteuerungswegen führen kann.
-
7A und 7B zeigen
beispielhafte Einstellungen für
die Schalter 163 und 167, die darstellen, wie
Daten gemäß der Tabelle
400 neu angeordnet werden. Das dargestellte Beispiel nimmt einen
Zugriffsmodus an, der dem vierten Eintrag entspricht, der in Tabelle
400 gezeigt ist, einen sequentiellen Zugriffsmodus mit einer Anfangsadresse,
die definiert ist durch CA0 = 1, CA1 = 1, was das Verwürfeln von
Indexen 0, 1, 2, 3 (auf SRWD-Leitungen) zu 1, 2, 3, 0 (auf XRWD-Leitungen)
erfordert.
-
7A stellt
die Schalteinstellungen der Stufe 162 für einen Schreibzugriff dar.
Wenn die Wahrheitstabellen 510 und 520, die in 5B gezeigt
sind, untersucht werden, ist zu sehen, dass die beispielhaften Einstellungen
(VER-SCHACHTELT
= 0, CA1 = 1, CA0 = 1) zum Schließen der Schalter SW3 und SW4
führen.
Das Schließen
von SW3 verbindet SRWDO2 (Index 3) mit XRWDE1 (Index 0) und SRWDO1
(Index 1) mit XRWDE2 (Index 2). Das Schließen von SW4 verbindet SRWDE1
(Index 0) mit XRWDO1 (Index 1) und SRWDE2 (Index 2) mit XRWDO2 (Index
3), wodurch die Datenleitungen gemäß dem vierten Eintrag in Tabelle
400 ordnungsgemäß geordnet
werden.
-
7B stellt
die Schaltereinstellungen der Stufe 164 für einen
Lesezugriff dar, mit den gleichen Burstmoduseinstellungen. Beim
Untersuchen der in 6B gezeigten Wahrheitstabellen 610 und 620 ist ersichtlich,
dass die beispielhaften Einstellungen (VERSCHACHTELT = 0, CA1 =
1, CA0 = 1) zum Schließen
der Schalter SW1 und SW6 führen.
Das Schließen
von SW1 verbindet XRWDO1 (Index 1) mit SRWDE1 (Index 0) und XRWDO2
(Index 3) mit SRWDE2 (Index 2). Das Schließen von SW6 verbindet XRWDE2
(Index 2) mit SRWDO1 (Index 1) und SRWDE1 (Index 0) mit SRWDO2 (Index
3), und ordnet dadurch die Bits in der ordnungsgemäßen Reihenfolge
zum Ausschreiben derselben.
-
Das
Verwenden getrennter Schreib- und Lesestufen 162 und 164 mit
identischen Schaltstrukturen kann dazu beitragen, Schreib- und Lesezeitgebung
auszugleichen. Durch Anordnen dieser Schaltstufen in der I/O-Pufferlogik,
die Chipmittedatenleitungen (SRWD) mit den Datenanschlussflächen (DQs)
verbindet, können
dazu beitragen, beim Zeitbudget zu sparen, indem es der vereinfachten
Anschlussflächenlogik 150 ermöglicht wird,
Datenbits lediglich in und aus der Datentaktfrequenz zu verschieben,
ohne Neuanordnungsoperationen durchführen zu müssen.
-
Intelligente
Arrayschaltlogik
-
Wie
es vorher beschrieben wurde, wird in modernen DRAM-Vorrichtungen Datenverwürfeln häufig aus
verschiedenen Gründen
verwendet, was zu logisch benachbarten Adressen oder Datenpositionen
führt,
die nicht physikalisch benachbart sind. Ein solches Verwürfeln kann
ein optimales geometrisches Layout von Speicherzellen (z. B. Falten)
ermöglichen,
bei Bemühungen,
Bitleitungs- und Wortleitungslängen
auszugleichen. Verwürfeln
kann es auch ermöglichen,
dass ein Arrayabereich optimiert wird durch gemeinschaftliches Verwenden
von Kontakten und Muldenbereichen. Ein Verwürfelungstyp, der als Bitleitungsverdrehen
verwendet wird, kann bei einer Bemühung verwendet werden, kapazitive Kopplung
zwischen benachbarten Bitleitungspaaren zu reduzieren.
-
Die
intelligente Arrayschaltlogik 170 kann verschiedene Verwürfelungstypen
berücksichtigen, durch
intelligentes Koppeln von XRWD-Leitungen mit YRWD-Leitungen, um
die notwendige Verwürfelung durchzuführen. Wie
es in 8 dargestellt ist, kann die Schaltlogik 170 bei
der Kerntaktfrequenz arbeiten und die Verwürfelungsoperationen können durch Bank-,
Zeilen- und Spaltenadressen gesteuert werden.
-
Die
Verwürfelungsoperationen
können
auch gesteuert werden durch die Vorrichtungsorganisation (z. B.
x4, x8 oder x16), die es ermöglichen
kann, dass die gleiche Schaltlogik 170 bei mehreren Vorrichtungen
wiederverwendet wird.
-
Ferner
kann die Schaltlogik 170 ein Array von einzelnen Matrizen
umfassen, um den Entwurf und Ausgleich von Zeitsteuerungswegen zu
vereinfachen. Wie es in 9 dargestellt ist, kann die
Schaltlogik 170 beispielsweise ein Array von 16 Matrizen 1720-15 umfassen. Jede Matrix 172 kann
eine Anordnung von Schaltern 174 aufweisen, die konfiguriert ist,
um vier Datenbits von dem Array (über YRWD-Leitungen) zu einer, zwei oder vier
XRWD-Leitungen zu übertragen
(abhängig
von der Vorrichtungsorganisation). Beispielsweise werden in einer x4-Organisation
nur Anschlussflächen
DQ<3:0> verwendet, so dass
jede Matrix 172 Daten nur zu einer XRWD-Leitung schaltet.
Gleichartig dazu werden in einer x8-Organisation nur Anschlussflächen DQ<7:0> verwendet, daher schaltet
jede Matrix 172 Daten nur zu zwei XRWD-Leitungen. In einer
x16-Organisation werden alle Datenanschlussflächen DQ<15:0> verwendet,
daher schaltet jede Matrix 172 Daten zu vier XRWD-Leitungen.
-
10A stellt eine einzelne Matrix 172 dar, als
ein Beispiel mit einer Anordnung von Schaltern 174, die
konfiguriert sind, um Daten zwischen „Even1" XRWD-Leitungen, die den Datenanschlussflächen 0,
4, 8 und 12 entsprechen, und YRWD-Datenleitungen für die Bitpositionen
0, 4, 8 und 12 zu verwürfeln.
Dies ist nur ein Beispiel einer einzelnen Matrix und die Schaltlogik 170 umfasst
andere Matrizen, aber ähnliche
Operationen durchzuführen,
um Daten zwischen anderen XRWD-Leitungen (Odd1, Even2 und Odd2)
und YRWD-Datenleitungen
für die Anschlussflächen 0,
4, 8 und 12 sowie anderen Sätzen
von Anschlussflächen
(z. B. 1-5-9-13, 2-6-10-14, 3-7-11-15) zu verwürfeln.
-
In
jedem Fall zeigt 10B eine Wahrheitstabelle zum
Einstellen der Schalter 174 auf der Basis der Vorrichtungs organisation,
Bankadressen BA<1,0>, Zeilenadresse RA13
und Spaltenadresse CR11. Wie es vorher beschrieben wurde, können RA13
und CR11 eine bestimmte Partition in einer aktiven Bank auswählen. Der
Betrieb der Schalter 174 auf der Basis von Signalwerten,
die in der Wahrheitstabelle gezeigt sind, kann am Besten beschrieben werden
mit Bezugnahme auf spezifische Beispiele. Das Decodieren der Matrix
ist auch wichtig, um die Daten während
einer Leseoperation an der gleichen Position wiederzugewinnen.
-
11 stellt
beispielsweise die Einstellung der Matrix 172 für eine x16-Organisation
dar. Wie es vorher beschrieben wurde, werden nur in diesem Fall alle
Datenleitungen (einschließlich
DQ8 und DQ12) verwendet. Beim Untersuchen der Wahrheitstabelle in 10B ist ersichtlich, dass x16 der einfachste Fall
ist (in der Tat ohne Verwürfelung),
wenn alle diagonalen Schalter SW1, SW2, SW4 und SW8 eingeschaltet
sind. Wie es in 11 gezeigt ist, verbindet SW1
YRWDO<12> mit XRWDE1<12>, SW2 verbindet YRWDO<8>mit XRWDE1<8>, SW4 verbindet YRWDO<4> mit XRWDE1<4> und SW8 verbindet YRWDO<0> mit XRWDE1<0>.
-
Wie
es in 12A und 12B dargestellt ist,
sind für
eine x8-Organisation zwei Fälle
verfügbar,
wobei RA13 entweder auf eine äußere oder
eine innere Hälfte
(in horizontale Richtung) jedes Speicherbankarrays zugreift. Mit
Bezugnahme auf die Wahrheitstabelle, falls RA13 = 1 ist, sind der Schalter
SW3 und der Schalter SW7 eingeschaltet (um auf die äußeren Bankpartitionen
zuzugreifen). Wie es in 12A gezeigt
ist, verbindet SW3 YRWDO<12> mit XRWDE1<4>, während SW7 YRWDO<4> mit XRWDE1<0> verbindet. Andererseits, falls
RA13 = 0 ist, sind der Schalter SW0 und SW8 eingeschaltet (um auf
die inneren Bankpartitionen zuzugreifen). Wie es in 12B gezeigt ist, verbindet SW0 YRWDO<8> mit XRWDE1<4> während SW8 YRWDO<0> mit XRWDE1<0> verbindet.
-
Wie
es in 13A – 13D dargestellt
ist, gibt es vier Fälle
für x4-Organisation.
Nicht nur äußere oder
innere Halbpar titionen der Speicherbankarrays, die durch RA13 gesteuert
werden, sondern auch obere oder untere halbe Partitionen können ebenfalls
durch CA11 gewählt
werden. Falls CA11 logisch „1" ist, wird auf eine
obere halbe Partition zugegriffen, während, falls CA11 logisch „0" ist, auf eine untere
halbe Partition zugegriffen wird. Zusammenfassend ist jedes Bankarray
in vier Partitionen unterteilt: obere äußere, obere innere und untere äußere und
untere innere. Ferner wird es aufgrund des Verdrehens der RWDL-Leitung
zwischen benachbarten Banken (siehe Verdrehungsregion 114 in 2) wichtig,
wo die Daten auf den RWDL-Leitungen zu platzieren sind, um den Zielspeicher
(korrekte physikalische Position) in dem Speicherarray zu erreichen.
-
Aufgrund
des Verdrehens fließen
32 Bits von RWD-Leitungen durch die untere Hälfte des linken Speicherbankarrays
und die obere Hälfte
des rechten Speicherbankarrays, während die anderen 32 Bits des
RWDL durch die unter Hälfte
des rechten Speicherbankarrays und die obere Hälfte des linken Speicherbankarrays
fließen.
Um die bestimmten Partitionen, auf die zugegriffen wird, (entweder
obere oder untere Hälfte
des Arrayabschnitts, in welcher Bank) ordnungsgemäß zu identifizieren,
können CA11
und das Bankadressbit 0 (BA0) einer logischen XOR-Verknüpfung unterzogen
werden (z. B. unter Verwendung des + Symbols, um XOR darzustellen, CA11
+ BA0 = „1", falls sowohl CA11
als auch BA0 logisch „0" oder logisch „1" sind, während CA11
+ BA0 = „1" ist, falls CA11
und BA0 entgegengesetzte Logikwerte sind). Als Folge wird in jedem
der Fälle
von x4-Organisation auf eine viertel Region in jeder benachbarten
Bank zugegriffen.
-
13A stellt den ersten Fall dar, mit RA13 = 1 und
CA11 + BA0 = 1, wodurch die obere äußere (linke) Partition des
linken Speicherbankarrays (BA0 = 0 und CA11 = 1) und die untere äußere (rechte) Partition
des rechten Speicherbankarrays (BA0 = 1 und CA11 = 0) ausgewählt werden
kann. Mit Bezugnahme auf die Wahrheitstabelle in 10B wird für diesen
Fall der Schalter SW5 eingeschaltet, der YRW-DO<12> mit XRWDE1<0> verbindet.
-
13B stellt den zweiten Fall dar, mit RA 13 = 0
und CA11 + BA0 = 1, wodurch die obere innere (rechte) Partition
des linken Speicherbankarrays (BA0 = 0 und CA11 = 1) und die untere
innere (linke) Partition des rechten Speicherbankarrays (BA0 = 1 und
CA11 = 0) ausgewählt
werden. Mit Bezugnahme auf die Wahrheitstabelle in 10B ist für
diesen Fall der Schalter SW6 eingeschaltet, der YRWDO<8> mit XRWDE1<0> verbindet.
-
13C stellt den dritten Fall dar, mit RA13 = 1
und CA11 + BA0 = 0, wodurch die untere äußere (linke) Partition des
linken Speicherbankarrays (BA0 = 0 und CA11 = 0) und die obere äußere (rechte)
Partition des rechten Speicherbankarrays (BA0 = 1 und CA11 = 1)
ausgewählt
wird. Mit Bezugnahme auf die Wahrheitstabelle in 10B ist für
diesen Fall der Schalter SW7 eingeschaltet, der YRWDO<4> mit XRWDE1<0> verbindet.
-
13D stellt den vierten Fall dar, mit RA13 = 0
und CA11 + BA0 = 0, wodurch die untere innere (rechte) Partition
des linken Speicherbankarrays (BA0 = 0 und CA11 = 0) und die obere
innere (linke) Partition des rechten Speicherbankarrays (BA0 = 1 und
CA11 = 1) ausgewählt
wird. Mit Bezugnahme auf die Wahrheitstabelle in 10B ist für
diesen Fall der Schalter SW8 eingeschaltet, der YRWDO<0> mit XRWDE1<0> verbindet.
-
Dieses überlappende
Schaltschema ermöglicht
eine minimale Anzahl von Schaltern, die ein/ausgeschaltet werden,
auf der Basis einer minimalen Anzahl von Zuständen, die dazu beitragen können, Leistungsverbrauch
zu minimieren und kapazitive Last auf den XRWD-Leitungen zu reduzieren.
Ferner, weil SW8 möglicherweise
für alle
Organisationen einschalten könnte,
gäbe es
keine zusätzliche
Verzögerungsstrafe
für x4-Komponenten,
die typischerweise mit den x16- und x8- Komponenten die gleiche Maske gemeinschaftlich
verwenden. Ein weiter vorteilhafter Aspekt des dargestellten Schema
ist, dass eine der vier RWD-Leitungen des x4-Schaltschemas zwischen
irgendwelchen zwei aktive RWD-Leitungen des x8-Schaltschemas platziert ist, was einen
Leitung-zu-Leitung-Schaltkopplungseffekt
reduzieren kann, wodurch die Schaltleistungsfähigkeit weiter verbessert wird.
-
Obwohl
oben Ausführungsbeispiele
mit spezifischer Bezugnahme auf DDR-II-DRAM-Vorrichtungen beschrieben
wurden, werden Fachleute auf diesem Gebiet erkennen, dass die gleichen
Techniken und Komponenten allgemein in jeder Speichervorrichtung
vorteilhaft verwendet werden können,
die Daten bei einer höheren
Taktgeschwindigkeit taktet als erforderlich ist, um diese Daten
zu verarbeiten. Folglich können
Ausführungsbeispiele
der vorliegenden Erfindung auch in (DDR-I) DRAM-Vorrichtungen verwendet
werden, die zwei Datenbits pro Taktzyklus übertragen, sowie jede spätere Generation
von DDR-Vorrichtungen (z. B. DDR-III-Vorrichtungen, die vier Datenbits
pro Taktzyklus übertragen).
-
Obwohl
ein Ausführungsbeispiel
einer DRAM-Vorrichtung, die eine getrennte vereinfachte Anschlussflächenlogik,
eine Nahe-Anschlussfläche-Anordnungslogik
und intelligente Arrayschaltlogik verwendet, beschrieben wurde,
werden Fachleute auf diesem Gebiet auch erkennen, dass andere Ausführungsbeispiele
verschiedene andere Anordnungen verteilter Logik umfassen können, um
eine ähnliche
Funktionalität
zu erreichen. Als ein Beispiel kann ein Ausführungsbeispiel eine getrennte
vereinfachte Anschlussflächenlogik
(die bei der Datentaktfrequenz arbeitet) und eine einzelne Logikeinheit
(die bei der niedrigeren Speicherkerntaktfrequenz arbeitet) umfassen,
die sowohl die Neuanordnungs- als auch Verwürfelungsfunktionen handhabt,
die durch die getrennte Nahe-Anschlussfläche-Anordnungslogik und intelligente
Arrayschaltlogik durchgeführt werden.
Noch ein weiteres Ausführungsbeispiel
kann die Neuanordnung mit der Anschlussflächenlogik integrieren (die
beide bei der Daten taktfrequenz arbeiten) und eine intelligente
Schaltarraylogik verwenden (die bei der niedrigeren Speicherkerntaktfrequenz
arbeitet), um die hierin beschriebenen Verwürfelungsfunktionen durchzuführen.
-
Schlussfolgerung
-
Ausführungsbeispiele
der vorliegenden Erfindung können
verwendet werden, um die Datenweggeschwindigkeitsbelastung von DRAM-Vorrichtungen
mit hohen Datentaktfrequenzen zu reduzieren. Durch Trennen von Hochgeschwindigkeitsanschlussflächenlogik
von Schaltlogik, die verschiedene andere Logikfunktionen durchführen kann
(z. B. Neuanordnungs- und Verwürfelungslogik),
kann es der Schaltlogik, die diese Funktionen durchführt, erlaubt
werden, bei einer niedrigeren Taktfrequenz zu arbeiten (z. B. die
Hälfte
der externen Taktfrequenz oder ein Viertel der Datenfrequenz), was
zugeordnete Zeitsteuerungsanforderungen entspannen kann und die
Latenzzeit verbessern kann, aufgrund von Einsparungen bei der Übergangszeit
der Daten von Speicherarrays zu den DQ-Anschlussflächen und umgekehrt.
Durch Verwenden optimierter Schaltanordnungen können auch ausgeglichene Verzögerungszeiten über Lese-
und Schreibwege sowie auch über
unterschiedliche Vorrichtungsorganisationen erreicht werden.
-
Obwohl
sich das Vorhergehende auf Ausführungsbeispiele
der vorliegenden Erfindung bezieht, können andere und weitere Ausführungsbeispiele der
Erfindung entwickelt werden, ohne von dem grundlegenden. Schutzbereich
derselben abzuweichen, und der Schutzbereich derselben ist durch
die folgenden Ansprüche
bestimmt.