DE10048402B4 - Datenspeichersystem - Google Patents

Datenspeichersystem Download PDF

Info

Publication number
DE10048402B4
DE10048402B4 DE10048402A DE10048402A DE10048402B4 DE 10048402 B4 DE10048402 B4 DE 10048402B4 DE 10048402 A DE10048402 A DE 10048402A DE 10048402 A DE10048402 A DE 10048402A DE 10048402 B4 DE10048402 B4 DE 10048402B4
Authority
DE
Germany
Prior art keywords
memory
data
main memory
microprocessor
interface
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 - Lifetime
Application number
DE10048402A
Other languages
English (en)
Other versions
DE10048402A1 (de
Inventor
Sandorfi Miklos
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.)
EMC Corp
Original Assignee
EMC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EMC Corp filed Critical EMC Corp
Publication of DE10048402A1 publication Critical patent/DE10048402A1/de
Application granted granted Critical
Publication of DE10048402B4 publication Critical patent/DE10048402B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Datenspeichersystem, bei welchem ein Host-Rechner (12) über eine Schnittstelle (16) in Verbindung mit einer Reihe von Plattenlaufwerken (14) steht, wobei die Schnittstelle folgendes enthält: einen Speicher (18); eine Anzahl von Steuereinrichtungen (Direktor-Einrichtungen) (20) zur Steuerung des Datentransfers zwischen dem Host-Rechner und der Reihe von Plattenlaufwerken derart, daß die Daten durch den Speicher laufen; eine Anzahl von Bussen (BL, TH, TL, BH) in Verbindung mit den Steuereinrichtungen und dem Speicher; und wobei jede der Steuereinrichtungen eine zentrale Prozessoreinheit enthält, die ihrerseits folgendes aufweist: (A) einen Mikroprozessor (46); (B) einen Hauptspeicher (48); (C) eine Mikroprozessor-Schnittstelle (52) mit einer integrierten Halbleiterschaltung, in welcher ausgebildet sind: (i) ein Datenrückpufferabschnitt (56), der in dem Halbleiterchip angeordnet ist und so ausgebildet ist, daß er Daten von einem aus einer Anzahl von Datenanschlüssen (A, B) der Mikroprozessor-Schnittstelle in Abhängigkeit von einem ersten Steuersignal (von 50) selektiv zu einem Datenanschluß des Mikroprozessors (46) zu koppeln vermag; und (ii) eine Hauptspeicher-Schnittstelle (54), die zur Kopplung des Hauptspeichers (48) mit dem Mikroprozessor (46) ausgebildet ist, und mit dem Mikroprozessor (46) und dem Datenrückpufferabschnitt (56) gekoppelt ist, wobei weitere Steuersignale für den Hauptspeicher (48) zum Wirksamschalten des Datentransfers zwischen dem Hauptspeicher (48) und dem Mikroprozessor (46) über den Datenrückpufferabschnitt (56) erzeugbar sind; (D) eine mit dem Datenrückpufferabschnitt (56) gekoppelte Steuereinrichtung (50) zur Erzeugung des ersten Steuersignals.

Description

  • Hintergrund der Erfindung
  • Die vorliegende Erfindung betrifft allgemein Datenspeichersysteme und, genauer gesagt, Datenspeichersysteme mit Redundanz-Anordnungen zum Schutz gegen einen Gesamtausfall des Systems im Falle eines Ausfalls einer Komponente oder einer Unteranordnung des Speichersystems.
  • Es ist auf dem Gebiet der Technik bekannt, daß große Haupt-Rechnersysteme Datenspeichersysteme großer Kapazität benötigen. Diese großen Haupt-Rechnersysteme enthalten im allgemeinen Datenprozessoren, welche viele Operationen an Daten ausführen, die dem Rechnersystem über periphere Einrichtungen einschließlich der Datenspeichersysteme zugeführt werden. Die Ergebnisse dieser Operationen werden zu den peripheren Einrichtungen, einschließlich wieder den Speichersystemen, ausgegeben. Eine Art von Datenspeichersystemen ist ein Magnetplatten-Speichersystem. Hier sind eine Reihe von Plattenlaufwerken und das Haupt-Rechnersystem über eine Schnittstelle zusammengekoppelt. Die Schnittstelle enthält eine zentrale Prozessoreinheit oder sogenannte frontseitige Steuereinrichtungen oder Direktor-Steuereinrichtungen, sowie sogenannte rückseitige Plattensteuereinrichtungen oder Platten-Direktor-Steuereinrichtungen. Die Schnittstelle betätigt die Steuereinrichtungen (oder die Direktor-Steuereinrichtungen) in solcher Weise, daß sie für den Rechner transparent sind. D. h., Daten werden in die Reihe von Plattenlaufwerken eingespeichert und hiervon wieder entnommen, derart, daß das Hauptspeichersystem gleichsam lediglich denkt, daß es mit einem einzigen Hauptspeicher zusammenarbeitet. Ein solches System ist in dem US-Patent 5 206 939 beschrieben, welches den Titel „System and Method for Disk Mapping and Data Retrival” hat, am 27. April 1993 erteilt worden ist und auf denselben Zessionar übertragen worden ist, wie vorliegende Erfindung (Erfinder: Moshe Yanai, Natan Vishlitzky, Bruno Alterescu und Daniel Castel).
  • Wie in dem genannten US-Patent beschrieben kann die Schnittstelle auch zusätzlich zu den CPU-Steuereinrichtungen (oder Direktor-Steuereinrichtungen) und den Plattensteuereinrichtungen (oder Platten-Direktoreinrichtungen) adressierbare Cache-Speicher enthalten. Der Cache-Speicher ist ein Halbleiterspeicher und dient zur raschen Speicherung von Daten von dem Haupt-Rechnersystem vor Speicherung in den Plattenlaufwerken, und, andererseits, zur Speicherung von Daten von den Plattenlaufwerken vor der Absendung zum Hauptrechensystem. Der Cache-Speicher ist als Halbleiterspeicher im Unterschied zu einem magnetischen Speicher wie im Falle der Plattenlaufwerke, bedeutend schneller als die Plattenlaufwerke beim Lesen und beim Einschreiben von Daten.
  • Die CPU-Steuereinrichtungen, die Platten-Steuereinrichtungen und der Cache-Speicher sind über eine gedruckte Rückwand-Schaltungsplatte verbunden. Im einzelnen sind die Platten-Steuereinrichtungen auf gedruckten Plattensteuerungs-Schaltungsplatten montiert. Die CPU-Steuereinrichtungen sind auf gedruckten CPU-Steuereinrichtungs-Schaltungsplatten angeordnet. Die Cache-Speicher sind auf gedruckten Cache-Speicher-Schaltungsplatten montiert. Die gedruckten Schaltungsplatten für die Platten-Steuereinrichtungen, die CPU-Steuereinrichtungen und die Cache-Speicher sind in die gedruckte Rückwand-Schaltungsplatte eingesteckt. Um eine Datenintegrität bei Ausfall oder Fehlerhaftigkeit in einer Steuereinrichtung zu erreichen hat die gedruckte Rückwand-Schaltungsplatte ein Paar von Bussen. Eine Gruppe der Platten-Steuereinrichtungen ist mit einem Bus verbunden und eine andere Gruppe der Platten-Steuereinrichtungen ist mit dem anderen Bus verbunden. In entsprechender Weise ist eine Gruppe von CPU-Steuereinrichtungen mit einem Bus und die andere Gruppe von CPU-Steuereinrichtungen mit dem anderen Bus verbunden. Die Cache-Speicher sind mit beiden Bussen verbunden. Jeder der Busse liefert Daten, Adressen und Steuerinformation.
  • Datenspeichersysteme mit Redundanz-Anordnungen zum Schutz gegen totalen System-Ausfall beim Versagen einer Komponente oder Untergruppe des Speichersystems der hier betrachteten allgemeinen Art sind in den Schriften DE 699 30 307 T2 und DE 699 19 137 T2 mit jeweils älterem Zeitrang behandelt.
  • Ziel der vorliegenden Erfindung ist es, bei Datenspeichersystemen dieser Art eine vorteilhafte Gestaltung des Schaltungsaufbaus zu verwirklichen.
  • Dieses Ziel wird erfindungsgemäß durch ein Datenspeichersystem mit den Merkmalen des anliegenden Anspruches 1 erreicht. Vorteilhafte Ausgestaltungen und Weiterbildungen sind Gegenstand der dem Anspruch 1 nachgeordneten Ansprüche.
  • In einer Ausführungsform ist der Hauptspeicher der zentralen Prozessoreinheit eine Speichertype, die aus einer Anzahl von Speichertypen ausgewählt ist, wobei jede Speichertype ein unterschiedliches Datentransfer-Protokoll aufweist und die Hauptspeicher-Schnittstelle in Entsprechung mit dem ausgewählten Speichertyp aus der Mehrzahl von Speichertypen konfiguriert ist, um ein richtiges Speicherprotokoll für Daten zu erzeugen, die zwischen dem Mikroprozessor und dem Hauptspeicher über die Hauptspeicher-Schnittstelle übertragen werden sollen.
  • Gemäß einer Ausführungsform ist eine Hauptspeichertype ein SDRAM-Speicher und die andere Speichertype ist ein RDRAM-Speicher.
  • Gemäß einer weiteren Ausführungsform enthält der Datenrückpuffer-Abschnitt der zentralen Prozessoreinheit eine auf das Steuersignal ansprechende Auswahleinrichtung zur Kopplung von Daten zwischen einem ausgewählten der Datenanschlüsse und dem Mikroprozessor.
  • In einer Ausführungsform enthält der Datenrückpuffer-Abschnitt eine Datenverteilungseinheit mit einer Mehrzahl von Anschlüssen, von denen jeder mit einer entsprechenden der folgenden Einheiten verbunden ist: (i) der Wähleinrichtung; (ii) einem Speicher wahlfreien Zugriffs; (iii) einer Unterbrechungsanforderungs-Steuereinrichtung; (iv) dem Mikroprozessor-Datenanschluß; und (v) der Hauptspeicher-Schnittstelle.
  • Gemäß einer weiteren Ausführung wird ein Datenspeichersystem geschaffen, bei welchem ein Host-Rechner in Verbindung mit einer Reihe von Plattenlaufwerken über eine Schnittstelle steht. Die Schnittstelle enthält einen Speicher, ferner eine Mehrzahl von Direktor-Steuereinrichtungen zur Steuerung des Datentransfers zwischen dem Host-Rechner und der Reihe von Plattenlaufwerken, wenn diese Daten durch den Speicher laufen; und eine Anzahl von Bussen in Verbindung mit den Direktor-Steuereinrichtungen und dem Speicher. Jede der Direktor-Steuereinrichtungen enthält eine zentrale Prozessoreinheit. Die zentrale Prozessoreinheit ihrerseits enthält: (A) einen Mikroprozessor; (B) einen Hauptspeicher mit einer Anzahl von Datenspeicher-Abschnitten, wobei ein Abschnitt eine erste Gruppe von Adressen aufweist und ein zweiter Abschnitt eine zweite Gruppe von Adressen aufweist; (C) eine Mikroprozessor-Schnittstelle. Die Schnittstelle enthält folgendes: (i) eine Speicher-Steuereinrichtung zur Erzeugung von Adressen für den Hauptspeicher, wobei die Speicher-Steuereinrichtung einen Dekoder aufweist, der auf die erzeugten Adressen anspricht, um zu bestimmen, ob die erzeugte Adresse in der ersten Adressengruppe oder der zweiten Adressengruppe liegt; und (ii) eine Hauptspeicher-Schnittstelle, die dazu ausgebildet ist, eine Kopplungsverbindung zu dem Hauptspeicher für den Mikroprozessor herzustellen, wobei die Hauptspeicher-Schnittstelle dazu ausgebildet ist, die Kopplungsverbindung zu dem Mikroprozessor herzustellen und mit dem Datenrückpuffer-Abschnitt gekoppelt ist, um Steuersignale zu dem Hauptspeicher-Abschnitt zu liefern, so daß ein Datentransfer zwischen dem Hauptspeicher und dem Mikroprozessor über den Datenrückpuffer-Abschnitt ermöglicht wird. Eine Steuereinrichtung spricht auf den Dekoder an, um den zweiten Abschnitt im Speicher wirksam zu schalten, wenn der Dekoder feststellt, daß die erzeugte Adresse in der zweiten Adressengruppe liegt. Der erste Abschnitt wird für die Adressierung durch die erzeugte Adresse wirksam geschaltet, wenn der Dekoder feststellt, daß die erzeugte Adresse in ersten der Adressengruppe liegt.
  • In einer Ausführungsform enthält das System eine Maske zur Umwandlung der Adresse in eine Adresse im zweiten Abschnitt des Speichers.
  • Kurze Beschreibung der Zeichnungen
  • Die genannten und weitere Merkmale werden noch besser aus der folgenden detaillierten Beschreibung in Verbindung mit den begleitenden Zeichnungen verständlich, in welchen
  • 1 ein Blockschaltbild eines Datenspeichersystems nach der Erfindung zeigt;
  • 2 ein Blockschaltbild eines Exemplars aus einer Mehrzahl von Direktor-Steuereinrichtungen zeigt, welche in dem System nach 1 Verwendung finden, wobei diese Direktor-Steuereinrichtung eine zentrale Prozessoreinheit aufweist;
  • 3 ein Blockschaltbild einer Mikroprozessor-Schnittstelle wiedergibt, die in der zentralen Prozessoreinheit der Direktor-Steuereinrichtung von 2 verwendet wird;
  • 3A bis 3C Blockschaltbilder eines Transceiver-Kerns und eines CPU-Transceivers sind, die in der Mikroprozessor-Schnittstelle von 3 Verwendung finden, wobei 3A den Datenrückpuffer-Mechanismus zeigt, der die Mikroprozessor-Leseoperationen bewirkt, 3B den Datenrückpuffer-Mechanismus zeigt, welcher die Mikroprozessor-Schreiboperationen bewirkt, und 3C den Datenrückpuffer-Mechanismus zeigt, welcher den Mikroprozessor-Adressenweg unterhält;
  • 3D eine Darstellung ist, die für das Verständnis eines Adressierungsmerkmals hilfreich ist, das durch die Mikroprozessor-Schnittstelle gemäß 2 nach der Erfindung geschaffen wird;
  • 4 ein Blockschaltbild einer Hauptspeicher-Schnittstelle ist, wie sie in der Mikroprozessor-Schnittstelle von 3 verwendet wird;
  • 5 ein Blockschaltbild einer Fehlerdetektor- und -korrektureinrichtung ist, wie sie in der Hauptspeicher-Schnittstelle von 4 eingesetzt wird;
  • 5A ein Blockschaltbild einer XOR-Anordnung ist, wie sie in der Fehlerdetektor- und -korrektureinrichtung von 5 verwendet wird;
  • 6 ein Blockschaltbild einer Unterbrechungsanforderungs-Steuereinrichtung ist, die in der Mikroprozessor-Schnittstelle von 3 verwendet wird;
  • 7 ein Blockschaltbild eines Unterbrechungs-Inverterregisters ist, die in der Unterbrechungs-Steuereinrichtung von 6 verwendet wird;
  • 8 ein Blockschaltbild einer Art eines Unterbrechungsregisters ist, die in der Unterbrechungs-Anforderungs-Einrichtung von 6 verwendet wird; und
  • 9 ein Schaltbild eines Fehlerdetektors ist, der in der Lage ist, harte Fehler an einer Zweirichtungs-Datenleitung zu detektieren.
  • Beschreibung der bevorzugten Ausführungsbeispiele
  • Das Datenspeichersystem 10
  • Es sei nun auf 1 Bezug genommen. Hier ist ein Datenspeichersystem 10 gezeigt, in welchem ein Host-Rechner 12 mit einer Reihe 14 von Plattenlaufwerken über eine Systemschnittstelle 16 gekoppelt ist. Die Systemschnittstelle 16 enthält einen Cache-Speicher 18. Eine Anzahl von Steuereinrichtungen 200 bis 2015 dient zur Steuerung des Datentransfers zwischen dem Host-Rechner 12 und der Reihe 14 von Plattenlaufwerken, so daß Daten den Cache-Speicher 18 durchlaufen. Ein Paar von Hoch-Adressenbussen TH, BH ist elektrisch mit dem hohe Adressen aufweisenden Speicherabschnitt 18H des Cache-Speichers 18 verbunden, wie dies in der US-Patentanmeldung Nr. 09/223.115 mit dem Titel „Data Storage System” beschrieben ist, welche am 30. Dezember 1998 hinterlegt wurde und auf denselben Zessioner übertragen wurde wie die vorliegende Erfindung (Erfinder: D. Castel u. a.). Auf den Gegenstand dieser Anmeldung wird vorliegend Bezug genommen. Ein Paar von Tief-Adressenbussen TL, BL ist elektrisch mit dem tiefe Adressen aufweisenden Speicherabschnitt 18L des Cache-Speichers 18 verbunden. Der Cache-Speicher 18 besitzt eine Vielzahl von Speicherplatzadressen. Vorliegend liegen die Speicherplätze mit höheren Adressen in den den hohen Adressen zugeordneten Speicheradressen-Abschnitten H und die Speicherplätze mit den niedrigeren Adressen liegen in den den niedrigeren Adressen zugeordneten Speicheradressen 18L. Es sei bemerkt, daß jede der Steuereinrichtungen 20o bis 2015 elektrisch mit einem des Paares von Hoch-Adressenbussen TH, BH und einem des Paares von Tief-Adressenbussen TL, BL verbunden ist. Demgemäß ist jede der Steuereinrichtungen 20o bis 2015 in der Lage, sämtliche Speicherplätze in dem gesamten Cache-Speicher 18 zu adressieren (d. h. jede Steuereinrichtung kann sowohl die den hohen Adressen zugeordneten Speicherabschnitte 18H als auch zu dem den tiefen Adressen zugeordneten Speicherabschnitten 18L Zugriff nehmen). Jede Steuereinrichtung ist daher in der Lage, Daten in irgendeinen Speicherplatz im gesamten Cache-Speicher einzuspeichern und von dort zu entnehmen.
  • Genauer betrachtet ist der rückwärtige Teil der Steuereinrichtungen, hier die Steuereinrichtungen 20o bis 207 elektrisch mit der Reihe 14 von Plattenlaufwerken verbunden und der frontseitige Teil der Steuereinrichtungen, hier die Steuereinrichtungen 208 bis 2015, ist elektrisch mit dem Host-Rechner 12 verbunden.
  • Wenn im Betrieb der Host-Rechner 12 Daten zu speichern wünscht, sendet er eine Schreibanforderung an eine der frontseitigen Steuereinrichtungen 208 bis 2015 zur Durchführung eines Schreibbefehls. Eine der frontseitigen Steuereinrichtungen 208 bis 2015 antwortet auf die Anforderung und fragt den Host-Rechner 12 nach Daten. Nachdem die Anforderung zu der anfragenden Einrichtung der frontseitigen Steuereinrichtungen 208 bis 2015 gelangt ist, bestimmt die Steuereinrichtung die Größe der Daten und reserviert Speicherplatz in dem Cache-Speicher 18, um die Anforderung einzuspeichern. Die frontseitige Steuereinrichtung erzeugt dann Steuersignale entweder auf dem den hohen Adressen zugeordneten Speicherbus (TH oder BH) oder auf dem den niedrigen Adressen zugeordneten Speicherbus (TL, BL), welche mit der frontseitigen Speichereinrichtung verbunden sind, je nach dem Ort in dem Cache-Speicher 18, der zur Speicherung der Daten eine Zuordnung erfahren hat, und bewirkt die Ausführung des Transfers zum Cache-Speicher 18. Der Host-Rechner 12 übermittelt dann die Daten zu der frontseitigen Steuereinrichtung. Die frontseitige Steuereinrichtung benachrichtigt hierauf den Host-Rechner 12, daß der Transfer vervollständigt ist. Die frontseitige Steuereinrichtung hält nun Nachschau in einer nicht dargestellten Tabelle, welche in dem Cache-Speicher 18 gespeichert ist, um festzustellen, welche der rückseitigen Steuereinrichtungen 20o bis 207 sich mit der Anforderung befassen soll. Die Tabelle überträgt die Adresse des Host-Rechners 12 in eine Adresse in der Reihe von Plattenlaufwerken 14. Die frontseitige Steuereinrichtung stellt dann eine Nachricht in eine „Mail-Box” (nicht dargestellt und in dem Cache-Speicher 18 gespeichert) für die rückseitige Steuereinrichtung, welche die Anforderung handhaben soll, die Menge der Daten und die Plattenadresse für die Daten. Andere rückseitige Steuereinrichtungen befragen den Cache-Speicher 18, wenn die im Leerlaufbetrieb sind, um ihre „Mail-Boxen” zu prüfen. Wenn die befragte „Mail-Box” anzeigt, daß ein Transfer auszuführen ist, so bearbeitet die rückseitige Steuereinrichtung die Anforderung, adressiert das Plattenlaufwerk in der Reihe, liest die Daten aus dem Cache-Speicher ein und schreibt sie in die Adressen eines Plattenlaufwerks in der Plattenlaufwerkreihe 14 ein. Wenn Daten von dem Plattenlaufwerk zu dem Host-Rechner 12 ausgelesen werden sollen, so arbeitet das System in entsprechender umgekehrter Weise.
  • Die Direktor-Steuereinrichtung
  • Es sein nun auf 2 Bezug genommen. Hier ist ein Beispiel für eine der Direktor-Steuereinrichtungen, hier die Steuereinrichtung 200, gezeigt. Die Steuereinrichtung 200 besitzt einen X-CPU-Abschnitt 22 und einen Y-CPU-Abschnitt 24, welche sich gemeinsame Baueinheiten 40 teilen, beispielsweise Blitzspeicher, u. s. w.. Der Blitzspeicher speichert die BIOS-Routine oder die BOOT-UP-Routine für die CPU-Abschnitte 22 und 24. Die X- und Y-CPU-Abschnitte 22 und 24 sind im Aufbau identisch, wobei der X-CPU-Abschnitt 22 in 2 mehr ins Einzelne gehend gezeigt ist. Vorliegend ist der X-CPU-Abschnitt 22 eine rückwärtige Steuereinrichtung und dem gemäß mit den Plattenlaufwerken 14 (1) verbunden. Es versteht sich, daß dann, wenn dieser Abschnitt in einer frontseitigen Steuereinrichtung, beispielsweise dem X-CPU-Abschnitt 22, läge, der mit dem Host-Rechner 12 verbunden wäre. Der X-CPU-Abschnitt 22 ist außerdem, wie dargestellt, mit dem Cache-Speicher 18 (1) verbunden.
  • Betrachtet man genauer den X-CPU-Abschnitt 22, so ist festzustellen, daß dieser Abschnitt 22 einen Abschnitt 42 des direkten Speicherzugriffs auf (DMA) enthält, welcher eine Schnittstelle zwischen dem Cache-Speicher 18 (1), der Reihe von Plattenlaufwerken 14 und der zentralen Prozessoreinheit 44 des X-CPU-Abschnittes 22 ist. Die zentrale Prozessoreinheit 44 enthält einen Mikroprozessor 46, vorliegend einen Leistungs-PC-Mikroprozessor, einen Hauptspeicher 48, einen CPU-Dekoder 50 (beispielsweise ein programmierbares logisches Gerät), sowie eine Mikroprozessor-Schnittstelle 52, vorliegend eine Anwender-spezifische integrierte Schaltung (ASIC). Die Mikroprozessor-Schnittstelle 52 wird nachfolgend genauer in Verbindung mit 3 beschrieben. Es genügt hier jedoch die Feststellung, daß die Mikroprozessor-Schnittstelle 52 ein umfassendes integriertes Leistungs-PC-Mikroprozessor-Schaltungs-Chip mit verschiedenen diskreten funktionellen Abschnitten ist, einschließlich einer Hauptspeicher-Schnittstelle 54 mit einer Gruppe von Registern 53, einem Datenrückpuffer-Abschnitt 56, einer Steuereinrichtung 58 für eine Unterbrechungsanforderung (IRQ), und einem eingebetteten statischen Speicher wahlfreien Zugriffs 60 (SRAM). Vorliegend ist der Hauptspeicher 48 ein SDRAM. Wie jedoch noch beschrieben wird, können auch andere Speicherarten verwendet werden, beispielsweise ein RAM-Bus-DRAM (RDRAM).
  • Vorliegend ist die Hauptspeicher-Schnittstelle 54 dazu ausgebildet, eine oder zwei Reihen von SDRAM-Einheiten des Hauptspeichers 48 zu handhaben, wobei bis zu 128 MB an Eingangs-/Ausgangs-Speicherplatz geboten werden und RAM-Dichten von 64 Megabyte verwendet werden. Die Daten sind durch einen Fehlerkorrektur-Kode (ECC) geschützt und Einzelbitfehler können korrigiert werden, wenn sie festgestellt werden. Die Hauptspeicher-SDRAM-Schnittstelle 54 bewerkstelligt vollständig das Herauslesen und Einschreiben von Bytes, halben Wörtern und von Wörtern durch eingebaute Lese-Modifikation-Schreib-Zyklen.
  • Die Unterbrechungsanforderungs-Steuereinrichtung 58 (IRQ) nimmt eine flexible Unterbrechungssteuerung vor. Vorliegend handhabt die Unterbrechungsanforderungs-Steuereinrichtung 58 bis zu 28 externe Unterbrechungen und 4 fatale Unterbrechungen sowie interne Unterbrechungen. Diese Unterbrechungen können irgendeinem Unterbrechungsniveau durch Programmierungsniveau und Maskenregister zugeordnet werden, was genauer im Zusammenhang mit 6 beschrieben werden wird. Zusätzlich schafft die Unterbrechungsanforderungs-Steuereinrichtung Möglichkeiten zur Unterstützung der Erzeugung einer Motorola-68060-Unterbrechung, die ebenfalls genauer in Zusammenhang mit 6 beschrieben werden wird.
  • Der Datenrückpuffer-Abschnitt 56 der Mikroprozessor-Schnittstelle 52 bewirkt eine Doppelbus-Adressen- und Daten-Rückpufferung. In vollem Maße flexibel und durch den externen CPU-Dekoder 50 gesteuert werden die Adressen- und Daten-Laufwege rückgepuffert, um die Verbindung zu örtlichen gemeinsamen Baueinheiten 58 zu ermöglichen. Die Wahlmöglichkeiten der Registrierung von Daten, der Zusammenstellungs-/Zerlegungsfunktion und der Paritiätserzeugung werden durch die Logik in den externen CPU-Dekoder 50 gesteuert.
  • Die Mikroprozessor-Schnittstelle 52 bietet auch Möglichkeiten zur Erfassung von Adressen- und Datenbereichen und zur Erzeugung von Unterbrechungen nach der Erfassung. Diese Möglichkeit ist für Reinigungsoperationen vorteilhaft, um sogenannte rote Adressen- und Datenzyklen einzufangen.
  • Zentrale Prozessoreinheit 44
  • Es sei ebenfalls auf die 2 und 3 Bezug genommen. Die zentrale Prozessoreinheit 44 (2) der Steuereinrichtung 20o enthält, wie oben bemerkt, einen Mikroprozessor 46, einen Hauptspeicher 48, einen CPU-Dekoder 50, und eine Mikroprozessor-Schnittstelle 52, vorliegend ein ASIC. Der Datenrückpuffer-Abschnitt 56 der Mikroprozessor-Schnittstelle 52 ist dazu ausgebildet, Daten von einem aus einer Anzahl von Datenanschlüssen, hier dem Datenanschluß A und dem Datenanschluß B, sowie Daten von dem eingebettetem SRAM-Speicher 60 und von der Unterbrechungsanforderungs-Steuereinrichtung 58 zu einem Datenanschluß des Mikroprozessors 46 selektiv in Abhängigkeit von einem Steuersignal zu übergeben, das durch den CPU-Dekoder 50 geliefert wird. Die Hauptspeicher-Schnittstelle 54 ist dazu ausgebildet, Steuersignale zu dem Hauptspeicher-Abschnitt 48 zu liefern, um den Datentransfer zwischen dem Hauptspeicher 48 und dem Mikroprozessor 50 über den Datenrückpuffer-Abschnitt 56 zu ermöglichen. Wie oben bemerkt, ist der Hauptspeicher 48 ein ausgewählter Typ aus einer Mehrzahl von Speichertypen, beispielsweise ein SDRAM-Speicher oder ein RDRAM-Speicher. Jeder Speichertyp besitzt ein unterschiedliches Datentransfer-Protokoll. Die Hauptspeicher-Schnittstelle 54 ist in Entsprechung mit der ausgewählten Type aus der Mehrzahl von Speichertypen konfiguriert, um ein richtiges Speicherprotokoll für Daten zu erzeugen, die über die Hauptspeicher-Schnittstelle 54 zwischen dem Mikroprozessor 46 und dem Hauptspeicher 48 übertragen werden. Wie zuvor angemerkt ist ein Hauptspeichertyp ein SDRAM und ein anderer Hauptspeichertyp ist ein RDRAM, wobei es sich versteht, daß auch andere Speichertypen verwendbar sind.
  • Es sei nun auch auf 3 Bezug genommen. Die Hauptspeicher-Schnittstelle 54 ist hier mehr ins einzelne gehend gezeigt und enthält eine Hauptspeicher-API-Steuereinrichtung 64 und einen Mikroprozessor-Speicherschnittstellen-Steuerabschnitt/EDAC-Abschnitt 66. Die Daten zu dem und von dem Hauptspeicher 48 laufen durch den EDAC-Teil 70 des Abschnittes 66, wobei der EDAC-Teil genauer in Verbindung mit 5 beschrieben wird. Die Hauptspeicher-API-Steuereinrichtung 64 ist für die Übersetzung von Leseanforderungen, Schreibanforderungen und Auffrischungsanforderungen des oberen Niveaus in die geeigneten Steuersignale des unteren Niveaus für die verwendete Type des Hauptspeichers 48 verantwortlich. D. h., die Daten zu und von dem Hauptspeicher 48 gehen durch die Hauptspeicher-API-Steuereinrichtungen 64 in Abhängigkeit von Steuersignalen, welche durch den Mikroprozessor-Speicherschnittstellen-Steuerabschnitt/EDAC-Abschnitt 66 geliefert werden. Die Steuersignale sind allgemein gehalten, d. h. sie sind unabhängig von der Art des verwendeten Hauptspeichers 48. Die Hauptspeicher-API-Steuereinheit 64 ist von vornherein fest verdrahtet, um die allgemein gehaltenen Steuersignale in das richtige Protokoll für die betreffende Art des Hauptspeichers 48 zu übersetzen, nämlich für einen SDRAM-Speicher oder RDRAM-Speicher, u. s. w.. Wenn beispielsweise die ursprüngliche Verwendung für die CPU-Steuereinrichtung 44 zusammen mit einem SDRAM-Speicher vorgesehen ist und irgendwann in der Zukunft die Verwendung mit einem RDRAM-Speicher vorgesehen ist, so ist der einzige Teil der Mikroprozessor-Schnittstelle 52, welcher rekonfiguriert werden muß, die Hauptspeicher-API-Steuereinrichtung 64. Der Aufbau des Mikroprozessor-Speicherschnittstellen-Steuerabschnittes/EDAC-Abschnittes 66 kann unverändert bleiben. Nunmehr sei auch 4 betrachtet. Die Mikroprozessor-Speicherschnittstelle 66 besitzt drei Abschnitte, nämlich den EDAC-Abschnitt 70, einen Speicher-Trennstellen-Steuerabschnitt 72 und einen Adressen-/Daten-Register- und Steuerabschnitt 74. Die Mikroprozessor-Speicherschnittstelle 66 handhabt die Schnittstelle zwischen dem Mikroprozessor 46 und der Hauptspeicher-API-Steuereinrichtung 64. Sie führt die erforderliche Adressendecodierung, Adressenschubzählung, Op-Code-Erzeugung, die Wiederauffrischung und die Synchronisation von Hauptspeicher-API-Steuereinrichtung 64 und Mikroprozessor 46 durch. Der Adressen-/Daten-Register- und Steuerabschnitt 74 enthält die notwendigen Eingangsregister und Ausgangsregister zur ordnungsgemäßen Ausrichtung des Datenstromes des Mikroprozessors 46 mit dem Datenstrom des Hauptspeichers 48 nach Durchgang durch den EDAC-Abschnitt 70.
  • Der EDAC-Abschnitt 70 ist genauer weiter unten in Verbindung mit 5 beschrieben. Verschiedene Steuerleitungen und Datenleitungen und Busse sind in 4 gezeigt:
    CPU_DatIOp<71.0>
    DBBnp
    CPU_Adrp<35.0>
    TSnp
    ABBnp
    TT1p
    TT3p
    TBSTnp
    TSIZp<2.0>
    AACKnp
    TAnp
  • Diese Bezeichnungen sind in dem Motorola MPC 750-Mikroprozessorhandbuch definiert.
  • Die folgenden EDAC-Signale haben die angegebene Bedeutung
  • SBE
    – Einfachbitfehleranzeige
    MBE
    – Mehrfachbitfehleranzeige
    PErr
    – Paritätsfehleranzeige
    Syndrom
    – XOR reduzierte Syndrombits
    Err_Cnt
    – Fehlerzählung (Anzahl von EDAC-Fehlern, die während eines Datentransfers festgestellt wurden)
    Config_Data
    – dies zeigt an, wo EDAC entweder im Fehlerdetektierungsmodus oder im Fehlerkorrekturmodus ist und ob EDAC in geradzahliger oder ungradzahliger Parität ist;

    die folgenden Angaben sind in dem Rambus Application Guide (www.rambus.de) definiert

    WD
    RD
    Wdone
    Rrdy
    Busy
    Last
    Ai
    Ao
    Mo
    Op
    Start

    und die folgenden Signale sind herkömmliche SDRAM-Speicher-Schnittstellensignale:

    DQ<71.0>
    Adr.<13.0>
    CSn
    RASn
    CASn
    WEn
    DQM
    CKE
  • Es sei nun wieder auf 3 Bezug genommen. Der Datenrückpuffer-Abschnitt spricht auf ein Steuersignal von dem CPU-Dekoder 50 an, um Daten zwischen einem ausgewählten der Datenanschlüsse, d. h., dem Anschluß A, dem Anschluß B oder dem eingebetteten SRAM, oder der Unterbrechungsanforderungs-Steuereinrichtung 48 und dem Datenanschluß des Mikroprozessors 48 zu überkoppeln oder zu übertragen. Genauer gesagt, der Datenrückpuffer-Abschnitt 56 hat einem dem Anschluß A zugeordneten Transceiver (XCVR), einen dem Anschluß B zugeordneten Transceiver XCVR 82, einen XCVR-Kern 83 und einen CPU-Transceiver 84, die in der aus 3 ersichtlichen Weise angeordnet sind. Der XCVR-Kern 83 ist ein Wähler, der in Abhängigkeit von einem Steuersignal von dem CPU-Dekoder 50 Daten bzw. Adressen zwischen dem Anschluß 86 des CPU-Transceivers 84 und entweder dem dem Anschluß A zugeordneten Transceiver 80 oder dem dem Anschluß B zugeordneten Transceiver 82 oder dem eingebetteten SRAM 60 oder dem Unterbrechungsanforderungs-Steuergerät 58 selektiv in Abhängigkeit von einem Steuersignal überträgt, das zu dem XCVR-Kern 83 von dem CPU-Dekoder 50 geliefert wird. Wie aus 2 erkennbar, ist der dem Anschluß A zugeordnete Transceiver an dem Anschluß A mit dem Cache-Speicher 18 (1) über die DMA-Baueinheit 42 verbunden und der dem Anschluß B zugeordnete Transceiver 82 ist an dem Anschluß B mit den gemeinsamen Baueinheiten 40 verbunden.
  • Der CPU-Transceiver ist eine Datenverteilungseinheit mit einer Mehrzahl von Anschlüssen, wobei jeder der Anschlüsse mit einer jeweils entsprechenden der folgenden Einheiten gekoppelt ist: (i) dem XCVR-Kern oder -Wähler 83; (ii) dem Synchron-DRAM 60; (iii) der Unterbrechungsanforderungs-Steuereinrichtung 58; (iv) dem Datenanschluß des Mikroprozessors 46; und (v) der Hauptspeicher-Schnittstelle 54.
  • Im einzelnen sind der XCVR-Kern oder der Wähler 83 und der CPU-Transceiver 84 in den 3A, 3B, 3C gezeigt. Der Datenrückpuffer-Abschnitt 56, welcher die Mikroprozessor-Schreiboperationen handhabt, ist in 3A gezeigt. Vorliegend werden 72 Datenbits von dem Datentransferbus des Mikroprozessors 46 zu der Mikroprozessor-Schnittstelle 52 an der CPU_DataIOp-Schnittstelle übertragen. Die Mikroprozessor-Schnittstelle 52 hat zwei Register 87 und 89, nämlich eines für das obere Datenwort, und eines für das untere Datenwort. Die Signale CPU_DatWUClkEnp und DatWLClkEnp dienen zur Veranlassung der Datenregistrierung in den oberen bzw. unteren Wortreihen an der Anstiegsflanke eines Taktes, was nicht dargestellt ist. Die Parität wird zusammen mit den entsprechenden Wortdaten gespeichert. Das Signal CPU_DatSyncSelp, wenn frei, veranlaßt, daß die Eingangsregister 87 und 89 umgangen werden, wodurch ein asynchroner Datenweg zu dem Anschluß A und dem Anschluß B geschaffen wird. Das Signal CPU_Ulselp bestimmt, ob das obere oder das untere Registerwort der Register 87 bzw. 89 zu dem Anschluß A oder dem Anschluß B gelangt. Dies ist notwendig, da die Datenschnittstelle 52 des Mikroprozessors 46, hier des Leistungs-PC, 72 Bit umfaßt, während hier die Schnittstellen des Anschlusses A und des Anschlusses B einen Umfang von 36 Bit haben.
  • Die Anschlüsse A und B sind in ihrer Arbeitsweise identisch. Demgemäß taktet PortA/PortB_DatWClkEnp an der Anstiegsflanke des Taktes die Daten PortA_DatIOp/PortB_DataIOp in die Ausgangsanschluß-Datenregister 187 bzw. 189. PortA/PortB_DatSyncSelp, wenn frei, liefert einen Ausgangsregisternebenschluß für asynchrone Ausgangsdaten. Die Signale PortA/PortB_DatIOOEnp schalten die Ausgangstreiber 91 und 93 für die Anschlüsse A und B wirksam.
  • Ein gesonderter Datenweg (SDIO) wird für die Hauptspeicher-Schnittstelle 54 verwendet. Die Hauptspeicher-Schnittstelle 54 besitzt eine zugeordnete Gruppe von Eingangsregistern 95, 97 in dem CPU-Transceiver 84, welche wirksam geschaltet werden (EN), wenn ein Signal DBBnp von dem CPU-Dekoder 50 festgestellt wird.
  • Der Datenrückpuffer-Abschnitt 56 mit seiner Arbeitsweise, welcher die Leseoperation des Mikroprozessors 46 handhabt, ist in 3B gezeigt. Für Leseoperationen werden Daten zu der Mikroprozessor-Schnittstelle 52 an den PortA/PortB_DatIOp-Schnittstellen übertragen. Die Signale PortA/PortB_DatRClkEnp dienen zur Wirksamschaltung der Datenregistrierung an der Anstiegsflanke des Taktes. PortA/PortB_DatSyncSelp, wenn frei, verursacht einen Nebenschluß der Eingangsregister 99, 101 zur Bereitstellung eines asynchronen Datenweges. Eine derartige Anordnung ermöglicht eine Planungsflexibilität (z. B. Kompromiß zwischen Arbeitsqualität und Latenz).
  • Das Signal DPU_DatPortSelp bestimmt die Datenquelle für die CPU-Ausgangsregister 103, 105. Die nachfolgende Tabelle listet die möglichen Datenquellen auf:
    CPU_DatPortSelp Wert Datenquelle
    000 Daten, die gegenwärtig in den Mikroprozessor-Ausgangsregistern gespeichert sind.
    001 Daten, die gegenwärtig in den Anschluß A-Ausgangsregistern gespeichert sind.
    010 Daten, die gegenwärtig in den Anschluß B-Ausgangsregistern gespeichert sind.
    011 Alle 1 mit guter Parität.
    100 Interne Konfiguration und Statusregister. Die Registerdaten werden im unteren Wortbereich dargeboten und der obere Wortbereich wird sämtlich mit Nullen und guter Parität gefüllt.
    101 Daten vom Anschluß A.
    110 Daten vom Anschluß B.
    111 Daten von EDAC 70
  • Die Eingaben CPU_DatRUCklEnp und CPU_DatRLCklEnp bewirken das taktweise Eingeben von Daten in die obere und untere Wortreihe (z. B., Register 103, 105) an der Anstiegsflanke des Taktes. Der externe CPU-Dekoder 50 (2) muß diese Signale in geeigneter Weise steuern, um die Daten des Anschlusses A bzw. Anschlusses B an der richtigen Wortreihe basierend auf der niedrigstwertigen Adresscodierung zu präsentieren. Die Eingabe CPU_DatSyncSelp, wenn frei, verursacht, daß die CPU-Ausgangsregister 103, 105 im Datenweg umgangen werden, wodurch ein asynchroner Ausgang zu dem Leistungs-PC-Mikroprozessor 46 erzeugt wird.
  • Ein gesonderter Datenweg SDIO wird für die Hauptspeicher-Schnittstelle verwendet. Der Ausgang von der Hauptspeicher-Steuereinrichtung 64 wird einem Topniveau-Ausgangsmultiplexer 107 zugeführt. Jedesmal dann, wenn die Mikroprozessor-Schnittstelle 52 eine Adresse an ihrem internen Hauptspeicherplatz dekodiert, kommen die dem Mikroprozessor dargebotenen Daten von der Hauptspeicher-Steuereinrichtung. Anderenfalls stammen die Daten, die dem Mikroprozessor dargeboten werden, von der Ausgangsstruktur des Mikroprozessors 46.
  • Die Eingabe CPU_DatIOOEnp steuert die CPU-Ausgangspuffer und gilt nur während Transaktionen, an denen der Hauptspeicher nicht beteiligt ist. Während der Hauptspeichersteuerung steuert die Mikroprozessor-Schnittstelle 52 die Ausgangstreiber 103, um dem Mikroprozessor 46 zu der richtigen Zeit Daten zu präsentieren.
  • Man betrachte nun 3C. Hier ist der Adressenrückpuffer-Mechanismus gezeigt, der den Mikroprozessoradressenweg führt. Die Adressenrückpufferung in der Mikroprozessor-Schnittstelle 52 geht in eine Richtung und ist der Ausgangspunkt an dem CPU_Adrp-Anschluß. Die Eingabe CPU_AdrSyncSelp bestimmt auf globaler Basis, ob der Adressenweg synchron dahin geleitet ist oder asynchron (fehlerhaft) ist. Während eines asynchronen Betriebes muß der externe CPU-Dekoder 50 (2) sicherstellen, daß die Adresse genügend Zeit hat, um sich durch die Mikroprozessor-Schnittstelle 52 zu Anschluß A bzw. Anschluß B auszubreiten, bevor nun Ext_AACKnp festgestellt wird.
  • Während synchroner Betriebsweisen taktet die Eingabe TSnp die gegenwärtige Adresse in das CPU-Adresseneingangsregister 111. Wenn der externe CPU-Dekoder 50 (2) Ext_AACKnp feststellt, wird die zuvor in dem CPU-Adresseneingangsregister 111 eingeschriebene Adresse zu den Ausgangsadressenregistern 113, 115 von Anschluß A und Anschluß B übertragen. Das Signal PortA/PortB_AdrIOOEnp schaltet selektiv den jeweiligen Anschluß-Adressenausgangstreiber 117 bzw. 119 wirksam.
  • Die interne Hauptspeicher-Steuereinrichtung 64 hat eine zugeordnete Gruppe von Adressenregistern 111. Wenn TSnp ansteht, wird die Adresse bei CPU_Adrp in eines der Hauptspeicher-Adressenregister 111 zur Verwendung durch die Hauptspeicher-Steuereinrichtung eingetaktet.
  • Wie oben kurz erwähnt hat der Hauptspeicher 48 eine Anzahl von Datenspeicher-Abschnitten, wobei ein Abschnitt eine erste Gruppe von Adressen aufweist, und ein zweiter Abschnitt eine zweite Gruppe von Adressen aufweist. Es versteht sich, daß mehr als ein zweiter Abschnitt vorgesehen sein kann (d. h., der zweite Abschnitt kann aus einer Mehrzahl von Bereichen oder Abschnitten aufgebaut sein). Die Mikroprozessor-Schnittstelle 52 erzeugt Adressen für den Hauptspeicher 48. Die Hauptspeicher-Steuereinrichtung 64 enthält einen Dekoder 65, der auf die erzeugten Adressen anspricht, um zu bestimmen, ob die erzeugte Adresse sich innerhalb der ersten Gruppe oder innerhalb der zweiten Gruppe von Adressen befindet. Die Hauptspeicher-Schnittstelle 54 ist so ausgebildet, daß sie die Verbindung zu dem Hauptspeicher 48 herstellt. Der Hauptspeicher 48 ist zur Herstellung der Koppelverbindung zu dem Mikroprozessor 46 und zu dem Datenrückpuffer-Abschnitt 56 ausgebildet. Die Hauptspeicher-Schnittstelle 54 liefert Steuersignale zum Wirksamschalten des Datentransfers zwischen dem Hauptspeicher 48 und dem Mikroprozessor 46 über den Datenrückpuffer-Abschnitt 56. Die Hauptspeicher-Schnittstelle 54 spricht auf den Dekoder 50 an und schaltet den zweiten Abschnitt im Speicher 48 wirksam, wenn der Dekoder 50 feststellt, daß die erzeugte Adresse sich in der zweiten Gruppe von Adressen befindet, und der erste Abschnitt wird zur Adressierung durch die erzeugte Adresse wirksam geschaltet, wenn die Hauptspeicher-Schnittstelle 54 feststellt, daß die erzeugte Adresse sich in der ersten Adressengruppe befindet.
  • Genauere Betrachtungen seien nun unter Bezugnahme auf 3D angestellt. Vier externe SDRAM-Chipwähler CS0–CS3 stellen den Zugang zu dem SDRAM-Speicher 48 her. Der Zugriff zu dem SDRAM-Speicher über die Chipauswahl wird durch den externen CPU-Dekoder 50 (2) dekodiert. Die dekodierte Adresse muß aus dem Speicherplatz herausfallen, der der Mikroprozessor-Schnittstelle 52 zugeordnet ist, vorliegend die Adressen 000 0000h bis 7FF FFFFh. Ein Konfigurationsregister bestimmt eine Adressenmaske, die auf die Adresse des Leistungs-PC-Mikroprozessors 46 angewendet wird, um eine Segmentgröße zu qualifizieren, d. h. die Größe des SDRAM-Speichers, welche jeder Chipauswahl zugeordnet ist. Jede Chipauswahl besitzt außerdem ein Segmentadressenregister (d. h. DRAM CSx-Segmentadresse), welchem sie zugeordnet ist. Dieses Segmentadressenregister sieht ein OR-Feld vor, das zur Mikroprozessoradresse hinzugefügt wird, nachdem die Adressensegmentgrößenmaske zur Anwendung gekommen ist. Dies gestattet es, die vier ausgewählten SDRAM-Chipspeicherplätze unabhängig im ganzen SDRAM-Speicherplatz anzuordnen.
  • Es sei beispielsweise eine vollständige Speicherkonfiguration von 128 MB angenommen und es sei weiter angenommen, daß diese Konfiguration vier Segmente von jeweils 64 K darbietet, die in den oberen 256 K des SDRAM-Speicherplatzes gelegen sind. Es sei weiter angenommen, daß der CPU-Dekoder einen Chipauswahl-Speicherzugriff bei der Adresse 0820 1234h dekodiert. Wie in Verbindung mit 3D beschrieben wird, wird die von dem Mikroprozessor 46 gelieferte Eingangsadresse, hier 0820 1234h, welche in dem Register 111 gespeichert ist, auf eine neue Ausgangsadresse, hier 07FC 1234h, übertragen, welche in 3D im Bereich 212 gezeigt ist.
  • Genauer gesagt, die Mikroprozessor-Adressensegmentmaske von 07FF 0000h wird auf diese Adresse zur Einwirkung gebracht und liefert eine resultierende Adresse von 0800 1234h. Als nächstes wird die geeignete DRAM-Chipauswahl-Segmentadresse mit ODER-Funktion eingeführt. Nimmt man an, daß die Chipauswahl CS0 verwendet wurde, so wird 07FC 0000h mit ODER-Funktion eingeführt, was das Zwischenergebnis hat, daß 0FFC 123h als Chipauswahl-Speicheradresse erzeugt wird. Die obersten fünf Bits werden von der Adresse abgeschnitten, da sie jenseits der 128 MB des adressierbaren Speichers liegen. Die endgültige Speicheradresse wird 07FC 1234h für die Chipauswahl des SDRAM-Speicherzugriffes.
  • Mehr im einzelnen und auf 3D bezugnehmend ist festzustellen, daß Erst-Adressen in dem Hauptspeicher 48 (d. h., der Abschnitt 216 mit den ersten 128 MBytes minus 256 K des Speichers) von der Mikroprozessor-Schnittstelle 52 zur Adressierung zugeordnet werden. Die oberen 256 KBytes sind in vier Segmente 214a bis 214d von jeweils 64 K segmentiert worden. Jedes dieser vier Segmente 214a bis 214d wird durch eine entsprechende der vier Chipauswahlen CS0–CS3 ausgewählt, wie angegeben ist. Vorliegend wird die von dem Mikroprozessor 48 gelieferte Adresse (hier beispielsweise 0820 1234h) in dem Register 111 (3C) gespeichert. Die Segmentgröße wird einem der Register (hier dem Register 200) in der Gruppe von Registern 53 (2) in der Hauptspeicher-Schnittstelle 54 gespeichert (im vorliegenden Beispiel 07FF 000h). Jedes Bit in dem Register 111 wird mit einem entsprechenden Bit im Register 200 mittels der Gatter 202 zusammengeschaltet, wobei der zusammengeschaltete Ausgang (d. h. das Zwischenresultat) im Bereich 206 dargestellt ist, vorliegend 0800 1234h. Das gewünschte Chipauswahlsegment, das die verschiedenen Speicherabschnitte für den Hauptspeicher 48 wirksam schaltet, ist in dem Register 208 der Registergruppe 53 gespeichert. Vorliegend speichert das Register 208 in diesem Beispiel, wie angegeben, 07FC 0000h. Jedes dieser Bits wird einer ODER-Funktions-Schaltung mit einem entsprechenden der Bits unterzogen, die an dem Ausgang des Gates 202 erzeugt werden, um das im Bereich 210 gezeigte Ergebnis zu erzeugen, hier, wie angegeben, die Chipauswahl-SDRAM-übertragenen Adressen 0FFC 1234h. Nach Abschneiden der Bits 31 bis 37, wie das durch die Klammer 212 angedeutet ist, wird das abgeschnittene Ergebnis als Adresse zum Hauptspeicher 48 gegeben, wie dies angezeigt ist. Es sei bemerkt, daß die Adressen 07FC 0000 bis 07FF FFFF in dem oben beschriebenen zweiten Abschnitt des Hauptspeichers 48 sind, hier mit 4 Bereichen 240a bis 240d von jeweils 64 K Adressen. Vorliegend werden die Bereiche 240a bis 240d durch die Chipauswahlen CS0 bis CS3 jeweils ausgewählt. Man erkennt somit, daß die Eingangsadresse, welche von dem Mikroprozessor 46 geliefert und im Register 111 gespeichert wird, auf eine neue Ausgangsadresse übertragen wurde, die in dem Bereich 211 gezeigt ist.
  • Fehlerdetektor
  • Es sei nun auf 5 Bezug genommen. Hier ist der Fehlerdetektor- und Korrekturabschnitt (EDAC) 70 mehr ins Einzelne gehend gezeigt. Der EDAC 70 ist zwischen die Hauptspeicher-API-Steuereinrichtung 64 (API bedeutet Application Programming Interface) und den CPU-Transceiver 84 über einen bidirektionalen Dateneingangs- und -ausgangsbus (MDIO) und den bidirektionalen System-Dateneingangs- und -ausgangsbus (SDIO) geschaltet, wie in 3 gezeigt. Es sei zuerst der Datenfluß von dem SDIO-Bus zu dem MDIO-Bus betrachtet, wobei eine Datenquelle, hier die aus dem CPU-Transceiver 84 (3) herausgelesenen Daten zu dem SDIO-Bus gegeben werden. Die Daten haben eine Mehrzahl von Bytes, hier 8 Bytes (d. h., 64 Bits), wobei jedes der Bytes ein Paritätsbit aufweist. Eine Paritätsprüfeinrichtung 90 spricht auf die Paritätsbits auf dem SDIO-Bus und die 8 Datenbytes auf dem SDIO-Bus an, um einen Paritätsfehler in den 8 Datenbytes zu detektieren, die von der Datenquelle auf dem SDIO-Bus erzeugt werden. Jeder Paritätsfehler wird dem CPU-Dekoder 50 (2) berichtet.
  • Ein Paar von Prüfbitgeneratoren ist vorgesehen. Jeder der Paritätsbitgeneratoren 92, 94 wird mit der Anzahl von Bytes, vorliegend 8 Bytes, der Daten auf dem SDIO-Bus gespeist. Jeder der Paritätsbitgeneratoren 92, 94 ist ein Redundanzkode-Generator, vorliegend ein modifizierter Hamming-Kode-Prüfbitgenerator, der eine Mehrzahl von Prüfbits aus der Anzahl ihm zugeführter Bytes erzeugt. Ein logisches Schaltungsteil, vorliegend ein XOR-Gatter 98 wird mit den Prüfbits beaufschlagt, welche durch einen des Paares von Prüfbitgeneratoren, etwa vom Generator 92 erzeugt werden, um ein einziges, kombiniertes Paritätsbit aus den erzeugten Prüfbits zu bilden. Eine den Generator 92 bildende XOR-Gatteranordnung ist in 5A dargestellt und enthält eine Anzahl von vorliegend sechs XOR-Gatter 93, welche in der dargestellten Weise geschaltet sind, und mit 8 Bits B1 bis B8 beaufschlagt werden, um auf der Leitung 95 ein kombiniertes Paritätsbit hervorzubringen.
  • Die 8 Paritätsbits auf dem SDIO-Bus werden zu einer logischen Schaltung 100, vorliegend einer XOR-Gatteranordnung ähnlich der Anordnung 98 von 5A geführt, um ein kombiniertes Paritätsbit CHK_PAR aus der Mehrzahl von Paritätsbits zu erzeugen. Eine logische Schaltungseinheit 102, vorliegend ein XOR-Gatter ist vorgesehen, um zu bestimmen, ob das kombinierte Paritätsbit, das durch die logische Schaltungsanordnung 98 erzeugt worden ist, und das kombinierte Paritätsbit, das durch die logische Schaltung 100 erzeugt worden ist, denselben logischen Zustand haben. Bei Abwesenheit irgendeines Fehlers sind das Paritätsbit CHK_PAR und das kombinierte Paritätsbit, das durch die XOR-Schaltungsanordnung 98 erzeugt worden ist, dieselben. Der Ausgang des XOR-Gatters 96 und der Ausgang des XOR-Gatters 102 werden zu einem ODER-Gate 104 geführt, das ein Prüfbit-Fehlersignal für ein ODER-Gate 132 erzeugt, wenn ein Fehler entweder durch eine Nichtübereinstimmung der dem XOR-Gatter 96 zugeführten Paritätsbits oder der dem XOR-Gatter 102 zugeführten Paritätsbits festgestellt worden ist.
  • Es sei nun der Datenfluß vom dem MDIO-Bus zu dem SDIO-Bus betrachtet. Eine Datenquelle, hier die Daten, welche von dem Hauptspeicher 48 herausgelesen und auf den MDIO-Bus gegeben wurden, enthält eine Anzahl von vorliegend 8 Bytes und eine Anzahl von vorliegend 8 Prüfbits, welche den genannten Bytes zugeordnet sind. Die 8 Prüfbits werden mit den Daten gespeichert und wurden von einem Redundanzgenerator-Kode, hier einem modifizierten Hamming-Kode, erzeugt. Ein Paar von Prüfbitgeneratoren 106, 108 ist vorgesehen. Jeder der Prüfbitgeneratoren 106, 108 spricht auf eine Anzahl von vorliegend 8 Bytes der Daten auf dem MDIO-Bus an, um vorliegend 8 Prüfbits zu erzeugen. Die Prüfbitgeneratoren 106 und 108 sind Redundanzkode-Generatoren, hier modifizierte Hamming-Kode-Generatoren. Eine Logikschaltung 110, hier eine XOR-Schaltungsanordnung, etwa wie in Verbindung mit 5A beschrieben, dient zur Erzeugung eines kombinierten Paritätsbit aus den erzeugten Prüfbits. Das kombinierte Paritätsbit wird an einem Eingang eines XOR-Gatters 112 eingegeben.
  • Fernerhin ist ein Paar von Fehlerdetektor- und -korrektureinrichtungen 114, 116 vorgesehen. Jede der Detektor- und Korrektureinrichtungen 114 und 116 spricht auf folgendes an: die 8 Bytes der Daten auf dem SDIO-Bus; die erzeugten Prüfbits eines entsprechenden des Paars von Prüfbitgeneratoren 106, 108; und die 8 Prüfbits, die den Bytes der Daten auf dem SDIO-Bus zugeordnet sind. Jede des Paares von Fehlerdetektor- und -korrektureinrichtungen 114, 116 enthält jeweils einen eines Paares von Syndrom-Generatoren 118, 120, sowie einen eines Paares von Datenkorrektoren 122, 124. Jede des Paares von Fehlerdetektor- und -korrektureinrichtung 114, 116 ist so ausgebildet, daß sie einen Fehler in den zugeführten Bytes entdeckt und zur Korrektur dieser Daten im Falle eines detektierten Fehlers entsprechend herkömmlichen Korrektur- und Detektierungstechniken bei modifiziertem Hamming-Kode geeignet ist (d. h. ein einzelner Bitfehler ist detektierbar und korrigierbar und ein mehrfacher Bitfehler ist detektierbar).
  • Ein Paritätsbitgenerator 126 dient zur Erzeugung einer Mehrzahl von vorliegend 8 Paritätsbits aus Daten, die durch einen des Paares von Fehlerdetektor- und -korrektureinrichtungen 114, 116 erzeugt wurden, hier der Datenkorrektor 122 der Einrichtung 114. Eine logische Schaltung 128, vorliegend eine XOR-Schaltungsanordnung ähnlich derjenigen, die oben im Zusammenhang mit 5A beschrieben wurde, dient zur Erzeugung eines kombinierten Paritätsbits, GEN_PAR, das für die 8 Paritätsbits repräsentativ ist, welche von dem Paritätsbitgenerator 128 erzeugt wurden. Die 8 Paritätbits, die von dem Paritätsbitgenerator 126 erzeugt wurden, werden dem SDIO-Bus zugeführt.
  • Eine logische Schaltung, hier ein XOR-Gatter 112, ist vorgesehen, um festzustellen, ob das kombinierte Paritätsbit, das von der logischen Schaltung 110 erzeugt wurde, und das kombinierte Paritätsprüfbit von der logischen Schaltung 128 denselben logischen Zustand haben. Eine logische Schaltung 130, vorliegend ein XOR-Gatter dient zur Feststellung, ob die von den Datenkorrektoren 122, 124 des Paares von Fehlerdetektor- und -korrektureinrichtungen 114, 116 erzeugten Daten dieselben sind. Sind sie unterschiedlich, so wird eine Syndrom-Fehleranzeige erzeugt. Diese Syndrom-Fehleranzeige zusammen mit dem Ausgang der XOR-Schaltung 112 und dem CB-Fehlersignal werden zu einem ODER-Gate 132 geführt, um ein Chip-Fehlersignal für die Unterbrechungsanforderungs-Steuereinrichtung 58 (3) zu erzeugen.
  • Unterbrechungsanforderungs-Steuereinrichtung 58
  • In 6 ist die Unterbrechungsanforderungs-Steuereinrichtung 58 mehr ins Einzelne gehend gezeigt. Die Unterbrechungsanforderungs-Steuereinrichtung 58 behandelt Unterbrechungseingänge und programmierbare Unterbrechungseingänge oder Ausgänge für allgemeine Zwecke. Vorliegend speisen die Unterbrechungsanforderungs-Steuereinrichtung 58 28 zugeordnete Eingänge unmittelbar und 4 Fatal-Unterbrechungseingänge (Fatal_Intlop <3..0>) werden durch ODER-Verknüpfung auf einen einzigen Eingang durch eine Fatal-Interrupt-Maske 300 in der Unterbrechungsanforderungs-Steuereinrichtung 58 reduziert. Es sei bemerkt, daß diese 4 Fatal-Anforderungen als Allgemeinzweckausgänge programmiert werden können.
  • Die Unterbrechungsanforderungs-Steuereinrichtung 58 enthält eine Unterbrechungs-Invertereinrichtung 304 (7), die von dem einer ODER-Verknüpfung unterzogenen Ausgang von der Fatal-Maske 300 und den vorliegend 31 weiteren Unterbrechungsanforderungen (IRQ) beaufschlagt wird; weiter durch einen Wächter IRQ, der durch einen Wächter-Zeitgeber 301 erzeugt wird, der durch Wiederauffrisch-Impulse, Auswahlsignale und Daten von dem Wähler 83 gespeist wird, weiter durch einen Anpass-IRQ, der von einer Anpasseinheit 303 erzeugt wird, die durch Adressen, Daten und Auswahlsignale von dem Wähler 83 gespeist wird, weiter durch einen Mikroprozessor-Schnittstellen-IRQ, der durch die Mikroprozessor-Schnittstelle 52 (2) erzeugt wird; sowie durch achtundzwanzig Intp <27...0>-IRQ, die durch Eingänge der externen Anschlußstifte der Mikroprozessor-Schnittstelle 52 hervor gebracht werden. Jede der 32 Unterbrechungsanforderungen werden an ein Unterbrechungs-Inverter-Register 306 in dem Unterbrechungs-Inverter-Abschnitt 304 gegeben, wobei ein Beispiel davon in 7 gezeigt ist. Die Unterbrechungsanforderung IRQ wird an einem Eingang eines XOR-Gatter 308 eingegeben und der andere Eingang wird mit dem Ausgang eines Inverter-Registers 310 beaufschlagt. Wenn der betreffenden Richtungsinn der Unterbrechungsanforderung (d. h. entweder positiv-wahr oder negativ-wahr) invertiert werden soll, so wird eine logische 1 in dem Register 310 gespeichert. Wenn andererseits in dem Register 306 keine Inversion stattfinden soll, so wird in dem Register 310 eine logische 0 gespeichert.
  • Jedenfalls werden die 32 Ausgänge von dem Unterbrechungs-Inverter 204 an einen Unterbrechungsart-Register-Abschnitt 312 gelegt. Im Einzelnen wird jedes Bit einem Unterbrechungsart-Register 314 zugeführt, von denen eines beispielsweise in 8 gezeigt ist. Das Unterbrechungsart-Register 314 bestimmt, ob die Unterbrechungsanforderung IRQ an einer Flanke (Anstiegsflanke oder Abstiegsflanke) liegen soll oder als ein Niveau verbleiben soll. Im Einzelnen enthält das Register 314 einen Multiplexer 316. Der Multiplexer 316 besitzt einen Anschluß, nämlich den Anschluß A, der durch die Unterbrechungsanforderung IRQ beaufschlagt wird, sowie einen weiteren Eingang, nämlich den Anschluß B, der durch eine Flankenlogik 318 beaufschlagt wird. Die Flankenlogik 318 enthält einen ODER-Gate 320. Ein Eingang zu dem ODER-Gate wird durch die Unterbrechungsanfoderung IRQ über ein UND-Gate 319 und ein Register 321 in der dargestellten Weise beaufschlagt, während der andere Eingang zu dem ODER-Gate 320 durch ein Löschsignal in der dargestellten Weise über ein UND-Gate 322 beaufschlagt wird. Der Ausgang des ODER-Gates wird einem Register 330 zugeführt. Der Ausgang des Registers 330 gelangt zum MB-Eingang des Multiplexers 316. Ein Register 326 dient zur Erzeugung des Anschluß-Auswahlsignales für den Multiplexer 316. Wenn eine logische Ziffer 1 in dem Register 326 gespeichert ist, so wird der Anschluß A mit dem Ausgang des Multiplexers 316 gekoppelt, wodurch ein Pegel als Unterbrechungsanforderungs-Typ gewählt wird. Wenn andererseits eine logische Ziffer 1 in dem Register 326 gespeichert ist, so wird der Ausgang der Flankenlogik 318 mit dem Ausgang des Multiplexers 316 gekoppelt.
  • Genauer gesagt speichert das Register 321 in Abhängigkeit von einem Tatkimpuls den Pegel des ihm zugeführten Unterbrechungssignals. Der gespeicherte Pegel wird an den invertierten Eingang des UND-Gates gelegt. Somit vergleicht das UND-Gate 319 den Pegel des gegenwärtigen Unterbrechungssignales mit dem Pegel des vorausgegangenen Unterbrechungssignales (d. h. den Pegel des Unterbrechungssignals beim vorausgehenden Taktimpuls). Wenn sie unterschiedlich sind, so wird eine logische 1 festgestellt und wird in dem Register 330 gespeichert. Die gespeicherte logische Ziffer 1 in dem Register 330 wird dann zu dem nicht invertierenden Eingang des UND-Gates 3222 zurückgespeist. Der Ausgang des UND-Gates 322 gelangt in Abwesenheit eines Löschsignales von der Mikroprozessor-Schnittstelle 52 (2) durch das ODER-Gate 320, wo er verbleibt, bis ein Löschsignal vorhanden ist. Das Löschsignal öffnet somit den Rückkopplungsweg. In Abhängigkeit von einer Flanke (d. h., der vorauslaufenden oder der nachlaufenden Flanke) des Unterbrechungssignales wird somit die Flanke in einen Pegel umgeformt, der an dem Ausgang des Registers 330 erscheint (d. h. an dem B-Eingang des Wählers 316).
  • Die Unterbrechungsanforderungen, welche von dem Unterbrechungsart-Register-Abschnitt 312 erzeugt werden, werden einem Gegenwärtig-Unterbrechungs-Register 321 zugeführt. Der Inhalt des Gegenwärtig-Unterbrechungs-Registers kann für Prüfzwecke oder im Betrieb, beispielsweise für Abfragezwecke, beobachtet werden. Dieser Registerinhalt wird auch zu einer Quellen-Maskeneinrichtung 323 geführt, in der jedes der 32 Bit nach Wunsch maskiert werden kann.
  • Zusätzliche Register ordnen jede Unterbrechungssignalquelle einem bestimmten Unterbrechungspegel zu. Ein Maskenregister gestattet die Maskierung individueller Unterbrechungen. Zusätzlich enthält die Unterbrechungsanforderungs-Steuereinrichtung eine Logik zur Nachbildung der Unterbrechungslogik der Motorola 68k-Familie. Diese Logik enthält Register, die den gegenwärtigen IPL-Pegel und -Status enthalten und die notwendige Hardware zur einfachen Implementierung des nachgebildeten 68K-Unterbrechungsschemas bietet.
  • Genauer betrachtet wählen die Maskierungsregister Int 4 bis Int 0 im Abschnitt 325 aus, welche Unterbrechungsbits von dem Quellenmasken-Registers 323 an einem gegebenen Pegel teilnehmen. Jede Intx-Maske wird in einem ODER-Gate-Abschnitt 327 einer ODER-Reduzierung unterzogen, um zu den primären IRQnp<4..0>-Ausgängen zu gelangen. Diese Ausgänge können verwendet werden, wenn gewünscht wird, beispielsweise den Fluß bei der Ausführung eines Programms zu ändern. In ähnlicher Weise wählen die Maskenregister Int68k7 bis Int68k1 im Abschnitt 329 aus, welche Unterbrechungsbits an dem Motorola 68k-Typ-Pegel teilnehmen. Jeder Pegel wird einer ODER-Reduzierung im Abschnitt 331 unterzogen und an dem IPL-Pegel-/-Maskenregister 333 zugeführt. Dieser Register kann individuell jeden Unterbrechungspegel maskieren. Eine IRQ-68knp-Unterbrechung wird dann auf der Basis der Pegelinformation erzeugt, die in dem IPL-Pegel-/-Maskenregister 333 und dem Gegenwärtig-ILP-Register 335 gespeichert ist.
  • Der Mikrokode des Mikroprozessors 46, hier des Leistungs-PC, kann die IPL-Pegel-/-Masken- und Gegenwärtig-IPL-Register 333 bzw. 335 dazu verwenden, die eingebauten Möglichkeiten der Motorola 68k-Familie von Mikroprozessoren nachzubilden. Das Gegenwärtig-Register enthält das gegenwärtig anstehende Unterbrechungssignal des höchsten Pegels. Durch Ablesen des Registers 335 und darauffolgendes Re-Programmieren des IPL-Pegel-/- Maskenregisters 333 kann die Mikroprozessor-Schnittstelle 52 die IPL-Pegel-/-Maskierungseigenschaften nachbilden, wie sei bei der 68k-Familie von Mikroprozessoren zu finden sind. Eine einfache Treiberroutine braucht lediglich geschrieben zu werden, um diese Register bei Empfang eines Unterbrechungssignales zu manipulieren, um das ISR zu traditionellen Unterbrechungsvektoren der 68k-Art abzuleiten.
  • Der Abschnitt 333 ist somit ein programmierbarer Maskenabschnitt zur Kopplung unmaskierter Signale der Unterbrechungssignale selektiv entsprechend einen vorbestimmenten Prioritätskriterium zu einer Mehrzahl von Ausgängen.
  • Fehlerdetektor
  • Es sei nun 9 betrachtet. Hier ist eine Schaltung 400 zur Feststellung eines sogenannten harten Fehlers (d. h. ein Erdschluß-Fehler oder eine Verbindung zu einem festen, unveränderlichen Spannungspotential) auf einer bidirektionalen Datenleitung 402 gezeigt. Die Schaltung 400 enthält einen Eingangs-/Ausgangsanschluß 304, der mit einem Ende der bidirektionalen Leitung 402 verbunden ist; einen Datenempfänger 406 mit einem Eingang, der an ein zweites Ende der bidirektionalen Leitung 402 angekoppelt ist, um Daten an dem Anschluß 404 aufzunehmen; einen Datentreiber 408 mit einem Ausgang, der an das zweite Ende der bidirektionalen Leitung 402 angekoppelt ist, um Daten an dem Anschluß 404 darzubieten; ein XOR-Gatter 410 mit einem Paar von Eingängen, von denen einer an einen Ausgang des Datentreibers 408 angekoppelt ist und der andere mit einem Eingang des Datenempfängers 408 gekoppelt ist, um festzustellen, ob durch den Datentreiber erzeugte Daten von dem Datenempfänger empfangen werden.
  • Es sei beispielsweise angenommen, daß die Leitung 402 Erdschluß erfährt. Wenn der Datentreiber 408 durch ein Signal EN wirksam geschaltet wird, und in Abhängigkeit von dem zu dem Eingang des Datentreibers 408 geführten Logiksignal an dem Leitungsbus eine hohe logische Spannung erzeugen soll, so erzeugt der Erdschluß ein niedriges logisches Signal an dem Ausgang des XOR-Gatters 410. Der Ausgang des XOR-Gatters zeigt somit an, daß der Eingang zum Datentreiber 408 von dem durch den Datenempfänger 406 erzeugten Ausgang verschieden ist, wodurch eine logische 1 erzeugt und daher ein Fehler angezeigt wird.
  • Es versteht sich, daß im Falle eines sogenannten harten Fehlers auf der Leitung 402 in Gestalt einer hohen Spannung, welche festliegt und über eine Anzahl von normalen Datenzyklen konstant bleibt, dann, wenn der Datentreiber 408 durch ein wirksamschaltendes Signal EN wirksam geschaltet wird und in Abhängigkeit von dem logischen Signal, das zu dem Eingang des Datentreibers 408 geführt wird, ein logisches niedriges Spannungssignal auf dem Leitungsbus erzeugen soll, der Hochspannungsfehler zur Erzeugung eines hohen logischen Signals an dem Ausgang des XOR-Gatters 410 führt. Der Ausgang des XOR-Gatters zeigt somit an, daß der Eingang zu dem Datentreiber 408 von dem Ausgang, der durch den Datenempfänger 406 erzeugt wird, verschieden ist, so daß eine logische 1 erzeugt wird und daher ein Fehler angezeigt wird.
  • Andere Ausführungsbeispiele liegen innerhalb des durch die Ansprüche definierten Grundgedankens.

Claims (19)

  1. Datenspeichersystem, bei welchem ein Host-Rechner (12) über eine Schnittstelle (16) in Verbindung mit einer Reihe von Plattenlaufwerken (14) steht, wobei die Schnittstelle folgendes enthält: einen Speicher (18); eine Anzahl von Steuereinrichtungen (Direktor-Einrichtungen) (20) zur Steuerung des Datentransfers zwischen dem Host-Rechner und der Reihe von Plattenlaufwerken derart, daß die Daten durch den Speicher laufen; eine Anzahl von Bussen (BL, TH, TL, BH) in Verbindung mit den Steuereinrichtungen und dem Speicher; und wobei jede der Steuereinrichtungen eine zentrale Prozessoreinheit enthält, die ihrerseits folgendes aufweist: (A) einen Mikroprozessor (46); (B) einen Hauptspeicher (48); (C) eine Mikroprozessor-Schnittstelle (52) mit einer integrierten Halbleiterschaltung, in welcher ausgebildet sind: (i) ein Datenrückpufferabschnitt (56), der in dem Halbleiterchip angeordnet ist und so ausgebildet ist, daß er Daten von einem aus einer Anzahl von Datenanschlüssen (A, B) der Mikroprozessor-Schnittstelle in Abhängigkeit von einem ersten Steuersignal (von 50) selektiv zu einem Datenanschluß des Mikroprozessors (46) zu koppeln vermag; und (ii) eine Hauptspeicher-Schnittstelle (54), die zur Kopplung des Hauptspeichers (48) mit dem Mikroprozessor (46) ausgebildet ist, und mit dem Mikroprozessor (46) und dem Datenrückpufferabschnitt (56) gekoppelt ist, wobei weitere Steuersignale für den Hauptspeicher (48) zum Wirksamschalten des Datentransfers zwischen dem Hauptspeicher (48) und dem Mikroprozessor (46) über den Datenrückpufferabschnitt (56) erzeugbar sind; (D) eine mit dem Datenrückpufferabschnitt (56) gekoppelte Steuereinrichtung (50) zur Erzeugung des ersten Steuersignals.
  2. System nach Anspruch 1, bei welchem der Hauptspeicher (48) der zentralen Prozessoreinheit (22) eine ausgewählte Speicherart aus einer Mehrzahl von Speicherarten ist, von denen jede Art ein unterschiedliches Datentransferprotokoll aufweist, und wobei die Hauptspeicher-Schnittstelle (54) in Entsprechung mit der ausgewählten Art aus der Mehrzahl von Speicherarten konfiguriert ist, um ein richtiges Speicherprotokoll für den Datentransfer zwischen dem Mikroprozessor (46) und dem Hauptspeicher (48) über die Hauptspeicher-Schnittstelle (54) zu erzeugen.
  3. System nach Anspruch 2, bei welchem eine Speichertype des Hauptspeichers (48) der zentralen Prozessoreinheit (22) ein SDRAM-Speicher ist.
  4. System nach Anspruch 2, bei welchem eine Speichertype des Hauptspeichers (48) der zentralen Prozessoreinheit (22) ein RDRAM-Speicher ist.
  5. System nach Anspruch 1, bei welchem der Datenrückpufferabschnitt (56) der zentralen Prozessoreinheit (22) einen auf das Steuersignal ansprechenden Wähler (83) zur Kopplung von Daten zwischen einem ausgewählten der Datenanschlüsse und dem Mikroprozessor (46) enthält.
  6. System nach Anspruch 5, bei welchem der Datenrückpufferabschnitt (56) eine Datenverteilungseinheit mit einer Anzahl von Anschlüssen enthält, wobei jeder der Anschlüsse mit einem entsprechendem Bauteil folgender Bauteile gekoppelt ist: (i) dem Wähler (83); (ii) einem Speicher wahlfreien Zugriffs (60); (iii) einer Unterbrechungsanforderungssteuereinrichtung (58); (iv) dem Mikroprozessor-Datenanschluß (84, 86); und (v) der Hauptspeicher-Schnittstelle (54).
  7. System nach Anspruch 6, bei welchem der Hauptspeicher (48) der zentralen Prozessoreinheit (22) eine ausgewählte aus einer Mehrzahl von Speicherarten ist, wobei jede Art ein unterschiedliches Datentransferprotokoll aufweist, und wobei die Hauptspeicher-Schnittstelle (54) in Entsprechung mit der ausgewählten Art der Anzahl von Speicherarten konfiguriert ist, um ein richtiges Speicherprotokoll für Daten zu bieten, die zwischen dem Mikroprozessor (46) und dem Hauptspeicher (48) über die Hauptspeicher-Schnittstelle (54) transferiert werden.
  8. System nach Anspruch 7, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
  9. System nach Anspruch 7, bei welchem eine Hauptspeicherart ein RDRAM-Speicher ist.
  10. System nach Anspruch 7, bei welchem die Hauptspeicher-Schnittstelle (54) folgendes enthält: einen Mikroprozessor-/Hauptspeicher-Schnittstellensteuerabschnitt (66) zur Erzeugung von Steuersignalen zwischen dem genannten Abschnitt und dem Mikroprozessor (46) und zwischen dem genannten Abschnitt und der Steuereinrichtung; und eine Hauptspeicher-Steuereinrichtung (64), welche in Entsprechung mit der ausgewählten Art aus der Anzahl von Speicherarten konfiguriert ist, um das richtige Speicherprotokoll für Daten zu bieten, welche zwischen dem Mikroprozessor (46) und dem Hauptspeicher (48) über die Hauptspeicher-Schnittstelle (54) transferiert werden.
  11. System nach Anspruch 10, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
  12. System nach Anspruch 10, bei welchem eine Hauptspeicherart ein RDRAM-Speicher ist.
  13. System nach Anspruch 10, bei welchem die Hauptspeicher-Schnittstelle (54) folgendes enthält: einen Mikroprozessor-/Hauptspeicher-Schnittstellensteuerabschnitt (66) zur Erzeugung von Steuersignalen zwischen dem genannten Abschnitt und dem Mikroprozessor (46) und zwischen dem genannten Abschnitt und der Steuereinrichtung; und eine Hauptspeicher-Steuereinrichtung (64), welche in Entsprechung mit der ausgewählten Art aus der Anzahl von Speicherarten konfiguriert ist, um ein richtiges Speicherprotokoll für Daten zu bieten, die zwischen dem Mikroprozessor (46) und dem Hauptspeicher (48) über die Hauptspeicher-Schnittstelle (54) transferiert werden.
  14. System nach Anspruch 10, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
  15. System nach Anspruch 10, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
  16. System nach Anspruch 13, bei welchem die Hauptspeicher-Schnittstelle (54) eine Fehlerkorrektur- und -Detektoreinheit (70) enthält, die zwischen den Verteiler und die Hauptspeicher-Steuereinrichtung (64) geschaltet ist.
  17. System nach Anspruch 16, bei welchem der Mikroprozessor (46) ein Leistungs-PC-Mikroprozessor ist.
  18. Datenspeichersystem, nach Anspruch 1 dadurch gekennzeichnet, dass der Hauptspeicher (48) eine Anzahl von Datenspeicherabschnitten aufweist, von denen ein Abschnitt eine erste Gruppe von Adressen aufweist, und ein zweiter Abschnitt eine zweite Gruppe von Adressen aufweist; dass ferner die Mikroprozessor-Schnittstelle (52) folgendes enthält: eine Speichersteuereinrichtung (64) zur Erzeugung von Adressen für den Hauptspeicher (48), wobei diese Speichersteuereinrichtung einen Dekoder (65) aufweist, der auf die erzeugte Adresse anspricht, um zu bestimmen, ob die erzeuge Adresse in der ersten Adressengruppe oder der zweiten Adressengruppe liegt; und dass eine Steuereinrichtung (66) vorgesehen ist, die auf den Dekoder (65) anspricht, um den zweiten Abschnitt in dem Speicher wirksam zu schalten, wenn der Dekoder feststellt, daß die erzeugte Adresse in der zweiten Adressengruppe liegt; und wobei der erste Abschnitt für die Adressierung durch die erzeugte Adresse wirksam geschaltet wird, wenn der Dekoder (65) feststellt, daß die erzeugte Adresse wirksam geschaltet wird, wenn der Dekoder (65) feststellt, daß die erzeugte Adresse in der ersten Adressengruppe liegt.
  19. System nach Anspruch 18, welches eine Maske zur Umformung der Adresse in eine Adresse im zweiten Abschnitt des Speichers enthält.
DE10048402A 1999-09-29 2000-09-29 Datenspeichersystem Expired - Lifetime DE10048402B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US408058 1989-09-15
US09/408,058 US6581137B1 (en) 1999-09-29 1999-09-29 Data storage system

Publications (2)

Publication Number Publication Date
DE10048402A1 DE10048402A1 (de) 2001-04-12
DE10048402B4 true DE10048402B4 (de) 2012-03-29

Family

ID=23614692

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10048402A Expired - Lifetime DE10048402B4 (de) 1999-09-29 2000-09-29 Datenspeichersystem

Country Status (4)

Country Link
US (1) US6581137B1 (de)
JP (1) JP3466558B2 (de)
DE (1) DE10048402B4 (de)
GB (1) GB2360377B (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714887B1 (en) * 1998-09-29 2004-03-30 Seagate Technology Llc Portable disc drive testing apparatus
US6389494B1 (en) 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US6836818B1 (en) * 1999-09-29 2004-12-28 Emc Corporation Central processing unit
US6584513B1 (en) 2000-03-31 2003-06-24 Emc Corporation Direct memory access (DMA) transmitter
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US6993621B1 (en) 2000-03-31 2006-01-31 Emc Corporation Data storage system having separate data transfer section and message network with plural directors on a common printed circuit board and redundant switching networks
US7003601B1 (en) 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US6651130B1 (en) * 2000-04-28 2003-11-18 Emc Corporation Data storage system having separate data transfer section and message network with bus arbitration
US6953392B2 (en) * 2001-01-05 2005-10-11 Asm Nutool, Inc. Integrated system for processing semiconductor wafers
CN100337217C (zh) * 2003-07-28 2007-09-12 深圳市朗科科技有限公司 存储控制芯片及数据存储控制方法
US7681046B1 (en) 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7694151B1 (en) * 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
JP4441286B2 (ja) * 2004-02-10 2010-03-31 株式会社日立製作所 ストレージシステム
JP4405277B2 (ja) * 2004-02-16 2010-01-27 株式会社日立製作所 ディスク制御装置
US7467238B2 (en) 2004-02-10 2008-12-16 Hitachi, Ltd. Disk controller and storage system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
JPH08171458A (ja) * 1994-12-20 1996-07-02 Nec Corp ディスク制御装置
DE69919137T2 (de) * 1998-12-30 2005-09-01 Emc Corporation, Hopkinton Datenspeichersystem
DE69930307T2 (de) * 1998-12-30 2006-11-30 Emc Corp., Hopkinton Datenspeichersystem

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4545077A (en) 1982-10-29 1985-10-01 Lockheed Corporation Electro-optical data bus
US5206939A (en) 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
JPH0546525A (ja) 1991-08-16 1993-02-26 Fujitsu Ltd フアイル制御方式
JP3183719B2 (ja) * 1992-08-26 2001-07-09 三菱電機株式会社 アレイ型記録装置
DE4342036C2 (de) 1993-12-09 2002-10-24 Conti Temic Microelectronic Datenbussystem
US5721860A (en) 1994-05-24 1998-02-24 Intel Corporation Memory controller for independently supporting synchronous and asynchronous DRAM memories
US5734848A (en) 1995-07-24 1998-03-31 Symbios Logic Inc. Method and appartus for transferring data in a controller having centralized memory
US5829046A (en) * 1995-10-27 1998-10-27 Emc Corporation On-line tape backup using an integrated cached disk array
US5768530A (en) 1995-12-28 1998-06-16 Emc Corporation High speed integrated circuit interface for fibre channel communications
US6018778A (en) * 1996-05-03 2000-01-25 Netcell Corporation Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory
JP3133004B2 (ja) * 1996-11-21 2001-02-05 株式会社日立製作所 ディスクアレイ装置およびその制御方法
US6148380A (en) 1997-01-02 2000-11-14 Intel Corporation Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
US5954825A (en) 1997-04-11 1999-09-21 International Business Machines Corporation Method for isolating faults on a clocked synchronous bus
US6112277A (en) * 1997-09-25 2000-08-29 International Business Machines Corporation Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format
US6256705B1 (en) * 1998-06-05 2001-07-03 International Business Machines Corporation System and method for organizing data stored in a log structured array
US6286083B1 (en) 1998-07-08 2001-09-04 Compaq Computer Corporation Computer system with adaptive memory arbitration scheme
US6360305B1 (en) 1998-12-04 2002-03-19 Advanced Micro Devices, Inc. Method and apparatus for optimizing memory performance with opportunistic pre-charging

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
JPH08171458A (ja) * 1994-12-20 1996-07-02 Nec Corp ディスク制御装置
DE69919137T2 (de) * 1998-12-30 2005-09-01 Emc Corporation, Hopkinton Datenspeichersystem
DE69930307T2 (de) * 1998-12-30 2006-11-30 Emc Corp., Hopkinton Datenspeichersystem

Also Published As

Publication number Publication date
GB2360377A (en) 2001-09-19
US6581137B1 (en) 2003-06-17
GB0023575D0 (en) 2000-11-08
GB2360377B (en) 2003-10-29
JP3466558B2 (ja) 2003-11-10
DE10048402A1 (de) 2001-04-12
JP2001243020A (ja) 2001-09-07

Similar Documents

Publication Publication Date Title
DE10048402B4 (de) Datenspeichersystem
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
DE69733076T2 (de) Hochleistungsdatenweg mit sofortigem xor
DE69817696T2 (de) Warmaustausch von gespiegeltem Nachschreib-Cachespeicher
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE19882853B3 (de) Verfahren und Steuereinrichtung zum automatischen Korrigieren von in einem Speichersubsystem erfassten Fehlern und Computersystem, das eine solche Steuereinrichtung aufweist
DE2806024C2 (de)
DE69930307T2 (de) Datenspeichersystem
DE112011103916B4 (de) Speicherzugriffseinheit für gemeinsame Speichernutzung zwischen mehreren Prozessoren
DE102004004796B4 (de) Vorrichtung zur Datenübertragung zwischen Speichern
DE102004058528B3 (de) Speichersystem mit Sektorbuffern
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
EP0057756B1 (de) Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
DE102011014588A1 (de) Multicasting-Schreibanforderungen an Mehrfachspeicher-Controller
DE4423949A1 (de) E/A-Hilfssystem und Exklusiv-Steuerverfahren, Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE112005002336T5 (de) Befehl, der unterschiedliche Operationen in unterschiedlichen Chips steuert
DE112008002273B4 (de) Optimale Lösung zur Steuerung von Datenkanälen
DE112007000688B4 (de) Fehlerverwaltungstopologien
DE102021122170A1 (de) Adaptive fehlerbereinigung und fehlerbehandlung für internen speicher
DE10317925B4 (de) Steuerungskommunikation über eine ständig eingeschaltete Steuerungsverbindung
DE102017128938A1 (de) Überlappungs-Schreibsysteme für nichtflüchtige Kreuzpunktspeichervorrichtungen
DE60314641T2 (de) Verfahren, system und programm zur konfiguration von teilnehmern auf einem bus fürein-/ausgabeoperationen
DE69433947T2 (de) Festgekoppelte Dual-Steuermodule benutzendes fehlertolerantes Speichersteuergerät
DE10310055A1 (de) Systeme und Verfahren zum Erfassen und Kompensieren von Kleinblockdatenübertragungen

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20120630

R071 Expiry of right