DE102006035612A1 - Speicherpuffer für ein FB-Dimm - Google Patents

Speicherpuffer für ein FB-Dimm Download PDF

Info

Publication number
DE102006035612A1
DE102006035612A1 DE102006035612A DE102006035612A DE102006035612A1 DE 102006035612 A1 DE102006035612 A1 DE 102006035612A1 DE 102006035612 A DE102006035612 A DE 102006035612A DE 102006035612 A DE102006035612 A DE 102006035612A DE 102006035612 A1 DE102006035612 A1 DE 102006035612A1
Authority
DE
Germany
Prior art keywords
memory
data
data rate
input
dimm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102006035612A
Other languages
English (en)
Other versions
DE102006035612B4 (de
Inventor
Gerhard Dipl.-Ing. Risse
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Polaris Innovations Ltd
Original Assignee
Qimonda AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qimonda AG filed Critical Qimonda AG
Priority to DE102006035612A priority Critical patent/DE102006035612B4/de
Priority to US11/831,557 priority patent/US7730254B2/en
Publication of DE102006035612A1 publication Critical patent/DE102006035612A1/de
Application granted granted Critical
Publication of DE102006035612B4 publication Critical patent/DE102006035612B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

Ein Speicherpuffer (500) für ein FB-DIMM mit einer ersten Ein-/Ausgabe-Schnittstelle (510) zur Kommunikation mit einem Speicher-Controller (200) mit einer ersten Nutzdatenrate (f<SUB>FBD</SUB>) und einer zweiten Ein-/Ausgabe-Schnittstelle (520) zur Kommunikation mit Speicherbausteinen (120) mit einer zweiten Nutzdatenrate (f<SUB>DDR2</SUB>), wobei ein Verhältnis der ersten Nutzdatenrate (f<SUB>FBD</SUB>) zu der zweiten Nutzdatenrate (f<SUB>DDR2</SUB>) größer als 10 ist.

Description

  • Hintergrund
  • Die vorliegende Erfindung bezieht sich auf einen Speicherpuffer für ein FB-DIMM (FB-DIMM = Fully Buffered Dual Inline Memory Module = vollständig gepuffertes Doppel-InReihe-Speichermodul), wie z.B. ein FB-DIMM mit DDR2-SDRAM-Speicherbausteinen (DDR = Double Data Rate = Doppelte Datenrate, SDRAM = Synchronous Dynamic Random Access Memory = synchron arbeitender dynamischer Direktzugriffspeicher).
  • FB-DIMMs schaffen größere Speicherkapazitäten für Server und Workstations, eine höhere Betriebszuverlässigkeit und eine leichtere Wartbarkeit. Derzeitige FB-DIMMs unterstützten ausschließlich DDR2-SDRAM-Speicherbausteine. Jedes FB-DIMM umfasst neben einer Mehrzahl von Speicherbausteinen einen speziellen sogenannten AMB (AMB = Advanced Memory Buffer = fortgeschrittener Speicherpuffer). Der AMB stellt über eine Ein-/Ausgabe-Schnittstelle, welche 24 differenzielle Leitungspaare umfasst, beispielsweise eine serielle Verbindung zu einem sogenannten Memory-Controller bzw. Speicher-Controller her, welcher sich nicht auf dem FB-DIMM befindet. Von dem Speicher-Controller gelangen typischerweise Steuerinformationen und Daten über zehn der 24 Signalleitungspaare zu dem AMB, der daraus wiederum entsprechende Steuerinformation und Daten für die Speicherbausteine auf dem FB-DIMM ableitet und zu denselben weiterleitet. Die Schnittstellenverbindung von Speicher-Controller zu den AMBs wird auch als Southbound- oder Inbound-Verbindung bzw. südgerichtete Verbindung bezeichnet. Umgekehrt bezeichnet man die Verbindung über 14 Leitungspaare von FB-DIMM in Richtung Speicher-Controller auch als Northbound- oder Outbound-Verbindung bzw. nordgerichtete Verbindung.
  • Maximal verwaltet die FB-DIMM-Technologie acht Module, d.h. FB-DIMMs, pro Speicherkanal. Das bedeutet, dass acht FB-DIMMs in Reihe mit einem Speicherkanal des Speicher-Controllers verbunden sein können. Dabei bilden die AMBs eine asynchrone Latch-Kette für die eingehenden Daten in Form einer sog. Daisy-Chain.
  • Auf einem FB-DIMM sind bis zu 36 Speicherbausteine zulässig. In der Regel befinden sich auf einem doppelseitig bestückten FB-DIMM neben dem AMB 18 DDR2-SDRAM-Speicherbausteine. Zusätzlich können durch das sogenannte Stacked-Verfahren weitere 18 Speicherbausteine auf dem Modul verschaltet werden. Somit kann ein Speicher-Controller bis zu 36·8 = 288 Speicherbausteine pro Speicherkanal ansteuern.
  • AMB-ICs sind die zentrale Komponente von FB-DIMMs. Durch eine spezielle Bus-Architektur, der oben erwähnten Daisy-Chain Architektur, ist eine Mehrzahl von FB-DIMMs typischerweise in Serie miteinander verbunden. Dabei existiert eine Punkt-zu-Punkt-Verbindung zwischen dem Speicher-Controller und einem ersten FB-DIMM sowie von dem ersten FB-DIMM zu einem folgenden FB-DIMM bzw. Speichermodul, usw.. Dieser Aufbau ermöglicht einen von einer SDRAM-I/O-Geschwindigkeit unabhängigen Bus-Zugriff, wodurch sowohl eine höhere Speicherkapazität als auch größere Geschwindigkeiten ermöglicht werden.
  • In der Daisy-Chain fängt der AMB-Chip eingehende Daten, nämlich Frames bzw. Rahmen aus Nutz- bzw. Schreibdaten, Adressen und Befehlen, vom vorhergehenden FB-DIMM oder dem Speicher-Controller und sendet sie zum nachfolgenden FB-DIMM aus. Frames, die aufgrund Ihrer Adresse für den eigenen FB-DIMM bestimmt sind, werden von dem AMB weiterverarbeitet, um die Speicherbausteine auf diesem DIMM entsprechend anzusteuern. Die AMBs sorgen also für eine Verteilung der Daten an die SDRAM-Bausteine.
  • Der FB-DIMM-Standard sieht ein Datenmultiplexing mit einem Faktor 6 vor. Das bedeutet, DRAM-Frames werden vom Speicher-Controller mittels eines 6:1-Multiplexers an den AMB ge schickt. Dort demultiplext eine entsprechende Logik den empfangenen Datenstrom und leitet die extrahierten Informationen zu den einzelnen SDRAM-Speicherchips. Die FB-DIMM-Technologie verwendet für diesen Datenaustausch ein deterministisches RAS/CAS-Protokoll. Es gewährleistet, dass der Speicher-Controller und der Speicher durch in sich geschlossene Datenpakete zu jedem Zeitpunkt einem kontrollierten wiederholbaren Prozess unterliegen. Gleichzeitig optimiert das FB-DIMM-Protokoll Speicherzugriffe auf die verschiedenen FB-DIMMs und erhöht so signifikant die Speicher-Performance.
  • Das FB-DIMM-Protokoll kennt zwei Arten von Daten-Frames. Über die 10-Bit breite Southbound-Verbindung gelangen Kommando-Frames zu den FB-DIMMs, und über die 14 Bit breite Northbound-Verbindung empfängt der Speicher-Controller Antwort- bzw. Response-Frames mit aus den DRAMs ausgelesenen Nutzdaten.
  • Aktuelle FB-DIMMs mit entsprechendem AMB sind für DDR2-SDRAM-Speicherbausteine ausgelegt. DDR2-SDRAM ist eine Weiterentwicklung des Konzepts von DDR-SDRAM, bei dem statt mit einem Zweifach-Prefetch mit einem Vierfach-Prefetch gearbeitet wird. Bei dem älteren DDR-Standard erhielt man jeweils bei steigender als auch bei fallender Flanke des Taktsignals gültige Daten. Bei DDR2 erhält man nun zusätzlich dazu noch zwischen diesen Zuständen gültige Daten, was zu vier Datenworten pro Takt führt. Bei DDR2-SDRAM taktet ein I/O-Puffer mit einer zweifachen Frequenz der Speicherbausteine.
  • Zukünftige FB-DIMMs, sogenannte FB-DIMM2, sollen mit DDR3-SDRAM-Bausteinen bestückt werden. DDR3-SDRAM stellt eine Weiterentwicklung des Konzepts von DDR2-SDRAM dar, bei dem statt mit einem Vierfach-Prefetch mit einem Achtfach-Prefetch gearbeitet wird. DDR3-SDRAM benötigt zudem eine Versorgungsspannung von lediglich 1,5 Volt gegenüber einer Versorgungsspannung von 1,8 Volt für DDR2-SDRAM und ist aufgrund des Achtfach-Prefetch wesentlich schneller als heutige DDR- bzw.
  • DDR2-Speicherbausteine. Daher werden auf zukünftigen FB-DIMM2-Modulen gegenüber den AMBs für DDR2 veränderte AMB2s eingesetzt werden müssen, um beispielsweise die höheren Datenraten für die DDR3-Bausteine liefern zu können.
  • Typischerweise existieren verschiedene Taktfrequenzen und Datenraten in und um einen/m AMB, die in einem festen Verhältnis zueinander stehen. Der Betrag einer sogenannten FBD-Datenrate (FBD = Fully Buffered DIMM) fFBD ist beispielsweise zwölf mal größer als eine Kern-Taktfrequenz fcore. Dabei bezeichnet die FBD-Datenrate die Datenrate der Southbound- bzw. Northbound-Verbindung, d.h. die Datenrate auf einer der 10 Bitleitungs- bzw. Leitungspaarverbindungen der Southbound-Verbindung, auf denen die Frames zu je 120 Bits übertragen werden. Der Betrag einer DDR2-Datenrate fDDR2 ist zweimal größer als die Kern-Taktfrequenz fcore des AMB. Dabei bedeutet die DDR2-Datenrate die Nutz- bzw. Lese/Schreibdatenrate, mit der die DDR2-Speicherbausteine beschrieben bzw. gelesen werden können, wobei derzeit DDR2-Speicherbausteine mit vier oder acht solchen mit fDDR2 arbeitenden I/O-Anschlüssen existieren. fDDR2 beträgt ein sechstel der FBD-Datenrate fFBD. Die Kern-Taktfrequenz fcore ist gleich einer DDR2-Kommando-Taktfrequenz fcmd und ist zweimal größer als eine externe Referenz-Taktfrequenz fref. Die Kommando-Taktfrequenz bedeutet diejenige Taktfrequenz, mit der Kommandos vom AMB and die Speicherbausteine geschickt werden können. Ein Verhältnis zwischen den verschiedenen Taktfrequenzen bleibt stets gleich.
  • Die nachfolgende Tabelle zeigt ein beispielhaft einen Zusammenhang von den im Vorhergehenden beschriebenen Datenraten bzw. Frequenzen.
    fref fcore fDDR2 fFBD
    133 MHz 266 MHz 533 Mbit/s 3.2 Gbit/s
    167 MHz 333 MHz 667 Mbit/s 4.0 Gbit/s
    200 MHz 400 MHz 800 Mbit/s 4.8 Gbit/s
  • Zusammenfassung
  • Gemäß Ausführungsbeispielen umfasst die vorliegende Erfindung einen Speicherpuffer für ein FB-DIMM mit einer ersten Ein-/Ausgabe-Schnittstelle zur Kommunikation mit einem Speicher-Controller mit einer ersten Datenrate und mit einer zweiten Ein-/Ausgabe-Schnittstelle zur Kommunikation von Lese/Schreibdaten mit Speicherbausteinen mit einer zweiten Datenrate, wobei ein Verhältnis der zweiten Datenrate geteilt durch die erste Datenrate kleiner als 1/10 ist.
  • Gemäß weiteren Ausführungsbeispielen umfasst die vorliegende Erfindung ein FB-DIMM mit einem Speicherpuffer mit einer ersten Ein-/Ausgabe-Schnittstelle zur Kommunikation mit einem Speichercontroller mit einer ersten Datenrate und einer zweiten Ein-/Ausgabeschnittstelle zur Kommunikation von Lese-Schreibdaten mit Speicherbausteinen mit einer zweiten Datenrate, wobei ein Verhältnis der zweiten Datenrate geteilt durch die erste Datenrate kleiner als 1/10 ist.
  • Kurzbeschreibung der Figuren
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Betzug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
  • 1 eine schematischen Darstellung eines FB-DIMMs;
  • 2 eine schematischen Darstellung eines Speichersystems mit mehreren herkömmlichen FB-DIMMs;
  • 3 ein Beispiel eines herkömmlichen eingehenden (Southbound) Paketformats;
  • 4 eine schematische Darstellung einer Kopplung eines herkömmlichen AMB2-Speicherpuffers mit DDR3-Speicherbausteinen;
  • 5 eine schematische Darstellung eines Speicherpuffers für ein FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 6 eine schematische Darstellung einer Kopplung eines erfindungsgemäßen Speicherpuffers für ein FB-DIMM mit DDR2-Speicherbausteinen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; und
  • 7 ein Blockschaltbild eines Speicherpuffers für ein FB-DIMM gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung.
  • Detaillierte Beschreibung
  • Bezüglich der nachfolgenden Beschreibung sollte beachtet werden, dass bei den unterschiedlichen Ausführungsbeispielen in den unterschiedlichen Figuren gleich oder gleichwirkende Funktionselemente gleiche Bezugszeichen aufweisen und die Beschreibung dieser Funktionselemente in den verschiedenen, in den nachfolgend dargestellten Ausführungsbeispielen untereinander austauschbar ist, so dass eine wiederholte Beschreibung weggelassen wird.
  • Bevor Bezug nehmend auf die 5-7 Ausführungsbeispiele der vorliegenden Erfindung näher beschrieben werden, soll im Folgenden anhand der 1-4 ein Zusammenwirken verschiedener Komponenten eines auf der aktuellen FB-DIMM-Technologie basierenden Speichersystems näher erläutert werden. Ein solches Speichersystem umfasst einen Speicher-Controller und ein oder mehrere FB-DIMMs, wobei die FB-DIMMs jeweils einen AMB und eine Mehrzahl von Speicherbausteinen aufweisen.
  • 1 zeigt einen herkömmlichen FB-DIMM 100, der einen Speicherpuffer bzw. einen herkömmlichen AMB 110 und eine Mehrzahl von Speicherbausteinen bzw. -chips 120 aufweist, von denen exemplarisch hier nur zwei gezeigt sind. Der AMB 110 weist eine erste Ein-/Ausgabe-Schnittstelle 130, eine zweite Ein-/Ausgabe-Schnittstelle 140 sowie eine dritte Ein-/Ausgabe-Schnittstelle 150 auf.
  • Der AMB 110 kann über die erste E/A-Schnittstelle 130 ein sogenanntes Southbound-Datenpaket von einem in 1 nicht gezeigten Speicher- bzw. Memory-Controller oder einem benachbarten bzw. vorangehenden FB-DIMM empfangen oder ein sogenanntes Northbound-Datenpaket zu dem Speicher-Controller oder dem benachbarten FB-DIMM senden. Über die dritte E/A-Schnittstelle 150 können Southbound-Datenpakete, welche nicht an das FB-DIMM 100 adressiert sind, an benachbarte FB-DIMMs weitergeleitet werden. Der AMB 110 kann über die dritte E/A-Schnittstelle 150 ebenso aus der entgegengesetzten Richtung, d.h. von einem benachbarten FB-DIMM ein sogenanntes Northbound-Datenpaket empfangen und dieses über die erste E/A-Schnittstelle 130 zum Memory-Controller oder einem weiteren benachbarten FB-DIMM weiterleiten.
  • Die erste E/A-Schnittstelle 130 arbeitet mit einer FBD-Datenrate fFBD pro Bitverbindung bzw. pro Bitleitungspaar. Die eingehenden Datenpakete oder Frames umfassen dabei neben Redundanzinformationen zur Fehlerkorrektur bzw. -erfassung beispielsweise eine Lese/Schreib-Adresse, ggf. Schreib- bzw. Nutzdaten oder Füllbits und einen Befehl, wie z.B. einen Lese- oder Schreibbefehl. Empfangene Nutzdaten, die auf den Speicherbausteinen 120 des FB-DIMMs 100 gespeichert werden sollen, werden über die zweite E/A-Schnittstelle 140 von dem AMB 110 an die Speicherbausteine 120 mit der DDR2-Datenrate fDDR2 übertragen. Ferner können über die zweite E/A-Schnittstelle 140 Daten aus den Speicherbausteinen 120 in den AMB 110 eingelesen werden, um von dort mittels eines Northbound-Datenpakets in Richtung des Speicher-Controllers mit der vorerwähnten FBD-Datenrate fFBD gesendet zu werden. Die zweite E/A-Schnittstelle 140 arbeitet dabei im Hinblick auf die Lese/Schreibdaten mit einer DDR2-Datenrate fDDR2 pro Bitverbindung bzw. pro Bitleitung. Daneben erlaubt die zweite Schnittstelle 140 aber natürlich auch das Anlegen von Befehlen und Adressen an die Speicherbausteine über von den Datenbitleitungen getrennte Adress- bzw. Befehlsbitleitungen.
  • Der AMB 110 stellt Taktsignale, Steuersignale und/oder Adresssignale für die Mehrzahl der Speicherbausteine 120 bereit. Des Weiteren kann der AMB 110, wie im Vorhergehenden bereits beschrieben, über die bidirektionale Schnittstelle 140 Lese/Schreibdaten sowohl vorwärts als auch rückwärts mit der Mehrzahl von Speicherbausteinen 120 austauschen.
  • Der AMB 110 bildet somit eine zentrale Schaltstelle des FB-DIMM-Moduls 100 gegenüber Außen. Der AMB 110 decodiert beispielsweise aus dem pro Bitverbindung mit der FBD-Datenrate fFBD eingehenden Datenstrom von dem Speicher-Controller die Kommandos bzw. Befehle, wie z.B. einen Schreibbefehl, ggf. zusammen mit Speicheradresse und Schreibdaten, und leitet entsprechende Daten, d.h. einen Schreibbefehl, eine DRAM-Speicheradresse und die Schreibdaten, über die zweite E/A-Schnittstelle 140 an die Speicherchips 120 weiter.
  • Umgekehrt kann der AMB 110 parallele DRAM-Daten mit der DDR2-Datenrate fDDR2 in Datenpakete umwandeln und mit der FBD-Datenrate fFBD pro Bitverbindung bzw. Bitleitungspaar über 14 Bitleitungspaare in Richtung des Speichercontrollers senden.
  • Um Schreib- und Leseoperationen zeitrichtig zwischen FB-DIMM und Speicher-Controller zu koordinieren, erfolgt eine Synchronisation einer Steuerlogik des AMB 110 und der DRAM-Chips 120 über eine Referenztakt-Leitung bzw. eine Referenz-Taktfrequenz fref. Zusätzlich erlaubt eine sog. Pass-Through-Logik die vorerwähnte Weiterleitung von Lese- und Schreiban- Weisungen bzw. -Frames an benachbarte FB-DIMMs, die nicht explizit für den FB-DIMM 100 gelten. Das Pass-Through-Verfahren erlaubt eine Datenflusskontrolle für das jeweilige FB-DIMM. Darüber hinaus hat diese Technologie bei Lese-Anweisungen eine sogenannte Merging-Logik, die die Lese-Daten der einzelnen FB-DIMMs für den Speicher-Controller folgerichtig zusammensetzt.
  • 2 zeigt ein herkömmliches FB-DIMM-Speichersystem, das einen Speicher-Controller 200 sowie eine Mehrzahl von FB-DIMMs 100 aufweist. Wie bereits anhand von 1 beschrieben wurde, weist jedes der Mehrzahl von FB-DIMMs 100 einen AMB 110 und eine Mehrzahl von SDRAM-Bausteinen 120 auf. Ferner zeigt 2 einen Referenztakt-Generator 210 und einen Referenztakt-Puffer 220.
  • Ein in 2 gezeigtes herkömmliches FB-DIMM-Speichersystem kann bis zu acht FB-DIMMs in einer sogenannten Daisy-Chain-Anordnung (daisy-chain = Verkettung) aufweisen. Als Daisy-Chain bezeichnet man im Allgemeinen eine Anzahl von Hardware-Komponenten, welche in Serie miteinander verbunden sind, um asynchron Daten untereinander weiterleiten zu können. Dabei ist ein erstes FB-DIMM 100a direkt mit dem Speicher-Controller 200 verbunden. Die weiteren FB-DIMMs sind nun jeweils mit ihren Vorgängern verbunden und es entsteht so eine asynchrone Latch-Kette (latch = Register). Ein Southbound-Signal zu und/oder ein Northbound-Signal von einem FB-DIMM geht nun über seinen jeweiligen Vorgänger bis zum Speicher-Controller 200 hin.
  • Der Taktfrequenz-Generator 210 generiert die im Vorhergehenden bereits beschriebene Referenz-Taktfrequenz fref, die beispielsweise Werte von fref = 133 MHz, fref = 167 MHz oder fref = 200 MHz aufweisen kann. Die Referenz-Taktfrequenz fref wird sowohl dem Speicher-Controller 200 zur Taktung zugeführt als auch dem Takt-Puffer 220, um die Referenz-Taktfrequenz fref an die verschiedenen FB-DIMMs 100 bzw. an ihre AMBs 110 zu verteilen. Wie im Vorhergehenden bereits beschrieben, werden innerhalb eines AMB beispielsweise mit verschiedenen PLLs (PLL = Phase Locked Loop) verschiedene weitere Taktfrequenzen bzw. Datenraten von der Referenz-Taktfrequenz abgeleitet, wie beispielsweise die Kern-Taktfrequenz fcore.
  • Der Datentransfer von dem Speicher-Controller 200 hin zu den FB-DIMMs 100 findet über einen seriellen Datenbus zwischen dem Speicher-Controller 200 und den jeweiligen AMBs 110 statt. Dabei werden Frames zu je 120 Bits mit ggf. einem Befehl, einer Adresse und ggf. Schreibdaten von dem Speicher-Controller 200 mittels 6:1-Multiplexern an die jeweiligen AMBs 110 geschickt. Dort demultiplext eine entsprechende Logik des AMB 110 den empfangenen Datenstrom bzw. das empfange Frame mittels 1:6-Demultiplexern, analysiert ihn, um zu entscheiden, ob das eigene DIMM 100 Adressat des Frames ist, und verarbeitet in dem bejahenden Fall die extrahierten Frame-Informationen um daraus Befehls/Adressdaten und ggf. Schreibdaten zu gewinnen und zu den einzelnen Speicherchips 120 weiterzuleiten. Für den Frame-Datenaustausch kann ein deterministisches RAS/CAS-Protokoll (RAS = Row Address Strobe, CAS = Column Address Strobe) verwendet werden, das gewährleistet, dass der Speicher-Controller und die DIMMs durch in sich geschlossene Datenpakete zu jedem Zeitpunkt einem kontrollierten wiederholbaren Prozess unterliegen. Gleichzeitig optimiert das FB-DIMM-Protokoll Speicherzugriffe auf die verschiedenen Module 100 und erhöht so signifikant die Speicher-Performance.
  • Zwei Arten von Daten-Frames können unterschieden werden. Über die zehn Bit breite Southbound-Verbindung gelangen beispielsweise Kommando-Frames zu den FB-DIMMs 100 und über die 14 Bit breite Northbound-Verbindung empfängt der Speicher-Controller 200 Antwort- bzw. Response-Frames. Die sogenannten Command-Frames enthalten bis zu drei Befehlsoperationen. Diese können an unterschiedliche FB-DIMMs verteilt werden. Zusätzlich erlaubt ein Kommando-Frame eine Kombination aus einer Be fehlsoperation und aus neun Byte, d.h. 72 Bit, an Schreibdaten. Ein Response-Frame (Northbound) kann Lesedaten von den Speicherchips 120 oder Statusinformationen enthalten. Dieses sendet das FB-DIMM 100 nur auf Anfrage des Speicher-Controllers 200. Sowohl das Response-Frame als auch die einzelnen Kommando- oder Datenblöcke eines Command-Frames werden mittels Redundanzinformationen bzw. einer CRC-Prüfsumme (CRC = Cyclic Redundancy Check) vor Übertragungsfehlern geschützt.
  • 3 zeigt beispielhaft ein herkömmliches Southbound-Paketformat. Wie im Vorhergehenden bereits beschrieben, wird ein Southbound-Datenpaket in eine Richtung weg von dem Speicher-Controller 200 hin zu den DIMMs 100 transferiert. Das Southbound-Paket ist entsprechend der im Vorhergehenden beschriebenen Southbound-Verbindung zehn Bit breit und wird in zwölf FDB-Verbindungstakten der Datenrate fFDB an den AMB 110 übermittelt. Die ersten vier FDB-Verbindungstakte können einen zyklischen Blocksicherungscode (CRC) sowie einen Befehls-(CMD-)/Adress-(ADDR-) Code aufweisen. Ein CRC-Code ist ein Signal, das dazu verwendet werden kann, um einen Fehler in den übermittelten Signalen zu identifizieren und ggf. zu korrigieren. Die verbleibenden FDB-Verbindungstakte, in 3 dargestellt durch „B", können beispielsweise zu schreibende Daten oder andere Befehle (CMD) enthalten. Die Anzahl von zu schreibenden Datenbits in einem Schreibbefehl-Frame beträgt vorliegend exemplarisch m = 64. In dem AMB werden diese 64 Daten-Bits ggf. mit acht CRC-Bits kombiniert, wodurch auf diese Weise ein Datenwort mit einer Breite von 72 Bits entsteht, welches in dem AMB 110 kurz zwischengespeichert wird, um danach vom AMB 110 mittels seiner zweiten E/A-Schnittstelle 140 an die SDRAM-Bausteine 120 übermittelt zu werden. Zudem kann ein Southbound-Paket beispielsweise Modulauswahlbits zum Auswählen eines bestimmten FB-DIMMs aufweisen, Befehlsbits, ein oder mehrere Rangauswahlbits, sowie Adressinformationen aufweisen.
  • Northbound-Datenpakete weisen beispielsweise 128 Bit oder, inclusive CRC-Bits, 144 Bits Nutzdaten auf, die ausgelesenen Bits entsprechen. Die Northbound-Verbindung von dem AMB 110 zu dem Speicher-Controller 200 weist 14 differenzielle Leitungspaare auf. Dementsprechend werden pro FDB-Verbindungstaktzyklus 14 Bit übertragen. Zur Übertragung eines kompletten Northbound-Datenpakets werden ebenfalls wie in Southbound-Fall zwölf FDB-Verbindungstaktzyklen der Taktrate fFBD benötigt. Insbesondere kann ein Northbound-Datenpaket beispielsweise zwei 72-Bit- oder zwei 64-Bit-Nutzdatenblöcke aufweisen.
  • 4 zeigt einen AMB-Chip 110, der über eine E/A-Schnittstelle 140 mit DDR-Speicherbausteinen 120 gekoppelt ist. Dabei zeigt 4 bereits den Fall eines AMB2 mit DDR3-Bausteinen, wobei 4 allerdings von der Darstellung her ohne weiteres auch auf den Fall von AMB mit DDR2 zutrifft. Der einzige Unterschied liegt in der doppelten Datenrate von AMB2 sowohl in Bezug auf fFBD als auch fDDR#, so dass im folgenden 4 zunächst so beschrieben werden soll, als handele es sich um einen AMB-Baustein mit DDR2-Bausteinen.
  • Die in 4 dargestellten DDR2-Speicherbausteine 120 bilden unterschiedliche Speicher-Ränge eines FB-DIMMs. Ein Speicher-Rang wird typischerweise definiert als ein Block von m = 64 Bits bzw. m = 72 Bits (mit CRC), der durch die Benutzung einiger oder aller SDRAM-Chips auf einem FB-DIMM erzeugt wird. Die kleinste durch Southbound-Frames adressierbare Einheit von je 64 bzw. 72 Bits kann nur als Gesamtes einen der beiden Speicher-Ränge betreffen. Während die Lese/Schreibdaten-E/A-Anschlüsse sowie die Adress-/Befehlseingänge der Bausteine beider Ränge mit den gleichen Anschlüssen der zweiten Schnittstelle 140 des AMBs verbunden sind, kann der AMB mit den Speicherbausteinen eines Ranges getrennt von denen des anderen Ranges kommunizieren, indem der AMB entsprechende Chip-Select-Signale an die Speicherbausteine des einen Ranges sendet und an diejenigen des anderen Ranges nicht.
  • Die zweite E/A-Schnittstelle 140 eines AMB bzw. AMB2 zur Kommunikation mit Speicherbausteinen umfasst typischerweise einen sogenannten Command-Decoder und einen sogenannten FIFO-Schreibpuffer (FIFO = First In First Out). In dem FIFO-Schreibpuffer werden Schreibdaten zwischengespeichert bevor sie auf einen DDR-Kanal der zweiten E/A-Schnittstelle 140 geschrieben werden. Der FIFO-Schreibpuffer hat typischerweise 36 Einträge 72 Bits. Davon können beispielsweise 35 Einträge benutzt werden, um DDR-Bursts, d.h. die Schreibdaten eines Southbound-Pakets zu speichern.
  • Umgekehrt wird ein FIFO-Lesepuffer typischerweise verwendet, um von den Speicherbausteinen 120 gelieferte Lesedaten zwischenzuspeichern, um sie anschließend mittels einer sog. Merge- und Alignment-Logik über die Northbound-Verbindung in Richtung Speicher-Controller 200 zu senden.
  • Bei der in 4 gezeigten schematischen Darstellung wird beispielsweise in einem ersten DDR-Taktzyklus ein DDR-Burst mit 72 Bits aus dem FIFO-Schreibpuffer ausgelesen, und an den links dargestellten Speicher-Rang von DDR2- bzw. DDR3-Speicherbausteinen 120 übermittelt. In einem zweiten DDR-Taktzyklus wird ein zweiter DDR-Burst mit m = 72 Bits (64 Bits + 8 Bits CRC) an den rechts dargestellten Rang von DDR2- bzw. DDR3-Speicherbausteinen übermittelt. Somit werden bei dem in 4 gezeigten herkömmlichen FB-DIMM Speichersystem mit einem herkömmlichen AMB bzw. AMB2 pro DDR-Takt 72 Bits von dem AMB bzw. AMB2 110 an die Speicherbausteine 120 übermittelt.
  • Nachdem im Vorhergehenden anhand der 1 bis 4 herkömmliche FB-DIMM- bzw. FB-DIMM2-Speichersysteme und deren Funktionsweise beschrieben wurden, sollen im Nachfolgenden Bezug nehmend auf die 5 bis 7 Ausführungsbeispiele der vorliegenden Erfindung näher erläutert werden.
  • Hersteller von Prozessoren (CPUs) und/oder Speicher-Controllern können derzeit entweder FB-DIMM einsetzen oder auf FB-DIMM2 warten. Da eine Anzahl von Kernen in den CPUs stetig wächst, explodieren förmlich die Kosten der Hersteller für parallele Busschnittstellen zur Speicherperipherie, um den Speicherbedarf der CPUs zu decken.
  • Ein Speicherpuffer für FB-DIMMs gemäß einem Ausführungsbeispiel der vorliegenden Erfindung umfasst eine Mischung aus AMB- und AMB2-Blöcken. Im Nachfolgenden soll ein Speicherpuffer für FB-DIMMs gemäß einem Ausführungsbeispiel der vorliegenden Erfindung als GLB (GLB = Generation Leap Buffer) bezeichnet werden.
  • Ein GLB arbeitet mit DDR2-Speicherbausteinen. Da bei gleicher Referenzfrequenz fref die Datenrate von DDR2-Speicherbausteinen lediglich die Hälfte der Datenrate von DDR3-Bausteinen beträgt, wird dieser Datenratenunterschied gemäß einem Ausführungsbeispiel der vorliegenden Erfindung kompensiert durch eine 144 Bit breite zweite E/A-Schnittstelle zur Lese/Schreibdaten-Kommunikation mit DDR2-Speicherbausteinen anstelle der herkömmlichen 72 Bit breiten zweiten E/A-Schnittstelle zur Kommunikation mit DDR2-Speicherbausteinen. Um die 144 Bit breite zweite E/A-Schnittstelle zur Kommunikation mit DDR2-Speicherbausteinen bei der Datenrate fDDR2 pro Bitleitung bedienen zu können, wird die FBD-Datenrate fFBD gegenüber einem herkömmlichen AMB verdoppelt. Das Verhältnis der beiden Datenraten fDDR2/fFBD beträgt also bei einem GLB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zumindest näherungsweise 1/12. Ein andere Einstellung derart, dass das Verhältnis kleiner 1/10 ist, ist ebenfalls möglich.
  • Ein FIFO-Schreibpuffer eines GLB verkettet also gemäß einem Ausführungsbeispiel der vorliegenden Erfindung 64- bzw. 72-Bit Schreib-Datenworte zweier aufeinanderfolgender Schreib-Pakete zu einem 128- bzw. 144-Bit Datenwort, um das so gebil dete 128- bzw. 144-Bit Datenwort abhängig von beispielsweise lediglich einer im ersten der zwei Pakete empfangenen Adresse in die DDR2-Speicherbausteine zu schreiben. Anders ausgerückt ist die kleinste in den Daten-Paketen bzw. -Frames adressierbare Einheit effektiv nicht 64 bzw. 72 Bit groß sondern 128 bzw. 144 Bits. Der mit dem GLB kommunizierende Memory-Controller, der von der Emulierung einer AMB2 durch den GLB nichts weiß und davon ausgeht, dass es durch die Adressen in den Southbound-Frames 64 bzw. 72 Bit-weise adressiert, merkt von der Emulierung nichts bzw. muss solange nicht in seiner Funktionsweise verändert werden, solange er wie zur Zeit üblich Lese/Schreib-Frames derart auf die Southbound-Strecke ausgibt, dass immer das paarweise Auslesen/Schreiben von hintereinanderliegenden 64 bzw. 72 Bit Blöcken beantragt wird, wie z.B. durch das serielle Aussenden zweier Schreib-Frames mit Adressen, die auf aufeinanderfolgende 64/72-Bit-Blöcke verweisen. Ein Speicheraufbau gemäß 2 ist deshalb gemischt mit FB-DIMM2s mit AMB2s und DDR3-DRAMSs und FB-DIMMs mit GLBs und DDR2-DRAMs möglich. Daher ist man mit einem GLB von der Einführung von FB-DIMM2 unabhängig.
  • Der GLB verwendet im letzten Beispiel mit den beiden aufeinanderfolgenden Schreib-Frames beispielsweise lediglich die Adresse aus dem ersten Frame und leitet hieraus eine DRAM-Adresse zur gemeinsamen Ansteuerung aller DDR2-DRAMs ab, die mit ihren beispielsweise 4 oder 8 I/O-Pins jeweils mit 4 bzw. 8 der 144 Pins des GLB verbunden sind, um ein 144-Bit-weises schreiben bzw. lesen zu ermöglichen. Die DRAM-Adresse wird beispielsweise zur gleichzeitigen Ansteuerung aller DDR2-DRAMs an der 128/144-Bit-Schnittstelle des GLB verwendet, oder aber es werden beispielsweise die DRAMs zu einer Seite des GLB auf dem FB-DIMM
  • Die jeweils zweite wirksame Adresse in den Southbound-Frames, wie z.B. diejenige des soeben erwähnten zweiten Schreib-Frames, wird beispielsweise verworfen oder auf Korrektheit überprüft bzw. darauf, dass sie auf den 64/72-Bit-Folgeblock zeigt. Anders ausgedrückt bildet der GLB die Adressen der Southbound-Frames auf die DRAM-Adressen so ab, dass der Gesamtspeicherraum der durch die mit der 128/144-Bit-Schnittstelle verbundenen DRAMs nur in kleinsten Einheiten von 128 bzw. 144 Bits adressierbar ist, wohingegen dies bei AMB und AMB bei gleichem Speicherraum mit beispielsweise 2 Ranks 64-Bit-weise möglich ist. Dabei ist der GLB aber in der Lage Adressen auswerten, die eigentlich 1 Bit zu lang sind und somit in der Lage wären, den Gesamtspeicherraum 64-Bit-weise zu adressieren, indem der GLB beispielsweise das LSB bzw. niedrigstwertige Bit der Adressen in den Southbound-Frames ignoriert. Das soeben Beschriebene gilt natürlich gleichermaßen für die Lese-Adressen der Lesebefehl-Frames. Auch diese werden von dem GLB nur paarweise verarbeitet.
  • 5 zeigt einen Speicherpuffer bzw. einen GLB 500 für ein FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Der GLB 500 weist eine erste Ein-/Ausgabe-Schnittstelle 510 und eine zweite Ein-/Ausgabe-Schnittstelle 520 auf. In der schematischen Darstellung des Speicherpuffers 500 in 5 ist eine dritte Ein-/Ausgabe-Schnittstelle 530 der Vollständigkeit halber gezeigt.
  • Der GLB 500 kann über die erste E/A-Schnittstelle 510 mit einer Datenrate von fFBD pro Bitleitungspaar ein Southbound-Datenpaket von einem in 5 nicht gezeigten Speicher-Controller oder einem benachbarten bzw. vorangehenden FB-DIMM empfangen oder ein sogenanntes Northbound-Datenpaket zu dem Speicher-Controller oder dem benachbarten FB-DIMM senden. Über die dritte E/A-Schnittstelle 530 können Southbound-Datenpakete, welche nicht an den GLB 500 adressiert sind, an GLB's auf benachbarten FB-DIMMs weitergeleitet werden. Der GLB 500 kann über die dritte E/A-Schnittstelle 530 ebenso aus der entgegengesetzten Richtung, d.h. von einem benachbarten FB-DIMM ein Northbound-Datenpaket empfangen und dieses über die erste E/A-Schnittstelle 510 zum Speicher-Controller oder einem weiteren benachbarten FB-DIMM weiterleiten.
  • Die erste E/A-Schnittstelle 510 arbeitet mit einer FBD-Datenrate fFBD pro Bitverbindung bzw. pro Bitleitungspaar. Empfangene Nutzdaten, d.h. Lese/Schreibdaten, die auf mit der zweiten E/A-Schnittstelle 520 gekoppelten Speicherbausteinen gespeichert werden sollen, werden über die gemäß einem Ausführungsbeispiel der vorliegenden Erfindung 144 Bit (128 Datenbits + 16 CRC-Bits) breite zweite E/A-Schnittstelle 520 von dem GLB 500 an die Speicherbausteine mit der DDR2-Datenrate fDDR2 pro Bitleitung übertragen. Ferner können über die zweite E/A-Schnittstelle 520 Daten aus den Speicherbausteinen in den GLB 500 eingelesen werden, um von dort mittels eines Northbound-Datenpakets in Richtung des Speicher-Controllers mit der vorerwähnten FBD-Datenrate fFBD gesendet zu werden. Die zweite E/A-Schnittstelle 140 arbeitet dabei im Hinblick auf die Lese/Schreibdaten mit einer DDR2-Datenrate fDDR2 pro Bitverbindung bzw. pro Bitleitung. Aufgrund der doppelten Busbreite der zweiten E/A-Schnittstelle 520 gegenüber herkömmlichen AMBs bzw. AMB2 beträgt das Nutzdatenratenverhältnis fDDR2/fFBD = 1/12 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Daneben erlaubt die zweite Schnittstelle 140 aber natürlich auch das Anlegen von Befehlen und Adressen an die Speicherbausteine über von den Datenbitleitungen getrennte Adress- bzw. Befehlsbitleitungen. Die prinzipiellen Funktionsweisen der E/A-Schnittstellen 510 und 530 wurden im Vorhergehenden anhand der 1-3 bereits beschrieben.
  • Eine schematische Darstellung der zweiten E/A-Schnittstelle 520 (DDR2-Schnittstelle) gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist 6 gezeigt.
  • 6 zeigt einen Speicherpuffer bzw. GLB 500 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung mit der ersten Ein-/Ausgabe-Schnittstelle 510 zur Kommunikation mit beispielsweise einem Speicher-Controller oder benachbarten Speicherpuffern, der zweiten Schnittstelle 520 zur Kommunika tion mit auf einem FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung befindlichen DDR2-Bausteinen und der dritten Ein-/Ausgabe-Schnittstelle 530 zur Kommunikation mit benachbarten Speicherpuffern.
  • Wie in 6 zu erkennen ist, ist die DDR2-Schnittstelle des Speicherpuffers bzw. GLB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung 144 Bit breit. Demgegenüber steht die 72 Bit breite DDR-Schnittstelle eines herkömmlichen AMB bzw. AMB2, wie sie anhand von 4 bereits beschrieben wurde.
  • Typischerweise weisen DDR2-Speicherbausteine n = 4 (x4-DDR2) oder n = 8 (x8-DDR2) Daten-I/O-Pins auf. Bei Verwendung eines GLB mit einer l = 144 Bit breiten DDR2-Schnittstelle ist ein entsprechender Speicher-Rang ein Block von l = 144 Bits (128 Daten-Bits mit 16 Bit CRC), der durch die Benutzung von N SDRAM-Chips auf einem FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung erzeugt wird. Demnach wird ein FB-DIMM gemäß Ausführungsbeispielen der vorliegenden Erfindung mit N = l/n, d.h. entweder 144/4 = 36 x4-DDR2- oder 144/8 = 18 x8-DDR2-Speicherbausteinen bestückt, um die l = 144 Bit schreiben bzw. lesen zu können.
  • Ein in 6 nicht gezeigter FIFO-Schreibpuffer des GLB 500 wird mit der doppelten Anzahl von Datenbits pro Zeiteinheit gefüllt, um den doppelt so breiten (144 Bit) Bus der zweiten Schnittstelle 520 zur Kommunikation mit auf einem FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung befindlichen DDR2-Bausteinen bedienen zu können. Um dies zu gewährleisten, verdoppelt sich ebenfalls die FBD-Datenrate fFBD der ersten Ein-/Ausgabe-Schnittstelle 510 bzw. der dritten Ein-/Ausgabe-Schnittstelle 530 gegenüber herkömmlichen Speicher-Puffern wie AMB bzw. AMB2. Somit beträgt bei einem Speicherpuffer bzw. GLB für ein FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung das Verhältnis DDR-Datenrate fDDR2 zu der FBD-Datenrate fFBD zumindest näherungsweise den Wert fDDR2/fFBD = 1/12, wohingegen bei einem herkömmli chen AMB bzw. AMB2 auf einem herkömmlichen FB-DIMM bzw. einem herkömmlichen FB-DIMM2 dieses Verhältnis fDDR2/fFBD = 1/6 beträgt.
  • Die im Nachfolgenden aufgelisteten Tabellen zeigen eine Beziehung der verschiedenen Frequenzen zueinander bei einem herkömmlichen AMB/FB-DIMM-System,
    fref fcore fDDR2 fFBD
    133 MHz 266 MHz 533 Mbit/s 3.2 Gbit/s
    167 MHz 333 MHz 667 Mbit/s 4.0 Gbit/s
    200 MHz 400 MHz 800 Mbit/s 4.8 Gbit/s
    einen herkömmlichen AMB2/FB-DIMM2-System und
    fref fcore fDDR3 fFBD
    133 MHz 266 MHz 1066 Mbit/s 6.4 Gbit/s
    167 MHz 333 MHz 1333 Mbit/s 8.0 Gbit/s
    200 MHz 400 MHz 1600 Mbit/s 9.6 Gbit/s
    bei einem System gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
    fref fcore fDDR2 fFBD
    133 MHz 266 MHz 533 Mbit/s 6.4 Gbit/s
    167 MHz 333 MHz 667 Mbit/s 8.0 Gbit/s
    200 MHz 400 MHz 800 Mbit/s 9.6 Gbit/s
  • Somit lässt sich erkennen, dass mit einem FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung mit einem GLB und DDR2-Speicherbausteinen jeweils in Richtung vom und zum Speicher-Controller zumindest näherungsweise die gleichen Datenraten erzielbar sind, wie mit einem herkömmlichen AMB2/FB-DIMM2-System mit DDR3-Speicherbausteinen.
  • Ein erfindungsgemäßer Speicherpuffer bzw. GLB kann somit zwei Aufgaben erfüllen. Erstens kann er als Testchip fungieren, der es erlaubt, die serielle Speicherpuffertechnologie der nächsten Speicher-Generation (DDR3) zu testen, bevor die relevanten DDR3-SDRAMs zur Verfügung stehen. Zweitens bietet er eine Rückzugsmöglichkeit auf DDR2-Technologie in einem System, welches an sich mit Geschwindigkeiten arbeitet, die lediglich mit einer DDR3-Technologie erreichbar sind.
  • Durch eine Verwendung eines GLB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung auf einem FB-DIMM mit DDR2-Speicherbausteinen kann zumindest näherungsweise dieselbe Performance erreicht werden wie mit einem FB-DIMM2 mit DDR3-Speicherbausteinen. Dabei zeigt die folgende Tabelle, welche DDR3-Speicherbausteine bei einer Verwendung eines GLB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung durch DDR2-Bausteine ersetzt werden können.
    DDR2-Ersatz DDR3 für FB-DIMM2
    DDR2-533 DDR3-1066
    DDR2-667 DDR3-1333
    DDR2-800 DDR3-1600
  • Die DDR2-Datenrate fDDR2 pro Bitleitung kann mit der Annahme des Vierfach-Prefetch und der Referenzfrequenz fref bestimmt werden zu fDDR2 = 4bit·fref. Eine DDR3-Datenrate fDDR3 pro Bitleitung kann mit der Annahme eines Achtfach-Prefetch und der Referenzfrequenz fref bestimmt werden zu fDDR3 = 8bit·fref.
  • Wie im Vorhergehenden bereits beschrieben kann man mit einem GLB zumindest näherungsweise die gleiche Performance durch eine doppelt so breite DDR2-Schnittstelle gemäß einem Ausführungsbeispiel der vorliegenden Erfindung erreichen, wie mit einem zukünftigen AMB2, welcher beispielsweise auf zwei Speicher-Ränge von DDR3-Speicherbausteinen zugreift. Dabei benötigt ein GLB ein spezielles Design eines FB-DIMM-PCB (PCB = Printed Circuit Board) aufgrund der doppelten Menge von benötigten DQ-Pins der DDR2-Schnittstelle im Vergleich zu einem herkömmlichen AMB2.
  • Ein Speicher-Controller liest bzw. schreibt Speicherdaten als Paar von Einträgen, um mit einem GLB zu kommunizieren. Für Southbound-Datenpakete von einem Speicher-Controller zu dem GLB bedeutet das beispielsweise, dass ein Datenpaket mit einem 64-Bit-Datenfeld stets von einem zweiten Datenpaket ebenfalls mit einem 64-Bit-Datenfeld gefolgt wird. Die Datenrate fFBD pro Bitleitung auf der seriellen FBD-Verbindung ist dabei stets zumindest näherungsweise das Zwölffache der DDR2-Datenrate fDDR2 bzw. das 24-fache der GLB-Kernfrequenz fcore bzw. des 48-fache der Referenzfrequenz fref. Dadurch kann mit einem Speichersystem gemäß einem Ausführungsbeispiel der vorliegenden Erfindung eine Performance von DDR3-Speicherbausteinen mit DDR2-Speicherbausteinen in punkto Geschwindigkeit erreicht werden. Beispielsweise kann man mit einem GLB die Performance von DDR3-1333-DRAMs mit DDR2-667-DRAMs erreichen. Demnach kann man einen GLB zusammen mit DDR2-FB-DIMMs gemäß einem Ausführungsbeispiel der vorliegenden Erfindung in den gleichen Systemen einsetzen wie einen herkömmlichen AMB2 zusammen mit DDR3-FB-DIMMs.
  • 7 zeigt ein detailliertes Blockschaltbild eines GLB 500 gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • An einem ersten Eingang 702 als Teil der ersten E/A-Schnittstelle 510 weist der GLB 500 einen Verstärker 704 auf, dessen Ausgang mit einem Re-Sync-Block 706, mit einem Data-Merge-Block bzw. Datenzusammenführungsblock 708 und einem Deskew-Block bzw. Kompensationsblock 710 verschaltet ist. Ein Ausgang des Deskew-Blocks 710 ist mit einem Eingang eines Demultiplexers 712 gekoppelt, dessen Ausgang mit einem Eingang eines IBIST-Blocks 714 (IBIST = Interconnect Built-In Self Test = eingebauter Verbindungsselbsttest), einem Eingang eines Command-Decoders bzw. Befehls-Dekoders und CRC-Check-Blocks 716 und einem Eingang eines Schreib-FIFOs 718 gekoppelt ist. Der Block Command-Decoder und CRC-Check-Block 716 ist ferner mit einem Core-Control-Block bzw. Kern-Kontroll 720 verschaltet, wobei der Core-Control-Block 720 ferner mit einem Eingang eines Multiplexers 722 gekoppelt ist. Der Ausgang des Verstärkers 704 ist ferner mit einem Eingang eines Transparent-Mode-Control-Blocks bzw. Transparent-Modus-Kontroll-Blocks 724 verbunden, dessen Ausgang mit dem Multiplexer 722 und einem weiteren Multiplexer 726 gekoppelt ist. Ein Ausgang des Schreib-FIFOs 718 ist ebenfalls mit einem Eingang des Multiplexers 726 gekoppelt. Ferner weist der GLB 500 einen DDR-Zustandskontrollblock 728 auf, dessen Ausgang mit einem Eingang des Multiplexers 722 verschaltet ist. Ein Ausgang eines MEMBIST-Blocks 730 (MEMBIST = Memory Built-In Self Test = eingebauter Speicherselbsttest) ist jeweils mit einem Eingang der Multiplexer 722 und 726 verbunden. Ein Ausgang des IBIST-Blocks 714 sowie ein Ausgang eines Link-Init-Blocks bzw. Verbindungsinitialisierungsblocks 732 sind mit Eingängen eines weiteren Multiplexers 734 verbunden, dessen Ausgang mit einem Eingang des Daten-Merge-Blocks 708 gekoppelt ist. Ein Ausgang des Daten-Merge-Blocks 708 ist mit einem Ausgangsverstärker 736 verbunden, dessen Ausgang einen Southbound-Sendeausgang 737 als Teil der dritten E/A-Schnittstelle 530 des GLB 500 bildet. Ein Ausgang des Multiplexers 722 bildet einen Eingang D-Flip-Flop-Kette 738 deren Ausgänge und invertierender Ausgänge mit Verstärkern 740 gekoppelt sind. Ein Ausgang des Multiplexers 726 ist mit Dateneingängen einer weiteren D-Flip-Flop-Kette 738 verschaltet, wobei nicht invertierende Ausgänge der D-Flip-Flop-Kette 738 durch Sendeverstärker 740 verstärkt werden und eine 144 Bit breite E/A-Schnittstelle 520 zur Kommunikation mit in 7 nicht gezeigten Speicherbausteinen bilden. Die 144 Bit breite E/A-Schnittstelle 520 ist zum Empfang von Daten von in 7 nicht gezeigten DRAMs mit einem Eingangsverstärker 744 gekoppelt dessen Ausgang mit einer weiteren D-Flip-Flop-Kette 738 verschaltet ist. Die Ausgänge der D-Flip-Flop-Kette 738 sind sowohl mit dem Sendeverstärker 736 verschaltet, als auch mit einem Eingang des MEMBIST-Blocks 730, einem Eingang eines CRC-Generator-und-Lese-FIFO-Blocks 746 und dem Eingang eines Multiplexers 748. Ein Ausgang des CRC-Generator-und-Lese- FIFO-Blocks 746 ist mit einem Eingang des Multiplexers 748 verschaltet. Ferner bilden ein Ausgang eines Link-Init-Blocks 750 und ein Ausgang eines Sync-und-Idle-Pattern-Generator-Blocks bzw. Synchronisations-und-Leerlauf-Muster-Generator-Blocks 752 weitere Eingänge des Multiplexers 748. Ein Northbound-Empfangseingang 754 als Teil der dritten E/A-Schnittstelle 530 des GLB 500 wird von einem Empfangsverstärker 756 verstärkt. Der Ausgang des Verstärkers 756 ist mit einem Eingang eines Deskew-Blocks 758 verschaltet, dessen Ausgang mit einem Demultiplexer 760 verschaltet ist, wobei der Ausgang des Demultiplexers 760 mit einem Eingang eines zweiten IBIST-Blocks 762 gekoppelt ist. Ein Ausgang des IBIST-Blocks 762 bildet einen weiteren Eingang des Multiplexers 748 dessen Ausgang mit einem Alignment-Block bzw. Anpassungsblock 764 gekoppelt ist. Der Ausgang des Empfangsverstärkers 756 ist ferner mit einem Eingang eines Resync-Blocks 766 verbunden, dessen Ausgang mit einem Eingang eines Data-Merge-Blocks 768 gekoppelt ist. Weiterhin ist der Ausgang des Verstärkers 756 mit einem Eingang des Data-Merge-Blocks 768 verschaltet, so wie ein Ausgang des Alignment-Blocks 764. Ein Ausgang des Data-Merge-Blocks 768 ist mit einem Sendeverstärker 770 verschaltet, dessen Ausgang einen Northbound-Ausgang 771 als Teil der ersten E/A-Schnittstelle 510 des GLB 500 bildet. Ferner weist der GLB 500 einen PLL-Block 772, einen System-Management-Bus-Control-Block 774 und einen JTAG-Control-Block 776 auf.
  • Der Southbound-Eingang 702 der ersten Ein-/Ausgabe-Schnittstelle 510 zur Kommunikation mit einem Speicher-Controller weist zehn differentielle Eingänge auf. Daten auf den zehn differentiellen Leitungen können durch Leiterplattenlayouts unterschiedliche Laufzeiten bzw. Phasenverschiebungen aufweisen. Der Deskew-Block 710 dient zum Kompensieren dieser Laufzeit bzw. Phasenunterschiede. Mit dem Demultiplexer 712, welcher ein 1:6 Demultiplexer ist, wird ein empfangener Datenstrom mit einer ersten Nutzdatenrate fFBD pro Bitleitung demultiplext, und empfangene Kommando- bzw. CRC- Bits werden anschließend an den Command-Decoder und CRC-Check-Block 716 weitergeleitet. Datenbits eines empfangenen Southbound-Pakets werden mit einer zweiten Nutzdatenrate fDDR2 an den Schreib-FIFO 718 weitergeleitet. Die FBD-Nutzdatenrate fFBD beträgt zumindest näherungsweise das 12-fache der DDR2-Nutzdatenrate fDDR2.
  • Um beispielsweise in 7 nicht gezeigte Speicherbausteinen adressieren zu können, ist der Ausgang des Multiplexers 722 mit den Dateneingängen der D-Flip-Flop-Kette 738 verschaltet, deren Ausgänge bzw. Adressausgänge und invertierende Ausgänge bzw. Adressausgänge mit den Verstärkern 740 gekoppelt sind, wobei die Adressausgänge teil der zweiten Ein-/Ausgabe-Schnittstelle 520 sind. Die Adressausgänge sind mit jeweiligen Adresseingängen der in 7 nicht gezeigten Speicherbausteine verbindbar, und die zweite Ein-/Ausgabe-Schnittstelle 520 ist aktivierbar, um an der oder denselben gleiche Speicherbausteinadressen oder Speicherbausteinadressen mit einer vorbestimmten Beziehung zueinander auszugeben.
  • Verschiedene, im Vorhergehenden bereits beschriebene und im GLB 500 benötigte Taktraten werden mittels des PLL-Blocks 772 basierend auf einer in den PLL-Block 772 eingespeisten Referenzfrequenz fref generiert. Diese Referenzfrequenz fref kann beispielsweise Werte fref = 133 MHz, fref = 167 MHz oder fref = 200 MHz aufweisen. Der PLL-Block 772 kann aus der Referenzfrequenz fref eine GLB-Kernfrequenz fcore generieren, welche beispielsweise gleich der doppelten Referenzfrequenz ist.
  • Die über die Southbound-Pakete empfangenen Nutzdaten, welche in dem Schreib-FIFO 718 zwischengespeichert wurden, können über den Multiplexer 726 und die 144 Bit breite zweite E/A-Schnittstelle 520 zur Kommunikation mit Speicherbausteinen an die DRAMs auf dem FB-DIMM mit einer zweiten Nutzdatenrate fDDR2 weitergeleitet werden. Wie ein herkömmlicher AMB bzw. AMB2 kann auch der GLB 500 mittels der Pass-Through-Logik über den Southbound-Datenausgang Daten weiterleiten, die für einen anderen GLB in einer Daisy-Chain von mehreren GLB's gedacht sind. Um zufällige oder periodische Phasenverschiebungen auf den einzelnen Leitungen auszugleichen, können die weitergeleiteten Daten vorher mittels des Re-Sync-Blocks 706 der Pass-Through-Logik erneut gesammelt bzw. synchronisiert werden.
  • Von den DRAMs gelesene Daten werden über die 144 Bit breite zweite E/A-Schnittstelle 520 mit der DDR2-Datenrate fDDR2 in den Lese-FIFO 746 geschrieben. Über den Multiplexer 748 und den Alignment-Block 764 werden die Daten in einen Northbound-Datenstrom über den Merge-Block 768 eingefügt. Dabei beträgt die FBD-Nutzdatenrate fFBD in Northbound-Richtung ebenfalls zumindest näherungsweise das 12-fache der DDR2-Nutzdatenrate fDDR2.
  • Aus Gründen der Übersichtlichkeit wird an dieser Stelle eine weitere Beschreibung der übrigen Blöcke des GLB 500 weggelassen. Die übrigen Blöcke dienen allgemein zur Erfüllung des FB-DIMM-Standards.
  • Aufgrund der 1/12-Relation zwischen DDR2-Datenrate fDDR2 und FBD-Datenrate fFBD kann mit einem erfindungsgemäßen Speicherpuffer bzw. GLB für FB-DIMMs mit DDR2-Speicherbausteinen zumindest näherungsweise die gleiche Performance erreicht werden wie mit einem herkömmlichen AMB2/FB-DIMM2-System mit DDR3-Speicherbausteinen. Ein Vorteil von Ausführungsbeispielen der vorliegenden Erfindung besteht somit darin, dass eine Verfügbarkeit von FB-DIMMs auf zwei DRAM-Technologie-Lebenszyklen erweitert werden kann. Es können also entweder DDR2- oder DDR3-DRAMs für das gleiche Server-System abhängig von beispielsweise der Verfügbarkeit bzw. dem Preis der DRAMs verwendet werden, wobei DDR2-Bausteine zusammen mit einem GLB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung auf einem FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung benutzt werden und DDR3-Bausteine zusammen mit einem herkömmlichen AMB2 auf einem FB-DIMM2.
  • FB-DIMMs mit GLBs gemäß einem Ausführungsbeispiel der vorliegenden Erfindung können, wie in 2 angedeutet, zu einem FB-DIMM-Speichersystem zusammengeschaltet werden, das einen Speicher-Controller 200 sowie eine Mehrzahl von FB-DIMMs aufweist. Dabei können die FB-DIMMs der Daisy-Chain sowohl AMB2/DDR3-Bausteine, als auch GLB/DDR2-Bausteine aufweisen, da die North-/Southbound-Datenraten fFBD bei beiden Konfigurationen identisch sind.
  • Somit besteht ein weiterer Vorteil eines Speicherpuffers bzw. GLB's gemäß Ausführungsbeispielen der vorliegenden Erfindung darin, dass er beispielsweise als Testchip verwendet werden kann, um eine AMB2-Umgebung, insbesondere die mit AMB2 erreichbaren FBD-Datenraten, bereits vor der Einführung der AMB2-Technologie zu testen.
  • Zusammenfassend soll noch einmal erwähnt werden, dass ein GLB bzw. ein Speicherpuffer gemäß einem Ausführungsbeispiel der vorliegenden Erfindung die zweifache Anzahl von DQ-Pins an der zweiten Ein-/Ausgabe-Schnittstelle zur Kommunikation mit Speicherbausteinen benötigt im Vergleich zu einem herkömmlichen AMB bzw. AMB2-Chip. Demzufolge benötigt man auch ein spezielles FB-DIMM-PCB, wenn ein Speicherpuffer bzw. GLB gemäß einem Ausführungsbeispiel der vorliegenden Erfindung zum Einsatz kommen soll.
  • Bezüglich obiger Ausführungsbeispiele wird noch darauf hingewiesen, dass dieselben natürlich ohne weiteres auf andere Technologien übertragbar sind. Beispielsweise ist die differentielle Technik bei der Soutbound- und Northbound-Datenübertragung nur exemplarisch. Es können auch einfache Bitleitungen verwendet werden. Ferner ist eine Übertragung auf andere Speicherbausteine als DDR#-Chips ebenfalls möglich. Auch die Anzahl der Lese/Schreidaten-Bitbreite von 128 bzw. 144 Bits war nur exemplarisch und kann bei anderer Konfiguration der Southbound/Northbound-Busse auch anders gewählt werden, um das oben skizziere Datenratenverhältnis von kleiner 1/10 zu erzielen.
  • 100
    herkömmliches FB-DIMM
    110
    herkömmlicher AMB/AMB2
    120
    Speicherbausteine
    130
    erste Ein-/Ausgabe-Schnittstelle eines AMB/AMB2
    140
    zweite Ein-/Ausgabe-Schnittstelle eines AMB/AMB2
    150
    dritte Ein-/Ausgabe-Schnittstelle eines AMB/AMB2
    200
    Speicher-Controller
    210
    Referenztakt-Generator
    220
    Referenztakt-Puffer
    500
    Speicherpuffer (GLB) für ein FB-DIMM gemäß einem Ausführungsbeispiel der vorliegenden Erfindung
    510
    erste Ein-/Ausgabe-Schnittstelle eines GLB
    520
    zweite Ein-/Ausgabe-Schnittstelle eines GLB
    530
    dritte Ein-/Ausgabe-Schnittstelle eines GLB
    702
    südgerichteter Eingang eines GLB
    704
    Verstärker
    706
    Re-Sync-Block
    708
    Datenzusammenführungs-Block
    710
    Kompensierer-Block
    712
    Demultiplexer
    714
    IBIST-Block
    716
    CRC-Check-Block
    718
    Schreib-FIFO
    720
    Kern-Kontroll-Block
    722
    Multiplexer
    724
    Transparent-Modus-Kontroll-Block
    726
    Multiplexer
    728
    DDR-Zustandskontrollblock
    730
    MEMBIST-Block
    732
    Verbindungs-Init-Block
    734
    Multiplexer
    736
    Ausgangsverstärker
    737
    südgerichteter-Sendeausgang
    738
    D-Flip-Flop-Kette
    740
    Verstärker
    744
    Eingangsverstärker
    746
    CRC-Generator-und-Lese-FIFO-Blocks
    748
    Multiplexer
    750
    Verbindungs-Init-Block
    752
    Sync-und-Leerlauf-Muster-Generator-Block
    754
    nordgerichteter-Empfangseingang
    756
    Verstärker
    758
    Kompensierer-Block
    760
    Demultiplexer
    762
    IBIST-Block
    764
    Anpassungs-Block
    766
    Resync-Block
    768
    Datenzusammenführungs-Block
    770
    Sendeverstärker
    771
    nordgerichteter-Ausgang
    772
    PLL-Block
    774
    System-Management-Bus-Control-Block
    776
    JTAG-Control-Block

Claims (19)

  1. Speicherpuffer (500) für ein FB-DIMM mit einer ersten Ein-/Ausgabe-Schnittstelle (510) zur Kommunikation mit einem Speicher-Controller (200) mit einer ersten Datenrate (fFBD); und einer zweiten Ein-/Ausgabe-Schnittstelle (520) zur Kommunikation von Lese/Schreibdaten mit Speicherbausteinen (120) mit einer zweiten Datenrate (fDDR2), wobei ein Verhältnis der zweiten Datenrate geteilt durch die erste Datenrate kleiner als 1/10 ist.
  2. Speicherpuffer gemäß Anspruch 1, wobei die Speicherbausteine (120) DDR2-SDRAMs sind.
  3. Speicherpuffer gemäß Anspruch 1 oder 2, wobei die Speicherbausteine (120) N an Zahl sind und eine n-Bit Datenein-/Ausgabeschnittstelle für Lese/Schreibdaten mit der zweiten Datenrate pro Bit aufweisen, so dass die zweite Ein-/Ausgabeschnittstelle (520) einen l = N·n Bit breiten Datenein-/ausgang mit der zweiten Datenrate pro Bit aufweist.
  4. Speicherpuffer gemäß Anspruch 3, wobei die erste Ein-/Ausgabeschnittstelle (510) eine Datenpaketprotokollschnittstelle für eingehende Datenpakete bildet, welche einen Schreibbefehl, eine Speicheradresse und ein m-Bit Datenwort oder einen Lesebefehl und eine Speicheradresse aufweisen können.
  5. Speicherpuffer gemäß Anspruch 4, wobei l ≥ 2·m.
  6. Speicherpuffer gemäß Anspruch 5, wobei n = 2x mit x ∊ IN und m = 64.
  7. Speicherpuffer gemäß Anspruch 6, wobei l = 144 und x = 2 oder 3.
  8. Speicherpuffer gemäß einem der vorhergehenden Ansprüche, wobei der Speicherpuffer (500) ferner eine Einrichtung aufweist, um m-Bit Datenworte zweier aufeinanderfolgender Pakete zu einem 2m-Bit Datenwort zu verketten und das 2m-Bit Datenwort abhängig von einer im ersten der zwei Pakete empfangenen Adresse in die Speicherbausteine zu schreiben.
  9. Speicherpuffer gemäß einem der vorhergehenden Ansprüche, wobei die zweite Ein-/Ausgabeschnittstelle (520) ferner einen oder mehrere Adressausgänge aufweist, die mit jeweiligen Adresseingängen der Speicherbausteine (120) verbindbar sind, und dieselbe aktivierbar ist, um an der oder denselben gleiche Speicherbausteinadressen oder Speicherbausteinadressen mit einer vorbestimmten Beziehung zueinander auszugeben.
  10. FB-DIMM mit einem Speicherpuffer (500) mit einer ersten Ein-/Ausgabe-Schnittstelle (510) zur Kommunikation mit einem Speicher-Controller (200) mit einer ersten Datenrate (fFBD) und einer zweiten Ein-/Ausgabeschnittstelle (520) zur Kommunikation von Lese/Schreibdaten mit Speicherbausteinen (120) mit einer zweiten Datenrate (fDDR2), wobei Verhältnis der zweiten Datenrate geteilt durch die erste Datenrate kleiner als 1/10 ist.
  11. FB-DIMM gemäß Anspruch 10, wobei die Speicherbausteine (120) DDR2-SDRAMs sind.
  12. FB-DIMM gemäß Anspruch 10 oder 11, wobei die Speicherbausteine (120) N an Zahl sind und eine n-Bit Datenein-/Ausgabeschnittstelle für Lese/Schreibdaten mit der zweiten Datenrate pro Bit aufweisen, so dass die zweite Ein- /Ausgabeschnittstelle (520) einen l = N·n Bit breiten Datenein-/ausgang mit der zweiten Datenrate pro Bit aufweist.
  13. FB-DIMM gemäß Anspruch 12, wobei die erste Ein-/Ausgabeschnittstelle (510) des Speicherpuffers (500) eine Datenpaketprotokollschnittstelle für eingehende Datenpakete bildet, welche einen Schreibbefehl, eine Speicheradresse und ein m-Bit Datenwort oder einen Lesebefehl und eine Speicheradresse aufweisen können.
  14. FB-DIMM gemäß Anspruch 13, wobei l ≥ 2·m.
  15. FB-DIMM gemäß Anspruch 14, wobei n = 2x mit x ∊ IN und m = 64.
  16. FB-DIMM gemäß Anspruch 15, wobei l = 144 und x = 2 oder 3.
  17. FB-DIMM gemäß einem der vorhergehenden Ansprüche, wobei der Speicherpuffer (500) ferner eine Einrichtung aufweist, um m-Bit Datenworte zweier aufeinanderfolgender Pakete zu einem 2m-Bit Datenwort zu verketten und das 2m-Bit Datenwort abhängig von einer im ersten der zwei Pakete empfangenen Adresse in die Speicherbausteine zu schreiben.
  18. FB-DIMM gemäß einem der vorhergehenden Ansprüche, wobei die zweite Ein-/Ausgabeschnittstelle (520) des Speicherpuffers (500) ferner einen oder mehrere Adressausgänge aufweist, die mit jeweiligen Adresseingängen der Speicherbausteine (120) verbindbar sind, und dieselbe aktivierbar ist, um an der oder denselben gleiche Speicherbausteinadressen oder Speicherbausteinadressen mit einer vorbestimmten Beziehung zueinander auszugeben.
  19. Verfahren zum Betrieb eines Speicherpuffers (500) für ein FB-DIMM, mit Kommunikation mit einem Speicher-Controller (200) mit einer ersten Datenrate (fFBD); und Kommunikation von Lese/Schreibdaten mit Speicherbausteinen (120) mit einer zweiten Datenrate (fDDR2), wobei ein Verhältnis der zweiten Datenrate geteilt durch die erste Datenrate kleiner als 1/10 ist.
DE102006035612A 2006-07-31 2006-07-31 Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers Expired - Fee Related DE102006035612B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102006035612A DE102006035612B4 (de) 2006-07-31 2006-07-31 Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers
US11/831,557 US7730254B2 (en) 2006-07-31 2007-07-31 Memory buffer for an FB-DIMM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006035612A DE102006035612B4 (de) 2006-07-31 2006-07-31 Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers

Publications (2)

Publication Number Publication Date
DE102006035612A1 true DE102006035612A1 (de) 2008-02-07
DE102006035612B4 DE102006035612B4 (de) 2011-05-05

Family

ID=38884772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006035612A Expired - Fee Related DE102006035612B4 (de) 2006-07-31 2006-07-31 Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers

Country Status (2)

Country Link
US (1) US7730254B2 (de)
DE (1) DE102006035612B4 (de)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903495B2 (en) * 2008-03-31 2011-03-08 Intel Corporation Selectively controlled memory
US8787060B2 (en) 2010-11-03 2014-07-22 Netlist, Inc. Method and apparatus for optimizing driver load in a memory package
US8516185B2 (en) 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
US8154901B1 (en) 2008-04-14 2012-04-10 Netlist, Inc. Circuit providing load isolation and noise reduction
KR20090117009A (ko) * 2008-05-08 2009-11-12 삼성전자주식회사 심리스 스위칭 구현을 위한 메모리 시스템
JP5654480B2 (ja) * 2008-12-19 2015-01-14 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 均一な読み出し待ち時間のための冗長なデータ記憶
US9128632B2 (en) 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
US8473695B2 (en) 2011-03-31 2013-06-25 Mosys, Inc. Memory system including variable write command scheduling
US9354823B2 (en) 2012-06-06 2016-05-31 Mosys, Inc. Memory system including variable write burst and broadcast command scheduling
US9432298B1 (en) 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US8694721B2 (en) * 2011-04-11 2014-04-08 Inphi Corporation Memory buffer with one or more auxiliary interfaces
US9170878B2 (en) 2011-04-11 2015-10-27 Inphi Corporation Memory buffer with data scrambling and error correction
US9323458B2 (en) * 2011-04-11 2016-04-26 Inphi Corporation Memory buffer with one or more auxiliary interfaces
JP5635200B2 (ja) * 2011-09-30 2014-12-03 株式会社日立製作所 不揮発半導体記憶システム
US9189199B2 (en) 2012-12-06 2015-11-17 Nvidia Corporation Folded FIFO memory generator
US10198216B2 (en) * 2016-05-28 2019-02-05 Advanced Micro Devices, Inc. Low power memory throttling
US11403035B2 (en) * 2018-12-19 2022-08-02 Micron Technology, Inc. Memory module including a controller and interfaces for communicating with a host and another memory module

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005015828A1 (de) * 2004-06-11 2006-01-05 Samsung Electronics Co., Ltd., Suwon Hub, Speichermodul, Speichersystem, sowie dazugehörige Schreib- und Leseverfahren
US20060047899A1 (en) * 2004-08-27 2006-03-02 Junichi Ilda Storage device control apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7017002B2 (en) * 2000-01-05 2006-03-21 Rambus, Inc. System featuring a master device, a buffer device and a plurality of integrated circuit memory devices
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7266634B2 (en) * 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US8060799B2 (en) * 2004-06-11 2011-11-15 Samsung Electronics Co., Ltd. Hub, memory module, memory system and methods for reading and writing to the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005015828A1 (de) * 2004-06-11 2006-01-05 Samsung Electronics Co., Ltd., Suwon Hub, Speichermodul, Speichersystem, sowie dazugehörige Schreib- und Leseverfahren
US20060047899A1 (en) * 2004-08-27 2006-03-02 Junichi Ilda Storage device control apparatus

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Fully-Buffered DIMM Technology Moves Enterprise Platforms to the Next Level" by J.Haas, P.Vogt, Intel Corp. March 2005, http://wwwp.intel.com/tech nology/magazine/computing/Fully-Buffered-DIMM-0305 .pdf *

Also Published As

Publication number Publication date
DE102006035612B4 (de) 2011-05-05
US20080177940A1 (en) 2008-07-24
US7730254B2 (en) 2010-06-01

Similar Documents

Publication Publication Date Title
DE102006035612B4 (de) Speicherpuffer, FB-DIMM und Verfahren zum Betrieb eines Speicherpuffers
DE112007002619B4 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE102012204991B4 (de) Speichereinrichtungen, Systeme und Verfahren unter Verwendung einer Befehls/Adressenkalibrierung
DE112004000821B4 (de) System mit einem Hauptrechner, der mit mehreren Speichermodulen über eine serielle Speicherverbindung verbunden ist
DE69836437T2 (de) Speichersystem mit speichermodul mit einem speichermodul-steuerbaustein
DE19852986B4 (de) Schaltungsanordnung und Verfahren zur Datenmaskierung
DE10144247B4 (de) Halbleiterspeicherbauelement und zugehöriges Halbleiterspeichersystem
DE602004007674T3 (de) Integrierte Schaltung mit bimodalem Daten-Strobe
DE10212642B4 (de) Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung
DE102006062024B4 (de) Halbleiterspeichervorrichtung
DE102005053625B4 (de) Speichermodul mit einer Mehrzahl von Speicherbausteinen
DE112007002605T5 (de) Speichersystem mit seriellem Hochgeschwindigkeitspuffer
DE10206060A1 (de) Speichersystem mit Stichleitungskonfiguration und zugehöriges Datenübertragungsverfahren
DE10210904A1 (de) Speichermodul, zugehöriges Speichersystem und Taktsignalerzeugungsverfahren
DE102006029742A1 (de) Halbleiterspeichersystem
DE102006062385A1 (de) Hochgeschwindigkeitsschnittstellenhalbleiterelement, -system und -verfahren
DE102006050233A1 (de) Speichermodul, Speichersteuereinheit, Speichersystem und Verfahren zum Steuern eines Speichersystems
DE102005025216A1 (de) Verfahren zum Testen eines Speichermoduls und des Hubs des Speichermoduls
DE102006043311A1 (de) Speichersystem
DE102019112628A1 (de) Dimm für speicherkanal mit hoher bandbreite
DE102006036969A1 (de) Elektronischer Schaltkreis, Wrapper-Schaltkreis, Speichersystem und Koppelverfahren
DE102007039192A1 (de) Verfahren und Schaltung zum Übertragen eines Speichertaktsignals
DE102019112613A1 (de) Dimm mit hoher bandbreite
DE10164917B4 (de) Halbleiterspeichersystem
DE10253696B4 (de) Speichersystem mit einer Vielzahl von getakteten Speichervorrichtungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R082 Change of representative
R020 Patent grant now final

Effective date: 20110806

R081 Change of applicant/patentee

Owner name: INFINEON TECHNOLOGIES AG, DE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: QIMONDA AG, 81739 MUENCHEN, DE

R081 Change of applicant/patentee

Owner name: POLARIS INNOVATIONS LTD., IE

Free format text: FORMER OWNER: INFINEON TECHNOLOGIES AG, 85579 NEUBIBERG, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee