DE69610662T2 - DIMM Hochleistungsspeicher mit einem Datenspeicher und einem Zustandsspeicher - Google Patents

DIMM Hochleistungsspeicher mit einem Datenspeicher und einem Zustandsspeicher

Info

Publication number
DE69610662T2
DE69610662T2 DE69610662T DE69610662T DE69610662T2 DE 69610662 T2 DE69610662 T2 DE 69610662T2 DE 69610662 T DE69610662 T DE 69610662T DE 69610662 T DE69610662 T DE 69610662T DE 69610662 T2 DE69610662 T2 DE 69610662T2
Authority
DE
Germany
Prior art keywords
memory
dimm
data
group
address
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.)
Expired - Fee Related
Application number
DE69610662T
Other languages
English (en)
Other versions
DE69610662D1 (de
Inventor
James Pierce Laudon
Daniel Edward Lenoski
John Manton
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.)
Graphics Properties Holdings Inc
Original Assignee
Silicon Graphics 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 Silicon Graphics Inc filed Critical Silicon Graphics Inc
Application granted granted Critical
Publication of DE69610662D1 publication Critical patent/DE69610662D1/de
Publication of DE69610662T2 publication Critical patent/DE69610662T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Description

  • Diese Anmeldung steht in Verbindung mit der ebenfalls anhängigen US Patentanmeldung Nr. 08/440,967, die am 15.05.1995 mit der Bezeichnung "DIMM-Paar mit Datenspeicher und Zustandsspeicher" eingereicht wurde und gemeinsam besessen wird.
  • Die vorliegende Erfindung betrifft allgemein das technische Gebiet der Computerspeicher und insbesondere einen dynamischen Direktzugriffsspeicher mit dual-inline-Speichermodul.
  • Dynamische direkte Zugriffsspeicher (DRAM), einzelne in-line-Speichermodul (SIMMs) und dual-in-line-Speichermodul (DIMM) sind bevorzugte Ausgestaltungen von Halbleiterhauptspeichern in Computersystemen jeglicher Größe, einschließlich Personalcomputern (PC), Workstations, Supercomputern und ähnlichen. Sowohl SIMMs als auch DIMMs weisen eine bedruckte Schaltungsplatine (PCB) auf, die eine Steckerleiste mit mehreren Signalanschlüssen auf gegenüberliegenden Seiten des PCB zur physikalischen und elektrischen Verbindung mit einem Verbindungssockel besitzt. DRAMs oder synchrone DRAMs als integrierte Schaltkreise werden auf der PCB befestigt und sind elektrisch mit verschiedenen Stecker signalanschlüssen verbunden. Ein SIMM besitzt gegenüberliegende Signalanschlüsse, die elektrisch derart verbunden sind, daß jedes Paar ein einzelnes Signal trägt. Bei einem DIMM sind gegenüberliegende Anschlüsse nicht verbunden, so daß jeder Anschluß ein separates Signal aufweisen kann. Jedoch werden die Ausdrücke SIMM und DIMM häufig synonym im Gebiet der Speichertechnik verwendet. Eine nähere Beschreibung eines bekannten DRAM SIMM kann der gemeinsam besessenen US Patent Nummer 5,272,664 von Alexander et al. entnommen werden.
  • In einem Mehrprozessorcomputersystem kann der Hauptspeicher als ein verteilter gemeinsamer Speicher oder als zentraler (d. h. nicht verteilter) Speicher ausgeführt sein. Jeder Prozessor besitzt allgemein einen lokalen Cache. Folglich müssen die Prozessoren eine Cache-Übereinstimmung aufrechterhalten. Die meisten existierenden Multiprozessoren mit Cache-Übereinstimmung benutzen ein Herumsuchen (snooping), um die Übereinstimmung aufrechtzuerhalten. Hierfür werden alle Prozessoren mit einem gemeinsamen Bus verbunden. Die Prozessoren "suchen" in dem Bus. D. h. die Information mit der die Prozessoren Dateneinträge in den Cache laden, werden auf alle Cache-Speicher verteilt. Folglich erfordert ein einfaches Herumsuch-Schema, daß alle Cache-Speicher jede Speicheranforderung von jedem Prozessor sehen. Inhärent begrenzt dies die Skalierbarkeit solcher Systeme, weil der gemeinsame Bus und die einzelnen Prozessorspeicher in die Sättigung geraten. Mit heutigen Hochgeschwindigkeits-RISC-Prozessoren kann die Sättigung bereits nach einigen wenigen Prozessoren auftreten.
  • Verzeichnisstrukturen vermeiden die Skalierbarkeitsprobleme der Herumsuch- Schemata, indem die Notwendigkeit entfällt, jede Speicheranforderung an alle Prozessoren-Cache-Speicher zu verteilen. Das Verzeichnis beinhaltet Zeiger auf die Prozessor-Cache-Speicher, die eine Kopie von jedem Speicherblock enthalten. Nur die Cache-Speicher mit Kopien können durch einen Zugriff auf den Speicherblock beeinflußt werden und nur diesen Cache-Speichern muß der Zugriff mitgeteilt werden. Folglich geraten die Prozessor-Cache-Speicher und die Verbindungen nicht durch Kohärenzanfragen in die Sättigung. Weiterhin ist eine verzeichnisbasierte Kohärenz nicht abhängig von einem bestimmten Verbindungsnetzwerk wie der Bus, der bei den meisten Herumsuch-Schemata verwendet wird.
  • Wenige DSM-Multiprozessoren, die Verzeichnisstrukturen verwenden, wurden entwickelt. Beispiele für solche DSM-Systeme sind der Dash Multiprozessor der Stanford University, der in Lenosiki, Daniel et al. "The Stanford Dash Multiprocessor" IEEE, pp. 63-79, März 1992 beschrieben ist, der Alewife Multiprozessor des Massachusettts Institute of Technology (MIT), der in Chaiken, David et al. "LimitLESS Directories: A Scalable Cache Coherence Scheme", ACM, pp. 224-234, 1991, beschrieben ist, und das Multiprozessor-Beispiel der Convex Computer Corporation, das in Brewer, Tony "A Highly Scalable System Utilizing up to 128 PA-RISC Processors", IEEE, pp. 133-140, 1995, beschrieben ist.
  • In dem Stanford Dash Multiprozessor war der Hauptspeicher fest verdrahtet für eine maximale Speicherkapazität. In dem MIT Multiprozessor und dem Convex Computer Corporation Multiprozessor wurde die Verzeichnisinformation wie in dem Hauptspeicher abgelegt. Folglich muß auf die Daten und die Verzeichnisinformation sequentiell zugegriffen werden, was die Speicherbandbreite begrenzt.
  • Es besteht das Bedürfnis nach einer Technik zur Ausführung eines Hauptspeichers in einem DSM-Multiprozessorsystem derart, daß die Verzeichnisinformation aufgenommen wird und daß eine direkte Speichererweiterung sowohl für Datenspeicher als auch für Verzeichnisspeicher gemeinsam unterstützt wird.
  • Die Erfindung ist ein dual-in-line-Speichermodul (DIMM) wie in Anspruch 1 bezeichnet. Es weist eine Schaltungsplatine und einen ersten und zweiten Speicher auf, die an der Schaltungsplatine befestigt sind. Der erste Speicher ist zur Speicherung von Daten ausgelegt und wird auch als Datenspeicher bezeichnet. Der zweite Speicher, der als Zustandsspeicher bezeichnet wird, ist zur Speicherung von Zustandsinformationen ausgelegt, die mindestens zu einem Teil den in dem Datenspeicher gespeicherten Daten entsprechen. Die Zustandsinformation weist beispielsweise Cache-Kohärenzinformationen auf (d. h. Informationen darüber, ob und wo ein Datenblock in dem Cache-Speicher gespeichert ist und wo die letzte Kopie in den Daten liegt), Informationen betreffend die Zugriffsrechte auf die Daten in dem Datenspeicher, Seitenbewegungsinformation und ähnliches. Der erfindungsgemäße DIMM erlaubt, auf die Zustandsinformation in dem Zustandsspeicher separat von den Daten in dem Datenspeicher zuzugreifen. Mit "separat" wird angegeben, daß die Zustandsinformation geschrieben/gelesen werden kann, unabhängig von und/oder parallel mit der Datenspeicherung in dem Datenspeicher.
  • Mehrere von den erfindungsgemäßen DIMMs können verwendet werden, um den Hauptspeicher eines verteilten, gemeinsamen Memory-(DSM)-Multiprozessors auszuführen. Die DIMM-Anordnung stellt einen Mechanismus bereit, durch den der Speicher einfach aufgerüstet oder ersetzt werden kann. Weil die Zustandsinformation auf den DIMMs gemeinsam mit den Daten gespeichert wird, wird ein optimales Speicherverwaltungsschema bereitgestellt.
  • In einer ersten Ausführungsform stellt jedes DIMM 32 Megabyte Speicherkapazität und 4 Megabyte ECC (error correcting codes) in dem Datenspeicher zur Verfügung. Um dies zu erreichen, weist das DIMM zwei Speicherbankabschnitte auf (einen für jede Seite der DIMM-Schaltungsplatine), die zwei Megabit tief und 72 Bit breit (2M · 72) sind. Von den 72 Bit werden 64 Bit für die Daten und acht Bit für den ECC verwendet. Der Zustandsspeicher weist ein Megabit mal 16 Megabit Tiefe (1M · 16) als Zustandsinformationskapazität auf. Dieser Ausführungsform kann unter Verwendung mehrerer synchroner, dynamischer, Direktzugriffsspeicher-Chips (SDRAM) ausgeführt werden.
  • Neben dieser Ausführungsform ist die Schaltungsplatine des DIMM ungefähr 1,34 inch hoch mal 6,6 inch lang (hierbei ist die Breite als Höhe gegeben, weil DIMM- Platinen im allgemeinen senkrecht zu der anderen Schaltungsplatine über eine Steckerleiste verbunden sind) und besitzt eine 122 Anschlüsse lange mal 2 Anschlüsse breite Steckerleiste entlang einer Längskante der Schaltungsplatine. Der Datenspeicher ist unter Verwendung von achtzehn (18) zwei Megabit mal acht Bit (2M · 8) SDRAM-Chips ausgeführt. Neun von den SDRAM-Chips werden auf der Vorderseite der Schaltungsplatine und neun auf der Rückseite der Schaltungsplatine befestigt. Der Zustandsspeicher ist unter Verwendung eines 1 Megabit mal 16 Bit (1M · 16) SDRAM-Chips ausgeführt, der auf der Vorderseite der Schaltungsplatine befestigt ist.
  • Die 244 Anschlüsse der Steckerleiste stellen separate Daten- und Adressanschlüsse für den Datenspeicher und den Zustandsspeicher bereit, um für jeden Speicher den unabhängigen Zugriff zu ermöglichen und, falls gewünscht, auch parallel. Ein Adress- und Steuerpuffer ist auf jeder Seite der Schaltungsplatine vorgesehen. Jeder Adress- und Steuerpuffer puffert sämtliche Adress- und Steuerleitungen des SDRAM-Chips für den halben Datenspeicher. Zusätzlich ist ein einziger Zeitgeber für alle SDRAM-Chips auf dem DIMM vorgesehen. Der Zeitgeber erfüllt zwei wichtige Funktionen. Zum ersten stellt der Zeitgeber einen ausreichenden Versorgungsstrom für jeden SDRAM-Chip zur Verfügung, ohne daß die Quelle für das Zeitsignal unnötig belastet wird. Zweitens schafft der Zeitgeber eine phasenfeste Schleifenfunktion, um jede Verzerrung oder Verzögerung zu vermeiden, die durch den Puffer/Versorgungsschaltkreis des Zeitgebers eingeführt wird.
  • In einer zweiten Ausführungsform stellt jedes DIMM 64 Megabyte Datenspeicherkapazität und 8 Megabyte ECC für einen insgesamt 72 Megabyte Datenspeicher zur Verfügung. Um dies zu erreichen, weist der DIMM zwei Speicherbankabschnitte von vier Megabit Tiefe mal 72 Bit Breite (auf 4M · 72) auf. Der Zustandsspeicher weist zwei Megabit mal sechzehn Megabit Breite (2M · 16) an Zustandsinformationskapazität auf.
  • In dieser Ausführungsform ist der Datenspeicher unter Verwendung von sechsunddreißig (36) vier Megabit mal vier Bit (4M · 4) SDRAM-Chips ausgeführt. Diese Ausführung erfordert zwei Schaltungsplatinen, die Huckepack auf der ersten Schaltungsplatine befestigt sind. Achtzehn von den SRAM-Chips für den Datenspeicher sind auf der ersten Schaltungsplatine befestigt, im wesentlichen wie in dem ersten Ausführungsbeispiel ausgeführt, während die anderen achtzehn SDRAM-Chips auf der Huckepack-Platine in ähnlicher Weise befestigt sind. Der Zustandsspeicher ist unter Verwendung von zwei (2) Megabit mal acht (2M · 8) Bit SDRAM-Chips ausgeführt. Einer von diesen Chips ist auf jeder Seite der ersten Schaltungsplatine befestigt. Ähnlich zu der 36 Megabyte-Ausführungsform weist die erste Schaltungsplatine der 72 Megabyte-Ausführungsform einen einzelnen Zeitgeber und zwei Adress- und Kontrollpuffer auf. Zusätzlich weist die Huckepack-Platine ihren eigenen einzelnen Zeitgeber und ein Paar von Adress- und Steuerpuffern auf.
  • Die Erfindung verwendet das DIMM in einem DIMM-Speicherpaar. Ein erstes DIMM von dem Paar weist einen ersten Datenspeicher auf, der einen ersten und zweiten Speicherbankabschnitt zur Speicherung von Daten und einen ersten Zustandsspeicher besitzt, der konfiguriert ist, um Zustandsinformationen, die den in der ersten Speicherbank gespeicherten Daten entsprechen, zu speichern. Ein zweites DIMM des Paares weist einen zweiten Datenspeicher auf, der dritte und vierte Speicherabschnitte zur Speicherung von Daten und einen zweiten Zustandsspeicher besitzt, welcher ausgelegt ist, um Zustandsinformationen zu speichern, die den in der zweiten Speicherbank abgelegten Daten entsprechen. Die erste Speicherbank wird aus einem ersten Speicherbankabschnitt des ersten DIMMs und dem dritten Speicherbankabschnitt des zweiten DIMMs gebildet. Die zweite Speicherbank wird von dem zweiten Speicherbankabschnitt des ersten DIMMs' und dem vierten Speicher bankabschnitts des zweiten DIMMs gebildet. Wenn beispielsweise der erste Speicherbankabschnitt die Vorderseite des ersten DIMMs, der zweite Speicherbankabschnitt die Rückseite des ersten DIMMs, der dritte Speicherbankabschnitt die Vorderseite des zweiten DIMMs und der vierte Speicherbankabschnitt die Rückseite der zweiten DIMMs bildet, dann ist die erste Speicherbank als die Vorderseite der ersten und zweiten DIMMs gebildet, während die zweite Speicherbank durch die Rückseiten des ersten und zweiten DIMMs gebildet sind.
  • Diese DIMM-Paaranordnung stellt in optimaler Weise ein sehr breites Datenwort- DIMM zur Verfügung, das ohne übermäßige Anforderungen an den physikalischen Aufbau der Steckerleiste für das DIMM ausgeführt ist. Jedes DIMM weist beispielsweise in der bevorzugten Ausführungsform eine Steckerleiste mit 244 Anschlüssen auf. Unter Verwendung dieses Steckers schafft jedes DIMM einen 72 Bit breiten Datenweg. Folglich enthält das DIMM-Paar 144 Bit breite Datenworte. In der oben beschriebenen ersten Ausführungsform ist das 144 Bit Datenwort in einem DIMM-Paar mit 64 Megabyte Datenspeicherkapazität und 8 Megabyte ECC vorgesehen. In der zweiten oben beschriebenen Ausführungsform ist ein 144 Bit Datenwort in einem DIMM-Paar mit 128 Megabyte Datenspeicherkapazität und 16 Megabyte ECC vorgesehen.
  • Bei der Verwendung in einem DSM-Multiprozessor, werden die erfindungsgemäßen DIMM-Paare zur Ausführung des Hauptspeichers verwendet. Jeder Prozessorknoten des DSM-Multiprozessors enthält einen Abschnitt des Hauptspeichers. In den 36 Megabyte und 72 Megabyte-Ausführungsformen des DIMMs stellen die beschriebenen Zustandsspeicherausführungen ausreichend Kapazität zur Aufnahme der Zustandsinformationen für ein System mit einer begrenzten Anzahl von Knoten (beispielsweise 16 Knoten) bereit. Jeder beschriebene Zustandsspeicher kann beispielsweise 16 Bit breite Worte als Zustandsinformation aufnehmen.
  • Wenn die Zahl der Knoten 16 übersteigt, sind mehr Prozessoren und Cache-Speicher vorhanden. Zusätzliche Zustandsdaten sind erforderlich, um die zusätzlichen Cache- Speicher zu verfolgen. Demgemäß sind mehr Bits in dem Zustandsspeicher erforderlich, um die Extraknoten aufzunehmen. Der zusätzliche Zustandsspeicher kann durch einen Nur-Zustandsspeicher DIMM bereitgestellt werden. Dieses DIMM fügt 32 Bit zusätzlicher Zustandsinformationen hinzu. Der sich ergebende Zustandsspeicher schafft 48 Bit breite Worte an Zustandsinformation. Mit dem zusätzlichen Zustandsspeicher kann der DSM-Multiprozessor bis zu 64 Knoten unter Verwendung von herkömmlichen Bit-Vektoren und bis zu 512 Knoten unter Verwendung von flexiblen Verzeichnis-Bit-Vektoren aufnehmen.
  • Folglich ermöglicht das erfindungsgemäße DIMM einen verzeichnisbasierten Speicheraufbau für einen DSM-Multiprozessor mit 16 Knoten oder weniger, wobei der Speicheraufbau unter Verwendung eines einzigen Typs von DIMM, der in Paaren angeordnet ist, ausgeführt/erweitert werden kann. Bei einem DSM-Multiprozessor mit 512 Knoten oder weniger, ermöglicht der erfindungsgemäße DIMM einen verzeichnisbasierten Speicheraufbau, der unter Verwendung der erfindungsgemäßen DIMM-Paare und eines Nur-Zustandsspeicher-DIMM, für den Zustand der Speicher, ausgeführt/erweitert werden kann. In dieser Weise schafft das erfindungsgemäße DIMM wesentliche Vorteile. Erstens ist es beim Aufrüsten der Anzahl der Prozessoren nicht notwendig, vorhandene DIMMs zu ersetzen. Stattdessen können vorhandene DIMMs lediglich mit zusätzlichen DIMMs und/oder Nur-Zustand- DIMMs unterstützt werden. Zweitens kleinere Systeme benötigen nur ein DIMM- Paar und nicht ein DIMM-Paar zuzüglich eines Nur-Zustandspeicher-DIMMs, was die Kosten für diese Systeme reduziert. Drittens ist es nicht notwendig viele verschiedene Arten von Speicheraufbauten herzustellen, zu lagern und zu vertreiben, denn eine einzige identische DIMM-Platine und in einigen Fällen ein Nur- Zustandsspeicher-DIMM-Platine werden verwendet, um den Hauptspeicher und den Verzeichnis-Zustandsspeicher auszuführen.
  • Zur Verdeutlichung wurden eine 36 Megabyte Ausführungsform und eine 72 Megabyte Ausführungsform des DIMMs beschrieben. Es ist jedoch selbstverständlich, daß das erfindungsgemäße DIMM auch mit anderen Datenkapazitäten hergestellt werden kann. Beispielsweise kann bei Verwendung von 64 Megabit (d. h. 8M · 8) SDRAM-Chips ein Einplatinen-DIMM mit 128 Megabyte Daten und 16 Megabyte ECC (18 Chips · 8 Megabyte per Chip) Speicherkapazität (einschließlich Daten und ECC) hergestellt werden. Dies würde ein DIMM-Paar mit 256 Megabyte Datenspeicherkapazität ergeben. Wenn eine Huckepack-Platine wie in der oben beschriebenen 72 Megabyte DIMM-Ausführungsform verwendet wird, können die 64 Megabyte SDRAM-Chips verwendet werden, um ein 256 Megabyte Daten und 32 Megabyte ECC DIMM und ein 512 Megabyte Daten, 64 Megabyte ECC DIMM-Paar auszuführen.
  • In der beschriebenen bevorzugten Ausführungsform wird eine Huckepack-Platine verwendet, damit das DIMM 36 SDRAMs für den Datenspeicher aufnehmen kann. Der Fachmann wird erkennen, daß Speicherstapeltechniken ebenfalls zur Aufnahme von 36 SDRAM-Chips verwendet werden können. Wenn Speicherstapeltechniken verwendet werden, kann auf die Huckepack-Platine verzichtet werden.
  • Die Merkmale und Vorteile der Erfindung werden aus der nachfolgenden näheren Beschreibung mehrerer bevorzugter Ausführungsformen der Erfindung, wie sie in den begleitenden Zeichnungen dargestellt sind, deutlich.
  • Die Erfindung wird mit Bezug auf die begleitenden Zeichnungen besser verstanden. Es zeigt:
  • Fig. 1 ein repräsentatives, grobes Blockschaltbild eines erfindungsgemäßen SDRAM DIMM.
  • Fig. 2 ein repräsentatives schematisches Blockschaltbild der Vorder- und Rückseite eines erfindungsgemäßen SDRAM DIMM.
  • Fig. 3 ein repräsentatives Logik-Diagramm eines erfindungsgemäßen SDRAM DIMM-Paares mit zwei Bänken und einem Zustand-Verzeichnisspeicher für diese Bänke.
  • Fig. 4 ein repräsentatives schematisches Diagramm eines erfindungsgemäßen 36 Megabyte SDRAM DIMM nach einer ersten Ausführungsform.
  • Fig. 5 ein repräsentatives schematisches Diagramm eines erfindungsgemäßen 72 Megabyte SDRAM DIMM nach einer zweiten Ausführungsform.
  • Fig. 6A eine Vorderansicht eines SDRAM DIMM nach der vorliegenden Erfin- dung.
  • Fig. 6B eine rückseitige Ansicht des SDRAM DIMM aus Fig. 6A.
  • Fig. 7A eine Vorderansicht einer erfindungsgemäßen SDRAM DIMM-Huckepack-Platine.
  • Fig. 7B eine Rückansicht der SDRAM DIMM-Huckepack-Platine aus Fig. 7A.
  • Fig. 8 zeigt ein repräsentatives Daten Lese-Zeit-Diagramm nach der vorliegenden Erfindung.
  • Fig. 9 zeigt ein repräsentatives Daten Schreibe-Zeit-Diagramm nach der vorliegenden Erfindung.
  • Fig. 10 zeigt ein repräsentatives Lesen/Ändern/Schreiben-Zeit-Diagramm nach der vorliegenden Erfindung.
  • Fig. 11 zeigt ein repräsentatives Zustandsspeicher-Zeit-Diagramm für ein Speicher-Lesen nach der vorliegenden Erfindung.
  • Fig. 12 zeigt ein repräsentatives Zustandsspeicher-Zeit-Diagramm für ein erfindungsgemäßes Speicher-Schreiben oder Lesen-Ändern-Schreiben.
  • Fig. 13 zeigt ein repräsentatives Zustands-Zeit-Diagramm für den Betrieb eines erfindungsgemäßen Nur-Zustandsspeicher-DIMM.
  • Fig. 14 zeigt die Organisation von DIMM-Paaren und Nur-Zustandsspeicher- DIMMs in einem Knoten eines DSM-Multiprozessors.
  • Fig. 15 zeigt eine bevorzugte beispielhafte Anschlußzuordnung für einen vollständigen Anschlußstecker.
  • In den Zeichnungen besitzen ähnliche oder funktional ähnliche Elemente ähnliche Bezugszeichen. Zusätzlich zeigt die linke Ziffer der Referenznummer die Zeichnung an, in der die Referenznummer zum ersten Mal auftritt.
  • Inhaltsverzeichnis
  • 1. Übersicht
  • II. Architektur des DIMM
  • III. Ausführung des DIMMs in einem DIMM-Paar
  • IV. Details der DIMM-Verbindungen
  • V. DIMM-Chip-Layout
  • VI. Die Anschlußbeschreibung
  • VII. Zeitanforderungen
  • VIII. Wellenform-Diagramme
  • XI. Erweiterter Zustandsspeicher
  • I. Übersicht
  • Die bevorzugten Ausführungsformen der Erfindung werden nachfolgend mit Bezug auf die Figuren beschrieben. Während spezifische Schritte, Konfigurationen und Anordnungen diskutiert werden, ist es selbstverständlich, daß dies zur Erläuterung getan wird. Ein Fachmann in diesem Gebiet der Technik wird erkennen, daß andere Schritte, Konfigurationen und Anordnungen verwendet werden können, ohne den Schutzbereich der Erfindung zu verlassen.
  • In einem verteilten, geteilten Speicher (DSM) Multiprozessor, wie er beispielsweise in der ebenfalls anhängigen US Patentanmeldung Nr. 08/435,456 beschrieben ist, die am 05.05.1995 mit der Bezeichnung "System and Method for Network Exploration and Acess in a Multi-Processor Enviroment" eingereicht wurde und gemeinsam besessen wird, ist der Hauptcomputerspeicher über das Prozessornetzwerk verteilt ist. Jeder verteilte Abschnitt (Knoten) des Hauptspeichers kann mit einem oder mehreren lokalen Prozessoren verbunden sein. In solch einem System wird die Speicherverwaltung ziemlich komplex. Der in der oben genannten Anmeldung beschriebene DSM-Multiprozessor verwendet ein verzeichnisbasiertes Cache-Kohärenz-Schema, das die Speicherverwaltung vereinfacht. Das verzeichnisorientierte Speichermana gementsystem ist in den folgenden gemeinsam besessenen, ebenfalls anhängigen Patentanmeldungen, beschrieben:
  • US Patentanmeldung Nr. 08/435,460, die am 05.05.1995 mit der Bezeichnung "Directory-Based Coherence Protocol Allowing Efficient Dropping of Clean- Exclusive Data" eingereicht wurde,
  • US Patentanmeldung Nr. 08/435, 462, die am 05.05.1995 mit der Bezeichnung "System and Method for a Multi-Processor Partitioning to Support High Availability" eingereicht wurde,
  • US Patentanmeldung Nr. 08/435,464, die am 05.05.1995 mit der Bezeichnung "Page Migration in a Non-Uniform Memory Acess (NUMA) System" eingereicht wurde,
  • US Patentanmeldung Nr. 08/435,459, die am 05.05.1995 mit der Bezeichnung "System and Method for Maintaining Coherency of Virtual-to-Physical Memory Translations in a Multiprocessor Computer" eingereicht wurde und
  • US Patentanmeldung Nr. 08/435,463, die am 05.05.1995 mit der Bezeichnung "Cache Coherency Using Flexible Directory Bit Vectors" eingereicht wurde.
  • Die vorliegende Erfindung ist ein dual-in-line Speichermodul (DIMM) zur Ausführung eines Hauptspeichers in einem DSM, wie es in den oben genannten Patentanmeldungen beschrieben ist. Vorteilhafterweise stellt die Erfindung sowohl Datenspeicher und Zustandsspeicher auf einem DIMM zur Verfügung. Dies erleichtert die Installation, das Ersetzen, den Ausbau, das Testen und die Erweiterung des verteilten Hauptspeichers.
  • II. Architektur des DIMMs
  • Fig. 1 zeigt ein High Level Funktionsblockschaltbild eines erfindungsgemäßen DIMMs 102. DIMM 102 besitzt eine gedruckte Schaltungsplatine 103, einen Datenspeicher 104 und einen Zustandsspeicher 106. Die Schaltungsplatine 103 ist eine mehrlagige (beispielsweise achtlagig) gedruckte Schaltungsplatine mit einer Steckerleiste 108. Die Steckerleiste 108 stellt alle elektrischen Verbindungen für den Datenspeicher 104 und den Zustandsspeicher 106 bereit. Die Steckerleiste 108 ist ausgelegt, um in einen Steckersockel (nicht dargestellt) eingeführt zu werden, wie beispielsweise ein Sockelteil mit der Nummer ELF244LFCE-4Z50, das von Burndy Corporation, Norwalk, Conneticut, bezogen werden kann.
  • Die Steckerleiste 108 stellt mehrere Datenanschlüsse 118 bereit, die einen Datenzugriff zu dem Zustandsspeicher 104 über den Datenweg 110 gestatten, mehrere Adressanschlüsse 120 zur Übermittlung von Adress- und Steuerinformationen an einen Datenspeicher 104 über den Datenpfad 110, mehrere Adressanschlüsse 120 zur Übermittlung von Adress- und Steuerinformationen über den Adress- und Steuerpfad 116. Mit "Zugang" zu einem Speicher ist das Schreiben oder das Lesen von Daten in beziehungsweise aus dem Speicher gemeint.
  • Der Datenspeicher 104 ist ausgelegt, um Daten zu speichern. Die in dem Datenspeicher 104 gespeicherten Daten sind allgemein in Datenblöcke unterteilt. Der Zustandsspeicher 106 ist ausgelegt, um Zustandsinformationen zu speichern, die den Blöcken der Daten in dem Datenspeicher 104 entsprechen. Zustandsinformation (ebenfalls als Verzeichnisinformation bekannt) beinhaltet beispielsweise Cache- Kohärenzinformationen (das sind Informationen darüber, ob und wo ein Datenblock im Cache-Speicher sich befindet und wo die letzte Kopie des Datums vorhanden ist), Informationen hinsichtlich der Zugriffssrechte auf die Daten in dem Datenspeicher, Seitenladeinformationen und Ähnliches. Weil der Stecker 108 separate Adress- und Datenanschlüsse für den Zustandsspeicher 106 und den Datenspeicher 104 vorsieht, kann auf Daten und zugehörige Zustandsinformationen unabhängig zugegriffen werden. Mit unabhängig ist gemeint, daß Zustandsinformationen gelesen /geschrieben werden können, während unabhängig davon und/oder parallel zu dem Lesen/ Schreiben aus dem Datenspeicher gelesen beziehungsweise in den Daten speicher geschrieben wird. Dies gestattet es, auf die Daten- und Zustandsinformationen gleichzeitig zuzugreifen.
  • Fig. 2 zeigt ein genaueres Funktionsblockdiagramm eines DIMM 102. In dieser funktionalen Darstellung ist sowohl eine Vorderseite 202 als auch eine Rückseite 204 dargestellt. Der Stecker 118 ist zwischen Seite 202 und Rückseite 204 dargestellt. Der Stecker 118 ist zwischen Vorderseite 202 und Rückseite 204 dargestellt. Diese Figur kann am besten verstanden werden, wenn das DIMM wie ein aufgeschlagenes Buch betrachtet wird, bei dem der Buchrücken in der Mitte mit den Vorder- und Rückeinbänden sichtbar liegt. Der Stecker 118 entspricht dem Buchrücken. Wie dargestellt weist der Stecker 118 eine erste Reihe von Steckeranschlüssen 206 auf der Vorderseite 202 und eine zweite Reihe von Steckeranschlüssen 208 auf der Rückseite 204 der Schaltungsplatine 103 auf.
  • Wie aus der Figur ersichtlich, ist der Datenspeicher 104 durch einen ersten Bankabschnitt 210 auf der Vorderseite 202 und einen zweiten Bankabschnitt 212 auf der Rückseite 204 ausgeführt. Der Zustandsspeicher 106 ist als auf der Vorderseite 202 befestigt dargestellt. Adress- und Steuerpfad 112 sind durch Adress- und Steuerpuffer 214, 216 gepuffert. Adress- und Steuerpuffer 214 stellen Adress- und Steuersignale bereit (das heißt Zeilen-Adress-Abtastsignale, Spalten-Adress-Abtastsignale, Schreibsperrung und Datenmaske) für eine linke Seite des ersten Bankabschnitts 210 und eine rechte Seite des zweiten Bankabschnitts 212 über den Bus 113. Zusätzlich sehen Adress- und Steuerpuffer 214 ein Chipauswahlsignal und ein Uhrsperrsignal sowohl auf der linken als auch auf der rechten Seite des zweiten Bankabschnitts 210 über Leitungen 117 vor.
  • Adress- und Steuerpuffer 216 stellen Adress- und Steuersignale (d. h. Zeilen-Adress- Abtastsignale, Spalten-Adress-Abtastsignale, Schreibsperr und Datenmasken) für eine rechte Seite des ersten Bankabschnitts 210 und eine linke Seite eines zweiten Bankabschnitts über den Bus 115 bereit.
  • Zusätzlich sehen Adress- und Steuerpuffer 216 im Chipauswahlsignal und ein Uhrsperrsignal sowohl für die linke als auch für die rechte Seite des zweiten Bankabschnitts 212 über die Leitungen 119 vor.
  • Die Chipauswahlsignale werden verwendet, um zwischen ersten Bankabschnitt 210 und zweiten Bankabschnitt 212 auszuwählen. Die Puffer 214, 216 sind als Puffer auf der linken und rechten Seite der Speicherbankabschnitte 210, 212 angeordnet, um die Führung der Signalleistungen auf der Schaltungsplatine 103 zu vereinfachen. Alternativ kann der Puffer 214 ausgebildet sein, um Signale nur von dem Bankabschnitt 210 zu puffern, und der Puffer 216 kann ausgebildet sein, um Signale nur von dem Bankabschnitt 212 zu puffern.
  • Ein Zeitgeber 218 ist auf der Vorderseite 202 der Schaltungsplatine 103 befestigt. Der Zeitgeber 218 empfängt ein Zeitsignal über die Zeitsignal- und Steuerleitungen 220 und stellt einen ausreichenden Antriebsstrom für den Zeitgeber 218 bereit, um mehrere Speicherchips zu versorgen, die verwendet werden, um erste und zweite Speicherbankabschnitte 210, 212, ebenso wie den Zustandspeicher 106 zu bilden. Der Zeitgeber 218 besitzt ebenfalls eine phasenfeste Schleifenfunktion, die Verformungen aus einem Zeitsignal 222 entfernt, das an die mehreren Speicherchips des Daten- und Zustandsspeichers DIMM 102 verteilt wird.
  • In einer Ausführungsform weist die Rückseite 202 des DIMMs 102 ein SPROM (seriell programmierbarer Nur-Lesespeicher) 224 auf. Das SPROM 224 kann verwendet werden, um eine einheitliche Identifikationsnummer (zum Beispiel eine Seriennummer) für den DIMM 102 bereitzustellen. Ein geeignetes SPROM kann von Dallas Semiconductor, Dallas, Texas, als Teil Nr. DS2502, das auch als NIC (Number in a can) bekannt ist, bezogen werden.
  • III. Ausführung des DIMMs in einem DIMM-Paar
  • In einer bevorzugten Ausführungsform der Erfindung wird DIMM 102 verwendet, um den Hauptcomputerspeicher nur in Paaren aufzubauen. Jedes DIMM des Paares nimmt ein halbes Datenwort auf derart, daß ein Paar gemeinsam in der Lage ist ein sehr breites Datenwort zur Verfügung zu stellen. Dies ist in Fig. 3 dargestellt, in der ein DIMM 102 A und ein DIMM 102 B ein DIMM-Paar 302 bilden. Wie dargestellt, weist das DIMM 102 A ein ersten Speicherbankabschnitt 210 A, zwei Speicherabschnitte 212 A und einen ersten Zustandsspeicher 106 A auf Ähnlich weist das DIMM 102 B einen ersten Speicherbankabschnitt 210 B, einen zweiten Speicherbankabschnitt 212 B und einen zweiten Zustandspeicher 106 B auf.
  • In dieser Ausführung bilden der erste Speicherbankabschnitt 210 A und der zweite Speicherbankabschnitt 212 B eine erste Speicherbank, die als Bank 0 gekennzeichnet ist. Die Zustandsinformation für die in Bank 0 gespeicherten Daten ist in dem Zustandsspeicher 106 A enthalten. Der zweite Speicherbankabschnitt 212 A und der erste Speicherbankabschnitt 210 B bilden eine zweite Speicherbank, die als Bank 1 gekennzeichnet ist. Der Zustandsspeicher 106 B ist ausgelegt, um Zustandsinformationen zu speichern, die den in Bank 1 gespeicherten Daten entsprechen. Wie nachfolgend beschrieben ist, wird ein Bank-Auswahlsignal verwendet, um eine von den Banken 0 oder 1 für die Datenzugriffsoperation auszuwählen. Die Speicherbank 0 und die Speicherbank 1 verwenden gemeinsame Adress- und Datenleitungen.
  • Das erfindungsgemäße DIMM kann mit einer Vielzahl von verschiedenen Datenspeicherkapazitäten hergestellt werden. In einer ersten bevorzugten Ausführungs form besitzt das DIMM 102 eine sechsunddreißig (36) Megabyte Datenspeicherkapazität (einschließlich 32 Megabyte Daten und 4 Megabyte ECC) und eine zwei (2) Megabyte Zustandsinformationsspeicherkapazität. Die Ausführungsform ergibt ein DIMM-Paar, das vierundsechzig (64) Megabyte Datenspeicherkapazität, acht (8) Megabyte ECC und vier (4) Megabyte Züstandsspeicherkapazität bereitstellt. In einer zweiten Ausführungsform besitzt das DIMM 102 zweiundsiebzig (72) Megabyte Datenspeicherkapazität (einschließlich 64 Megabyte Daten und 8 Megabyte ECC) und vier (4) Megabyte Zustandsspeicherkapazität. Diese Ausführungsform ergibt ein DIMM-Paar, das einhunderachtundzwanzig (128) Megabyte Datenspeicherkapazität, sechzehn (16) Megabyte ECC und acht (8) Megabyte Zustandsinformationsspeicherkapazität bereitstellt.
  • IV. Details der DIMM Verbindungen
  • Fig. 4 zeigt ein Blockdiagramm, das die Verbindung der Komponenten zeigt, die zur Ausführung eines DIMMs 102 in Übereinstimmung mit der ersten bevorzugten Ausführungsform der Erfindung verwendet wird. Der Datenspeicher 104 ist unter Verwendung mehrerer synchroner, dynamischer Direktzugriffsspeicher (SDRAM) Chips D0-D17 ausgeführt. Die SDRAMs D0-D8 stellen Speicherchips des ersten Speicherbankabschnitts 210 dar, während SDRAMs D9-D17 Speicherchips des zweiten Speicherbankabschnitts 212 darstellen. In dieser 32 Megabyte- Ausführungsform des DIMMs 102 ist jedes SDRAM D0-D17 ein zwei Megahit mal acht Bit (2M · 8) SDRAM-Chip. Folglich ist jeder Speicherbankabschnitt 210, 212 zwei (2) Megabit tief mal zweiundsiebzig (72) Bit breit, was zu einer Gesamtdatenkapazität des Datenspeichers 104 von vier (4) Megabit tief mal zweiundsiebzig (72) Megabit breit führt (d. h., 64 Bit für die Daten und 8 Bit für ECC). Der Zustandsspeicher 106 ist unter Verwendung eines einzigen SDRAM-Chips mit einem Megabit mal sechzehn Bit (1M · 16) ausgeführt.
  • Jeder SDRAM-Chip D0-D17 stellt ein 8 Bit Datenwort zur Verfügung. Um eine Verbindung mit jedem SDRAM bereitzustellen, stellt der Datenpfad 110 einen 8 Bit Datenpfad DQ bereit. Wie dargestellt ist ein Chip von jedem Speicherbankabschnitt 210, 212 mit einem 8 Bit Datenpfad DQ verbunden. Beispielsweise ist sowohl SDRAM D0 als auch SDRAM D9 mit DQ[7 : 0] verbunden. Welcher Chip momentan aktiv auf dem Datenpfad ist, wird durch einen externen Chip oder ein Bankauswahlsignal (weiter unten beschrieben) bestimmt.
  • Adress- und Steuerpuffer 214, 216 empfangen 20 Bit Adress- und Steuersignale, bezeichnet mit A[19 : 0], puffern die Adress- und Steuersignale und stellen das Adress- und Steuersignal für die SDRAMs D0-D17 wie folgt bereit. Adress- und Steuerpuffer 214 stellt Adress- und Steuersignale (d. h. Zeilen-Adress-Abtastsignale, Spalten-Adress-Abtastsignale, Schreibsperre und Datenmaske) auf der linken Seite der Bankabschnitte 210, 212 (d. h. SDRAMs D0-D3 und D9-D12) über den Bus 113 bereit. Zusätzlich schaffen die Adress- und Steuerpuffer 214 ein Bankauswahlsignal (CS0§) und ein Uhrsperrsignal (CKE0) sowohl für die linke als auch für die rechte Seite des ersten Bankabschnitts 210 (d. h. SDRAMs D0-D8) über die Leitungen 117.
  • Adress- und Steuerpuffer 216 stellen Adress- und Steuersignale (d. h. Zeilen-Adress- Abtastsignale, Spalten-Adress-Abtastsignale, Schreibsperrsignale und Datenmasken) auf der rechten Seite des Bankabschnitts 210, 212 (d. h. SDRAMs D4-D8 und D13- D 17) über den Bus 115 bereit. Zusätzlich schaffen die Adress- und Steuerpuffer 216 ein Bankauswahlsignal (CS1_) und ein Uhrsperrsignal (CKE1) auf der linken und der rechten Seite des zweiten Bankabschnitts 212 (d. h. SDRAMs D9-D17) über die Leitungen 119. Adress- und Steuersignale A[19 : 0] werden in der nachfolgenden Tabelle 1 näher beschrieben.
  • Die Zeitgeberschaltung 218 stellt ein Zeitsignal 222 für jeden der SDRAMs D0-D17 bereit und für den SDRAM des Zustandsspeichers 106. Die Zeitgeberschaltung 218 erzeugt Zeitsignale 222 basierend auf Zeitsignalen C[5 : 0]. Die Zeitsignale C[5 : 0] werden nachfolgend näher beschrieben. Der Datenweg 114 und Adress- und Steuerweg 116 des Zustandsspeichers 106 wird durch Linien DIR_DQ[15 : 0] beziehungsweise B[17 : 0] beschrieben. Diese Signale werden nachfolgend näher beschrieben.
  • Die 72 Megabyte Ausführungsform des DIMM 102 ist in Fig. 5 dargestellt. In dieser Ausführungsform ist das DIMM anstatt unter Verwendung von achtzehn zwei Megabyte mal acht Bit (2M · 8) SDRAMs durch Verwendung von sechsunddreißig (36) vier Megabit mal 4 Bit (4M · 4) SDRAMs ausgeführt. Zur Aufnahme der zusätzlichen Chips wird eine zweite Schaltungsplatine 500 verwendet. Achtzehn von den 4M · 4 SDRAMs (D0-D17) werden auf einer ersten Schaltungsplatine 103 befestigt. Die anderen achtzehn 4M · 4 SDRAMs (D18-D35) werden auf der zweiten Schaltungsplatine 500 befestigt. Die Schaltungsplatine 500 ist auf der Schaltungsplatine 103 Huckepack befestigt. Nur die Schaltungsplatine 103 weist eine Steckerleiste 108 (nicht dargestellt in Fig. 5) auf. Alle elektrischen Verbindungen zu den SDRAM-Chips auf der Schaltungsplatine 500 laufen durch die Steckerleiste der Schaltungsplatine 103. Die Signale werden von den zwei Platinen unter Verwendung von mehreren Verbindungsstiften benutzt. Jedes Ende von jedem Stift ist in einem mit einem Überzug versehenen Durchgangsloch angeordnet, um elektrische Verbindungen zwischen den Platinen herzustellen. Diese Stifte dienen ebenfalls zur physikalischen Befestigung der zweiten Platine an der ersten Platine. Ein Beispiel für eine Huckepack befestigte Schaltungsplatine (nicht unter Verwendung von mit einem Überzug versehenen Durchgangslöchern) ist in dem US Patent Nr. 5,200,917 von Shaffer et al. vorhanden.
  • In dieser Ausführungsform wird der erste Speicherbankabschnitt 210 von der Vorderseite von jeder Schaltungsplatine 103, 500 gebildet. Beispielsweise können die SDRAM-Chips D0-D8 und D27-D35 verwendet werden, um einen ersten Speicherbankabschnitt 210 auszuführen. Ähnlich kann die Rückseite von jeder Schaltungsplatine 103, 500 verwendet werden, um den zweiten Speicherbankabschnitt 212 auszuführen. Dies schließt beispielsweise die SDRAM-Chips D9-D17 und D 18-D26 ein. Die Chips auf jeder Schaltungsplatine 103 und 500 weisen ein Zeitsignal und eine Pufferung über die Zeitgeber 218A, 218B und die Adress- und Steuerpuffer 214A, 214B, 216A, 216B auf. In dieser Ausführungsform ist jedoch jeder SDRAM- Chip mit einem 4 Bit Datenpfad anstatt einem 8 Bit Datenpfad verbunden. Folglich wird ein entsprechender SDRAM-Chip von jeder Platine dazu verwendet um 8 Bits zu erzeugen, die durch einen einzelnen Chip in dem 36 Megabyte DIMM bereitgestellt werden. Wie in der 36 Megabyte DIMM-Ausführungsform aus Fig. 4 werden alle SDRAM-Chips den D0-D35 gleichzeitig adressiert. Ein Bankauswahlsignal (eines der Signale A[19 : 0]) wird verwendet, um zwischen dem Speicherbankabschnitt 210 und dem Speicherbankabschnitt 212 zu wählen.
  • V. DIMM-Chip-Layout
  • Eine bevorzugte Ausführung der 32 Megabyte DIMM-Ausführungsform ist in den Fig. 6A und 6B dargestellt. Fig. 6A zeigt die Vorderseite 202 von DIMM 102.
  • Fig. 6B zeigt die Rückseite 204 des DIMM 102. In dieser bevorzugten Ausführung ist die Schaltungsplatine 103 ungefähr 1,34 inch hoch und 6,6 inch lang und besitzt eine 122 Anschlüsse langen mal 2 Anschlüssen breiten Steckerleiste entlang der Längsseite der Schaltungsplatine. SDRAMs D0-D8, SDRAM DIR0 (für den Zustandsspeicher 106), Daten- und Steuerpuffer 214A und Zeitgeber 218A sind auf der Vorderseite 202 der Schaltungsplatine 103 angeordnet. SDRAMs D9-D17 und Daten- und Steuerpuffer 216A sind auf der Rückseite 204 der Schaltungsplatine 103 befestigt.
  • Die Fig. 6A und 6B sind repräsentativ für die 72 Megabyte-Ausführungsform der Erfindung und für die 32 Megabyte-Ausführungsform mit den folgenden Unterschieden. Erstens werden in der 72 Megabyte-Ausführungsform SDRAMs D0-D17 als 4M · 4 Geräte anstatt von 2M · 8 Bit Geräten verwendet. Zweitens ist der Verzeichnisspeicherchip (gekennzeichnet als DIR 0) ein 2M · 8 Bit Gerät anstatt eines 1M · 16 Bit Gerätes. Drittens wird in der 72 Megabyte-Ausführungsform ein zweiter 2M · 8 Bit SDRAM-Chip (in gepunkteten Linien in Fig. 6B als DIR 1 dargestellt) mit DIR 0 verwendet, um den Zustandsspeicher 106 auszuführen.
  • Eine bevorzugte Ausführung der zweiten Huckepack-Schaltungsplatine 500 in der 72 Megabyte DIMM-Ausführungsform ist in den Fig. 7A und 7B dargestellt. Fig. 7A zeigt die Vorderseite 702 der zweiten Schaltungsplatine 500. Die Fig. 7B zeigt eine Rückseite 704 der zweiten Schaltungsplatine 500. In der bevorzugten Ausführung ist die Schaltungsplatine 500 ungefähr 1,16 inch hoch mal 6,6 inch lang und weist 116 Verbindungsstifte (nicht dargestellt) auf, die elektrische Verbindungen mit der Schaltungsplatine 103 bereitstellen. Die SDRAMs D 18-D26, Daten- und Kontrollpuffer 214B und der Zeitgeber 218B sind auf der Vorderseite 702 der Schaltungsplatine 500 befestigt. SDRAMs D27-D35 und Daten- und Steuerpuffer 216B sind auf der Rückseite 704 der Schaltungsplatine 500 befestigt.
  • VI. Die Anschlußbeschreibung
  • Tabelle 1 listet die Anschlußnamen und Funktionen für die Anschlüsse der Steckerleiste nach einer bevorzugten Ausführungsform der vorliegenden Erfindung. Die linke Spalte listet die abgekürzten Anschlußnamen und die rechte Spalte listet die Funktionen der in den zugehörigen Tabellenzeile aufgelisteten Anschlüsse auf.
  • Tabelle 1 Anschlußbeschreibung
  • Anschlußname Funktion
  • A[11:0]A Datenspeicheradresse (Zeile: A[10:0]; Zeile: A[9:0]; Bankauswahl: A11)
  • DQ[71:0] Daten I/O- Anschlüsse für Datenspeicher
  • CS1, CS0A Chipauswahl für Datenspeicher SDRAMs
  • REA Zeilenadress-Auswahlsignal (RAS) für Datenspeicher
  • CEA Spaltenadress-Auswahlsignal (GAS) für Datenspeicher
  • WEA Schreibsperrbefehl für Datenspeicher
  • DQMA Input / Output Maske für Datenspeicher
  • CKE1, CKE0A Speicheruhrsperren für CS1 bzw. CS0 SDRAMs
  • DIRA[11:0]B Zustandsspeicheradresse (Zeile: A[10:0]; Zeile: A[7:0]; Bankauswahl: A11)
  • DIR DQ[15:0] Verzeichnis Daten (d. h. Zustandsinformation) I/O für Zustandsspeicher
  • DIR CSB Verzeichnis Chipauswahl für Zustandsspeicher
  • DIR REB Verzeichnis Zeilenadressen-Auswahlsignal für Zustandsspeicher
  • DIR CE8 Verzeichnis Spaltenadressauswahlsignal für Zustandsspeicher
  • DIR WEB Verzeichnis Schreibsperrbefehl für Zustandsspeicher
  • DIR DQMB Verzeichnis Input/Output-Maske für Zustandsspeicher
  • DIR CKEB Verzeichnis Uhrsperren für Zustandsspeicher
  • PCLK, PCLKL Differentielle LVPECL Uhr-Eingänge
  • TCLKC LVTTL Uhr-Eingänge
  • TCLK SELC Wählt TCLK, wenn hoch und PCLK, wenn niedrig
  • PLL ENC Sperrt PLL für Zeitgeber
  • PLL CLRC PLL reset und Drei-Zustandszeitgeberausgänge
  • V3 Stromversorgung (3,3 Volt Gleichstrom)
  • GND Masse
  • SERIAL DAT Zu lesende Zeile von seriellem Prom
  • A = Diese Anschlüsse sind in den Fig. 4 und 5 gemeinsam als A[19:0] bezeichnet
  • B = Diese Anschlüsse sind gemeinsam in den Fig. 4 und 5 als B[17:0] bezeichnet
  • C = Diese Anschlüsse sind gemeinsam in den Fig. 4 und 5 als C[5:0] bezeichnet
  • Die erste Anschlußbeschreibung ist für die Adressanschlüsse und als A[11:0] abgekürzt. Während der Zeilenadressierung werden die letzten elf signifikanten Bits verwendet. Während der Spaltenadressierung werden die neun am wenigsten signifikanten Bits in der 36 MB DIMM-Ausführungsform und die zehn am wenigsten signifikanten Bits in der 72 MB DIMM-Ausführungsform verwendet. Das am meisten signifikante Bit (All) wird verwendet, um zwischen den internen SDRAM- Bänken auszuwählen. ("Interne Bänke" sind von den Bänken Null und Eins verschiedene Bänke des oben beschriebenen SDRAM DIMM 102. Deshalb werden Bank Null und Eins nachfolgend als "externe" Bänke bezeichnet, die über externe Bankchipauswahlsignale CS1 und CS0 ausgewählt werden, um diese von den "internen SDRAM-Bankauswahl" Signal All zu unterscheiden. Diese Benennungs konvention gilt ebenfalls für SDRAMs, die für Daten verwendet werden, ebenso für solche, die zum Speichern von Zustandsinformationen benutzt werden.)
  • Daten werden eingegeben in und ausgegeben aus dem Datenspeicher des SDRAM DIMM über 72 Daten Input/Output (I/O) Wege, abgekürzt DQ[71:0]. Weil die SDRAM DIMMs paarweise verwendet werden, stellt ein einzelner Zugang zu dem Datenspeicher auf einem einzelnen DIMM 72 Bit zur Verfügung, die, wenn mit den 72 Bit des DIMM-Paares verbunden, ein 144 Bit Datenwort ergeben, das 128 Bit Daten und 16 Bit ECC bereitstellt.
  • Es verbleiben acht Pfade für den Datenspeicher SDRAM DIMM. Zwei externe Bankchipauswahlanschlüsse, abgekürzt CS1_ und CS0_, ein Zeilen-Adress- Auswahlbefehl-Anschluss, abgekürzt RE_, ein Spalten-Adress-Auswahlsignal- Anschluß, abgekürzt CE_, und ein Schreibsperrbefehl-Anschluß, abgekürzt WE_, sind Standardsignale, die zur Auswahladressierung und Schreibsperre von SDRAM- Chips verwendet werden, was für den Fachmann auf dem Gebiet selbstverständlich ist. In ähnlicher Weise sind zwei Anschlüsse zum Sperren der Speicheruhr für jeweils zwei Bänke der SDRAMs vorgesehen und mit CKE1 und CKE0 abgekürzt. Ein einziger Input/Output-Maskenpfad ist ebenfalls vorgesehen und mit DQM abgekürzt. Die Funktion des DQM-Maskenpfads wird nachfolgend im Zusammenhang mit den Wellenform-Diagrammen beschrieben.
  • Die Anschlüsse des Zusatzspeichers des SDRAM DIMM werden nun beschrieben. Die Summe der Verzeichnisadressanschlüsse wird mit DIR_A[11:0] abgekürzt. Zeilenadressierung für den Zustandsspeicher verwendet Verzeichnisadressbits A[10:0], und Spaltenadressierung verwendet Verzeichnisadressbits A[7:0] für einen 32 MB DIMM und Bits A[8:0] für 72 MB DIMMs. Ein zwölfter Verzeichnisadressanschluß A(11) wird für eine interne SDRAM-Bankauswahl verwendet.
  • Sechzehn Bit Zustandsinformation wird durch die Verzeichnisdaten 10-Anschlüsse, abgekürzt DIR_DQ[15:0], bereitgestellt. Die nächsten fünf in der Tabelle 1 gelisteten Anschlüsse haben eine ähnliche Funktion wie die oben beschriebenen in Verbindung mit den ähnlichen Pfaden für den Speicherdatenbereich des SDRAM DIMMs. Der Verzeichnischipauswahlanschluß ist mit DIR_C5_ abgekürzt. Ein Verzeichnis- Zeilen-Adress-Auswahlsignal-Anschluß ist mit DIR_RE_ abgekürzt. Ein Verzeichnis-Spalten-Adress-Anschluß ist mit DIR_CE_ abgekürzt. Ein Verzeichnis Schrei- Sperr-Befehlanschluß ist mit DIR_WE_ abgekürzt. Ein Verzeichnis Input/Output- Maskenanschluß ist mit DIR_DQM_ abgekürzt. Ein zusätzlicher Verzeichnisuhrsperranschluß, abgekürzt DIR_CKE, ist zum Sperren der Zustandsspeicheruhr vorgesehen.
  • Nach einer bevorzugten Ausführungsform der vorliegenden Erfindung wird ein MPC931 PLL Chip der Firma Motorola, Inc., (Phoenix, Arizona) als ein Zeitgeberschaltkreis verwendet. Weil dieser speziell integrierte Schaltkreis sowohl niedrige Spannung Transistor-Transistor-Logik (LVTTL) oder niedrige Spannung positive Emitter gekoppelte Logik (LVPECL) unterstützt, kann der SDRAM DIMM der vorliegenden Erfindung Anschlüsse aufweisen, um beide Arten von Logikleveln für den Zeitgeberschaltkreis zu unterstützen. Deshalb sind differentielle LVPECL Zeitanschlüsse abgekürzt PCLK und PCLK_ vorgesehen. Zusätzlich ist ein LVTTL- Uhranschluß abgekürzt TCLK vorgesehen. Um zwischen den zwei möglichen Leistungsanschlüssen auszuwählen, ist ein mit TCLK_SEL abgekürzter Anschluß vorgesehen. Der logische Spannungswert, der an den TCLK_SEL-Anschluß angelegt wird, wählt aus, welche Spannungsanschlüsse der Zeitgeberschaltkreis verwenden wird. Beispielsweise kann TCLK ausgewählt werden, wenn der TCLK_SEL- Anschluß logisch hoch ist, und der PCLK-Anschluß kann zur Versorgung der Zeitgeberschaltung verwendet werden, wenn der TCLK_SEL-Anschluß auf niedrigem logischen Level liegt. Ein anderer Anschluß ermöglicht den festen Phasenschleifenabschnitt der Zeitgeberschaltung und ist mit PLL_EN abgekürzt. Reset und Drei- Zustandszeitgeberschaltungsausgänge für diesen Herstellerchip können über einen anderen Anschluß, der mit PLL_CLR abgekürzt ist, ausgewählt werden. Weitere geeignete Anschlußanordnungen zur Verwendung von funktional ähnlichen PLL (festen Phasenschleifen) Chips sind für den Fachmann auf diesem Gebiet selbstverständlich.
  • Eine Energieversorgungsspannung (zum Beispiel 3,3 Volt Gleichstrom) und Masse werden über die Anschlüsse bereitgestellt, die mit V3 bzw. GND abgekürzt sind. Ein einzelner zusätzlicher Anschluß wird verwendet, um den Inhalt des seriellen programmierbaren Nur-Lesespeichers (PROM) zu lesen, falls ein solcher eingesetzt ist, wobei der Anschluß mit SERIAL_DAT gekennzeichnet ist.
  • Fig. 15 zeigt eine bevorzugte beispielhafte Anschlußzuordnung für die gesamten 244 Anschlüsse der Anschlußleiste 118. Die Figur ist in 6 Spalten aufgebrochen, um alle 244 Anschlußzuordnungen auf einer einzelnen Seite darzustellen. 14 Anschlüsse sind nicht zugeordnet. Jede Spalte zeigt die Anschlußnummerzuordnung nach der Abkürzung der Anschlußbeschreibung, die den in Tabelle 1 gelisteten Anspruchsnamen entspricht. Die Anschlußzuordnungen sind unter Berücksichtigung der Spurlängen auf der PCB 103 gemacht worden, um eine Signalverzerrung und Aufladung zu minimieren.
  • VII. Zeiterfordernisse
  • Tabelle 2 zeigt repräsentativ die Zeiterfordernisse für ein beispielhaftes SDRAM DIMM-Paar unter Verwendung von den Teilen der NEC Corporation (Japan) mit den Nummern uPD4516421GS-A12-TJF (4M · 4), uPD4516421GS-A12-TJF (2M · 8) oder uPD45161GS-A12-TJF (IM · 16). Die in Tabelle 2 gelisteten Zeiterfordenisse gelten für die nominalen Temperaturen zwischen 0 und 70ºC und für eine Betriebsspannung zwischen 3,3 Volt und 3,6 V Gleichspannung mit allen Uhrbezügen auf PCLK. Die Zeiterfordernisse aus Tabelle 2 schließen ein Uhrzittern und Veränderung von ungefähr 1,5 Nanosekunden ein.
  • Tabelle 2 Zeitanforderung
  • Ta = 0 bis 70ºC, VDD, VDDQ = 3,15 VDC bis 3,6 VDC)
  • Alle Uhrbezüge (Ref) beziehen sich auf PCLK.
  • Die Zeiten schließen ein Zittern der Uhr und Verformung von 1,5 ns maximal ein.
  • 1. Uhrzykluszeit = 20 ns max
  • 2. Uhr für Daten in Set Up = 4,5 ns min
  • 3. Uhr für Daten halten = 2,5 ns min
  • 4. Set Up Zeit Eingabeadresse = 12,0 ns min
  • 5. Haltezeit Eingabeadressen = 1,0 ns min
  • 6. Set Up Zeit Eingabebefehl = 12,0 ns min
  • 7. Haltezeit Eingabebefehl = 1 ns min
  • 8. Zugangszeit von Uhr (CAS Latenz = 2) = 15 ns max, Last 18 pf
  • 9. Haltezeit Ausgabe Daten = 1,5 ns min
  • 10. Uhr zu Datenausgabe, hohe Impedance = 16,5 ns max, Last 80 pf
  • 11. Uhr zu CKE Set Up (Leistung niedrig, ausgeschaltet) = 12,0 ns max
  • 12. Uhr zu CKE halten = 1,0 ns min
  • 13. Ref/aktiv zu Ref/aktiv Befehlsperiode = 110 ns min
  • 14. Aktiv zur vorgeladenen Befehldauer = 75 ns min - 10.000 ns max
  • 15. Aktiver Befehl zu Zeilenbefehl (selbe Bank) = 38 ns min
  • 16. Vorgeladen zu aktivem Befehlsdauer = 38 ns min
  • 17. Letztes Datum in einer vorgegebenen Ladungszeit = 38 ns min
  • 18. Auffrischdauer = 64 ms max
  • Die in Fig. 2 gezeigten Zeitparameter stellen allgemein die Zeitdauer dar, wie sie an der Steckerleiste unter Vernachlässigung von kleinen Effekten, die der Stecker selber für die Signale mit sich bringt, gemessen werden. Diese Zeiten würden anders ausfallen, wenn sie auf den SDRAMs selber gemessen würden. Die Zeilen- und Spaltenadressen werden durch ein Speichersystem bestimmt, mit dem die SDRAM DIMMs verbunden sind, wie es für die spezifischen auf den DIMMs verwendeten SDRAM-Geräte erforderlich ist.
  • VIII. Wellenform-Diagramme
  • Die Zeitdiagramme zum Lesen und Schreiben von Informationen für die SDRAM DIMMs sind in den Fig. 8 bis 13 gezeigt. Die Fig. 8 zeigt ein repräsentatives "Daten-Lese" Zeitdiagramm nach der vorliegenden Erfindung. Fig. 9 zeigt ein repräsentatives "Daten-Schreiben" Zeitdiagramm nach der vorliegenden Erfindung.
  • Fig. 10 zeigt ein repräsentatives "Lesen-Schreiben-Ändern" (RMW) Zeitdiagramm nach der vorliegenden Erfindung. Die vertikalen Balken stellen die Uhrflanken dar, an denen die Steuer- und Adresssignale durch die SDRAM-Teile abgetastet werden. Mit Bezug auf Fig. 8 werden insgesamt sechs Zeitspuren dargestellt, die einschließen: Chip Auswahl (CS_) 802; Zeilenadresse Auswahlsignal (RE_) 804; Spaltenadressen-Auswahlsignal (CE_) 806; Schreibsperre (WE_) 808; Adress(A)Eingänge 810 und Daten (DQ) Ein/Ausgänge 812.
  • Der SDRAM DIMM-Datenausgang 812 stellt die Zeit für eine Ausgabe dar, basierend auf der Anwendung von Zeilen- und Spaltenadressen und dem Vorliegen von RE_, CE_ und WE_ Kontrollsignale. Der Datenspeicher ist derart angeordnet, daß auf einem einzelnen Zeilenzugang vier Spaltenadressen (C0, C2, C4 und C6) folgen können, um auf einen Datenblock von einem DIMM- Paar zuzugreifen. Ein Daten block (nicht einschließlich Parität/ECC Datum) sind 8 Worte von 16 Byte oder insgesamt 128 Byte (was 64 Bit pro DIMM oder insgesamt 128 Bits pro Zugriffort entspricht, da auf das Paar stets gleichzeitig zugegriffen wird). Somit werden für 4 aufeinander folgende Zugriffe pro RA insgesamt 8 Datenwörter D0-D7 von 16 Byte ausgegeben. Ähnlich wird in das SDRAM DIMM-Paar blockweise geschrieben, wie durch Spur 902 in Fig. 9 dargestellt. Die Tabelle 3 zeigt repräsentative Zyklusverzögerungen für verschiedene Zeitparameter der Fig. 8-10. Diese Parameterverzögerungen sind in Nanosekunden angegeben und gelten nominal.
  • Tabelle 3 Zyklusverzögerung bei 50 MHZ
  • 1. CAS Verzögerung = 2 (Anzahl von Zeiten zwischen CE_ Befehl und Verfügbarkeit von Daten)
  • 2. tRCD = 2 (Mindestanzahl von Zeitsignalen zwischen RE_ und CE Befehlen)
  • 3. RAS Wartezeit = 4 (Mindestanzahl von Zeiteinheiten zwischen RE_ und Verfügbarkeit der Daten)
  • 4. tRC = 6 (Mindestanzahl von Zeiteinheiten zwischen Auffrischen und RE_ Befehl)
  • 5. tRAS = 4 (Mindestanzahl von Zeiteneinheiten zwischen RE_ und Vorladen)
  • 6. tRRD = 2 (Mindestanzahl von Zeiteinheiten zwischen RE_ Befehlen)
  • 7. tRP = 2 (Mindestanzahl von Zeiteinheiten zwischen Vorladen und RE_ Befehlen)
  • 8. tDPL = 1 (Mindestanzahl von Zeiteinheiten zwischen Daten in und vor Vorladebefehl)
  • 9. tDAL = 3 (Mindestanzahl von Zeiteinheiten zwischen Daten in und RE_ bei automatischen Vorladen)
  • Lesen-Ändern-Schreiben kann ebenfalls auf Daten ausgeführt werden, wie in Fig. 10 dargestellt. Auf eine Stelle wird zugegriffen durch ein einzelnes RE_ und CE_ (Spur 1002 beziehungsweise 1004) und das Datum wird bei dem ersten D0/D1-Paar 1006 gelesen. Nachdem das Datum geändert wurde, wird es, wie für das zweite D0/D1-Paar (1008) gezeigt, in das DIMM-Paar unter Verwendung der CE_ und WE_ (Spur 1010) Signale zurückgeschrieben.
  • Wie oben angegeben, wird auf den Zustandsspeicher parallel mit dem Datenspeicher zugegriffen. Der Zustandsspeicher weist zwei Lese- und zwei Schreibvorgänge auf, da jeder Verzeichniseintrag 32 Bit breit ist und der Zustandsspeicher in der bevorzugten Ausführungsform als SDRAMs mit nur 16 Bit Breite implementiert ist. Ebenfalls erfordert die Implementierung der Seitenauslagerung das Lesen der Stelle, die dem Speicherblock entspricht, auf den sowohl der anfordernde Knoten als auch der Heimatknoten zugreift, und ein Schreiben, um den Zähler für den Knoten hochzusetzen, der die Anforderung macht. Die Seitenauslagerungzahl gibt an, wie oft ein Knoten auf eine bestimmte Speicherseite zugreift. Folglich muß der Zähler jedesmal erhöht werden, wenn auf eine Seite zugegriffen wird. Wenn der Zähler für den Zugriff von einigen Knoten auf eine bestimmte Seite einen vorbestimmten Schwellwert überschreitet oder der Zähler für den Anfrager Minus dem Zähler für den Heimatknoten einen bestimmten Schwellwert überschreitet, wird die Seite in den Speicher des zugehörigen Knotens verlagert. Eine nähere Beschreibung der Seitenverlagerung kann in der ebenfalls anhängigen Anmeldung (Anwaltsakte Nr. 1452.0690000) gefunden werden, die oben angegeben ist. Folglich wird während der 8 Zyklen von Lesen oder Schreiben aus bzw. in den Datenspeicher der zugehörige Zustandsspeicher insgesamt 4 mal gelesen und insgesamt 3 mal geschrieben, so daß die Zugriffe auf Daten- und Zustandsinformationen ausgeglichen sind.
  • Fig. 11, 12 und 13 zeigen drei separate Wellenform-Diagramme, die die Maskierung der Daten einschließlich Lesen, Schreiben bzw. Ändern. In Fig. 11 sind die folgenden Signale dargestellt: Chipauswahl (DIR_C5_), Zeilen-Adress-Abtastsignal (DIR_RE_), Spalten-Adress-Abtastsignal (DIR_CE), Schreibsperre (DIR_WE_), Eingabe/Ausgabe Datenmasken (DIR_DQM), Adresse A Eingänge und Daten (DIR_DQ) Ein/Ausgaben. Der Verzeichniszyklus für das Lesen beginnt durch das Lesen der ersten Hälfte des Verzeichnisworts (D0), der Seitenauslagerungszähler für den anfordernden Knoten (S), die zweite Hälfte des Verzeichnisseswortes (D1), den Heimatknoten Seitenauslagerungszähler (H), anschließend nach einem Tot-zyklus auf DIR_DQ werden der neue Seitenauslagerungszähler (S) und die neue Verzeichnisinformation (D0 und D1) in den Zustandsspeicher geschrieben. Die Information wird in der angegebenen Ordnung durch die Anforderung der Speichersteuerung, die zu der schnellsten Speicheranwortzeit führt, ausgelesen.
  • Fig. 12 zeigt eine geringe Permutation der in Fig. 11 gezeigten Wellenformen. Die Reihenfolge von S und D0 ist in dieser Figur im Gegensatz zu der in Fig. 11 vertauscht.
  • Fig. 13 zeigt den Zustandszugriff für ein Zustandsüberprüfungsoperation, die nur einen Zustandszugriff und keinen Speicherzugriff erfordert. Um in den zusätzlichen Aufwand für diese Überprüfungoperationen zu minimieren, wird nur auf die Verzeichnisinformation zugegriffen.
  • XI. Erweiterter Zustandsspeicher
  • Bei der Verwendung in einem DSM-Multiprozessor werden die erfindungsgemäßen DIMM-Paare zur Ausführung des Hauptspeichers verwendet. Jeder Prozessorknoten des DSM-Multiprozessors weist einen Teil des Hauptspeichers auf. In den 36 und 72 Megabyte-Ausführungsformen des DIMMs besitzen die oben diskutierten Zustandsspeicherkonfigurationen eine ausreichende Kapazität, um Zustandsinformationen für ein System mit 16 Knoten aufzunehmen. Beispielsweise kann jeder Zustandsspeicher, der oben beschrieben wurde, 16 Bit breite Worte mit Zustandsinformation aufweisen.
  • Wenn die Anzahl der Knoten 16 überschreitet, sind zusätzliche Zustandsspeicher an jedem Knoten erforderlich, um mehr Zustandsinformationen über die Cache- Speicherung aufzunehmen, weil Cache-Speicher dem System hinzugefügt wurde. Der zusätzliche Zustandsspeicher kann unter Verwendung eines Nur- Zustandsspeicher DIMMs ausgeführt werden. Nach einer bevorzugten Ausführungsform dieses Aspekts der vorliegenden Erfindung, fugt dieser Nur-Zustandsspeicher DIMM 32 Bit zusätzlichen Zustandsspeicher hinzu. Der resultierende Gesamtzustandsspeicher bietet 48 Bit breite Zustandsinformationen (16 Original Bits auf SDRAM Daten/Zustandsspeicher DIMM plus 32 Bit von dem Nur-Zustandsspeicher DIMM). Mit diesem zusätzlichen Zustandsspeicher kann der DSM-Multiprozessor bis zu 64 Knoten unter Verwendung von herkömmlichen Bit-Vektoren und bis zu 512 Knoten unter Verwendung von flexiblen Verzeichnis-Bit-Vektoren aufnehmen. Die spezifische Anzahl von zusätzlichen Zustandsinformationsbits kann variieren und ist erweiterbar, was für den Durchschnittsfachmann auf diesem Gebiet der Technik selbstverständlich ist.
  • Die Organisation des DIMM-Paares 302 und des Nur-Zustandsspeicher DIMMs 1406 in einem Hauptspeicherabschnitt 1400 eines Knotens in einem DSM- Multiprozessor ist in Fig. 14 dargestellt. Eine Speicher/Verzeichnissteuereinheit 1402 an dem Knoten des DSM-Multiprozessors führt alle Speicherverwaltungsfunktionen für den Daten- und den Zustandsspeicher auf den DIMMs 302 und 1406 aus. Ein Speicheradress- und Steuerpuffer 1410 puffert alle Adressen und Steuerleitungen 1420, die zu den Datenspeicher in den DIMM-Paaren 302 von der Steuereinheit 1402 ausgehen. Eine Zustands(verzeichnis)adressen- und Steuer-Puffer 1412 puffert alle Adress- und Steuersignale auf den Leitungen 1422, die zu dem Zu- Standsspeicher des Nur-Zustandsspeicher DIMM-Paares 1406 von der Steuereinheit 1402 ausgehen.
  • Jeder Nur-Zustandsspeicher DIMM 1406 kann unter Verwendung eines einzelnen PCB ausgeführt werden. Das PCB kann mit SDRAM-Chips von ähnlicher oder unähnlicher Kapazität wie die SDRAM-Chips des DIMMs 302 bestückt werden. Die SDRAMs des Nur-Zustandsspeicher DIMMs 1406 sind in zwei Bänken organisiert, daß die Zustandsinformation und Adressierung der Zustandsinformation konsistent mit dem Verzeichnis (DIR)/Zustandsspeichern auf den DIMMs 302 ist.
  • Ein Bustauscher 1408 reicht die 144 Bit Datenworte zu/von jedem DIMM-Paar 302 über bidirektionale Busse 1409 weiter. Der Bustauscher 1408 nimmt 144 Bit Daten bei der Speichergeschwindigkeit auf und wandelt es zu 72 Bit bei zweifacher Speichergeschwindigkeit. In einer bevorzugten Ausführungsform, ist der Bustauscher 1408 mit einem Teil Nr. SN74ALVC16282 (hergestellt von Texas Instruments, Dallas, Texas) ausgeführt, das 144 Bit bei 50 MHz zu 72 Bit bei 100 MHz wandelt und umgekehrt für den bidirektionalen Austausch der Daten zwischen den DIMMs 302 und der Steuereinheit 1402 über den bidirektionalen Bus 1411. Verzeichnisdaten werden nicht gepuffert und werden durch den bidirektionalen Bus 1424 zwischen dem Nur-Zustandsspeicher DIMM 1406 und der Steuereinheit 1402 übertragen.
  • Zu Zwecken der Verdeutlichung wurde eine 36 Megabyte-Ausführungsform und eine 72 Megabyte-Ausführungsform des DIMMs beschrieben. Es ist selbstverständlich, daß das DIMM nach dieser Erfindung auch mit einer anderen Datenkapazität hergestellt werden kann. Beispielsweise unter Verwendung von 64 Megabit (d. h. 8M · 8) SDRAM-Chips kann ein Ein-Platinen DIMM mit 128 Megabyte Daten und 16 Megabyte ECC (18 Chips · 8 Megabyte pro Chip) Speicherkapazität (einschließlich Daten und ECC) hergestellt werden. Dies wird zu einem DIMM-Paar mit 256 Megabyte Datenspeicherkapazität fuhren. Wenn eine Huckepack-Platine wie in der oben beschriebenen 72 Megabyte DIMM-Ausführungsform verwendet wird, können die 64 Megabyte des SDRAM-Chips verwendet werden, um ein 256 Megabyte Daten und 32 Megabyte ECC DIMM herzustellen und ein 512 Megabyte Daten, 64 Megabyte ECC DIMM-Paar.
  • In der beschriebenen bevorzugten Ausführungsform, wird eine Huckepack-Platine verwendet, damit der DIMM 36 SDRAMs für den Datenspeicher aufnehmen kann. Der Fachmann erkennt, daß andere Chipstapeltechniken ebenfalls verwendet werden können, um 36 SDRAM-Chips aufzunehmen. Wenn Chipstapeltechniken verwendet werden, kann auf die Huckepack-Platine verzichtet werden.
  • Alternativ können 4 Megabit (d. h. IM · 1) SDRAM-Chips kombiniert werden, um DIMMs mit einer kleineren Speicherkapazität herzustellen oder die oben beschriebenen Stapel und/oder Huckepack-Techniken können für höhere Speicherkapazitäten verwendet werden.

Claims (17)

1. Dual-In-Line Speichermodul (kurz: DIMM) mit
einer Schaltungsplatine (103),
einer ersten Speichereinrichtung (104), die auf der Schaltungsplatine zum Speichern von Daten befestigt ist, und
einer zweiten Speichereinrichtung (106), die auf der Schaltungsplatine zum Speichern von Verzeichnisinformationen, die mindestens einem Teil der Daten entsprechen, befestigt ist.
2. DIMM nach Anspruch 1, dadurch gekennzeichnet, daß zusätzliche Einrichtungen (108) vorgesehen sind, um einen separaten Zugriff auf die erste Speichereinrichtung und die zweite Speichereinrichtung zu ermöglichen.
3. DIMM nach Anspruch 2, dadurch gekennzeichnet, daß die zusätzlichen Einrichtungen einen Stecker (108) aufweisen, wobei der Stecker mehrere Anschlüsse besitzt, die folgendes aufweisen:
eine erste Gruppe von Adressanschlüssen (118),
eine zweite Gruppe von Adressanschlüssen (122),
eine erste Gruppe von Datenanschlüssen (120) und
eine zweite Gruppe von Datenanschlüssen (124).
4. DIMM nach Anspruch 3, dadurch gekennzeichnet, daß die mehreren Anschlüsse folgende Anordnung aufweisen:
Die erste Gruppe von Datenanschlüssen und die erste Gruppe von Adressanschlüssen sind elektrisch mit der ersten Speichereinrichtung verbunden und
die zweite Gruppe von Datenanschlüssen und die zweite Gruppe von Adressanschlüssen sind elektrisch mit der zweiten Speichereinrichtung verbunden,
wobei die Anordnung eine unabhängige Adressierung der ersten und zweiten Speicheranordnung zuläßt.
5. DIMM nach Anspruch 4, dadurch gekennzeichnet, daß die mehreren Anschlüsse zusätzlich separate Steueranschlüsse für die erste und zweite Speichereinrichtung aufweisen.
6. DIMM nach Anspruch 4, dadurch gekennzeichnet, daß der Stecker eine Steckerleiste ist, die zwei Seiten und mindestens 122 Anschlüsse pro Seite aufweist, wobei die erste Gruppe von Adressanschlüssen mindestens zwölf Anschlüsse, die zweite Gruppe von Adressanschlüssen mindestens zwölf Anschlüsse, die erste Gruppe von Datenanschlüssen wenigstens 72 Anschlüsse und die zweite Gruppe von Datenanschlüssen mindestens 16 Anschlüsse aufweist.
7. DIMM nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die erste Speichereinrichtung und die zweite Speichereinrichtung jeweils mehrere dynamische Direktzugriffsspeicher (DRAM) Chips aufweisen.
8. DIMM nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß ein phasenfester Schleifen-Zeitgeber (phase locked 100p clock driver) mit der ersten und zweiten Speichereinrichtung gekoppelt ist und ein Puffer zur Pufferung von Adress- und Steuersignalen für die erste Speichereinrichtung vorgesehen ist.
9. DIMM nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die erste Speichereinrichtung logisch in Speicherblöcke unterteilt ist und daß die zweite Speichereinrichtung konfiguriert ist, um Informationen darüber zu speichern, wo die Daten in einer Gruppe von Speicherblöcken in einem Cachespeicher gespeichert sind.
10. DIMM nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die erste Speichereinrichtung logisch in Speicherblöcke organisiert ist und daß die zweite Speichereinrichtung zur Speicherung von Zugriffsrechten für die in einer Gruppe von Speicherblöcken gespeicherten Daten ausgelegt ist.
11. DIMM nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die erste Speichereinrichtung logisch in Speicherblöcke unterteilt ist und daß die zweite Speichereinrichtung konfiguriert ist, um Cache-Zustandsinformationen über die in einer Gruppe von Speicherblöcken gespeicherten Daten zu speichern.
12. DIMM nach Anspruch 4, dadurch gekennzeichnet, daß die erste Speichereinrichtung und die zweite Speichereinrichtung jeweils mehrere synchrone dynamische Direktzugriffsspeicher (SDRAM) Chips aufweisen.
13. DIMM nach Anspruch 12, dadurch gekennzeichnet, daß die erste Speichereinrichtung in einen ersten Speicherbankabschnitt von SDRAM Chips und in einen zweiten Speicherbankabschnitt von SDRAM Chips unterteilt ist.
14. DIMM nach Anspruch 13, dadurch gekennzeichnet, daß der erste Speicherbankabschnitt und der zweite Speicherbankabschnitt jeweils mindestens 9 SDRAM Chips besitzen, wobei jeder von den mindestens 9 SDRAM Chips zwei Megabit tief und acht Bit breit ist, und daß die zweite Speichereinrichtung mindestens einen ein Megabit tiefen und 16 Bit breiten SDRAM Chip besitzt.
15. DIMM nach Anspruch 13, dadurch gekennzeichnet, daß der erste Speicherbankabschnitt und der zweite Speicherbankabschnitt jeweils mindestens 18 SDRAM Chips aufweisen, wobei jeder von den mindestens 18 SDRAM Chips vier Megabit tief und vier Bit breit ist, und daß die zweite Speichereinrichtung mindestens zwei zwei Megabit tiefe und acht Bit breite SDRAM Chips aufweist.
16. DIMM nach Anspruch 15, dadurch gekennzeichnet, daß die gedruckte Schaltungsplatine eine erste Schaltungsplatine aufweist, die eine zweite Schaltungsplatine in einer parallelen, Hucke-Pack-Anordnung aufweist.
17. DIMM nach Anspruch 13, dadurch gekennzeichnet, daß der erste Speicherbankabschnitt und der zweite Speicherbankabschnitt jeweils mindestens 18 SDRAM Chips aufweisen, wobei jeder von den mindestens 18 SDRAM Chips 16 Megabit tief und 4 Bit breit ist, daß die erste Gruppe von Adressanschlüssen mindestens 14 Anschlüsse aufweist und daß die zweite Speichereinrichtung mindestens zwei acht Megabit tiefe und acht Bit breite SDRAM Chips aufweist.
DE69610662T 1995-05-15 1996-05-14 DIMM Hochleistungsspeicher mit einem Datenspeicher und einem Zustandsspeicher Expired - Fee Related DE69610662T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US44021495A 1995-05-15 1995-05-15

Publications (2)

Publication Number Publication Date
DE69610662D1 DE69610662D1 (de) 2001-03-08
DE69610662T2 true DE69610662T2 (de) 2001-04-12

Family

ID=23747896

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69610662T Expired - Fee Related DE69610662T2 (de) 1995-05-15 1996-05-14 DIMM Hochleistungsspeicher mit einem Datenspeicher und einem Zustandsspeicher
DE69620650T Expired - Fee Related DE69620650T2 (de) 1995-05-15 1996-05-14 Hochkapazitätsdimmspeicher mit Daten- und Zustandsspeicher

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69620650T Expired - Fee Related DE69620650T2 (de) 1995-05-15 1996-05-14 Hochkapazitätsdimmspeicher mit Daten- und Zustandsspeicher

Country Status (10)

Country Link
US (2) US5790447A (de)
EP (2) EP1020864B1 (de)
JP (2) JP4020271B2 (de)
KR (1) KR100215267B1 (de)
CN (1) CN1142635A (de)
AU (1) AU707453B2 (de)
CA (1) CA2176642A1 (de)
DE (2) DE69610662T2 (de)
IN (1) IN188196B (de)
TW (1) TW303433B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10142361A1 (de) * 2001-08-30 2003-04-24 Infineon Technologies Ag Speichermodul

Families Citing this family (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991850A (en) * 1996-08-15 1999-11-23 Micron Technology, Inc. Synchronous DRAM modules including multiple clock out signals for increasing processing speed
US6310782B1 (en) * 1996-10-31 2001-10-30 Compaq Computer Corporation Apparatus for maximizing memory density within existing computer system form factors
US6006238A (en) * 1997-01-31 1999-12-21 Network Computing Devices, Inc. Method and apparatus for migrating/shadowing data between a server and its clients
US5953215A (en) * 1997-12-01 1999-09-14 Karabatsos; Chris Apparatus and method for improving computer memory speed and capacity
US6108228A (en) * 1997-12-02 2000-08-22 Micron Technology, Inc. Quad in-line memory module
AU1798999A (en) 1997-12-05 1999-06-28 Intel Corporation Memory system including a memory module having a memory module controller
US7007130B1 (en) * 1998-02-13 2006-02-28 Intel Corporation Memory system including a memory module having a memory module controller interfacing between a system memory controller and memory devices of the memory module
US6415364B1 (en) * 1997-12-31 2002-07-02 Unisys Corporation High-speed memory storage unit for a multiprocessor system having integrated directory and data storage subsystems
US7024518B2 (en) * 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
US6970968B1 (en) * 1998-02-13 2005-11-29 Intel Corporation Memory module controller for providing an interface between a system memory controller and a plurality of memory devices on a memory module
US6968419B1 (en) * 1998-02-13 2005-11-22 Intel Corporation Memory module having a memory module controller controlling memory transactions for a plurality of memory devices
US6154821A (en) * 1998-03-10 2000-11-28 Rambus Inc. Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain
US5982654A (en) * 1998-07-20 1999-11-09 Micron Technology, Inc. System for connecting semiconductor devices
US6347394B1 (en) * 1998-11-04 2002-02-12 Micron Technology, Inc. Buffering circuit embedded in an integrated circuit device module used for buffering clocks and other input signals
KR100308214B1 (ko) * 1998-12-30 2001-12-17 윤종용 듀얼칩반도체집적회로장치
US6347367B1 (en) * 1999-01-29 2002-02-12 International Business Machines Corp. Data bus structure for use with multiple memory storage and driver receiver technologies and a method of operating such structures
US6115278A (en) * 1999-02-09 2000-09-05 Silicon Graphics, Inc. Memory system with switching for data isolation
US6338144B2 (en) * 1999-02-19 2002-01-08 Sun Microsystems, Inc. Computer system providing low skew clock signals to a synchronous memory unit
JP3515708B2 (ja) * 1999-05-17 2004-04-05 日本電気株式会社 半導体記憶装置
US6414868B1 (en) 1999-06-07 2002-07-02 Sun Microsystems, Inc. Memory expansion module including multiple memory banks and a bank control circuit
US6683372B1 (en) 1999-11-18 2004-01-27 Sun Microsystems, Inc. Memory expansion module with stacked memory packages and a serial storage unit
US6772261B1 (en) 2000-04-27 2004-08-03 International Business Machines Corporation Interface that allows testing and using memory modules in computer systems not designed for the modules
US6833984B1 (en) 2000-05-03 2004-12-21 Rambus, Inc. Semiconductor module with serial bus connection to multiple dies
JP4480855B2 (ja) * 2000-06-08 2010-06-16 富士通マイクロエレクトロニクス株式会社 半導体デバイスを含むモジュール、及びモジュールを含むシステム
KR100335504B1 (ko) * 2000-06-30 2002-05-09 윤종용 제어 및 어드레스 버스를 공유하는 2채널 메모리 시스템및 이에 채용되는 메모리 모듈
WO2002008910A1 (en) * 2000-07-20 2002-01-31 Silicon Graphics, Inc. Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device
TW528948B (en) * 2000-09-14 2003-04-21 Intel Corp Memory module having buffer for isolating stacked memory devices
US6487102B1 (en) 2000-09-18 2002-11-26 Intel Corporation Memory module having buffer for isolating stacked memory devices
US6530006B1 (en) * 2000-09-18 2003-03-04 Intel Corporation System and method for providing reliable transmission in a buffered memory system
JP3923715B2 (ja) * 2000-09-29 2007-06-06 株式会社東芝 メモリカード
US6349050B1 (en) * 2000-10-10 2002-02-19 Rambus, Inc. Methods and systems for reducing heat flux in memory systems
US6658530B1 (en) * 2000-10-12 2003-12-02 Sun Microsystems, Inc. High-performance memory module
US6362997B1 (en) * 2000-10-16 2002-03-26 Nvidia Memory system for use on a circuit board in which the number of loads are minimized
EP1466326A2 (de) * 2001-01-17 2004-10-13 Honeywell International Inc. Verbesserte speichermodularchitektur
US6721185B2 (en) 2001-05-01 2004-04-13 Sun Microsystems, Inc. Memory module having balanced data I/O contacts pads
US20030090879A1 (en) * 2001-06-14 2003-05-15 Doblar Drew G. Dual inline memory module
US6714433B2 (en) * 2001-06-15 2004-03-30 Sun Microsystems, Inc. Memory module with equal driver loading
DE10149031A1 (de) * 2001-10-05 2003-04-24 Infineon Technologies Ag Speichervorrichtung
US7656678B2 (en) 2001-10-26 2010-02-02 Entorian Technologies, Lp Stacked module systems
US20030161198A1 (en) * 2002-02-26 2003-08-28 Peddle Charles I. Method and apparatus for implementing a selectively operable clock booster for DDR memory or other logic modules which utilize partially-defective memory parts, or a combination of partially-defective and flawless memory parts
WO2003075162A1 (en) * 2002-02-28 2003-09-12 Silicon Graphics, Inc. Method and system for cache coherence in dsm multiprocessor system without growth of the sharing vector
US6751113B2 (en) * 2002-03-07 2004-06-15 Netlist, Inc. Arrangement of integrated circuits in a memory module
US7117421B1 (en) * 2002-05-31 2006-10-03 Nvidia Corporation Transparent error correction code memory system and method
US8386797B1 (en) 2002-08-07 2013-02-26 Nvidia Corporation System and method for transparent disk encryption
US6868485B1 (en) * 2002-09-27 2005-03-15 Advanced Micro Devices, Inc. Computer system with integrated directory and processor cache
US7096323B1 (en) 2002-09-27 2006-08-22 Advanced Micro Devices, Inc. Computer system with processor cache that stores remote cache presence information
US6930904B2 (en) * 2002-11-22 2005-08-16 Sun Microsystems, Inc. Circuit topology for high-speed memory access
US7096407B2 (en) * 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
US20040201968A1 (en) * 2003-04-09 2004-10-14 Eric Tafolla Multi-bank memory module
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
DE60305006T2 (de) * 2003-05-08 2006-11-02 Infineon Technologies Ag Schaltungsmodul mit miteinander verschalteten gruppen von überlappenden halbleiterchips
US6982892B2 (en) * 2003-05-08 2006-01-03 Micron Technology, Inc. Apparatus and methods for a physical layout of simultaneously sub-accessible memory modules
US7392347B2 (en) 2003-05-10 2008-06-24 Hewlett-Packard Development Company, L.P. Systems and methods for buffering data between a coherency cache controller and memory
US20060118950A1 (en) * 2003-07-03 2006-06-08 Smart Modular Technologies, Inc., A California Corporation Multi function module
JP4478922B2 (ja) * 2003-08-29 2010-06-09 旭有機材工業株式会社 作動流体用継手の受口およびその受口を有する弁
US7539909B2 (en) * 2003-09-30 2009-05-26 Intel Corporation Distributed memory initialization and test methods and apparatus
KR100574951B1 (ko) * 2003-10-31 2006-05-02 삼성전자주식회사 개선된 레지스터 배치 구조를 가지는 메모리 모듈
JP2005190036A (ja) * 2003-12-25 2005-07-14 Hitachi Ltd 記憶制御装置及び記憶制御装置の制御方法
US20050018495A1 (en) * 2004-01-29 2005-01-27 Netlist, Inc. Arrangement of integrated circuits in a memory module
US7389375B2 (en) * 2004-07-30 2008-06-17 International Business Machines Corporation System, method and storage medium for a multi-mode memory buffer device
US7224595B2 (en) 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
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
US7539800B2 (en) * 2004-07-30 2009-05-26 International Business Machines Corporation System, method and storage medium for providing segment level sparing
US7760513B2 (en) 2004-09-03 2010-07-20 Entorian Technologies Lp Modified core for circuit module system and method
US7443023B2 (en) 2004-09-03 2008-10-28 Entorian Technologies, Lp High capacity thin module system
US7423885B2 (en) 2004-09-03 2008-09-09 Entorian Technologies, Lp Die module system
KR100585158B1 (ko) * 2004-09-13 2006-05-30 삼성전자주식회사 Ecc 메모리 모듈
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
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
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration 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
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
US7299313B2 (en) * 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7441060B2 (en) * 2004-10-29 2008-10-21 International Business Machines Corporation System, method and storage medium for providing a service interface to a memory system
KR100723486B1 (ko) * 2005-05-12 2007-05-30 삼성전자주식회사 심/딤 구조를 가지는 메모리 모듈 및 메모리 시스템
US20070014168A1 (en) 2005-06-24 2007-01-18 Rajan Suresh N Method and circuit for configuring memory core integrated circuit dies with memory interface integrated circuit dies
DE102005033710B3 (de) * 2005-07-19 2007-01-25 Infineon Technologies Ag Halbleiterspeichermodul mit Fehlerkorrektur
US7478259B2 (en) * 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) * 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7636813B2 (en) 2006-05-22 2009-12-22 International Business Machines Corporation Systems and methods for providing remote pre-fetch buffers
US7640386B2 (en) * 2006-05-24 2009-12-29 International Business Machines Corporation Systems and methods for providing memory modules with multiple hub devices
US7594055B2 (en) * 2006-05-24 2009-09-22 International Business Machines Corporation Systems and methods for providing distributed technology independent memory controllers
US7584336B2 (en) 2006-06-08 2009-09-01 International Business Machines Corporation Systems and methods for providing data modification operations in memory subsystems
US20080002447A1 (en) * 2006-06-29 2008-01-03 Smart Modular Technologies, Inc. Memory supermodule utilizing point to point serial data links
US7493439B2 (en) * 2006-08-01 2009-02-17 International Business Machines Corporation Systems and methods for providing performance monitoring in a memory system
US7669086B2 (en) * 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7581073B2 (en) 2006-08-09 2009-08-25 International Business Machines Corporation Systems and methods for providing distributed autonomous power management in a memory system
US7587559B2 (en) * 2006-08-10 2009-09-08 International Business Machines Corporation Systems and methods for memory module power management
US7539842B2 (en) 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7490217B2 (en) 2006-08-15 2009-02-10 International Business Machines Corporation Design structure for selecting memory busses according to physical memory organization information stored in virtual address translation tables
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
US7477522B2 (en) * 2006-10-23 2009-01-13 International Business Machines Corporation High density high reliability memory module with a fault tolerant address and command bus
DE102006051514B4 (de) * 2006-10-31 2010-01-21 Qimonda Ag Speichermodul und Verfahren zum Betreiben eines Speichermoduls
US7721140B2 (en) * 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
KR100834826B1 (ko) * 2007-01-25 2008-06-03 삼성전자주식회사 취급손상을 줄인 집적회로 모듈의 구조 및 모듈의 종단저항 배치방법
US7606988B2 (en) 2007-01-29 2009-10-20 International Business Machines Corporation Systems and methods for providing a dynamic memory bank page policy
US7603526B2 (en) * 2007-01-29 2009-10-13 International Business Machines Corporation Systems and methods for providing dynamic memory pre-fetch
US7818497B2 (en) * 2007-08-31 2010-10-19 International Business Machines Corporation Buffered memory module supporting two independent memory channels
US7840748B2 (en) * 2007-08-31 2010-11-23 International Business Machines Corporation Buffered memory module with multiple memory device data interface ports supporting double the memory capacity
US7584308B2 (en) * 2007-08-31 2009-09-01 International Business Machines Corporation System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel
US8082482B2 (en) * 2007-08-31 2011-12-20 International Business Machines Corporation System for performing error correction operations in a memory hub device of a memory module
US7861014B2 (en) * 2007-08-31 2010-12-28 International Business Machines Corporation System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel
US7899983B2 (en) 2007-08-31 2011-03-01 International Business Machines Corporation Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module
US7865674B2 (en) * 2007-08-31 2011-01-04 International Business Machines Corporation System for enhancing the memory bandwidth available through a memory module
US8086936B2 (en) * 2007-08-31 2011-12-27 International Business Machines Corporation Performing error correction at a memory device level that is transparent to a memory channel
US7558887B2 (en) * 2007-09-05 2009-07-07 International Business Machines Corporation Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel
US8019919B2 (en) * 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
US20090119114A1 (en) * 2007-11-02 2009-05-07 David Alaniz Systems and Methods for Enabling Customer Service
US7925825B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to support a full asynchronous interface within a memory hub device
US7930470B2 (en) * 2008-01-24 2011-04-19 International Business Machines Corporation System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller
US7770077B2 (en) * 2008-01-24 2010-08-03 International Business Machines Corporation Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem
US7925824B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency
US7925826B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency
US8140936B2 (en) * 2008-01-24 2012-03-20 International Business Machines Corporation System for a combined error correction code and cyclic redundancy check code for a memory channel
US7930469B2 (en) 2008-01-24 2011-04-19 International Business Machines Corporation System to provide memory system power reduction without reducing overall memory system performance
KR101393311B1 (ko) * 2008-03-19 2014-05-12 삼성전자주식회사 프로세스 변화량을 보상하는 멀티 칩 패키지 메모리
US8472199B2 (en) * 2008-11-13 2013-06-25 Mosaid Technologies Incorporated System including a plurality of encapsulated semiconductor chips
JP5422974B2 (ja) 2008-11-18 2014-02-19 富士通株式会社 誤り判定回路及び共有メモリシステム
US7984326B2 (en) * 2009-05-14 2011-07-19 International Business Machines Corporation Memory downsizing in a computer memory subsystem
US8626997B2 (en) * 2009-07-16 2014-01-07 Micron Technology, Inc. Phase change memory in a dual inline memory module
JP5752686B2 (ja) * 2009-08-20 2015-07-22 ラムバス・インコーポレーテッド 原子メモリ装置
US8290919B1 (en) 2010-08-27 2012-10-16 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
US8768981B1 (en) 2010-08-27 2014-07-01 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
US8392368B1 (en) * 2010-08-27 2013-03-05 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
CN104041068A (zh) 2012-01-31 2014-09-10 惠普发展公司,有限责任合伙企业 光学架构、光学分布矩阵以及用于制造光学结构的方法
KR20140000010A (ko) 2012-06-22 2014-01-02 삼성전자주식회사 반도체 메모리 장치
KR101456503B1 (ko) * 2013-05-15 2014-11-03 (주)실리콘화일 스택 메모리
KR101545952B1 (ko) * 2013-10-28 2015-08-21 (주)실리콘화일 스택 메모리 장치 및 그 동작 방법
US10216659B2 (en) 2014-05-30 2019-02-26 Hewlett Packard Enterprise Development Lp Memory access signal detection utilizing a tracer DIMM
US9916873B2 (en) * 2015-02-12 2018-03-13 Rambus Inc. Extended capacity memory module with dynamic data buffers
US9298228B1 (en) 2015-02-12 2016-03-29 Rambus Inc. Memory capacity expansion using a memory riser
US10248418B2 (en) 2015-06-30 2019-04-02 International Business Machines Corporation Cleared memory indicator
US10884945B2 (en) 2015-06-30 2021-01-05 International Business Machines Corporation Memory state indicator check operations
US10635307B2 (en) 2015-06-30 2020-04-28 International Business Machines Corporation Memory state indicator
US9530513B1 (en) * 2015-11-25 2016-12-27 Intel Corporation Methods and apparatus to read memory cells based on clock pulse counts
KR102662417B1 (ko) * 2017-01-11 2024-04-30 에스케이하이닉스 주식회사 반도체장치
US11328750B1 (en) * 2021-01-22 2022-05-10 Arm Limited Bitcell architecture with buried ground rail

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5952483A (ja) * 1982-09-17 1984-03-27 Fujitsu Ltd 主記憶装置
US4727513A (en) * 1983-09-02 1988-02-23 Wang Laboratories, Inc. Signal in-line memory module
US4656605A (en) * 1983-09-02 1987-04-07 Wang Laboratories, Inc. Single in-line memory module
US4610000A (en) * 1984-10-23 1986-09-02 Thomson Components-Mostek Corporation ROM/RAM/ROM patch memory circuit
JPS62260244A (ja) * 1986-05-06 1987-11-12 Nintendo Co Ltd メモリカ−トリツジ
GB8625705D0 (en) * 1986-10-28 1986-12-03 Cuthbert R M Variable orifice flow meter
US4802119A (en) * 1987-03-17 1989-01-31 Motorola, Inc. Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory
DE68928112T2 (de) * 1988-03-18 1997-11-20 Toshiba Kawasaki Kk Masken-rom mit Ersatzspeicherzellen
AU628547B2 (en) * 1989-05-19 1992-09-17 Compaq Computer Corporation Modular computer memory circuit board
US5089993B1 (en) * 1989-09-29 1998-12-01 Texas Instruments Inc Memory module arranged for data and parity bits
JPH03248243A (ja) * 1990-02-26 1991-11-06 Nec Corp 情報処理装置
JP3532932B2 (ja) * 1991-05-20 2004-05-31 モトローラ・インコーポレイテッド 時間重複メモリ・アクセスを有するランダムにアクセス可能なメモリ
US5200917A (en) * 1991-11-27 1993-04-06 Micron Technology, Inc. Stacked printed circuit board device
US5319591A (en) * 1991-12-26 1994-06-07 Oki Electric Industry Co., Ltd. Memory module
US5164916A (en) * 1992-03-31 1992-11-17 Digital Equipment Corporation High-density double-sided multi-string memory module with resistor for insertion detection
US5214570A (en) * 1992-04-03 1993-05-25 Clearpoint Research Corporation Compact memory module
US5270964A (en) * 1992-05-19 1993-12-14 Sun Microsystems, Inc. Single in-line memory module
US5272664A (en) * 1993-04-21 1993-12-21 Silicon Graphics, Inc. High memory capacity DRAM SIMM
US5477553A (en) * 1994-07-22 1995-12-19 Professional Computer Systems, Inc. Compressed memory address parity checking apparatus and method
US5513135A (en) * 1994-12-02 1996-04-30 International Business Machines Corporation Synchronous memory packaged in single/dual in-line memory module and method of fabrication
US5526320A (en) * 1994-12-23 1996-06-11 Micron Technology Inc. Burst EDO memory device
US5634110A (en) * 1995-05-05 1997-05-27 Silicon Graphics, Inc. Cache coherency using flexible directory bit vectors
JP3889044B2 (ja) * 1995-05-05 2007-03-07 シリコン、グラフィクス、インコーポレイテッド 不均一メモリ・アクセス(numa)システムにおけるページ移動
US5787476A (en) * 1995-05-05 1998-07-28 Silicon Graphics, Inc. System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer
US5682479A (en) * 1995-05-05 1997-10-28 Silicon Graphics, Inc. System and method for network exploration and access
US5680576A (en) * 1995-05-05 1997-10-21 Silicon Graphics, Inc. Directory-based coherence protocol allowing efficient dropping of clean-exclusive data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10142361A1 (de) * 2001-08-30 2003-04-24 Infineon Technologies Ag Speichermodul
DE10142361B4 (de) * 2001-08-30 2011-05-05 Qimonda Ag Speichermodul

Also Published As

Publication number Publication date
JP2007280435A (ja) 2007-10-25
EP0744748A3 (de) 1996-12-18
CN1142635A (zh) 1997-02-12
US5790447A (en) 1998-08-04
KR100215267B1 (ko) 1999-08-16
DE69620650T2 (de) 2002-11-28
IN188196B (de) 2002-08-31
EP0744748A2 (de) 1996-11-27
AU5226996A (en) 1996-11-28
EP1020864B1 (de) 2002-04-10
DE69620650D1 (de) 2002-05-16
JP4020271B2 (ja) 2007-12-12
JPH09120671A (ja) 1997-05-06
KR960042366A (ko) 1996-12-21
US6049476A (en) 2000-04-11
CA2176642A1 (en) 1996-11-16
EP1020864A1 (de) 2000-07-19
AU707453B2 (en) 1999-07-08
TW303433B (de) 1997-04-21
DE69610662D1 (de) 2001-03-08
EP0744748B1 (de) 2000-10-18

Similar Documents

Publication Publication Date Title
DE69610662T2 (de) DIMM Hochleistungsspeicher mit einem Datenspeicher und einem Zustandsspeicher
DE69133565T3 (de) System mit einer Vielzahl von DRAMS und einem Bus
DE69326189T2 (de) Speichermodul auf einer Linie zusammengestellt
DE69521095T2 (de) Dynamischer Speicher mit geteilten Leseverstärkern
DE112006002300B4 (de) Vorrichtung zum Stapeln von DRAMs
DE69232458T2 (de) Programmierbare Zeitsteuerung für Speicher
DE3587116T2 (de) Datenprozessor.
DE69131972T2 (de) Speichersteuerungseinheit und Speichereinheit
DE68922073T2 (de) Elektronisches System mit einem Mikroprozessor und Koprozessor, die auf einer Schaltplatte montiert sind.
DE69031411T2 (de) Verfahren und Anordnung zum Lesen, Schreiben und Auffrischen eines Speichers mit direktem virtuellem oder physikalischem Zugriff
DE69322311T2 (de) Halbleiterspeicheranordnung
DE102009020758B4 (de) Halbleiterspeicherbauelement und zugehöriges Zugriffsverfahren
DE102006035612A1 (de) Speicherpuffer für ein FB-Dimm
DE102006054998A1 (de) Latenzsteuerschaltung, automatische Vorladesteuerschaltung, Halbleiterspeicherbauelement, Verfahren zum Steuern der Latenz und Verfahren zum Steuern eines Vorladevorgangs
DE102004027121B4 (de) Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben
DE69123987T2 (de) Stossbetrieb für Mikroprozessor mit externem Systemspeicher
US5686730A (en) Dimm pair with data memory and state memory
DE102016123247B4 (de) Systeme und verfahren zur speicherverwaltung
DE102006022124A1 (de) Eingangsschaltung mit aktualisiertem Ausgangssignal, das mit Taktsignal synchronisiert ist
DE10306149A1 (de) Verfahren und Schaltung zum Zuweisen von Speicheranordnungs-Adressen
US7167967B2 (en) Memory module and memory-assist module
DE102007062930A1 (de) Speichervorrichtung mit mehreren Konfigurationen
DE19933539B4 (de) Integrierter Speicher
DE69512159T2 (de) Addressierung mit einer niedrigen Anzahl von Speicherstiften für Cache- und Haupt-Speicher
DE10342474B4 (de) Anzeige der Systemoperationsfrequenz an einen DRAM während des Einschaltens

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SILICON GRAPHICS, INC., SUNNYVALE, CALIF., US

8339 Ceased/non-payment of the annual fee