-
HINTERGRUND
-
Ein dynamischer Direktzugriffsspeicher (DRAM) ist ein Datenspeicherbauelement, das in vielen unterschiedlichen Arten von Rechengeräten verwendet wird. Einige DRAM-Chips bestehen aus rechteckigen Anordnungen von Speicherzellen, die als Speicherbänke bezeichnet werden. Jede Bank weist Unterstützungslogik auf, die zum Lesen und Schreiben von Daten in der Bank und Auffrischen von Schaltungen für die Wahrung der Integrität der in der Bank gespeicherten Daten verwendet wird. Die Bänke können unabhängig arbeiten, können aber Befehls-, Adress- und Datenanschlüsse gemeinsam nutzen. Jede Bank kann aus einer hierarchischen Struktur mit rechteckigen Anordnungen (Arrays) von Speicherzellen bestehen. Die in Speicherzellen gespeicherten Inhalte werden über Wortleitungen und Bitleitungen adressiert. Die Schnittstelle einer Wortleitung und einer Bitleitung stellt die Adresse einer Speicherzelle dar.
-
Figurenliste
-
Nunmehr wird auf die Zeichnungen verwiesen, in denen gleiche Bezugszeichen durchgängig entsprechende Teile darstellen:
- 1 zeigt ein Blockschaltbild einer DRAM-Chiparchitektur und einiger Abwandlungen der DRAM-Chiparchitektur gemäß einiger Ausführungsformen;
- 2 zeigt ein Blockschaltbild zur Darstellung des Zugriffs von Speicherzellen über einen lokalen Datenbus und einen globalen Datenbus gemäß einiger Ausführungsformen;
- 3 zeigt in einem Blockschaltbild, dass sich gemäß einiger Ausführungsformen bei Verdoppelung der Vorabrufbreite (Prefetch-Breite) auch die Anzahl lokaler Datenbusspuren und die Anzahl globaler Datenbusspuren verdoppeln;
- 4 zeigt ein Blockschaltbild zur Darstellung eines geteilten lokalen Datenbusses gemäß einiger Ausführungsformen, in welchem die Anzahl lokaler Datenbusspuren auch bei doppelter Prefetch-Breite unverändert bleibt;
- 5 zeigt ein Blockschaltbild einer 32-Bit-Datenanordnung gemäß einiger Ausführungsformen; und
- 6 zeigt ein Blockschaltbild eines Systems einschließlich eines Rechengeräts, welches eine DRAM-Vorrichtung beinhaltet, gemäß einiger Ausführungsformen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Beim Lesen von Zellen durch Bitleitung-Leseverstärker werden in einigen DRAM-Chiparchitekturen die gelesenen Werte zu einem lokalen Datenbus weitergeleitet und danach über Switches zu einem globalen Datenbus weitergeleitet. Die beiden Datenbusse können sich in orthogonalen Richtungen und quer über eine gesamte Bank des DRAM-Chips erstrecken.
-
Mit steigender Auslastung und Geschwindigkeit von Rechnersystemen kann eine höhere Bandbreite in DRAMs erwünscht sein. Zur Erhöhung der Bandbreite von DRAMs lösen einige Ausführungsformen das Routing der globalen Eingabe/Ausgabe (Input/Output, IO) und lokalen IO innerhalb der DRAM-Architektur. Obwohl verschiedene Ausführungsformen in Bezug auf DRAM beschrieben werden, können Ausführungsformen auf beliebige Speicherbauelemente oder Werte weiterleitende Bauelemente angewendet werden.
-
Ein Beispiel eines dynamischen flüchtigen Speichers beinhaltet DRAM (dynamischen Direktzugriffsspeicher) oder eine Variante wie synchronen DRAM (SDRAM). Ein Speicher-Teilsystem, wie hierin beschrieben, kann mit einer Anzahl von Speichertechnologien, beispielsweise DDR4 (DDR Version 4, Ausgangsspezifikation veröffentlicht im September 2012 von JEDEC), LPDDR4 (LOW POWER DOUBLE DATA RATE (LPDDR) Version 4, JESD209-4, erstveröffentlicht von JEDEC im August 2014), WIO2 (Wide I/O 2 (WideIO2), JESD229-2, erstveröffentlicht von JEDEC im August 2014), HBM (HIGH BANDWIDTH MEMORY DRAM, JESD235, erstveröffentlicht von JEDEC im Oktober 2013), DDR5 (DDR Version 5, aktuell von JEDEC erörtert), LPDDR5 (LPDDR Version 5, aktuell von JEDEC erörtert), HBM2 (HBM Version 2, aktuell von JEDEC erörtert) und/oder anderen, sowie mit Technologien, die auf Varianten oder Erweiterungen dieser Spezifikationen beruhen, kompatibel sein.
-
Zusätzlich, oder alternativ, zu flüchtigem Speicher kann sich in einer Ausführungsform ein Verweis auf Speicherbauelemente auf ein nichtflüchtiges Speicherbauelement beziehen, dessen Zustand determiniert ist, auch wenn die Stromzufuhr zur Vorrichtung unterbrochen ist. In einer Ausführungsform ist das nichtflüchtige Speicherbauelement ein blockadressierbares Speicherbauelement, wie etwa NAND- oder NOR-Technologie. Damit kann ein Speicherbauelement auch eine nichtflüchtige Vorrichtung zukünftiger Generation, wie etwa eine dreidimensionale Kreuzpunkt-Speichervorrichtung, oder andere byteadressierbare nichtflüchtige Speichervorrichtungen beinhalten. Das Speicherbauelement kann in einer Ausführungsform Speicherbauelemente, die ein Chalkogenid-Phasenänderungsmaterial (z. B. Chalkogenidglas) verwenden, ein Multi-Threshold-Level-NAND-Flash-Speicher, ein NOR-Flash-Speicher, ein Single- oder Multi-Level-Phase-Change-Memory (PCM), ein resistiver Speicher, ein Nanodrahtspeicher, ein Ferroelectric-Transistor-Random-Access-Memory (FeTRAM), ein magnetoresistiver Direktzugriffsspeicher (MRAM) mit eingebauter Memristor-Technologie oder Spin-Transfer-Torque(STT)-MRAM, eine Spintronik-Magnet-Junction-Speicher-basierte Vorrichtung oder eine Kombination vorgenannter Speicher oder ein anderer Speicher sein oder solche beinhalten.
-
Beschreibungen, die hierin Bezug auf einen „DRAM“ nehmen, können für ein Speicherbauelement gelten, das einen wahlfreien Zugriff ermöglicht, unabhängig davon, ob flüchtig oder nichtflüchtig. Speicherbauelement oder DRAM kann sich auf den eigentlichen Die und/oder auf ein gekapseltes Speicherprodukt beziehen.
-
In einigen Ausführungsformen verdoppelt sich die Datenvorabrufbreite für einen DRAM, ohne dass sich die Anzahl von Leitungen im lokalen Datenbus verändert. Der lokale Datenbus ist physisch in zwei Teile geteilt, und es werden zwei Spalten-Selects verwendet, um einen Teil der Signale entlang des lokalen Datenbusses in eine Richtung zu führen und den anderen Teil der Signale entlang des lokalen Datenbusses in eine andere Richtung zu führen. In einigen in einem DRAM implementierten Ausführungsformen wird der lokale Datenbus als LDQ bezeichnet. Der LDQ ist physisch in zwei Teil-LDQs geteilt, die die originalen LDQ-Spuren physikalisch gemeinsam nutzen. Daten vom linken Teil des geteilten LDQ verlaufen nach links weiter zum globalen Datenbus und Daten vom rechten Teil des geteilten LDQ verlaufen nach rechts weiter zum globalen Datenbus. In einigen Fällen kann der LDQ in zwei Hälften geteilt sein, obwohl auch andere Aufteilungen verwendet werden können.
-
In der folgenden Beschreibung wird auf die Begleitzeichnungen verweisen, die Bestandteil des vorliegenden Dokuments sind und verschiedene Ausführungsformen veranschaulichen. Es versteht sich, dass andere Ausführungsformen eingesetzt werden können und dass strukturelle und betriebliche Änderungen vorgenommen werden können.
-
1 stellt ein Blockschaltbild dar, das eine DRAM-Chiparchitektur 100 und einige Abwandlungen der DRAM-Chiparchitektur (dargestellt über Bezugszeichen 101) gemäß einiger Ausführungsformen zeigt. Die Organisation von Speicherbänken in der DRAM-Chiparchitektur 100 ist in einem DRAM-Chip 102 dargestellt. Der DRAM-Chip 102 besteht aus einer Mehrzahl von Bänken, die von 0 bis (N-1) nummeriert sind, wobei Bank 0, Bank 1 und Bank ‚N-1‘ über die Bezugszeichen 104, 160 beziehungsweise 108 dargestellt sind.
-
Jede Bank besteht aus einer Mehrzahl von Abschnitten, die als Teilbänke oder Teilarrays bezeichnet werden können. In 1 ist eine beispielhafte Bank 109 veranschaulicht, die die Abschnitte 0...,(m-), m aufweist, wobei Abschnitt 0, Abschnitt (m-1) und Abschnitt (m) über die Bezugszeichen 110, 112 beziehungsweise 114 dargestellt sind. Zusätzlich zu den Abschnitten 0...m-1, m besteht die Bank 109 auch aus einem redundanten Abschnitt (R) 116 und Schaltungen für einen MDQSA-Leseverstärker (Main Data Queue Sense Amplifier) 118, wobei der MDQSA ein globaler Leseverstärker ist, der Signale liest und verstärkt.
-
Die Abschnitte 110...114 bestehen jeweils aus einer Mehrzahl von Array-Tiles 120, wobei ein beispielhaftes Array-Tile i' über Bezugszeichen 122 dargestellt ist. Block 101 von 1 zeigt bestimmte Abwandlungen, die an der DRAM-Chiparchitektur 100 vorgenommen werden können. In einigen Ausführungsformen, die die DRAM-Chiparchitektur 100 abwandeln (die Abwandlungen werden durch Bezugszeichen 101 angezeigt), werden die Bänke 0...(N-1) der DRAM-Chiparchitektur 100 so abgewandelt, dass jede Bank einen geteilten lokalen Datenbus (LDQ) aufweist, um eine Verdoppelung der Prefetch-Breite zu ermöglichen, ohne die Anzahl der Leitungen im LDQ zu verdoppeln.
-
1 zeigt somit eine DRAM-Chiparchitektur mit einer Mehrzahl von Bänken, die jeweils eine Anzahl von Abschnitten aufweisen. Jeder Abschnitt ist in eine Mehrzahl von Array-Tiles segmentiert.
-
2 zeigt ein Blockschaltbild 200, das den Zugriff von Speicherzellen über einen lokalen Datenbus und einen globalen Datenbus gemäß einiger Ausführungsformen darstellt. 2 stellt Array-Tile (i) (in 1 durch Bezugszeichen 122 bezeichnet) der Abschnitte (a+1), a und (a-1) durch die Bezugszeichen 202, 204, 206 an. In 2 wird dadurch das Array-Tile (i) dargestellt, das drei aufeinanderfolgenden Abschnitten einer Bank des DRAM-Chips 102 entspricht.
-
In 2 zeigen die horizontalen Linien Wortleitungen und die vertikalen Linien zeigen Bitleitungen. Bezugszeichen 207 zeigt beispielsweise eine beispielhafte Wortleitung, und Bezugszeichen 208 zeigt eine beispielhafte Bitleitung. Um einen Vorabruf durchzuführen, wird ein lokaler Wortleitungstreiber (LWD) 210 aktiviert, und der Spaltendekoder 212 wählt (über eine Spalten-Select-Leitung (CSL) 213) ein oder mehrere Bits aus der Wortleitung aus.
-
Die Bitleitungsleseverstärker (BLSA) 214, 216 lesen und verstärken Signale auf den Bitleitungen. Die Bitleitungsleseverstärker 216 werden zwischen Abschnitt a und Abschnitt (a+1) verwendet und die Bitleitungsleseverstärker 214 werden zwischen Abschnitt (a-1) und Abschnitt a verwendet. Oberhalb eines Abschnitts und unterhalb eines Abschnitts angeordnete Bitleitungsleseverstärker lesen und verstärken alternierende Bitleitungen. Werden beispielsweise die Bitleitungsleseverstärker 216 für geradzahlig nummerierte Bitleitungen verwendet, dann werden die Bitleitungsleseverstärker 214 für ungeradzahlig nummerierte Biteilungen verwendet. In 2 werden die Bitleitungsleseverstärker 214 zum Lesen und Verstärken von Signalen in geradzahlig nummerierten Bitleitungen 220, 224 verwendet, und die Bitleitungsleseverstärker 216 werden zum Lesen und Verstärken von Signalen in ungeradzahlig nummerierten Bitleitungen 218, 222 verwendet. Jeder Bitleitungsleseverstärker wird von zwei Abschnitten gemeinsam genutzt, und falls der Bitleitungsleseverstärker für nur einen Abschnitt verwendet wird, dann wird er nicht gleichzeitig für einen anderen Abschnitt verwendet.
-
Wenn Zellen durch Bitleitungsleseverstärker gelesen werden, dann sind die gelesenen Werte mit einem lokalen Datenbus (LDQ bzw. Local Data Queue) 226 verbunden und über Switches, die als Main Data Queue Switch (MDQSW) 228 bezeichnet werden, sind die gelesenen Werte mit dem globalen Datenbus, der als Main Data Queue (MDQ) 230 bezeichnet wird, verbunden. Der LDQ 226 kann als lokales Eingabe/Ausgabe-Paar (Local Input/Output, LIO) bezeichnet werden, und der MDQ 230 kann als globales Eingabe/Ausgabe-Paar (Global Input/Output, GIO) bezeichnet werden. Der MSQSW 228 wird von allen Abschnitten genutzt, während LDQ 226 von zwei Abschnitten genutzt wird. Das gestrichelte Oval 227 zeigt die beiden Leitungen des LDQ 226, wobei die beiden Leitungen des LDQ 226 durch Abschnitt (a) und Abschnitt (a+1) gemeinsam genutzt werden und der MDQSW 228 durch Abschnitt (a-1), Abschnitt (a), Abschnitt (a+1) und andere in 2 nicht ausdrücklich gezeigte Abschnitte gemeinsam genutzt wird.
-
Da die Signale über lange Strecken des MDQ laufen, können Main-Data-Queue-Leseverstärker (MDQSA) 232 zum Lesen und Verstärken von Signalen auf dem MDQ 230 verwendet werden. Dadurch ist ein lokaler Bus (durch horizontale Linien dargestellt) mit jedem Abschnitt assoziiert, und der MDQSW 228 bestimmt für den globalen Datenbus, woher das Signal kommt.
-
In 2 weist dadurch jedes Array-Tile einen lokalen Wortleitungstreiber auf. Nach erfolgter Aktivierung einer Wortleitung kann der Spaltendecoder 211 ein Spalten-Select (CSL) triggern, um zu entscheiden, welche Bits auf den lokalen IO-Bus (LDQ) zugreifen sollen. Zur Berücksichtigung der geringeren Zellengröße kann eine offene Bitleitungsarchitektur im hochdichten Speicherzellenarray verwendet werden. Es gibt zwei Sätze von Bitleitungsleseverstärkern (BLSA) 214, 216, einen oberhalb und einen unterhalb eines ausgewählten Array-Tiles. Die horizontalen LDQ sind dann über die Switches und lokalen Leseverstärker, die als MDQSW beziehungsweise LSA 228 bezeichnet sind, mit den vertikalen globalen IO-Paaren (MDQ) 230 verbunden.
-
Wie in 2 veranschaulicht, werden für den Zugriff auf 4 Bit aus einem Array-Tile 4 LDQ-Spuren (jede Spur weist zwei Signalleitungen auf) und 4 MDQ-Spuren verwendet. In einigen Architekturen können die mehreren MDQ auf beide Seiten des Array-Tiles aufgeteilt sein oder sich sogar über zwei Array-Tiles hinweg erstrecken. Die Anzahl an Spuren ist jedoch immer identisch mit der Darstellung in 2. Es ist anzumerken, dass eine Spalten-Select-Operation gewöhnlich 8 Bit auswählt, aber zu Zwecken der Veranschaulichung zeigt 2 die Auswahl von 4 Bit. Ausführungsformen können eine beliebige Bit-Zahl für die Eingabe/Ausgabe verwenden.
-
Das in 3 dargestellte Blockschaltbild 300 zeigt, dass sich gemäß einiger Ausführungsformen bei Verdoppelung der Prefetch-Breite (im Vergleich zu 2) auch die Anzahl der LDQ-Spuren 302 und die Anzahl der MDQ-Spuren 304 sowie die Anzahl der MDQSW 306 verdoppeln. Infolge der Verdoppelung der Prefetch-Breite lassen sich beispielsweise Signalverläufe entlang der 4 Spuren des LDQ 302 (statt der 2 Spuren des LDQ 226 in 2) erkennen, und die Verdoppelung der Anzahl von Spuren des LDQ zur Erzielung der Verdoppelung der Prefetch-Breite ist keine erwünschte Situation.
-
4 zeigt ein Blockschaltbild 400 zur Darstellung eines geteilten lokalen Datenbusses gemäß einiger Ausführungsformen, in welchem die Anzahl lokaler Datenbusspuren auch bei doppelter Prefetch-Breite unverändert bleibt.
-
In den in 2 und 3 dargestellten Architekturen erstreckt sich ein LDQ komplett von einem Ende eines Array-Tiles bis zum anderen Ende des Array-Tiles. In 4 ist der LDQ 402 in der Mitte physisch geteilt (dargestellt über den mit Bezugszeichen 404 angezeigten Konturpfeil), und eine Hälfte der MDQ-Leitungen ist links (dargestellt durch Bezugszeichen 406) vom Array-Tile angeordnet und die andere Hälfte der MDQ-Leitungen ist rechts (dargestellt durch Bezugszeichen 410) vom Array-Tile angeordnet. Die linke Hälfte des LDQ, die als linker Split-LDQ 412 bezeichnet ist, ist mit dem linken MDQ 406 verbunden, und die rechte Hälfte des LDQ, die als rechter Split-LDQ 414 bezeichnet ist, ist mit dem rechten MDQ 410 verbunden. Die Bezeichnung Hälfte oder Hälften kann sich hierin auf einen Teilabschnitt beziehen, der kleiner oder größer als eine Hälfte ist. Die linke Hälfte und die rechte Hälfte können andere Teilabschnitte sein, die gemeinsam ein Ganzes ergeben. Wenn es sich beim linken und rechten Teil um Hälften handelt, dann ist in der in 4 gezeigten Architektur der mittlere Abstand vom BLSA 416 zu einer MDQ-Leitung hälftig im Vergleich zur in 3 gezeigten Architektur.
-
Zur Unterstützung der in 4 gezeigten Architektur werden Daten über den linken Split-LDQ 412 und den rechten Split-LDQ 414 parallel gelesen oder geschrieben. Der Spaltendekoder 418 sendet zwei Sätze von Spalten-Select-Signalen (CSL) 420, 422. Von den beiden Sätzen von Spalten-Select-Signalen (CSL) 420, 422 wird ein Satz verwendet, um Daten für eine Übertragung entlang des linken Split-LDQ 412 auszuwählen, und der andere Satz wird verwendet, um Daten für eine Übertragung entlang des rechten Split-LDQ 414 auszuwählen. Beispielsweise wählt CSL-Signale 420 die linke Hälfte 424 der Wortleitungen, und CSL-Signale 422 wählt die rechte Hälfte 426 der Wortleitungen.
-
4 zeigt somit einige Ausführungsformen, bei denen durch das physische Aufteilen (Splitten) des LDQ in zwei Hälften und durch das parallele Senden von Daten über die beiden Hälften zu den auf beiden Seiten der Array-Tiles angeordneten MDQ die Prefetch-Breite ohne Erhöhung der Anzahl von LDQ-Spuren verdoppelt werden kann. Wie ersichtlich, werden 8 Bit an Daten über vier lokale Busleitungen übertragen, wobei zwei Bit durch den linken Split-LDQ 412, zwei Bit durch den rechten Split-LDQ 414, zwei Bit durch den linken Split-LDQ 428 und zwei Bit durch den rechten Split-LDQ 430 übertragen werden, und zwar basierend auf der jeweiligen Auswahl des Spaltendekoders 418 über die CSL 420, 422.
-
5 zeigt ein Blockschaltbild 500 einer Anordnung für 32-Bit-Daten gemäß einiger Ausführungsformen. In Architekturen, in denen der LDQ nicht geteilt ist, werden logisch aufeinanderfolgende Daten nicht getrennt (wie durch Bezugszeichen 502 gezeigt). In dem mit Bezugszeichen 502 bezeichneten Block der 32 Datenbits (d. h. Bit 0-31) wird das erste Byte, das die ersten 8 Bits (Bit 0-7) umfasst, durch Spalten-Select-Leitung CSL0 506 angewählt, das zweite Byte, das die nächsten 8 Bits (Bit 8-15) umfasst, wird durch Spalten-Select-Leitung CSL1 508 angewählt, das dritte Byte, das die nächsten 8 Bits (Bit 16-23) umfasst, wird durch Spalten-Select-Leitung CSL2 510 angewählt, und das vierte Byte, das die nächsten 8 Bits (Bit 24-31) umfasst, wird durch Spalten-Select-Leitung CSL3 512 angewählt, wobei CSL0 506, CSL1 508, CLS2 510, CSL3 512 vier Spalten-Select-Leitungen des LDQ sind, wobei das LDQ nicht geteilt ist. Bei ungeteiltem LDQ ist eine Trennung zusammenhängender Datenbits nicht notwendig.
-
In einigen Ausführungsformen, die den in 4 dargestellten geteilten LDQ implementieren, werden logisch aufeinanderfolgende Daten in zwei physisch getrennte Hälften aufgetrennt, wie im mit Bezugszeichen 504 bezeichneten Block angezeigt. Das erste, dritte, fünfte und siebente Halbbyte, die die Bits 0-3, Bits 8-11, Bits 16-19 beziehungsweise Bits 24-27 umfassen, werden über die linke Hälfte 514 des geteilten LDQ übertragen und das zweite, vierte, sechste und achte Halbbyte, die die Bits 4-7, Bits 12-15, Bits 20-23 beziehungsweise Bits 28-31 umfassen, werden über die rechte Hälfte 516 des geteilten LDQ übertragen.
-
Beispielsweise wird von den 32 Datenbits das erste Halbbyte (Bit 0-3) aus der linken Hälfte 514 des LDQ durch Spalten-Select-Leitung CSL0 518 der linken Hälfte 514 des LDQ abgerufen und das zweite Halbbyte (Bit 4-7) aus der rechten Hälfte 516 des LDQ durch Spalten-Select-Leitung CSL0 526 der rechten Hälfte 516 des LDQ abgerufen. Das dritte Halbbyte (Bit 8-11) wird aus der linken Hälfte 514 des LDQ durch Spalten-Select-Leitung CSL1 520 der linken Hälfte 514 des LDQ abgerufen und das vierte Halbbyte (Bit 12-15) aus der rechten Hälfte 516 des LDQ durch Spalten-Select-Leitung CSL1 528 der rechten Hälfte 516 des LDQ abgerufen. Das fünfte Halbbyte (Bit 16-19) wird aus der linken Hälfte 514 des LDQ durch Spalten-Select-Leitung CSL2 522 der linken Hälfte 514 des LDQ abgerufen und das sechste Halbbyte (Bit 20-23) aus der rechten Hälfte 516 des LDQ durch Spalten-Select-Leitung CSL2 530 der rechten Hälfte 516 des LDQ abgerufen. Das siebente Halbbyte (Bit 24-27) wird aus der linken Hälfte 514 des LDQ durch Spalten-Select-Leitung CSL3 524 der linken Hälfte 514 des LDQ abgerufen und das achte Halbbyte (Bit 28-31) aus der rechten Hälfte 516 des LDQ durch Spalten-Select-Leitung CSL3 532 der rechten Hälfte 516 des LDQ abgerufen.
-
5 zeigt somit bestimmte Ausführungsformen, in denen logisch aufeinanderfolgende Daten getrennt werden, um DRAM-Architekturen zu implementieren, in denen der LDQ physisch in zwei Hälften geteilt ist.
-
Einige in den 1 bis 5 dargestellten Ausführungsformen verwenden somit einen geteilten lokalen Datenbus, um Daten vom lokalen Datenbus zum globalen Datenbus (z. B. MDQ) zu übertragen. Die Bandbreite wird erhöht, indem die durchschnittlichen Entfernungen von den Bitleitungsleseverstärkern zum globalen Datenbus halbiert werden, während gleichzeitig Daten parallel zur linken Seite des geteilten LDQ-Bus und zur rechten Seite des geteilten LDQ-Bus übertragen werden, ohne die Anzahl von lokalen Datenbusleitungen zu erhöhen. An der gesamten DRAM-Grundarchitektur ändert sich nichts mit der Ausnahme, dass die Anzahl der Leitungen des globalen Datenbusses verdoppelt wird, um eine doppelte Prefetch-Breite zu unterstützen. Dadurch wird eine doppelte Prefetch-Breite ohne Erhöhung der Leitungszahl des lokalen Datenbusses erreicht.
-
Die beschriebenen Komponenten und/oder Operationen können mit Hilfe standardgemäßer Programmierungs- und/oder Engineering-Verfahren als Verfahren, Vorrichtung oder Computerprogrammprodukt implementiert werden, um eine Software, Firmware, Hardware oder eine Kombination derselben zu erzeugen. Die beschriebenen Operationen können als Code implementiert werden, der in einem „computerlesbaren Speichermedium“ zur Implementierung in einigen Ausführungsformen oder zur Software-Simulation eines Speicherchips für Konstruktionszwecke geführt wird, wobei ein Prozessor den Code aus dem computerlesbaren Speichermedium auslesen und ausführen kann. Das computerlesbare Speichermedium beinhaltet mindestens eines der Elemente elektronische Schaltungen, Speichermaterialien, anorganische Materialien, organische Materialien, biologische Materialien, eine Umhausung, ein Gehäuse, eine Beschichtung und Hardware. Ein computerlesbares Speichermedium kann, ohne darauf beschränkt zu sein, ein magnetisches Speichermedium (z. B. Festplattenlaufwerke, Disketten, Bänder usw.), optischen Speicher (CD-ROMs, DVDs, optische Plattenspeicher, usw.), flüchtige und nichtflüchtige Speicherbauelemente (z. B. EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, Flash-Speicher, Firmware, programmierbare Logik usw.), Solid-State-Devices (SSD) usw. umfassen. Der die beschriebenen Operationen umsetzende Code kann ferner in Hardware-Logik implementiert werden, die in einem Hardware-Bauelement (z. B. einem integrierten Schaltungschip, einem programmierbaren Gate-Array (PGA), einer anwendungsspezifischen integrierten Schaltung (ASIC) usw.) implementiert ist. Der die beschriebenen Operationen umsetzende Code kann ferner auch in „Übertragungssignalen“ implementiert werden, wobei sich Übertragungssignale durch den Raum oder über ein Übertragungsmedium wie Faseroptik, Kupferdraht usw. ausbreiten können. Die Übertragungssignale, in denen der Code oder die Logik kodiert ist, können zudem ein Drahtlossignal, eine Satellitenübertragung, Funkwellen, Infrarotsignale, Bluetooth usw. umfassen. Der auf einem computerlesbaren Speichermedium eingebettete Programmcode kann als Übertragungssignale von einer Sendestation oder einem Sendecomputer zu einer Empfangsstation oder einem Empfangscomputer gesendet werden. Ein computerlesbares Speichermedium besteht nicht allein aus Übertragungssignalen. Fachleute werden erkennen, dass viele Abwandlungen an dieser Ausgestaltung vorgenommen werden können und dass der Herstellungsartikel ein im Stand der Technik bekanntes geeignetes informationstragendes Medium umfassen kann.
-
Computerprogrammcode zum Ausführen von Operationen für Aspekte der einigen Ausführungsformen kann in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben sein. Blöcke von Flussdiagrammen und/oder Blockschaltbildern können durch Computerprogrammanweisungen implementiert werden.
-
6 zeigt ein Blockschaltbild eines Systems 600, das ein Rechengerät beinhalten kann, wobei ein DRAM mit einem geteilten LDQ im Rechengerät enthalten ist. In einigen Ausführungsformen kann das System 600 beispielsweise ein Computer (z. B. ein Laptop, ein Desktop-Computer, ein Tablet, ein Mobiltelefon oder ein anderes geeignetes Rechengerät) sein, der eine DRAM-Vorrichtung mit geteiltem LDQ (wie in 4 gezeigt) im Computer aufweist. Das System 600 kann eine Schaltung 602 beinhalten, die in einigen Ausführungsformen mindestens einen Prozessor 604 beinhalten kann. Das System 600 kann auch einen Memory-Speicher 606 (z. B. einen DRAM mit geteiltem LDQ) und Ablagespeicher 608 beinhalten. Der Ablagespeicher 608 kann ein Solid-State-Drive, ein Diskettenlaufwerk oder andere Laufwerke oder Geräte einschließlich eines nichtflüchtigen Speicherbauelements (zum Beispiel EEPROM, ROM, PROM, Flash, Firmware, programmierbare Logik usw.) beinhalten. Der Ablagespeicher 608 kann auch ein magnetisches Laufwerk, ein optisches Laufwerk, ein Bandlaufwerk usw. beinhalten. Der Ablagespeicher 608 kann ein internes Speichergerät, ein angebautes Speichergerät und/oder ein Speichergerät mit Netzzugriff umfassen. Das System 600 kann eine Programmlogik 610 einschließlich Code 612 beinhalten, der in den Speicher 606 geladen und durch den Prozessor 604 oder die Schaltung 602 ausgeführt werden kann. In einigen Ausführungsformen kann die Programmlogik 610 einschließlich Code 612 im Ablagespeicher 608 abgelegt werden. In einigen anderen Ausführungsformen kann die Programmlogik 610 in der Schaltung 602 implementiert sein. Deshalb kann, obwohl 6 die Programmlogik 610 getrennt von anderen Elementen zeigt, die Programmlogik im Speicher 606 und/oder in der Schaltung 602 implementiert werden. Das System 600 kann auch eine Anzeige 614 (zum Beispiel eine Flüssigkristallanzeige (LCD), eine Leuchtdiodenanzeige (LED), eine Kathodenstrahlröhrenanzeige (CRT), eine Touchscreen-Anzeige oder eine andere geeignete Anzeige beinhalten. Das System 600 kann auch ein oder mehrere Eingabegeräte 616 wie eine Tastatur, eine Maus, einen Joystick, ein Trackpad oder ein anderes geeignetes Eingabegerät beinhalten. In einigen Ausführungsformen kann die Anzeige 614 mit einem Speicherbauelement gekoppelt sein, das den Ablagespeicher 624 und/oder den Memory-Speicher 606 umfasst; eine Netzschnittstelle 614 kann kommunikationstechnisch mit dem Prozessor 604 gekoppelt sein; und eine Batterie 620 kann kommunikationstechnisch mit dem Prozessor gekoppelt sein. Neben den in 6 gezeigten Komponenten oder Geräten können weitere Komponenten oder Geräte im System 600 zu finden sein.
-
Einige Ausführungsformen können sich auf ein Verfahren zum Verteilen einer Rechenanweisung durch eine Person oder eine automatisierte Verarbeitung zum Integrieren eines computerlesbaren Codes in ein Rechensystem richten, wobei der Code in Kombination mit dem Rechensystem zum Durchführen der Operationen der beschriebenen Ausführungsformen befähigt ist.
-
Die Ausdrücke „eine Ausführungsform“, „Ausführungsform“, „Ausführungsformen“, „die Ausführungsform“, „die Ausführungsformen“, „eine oder mehrere Ausführungsformen“ und „einige Ausführungsformen“ bedeuten „eine oder mehrere (aber nicht alle) Ausführungsformen“, sofern nicht ausdrücklich anders angegeben.
-
Die Ausdrücke „beinhalten“, „umfassen“, „aufweisen“ und Variationen dieser Ausdrücke bedeuten „einschließlich, aber nicht darauf beschränkt“, sofern nicht ausdrücklich anders angegeben.
-
Eine Aufzählung bedeutet nicht, dass die aufgezählten Elemente einander ganz oder teilweise ausschließen, sofern nicht ausdrücklich anders angegeben.
-
Der unbestimmte Artikel „ein“ und der bestimmte Artikel „der/die/das“ bedeuten „eins oder mehr als eins“, sofern nicht ausdrücklich anders angegeben.
-
Vorrichtungen, die miteinander in Kommunikation stehen, müssen nicht ständig in Kommunikation miteinander sein, sofern nicht ausdrücklich anders angegeben. Vorrichtungen, die miteinander in Kommunikation stehen, können außerdem unmittelbar oder über ein oder mehrere Zwischenglieder mittelbar miteinander kommunizieren.
-
Eine Beschreibung einer Ausführungsform mit mehreren miteinander in Kommunikation stehenden Komponenten impliziert nicht, dass all diese Komponenten erforderlich sind. Vielmehr wird eine Vielzahl optionaler Komponenten beschrieben, um die breite Vielfalt möglicher Ausführungsformen zu veranschaulichen.
-
Auch wenn Prozessschritte, Verfahrensschritte, Algorithmen oder dergleichen gegebenenfalls in sequentieller Reihenfolge beschrieben sind, können diese Prozesse, Verfahren und Algorithmen für ein Arbeiten in wechselnden Reihenfolgen ausgelegt sein. Anders gesagt, eine gegebenenfalls beschriebene Sequenz oder Reihenfolge von Schritten zeigt nicht zwangsläufig an, dass die Schritte in dieser Reihenfolge ausgeführt müssen. Die hierin beschriebenen Schritte von Prozessen können in jeder praktischen Reihenfolge ausgeführt werden. Einige Schritt können zudem gleichzeitig ausgeführt werden.
-
Wenn hierin eine einzelne Vorrichtung oder ein einzelner Artikel beschrieben wird, ist deutlich zu sehen, dass mehr als eine Vorrichtung / ein Artikel (unabhängig davon, ob sie zusammenwirken oder nicht) an Stelle einer einzelnen Vorrichtung / eines einzelnen Artikels verwendet werden kann. Wenn hierin mehr als eine Vorrichtung oder mehr als ein Artikel beschrieben sind (unabhängig davon, ob sie zusammenwirken oder nicht), wird gleichermaßen deutlich, dass eine einzelne Vorrichtung / ein einzelner Artikel an Stelle der mehr als einen Vorrichtung beziehungsweise des mehr als eines Artikels verwendet werden kann oder dass eine andere Anzahl von Vorrichtungen/Artikeln an Stelle der dargestellten Anzahl von Vorrichtungen oder Programmen verwendet werden kann. Die Funktionalität und/oder die Merkmale einer Vorrichtung können alternativ durch eine oder mehrere andere Vorrichtungen realisiert werden, die nicht ausdrücklich mit dieser Funktionalität / diesen Merkmalen beschrieben werden. Andere Ausführungsformen müssen also die Vorrichtung selbst nicht beinhalten.
-
Mindestens einige Operationen, die in den Figuren illustriert sein können, zeigen bestimmte Ereignisse, die in einer bestimmten Reihenfolge eintreten. In alternativen Ausführungsformen können bestimmte Operationen in einer anderen Reihenfolge ausgeführt werden, abgewandelt werden oder entfallen. Darüber hinaus können Schritte zur oben beschriebenen Logik hinzugefügt werden und entsprechen nach wie vor den beschriebenen Ausführungsformen. Zudem können hier beschriebene Operationen sequentiell eintreten oder bestimmte Operationen können parallel verarbeitet werden. Weiterhin können Operationen durch eine einzelne Verarbeitungseinheit oder durch verteilte Verarbeitungseinheiten ausgeführt werden.
-
Die vorstehende Beschreibung verschiedener Ausführungsformen wurde zu Veranschaulichungs- und Beschreibungszwecken vorgelegt. Sie soll weder erschöpfend noch auf die offenbarten konkreten Formen beschränkt sein. In Anbetracht der obigen Lehren sind viele Abwandlungen und Variationen möglich.
-
Beispiele
-
Beispiel 1 ist ein Speicherbauelement, umfassend einen globalen Datenbus; und einen in zwei Teile geteilten lokalen Datenbus, wobei der lokale Datenbus so konfigurierbar ist, dass er Signale zum globalen Datenbus leitet.
-
In Beispiel 2 beinhaltet der Gegenstand von Beispiel 1 ferner, dass die beiden Teile des lokalen Datenbusses einen ersten Teil und einen zweiten Teil umfassen, wobei die Signale ein erstes Signal und ein zweites Signal umfassen, wobei der erste Teil des lokalen Datenbusses so konfigurierbar ist, dass er das erste Signal zu Leitungen des globalen Datenbusses leitet, und wobei der zweite Teil des lokalen Datenbusses so konfigurierbar ist, dass er das zweite Signal zu anderen Leitungen des globalen Datenbusses leitet.
-
In Beispiel 3 beinhaltet der Gegenstand von Beispiel 2 ferner, dass eine Breite des lokalen Datenbusses die Hälfte einer Prefetch-Breite des Speicherbauelements ist.
-
In Beispiel 4 beinhaltet der Gegenstand von Beispiel 3 ferner, dass der lokale Datenbus so konfigurierbar ist, dass er logisch aufeinanderfolgende Signale trennt, um die Signale zum globalen Datenbus zu leiten.
-
In Beispiel 5 beinhaltet der Gegenstand von Beispiel 4 ferner, dass der lokale Datenbus einen LDQ-Bus (Local Data Queue) umfasst, wobei der globale Datenbus einen MDQ-Bus (Main Data Queue) umfasst und wobei das Speicherbauelement ferner erste Spalten-Select-Leitungen, die Werte für den ersten Teil des LDQ auswählen, und zweite Spalten-Select-Leitungen, die Werte für den zweiten Teil des LDQ auswählen, umfasst.
-
In Beispiel 6 beinhaltet der Gegenstand von Beispiel 1 ferner, dass das Speicherbauelement mindestens ein flüchtiges oder ein nichtflüchtiges Speicherbauelement umfasst.
-
In Beispiel 7 beinhaltet der Gegenstand von Beispiel 1 ferner, dass der lokale Datenbus und der globale Datenbus in einer Speicherbank mit einem rechteckigen Array von Zellen enthalten sind.
-
In Beispiel 8 beinhaltet der Gegenstand von Beispiel 1 ferner, dass das Speicherbauelement mindestens eine Speicherbank umfasst.
-
Beispiel 9 ist ein Verfahren umfassend: Empfangen von Signalen in einem lokalen Datenbus, der in zwei Teile geteilt ist; und Leiten der Signale vom lokalen Datenbus zum globalen Datenbus.
-
In Beispiel 10 beinhaltet der Gegenstand von Beispiel 9 ferner, dass die beiden Teile des lokalen Datenbusses einen ersten Teil und einen zweiten Teil umfassen, wobei die Signale ein erstes Signal und ein zweites Signal umfassen, wobei das Verfahren ferner umfasst: Konfigurieren des ersten Teils des lokalen Datenbusses, um das erste Signal zu Leitungen des globalen Datenbusses zu leiten; Konfigurieren des zweiten Teils des lokalen Datenbusses, um das zweite Signal zu anderen Leitungen des globalen Datenbusses zu leiten.
-
In Beispiel 11 beinhaltet der Gegenstand von Beispiel 10 ferner, dass eine Breite des lokalen Datenbusses die Hälfte einer Prefetch-Breite ist.
-
In Beispiel 12 beinhaltet der Gegenstand von Beispiel 11 ferner, dass das Verfahren umfasst: Trennen logisch aufeinanderfolgender Daten im lokalen Datenbus, während die Signale zum globalen Datenbus geleitet werden.
-
In Beispiel 13 beinhaltet der Gegenstand von Beispiel 12 ferner, dass der lokale Datenbus ein LDQ-Bus (Local Data Queue) ist, wobei der globale Datenbus ein MDQ-Bus (Main Data Queue) ist und wobei das Speicherbauelement ferner erste Spalten-Select-Leitungen, die Werte für den ersten Teil des LDQ auswählen, und zweite Spalten-Select-Leitungen, die Werte für den zweiten Teil des LDQ auswählen, umfasst.
-
In Beispiel 14 beinhaltet der Gegenstand von Beispiel 9 ferner, dass der lokale Datenbus und der globale Datenbus in einem Speicherbauelement enthalten sind, der mindestens ein flüchtiges oder ein nichtflüchtiges Speicherbauelement umfasst.
-
In Beispiel 15 beinhaltet der Gegenstand von Beispiel 14 ferner, dass das Speicherbauelement mindestens eine Speicherbank umfasst.
-
In Beispiel 16 beinhaltet der Gegenstand von Beispiel 9 ferner, dass der lokale Datenbus und der globale Datenbus in einer Speicherbank mit einem rechteckigen Array von Zellen enthalten sind.
-
Beispiel 17 ist eine Rechengerät umfassend: einen Prozessor; und ein mit dem Prozessor gekoppeltes Speicherbauelement, das Speicherbauelement umfassend: einen globalen Datenbus; und einen in zwei Teile geteilten lokalen Datenbus, wobei der lokale Datenbus so konfigurierbar ist, dass er Signale zum globalen Datenbus leitet.
-
In Beispiel 18 beinhaltet der Gegenstand von Beispiel 17 ferner, dass die beiden Teile des lokalen Datenbusses einen ersten Teil und einen zweiten Teil umfassen, wobei die Signale ein erstes Signal und ein zweites Signal umfassen, wobei der erste Teil des lokalen Datenbusses so konfigurierbar ist, dass er das erste Signal zu Leitungen des globalen Datenbusses leitet, und wobei der zweite Teil des lokalen Datenbusses so konfigurierbar ist, dass er das zweite Signal zu anderen Leitungen des globalen Datenbusses leitet.
-
In Beispiel 19 beinhaltet der Gegenstand von Beispiel 18 ferner, dass eine Breite des lokalen Datenbusses die Hälfte einer Prefetch-Breite des Speicherbauelements ist.
-
In Beispiel 20 beinhaltet der Gegenstand von Beispiel 19 ferner, dass der lokale Datenbus so konfigurierbar ist, dass er logisch aufeinanderfolgende Signale trennt, um die Signale zum globalen Datenbus zu leiten.
-
In Beispiel 21 beinhaltet der Gegenstand von Beispiel 20 ferner, dass der lokale Datenbus einen LDQ-Bus (Local Data Queue) umfasst, wobei der globale Datenbus einen MDQ-Bus (Main Data Queue) umfasst und wobei das Speicherbauelement ferner erste Spalten-Select-Leitungen, die Werte für den ersten Teil des LDQ auswählen, und zweite Spalten-Select-Leitungen, die Werte für den zweiten Teil des LDQ auswählen, umfasst.
-
In Beispiel 22 beinhaltet der Gegenstand von Beispiel 17 ferner, dass der lokale Datenbus und der globale Datenbus sich in einem Speicherbauelement befinden, das mindestens ein flüchtiges oder ein nichtflüchtiges Speicherbauelement umfasst.
-
In Beispiel 23 beinhaltet der Gegenstand von Beispiel 22 ferner, dass der lokale Datenbus und der globale Datenbus in einer Speicherbank mit einem rechteckigen Array von Zellen enthalten sind.
-
In Beispiel 24 beinhaltet der Gegenstand von Beispiel 17 ferner, dass das Speicherbauelement mindestens eine Speicherbank umfasst.
-
In Beispiel 25 beinhaltet der Gegenstand von Beispiel 17 ferner, dass das Rechengerät ferner umfasst: eine oder mehrere mit dem Speicherbauelement gekoppelte Anzeigen; eine mit dem Prozessor kommunikationstechnisch gekoppelte Netzschnittstelle; oder eine mit dem Prozessor kommunikationstechnisch gekoppelte Batterie.
-
Beispiel 26 ist ein Speicherbauelement zur gemeinsamen Nutzung eines Datenpfads, umfassend: einen globalen Datenbus; und einen in zwei Teile geteilten lokalen Datenbus, wobei der lokale Datenbus so konfigurierbar ist, dass er Signale zum globalen Datenbus leitet.
-
In Beispiel 27 beinhaltet der Gegenstand von Beispiel 26 ferner, dass die beiden Teile des lokalen Datenbusses einen ersten Teil und einen zweiten Teil umfassen, wobei die Signale ein erstes Signal und ein zweites Signal umfassen, wobei der erste Teil des lokalen Datenbusses so konfigurierbar ist, dass er das erste Signal zu Leitungen des globalen Datenbusses leitet, und wobei der zweite Teil des lokalen Datenbusses so konfigurierbar ist, dass er das zweite Signal zu anderen Leitungen des globalen Datenbusses leitet.
-
In Beispiel 28 beinhaltet der Gegenstand von Beispiel 27 ferner, dass eine Breite des lokalen Datenbusses die Hälfte einer Prefetch-Breite des Speicherbauelements ist.
-
In Beispiel 29 beinhaltet der Gegenstand von Beispiel 28 ferner, dass der lokale Datenbus so konfigurierbar ist, dass er logisch aufeinanderfolgende Signale trennt, um die Signale zum globalen Datenbus zu leiten.
-
In Beispiel 30 beinhaltet der Gegenstand von Beispiel 29 ferner, dass der lokale Datenbus einen LDQ-Bus (Local Data Queue) umfasst, wobei der globale Datenbus einen MDQ-Bus (Main Data Queue) umfasst und wobei das Speicherbauelement ferner erste Spalten-Select-Leitungen, die Werte für den ersten Teil des LDQ auswählen, und zweite Spalten-Select-Leitungen, die Werte für den zweiten Teil des LDQ auswählen, umfasst.
-
In Beispiel 31 beinhaltet der Gegenstand von Beispiel 26 ferner, dass das Speicherbauelement mindestens ein flüchtiges oder ein nichtflüchtiges Speicherbauelement umfasst.
-
In Beispiel 32 beinhaltet der Gegenstand von Beispiel 26 ferner, dass der lokale Datenbus und der globale Datenbus in einer Speicherbank mit einem rechteckigen Array von Zellen enthalten sind.
-
In Beispiel 33 beinhaltet der Gegenstand von Beispiel 26 ferner, dass das Speicherbauelement mindestens eine Speicherbank umfasst.
-
Beispiel 34 ist ein Verfahren zur gemeinsamen Nutzung eines Datenpfads, umfassend: Empfangen von Signalen in einem lokalen Datenbus, der in zwei Teile geteilt ist; und Leiten der Signale vom lokalen Datenbus zum globalen Datenbus.
-
In Beispiel 35 beinhaltet der Gegenstand von Beispiel 34 zudem, dass die beiden Teile des lokalen Datenbusses einen ersten Teil und einen zweiten Teil umfassen, wobei die Signale ein erstes Signal und ein zweites Signal umfassen, wobei das Verfahren ferner umfasst: Konfigurieren des ersten Teils des lokalen Datenbusses, um das erste Signal zu Leitungen des globalen Datenbusses zu leiten; Konfigurieren des zweiten Teils des lokalen Datenbusses, um das zweite Signal zu anderen Leitungen des globalen Datenbusses zu leiten.
-
In Beispiel 36 beinhaltet der Gegenstand von Beispiel 35 ferner, dass eine Breite des lokalen Datenbusses die Hälfte einer Prefetch-Breite ist.
-
In Beispiel 37 beinhaltet der Gegenstand von Beispiel 36 ferner, dass das Verfahren umfasst: Trennen logisch aufeinanderfolgender Daten im lokalen Datenbus, während die Signale zum globalen Datenbus geleitet werden.
-
In Beispiel 38 beinhaltet der Gegenstand von Beispiel 37 ferner, dass der lokale Datenbus ein LDQ-Bus (Local Data Queue) ist, wobei der globale Datenbus ein MDQ-Bus (Main Data Queue) ist und wobei das Speicherbauelement ferner erste Spalten-Select-Leitungen, die Werte für den ersten Teil des LDQ auswählen, und zweite Spalten-Select-Leitungen, die Werte für den zweiten Teil des LDQ auswählen, umfasst.
-
In Beispiel 39 beinhaltet der Gegenstand von Beispiel 34 ferner, dass der lokale Datenbus und der globale Datenbus in einem Speicherbauelement enthalten sind, das mindestens ein flüchtiges oder ein nichtflüchtiges Speicherbauelement umfasst.
-
In Beispiel 40 beinhaltet der Gegenstand von Beispiel 39 ferner, dass das Speicherbauelement mindestens eine Speicherbank umfasst.
-
In Beispiel 41 beinhaltet der Gegenstand von Beispiel 34 ferner, dass der lokale Datenbus und der globale Datenbus in einer Speicherbank mit einem rechteckigen Array von Zellen enthalten sind.
-
Beispiel 42 ist ein Rechengerät zur gemeinsamen Nutzung eines Datenpfads, umfassend: einen Prozessor; und ein mit dem Prozessor gekoppeltes Speicherbauelement, wobei das Speicherbauelement umfasst: einen globalen Datenbus; und einen in zwei Teile geteilten lokalen Datenbus, wobei der lokale Datenbus so konfigurierbar ist, dass er Signale zum globalen Datenbus leitet.
-
In Beispiel 43 beinhaltet der Gegenstand von Beispiel 42 ferner, dass die beiden Teile des lokalen Datenbusses einen ersten Teil und einen zweiten Teil umfassen, wobei die Signale ein erstes Signal und ein zweites Signal umfassen, wobei der erste Teil des lokalen Datenbusses so konfigurierbar ist, dass er das erste Signal zu Leitungen des globalen Datenbusses leitet, und wobei der zweite Teil des lokalen Datenbusses so konfigurierbar ist, dass er das zweite Signal zu anderen Leitungen des globalen Datenbusses leitet.
-
In Beispiel 44 beinhaltet der Gegenstand von Beispiel 43 ferner, dass eine Breite des lokalen Datenbusses die Hälfte einer Prefetch-Breite des Speicherbauelements ist.
-
In Beispiel 45 beinhaltet der Gegenstand von Beispiel 44 ferner, dass der lokale Datenbus so konfigurierbar ist, dass er logisch aufeinanderfolgende Signale trennt, um die Signale zum globalen Datenbus zu leiten.
-
In Beispiel 46 beinhaltet der Gegenstand von Beispiel 45 ferner, dass der lokale Datenbus einen LDQ-Bus (Local Data Queue) umfasst, wobei der globale Datenbus einen MDQ-Bus (Main Data Queue) umfasst und wobei das Speicherbauelement ferner erste Spalten-Select-Leitungen, die Werte für den ersten Teil des LDQ auswählen, und zweite Spalten-Select-Leitungen, die Werte für den zweiten Teil des LDQ auswählen, umfasst.
-
In Beispiel 47 beinhaltet der Gegenstand von Beispiel 42 ferner, dass der lokale Datenbus und der globale Datenbus sich in einem Speicherbauelement befinden, das mindestens ein flüchtiges oder ein nichtflüchtiges Speicherbauelement umfasst.
-
In Beispiel 48 beinhaltet der Gegenstand von Beispiel 47 ferner, dass der lokale Datenbus und der globale Datenbus in einer Speicherbank mit einem rechteckigen Array von Zellen enthalten sind.
-
In Beispiel 49 beinhaltet der Gegenstand von Beispiel 42 ferner, dass das Speicherbauelement mindestens eine Speicherbank umfasst.
-
In Beispiel 50 beinhaltet der Gegenstand von Beispiel 42 ferner, dass das Rechengerät ferner eine oder mehr mit dem Speicherbauelement gekoppelte Anzeigen umfasst; eine mit dem Prozessor kommunikationstechnisch gekoppelte Netzschnittstelle; oder eine mit dem Prozessor kommunikationstechnisch gekoppelte Batterie.
-
Beispiel 51 ist ein System zur gemeinsamen Nutzung eines Datenpfads, umfassend: Mittel zum Empfangen von Signalen in einem lokalen Datenbus, der in zwei Teile geteilt ist; und Mittel zum Leiten der Signale vom lokalen Datenbus zum globalen Datenbus.
-
In Beispiel 52 beinhaltet der Gegenstand von Beispiel 51 ferner, dass die beiden Teile des lokalen Datenbusses einen ersten Teil und einen zweiten Teil umfassen, wobei die Signale ein erstes Signal und ein zweites Signal umfassen, und das System ferner umfasst: Mittel zum Konfigurieren des ersten Teils des lokalen Datenbusses, um das erste Signal zu Leitungen des globalen Datenbusses zu leiten; Mittel zum Konfigurieren des zweiten Teils des lokalen Datenbusses, um das zweite Signal zu anderen Leitungen des globalen Datenbusses zu leiten.
-
In Beispiel 53 beinhaltet der Gegenstand von Beispiel 52 ferner, dass eine Breite des lokalen Datenbusses die Hälfte einer Prefetch-Breite ist.
-
In Beispiel 54 beinhaltet der Gegenstand von Beispiel 53 ferner, dass das System ferner umfasst: Mittel zum Trennen logisch aufeinanderfolgender Daten im lokalen Datenbus, während die Signale zum globalen Datenbus geleitet werden.
-
In Beispiel 55 beinhaltet der Gegenstand von Beispiel 54 ferner, dass der lokale Datenbus ein LDQ-Bus (Local Data Queue) ist, wobei der globale Datenbus ein MDQ-Bus (Main Data Queue) ist und wobei das Speicherbauelement ferner erste Spalten-Select-Leitungen, die Werte für den ersten Teil des LDQ auswählen, und zweite Spalten-Select-Leitungen, die Werte für den zweiten Teil des LDQ auswählen, umfasst.
-
In Beispiel 56 beinhaltet der Gegenstand von Beispiel 51 ferner, dass der lokale Datenbus und der globale Datenbus in einem Speicherbauelement enthalten sind, das mindestens ein flüchtiges oder ein nichtflüchtiges Speicherbauelement umfasst.
-
In Beispiel 57 beinhaltet der Gegenstand von Beispiel 56 ferner, dass das Speicherbauelement mindestens eine Speicherbank umfasst.
-
In Beispiel 58 beinhaltet der Gegenstand von Beispiel 51 ferner, dass der lokale Datenbus und der globale Datenbus in einer Speicherbank mit einem rechteckigen Array von Zellen enthalten sind.