DE69016978T2 - Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem. - Google Patents

Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem.

Info

Publication number
DE69016978T2
DE69016978T2 DE69016978T DE69016978T DE69016978T2 DE 69016978 T2 DE69016978 T2 DE 69016978T2 DE 69016978 T DE69016978 T DE 69016978T DE 69016978 T DE69016978 T DE 69016978T DE 69016978 T2 DE69016978 T2 DE 69016978T2
Authority
DE
Germany
Prior art keywords
adapter
mass storage
host
processor
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69016978T
Other languages
English (en)
Other versions
DE69016978D1 (de
Inventor
Daniel Carteau
Philippe Schreck
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.)
Bull SAS
Original Assignee
Bull SAS
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 Bull SAS filed Critical Bull SAS
Application granted granted Critical
Publication of DE69016978D1 publication Critical patent/DE69016978D1/de
Publication of DE69016978T2 publication Critical patent/DE69016978T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

  • Die Erfindung betrifft ein gesichertes Datenschnelleseverfahren für wenigstens eine Massenspeichereinrichtung, die einem Informationssystem angehört, das wenigstens ein zentrales Hostsystem enthält. Sie ist insbesondere für das Einschreiben von Daten in eine Batterie von Drehplattenspeichern anwendbar.
  • Man weiß, daß ein Informationssystem aus einer Zentraleinheit, die man auch zentrales Hostsystem nennt und die aus wenigstens einem Zentralprozessor und einem Hauptspeicher gebildet ist, mit dem dieser Prozessor verbunden ist, aus unterschiedlichen peripheren Einrichtungen und aus einem Eingangs/Ausgangs-Prozessor besteht, der die Steuerung des Datenaustausches zwischen dem Speicher und seinen verschiedenen Einrichtungen sicherstellt.
  • Periphere Steuereinheiten, auch als Controller bezeichnet, sind verschiedenen peripheren Einrichtungen zugeordnet, und sie gewährleisten die physische Übertragung der Daten zwischen der zentralen Hosteinheit und den diesen verschiedenen Controllern zugeordneten peripheren Einrichtungen.
  • Allgemein sind alle Funktionsbestandteile eines Informationssystems mit einem gleichen Bus vom parallelen Typ verbunden, der die Übertragung der Daten zwischen den verschiedenen Karten sicherstellt, die diese Elemente und deren elektrische Stromversorgung tragen.
  • Einer der am häufigsten verwendeten Busse dieses Typs ist der als Multibus II (von der Gesellschaft INTEL hinterlegte Marke) bezeichnete Bus. Seine Architektur ist um einen Hauptbus vom parallelen Typ strukturiert, der entsprechend der Norm IEEE 1296 (Institute of Electrical and Electronic Engineers) genormt ist.
  • Unter den peripheren Einrichtungen seien die Massenspeicher wie die rotierenden Magnetplattenspeicher genannt. Diese werden in der Informatik in großem Umfang benutzt, da sie es ermöglichen, sehr große Datenmengen zu speichern und darauf relativ schnell zuzugreifen. Ihre mittlere Zugriffszeit liegt in der Größenordnung von 20 bis 25 Millisekunden. Die Kapazitäten der auf dem Markt erhältlichen leistungsstärksten Plattenspeicher überschreiten das Gigaoktett.
  • Wünscht das zentrale Hostsystem, daß Daten in einen gegebenen Plattenspeicher eingeschrieben werden, so stellt sich das folgende Problem: der Zentralspeicher des Busses des Hostsystems weist eine viel geringere Kapazität (einige Megaoktette) als der Drehplattenspeicher auf, und zwar wegen der Kosten, des Volumens und der einfachen Jobverarbeitung dieses Hostsystems. Demgegenüber ist die Zeit eines Zugriffs zu den in dem Zentralspeicher enthaltenen Daten sehr schwach, wobei sie in der Größenordnung von ein- bis zweihundert Nanosekunden liegt.
  • Wünscht das Hostsystem ein Einschreiben der Informationen auf eine Platte eines Plattenspeichers, so müssen die entsprechenden Daten folglich in seinem zentralen Speicher aufbewahrt werden, solange das Einschreiben in die betrachtete Platte nicht vollständig erfolgt ist. Dies bringt den Vorteil mit sich, daß die Sicherheit der Daten gewährleistet ist; dagegen ist ein Teil des zentralen Speichers des Hostsystems während durchschnittlich etwa 20 bis 25 Millisekunden nicht verfügbar, was angesichts der Schnelligkeit der derzeitigen Prozessoren beträchtlich und demzufolge kostspielig ist.
  • Um diesen Nachteil zu beheben, ordnet man zwischen dem Hostsystem und dem oder den Plattenspeichern einen Zwischenspeicher an, wie dies anhand von Fig. 1A zu sehen ist, die auf schematische Weise die in dem französischen Patent 2 486 291 vom 4. Juli 1980 beschriebene Lösung zeigt. Der Zwischenspeicher MI ist zwischen dem Hostsystem H und einem Plattenspeicher MD angeordnet.
  • Der Zwischenspeicher MI enthält eine erste Schnittstellenschaltung 11 mit dem Hostsystem H, eine zweite Schnittstellenschaltung 12 mit dem Plattenspeicher MD und eine Befehlseinrichtung DC zur Steuerung des Zwischenspeichers, die einerseits an die beiden Schnittstellenschaltungen 11 und 12 und andererseits an einen Pufferspeicher MT angeschlossen ist.
  • Wünscht das zentrale Hostsystem H, daß Informationen in den Plattenspeicher MD eingeschrieben werden, so werden diese unter der Steuerung der Befehlseinrichtung DC über die erste Schnittstellenschaltung 11 und die Befehlseinrichtung selbst in den Pufferspeicher MT übertragen, wo sie gespeichert werden. Dort warten sie darauf, unter der Führung der Befehlseinrichtung DC über die Schnittstellenschaltung 12 in den Plattenspeicher MD übertragen zu werden, sofern die Speicherstellen auf einer seiner Drehplatten verfügbar sind. Sobald die Gesamtheit der Informationen, die das zentrale Hostsystem H in den Plattenspeicher MD einzuschreiben wünscht, in den Pufferspeicher MT übertragen wurden, kann das Hostsystem die Speicherstellen seines zentralen Speichers, die durch die Übertragung der Informationen verfügbar geworden sind, dem Einschreiben anderer Informationen zuweisen. Es versteht sich, daß ab dem Zeitpunkt, zu dem die Daten in den Zwischenspeicher MI übertragen worden sind, seine Befehlseinrichtung DC das Einschreiben der in Frage stehenden Informationen in den Plattenspeicher MD korrekt zu Ende führt.
  • Der wesentliche Nachteil der in Fig. 1A gezeigten Vorrichtung mit Zwischenspeicher MI ist der folgende: ist der Zwischenspeicher MI aus irgendeinem Grund fehlerhaft (Ausfall irgendeiner der den Zwischenspeicher MI bildenden Schaltungen, Ausfall deren Versorgung, Wartungsoperation), so sind die dort eingeschriebenen Daten verloren. Die Operation des Einschreibens der Informationen in den Plattenspeicher MD erfolgt damit nicht völlig gesichert. Um diesen Nachteil zu beheben, wird gemäß der derzeit geläufigen Praxis eine Einrichtung verwendet, die durch die in Fig. 1B gezeigte vorgegeben ist, die einem Massenspeicheruntersystem 3390 der Gesellschaft IBM entspricht.
  • Diese Einrichtung enthält zwischen dem Hostsystem H und einer Batterie von Plattenspeichern D&sub1; bis D&sub5; einen Cachespeicher MC großer Kapazität (einige zehn Megaoktette) und einen nicht flüchtigen Speicher MNV, der einer Hilfsversorgung durch eine Batterie zugeordnet ist, wobei der Cachespeicher und der nicht flüchtige Speicher mit einem gleichen internen Bus BI verbunden sind, an den auch der Controller CNT der Plattenspeicher D&sub1; bis D&sub5; angeschlossen ist.
  • Wünscht das Hostsystem H, daß gegebene Informationen in irgendeinen der Plattenspeicher D&sub1; bis D&sub5; eingeschrieben werden, so schreibt man zunächst die Informationen in den Cachespeicher MC und in den nicht flüchtigen Speicher MNV, wobei die Informationen daraufhin auf die in Frage stehende Platte geschrieben werden, indem Informationen in dem Cachespeicher aufgesucht werden.
  • Der wesentliche Nachteil der in Fig. 1B gezeigten Einrichtung besteht in der Verwendung eines Cachespeichers, für den der Einheitspreis des Megaoktetts ein Zehnfaches größer als der Einheitspreis des Megaoktetts bei den Platten ist. Überdies ist auch der nicht flüchtige Speicher sehr teuer, und aus diesem Grund wird er auf dem Markt nur für die umfangreicheren Einrichtungen angeboten.
  • Durch die Erfindung können diese Nachteile behoben werden, indem mit ihr ein gesichertes Datenschnelleseverfahren für eine Massenspeichereinrichtung vorgeschlagen wird, das relativ einfach und wesentlich billiger als die Verfahren ist, die in den Systemen des Standes der Technik benützt werden.
  • Die Erfindung schafft ein gesichertes Schnelleseverfahren gemäß dem Anspruch 1.
  • Dieses gesicherte Datenschnelleseverfahren für wenigstens eine Massenspeichereinrichtung, die einem Informationssystem mit wenigstens einem zentralen Hostsystem und zwei Steuereinheiten mit getrennter elektrischer Versorgung und mit wenigstens einem ersten bzw. einem zweiten zentralen Prozessor angehört, die mit einem ersten und einem zweiten Bus vom parallelen Typ verbunden sind, ist dadurch gekennzeichnet, daß bei mit jedem der beiden Busse durch wenigstens einen ersten Hostadapter, der der ersten Steuereinheit angehört und einen ersten Hostpufferspeicher enthält, verbundenem Hostsystem und bei mit jedem der beiden Busse durch einen ersten und einen zweiten Massenspeicheradapter, der der ersten bzw. der zweiten Steuereinheit angehört, verbundenem Massenspeicher, wobei die beiden Massenspeicheradapter einen ersten bzw. einen zweiten, den Massenspeichern zugeordneten Puffer enthalten, der als Pufferspeicher bezeichnet wird, die folgenden aufeinanderfolgenden Operationen ausgeführt werden:
  • I - Man speichert den Datenblock, den das Hostsystem schreiben will, in den ersten Hostpufferspeicher und dann in den ersten Pufferspeicher durch einen Dialog zwischen dem Hostsystem und dem Hostadapter einerseits und dem ersten Hostadapter und dem ersten Massenspeicheradapter andererseits ein,
  • II - der erste Massenspeicheradapter fordert die Reservierung des Massenspeichers für ein dortiges Einschreiben des zuvor genannten Blockes an,
  • III - sobald dessen Reservierung erhalten wird, informiert der erste Massenspeicheradapter darüber den Hostadapter, der nun ein Bestätigungssignal an das zentrale Hostsystem sendet,
  • IV - die Operation des Einschreibens des Blockes in seiner Gesamtheit erfolgt in den Massenspeicher, unter der Führung des ersten Massenspeicheradapters in allen Fällen seines einwandfreien Betriebs, und durch den zweiten Massenspeicheradapter in dem Fall, daß der erste fehlerhaft ist.
  • Somit verwendet das erfindungsgemäße Verfahren die Pufferspeicher der Hostadapter und Massenspeicheradapter, d. h. Pufferspeicher, die außerhalb des Bereichs ihrer normalen Verwendung für das erfindungsgemäße Verfahren vorhanden sind. Sie sind in allen Fällen nämlich in den Hostadaptern und Massenspeicheradaptern vorgesehen, welches die Schnittstellenschaltungen sind, die normalerweise dazu verwendet werden, das zentrale Hostsystem und die Massenspeicher mit den Bussen vom Typ Multibus II zu verbinden.
  • Mit dem erfindungsgemäßen Verfahren kann somit auf die Verwendung zusätzlicher besonderer Karten verzichtet werden, wie sie beispielsweise für die Vorrichtung der Fig. 1b vorgesehen ist.
  • Die Massenspeichereinrichtung, bei der das erfindungsgemäße Verfahren benützt wird, ist ein intelligentes, redundantes Untersystem, da es durch zwei untereinander verbundene Controller gebildet ist und allein ein solches kostengünstiges Schnellschreibverfahren vorgeben kann, durch das das Einschreiben der Daten in die Massenspeicher vollständig gesichert werden kann, welches auch immer die Unterbrechungen oder Funktionsstörungen sein mögen, die die Vorrichtung insgesamt oder teilweise beeinträchtigen.
  • Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung, die lediglich beispielhaft ist und nicht im einschränkenden Sinne zu verstehen ist, wobei auf die beigefügte Zeichnung Bezug genommen wird.
  • In der Zeichnung zeigen:
  • Figur 1, die aus den Figuren 1a und 1b zusammengesetzt ist, Massenspeichereinrichtungen, bei denen Schreibverfahren für Massenspeicher gemäß dem Stand der Technik verwendet werden,
  • Figur 2 - das Schema eines ersten Ausführungsbeispiels einer Massenspeichervorrichtung, bei dem das Schreibverfahren gemäß der Erfindung durchgeführt wird.
  • Figur 3 - das Schema eines zweiten Ausführungsbeispiels einer Massenspeichereinrichtung, bei der das Schreibverfahren gemäß der Erfindung verwendet wird.
  • Fi1ur 4 - ein detailliertes Aufbauschema der Hostadapter und Massenspeicheradapter, die zu der erfindungsgemäßen Massenspeichereinrichtung gehören,
  • Figur 5, die aus den Figuren 5a und 5b zusammengesetzt ist, das Schema der wesentlichen Bestandteile eines elektronischen Massenspeichers und des Zentralprozessors, die zur ersten bzw. zur zweiten Steuereinheit der Massenspeichereinrichtung gemäß der Erfindung gehören, wobei Figur 5b zeigt, wie die Informationen geschrieben werden, sowohl im Inneren eines elektronischen Massenspeichers als auch im Inneren eines Drehplattenmassenspeichers,
  • Figur 6 - das Flußdiagramm des Dialoges zwischen dem Hostadapter und dem Massenspeicheradapter, der die Durchführung des erfindungsgemäßen Schreibverfahrens ermöglicht.
  • Es wird zunächst die Figur 2 betrachtet. Diese zeigt die erste Ausführungsform DMM&sub1; der Massenspeichereinrichtung, bei der das erfindungsgemäße schnelle, gesicherte Schreibverfahren benutzt wird.
  • Diese Vorrichtung DMM&sub1; kann als ein Untermassenspeichersystem angesehen werden, das einem umfassenderen Informationssystem angehört, dessen Zentralteil z.B. zwei Hostsysteme H&sub1; und H&sub2; enthält.
  • Die Vorrichtung DMM&sub1; enthält vorzugsweise zwei identische Steuereinheiten, nämlich UC&sub1;, die den linken Teil der Figur 2 einnimmt und UC&sub2;, die den rechten Teil einnimmt.
  • Die Architektur der Einrichtung DMM&sub1; ist um zwei identische, zueinander parallele Busse vorzugsweise vom Typ Multibus II aufgebaut, die mit B&sub1; und B&sub2; bezeichnet sind.
  • Es ist zu sehen, daß die beiden Busse eine zentrale Zone aufweisen, wo sie einander vollständig gegenüberliegen und zwei seitliche Zonen, wo sie einander nicht gegenüberliegen. Die beiden Steuereinheiten UC&sub1; und UC&sub2; sind genau identisch und bezüglich einer Symmetrieebene PS zueinander symmetrisch.
  • Die erste Steuereinheit UC&sub1; wird von einer ersten Speisequelle ALIM&sub1; mit elektrischer Energie versorgt, und sie ist an eine erste elektrische Energie liefernde Hilfsspeisequelle angeschlossen, die durch eine Batterie gebildet ist, nämlich durch BAT&sub1;.
  • In gleicher Weise ist die zweite Steuereinheit UC&sub2; durch eine zweite Speisequelle ALIM&sub2; versorgt, die von der ersten unabhängig ist und an eine zweite Hilfsspeisequelle BAT&sub2; angeschlossen.
  • Die erste Steuereinheit UC&sub1; enthält:
  • - einen ersten zentralen Prozessor PR&sub1;,
  • - eine erste Schnittstellenkarte DEI&sub1;,
  • - einen Hostadapter HA&sub1;, der einen ersten Pufferspeicher enthält, der als Hostpufferspeicher bezeichnet wird, nämlich MTH&sub1;,
  • - einen Massenspeicheradapter (Plattenspeicher D&sub1; bis D&sub5;) nämlich DA&sub1;, der einen ersten Pufferspeicher enthält, der der Einfachheit halber auch als Speicherpuffer bezeichnet wird, nämlich als MTD&sub1;, wobei dieser Adapter hier der Einfachheit halber als Plattenadapter bezeichnet wird.
  • - den Sicherungsplattenspeicher MSD&sub1;.
  • In gleicher Weise enthält die zweite Steuereinheit UC&sub2; den zweiten Zentralprozessor PR&sub2;, die zweite Schnittstellenkarte DEI&sub2;, den Hostadapter HA&sub2;, der den zweiten Hostpufferspeicher MTH&sub2; enthält, den zweiten Plattendapater DA&sub2;, der den zweiten Pufferspeicher MTD&sub2;, enthält und den zweiten Sicherungsplattenspeicher MSD&sub2;.
  • Der erste und der zweite Plattenadapter DA&sub1; und DA&sub2; sind über Verbindungen CS&sub1; bzw. CS&sub3; an eine Batterie von Plattenspeichern angeschlossen, von denen in Figur 2 nur 5 dargestellt sind, nämlich die Plattenspeicher D&sub1; bis D&sub5;. Der erste und der zweite Plattenadapter DA&sub1; und DA&sub2; können auch über Verbindungen CS&sub2; und CS&sub3; an eine zweite Batterie von Plattenspeichern D&sub6; bis D&sub1;&sub0; angeschlossen sein, die zur Vereinfachung der Figur 2 nicht dargestellt sind.
  • Die Verbindungen CS&sub1; bis CS&sub4; sind Verbindungen vom Typ IPI- 2, die durch das ANSI (American National Standard Institute) und auch durch die ISO (International Standard Organization) genormt sind.
  • Der erste Hostadapter HA&sub1; ist über einen ersten Verbindungskanal CE&sub1; mit einer ersten Hosteinheit H&sub1; und über einen zweiten Verbindungskanal CE&sub2; mit einer zweiten Hosteinheit H&sub2; verbunden.
  • In gleicher Weise ist der zweite Hostadapter HA&sub2; über einen ersten Verbindungskanal CE&sub3; mit der zweiten Hosteinheit H&sub2; und über einen zweiten Verbindungskanal CE&sub4; mit der ersten Hosteinheit H&sub1; verbunden.
  • Die ersten Verbindungskanäle CE&sub1; und CE&sub3; des ersten und des zweiten Hostadapters HA&sub1; und HA&sub2; sind den zweiten Verbindungskanälen CE&sub2; und CE&sub4; übergeordnet.
  • Die vier Verbindungskanäle CE&sub1; bis CE&sub4; sind vom Typ IPI-3 und durch das ANSI (und auch durch die ISO) genormt.
  • Die Bestandteile der ersten Steuereinheit, nämlich PR1, DEI&sub1;, HA&sub1;, DA&sub1;, MSD&sub1; sind identisch und symmetrisch zu den entsprechenden Elementen der zweiten Steuereinheit UC&sub2;, nämlich PR&sub2;, DEI&sub2;, HA&sub2; DA&sub2;, MSD&sub2;.
  • Die vier Bestandteile DEI&sub1;, PR&sub1;, PR&sub2;, DEI&sub2; sind gleichzeitig an zwei Busse B&sub1; und B&sub2; angeschlossen, die sich in ihrem zentralen Teil gegenüberliegen.
  • Die Bestandteile HA&sub1; und DA&sub1; der ersten Steuereinheit UC&sub1; sind mit dem ersten Bus B&sub1; verbunden, während die entsprechenden Elemente HA&sub2; und DA&sub2; der zweiten Steuereinheit UC&sub2; mit dem zweiten Bus B&sub2; verbunden sind.
  • Der erste Sicherungsplattenspeicher MSD&sub1; ist einerseits mit dem ersten Zentralprozessor und andererseits mit der zweiten Schnittstellenkarte DEI&sub2; verbunden.
  • In gleicher Weise ist der zweite Sicherungsplattenspeicher MSD&sub2; gleichzeitig mit dem zweiten Zentralprozessor PR&sub2; und der zweiten Schnittstellenkarte DEI&sub1; verbunden. Somit sind die beiden Sicherungsplattenspeicher MSD&sub1; und MSD&sub2; zugleich über die erste und über die zweite Steuereinheit UC&sub1; und UC&sub2; zugänglich.
  • In Figur 2 (und auch in Figur 3) ist die Massenspeichereinrichtung DMM&sub1; (DMM&sub2; in Figur 3) mit zwei Batterien von jeweils fünf Plattenspeichern dargestellt. Es versteht sich jedoch, daß die Massenspeichereinrichtung auch eine kleinere Anzahl oder, häufiger, eine größere Anzahl von Plattenspeichern enthalten kann, wobei diese Anzahl mehrere Zehn und sogar einen Wert von etwas mehr als Einhundert erreichen kann.
  • Das zweite Ausführungsbeispiel der erfindungsgemäßen Massenspeichereinrichtung, nämlich DMM&sub2;, wie in Figur 3 gezeigt, ist im großen und ganzen mit dem ersten, in Figur 2 gezeigten Ausführungsbeispiel DMM&sub1; identisch, bis auf den Unterschied, daß die beiden Busse B&sub1; und B&sub2; einander vollständig gegenüber liegen und daß der erste und der zweite Hostadapter HA&sub1; und HA&sub2; gleichzeitig mit diesen beiden Bussen verbunden sind, während von den zweiten Massenspeicheradaptern DA&sub1; und DA&sub2; der eine mit dem Bus B&sub1; und der andere mit dem Bus B&sub2; verbunden ist. Die Folgen dieses geringen Unterschiedes im Aufbau ergeben sich deutlicher aus der folgenden Beschreibung bezüglich der Funktionsweise dieser erfindungsgemäßen Massenspeichereinrichtungen.
  • Die beiden Zentralprozessoren PR&sub1; und PR&sub2; sind die Haupteinheiten der unterschiedlichen, der Steuereinheit UC&sub1; bzw. der Steuereinheit UC&sub2; zugehörigen Elemente. Sie laden die Durchführungsprogramme der unterschiedlichen Elemente, die in diesen Steuereinheiten enthalten sind, in diese, damit diese letzteren die Funktionen erfüllen können, die ihnen übertragen wurden. Die Prozessoren PR&sub1; und PR&sub2; suchen diese Programme auf, die z.B. in den Sicherungsdrehplattenspeichern MSD&sub1; und MSD&sub2; gespeichert sind. In diesem Fall besitzen diese letzteren eine doppelte Funktion, nämlich einerseits die Sicherung der Informationen, die noch nicht gespeichert sind und noch in die Drehplattenspeicher D&sub1; bis D&sub5; zu schreiben sind, im Falle irgendeiner Panne, die dazu führt, daß DA&sub1; und DA&sub2; nicht verfügbar sind, und andererseits die Speicherung der vorgenannten Ausführungsprogramme.
  • Indessen können diese letzteren in einem besonderen Plattenspeicher gespeichert werden, der als Systemplattenspeicher bezeichnet wird und sowohl mit dem Prozessor PR&sub1; als auch mit dem Prozessor PR&sub2; verbunden ist.
  • Der detailliertere Aufbau der Hostadapter HA&sub1;, HA&sub2; und der Plattenadapter DA&sub1; und DA&sub2; ergibt sich aus Figur 4.
  • Der erste Hostadapter HA&sub1; enthält:
  • - eine Schnittstelle IH&sub1; einer Verbindung mit den beiden Hostsystemen H&sub1; und H&sub2; über die Verbindungskanäle CE&sub1; und CE&sub2;, wobei diese Verbindungsschnittstelle durch die zuvor genannte Norm IPI-3 definiert ist,
  • - den Hostpufferspeicher, zur Vereinfachung auch als Hostpuffer MTH&sub1; bezeichnet,
  • - den Mikroprozessor MPH&sub1;,
  • - die Schnittstelle IBH&sub1; eines Anschlusses an den Multibus II, B&sub1;, wobei diese Schnittstelle durch die zuvor genannte Norm IEEE 1296 definiert ist und z.B. durch einen Koprozessor vom Typ VL 82c389 (hergestellt von der Gesellschaft INTEL) gebildet ist, der über einen Nachrichtenmodus mit den anderen Funktionsbestandteilen der erfindungsgemäßen Massenspeichereinrichtung DMM&sub1; kommuniziert.
  • In gleicher Weise enthält der zweite Hostadapter HA&sub2; die Schnittstelle IH&sub2; einer Verbindung mit den beiden Hostsystemen H&sub1; und H&sub2; über die beiden Kanäle CE&sub3; und CE&sub4;, den zweiten Hostpufferspeicher MTH&sub2;, den Mikroprozessor MPH&sub2; und die Schnittstelle eines Anschlusses IBH&sub2; an den Multibus II, B&sub2;. Es versteht sich, daß die äquivalenten Bestandteile des ersten Hostadapters HA&sub1; und des zweiten Hostadapters HA&sub2; analoge Funktionen erfüllen.
  • Die jeweiligen Bestandteile des ersten und des zweiten Hostadapters kommunizieren untereinander über die internen Busse BH&sub1; und BH&sub2; der Mikroprozessoren MPH&sub1; und MPH&sub2;.
  • Der Aufbau des ersten und des zweiten Plattenadapters DA&sub1; und DA&sub2; ist gleich dem Aufbau der Hostadapter.
  • Somit enthält der erste Adapter DA&sub1; eine Schnittstelle IBD&sub1; eines Anschlusses an den Bus B&sub1;, der durch die zuvor genannte Norm IEEE 1296 definiert ist, einen Pufferspeicher für die Plattenspeicher, der einfach auch als Speicherpuffer bezeichnet werden kann, nämlich MTD&sub1;, den Mikroprozessor MPD1 und schließlich die Schnittstelle ID&sub1; einer Verbindung mit den Plattenspeichern D&sub1; bis D&sub5; und D&sub6; bis D&sub1;&sub0; über die Verbindungskanäle vom Typ IPI-2, CS&sub1; und CS&sub2; (wobei diese Schnittstellen durch die zuvor genannte Norm IPI-2 definiert sind).
  • In gleicher Weise enthält der zweite Scheibenadapter DA&sub2; die Schnittstelle IBD&sub2; eines Anschlusses an den Bus B&sub2;, die durch die zuvor genannte Norm IEEE 1296 definiert ist, den Hostpufferspeicher MTD&sub2;, den Mikroprozessor MPD&sub2; und die Schnittstelle ID&sub2; einer Verbindung mit den beiden Batterien von Plattenspeichern D&sub1; bis D&sub5; und D&sub6; bis D&sub1;&sub0; über die Verbindungskanäle CS&sub3; und CS&sub4;.
  • Die unterschiedlichen Bestandteile der Plattenadapter DA&sub1; und DA&sub2; kommunizieren untereinander über die internen Busse BD&sub1; und BD&sub2; der Mikroprozessoren MPD&sub1; und MPD&sub2;.
  • Das erfindungsgemäße Schreibverfahren, das bei der in den Figuren 2 bis 4 gezeigten Massenspeichereinrichtung DMM&sub1; benutzt wird, ergibt sich in groben Zügen aus dem folgenden:
  • I - Wünscht z.B. das Hostsystem H&sub1; einen Datenblock in irgendeinen der Plattenspeicher der Batterie D&sub1; bis D&sub5; einzuschreiben, so speichert man diesen zu schreibenden Datenblock in dem ersten Hostpufferspeicher MTH&sub1;, dann in dem ersten Pufferspeicher MTD&sub1; durch einen aufeinanderfolgenden Dialog zwischen dem Hostsystem H&sub1; und dem Hostadapter HA&sub1; unter der Führung, hinsichtlich dieses letzteren, des Mikroprozessors MPH&sub1; einerseits, und zwischen dem Hostadapter HA&sub1; und dem Plattenadapter DA&sub1;, unter der Führung der Mikroprozessoren MPH&sub1; bzw. MPD&sub1;, andererseits.
  • Genauer führt man zur Verwirklichung dieser Operation I die drei folgenden Unteroperationen aus:
  • 1. Das Hostsystem H&sub1; sendet eine Schreibanforderung für einen Datenblock an den Hostadapter (z.B. über den Kanal CE&sub1;),
  • 2. der Hostadapter HA&sub1; verlangt von dem Hostsystem H&sub1; die Übertragung des zu schreibenden Datenblockes,
  • 3. dieser Block wird als Ganzes an erster Stelle in dem Hostpufferspeicher MPH&sub1;, dann auch in dem Pufferspeicher MTD&sub1; gespeichert (wobei der zu schreibende Datenblock über den internen Bus BA&sub1;, die Schnittstelle IBH&sub1;, den Bus Multibus II P&sub1;, die Schnittstelle IBD&sub1; und den internen Bus BD&sub1; übertragen wird).
  • II - Der Plattenadapter DA&sub1; unter der Führung des Mikroprozessors MPD&sub1; fordert die Reservierung des Plattenspeichers D&sub1; bis D&sub5; an, der durch das Hostsystem H&sub1; adressiert wird (dieser letztere gibt in seiner Schreibanforderung an, welcher Plattenspeicher adressiert ist, das heißt, den Plattenspeicher, wo der Datenblock zu schreiben ist), um dort den zuvor genannten Block zu schreiben.
  • III- Sobald diese Reservierung im Einklang mit dem adressierten Plattenspeicher erhalten wurde, informiert der Plattenadapter (der Mikroprozessor MPD&sub1;) darüber den Hostadapter HA&sub1; (den Mikroprozessor MPH&sub1;), der nun ein Bestätigungssignal an das Hostsystem H&sub1; sendet. Dieses letztere kann damit andere Operationen ausführen, während der Plattenadapter DA&sub1; noch nicht die Operation eines Einschreibens des zuvor genannten Datenblockes in den betrachteten Plattenspeicher organisiert hat.
  • IV - Die Schreiboperation für den Block wird unter der Steuerung des Mikroprozessors MPD&sub1; ausgeführt.
  • Das Programm eines Dialoges zwischen dem Hostadapter HA&sub1; und dem Hostsystem H&sub1; wird bei der Initialisierung der Massenspeichereinrichtung DMM&sub1; durch den Zentralprozessor PR&sub1; in den Mikroprozessor MPH&sub1; geladen (oder vielmehr in den diesem zugeordneten Speicher, der zur Vereinfachung der Figur 4 nicht dargestellt ist). In gleicher Weise wird das Programm eines Dialoges zwischen den Hostadaptern und den Plattenadaptern durch den Zentralprozessor PR&sub1; in die Mikroprozessoren MPH&sub1; und MPD&sub1; geladen. Was das Programm eines Einschreibens der Datenblöcke in irgendeinen der Plattenspeicher D&sub1; bis D&sub5; (oder D&sub6; bis D&sub1;&sub0;) betrifft, so wird dieses letztere stets bei der Initialisierung der Massenspeichereinrichtung durch den Zentralprozessor PR&sub1; in den Mikroprozessor MPD&sub1; geladen.
  • Es versteht sich, daß das, was soeben für das erfindungsgemäße Schreibverfahren bezüglich des Hostadapters und des ersten Plattenadapters beschrieben wurde, in gleicher Weise auch für den zweiten Hostadapter und den zweiten Plattenadapter HA&sub2; bzw. DA&sub2; gilt.
  • Am Ende der Operation III war festzustellen, daß das Hostsystem nach dem Empfang eines Bestätigungssignales von seiten des Adapters HA&sub1; meint, daß die Schreiboperation für den Datenblock in den adressierten Plattenspeicher erfolgt sei, während dies tatsächlich nicht der Fall ist. Die Massenspeichereinrichtung DMM&sub1; ist daher nach dem Abschluß dieser Operation III dafür verantwortlich, diese Schreiboperation für den Datenblock gut bis zum Ende zu führen, welcher Art auch immer die Funktionsstörungen sein mögen, die auftreten können, ob es sich nun um einen Fehler der Hostadapter HA&sub1; oder HA&sub2;, der Plattenadapter DA&sub1; und DA&sub2;, der beiden Steuereinheiten UC&sub1; und UC&sub2;, sei es getrennt oder gleichzeitig, oder des einen oder des anderen der beiden Busse handeln mag. Es ist nun gerade ein wesentliches Ziel des erfindungsgemäßen Schreibverfahrens, das Einschreiben des Datenblockes als Ganzes in den adressierten Plattenspeicher vollständig sicher durchzuführen, welches auch immer die oben genannten Umstände sein mögen. Aus diesem Grund wird das erfindungsgemäße Verfahren als gesichertes Schnellschreibverfahren bezeichnet. Die verschiedenen Fälle eines Fehlers oder von Betriebsstörungen der erfindungsgemäßen Massenspeichereinrichtung, die ab dem Ende der Operation III auftreten, werden zusammen mit den Folgen, die diese für das Schnellschreibverfahren mit sich bringen, weiter unten beschrieben.
  • Treten bei dem Hostadapter HA&sub1; Fehler auf, so wird der Plattenadapter DA&sub1; nicht gestört. Er hat stets die Daten in seinem Pufferspeicher MTD&sub1; zu seiner Verfügung und er führt die Schreiboperation aus oder er beendet diese Schreiboperation, zu welchem Zeitpunkt auch immer HA&sub1; fehlerhaft werden mag.
  • Treten bei dem Plattenadapter DA&sub1; Fehler auf, so wird der zu schreibende Datenblock von dem ersten Hostadapter HA&sub1; über B&sub1; und PR&sub1; in den zweiten Plattenadapter gesendet (es sei daran erinnert, daß der erste Hostadapter HA&sub1; in seinem eigenen Hostpufferspeicher MTH&sub1; den ganzen zu schreibenden Datenblock enthält. Der zweite Plattenadapter DA&sub2; führt nun anstelle des ersten Plattenadapters die Operationen II, III, IV aus, wobei der Plattenadapter DA&sub2; mit dem ersten Zentralprozessor PR&sub1; über den Bus B&sub2; für die Operationen II und III in einen Dialog eintritt.
  • Ist die Netzversorgung ausgefallen, so sind die beiden Speisequellen ALIM&sub1; und ALIM&sub2; außer Betrieb. Jede Steuereinheit UC&sub1; und UC&sub2; besitzt ihre eigene Schutzbatterie BAT&sub1;, BAT&sub2;, wobei der Hauptprozessor PR&sub1;, nachdem er die Netzspannungsunterbrechung festgestellt hat, die Übertragung des in dem Pufferspeicher MPD&sub1; enthaltenen Datenblockes in den Sicherungsspeicher MSD&sub1; organisiert. Er organisiert auch die Übertragung sämtlicher für die wirksame Ausführung der Schreiboperation erforderlicher Angaben (Schreibprogramm, das in dem Speicheradapter DA&sub1; enthalten war) auf eine der Drehplatten des Sicherungsplattenspeichers MSD&sub1;. Sind die Operationen einer Sicherung auf diesem letzteren beendet, so fordert der Hauptprozessor PR&sub1; das Abschalten der Batterie BAT&sub1; an. Es versteht sich, daß Operationen, analog zu denen, die von dem Prozessor PR&sub1; ausgeführt werden, auch von dem Prozessor PR&sub2; ausgeführt werden.
  • Liegt die Netzversorgung wieder vor, so wird dies von dem Hauptprozessor PR&sub1; erfaßt, der die Steuereinheit UC&sub1; wieder in den Zustand versetzt, in den sie sich vor der Unterbrechung befand, indem er die erforderlichen Informationen aufsucht, die in dein Sicherungsplattenspeicher MSD&sub1; gesichert wurden. Nun wird der zu lösende Datenblock von neuem in den Pufferspeicher MTD&sub1; gesendet, wobei das Schreibprogramm von neuem in den Mikroprozessor MPD&sub1; geschrieben wird. Der erste Prozessor benachrichtigt das zentrale Hostsystem von diesem Wiedereinsetzen in den Zustand vor der Spannungsunterbrechung, und man kann von neuem mit den zuvor genannten Operationen II, III, IV fortfahren. Es ist festzustellen, daß der zu schreibende Datenblock von neuem in seiner Gesamtheit an der Stelle in den Plattenspeicher eingeschrieben wird, die hierzu reserviert wurde (spezifiziert durch H&sub1; in seiner Schreibanforderung), selbst wenn ein Teil dieses Blockes zuvor vor der Unterbrechnung der Netzversorgung in diesen eingeschrieben wurde.
  • Es ist auch festzustellen, daß es im Fall eines Fehlers des Hauptprozessors PR&sub1; möglich ist, von der anderen Steuereinheit aus über die Schnittstellenkarte DEI&sub2; auf den Sicherungsplattenspeicher MSD&sub1; zuzugreifen, sowohl für Sicherungsoperationen als auch für Operationen einer Neuinitialisierung des Kontextes, wobei, im Fall einer Netzunterbrechung die Operationen nun unter der Steuerung des zweiten Hauptprozessors PR&sub2; erfolgen.
  • Ist PR&sub1; fehlerhaft, so wird in gleicher Weise jegliche vom Hostadapter und dem Plattenadapter HA&sub1; und DA&sub1; ausgeführte Schreiboperation in Verbindung mit dem Hauptprozessor PR&sub2; ausgeführt.
  • Tritt bei dem Multibus II B&sub1; eine Störung auf, so führt der Plattenadapter DA&sub1;, der stets den zu schreibenden Block gespeichert hält (im MTD&sub1;), seinen Schreibbetrieb normal aus.
  • Der Aufbau der in Figur 3 gezeigten erfindungsgemäßen Speichereinrichtung DMM&sub2; ermöglicht nicht nur die Behebung der weiter oben genannten Funktionsstörungen (Hostadapter, Speicheradapter, Hauptprozessor, Unterbrechnung der Versorgung der beiden Steuereinheiten, Störung des Busses B&sub1; und/oder B&sub2;), sondern auch das Beheben der folgenden Störung, nämlich einer Störung der einen oder anderen Steuereinheit während des Ablaufs des erfindungsgemäßen Schreibverfahrens, wobei angenommen wird, daß die Informationen in den Hostpufferspeichern und den Zwischenspeichern gespeichert waren.
  • Wie in Figur 3 zu sehen ist, wird nach einem Einschreiben des zu schreibenden Datenblockes in den Hostpufferspeicher MTH&sub1; dieser gleiche zu schreibende Datenblock zu dem Plattenadapter DA&sub2; übertragen, wo er in den Pufferspeicher MTD&sub2; eingeschrieben wird, wobei die Informationen von dem ersten Hostadapter HA&sub1; über den Bus B&sub2; zu dem zweiten Plattenadapter DA&sub2; übertragen werden, und dies, ob UC&sub1; funktioniert oder nicht. Nachdem somit der Datenblock in den Pufferspeicher des Plattenadapters DA&sub2; übertragen ist, führt dieser die Schreiboperation in Verbindung mit dem Hauptprozessor PR&sub2; und dem Hostadapter HA&sub1; richtig zu Ende, ob nun UC&sub1; funktioniert oder fehlerhaft ist.
  • Es wird jetzt Figur 6 betrachtet, die den Dialog zwischen dem Hostadapter HA&sub1; und dem Plattenadapter DA&sub1; darstellt, wenn man einen Datenblock in einen der Plattenspeicher D&sub1; bis D&sub5; (D&sub6; bis D&sub1;&sub0;) schreiben will.
  • Dieser Dialog enthält die folgenden 8 Schritte:
  • 1) Schritt E&sub1; : Der Hostadapter empfängt die Schreibanforderung von seiten des Hostsystems in Form einer Befehlsnachricht CMD, die in einem Befehlsstapel gesendet wird, der z.B. in dem Lese/Schreib-Speicher des Mikroprozessors MPH&sub1; vorgesehen ist. Dieser letztere dekodiert im Inneren dieser Befehlsnachricht die Adresse des Plattenspeichers, in den der Datenblock einzuschreiben ist. Dieser Plattenspeicher wird der Einfachheit halber als Systemelement bezeichnet. Sobald der Mikroprozessor MPH&sub1; die Adresse des Systemelementes adressiert hat, bildet er eine Befehlsnachricht MSG, die zu dem Mikroprozessor des Plattenadapters DA&sub1; gesendet wird. Es wird nun zu dem folgenden Schritt übergegangen.
  • 2) Schritt E&sub2; : Diese mit MSG CMD bezeichnete Befehlsnachricht wird mit dem Mikroprozessor MPD&sub1; dekodiert, der die Gültigkeit dieser Nachricht überprüft und von dem Hauptprozessor PR&sub1; die Reservierung des Systemelementes anfordert. Er weist nun eine Seite (oder mehrere) des Pufferspeichers MTD&sub1; zu, um dort schließlich den Datenblock zu empfangen.
  • Sobald der Hauptprozessor PR&sub1; dein Plattenadapters die Reservierung des zuvor genannten Systemelementes meldet, sendet der Mikroprozessor MPD&sub1; an den Hostadapter HA&sub1; eine Nachricht, mit der Antwort, daß dieser letztere ihm die Informationen schickt, das heißt, den zu schreibenden Datenblock. Es wird nun zu dem nächsten Schritt übergegangen.
  • 3) Schritt E&sub3; : Der Mikroprozessor MPH&sub1; weist nun eine Seite des Hostpufferspeichers MTH&sub1; zu und meldet dem Hostsystem H&sub1;, daß er die Übertragung des Datenblockes in die Seite des zuvor genannten Hostpufferspeichers erwartet. Er sendet nun eine Anforderung einer Reservierung des Pufferspeichers MTD&sub1; an den Plattenadapter DA&sub1;, der an den Hostadapter eine Nachricht zurückschickt, die anzeigt, daß der Pufferspeicher MTD&sub1; zugeteilt ist. Es geht nun weiter mit dem folgenden Schritt:
  • 4) Schritt E&sub4; : Der Hostadapter überträgt den Block der zu schreibenden Daten in den Pufferspeicher des Plattenadapters, wobei der zu schreibende Datenblock auf alle Fälle auch in dem Hostpufferspeicher gespeichert bleibt. Nach dem Ende dieser Übertragung geht man zu der folgenden Operation über.
  • 5) Operation E&sub5; : Der Mikroprozessor MPD&sub1; bildet eine Antwortnachricht, die angibt, daß die Übertragung des gesamten zu schreibenden Datenblockes normal durchgeführt wurde. Diese Antwortnachricht wird an den Mikroprozessor MPH&sub1; des Hostadapters übertragen. Nach dem Empfang dieser Nachricht geht man zu der folgenden Operation über.
  • 6) Operation E&sub6; : Der Mikroprozessor MPH&sub1; sendet nun eine Nachricht an das Hostsystem H&sub1;, die angibt, daß die Übertragung des zu schreibenden Datenblockes in den Hostpufferspeicher und den Pufferspeicher erfolgt ist. Das Hostsystem geht nun davon aus, daß der zu schreibende Datenblock in das betrachtete Systemelement eingeschrieben wurde, während dieses Einschreiben tatsächlich noch nicht erfolgt ist.
  • Für das Hostsystem H&sub1; ist festzustellen, daß die Zeit für einen Zugriff auf den reservierten Plattenspeicher somit maskiert ist und es kann von neuem in seinem zentralen Speicher die Zone verwenden, die es ausdrücklich für den zu schreibenden Block reserviert hatte. Es wird nun zu der folgenden Operation übergegangen:
  • 7) Operation E&sub7; Unter der Führung des Mikroprozessors MPD&sub1; wird der zu schreibende Datenblock in eine der Drehplatten des betreffenden Systemelementes geschrieben. Hierzu zerschneidet das von dem Mikroprozessor benutzte Schreibprogramm den zu schreibenden Datenblock in Sektoren, die alle die gleiche Länge besitzen, wie dies derzeit bei den Plattenspeichern mit sogenanntem Festformat üblich ist und wie dies in Figur 5B angegeben ist. Die Daten sind in Sektoren Si, Sj, Sk aufgeteilt, die eine gleiche Anzahl von Oktetten (z.B. 512) enthalten. In jedem Sektor Sj findet man in der zu schreibenden Folge eine Präambel HIj (in Englisch, Header), einen Datenblock DOj und eine Postambel ICj. Der Satz von Informationen eines Sektors wird auf allen oder einem Teil einer oder mehrerer Spuren (wenn der zu schreibende Block hinreichend lang ist) einer der Drehscheiben des Systemelementes aufgezeichnet. Die Präambel enthält die Informationen einer physischen Lokalisierung des Sektors Sj auf der betrachteten Spur der Magnetplatte, und die Präambel Informationen einer Überprüfung der Vollständigkeit der Daten, um zu überprüfen, ob alle aufgezeichneten Oktette des Sektors Sj korrekt sind. Diese Schreiborganisation der Informationen durch Sektoren und deren Aufteilung im Inneren der Sektoren ist vollständig bekannt und wird gewöhnlich in den herkömmlichen Plattenspeichern verwendet. Ist das Einschreiben des Datenblockes in die Platte des betrachteten Systemelementes beendet, so wird dieses von dem Mikroprozessor MPD1 freigegeben, ebenso wie der Pufferspeicher MTD1. Der fragliche Mikroprozessor sendet nun eine Freigabenachricht an den Adapter HA1. Es wird nun zu dem letzten Schritt übergegangen.
  • 8) Schritt E&sub8; : Der Mikroprozessor MPH&sub1; gibt seinen Hostpufferspeicher MTH&sub1; frei.
  • Es wird nun Figur 5A betrachtet.
  • Bei einer besonders bevorzugten Ausführungsform der Erfindung ist jede der Schnittstellen DEI&sub1; und DEI&sub2; durch einen elektronischen Speicher gebildet, der vom Fachmann gewöhnlich auch als elektronische Platte oder Platine bezeichnet wird.
  • Die elektronische Platine DEI&sub1; enthält eine Befehlseinheit EC&sub1; und eine Speicherebene PM.
  • Die Befehlseinheit EC&sub1; ist über eine Verbindung L&sub1; mit dem Sicherungsplattenspeicher MSD&sub1; verbunden, der über eine Verbindung L&sub2; an den Hauptprozessor PR&sub2; angeschlossen ist.
  • Die Befehlseinheit EC&sub1; enthält insbesondere eine Schnittstelle IB&sub1; für einen Datenaustausch mit dem Bus B&sub1;, eine Schnittstelle IB&sub2; für einen Datenaustausch mit dem Bus B&sub2;, einen Befehlsmikroprozessor MPE und den diesem Mikroprozessor M&sub1; zugeordneten Speicher, sowie eine Schnittstelle IF&sub1; mit der Verbindung L&sub1;. Diese verschiedenen Elemente tauschen gegenseitig Informationen über den internen Bus BI&sub1; der Befehlseinheit EC&sub1; aus.
  • Die Speicherebene PM ist z. B. aus zwei Speicherebenen P&sub1; und P&sub2; zusammengesetzt. Die Speicherebene P&sub1; enthält z. B. eine Mehrzahl von Säulen von Speichern RAM, nämlich die Säulen IR&sub1;, ..., IRj, ..., IRn. Ebenso enthält die Speicherebene P&sub2; eine Mehrzahl von Säulen von Halbleiterspeichern RAM, nämlich 2R&sub1;, ..., 2Rj, . .., 2Rn.
  • Die Informationen (Daten oder Adressen, bei denen diese Daten im Inneren der Speicher RAM lokalisiert sind), die von der Speicherebene P&sub1; stammen oder zu dieser führen, werden über einen Bus BDA&sub1; übertragen, während die Informationen, die zwischen den beiden Speicherebenen P&sub1; und P&sub2; zirkulieren, über einen Bus BDA&sub2; identisch zu dem Bus BDA&sub1; übertragen werden. Jeder dieser beiden Busse setzt sich nämlich aus einem Datenbus und einem Adressenbus zusammen. Im Inneren der Speicherebenen P&sub1; und P&sub2; ist jeder der beiden Busse BDA&sub1; und BDA&sub2; in eine hinreichende Anzahl von Zweigen unterteilt, um die Einheit der Säulen einer jeden dieser beiden Ebenen zu versorgen.
  • Der Zentralprozessor PR&sub2; (der Zentralprozessor PR&sub1; besitzt einen vollkommen identischen Aufbau) enthält zwei Schnittstellen für einen Datenaustausch mit dem Bus B&sub1; bzw. dem Bus B&sub2;, nämlich IB&sub3; und IB&sub4;, einen Kommunikationsbus BI&sub2;, einen Zentralmikroprozessor MPC, den diesen Mikroprozessor M&sub2; zugeordneten Speicher und schließlich eine Schnittstelle IF&sub2; mit der Verbindung L&sub2;.
  • Die Schnittstellen IB&sub1;, IB&sub2;, IB&sub3;, IB&sub4; sind vom gleichen Typ wie die Schnittstellen IBH&sub1;, IBH&sub2;, IBD&sub1;, IBD&sub2; (siehe weiter oben).
  • Die Schnitten IF&sub1; und IF&sub2; sind normierte Schnittstellen IPI-2. Wünscht man Informationen in die elektronische Platine DEI&sub1; einzuschreiben, so werden diese über einen der beiden Busse B&sub1; oder B&sub2; übertragen, und sie laufen durch die Schnittstelle IB&sub1; (IB&sub2;), bevor sie zu dem dem Mikroprozessor MPB zugeordneten Speicher M&sub1; übertragen werden. Dieser schreibt die Informationen in Abhängigkeit von den verfügbaren Stellen in der einen wie in der anderen der Speicherebenen P&sub1; und P&sub2; in diese ein. Für mehrere Details über die Betriebsweise der Einheit der elektronischen Platine DEI&sub1; wird zweckmäßigerweise auf die französische Patentanmeldung Nr. 89.15914 der Anmelderin vom 1. Dezember 1989 verwiesen.
  • Das erfindungsgemäße Schnellschreibverfahren ist auch bei dem elektronischen Speicher DEI&sub1; anwendbar. Der zu schreibende Datenblock wird auf die gleiche Weise wie bei den Drehplattenspeichern in Sektoren Si, Sj, Sk aufgeteilt, die die gleiche Anzahl von Oktetten enthalten, wobei die Einheit von Informationen eines Sektors in die Speicherstellen eingeschrieben wird, deren Adressen z. B. einer Einheit folgen. Bei einer bevorzugten Ausführungsform der Erfindung werden die Daten in einem Format von 39 Bits geschrieben, nämlich 32 Nutzbits aufgeteilt in vier Oktette zuzüglich 7 Fehlerkorrekturbits, die als ECC (Error Corrector Code) bezeichnet werden, wobei dieser Fehlerkorrekturmodus herkömmlicherweise bei den dynamischen RAM-Speichern verwendet wird.
  • Zur Verwendung des erf indungsgemäßen schnellen Schreibverfahrens bei einer elektronischen Platine wie DEI&sub1; genügt es, bei allen Erläuterungen, wie sie oben erfolgt sind, den Plattenadapter DA&sub1; durch die Befehlseinheit EC&sub1; zu ersetzen, wobei dem Mikroprozessor MPE die gleiche Funktion zukommt wie dem Mikroprozessor MPD&sub1; und der Speicherebene PM die gleiche Funktion zukommt wie dem Hostpufferspeicher MTD&sub1; des Hostadapters. Sind die Daten einmal in die Speicherebene eingeschrieben (also sind sie auch in den Hostpufferspeicher MTH&sub1; eingeschrieben), so wird zur maskierten Zeit der Sicherungsplattenspeicher MSD&sub1; auf den neuesten Stand gebracht (es ist festzustellen, daß dieser bei dem schnellen Schreibverfahren die Funktion übernimmt, die dem Systemelement bei dem oben beschriebenen Schnellschreibverfahren bei seiner Anwendung auf die Plattenspeicher zukam).
  • Es ist festzustellen, daß das Verfahren zum schnellen Schreiben und Sichern der Daten auf identische Weise anwendbar ist, ob es sich nun um solche herkömmliche Plattenspeicher wie D&sub1; bis D&sub5; oder um solche elektronischen Platinen wie DEI&sub1; oder DEI&sub2; handelt.
  • Die erfindungsgemäße Massenspeichereinrichtung schafft somit auch ein Schnellschreibverfahren, das eine vollständige Sicherung der Daten gewährleistet, da die Daten, die dort eingeschrieben sind, vollständig gegenüber verschiedenen Betriebsstörungen (siehe weiter oben), die auftreten können, geschützt sind.

Claims (10)

1. Gesichertes Datenschnelleseverfahren für wenigstens eine Massenspeichereinrichtung (DMM&sub1;), die einem Informationssystem mit wenigstens einem zentralen Hostsystem (H&sub1;, H&sub2;) und zwei Steuereinheiten (UC&sub1;, UC&sub2;) angehört, die mit einem ersten und einem zweiten Bus (B&sub1;, B&sub2;) vom parallelen Typ verbunden sind,
dadurch gekennzeichnet, daß bei mit jedem der Busse durch wenigstens einen ersten Hostadapter (HA&sub1;, HA&sub2;), der einer ersten der Steuereinheiten (UC&sub1;, UC&sub2;) angehört, verbundenem, wenigstens einem zentralen Hostsystem (H&sub1;, H&sub2;) und bei mit jedem der Busse jeweils durch einen ersten und einen zweiten Massenspeicheradapter (DA&sub1;, DA&sub2;), der der ersten bzw. der zweiten der Steuereinheiten angehört, verbundenem Massenspeicher (D&sub1; bis D&sub5;), folgendes vorgesehen ist:
I) man speichert den zu schreibenden Datenblock in dem wenigstens einen ersten Hostadapter (HA&sub1;), dann in dem ersten Speicheradapter (DA&sub1;) durch einen Dialog zwischen dem wenigstens einen zentralen Hostsystem (H&sub1;, H&sub2;) und dem wenigstens einen ersten Hostadapter (HA&sub1;) einerseits und zwischen dem wenigstens einen ersten Hostadapter und dem ersten Massenspeicheradapter andererseits,
II) der erste Massenspeicheradapter (DA&sub1;) fordert die Reservierung des Massenspeichers (D&sub1; bis D&sub5;, D&sub6; bis D&sub1;&sub0;) im Hinblick auf ein dortiges Einschreiben des zuvor genannten Blockes an,
III) sobald die Reservierung erhalten wurde, informiert der erste Massenspeicheradapter (DA&sub1;) darüber den wenigstens einen Hostadapter (HA&sub1;), der nun ein Bestätigungssignal an das wenigstens eine zentrale Hostsystem (H&sub1;, H&sub2;) sendet,
IV) die Operation des Einschreibens des Blockes in seiner Gesamtheit erfolgt in den Massenspeicher, unter der Führung des ersten Massenspeicheradapters (DA&sub1;) in allen Fällen seines einwandfreien Betriebs, oder unter der Führung des zweiten Massenspeicheradapters (DA&sub2;), wenn der erste fehlerhaft ist.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der erste Schritt I die nachstehenden aufeinanderfolgenden Schritte enthält:
1) das wenigstens eine zentrale Hostsystem (H&sub1;, H&sub2;) sendet eine Schreibanforderung an den wenigstens einen ersten Hostadapter (HA&sub1;)
2) dieser letztere fordert von dem wenigstens einen zentralen Hostsystem die Übertragung des zu schreibenden Datenblockes an,
3) der Block wird insgesamt an erster Stelle in einem dem wenigstens einen ersten Hostadapter (HA&sub1;) zugehörigen ersten Hostpufferspeicher (MTH&sub1;) gespeichert, dann auch in einem dem ersten Speicheradapter (DA&sub1;) zugehörigen ersten Pufferspeicher (MTD&sub1;).
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß dann, wenn der erste Massenspeicheradapter (DA&sub1;) nach der Operation III fehlerhaft ist,
a) der Datenblock auch durch den wenigstens einen Hostadapter (HA&sub1;) in den zweiten Massenspeicheradapter (DA&sub2;) gesendet wird, und
b) dieser letztere nun anstelle des ersten Massenspeicheradapters die Operationen II, III und IV bewirkt.
4. Verfahren nach einem der Ansprüche 1, 2 und 3, dadurch gekennzeichnet, daß dann, wenn die erste Steuereinheit (UC&sub1;) einen ersten Steuerprozessor (PR&sub1;) und wenigstens einen Sicherungsdrehplattenspeicher (MSD&sub1;) enthält, der über die Busse (B&sub1;, B&sub2;) einerseits mit dem zentralen Prozessor (PR&sub1;) dieser Einheit und andererseits mit einer Schnittstellenkarte (DEI&sub2;) verbunden ist, die zu der zweiten Steuereinheit (UC&sub2;) gehört, diese letztere einen zweiten Steuerprozessor (PR&sub2;) und wenigstens einen zweiten Sicherungsdrehplattenspeicher (MSD&sub2;) enthält, der über die Busse einerseits mit dem zentralen Prozessor (PR&sub2;) der zweiten Einheit und andererseits mit einer Schnittstellenkarte (DEI&sub1;) verbunden ist, die zu der ersten Steuereinheit gehört, die Steuereinheiten getrennt versorgt werden, jede Steuereinheit ihre eigene Schutzbatterie (BAT&sub1;, BAT&sub2;) besitzt und während der Operation IV die Netzversorgung unterbrochen oder fehlerhaft wird, die folgenden Operationen durchgeführt werden:
der erste zentrale Prozessor (PR&sub1;) entnimmt den zu schreibenden, in dem ersten Pufferspeicher (MTD&sub1;) enthaltenen Datenblock und überträgt ihn vollständig in den wenigstens einen ersten Sicherungsplattenspeicher (MSD&sub1;),
VI) der erste Prozessor (PR&sub1;) schaltet dann die Schutzbatterie (BAT&sub1;) der Steuereinheit (UC&sub1;) ab, zu der er gehört.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß, sobald die Netzversorgung wieder einen normalen Zustand angenommen hat,
VII) von neuem die erste und die zweite Steuereinheit (UC&sub1;, UC&sub2;) initialisiert werden,
VIII) der erste Prozessor (PR&sub1;) das wenigstens eine zentrale Hostsystem (H&sub1;, H&sub2;) benachrichtigt und den Block von zu schreibenden, in dem Sicherungsplattenspeicher (MSD&sub1;) enthaltenen Daten in den ersten Hostpufferspeicher (MTH&sub1;) und in den ersten Pufferspeicher (MTD&sub1;) überträgt, und
IX) die Operationen II, III und IV erneut aufgenommen werden.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß bei fehlerhaftem erstem oder fehlerhaftem zweitem Prozessor (PR&sub1;, PR&sub2;) die Operationen V und VI von dem zweiten bzw. dem ersten Prozessor (PR&sub2;, PR&sub1;) ausgeführt werden.
7. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß bei fehlerhaftem erstem oder bei fehlerhaftem zweitem Prozessor (PR&sub1;, PR&sub2;) die Operationen VII, VIII, IX von dem zweiten bzw. dem ersten Prozessor (PR&sub2;, PR&sub1;) ausgeführt werden.
8. Verfahren nach einem der Ansprüche 1, 2, dadurch gekennzeichnet, daß dann, wenn der eine oder der andere der Busse während der Operation IV fehlerhaft ist, diese letztere unter der Führung des ersten Massenspeicheradapters (DA&sub1;) weiter normal ausgeführt wird.
9. Verfahren nach einem der Ansprüche 1, 2, 4 und 5, dadurch gekennzeichnet, daß in dem Fall, daß der wenigstens eine erste Hostadapter gleichzeitig mit den Bussen (B&sub1;, B&sub2;) verbunden ist und von den ersten und zweiten Speicheradaptern (DA&sub1;, DA&sub2;) der eine mit einem ersten (B&sub1;) der Busse und der andere mit dem zweiten (B&sub2;) der Busse verbunden ist, der zweite Massenspeicheradapter anstelle des ersten die Operationen I bis IV und V bis IX ausführt.
10. Informationssystem, dadurch gekennzeichnet, daß es die Massenspeichereinrichtung (DMM&sub1;, DMM&sub2;) enthält, bei dem das gesicherte Schnelleseverfahren gemäß einem der Ansprüche 1 kbis 9 benutzt wird.
DE69016978T 1989-12-22 1990-12-14 Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem. Expired - Fee Related DE69016978T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8917111A FR2656441B1 (fr) 1989-12-22 1989-12-22 Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.

Publications (2)

Publication Number Publication Date
DE69016978D1 DE69016978D1 (de) 1995-03-23
DE69016978T2 true DE69016978T2 (de) 1995-06-22

Family

ID=9388908

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69016978T Expired - Fee Related DE69016978T2 (de) 1989-12-22 1990-12-14 Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem.

Country Status (5)

Country Link
US (1) US5283879A (de)
EP (1) EP0434532B1 (de)
JP (1) JP2628793B2 (de)
DE (1) DE69016978T2 (de)
FR (1) FR2656441B1 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
EP0551009B1 (de) * 1992-01-08 2001-06-13 Emc Corporation Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
EP0559488B1 (de) * 1992-03-06 1998-08-19 Data General Corporation Datenbehandlung in einem System mit einem Prozessor zur Steuerung des Zugangs zu einer Mehrzahl von Datenspeicherplatten
AU653670B2 (en) * 1992-03-10 1994-10-06 Data General Corporation Improvements for high availability disk arrays
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
US5325363A (en) * 1992-05-11 1994-06-28 Tandem Computers Incorporated Fault tolerant power supply for an array of storage devices
EP0582370B1 (de) * 1992-06-05 1998-10-07 Compaq Computer Corporation Plattenantriebsteuergerät mit Nachschreibcachespeicher
US5426774A (en) * 1993-04-06 1995-06-20 Honeywell Inc. Method for maintaining a sequence of events function during failover in a redundant multiple layer system
JP3264465B2 (ja) * 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
JPH086854A (ja) * 1993-12-23 1996-01-12 Unisys Corp アウトボードファイルキャッシュ外部処理コンプレックス
US5751964A (en) * 1995-09-12 1998-05-12 International Business Machines Corporation System and method for automatic determination of thresholds in network management
US5708771A (en) * 1995-11-21 1998-01-13 Emc Corporation Fault tolerant controller system and method
US7116764B1 (en) * 2000-08-11 2006-10-03 Unisys Corporation Network interface unit having an embedded services processor
US20060020720A1 (en) * 2004-07-23 2006-01-26 Lsi Logic Corporation Multi-controller IO shipping
JP2008225916A (ja) * 2007-03-13 2008-09-25 Fujitsu Ltd データバックアップ時の電力低減装置
US8249413B1 (en) * 2007-07-31 2012-08-21 Verint Systems Inc. Video recording failover

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3964056A (en) * 1974-04-08 1976-06-15 International Standard Electric Corporation System for transferring data between central units and controlled units
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
FR2486291A1 (fr) * 1980-07-04 1982-01-08 Copernique Systeme memoire intercalaire entre calculateur et memoire auxiliaire
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
JPS59158464A (ja) * 1983-02-28 1984-09-07 Hitachi Ltd デイスクキヤツシユ制御方式
JPS59180768A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd デイスクキヤツシユ制御方式
JPS60207943A (ja) * 1984-03-27 1985-10-19 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 階層記憶システムにおける1次記憶の内容の保護方法
JPS60256854A (ja) * 1984-06-01 1985-12-18 Hitachi Ltd 並列転送型記憶装置
CA1242809A (en) * 1985-12-20 1988-10-04 Mitel Corporation Data storage system
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
JP2567922B2 (ja) * 1988-08-30 1996-12-25 株式会社日立製作所 パス制御方式
JP2776841B2 (ja) * 1988-09-28 1998-07-16 株式会社日立製作所 ディスク制御装置におけるディスクアクセス制御方法
JPH0291749A (ja) * 1988-09-29 1990-03-30 Toshiba Corp 不揮発型半導体メモリ装置
FR2649224B1 (fr) * 1989-06-30 1995-09-01 Nec Corp Systeme de traitement de l'information capable de prendre facilement en charge le traitement d'un processeur defaillant
US5036455A (en) * 1989-07-25 1991-07-30 Tandem Computers Incorporated Multiple power supply sensor for protecting shared processor buses
US5088021A (en) * 1989-09-07 1992-02-11 Honeywell, Inc. Apparatus and method for guaranteed data store in redundant controllers of a process control system
US5163052A (en) * 1989-10-12 1992-11-10 Ncr Corporation High reliability computer diagnostics system
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system

Also Published As

Publication number Publication date
US5283879A (en) 1994-02-01
FR2656441B1 (fr) 1993-12-10
JP2628793B2 (ja) 1997-07-09
DE69016978D1 (de) 1995-03-23
EP0434532B1 (de) 1995-02-15
JPH04211849A (ja) 1992-08-03
EP0434532A1 (de) 1991-06-26
FR2656441A1 (fr) 1991-06-28

Similar Documents

Publication Publication Date Title
DE69016978T2 (de) Sicheres Datenschnellschreibverfahren für Massenspeichereinrichtung und ein dieses Verfahren ausführendes Computersystem.
DE3881786T2 (de) Identifizierung von Datenspeicherungseinrichtungen.
DE68913629T2 (de) Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem.
DE69632424T2 (de) Server für kontinuierliche Daten und Datentransferschema für mehrfache gleichzeitige Datenzugriffe
DE69724846T2 (de) Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE69636663T2 (de) System und Verfahren zur Zugriffsverteilung von Mehrfachspeichermatrixen zwischen Mehrfachwirtrechnersystemen
EP0057756B1 (de) Anordnung zum Datenaustausch in parallel arbeitenden Multi-Mikrorechnersystemen
DE69418984T2 (de) Speicherplattenanordnung mit auf einer Vielzahl von Leiterplatten verteilten Speicherplatten, die bei einer Entfernung eines Teils der Leiterplatten zugänglich bleiben
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
EP0254247A2 (de) Einrichtung zur Rettung des Rechnerzustandes
DE3127349A1 (de) Signalverarbeitungssystem mit verteilten elementen
DE69330924T2 (de) Plattennetzwerk programmierbares Steuerungsgerät
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE4423949A1 (de) E/A-Hilfssystem und Exklusiv-Steuerverfahren, Datenspeicherverfahren und Speicherinitialisierungsverfahren in einem E/A-Hilfssystem
DE69021192T2 (de) Peripheres Massenspeichersubsystem.
DE19815263A1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE4140800A1 (de) Verfahren zur loesung eines linearen gleichungssystems auf einem parallelcomputer
DE4429969A1 (de) Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür
DE112019005408T5 (de) Masterloses raid für byte-adressierbaren nichtflüchtigen speicher
DE69029815T2 (de) Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung
DE3911721C2 (de)
EP0739509B1 (de) Anordnung mit master- und slave-einheiten
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
DE2539929A1 (de) Rechnersystem mit busstruktur

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee