Datenverarbeitungsanordnung mit Speicheranordnung
-
Die vorliegende Erfindung bezieht sich auf
Datenverarbeitungsanordnungen mit Speicheranordnungen, die eine Einrichtung zur
Vermeidung von Datenverlust enthalten. Diese Vermeidung
erfolgt insbesondere durch Bereitstellung eines
Sicherheitsspeichermittels mit einer externen Stromquelle.
-
Cache-Speicher arbeiten entsprechend den hohen
Geschwindigkeiten moderner Prozessoren mit hohen Geschwindigkeiten und
bilden eine Schnittstelle mit größeren aber langsameren
Hauptspeichern oder Systemspeichern. Cache-Speicher bestehen
normalerweise aus Halbleiterfeldern, die ihren Inhalt verlieren,
sobald kein Strom mehr anliegt, das heißt, diese Speicher sind
flüchtig. Systemspeicher wie beispielsweise ein DASD-Speicher
(direct access storage device) sind nicht-flüchtig, das heißt,
sie behalten ihren Dateninhalt auch dann, wenn die Stromzufuhr
unterbrochen wird; der Zugriff auf die Daten ist jedoch erst
wieder möglich, wenn die Stromzufuhr wiederhergestellt ist.
-
Einige Cache-Speicher sind so ausgelegt, daß jeder
Schreibvorgang auf den Cache ebenfalls in den Systemspeicher übertragen
wird. Der Systemspeicher ist dadurch stets auf dem aktuellen
Stand und enthält die Daten, falls der Cache-Speicher
ausfällt. Ein weiterer Typ eines Cache-Speichers speichert
Datenblöcke, die, beispielsweise in einem Burst-Modus, in den
Systemspeicher geschrieben werden. Tritt ein Stromausfall ein,
bevor ein Datenblock in den Systemspeicher übertragen wird,
gehen die Daten verloren.
-
Nichtflüchtige Speicher (NVS) können dazu verwendet werden,
die Datenintegrität aufrechtzuerhalten, indem für den Fall
eines Stromausfalls Reservebatterien zur Verfügung stehen.
Aufgrund wirtschaftlicher Erwägungen schließen die Kosten für
einen solchen nichtflüchtigen Speicher im Regelfall eine
Implementierung in einem Maße, wie sie für einen nützlichen
Einsatz in Anwendungen mit hohem Datenaufkommen erforderlich
wäre, aus. Daneben gibt es auch technische Unterschiede
zwischen Cache-Speichern und nichtflüchtigen Speichern. Cache-
Speicher, beispielsweise, verwenden normalerweise DRAMS
(Dynamic Random Access Memories), die eine regelmäßige
Auffrischung der gespeicherten Daten erfordern. Nichtflüchtige
Speicher, hingegen, werden normalerweise in SRAM (Static Random
Access Memory) implementiert, um die Erfordernis der
Auffrischung von DRAMS auszuschalten. Die Schnittstellen
unterscheiden sich ebenfalls.
-
Die Implementierung von Cache-Speichern, die auch unter
unzuverlässigen Stromversorgungsbedingungen verlässlich sind,
brachte Maßnahmen hervor, die allerdings nicht in jeder
Anwendung geeignet sind.
-
Das US-Patent 4,849,978 beschreibt eine Mehrzahl an
Speichereinheiten mit einer einzigen Sicherungsspeichereinheit. Die
Sicherungsspeichereinheit enthält die Prüfsumme aller in den
anderen Speichereinheiten gespeicherten Daten, so daß für den
Fall eines Ausfalls einer der anderen Speichereinheiten ihre
Dateninhalte aus den in den verbleibenden anderen
Speichereinheiten enthaltenen Daten und der in der Sicherungseinheit
enthaltenen Prüfsumme rekonstruiert werden können.
-
Das US-Patent 4,399,524 beschreibt einen Speicher mit
beliebigem Zugriff, der an der Hauptstromversorgungsleitung zum
Speiclier mit einer zusätzlichen Batterie und einem Detektor
ausgestattet ist, der im Fall eines Absinkens der
Hauptspannungszufuhr unter einen vorbestimmten Schwellenwert den Prozessor vom
Speicher abklemmt, um Strom zu sparen.
-
Das US-Patent 4,603,406 beschreibt zwei Speicher, die je mit
einer zusätzlichen Stromquelle versehen sind und ein Signal
liefern, das den Ausfall des Batteriesystems anzeigt.
Inkorrekte Sicherungszustände werden nur dann als erfolgreich
aufgelöst, wenn sich der sendende Speicher in einem
erfolgreichen Sicherungsstatus befindet und der empfangende Speicher im
selben Status ist wie der sendende Speicher. Das US-Patent
4,627,000 beschreibt ein elektrisches Meßinstrument mit einem
nichtflüchtigen Speicher zur Speicherung der Inhalte eines
austauschbaren Anfrageregisters für den Fall eines
Stromausfalls oder wenn das flüchtige Anfrageregister entfernt wird.
-
Das US-Patent 4,819,154 beschreibt einen nicht
durchschreibbaren Cache-Speicher für jeden Prozessor in einer Anordnung zur
Speicherung von Berechnungen des dazugehörigen Prozessors. Die
Daten werden dann selektiv sequentiell in die beiden
Hauptspeicher geschrieben, von denen jeder einen Statusbereich
besitzt, der vom Prozessor vor und nach jeder Schreiboperation
aktualisiert wird. Die Datenübertragung läßt sich durch
Verwendung von Blockstatusaufzeichnungen, die anzeigen, ob ein
dazugehöriger Block geändert wurde, effizienter gestalten. Nur
modifizierte Blöcke werden dann zu vorgegebenen Zeitpunkten
übertragen.
-
Die Anordnungen der bisherigen Technologie besitzen Nachteile
bezüglich ihrer Kosten und ihrer Anwendbarkeit auf Anordnungen
zur Verarbeitung großer Datenmengen wie beispielsweise DASD
(Direct Access Storage Device).
-
Das Dokument mit dem Titel "The IBM 3990 Disk Cache" von J.
Menon et al, Computer Society International Conference, Vol.
33, 1988, IEE Washington, Seiten 146-151, beschreibt eine
Speicheranordnung mit Clustern aus Cache-Speichern und
separaten Clustern aus nichtflüchtigen Speichern.
-
Bei Betrachtung eines Aspekts stellt die vorliegende Erfindung
eine Datenverarbeitungsanordnung mit einer Speicheranordnung
bereit, wobei die Speicheranordnung folgendes umfaßt: eine
Mehrzahl getrennter Speichermodule; eine Mehrzahl an
Stromversorgungseinrichtungen, von denen jede Strom an ein separates
Speichermodul liefert, dadurch charakterisiert, daß jedes
Modul einen ersten Bereich, der einen Cache-Speicher umfaßt,
und einen zweiten Bereich, der einen nichtflüchtigen Speicher
umfaßt, aufweist; und ein Mittel zur Speicherung derselben
Daten im ersten Bereich eines der Speichermodule und
gleichzeitig im zweiten Bereich eines anderen Speichermoduls.
-
In Übereinstimmung mit der vorliegenden Erfindung kann eine
Speicheranordnung als eine Kombination getrennter
Speichermodule betrachtet werden, wobei jedes Modul in einen Cache-Teil
und einen nichtflüchtigen Teil partitioniert ist. Jedes Modul
besitzt seine eigene Stromquelle, so daß der Ausfall einer
einzelnen Stromquelle die anderen Module nicht beeinträchtigt.
Ein bestimmter Datenblock wird nicht in beiden Teilen eines
einzigen Moduls gespeichert. Jeder modifizierte Datenblock
wird im Cache-Teil eines Moduls und im nichtflüchtigen Teil
eines anderen Moduls gespeichert. Somit führt der Ausfall
einer beliebigen Kombination aus Stromversorgungen nicht zu
einem Verlust irgendwelcher modifizierter Daten, da die
Stromquellen der nichtflüchtigen Teile normalerweise durch
Batterien abgesichert werden. In Übereinstimmung mit der
vorliegenden Erfindung besteht eine Datenspeicheranordnung aus einer
Mehrzahl an Cache-Speichern und einer ebenso großen Anzahl
nichtflüchtiger Speicher, wobei jedes Paar, das aus einem
Cache-Speicher und einem nichtflüchtigen Speicher besteht, an
eine unabhängige Stromversorgung angeschlossen wird.
Modifizierte Daten werden sowohl in einem Cache-Speicher als auch in
einem nichtflüchtigen Speicher aus unterschiedlichen Paaren
gespeichert, damit kein Paar an nur eine Stromquelle
angeschlossen ist.
-
Im Sinne eines umfassenden Verständnisses der vorliegenden
Erfindung wird nachfolgend ein bevorzugtes Ausführungsbeispiel
beschrieben, wobei auf die folgenden Begleitzeichnungen Bezug
genommen wird:
-
Figur 1 ist ein Blockdiagramm einer Speicheranordnung in
Übereinstimmung mit der vorliegenden Erfindung; und
-
Figur 2 ist ein Blockdiagramm eines Computersystems, in dem
die vorliegende Erfindung einbezogen sein kann.
-
Figur 1 zeigt eine Ausführung der vorliegenden Erfindung unter
Verwendung eines Paars an Speicheranordnungen, wobei jede
Anordnung aus einem Cache-Speicher und einem nichtflüchtigen
Speicher besteht. Der Zugriff auf die Speicher für das
Beschreiben erfolgt, indem die Informationen in den Cache-
Speicher einer Anordnung und gleichzeitig in den
nichtflüchtigen Speicher der anderen Anordnung geschrieben werden.
Beispiel: Die zu speichernden Informationen, die auf dem
Systembus 121 ankommen, werden von einem
Multiplexer-De-Multiplexer (MUX/DEMUX) 119 gesteuert. Die zu schreibenden
Informationen werden über eine Schnittstelle 123 in einem Cache-
Speicher 105 und gleichzeitig im nichtflüchtigen Speicher NVS2
111 gespeichert.
-
Die Stromversorgungen für die separaten Anordnungen werden als
POWER1 101 für den Cache-Speicher CACHE1 105 und den NVS1-
Speicher 109 dargestellt. Die Stromversorgung POWER2 103
liefert Strom an den CACHE2-Speicher 107 und den NVS2-Speicher
111. Eine Batteriesicherung erfolgt für den NVS1-Speicher 109
durch die Batteriequelle 115. Die Batteriequelle 117 sichert
den nichtflüchtigen Speicher 111.
-
Im Normalbetrieb werden Speicherdaten in die Cache-Speicher
195 oder 107 eingelesen oder von dort ausgelesen, je nachdem,
wie der MUX/DEMUX 119 dies festlegt. Informationen, die in die
Cache-Speicher hineingeschrieben werden, werden ebenfalls in
den nichtflüchtigen Speicher der gegenüberliegenden Anordnung
geschrieben. Versagt die Stromzufuhr für eine bestimmte
Anordnung, dann können die Daten im Cache-Speicher, der von der
Stromstörung betroffen ist, aus dem nichtflüchtigen Speicher
in der anderen Anordnung ausgelesen werden. Wenn der Cache-
Speicher für den nichtflüchtigen Speicher und die Anordnung
eine Stromunterbrechung erleidet, springt ersatzweise die
Batteriesicherung ein. Fallen beide Stromversorgungen aus,
kann die Information noch immer über die nichtflüchtigen
Speicher abgerufen werden.
-
Figur 2 zeigt eine größere Speicheranordnung mit drei
Anordnungen und einem MUX/DEMUX 205, für den die
Batteriesicherungsversorgung von den nichtflüchtigen Speichern nicht
dargestellt sind. Gemäß Darstellung ist ein Systembus 207 an einen
Prozessor 203 und eine DASD-Anordnung 201 und einen MUX/DEMUX
205 für die Speicheranordnung gekoppelt. Die Cache-Speicher
CACHE1, CACHE2 und CACHE3 werden von aneinandergrenzenden
Adreßfeldern unter der Steuerung der Schnittstelle zu jedem
Cache und der Operation des MUX/DEMUX 205 adressiert. In
ähnlicher Weise werden die nichtflüchtigen Speicheranordnungen
NVS1, NVS2 und NVS3 adressiert, außer daß die in NVS1
gespeicherten Daten die modifizierten Daten enthalten, die in CACHE3
gespeichert sind, und außer daß NVS2 auf ähnliche Weise mit
CACHE1 und NVS3 ähnlich mit CAHCE 2 gepaart ist. Die
Stromversorgungen POWER1, POWER2 und POWER3 sind unabhängig
voneinander und erzeugen eine Störung nur in dem System-Cache, an den
sie Strom liefern. Wie aus Figur 2 ersichtlich ist, kann die
im Speicher gespeicherte Information selbst dann erhalten
werden, wenn alle drei Stromversorgungen in der gezeigten
Anordnung ausfallen.
-
Obwohl die vorliegende Erfindung in bezug auf Cache-Speicher
und nichtflüchtige Speicher beschrieben wurde, ist sie nicht
auf einen bestimmten Speichertyp beschränkt.