DE10048402B4 - Datenspeichersystem - Google Patents
Datenspeichersystem Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information 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 undDE 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 nach1 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 von2 verwendet wird; -
3A bis3C Blockschaltbilder eines Transceiver-Kerns und eines CPU-Transceivers sind, die in der Mikroprozessor-Schnittstelle von3 Verwendung finden, wobei3A den Datenrückpuffer-Mechanismus zeigt, der die Mikroprozessor-Leseoperationen bewirkt,3B den Datenrückpuffer-Mechanismus zeigt, welcher die Mikroprozessor-Schreiboperationen bewirkt, und3C 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 von3 verwendet wird; -
5 ein Blockschaltbild einer Fehlerdetektor- und -korrektureinrichtung ist, wie sie in der Hauptspeicher-Schnittstelle von4 eingesetzt wird; -
5A ein Blockschaltbild einer XOR-Anordnung ist, wie sie in der Fehlerdetektor- und -korrektureinrichtung von5 verwendet wird; -
6 ein Blockschaltbild einer Unterbrechungsanforderungs-Steuereinrichtung ist, die in der Mikroprozessor-Schnittstelle von3 verwendet wird; -
7 ein Blockschaltbild eines Unterbrechungs-Inverterregisters ist, die in der Unterbrechungs-Steuereinrichtung von6 verwendet wird; -
8 ein Blockschaltbild einer Art eines Unterbrechungsregisters ist, die in der Unterbrechungs-Anforderungs-Einrichtung von6 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 Datenspeichersystem10 gezeigt, in welchem ein Host-Rechner12 mit einer Reihe14 von Plattenlaufwerken über eine Systemschnittstelle16 gekoppelt ist. Die Systemschnittstelle16 enthält einen Cache-Speicher18 . Eine Anzahl von Steuereinrichtungen200 bis2015 dient zur Steuerung des Datentransfers zwischen dem Host-Rechner12 und der Reihe14 von Plattenlaufwerken, so daß Daten den Cache-Speicher18 durchlaufen. Ein Paar von Hoch-Adressenbussen TH, BH ist elektrisch mit dem hohe Adressen aufweisenden Speicherabschnitt18H des Cache-Speichers18 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 Speicherabschnitt18L des Cache-Speichers18 verbunden. Der Cache-Speicher18 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 Speicheradressen18L . Es sei bemerkt, daß jede der Steuereinrichtungen20o bis2015 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 Steuereinrichtungen20o bis2015 in der Lage, sämtliche Speicherplätze in dem gesamten Cache-Speicher18 zu adressieren (d. h. jede Steuereinrichtung kann sowohl die den hohen Adressen zugeordneten Speicherabschnitte18H als auch zu dem den tiefen Adressen zugeordneten Speicherabschnitten18L 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 bis207 elektrisch mit der Reihe14 von Plattenlaufwerken verbunden und der frontseitige Teil der Steuereinrichtungen, hier die Steuereinrichtungen208 bis2015 , ist elektrisch mit dem Host-Rechner12 verbunden. - Wenn im Betrieb der Host-Rechner
12 Daten zu speichern wünscht, sendet er eine Schreibanforderung an eine der frontseitigen Steuereinrichtungen208 bis2015 zur Durchführung eines Schreibbefehls. Eine der frontseitigen Steuereinrichtungen208 bis2015 antwortet auf die Anforderung und fragt den Host-Rechner12 nach Daten. Nachdem die Anforderung zu der anfragenden Einrichtung der frontseitigen Steuereinrichtungen208 bis2015 gelangt ist, bestimmt die Steuereinrichtung die Größe der Daten und reserviert Speicherplatz in dem Cache-Speicher18 , 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-Speicher18 , der zur Speicherung der Daten eine Zuordnung erfahren hat, und bewirkt die Ausführung des Transfers zum Cache-Speicher18 . Der Host-Rechner12 übermittelt dann die Daten zu der frontseitigen Steuereinrichtung. Die frontseitige Steuereinrichtung benachrichtigt hierauf den Host-Rechner12 , daß der Transfer vervollständigt ist. Die frontseitige Steuereinrichtung hält nun Nachschau in einer nicht dargestellten Tabelle, welche in dem Cache-Speicher18 gespeichert ist, um festzustellen, welche der rückseitigen Steuereinrichtungen20o bis207 sich mit der Anforderung befassen soll. Die Tabelle überträgt die Adresse des Host-Rechners12 in eine Adresse in der Reihe von Plattenlaufwerken14 . Die frontseitige Steuereinrichtung stellt dann eine Nachricht in eine „Mail-Box” (nicht dargestellt und in dem Cache-Speicher18 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-Speicher18 , 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 Plattenlaufwerkreihe14 ein. Wenn Daten von dem Plattenlaufwerk zu dem Host-Rechner12 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 Steuereinrichtung200 , gezeigt. Die Steuereinrichtung200 besitzt einen X-CPU-Abschnitt22 und einen Y-CPU-Abschnitt24 , welche sich gemeinsame Baueinheiten40 teilen, beispielsweise Blitzspeicher, u. s. w.. Der Blitzspeicher speichert die BIOS-Routine oder die BOOT-UP-Routine für die CPU-Abschnitte22 und24 . Die X- und Y-CPU-Abschnitte22 und24 sind im Aufbau identisch, wobei der X-CPU-Abschnitt22 in2 mehr ins Einzelne gehend gezeigt ist. Vorliegend ist der X-CPU-Abschnitt22 eine rückwärtige Steuereinrichtung und dem gemäß mit den Plattenlaufwerken14 (1 ) verbunden. Es versteht sich, daß dann, wenn dieser Abschnitt in einer frontseitigen Steuereinrichtung, beispielsweise dem X-CPU-Abschnitt22 , läge, der mit dem Host-Rechner12 verbunden wäre. Der X-CPU-Abschnitt22 ist außerdem, wie dargestellt, mit dem Cache-Speicher18 (1 ) verbunden. - Betrachtet man genauer den X-CPU-Abschnitt
22 , so ist festzustellen, daß dieser Abschnitt22 einen Abschnitt42 des direkten Speicherzugriffs auf (DMA) enthält, welcher eine Schnittstelle zwischen dem Cache-Speicher18 (1 ), der Reihe von Plattenlaufwerken14 und der zentralen Prozessoreinheit44 des X-CPU-Abschnittes22 ist. Die zentrale Prozessoreinheit44 enthält einen Mikroprozessor46 , vorliegend einen Leistungs-PC-Mikroprozessor, einen Hauptspeicher48 , einen CPU-Dekoder50 (beispielsweise ein programmierbares logisches Gerät), sowie eine Mikroprozessor-Schnittstelle52 , vorliegend eine Anwender-spezifische integrierte Schaltung (ASIC). Die Mikroprozessor-Schnittstelle52 wird nachfolgend genauer in Verbindung mit3 beschrieben. Es genügt hier jedoch die Feststellung, daß die Mikroprozessor-Schnittstelle52 ein umfassendes integriertes Leistungs-PC-Mikroprozessor-Schaltungs-Chip mit verschiedenen diskreten funktionellen Abschnitten ist, einschließlich einer Hauptspeicher-Schnittstelle54 mit einer Gruppe von Registern53 , einem Datenrückpuffer-Abschnitt56 , einer Steuereinrichtung58 für eine Unterbrechungsanforderung (IRQ), und einem eingebetteten statischen Speicher wahlfreien Zugriffs60 (SRAM). Vorliegend ist der Hauptspeicher48 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 Hauptspeichers48 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-Schnittstelle54 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-Steuereinrichtung58 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 mit6 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 mit6 beschrieben werden wird. - Der Datenrückpuffer-Abschnitt
56 der Mikroprozessor-Schnittstelle52 bewirkt eine Doppelbus-Adressen- und Daten-Rückpufferung. In vollem Maße flexibel und durch den externen CPU-Dekoder50 gesteuert werden die Adressen- und Daten-Laufwege rückgepuffert, um die Verbindung zu örtlichen gemeinsamen Baueinheiten58 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-Dekoder50 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 und3 Bezug genommen. Die zentrale Prozessoreinheit44 (2 ) der Steuereinrichtung20o enthält, wie oben bemerkt, einen Mikroprozessor46 , einen Hauptspeicher48 , einen CPU-Dekoder50 , und eine Mikroprozessor-Schnittstelle52 , vorliegend ein ASIC. Der Datenrückpuffer-Abschnitt56 der Mikroprozessor-Schnittstelle52 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-Speicher60 und von der Unterbrechungsanforderungs-Steuereinrichtung58 zu einem Datenanschluß des Mikroprozessors46 selektiv in Abhängigkeit von einem Steuersignal zu übergeben, das durch den CPU-Dekoder50 geliefert wird. Die Hauptspeicher-Schnittstelle54 ist dazu ausgebildet, Steuersignale zu dem Hauptspeicher-Abschnitt48 zu liefern, um den Datentransfer zwischen dem Hauptspeicher48 und dem Mikroprozessor50 über den Datenrückpuffer-Abschnitt56 zu ermöglichen. Wie oben bemerkt, ist der Hauptspeicher48 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-Schnittstelle54 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-Schnittstelle54 zwischen dem Mikroprozessor46 und dem Hauptspeicher48 ü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-Schnittstelle54 ist hier mehr ins einzelne gehend gezeigt und enthält eine Hauptspeicher-API-Steuereinrichtung64 und einen Mikroprozessor-Speicherschnittstellen-Steuerabschnitt/EDAC-Abschnitt66 . Die Daten zu dem und von dem Hauptspeicher48 laufen durch den EDAC-Teil70 des Abschnittes66 , wobei der EDAC-Teil genauer in Verbindung mit5 beschrieben wird. Die Hauptspeicher-API-Steuereinrichtung64 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 Hauptspeichers48 verantwortlich. D. h., die Daten zu und von dem Hauptspeicher48 gehen durch die Hauptspeicher-API-Steuereinrichtungen64 in Abhängigkeit von Steuersignalen, welche durch den Mikroprozessor-Speicherschnittstellen-Steuerabschnitt/EDAC-Abschnitt66 geliefert werden. Die Steuersignale sind allgemein gehalten, d. h. sie sind unabhängig von der Art des verwendeten Hauptspeichers48 . Die Hauptspeicher-API-Steuereinheit64 ist von vornherein fest verdrahtet, um die allgemein gehaltenen Steuersignale in das richtige Protokoll für die betreffende Art des Hauptspeichers48 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-Steuereinrichtung44 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-Schnittstelle52 , welcher rekonfiguriert werden muß, die Hauptspeicher-API-Steuereinrichtung64 . Der Aufbau des Mikroprozessor-Speicherschnittstellen-Steuerabschnittes/EDAC-Abschnittes66 kann unverändert bleiben. Nunmehr sei auch4 betrachtet. Die Mikroprozessor-Speicherschnittstelle66 besitzt drei Abschnitte, nämlich den EDAC-Abschnitt70 , einen Speicher-Trennstellen-Steuerabschnitt72 und einen Adressen-/Daten-Register- und Steuerabschnitt74 . Die Mikroprozessor-Speicherschnittstelle66 handhabt die Schnittstelle zwischen dem Mikroprozessor46 und der Hauptspeicher-API-Steuereinrichtung64 . Sie führt die erforderliche Adressendecodierung, Adressenschubzählung, Op-Code-Erzeugung, die Wiederauffrischung und die Synchronisation von Hauptspeicher-API-Steuereinrichtung64 und Mikroprozessor46 durch. Der Adressen-/Daten-Register- und Steuerabschnitt74 enthält die notwendigen Eingangsregister und Ausgangsregister zur ordnungsgemäßen Ausrichtung des Datenstromes des Mikroprozessors46 mit dem Datenstrom des Hauptspeichers48 nach Durchgang durch den EDAC-Abschnitt70 . - Der EDAC-Abschnitt
70 ist genauer weiter unten in Verbindung mit5 beschrieben. Verschiedene Steuerleitungen und Datenleitungen und Busse sind in4 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;
- Es sei nun wieder auf
3 Bezug genommen. Der Datenrückpuffer-Abschnitt spricht auf ein Steuersignal von dem CPU-Dekoder50 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-Steuereinrichtung48 und dem Datenanschluß des Mikroprozessors48 zu überkoppeln oder zu übertragen. Genauer gesagt, der Datenrückpuffer-Abschnitt56 hat einem dem Anschluß A zugeordneten Transceiver (XCVR), einen dem Anschluß B zugeordneten Transceiver XCVR82 , einen XCVR-Kern83 und einen CPU-Transceiver84 , die in der aus3 ersichtlichen Weise angeordnet sind. Der XCVR-Kern83 ist ein Wähler, der in Abhängigkeit von einem Steuersignal von dem CPU-Dekoder50 Daten bzw. Adressen zwischen dem Anschluß86 des CPU-Transceivers84 und entweder dem dem Anschluß A zugeordneten Transceiver80 oder dem dem Anschluß B zugeordneten Transceiver82 oder dem eingebetteten SRAM60 oder dem Unterbrechungsanforderungs-Steuergerät58 selektiv in Abhängigkeit von einem Steuersignal überträgt, das zu dem XCVR-Kern83 von dem CPU-Dekoder50 geliefert wird. Wie aus2 erkennbar, ist der dem Anschluß A zugeordnete Transceiver an dem Anschluß A mit dem Cache-Speicher18 (1 ) über die DMA-Baueinheit42 verbunden und der dem Anschluß B zugeordnete Transceiver82 ist an dem Anschluß B mit den gemeinsamen Baueinheiten40 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-DRAM60 ; (iii) der Unterbrechungsanforderungs-Steuereinrichtung58 ; (iv) dem Datenanschluß des Mikroprozessors46 ; und (v) der Hauptspeicher-Schnittstelle54 . - Im einzelnen sind der XCVR-Kern oder der Wähler
83 und der CPU-Transceiver84 in den3A ,3B ,3C gezeigt. Der Datenrückpuffer-Abschnitt56 , welcher die Mikroprozessor-Schreiboperationen handhabt, ist in3A gezeigt. Vorliegend werden 72 Datenbits von dem Datentransferbus des Mikroprozessors46 zu der Mikroprozessor-Schnittstelle52 an der CPU_DataIOp-Schnittstelle übertragen. Die Mikroprozessor-Schnittstelle52 hat zwei Register87 und89 , 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 Eingangsregister87 und89 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 Register87 bzw.89 zu dem Anschluß A oder dem Anschluß B gelangt. Dies ist notwendig, da die Datenschnittstelle52 des Mikroprozessors46 , 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 Ausgangstreiber91 und93 für die Anschlüsse A und B wirksam. - Ein gesonderter Datenweg (SDIO) wird für die Hauptspeicher-Schnittstelle
54 verwendet. Die Hauptspeicher-Schnittstelle54 besitzt eine zugeordnete Gruppe von Eingangsregistern95 ,97 in dem CPU-Transceiver84 , welche wirksam geschaltet werden (EN), wenn ein Signal DBBnp von dem CPU-Dekoder50 festgestellt wird. - Der Datenrückpuffer-Abschnitt
56 mit seiner Arbeitsweise, welcher die Leseoperation des Mikroprozessors46 handhabt, ist in3B gezeigt. Für Leseoperationen werden Daten zu der Mikroprozessor-Schnittstelle52 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 Eingangsregister99 ,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-Dekoder50 (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-Ausgangsregister103 ,105 im Datenweg umgangen werden, wodurch ein asynchroner Ausgang zu dem Leistungs-PC-Mikroprozessor46 erzeugt wird. - Ein gesonderter Datenweg SDIO wird für die Hauptspeicher-Schnittstelle verwendet. Der Ausgang von der Hauptspeicher-Steuereinrichtung
64 wird einem Topniveau-Ausgangsmultiplexer107 zugeführt. Jedesmal dann, wenn die Mikroprozessor-Schnittstelle52 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 Mikroprozessors46 . - 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 Ausgangstreiber103 , um dem Mikroprozessor46 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-Schnittstelle52 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-Dekoder50 (2 ) sicherstellen, daß die Adresse genügend Zeit hat, um sich durch die Mikroprozessor-Schnittstelle52 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-Dekoder50 (2 ) Ext_AACKnp feststellt, wird die zuvor in dem CPU-Adresseneingangsregister111 eingeschriebene Adresse zu den Ausgangsadressenregistern113 ,115 von Anschluß A und Anschluß B übertragen. Das Signal PortA/PortB_AdrIOOEnp schaltet selektiv den jeweiligen Anschluß-Adressenausgangstreiber117 bzw.119 wirksam. - Die interne Hauptspeicher-Steuereinrichtung
64 hat eine zugeordnete Gruppe von Adressenregistern111 . Wenn TSnp ansteht, wird die Adresse bei CPU_Adrp in eines der Hauptspeicher-Adressenregister111 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-Schnittstelle52 erzeugt Adressen für den Hauptspeicher48 . Die Hauptspeicher-Steuereinrichtung64 enthält einen Dekoder65 , 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-Schnittstelle54 ist so ausgebildet, daß sie die Verbindung zu dem Hauptspeicher48 herstellt. Der Hauptspeicher48 ist zur Herstellung der Koppelverbindung zu dem Mikroprozessor46 und zu dem Datenrückpuffer-Abschnitt56 ausgebildet. Die Hauptspeicher-Schnittstelle54 liefert Steuersignale zum Wirksamschalten des Datentransfers zwischen dem Hauptspeicher48 und dem Mikroprozessor46 über den Datenrückpuffer-Abschnitt56 . Die Hauptspeicher-Schnittstelle54 spricht auf den Dekoder50 an und schaltet den zweiten Abschnitt im Speicher48 wirksam, wenn der Dekoder50 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-Schnittstelle54 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-Speicher48 her. Der Zugriff zu dem SDRAM-Speicher über die Chipauswahl wird durch den externen CPU-Dekoder50 (2 ) dekodiert. Die dekodierte Adresse muß aus dem Speicherplatz herausfallen, der der Mikroprozessor-Schnittstelle52 zugeordnet ist, vorliegend die Adressen 000 0000h bis 7FF FFFFh. Ein Konfigurationsregister bestimmt eine Adressenmaske, die auf die Adresse des Leistungs-PC-Mikroprozessors46 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 Mikroprozessor46 gelieferte Eingangsadresse, hier 0820 1234h, welche in dem Register111 gespeichert ist, auf eine neue Ausgangsadresse, hier 07FC 1234h, übertragen, welche in3D im Bereich212 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 Hauptspeicher48 (d. h., der Abschnitt216 mit den ersten 128 MBytes minus 256 K des Speichers) von der Mikroprozessor-Schnittstelle52 zur Adressierung zugeordnet werden. Die oberen 256 KBytes sind in vier Segmente214a bis214d von jeweils 64 K segmentiert worden. Jedes dieser vier Segmente214a bis214d wird durch eine entsprechende der vier Chipauswahlen CS0–CS3 ausgewählt, wie angegeben ist. Vorliegend wird die von dem Mikroprozessor48 gelieferte Adresse (hier beispielsweise 0820 1234h) in dem Register111 (3C ) gespeichert. Die Segmentgröße wird einem der Register (hier dem Register200 ) in der Gruppe von Registern53 (2 ) in der Hauptspeicher-Schnittstelle54 gespeichert (im vorliegenden Beispiel 07FF 000h). Jedes Bit in dem Register111 wird mit einem entsprechenden Bit im Register200 mittels der Gatter202 zusammengeschaltet, wobei der zusammengeschaltete Ausgang (d. h. das Zwischenresultat) im Bereich206 dargestellt ist, vorliegend 0800 1234h. Das gewünschte Chipauswahlsegment, das die verschiedenen Speicherabschnitte für den Hauptspeicher48 wirksam schaltet, ist in dem Register208 der Registergruppe53 gespeichert. Vorliegend speichert das Register208 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 Gates202 erzeugt werden, um das im Bereich210 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 Klammer212 angedeutet ist, wird das abgeschnittene Ergebnis als Adresse zum Hauptspeicher48 gegeben, wie dies angezeigt ist. Es sei bemerkt, daß die Adressen 07FC 0000 bis 07FF FFFF in dem oben beschriebenen zweiten Abschnitt des Hauptspeichers48 sind, hier mit 4 Bereichen240a bis240d von jeweils 64 K Adressen. Vorliegend werden die Bereiche240a bis240d durch die Chipauswahlen CS0 bis CS3 jeweils ausgewählt. Man erkennt somit, daß die Eingangsadresse, welche von dem Mikroprozessor46 geliefert und im Register111 gespeichert wird, auf eine neue Ausgangsadresse übertragen wurde, die in dem Bereich211 gezeigt ist. - Fehlerdetektor
- Es sei nun auf
5 Bezug genommen. Hier ist der Fehlerdetektor- und Korrekturabschnitt (EDAC)70 mehr ins Einzelne gehend gezeigt. Der EDAC70 ist zwischen die Hauptspeicher-API-Steuereinrichtung64 (API bedeutet Application Programming Interface) und den CPU-Transceiver84 über einen bidirektionalen Dateneingangs- und -ausgangsbus (MDIO) und den bidirektionalen System-Dateneingangs- und -ausgangsbus (SDIO) geschaltet, wie in3 gezeigt. Es sei zuerst der Datenfluß von dem SDIO-Bus zu dem MDIO-Bus betrachtet, wobei eine Datenquelle, hier die aus dem CPU-Transceiver84 (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üfeinrichtung90 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-Dekoder50 (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ätsbitgeneratoren92 ,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-Gatter98 wird mit den Prüfbits beaufschlagt, welche durch einen des Paares von Prüfbitgeneratoren, etwa vom Generator92 erzeugt werden, um ein einziges, kombiniertes Paritätsbit aus den erzeugten Prüfbits zu bilden. Eine den Generator92 bildende XOR-Gatteranordnung ist in5A dargestellt und enthält eine Anzahl von vorliegend sechs XOR-Gatter93 , welche in der dargestellten Weise geschaltet sind, und mit 8 Bits B1 bis B8 beaufschlagt werden, um auf der Leitung95 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 Anordnung98 von5A geführt, um ein kombiniertes Paritätsbit CHK_PAR aus der Mehrzahl von Paritätsbits zu erzeugen. Eine logische Schaltungseinheit102 , vorliegend ein XOR-Gatter ist vorgesehen, um zu bestimmen, ob das kombinierte Paritätsbit, das durch die logische Schaltungsanordnung98 erzeugt worden ist, und das kombinierte Paritätsbit, das durch die logische Schaltung100 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-Schaltungsanordnung98 erzeugt worden ist, dieselben. Der Ausgang des XOR-Gatters96 und der Ausgang des XOR-Gatters102 werden zu einem ODER-Gate104 geführt, das ein Prüfbit-Fehlersignal für ein ODER-Gate132 erzeugt, wenn ein Fehler entweder durch eine Nichtübereinstimmung der dem XOR-Gatter96 zugeführten Paritätsbits oder der dem XOR-Gatter102 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üfbitgeneratoren106 ,108 ist vorgesehen. Jeder der Prüfbitgeneratoren106 ,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üfbitgeneratoren106 und108 sind Redundanzkode-Generatoren, hier modifizierte Hamming-Kode-Generatoren. Eine Logikschaltung110 , hier eine XOR-Schaltungsanordnung, etwa wie in Verbindung mit5A beschrieben, dient zur Erzeugung eines kombinierten Paritätsbit aus den erzeugten Prüfbits. Das kombinierte Paritätsbit wird an einem Eingang eines XOR-Gatters112 eingegeben. - Fernerhin ist ein Paar von Fehlerdetektor- und -korrektureinrichtungen
114 ,116 vorgesehen. Jede der Detektor- und Korrektureinrichtungen114 und116 spricht auf folgendes an: die 8 Bytes der Daten auf dem SDIO-Bus; die erzeugten Prüfbits eines entsprechenden des Paars von Prüfbitgeneratoren106 ,108 ; und die 8 Prüfbits, die den Bytes der Daten auf dem SDIO-Bus zugeordnet sind. Jede des Paares von Fehlerdetektor- und -korrektureinrichtungen114 ,116 enthält jeweils einen eines Paares von Syndrom-Generatoren118 ,120 , sowie einen eines Paares von Datenkorrektoren122 ,124 . Jede des Paares von Fehlerdetektor- und -korrektureinrichtung114 ,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 -korrektureinrichtungen114 ,116 erzeugt wurden, hier der Datenkorrektor122 der Einrichtung114 . Eine logische Schaltung128 , vorliegend eine XOR-Schaltungsanordnung ähnlich derjenigen, die oben im Zusammenhang mit5A 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ätsbitgenerator128 erzeugt wurden. Die 8 Paritätbits, die von dem Paritätsbitgenerator126 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 Schaltung110 erzeugt wurde, und das kombinierte Paritätsprüfbit von der logischen Schaltung128 denselben logischen Zustand haben. Eine logische Schaltung130 , vorliegend ein XOR-Gatter dient zur Feststellung, ob die von den Datenkorrektoren122 ,124 des Paares von Fehlerdetektor- und -korrektureinrichtungen114 ,116 erzeugten Daten dieselben sind. Sind sie unterschiedlich, so wird eine Syndrom-Fehleranzeige erzeugt. Diese Syndrom-Fehleranzeige zusammen mit dem Ausgang der XOR-Schaltung112 und dem CB-Fehlersignal werden zu einem ODER-Gate132 geführt, um ein Chip-Fehlersignal für die Unterbrechungsanforderungs-Steuereinrichtung58 (3 ) zu erzeugen. - Unterbrechungsanforderungs-Steuereinrichtung
58 - In
6 ist die Unterbrechungsanforderungs-Steuereinrichtung58 mehr ins Einzelne gehend gezeigt. Die Unterbrechungsanforderungs-Steuereinrichtung58 behandelt Unterbrechungseingänge und programmierbare Unterbrechungseingänge oder Ausgänge für allgemeine Zwecke. Vorliegend speisen die Unterbrechungsanforderungs-Steuereinrichtung58 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-Maske300 in der Unterbrechungsanforderungs-Steuereinrichtung58 reduziert. Es sei bemerkt, daß diese 4 Fatal-Anforderungen als Allgemeinzweckausgänge programmiert werden können. - Die Unterbrechungsanforderungs-Steuereinrichtung
58 enthält eine Unterbrechungs-Invertereinrichtung304 (7 ), die von dem einer ODER-Verknüpfung unterzogenen Ausgang von der Fatal-Maske300 und den vorliegend 31 weiteren Unterbrechungsanforderungen (IRQ) beaufschlagt wird; weiter durch einen Wächter IRQ, der durch einen Wächter-Zeitgeber301 erzeugt wird, der durch Wiederauffrisch-Impulse, Auswahlsignale und Daten von dem Wähler83 gespeist wird, weiter durch einen Anpass-IRQ, der von einer Anpasseinheit303 erzeugt wird, die durch Adressen, Daten und Auswahlsignale von dem Wähler83 gespeist wird, weiter durch einen Mikroprozessor-Schnittstellen-IRQ, der durch die Mikroprozessor-Schnittstelle52 (2 ) erzeugt wird; sowie durch achtundzwanzig Intp <27...0>-IRQ, die durch Eingänge der externen Anschlußstifte der Mikroprozessor-Schnittstelle52 hervor gebracht werden. Jede der 32 Unterbrechungsanforderungen werden an ein Unterbrechungs-Inverter-Register306 in dem Unterbrechungs-Inverter-Abschnitt304 gegeben, wobei ein Beispiel davon in7 gezeigt ist. Die Unterbrechungsanforderung IRQ wird an einem Eingang eines XOR-Gatter308 eingegeben und der andere Eingang wird mit dem Ausgang eines Inverter-Registers310 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 Register310 gespeichert. Wenn andererseits in dem Register306 keine Inversion stattfinden soll, so wird in dem Register310 eine logische 0 gespeichert. - Jedenfalls werden die 32 Ausgänge von dem Unterbrechungs-Inverter
204 an einen Unterbrechungsart-Register-Abschnitt312 gelegt. Im Einzelnen wird jedes Bit einem Unterbrechungsart-Register314 zugeführt, von denen eines beispielsweise in8 gezeigt ist. Das Unterbrechungsart-Register314 bestimmt, ob die Unterbrechungsanforderung IRQ an einer Flanke (Anstiegsflanke oder Abstiegsflanke) liegen soll oder als ein Niveau verbleiben soll. Im Einzelnen enthält das Register314 einen Multiplexer316 . Der Multiplexer316 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 Flankenlogik318 beaufschlagt wird. Die Flankenlogik318 enthält einen ODER-Gate320 . Ein Eingang zu dem ODER-Gate wird durch die Unterbrechungsanfoderung IRQ über ein UND-Gate319 und ein Register321 in der dargestellten Weise beaufschlagt, während der andere Eingang zu dem ODER-Gate320 durch ein Löschsignal in der dargestellten Weise über ein UND-Gate322 beaufschlagt wird. Der Ausgang des ODER-Gates wird einem Register330 zugeführt. Der Ausgang des Registers330 gelangt zum MB-Eingang des Multiplexers316 . Ein Register326 dient zur Erzeugung des Anschluß-Auswahlsignales für den Multiplexer316 . Wenn eine logische Ziffer 1 in dem Register326 gespeichert ist, so wird der Anschluß A mit dem Ausgang des Multiplexers316 gekoppelt, wodurch ein Pegel als Unterbrechungsanforderungs-Typ gewählt wird. Wenn andererseits eine logische Ziffer 1 in dem Register326 gespeichert ist, so wird der Ausgang der Flankenlogik318 mit dem Ausgang des Multiplexers316 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-Gate319 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 Register330 gespeichert. Die gespeicherte logische Ziffer 1 in dem Register330 wird dann zu dem nicht invertierenden Eingang des UND-Gates3222 zurückgespeist. Der Ausgang des UND-Gates322 gelangt in Abwesenheit eines Löschsignales von der Mikroprozessor-Schnittstelle52 (2 ) durch das ODER-Gate320 , 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 Registers330 erscheint (d. h. an dem B-Eingang des Wählers316 ). - Die Unterbrechungsanforderungen, welche von dem Unterbrechungsart-Register-Abschnitt
312 erzeugt werden, werden einem Gegenwärtig-Unterbrechungs-Register321 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-Maskeneinrichtung323 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-Registers323 an einem gegebenen Pegel teilnehmen. Jede Intx-Maske wird in einem ODER-Gate-Abschnitt327 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 Abschnitt329 aus, welche Unterbrechungsbits an dem Motorola 68k-Typ-Pegel teilnehmen. Jeder Pegel wird einer ODER-Reduzierung im Abschnitt331 unterzogen und an dem IPL-Pegel-/-Maskenregister333 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-/-Maskenregister333 und dem Gegenwärtig-ILP-Register335 gespeichert ist. - Der Mikrokode des Mikroprozessors
46 , hier des Leistungs-PC, kann die IPL-Pegel-/-Masken- und Gegenwärtig-IPL-Register333 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 Registers335 und darauffolgendes Re-Programmieren des IPL-Pegel-/- Maskenregisters333 kann die Mikroprozessor-Schnittstelle52 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 Schaltung400 zur Feststellung eines sogenannten harten Fehlers (d. h. ein Erdschluß-Fehler oder eine Verbindung zu einem festen, unveränderlichen Spannungspotential) auf einer bidirektionalen Datenleitung402 gezeigt. Die Schaltung400 enthält einen Eingangs-/Ausgangsanschluß304 , der mit einem Ende der bidirektionalen Leitung402 verbunden ist; einen Datenempfänger406 mit einem Eingang, der an ein zweites Ende der bidirektionalen Leitung402 angekoppelt ist, um Daten an dem Anschluß404 aufzunehmen; einen Datentreiber408 mit einem Ausgang, der an das zweite Ende der bidirektionalen Leitung402 angekoppelt ist, um Daten an dem Anschluß404 darzubieten; ein XOR-Gatter410 mit einem Paar von Eingängen, von denen einer an einen Ausgang des Datentreibers408 angekoppelt ist und der andere mit einem Eingang des Datenempfängers408 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 Datentreiber408 durch ein Signal EN wirksam geschaltet wird, und in Abhängigkeit von dem zu dem Eingang des Datentreibers408 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-Gatters410 . Der Ausgang des XOR-Gatters zeigt somit an, daß der Eingang zum Datentreiber408 von dem durch den Datenempfänger406 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 Datentreiber408 durch ein wirksamschaltendes Signal EN wirksam geschaltet wird und in Abhängigkeit von dem logischen Signal, das zu dem Eingang des Datentreibers408 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-Gatters410 führt. Der Ausgang des XOR-Gatters zeigt somit an, daß der Eingang zu dem Datentreiber408 von dem Ausgang, der durch den Datenempfänger406 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.
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
Claims (19)
- 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 (von50 ) 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. - 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. - System nach Anspruch 2, bei welchem eine Speichertype des Hauptspeichers (
48 ) der zentralen Prozessoreinheit (22 ) ein SDRAM-Speicher ist. - System nach Anspruch 2, bei welchem eine Speichertype des Hauptspeichers (
48 ) der zentralen Prozessoreinheit (22 ) ein RDRAM-Speicher ist. - 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. - 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 ). - 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. - System nach Anspruch 7, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
- System nach Anspruch 7, bei welchem eine Hauptspeicherart ein RDRAM-Speicher ist.
- 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. - System nach Anspruch 10, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
- System nach Anspruch 10, bei welchem eine Hauptspeicherart ein RDRAM-Speicher ist.
- 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. - System nach Anspruch 10, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
- System nach Anspruch 10, bei welchem eine Hauptspeicherart ein SDRAM-Speicher ist.
- 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. - System nach Anspruch 16, bei welchem der Mikroprozessor (
46 ) ein Leistungs-PC-Mikroprozessor ist. - 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. - System nach Anspruch 18, welches eine Maske zur Umformung der Adresse in eine Adresse im zweiten Abschnitt des Speichers enthält.
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)
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 |
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 |
US7010575B1 (en) * | 2000-03-31 | 2006-03-07 | Emc Corporation | Data storage system having separate data transfer section and message network having bus arbitration |
US6584513B1 (en) | 2000-03-31 | 2003-06-24 | Emc Corporation | Direct memory access (DMA) transmitter |
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 |
US6651130B1 (en) | 2000-04-28 | 2003-11-18 | Emc Corporation | Data storage system having separate data transfer section and message network with bus arbitration |
US6779071B1 (en) | 2000-04-28 | 2004-08-17 | Emc Corporation | Data storage system having separate data transfer section and message network with status register |
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 | 株式会社日立製作所 | ストレージシステム |
US7467238B2 (en) | 2004-02-10 | 2008-12-16 | Hitachi, Ltd. | Disk controller and storage system |
JP4405277B2 (ja) | 2004-02-16 | 2010-01-27 | 株式会社日立製作所 | ディスク制御装置 |
Citations (4)
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)
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 |
-
1999
- 1999-09-29 US US09/408,058 patent/US6581137B1/en not_active Expired - Lifetime
-
2000
- 2000-09-26 GB GB0023575A patent/GB2360377B/en not_active Expired - Lifetime
- 2000-09-29 JP JP2000336707A patent/JP3466558B2/ja not_active Expired - Fee Related
- 2000-09-29 DE DE10048402A patent/DE10048402B4/de not_active Expired - Lifetime
Patent Citations (4)
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 |
---|---|
GB2360377B (en) | 2003-10-29 |
GB2360377A (en) | 2001-09-19 |
GB0023575D0 (en) | 2000-11-08 |
DE10048402A1 (de) | 2001-04-12 |
US6581137B1 (en) | 2003-06-17 |
JP2001243020A (ja) | 2001-09-07 |
JP3466558B2 (ja) | 2003-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10048402B4 (de) | Datenspeichersystem | |
DE69627094T2 (de) | Speicherplattenanordnungs-Steuervorrichtung zur Durchführung von Exklusif-ODER-Operationen | |
DE69733076T2 (de) | Hochleistungsdatenweg mit sofortigem xor | |
DE69220134T2 (de) | Speichersteuerungssystem für eine Speicherplattenanordnung | |
DE69033476T2 (de) | Schutz von Datenredundanz und -rückgewinnung | |
DE69226606T2 (de) | Speicherschaltung mit zwei Betriebsarten | |
DE69817696T2 (de) | Warmaustausch von gespiegeltem Nachschreib-Cachespeicher | |
DE69615611T2 (de) | Externes Speichersystem mit redundanten Speichersteuerungen | |
DE3855031T2 (de) | Kopiesystem mit "Hot-standby"-Speicher | |
DE69230299T2 (de) | Speicherplattenanordnungsteuerungsvorrichtung für eine Datenspeicherungsanordnung | |
DE3881786T2 (de) | Identifizierung von Datenspeicherungseinrichtungen. | |
DE69117371T2 (de) | Hintergrund-Plattenoberflächenanalyse durch eine Steuerung für intelligente Speicherplattenanordnung ausgeführt | |
DE69221045T2 (de) | Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen | |
DE102006002526A1 (de) | Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben | |
DE69930307T2 (de) | Datenspeichersystem | |
DE102004004796B4 (de) | Vorrichtung zur Datenübertragung zwischen Speichern | |
DE102018123817A1 (de) | Vorrichtung für den direkten hostzugriff auf den speicherort einer speichervorrichtung | |
DE3650092T2 (de) | E/a-steuerung mit zwei funktionen. | |
DE102011014588A1 (de) | Multicasting-Schreibanforderungen an Mehrfachspeicher-Controller | |
DE69230211T2 (de) | Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem | |
EP1817658A2 (de) | Speichersystem mit sektorbuffern | |
DE4423949A1 (de) | E/A-Hilfssystem und Exklusiv-Steuerverfahren, Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem | |
DE69624191T2 (de) | Atomisches Aktualisieren von EDC-geschützten Daten | |
DE112007000688B4 (de) | Fehlerverwaltungstopologien | |
DE112011105326T5 (de) | Speichermodul, umfassend eine Kopierroutine zum Kopieren von Daten aus einen aktiven Speicherwürfel in einen Reservespeicherwürfel |
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 |