DE112006000298T5 - Zwischenspeicher zum Zusammenfassen lokaler Daten von Speichermodulen - Google Patents

Zwischenspeicher zum Zusammenfassen lokaler Daten von Speichermodulen Download PDF

Info

Publication number
DE112006000298T5
DE112006000298T5 DE112006000298T DE112006000298T DE112006000298T5 DE 112006000298 T5 DE112006000298 T5 DE 112006000298T5 DE 112006000298 T DE112006000298 T DE 112006000298T DE 112006000298 T DE112006000298 T DE 112006000298T DE 112006000298 T5 DE112006000298 T5 DE 112006000298T5
Authority
DE
Germany
Prior art keywords
data
serial
input
signal
output
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.)
Withdrawn
Application number
DE112006000298T
Other languages
English (en)
Inventor
Ramasubramanian Cupertino Rajamani
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE112006000298T5 publication Critical patent/DE112006000298T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/74Selecting or encoding within a word the position of one or more bits having a specified value, e.g. most or least significant one or zero detection, priority encoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/103Read-write modes for single port memories, i.e. having either a random port or a serial port using serially addressed read-write data registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1036Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/107Serial-parallel conversion of data or prefetch

Abstract

Integrierter Schaltkreis mit:
einer seriellen Eingabe/Ausgabe-Schnittstelle mit einer oder mehr Bahnen, wobei jede Bahn aufweist:
– ein erstes Parallel-In-Serial-Output (PISO) Shiftregister mit einem parallelen Eingang, der mit einem lokalen Datenbus verbunden ist, einem Zeitgebereingang, der mit einem ersten Zeitgebersignal verbunden ist, einem Load/Shift-Bar Eingang, der mit einem Ladesignal verbunden ist, wobei das erste PISO Shiftregister zum Serialisieren paralleler Daten am lokalen Datenbus in serialisierte lokale Daten an einem ersten seriellen Ausgang eingerichtet ist;
– einem ersten Multiplexer mit einem ersten Dateneingang, der mit dem ersten seriellen Ausgang verbunden ist, einem zweiten Dateneingang zum Empfangen durchgeleiteter Daten, einem Auswahleingang, der mit einem lokalen Datenauswahlsignal verbunden ist, wobei der erste Multiplexer zum selektiven Einreihen der serialisierten lokalen Daten und der durchgeführten Daten in einen seriellen Datenstrom an einem gebündelten Ausgang, der auf des lokale Datenauswahlsignal reagiert, eingerichtet ist; und
– einen Sender mit einem Eingang, der mit dem...

Description

  • GEBIET
  • Ausgestaltungen der Erfindung betreffen allgemein den Speicher und insbesondere das Zusammenfassen von Daten von einem Zwischenspeicher auf serielle Datenkanäle.
  • HINTERGRUNDINFORMATION
  • In Speicherschaltkreisen ist üblicherweise eine Speicherleselatenz vorhanden, die die Zeitspanne ist, die zum Auslesen valider Daten aus einem Speicherschaltkreis benötigt wird. Eine Speicherschreiblatenz ist üblicherweise ebenso erforderlich, die die Zeitspanne zum Halten valider Daten für einen Speicherschaltkreis ist, um die Daten in den Speicher zu schreiben. Die Speicherleselatenz und die Speicherschreiblatenz können manchmal von einem Prozessor durch einen Cachespeicher gepuffert sein. Jedoch gibt es Umstände, wenn die gewünschten Daten nicht im Cachespeicher gefunden werden. In diesen Fällen muss ein Prozessor die Daten dann mit den Speicherschaltkreisen lesen oder schreiben. Daher können die Speicherleselatenz oder Speicherschreiblatenz vom Prozessor wahrgenommen werden. Unterscheiden sich die Speicherschaltkreise können die Speicherleselatenzen und Speicherschreiblatenz zwischen einem Speicherschaltkreis zum nächsten uneinheitlich sein. In diesem Fall werden die vom Prozessor erfahrene Speicherleselatenz und Speicherschreiblatenz voneinander abweichen.
  • Bislang wurden Speichermodule in eine Haupt- oder Hostplatine gesteckt und parallel an einen parallelen Datenbus angeschlossen über den parallele Daten aus dem Speicher gelesen und in den Speicher geschrieben werden konnten. Der parallele Datenbus hatte parallele Datenbitleitungen, die gemeinsam synchronisiert waren, um ein oder mehrere Datenbytes oder Datenwörter zur selben Zeit zu übertragen. Die parallelen Datenbitleitungen sind üblicherweise über eine Entfernung auf einer Platine (Printed Circuit Board; PCB) von einem Speichermodulsockel zum nächsten geführt. Dieses bringt eine erste parasitäre kapazitive Last mit sich. Wenn die Speichermodule in einen Speichersockel gesteckt werden, wird eine zusätzliche parasitäre kapazitive Last auf die parallelen Datenbitleitungen des parallelen Datenbusses eingebracht. Da eine Mehrzahl von Speichermodulen eingesteckt ist, kann die zusätzliche parasitäre kapazitive Last erheblich sein und Hochfrequenzspeicherschaltkreise ins Stocken bringen.
  • Üblicherweise ist ein Speichermodul durch eine Adresse an Adressleitungen zu einer Zeit angesprochen. Üblicherweise schreibt das eine angesprochene Speichermodul zu einer Zeit Daten an den parallelen Datenbus. Andere Speichermodule müssen üblicherweise warten, um Daten an den parallelen Datenbus zu schreiben, um Kollisionen zu vermeiden.
  • Während parallele Datenbitleitungen den Datenfluss in einigen Fällen beschleunigen können, verlangsamt ein paralleler Datenbus in einem Speicher den Lese- und Schreibzugriff von Daten zwischen einem Speicherschaltkreis und einem Prozessor.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A stellt ein Blockdiagramm eines typischen Computersystems dar, in dem Ausgestaltungen der Erfindung verwendet werden können.
  • 1B stellt ein Blockdiagramm eines Client-Server Systems dar, in dem Ausgestaltungen der Erfindung verwendet werden können.
  • 2A stellt ein Blockdiagramm einer Zentralprozessoreinheit dar, in der Ausgestaltungen der Erfindung verwendet werden können.
  • 2B stellt ein Blockdiagramm einer weiteren Zentralprozessoreinheit dar, in der Ausgestaltungen der Erfindung verwendet werden können.
  • 3 stellt ein vereinfachtes Blockdiagramm einer Zwischenspeichersteuerung zum Verbinden von Daten in und aus Bänken von Zwischenspeichermodulen dar.
  • 4 stellt ein Blockdiagramm eines Zwischenspeichermoduls dar, das einen Pufferspeicher aufweist, der Daten mit durchgeleiteten Daten zusammenfassen kann.
  • 5 stellt ein detailliertes Blockdiagramm einer Zwischenspeichersteuerung dar, die an eine Bank von Zwischenspeichermodulen angeschlossen ist.
  • 6 (6-1 und 6-2) stellt ein funktionelles Blockdiagramm eines Pufferspeichers eines Zwischenspeichermoduls dar.
  • 7A stellt ein vereinfachtes Blockdiagramm der Daten-Mergelogik dar, die Bahnen von Daten-Mergelogikabschnitten aufweist, die an Sender angeschlossen sind.
  • 7B stellt ein schematisches Diagramm eines Daten-Mergelogikabschnitts für eine Bahn von seriellen Daten dar.
  • 8 stellt ein Ablaufdiagramm von Signalen für einen Daten-Mergelogikabschnitt dar, der in einem zwölf Bit Modus funktioniert.
  • 9 stellt ein Ablaufdiagramm von Signalen für einen Daten-Mergelogikabschnitt dar, der in einem sechs Bit Modus funktioniert.
  • 10 stellt ein Flussdiagramm für die Initialisierung, das Training und den Betrieb des Puffers beim Zusammenfassen lokaler Daten und durchgeleiteter Daten in eine serielle Datenstromausgabe dar.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden detaillierten Beschreibung von Ausgestaltungen der Erfindung sind zahlreiche spezifische Details genannt, um ein tiefgehendes Verständnis der Erfindung zu ermögli chen. Jedoch wird es dem Fachmann offenbar sein, dass Ausgestaltungen der Erfindung ohne diese spezifischen Details ausgeführt werden können. In anderen Beispielen wurden gut bekannte Verfahren, Prozeduren, Komponenten und Schaltkreise nicht im Detail beschrieben, um Aspekte der Ausführungsbeispiele der Erfindung nicht unnötig zu verschleiern.
  • Grundsätzlich weisen die Ausgestaltungen der Erfindung ein Merkmal zur Datenzusammenfassung auf, das als Northbound Data Merge (NBDM) bezeichnet wird, das Teile der Daten an einer Hochgeschwindigkeitsverbindung mit eigenen Daten direkt (on the fly) ersetzt. Das bedeutet, dass Ausgestaltungen der Erfindung Teile des eingehenden seriellen Datenverkehrs (z. B., „leere Pakete oder Frames") über eine serielle Datenverbindung mit eigenen lokalen Daten ersetzt, ohne einen internen Kernlogikvorgang zu haben (z. B. seriell-zu-parallel Konvertierung, Zusammenbau in Frames und Entpacken/Entschachteln von Daten), um eingehenden seriellen Datenverkehr vorzugeben, wo die lokalen Daten eingesetzt werden sollen, und zum Übertragen des eingehenden Datenverkehrs mit den darin eingesetzten lokalen Daten.
  • Bislang mussten die eingehenden seriellen Daten in Frames zusammengesetzt sein und von der Kernlogik empfangen werden, um lokale Daten zu übertragen. Ohne den Vorgang eingehende serielle Daten zu verarbeiten, um lokale Daten zu übertragen, kann eine Input/Output (IO) Schnittstelle eines Speichermoduls einfach den von anderen Speichermodulen oder der Speichersteuerung über die serielle Datenverbindung empfangenen eingehenden seriellen Datenstrom weiter übertragen unter Umgehung der internen Kernlogik eines integrierten Pufferspeicherschaltkreises. Dieses kann die Datenlatenz im seriellen Datenstrom verringern. Der Abschnitt des seriellen Datenstroms, der weiter gesendet werden soll, wird manchmal als „durchgeleitete Daten" („Feed-Through Data"; FTD) bezeichnet.
  • Ohne jegliche lokale Daten übertragen zu haben, leitet die IO Schnittstelle normalerweise den empfangenen seriellen Datenstrom weiter, unter Auslassen der Kernlogik des Chips. Muss die Kernlogik des Zwischenspeicherchips lokale Daten übertragen, sendet sie eine Mergeanfrage mit den lokalen Daten an die IO Schnittstelle. Da der Kernzeitgeber, der die lokalen Daten erzeugt, während des Trainings an einen Framezeitgeber der seriellen Hochgeschwindigkeits-Datenverbindung in den Ausgestaltungen der Erfindung angepasst ist, kann die IO Schnittstelle die Daten einfach an der geeigneten Framegrenze anschließen, um ein leeres Paket oder Frame zu ersetzen.
  • Bislang wurde darüber nachgedacht, dass die empfangenen seriellen Daten in Frames zusammengesetzt würden und von der Kernlogik empfangen und dann an die Outbound-Verbindung weitergeleitet würde. In diesem Fall, wenn die Kernlogik lokale Daten an die Outbound-Verbindung senden musste, würden dann einige der eingehenden Daten mit eigenen Daten ersetzt werden, und die Daten an die Outbound-Verbindung verpackt und serialisiert werden. Dieses würde eine Datenlatenz von wenigstens zwei Datenframes mit sich bringen. Die Ausgestaltungen der Erfindung setzen die Mergezeit während der anfänglichen Trainingsphase so, dass die lokalen Daten in die Outbound-Verbindung eingefasst werden können, ohne die eingehenden Daten während des normalen Betriebs zu empfangen und zu analysieren, um die leeren Pakete zu ersetzen. Die Ausgestaltung der Erfindung kann die Datenlatenz durch integrierte Zwischenspeicher-Schaltkreise von wenigstens zwei Datenframes auf wenige Bitintervalle reduzieren. In einem Ausführungsbeispiel der Erfindung ist ein integrierter Schaltkreis vorgesehen, der eine serielle Input/Output Schnittstelle mit einer oder mehreren Bahnen aufweist. Jede Bahn des seriellen Kommunikationskanals kann ein erstes Parallel-In-Serial-Output (PISO) Shiftregister, einen ersten Multiplexer und einen seriellen Sender aufweisen, die miteinander verbunden sind.
  • Der erste Multiplexer hat einen ersten Dateneingang, der an den ersten seriellen Ausgang angeschlossen ist, einen zweiten Dateneingang zum Empfangen durchgeleiteter Daten und einen ersten Auswahlsteuerungseingang, der an ein lokales Datenauswahlsignal angeschlossen ist. Der Multiplexer fädelt selektiv die serialisierten lokalen Daten und durchgeleiteten Daten in einen seriellen Datenstrom an einem Multiplexausgang als Reaktion auf das lokale Datenauswahlsignal ein.
  • Der serielle Sender hat einen Eingang, der an den Multiplexausgang des Multiplexers zum Empfangen des seriellen Datenstroms angeschlossen ist. Der serielle Sender leitet den seriellen Datenstrom an eine serielle Datenverbindung.
  • Die durchgeleiteten Daten können zwei Bits breit sein, während der parallele Eingang an das PISO Shiftregister sechs Bits breit und der serielle Ausgang des PISO Shiftregisters zwei Bits breit sein kann. In diesem Fall kann der erste Multiplexer ein zwei Bit Bus Multiplexer sein, so dass der serielle Datenstrom am Multiplexausgang zwei Bits breit ist, so dass der serielle Sender einen zwei Bit seriellen Datenstrom empfängt und auf die serielle Datenverbindung als einen Single Bit seriellen Datenstrom serialisiert. Jede Bahn kann weiter einen zweiten Multiplexer mit einem ersten Eingang zum Empfangen re-synchronisierter Daten, einen zweiten Eingang zum Empfangen von wiederholt abgetasteten (re-sampled) Daten und einen selektiven Eingang aufweisen, der an ein lokales Zeitgebermodussignal angeschlossen ist. Der zweite Multiplexer wählt zwischen der Ausgabe der von wiederholt abgetasteten Daten oder der resynchronisierten Daten als durchgeleitete Daten als Reaktion auf das lokale Zeitgebermodus aus. Jede Bahn kann weiter eine Steuerlogik aufweisen, die an den ersten Multiplexer und das erste PISO Shiftregister angeschlossen ist. Die Steuerlogik kann eine Merge-Steuerlogik und eine Modus-Steuerlogik aufweisen. Die Steuerlogik kann das erste Zeitgebersignal und ein Merge-Aktivierungssignal empfangen, um das lokale Datenauswahlsignal zum Zusammenfassen der serialisierten lokalen Daten und der durchgeleiteten Daten in den seriellen Datenstrom als Reaktion auf das Merge-Aktivierungssignal und das erste Zeitgebersignal zu erzeugen.
  • In einer anderen Ausgestaltung der Erfindung ist ein Verfahren für ein Speichermodul vorgesehen, das das Empfangen eines seriellen Eingangs-Datenstroms aufweist, der durchgeleitete Datenframes, die zwischen leeren Datenframes verstreut sind, repräsentiert; Zusammenfassen lokaler Datenframes und der durchgeleiteten Datenframes in einen seriellen Ausgabe-Datenstrom als Reaktion auf ein Merge-Aktivierungssignal ohne Decodieren des seriellen Eingangs-Datenstroms; und Übertragen des seriellen Ausgabe-Datenstroms an einem Northbound-Datenausgang an ein nächstes Speichermodul oder eine Speichersteuerung. Die lokalen Datenframes können in einem seriellen Ausgabe-Datenstrom durch Ersetzen leerer Datenframes im seriellen Eingangs-Datenstrom zusammengefasst werden. Beim Empfangen des seriellen Eingangs-Datenstroms kann Abtasten (sampling) (aus als wiederholtes Abtasten (re-sampling) bezeichnet) der Datenbits im seriellen Eingangs-Datenstrom oder Re-Synchronisieren der Datenbits im seriellen Eingangs-Datenstrom vorgesehen sein. Beim Zusammenfassen der lokalen Datenframes und der durchgeleiteten Datenframes, kann Serialisieren paralleler Bits der lokalen Datenframes in serielle Datenbits und Multiplexing der seriellen Datenbits der lokalen Datenframes und seriellen Bits der durchgeleiteten Datenframes in serielle Bits des seriellen Ausgangs-Datenstroms als Antwort auf das Merge-Aktivierungssignal vorgesehen sein. Ein lokaler Datenframe kann parallel über einen lokalen Bus in sechs Bit Paketen oder zwölf Bit Paketen als Reaktion auf ein Bus-Modussignal selektiv empfangen werden.
  • In einer anderen Ausgestaltung der Erfindung ist ein System vorgesehen mit: einem Prozessor, einer mit dem Prozessor verbundenen Speichersteuerung und wenigstens einer Speicherbank, die mit der Speichersteuerung verbunden ist. Der Prozessor ist eingerichtet, Anweisungen auszuführen und Daten zu verarbeiten. Die Speichersteuerung ist eingerichtet, Speicherschreibanweisungen mit Schreibdaten vom Prozessor zu empfangen und Speicherlesanweisungen vom Prozessor zu empfangen und gelesene Daten an diesen bereitzustellen.
  • Die eine Bank des Speichers weist ein oder mehrere Speichermodule auf, von denen jedes einen integrierten Pufferspeicher-Schaltkreis und einen integrierten Random Access Memory Schaltkreis, die miteinander verbunden sind, aufweist. Der integrierte Pufferspeicher-Schaltkreis beinhaltet eine Southbound Serial Input/Output Schnittstelle mit einer oder mehreren seriellen Bahnen zum Empfangen der Schreibdaten von der Speichersteuerung und eine serielle Northbound Input/Output Schnittstelle mit einer oder mehrerer serieller Bahnen eines seriellen Northbound-Eingangs und einen seriellen Northbound-Ausgang zum Übertragen der gelesenen Daten an die Speichersteuerung.
  • Jede serielle Bahn in der Northbound Input/Output Schnittstelle hat einen parallel-zu-seriell-Wandler und einen ersten Multiplexer. Der parallel-zu-seriell-Wandler hat einen parallelen Eingang, der an parallele Bits eines lokalen Datenbusses angeschlossen ist, einen Zeitgebereingang, der an ein erstes Zeitgebersignal angeschlossen ist, einen Load/Shift-Bar Eingang, der an ein Lastsignal angeschlossen ist. Der parallel-zu-seriell-Wandler serialisiert die parallelen Datenbits am lokalen Datenbus in serialisierte Lokaldaten an einem ersten seriellen Ausgang. Der erste Multiplexer hat einen ersten Dateneingang, der an den seriellen Ausgang des parallel-zu-seriell-Wandlers angeschlossen ist, einen zweiten Dateneingang zum Empfangen serieller durchgeleiteter Daten vom seriellen Northbound-Eingang und einen Auswah-Eingang, der an ein lokales Datenauswahlsignal angeschlossen ist. Der erste Multiplexer verbindet selektiv die serialisierten lokalen Daten und die seriellen durchgeleiteten Daten in einen seriellen Datenstrom am seriellen Northbound-Ausgang als Antwort auf das lokale Datenauswahlsignal.
  • Jede serielle Bahn in der seriellen Northbound Input/Output Schnittstelle kann weiter einen Sender zum Leiten des seriellen Datenstroms auf den seriellen Northbound-Datenausgang in Richtung der Speichersteuerung mit einem Eingang, der an den Multiplexausgang des ersten Multiplexers zum Empfangen des seriellen Datenstroms angeschlossen ist, haben.
  • Jede serielle Bahn der seriellen Northbound Input/Output Schnittstelle kann weiterhin eine Steuerlogik aufweisen, die an den Multiplexer und den ersten parallel-zu-seriell-Wandler angeschlossen ist. Die Steuerlogik empfängt das erste Zeitgebersignal und ein Merge-Aktivierungssignal, um das lokale Datenauswahlsignal zu erzeugen und die serialisierten lokalen Daten und die seriellen durchgeleiteten Daten im seriellen Datenstrom als Reaktion auf das Merge-Aktivierungssignal und das erste Zeitgebersignal zusammenzufassen.
  • Für jede Speicherbank im System weist die Speichersteuerung eine serielle Northbound-Eingangsschnittstelle zum Empfangen einer oder mehrerer seriellen Datenbahnen von einem oder mehreren Speichermodulen und eine serielle Southbound-Ausgabeschnittstelle zum Übertragen einer oder mehrerer Bahnen von seriellen Daten an das eine oder die mehreren Speichermodule auf.
  • In einer anderen Ausgestaltung der Erfindung ist ein Zwischenspeichermodul vorgesehen, einschließlich einer Platine, einer Mehrzahl von integrierten Random Access Memory (RAM) Schaltkreisen und einem integrierten Pufferspeicher-Schaltkreis. Die Platine hat eine seitliche Anbindung zum Verbinden mit einer Aufnahme eines Hostsystems. Die Mehrzahl von integrierten Random Access Memory (RAM) Schaltkreisen und dem integrierten Pufferspeicher-Schaltkreis sind mit der Platine verbunden. Der integrierte Pufferspeicher-Schaltkreis ist elektrisch an die Mehrzahl von Integrierten RAM Schaltkreisen und der seitlichen Verbindung angeschlossen. Der Integrierte Pufferspeicher-Schaltkreis hat eine Southbound Input/Output Schnittstelle und eine Northbound Input/Output Schnittstelle mit einer Merge-Logik, einer Mehrzahl von Merge-Logikabschnitten für eine Mehrzahl von Bahnen der seriellen Datenströme.
  • Jeder Merge-Logikabschnitt des integrierten Pufferspeicher-Schaltkreises weist ein erstes Parallel-In-Serial-Output (PISO) Shiftregister und einen ersten Multiplexer auf. Das erste Parallel-In-Serial-Output (PISO) Shiftregister hat einen parallelen Eingang, der an einen lokalen Datenbus angeschlossen ist, einen Zeitgebereingang, der mit einem ersten Zeitgebersignal verbunden ist, einen Load/Shift-Bar Eingang, der mit einem ersten Lastsignal verbunden ist. Das erste PISO Shiftregister serialisiert parallele Daten an dem lokalen Datenbus in serialisierte lokale Daten an einem ersten seriellen Ausgang. Der erste Multiplexer hat einen ersten Dateneingang, der mit dem ersten seriellen Ausgang des ersten PISO Shiftregisters verbunden ist, einen zweiten Dateneingang zum Empfangen serialisierter durchgeleiteter Daten und einen ersten Auswahleingang, der mit einem lokalen Datenauswahlsignal verbunden ist. Der erste Multiplexer fasst die serialisierten lokalen Daten und die serialisierten durchgeleiteten Daten in einem seriellen Datenstrom an einem Multiplexausgang als Reaktion an das lokale Datenauswahlsignal zusammen.
  • Jeder Merge-Logikabschnitt kann weiterhin eine Steuerlogik aufweisen, die an den ersten Multiplexer und das PISO Shiftregister angeschlossen ist. Die Steuerlogik empfängt das erste Zeitgebersignal und ein Merge-Aktivierungssignal, um das lokale Datenauswahlsignal zu erzeugen, um die serialisierten lokalen Daten und die serialisierten durchgeleiteten Daten in den seriellen Datenstrom als Antwort auf das Merge-Aktivierungssignal und das erste Zeitgebersignal einzuleiten.
  • Die Northbound Input/Output Schnittstelle des integrierten Pufferspeicher-Schaltkreises in dem Zwischenspeichermodul kann weiterhin eine Mehrzahl von Sendern aufweisen, wobei jeder einen Eingang hat, der an einen korrespondierenden Ausgang des ersten Multiplexers in jedem Merge-Logikabschnitt angeschlossen ist, wobei die Mehrzahl von Sendern den seriellen Datenstrom empfangen und ihn an eine serielle Datenverbindung leiten.
  • In einer anderen Ausgestaltung der Erfindung ist ein Speichersystem vorgesehen mit einer Mehrzahl von Zwischenspeichermodulen, die miteinander verbunden sind, um eine Speicherbank zu bilden. Jedes Zwischenspeichermodul weist eine Mehrzahl von integrierten Speicherschaltkreisen auf und einen integrierten Pufferspeicherschaltkreis, der an die Mehrzahl von integrierten Speicherschaltkreisen angeschlossen ist. Der integrierte Pufferspeicherschaltkreis weist eine serielle Southbound Input/Output Schnittstelle zum Empfangen und Weiterleiten von seriellen Southbound-Daten von einer Speichersteuerung oder einem vorhergehenden Zwischenspeichermodul an ein nächstes Zwischenspeichermodul, eine serielle Northbound Input/Output Schnittstelle zum Empfangen serieller Northbound-Daten von wenigstens einem Zwischenspeichermodul als serialisierte durchgeleitete und weiter nach außen in Richtung der Speichersteuerung geleitete Daten, einem Datenschreib First-In-First-Out (FIFO) Pufferspeicher zum Speichern von Schreibdaten von der seriellen Southbound Input/Output Schnittstelle, die an das Zwischenspeichermodul durch einen Schreibbefehl geleitet ist, eine Speicher Input/Output Schnittstelle zum Übertragen von Schreibdaten, die im Schreibdaten FIFO Pufferspeicher gespeichert sind, in wenigstens eine der Mehrzahl von integrierten Speicherschaltkreisen und zum Übertragen von gelesenen Daten von wenigstens einem der Mehrzahl von integrierten Schaltkreisen in einen gelesenen Daten FIFO Pufferspeicherund den gelesenen Daten FIFO Pufferspeicher zum Speichern von gelesenen Daten von wenigstens einer der Mehrzahl von integrierten Speicherschaltkreisen als lokale Daten, die von dem Zwischenspeichermodul durch einen Lesbefehl geleitet sind, auf.
  • Die serielle Northbound Input/Output Schnittstelle serialisiert die lokalen Daten von der Mehrzahl von integrierten Speicherschaltkreisen und leitet diese in einen seriellen Northbound Datenstrom mit den serialisierten durchgeleiteten Daten auf einer Zeitbasis ein, ohne die empfangenen seriellen Northbound-Daten zu decodieren. Die serielle Northbound Input/Output Schnittstelle weist einen dritten FIFO Puffer, eine Daten-Mergelogik, die an dem dritten FIFO Pufferspeicher angeschlossen ist, und eine Mehrzahl von Sendern, die an die Daten-Mergelogik angeschlossen sind, auf.
  • Die Daten-Mergelogik hat eine Mehrzahl von Merge-Logikabschnitt en, die jeweils ein erstes Parallel-In-Serial-Output (PISO) Shiftregister zum Serialisieren paralleler Daten am lokalen lokalen Datenbus in serialisierte Daten an einem ersten seriellen Ausgang und einen ersten Multiplex zum selektiven Einfädeln serialisierter lokaler Daten und serialisierter durchgeleiteter Daten in einen seriellen Datenstrom an ein Muliplexausgang als Antwort auf das lokale Datenauswahlsignal aufweist. Das PISO Shiftregister hat einen parallelen Eingang, der an einen lokalen Datenbus angeschlossen ist, einen Zeitgebereingang, der mit einem ersten Zeitgebersignal verbunden ist, und einen Load-/Shift-Bar Eingang, der mit einem ersten Lastsignal verbunden ist. Der erste Multiplexer hat einen ersten Dateneingang, der mit dem ersten seriellen Ausgang des ersten PISO Shiftregisters verbunden ist, einen zweiten Dateneingang zum Empfangen serialisierter durchgeleiteter Daten und einen ersten Auswahleingang, der mit einem lokalen Datenauswahlsignal verbunden ist.
  • Jeder der Mehrzahl von Sendern hat einen Eingang, der an einen entsprechenden Ausgang des ersten Multiplexers in jedem Merge-Logikabschnitt angeschlossen ist. Die Mehrzahl von Sendern empfangen Daten vom seriellen Datenstrom und leiten diese an eine serielle Datenverbindung.
  • Im Speichersystem kann jeder Merge-Logikabschnitt der Daten-Mergelogik weiter eine Steuerlogik aufweisen, die an den ersten Multiplexer und das erste PISO Shiftregister angeschlossen ist, um das erste Zeitgebersignal und ein Merge-Aktivierungssignal zu empfangen und das lokale Datenauswahlsignal zum Verbinden der serialisierten lokalen Daten und der serialisierten durchgeleiteten Daten im seriellen Datenstrom zu erzeugen.
  • Das Speichersystem kann weiter eine Speichersteuerung aufweisen, die an wenigstens eines der Mehrzahl von Zwischenspeichermodulen angeschlossen ist. Die Speichersteuerung hat eine serielle Southbound-Ausgangsschnittstelle, um den seriellen Southbound-Datenstrom an wenigstens eines der Mehrzahl von Zwischenspeichermodulen zu übertragen und eine serielle Northbound-Eingangsschnittstelle zum Empfangen des seriellen Northbound-Datenstroms von wenigstens einem der Mehrzahl von Zwischenspeichermodulen.
  • Bezugnehmend auf 1A ist ein Blockdiagramm eines typischen Computersystems 100 dargestellt, in dem Ausgestaltungen der Erfindung verwendet werden können. Das Computersystem 100A weist eine Zentralprozessoreinheit (CPU) 101, Input/Output Einrichtungen (I/O) 102, etwa eine Tastatur, ein Modem, ein Drucker, externe Speichervorrichtungen und Ähnliches und Anzeigeeinrichtungen (M) 103, wie etwa einen Bildschirm oder eine Graphikanzeige auf. Die Darstellungseinrichtungen (M) 103 können Computerinformation in für den Menschen verständlichen Formaten wie etwa visuellen oder Audioformaten, bereitstellen. Das System 100 kann eine Anzahl von verschiedenen elektronischen Systemen, anderen als ein Computersystem, sein.
  • Bezugnehmend auf 1B ist ein Client Server System 100B dargestellt, in dem Ausgestaltungen der Erfindung verwendet werden können. Das Client Server System 100B weist einen oder mehrere Clients 110A-110M auf, die an ein Netzwerk 112 angeschlossen sind und einen Server 114, der an das Netzwerk 112 angeschlossen ist. Die Clients 110A-110M kommunizieren mit dem Server 114 über das Netzwerk 112, um Information zu übertragen oder zu empfangen und Zugriff auf jede Datenbank und/oder Anwendungssoftware zu erhalten, die auf dem Server verwendet werden kann. Der Server 114 hat eine zentrale Prozessoreinheit mit Speicher und kann weiter eine oder mehrere Plattenlaufwerkspeichervorrichtungen aufweisen. Der Server 114 kann in einem Storage Area Network (SAN) beispielsweise als eine Network Attached Storage (NAS) Vorrichtung verwendet werden und eine Reihe von Platten haben. Der Datenzugriff auf den Server 114 wird über das Netzwerk 112 von mehreren Clients 110A-110C geteilt.
  • Sich nun auf 2A beziehend ist ein Blockdiagram einer Zentralprozessoreinheit 101A dargestellt, in der Ausgestaltungen der Erfindung verwendet werden können. Die Zentralprozessoreinheit 101A weist einen Prozessor 201, eine Speichersteuerung 202 und einen ersten Speicher 204A eines ersten Speicherkanals auf, die wie gezeigt und dargestellt miteinander verbunden sind. Die Zentralprozessoreinheit 101A kann weiterhin einen Cachespeicher 203 aufweisen, der zwischen der Speichersteuerung 202 und dem Prozessor 201 angeschlossen ist und eine Plattenspeichereinrichtung 206, die an den Prozessor 201 angeschlossen ist. Die Zentralprozessoreinheit 101A kann weiterhin einen zweiten Speicherkanal mit einem zweiten Speicher 204B aufweisen, der an die Speichersteuerung 202 angeschlossen ist. Wie durch die Zentralprozessoreinheit 101A dargestellt, können die Speichersteuerung 202 und der Cachespeicher 203 außerhalb des Prozessors 201 sein.
  • Sich nun 2B zuwendend ist ein Blockdiagramm einer anderen Zentralprozessoreinheit 101B dargestellt, in der Ausgestaltungen der Erfindung verwendet werden können. Die Zentralprozessoreinheit 101B weist einen Prozessor 201' mit einer internen Speichersteuerung 202' und einem ersten Speicherkanal mit einem Speicher 204A auf, der an die interne Speichersteuerung 202' des Prozessors 201' angeschlossen ist. Der Prozessor 201' kann weiterhin einen internen Cachespeicher 203' aufweisen. Die Zentralprozessoreinheit 101B kann weiterhin einen zweiten Speicher 204B für einen zweiten Speicherkanal und eine Plattenspeichereinrichtung 206 aufweisen, die an den Prozessor 201' angeschlossen ist.
  • Die Plattenspeichereinrichtung 206 kann eine Diskette, eine Zipdiskette, eine DVD, eine Festplatte, eine wiederbeschreibbare optische Disk, ein Flashspeicher oder eine andere nicht flüchtige Speichereinrichtung sein.
  • Der Prozessor 201, 201' kann weiter einen oder mehrere Ausführungseinheiten und einen oder mehrere Ebenen von Cachespeicher aufweisen. Andere Ebenen von Cachespeichern können außerhalb des Prozessors und als Schnittstelle für die Speichersteuerung sein. Der Prozessor, die eine oder mehrere Ausführungseinheiten oder die eine oder mehrere Ebenen des Cachespeichers können Daten (einschließlich Anweisungen) durch die Speichersteuerung mit dem Speicher 204A-204D lesen oder schreiben. Beim Anschließen an die Speichersteuerung 202, 202' können Adress-, Daten-, Steuerungs- und Taktsignale mit dem Speicher als Teil der Speicherschnittstelle verbunden sein. Die Prozessoren 201, 201' und die Plattenspeichereinrichtung 206 können Information in den Speichern 204A, 204B sowohl lesen als auch schreiben.
  • Jeder der Speicher 204A und 204B, die in den 2A-2B dargestellt sind, können einen oder mehrere Zwischenspeichermodule (MM1-MMn) aufweisen, wie etwa beispielsweise ein Fully Buffered (FB) Dual-In-Line Memory Modul (DIMM), (FBDIMM) oder ein Fully Buffered (FB) Single In-Line Speichermodul (SIMM), (FBSIMM).
  • Die Speichersteuerung 202, 202' ist an jeden Speicher 204A-240B gekoppelt. In einer Ausgestaltung der Erfindung ist die Speichersteuerung 202, 202' insbesondere an einen Pufferspeicher(nicht gezeigt in den 2A-2B, aber als Pufferspeicher 450A in 5 dargestellt). In einem ersten Zwischenspeichermodul MM1 eines jeden Speichers 204A-204B angeschlossen. Mit dem an die Pufferspeicher der Speichermodule angeschlossenen Speichersteuerung 202, 202' können direkte Schnittstellen an die Speichervorrichtungen der Zwischenspeichermodule (MM1-MMn) vermieden werden. In dieser Weise können verschiedene Arten von Speichervorrichtungen verwendet werden, um Speicherung bereitzustellen, während die Schnittstelle zwischen dem Pufferspeicher und der Speichersteuerung gleichbleibend verbleiben kann.
  • Sich nun 3 zuwendend ist eine Zwischenspeichermodul (Buffered Memory Module; BMM) Speichersteuerung (BMMMC) 302 dargestellt, die an eine oder mehrere Speicherbänke 304A-304F (allgemein als Speicherbank 304 oder Speicherbänke 304 bezeichnet) angeschlossen ist. Die Speichersteuerung 302 kann mehr als zwei Speicherkanäle und mehr als zwei Speicherbänke der Speichermodule unterstützen. Jede Speicherbank 304 ist aus einer Mehrzahl von Zwischenspeichermodulen 310A-310H gebildet, die miteinander in einer se riellen Kette verbunden sind. Diese serielle Kette von Zwischenspeichermodulen 310A-310H wird auch manchmal als „Gänseblümchenkette" („daisy-chained") bezeichnet. Angrenzende Speichermodule sind miteinander verbunden, manchmal bezeichnet als „daisy-chained", wie etwa beispielsweise Speichermodul 310A, das an das angrenzende Speichermodul 310B angeschlossen ist.
  • Jedes Speichermodul 310A-310B in jeder Bank kommuniziert bidirektional in einer seriellen Weise mit der Speichersteuerung 302 entlang der seriellen Kette von Speichermodulen 310A-310H. Es gibt eine serielle Southbound-Verbindung (SB) von der Speichersteuerung 302 zu jeder Speicherbank 304, die auch als eine Outbound-Datenverbindung mit Outbound-Befehlen (z. B. lesen und schreiben) und Daten bezeichnet wird. Alle Schreibdaten von der Speichersteuerung, die in die Speichermodule geschrieben werden sollen, sind über die serielle Southbound-Datenverbindung gesendet. Es gibt eine serielle Northbound-Datenverbindung (NB) von jeder Speicherbank 304 zur Speichersteuerung 302, die auch als eine Inbounddaten-Verbindung mit Inbounddaten bezeichnet wird. Alle gelesenen Daten von den Speichermodulen werden an die Speichersteuerung über die serielle Northbound-Datenverbindung gesendet.
  • In der seriellen Southbound-Datenverbindung (SB) sind ausgehende Daten von der Speichersteuerung 302 an eine Speicherbank 304 als erstes an das erste Speichermodul 310A gekoppelt, welches die Daten lesen kann und an das Speichermodul 310B weiterleitet. Das Speichermodul 310B kann die Daten lesen und an das nächste Speichermodul in der seriellen Kette weiterreichen und so weiter und so fort, bis das letzte Speichermodul in der seriellen Southboundkette erreicht ist. Das letzte Speichermodul in der seriellen Southboundkette, Speichermodul 310H, hat kein weiteres Speichermodul, an das Daten übergeben werden, so dass die serielle Southbound-Datenverbindung endet.
  • In der seriellen Northbound-Datenverbindung (NB) werden Daten seriell in einer Richtung von der Speicherbank 304 an die Speichersteuerung 302 kommuniziert. Jedes Speichermodul in jeder Speicherbank kommuniziert zurück zur Speichersteuerung an der seriellen Northbound-Datenverbindung (NB). Das Speichermodul 310H beginnt eine serielle Kette von Speichermodulen, die Daten in Richtung der Speichersteuerung überreichen. Vom Speichermodul 310H übertragene serielle Daten durchlaufen oder werden anderweitig vom Speichermodul 310G weitergeleitet. Während das Speichermodul 310G die seriellen Daten vom vor herigen Speichermodul 310H weiterreichen oder weiterleiten kann, kann es auch seine eigenen lokalen Daten dem seriellen Northbound-Datenstrom hinzufügen, der sich in Richtung Speichersteuerung 302 bewegt. In ähnlicher Weise kann jedes Speichermodul in der Kette die seriellen Daten vom vorherigen Speichermodul weiterreichen oder weiterleiten und seine eigenen lokalen Daten in den seriellen Northbound-Datenstrom einordnen, der zur Speichersteuerung 302 fortschreitet. Das letzte Speichermodul in der seriellen Northboundkette, Speichermodul 310A, überträgt den finalen seriellen Northbound-Datenstrom an die Speichersteuerung 302.
  • Die seriellen Northbound- und Southbound-Datenverbindungen können angesehen werden als Punkt-zu-Punkt Kommunikation von einem Speichermodul zu einem anderen Speichermodul usw. entlang der seriellen Kette. Der serielle Datenfluss von der Speichersteuerung 302 nach Außen zum Speichermodul 310A über das Speichermodul 310H kann als ein südlicher Datenfluss bezeichnet werden. Der serielle Datenfluss vom Speichermodul 310H durch das Speichermodul 310Z an das Speichermodul 302 kann als ein nördlicher Datenfluss bezeichnet werden. In 3 ist der südliche Datenfluss durch einen mit SB bezeichneten Pfeil dargestellt, wo hingegen der nördliche Datenfluss durch einen mit NB bezeichneten Teil dargestellt ist.
  • Nun auf 4 bezugnehmend ist ein Zwischenspeichermodul (Buffered Memory Module; BMM) 310 dargestellt, das beispielhaft für die Speichermodule 310A-310H ist. Das Zwischenspeichermodul 310 kann jeder Art sein, beispielsweise ein SIMM oder DIMM. Das Zwischenspeichermodul 310 weist einen integrierten Pufferspeicherschaltkreischip („Puffer") 450 und integrierte Speicherschaltkreischips („Speichereinrichtungen") 452 auf, die mit einer Platine 451 verbunden sind. Die Platine 451 weist einen Seitenanschluss oder eine seitliche Verbindung 454 auf, die sich mit einem Seitenanschluss der Hostplatine verbindet. Ein Southbound-Dateneingang (SBDI) und ein Northbound-Dateneingang (NBDO) des Speichermoduls 310 werden empfangen oder übertragen an ein vorheriges Zwischenspeichermodul oder die Zwischenspeichersteuerung. Ein Northbound-Dateneingang (NBDI) und ein Southbound-Datenausgang (SBDO) des Speichermoduls 310 empfangen von oder übertragen an ein nächstes Zwischenspeichermodul, wenn vorhanden.
  • Sich nun auf die 3 und 4 beziehend kommuniziert die Speichersteuerung 302 mit den Pufferspeichern 450 eines jeden Speichermoduls 310A-310H in jeder Speicherbank 304 durch Verwenden des südlichen Datenflusses und des nördlichen Datenflusses. Die seitliche Verbindung 450 des ersten Speichermoduls, das der Speichersteuerung in jeder Bank am nächsten ist, Speichermodul 310A, verbindet den Pufferspeicher 450 eines jeden Speichermoduls 310A mit der Speichersteuerung 302. Das Speichermodul 310A hat kein angrenzendes Speichermodul im nördlichen Datenflusspfad. Der nördliche Datenfluss vom Speichermodul 310A ist mit der Speichersteuerung 302 verbunden. Die angrenzenden Speichermodule 310A-301H in jeder Bank sind miteinander verbunden, so dass Daten gelesen, geschrieben und durch jeden Pufferspeicher 450 jedes Speichermoduls weitergeleitet werden können. Das letzte Speichermodul, das in jeder Bank am weitesten von der Speichersteuerung entfernt ist, Speichermodul 310H, hat kein angrenzendes Speichermodul im südlichen Datenflusspfad. Daher reicht Speichermodul 310H den Datenfluss entlang der seriellen Kette von Speichermodulen nicht südlich weiter.
  • Die Speichersteuerung 302 verbindet die Speichereinrichtungen 452 in jedem Speichermodul nicht direkt. Der Pufferspeicher 450 in jedem Speichermodul 310A-310H in jeder Speicherbank 304 verbindet die Speichereinrichtungen 452 auf der Platine 351 direkt. Der Pufferspeicher 450 bietet Datenpufferung für alle integrierten Speicherschaltkreischips oder Einrichtungen 452 auf derselben Platine 451 des Speichermoduls 310. Der Pufferspeicher 450 führt weiter seriell-zu-parallel-Wandlung und parallel-zu-seriell-Wandlung der Daten durch, wie auch Interleaving/Deinterleaving und Packen/Entpacken der Daten wie benötigt. Der Pufferspeicher 450 steuert auch seinen Abschnitt der seriellen Kette der nördlichen und südlichen Datenverbindungen mit angrenzenden Speichermodulen. Zusätzlich, im Fall des ersten Speichermoduls, Speichermodul 310A, steuert der Pufferspeicher 450 auch seinen Abschnitt der seriellen Kette der nördlichen und südlichen Datenverbindungen mit der Speichersteuerung 302. Zusätzlich, im Fall des letzten Speichermoduls, Speichermodul 310H, steuert der Pufferspeicher 450 auch die Initialisierung der seriellen Kette von Speichermodulen und die Erzeugung von leeren Frames oder leeren Paketen von Daten in der nördlichen Datenverbindung und dem nördlichen Datenfluss an die Speichersteuerung 302.
  • Ohne eine direkte Verbindung zwischen der Speichersteuerung 302 und den Speichereinrichtungen 452 der Speichermodule können die Chips oder Einrichtungen 452 verschiedener Art, Geschwindigkeiten, Größen etc. sein mit denen der Pufferspeicher 450 kommunizieren kann. Dieses erlaubt verbesserte Speicherchips in einem Speichermodul zu verwenden, ohne die Hardwareschnittstellen zwischen der Speichersteuerung und den Speichermodulen durch Kauf einer neuen Host- oder Hauptplatine notwendig zu machen. Das Speichermodul, das in die Host- oder Hauptplatine gesteckt ist, wird anstelle dessen aktualisiert. In einer Ausgestaltung der Erfindung sind die integrierten Speicherchip-Schaltkreise oder Einrichtungen 452 DDR Speicherchips mit Dynamic Random Access Memory (DRAM). Andererseits können die Speicherchips, integrierten Schaltkreise oder Einrichtungen 452 in anderen Ausgestaltungen der Erfindung jede andere Art von Speicher oder Speichereinrichtung sein.
  • Nun auf 5 bezugnehmend ist eine Speicherbank 304 der Speicherbänke 304A-304F eines Speichersystems in größerem Detail dargestellt, die an die Speicherpuffermodul (Buffer Memory Module; BMM) Speichersteuerung 302 angeschlossen ist. In einer Ausgestaltung der Erfindung ist die BMM Speichersteuerung 302 eine Fully Buffered Dual Inline (FBD) Speichersteuerung und jedes der Speichermodule 310A ist ein Fully Buffered Dual Inline (FBD) Speichermodul (FBDIMM). Die Speicherbank 304 weist ein oder mehrere Speichermodule 310A-310n auf, die miteinander verkettet sind („daisy chained"). Jedes Speichermodul 310 funktioniert als Repeater für valide Daten, die in seriellen Bitströmen entlang der nördlichen Datenverbindung (NB) und der südlichen Datenverbindung (SB) fließen.
  • Jedes Speichermodul 310A-310n in der Speicherbank 304 weist einen Pufferspeicher 450A-450n auf. Jedes Zwischenspeichermodul 310A-310N weist Speichereinrichtungen 452A-452N auf, die zueinander unterschiedliche sein können. Beispielsweise können die Speichereinrichtungen 452A im Speichermodul 310 unterschiedlich von den Speichereinrichtungen 452B im Zwischenspeichermodul 310B sein. Das heißt, der Pufferspeicher 450 in jedem Speichermodul macht den Speichertyp, der für die Speichereinrichtung verwendet wird, transparent von der Speichersteuerung 302.
  • Der Pufferspeicher 450 in jedem Speichermodul funktioniert als ein Repeater für die Daten, die in seriellen Bitströmen entlang der nördlichen Datenverbindung (NB) und der südlichen Datenverbindung (SB) fließen. Zusätzlich kann der Pufferspeicher 450 in jedem Speichermodul seine eigenen lokalen Daten in Bahnen von seriellen Bitströmen, die entlang der nördli chen Datenverbindung (NB) anstelle von Frames oder partiellen Frames von freien oder invaliden Daten einfügen oder einfädeln.
  • Um die Zeitsteuerung der Speichersteuerung 302 und den Speichermodulen 310A-310n zusammen in der Speicherbank 304 zu synchronisieren, ist ein Zeitgeber 500 vorgesehen, der an jedes Speichermodul und an die Speichersteuerung angeschlossen ist. Ein Zeitgebersignal 501 vom Zeitgeber 500 ist mit der Speichersteuerung 302 verbunden. Zeitgebersignale 502A-502n sind mit den Puffern 450A-450n in den Speichermodulen 310A-310n verbunden.
  • Die Speichersteuerung 302 kommuniziert durch die Speichermodule in der Speicherbank über die südlichen Datenverbindungen SB1-SBn. Die Speichersteuerung 302 kann Daten von jedem Speichermodul 310 innerhalb der Speicherbank 304 über die nördliche Datenverbindungen NB1-NBn empfangen. Die südlichen Datenverbindungen SB1-SBn können aus einer oder mehrerer Bahnen von seriellen Daten bestehen. In ähnlicher Weise können die nördlichen Datenverbindungen NB1-NBn aus einer oder mehr Bahnen von seriellen Daten bestehen. In einer Ausgestaltung der Erfindung sind vierzehn Bahnen von seriellen Daten in den nördlichen Datenverbindungen NB1-NBn.
  • Das letzte Speichermodul 310n, unabhängig ob es Daten zu senden hat oder nicht, erzeugt einen pseudozufälligen Bitstrom und schickt diesen in Richtung der Speichersteuerung 302 an der nördlichen Verbindung Nbn. Der pseudozufällige Bitstrom kann von einem Speichermodul an das nächste an den nördlichen Verbindung NB1-NBn weitergereicht werden. Hat das Speichermodul 310n lokale Daten an die Speichersteuerung 302 zu senden, erzeugt es einen Datenframe mit den lokalen Daten und ordnet diesen an der nördlichen Verbindung NBn anstelle eines Datenframes des pseudozufälligen Bitstroms an. Der pseudozufällige Bitstrom kann eine Sequenz von Bits aufweisen, die in Datenframes gepackt sind, die einen freien Datenframe anzeigen. Ein freier Datenframe kann durch die anderen Speichermodule weiter in der Leitung folgend (Speichermodule 310A-3109n-1) ersetzt werden, um einen Frame von lokalen Daten in den seriellen Bitstrom, der an die nördlichen Verbindung NB1-NBn fließt, einzubinden. Beispielsweise kann das Speichermodul 310B einen freien Rahmen an der eingehenden nördlichen Verbindung NB3 empfangen und einen Frame von lokalen Daten anstelle des freien Frames in den seriellen Bitstrom an der ausgehenden nördlichen Verbindung NB2 einbinden.
  • Das in 5 dargestellte Speichersystem kann weiter einen SM Bus (SMBus) 506 aufweisen, der von der Speichersteuerung 302 an jedes der Speichermodule 310A-310N angeschlossen ist. Der SM Bus 506 kann ein serieller Datenbus sein. Der SM Bus 506 ist ein Seitenbandmechanismus für den Zugriff auf interne Register des Puffers. Bestimmte Verbindungsparameter können durch ein BIOS im Pufferspeicher gesetzt sein, bevor die nördlichen und südlichen seriellen Datenverbindungen aufgestellt werden. Der SM Bus kann auch verwendet werden, um das System durch den Zugriff auf interne Register des Pufferspeichers auf Fehler zu untersuchen.
  • Die Speichersteuerung 302 kann ein Teil eines Prozessors (wie durch den Prozessor 201' und die Speichersteuerung 202' in 2B dargestellt) sein oder ein separater integrierter Schaltkreis (wie durch Prozessor 201 und Speichersteuerung 202 in 2A dargestellt) sein. In jedem Fall kann die Speichersteuerung 302 Speicherschreibanweisungen mit Schreibdaten vom Prozessor empfangen und Speicherlesanweisungen vom Prozessor empfangen und Lesdaten an den Prozessor bereitstellen, um Daten in den Speicher zu schreiben oder aus dem Speicher zu lesen. Die Speichersteuerung 302 kann eine serielle Southboundausgabeschnittstelle (SBO) 510 zum Übertragen einer oder mehrerer Spuren von seriellen Daten an das eine oder die mehreren Speichermodule in jeder Speicherbank aufweisen. Die Speichersteuerung 302 kann weiter eine serielle Northboundeingabeschnittstelle (NBI) 511 zum Empfangen einer oder mehrerer Spuren von seriellen Daten von dem einen oder den mehreren Speichermodulen in jeder Speicherbank aufweisen.
  • Nun bezugnehmend auf 6 (6-1 und 6-2) ist ein funktionelles Blockdiagramm des Puffers 450 für das Zwischenspeichermodul 310 dargestellt. Der Pufferspeicher 450 ist ein integrierter Schaltkreis, der auf der Platine 451 des Zwischenspeichermoduls 310 befestigt sein kann. Um ein- und ausgehende Daten des Zwischenspeichermoduls 310 zu verbinden, weist der Pufferspeicher 450 eine Southbound Pufferspeicher I/O Schnittstelle 600A und eine Northbound Pufferspeicher I/O Schnittstelle 600B auf.
  • Die Northbound Pufferspeicher I/O Schnittstelle 600B verbindet den nördlichen Datenausgang (NBDO) 601 und den nördlichen Dateneingang (NBDI) 602. Die Southbound Pufferspeicher I/O Schnittstelle 600A verbindet den südlichen Dateneingang (SBDI) 603 und den südlichen Datenausgang (SBDO) 604. Der nördliche Dateneingang 602 und der nördliche Datenausgang 601 weisen vierzehn Bahnen von seriellen Datenströmen in einer Ausgestaltung der Erfindung auf. Der südliche Dateneingang 603 und der südliche Datenausgang 604 weisen zehn Bahnen von seriellen Datenströmen in einem Ausführungsbeispiel der Erfindung auf.
  • Als Schnittstelle für die Speichereinrichtungen 452 weist der Pufferspeicher 450 eine Speicher I/O Schnittstelle 612 auf. An der Speicher I/O Schnittstelle 612 werden DRAM Daten bidirektional über einen DRAM Daten/STROBE Bus 605 gereicht, während Adressen und Befehle über DRAM ADDRESS/COMMAND Busse 606A-606B an die Speichereinrichtungen gesendet werden. Die Speichereinrichtungen 650 sind über die DRAM Taktgeberbusse 607A-607B getaktet, um den Datentransfer mit der Speicher I/O Schnittstelle 612 zu synchronisieren. Von der Kernlogik des Puffers 450 empfängt die Speicher I/O Schnittstelle 612 Befehle über den CMD OUT Bus 692 vom Multiplexer 635; Adressen über den ADD OUT Bus 693 vom Multiplexer 637; und Schreibdaten über den DATA OUT Bus 691 vom Multiplexer 636. Die Schreibdaten am DATA OUT Bus 691 werden an die geeigneten Speichereinrichtungen über den DRAM DATA STROBE Bus 605 kommuniziert. Adressdaten am DATA OUT Bus 691 werden an die geeigneten Speichereinrichtungen über die DRAM ADRESS/COMMAND Busse 606A-606B kommuniziert. Die Befehle am CMD OUT Bus 692 werden an die geeigneten Speichereinrichtungen über die DRAM ADRESS/COMMAND Busse 606A-606B kommuniziert.
  • Um das Kern-Zeitgeber-Signal 502 für die funktionellen Blocks der Pufferspeicher 450 zu erzeugen, empfängt er ein Referenzzeitsignal (REF CLCK) 502, das in einer Phase Lock Schleife (Phase Lock Loop; PLL 613 angeschlossen ist. Das Referenzzeitsignal (REF CLOCK) 502 kann ein differenzielles Eingangssignal sein und durch einen differenziellen Eingangsempfänger entsprechend empfangen werden. Der Pufferspeicher 450 empfängt weiter einen SM Bus 506, der an eine SM Bussteuerung 629 angeschlossen ist. Ein Resetsignal (Reset#) 608 ist in einen Reset-Steuerungsblock 628 eingesetzt, um den Pufferspeicher 450 und die funktionellen Blocks zurückzusetzen, wenn seine Aktivität herunter geht.
  • Zwischen der Speicher I/O Schnittstelle 612 und den Pufferspeicher I/O Schnittstellen 600A-600B ist die Kernlogik des Puffers 450. Die Kernlogik des Puffers 450 wird verwendet, um Daten aus den Speichereinrichtungen auszulesen und sie als lokale Daten über die nördliche Datenschnittstelle 600B auszuleiten. Zusätzlich wird jede andere Antwort von einem Speichermodul durch den Pufferspeicher aus und in den seriellen nördlichen Datenstrom über die nördliche Datenschnittstelle 600B geleitet. Die Kernlogik des Puffers 450 wird auch verwendet, um Daten in die Speichereinrichtungen zu schreiben, die von der südlichen Datenschnittstelle 600A empfangen werden. Die Befehle zum Lesen und Schreiben von Daten werden von der südlichen Datenschnittstelle 600A empfangen. Wird auf die Speichereinrichtungen 452 eines bestimmten Speichermoduls 310 nicht zugegriffen, können serielle Daten am nördlichen Dateneingang 602 und dem südlichen Dateneingang 603 durch die Pufferspeicher I/O Schnittstellen 600A-600B auf den nördlichen Datenausgang 601 und den südlichen Datenausgang 604 weitergereicht werden. In dieser Weise werden Daten von anderen Zwischenspeichermodulen 310 durch die Speichersteuerung an der nördlichen Datenschnittstelle 600B weitergeleitet ohne durch die Kernlogik des Puffers 450 verarbeitet werden zu müssen. In ähnlicher Weise können Daten von der Speichersteuerung an ein anderes Speichermodul an der südlichen Datenschnittstelle 600A weitergeleitet werden, ohne von der Kernlogik des Puffers 450 verarbeitet werden zu müssen.
  • Die Kernlogik des Puffers 450 weist funktionelle Blocks zum Lesen von Daten und Schreiben von Daten von/in die Speichereinrichtungen 452 auf. Die Kernlogik des Puffers 450 weist eine Phase Lock Schleife (Phase Lock Loop; PLL) 613, einen Daten CRC Generator 614, einen Lese FIFO Pufferspeicher 6633, einen 5 in 1 Bus Multiplexer 616, einen sync und leeres Muster Generator 618, einen NB LAI Pufferspeicher 620, einen Integrated Built In Self-Tester für die Verbindung (IBIST) 622B, ein Verbindungsinitialisierungs SM und Steuer und Einrichtungsstatusregister (configuration status register; CSRs) 627B, eine Resetsteuerung 625, eine Kernsteuerung und Einrichtungsstatusregister (CSR) Block 627, einen LAI Steuerungsblock 628, eine SMbus Steuerung 629, einen externen MEMBIST Speicherkalibrierungsblock 630 und einen Fehlerblock 646B auf, die wie in 6 gezeigt miteinander verbunden sind. Die Kernlogik des Puffers 450 kann weiter einen Befehlsdecodierer und einen CRC Überprüfungsblock 626, einen Idle Built In Self Tester (IBIST) Block 622A, einen Verbindungsinitialisierungs SM und Steuerung und CSR Block 624A, eine Speicherzustandsteuerung und CSRs 632, einen Datenschreib FIFO Pufferspeicher 634, einen 4 in 1 Bus Multiplexer 635, einen 4 in 1 Bus Multiplexer 636, einen 3 in 1 Bus Multiplexer 637, einen LAI Lo gikblock 638, einen Initialisierungsmusterblock 640, einen 2 in 1 Bus Multiplexer 642 und einen Fehlerblock 646A aufweisen, die wie in 6 gezeigt, miteinander verbunden sind.
  • Ein Multiplexer weist wenigstens zwei Dateneingänge, einen Ausgang und wenigstens einen Steuer oder Auswahleingang zum Auswählen des Dateneingangs auf, der am Ausgang des Multiplexers bereitgestellt ist. Für einen Zweieingangsmultiplexer wird ein Steuer- oder Auswahleingang verwendet, um die Daten auszuwählen, die vom Multiplexer ausgegeben werden. Ein Busmultiplexer empfängt eine Mehrzahl von Bits an jedem Dateneingang und hat einen Ausgang mit einer Mehrzahl von Bits. Ein 2 in 1 Bus Multiplexer hat zwei Busse als Dateneingang und einen einzelnen Busausgang. Ein 3 in 1 Bus Multiplexer hat drei Busse als Dateneingang und einen einzelnen Busausgang. Ein 4 in 1 Bus Multiplexer hat vier Busse als Dateneingang und einen einzelnen Busausgang.
  • Innerhalb des Pufferspeichers 454 weist jeder der Pufferspeicher I/O Schnittstellen 600A-600B einen FIFO Pufferspeicher 651, eine Daten-Mergelogik 650, einen Sender 652, einen Empfänger 654, einen Resynchronisierungsblock 653 und einen Demultiplexer/Seriell-Parallel-Wandlerblock 650 auf. Daten können jede der PufferI/O Schnittstellen 600A-600B über einen Resynchronisierungspfad 661 oder einem re-sample Pfad 662 ohne sich mit der Kernlogik zu verbinden, durchlaufen. Durch die Ausgestaltungen der Erfindung können lokale Daten, die dem Pufferspeicher 450 zugeordnet sind, in den seriellen Datenstrom zum Überschreiben eines freien Frames einfließen, ohne dass die Kernlogik einen seriellen Datenstrom empfangen und bestimmen muss, an welchem Ort die leeren Frames darin angeordnet sind.
  • Der Multiplexer 616 wählt aus, welche Daten in Richtung des FIFO Puffers 651 der nördlichen Pufferspeicher I/O Schnittstelle 600B geleitet werden zum Ausleiten als lokale Daten an den seriellen Bahnen der nördlichen Datenausgabe 601. Prinzipiell kann der Multiplexer 616 den Status oder andere Steuerinformation von der Kernsteuerung und dem CSR Block 627 auswählen, Daten vom Lese FIFO Pufferspeicher 633 lesen, Daten mit beigefügten CRC Daten vom CRC Generator 614, Synchronisation oder freie Muster vom Mustergenerator 618, Lesen oder Musterdaten vom IBIST Block 622B überprüfen.
  • Der Multiplexer 642 wählt aus, welche Daten in Richtung des FIFO Puffers 651 der südlichen Pufferspeicher I/O Schnittstelle 600A geleitet werden zum Ausleiten an den seriellen Bahnen des südlichen Datenausgangs 604. Allgemein kann der Multiplexer 642 Initialisierungsmuster von dem Initialisierungsmusterblock 640 auswählen oder Musterdaten vom IBIST Block 642A überprüfen.
  • Bezugnehmend auf 7A ist ein Blockdiagramm der Datenverbindungslogik 650 dargestellt, die an den Sender 652 angeschlossen ist. Der Sender 652 ist aus N Bahnen der Sender 752A-752n gebildet. Wie vorher genannt ist die Anzahl von Bahnen in einem Ausführungsbeispiel der Erfindung zehn. In einem anderen Ausführungsbeispiel der Erfindung ist die Zahl der Bahnen vierzehn. In der Daten-Mergelogik 650 ist ein Daten-Mergelogikabschnitt 700A-700n für jede der N Bahnen.
  • Ein paralleler lokaler Datenbus 660 vom First-In-First-Out (FIFO) Pufferspeicher 651 schließt sich an jeden Datenverbindungslogikabschnitt 700A-700n an. Die Bahnen der seriellen Daten des re-synch Bus 661 verbinden sich mit jedem Datenverbindungslogikabschnitt 700A-700n. Die Bitbreite des re-synch Bus 661 beträgt das Zweifache der Zahl an Bahnen. Zwei Bits jeder Bahn des re-synch Bus 661 sind an jeden Datenverbindungslogikabschnitt 700A-700N angeschlossen. Die Bahnen von seriellen Daten des re-sample Bus 662 sind an jeden Datenverbindungslogikabschnitt 700A-700n angeschlossen. Die Bitbreite des re-sample Bus 662 ist das Zweifache der Anzahl von Bahnen. Zwei Bits jeder Bahn des re-sample Bus 662 ist an jeden Datenverbindungslogikabschnitt 700A-700N. angeschlossen
  • Sowohl der re-sample Bus 662, als auch der re-synch Bus 661 übertragen einen Zwei-Bit seriellen Datenstrom für jede Bahn in einen Daten-Mergelogikabschnitt 700A-700N. Im Gegensatz dazu verbindet der parallele Datenbus 660 sechs oder zwölf Bits für jede Bahn in jeden Daten-Mergelogikabschnitt 700A-700N. Die Bitbreite des parallelen lokalen Datenbusses 660 ist zwölffach größer als die Anzahl von Bahnen. Jedoch sind in einem sechs Bit Modus nur sechs Bits der zwölf pro Bahn aktiv. Der Ausgang eines jeden Daten-Mergelogikabschnitts 700A-700N ist ein Zwei Bit serieller Datenstrom, der jeweils an die seriellen Sender 752A-752N angeschlossen ist. Jeder serielle Sender 752 wandelt zwei parallele Bits der seriellen Daten in einen Single Bit seriellen Datenstrom an der Spur 601A-601N des nördlichen Datenausgangs (NBDO) 604 oder der Bahn 604A-604N des südlichen Datenausgangs (SBDO) 601, wie in 7A gezeigt, um.
  • Bezugnehmend auf 7B ist ein schematisches Diagramm eines Daten-Mergelogikabschnitts 700i dargestellt, der an einen Sender 752i angebunden ist. Der Daten-Mergelogikabschnitt 700i stellt einen der Daten-Mergelogikabschnitte 700A-700n für jede der N Bahnen, die in 7A dargestellt sind, dar. Der Sender 752i stellt einen der Sender 752A-752n für jede der in 7A dargestellten N Bahnen dar.
  • Jeder der Daten-Mergelogikabschnitte 700i kann in einem von zwei Bit Breitenmoden arbeiten, einem vollständigen Framemodus von zwölf Bit Breite (auch als 12 Bit Modus bezeichnet) oder einem Halbframemodus von sechs Bit Breite (auch als 6 Bit Modus bezeichnet). Ein Modussteuerungssignal (6Bit_Modus) 722 zeigt an und steuert welche der zwei Bit Breiten Moden der Daten-Mergelogikabschnitt 700i mit der Kernlogik funktioniert.
  • Im vollständigen Framemodus oder Zwölf Bit Modus verwendet die Kernlogik einen vollständigen Frame von zwölf Bits, um über den Bus 660i mit dem Daten-Mergelogikabschnitt 700i zu kommunizieren. Die unteren sechs Bits des Bus 660i werden durch den Daten [5:0] Bus 726 dargestellt, während die oberen sechs Bits des Bus 660i durch einen verzögerten Daten [5:0] Bus 727 dargestellt werden. Die zwölf Bits der lokalen Daten (Daten [5:0] und verzögerte Daten [5:0]), die in den seriellen Datenstrom gespeist und übertragen werden sollen, werden in einen unteren Parallel-In-Serial-Output (PISO) Wandler 708B und einen oberen Parallel-In-Serial-Output (PISO) Wandler 708A am Anfang von dem Frame durchein „Early_Load_Puls" Steuersignal 720 eingeklinkt.
  • Der untere Parallel-In-Serial-Output (PISO) Wandler 708B und der obere Parallel-In-Serial-Output (PISO) Wandler 708A sind Parallel-In-Serial-Output (PISO) Shiftregister und können auch als solche hier bezeichnet sein. Jeder der PISO Wandler 708A, 708B, auch als PISO Shiftregister 708A, 708B bezeichnet, hat einen parallelen Dateneingang, einen Zeitsignaleingang, einen Load/Shift-Bar Eingang, einen seriellen Eingang (SIN) und einen seriellen Ausgang (SO). Der serielle Ausgang des oberen PISO Shiftregisters 708A ist an den seriellen Eingang des unteren PISO Shiftregisters 708B angeschlossen, um das Serialisieren der zwölf parallelen Bits des lokalen Datenbusses 660i zu unterstützen. Der serielle Eingang des oberen PISO Shiftregisters 708A kann an ein logisches Tief (z. B., Erde) in einer Ausgestaltung der Erfindung oder ein logisches Hoch (z. B., VDD) in einer anderen Ausgestaltung der Erfindung angeschlossen sein. Der serielle Ausgang (SOUT) der PISO Shiftregister 708A-708B ist zwei Bits zur Zeit in einer Ausgestaltung der Erfindung. In einer anderen Ausgestaltung der Erfindung kann der serielle Ausgang (SOUT) des PISO Shiftregisters 708A-708B ein Bit zur Zeit sein.
  • Im Zwölf Bit Modus sind sechs Bit von Bus 726 an den parallelen Dateneingang (PIN) des unteren PISO Shiftregisters 708B angeschlossen, während die sechs Bits des Bus 727 an den parallelen Dateneingang (PIN) des oberen PISO Shiftregisters 708A angeschlossen sind. Diese zwölf Bits sind in jedes PISO Shiftregister geladen, während des frühen Ladepulses (early load pulse) 720 mit dem Modussteuersignal 722, das einen Zwölf Bit Bus Modus anzeigt (z. B., Modussteuersignal 722 zeigt den Zwölf Bit Modus durch eine logische Tiefebene und einen Sechs Bit Modus durch eine logische hohe Ebene in einer Ausgestaltung der Erfindung an). Im Zwölf Bit Modus setzt der freie Eingang am D-Typ Flip-Flop 706A den Q Ausgang des D-Typ Flip-Flop 706A hoch auf eine logische Null, so dass der Steuereingang an den Multiplexer 703 den Bus 726 als Ausgang an den Bus 728 wählt.
  • Im Halbframemodus oder Sechs Bit Modus verwendet die Kernlogik einen halben Frame von Sechs Bits zum Kommunizieren von Daten über den Bus 660i mit dem Daten-Mergelogikabschnitt 700i zu einer Zeit. Die Kernlogik sendet sechs Bits von Daten zu einer Zeit oder frühe Daten (Data [5:0] 726) und späte Daten (Delayed_data [5:0]), die um die Hälfte eines Frames versetzt sind. Im Halbframemodus wird nur das untere PISO Shiftregister 708B des Datenverbindungslogikabschnitts 700i zum Einreihen von Daten in den seriellen Datenstrom zur Übertragung verwendet.
  • Im Sechs Bit Modus verbindet der Multiplexer 703 die sechs Bits von Bus 726 mit dem parallelen Dateneingang (PIN) des unteren PISO Shiftregisters 708B während des fürhen Ladepulses 720 und die sechs Bits von Bus 727 mit dem parallelen Dateneingang (PIN) des unteren PISO Shiftregisters 708B während des späten Ladepulses 721. Die sechs Bits von Bus 726 werden in das PISO Shiftregister 708B während des späten Ladepulses 721 mit dem Modussteuersignal 722, das einen Sechs Bit Modus anzeigt, geladen. Die sechs Bits von Bus 727 werden in das PISO Shiftregister 708B während des frühen Ladepulses 720 mit dem Modussteuersignal 722, das einen Sechs Bit Bus Modus anzeigt, geladen.
  • Der Datenverbindungsabschnitt 700i weist eine Datenpfadlogik und eine Steuerlogik 701i auf. Die Datenpfadlogik lässt die lokalen Daten und die durchgeleiteten Daten in den seriellen Bitstrom selektiv einfließen. Die Steuerlogik 701i steuert die Datenpfadlogik in jedem Daten-Mergesabschnitt, um das Einfügen von lokalen Daten und durchgeleiteten Daten in den reellen Bitstrom geeignet zusynchronisieren.
  • Die Steuerlogik 701i mit der Zustandsteuerungslogik und der Mergesteuerungslogik weist drei einzelne Bits zwei zu eins Multiplexer 702A-702C, Set/Reset D Flip-Flops 706A-706B, ein ODER Gatter 710, ein UND Gatter 711 und einen Invertierer 712 auf, die wie in 7 dargestellt und gezeigt miteinander verbunden sind. Die durch die Steuerungslogik 701i erzeugten Signale sind an die Datenpfadlogik angeschlossen. Die Multiplexer 702A-702B der D-Typ Flip-Flop 706A, das ODER Gatter 710, das UND Gatter 711 und der Invertierer 712 liefern die Modussteuerungslogik. Der Multiplexer 702C und der D-Typ Flip-Flop 706B liefern die Mergesteuerungslogik.
  • Die Datenpfadlogik weist einen Sechs Bit zwei zu eins Bus Multiplexer 703, zwei Bit 2 zu 1 Bus Multiplexer 704-705 und ein Paar von sechs Bit In/zwei Bit Out Parallel In Serial Out (PISO) Wandlern 708A-708B, die miteinander wie in 7B gezeigt und dargestellt verbunden sind.
  • Jeder Abschnitt 700i der Daten-Mergelogik 650 kann eine Zwei Bit serielle Spur von re-synch Daten 661i, eine Zwei Bit serielle Spur von re-sample Daten 662i und eine Zwölf Bit parallele Spur von lokalen Daten 660i empfangen. Die parallele Spur von lokalen Daten 660i stammt von der Kernlogik des Puffers 450 und kann verschiedene Arten von Daten sein. Beispielsweise können die lokalen Daten 660i von Speichereinrichtungen 452 eingelesene Daten, Cyclic Redundancy Check (CRC) Daten, Testdaten, Statusdaten oder jede andere Daten sein, die empfangen, übertragen oder von der Kernlogik des Puffers erzeugt werden können.
  • Die Zwei Bit Bahn der re-sync Daten 661i und die Zwei Bit Spur von re-sample Daten 662i haben keinen Kontakt mit der Kernlogik des bestimmten Puffers 450 und sind in durchgeleitete Daten (auch als „durchgeleitete Daten" bezeichnet) 725 durch den Multiplexer 505 als Antwort auf ein lokales Zeitgebermodus 736 gemultiplext. Arbeitet der Pufferspeicher 450 im lokalen Zeitgebermodus, werden die re-synch Daten auf die durchgeleiteten Daten 725 ge multiplext. Wenn der Pufferspeicher 450 nicht im lokalen Zeitgebermodus arbeitet, werden die re-sample Daten 662 auf die durchgeleiteten Daten 725 gemultiplext. In einem lokalen Zeitgebermodus wird ein Phase Locked Loop (PLL) Zeitgebergenerator verwendet, um ein lokales Zeitgebersignal im Pufferspeicher zu erzeugen, das verwendet wird, um den eingehenden seriellen Datenstrom zum Erzeugen der re-synch Daten zu resynchronisieren. Wenn nicht im lokalen Zeitgebermodus, wird ein empfangenes Zeitsignal von den Datenframes im empfangenen seriellen Datenstrom erzeugt und damit synchronisiert, das verwendet wird, um den seriellen Eingangs-Datenstrom abzutasten, um die re-sample Daten zu erzeugen. Das Clock2UI Signal 723 wird zwischen dem lokal erzeugten Zeitgebersignal und dem empfangenen Zeitgebersignal als Antwort auf das lokale Zeitgebermodussignal 736 umgeschaltet. Die Quelle der durchgeleiteten Daten 725 kann vom Pufferspeicher 450 eines anderen Speichermoduls 310 auf der nördlichen (NB) Seite sein (ebenso bezeichnet als weitergeleitete nördliche Daten); oder vom Pufferspeicher 450 von einem anderen Speichermodul 310 auf der südlichen (SB) Seite (auch als weitergeleitete südliche Daten bezeichnet) oder alternativ von der Speichersteuerung 302 an der südlichen (SB) Seite.
  • Der 2 zu 1 Bus Multiplexer 704 empfängt die zwei Bits von seriellen durchgeleiteten Daten 725 als ersten Eingang, einen Zwei Bit seriellen Ausgang vom 6-2 PISO Shiftregister 708B als einen zweiten Eingang und ein lokales Datenauswahlsignal (PISO_SEL) 732 als sein Steuereingang. Der Zwei Bit serielle Ausgang 735 vom 6-2 PISO Shiftregister 708B ist zwei realisierte Bits von Lokaldaten 735 vom parallelen Datenbus 660i. Daher wählt der Multiplexer 704 als Antwort auf das lokale Datenauswahlsignal (PISO_SEL) 732 entweder die Ausgabe von zwei Bits von durchgeleiteten Daten 725 oder zwei Bits von serialisierten lokalen Daten 735 vom parallelen Datenbus 660i, die durch das 6-2 PISO Shiftregister 708B erzeugt wurden. Die Zwei Bit Ausgabe 735 vom Multiplexer 704 ist an den Sender 752 angeschlossen und weiter in ein einzelnes Bit an der Spur NBDOi/SBDOi 601i, 604i serialisiert. In dieser Weise können lokale Daten von der Kernlogik mit durchgeleiteten Daten gemultiplext und in eine Spur des seriellen Bitstroms an NBDOi/SBDOi 601i, 604i eingespeist werden.
  • Das lokale Datenauswahlsignal (PISO_SEL) 632, das das Einspeisen von Daten in den seriellen Bitstrom steuert, ist durch den D Flip-Flop 706B erzeugt. In Antwort auf ein Merge-Aktivierungssignal 420 erzeugt der D Flip-Flop 706B das lokale Datenauswahlsignal (PISO_SEL) 732 an der ansteigenden Flanke des Zeitgebersignals Clock_2UI 723. Das Merge- Aktivierungssignal 724 ist an einen ersten Eingang des Multiplexers 702C angeschlossen. Das lokale Datenauswahlsignal (PISO_SEL) 732 ist rückgekoppelt und an einen zweiten Eingang des Multiplexers 702C angeschlossen. Der Ausgang von Multiplexer 702C ist an den D Eingang des D Flip-Flops 706B angeschlossen. Ein frühes Ladepuls (EARLY_LOAD_PULSE) Signal 720 ist an den Auswahlsteuereingang des Multiplexers 702C angeschlossen. Wenn der frühe Ladepuls 720 hoch ist, wird das Merge-Aktivierungssignal 724 vom Multiplexer 702C ausgeleitet und mit dem D Eingang des D Flip-Flops 706B verbunden. Wenn der frühe Ladepuls 720 niedrig ist, wird das lokale Datenauswahlsignal (PISO_SEL) 732 durch den Multiplexer 702C rückgekoppelt und an den D Eingang des D Flip-Flops 706B angeschlossen, um den aktuellen Zustand des lokalen Datenauswahlsignals (PISO_SEL) 732 zu bewahren. Während der frühe Ladepuls 720 periodisch getaktet ist, wenn das Merge-Aktivierungssignal 724 niedrig ist, gibt es den D Flip-Flop 706B frei, so dass sein Q Ausgang ein logisches Signal auf niedriger Ebene ist, das das Einfügen von Daten zu geeigneter Zeit beendet.
  • Das Merge-Aktivierungssignal 724 ist in das lokale Datenauswahlsignal (PISO_SEL) 732 am Rand des Zeitgebersignals Clock_2UI 723 synchronisiert. Wenn das Merge-Aktivierungssignal 724 während des frühen Ladepulses 720 abgetastet wird, um das lokale Datenauswahlsignal (PISO_SEL) 732 zu erzeugen, wird der Multiplexer 704 auf Framegrenzen umgeschaltet (12 Bits von Daten pro Spur in einem Frame). Wenn das Merge-Aktivierungssignal 724 an der aufsteigenden Flanke des Zeitgebersignals Clock_2UI 723 hoch ist, geht das lokale Datenauswahlsignal (PISO_SEL) 732 hoch, um den Multiplexer 704 zu steuern, um die zwei realisierten Bits von lokalen Daten 735 als seinen Zwei Bit Ausgang 730 auszuwählen. Wenn das Merge-Aktivierungssignal 724 an der steigenden Flanke des Zeitgebersignals Clock_2UI 723 niedrig ist, verbleibt das lokale Datenauswahlsignal (PISO_SEL) 732 niedrig, um den Multiplexer 704 zu steuern, die zwei durchgeleiteten Bits von Daten 725 als seinen Zwei Bit Ausgang 730 auszuwählen.
  • Als Antwort auf das lokale Datenauswahlsignal (PISO_SEL) 732 als ein logisches Hoch, werden die zwei seriellen Bits im parallelen Datenbus 660i in die Spuren NBDOi/SBDOi 601i, 604i eingespeist. Als Antwort auf das lokale Datenauswahlsignal (PISO_SEL) 732 als logisches Tief, werden die zwei Bits von durchgeleiteten Daten 724 vom Multiplexer 704 ausgewählt, um auf der Bahn NBDOIi/SBDOi 601I, 604i ausgegeben zu werden.
  • Da das lokale Datenauswahlsignal (PISO_SEL) 732 auf das Merge-Aktivierungssignal 724 reagiert, ermöglicht das Erzeugen des Merge-Aktivierungssignals 724 den parallelen Daten von Bus 660i in den seriellen Datenstrom der Spur NBDOi/SBDOi 601i, 604i eingespeist zu werden. Das Merge-Aktivierungssignal 624 wird durch die Verbindungssteuerungslogik (im Verbindungsinitialisierungs SM und Steuerung und CSR funktionalen Block 624B, der in 6 dargestellt ist) frühzeitig erzeugt, um lokalen Daten zu ermöglichen, in den seriellen Datenstrom zu geeigneter Zeit einzufließen.
  • Sich kurzzeitig auf 5 beziehend, wird die zeitliche Anpassung des Merge-Aktivierungssignals für jedes Speichermodul 310 während der Initialisiserung und des Trainingssysems etabliert. Beachte, dass das Merge-Aktivierungssignal für das letzte Speichermodul 310n in einer Bank 304 eher ein Datenübertragungssignal ist, da keine weiteren Speichermodule in der Kette sind, die in der nördlichen Datenverbindung Daten erzeugen.
  • Bezugnehmend auf 10 ist ein Flussdiagramm für die Initialisierung, das Training und das Ausführen der Pufferspeicher im Zusammenführen von lokalen Daten und durchgeleiteten Daten in einen seriellen Datenstromausgang dargestellt. Das Flussdiagramm beginnt bei Block 1000.
  • Bei Block 1002 wird der Pufferspeicher in jedem Speichermodul einer jeden Speicherbank initialisiert. Während der Initialisierung einer Speicherbank hat jedes Speichermodul eine initialisierte südliche und nördliche serielle Datenverbindung (kann auch als Teil des Verbindungstrainings bezeichnet werden). Die Speichersteuerung 302 sendet ein Initialisierungsmuster an die südliche (SB) Datenverbindung SB1-SBn. Während der Initialisierung empfängt der Pufferspeicher 450n im letzten Speichermodul 310n das Initialisierungsmuster an der südlichen Datenverbindung SBn und überträgt es zurück an der nördlichen (NB) Datenverbindung NB1-NBn durch andere Speichermodule zurück zur Speichersteuerung 302. Da jeder Pufferspeicher seinen eigenen Taktgeber hat, wird das Initialisierungsmuster, das an der nördlichen (NB) Datenverbindung NB1-NBn vom Pufferspeicher empfangen ist für Bit Locking und Frameanpassungszwecke in jeder Spur von seriellen Daten verwendet. Der Zeitgeber im Pufferspeicher kann mit dem Initialisierungsmuster synchronisiert werden. Der zeitliche Ablauf der Logik kann an dem Initialisierungsmuster ausgerichtet werden, um Datenpakete im seriellen Datenstrom zu empfangen wie auch einen Kopf von einem Datenframe und jede Fehlerberichtigung/Erkennung oder andere Datenfelder innerhalb eines Pakets zu analysieren. Die Erzeugung des Early_Ld_Pulses 720 wird zusammenfallend mit dem Beginn der von einem bestimmten Speichermodul empfangenen Datenframes gesetzt. Die Erzeugung des Late_LD_Pulses 721 wird an einer Halbframegrenze der Datenframes, die von einem bestimmten Speichermodul empfangen werden, gesetzt.
  • Als nächstes wird bei Block 1004 jeder Pufferspeicher in jedem Speichermodul von jeder Speicherbank trainiert. Nachdem das Initialisierungsmuster ausgesendet wurde, sendet die Speichersteuerung 302 während des Trainings ein Trainingsmuster zum letzten Speichermodul 310n in einer bestimmten Bank 304 aus. Während des Trainings empfängt der Pufferspeicher 450n im letzten Speichermodul 310n das Trainingsmuster an der südlichen Datenverbindung SBn und sendet es zurück an der nördlichen (NB) Datenverbindung NB1-NBn durch andere Speichermodule zurück zur Speichersteuerung 302. Jedes Speichermodul beobachtet eines der Trainingsmuster an der südlichen (SB) Datenverbindung und bestimmt die Anzahl von Zeit oder Taktzyklen, um zum selben Speichermodul an der nördlichen (NB) Datenverbindung zurückzukehren. Eine Rückkehrzeit (roundtrip timing) wird bestimmt für eine bestimmte Position von jedem Speichermodul.
  • Vorausgesetzt, dass die Anfragen nicht übermäßig zusammengebündelt sind, stellt die Rückkehrzeit einen Zeitpunkt dar, in der es für ein bestimmtes Speichermodul sicher ist, Daten in die nördliche Datenverbindung einzuspeisen, ohne mit validen Daten anderer Speichermodule zu kollidieren. Bei einem bestimmten Speichermodul wird erwartet, dass ein freies Datenpaket zu diesem Zeitpunkt an der nördlichen Datenverbindung empfangen wird nachdem ein Speicheranfragebefehl an der südlichen Datenverbindung erkannt wird. Zu diesem Zeitpunkt kann das freie Datenpaket durch ein lokales Datenpaket ersetzt werden. Die Rückkehrzeit und der Befehl für die Datenverzögerungszeit für ein bestimmtes Speichermodul sind die Basis zum Setzen des zeitlichen Ablaufs des Merge-Aktivierungssignals, das verwendet wird, um lokale Daten in die nördliche Datenverbindung einzuspeisen. Wenn die Rückkehrzeit lang ist, können Daten im Voraus abgefangen und in einem FIFO Pufferspeicher angeordnet werden, der auf den richtigen Moment wartet, um in den nördlichen Datenstrom einzuspeisen. Die Entfernung zwischen Lese und Schreibe FIFO Pufferspeicher Punkten in der nördlichen Schnittstelle des Puffers können basieren auf der Rückkehrzeit gesetzt werden.
  • Die Rückkehrzeit kann als eine Funktion einer ganzen Zahl von Perioden der Bitratentaktrate, Clock_2UI 723, bestimmt werden. Die Anzahl von Speichermodulen in einem Kanal und der Befehl für Datenverzögerung von dem letzten Speichermodul im Kanal bestimmen die Rückkehrzeit für diesen Kanal. Ein Befehl zur Datenverzögerung für jedes Speichermodul kann weiter bestimmt werden, um die zeitliche Abfolge des Merge-Aktivierungssignals in dem Speichermodul etablieren zu helfen. Der Befehl zur Datenverzögerungsabfolge kann ein oder mehreren der folgenden Zeitperioden aufweisen: die Zeit für einen Befehl, um von der südlichen IO Schnittstelle 600A zur Speicher IO Schnittstelle 612 übertragen zu werden, die Zeit für den Befehl, um von der Speicher IO Schnittstelle 612 an die Speichereinrichtungen 452 übertragen zu werden; Unterschiede in der Zeitgeberabfolge für die Speicher IO Schnittstelle 612 und die Speichereinrichtungen 452, Routingverzögerungen in den Zeitgebersignalen und Befehlssignalen an die Speichereinrichtung 452; jede set-up/Haltezeiten für die Pufferspeicher 450 und die Speichereinrichtungen 452, die Leselatenz in den Speichereinrichtungen 452 (z. B. CAS timing and jegliche zusätzliche Latenz); Routingverzögerungen in den Datensignalen und Abtastsignalen von den Speichereinrichtungen 452 an den Pufferspeicher 450, Datenverzögerungsversatz zwischen Speichereinrichtungen; Verzögerungen durch die Speicher IO Schnittstelle 612, jegliche set-up/Haltezeiten für die Pufferspeicher 450 und die Speichereinrichtungen 452; und Zeiten für Daten, die von der Speicher IO Schnittstelle 612 an die nördliche IO Schnittstelle 600B übertragen werden (dieses kann das Puffern und Abgleichen von Verzögerungen von Daten innerhalb des Puffers 450 beinhalten). Der Befehl zur Datenverzögerungssteuerung kann als eine Anzahl von mehreren Frames oder einem Bruchteil davon bestimmt werden mit einer Granularität der Verzögerungszeit als eine Funktion einer ganzen Zahl von Perioden (Bit Zeiten wie etwa Frame/12 oder Clock_2UI/2) einer Bitratentaktrate. Der Befehl zur Datenverzögerungssteuerung eines Speichermoduls, wie etwa dem letzten Speichermodul 310n kann durch einen Registerwert programmatisch erhöht werden, wenn zusätzliche Verzögerungszeit erwünscht ist.
  • Nach der Initialisierung und dem Training ist jeder Pufferspeicher als nächstes an Block 1006 bereit, einen eingehenden seriellen Datenstrom von einem seriellen Dateneingang zu empfangen. Jedoch überträgt der Pufferspeicher im letzten Speichermodul 310n in der Speicherbank 304 entweder freie Pakete oder liest angeforderte Datenpakete an der nördlichen Datenverbindung in Richtung der Speichersteuerung 302. Andernfalls wird ein eingehender serieller Datenstrom empfangen, der den durchgeleiteten Datenframes, die zwischen den freien Datenframes eingestreut sind, entspricht.
  • Als nächstes wird an Block 1008 eine Bestimmung mit Hinblick auf die Verfügbarkeit von lokalen Daten vorgenommen. Wenn lokale Daten zum Einfügen in den seriellen Datenstrom vorhanden sind, springt der Steuerungsfluss zu Block 1010. Wenn keine Daten zum Einfließen in den seriellen Datenstrom vorhanden sind, springt der Steuerungsfluss zu Block 1014.
  • Bei Block 1014 mit keinen lokalen Daten zum Einfließen, werden die durchgeleiteten Daten an den seriellen Datenausgang übertragen. Die durchgeleiteten Daten können ihre Datenbits im eingehenden seriellen Datenstrom wiederholt abgetastet (re-sampled) haben. Alternativ können die durchgeleiteten Daten ihre Datenbits in dem eingehenden seriellen Datenstrom re-synchronisiert haben. Dann springt der Steuerungsfluss zurück zu Block 1006, um den seriellen Datenstrom kontinuierlich zu empfangen.
  • Bei Block 1010 mit lokalen Daten zum Einfließen, ersetzen die Frames der lokalen Daten die durchgeleiteten Daten im ausgehenden seriellen Datenstrom. Das bedeutet, wenn lokale Daten von einem Pufferspeicher gesendet werden müssen, dass Datenframes in eingehendem seriellen Datenstrom fallengelassen und Frames von lokalen Daten anstelle dessen in Antwort auf das Merge-Aktivierungssignal gesendet werden. Die Frames der lokalen Daten und die durchgeleiteten Daten werden zusammen durch Serialisieren paralleler Bits von den lokalen Datenframes in serielle Datenbits und darauffolgendes Multiplexing der seriellen Datenbits der lokalen Datenframes und der seriellen Bits der durchgeleiteten Datenframes in serielle Bits des ausgangsseriellen Datenstroms in Antwort auf das Merge-Aktivierungssignal serialisiert. Während der Serialisierung und des Trainings stellt die Host und Speichersteuerung sicher, dass freie Datenframes im seriellen Eingangs- Datenstrom durch lokale Datenframes ersetzt werden. Der Pufferspeicher muss nicht überprüft werden, wenn der eingehende Frame im seriellen Eingangs-Datenstrom, der ersetzt wird, ein freier Datenframe ist oder nicht.
  • Bei Block 1012 wird der serielle Ausgangs-Datenstrom, einschließlich der eingefügten Daten, an den seriellen Datenausgang an das nächste Speichermodul höher in der Kette oder alternativ an die Speichersteuerung gesendet.
  • Als nächstes springt der Steuerungsvorgang zurück zu Block 1006, um den seriellen Eingangs-Datenstrom von dem seriellen Dateneingang kontinuierlich zu empfangen.
  • Wie vorher besprochen, können die lokalen Daten von der Kernlogik und dem Pufferspeicher 450 in sechs Bits, Stücken oder zwölf Bit Stücken zur selben Zeit ausgegeben werden. Das Zustandssteuerungssignal (6Bit_Modus) 722 bestimmt, ob der Daten-Mergelogikabschnitt 700i als Sechs Bit Modus (Halbframemodus) oder als Zwölf Bit Modus (Vollframemodus) arbeitet. Das Zustandssteuerungssignal (6Bit_Modus) 722 ist an die Auswahl oder den Steuereingang des Multiplexers 702A und den ersten Eingang des UND Gatters 711 und den Eingang des Inverterierers 712 gekoppelt.
  • Das frühe Ladepulssignal 720 steuert das Beladen der ersten sechs Bits am parallelen Datenbus 660i. Ein spätes Ladepulssignal 721 steuert das Beladen der zweiten sechs Bits am parallelen Datenbus 660i. Ein später Ladepuls 721 ist in einen ersten Eingang des ODER Gatters 710 gekoppelt. Das frühe Ladepulssteuersignal 720 ist in den ersten Eingang des Multiplexers 702B, den zweiten Eingang des ODER Gatters 710, den ersten Eingang des Multiplexersignals 702A, einen Load/Shift-Bar Eingang des 6-2 PISO Shiftregisters 708A und den Auswahleingang des Multiplexers 702C gekoppelt.
  • Das Zeitgebersignal Clock_UI 723 ist mit den Zeitgebereingängen des D Flip-Flops 706A-706B und den Zeitgebereingängen des 6_2PISO Shiftregisters 708A-708B gekoppelt. Der Ausgang des Multiplexers 702A ist mit dem Load/Shift-Bar Eingang des 6-2 PISO Shiftregisters 708B verbunden.
  • Der parallele Eingang des 6-2 PISO Shiftregisters 708A ist an den Sechs Bit verzögerten Datenbus 727 angeschlossen. Der serielle Zwei Bit Ausgang des 6-2 PISO Shiftregisters 708A ist an den serielle Zwei Bit Eingang des 6-2 PISO Shiftregisters 708B angeschlossen. Der parallele Eingang des 6-2 PISO Shiftregisters 708B ist an den Sechs Bit Ausgang vom Multiplexer 703 angeschlossen. In dieser Weise können zwölf Datenbits, wenn ein Datenverbindungslogikabschnitt 700i in einem Zwölf Bit Modus ist, in das 6-2 PISO Shiftregister 708A-708B geladen werden und dann seriell vom 2 Bit seriellen Ausgang 708B durch den Multiplexer 704 verschoben werden und mit dem Sender 752i verbunden werden.
  • Der serielle Sender 752i ist doppelt durch ein Zeitgebersignal getaktet, um die zwei parallelen Bitsätze als seine Ausgabe 601i, 604i in serielle Einzelbits zu wandeln.
  • Der Datenverbindungslogikabschnitt 700i ist in einem 12 Bit Modus, wenn das 6Bit_Modus Kontrollsignal 722 ein logisches Tief ist. Der Datenverbindungslogikabschnitt 700i ist in einem 6 Bit Modus, wenn das 6 Bit Modus Steuersignal 722 ein logisches Hoch ist. Die Steuerlogik 710 bzw. 712 in Verbindung mit dem Multiplexer 702B und dem D Flip-Flop 706A erzeugen ein Datenbusauswahlsignal (Data_Sel) 729, das mit dem Auswahleingang des Multiplexers 703 verbunden ist, um einen 12 Bit Modus oder einen 6 Bit Modus als Antwort auf das 6 Bit Modus Steuersignal 722 herzustellen. Wenn das Datenbusauswahlsignal 729 ein logisches Tief ist, werden 12 Datenbits parallel in die 6-2 PISO Shiftregister 708A, 708B geladen. Wenn das Datenbusauswahlsignal 729 ein logisches Hoch ist, werden 6 Bits des Datenbusses 729 mit dem 6-2 PISO Shiftregister 708B verbunden.
  • In einem 6 Bit Modus können entweder das frühe Ladepulssignal 720 oder der späte Ladepuls 721 Daten parallel in das 6-2 PISO Shiftregister 708B laden. Sowohl im 6 Bit als auch im 12 Bit Modus wird der frühe Ladepuls 720 nur zum parallelen Laden von Daten vom Datenbus 727 in das 6-2 PISO Shiftregister 708A verwendet.
  • Der serielle Eingang des 6-2 PISO Shiftregisters 708A ist mit Erde gekoppelt, so dass nur Nullen seriell hinter den zu übertragenden Daten verschoben werden. Alternativ kann der serielle Eingang des 6-2 PISO Shiftregisters 708A an VDD angeschlossen sein, so dass nur logische Einsen seriell hinter den zu sendenden Daten verschoben werden.
  • Der Q Ausgang des D Flip-Flops 706A ist an den zweiten Eingang des Multiplexers 702B derart angeschlossen, dass wenn der Ausgang des UND Gatters 711 eine logische Reihe ist, sich der Q Ausgang mit dem D Eingang des D Flip-Flops 706A verbindet, um den geladenen Logikstatus von dem Datenbusauswahlsignal (DATA_SEL) 729 zu behalten.
  • Nun bezugnehmend auf 8 ist ein Zeitablaufdiagramm von Wellenformen dargestellt, das den Daten-Mergelogikabschnitt 700i darstellt, der im 12 Bit Modus arbeitet. Das bedeutet, dass das 6 Bit Modussteuersignal 722 im Zeitablaufdiagramm von 8 ein logisches Tief ist.
  • In 8 ist das Clock_2UI Signal 723 durch die Wellenform 823 dargestellt. Das Kerntaktgebersignal 611 ist durch die Wellenform 811 dargestellt. Die unteren sechs Bits der Daten (MEM_DATA IN [5:0]) 690A am parallelen Datenbus 690 sind durch die Wellenform 890A dargestellt. Die oberen sechs Bits von Daten (MEM_DATA IN [111:6]) 690B am parallelen Datenbus 690 sind durch das Wellenformdiagramm 890B dargestellt. Die unteren sechs Bits von Daten (FBD_DATA [5:0]) 726 am parallelen Datenbus 760i sind durch das Wellenformdiagramm 826 dargestellt. Die oberen sechs Bits von Daten [FBD_DATA [11:6]) 727 am parallelen Datenbus 660i sind durch das Wellenformdiagramm 827 dargestellt. Das Merge-Aktivierungssteuerungssignal 724 ist durch das Wellenformdiagramm 824 dargestellt. Das frühe Ladepulssteuersignal 720 ist durch die Wellenform 820 dargestellt. Das späte Ladepulssteuersignal 721 ist durch die Wellenform 821 dargestellt. Das lokale Datenauswahlsteuersignal (PISO_SEL) 723 ist durch die Wellenform 832 dargestellt. Der Einzelbit serielle Ausgabedatenstrom MBDOi 601i ist durch die Wellenform 801 dargestellt.
  • Ohne dass irgendwelche lokale Daten in den nördlichen seriellen Datenstrom einfließen, reicht der Pufferspeicher 450 die empfangenen Bits am nördlichen Dateneingang 602 („weitergeleitete Daten" 725) an den Sender 752i in der Hochgeschwindigkeits-Taktraten-Domäne, wobei die Kernlogik des Puffers 450 umgangen wird. Das lokale Datenauswahlsteuersignal (PISO_SEL) 732 ist niedrig, wenn die durchgeleiteten Daten 725 in den Sender 752i, wie durch die Wellenform 832 dargestellt, gemultiplext werden.
  • Wie vorher beschrieben, ist der „Early_Ld_Pulse" 720 eingerichtet, um mit dem Beginn eines Frames (wie an der Verbindung zu erkennen) zusammenzufallen und der late_ld_pulse 721 ist eingerichtet, die halbe Framegrenze zu sein, während des anfänglichen Trainings einer Bahn von der seriellen Datenverbindung. Ein Datenframe ist eine logische Einheit von Daten über der Verbindung, wenn in einem vollständigen Frame-Betriebsmodus und besteht aus zwölf Datenbits in einer Ausgestaltung der Erfindung.
  • Im vollständigen Frame-Betriebsmodus sind zwölf Bits eines Frames in das PISO Shiftregister unter Verwendung des Early_Ld_Pulse Signals 720 geladen. Das „late_ld_pulse" Signal 721 wird nicht verwendet, um Bits in die PISO Shiftregister zu laden. Sowohl das obere als auch das untere PISO Shiftregister 708A-8708B werden in diesem Modus verwendet. Das Sechs Bit_Modus Steuersignal 722, das im Zwölf Bit Modus niedrig ist, bedingt das Data_Sel Signal 729 im Zwölf Bit Modus durch Beseitigen des Ausgangs des D Flip-Flops 706A niedrig zu sein. Mit dem niedrigen „Data_Sel" Signal 729 im Zwölf Bit Modus, sind die sechs unteren Datenbits (FBD_DATA [5:0] 726 von Bus 660i an das untere PISO Shiftregister 708B über den Multiplexer 703 angeschlossen.
  • Die periodische Erzeugung des Early_Ld_Pulse 720 ermöglicht auch das Abtasten des Merge-Aktivierungssignals 724 durch den D Flip-Flop 706B. Die periodische Erzeugung des Early_Ld_Pulse 720, das aktiv hoch ist, steuert den Multiplexer 702C selektiv, um das Merge-Aktivierungssignal 724 als seine Ausgabedaten auszuwählen, die mit dem Dateneingang D des D Flip-Flops 706B verbunden werden.
  • Wie bereits erwähnt, wird das Merge-Aktivierungssignal 724 zu einer geeigneten Zeit erzeugt, um lokale Daten von einem bestimmten Speichermodul in eine Bahn von nördlichen seriellen Daten einzuführen, einen freien Frame oder ein Datenpaket im seriellen Datenstrom ersetzend. Die Wellenform 824 stellt einen aktiven hohen Puls 844 dar, der erzeugt wird, wenn lokale Daten an den oberen Bits (FBD_DATA [11:6]) 727 und unteren Bits (FBD_DATA [5:0]) 726 des Datenbusses 660i verfügbar sind.
  • Wenn der aktive hohe Puls 844 in der Wellenform 824 des Merge-Aktivierungssignals 724 erzeugt wird, ermöglichen die Pulse 840A-840B im early_ld_Pulse Signal 720 dem aktiven hohen Puls 844 des Merge-Aktivierungssignals 724 durch den D Flip-Flop 706B unter Verwendung des Clock_2UI Signals 7223 abgetastet zu werden. Dieses erzeugt einen aktiven hohen Puls 842 in einer Wellenform 832 des lokalen Datenauswahlsignals (PISO_SEL) 732. Der aktive hohe Puls 842 des lokalen Datenauswahlsignals (PISO_SEL) 732 bedingt, dass der Multiplexer 704 vom Bereitstellen der Zwei Bit „durchgeleiteten Daten" 725 an seinem Ausgang zum Bereitstellen der serialisierten lokalen Zwei Bit Daten 735 anstelle dieser an seinem Ausgang bereitstellt. Das Umschalten von durchgeleiteten Daten 725 auf lokale Daten 735 tritt an den Framegrenzen auf, wenn der aktive hohe Puls 842 erstmals erzeugt wird. Dieses liegt daran, dass die absteigende Flanke des „Early_Ld_Pulse" 720, die dem PISO Shiftregister 708A-708B den Beginn des Verschiebens erlaubt, mit dem Frame-Startpunkt übereinstimmt.
  • Wenn Daten einfließen mit sowohl niedrigem „Early_Ld-Pulse" 720 als auch niedrigem Multiplexerausgang 731, verschieben die PISO Shiftregister 708A-708B die zwölf Bits von lokalen Daten seriell mit zwei Bits zur Zeit am seriellen Ausgang 735 unter Verwendung des Clock_2UI Taktgebersignals 723. Der Sender 725i serialisiert die zwei Bits in einen seriellen Einzelbit Datenstrom am NBDOi Ausgang 601i, wie durch die lokalen Daten dargestellt, die oberhalb der Wellenform 801 angezeigt sind.
  • Bezugnehmend auf 9 ist ein zeitliches Ablaufdiagramm von Wellenformen dargestellt, die die Daten-Mergelogikabschnitt 700i, der in einem Sechs Bit Modus arbeitet, abbilden Das bedeutet, dass das Sechs Bit Modussteuersignal (6BIT_MODUS) 722 ein logisches Hoch ist, wie durch die Wellenform 922 im zeitlichen Ablaufdiagramm von 9 dargestellt.
  • In 9 ist das Clock_2UI Signal 723 durch die Wellenform 923 dargestellt. Das Kernzeitgebersignal (Kern_clk) 611 ist durch die Wellenform 901 dargestellt. Die unteren sechs parallelen Datenbits (MEM_DATA IN [5:0]) 690A am Speicherdatenbus 690 sind durch die Wellenform 990A dargestellt. Die oberen sechs parallelen Datenbits (MEM_DATA IN [11:6]) 690B des Speicherdatenbusses 690 sind durch die Wellenform 990B dargestellt. Die unteren sechs Bits von Daten (FBD_DATA [5:0]) 726 am parallelen Datenbus 660i sind durch das Wellenformdiagramm 926 dargestellt. Die oberen sechs Bits von Daten (FBD_DATA [11:6]) 727 am parallelen Datenbus 660i sind durch das Wellenformdiagramm 927 dargestellt. Das Merge-Aktivierungssteuerungssignal 724 ist durch das Wellenformdiagramm 927 dargestellt, das früher auftritt als das der Wellenform 824 von 8. Das frühe Ladepulssteuerungssignal (EARLY_LD_PULSE) 720 ist durch die Wellenform 920 dargestellt. Das späte Ladepulssteuersignal (LATE_LD_PULSE) 721 ist durch die Wellenform 921 dargestellt. Das Datenbusauswahlsteuersignal (DATA_SEL)729 ist durch die Wellenform 929 dargestellt. Das Lokaldatenauswahlsteuersignal (PISO_SEL) 732 ist durch Wellenform 932 dargestellt. Der Einzelbit serielle Ausgabedatenstrom NBDOi 601i ist durch Wellenform 901 dargestellt.
  • Im Sechs Bit Modus wird das untere PISO Shiftregister 708B verwendet, um parallele Datenbits in serielle Daten durch Umschalten von Bits umzuwandeln. Das Datenbusauswahlsignal (DATA_SEL) 729 schaltet um, abhängig davon, ob die letzten signifikanten Bits des Frames, FBD_Data [5:0] 726, oder die am meisten signifikanten sechs Bits des Frames, FBD_Data [11:6] 727, in das untere PISO Shiftregister 708B durch den gewählten Ausgang des Busmulitplexers 703 geladen sind.
  • Sowohl der „Early_Ld_Pulse" 720 als auch der „Late_Ld_Pulse" 721 können das untere PISO Shiftregister 708B veranlassen, entweder Daten zu laden oder Daten zu verschieben, weil der Ausgang des ODER Gatters 710 mit dem Load/Shift-Bar Eingang des unteren PISO Shiftregisters 708B über den Multiplexer 702A verbunden ist, wenn das 6BIT_MODUS Signal 722 hoch ist.
  • Sind der „Early_Ld_Pulse" 720 und der „Late_Ld_Pulse" 721 niedrig, werden Bits aus dem unteren PISO Shiftregister 708B heraus verschoben. Ebenso während des parallelen Ladens von Bits in das untere PISO Shiftregister 708B, wenn der Load/Shift-Bar Steuereingang hoch ist, setzen vorher geladene Bits fort, nach außen verschoben zu werden. Wenn der Load/Shift-Bar Steuereingang nach einem parallelen Laden von Datenbits auf niedrig zurückkehrt, werden die neu geladenen Bits durch das untere PISO Shiftregister 708B verschoben. In dieser Weise können alle sechs Bits verschoben werden, während ein neuer Satz von parallelen Bits geladen wird.
  • Die am wenigsten signifikanten sechs Bits des Frames, FBD_Data [5:0] 726 sind in das untere PISO Shiftregister 708B durch die Pulse 940A und 940B in der Wellenform 920 des „Early_Ld_Pulse""720 geladen, wenn das Datenbusauswahlsignal (DATA_SEL) 729 tief ist, wie etwa beispielsweise an den Tiefpunkten 949C, 949D. Die am meisten signifikanten sechs Bits des Frames, FBD_Data [11:6] 727, werden dann in das untere PISO Shiftregister 708B durch die Pulse 941A und 941B in der Wellenform 921 des „Late_Ld_Pulse" 721 geladen, wenn das Datenbusauswahlsignal (DATA_SEL) 729 hoch ist, beispielsweise während der Pulse 949A, 949B.
  • Im Sechs Bit Modus ist das Umschalten zwischen den serialisierten „durchgeleiteten Daten" 725 und den serialisierten lokalen Daten 735 ähnlich dem vorher beschriebenen Zwölf Bit Modus Betrieb und wird aus Gründen der Kürze hier nicht wiederholt. Beim Zusammenfassen von Daten wechselt das PISO Shiftregister 708B zwischen seriellem Verschieben der sechs am meisten signifikanten Bits oder der sechs am wenigsten signifikanten Bits von lokalen Daten mit zwei Bits zur Zeit auf den seriellen Ausgang 735 unter Verwendung des Clock_2UI Zeitgebersignals 723. Der Sender 725i serialisiert die zwei Bits weiter in einem seriellen Einzelbit Datenstrom am NBDOi Ausgang 601i, wie durch die lokalen Daten dargestellt, die oberhalb der Wellenform 901 gezeigt sind.
  • Während im Sechs Bit Modus ein vollständiger Frame von Daten noch übertragen wird, reduzieren Ausgestaltungen der Erfindung die Latenz von lokalen Daten, die in den seriellen Datenstrom einfließen. Durch Vergleich der 8 und 9 tritt das Einbringen von lokalen Daten in 9 um eine Framezeit früher auf.
  • Ausgestaltungen der Erfindung ermöglichen das direkte (on the fly) Einbringen von durchgeleiteten Daten und lokalen Daten in die serielle Datenverbindung, ohne dass eingehende Pakete von dem seriellen Eingangsdatenstrom decodiert werden müssen, um die Anordnung eines freien Paketes zu bestimmen. Bisher wurde der eingehende serielle Datenstrom empfangen, entpackt/decodiert und wieder in Frames durch die Kernlogik zusammengebaut, bevor er weitergeleitet wurde. Ausgestaltungen der Erfindung vermeiden das Entpacken/Decodieren des eingehenden seriellen Datenstroms und dessen Zusammenbau in Datenframes und dem darauffolgenden Codieren/Packen für die weitere Übertragung. Die Ausgestaltungen der Erfindung ermöglichen das Weiterleiten vom eingehenden seriellen Datenstrom und das Einbringen von lokalen Daten in den seriellen Datenstrom ohne die Kernlogik eines integrierten Pufferspeicherschaltkreises einzubeziehen. In einem Multispeichermodulsystem können die seriellen Kommunikationskanäle fortfahren zu arbeiten, auch wenn ein integrierter Speicherschaltkreis in einem der miteinander verketteten Speichermodule nicht funktional ist.
  • Ausgestaltungen der Erfindung sind eingereichtet, um Speicherzugriffsoperationen mit niedriger Latenz zu ermöglichen. Dieses ermöglicht, dass ein größerer Speicher mit mehr Speichermodulen in jeder Bank bereitgestellt wird, ohne dass Speicherzugriffslatenz die Systemleistung herabsetzt, wenn die Zahl von Speichermodulen in einem Kanal ansteigt.
  • Während bestimmte beispielhafte Ausgestaltungen beschrieben und in den beiliegenden Zeichnungen gezeigt wurden, versteht es sich, dass solche Ausgestaltungen lediglich illustrierend und nicht die breite Erfindung einschränkend sind und dass diese Erfindung nicht auf die besonderen Ausgestaltungen und Anordnungen, die gezeigt und beschrieben sind, beschränkt ist, da verschiedene andere Änderungen für den Fachmann auftreten können. Beispielsweise wurde eine Ausgestaltung der Erfindung beschrieben, eine serielle Datenverbindung für ein vollständig gepuffertes Dual Inline Memory Modul bereitzustellen. Jedoch können Ausgestaltungen der Erfindung in anderen Arten von Speichermodulen und Systemen ausgeführt sein. Als ein weiteres Beispiel wurden Daten mit zwei Bits zur Zeit an Zwei Bit Bussen um die PISO Shift Register 708A-708B innerhalb der Mergelogik serialisiert, um ein entspanntes Datentiming in einem Ausführungsbeispiel der Erfindung zu ermöglichen. Jedoch können Ausgestaltungen der Erfindung einen Einzelbit-Ausgangs-PISO mit unterschiedlichen Taktgebertiming verwenden und die lokalen Daten in einen seriellen Einzelbit-Datenstrom mit durchgeleiteten Daten und Multiplexern 704, 705, die zum Unterstützen eines Einzelbit seriellen Datenstroms vorgesehen sind, serialisieren.
  • ZUSAMMENFASSUNG
  • Integrierter Schaltkreis zum Serialisieren von lokalen Daten und selektivem Zusammenfassen mit serialisierten durchgeleiteten Daten in einen seriellen Datenstrom-Ausgang, der ein Parallel-In-Serial-Out (PISO) Shiftregister, einen Multiplexer und einen Übertrager aufweist. Das PISO Shiftregister serialisiert parallele Daten an einem lokalen Datenbus in serialisierte lokale Daten. Der Multiplexer fasst selekiv serialisierte lokale Daten und durchgeleitete Daten zu einem seriellen Datenstrom zusammen. Der Sender lenkt den seriellen Datenstrom an eine serielle Datenverbindung. In einer anderen Ausgestaltung der Erfindung weist ein Verfahren für ein Speichermodul Empfangen eines seriellen Datenstromeingangs, Zusammenfassen lokaler Datenframes und durchgeleiteter Datenframes zu einer seriellen Datensstromausgabe als Reaktion auf ein Merge-Aktivierungssignal und Übertragen der seriellen Datenstromausgabe an einen nördlichen Datenausgang zu einem nächsten Speichermodul oder einer Speichersteuerung auf. Andere Ausgestaltungen der Erfindung sind offenbart und beansprucht.

Claims (30)

  1. Integrierter Schaltkreis mit: einer seriellen Eingabe/Ausgabe-Schnittstelle mit einer oder mehr Bahnen, wobei jede Bahn aufweist: – ein erstes Parallel-In-Serial-Output (PISO) Shiftregister mit einem parallelen Eingang, der mit einem lokalen Datenbus verbunden ist, einem Zeitgebereingang, der mit einem ersten Zeitgebersignal verbunden ist, einem Load/Shift-Bar Eingang, der mit einem Ladesignal verbunden ist, wobei das erste PISO Shiftregister zum Serialisieren paralleler Daten am lokalen Datenbus in serialisierte lokale Daten an einem ersten seriellen Ausgang eingerichtet ist; – einem ersten Multiplexer mit einem ersten Dateneingang, der mit dem ersten seriellen Ausgang verbunden ist, einem zweiten Dateneingang zum Empfangen durchgeleiteter Daten, einem Auswahleingang, der mit einem lokalen Datenauswahlsignal verbunden ist, wobei der erste Multiplexer zum selektiven Einreihen der serialisierten lokalen Daten und der durchgeführten Daten in einen seriellen Datenstrom an einem gebündelten Ausgang, der auf des lokale Datenauswahlsignal reagiert, eingerichtet ist; und – einen Sender mit einem Eingang, der mit dem gebündelten Ausgang zum Empfangen des seriellen Datenstroms verbunden ist, wobei der Sender zum Leiten des seriellen Datenstroms auf die serielle Datenverbindung eingerichtet ist.
  2. Integrierter Schaltkreis nach Anspruch 1, dadurch gekennzeichnet, dass – die durchgeleiteten Daten zwei Bits breit sind, – der parallele Eingang des ersten PISO Shiftregisters wenigstens sechs Bits breit und der serielle Ausgang des ersten PISO Shiftregisters zwei Bits breit ist, – der erste Multiplexer ein zwei Bit Multiplexer und der serielle Datenstrom am gebündelten Ausgang zwei Bits breit ist, und – der Sender den zwei Bit seriellen Datenstrom empfängt und auf die serielle Datenverbindung als Einzel-Bit seriellen Datenstrom leitet.
  3. Integrierter Schaltkreis nach Anspruch 1, dadurch gekennzeichnet, dass jede Bahn einen zweiten Multiplexer mit einem ersten Dateneingang zum Empfangen re-synchronisierter Daten, einen zweiten Dateneingang zum Empfangen von wiederholt abgestasteten Daten, eine Auswahleingang, der mit einem lokalen Zeitgebermodussignal verbunden ist, aufweist, wobei der zweite Multiplexer zum Auswählen der wiederholt abgetasteten Daten oder der re-synchronisierten Daten als durchgeleitete Daten als Reaktion auf das lokale Zeitgebermodussignal eingerichtet ist.
  4. Integrierter Schaltkreis nach Anspruch 1, dadurch gekennzeichnet, dass jede Bahn eine Steuerlogik, die mit dem ersten Multiplexer und dem ersten PISO Shiftregister verbunden ist, aufweist, wobei die Steuerlogik das erste Zeitgebersignal und ein Merge-Aktivierungssignal empfängt und die Steuerlogik das lokale Datenauswahlsignal zum Einreihen der serialisierten lokalen Daten und der durchgeleiteten Daten in den seriellen Datenstrom als Antwort auf das Merge-Aktivierungssignal und das erste Zeitgebersignal erzeugt.
  5. Integrierter Schaltkreis nach Anspruch 4, dadurch gekennzeichnet, dass die Steuerlogik eine Merge-Steuerlogik hat mit: – einem zweiten Multiplexer mit einem ersten Dateneingang, der mit dem Merge-Aktivierungssignal verbunden ist und einem Auswahleingang, der mit dem Ladesignal verbunden ist, – einen Typ D Flip-Flop, der mit dem zweiten Multiplexer verbunden ist, wobei der Typ D Flip-Flop einen Dateneingang, der mit einem Ausgang des zweiten Multiplexers verbunden ist, und einen Zeitgebereingang, der mit dem ersten Zeitgebersignal verbunden ist, und einen Datenausgang der mit dem Daten-Auswahleingang des ersten Multiplexer verbunden ist, und einen zweiten Dateneingang des zweiten Multiplexers hat, wobei der Typ D Flip-Flop das Merge-Aktivierungssignal als Reaktion auf das Ladesignal und das erste Zeitgebersignal registriert, zum Erzeugen des lokalen Datenauswahlsignals am Datenausgang, und – wobei der zweite Multiplexer das lokale Datenauswahlsignal wieder in den Dateneingang des Typ D Flip-Flops als Reaktion auf eine Umkehrung des Ladesignals in Umlauf bringt.
  6. Integrierter Schaltkreis nach Anspruch 1, dadurch gekennzeichnet, dass der parallele Eingang des ersten PISO Shiftregisters mit der einen Hälfte von Bits des lokalen Datenbus verbunden ist, und jede Bahn weiter ein zweites parallel-in-serial-output (PISO) Shiftregister aufweist, mit einem parallelen Eingang, der mit der anderen Hälfte von Bits des lokalen Datenbus verbunden ist, einem Zeitgebereingang, der mit dem ersten Zeitgebersignal verbunden ist, einem Load/SHift-Bar Eingang, der mit der Ladesignal verbunden ist, einem zweiten seriellen Ausgang, der mit einem seriellen Eingang des ersten PISO Shiftregisters verbunden ist, wobei das zweite PISO Shiftregister die parallelen Daten an der anderen Hälfte der Bits des lokalen Datenbus in serialisierte lokale Daten am zweiten seriellen Datenausgang serialisiert, um mit dem seriellen Eingang des ersten PISO Shiftregisters zu verbinden.
  7. Integrierter Schaltkreis nach Anspruch 6, dadurch gekennzeichnet, dass jede Bahn weiter einen Busmultiplexer aufweist, der zwischen dem lokalen Bus und dem ersten PISO Shiftregister angeschlossen ist, wobei der Busmultiplexer einen ersten Dateneingang, der mit der einen Hälfte der Bits des lokalen Datenbus verbunden ist, einen zweiten Dateneingang, der mit der anderen Hälfte der Bits des lokalen Datenbus, einen Multiplex-Ausgang, der mit dem parallelen Eingang des ersten PISO Shiftregisters verbunden ist, und einen Auswahleingang, der mit dem Datenbusauswahlsignal verbunden ist, hat, wobei der Busmultiplexer die eine Hälfte der Bits des lokalen Datenbus oder die andere Hälfte der Bits des lokalen Datenbus mit dem parallelen Eingang des ersten PISO Shiftregisters als Reaktion auf das Datenbusauswahlsignal verbindet.
  8. Integrierter Schaltkreis nach Anspruch 7, dadurch gekennzeichnet, dass jede Bahn weiter eine Steuerlogik aufweist, die mit dem Multiplexer und dem ersten PISO Shiftregister verbunden ist, wobei die Steuerlogik zum Empfangen des ersten Zeitgebersignals, einem Modusauswahlsignal und einem Merge-Aktivierungssignal eingerichtet ist, wobei die Steuerlogik das lokale Datenauswahlsignals zum Einfügen der serialisierten lokalen Daten und der durchgeleiteten Daten in den seriellen Datenstrom als Antwort auf das Merge-Aktivierungssignal und das erste Zeitgebersignal erzeugt, wobei die Steuerlogik weiter das Datenbusauswahlsignal als Antwort auf das Modusauswahlsignal erzeugt.
  9. Integrierter Schaltkreis nach Anspruch 8, dadurch gekennzeichnet, dass – das Ladesignal ein frühes Ladepulssignal ist, das mit dem Load/Shift-Bar Eingang des zweiten PISO Shiftregisters verbunden ist, und – die Steuerlogik eine Merge-Steuerlogik hat, die aufweist: – einen zweiten Multiplexer mit einem ersten Dateneingang, der mit dem Merge-Aktivierungssignal verbunden ist und mit einem Auswahleingang, der mit dem frühen Ladepulssignal verbunden ist, – einen ersten TypD-Flip-Flop, der mit dem zweiten Multiplexer verbunden ist, wobei der erste Typ D-Flip-Flop einen Dateneingang hat, der mit einem Ausgang des zweiten Mulitiplexers verbunden ist, und einen Zeitgebereingang hat, der mit dem ersten Zeitgebersignal verbunden ist, und einen Datenausgang hat, der mit dem Auswahleingang des ersten Multiplexers verbunden ist und mit einem zweiten Dateneingang des zweiten Multiplexers, wobei der erste Typ D-Flip-Flop zum Registrieren des Merge-Aktivierungssignals als Reaktion auf das frühe Ladepulssignal und das erste Zeitgebersignal zum Erzeugen des lokalen Datenauswahlsignals am Datenausgang eingerichtet ist, und – wobei der zweite Multiplexer zum wieder in Umlaufbringen des lokalen Datenauswahlsignals in den Dateneingang des ersten Typ D-Flip-Flop als Reaktion auf das frühe Ladepulssignal eingerichtet ist, das ein logisches Tief ist, und zum Verbinden des Merge-Aktivierungssignals mit dem ersten Typ D-Flip-Flop als Reaktion auf das frühe Ladepulssignal, das ein logisches Hoch ist; – die Steuerlogik hat weiter eine Modussteuerlogik, die aufweist: – einen dritten Multiplexer mit einem ersten Dateneingang, der mit dem frühen Ladepulssignal verbunden ist, – einen zweiten Typ D-Flip-Flop, der mit dem dritten Multiplexer verbunden ist, wobei der zweite Typ D-Flip-Flop einen Dateneingang, der mit einem Ausgang des dritten Multiplexers verbunden ist, einen Zeitgebereingang, der mit dem ersten Zeitgebersignal verbunden ist, einen klaren Eingang, der mit einem invertierten Busmodussignal verbunden ist, und einen Datenausgang hat, der mit dem Auswahleingang des Busmultiplexers verbunden ist, und einen zweiten Dateneingang des dritten Multiplexers, wobei der zweite Typ D-Flip-Flop zum Erzeugen des Datenbusauswahlsignals am Datenausgang als Reaktion auf das invertierte Busmodussignal, das frühe Ladepulssignal und das erste Zeitgebersignal eingerichtet ist, – ein ODER Gatter mit einem ersten Eingang, der mit dem frühen Ladepulssignal verbunden ist, und einem zweiten Eingang, der mit einem späten Ladepulssignal verbunden ist, wobei das ODER Gatter zum logischen ODERN des frühen Ladepulssignals und des späten Ladepulssignal eingerichtet ist, – ein UND Gatter mit einem ersten Eingang, der mit einem Ausgang des ODER Gatters verbunden ist, einem zweiten Eingang, der mit einem Busmodussignal verbunden ist, einen Ausgang, der mit einem Auswahleingang des dritten Multiplexers verbunden ist, – einen Invertierer mit einem Eingang, der mit dem Busmodussignal und einem Ausgang, der mit dem klaren Eingang des zweiten Typ D-Flip-Flops verbunden ist, wobei der Invertierer zum Erzeugen des invertierten Busmodussignals als Reaktion auf das Busmodussignal eingerichtet ist, – einen vierten Multiplexer mit einem ersten Dateneingang, der mit dem frühen Ladepulssignal verbunden ist, einem zweiten Dateneingang, der mit dem Ausgang des ODER Gatters verbunden ist, einem Steuereingang, der mit dem Busmodussignal verbunden ist und einem gebündelten Ausgang, der mit dem Load/Shift-Bar Eingang des ersten PISO Shiftregisters verbunden ist, – wobei der dritte Multiplexer zum wieder in Umlaufbringen des Datenbusauswahlsignals in den Dateneingang des zweiten Typ D-Flip-Flops als Reaktion auf das invertierte Busmodussignal eingerichtet ist, und – wobei der vierte Multiplexer zum selektiven Verbinden des frühen Ladepulssignals oder sowohl des frühen Ladepulssignals als auch des späten Ladepulssignals mit dem Load/Shift-Bar Eingang des ersten PISO Shiftregisters eingerichtet ist.
  10. Integrierter Schaltkreis nach Anspruch 9, dadurch gekennzeichnet, dass der integrierte Schaltkreis ein integrierter Pufferspeicherschaltkreis ist, der lokale Bus zwölf Bits breit ist und der Busmultiplexer in jeder Bahn untere sechs Bits des lokalen Bus mit dem ersten PISO Shiftregister und obere sechs Bits des lokalen Bus mit dem ersten PISO Shiftregister als Reaktion auf das Datenbusauswahlsignal verbindet.
  11. Verfahren für ein Speichermodul mit den Schritten: – Empfangen eines eingehenden seriellen Datenstroms, der durchgeleitete Frames von Daten darstellt, die zwischen freien Frames von Daten eingestreut sind; – Verbinden von lokalen Datenframes und durchgeleiteter Datenframes gemeinsam in einen ausgehenden seriellen Datenstrom als Antwort auf ein Merge-Aktivierungssignal ohne Decodieren des eingehenden seriellen Datenstroms; und – Senden des ausgehenden seriellen Datenstroms an einen nördlichen Ausgang an ein nächstes Speichermodul oder eine Speichersteuerung.
  12. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass die lokalen Datenframes mit dem ausgehenden seriellen Datenstrom durch Ersetzen freier Datenframes in dem eingehenden seriellen Datenstrom verbunden werden.
  13. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Empfangen des eingehenden seriellen Datenstroms das Abtasten der Datenbits im eingehenden seriellen Datenstrom aufweist.
  14. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Empfangen des eingehenden seriellen Datenstroms das re-synchronisieren der Datenbits im eingehenden seriellen Datenstrom aufweist.
  15. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass das Verbinden der lokalen Datenframes und der durchgeleiteten Datenframes das – Serialisieren paralleler Bits von lokalen Datenframes in serielle Bits von Daten und – Multiplexen der seriellen Datenbits der lokalen Datenframes und seriellen Bits der durchgeleiteten Datenframes in serielle Bits des ausgehenden seriellen Datenstroms als Antwort auf das Merge-Aktivierungssignals aufweist.
  16. Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass ein lokaler Datenframe parallel über einen lokalen Bus in Sechs-Bit Paketen oder Zwölf-Bit Paketen als Reaktion auf ein Busmodussignal empfangen wird.
  17. System mit: – einem Prozessor zum Ausführen von Anweisungen und Verarbeiten von Daten; – einer Speichersteuerung, die mit dem Prozessor verbunden ist, wobei die Speichersteuerung zum Empfangen von Speicherschreibanweisungen mit Schreibdaten vom Prozessor und zum Empfangen von Speicherlesanweisungen vom Prozessor und zum Bereitstellen von Lesdaten an den Prozessor eingerichtet ist; – wenigstens einer Speicherbank, die mit der Speichersteuerung verbunden ist, wobei die wenigstens eine Speicherbank ein oder mehrere Speichermodule aufweist, wobei das eine oder mehrere Speichermodule aufweisen: – einen integrierten Pufferspeicherschaltkreis und – wenigstens einen integrierten Speicherschaltkreis; und – wobei der integrierte Pufferspeicherschaltkreis aufweist: – eine südliche Input/Output Schnittstelle mit einer oder mehreren seriellen Bahnen zum Empfangen der Schreibdaten von der Speichersteuerung, und – eine nördliche serielle Input/Output Schnittstelle mit einer oder mehreren seriellen Bahnen eines nördlichen seriellen Eingangs und eines nördlichen seriellen Ausgangs, wobei die nördliche serielle Input/Output Schnittstelle zum Senden der Lesdaten an die Speichersteuerung eingerichtet ist, wobei die nördliche serielle Input/Output Schnittstelle für jede serielle Bahn aufweist: – einen Parallel-Zu-Seriell-Wandler mit einem parallelen Eingang, der mit parallelen Bits eines lokalen Datenbus verbunden ist, einen Zeitgebereingang, der mit einem ersten Zeitgebersignal verbunden ist, einem Load/Shift-Bar Eingang, der mit einem Ladesignal verbunden ist, wobei der Parallel-Zu-Seriell-Wandler zum Serialisieren der parallelen Datenbits am lokalen Datenbus in serialisierte lokale Daten am ersten seriellen Ausgang eingerichtet ist, und – einem ersten Multiplexer mit einem ersten Dateneingang, der mit dem seriellen Ausgang des Parallel-Zu-Seriell-Wandlers verbunden ist, einen zweiten Dateneingang zum Empfangen serieller durchgeleiteter Daten vom nördlichen seriellen Eingang und einem Auswahleingang, der an ein lokales Datenauswahlsignal angeschlossen ist, wobei der Multiplexer zum selektiven Verbinden der serialisierten lokalen Daten und der seriellen durchgeleiteten Daten in einen seriellen Datenstrom am nördlichen seriellen Ausgang als Reaktion auf das lokale Datenauswahlsignal eingerichtet ist.
  18. System nach Anspruch 17, dadurch gekennzeichnet, dass – jede serielle Bahn der nördlichen seriellen Input/Output Schnittstelle weiter einen Sender mit einem Eingang, der mit dem gebündelten Ausgang des ersten Multiplexers zum Empfangen des seriellen Datenstroms verbunden ist, aufweist, wobei der Sender den seriellen Datenstrom am nördlichen seriellen Datenausgang in Richtung der Speichersteuerung treibt.
  19. System nach Anspruch 17, dadurch gekennzeichnet, dass die Speichersteuerung für jede Speicherbank – eine nördliche serielle Eingangsschnittstelle zum Empfangen einer oder mehrerer Bahnen von seriellen Daten von dem einen oder mehreren Speichermodulen und – eine südliche serielle Ausgangsschnittstelle zum Senden einer oder mehrerer Bahnen von seriellen Daten an das eine oder mehrere Speichermodule aufweist.
  20. System nach Anspruch 17, dadurch gekennzeichnet, dass – jede serielle Bahn der nördlichen seriellen Input/Output Schnittstelle weiter eine Steuerlogik aufweist, die mit dem Multiplexer und dem ersten Parallel-zu-Seriell-Wandler verbunden ist, wobei die Steuerlogik zum Empfangen des ersten Zeitgebersignals und eines Merge-Aktivierungssignals eingerichtet ist, wobei die Steuerlogik zum Erzeugen des lokalen Datenauswahlsignals zum Verbinden der serialisierten lokalen Daten und der seriellen durchgeleiteten Daten in dem seriellen Datenstrom als Reaktion auf das Merge-Aktivierungssignal und das erste Zeitgebersignal eingerichtet ist.
  21. System nach Anspruch 17, dadurch gekennzeichnet, dass jede serielle Bahn der nördlichen seriellen Input/Output Schnittstelle weiter einen zweiten Multiplexer aufweist, mit einem ersten Dateneingang zum Empfangen re-synchronisierter serieller Daten, einem zweiten Dateneingang zum Empfangen wiederholt abgetasteter serieller Daten, einem Auswahleingang, der mit einem lokalen Zeitgebermodussignal verbunden ist, wobei der zweite Multiplexer zum Auswählen der wiederholt abgetasteten seriellen Daten oder der resynchronisierten seriellen Daten als serielle durchgeleitete Daten als Antwort auf das lokale Zeitgebermodussignal eingerichtet ist.
  22. Ein Pufferspeichermodul mit: – einer Platine mit einem seitlichen Anschluss; – einer Mehrzahl von integrierten Speicherschaltkreisen, die mit der Platine verbunden sind, und – einem integrierten Pufferspeicherschaltkreis, der mit der Platine verbunden ist, wobei der integrierte Pufferspeicherschaltkreis weiter elektrisch mit der Mehrzahl von integrierten Speicherschaltkreisen und der seitlichen Verbindung verbunden ist, wobei der integrierte Pufferspeicherschaltkreis eine südliche Input/Output Schnittstelle und eine nördliche Input/Output Schnittstelle hat, wobei die nördliche Input/Output Schnittstelle eine Daten-Merge-Logik mit einer Mehrzahl von Merge-Logikabschnitten für eine Mehrzahl von Bahnen von seriellen Datenströmen aufweist, wobei jeder Merge-Logikabschnitt aufweist: – ein erstes Parallel-In-Serial-Output (PISO) Shiftregister mit einem parallelen Eingang, der mit einem lokalen Datenbus verbunden ist, einem Zeitgebereingang, der mit einem ersten Zeitgebersignal verbunden ist, einem Load/Shift-Bar Eingang, der mit einem ersten Ladesignal verbunden ist, wobei das erste PISO Shiftregister zum Serialisieren paralleler Daten am lokalen Datenbus in serialisierte lokale Daten an einem ersten seriellen Ausgang eingerichtet ist; und – einem ersten Multiplexer mit einem ersten Dateneingang, der mit dem ersten seriellen Ausgang des ersten PISO Shiftregisters verbunden ist, einem zweiten Dateneingang zum Empfangen serialisierter durchgeleiteter Daten, einem Auswahleingang, der mit einem lokalen Datenauswahlsignal verbunden ist, wobei der erste Multiplexer zum selektiven Verbinden der serialisierten lokalen Daten und der serialisierten durchgeleiteten Daten mit einem seriellen Datenstrom an einem gebündelten Ausgang als Antwort auf das lokale Datenauswahlsignal eingerichtet ist.
  23. Pufferspeichermodul nach Anspruch 22, dadurch gekennzeichnet, dass die nördliche Input/Output Schnittstelle weiter eine Mehrzahl von Sendern mit jeweils einem Eingang, der mit einem korrespondierendem Ausgang des ersten Multiplexers in jedem Merge-Logikabschnitt verbunden ist, aufweist, wobei die Mehrzahl von Sendern zum Empfangen des seriellen Datenstroms und zum Leiten auf eine serielle Datenverbindung eingerichtet ist.
  24. Pufferspeichermodul nach Anspruch 22, dadurch gekennzeichnet, dass jeder Merge-Logikabschnitt weiter einen zweiten Multiplexer mit einem Dateneingang zum Empfangen re-synchronisierter serieller Daten, einem zweiten Dateneingang zum Empfangen weiderholt abgetasteter serieller Daten, einem Auswahleingang, der mit einem lokalen Zeitgebermodussignal verbunden ist, aufweist, wobei der zweite Multiplexer zum Auswählen der wiederholt abgetasteten seriellen Daten oder der re-synchronisierten seriellen Daten als die serialisierten durchgeleiteten Daten als Antwort auf das lokale Zeitgebermodussignal eingerichtet ist.
  25. Pufferspeichermodul nach Anspruch 24, dadurch gekennzeichnet, dass jeder Merge-Logikabschnitt weiter eine Steuerlogik aufweist, die mit dem ersten Multiplexer und dem PISO Shiftregister verbunden ist, wobei die Steuerlogik zum Empfangen des ersten Zeitgebersignals und eines Merge-Aktivierungssignals eingerichtet ist, wobei die Steuerlogik zum Erzeugen des lokalen Datenauswahlsignals zum Verbinden der serialisierten lokalen Daten und der serialisierten durchgeleiteten Daten mit dem seriellen Datenstrom als Reaktion auf das Merge-Aktivierungssignal und das erste Zeitgebersignal eingerichtet ist.
  26. Speichersystem mit: – einer Mehrzahl von Pufferspeichermodulen, die miteinander verkettet sind um eine Speicherbank zu bilden, wobei jedes Pufferspeichermodul aufweist: – eine Mehrzahl von integrierten Speicherschaltkreisen; und – einen integrierten Pufferspeicherschaltkreis, der mit der Mehrzahl von integrierten Speicherschaltkreisen verbunden ist, wobei der integrierte Pufferspeicherschaltkreis aufweist: – eine südliche Input/Output serielle Schnittstelle zum Empfangen und erneuten Senden südlicher serieller Daten von einer Speichersteuerung oder einem vorhergehenden Pufferspeichermodul an ein nächstes Pufferspeichermodul, – eine nördliche Input/Output serielle Schnittstelle zum Empfangen nördlicher serieller Daten von wenigstens einem Pufferspeichermodul als serialisierte durchgeleitete Daten und erneutem Senden in Richtung der Speichersteuerung, wobei die nördliche Input/Output serielle Schnittstelle zum Serialisieren lokaler Daten von der Mehrzahl von integrierten Speicherschaltkreisen und Verbinden dieser einem nördlichen seriellen Datenstrom mit den serialisierten durchgeleiteten Daten ohne Decodieren der empfangenen nördlichen seriellen Daten eingerichtet ist, wobei die nördliche Input/Output serielle Schnittstelle weiter zum Senden des nördlichen seriellen Datenstroms einschließlich der serialisierten durchgeleiteten Daten und der serialisierten lokalen Daten in Richtung der Speichersteuerung eingerichtet ist, – einem Datenschreib First-In-First-Out (FIFO) Pufferspeicher, der mit der südlichen Input/Output seriellen Schnittstelle verbunden ist, wobei der Datenschreib FIFO Pufferspeicher zum Speichern von Schreibdaten von der südlichen Input/Output seriellen Schnittstelle, die durch einen Schreibbefehl an das Pufferspeichermodul adressiert sind, eingerichtet ist, – einer Speicher Input/Output Schnittstelle, die mit der Mehrzahl von integrierten Speicherschaltkreisen und dem Datenschreib FIFO Pufferspeicher verbunden ist, wobei die Speicher Input/Output Schnittstelle zum Senden von Schreibdaten, die in dem Schreibdaten FIFO Pufferspeicher gespeichert sind, in wenigstens eine der Mehrzahl von integrierten Speicherschaltkreisen eingerichtet ist; – einem Datenlese FIFO Pufferspeicher, der mit der nördlichen Input/Output seriellen Schnittstelle und der Speicher Input/Output Schnittstelle verbunden ist, wobei der Datenlese FIFO Pufferspeicher zum Speichern von Lesdaten von wenigstens einem der Mehrzahl von integrierten Speicherschaltkreisen als lokale Daten, die vom Pufferspeichermodul durch einen Lesbefehl adressiert sind, eingerichtet ist, und – wobei die Speicher Input/Output Schnittstelle zum Senden von Lesdaten von wenigstens einem der Mehrzahl von integrierten Speicherschaltkreisen an den Lesdaten FIFO Pufferspeicher eingerichtet ist.
  27. Speichersystem nach Anspruch 26, dadurch gekennzeichnet, dass die Speichersteuerung mit wenigstens einem der Mehrzahl von Pufferspeichermodulen verbunden ist, wobei die Speichersteuerung aufweist: – eine südliche serielle Ausgabeschnittstelle zum Senden des südlichen seriellen Datenstroms an wenigstens ein der Mehrzahl von Pufferspeichermodulen, und – eine nördliche serielle Eingangsschnittstelle zum Empfangen des nördlichen seriellen Datenstroms von wenigstens einem der Mehrzahl von Pufferspeichermodulen.
  28. Speichersystem nach Anspruch 26, dadurch gekennzeichnet, dass die nördliche Input/Output serielle Schnittstelle des integrierten Pufferspeicherschaltkreises aufweist: – einen dritten FIFO Pufferspeicher, – eine Daten-Mergelogik, die mit dem dritten FIFO Pufferspeicher verbunden ist, wobei die Daten-Mergelogik eine Mehrzahl von Merge-Logikabschnitten aufweist, mit jeweils: – einem ersten Parallel-In-Serial-Output (PISO) Shiftregister mit einem parallelen Eingang, der mit einem lokalen Datenbus verbunden ist, einem Zeitgebereingang, der mit einem ersten Zeitgebersignal verbunden ist, einem Load/Shift-Bar Eingang, der mit einem ersten Ladesignal verbunden ist, wobei das erste PISO Shiftregister zum Serialisieren paralleler Daten am lokalen Datenbus in serialisierte Daten an einem ersten seriellen Ausgang eingerichtet ist, und – einem ersten Multiplexer mit einem ersten Dateneingang, der mit dem ersten seriellen Ausgang des ersten PISO Shiftregisters verbunden ist, einem zweiten Dateneingang zum Empfangen serialisierter durchgeleiteter Daten, einem Auswahleingang, der mit einem lokalen Datenauswahlsignal verbunden ist, wobei der erste Multiplexer zum selektriven Verbinden der serialisierten lokalen Daten und der serialisierten durchgeleiteten Daten mit dem seriellen Datenstrom an einem gebündelten Ausgang als Reaktion auf das lokale Datenauswahlsignal eingerichtet ist, und – einer Mehrzahl von Sendern, die mit der Daten-Mergelogik verbunden sind, wobei jeder der Mehrzahl von Sendern einen Eingang hat, der mit einem korrespondierenden Ausgang des ersten Multiplexers in jedem Merge-Logikabschnitt verbunden ist, wobei die Mehrzahl von Sendern zum Empfangen des seriellen Datenstroms und Treiben auf eine serielle Datenverbindung eingerichtet ist.
  29. Speichersystem nach Anspruch 28, dadurch gekennzeichnet, dass jeder Merge-Logikabschnitt der Daten-Mergelogik weiter einen zweiten Multiplexer mit einem ersten Dateneingang zum Empfangen re-synchronisierter serieller Daten, einem zweiten Dateneingang zum Empfangen wiederholt abgetasteter serieller Daten, einem Auswahleingang, der mit einem lokalen Zeitgebermodussignal verbunden ist, aufweist, wobei der zweite Multiplexer zum Auswählen der wiederholt abgetasteten seriellen Daten oder der re-synchronisierten seriellen Daten als serialisierte durchgeleitete Daten als Reaktion auf das lokale Zeitgebermodussignal eingerichtet ist.
  30. Speichersystem nach Anspruch 28, dadurch gekennzeichnet, dass jeder Merge-Logikabschnitt der Daten-Mergelogik weiter eine Steuerlogik aufweist, die mit dem ersten Multiplexer und dem ersten PISO Shiftregister verbunden ist, wobei die Steuerlogik zum Empfangen des ersten Zeitgebersignals und eines Merge-Aktivierungssignals eingerichtet ist, wobei die Steuerlogik zum Erzeugen des lokalen Datenauswahlsignals zum Verbinden der serialisiserten lokalen Daten und der serialisierten durchgeleiteten Daten mit dem seriellen Datenstrom als Reaktion auf das Merge-Aktivierungssignal und das erste Zeitgebersignal eingerichtet ist.
DE112006000298T 2005-01-31 2006-01-27 Zwischenspeicher zum Zusammenfassen lokaler Daten von Speichermodulen Withdrawn DE112006000298T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/047,890 2005-01-31
US11/047,890 US20060195631A1 (en) 2005-01-31 2005-01-31 Memory buffers for merging local data from memory modules
PCT/US2006/003445 WO2006083899A1 (en) 2005-01-31 2006-01-27 Memory buffers for merging local data from memory modules

Publications (1)

Publication Number Publication Date
DE112006000298T5 true DE112006000298T5 (de) 2007-12-13

Family

ID=36602709

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006000298T Withdrawn DE112006000298T5 (de) 2005-01-31 2006-01-27 Zwischenspeicher zum Zusammenfassen lokaler Daten von Speichermodulen

Country Status (7)

Country Link
US (2) US20060195631A1 (de)
JP (1) JP4891925B2 (de)
KR (1) KR20070092318A (de)
DE (1) DE112006000298T5 (de)
GB (1) GB2438116A (de)
TW (1) TWI335514B (de)
WO (1) WO2006083899A1 (de)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7395476B2 (en) * 2004-10-29 2008-07-01 International Business Machines Corporation System, method and storage medium for providing a high speed test interface to a memory subsystem
US7356737B2 (en) * 2004-10-29 2008-04-08 International Business Machines Corporation System, method and storage medium for testing a memory module
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7277988B2 (en) * 2004-10-29 2007-10-02 International Business Machines Corporation System, method and storage medium for providing data caching and data compression in a memory subsystem
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US20060195631A1 (en) 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US7827462B2 (en) 2005-03-31 2010-11-02 Intel Corporation Combined command and data code
US20060245226A1 (en) * 2005-05-02 2006-11-02 Inphi Corporation Fully buffered DIMM architecture and protocol
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
WO2007002324A2 (en) 2005-06-24 2007-01-04 Metaram, Inc. An integrated memory core and memory interface circuit
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
DE112006002300B4 (de) 2005-09-02 2013-12-19 Google, Inc. Vorrichtung zum Stapeln von DRAMs
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7577039B2 (en) * 2005-11-16 2009-08-18 Montage Technology Group, Ltd. Memory interface to bridge memory buses
US7368950B2 (en) * 2005-11-16 2008-05-06 Montage Technology Group Limited High speed transceiver with low power consumption
US7558124B2 (en) * 2005-11-16 2009-07-07 Montage Technology Group, Ltd Memory interface to bridge memory buses
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7636813B2 (en) * 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7783935B2 (en) * 2006-06-02 2010-08-24 Hewlett-Packard Development Company, L.P. Bit error rate reduction buffer
US7584336B2 (en) * 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US7844769B2 (en) * 2006-07-26 2010-11-30 International Business Machines Corporation Computer system having an apportionable data bus and daisy chained memory chips
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7761626B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Methods for main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies
US7761624B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Systems and apparatus for main memory with non-volatile type memory modules, and related technologies
WO2008040028A2 (en) * 2006-09-28 2008-04-03 Virident Systems, Inc. Systems, methods, and apparatus with programmable memory control for heterogeneous main memory
US20080082750A1 (en) * 2006-09-28 2008-04-03 Okin Kenneth A Methods of communicating to, memory modules in a memory channel
US9984012B2 (en) 2006-09-28 2018-05-29 Virident Systems, Llc Read writeable randomly accessible non-volatile memory modules
US7761625B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Methods for main memory with non-volatile type memory modules, and related technologies
US7761623B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies
US8949555B1 (en) 2007-08-30 2015-02-03 Virident Systems, Inc. Methods for sustained read and write performance with non-volatile memory
US8074022B2 (en) * 2006-09-28 2011-12-06 Virident Systems, Inc. Programmable heterogeneous memory controllers for main memory with different memory modules
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US8189328B2 (en) * 2006-10-23 2012-05-29 Virident Systems, Inc. Methods and apparatus of dual inline memory modules for flash memory
US7861140B2 (en) 2006-10-31 2010-12-28 Globalfoundries Inc. Memory system including asymmetric high-speed differential memory interconnect
US7694031B2 (en) 2006-10-31 2010-04-06 Globalfoundries Inc. Memory controller including a dual-mode memory interconnect
US20080133864A1 (en) * 2006-12-01 2008-06-05 Jonathan Randall Hinkle Apparatus, system, and method for caching fully buffered memory
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
US7606988B2 (en) * 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
DE102007010284A1 (de) * 2007-03-02 2008-09-04 Qimonda Ag Schnittstellenvorrichtung, Schaltungsmodul, Schaltungssystem, Vorrichtung für eine Datenkommunikation und Verfahren zum Kalibrieren eines Schaltungsmoduls
US7975082B2 (en) * 2007-07-12 2011-07-05 Oracle America, Inc. System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US9921896B2 (en) 2007-08-30 2018-03-20 Virident Systems, Llc Shutdowns and data recovery to avoid read errors weak pages in a non-volatile memory system
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
JP2009164786A (ja) * 2007-12-28 2009-07-23 Nec Electronics Corp データ転送システムおよびデータ転送方法
US8225016B2 (en) * 2007-12-31 2012-07-17 Intel Corporation Even and odd frame combination data path architecture
US9251899B2 (en) * 2008-02-12 2016-02-02 Virident Systems, Inc. Methods for upgrading main memory in computer systems to two-dimensional memory modules and master memory controllers
US8856464B2 (en) * 2008-02-12 2014-10-07 Virident Systems, Inc. Systems for two-dimensional main memory including memory modules with read-writeable non-volatile memory devices
US7948975B2 (en) * 2008-03-03 2011-05-24 IPLight Ltd. Transparent switching fabric for multi-gigabit transport
US8417873B1 (en) 2008-06-24 2013-04-09 Virident Systems, Inc. Random read and read/write block accessible memory
US9513695B2 (en) 2008-06-24 2016-12-06 Virident Systems, Inc. Methods of managing power in network computer systems
US20100005206A1 (en) * 2008-07-01 2010-01-07 International Business Machines Corporation Automatic read data flow control in a cascade interconnect memory system
US20100122003A1 (en) * 2008-11-10 2010-05-13 Nec Laboratories America, Inc. Ring-based high speed bus interface
US8713248B2 (en) * 2009-06-02 2014-04-29 Nokia Corporation Memory device and method for dynamic random access memory having serial interface and integral instruction buffer
WO2010144624A1 (en) 2009-06-09 2010-12-16 Google Inc. Programming of dimm termination resistance values
US8762657B2 (en) * 2009-07-28 2014-06-24 Rambus Inc. Method and system for synchronizing address and control signals in threaded memory modules
JP5535672B2 (ja) * 2010-02-02 2014-07-02 エヌイーシーコンピュータテクノ株式会社 シリアル転送装置及び方法
US9159442B2 (en) * 2011-11-11 2015-10-13 Microchip Technology Incorporated Serial memory with fast read with look-ahead
EP2801032B1 (de) * 2012-01-04 2020-01-01 Intel Corporation Bimodale funktionalität zwischen kohärenten links und speichererweiterung
US9357649B2 (en) 2012-05-08 2016-05-31 Inernational Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US8842490B2 (en) * 2012-06-29 2014-09-23 Intel Corporation Apparatus and method for selectively using a memory command clock as a reference clock
TWI456398B (zh) * 2012-07-03 2014-10-11 Acer Inc 支援雙主控裝置的資料路由系統
US8990473B2 (en) 2012-10-04 2015-03-24 Applied Micro Circuits Corporation Managing requests to open and closed banks in a memory system
US9336164B2 (en) 2012-10-04 2016-05-10 Applied Micro Circuits Corporation Scheduling memory banks based on memory access patterns
US9146677B2 (en) 2013-01-28 2015-09-29 Applied Micro Circuits Corporation Systems and methods for queue request ordering without stalling requests in aliasing conditions by using a hash indexed based table
US20140244900A1 (en) * 2013-02-28 2014-08-28 Spansion Llc Non-volatile memory based system ram
US9519315B2 (en) 2013-03-12 2016-12-13 International Business Machines Corporation 276-pin buffered memory card with enhanced memory system interconnect
US9141541B2 (en) 2013-09-20 2015-09-22 Advanced Micro Devices, Inc. Nested channel address interleaving
CN110265071B (zh) * 2013-09-24 2023-05-12 拉姆伯斯公司 具有内部读取-修改-写入操作的存储部件
US9984026B2 (en) * 2015-05-11 2018-05-29 Nakaikegami Koubou Co., Ltd. Circuit, parallel computing device, computer system and computer readable storage medium
US20170006462A1 (en) * 2015-07-04 2017-01-05 Sphero, Inc. Triggering associations based on detection events
CN105183433B (zh) * 2015-08-24 2018-02-06 上海兆芯集成电路有限公司 指令合并方法以及具有多数据通道的装置
US10102884B2 (en) 2015-10-22 2018-10-16 International Business Machines Corporation Distributed serialized data buffer and a memory module for a cascadable and extended memory subsystem
US9934090B2 (en) * 2015-12-22 2018-04-03 Intel Corporation Apparatus and method for enforcement of reserved bits
US10339072B2 (en) 2016-04-01 2019-07-02 Intel Corporation Read delivery for memory subsystem with narrow bandwidth repeater channel
JP6734536B2 (ja) * 2016-07-29 2020-08-05 富士通株式会社 情報処理装置及びメモリコントローラ
US10095421B2 (en) 2016-10-21 2018-10-09 Advanced Micro Devices, Inc. Hybrid memory module bridge network and buffers
US10140222B1 (en) 2017-07-06 2018-11-27 Micron Technology, Inc. Interface components
US10216685B1 (en) * 2017-07-19 2019-02-26 Agiga Tech Inc. Memory modules with nonvolatile storage and rapid, sustained transfer rates
US11336757B2 (en) 2019-03-19 2022-05-17 Texas Instruments Incorporated Sample based data transmission over low-level communication channel
US11631455B2 (en) 2021-01-19 2023-04-18 Qualcomm Incorporated Compute-in-memory bitcell with capacitively-coupled write operation
US11538509B2 (en) * 2021-03-17 2022-12-27 Qualcomm Incorporated Compute-in-memory with ternary activation
CN116233200B (zh) * 2023-05-10 2023-08-15 浙江正泰仪器仪表有限责任公司 一种基于后续帧动态注册的电能表通信方法及系统

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3914741A (en) 1973-11-01 1975-10-21 Bell Telephone Labor Inc Fault detection arrangement for digital transmission system
US4672609A (en) 1982-01-19 1987-06-09 Tandem Computers Incorporated Memory system with operation error detection
US4541091A (en) 1982-06-11 1985-09-10 Hitachi, Ltd. Code error detection and correction method and apparatus
US4907228A (en) 1987-09-04 1990-03-06 Digital Equipment Corporation Dual-rail processor with error checking at single rail interfaces
US5173905A (en) 1990-03-29 1992-12-22 Micron Technology, Inc. Parity and error correction coding on integrated circuit addresses
JPH04369720A (ja) * 1991-06-18 1992-12-22 Fujitsu Ltd パラレル/シリアル変換装置
US5530835A (en) * 1991-09-18 1996-06-25 Ncr Corporation Computer memory data merging technique for computers with write-back caches
US5455834A (en) 1993-06-14 1995-10-03 Hal Computer Systems, Inc. Fault tolerant address translation method and system
JPH0981463A (ja) 1995-09-14 1997-03-28 Fuji Electric Co Ltd メモリアクセス方法
US5940137A (en) * 1996-03-01 1999-08-17 Trw Inc. Symbol timing generation and recovery for data transmission in an analog video signal
JP2984913B2 (ja) 1996-04-23 1999-11-29 順一 仙波 プログラム可能なシーケンス制御回路
US5900742A (en) * 1996-06-21 1999-05-04 Quicklogic Corporation Interface cell for a programmable integrated circuit employing antifuses
US5996113A (en) 1996-11-26 1999-11-30 Intel Corporation Method and apparatus for generating digital checksum signatures for alteration detection and version confirmation
US6101198A (en) * 1996-12-03 2000-08-08 Carrier Access Corporation Processor-based voice and data time slot interchange system
US7076568B2 (en) * 1997-10-14 2006-07-11 Alacritech, Inc. Data communication apparatus for computer intelligent network interface card which transfers data between a network and a storage device according designated uniform datagram protocol socket
US7243543B2 (en) 1999-10-01 2007-07-17 Optoplan As Highly sensitive accelerometer
US6760743B1 (en) 2000-01-04 2004-07-06 International Business Machines Corporation Instruction memory system for multi-processor environment and disjoint tasks
US7266634B2 (en) * 2000-01-05 2007-09-04 Rambus Inc. Configurable width buffered module having flyby elements
US6999407B2 (en) * 2001-03-15 2006-02-14 Samsung Electronics Co., Ltd. Speed negotiation device and method
JP3757204B2 (ja) 2002-12-06 2006-03-22 ファナック株式会社 エラー検出/訂正方式及び該方式を用いた制御装置
US7313639B2 (en) * 2003-01-13 2007-12-25 Rambus Inc. Memory system and device with serialized data transfer
US7020757B2 (en) * 2003-03-27 2006-03-28 Hewlett-Packard Development Company, L.P. Providing an arrangement of memory devices to enable high-speed data access
KR101095025B1 (ko) * 2003-05-13 2011-12-20 어드밴스드 마이크로 디바이시즈, 인코포레이티드 직렬 메모리 상호접속부를 통해 복수의 메모리 모듈에결합된 호스트를 포함하는 시스템
US7165153B2 (en) * 2003-06-04 2007-01-16 Intel Corporation Memory channel with unidirectional links
US20060095620A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method and storage medium for merging bus data in a memory subsystem
US20060195631A1 (en) 2005-01-31 2006-08-31 Ramasubramanian Rajamani Memory buffers for merging local data from memory modules
US20060242537A1 (en) 2005-03-30 2006-10-26 Dang Lich X Error detection in a logic device without performance impact
US7827462B2 (en) 2005-03-31 2010-11-02 Intel Corporation Combined command and data code

Also Published As

Publication number Publication date
KR20070092318A (ko) 2007-09-12
JP4891925B2 (ja) 2012-03-07
JP2008529175A (ja) 2008-07-31
US20060195631A1 (en) 2006-08-31
GB2438116A8 (en) 2007-11-19
US8166218B2 (en) 2012-04-24
US20090013108A1 (en) 2009-01-08
WO2006083899A1 (en) 2006-08-10
GB2438116A (en) 2007-11-14
TWI335514B (en) 2011-01-01
GB0714910D0 (en) 2007-09-12
TW200641621A (en) 2006-12-01

Similar Documents

Publication Publication Date Title
DE112006000298T5 (de) Zwischenspeicher zum Zusammenfassen lokaler Daten von Speichermodulen
DE19982871B4 (de) Speichersystem mit jeweils einen Speichermodul-Controller enthaltenden Speichermodulen
DE60205877T2 (de) Verfahren zur synchronisation der auslesezeit eines hochgeschwindigkeitsspeichers
DE102012204991B4 (de) Speichereinrichtungen, Systeme und Verfahren unter Verwendung einer Befehls/Adressenkalibrierung
DE10212642B4 (de) Empfängerschaltungsanordnung für eine Speichersteuerung und Verfahren zum Empfangen von Daten in einer Speichersteuerung
DE69133572T2 (de) Halbleiterbauelement mit dynamischem Arbeitsspeicher (DRAM)
DE102005050595B4 (de) Speichersystem, Speichervorrichtung und Verfahren dafür
CN101196856B (zh) 双端口访问单一动态存储器的接口
DE60006842T2 (de) Multiprozessor-Node-Controller-Schaltung und Verfahren
DE69836437T2 (de) Speichersystem mit speichermodul mit einem speichermodul-steuerbaustein
DE112007002605T5 (de) Speichersystem mit seriellem Hochgeschwindigkeitspuffer
EP2132635B1 (de) System mit hierarchischen speichermodulen mit verschiedenen arten von integrierten speicherschaltungen
DE112007002619T5 (de) Speichersteuerung mit einer Speicherverbindung mit zwei Betriebsmodi
DE60308183T2 (de) Pufferanordnung für speicher
DE102006029742A1 (de) Halbleiterspeichersystem
DE10210904A1 (de) Speichermodul, zugehöriges Speichersystem und Taktsignalerzeugungsverfahren
DE112005002261B4 (de) Gepufferter kontinuierlicher Mehrpunkt-Taktring
DE102006050233A1 (de) Speichermodul, Speichersteuereinheit, Speichersystem und Verfahren zum Steuern eines Speichersystems
DE10206060A1 (de) Speichersystem mit Stichleitungskonfiguration und zugehöriges Datenübertragungsverfahren
DE19844703A1 (de) Integrierte Halbleiterschaltungsvorrichtung
DE102006043311A1 (de) Speichersystem
DE102007039192A1 (de) Verfahren und Schaltung zum Übertragen eines Speichertaktsignals
DE112006003503T5 (de) Mehrfachanschluss-Speicher mit Banksätzen zugeordneten Anschlüssen
DE112008002273T5 (de) Optimale Lösung zur Steuerung von Datenkanälen
DE602004011828T2 (de) Empfänger-corporation

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee