-
Moderne
Computersysteme umfassen typischerweise eine flüchtige Hochgeschwindigkeitsspeichervorrichtung,
wie beispielsweise eine dynamische Direkt zugriffsspeichervorrichtung
(DRAM-Vorrichtung; DRAM = dynamic, random access memory), die verwendet
werden kann, um Daten für
das Computersystem zu speichern. Eine Speichervorrichtung umfasst
typischerweise eine Schnittstelle mit Befehlsanschlussstiften, Adressanschlussstiften und
Datenanschlussstiften, über
die auf Daten in der Speichervorrichtung zugegriffen werden kann.
Die Geschwindigkeit, mit der Daten zu oder von der Speichervorrichtung übertragen
werden können,
kann als die Bandbreite der Speichervorrichtung bezeichnet werden.
-
In
vielen Fällen
können
unterschiedliche Arten von Computersystemen konfiguriert sein, um
auf unterschiedliche Arten von Speichervorrichtungen zuzugreifen.
Derartige Anforderungen können
von dem Hersteller, der die Speichervorrichtung verwendet, oder
von der Art von Computersystem abhängen, in dem die Speichervorrichtung
verwendet werden soll. Beispielsweise kann ein Hersteller eine Speichervorrichtung
wünschen,
die eine Schnittstelle mit einem geringen Datenanschlussstiftzählwert liefert,
während
ein anderer Hersteller eine Speichervorrichtung mit einer Schnittstelle
dulden kann, die einen höheren
Datenanschlussstiftzählwert
liefert.
-
Wenn
die Speichervorrichtung eine Schnittstelle mit einem niedrigen Datenanschlussstiftzählwert liefert,
kann die Menge an Daten, die zu oder von der Speichervorrichtung
während
eines gegebenen Zugriffs übertragen
werden kann, und somit die Bandbreite, entsprechend reduziert sein.
Sowohl bei dem hohen Datenanschlussstiftzählwert als auch dem niedrigen
Datenanschlussstiftzählwert
wünscht sich
jeder Hersteller jedoch eventuell eine Speichervorrichtung mit der
größtmöglichen
Bandbreite. Im Hinblick auf einen Hersteller der Speichervorrichtung kann
ferner der Herstel ler wünschen,
jede Art von Vorrichtung (z. B. niedriger Stiftzählwert und hoher Stiftzählwert)
zu den Kunden desselben zu liefern, während Entwurfs-, Test- und
Herstellungskosten minimiert sind.
-
Was
folglich benötigt
wird, sind verbesserte Verfahren und Vorrichtungen zum Liefern von
Konfigurationen einer Speichervorrichtung.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Ausführungsbeispiele
der Erfindung sehen eine Speichervorrichtung und ein Verfahren zum
Bereitstellen der Speichervorrichtung vor. Bei einem Ausführungsbeispiel
umfasst das Verfahren ein Bereitstellen der Speichervorrichtung
mit einer Speicherarrayanordnung einer Breite N und ein Liefern
einer ersten Konfiguration der Speichervorrichtung und einer zweiten
Konfiguration der Speichervorrichtung. Das Liefern der ersten Konfiguration
der Speichervorrichtung umfasst ein Versehen der Speichervorrichtung
mit einer Datenanschlussstiftausgabe einer Breite N/M und einer
Stoßlänge (Burst-Länge) von
M, wobei M kleiner N ist. Das Liefern der zweiten Konfiguration
der Speichervorrichtung weist ein Bereitstellen einer Datenanschlussstiftausgabe
einer Breite N/P und einer Stoßlänge von
P auf, wobei P kleiner M ist, wobei M, N und P alles Ganzzahlen
sind.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Damit
die Art und Weise der oben genannten Merkmale der vorliegenden Erfindung
im Detail verstanden werden kann, kann eine speziellere Beschreibung
der Erfindung, die oben kurz zusammengefasst ist, durch Bezugnahme
auf Ausführungsbeispiele
erlangt werden, von denen einige in den beigefügten Zeichnungen dargestellt
sind. Es ist jedoch zu beachten, dass die beigefügten Zeichnungen lediglich
typische Ausführungsbeispiele
dieser Erfindung darstellen und deshalb nicht als den Schutzbereich derselben
einschränkend
betrachtet werden sollen, da die Erfindung andere gleichermaßen wirksame Ausführungsbeispiele
zulassen kann.
-
1 ist
ein Blockdiagramm, das eine Speichervorrichtung gemäß einem
Ausführungsbeispiel der
Erfindung zeigt.
-
2 ist
ein Flussdiagramm, das einen Prozess zum Liefern von Konfigurationen
einer Speichervorrichtung gemäß einem
Ausführungsbeispiel der
Erfindung zeigt.
-
3 ist
ein Blockdiagramm, das eine Konfiguration einer Speichervorrichtung
gemäß einem Ausführungsbeispiel
der Erfindung zeigt.
-
4 ist
ein Zeitdiagramm, das einen Lesevorgang zeigt, der an der Speichervorrichtung
von 3 gemäß einem
Ausführungsbeispiel
der Erfindung durchgeführt
wird.
-
5 ist
ein Zeitdiagramm, das einen Schreibvorgang zeigt, der an der Speichervorrichtung
von 3 gemäß einem
Ausführungsbeispiel der
Erfindung durchgeführt
wird.
-
6 ist
ein Blockdiagramm, das eine andere Konfiguration einer Speichervorrichtung
gemäß einem
Ausführungsbeispiel
der Erfindung zeigt.
-
7 ist
ein Zeitdiagramm, das einen Lesevorgang zeigt, der an der Speichervorrichtung
von 6 gemäß einem
Ausführungsbeispiel
der Erfindung durchgeführt
wird.
-
8 ist
ein Zeitdiagramm, das einen Schreibvorgang zeigt, der an der Speichervorrichtung
von 6 gemäß einem
Ausführungsbeispiel der
Erfindung durchgeführt
wird.
-
9 ist
ein Zeitdiagramm, das einen anderen zeitlichen Ablauf eines Schreibvorgangs
zeigt, der an der Speichervorrichtung von 6 gemäß einem
Ausführungsbeispiel
der Erfindung durchgeführt wird.
-
DETAILLIERTE BESCHREIBUNG
DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
-
Ausführungsbeispiele
der Erfindung sehen eine Speichervorrichtung und ein Verfahren zum
Bereitstellen einer Speichervorrichtung vor. Bei einem Ausführungsbeispiel
umfasst das Verfahren ein Bereitstellen der Speichervorrichtung
mit einer Speichearrayanordnung einer Breite N und ein Liefern einer
ersten Konfiguration der Speichervorrichtung und einer zweiten Konfiguration
der Speichervorrichtung. Das Liefern der ersten Konfiguration der
Speichervorrichtung umfasst ein Versehen der Speichervorrichtung
mit einer Datenanschlussstiftausgabe einer Breite N/M und einer
Stoßlänge (Burst-Länge) von
M, wobei M kleiner als N ist. Das Liefern der zweiten Konfiguration
der Speichervorrichtung weist ein Bereitstellen einer Datenanschlussstiftausgabe
einer Breite N/P und einer Stoßlänge von
P auf, wobei P kleiner als M ist, wobei M, N und P alles Ganzzahlen sind.
-
Im
Folgenden wird Bezug auf Ausführungsbeispiele
der Erfindung genommen. Es sollte jedoch klar sein, dass die Erfindung
nicht auf spezifische beschriebene Ausführungsbeispiele begrenzt ist.
Anstelle dessen wird irgendeine Kombination der folgenden Merkmale
und Elemente, ob auf unterschiedliche Ausführungsbeispiele bezogen oder
nicht, betrachtet, um die Erfindung zu implementieren und zu praktizieren.
Ferner liefert bei verschiedenen Ausführungsbeispielen die Erfindung
zahlreiche Vorteile gegenüber
dem Stand der Technik. Obwohl Ausführungsbeispiele der Erfindung
Vorteile gegenüber
anderen möglichen
Lösungen
und/oder gegenüber
dem Stand der Technik erzielen können,
schränkt
jedoch die Tatsache, ob ein spezieller Vorteil durch ein gegebenes
Ausführungsbeispiel
erreicht wird oder nicht, die Erfindung nicht ein. Somit sind die
folgenden Aspekte, Merkmale, Ausführungsbeispiele und Vorteile bloß veranschaulichend
und werden nicht als Elemente oder Einschränkungen der beigefügten Ansprüche betrachtet,
außer
wenn es in einem Anspruch (in Ansprüchen) explizit angegeben ist.
Gleichermaßen
soll eine Bezugnahme auf „die
Erfindung" nicht
als eine Verallgemeinerung irgendeines erfindungsgemäßen Gegenstands
aufgefasst werden, der hierin offenbart ist, und soll nicht als
ein Element oder eine Einschränkung
der beigefügten
Ansprüche
betrachtet werden, außer
wenn es in einem Anspruch (in Ansprüchen) explizit angegeben ist.
-
Unten
verwendete Signalnamen sind ferner exemplarische Namen, die Signale
angeben, die verwendet werden, um verschiedene Funktionen in einer
gegebenen Speichervorrichtung durchzuführen. In einigen Fällen können die
relativen Signale von Vorrichtung zu Vorrichtung variieren. Ferner
sind die Schaltungen und Vorrichtungen, die unten beschrieben und
in den Figuren gezeigt sind, bloß exemplarisch für Ausführungsbeispiele
der Erfindung. Wie es durch Durchschnittsfachleute auf dem Gebiet
erkannt wird, können
Ausführungsbeispiele
der Erfindung bei irgendeiner Speichervorrichtung genutzt werden,
einschließlich
beispielsweise einer synchronen dynamischen Direktzugriffsspeichervorrichtung mit
doppelter Datenrate (DDR-SDRAM-Vorrichtung; DDR-SDRAM = double-data
rate synchronous dynamic random access memory), wie beispielsweise
einer DDR-SDRAM-Vorrichtung mit niedriger Leistung (LP-DDR-SDRAM-Vorrichtung;
LP = low power).
-
1 ist
ein Blockdiagramm, das eine Speichervorrichtung 100 gemäß einem
Ausführungsbeispiel
der Erfindung zeigt. Die Speichervorrichtung 100 kann Adresseinga ben,
Befehlseingaben, eine Takteingabe und einen externen Datenbus (DQ)
umfassen. Die Adresseingaben können
durch einen Adresspuffer 104 empfangen werden und die Befehlseingaben
können
durch einen Befehlsdecodierer 102 empfangen werden. Die
Takteingabe und der externe Datenbus können durch eine Eingabe-/Ausgabeschaltungsanordnung 106 (I/O-Schaltungsanordnung;
I/O = input/output) empfangen und verwendet werden, um Daten ein-
und auszugeben, die Zugriffsbefehlen und Adressen entsprechen, die über die
Befehls- und Adresseingaben empfangen werden. In einigen Fällen kann
die Takteingabe auch verwendet werden, um den Adresspuffer 104 und/oder den
Befehlsdecodierer 102 zu steuern.
-
Bei
einem Ausführungsbeispiel
kann das Speicherarray 120 eine gegebene Breite aufweisen, die
sich auf die Anzahl von Bitleitungen in dem Speicherarray 120 beziehen
kann, die verwendet werden, um von dem Speicherarray 120 zu
lesen oder dasselbe zu beschreiben. Somit kann die Breite des Speicherarrays 120 redundante
Bitleitungen umfassen, die verwendet werden, um fehlerhafte Bitleitungen
in dem Speicherarray 120 zu ersetzen, aber umfasst eventuell
keine redundanten Bitleitungen, die nicht verwendet werden, oder
fehlerhafte Bitleitungen, die ersetzt wurden.
-
Während eines
Zugriffs können
die Adresseingaben durch einen Wortleitungsdecodierer 122 und
einen Spaltendecodierer 124 verwendet werden, um auf Speicherzellen
in einem Speicherarray 120 zuzugreifen. Unter Verwendung
einer empfangenen Adresse beispielsweise kann der Spaltendecodierer 124 Bitleitungen 130 des
Speicherarrays 120 auswählen,
auf die zugegriffen werden soll. Gleichermaßen kann der Wortleitungsdecodierer 126 Wortleitungen 128,
auf die zugegriffen werden soll, unter Verwendung der empfangenen
Adresse auswählen.
In einigen Fällen
kann ein Zugriff auch basierend auf einer Adresse auftreten, die
intern erzeugt ist.
-
Nachdem
eine Adresse verwendet wurde, um Wortleitungen und Bitleitungen
in dem Speicherarray 120 auszuwählen, können Daten über eine interne Lese-/Schreibschaltungsanordnung 108,
die eine Schaltungsanordnung umfassen kann, wie beispielsweise Erfassungsverstärker, Ausgangspuffer etc.,
zu dem Speicherarray 120 geschrieben und/oder von demselben
gelesen werden. Daten für den
Zugriff können
zwischen der Lese-/Schreibschaltungsanordnung 108 für das Speicherarray 120 und der
externen I/O-Schaltungsanordnung 106 über einen oder mehrere interne
Datenbusse 112 übertragen
werden. Während
dieselbe mit Bezug auf ein einziges Speicherarray 120 gezeigt
ist, kann die Speichervorrichtung 100 auch zusätzliche
Speicherarrays umfassen, wie es Fachleuten auf dem Gebiet bekannt
ist. Ferner ist die Kombination von Merkmalen und Elementen, die
oben mit Bezug auf 1 beschrieben ist, bloß ein Beispiel
einer Speichervorrichtungskonfiguration, bei der Ausführungsbeispiele
der vorliegenden Erfindung verwendet werden können. Im Allgemeinen können Ausführungsbeispiele
der Erfindung bei irgendeiner Art einer Speichervorrichtung 100 verwendet
werden.
-
2 ist
ein Flussdiagramm, das einen Prozess 200 zum Liefern von
Konfigurationen einer Speichervorrichtung gemäß einem Ausführungsbeispiel
der Erfindung zeigt. Der Prozess kann beispielsweise durch einen
Hersteller der Speichervorrichtung durchgeführt werden, der die Speichervorrichtung
zu einem oder mehreren Kunden liefert. Wie es gezeigt ist, kann
der Prozess 200 bei einem Schritt 202 beginnen,
bei dem eine Speichervorrichtung mit einer Speicherarrayanordnung
einer gegebenen Breite N bereitgestellt wird. Bei einem Schritt 204 kann
eine Auswahl zwischen einer ersten Konfiguration der Speichervorrichtung
und einer zweiten Konfiguration der Speichervorrichtung vorgenommen
werden. Beispielsweise kann ein erster Kunde eine erste Konfiguration
der Vorrichtung anfordern, während
ein zweiter Kunde eventuell eine zweite Konfiguration der Vorrichtung
anfordern kann. Der Hersteller kann beide Konfigurationen unter
Verwendung der gleichen Speicherarrayanordnung liefern. Ferner können Ausführungsbeispiele
der Erfindung bei drei oder mehr Konfigurationen genutzt werden,
die die gleiche Speicherarrayanordnung verwenden.
-
Falls
die erste Konfiguration ausgewählt wird,
dann kann bei einem Schritt 206 die Speichervorrichtung
mit einer Datenanschlussstiftausgabe einer Breite N/M und einer
Stoßlänge (Burst-Länge) von
M versehen werden, wobei M kleiner N ist. M und N können beide
Ganzzahlen sein. Die Datenanschlussstiftausgabe bezieht sich typischerweise
auf die Anzahl von Datenanschlussstiften in dem Datenbus (auch DQ
genannt), die verwendet werden, um Daten zu und von der Speichervorrichtung
zu übertragen.
Die Stoßlänge bezieht
sich typischerweise auf die Anzahl von aufeinander folgenden Lesevorgängen oder
Schreibvorgängen,
die bei einem Stoßlesebefehl
oder einem Stoßschreibbefehl
durchgeführt
werden können.
Bei einem Speicher der Art mit doppelter Datenrate (DDR) kann beispielsweise
jeder Lese- oder Schreibvorgang an aufeinander folgenden ansteigenden
und abfallenden Flanken eines Taktsignals (als das Datenübernahmesignal
(Daten-Strobe-Signal) DQS bezeichnet) auftreten, das zu der Speichervorrichtung
geliefert wird. Während jedes
der Schreibvorgänge
oder Lesevorgänge
kann eine Anzahl von Bits gleich der Datenanschlussstiftausgabeanzahl
zu oder von der Speichervorrichtung übertragen werden. Mit Bezug
auf den Schritt 206 würden
bei jedem Taktzyklus durch eine Speichervorrichtung mit der ersten
Konfiguration somit N/M Bits übertragen.
-
Falls
die zweite Konfiguration ausgewählt wird,
dann kann bei einem Schritt 208 die Speichervorrichtung
mit einer Datenanschlussstiftausgabe einer Breite N/P und einer
Stoßlänge von
P versehen werden, wobei P kleiner M ist. P kann ebenfalls eine Ganzzahl
sein, wobei N sowohl durch M als auch P teilbar ist, wie es Fachleuten
auf dem Gebiet ersichtlich ist. Somit können die erste Konfiguration
und die zweite Konfiguration die gleiche Speicherarrayanordnung der
Breite N nutzen, während
unterschiedliche Datenanschlussstiftzählwerte N/M bzw. N/P geliefert werden.
-
In
einigen Fällen
können
Speichervorrichtungen mit beiden Konfigurationen die gleiche Anzahl von
Datenanschlussstiftverbindungen aufweisen, aber geben eventuell
Daten lediglich aktiv auf N/M bzw. N/P der Verbindungen aus. In
einigen Fällen können somit
identische Anschlussstiftverbindungen für jede Konfiguration der Speichervorrichtung
vorgesehen sein, während
eventuell nicht jeder Datenanschlussstift verwendet wird, um Daten
von der Speichervorrichtung 100 einzugeben oder auszugeben. Bei
einem Ausführungsbeispiel
können
ferner unterschiedliche Konfigurationen der Speichervorrichtung in
unterschiedlichen Gehäusen
vorgesehen sein, derart, dass das Gehäuse für eine entsprechende Konfiguration
der Speichervorrichtung lediglich Gehäusedatenanschlussstiftverbindungen
für die
aktiven Datenanschlussstifte der gehäusten Speichervorrichtung 100 vorsieht.
-
Bei
einem Ausführungsbeispiel
kann ferner, während
der Anschlussstiftzählwert
und/oder die Anzahl von Anschlussstiften, die verwendet werden,
um Daten zu übertragen,
für die
erste Konfiguration reduziert sein kann, die erste Konfiguration
auch eine größere Stoßlänge M vorsehen,
die größer als
P ist. Folglich können
sowohl die erste Konfiguration als auch die zweite Konfiguration
die volle Größe des internen
Speicherarrays nutzen, um Stoßlese-
und -schreiboperationen durchzuführen,
obwohl eine Konfiguration einen geringeren Datenanschlussstiftzählwert als
die andere Konfiguration aufweist. Exemplarische Konfigurationen
sind unten detaillierter beschrieben.
-
3 und 6,
die unten beschrieben sind, zeigen exemplarische Konfigurationen
einer Speichervorrichtung 100. Die gezeigten und unten beschriebenen
Ausführungsbeispiele
liefern konzeptionelle Beschreibungen des Betriebs der Speichervorrichtung 100 in
jeder der getrennten Konfi gurationen. Es ist jedoch zu beachten,
dass die Speichervorrichtung 100 funktional die Fähigkeit
aufweisen kann, in beiden gezeigten Konfigurationen wirksam zu sein.
Somit können
Unterschiede zwischen den gezeigten Ausführungsbeispielen funktional
sein und spiegeln nicht zwangsläufig
eine unterschiedliche zugrunde liegende Schaltungsanordnung wider,
wie es unten detaillierter beschrieben ist.
-
3 ist
ein Blockdiagramm, das eine Konfiguration einer Speichervorrichtung 100 gemäß einem
Ausführungsbeispiel
der Erfindung zeigt. Die in 3 gezeigte
Konfiguration kann beispielsweise einer 128-Bit-Datentopologie (z.
B. mit einem Datenweg, der 128 Bit breit ist) bei einer 32-Bit-Konfiguration
(z. B. derart, dass der externe Datenbus 32 Datenbits pro
Zugriff liefert) entsprechen. Wie es gezeigt ist, kann die Konfiguration
von 3 ein Speicherarray 120 mit vier Spaltensegmenten 302, 304, 306, 308 umfassen.
Während
eines Zugriffs auf das Speicherarray kann das Spaltenauswahlsignal
COLSEL (column select = Spaltenauswahl) verwendet werden, um die
Spaltensegmente 302, 304, 306, 308 zu aktivieren
und Daten zu oder von dem Speicherarray 120 zu liefern.
-
Während eines
Lesezugriffs können
Daten von dem Speicherarray 120 zu einer Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 324 über einen
128-Bit-Lesebus (RD_BUS; RD_BUS = read bus) 320 übertragen
werden. Von der Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 324 können die
gelesenen Daten über
einen 32-Bit-Datenbus seriell an einen chipexternen Treiber (OCD;
OCD = off-chip driver) 322 übertragen werden. Der chipexterne
Treiber 332 kann dann die seriellen Daten an den externen
32-Bit-Datenbus (DQ <31:0>) 336 übertragen.
-
Während eines
Schreibzugriffs können
Daten von dem externen 32-Bit-Bus 336 zu einem Dateneingangspuffer 334 übertragen
werden. Von dem Dateneingangspuffer 334 können die
Daten über
einen internen 32-Bit-Bus 330 zu einer Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 326 geliefert
werden. Wenn vier Zyklen von 32 Bits zu der Speichervorrichtung 100 geschrieben
werden, kann die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung
die seriell geschriebenen Daten ansammeln und die angesammelten
Daten über
einen 128-Bit-Schreibbus (WT_BUS; WT_BUS = write bus) 322 zu
dem Speicherarray 120 schreiben.
-
4 ist
ein Zeitdiagramm, das einen Lesevorgang mit einer Stoßlänge von
vier zeigt, der an der Speichervorrichtung 100 von 3 gemäß einem Ausführungsbeispiel
der Erfindung durchgeführt wird.
Wie es gezeigt ist, kann der Lesevorgang zu einem Zeitpunkt T0 beginnen,
bei dem ein Lesebefehl und eine Adresse an die Speichervorrichtung 100 erteilt
werden. Die Speichervorrichtung 100 kann die Leseadresse
verwenden, um Daten aus dem Speicherarray 120 zu lesen.
Beginnend zu einem Zeitpunkt T1 kann die Speichervorrichtung 100 beispielsweise
Spaltenauswahlsignale beginnend bei der Leseadresse aktivieren,
was bewirkt, dass 128 Bits von Daten aus dem Speicherarray 120 auf
den RD_BUS 320 gelesen werden.
-
Bei
einem Ausführungsbeispiel
können
die Spaltenadressbits niedrigerer Ordnung AY <1:0> der Spaltenadresse
bestimmen, welche Adressen anfänglich
innerhalb einer Gruppe von vier Adressen zu lesen sind, wobei jede
Adresse einem unterschiedlichen Spaltensegment 302 ... 308 entspricht.
Somit werden eventuell die Spaltenadressbits niedrigerer Ordnung
für eine
Stoßlänge von
vier nicht decodiert, sondern können
anstelle dessen durch die Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 324 verwendet
werden, um die Reihenfolge zu bestimmen, mit der gelesene Daten
ausgegeben werden. Wenn beispielsweise AY <1:0> ,00' beträgt, können Daten
von dem COLSEG0 (COLSEG = column segment) 302 zuerst gelesen
werden, gefolgt von Daten von dem COLSEG1 304, dem COLSEG2 306 und
dem COLSEG3 308. Wenn AY <1:0> ,10' beträgt, können Daten
von dem COLSEG2 306 zuerst gelesen werden, gefolgt von
dem COLSEG0 302 und COLSEG1 304 (somit an der
4-Adressbegrenzung umwickelnd).
-
Wie
es oben beschrieben ist, können
die gelesenen Daten, nachdem dieselben von parallelen Daten zu seriellen
Daten über
die Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 324 umgewandelt
wurden, auf dem externen Datenbus DQ <31:0> 336 beginnend
zu einem Zeitpunkt T2 ausgegeben werden (für gewöhnlich nach einer Zeit, die größer als
die CAS-Latenz CL ist). Daten aus jedem Spaltensegment 302, 304, 306, 308 können beispielsweise
beginnend an der ansteigenden Flanke des Taktsignals CLK (CLK =
clock) zu dem Zeitpunkt T2 und fortfahrend an jeder nachfolgenden
abfallenden und ansteigenden Flanke zu Zeitpunkten T3, T4 und T5
ausgegeben werden. Somit können über vier Taktzyklen
hinweg 128 Bits von Daten aus der Speichervorrichtung 100 gelesen
werden.
-
5 ist
ein Zeitdiagramm, das einen Schreibvorgang mit einer Stoßlänge von
vier zeigt, der an der Speichervorrichtungskonfiguration von 3 gemäß einem
Ausführungsbeispiel
der Erfindung durchgeführt
wird. Der Schreibvorgang kann zu einem Zeitpunkt T0 beginnen, bei
dem ein Schreibbefehl und eine Schreibadresse empfangen werden. Nach
der Schreiblatenz WL (WL = write latency) und zu einem Zeitpunkt
T1 können
die Daten über
den Datenbus DQ <31:0> 336 beginnend
an dem Zeitpunkt T1 empfangen werden. Wie es gezeigt ist, können 32
Bits von Daten an jeder ansteigenden und abfallenden Flanke des
Taktsignals CLK zu Zeitpunkten T1, T2, T3 und T4 empfangen werden.
Die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 326 kann
dann die seriell empfangenen Daten sammeln und die Daten parallel über den
WT_BUS 322 zu einem Zeitpunkt T5 parallel in das Speicherarray 120 eingeben.
Wie bei dem Lesebefehl können
die Spaltenadressbits AY <1:0> angeben, wo die geschriebenen
Daten in dem Speicherarray 120 geschrieben werden sollten.
Wenn beispielsweise AY <1:0> ,00' beträgt, können die
ersten empfangenen Daten zu dem COLSEG0 302 geschrieben
werden und können
die folgenden empfangen Daten zu dem COLSEG1 304, dem COLSEG2 306 bzw.
dem COLSEG3 308 geschrieben werden, wobei alle der empfangenen
Daten durch die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 326 parallel zu
dem Speicherarray 120 geschrieben werden. Wenn AY <1:0> ,10' beträgt, können die
ersten empfangenen Daten zu dem COLSEG2 306 geschrieben werden,
wobei die folgenden empfangenen Daten zu dem COLSEG3 306,
dem COLSEG0 302 bzw. dem COLSEG1 304 geschrieben
werden können
(somit an der 4-Adressbegrenzung umwickelnd, wie es oben beschrieben
ist).
-
Während dieselbe
oben mit Bezug auf Lesevorgänge
und Schreibvorgänge
mit einer Stoßlänge von
vier beschrieben ist, kann die in 3 gezeigte Konfiguration
auch bei kleineren Stoßlängen (z.
B. einer Stoßlänge von
2) oder für
Einzelzugriffe auf eine gegebene Speicheradresse genutzt werden.
-
Gemäß einem
Ausführungsbeispiel
der Erfindung kann die oben mit Bezug auf 3–5 beschriebene
128-Bit-Topologie
auch verwendet werden, um alternative Konfigurationen der Speichervorrichtung 100 zu
liefern. 6 beispielsweise ist ein Blockdiagramm,
das eine andere Konfiguration der Speichervorrichtung 100 unter
Verwendung der gleichen 128-Bit-Topologie gemäß einem Ausführungsbeispiel
der Erfindung zeigt. Wie es gezeigt ist, kann bei der Konfiguration
von 6 auf das gleiche Speicherarray 120 über acht
Spaltensegmente (COLSEG00 – COLSEG31) 602 ... 616 zugegriffen werden,
die jeweils einen Zugriff auf 16 Bits von Daten liefern können und über acht
16-Bit-Datenleitungen
(RWD00 – RWD31) 620 ... 634 zugreifbar
sein können.
-
Bei
einem Ausführungsbeispiel
der Erfindung kann die in 6 gezeigte
Speichervorrichtung 100 konfiguriert sein, um einen Lesevorgang
mit einer Stoßlänge von
acht durchzuführen,
derart, dass 16 Datenbits über
acht ansteigende und abfallende Taktflanken hinweg ausgelesen werden.
-
Während eines
Lesezugriffs können
Daten aus den Spaltensegmenten 602 ... 616 über die
Datenleitungen 620 ... 634 und den 128-Bit-Lesebus (RD_BUS) 320 in
die Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 640 gelesen
werden. Die Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 640 kann
dann die Daten aus jedem Spaltensegment 602 ... 616 seriell über einen
16-Bit-Bus 644 an den chipexternen Treiber 648 ausgeben.
Der chipexterne Treiber 648 kann dann die seriellen Daten über den
externen 16-Bit-Bus DQ <15:0> ausgeben.
-
Die
in 6 gezeigte Speichervorrichtungskonfiguration kann
auch konfiguriert sein, um einen Schreibvorgang mit einer Stoßlänge von
acht durchzuführen.
Während
eines Schreibzugriffs können
Daten seriell von dem externen Datenbus DQ <15:0> empfangen
und über
einen Eingangspuffer 650 und einen internen 16-Bit-Datenbus 646 zu
der Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 übertragen
werden. Die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 kann
die seriell empfangenen Daten sammeln und dann die empfangenen Daten
parallel über
den WT_BUS 322 und die Datenleitungen 620 ... 634 zu
einer Adresse in dem Speicherarray 102 schreiben.
-
7 ist
ein Zeitdiagramm, das einen Lesevorgang mit einer Stoßlänge von
acht zeigt, der an der Speichervorrichtungskonfiguration von 6 gemäß einem
Ausführungsbeispiel
der Erfindung durchgeführt
wird. Wie es gezeigt ist, kann der Lesevorgang zu einem Zeitpunkt
T0 beginnen, bei dem ein Lesebefehl und eine Adresse an die Speichervorrichtung 100 erteilt
werden. Bei einem Zeitpunkt T1 können
der Lesebefehl und die Adresse verwendet werden, um einen Vorabruf
aus dem Speicherarray 120 durchzuführen. Der Vorabruf kann vier
Taktzyklen lang dauern und 128 Datenbits durch ein Aktivieren des
Spaltenauswahlsignals für
jedes der Spaltensegmente 602 ... 616 in dem Speicherarray 120 wiedererlangen.
Die vorabgerufenen Daten können dann über den
RD_BUS 320 wie oben beschrieben zu der Paral lel-zu-Seriell-Umwandlungsschaltungsanordnung 640 übertragen
werden.
-
Nachdem
die gelesenen Daten durch die Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 640 empfangen
wurden, kann die Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 640 die
empfangenen Daten seriell (z. B. 16 Bits zu einer Zeit über acht
ansteigende und abfallende Taktflanken hinweg) über den chipexternen Treiber 648 und
den externen Datenbus DQ 652 beginnend zu einem Zeitpunkt
T2 und fortfahrend bis zu einem Zeitpunkt T9 ausgeben. Wenn eine
Stoßlänge von
acht verwendet wird, werden die Spaltenadressbits niedrigerer Ordnung
AY <2:0> eventuell nicht decodiert,
sondern können
anstelle dessen das Spaltensegment 620 ... 634 bestimmen,
aus dem Daten anfänglich
ausgegeben werden sollten, wobei an einer Achtadressbegrenzung umwickelt
wird. Wie es in 7 gezeigt ist, kann die Leseadresse
beispielsweise auf 0h enden (z. B. AY <2:0> =
,000'), derart,
dass Daten beginnend mit Daten, die von dem COLSEG00 602 gelesen
werden, gefolgt von Daten, die jeweils aus dem COLSEG01 604 ...
COLSEG31 616 gelesen werden, seriell ausgegeben werden.
Falls die Spaltenadressbits niedriger Ordnung anstelle dessen AY <2:0> = ,110' lauten würden, würden die
Daten jeweils beginnend mit Daten aus dem COLSEG30 614,
gefolgt von Daten aus dem COLSEG31 616, (dann herumwickelnd)
dem COLSEG 602 ... COLSEG21 612 seriell ausgegeben.
-
8 ist
ein Zeitdiagramm, das einen Schreibvorgang mit einer Stoßlänge von
acht zeigt, der an der Speichervorrichtungskonfiguration von 6 gemäß einem
Ausführungsbeispiel
der Erfindung durchgeführt
wird. Wie es gezeigt ist, kann der Schreibvorgang zu einem Zeitpunkt
T0 beginnen, bei dem ein Schreibbefehl und eine Schreibadresse empfangen
werden. Zu Zeitpunkten T1 bis T9 können Schreibdaten für den Schreibbefehl
an jeder ansteigenden und abfallenden Flanke des Taktsignals CLK über den
externen Datenbus DQ 652 empfangen werden.
-
Während des
Schreibvorgangs können
die seriell empfangenen Daten durch die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 gesammelt
werden. Nachdem die Schreibdaten gesammelt wurden, kann die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 die
Schreibdaten über
den WT_BUS 322 beginnend zu dem Zeitpunkt T9 zu dem Speicherarray 120 ausgeben.
Wie es oben beschrieben ist, können
die Spaltenadressbits AY <2:0> verwendet werden,
um zu bestimmen, zu welchem Spaltensegment 620 ... 634 die
ersten empfangenen Schreibdaten geschrieben werden sollten, während an
der Achtadressbegrenzung umwickelt wird, wie es oben beschrieben
ist.
-
In
einigen Fällen
kann die in 6 gezeigte Konfiguration verbesserte
Zugriffszeitsteuerungsoptionen liefern. Beispielsweise kann bei
einem Schreibvorgang mit einer Stoßlänge von acht der Schreibvorgang
intern in zwei aufeinander folgende Schreibvorgänge zu dem Speicherarray 120 von
jeweils 64 Bit geteilt werden. Nach einem Ansammeln von 64 Bit aus
vier einzelnen Schreibzugriffen von jeweils 16 Bit beispielsweise
kann die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 einen Schreibvorgang
der Daten parallel zu dem Speicherarray 120 einleiten,
während
die Spaltenauswahlsignale zu den geeigneten Spaltensegmenten 620 ... 634 in
dem Speicherarray 120 aktiviert werden. Während die
anfänglich
empfangenen 64 Datenbits parallel zu dem Speicherarray 120 geschrieben
werden, können
nachfolgend empfangene Daten (z. B. vier Schreibzugriffe, jeweils
16 Bit, insgesamt 64 Bit) durch die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 angesammelt
werden. Nachdem die verbleibenden vier Schreibzugriffe durchgeführt wurden,
können
die angesammelten 64 Bits parallel zu dem Speicherarray 120 in
einem nachfolgenden Schreibvorgang geschrieben werden, während die
Spaltenauswahlsignale zu den geeigneten Spaltensegmenten 620 ... 634 in
dem Speicherarray 120 aktiviert werden.
-
9 ist
ein Zeitdiagramm, das einen Schreibvorgang zeigt, der an der Speichervorrichtungskonfiguration
von 6 mit einer anderen Zeitsteuerung, als es oben
beschrieben ist, gemäß einem
Ausführungsbeispiel
der Erfindung durchgeführt wird.
Wie es gezeigt ist, kann der Schreibvorgang zu einem Zeitpunkt T0
beginnen, bei dem ein Schreibbefehl und eine Schreibadresse zu der
Speichervorrichtung 100 geliefert werden. Zu einem Zeitpunkt
T1 und bei nachfolgenden ansteigenden und abfallenden Flanken des
Taktsignals CLK können
Schreibdaten für
den Schreibbefehl über
den externen Datenbus DQ empfangen werden. Nach vier Schreibzugriffen
zu Zeitpunkten T1 ... T4 können
die empfangenen Schreibdaten zu einem Zeitpunkt T6 unter Verwendung
des WT_BUS 322 und Spaltenauswahlsignalen parallel zu dem
Speicherarray 120 geschrieben werden, wie es oben beschrieben
ist.
-
Während die
erste Hälfte
der empfangenen Daten zu dem Speicherarray 120 geschrieben
wird, kann die zweite Hälfte
der Daten zu Zeitpunkten T5, T7, T8 und T9 empfangen und durch die
Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 gesammelt
werden. Nachdem die zweite Hälfte der
Daten empfangen wurde, können
die 64 Datenbits beginnend zu einem Zeitpunkt T10 und unter Verwendung
des WT_BUS 322 und von Spaltenauswahlsignalen, wie es oben
beschrieben ist, parallel zu dem Speicherarray 120 geschrieben
werden. In einigen Fällen
kann somit, wie es in 9 gezeigt ist, durch ein Beginnen
des internen Schreibzugriffs (Zeitpunkt T6) von der Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 642 auf
das Speicherarray 120, während Schreibdaten immer noch
empfangen werden (Zeitpunkte T5, T7, T8, T9), die Stoßschreiboperation
schnell abgeschlossen werden.
-
Während dieselbe
oben mit Bezug auf Lese- und Schreibvorgänge beschrieben ist, die mit
einer Stoßlänge von
acht durchgeführt
werden, kann bei einem Ausführungsbeispiel
die in 6 gezeigte Konfiguration auch bei kleineren Stoßlängen (z.
B. einer Stoßlänge von
zwei oder vier) oder für
Einzelzugriffe auf eine gegebene Speicheradresse genutzt werden.
In derartigen Fällen
können
die Parallel-zu-Seriell- und die Seriell-zu-Parallel-Schaltungsanordnung 640, 642 auch
konfiguriert sein, um bei variablen Stoßlängeneinstellungen wirksam zu
sein.
-
Wenn
beispielsweise ein Vorgang mit einer Stoßlänge von acht durchgeführt wird,
decodiert die Decodierschaltungsanordnung 660, 662 der
in 6 gezeigten Konfiguration eventuell AY <2:0> nicht zu einer Spaltenauswahl,
wie es oben beschrieben ist (anstelle dessen kann AY <2:0> verwendet werden, um
das Spaltensegment 602 ... 616 auszuwählen, auf
das während
des Stoßlesevorgangs
zugegriffen wird). Während
eines Vorgangs mit einer Stoßlänge von
vier kann die Decodierschaltungsanordnung 660, 662 konfiguriert
sein, um das höchstwertige
Bit der Spaltenadresse (MSB_AY; MSB = most significant bit) zu verwenden,
um einen 64-Bit-Abschnitt des
Speicherarrays 120 auszuwählen, an dem der Vorgang (z.
B. Lesen oder Schreiben) durchgeführt werden sollte. Falls beispielsweise
MSB_AY „0" beträgt, kann
auf die Daten für
den Vorgang in einer ersten Hälfte
des Speicherarrays 120 zugegriffen werden, während auf
die Daten für
den Vorgang in einer zweiten Hälfte
des Speicherarrays 120 zugegriffen werden kann, falls MSB_AY „1" beträgt.
-
Bei
einem Ausführungsbeispiel
der Erfindung kann für
die 16-Bit-Konfiguration, die in 6 gezeigt
ist, die Externbusfrequenz der Speichervorrichtung 100 mit
Bezug auf die 32-Bit-Konfiguration von 3 verdoppelt
sein, derart, dass die Speichervorrichtungskonfiguration von 6 eine äquivalente Bandbreite
zu der Speichervorrichtungskonfiguration von 3 liefert.
Falls beispielsweise die Speichervorrichtungskonfiguration von 3 mit
einer Externbusfrequenz von 400 Megahertz (MHz) wirksam ist, dann
kann die Speichervorrichtungskonfiguration von 6 mit
einer Externbusfrequenz von 800 MHz betrieben werden, während jede
Konfiguration eine äquivalente
interne Speicherarrayzugriffszeit beibehalten kann.
-
Wie
es oben beschrieben ist, zeigen 3 und 6 getrennte
Konfigurationen einer einzigen Speichervorrichtung 100 mit
einer identischen internen Datenwegetopologie (z. B. einem 128-Bit-Datenweg)
und identischen Speicherarrayanordnungen. Im Allgemeinen können Unterschiede
zwischen jeder der Konfigurationen auf irgendeine Weise implementiert
sein. Beispielsweise kann eine einzige Speichervorrichtung 100 mit
den vollständigen
Fähigkeiten beider
Konfigurationen gefertigt sein und kann während eines Betriebs der Vorrichtung
eine gegebene Konfiguration ausgewählt werden. Eine Auswahl der Konfiguration
während
eines Betriebs kann beispielsweise durch ein Setzen von Steuerregisterbits
durchgeführt
werden, wobei angegeben wird, welche Konfiguration verwendet werden
sollte, sowie die Burstlänge,
die verwendet werden sollte. Bei einem Ausführungsbeispiel kann optional
die Stoßlänge spezifiziert
werden, wenn ein Befehl an die Speichervorrichtung 100 erteilt
wird. Bei einem Ausführungsbeispiel können ferner
Sicherungen (Fuses) verwendet werden, um Zwischenkonfigurationen
auszuwählen.
Beispielsweise kann eine oder können
mehrere Sicherungen durchgebrannt werden, um eine Konfiguration
der Speichervorrichtung auszuwählen.
Die Sicherungen können
irgendeine Art von Sicherung sein, einschließlich einer Laserschnittsicherung
oder einer elektronisch programmierbaren Sicherung (einer e-Sicherung).
-
Wenn
Vorrichtungskonfigurationen während eines
Betriebs und/oder über
Sicherungen dynamisch verändert
werden, kann eine Schaltungsanordnung, die in dem Datenweg verwendet
wird (z. B. die Parallel-zu-Seriell-Umwandlungsschaltungsanordnung 324, 640,
die Seriell-zu-Parallel-Umwandlungsschaltungsanordnung 326, 642,
der chipexterne Treiber 332, 648 etc. und die
Spaltenauswahlschaltungsanordnung), mit mehreren Betriebsarten versehen
sein, um beide möglichen
Konfigurationen der Speichervorrichtung 100 aufzunehmen.
In einigen Fällen
können
optional die mehreren Konfigurationen der Speichervorrichtung 100 während einer Herstellung
durch ein Bereitstellen unterschiedlicher Komponenten und/oder Verbindungen
für jede
der Vorrichtungskonfigurationen geliefert werden.
-
Bei
einem Ausführungsbeispiel
der Erfindung kann eine Auswahl einer Speichervorrichtungskonfiguration
während
eines Häusens
der Speichervorrichtung 100 durchgeführt werden. Wie es oben beschrieben
ist, kann dann beispielsweise, wenn die Konfigurationen der Speichervorrichtung 100 unterschiedliche
Anzahlen von Datenanschlussstiften verwenden, um Daten zu und von
der Speichervorrichtung 100 zu übertragen, die Speichervorrichtung 100 gehäust sein,
derart, dass das Gehäuse
lediglich externe Gehäusedatenanschlussstifte
für die
aktiven Datenanschlussstifte der Speichervorrichtungskonfiguration
vorsieht. Somit kann bei der oben mit Bezug auf 3 beschriebenen
Konfiguration die Speichervorrichtung 100 32 Datenanschlussstiftverbindungen umfassen,
von denen jede als eine externe Anschlussstiftverbindung an dem
Gehäuse
für die
Speichervorrichtung 100 vorgesehen sein kann. Mit Bezug
auf die Konfiguration von 6 kann die
Speichervorrichtung 100 auch 32 Datenanschlussstiftverbindungen
umfassen, aber es werden eventuell lediglich 16 der Datenanschlussstiftverbindungen
verwendet, um Daten zu und von der Speichervorrichtung 100 zu übertragen.
Somit kann das Gehäuse
für die
Speichervorrichtung 100 von 6 lediglich
externe Datenanschlussstiftverbindungen zu den 16 aktiven Anschlussstiften
der Speichervorrichtung 100 vorsehen.
-
Bei
einem Ausführungsbeispiel
kann ferner ein externer Konfigurationsanschlussstift an der Speichervorrichtung 100 vorgesehen
sein und der externe Konfigurationsanschlussstift kann verwendet werden,
um die Speichervorrichtung 100 in entweder die erste oder
die zweite Konfiguration zu versetzen. Falls beispielsweise eine
erste Spannung an den externen Konfigurationsanschlussstift angelegt
ist, kann die Speichervorrichtung 100 in eine erste Konfiguration
versetzt werden, während,
falls eine zweite Spannung an den externen Konfigurationsanschluss stift
angelegt ist, die Speichervorrichtung 100 in die zweite
Konfiguration versetzt werden kann. Bei einem Ausführungsbeispiel
kann die Konfigurationsanschlussstiftverbindung während eines
Häusens
auf eine gegebene Spannung festgelegt werden, um die Konfiguration
auszuwählen.
Optional kann der Konfigurationsanschlussstift zu einem externen
Anschlussstift des Gehäuses
geführt
sein, wobei ermöglicht
wird, dass die Konfiguration ausgewählt wird, nachdem das Gehäuse durch
einen Benutzer des Gehäuses
mit einer anderen Vorrichtung verbunden ist.
-
Während dieselbe
oben mit Bezug auf Konfigurationen mit Breiten des externen Datenbusses von
32 Bit und 16 Bit beschrieben wurde, können Konfigurationen der Speichervorrichtung
auch mit anderen Breiten des externen Datenbusses versehen sein
(z. B. acht Bit oder 64 Bit), während
die Stoßlängen der
konfigurierten Vorrichtung entsprechend skaliert und die volle Kapazität des internen Datenbusses
und des Speicherarrays entsprechend genutzt wird. Bei einer Acht-Bit-Konfiguration
beispielsweise kann die maximale Stoßlänge 16 betragen, während geringere
Stoßlängen ebenfalls
vorgesehen sein können.
Bei der Acht-Bit-Konfiguration beispielsweise
kann, um einen Schreibvorgang mit einer Stoßlänge von acht durchzuführen, der
gleiche Vorgang, der mit Bezug auf 9 gezeigt
ist, durchgeführt
werden, während
die letzten vier Zyklen, in denen zusätzliche Daten zu dem Speicherarray 120 geschrieben
werden, abgeschnitten (z. B. weggelassen) werden (z. B. der Schreibvorgang,
der zu einem Zeitpunkt T10 beginnt, kann weggelassen werden, weil
164 Datenbits bereits beginnend mit einem Zeitpunkt T6 geschrieben
wurden).
-
Während das
Vorhergehende auf Ausführungsbeispiele
der vorliegenden Erfindung gerichtet ist, 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.