Modul-Threading
Überblick
Modul-Threading verbessert den Durchsatz und die Energieeffizienz eines Speichermoduls durch die Anwendung von Parallelismus auf den Moduldatenzugriff. Durch diese Innovation wird eine Partitionierung des Moduls in zwei individuelle Speicherkanäle vorgenommen und es werden die Befehle zu jedem einzelnen Kanal verschachtelt. Das Ergebnis ist eine kleinere minimale Übertragungsgröße und ein verringerter Stromverbrauch für die Zeilenaktivierung, woraus sich im Vergleich zu einem herkömmlichen DIMM-Modul eine 50 % höhere Bandbreite und ein 20 % niedrigerer Stromverbrauch des Speichers ergeben.
Typischer DRAM-Betrieb
Der aktuelle Trend hin zu Multicore- und konvergierten Grafikberechnungsprozessoren erhöht die Anforderungen an die Leistung von DRAM-Speicheruntersystemen. Multithread-Computing und Grafiken benötigen nicht nur mehr Bandbreite, sondern erzeugen auch erhöhten Direktzugriff auf kleinere Datenteile. Mit jeder DRAM-Generation werden kleine Datenübertragungen allerdings immer schwieriger. Obwohl die Speicherschnittstelle schneller geworden ist, blieb die Frequenz des Hauptspeicher-Cores relativ gleich. Als Folge daraus bedienen sich DRAMs des Core Prefetch-Verfahrens, bei dem eine größere Datenmenge vom Speicher-Core abgetastet und dann auf eine schnellere chipexterne Schnittstelle serialisiert wird, wodurch die Zugriffsgranularität effektiv erhöht wird. Diese Diskrepanz zwischen Schnittstellengeschwindigkeit und Core-Geschwindigkeit führt zu einem Core-Prefetch-Verhältnis von 8:1 bei aktuellen DDR3-DRAMs und soll voraussichtlich ein Verhältnis von 16:1 bei zukünftigen DRAM erreichen. Dieses höhere Prefetch-Verhältnis sowie die höhere Übertragungsrate können zu Verarbeitungsschwächen führen, insbesondere bei Multi-Threaded Arbeitsauslastungen und Grafikauslastungen mit Bedarf an höherer Zugriffsrate auf kleinere Datenteile.
Das Speicheruntersystem der heutigen Verarbeitungsplattformen wird üblicherweise mit DIMMs implementiert, die über einen 64 Bit breiten Datenbus und einen 28-Bit-Befehls-/Adress-/Taktbus verfügen. Bei einem Standard-DDR3-DIMM-Modul wird auf alle Geräte innerhalb eines Modulranks gleichzeitig über einen einzigen Befehls-/Adress-(C/A-)Kanal zugegriffen. Eine Beispielmodulkonfiguration platziert acht (x8) DDR-Komponenten, die parallel auf einer Modulplatine aufgebracht sind, und verfügt über eine minimale Datenübertragungsrate von 64 Byte.
Größere Effizienz
Größere Effizienz bei Multi-Threaded-Arbeitsauslastung und kleineren Übertragungen kann durch die Partitionierung des Moduls in zwei separate Speicherkanäle erreicht werden, und durch Multiplexing von Befehlen über den gleichen Leiterbahnensatz wie bei einem traditionellen Modul, aber mit separatem Chip, kann jeder Speicherkanal ausgewählt werden. Bei einem Threaded-Modul wird auf jede Seite des Moduls separat zugegriffen, wobei die minimale Übertragungsrate auf die Hälfte der Rate eines standardmäßigen Einzelkanal-Moduls verringert wird.
Geringerer Stromverbrauch
Threaded-Module können den durch Hauptspeicherzugriffe verursachten Stromverbrauch reduzieren. Bei einem konventionellen Modul mit acht Bausteinen werden alle acht DRAMs aktiviert (ACT), worauf dann ein Lese- oder Schreibvorgang (COL) für alle acht Bausteine folgt. Ein Threaded- oder Dual-Channel-Modul kann die gleiche Datenübertragung erreichen, indem nur vier Bausteine aktiviert werden und dann zwei aufeinander folgende Lese- oder Schreibvorgänge für diese Bausteine ausgeführt werden. Da pro Zugriff nur vier Bausteine statt acht aktiviert werden, erreicht ein Threaded- oder Dual-Channel-Modul eine vergleichbare Bandbreite mit nur halb so viel Stromverbrauch. Bei einem Speichersystem ergibt sich dadurch eine Gesamtstromersparnis von ca. 20 %.
Mehr Bandbreite
Ein weiterer Vorteil von Threaded-Modulen ist die größere kontinuierliche Bandbreite bei hohen Datenübertragungsraten. Viele moderne DRAMs, die dem Industriestandard entsprechen, verfügen aufgrund von Spannungsbeschränkungen der DRAM-Bausteine über eine begrenzte Bandbreite. Bei DRAMs ab der Generation DDR3 kann nur eine eingeschränkte Zahl von Speicherbänken aufgerufen werden, um das DRAM-interne Stromversorgungsnetzwerk zu schützen und eine stabile Spannung für den Speicher-Core aufrechtzuerhalten. Dieser Parameter, bekannt als tFAW (Four Activate Window), lässt die Aktivierung von nur vier Speicherbänken im tFAW-Fenster zu.
Bei einem Computersystem verhindert tFAW, dass der Speicher-Controller zusätzliche Zeilenaktivierungsbefehle ausgibt, sobald vier Aktivierungen während eines vorgegebenen tFAW-Zeitraums ausgegeben wurden. Hierdurch wird der Speicher-Controller abgeschaltet, und es tritt ein Verlust von Datenbandbreite auf. Diese und andere Beschränkungen bewirken, dass ein DDR3-DRAM mit einer Datenübertragungsrate von 1.600 Mbps bis zu 50 % seiner kontinuierlichen Datenbandbreite verliert. Da die DRAMs in einem Threaded-Modul halb so oft aktiviert werden wie bei einem konventionellen Modul, wird die kontinuierliche Bandbreite eines Threaded-Modul nicht durch die Core-Parameter eingeschränkt.
Zusammenfassung
- Modul-Threading sorgt für eine bessere Übertragungseffizienz und kleinere Zugriffsgranularität, während die Rohstoffkostenstruktur des Moduls beibehalten wird.
- Modul-Threading verringert die Anzahl der Zeilenaktivierungen um die Hälfte. Hierdurch kommt es zu einer 20 %igen Verringerung der Gesamtspeicherleistung.
- Modul-Threading verbessert die Modulbandbreite für 64-Byte-Übertragungen um bis zu 50 % im Vergleich zu aktuellen DDR3-Modulen, die durch Core-Parameter (tFAW und tRRD) Einschränkungen erfahren.
