DE69709885T2 - Speichersystem und einrichtung - Google Patents

Speichersystem und einrichtung

Info

Publication number
DE69709885T2
DE69709885T2 DE69709885T DE69709885T DE69709885T2 DE 69709885 T2 DE69709885 T2 DE 69709885T2 DE 69709885 T DE69709885 T DE 69709885T DE 69709885 T DE69709885 T DE 69709885T DE 69709885 T2 DE69709885 T2 DE 69709885T2
Authority
DE
Germany
Prior art keywords
data
controller
bus
memory
response
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
DE69709885T
Other languages
English (en)
Other versions
DE69709885D1 (de
Inventor
A. Wiggers
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.)
Agilent Technologies Inc
Original Assignee
Agilent Technologies 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 Agilent Technologies Inc filed Critical Agilent Technologies Inc
Publication of DE69709885D1 publication Critical patent/DE69709885D1/de
Application granted granted Critical
Publication of DE69709885T2 publication Critical patent/DE69709885T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns

Landscapes

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

Description

  • Diese Offenbarung bezieht sich auf ein Speichersystem und eine Speichervorrichtung und liefert insbesondere ein Verfahren zum Synchronisieren einer Antwort von Speicherchips. Hintergrund
  • Da Computer und deren zentrale Verarbeitungseinheiten ("CPU") in der Lage sind, Instruktionen schneller auszuführen, bringt diese Fähigkeit einen Bedarf nach einer erhöhten Speichergröße und -geschwindigkeit, und auch Busgröße mit sich. Der Bedarf hat zu vielen Entwurfsbemühungen geführt, die auf ein Optimieren von gegenwärtigen und zukünftigen Speichervorrichtungsentwürfen gerichtet sind, um eine schnelle Speicherantwort zu schaffen. Häufig auftretende gegenwärtige Beispiele von Speichervorrichtungen umfassen dynamische Direktzugriffsspeicher ("dRAM"), Nur-Lese- Speicher ("ROM") und synchrone Direktzugriffsspeicher ("SRAM"), sowie mechanische und optische Vorrichtungen, wie z. B. CD-ROM.
  • Beim Durchführen einer herkömmlichen Daten-Lesen-Operation sendet eine Speichersteuerung (üblicherweise die CPU oder bei größeren Systemen eine zweckgebundene Speichersteuerung) einen Lesen-Befehl an einen bestimmten Speicherchip. Dieser Befehl wird entlang einer oder mehrerer Leitungen eines Befehlsbus an den Chip ausgebreitet. Wenn der Befehl von dem bestimmten Chip empfangen wurde, veranlaßt dieser den Chip, ein Ausgangssignal aus seinem internen Speicherarray als ein Rückkehrdatensignal, das für die Speichersteuerung beabsichtigt ist, auf einen Datenbus zu positionieren und zu richten. Das Ausgangssignal wird dann entlang des Datenbus ausgebreitet, und kann den gleichen Weg nehmen wie der Befehlsbus, oder auch nicht. Bei dem gerade erwähnten Beispiel gibt es vier Quellen von Zeitverzögerung, die die Ausbreitungszeit eines Lesen-Befehls von der Steuerung zu dem Chip, die Zeit, die der Chip benötigt, um seine internen Register mit Leistung zu versorgen und um das ordnungsgemäße Ausgangssignal auf den Datenbus zu lenken, und die Zeit, die für die Ausbreitung des Ausgangssignals zurück zu der Steuerung benötigt wird, umfassen. Die vierte Quelle einer Zeitverzögerung, die bei Systemen vorhanden ist, die geteilte Datenbusse (z. B. mit separaten, parallelen Datenbussen, die Bit-Gruppen mit unterschiedlicher Bedeutung tragen) aufweisen, ist die Steuerungsverzögerung, die durch eine langsame Wiedergewinnung entlang eines der parallelen Datenbusse bewirkt wird. Üblicherweise haben sich Entwurfsbemühungen nur auf ein Reduzieren der zweiten dieser Zeiten konzentriert, z. B. auf ein Verbessern des internen Leitens und des Verarbeitens von Instruktionen in Speicherchips. Entwurfsbemühungen für größere Systeme haben sich auch in Richtung der Speichersteuerungen gerichtet, die mehrere Speicherbänke effizient verwalten können, wie z. B. im europäischen Patent Nr. 0 339 224 A2 und der Technik, die darin erwähnt ist, erläutert wird.
  • Die oben erwähnten Entwurfsbemühungen ermöglichen jedoch, während sie kontinuierlich mehr ansprechbare Speichervorrichtungen liefern, keine Synchronisation über mehrere Busse, noch beseitigen sie die Möglichkeit einer gleichzeitigen Buskonkurrenz unter mehreren Speicherchips, was ein Problem darstellt, das bezugnehmend auf die Fig. 1 und 2 erläutert wird.
  • Buskonkurrenz
  • Fig. 1 zeigt ein hypothetisches Speichersystem 21, auf das von einer CPU 22 zugegriffen wird. Das Speichersystem 21 umfaßt eine Speichersteuerung 23, einen Befehlsbus 25, einen Datenbus 27 und zwei Speichervorrichtungen 29 und 31, die im Beispiel aus Fig. 1 RAM-Chips sind. Der Befehlsbus umfaßt ein Systemtaktsignal 33, das von der Steuerung ausgegeben wird, ein Daten-Lesen-Signal 35 und einen Adreßbus 37. Es wird davon ausgegangen, daß sich die RAM-Chips 29 und 31 vom Standpunkt einer Busverdrahtung in unterschiedlichen Abständen von der Steuerung 23 befindet, so daß Befehle eine leicht unterschiedliche Zeitmenge benötigen, um jeden Chip zu erreichen. Fig. 2 liefert Zeitdiagramme zu Zwecken der Erklärung des Problems einer gleichzeitigen Buskonkurrenz.
  • Es ist wünschenswert, daß das Speichersystem 21 so schnell wie möglich operiert, so daß die Steuerung 23 drei Daten- Lesen-Befehle bei aufeinanderfolgenden Taktzyklen ausgibt. Der erste und der dritte Befehl ist an die zuvor genannten RAM-Chips 29 und 31 gerichtet, wobei der zweite Befehl für die vorliegende Besprechung keine Bedeutung hat und so durch einen Strich (-) dargestellt wird. Es wird angenommen, daß der Systemtakt eine Frequenz von 250 MHz aufweist, so daß die Breite jedes quadratischen Pulses aus Fig. 2A eine zugeordnete "hohe" Zeit von zwei Nanosekunden aufweist. Fig. 2B zeigt die Ausgabe von zwei Daten-Lesen- Operationen 39 und 41 durch die Speichersteuerung, die "X" bzw. "Y" bezeichnet sind, die sich dann entlang des Befehlsbus in Richtung ihrer beabsichtigten RAM-Chip-Ziele ausbreiten.
  • Fig. 2C zeigt das zeitliche Steuern einer Befehl-"K"- Antwort durch einen ersten 29 der RAM-Chips, wohingegen Fig. 2D das zeitliche Steuern einer Befehl-"Y"-Antwort durch den zweiten 31 der RAM-Chips darstellt. Der erste Chip 29 empfängt, wie durch Fig. 2C dargestellt, seinen Befehl "X" acht Taktzyklen, nachdem dieser ausgebreitet wurde, und benötigt, beginnend mit dem neunten Taktzyklus, 20 Nanosekunden, um seinen Ausgang "D-X" wiederzugewinnen und auf den Datenbus zu plazieren. Im Gegensatz dazu empfängt der zweite Chip 31, wie durch Fig. 2D gezeigt, seinen Befehl "Y" nur sieben Taktzyklen, nachdem dieser ausgebreitet wurde, und benötigt ebenfalls 20 Nanosekunden, um sein Ausgangssignal "D-Y" auf den Datenbus zu plazieren. Wenn der Ausgang für die RAM-Chips 29 und 31 die gleiche Ausbreitungszeitmenge benötigt, um zu der Steuerung zurückzukehren, wie dies der Fall bei den Befehlen war, um die RAN- Chips ursprünglich zu erreichen, kommen beide Ausgangssignale "D-X" und "D-Y" zur gleichen Zeit bei der Steuerung 23 an, wie durch einen schraffierten Block 43 in Fig. 2E gezeigt ist. Es ist zu erkennen, daß bei dem Adreßbus und dem Datenbus bei diesem Beispiel angezeigt wird, daß diese ähnliche Ausbreitungszeiten aufweisen, die denselben zugeordnet sind, obwohl dieses Ergebnis nicht notwendigerweise in Speichersystementwürfen der Fall ist, in denen der Befehlsbus und der Datenbus separat geleitet werden. Ferner ist es klar ersichtlich, daß, während oben nur zwei Speichervorrichtungen gezeigt sind, das Problem der Buskonkurrenz insbesondere kompliziert wird, wenn die Zahl von Speichervorrichtungen ansteigt und CPU immer effizienter werden und mit Frequenzen von mehreren hundert Megahertz und mehr arbeiten.
  • Es besteht ein definitiver Bedarf nach einem Speichersystem, das eine gleichzeitige Antwort entlang mehrerer, paralleler Datenbusse erlaubt. Außerdem existiert ein definitiver Bedarf nach einem System, das eine gleichzeitige Buskonkurrenz zwischen mehreren Speichervorrichtungen entlang eines Datenbus vermeidet. Vorzugsweise würde ein derartiges System sich an Situationen richten, in denen Ausbreitungszeiten zum Erreichen einzelner Chips um einen gesamten Taktzyklus oder mehr differieren. Durch ein Vermeiden einer Buskonkurrenz mehrerer Vorrichtungen hofft man, daß Speichersteuerungen, wie z. B. CPU und zweckgebundene Speichersteuerungen Daten-Lesen- und -Schreiben-Operationen bei aufeinanderfolgenden Taktzyklen durchführen können, wodurch sie Schritt mit einem CPU-Entwurf und der Tendenz in Richtung einer erhöhten Computergeschwindigkeit und Speicherkapazität halten. Die vorliegende Erfindung löst diese Bedarfe und liefert weitere, damit verbundene Vorteile.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung schafft ein Speichersystem und eine Speichervorrichtung, die die oben erwähnten Bedarfe erfüllt. Sie schafft ein Speichersystem, in dem einzelne Speichervorrichtungen (wie z. B. Mikrochips) in ihrer Operation verzögert werden können, um Datenausgänge für eine Steuerung, wie z. B. eine CPU oder eine Speichersteuerung, zu einer vorbestimmten Zeit zu liefern, nachdem eine Anforderung nach Daten durchgeführt wird. Folglich muß die CPU oder Speichersteuerung nicht warten, bis ein erstes Daten- Lesen abgeschlossen ist, bevor ein zweites Daten-Lesen beginnt. Außerdem erleichtert das System die Verwendung eires skalierbaren Datenbus, da Speicherchips, die parallele 8- Bit-Datenbusse oder Datenbusse anderer Größen füttern, verzögert werden können, um eine gleichzeitige Antwort an eine CPU zu schaffen, und zwar ungeachtet von Unterschieden beim Verdrahten und Busleiten. Es ist deshalb klar, daß die vorliegende Erfindung ein Speichersystem mit einem wesentlichen Nutzen schafft.
  • Eine erste Form der Erfindung liefert eine Verbesserung bei einem Speichersystem mit einem Systemtakt, einer Steuerung und zumindest zwei Speichervorrichtungen, wobei zumindest ein Datenbus die Steuerung mit jeder Speichervorrichtung koppelt. Die Verbesserung ist durch einen Puffer in jeder Speichervorrichtung charakterisiert, die angepaßt ist, um eine Zeit zu speichern, um die die Speichervorrichtung den Ausgang verzögern soll. Zusätzlich wird eine Routine von der Steuerung durchgeführt, die jede der Speichervorrichtungen auffordert und eine Zahl von Taktpulsen zählt, bis eine Antwort empfangen wird. Sobald dies für beide Speichervorrichtungen geschehen ist, bestimmt die Steuerung eine maximale Laufzeit und stellt die Antwortzeit zumindest einer der beiden Speichervorrichtungen so ein, daß Speicheranforderungen zu einer Antwort führen, die synchron mit der maximalen Antwortzeit ist.
  • Auf diese Weise kann eine Vorrichtung, die gemäß der vorliegenden Erfindung aufgebaut ist, eine Antwort für Speichervorrichtungen (1) über parallele Datenbusse synchronisieren, z. B. über vier einzelne 16-Bit-Datenbusse, die einen 64-Bit-Datenbus ausmachen, um eine gleichzeitige Antwort sicherzustellen, (2) in Reihe, entlang eines Datenbus synchronisieren, um eine Buskonkurrenz zwischen mehreren Vorrichtungen entlang des gleichen Datenbus zu vermeiden, so daß Daten-Lesen-Befehle bei aufeinanderfolgenden Taktzyklen durchgeführt werden können, oder (3) auf beide Weisen synchronisieren.
  • Zu diesem Zweck liefert eine zweite Form der Erfindung eine Speichervorrichtung, die einen Puffer zum Verzögern von Operationen der Speichervorrichtung aufweist. Gemäß dieser Form der Erfindung empfängt die Speichervorrichtung einen Systemtakt und hat in dem Puffer eine Zahl von Taktzyklen gespeichert, um die sie den Ausgang der Vorrichtung verzögern soll. Wenn ein Daten-Lesen-Befehl dann empfangen wird, kann die Vorrichtung zuerst durch ein Zählen beginnen, bis die Zahl, die durch den Puffer angezeigt wird, erreicht ist, und dann mit Datenabrufoperationen beginnen. Alternativ kann die Vorrichtung sofort Daten von einem internen Speicherbereich abrufen und ein Einklinken ihres Ausgangs auf den entsprechenden Datenbus um einen Betrag verzögern, der ansprechend auf den Inhalt des Puffers ist.
  • Bei bestimmteren Aspekten der Erfindung kann die Speichervorrichtung einen Konfigurationsmodus umfassen, den die Vorrichtung, wie ihr von der Systemsteuerung vorgegeben wird, betreten soll. Die Steuerung schreibt vorzugsweise einen Konfigurationsbefehl an ein Modusregister der Speichervorrichtung, der die Vorrichtung dazu veranlaßt, den Datenbus, der die Vorrichtung mit der Steuerung verbindet, zu überwachen. Die Vorrichtung überwacht den Bus, um sowohl ein Eingangsübernahmesignal als auch ein vorbestimmtes Datenwort von der Steuerung zu erfassen. Wenn die Speichervorrichtung dieses Datenwort erfaßt, klinkt sie ein Antwortwort gemeinsam mit einem Ausgangsübernahmesignal auf den Datenbus ein, was vorzugsweise lokal durch die Vorrichtung von dem Systemtakt abgeleitet ist. Die Steuerung verwendet das Ausgangsübernahmesignal, um sie zu benachrichitigen, daß ankommende Daten auf dem Datenbus gültig sind, und kann folglich auch verwendet werden, um verstrichene Zeit zu bestimmen. Aus dieser verstrichenen Zeit bestimmt die Steuuerung die Verzögerungszeit, die für die bestimmte Vorrichtung geeignet ist, und lädt diese in den Puffer der Vorrichtung. Vorzugsweise wird dieses Ergebnis durch ein Erfassen eines Maximums aller Antwortzeiten und durch ein Laden einer Zahl von Taktzyklen in jeden Puffer durchgeführt, was ein Einklinken des entsprechenden Ausgangs eines Chips verzögert, um eine Antwort auf die Maximalzeit zu synchronisieren.
  • Bei noch bestimmteren Merkmalen der Erfindung kann die Vorrichtung eine Korrektur des Pufferinhalts durchführen, und zwar durch einen Schreiben-Befehl von der Steuerung, durch ein Zählen eines Unterschiedes zwischen der Ankunftszeit des Schreiben-Befehls selbst und Schreiben-Daten, und durch ein Einstellen des Inhalts (der Verzögerungszeit) des Puffers einer Vorrichtung, um dadurch Unterschiede der Laufzeit zwischen einem Befehlsbus und einem Datenbus zu korrigieren.
  • Die Erfindung ist Bezug nehmend auf die folgende detaillierte Beschreibung besser verständlich, die gemeinsam fit den beigefügten Zeichnungen studiert werden sollte. Die detaillierte Beschreibung eines bestimmten bevorzugten Ausführungsbeispiels, das unten beschrieben wird, um ein Bilden und Verwenden einer bestimmten Implementierung der Erfindung zu ermöglichen, soll die aufgezählten Ansprüche nicht einschränken, sondern nur als ein bestimmtes Beispiel derselben dienen.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm eines hypothetischen Speichersystems, das verwendet wird, um den Stand der Technik zu zeigen; eine gestrichelte Linie trennt die zentrale Verarbeitungseinheit ("CPU") eines Computers, die sich über der Linie befindet, und ein Speichersystem, das sich unter der Linie befindet.
  • Fig. 2 ist eine Reihe von Zeitdiagrammen, die verwendet werden, um das Problem einer Buskonkurrenz zwischen mehrere Speichervorrichtungen in dem hypothetischen System des Stands der Technik aus Fig. 1 darzustellen.
  • Fig. 3 ist ein Blockdiagramm des bevorzugten Ausführungsbeispiels, das sowohl parallele Datenbusse ("Baby-Busse", die gemeinsam einen breiten Systembus ausmachen) als auch einen gleichzeitigen Abruf von Wörtern (mit 64, 132 oder größerer Bitlänge) als auch die Verwendung eines gemeinschaftlich verwendeten Datenbus unter mehreren Speichervorrichtungen verwendet.
  • Fig. 4 ist ein Blockdiagramm einer einzelnen Speichervorrichtung aus Fig. 3; die Vorrichtung ist vorzugsweise ein dynamischer Direktzugriffsspeicher ("DRAM").
  • Fig. 5 ist eine Reihe von Zeitdiagrammen, die einem Abschnitt des Systems aus Fig. 3 entsprechen; Fig. 5 zeigt insbesondere eine Synchronisation von Antworten von zwei Speichervorrichtungen.
  • Detaillierte Beschreibung
  • Die Erfindung, die oben zusammengefaßt und durch die aufgezählten Ansprüche definiert ist, kann besser unter Bezugnahme auf die folgende detaillierte Beschreibung verstanden werden, die in Verbindung mit den beigefügten Zeichnungen studiert werden sollte. Diese detaillierte Beschreibung eines bestimmten bevorzugten Ausführungsbeispiels, das unten erläutert ist, um ein Bilden und eine Verwendung einer bestimmten Implementierung der Erfindung zu ermöglichen, soll die aufgezählten Ansprüche nicht einschränken, sondern nur als ein bestimmtes Beispiel derselben dienen. Das bestimmte unten aufgeführte Beispiel ist eine spezifische Implementierung eines Speichersystems, insbesondere eines Systems, das verwendet wird, um Antworten von mehreren Speichervorrichtungen zu synchronisieren, ob diese nun entlang eires einzelnen Datenbus oder über parallele Datenbusse, oder auf beide Weisen angeordnet sind.
  • Gemäß der vorliegenden Erfindung ist das bevorzugte Ausführungsbeispiel ein Speichersystem 101, das in Fig. 3 dargestellt ist. Eine Speichersteuerung 103, die entweder eine CPU oder eine zweckgebundene Speichersteuerung ist, greift auf mehrere Speicherchips 105 zu, die sowohl in Serie als auch parallel angeordnet sind. Anders ausgedrückt umfaßt das System mehrere, parallele Datenbusse, vorzugsweise 16- Bit-Datenbusse ("Baby-Busse") 107 mit mehreren Speichervorrichtungen bei jedem Babybus. Dieser Aufbau eignet sich für ein skalierbares Bussystem, bei dem z. B. der Systemdatenbus 64 Bits oder 132 Bits oder mehr breit ist, wobei die am wenigsten bedeutendsten Bits von Daten entlang eines Babybus 107-1 und die bedeutendsten Bits von Daten entlang eires anderen Babybus 107-2 wiedergewonnen werden.
  • Beim Implementieren der Merkmale der vorliegenden Erfindung synchronisiert die Steuerung eine Speicherwiedergewinnung sowohl unter mehreren Chips 105 entlang eines einzelnen Babybus 107 als auch über die mehreren Babybusse. Eine kombinierte Synchronisation sowohl über parallele Busse als auch über in Reihe angeordnete Chips ist nicht notwendig, um die Erfindung, wie sie durch die unten aufgeführten Ansprüche definiert ist, zu praktizieren, wobei eine Synchronisation von Speichervorrichtungen entweder nur in Serie oder nur parallel ebenso durchgeführt werden kann. Eine Synchronisation über mehrere Baby-Busse 107 wird bei dem bevorzugten Ausführungsbeispiel durchgeführt, um sicherzustellen, daß die Steuerung 103 nicht durch eine langsame Antwort entlang eines der Babybusse 107 verzögert wird. Eine Synchronisation entlang jedes einzelnen Babybus 107 wird durchgeführt, um die Möglichkeit einer Buskonkurrenz durch mehrere Chips 105 zu reduzieren, wodurch die Steuerung in der Lage ist, mehrere Daten-Lesen-Befehle von unterschiedlichen Chips 105 bei aufeinanderfolgenden Zyklen durchzuführen, und zwar ungeachtet von Unterschieden bei Ausbreitungszeiten entlang jedes Babybus 107.
  • Die Steuerung 103 empfängt, wenn sie eine zweckgebundene Speichersteuerung ist, Speicheranforderungen entlang eines Hauptbus 109, der diese mit einer System-CPU (nicht dargestellt) koppelt. Diese Anforderungen werden von der Steuerungl 103 über alle Babybusse 107 verwaltet, wobei jeder derselben aus 16 Datenleitungen und einer Übernahmesignalleitung 112 (die hier weiter unten besprochen wird) bestehen kann. Die Steuerung 103 verwendet auch einen einzelnen Befehlsbus 111, der die Steuerung 103 mit allen Speicherchips 105 verbindet. Üblicherweise umfaßt der Befehlsbus 111 einen Adreßbus 113, einen Systemtakt 115, ein Daten- Lesen-Signal 117, ein Daten-Schreiben-Signal 119 und andere Leitungen, sowie auch (nicht gezeigt) verschiedene Unterbrechungsleitungen, eine Chipauswahlschaltungsanordnung und dergleichen. Vorzugsweise ist jeder Speicherchip 105 ein Diresktzugriffsspeicher und insbesondere ein dynamischer Direktzugriffsspeicher, der ein periodisches Auffrischen benötigt. Da die Speichervorrichtungen von der Temperatur beeinflußt werden können, wird jede Vorrichtung 105 vorzugsweise sowohl beim Systemhochfahren als auch zu periodischen Intervallen zu Zwecken der Synchronisation einer Speicherwiedergewinnung konfiguriert.
  • Jeder Chip 105 umfaßt einen Eingangspuffer (in Fig. 3 nicht sichtbar), der mit einer Zahl beladen wird, nachdem die Steuerung 103 alle Speicherchips abgefragt hat. Die Zahl wird von einer Zahl von verstrichenen Systemtaktzyklen abgeleitet, die von der Steuerung gezählt werden, und zwar entsprechend dem Chip, das in dem System 101 am längsten braucht, um zu antworten. Vorzugsweise gibt die Steuerung 103 während des Konfigurationsmodus jeden Speicherchip 105 separat durch ein Programmieren eines Konfigurationsbefehls in ein Modusregister des Chips frei (in Fig. 5 ersichtlich und unten beschrieben), der dann veranlaßt, daß nur dieser Chip aktiv ist und einen Modus betritt, in dem er auf seinen entsprechenden Babybus hört. Wenn ein Chip 105 in diesem Modus ein Eingangsübernahmesignal (einschließlich einer vorbestimmten Datenübertragung zu demselben entlang des Datenbus) erfaßt, überträgt er als Antwort ein vorbestimmtes Antwortwort gemeinsam mit dem Ausgangsübernahmesignal 112 zurück auf den Datenbus, das dann verwendet wird, um das vorbestimmte Antwortwort in die Steuerung 103 einzuklinken. Ein Empfang des Ausgangsübernahmesignals 112 und des vorbestimmten Antwortwortes zeigt einem Vergleichsmechanismus 118 der Steuerung 103 an, daß sie einen internen Zeitgeber anhalten soll, der mit jedem Systemtaktpuls inkrementiert wurde, der verstrichen ist, seit die Steuerung das Eingangsübernahmesignal ausgegeben hat, und daß sie den Inhalt dieses Zählers in den Speicher in der Steuerung laden soll, sowohl in eine Speicherstelle 114, die eine Maximalzählung (wenn der Zähler ein Maximum darstellt) darstellt, als auch in einen Schlitz 116, der für den bestimmten Chip 105 beabsichtigt ist. Sobald die Steuerung alle Speicherchips 105 abgefragt hat, berechnet sie einen Versatz für jeden Chip, um den jeder Chip seinen Ausgang verzögern soll, so daß Daten-Lesen-Operationen Daten zu der maximalen Antwortzeit zu der Speichersteuerung liefern. Anders ausgedrückt subtrahiert die Steuerung 103 die Antwortzeit für jeden Chip von dem Maximum, um den Versatz zu erhalten, und programmiert dann jeden Chip 105 mit dem geeigneten Versatz.
  • Fig. 4 ist ein Blockdiagramm eines einzelnen Chips 105 aus Fig. 3. Insbesondere ist der bevorzugte Chip ein DRAM 123, der einen internen Verzögerungsmechanismus 121 zum Synchronisieren einer Speicherantwort mit anderen Chips umfaßt. Vorzugsweise umfaßt dieser Verzögerungsmechanismus einen Ausgangslatch und einen internen Zähler und einen internen Puffer. Der DRAM 123 ist mit der Speichersteuerung 103 über eine Zahl von Kommunikationswegen gekoppelt, die (a) den Befehlsbus 111, (b) einen 16-Bit-Babybus 107, (c) das Übernahmesignal 117, (d) ein Befehlsübernahmesignal 125, (e) den Systemtakt 115 und (f) ein Chipauswahlsignal umfassen, was in Fig. 4 nicht ersichtlich ist. Wenn der Systemtakt 115 von dem DRAM 123 empfangen wird, wird ein interner Phasenrastmechanismus 127 verwendet, um ein lokal abgeleitetes Taktsignal 129 zum zeitlichen Steuern von internen Operationen des DRAM und zum Definieren einer lokalen Zeit 0 zum Koordinieren von Speicheroperationen zu schaffen.
  • Wenn die Konfiguration eines bestimmten Chips, z. B. des DRAM 123, während eines Konfigurationsmodus erwünscht wird, die Steuerung 103 den spezifischen DRAM frei, wobei sie gleichzeitig alle anderen Speicherchips entlang des gleichen Babybus 107 deaktiviert. Diese Freigabe wird durch ein Verursachen der Steuerung 103 verursacht, einen Konfigurationsbefehl an den DRAM über den Befehlsbus 111 zu senden, der gemeinsam mit einem Befehlsübernahmesignal den DRAM veranlaßt, den Befehl in eine interne Zeitsteuerungs- und Steuerungslogik 131 einzuklinken. Da der Konfigurationsbefehl, wie in Fig. 4 angezeigt, durch eine zweiten Latch 133 laufen muß, bevor er die interne Zeitsteuerungs- und Steuerungslogik 131 erreicht, wird seine Ankunft mit dem lokalen Taktsignal 129 des DRAM 123 synchronisiert. Der Konfigurationsbefehl kann z. B. durch die bedeutungsvollsten Bits nur des Adreßbus angezeigt werden, wobei er keine Übertragung der Daten entlang des Babybus 107 benötigt. Diese bedeutungsvollsten Bits werden dann durch die interne Zeitsteuerungs- und Steuerungslogik 131 in ein Modusregister 132 gekoppelt und verwendet, um dem DRAM 123 zu befehlen, in den Konfigurationsmodus einzutreten.
  • Bei dem Konfigurationsmodus überwacht der DRAM einfach den Babybus 107 nach einem vorbestimmten Datenwort, das von einem Eingangsübernahmesignal begleitet wird, um das Datenwort in ein Synchronisationserfassungsregister 137 zu übernehmen. Als Antwort auf die Erfassung des Datenwortes veranlaßt die Zeitsteuerungs- und Steuerungslogik sofort, daß ein vorbestimmtes Antwortwort einem Ausgangslatch 139 von einem Speicherraum 141 zugeführt wird, das die Zeitsteuerungs- und Steuerungslogik über eine Synchronisationssteuerungsleitung 143 frei gibt. Das vorbestimmte Antwortwort wird dadurch sofort zurück auf den Babybus geschleust und an die Steuerung gesendet, gewöhnlicherweise bei dem lokalen Taktpuls, der einer Präsentation des Antwortwortes an den Ausgangslatch 139 unmittelbar folgt. Begleitet durch ein Ausgangsübernahmesignal wird das vorbestimmte Antwortwort auf einen Empfang hin in die Steuerung eingeklinkt und verwendet, um den internen Zeitgeber des Vergleichsmechanismus 118 der Steuerung zu stoppen.
  • Fig. 5 wird verwendet, um die Ergebnisse der Bestimmung, durch die Steuerung, einer maximalen Verzögerungszeit über alle Chips 105 aus Fig. 3 zu zeigen. Insbesondere ist es, wie es bei der Verbindung in Fig. 2 der Fall war, wünschenswert, daß die Steuerung 103 aus Fig. 3 Daten-Lesen- Befehle bei aufeinanderfolgenden Taktzyklen durchführt. Dies bezüglich sendet die Steuerung Daten-Lesen-Befehle "X" und "Y" (in Fig. 5B durch die Bezugszeichen 145 und 147 bezeichnet) an zwei unterschiedliche Speichervorrichtungen, die in Serie mit der Steuerung geschaltet sind. Diese Vorrichtungen können aus einzelnen Chips 105 entlang eines einzelnen Babybus 107-1 bestehen oder alternativ aus mehreren Chips, die über unterschiedliche Babybusse 107 mit der Steuerung gekoppelt sind. Die Daten-Lesen-Befehle 145 und 147 sind das erste und das dritte Lesen des Zugs von drei aufeinanderfolgenden Daten-Lesen-Operationen, wobei der mittlere Daten-Lesen-Befehl in Fig. 5B durch einen Strich "-" angezeigt ist. Wie bei Fig. 2 weist jede Daten-Lesen- Operation eine Ausbreitungszeit auf, die ihr zugeordnet sind, wobei die Operationen an einer entsprechenden Speichervorrichtung gemäß der entsprechenden Ausbreitungszeit ankommen. Beim Implementieren der Prinzipien der vorliegenden Erfindung jedoch ist die Speichervorrichtung, die dem Befehl "Y" zugeordnet ist, mit einem Versatz 149 programmiert, der eine Verzögerung von zwei Taktzyklen darstellt. So wird diese Speichervorrichtung ihren lokalen Takt verwenden, um eine Verzögerung von zwei Taktzyklen auf den Ausgangslatch (in Fig. 4 139) aufzuerlegen. Der Versatz korrigiert jeden einzelnen Chip, um gemäß der maximalen Antwortzeit für alle Chips zu antworten, wobei z. B. die Antwort jedes Chips verlangsamt wird, um synchron mit dem langsamsten Chip zu sein. Folglich wird, angenommen, daß alle drei Speichervorrichtungen gemäß der vorliegenden Erfindung konfiguriert sind, jeder der drei Daten-Lesen- Befehle bei aufeinanderfolgenden Taktzyklen empfangen, wie in Fig. 5E durch das Bezugszeichen 151 gezeigt ist.
  • Bezug nehmend auf Fig. 4 programmiert die Steuerung eine Verzögerung, indem sie einen Versatz in den DRAM 123 lädt. Sie führt dieses Programmieren durch das Schreiben einer Zahl von Taktpulsen in einen internen Puffer 153 des DRAM durch. Nachfolgend verarbeitet sie, wenn der DRAM 123 einen Daten-Lesen-Befehl außerhalb des Konfigurationsmodus empfängt, den Befehl auf die normale Weise. Wenn jedoch das Produkt des Lesen-Befehls an dem Ausgangslatch präsentiert wird, wird dieses Produkt nicht unmittelbar bei dem nachfolgenden lokalen Taktpuls auf den Datenbus geschleust. Vielmehr hält die interne Zeitsteuerungs- und Steuerungslogik 121 die Freigabe der Synchronisationssteuerungsleitung 143 zurück, um einen Ausgang um einen Betrag, der von dem Puffer angezeigt wird, zu verzögern. Vorzugsweise ist der Puffer zu diesem Zweck mit einem Zeitgeber kombiniert, der auf die Erfassung jedes Lesen-Befehls hin, der von dem Chip empfangen wird, ein Rückwärtszählen beginnt.
  • Es ist wichtig, daß es eine Zahl gleichwertiger Implementierungen dieser Verzögerungsstruktur gibt, die für Fachleuten leicht erkennbar sind. Ein Versatz könnte z. B. durch ein Entwerfen jeder Speichervorrichtung und des Systems erzielt werden, um ein Ausgangssignal bei einem vorbestimmten Taktzyklus zu schaffen, aber um eine Zahl zu programmieren, um das Ausgangssignal "früh" ansprechend auf einen Pufferinhalt verfügbar zu machen. Alternativ könnte jede Speichervorrichtung mehrere Modi aufweisen, wobei eine Verzögerung durch ein Auswählen eines der mehreren Modi erzielt wird. Alternativ könnte eine Verzögerung durch eine Schaltung implementiert werden, die sich außerhalb der Speichervorrichtung befindet. Diese Umgebungen sowie andere Modifikationen beim Entwurf des Speichersystems, die für Fachleute klar sind, werden so betrachtet, daß sie in der Wesensart der vorliegenden Erfindung enthalten sind.
  • Nachdem der DRAM 123 mit dem Versatz programmiert wurde, berechnet die Steuerung vorzugsweise eine Korrektur, die verwendet wird, um den Versatz zu verfeinern. Insbesondere können bei dem System aus Fig. 3 jeder Datenbus (jeder Babybus 107) und der entsprechende Befehlsbus 111 unterschiedliche Weglängen aufweisen. Da der Versatz ursprünglich unter Verwendung eines Abfragens und einer Antwort nur bezüglich des Datenbus (des Babybus 107) berechnet wurde, und da Lesen-Befehle normalerweise entlang des Befehlsbus ausgegeben werden, kann es vorkommen, daß der Versatz eine gewünschte Verzögerung nicht korrekt wiedergibt. Folglich wird die Korrektur für jeden Chip verwendet, um die Verzögerungszeit, die jedem Chip 105 zugeordnet ist, zu verfeinern, um diese Diskrepanz zu korrigieren, wobei die Korrektur von Chip zu Chip unterschiedlich sein kann.
  • Um die Korrektur zu berechnen, sendet die Steuerung 103 einen Folge-Schreiben-Befehl an jeden DRAM. Der Schreiben- Befehl umfaßt sowohl den tatsächlichen Befehl, der entlang des Befehlsbus 111 übertragen wird, als auch Daten, die entlang des entsprechenden Babybus 107 übertragen werden. Bezug nehmend auf Fig. 4 wird, wenn der Befehl durch den DRAM 123 von dem Befehl empfangen wird, dieser an eine erste Synchronisationserfassungsschaltung 155 geliefert, der eine Anzeige eines empfangenen Befehls an einen Befehlszustandszähler 157 liefert. Der Befehlszustandszähler 157 beginnt dann ein Zählen mit jedem lokalen Taktpuls. Die Daten entsprechend dem Befehl, der von dem entsprechenden Babybus 107 empfangen wird, wird auch einer zweiten Synchronisationserfassungsschaltung 159 zugeführt, der ähnlich eine Anzeige von empfangenen Daten an einen Datenzustandszähler 161 liefert. Dieser Datenzustandszähler 161 beginnt auch ein Zählen mit jedem lokalen Taktpuls. So wird der Empfang des Schreiben-Befehls oder seiner entsprechenden Schreiben- Daten den einen oder den anderen Zähler 157 oder 161 auslösen, um ein Zählen zu beginnen. Ein Empfang beider Anzeigen von den Synchronisationserfassungsschaltungen 155 und L59 wird verwendet, um einen Unterschied der Zahl der Taktzyklen zwischen einem Befehlsempfang über eine Subtraktionsschaltung 163 zu schleusen, wobei ein Ausgang, der diesen Unterschied anzeigt, an die Zeitsteuerungs- und Steuerungslogik 131 des DRAM 123 geliefert wird. Dieser Unterschied stellt die Korrektur des Versatzes der Zahl von Taktzyklen dar. So wird, abhängig davon, ob der Befehlsbus langsamer oder schneller als der Datenbus ist, ausgedrückt durch die Ausbreitungszeit, die Zeitsteuerungs- und Steuerungslogik 131 den Inhalt des internen Puffers 153 entsprechend modifizieren. Folglich wird, sobald der Versatz und die Korrektur berechnet sind, der Inhalt des internen Puffers 153 danach präzise eine erwünschte Zahl von Versatztaktzyklen zum Erzielen einer Synchronisation über mehrere Speichervorrichtungen wiedergeben.
  • Es wurde ein Speichersystem und eine Speichervorrichtung zum Erzielen einer synchronen Datenwiedergabe, bei der Steuerung, von vielen Speichervorrichtungen, wie z. B. von DRAM-Chips, beschrieben. Unter Verwendung des oben beschriebenen bevorzugten Ausführungsbeispiels kann eine im wesentlichen synchrone Speicherantwort von parallelen Speichervorrichtungen, z. B. wenn diese über mehrere Babybusse 107 verbunden sind und Bitgruppen mit unterschiedlicher Bedeutung für einen Datenwortabruf (z. B. für einen 64-Bit- Wortabruf) liefern, oder um eine Buskonkurrenz zwischen mehreren Speichervorrichtungen zu vermeiden, die mit dem gleichen Datenbus gekoppelt sind, wie dies Bezug nehmend auf die Fig. 2 und 4 erklärt wurde, erzielt werden. Besonders führt das hierin beschriebene System eine Korrektur nur für ganzzahlige Taktzyklen durch und erzielt keine Phasenkorrektur zwischen unterschiedlichen Speicherchips. Das hierin beschriebene System ist jedoch mit Systemen zum Erzielen einer Phasensynchronisation kompatibel, wie z. B. in dem US-Patent Nr. 4,998,262 beschrieben wird.

Claims (11)

1. Ein digitales Speichersystem (101), das eine Steuerung (103) und zumindest zwei Speichervorrichtungen (105) aufweist, mit zumindest einem Datenbus (107), der die Steuerung (103) mit jeder Speichervorrichtung (105) koppelt, wobei die Steuerung (103) auch einen Systemtakt (115) aufweist, durch den die Steuerung (103) ihre Operationen zeitlich steuert, gekennzeichnet durch folgende Merkmale:
einen Puffer (153) in jeder Speichervorrichtung (105),
wobei jeder Puffer (153) angepaßt ist, um eine Zahl (149) entsprechend einer Zeitmenge zu speichern, um die der entsprechende Puffer (153) eine Datenausgabe verzögern soll;
eine Routine, die von der Steuerung (103) durchgeführt wird, die die Steuerung dazu veranlaßt für jede Speichervorrichtung die Speichervorrichtung zu einer Antwort aufzufordern, und
eine Zahl von Taktpulsen bei der Steuerung (103) zwischen einem Auffordern der Speichervorrichtung (105) und einem Empfang der entsprechenden Antwort von der Speichervorrichtung (105) zu zählen,
eine maximale Verzögerung zu bestimmen, die von der maximalen Zahl von Taktpulsen gemessen wird, die für eine Antwort über die zumindest zwei Speichervorrichtungen (105) benötigt wird, und den Puffer (153) zumindest einer Speichervorrichtung (105) zu veranlassen, eine Zahl zu speichern, die ausreicht, um zu bewirken, daß Daten von der entsprechenden Speichervorrichtung (105) bei der Steuerung (103) mit der maximalen Verzögerungszeit empfangen werden; und
einen Schaltungsaufbau (121) in jeder Speichervorrichtung (105), der eine Datenausgabe ansprechend auf die Zahl verzögert, die in dem entsprechenden Puffer (153) gespeichert ist.
2. Ein digitales Speichersystem (101) gemäß Anspruch 1, bei dem jede Speichervorrichtung (105) den Systemtakt (115) empfängt und einen lokalen Takt (129) ansprechend auf denselben erzeugt, das ferner durch folgendes Merkmal gekennzeichnet ist:
ein Ausgangsübernahmesignal (112), das von jeder Speichervorrichtung (105) als Antwort auf ein Auffordern ausgegeben wird, wobei das Ausgangsübernahmesignal (112) Tokal von dem Systemtakt (115) an der Stelle der entsprechenden Speichervorrichtung (105) abgeleitet und mit der Steuerung (103) gekoppelt wird, um so die Ankunft der Antwort von der bestimmten Speichervorrichtung (105) zu übernehmen.
3. Ein digitales Speichersystem (101) gemäß Anspruch 1 oder 2, bei dem der Systembus einen Datenbus (1C7) und einen Befehlsbus (111) umfaßt, die unterschiedliche Weglängen aufweisen, das ferner durch folgendes Merkmal gekennzeichnet ist:
einen Verzögerungskonfigurationsmodus jeder Speichervorrichtung (105), wobei der Verzögerungskonfigurationsmodus durch den Befehlsbus (111) befohlen wird und die entsprechende Speichervorrichtung (105) dazu veranlaßt,
auf das Vorliegen eines Datensignals auf dem Datenbus (107) und eines Eingangsübernahmesignals (125) zu warten, um die Daten anzunehmen, wobei das Datensignal zumindest einen Teil der Aufforderung von der Steuerung (103) bildet, und die Antwort an die Steuerung (103) als Antwort auf das Datensignal auszugeben.
4. Ein digitales Speichersystem (101) gemäß Anspruch 3, das ferner durch folgendes Merkmal gekennzeichnet ist: einen Verzögerungseinstellungsmechanismus in jeder Speichervorrichtung, wobei der Verzögerungseinstellungsmechanismus einen Befehl von dem Befehlsbus (111) und Daten von dem Datenbus (107) empfängt, und eine Abweichung der Zeit zu der Zahl für die entsprechende Speichervorrichtung (105) berechnet, wobei die Zahl einen Unterschied der Laufzeit zwischen dem Befehlsbus (111) und dem Datenbus (107) korrigiert.
5. Ein digitales Speichersystem (101) gemäß einem der Ansprüche 1 bis 4, das ferner durch folgendes Merkmal gekennzeichnet ist: eine Anordnung von zumindest zwei Speichervorrichtungen (105) auf einem einzelnen, gemeinschaftlich verwendeten Datenbus (107).
6. Ein digitales Speichersystem (10) gemäß einem der Ansprüche 1 bis 5, das ferner durch folgendes Merkmal gekennzeichnet ist: eine Anordnung von zumindest zwei Speichervorrichtungen (105) auf unterschiedlichen, parallelen Datenbussen (107).
7. Eine Speichervorrichtung (105) zur Verwendung in einem Speichersystem (101), mit folgenden Merkmalen einem Speicherraum (141), in dem Daten gespeichert sind,
einem Ausgangsweg zum Koppeln von Daten von dem Speicherraum zu dem Systembus ansprechend auf einen Daten- Lesen-Befehl,
Speicherraumtreibern, die auf Datenorte in dem Speicherraum (141) zugreifen, und die den Inhalt von ausgewählten Datenorten mit dem Ausgangsweg ansprechend auf einen Daten-Lesen-Befehl koppeln,
einem Taktmechanismus (127), der ein Taktsignal (129) liefert, um interne Operationen der Speichervorrichtung (105) zu synchronisieren, wobei die Speichervorrichtung zur Verwendung mit einer Speichersteuerung (103) und einem Systembus angepaßt ist, wobei die Speichersteuerung (103) jedes der mehreren Speicherelemente (105) abfragt, um eine zugeordnete Befehlsantwortzeit zu bestimmen, und eine erwünschte Antwortzeit bestimmt, wobei die Speichervorrichtung durch folgende Merkmale gekennzeichnet ist:
einen Puffer (153), der eine Zahl von Taktpulsen speichert; und
einen Verzögerungsmechanismus (121), der mit dem Puffer (153) gekoppelt ist, wobei der Verzögerungsmechanismus (121) eine Verzögerung zumindest eines der Ausgangswege und der Speicherraumtreiber um einen Betrag verursacht, der der Zahl von Taktpulsen entspricht;
wobei die Vorrichtung zur Synchronisation mit anderen Speicherelementen (105) ansprechend auf die Steuerung (103) angepaßt ist, die bewirkt, daß der Puffer (153) mit einer Zahl beladen wird, die einen Abgleich der Befehlsantwortzeit für die Vorrichtung mit der gewünschten Antwortzeit bewirkt.
8. Eine Speichervorrichtung gemäß Anspruch 7, bei der das Speichersystem (101) ferner einen Datenbus (107) und einen Systemtakt (115) umfaßt, der von der Systemsteuerung (103) ausgegeben wird, und bei der:
die Vorrichtung ferner durch folgende Merkmale gekennzeichnet ist
ein Modusregister (123), das selektiv durch einen Befehl von der Systemsteuerung (103) programmiert ist, um zu bewirken, daß die Vorrichtung einen Kalibrierungsmodus betritt,
ein vorbestimmtes Antwortwort, das in der Vorrichtung gespeichert ist, wobei das vorbestimmte Antwortwort mit dem Datenbus (107) ansprechend auf einen Abfragebefehl von der Systemsteuerung (103) gekoppelt wird, und
ein Ausgangsübernahmesignal (112) der Vorrichtung, wobei das Ausgangsübernahmesignal (112) lokal an der Vorrichtung von dem Systemtakt (11.5) abgeleitet wird; und
wobei der Kalibrierungsmodus bewirkt, daß die Vorrichtung den Abfragebefehl abwartet und ansprechend auf eine Erfassung des Abfragebefehls durch die Vorrichtung auf dem Datenbus (107) das vorbestimmte Antwortwort und das Echoübernahmesignal auf den Datenbus (107) koppelt.
9. Eine Speichervorrichtung gemäß Anspruch 7 oder 8, bei der der Systembus ferner einen Befehlsbus (111) umfaßt, und bei der:
die Vorrichtung ferner die Zahl von der Systemsteuerung (103) empfängt und diese in dem Puffer (153) speichert; und
die Vorrichtung ferner durch folgende Merkmale gekennzeichnet ist
einen Vergleichsmechanismus (163) zum Vergleichen der Empfangszeit zumindest eines Signals entlang des Befehlsbus mit der Empfangszeit eines entsprechenden Signals entlang des Datenbus und zum Liefern eines Ausgangssignals, und
eine Hinzufügvorrichtung, mit der das Ausgangssignal gekoppelt ist, wobei die Hinzufügvorrichtung (131) die Zahl durch das Ausgangssignal modifiziert, um einen Unterschied zwischen der Laufzeit entlang des Datenbusses und der Laufzeit entlang des Befehlsbusses auszugleichen.
10. Eine Speichervorrichtung gemäß einem der Ansprüche 7 bis 9, bei der die Speichervorrichtung ein Direktzugriffsspeicher ist.
11. Eine Speichervorrichtung gemäß einem der Ansprüche 7 bis 9, bei der die Speichervorrichtung ein dynamischer Direktzugriffsspeicher ist.
DE69709885T 1996-10-10 1997-10-06 Speichersystem und einrichtung Expired - Fee Related DE69709885T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/729,261 US5892981A (en) 1996-10-10 1996-10-10 Memory system and device
PCT/US1997/018128 WO1998015897A1 (en) 1996-10-10 1997-10-06 Memory system and device

Publications (2)

Publication Number Publication Date
DE69709885D1 DE69709885D1 (de) 2002-02-28
DE69709885T2 true DE69709885T2 (de) 2002-06-27

Family

ID=24930266

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69709885T Expired - Fee Related DE69709885T2 (de) 1996-10-10 1997-10-06 Speichersystem und einrichtung

Country Status (5)

Country Link
US (1) US5892981A (de)
EP (1) EP0931291B1 (de)
JP (1) JP3860842B2 (de)
DE (1) DE69709885T2 (de)
WO (1) WO1998015897A1 (de)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173345B1 (en) * 1998-11-03 2001-01-09 Intel Corporation Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem
US6391483B1 (en) 1999-03-30 2002-05-21 Carnegie Mellon University Magnetic device and method of forming same
US7051130B1 (en) 1999-10-19 2006-05-23 Rambus Inc. Integrated circuit device that stores a value representative of a drive strength setting
US6643787B1 (en) 1999-10-19 2003-11-04 Rambus Inc. Bus system optimization
US6321282B1 (en) 1999-10-19 2001-11-20 Rambus Inc. Apparatus and method for topography dependent signaling
KR100389916B1 (ko) * 2000-08-28 2003-07-04 삼성전자주식회사 메모리 모듈 및 메모리 컨트롤러
US7079775B2 (en) 2001-02-05 2006-07-18 Finisar Corporation Integrated memory mapped controller circuit for fiber optics transceiver
US6658523B2 (en) * 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
US8391039B2 (en) * 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
EP1291778B1 (de) * 2001-04-24 2007-06-27 Rambus Inc. Verfahren und Gerät zum Koordinieren von Speicheroperationen zwischen unterschiedlich angeordneten Speicherkomponenten
US6675272B2 (en) * 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US6622222B2 (en) * 2001-04-26 2003-09-16 International Business Machines Corporation Sequencing data on a shared data bus via a memory buffer to prevent data overlap during multiple memory read operations
DE10123769C1 (de) * 2001-05-16 2002-12-12 Infineon Technologies Ag Verfahren zur Anpassung unterschiedlicher Signallaufzeiten zwischen einer Steuerung und wenigstens zweier Verarbeitungseinheiten sowie Rechnersystem
US6920540B2 (en) 2001-10-22 2005-07-19 Rambus Inc. Timing calibration apparatus and method for a memory device signaling system
US6897497B2 (en) * 2001-12-20 2005-05-24 Hyperchip Inc. Methods, apparatus, and systems for reducing interference on nearby conductors
US20030117183A1 (en) * 2001-12-20 2003-06-26 Claude Thibeault Methods, apparatus, and systems for reducing interference on nearby conductors
US7609778B2 (en) * 2001-12-20 2009-10-27 Richard S. Norman Methods, apparatus, and systems for reducing interference on nearby conductors
US6703868B2 (en) 2001-12-20 2004-03-09 Hyperchip Inc. Methods, apparatus, and systems for reducing interference on nearby conductors
US6944040B1 (en) 2001-12-28 2005-09-13 Netlogic Microsystems, Inc. Programmable delay circuit within a content addressable memory
US6650575B1 (en) * 2001-12-28 2003-11-18 Netlogic Microsystems, Inc. Programmable delay circuit within a content addressable memory
US7135903B2 (en) * 2002-09-03 2006-11-14 Rambus Inc. Phase jumping locked loop circuit
US6911853B2 (en) * 2002-03-22 2005-06-28 Rambus Inc. Locked loop with dual rail regulation
US6952123B2 (en) 2002-03-22 2005-10-04 Rambus Inc. System with dual rail regulated locked loop
US6922091B2 (en) 2002-09-03 2005-07-26 Rambus Inc. Locked loop circuit with clock hold function
US6759881B2 (en) 2002-03-22 2004-07-06 Rambus Inc. System with phase jumping locked loop circuit
JP3835328B2 (ja) * 2002-03-27 2006-10-18 ブラザー工業株式会社 メモリ制御装置
US6956257B2 (en) 2002-11-18 2005-10-18 Carnegie Mellon University Magnetic memory element and memory device including same
US7685188B2 (en) * 2004-01-23 2010-03-23 Microsoft Corporation Automated generation of computer-executable compensation procedures for previously executed methods
US7669027B2 (en) * 2004-08-19 2010-02-23 Micron Technology, Inc. Memory command delay balancing in a daisy-chained memory topology
US7301831B2 (en) * 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US7280428B2 (en) 2004-09-30 2007-10-09 Rambus Inc. Multi-column addressing mode memory system including an integrated circuit memory device
US8595459B2 (en) * 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
US8065457B2 (en) * 2005-09-09 2011-11-22 Advanced Micro Devices, Inc. Delayed memory access request arbitration
DE102006062725B4 (de) * 2006-04-15 2018-01-18 Polaris Innovations Ltd. Speichersystem mit integrierten Speicherbausteinen sowie Verfahren zum Betrieb eines Speichersystems
US20070260841A1 (en) 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
US20080114960A1 (en) * 2006-11-14 2008-05-15 Tau-Li Huang Memory control methods for accessing a memory with partial or full serial transmission, and related apparatus
EP3200189B1 (de) 2007-04-12 2021-06-02 Rambus Inc. Speichersystem mit punkt-zu-punkt-anforderungsverbindung
US8438356B2 (en) 2007-10-01 2013-05-07 Marvell World Trade Ltd. Flash memory controller
US8799606B2 (en) * 2007-12-20 2014-08-05 International Business Machines Corporation Computer memory subsystem for enhancing signal quality
JP2011081732A (ja) * 2009-10-09 2011-04-21 Elpida Memory Inc 半導体装置及びその調整方法並びにデータ処理システム
WO2011130007A1 (en) * 2010-04-14 2011-10-20 Rambus Inc. Levelization of memory interface for communicating with multiple memory devices
US9268719B2 (en) 2011-08-05 2016-02-23 Rambus Inc. Memory signal buffers and modules supporting variable access granularity
US9336112B2 (en) 2012-06-19 2016-05-10 Apple Inc. Parallel status polling of multiple memory devices
JP2022056144A (ja) 2020-09-29 2022-04-08 富士フイルムビジネスイノベーション株式会社 プログラマブル論理回路、情報処理装置、情報処理システム、及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1158739A (en) * 1980-04-30 1983-12-13 William Rodman Distributed network synchronization system
US4604717A (en) * 1983-02-18 1986-08-05 Rca Corporation Method and apparatus for measuring the time delay between signals
DE3752017T2 (de) * 1986-03-20 1997-08-28 Nippon Electric Co Mikrorechner mit Zugriffsfähigkeit auf einen internen Speicher mit gewünschter variabler Zugriffszeit
JPS6315354A (ja) * 1986-07-07 1988-01-22 Hitachi Ltd 分散システムにおけるタイマ一致化管理方式
US5237674A (en) * 1987-04-11 1993-08-17 Apple Computer, Inc. Self identifying scheme for memory module including circuitry for identfying accessing speed
CA1301261C (en) * 1988-04-27 1992-05-19 Wayne D. Grover Method and apparatus for clock distribution and for distributed clock synchronization
JPH0212541A (ja) * 1988-04-29 1990-01-17 Internatl Business Mach Corp <Ibm> コンピユーテイング・システム及びその動作方法
US5189246A (en) * 1989-09-28 1993-02-23 Csir Timing apparatus
US4998262A (en) * 1989-10-10 1991-03-05 Hewlett-Packard Company Generation of topology independent reference signals
US5359722A (en) * 1990-07-23 1994-10-25 International Business Machines Corporation Method for shortening memory fetch time relative to memory store time and controlling recovery in a DRAM
JP2993239B2 (ja) * 1991-11-28 1999-12-20 株式会社日立製作所 階層間ディレイ配分方法
US5509138A (en) * 1993-03-22 1996-04-16 Compaq Computer Corporation Method for determining speeds of memory modules
JPH0713905A (ja) * 1993-06-23 1995-01-17 Hitachi Ltd 記憶装置システム及びその制御方法
US5408506A (en) * 1993-07-09 1995-04-18 Apple Computer, Inc. Distributed time synchronization system and method
JPH08123717A (ja) * 1994-10-25 1996-05-17 Oki Electric Ind Co Ltd 半導体記憶装置

Also Published As

Publication number Publication date
WO1998015897A1 (en) 1998-04-16
EP0931291A1 (de) 1999-07-28
JP3860842B2 (ja) 2006-12-20
DE69709885D1 (de) 2002-02-28
JP2001505684A (ja) 2001-04-24
EP0931291B1 (de) 2002-01-02
US5892981A (en) 1999-04-06

Similar Documents

Publication Publication Date Title
DE69709885T2 (de) Speichersystem und einrichtung
DE3689042T2 (de) Gerät zur Pufferung von Schreibanforderungen.
DE69826863T2 (de) Verfahren und vorrichtung zur abstimmung eines zur verrieglung digitaler signalen gebrauchten taktsignals und speichervorrichtung die sie verwendet
DE69032481T2 (de) Buszugriff für Digitalrechnersystem
DE69023018T2 (de) Prozessor-Unterbrechungssteuerung.
DE69322310T2 (de) Busarchitektur für integrierten Daten/- und Videospeicher
DE19882418B4 (de) System einer quellensynchronen Schnittstelle zwischen Master- und Slave-Einrichtungen und zugehöriges Verfahren
DE60002567T2 (de) Dynamische wellenpipelineschnittstellenanordnung und verfahren dafür
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE69026479T2 (de) Datenprozessor mit Wartezustandsteuerungseinheit
DE69028153T2 (de) Cache-Speicherfehlgriffsvorhersageverfahren und -vorrichtung
DE69632634T2 (de) Arbitrierungseinheit zum Multiprozessorsystembuszugriff mit Wiederholungsfähigkeit
DE68919539T2 (de) Datenverarbeitungssystem mit Zugriffsquellen von verschiedenem Durchsatz.
DE3110196A1 (de) Datenverarbeitungssystem
DE4233569A1 (de) Informationsverarbeitungsgeraet
DE69025524T2 (de) Vorrichtung und Verfahren zur Steuerung von Speicherzugriffsanforderungen in einem digitalen Datenverarbeitungssystem
DE3642324A1 (de) Multiprozessoranlage mit prozessor-zugriffssteuerung
DE69123987T2 (de) Stossbetrieb für Mikroprozessor mit externem Systemspeicher
DE68922984T2 (de) Programmierbare Zeitsteuerung der Datenübertragung.
DE69025580T2 (de) Auffrichungspuffer für Speicherkarte
DE69230483T2 (de) Quadraturbusprotokoll zum Ausführen von Transaktionen in einer Rechneranordnung
DE68926374T2 (de) Seriellumsetzungssteuerungssystem für Hauptspeicherreferenz
DE2912073C2 (de)
DE68923899T2 (de) Halbleiterspeicher.
DE69802426T2 (de) Taktschema für digitales signalprozessorsystem

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: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US

8339 Ceased/non-payment of the annual fee