Warum ist der interne Takt aller DDRs (DDR, DDR2, DDR3) auf 200 MHz eingestellt?

Wenn wir die DDR-Upgrade-Technologie unten erklären, ist der interne Takt aller DDR auf 200 MHz eingestellt.

DDR

Zum Beispiel DDR-400

Die effiziente Datenbusfrequenz beträgt 400 MHz

Die wahre Taktrate (IO-Pufferfrequenz) beträgt 200 MHz

Die interne Taktrate des DDR-Speichers beträgt 200 MHz

Um also 1 Bit pro Takt (über jede Datenleitung) entlang des externen Busses zu übertragen, der mit der effektiven Taktrate von 400 MHz arbeitet, müssen 2 Bits pro Takt des internen 200-MHz-Datenbusses übertragen werden bekannt als 2n -Prefetch.

DDR2

DDR2-800-Speicherchips Die effiziente Datenbusfrequenz beträgt 800 MHz

Die IO-Pufferfrequenz beträgt 400 MHz

Die Taktrate des internen Datenbusses beträgt nur 200 MHz

Um also 1 Bit (über jede Datenleitung) pro Takt des externen Datenbusses zu übertragen, der mit der effizienten Taktrate von 800 MHz arbeitet, müssen 4 Bits pro Takt des internen 200-MHz-Datenbusses übertragen werden. So dieses Datenzugriffsschema wird auch als 4n -Prefetch bezeichnet .

DDR3

DDR3-1600-Speicherchips Die effiziente Datenbusfrequenz beträgt 1600 MHz

Die IO-Pufferfrequenz beträgt 800 MHz

Die Taktrate des internen Datenbusses beträgt nur 200 MHz

Um also 1 Bit (über jede Datenleitung) pro Takt des externen Datenbusses zu übertragen, der mit der effizienten Taktrate von 1600 MHz arbeitet, müssen 8 Bits pro Takt des internen 200-MHz-Datenbusses übertragen werden. So dieses Datenzugriffsschema wird auch als 8n -Prefetch bezeichnet .

Jetzt ist hier meine Frage

1. Warum können wir zur Erhöhung der Datenbusgeschwindigkeit nicht die interne Uhr erhöhen?

2. Welche Folgen können wir haben, wenn wir die innere Uhr erhöhen?

Antworten (2)

Ein DDR-Speichergerät besteht eigentlich aus zwei verschiedenen Komponenten:

1: Eine Reihe von Speicherarrays, die hauptsächlich aus Kondensatoren bestehen, die unter Verwendung einer sehr breiten Bank von Differenzverstärkern beschrieben und gelesen werden. Dies ist im Grunde eine analoge Schaltung, überraschend genug.

2: Ein Schnittstellenpuffer, der es ermöglicht, die Hunderte oder Tausende einzelner Bits, die von einem einzelnen Speicherarray-Lesezyklus erzeugt werden, mit einer angemessenen Anzahl von Datenleitungen zur Northbridge oder CPU zu verbinden. Es werden mehrere Zyklen auf der externen Schnittstelle benötigt, um die Daten im Puffer zu übertragen.

Im Allgemeinen nimmt die Strukturgröße der Halbleitertechnologie mit der Zeit ab, wenn die Herstellungstechnologie verfeinert wird. Dies wirkt sich in den beiden oben genannten Komponenten unterschiedlich aus.

Für das Speicherarray werden die Differenzverstärker empfindlicher und die einzelnen Kondensatoren kleiner. Dadurch kann ein größeres Array auf derselben Chipfläche aufgebaut werden, wodurch mehr Bits pro Zyklus ausgelesen werden. Die Geschwindigkeit des Arrays bleibt jedoch ungefähr gleich.

Für den Schnittstellenpuffer werden einige der Datenpfade kürzer und damit schneller, die erforderlichen Spannungshübe werden reduziert, und es gibt jetzt Platz für eine bessere Skew-Korrektur, Taktwiederherstellung usw. Dies ermöglicht höhere externe Signalgeschwindigkeiten innerhalb eines angemessenen Leistungs- und Flächenbudgets . Das ursprüngliche DDR-RAM übertrug Daten einfach sowohl an der ansteigenden als auch an der abfallenden Flanke des Taktsignals, anstatt nur an der ansteigenden Flanke, wie es SDRAM tat. Neuere Versionen vervielfachen effektiv auch das grundlegende Taktsignal.

Dieses "Grundtaktsignal" liegt in Mainstream-Produkten jeder Generation normalerweise bei etwa 200 MHz, obwohl auch schnellere und langsamere Geräte erhältlich sind. Im ursprünglichen DDR bedeutete ein 200-MHz-Takt 400 MT/s und wurde oft als 400 MHz (oder DDR-400) bezeichnet, obwohl das Signal mit der höchsten Frequenz tatsächlich 200 MHz beträgt. Bei DDR2 wird der Basistakt mit einer PLL an beiden Enden der Schnittstelle verdoppelt, sodass die tatsächliche Taktrate 400 MHz beträgt und es 800 MT/s gibt. In DDR3 wird der Takt vervierfacht und in DDR4 verachtfacht, was heute typischerweise 3200 MT/s ergibt. Wie Sie sich vorstellen können, muss das Timing relativ zu den Taktflanken sehr sorgfältig kontrolliert werden.

Da sich die Speicherarrays selbst in ihrer Geschwindigkeit nicht wesentlich geändert haben, gehen diese höheren Schnittstellengeschwindigkeiten mit erhöhten "Column-Strobe-Latenz" (CL)-Werten einher. Diese beschreiben, wie viele Übertragungszyklen zwischen der Bereitstellung der Adresse und dem Empfang der Daten vergehen, und werden verwendet, um die begrenzte Geschwindigkeit der Speicherarrays relativ zum Schnittstellenbus zu berücksichtigen.

Eines der Dinge, die der Basistakt mehr oder weniger direkt steuert, anstatt über eine PLL, ist der Selbstauffrischungszyklus der Speicherarrays. Die Verwendung von Kondensatoren zum Speichern von Bits ist sehr platzsparend, aber die Ladung entweicht ziemlich leicht aus ihnen und schwächt die Anzeige innerhalb weniger Millisekunden, sodass die Speicherarrays ständig ihren Inhalt durchlaufen und ihn lesen und neu schreiben müssen, um dies sicherzustellen sie bleiben gültig.

Weil es bei DDR um die externe Schnittstelle des Speichergeräts geht, nur und nur darum.

Intern haben SDR-SDRAM, DDR-SDRAM, DDR2-SDRAM, DDR3-SDRAM und DDR4-SDRAM (fast) das gleiche dynamische Speicherarray, das um Kondensatoren herum aufgebaut ist und sich in dem für die Schnittstelle verantwortlichen Silizium unterscheidet (es verbraucht einen erheblichen Teil der gesamten Chipfläche). und im Volumen eines solchen Arrays.

Bis heute haben sich die dynamischen Speichergeräte in Schnittstellendurchsatz (Gbps), Herstellungsprozess (nm), Schienenpegel (Volt), Stromverbrauch (Watt) weiterentwickelt, aber nicht in der Geschwindigkeit des internen Arrays, dh des Speichers selbst , die ab SDR SDRAM (fast) gleich gehalten wird.


Update (von hier ):

Und auch die Random-Access-Zeiten haben sich seit SDRAM kaum verändert.
Spitzfindigkeiten: Verlustleistung (Watt) oder Stromverbrauch (Ampere)
@MrGerber: Nit-Picking ist in Ordnung. Wer will Nissen?