DE112008002273B4 - Optimale Lösung zur Steuerung von Datenkanälen - Google Patents

Optimale Lösung zur Steuerung von Datenkanälen Download PDF

Info

Publication number
DE112008002273B4
DE112008002273B4 DE112008002273.9T DE112008002273T DE112008002273B4 DE 112008002273 B4 DE112008002273 B4 DE 112008002273B4 DE 112008002273 T DE112008002273 T DE 112008002273T DE 112008002273 B4 DE112008002273 B4 DE 112008002273B4
Authority
DE
Germany
Prior art keywords
bit
memory controller
bit data
memory
data path
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.)
Active
Application number
DE112008002273.9T
Other languages
English (en)
Other versions
DE112008002273T5 (de
Inventor
Tahsin Askar
Philip E. Madrid
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.)
GlobalFoundries US Inc
Original Assignee
GlobalFoundries US Inc
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 GlobalFoundries US Inc filed Critical GlobalFoundries US Inc
Publication of DE112008002273T5 publication Critical patent/DE112008002273T5/de
Application granted granted Critical
Publication of DE112008002273B4 publication Critical patent/DE112008002273B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

Eine DRAM-Steuerung (103) umfasst zwei Substeuerungen (406, 404), wovon jede in der Lage ist, eine entsprechende n-Bit-Schnittstelle (beispielsweise eine 64-Bit-Schnittstelle) zu handhaben. Jede Substeuerung ist ferner ausgebildet, dass sie (2n)-Bitfähig ist (beispielsweise 128-Bit) im Hinblick auf die Steuerlogik, um einen logischen 128-Bit-Datenpfad zu steuern. In einem vereinten Modus arbeitet jede Substeuerung so, als ob sie Daten in 128-Bit-Blöcken verarbeitet (d. h. den gesamten 128-Bit-Datenpfad verarbeitet), während tatsächlich die volle Bandbreite erreicht wird, indem eine der Substeuerungen veranlasst wird, auf Befehlen und auf einem ersten n-Bit-Bereich jedes (2n)-Bit Datenblock zu operieren, und indem die andere Substeuerung veranlasst wird, auf einer „Kopie“ der Befehle und einem entsprechenden verbleibenden n-Bit-Bereich jedes (2n)-Bit Datenblock zu operieren. Sobald die BIOS die beiden DRAM-Steuerungen konfiguriert und initialisiert hat, so dass diese im vereinten Modus arbeiten, brauchen das BIOS und jegliche Softwareanwendungen nicht mehr wissen, dass zwei Speichersteuerungen zum Zugreifen auf einen einzelnen (2n)-Bit breiten Kanal verwendet werden.

Description

  • Hintergrund
  • 1. Technisches Gebiet
  • Diese Erfindung betrifft allgemein das Gebiet der Speichersysteme und betrifft insbesondere die Steuerung mehrerer Speicherkanäle.
  • 2. Hintergrund
  • Durch die zunehmende Komplexität aktueller Computersysteme und durch die Fortschritte der Technologie, die zu immer höheren Prozessorgeschwindigkeiten führen, ist es zunehmend schwierig, das Systemverhalten zu optimieren, das häufig wesentlich von der Brandbreite und der Bearbeitungszeit bzw. Latenzzeit des Speichers des gegebenen Systems abhängt. Folglich kann das Zugreifen auf den Speicher mit der geringsten Wartezeit und der höchsten Ausnutzung der Speicherbandbreite das Verhalten des Systems verbessern und/oder optimieren. Wenn die erforderliche Zeit zum Zugreifen auf den Speicher und zum Abschließen einer gegeben Speicheranforderung anwächst, verlangsamt sich das System. Somit kann eine Verringerung der Zugriffszeit und/oder eine Zunahme des Durchsatzes auf dem Speicherbus das Systemverhalten vorteilhaft beeinflussen.
  • In einer Vielzahl an Systemen, wozu Tischrechner, graphische Adapterkarten und Notebook-Computer u. a. gehören, werden dynamische Speicherelemente mit wahlfreiem Zugriff (DRAM) verwendet. DRAM-Bauelemente liefern viele Vorteile gegenüber anderen Speichertechnologien, wozu insbesondere statische Speicherbauelemente mit wahlfreiem Zugriff (SRAM) gehören. Diese Vorteile sind die hohe Speicherdichte und die geringe Leistungsaufnahme. Jedoch gehen diese Vorteile mit diversen Zeitverzögerungen einher, die beim Präparieren der Speicherzellen und anderer Komponenten in den DRAM-Bauelementen für einen nachfolgenden Zugriff auftreten, beispielsweise vor/nach jedem Lese/Schreibzugriff. Zu Beispielen derartiger Verzögerungen gehört die Zeit, die zum Ausführen einer Zeilenvoraufladung, einer Zeilenauffrischung und einer Zeilenaktivierung erforderlich ist. Um Speicheroperationen präziser zu verwalten und zu steuern, um diese Verzögerungen zu vermeiden, wurden zusätzliche Befehle - die zwischen dem Lese/Schreibzugriffen übertragen werden - eingeführt, woraus sich zusätzlicher Aufwand ergibt. Um das Systemverhalten und den Aufbau zu verbessern, indem die Speicherverwaltung für zentrale Verarbeitungseinheiten transparent gemacht wird, wird der Speicherzugriff typischerweise durch spezielle Speichersteuerungen verwaltet, die den Datenstrom zu/von dem Speicher steuern und die erforderlichen Speicherverwaltungsbefehle, etwa die Zeilenvoraufladung und die Zeilenaktivierung, ausführen. Ein großer Anteil an DRAM's, die heutzutage verwendet werden, gehören zur Familie der synchronen DRAM's mit doppelter Datenrate (DDR SDRAM). Ein DDR SDRAM (einschließlich eines DDR2 und DDR3) erreicht eine größere Bandbreite als ein SDRAM mit Einzeldatenrate, indem Daten auf der ansteigenden und abfallenden Flanke eines Synchronisiersignals auf der Grundlage des Systemtaksignals übertragen werden. Dies verdoppelt effektiv die Übertragungsrate, wodurch das Systemverhalten verbessert wird, ohne dass eine Vergrößerung der Frequenz des Speicherbusses erforderlich ist. Zusätzlich zur Datenübertragungsgeschwindigkeit wird das Leistungsverhalten eines Systems auch durch die Speicherbusbreite beeinflusst. Im Allgemeinen ist die Busbreite dadurch bestimmt, wie viele parallele Datenleitungen verfügbar sind, um mit den Speicherzellen zu kommunizieren. Die Busbreite einer Speichersteuerung legt auch fest, wie viele Datenbits die Steuerung gleichzeitig bewältigen kann. Dies kann von etwa 8 Bits in frühen Systemen bis 256 Bits in komplizierteren Systemen und Graphikkarten reichen. Um das DRAM-Verhalten weiter zu verbessern, werden im Hinblick auf die Busbreite viele Hauptplatinen mit Doppelkanalspeicherung konfiguriert, wodurch der Datendurchsatz zwischen dem DRAM und der Speichersteuerung durch effektives Verdoppeln der Busbreite verdoppelt wird.
  • Die Doppelkanaltechnologie (oder allgemein die Mehrkanaltechnologie) wurde entwickelt, um hauptsächlich das Problem von Engstellen zu lösen. Wie zuvor angegeben ist, bestimmt der Aufbau einer Speichersteuerung typischerweise die Art und die Geschwindigkeit des DRAM's, der verwendet werden kann, sowie auch die maximale Größe jedes einzelnen Speichermoduls und die Gesamtspeicherkapazität des Systems. Es gibt Speichersteuerungen mit einer Vielzahl von eingebauten Merkmalen und Eigenschaften, aber diese waren in der Vergangenheit typischerweise so ausgebildet, dass eine Steuerung eines einzelnen Speicherkanals erreicht wurde. Vorteile einer Einzelkanalspeichersteuerung sind die geringen Kosten und die Flexibilität. Jedoch erzeugen Einzelkanalspeichersteuerungen eine Engstelle, wenn ihr Leistungsverhalten nicht ausreichend ist, um mit dem Leistungsverhalten der CPU Schritt zu halten. In vielen Fällen bleibt die CPU untätig, da keine Daten zum Bearbeiten vorhanden sind, wenn die Speichersteuerung nicht in der Lage ist, den erforderlichen Datenstrom aufrecht zu erhalten. Als allgemeine Regel gilt, dass die meisten Einzelkanalspeicher diese Engstelle bilden, wenn der Durchsatz des CPU-Busses den Busdurchsatz des einzelnen Speicherkanals übersteigt.
  • Eine Doppelkanalkonfiguration umgeht typischerweise die Problematik einer Engstelle durch effektives Verdoppeln des Betrags an verfügbarer Speicherbandbreite. Anstelle eines Einzelspeicherkanals wird ein zweiter paralleler Kanal hinzugefügt, um die Engstelle zu reduzieren, indem zwei Speicherkanäle gleichzeitig betrieben werden. Somit kann die Doppelkanalarchitektur die bestehende SDRAM- (beispielsweise DDR) Technologie ausnutzen und kann das oder die Verfahren verbessern, mit denen auf den Speicher zugegriffen wird. Um Doppelkanalspeichersteuerungen zu verwenden, sind die DRAM-Bauelemente typischerweise auf zwei unterschiedliche Busse aufgeteilt, um den Speichersteuerungen den parallelen Zugriff zu ermöglichen, wodurch somit die theoretische Größe der Bandbreite des Busses verdoppelt wird. Aus Sicht des Funktionsverhaltens könnten mehr Kanäle eingerichtet werden (ein Kanal für jede DRAM-Zelle könnte eine ideale Lösung sein), aber auf Grund der Anschlusszahl, der Leitungskapazität und der Notwendigkeit für gleiche Länge für Leitungen mit parallelem Zugriff können zusätzliche Kanäle im Allgemeinen nur sehr schwer eingerichtet werden. Gegenwärtig werden graphische Subsysteme höherer Leistungsfähigkeit mit vier 64-Bitsimultanen Speichersteuerungen, die parallel arbeiten, versehen, um insgesamt 256 Datenleitungen gleichzeitig zu verwalten. In einigen Fällen werden Speichersteuerungen, die mehrere Kanäle handhaben können, so gestaltet, dass sie in einem „Mehrfachmodus“ arbeiten, wobei beispielsweise zwei 64-Bit-Speichersteuerungen verwendet werden, um ein 128-Bit-Speicherbauelement abzurufen, oder um eine einzelne logische 128-Bit-Schnittstelle zu verwalten.
  • In der US 2005/0033909 A1 wird eine Zweikanalarchitektur eines Speicherzugriffssystems beschrieben, die zwei separate Speicherkontroller aufweist, von denen jeder einen Speicherdatenbus, einen Speicheradressbus und einen Steuersignalbus umfasst.
  • In vielen Rechnerarchitekturen, in denen hoch zuverlässige Speichersubsysteme erforderlich sind, werden redundante Speicherbauelemente und eine Fehlerkorrekturcodierung (ECC) verwendet, um mögliche Fehler zu korrigieren, die während des Betriebs auftreten können. Die ECC wird häufig mittels einem Mehr-Bit-Symbol aufgebaut, um Fehler zu korrigieren, die sich durch ein nicht funktionsfähiges Speicherbauelement ergeben. Diese Konfiguration/Verwendung der ECC wird häufig als „Chiptötungs-ECC“ bezeichnet. Doppelkanalkonfigurationen sind für die Chiptötungs-ECC relevant. Insbesondere ist die Chiptötungs-ECC ein Grund, warum Speichersteuerungen, die mehrere Kanäle unterstützen, so ausgebildet sind, dass sie in einem Mehrfachmodus arbeiten, wenn die durch die Chiptötungs-ECC erforderliche Bandbreite größer war als die Datenpfadbreite der Speicherbauelemente. Beispielsweise würde eine Unterstützung für eine x4-Chiptötungs-ECC bedeuten, dass jegliches 4-Bit-Symbol reparierbar ist, selbst wenn es vollständig falsch ist. Die Anzahl an x4-Symbolen, die von der Chiptötungs-ECC verwendet wird, bestimmt die Größe der erforderlichen Schnittstelle, d. h. der erforderlichen Breite des Datenpfads. Wenn beispielsweise 32-4 Symbole verwendet werden, würde eine 128-Bit-Schnittstelle erforderlich sein.
  • Obwohl das gesamte Systemverhalten wesentlich verbessert werden kann, indem eine Peripherie für einen Doppelkanalspeicher vorgesehen wird, werden die Entwurfskomplexität und die Größe der Speichersteuerungen, die für die Handhabung von Doppelkanalkonfigurationen ausgebildet sind, unvermeidbar größer als bei Speichersteuerungen, die lediglich einen einzelnen Kanal verwalten, insbesondere, wenn eine Doppelkanalhandhabung sowohl in einer „vereinten“ als auch in einer „nicht vereinten“ Konfiguration erforderlich ist. Es ist daher problematisch, Speichersteuerungen zu gestalten und aufzubauen, die für eine Doppelkanalspeichersteuerung ausgebildet sind, während die Flächeneffizienz beibehalten wird und nicht wesentlich mehr Komplexität als in Speichersteuerungen erzeugt wird, die für die Handhabung lediglich eines einzelnen Speicherkanals ausgebildet sind.
  • Andere entsprechende Probleme, die mit dem Stand der Technik verknüpft sind, werden für den Fachmann beim Vergleich derartiger konventioneller Technologie mit der vorliegenden Erfindung, wie sie hierin beschrieben ist, ersichtlich.
  • Überblick über die Erfindung
  • In der vorliegenden Erfindung wird bereitgestellt ein Verfahren zum Zugreifen auf einen Speicherkanal mit einem (2n)-Bit Datenpfad, wobei n eine positive Ganzzahl ist, wobei das Verfahren umfasst:
    • Übertragen von Zugriffsinformation, die Adresseninformationen umfasst, zu einer ersten Speichersteuerung mit einem n-Bit-Datenpfad, um (2n)-Bit Datenblöcke über den Speicherkanal zu übertragen und/oder zu empfangen;
    • Kopieren der Zugriffsinformation in eine zweite Speichersteuerung mit einem n-Bit-Datenpfad;
    • in Reaktion auf das Übertragen der Zugriffsinformation und des Kopierens der Zugriffsinformation:
      • Übertragen und/oder Empfangen eines ersten n-Bit-Bereichs jedes der (2n)-Bit Datenblöcke durch die erste Speichersteuerung über ihren n-Bit-Datenpfad; und
      • Übertragen und/oder Empfangen eines verbleibenden n-Bit-Bereichs jedes der (2n)-Bit Datenblöcke durch die zweite Speichersteuerung über ihren n-Bit-Datenpfad; und weiterhin die Schritte umfassend:
    • Übertragen an die erste Speichersteuerung einen oder mehrere (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, um den einen oder die mehreren (2n)-Bit Datenblöcke entsprechend der Adresseninformation zu speichern; und
  • Kopieren des einen oder der mehreren (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, in die zweite Speichersteuerung.
  • Es wird zudem bereitgestellt ein Speichersystem mit:
    • einer ersten Speichersteuerung mit einem n-Bit-Datenpfad, wobei die erste Speichersteuerung ausgebildet ist, eine erste Art an Zugriffsinformation, die Adresseninformationen umfasst, zu empfangen, die zum Übertragen und/oder Empfangen entsprechender (2n)-Bit Datenblöcke über einen (2n)-Bit Speicherkanal vorgesehen ist;
    • einer zweiten Speichersteuerung mit einem n-Bit-Datenpfad; und
    • einem Steuerblock, der mit der ersten Speichersteuerung und der zweiten Speichersteuerung verbunden und ausgebildet ist, die erste Art an Zugriffsinformation, die von der ersten Speichersteuerung empfangen wird, in die zweite Speichersteuerung zu spiegeln;
    • wobei die erste Speichersteuerung ausgebildet ist, einen ersten n-Bit-Bereich jedes der (2n)-Bit Datenblöcke über ihren n-Datenpfad entsprechend der empfangen ersten Art an Zugriffsinformation zu übertragen und/oder zu empfangen, und wobei die zweite Speichersteuerung ausgebildet ist, einen verbleibenden n-Bit-Bereich jedes der (2n)-Bit Datenblöcke über ihren n-Bit-Datenpfad gemäß der gespiegelten ersten Art an Zugriffsinformation zu übertragen und/oder zu empfangen;
    • und wobei der Steuerblock weiterhin dazu ausgebildet ist, an die erste Speichersteuerung einen oder mehrere (2n)-Bit Datenblöcke zu übertragen, die der Adresseninformation entsprechen, um den einen oder die mehreren (2n)-Bit Datenblöcke entsprechend der Adresseninformation zu speichern; und
    • den einen oder die mehreren (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, in die zweite Speichersteuerung zu kopieren.
  • Andere Aspekte der Erfindung gehen aus dem Studium der folgenden detaillierten Beschreibung unter Bezugnahme auf die begleitenden Zeichnungen hervor, in denen:
    • 1 eine Blockansicht eines anschaulichen Systems mit einer Speichersteuerung ist, die zum Zugreifen auf einen Speicher mittels eines Speicherbusses ausgebildet ist;
    • 2 eine Teillogikblockansicht einer Ausführungsform der Speichersteuerung aus 1 ist;
    • 3 eine detailliertere Blockansicht ist, in der eine Ausführungsform der Speichersteuerungskonfiguration aus 2 gezeigt ist; und
    • 4 eine Blockansicht ist, in der eine Ausführungsform eines Aufbaus gezeigt ist, in welchem zwei 64-Bit-Speichersteuerungen verwendet werden, um 128-Bit-Daten für einen 128-Bit-Logikspeicherkanal bereitzustellen.
  • Obwohl die Erfindung diversen Modifizierungen und alternativen Formen unterliegen kann, sind dennoch spezielle Ausführungsformen beispielhaft in den Zeichnungen gezeigt und werden nachfolgend detaillierter beschrieben. Zu beachten ist jedoch, dass die Zeichnungen und die Beschreibung nicht beabsichtigen, die Erfindung auf die spezielle offenbarte Form einzuschränken, sondern die Erfindung soll vielmehr alle Modifizierungen, Äquivalente und Alternativen abdecken, die innerhalb des Grundgedankens und des Schutzbereichs der vorliegenden Erfindung liegen, wie sie durch die angefügten Patentansprüche definiert ist.
  • Art bzw. Arten zum Ausführen der Erfindung
  • 1 zeigt eine Blockansicht eines grundlegenden anschaulichen Systems 100, das ein Computersystem sein kann, in welchem eine Verarbeitungseinheit 100 mit einem Prozessorkern 101 eingerichtet ist, der mit einer Speichersteuerung 103 verbunden ist. In einigen Ausführungsformen ist der Prozessorkern 101 mit der Speichersteuerung 103 über eine Nordbrücke 107 gekoppelt, die ausgebildet ist, den Datenstrom zu und von dem Prozessorkern 101 zu verwalten. Die Speichersteuerung 103 ist mit einem Speicherbus 111 gekoppelt, über welchen die Speichersteuerung 103 den Zugriff zu dem Speicher 105 regelt, um den Datenaustausch zwischen der Verarbeitungseinheit 100 und dem Speicher 105 zu ermöglichen. Der Fachmann erkennt, dass das System 100 in vielfältiger Weise eingerichtet werden kann und dieses nur gezeigt ist, um den grundlegenden Aufbau darzustellen, in welchem der Speicherzugriff mittels einer Speichersteuerung gesteuert ist.
  • In einer Gruppe aus Ausführungsformen umfasst die Speichersteuerung 103 Subschaltungen und/oder Komponenten, wozu Register zur Handhabung einer Reihe von Funktionen gehören, wie sie für das System 100 erforderlich sind. Beispielsweise enthält die Speichersteuerung 103 diverse Puffer für die Zwischenspeicherung von Daten, die zwischen dem Speicher 105 und dem Prozessorkern 101 ausgetauscht werden, und es kann eine Aufteilung in Sub-Steuerblöcke vorgesehen sein. In ähnlicher Weise kann der Speicher 105 mehrere Speicherelemente oder Speicherbauelemente in diversen Konfigurationen aufweisen, die ausgebildet sind, die Kommunikation mit der Speichersteuerung 103 über einen Speicherbus 111 abzuwickeln. Es sind diverse Ausführungsformen möglich und hierin berücksichtigt. Der Speicher 105 kann ein DRAM (dynamischer Speicher mit wahlfreiem Zugriff) sein und die Speichersteuerung 103 ist in diesem Falle eine DRAM-Steuerung. Insbesondere kann das System 100 einen DRAM mit doppelter Datenrate (DDRDRAM) beispielsweise einen DDR3-Speicher (Speicher 105) umfassen, der durch DDR3-Speichersteuerung 103 gesteuert ist. In einer Gruppe aus Ausführungsformen ist die DRAM-Steuerung 103 ausgebildet, den Zugriff auf die DRAM-Bauelemente 105 über mehr als einen Kanal, beispielsweise über duale Kanäle zu verwalten oder zu steuern.
  • Beide DRAM-Kanäle besitzen eine spezifizierte Größe, beispielsweise eine Breite von 64-Bits. Somit ist ggf. ein einzelner DRAM-Kanal 64-Bits breit. Zwei DRAM-Kanäle parallel zueinander können daher eine effektive Busbreite von 128 Bits liefern. In einigen Systemkonfigurationen werden die beiden DRAM-Kanäle vorzugsweise miteinander „vereint“, um als eine einzelne logische 128-Bit-Schnittstelle zu fungieren. In gewissen anderen Systemkonfigurationen sind die beiden DRAM-Kanäle vorzugsweise „nicht vereint“, so dass diese als zwei unabhängige 64-Bit-Kanäle fungieren. Das Berücksichtigen beider Systemkonfigurationen erfordert das Bewahren der Unabhängigkeit der kleineren einzelnen Kanal-(Bus) Breite, was in dem zuvor genannten Beispiel das Beibehalten einer 64-Bit-Unabhängigkeit bedeuten würden. Zu beachten ist, dass, obwohl in den hierin erläuterten Ausführungsformen ein einzelner Kanal eine Busbreite von 64-Bits besitzt, in anderen Ausführungsformen ein einzelner Kanal eine andere Busbreite aufweisen kann, und es sind eine Vielzahl an Ausführungsformen und Systemkonfigurationen möglich und hierin berücksichtigt, in denen die Busbreite größer oder kleiner ist als 64 Bits.
  • In einer Gruppe aus Ausführungsformen umfasst der DRAM 105 mehrere physikalische DIMM- (Doppelreihenspeichermodule). Das System 100 kann so ausgebildet sein, dass ein von der DRAM-Steuerung 103 angesprochner logischer DIMM entweder zwei identische physikalische 64-Bit DIMM's, die parallel betrieben werden, aufweist, um eine einzelne 128-Bit-Schnittstelle zu bilden (wie in einem vereinten Modus), oder er kann zwei physikalische 64-Bit-DIMM aufweisen (wie in einem nicht vereinten Modus). Um unabhängige 64-Bit-Kanäle beizubehalten, um damit die Möglichkeit zu bewahren, auf zwei 64-Bit breite logische DIMM zuzugreifen, ist die DRAM-Steuerung 105 mit zwei Speichersubsteuerungen versehen. Wie in 2 gezeigt ist, ist jede Speichersubsteuerung ausgebildet, mindestens einen jeweiligen einzelnen 64-Bit breiten Kanal im nicht vereinten Modus zu steuern, wobei eine der Steuerungen auch ausgebildet ist, einen 128-Bit-Kanal zu steuern. Wenn die beiden Speichersubsteuerungen im vereinten Modus betrieben werden, ist ein logisches DIMM ggf. zwei Kanäle breit. Für jedes physikalische DIMM eines logischen Doppelkanal-DIMM ist es unter Umständen erforderlich, dass sie in der Größe und somit den gesamten Zeitgeberparametern gleich sind, wobei beide Speichersubsteuerungen mit der gleichen Information programmiert sind. Wenn die Speichersubsteuerungen in einem 64-Bit-Modus betrieben werden, ist ein logischen DIMM äquivalent zu einem physikalischen 64-Bit-DIMM, wobei eine zugeordnete Speichersubsteuerung jeden Kanal steuert.
  • Die in 2 gezeigte DRAM-Steuerung 203 repräsentiert eine mögliche Ausführungsform der DRAM-Steuerung 103, die in 1 gezeigt ist, und kann Speichersubsteuerungen 204 und 206 aufweisen, um entsprechend den Speicherkanal 0 bzw. 1 zu steuern. Die DRAM-Steuerung 203 ist ausgebildet, die Speichersubsteuerungen 204 und 206 entweder im vereinten oder nicht vereinten Modus zu betreiben. In der in 2 gezeigten Ausführungsform ist die Speichersubsteuerung 206 ausgebildet, einen 64-Bit-Datenpfad zu verwalten, und die Speichersubsteuerung 204 ist ausgebildet, einen 64-Bit-Datenpfad (im nicht vereinten Modus) oder einen 128-Bit-Datenpfad (im vereinten Modus) zu verwalten. Somit steuert im nicht vereinten Modus die Speichersubsteuerung 204 den 64-Bit-Datenpfad des Kanals 0, und die Speichersubsteuerung 206 steuert den 64-Bit-Datenpfad des Kanals 1. Im vereinten Modus ist die Speichersubsteuerung 206 deaktiviert und die Speichersubsteuerung 204 wird im 128-Bit-Modus betrieben, um beide Kanäle zu steuern. Dies macht es jedoch notwendig, dass der 64-Bit-Datenpfadausgang des Kanals 1 entsprechend in einem Multiplexbetrieb betrieben wird, abhängig davon, ob der Kanal 1 von der Speichersubsteuerung 206 (im nicht vereinbarten Modus) gesteuert wird, oder von der Steuerung 204 (im vereinten Modus) gesteuert wird. Somit ist ein Multiplexer (MUX) 208 ausgebildet, zwischen den jeweiligen 64-Bit-Datenpfaden unter Anwendung eines Vereinigungsmodussignals als Steuersignal auszuwählen. Wenn die Speichersubsteuerungen 204 und 206 in einem vereinten Modus betrieben werden, arbeitet der MUX 208 so, dass ein 64-Bit-Datenpfad 212 ausgewählt wird, wohingegen beim Betrieb im nicht vereinten Modus der MUX 208 so arbeitet, dass ein 64-Datenpfad 210 ausgewählt wird.
  • Eine detailliertere Darstellung dieser Ausführungsform ist in 3 gezeigt. Der Speicher 105 umfasst physikalische 64-Bit DIMM's 302 und 304. Das DIMM 302 ist mit dem Datenpfad der DRAM-Substeuerung 204 verbunden, und das DIMM 304 ist mit dem Ausgangs-MUX 306 verbunden. Wie gezeigt, wird eine Nordbrücke 310 verwendet, um eine Schnittstelle zwischen beispielsweise einer zentralen Recheneinheit und den DRAM-Substeuerungen 204 und 206 bereitzustellen. In dieser Ausführungsform ist der Anschluss 0 (beispielsweise mittels Software) als eine 128-Bit-Steuerung konfiguriert, wenn im vereinten Modus gearbeitet wird. Folglich ist die DRAM-Substeuerung 204 mit einem 128-Bit-Datenpfad versehen, wobei die Bits 63:0 dem Kanal 0 (wie zuvor angegeben) entsprechen, und wobei die Bits 127:64 dem Kanal 1 entsprechen, wenn die DRAM-Substeuerung 204 im vereinten Modus verwendet wird. Somit wird der 64-Bit-Datenpfad, der dem Kanal 1 entspricht, ebenfalls zwischen der Nordbrücke 310 und dem DRAM-Substeuerungen 204 und 206 im Multiplexbetrieb ausgetauscht.
  • Beim Betrieb im nicht vereinten Modus wird der MUX 208 verwendet, um die 64-Bit-Daten, die dem Kanal (Anschluss 1) entsprechen und von der Nordbrücke 310 erhalten werden, an die DRAM-Substeuerung 206 weiterzuleiten. Der MUX 306 wird dann verwendet, um die Daten aus der DRAM-Steuerung 206 zur Übertragung an das DIMM 304 des Kanals 1 auszuwählen. Bei Betriebsweise im vereinten Modus wird der MUX 308 verwendet, um die 64-Bit-Daten, die dem Anschluss 1 entsprechen und von der Nordbrücke 310 empfangen werden, an die DRAM-Substeuerung 204 als Bits 127:64 des 128-Bit-Datenpfads, der von der DRAM-Substeuerung 204 gesteuert wird, weiterzuleiten. Der MUX 306 wird dann verwendet, um die Bits 127:64 des Datenpfads von der DRAM-Steuerung 204 zur Ankopplung an das DIMM 304 des Kanals 1 auszuwählen. Des weiteren kann der MUX 306 auch verwendet werden, um die Adressen/Befehlsinformationen, die zum Adressieren von und zum Zugreifen auf die DIMM 302 und 304 auszuwählen. Im nicht vereinten Modus wird der MUX 306 verwendet, um Adressen- und Befehlsinformationen von der DRAM-Substeuerung 206 auszuwählen, während im vereinten Modus der MUX 306 verwendet wird, um Adressen- und Befehlsinformationen aus der DRAM-Substeuerung 204 auszuwählen.
  • Obwohl dies eine Lösung darstellt, um der DRAM-Steuerung 103 die Fähigkeit zu verleihen, auf zwei unabhängige 64-Bit-Kanäle oder einen einzelnen 128-Bit-Kanal zuzugreifen (im Allgemeinen zwei unabhängige n-Bit-Kanäle oder ein einzelner (2n)-Bitkanal) führt das Konfigurieren der DRAM-Substeuerung derart, dass diese tatsächlich in der Lage ist 128 Bits zu verwalten, indem ein tatsächlicher 128-Bit-Datenpfad gesteuert wird, zu einer größeren Fläche, die von der DRAM-Substeuerung 204 eingenommen wird. Ferner kann der Multiplexbetrieb, der von dem MUX 306 und dem MUX 308 ausgeführt wird, problematisch sein, da das Einrichten der Quellensynchronisierbusse äußerst problematisch ist. Ferner kann es eine 128-Bit-Schnittstelle erforderlich machen, dass die DRAM-Substeuerung 204 einen wesentlichen Anteil an Daten in Konfigurationsregistern ablegt, um die DIMM-Art und den Speicherbereich der zusätzlichen DIMM's für den anderen 64-Bit-Kanal (d. h. für die Datenbits 127:64) zu bestimmen. Wie in 3 gezeigt ist, erfordert eine derartige Konfiguration auch einen vollständig 128-Bit-Datenpfad zwischen der DRAM-Substeuerung 204 und den DIMM 302 und 304, sowie zwischen der DRAM-Substeuerung 204 und der Nordbrücke 310, was in Anwesenheit einer weiteren Steuerung, etwa der DRAM-Substeuerung 206, die in einem nicht vereinten Modus arbeiten muss, schwierig einzurichten ist.
  • 4 zeigt eine alternative Ausführungsform 400, in der DRAM-Substeuerungen 404 und 406 beide ausgebildet sind, unabhängig entsprechende 64-Bit-Datenpfade zu steuern, wobei sie auch ausgebildet sind, zusammen einen einzelnen 128-Bit-Datenpfad zu steuern, wobei jede Substeuerung nicht mit einem tatsächlichen 128-Bit-Datenpfad versehen sein muss (wie in der in 3 gezeigten Konfiguration). In dieser Ausführungsform sind die unabhängigen DRAM-Substeuerungen 204 und 205 ausgebildet, als eine einzelne 128-Bit breite Doppelkanal-DRAM-Steuerung in einem vereinten Modus zu arbeiten, oder um als zwei Einzelkanal-DRAM-Steuerung mit 64 Bitbreite in einem nicht vereinten Modus zu arbeiten.
  • Im Allgemeinen sind die DRAM-Substeuerungen 404 und 406 ausgebildet, um als eine einzelne <2n>-Bitbreite Doppelkanal-DRAM-Steuerung im vereinten Modus zu arbeiten, oder um als zwei Einzelkanal-DRAM-Steuerungen mit einer Breite von n-Bit im nicht vereinten Modus zu arbeiten. Im vereinten Modus sind beide DRAM-Subssteuerungen 406 und 404 mit der gleichen Information programmiert. Somit werden Informationen/Daten, die in eine erste Gruppe aus Registern geschrieben werden und die der DRAM-Substeuerung 404 entsprechen, beiden Kanälen (Anschlüssen) zugeleitet. Information/Daten, die in eine zweite Gruppe aus Registern geschrieben werden, die der DRAM-Substeuerung 406 entsprechen, werden ignoriert. Lese- und Schreiboperation werden auf die Größe der Cache-Zeile zugeschnitten, die in dem System verwendet werden. Beispielsweise werden in einer Gruppe aus Ausführungsformen 64-Byte-Cache-Zeilen verwendet. Für eine 64-Bit-Schnittstelle würde dies bedeuten, dass ein 8-Einheiten-Blockdatentransfer (oder eine Blocklänge von 8) vorgesehen ist. Für eine 128-Bit-Schnittstelle würde dies eine Blocklänge von 4 bedeuten.
  • Vereinter Modus
  • Beim Betrieb im vereinten Modus arbeiten in der in 4 gezeigten Konfiguration die DRAM-Substeuerungen 406 und 404 jeweils so, als ob sie die gesamte 128-Bit-Schnittstelle steuern würden, wobei jede tatsächlich eine Hälfte der 128-Bit-Schnittstelle steuert. Somit greift selbst beim Betrieb im vereinten Modus die DRAM-Substeuerung 406 auf das DIMM 304 zu und die DRAM-Substeuerung 404 greift auf das DIMM 302 zu. Jede Substeuerung stellt die Anzahl an Zeiteinheiten in einem Blocktransfer ein und stellt auch die Adressenzuordnung ein, so dass eine Funktion stattfindet, als ob der volle 128-Bit-Bus gesteuert würde. Somit repräsentiert die in 4 gezeigte Konfiguration eine optimale Lösung, da die DRAM-Substeuerung 404 und die DRAM-Substeuerung 406 so gestaltet und aufgebaut sind, dass sie identisch sind, und somit kein Multiplex-Betrieb erforderlich ist.
  • Jede Substeuerung kann prinzipiell eine n-Bit- (beispielsweise 64-Bit-) Schnittstelle handhaben. Der Datenpfad durch jede Steuerung ist gleich, n-Bits, was in diesem Falle 64-Bits bedeutet. Obwohl jede Substeuerung lediglich eine entsprechende 64-Bit-Schnittstelle (n-Bit) steuert, ist somit jede Substeuerung für 128-Bit ausgelegt (2n)-Bit im Hinblick auf die Steuerlogik, beispielsweise zum Steuern eines logischen 128-Bit-Datenpfads ((2n)-Bit). Anders ausgedrückt, jede Substeuerung verhält sich logisch so, als ob sie Daten in 128-Bit- ((2n)-Bit)-Blöcken handhaben würde, d.h. es werden gleichzeitig 128 Bits an Daten ((2n-Bits)) übertragen und empfangen. Die volle Bandbreite wird erreicht, indem festgelegt wird, dass eine der Substeuerungen, beispielsweise die DRAM-Substeuerung 404, die ersten 64-Bits (n-Bits) jedes der 128-Bit-Datenblöcke ((2n)-Bitdatenblöcke) handhabt, und dass die andere Substeuerung, beispielsweise die DRAM-Substeuerung 406, eine zweite „Kopie“ der Befehle mit entsprechenden anderen 64-Bits (n-Bits) an Daten handhabt (die die verbleibende Hälfte jedes der vollständigen 128-Bit-Datenblöcke ((2n)-Bitdatenblöcke) repräsentieren), wobei beide Substeuerungen so betrieben werden, als ob sie den gesamten 128-Bit-Datenpfad ((2n)-Bit-Datenpfad) handhaben.
  • In einer Gruppe an Ausführungsformen kann beim Systemhochlauf das BIOS die Substeuerungen konfigurieren und initialisieren, so dass sie in einem vereinten Modus arbeiten, wenn eine Steuerung eines einzelnen (2n)-Bit breiten Kanals gewünscht ist, und einer der Kanäle entsprechend einer der beiden Substeuerungen (beispielsweise der Kanal, der der DRAM-Substeuerung 404 entspricht) wird als der (2n)-Bit breite Kanal spezifiziert, der verwendet wird. Nach Beendigung der Initialisierung kann das BIOS einfach auf den spezifizierten Kanal zugreifen, wobei alle nachfolgenden Konfigurationszugriffe auf den spezifizierten Kanal (und damit auf die entsprechende Substeuerung) „gespiegelt“ oder kopiert werden auf die andere Substeuerung (mit der möglichen Ausnahme gewisser spezifizierter Übungsregister, die das BIOS individuell in jeder Substeuerung beschreibt, um sicherzustellen, dass die Substeuerung korrekt mit den jeweiligen Kanälen arbeitet). Nach Beendigung der Initialisierung muss im Allgemeinen das BIOS und jegliche (System) Software nicht mehr wissen, dass die Substeuerungen im vereinten Modus arbeiten, und es wird lediglich der als der (2n)-Bit breite Kanal spezifizierte Kanal (beispielsweise der Kanal, der der DRAM-Substeuerung 404 entspricht) angesprochen, wobei alle nachfolgenden Zugriffe auf den spezifizierten Kanal mittels der Nordbrücke 410 auf die andere Substeuerung gespiegelt werden (beispielsweise die DRAM-Substeuerung 406).
  • Obwohl die vorliegende Erfindung mit Bezug zu speziellen Ausführungsformen beschrieben ist, ist zu beachten, dass die Ausführungsformen lediglich anschaulicher Natur sind und den Schutzbereich der Erfindung nicht beschränken. Es sind jegliche Variationen, Modifizierungen und Hinzufügungen und Verbesserungen an den beschriebenen Ausführungsformen möglich. Diese Variationen, Modifizierungen, Hinzufügungen und Verbesserungen liegen innerhalb des Schutzbereichs der Erfindung, wie sie in den folgenden Patentansprüchen angegeben ist.
  • Industrielle Anwendbarkeit
  • Diese Erfindung ist allgemein auf Mikroprozessoren anwendbar.

Claims (9)

  1. Verfahren zum Zugreifen auf einen Speicherkanal mit einem (2n)-Bit Datenpfad, wobei n eine positive Ganzzahl ist, wobei das Verfahren umfasst: Übertragen von Zugriffsinformation, die Adresseninformationen umfasst, zu einer ersten Speichersteuerung (406) mit einem n-Bit-Datenpfad, um (2n)-Bit Datenblöcke über den Speicherkanal zu übertragen und/oder zu empfangen; Kopieren der Zugriffsinformation in eine zweite Speichersteuerung (404) mit einem n-Bit-Datenpfad; in Reaktion auf das Übertragen der Zugriffsinformation und des Kopierens der Zugriffsinformation: Übertragen und/oder Empfangen eines ersten n-Bit-Bereichs jedes der (2n)-Bit Datenblöcke durch die erste Speichersteuerung über ihren n-Bit-Datenpfad; und Übertragen und/oder Empfangen eines verbleibenden n-Bit-Bereichs jedes der (2n)-Bit Datenblöcke durch die zweite Speichersteuerung über ihren n-Bit-Datenpfad; und weiterhin die Schritte umfassend: Übertragen an die erste Speichersteuerung einen oder mehrere (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, um den einen oder die mehreren (2n)-Bit Datenblöcke entsprechend der Adresseninformation zu speichern; und Kopieren des einen oder der mehreren (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, in die zweite Speichersteuerung.
  2. Verfahren nach Anspruch 1, das ferner umfasst: Übertragen und/oder Empfangen des ersten n-Bit-Bereichs jedes der (2n)-Bit Datenblöcke durch die erste Speichersteuerung über ihren n-Bit-Datenpfad zu und/oder von einem ersten physikalischen Speicher (304) mit n-Datenzeilen, die mit dem n-Bit-Datenpfad der ersten Speichersteuerung verbunden sind; und Übertragen und/oder Empfangen des verbleibenden n-Bit-Bereichs jedes der (2n)- Bit Datenblöcke durch die zweite Speichersteuerung über ihren n-Bit-Datenpfad zu und/oder von einem zweiten physikalischen Speicher (302) mit n-Datenleitungen, die mit dem n-Bit-Datenpfad der zweiten Speichersteuerung verbunden sind.
  3. Verfahren nach Anspruch 1, das ferner umfasst: vor dem Übertragen der Zugriffsinformation und dem Kopieren der Zugriffsinformation, Konfigurieren der ersten Speichersteuerung und der zweiten Speichersteuerung, um in einem vereinten Modus zu arbeiten; und Ausführen von Firmware-Befehlen zum Initialisieren eines Systems, das die erste Speichersteuerung und die zweite Speichersteuerung aufweist; wobei das Ausführen der Firmeware-Befehle das Konfigurieren der ersten Speichersteuerung und der zweiten Speichersteuerung umfasst.
  4. Verfahren nach Anspruch 1, das ferner umfasst: Übertragen eines ersten n-Bit-Bereichs jedes der einen oder der mehreren (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, durch die erste Speichersteuerung über ihren n-Bit-Datenpfad zu einem ersten physikalischen Speicher, der n-Datenleitungen besitzt, die mit dem n-Bit-Datenpfad der ersten Speichersteuerung verbunden sind; und Übertragen eines verbleibenden n-Bit-Bereichs jedes der einen oder der mehreren (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, durch die zweite Speichersteuerung über ihren n-Bit-Datenpfad zu einem zweiten physikalischen Speicher, der n-Datenleitungen besitzt, die mit dem n-Bit-Datenpfad der zweiten Speichersteuerung verbunden sind.
  5. Speichersystem mit: einer ersten Speichersteuerung (103, 406) mit einem n-Bit-Datenpfad, wobei die erste Speichersteuerung ausgebildet ist, eine erste Art an Zugriffsinformation, die Adresseninformationen umfasst, zu empfangen, die zum Übertragen und/oder Empfangen entsprechender (2n)-Bit Datenblöcke über einen (2n)-Bit Speicherkanal vorgesehen ist; einer zweiten Speichersteuerung (103, 404) mit einem n-Bit-Datenpfad; und einem Steuerblock (410), der mit der ersten Speichersteuerung und der zweiten Speichersteuerung verbunden und ausgebildet ist, die erste Art an Zugriffsinformation, die von der ersten Speichersteuerung empfangen wird, in die zweite Speichersteuerung zu spiegeln; wobei die erste Speichersteuerung ausgebildet ist, einen ersten n-Bit-Bereich jedes der (2n)-Bit Datenblöcke über ihren n-Datenpfad entsprechend der empfangen ersten Art an Zugriffsinformation zu übertragen und/oder zu empfangen, und wobei die zweite Speichersteuerung ausgebildet ist, einen verbleibenden n-Bit-Bereich jedes der (2n)-Bit Datenblöcke über ihren n-Bit-Datenpfad gemäß der gespiegelten ersten Art an Zugriffsinformation zu übertragen und/oder zu empfangen; und wobei der Steuerblock (410) weiterhin dazu ausgebildet ist, an die erste Speichersteuerung einen oder mehrere (2n)-Bit Datenblöcke zu übertragen, die der Adresseninformation entsprechen, um den einen oder die mehreren (2n)-Bit Datenblöcke entsprechend der Adresseninformation zu speichern; und den einen oder die mehreren (2n)-Bit Datenblöcke, die der Adresseninformation entsprechen, in die zweite Speichersteuerung zu kopieren.
  6. Speichersystem nach Anspruch 5, wobei die erste Speichersteuerung und die zweite Speichersteuerung ferner ausgebildet sind, jeweils eine entsprechende zweite Art an Zugriffsinformation zu empfangen, die zum Übertragen und/oder Empfangen entsprechender n-Bit-Datenblöcke über entsprechende n-Bit-Speicherkanäle vorgesehen sind; wobei die erste Speichersteuerung ausgebildet ist, ihre jeweiligen n-Bit-Datenblöcke über ihren n-Bit-Datenpfad gemäß ihrer empfangenen zugeordneten zweiten Art an Zugriffsinformation zu übertragen und/oder zu empfangen, und wobei die zweite Speichersteuerung ausgebildet ist, ihre jeweiligen n-Bit-Datenblöcke über den n-Bit-Datenpfad gemäß ihrer empfangenen zweiten Art an Zugriffsinformation zu übertragen und/oder zu empfangen.
  7. Speichersystem nach Anspruch 5, das ferner umfasst: ein erstes Speichermodul (304) mit n-Datenleitungen, die mit dem n-Bit-Datenpfad der ersten Speichersteuerung verbunden sind; und ein zweites Speichermodul (302) mit n-Datenleitungen, die mit dem n-Bit-Datenpfad der zweiten Speichersteuerung verbunden sind; wobei die erste Speichersteuerung ausgebildet ist, einen ersten n-Bit-Bereich jedes der (2n)-Bit Datenblöcke zu und/oder von dem ersten Speichermodul über ihren n-Bit-Datenpfad zu übertragen und/oder zu empfangen; und wobei die zweite Speichersteuerung ausgebildet ist, einen verbleibenden n-Bit-Bereich jedes der (2n)-Bit Datenblöcke zu und/oder von dem zweiten Speichermodul über ihren n-Bit-Datenpfad zu übertragen und/oder zu empfangen.
  8. Speichersystem nach Anspruch 5, wobei die erste Speichersteuerung und die zweite Speichersteuerung ausgebildet sind, um zu fungieren als: eine einzelne (2n)-Bit breite Doppekanalspeichersteuerung; oder zwei n-Bit breite Einzelkanal-Speichersteuerungen.
  9. System (100), das ein Speichersystem gemäß einem der Ansprüche 5 bis 8 aufweist, und das weiterhin eine Verarbeitungseinheit (101) aufweist, die ausgebildet ist, Befehle zum Konfigurieren der ersten Speichersteuerung und der zweiten Speichersteuerung über den Steuerblock auszuführen.
DE112008002273.9T 2007-08-22 2008-07-28 Optimale Lösung zur Steuerung von Datenkanälen Active DE112008002273B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/843,434 2007-08-22
US11/843,434 US8006032B2 (en) 2007-08-22 2007-08-22 Optimal solution to control data channels
PCT/US2008/009101 WO2009025713A1 (en) 2007-08-22 2008-07-28 An optical solution to control data channels

Publications (2)

Publication Number Publication Date
DE112008002273T5 DE112008002273T5 (de) 2010-08-05
DE112008002273B4 true DE112008002273B4 (de) 2022-06-09

Family

ID=40009288

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008002273.9T Active DE112008002273B4 (de) 2007-08-22 2008-07-28 Optimale Lösung zur Steuerung von Datenkanälen

Country Status (8)

Country Link
US (1) US8006032B2 (de)
JP (1) JP2010537311A (de)
KR (1) KR20100075847A (de)
CN (1) CN101836194B (de)
DE (1) DE112008002273B4 (de)
GB (1) GB2465317A (de)
TW (1) TW200928751A (de)
WO (1) WO2009025713A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8098539B2 (en) * 2009-08-26 2012-01-17 Qualcomm Incorporated Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation
TWI420982B (zh) * 2010-12-03 2013-12-21 Hon Hai Prec Ind Co Ltd 印刷電路板
JP5864957B2 (ja) * 2011-08-31 2016-02-17 ルネサスエレクトロニクス株式会社 半導体装置
JP6070374B2 (ja) 2013-03-29 2017-02-01 富士通株式会社 情報処理装置、メモリ試験プログラムおよびメモリ試験方法
KR20160120004A (ko) 2015-04-07 2016-10-17 삼성전자주식회사 시스템 온-칩 및 이를 포함하는 전자 기기
US10956342B1 (en) * 2017-02-03 2021-03-23 Cadence Design Systems, Inc. Variable channel multi-controller memory system
US10546628B2 (en) * 2018-01-03 2020-01-28 International Business Machines Corporation Using dual channel memory as single channel memory with spares
CN114661641A (zh) * 2020-12-24 2022-06-24 华为技术有限公司 一种内存模组和内存总线信号处理方法
US11960735B2 (en) * 2021-09-01 2024-04-16 Micron Technology, Inc. Memory channel controller operation based on data types

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033909A1 (en) 2003-08-06 2005-02-10 Nai-Shung Chang Motherboard utilizing a single-channel memory controller to control multiple dynamic random access memories

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US5604714A (en) * 1995-11-30 1997-02-18 Micron Technology, Inc. DRAM having multiple column address strobe operation
JP4084428B2 (ja) * 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
KR100244268B1 (ko) * 1997-04-02 2000-02-01 김영환 비휘발성 메모리 소자 및 제조 방법
US6026466A (en) * 1997-06-16 2000-02-15 Integrated Silicon Solution, Inc. Multiple row address strobe DRAM architecture to improve bandwidth
US6108745A (en) * 1997-10-31 2000-08-22 Hewlett-Packard Company Fast and compact address bit routing scheme that supports various DRAM bank sizes and multiple interleaving schemes
US6545935B1 (en) * 2000-08-29 2003-04-08 Ibm Corporation Dual-port DRAM architecture system
US6452834B1 (en) * 2001-02-13 2002-09-17 Silicon Access Networks 2T dual-port DRAM in a pure logic process with non-destructive read capability
US6816889B1 (en) * 2001-07-03 2004-11-09 Advanced Micro Devices, Inc. Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node
US6999091B2 (en) * 2001-12-28 2006-02-14 Intel Corporation Dual memory channel interleaving for graphics and video
US6794254B1 (en) * 2003-05-15 2004-09-21 Taiwan Semiconductor Manufacturing Company Embedded dual-port DRAM process
TWI299497B (en) * 2004-06-24 2008-08-01 Via Tech Inc Method and related apparatus for accessing memory apparatus
US7110306B2 (en) * 2004-06-28 2006-09-19 United Memories, Inc. Dual access DRAM
CN100487673C (zh) * 2005-05-30 2009-05-13 欧阳昌廉 次级内存装置及使用次级内存的方法
US7587521B2 (en) * 2005-06-23 2009-09-08 Intel Corporation Mechanism for assembling memory access requests while speculatively returning data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050033909A1 (en) 2003-08-06 2005-02-10 Nai-Shung Chang Motherboard utilizing a single-channel memory controller to control multiple dynamic random access memories

Also Published As

Publication number Publication date
CN101836194A (zh) 2010-09-15
US8006032B2 (en) 2011-08-23
GB2465317A (en) 2010-05-19
WO2009025713A1 (en) 2009-02-26
GB201004207D0 (en) 2010-04-28
KR20100075847A (ko) 2010-07-05
TW200928751A (en) 2009-07-01
CN101836194B (zh) 2012-08-15
JP2010537311A (ja) 2010-12-02
DE112008002273T5 (de) 2010-08-05
US20090055572A1 (en) 2009-02-26

Similar Documents

Publication Publication Date Title
DE112008002273B4 (de) Optimale Lösung zur Steuerung von Datenkanälen
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE102006021363B4 (de) Speichervorrichtung
DE102006062024B4 (de) Halbleiterspeichervorrichtung
DE102006062383B4 (de) Halbleiterspeicherelement und System für ein Halbleiterspeicherelement
DE102007050864B4 (de) Verfahren und Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen
DE102006043311A1 (de) Speichersystem
DE102006050233A1 (de) Speichermodul, Speichersteuereinheit, Speichersystem und Verfahren zum Steuern eines Speichersystems
DE69534994T2 (de) Steuerungsvorrichtung für speicherplattenanordnung und speicherplattenanordnungsgerät
DE3909896A1 (de) Vorrichtung und verfahren fuer den zugriff zu in einem seitenspeicher gespeicherten daten
DE102006021022A1 (de) Speichermodul und Speichersystem
DE112019000211B4 (de) Effizientes und selektives ersatzweises Speichern von Bits in Arbeitsspeichersystemen
DE10048402B4 (de) Datenspeichersystem
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen
DE112021002897T5 (de) Verfahren und vorrichtung zum sichern von speichermodulen
EP0477595A2 (de) Cachespeichereinrichtung mit m Busanschlüssen
DE3911721A1 (de) Schaltung zur verzoegerten freigabe eines schreibvorganges in einen vorratsspeicher fuer ein zweifachbus-mikrocomputersystem
DE69838701T2 (de) Vorrichtung zum Lese/-Schreibzugriff von Registern in zentraler Verarbeitungseinheit
DE69034165T2 (de) Mikroprozessor mit einer Vielzahl von Buskonfigurationen
EP1118999A1 (de) Verfahren und Vorrichtung zum wechselweisen Betreiben eines Schreib-Lese-Speichers im Ein-Speicher-Betriebsmodus und im verschränkten Mehr-Speicher-Betriebsmodus
DE10260996B4 (de) Speichersteuerchip,-steuerverfahren und -steuerschaltung
DE102006022026A1 (de) Speichersystem, Speichermodul, Speichersteuerung und Betriebsverfahren
EP2728477A1 (de) Verfahren und Logikschaltung zum Kopieren von Daten, Speichervorrichtung und Datenverarbeitungsvorrichtung
DE102005046997A1 (de) Vorrichtung zum Speichern von Speicherwörtern
EP0562151A1 (de) Integrierter Mikroprozessor

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: GLOBALFOUNDRIES U.S. INC., SANTA CLARA, US

Free format text: FORMER OWNER: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R018 Grant decision by examination section/examining division
R020 Patent grant now final