DE69617009T2 - Reservierter zylinder für einen nachschreib-cachespeicher für scsi-gerät - Google Patents

Reservierter zylinder für einen nachschreib-cachespeicher für scsi-gerät

Info

Publication number
DE69617009T2
DE69617009T2 DE69617009T DE69617009T DE69617009T2 DE 69617009 T2 DE69617009 T2 DE 69617009T2 DE 69617009 T DE69617009 T DE 69617009T DE 69617009 T DE69617009 T DE 69617009T DE 69617009 T2 DE69617009 T2 DE 69617009T2
Authority
DE
Germany
Prior art keywords
power
microprocessor
memory
cache memory
reserved
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69617009T
Other languages
English (en)
Other versions
DE69617009D1 (de
Inventor
Michael Glaser
L. Hicksted
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.)
MTI Technology Corp
Original Assignee
MTI Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MTI Technology Corp filed Critical MTI Technology Corp
Application granted granted Critical
Publication of DE69617009D1 publication Critical patent/DE69617009D1/de
Publication of DE69617009T2 publication Critical patent/DE69617009T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

Landscapes

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

Description

    HINTERGRUND DER ERFINDUNG
  • Die Erfindung betrifft ein Computersystem mit einem Nachschreib-Cachespeicher, bei dem ein Hostcomputer Daten in einem Cache-Speicher zwischenspeichert, bevor die Daten dauerhaft in einem Plattenlaufwerk gespeichert werden.
  • Bei Nachschreib-Cachesystemen schreibt der Host als Erstes, wenn er einen Schreibvorgang zum Einspeichern von Daten in einem Plattenlaufwerk auslöst, die Daten in einen Cache- Speicher ein. In der Technik ist es gut bekannt, dass Cache- Speicher typischerweise flüchtige Speicher sind, die viel kleiner und schneller als die nichtflüchtigen Speicherbauteile sind, wie sie für den Hauptsystemspeicher verwendet werden, z. B. Plattenlaufwerke, Bandlaufwerke oder optische Laufwerke. Die Daten werden dann vom Cache in das Plattenlaufwerk geschrieben, wenn der Speichercontroller dazu frei ist, den Vorgang abzuschließen. Es ist häufig der Fall, dass der Host, um mit anschließenden Schreibvorgängen fortfahren zu können, die Bestätigung dafür empfangen muss, dass die im Cache abgespeicherten Daten an die schließliche Speicherstelle im Plattenlaufwerk geschrieben wurden. Durch dieses Erfordernis wird das Systemfunktionsvermögen begrenzt, da der Host keinen anderen Schreibvorgang auslösen kann, bevor er nicht den Hinweis über den Abschluss des aktuellen Schreibvorgangs empfangen hat.
  • Ein Verfahren zum Verbessern des Systemfunktionsvermögens besteht darin, die Wahlmöglichkeit bereitzustellen, den Abschluss des Schreibvorgangs dem Host unmittelbar nach dem Einschreiben der Daten in den Cache zu bestätigen, wodurch der Host mit anschließenden Betriebsvorgängen fortfahren kann. Der tatsächliche Schritt des Einschreibens in das Plattenlaufwerk wird dann abgeschlossen, wenn der Speichercontroller frei ist. Während es dieses Verfahren erlaubt, dem Hostcomputer dadurch mit höherer Geschwindigkeit zu arbeiten, dass Schreibvorgänge häufiger ausgelöst werden, leidet die Zuverlässigkeit des Systems. Im Fall des Abschaltens eines Systems oder bei einem Spannungsausfall könnte der Inhalt des nichtflüchtigen Cache-Speichers verloren gehen, bevor der Speichercontroller Gelegenheit hat, die noch offenen Schreibvorgänge abzuschließen. Dann wird der Host dahingehend getäuscht, dass er davon ausgeht, die Daten in Zusammenhang mit jedem anhängigen Schreibvorgang wären im Plattenlaufwerk aktualisiert, wenn dies nicht der Fall ist.
  • Es ist möglich, den Gesichtspunkt der Systemzuverlässigkeit dadurch zu berücksichtigen, dass ein externes, nicht unterbrechbares Spannungssystem, wie eine batteriegestützte Einheit, zum Computersystem hinzugefügt wird. Im Fall des Abschaltens der Spannung oder eines Spannungsausfalls ist das externe Spannungssystem dazu in der Lage, es dem Speichercontroller zu ermöglichen, die Schreibvorgänge für alle Daten abzuschließen, die zum Zeitpunkt der Unterbrechung der Systemspannung noch im Cache vorhanden sind. Diese Vorgehensweise wird in verhindernder Weise teuer, da, wenn die Größe typischer Cache-Speicher zunimmt, wegen der zunehmenden Anzahl von vom Speichercontroller abzuschließenden Schreibvorgängen zunehmende Zeit erforderlich ist, während der Spannung durch die externe Quelle zu liefern ist. Ferner könnte das Hinzufügen einer externen Einheit zum System zu Problemen beim körperlichen Layout des Computersystems führen, insbesondere da es möglich ist, dass der Endbenutzer des Systems dessen Merkmale ändern muss, um die externe Einheit zu berücksichtigen.
  • WO-A-92/15933 veranschaulicht das obige Prinzip, jedoch mit einer integrierten Bereitschafts-Spannungsversorgung.
  • Demgemäß wäre es wünschenswert, über ein Computersystem zu verfügen, bei dem die Funktionsvorteile früher Schreibbestätigung an den Host gewährleistet sind, ohne dass die zugehörigen, oben beschriebenen Probleme hinsichtlich der Zuverlässigkeit und des Layouts vorliegen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Durch die Erfindung wird die Systemzuverlässigkeit dadurch erhöht, dass eine Speicherstelle im Plattenlaufwerk zum Speichern des Inhalts des Cache-Speichers im Fall einer Unterbrechung der Systemspannung reserviert wird. Das Speichern des Bilds des Caches erfolgt durch eine zeitweilige Spannung, die durch eine Energiespeichereinheit geliefert wird, die dem Speichercontroller ausreichend Energie für einen begrenzten Schreibvorgang nach einer Unterbrechung der Systemspannung liefert.
  • Bei einer Ausführungsform der Erfindung ist jedes Plattenlaufwerk in einem Computersystem mit einer Energiespeichereinheit versehen, die dem Laufwerkcontroller dann Energie zuführt, wenn eine Unterbrechung der Systemspannung vorliegt, wie beim Abschalten oder einem Ausfall der Spannung. Die Energiespeichereinheit kann z. B. eine Batterie sein. Wenn der Controller darüber informiert wird, dass die Systemspannung unterbrochen wurde, startet er unmittelbar eine Suche nach einer reservierten Speicherstelle im Plattenlaufwerk, und er speichert den Inhalt des Cache-Speichers an der reservierten Speicherstelle ab, die aus einem oder mehreren Zylindern auf dem Laufwerk bestehen kann. Nachdem die Spannung für das System wiederhergestellt wurde, kann der Controller den Inhalt der reservierten Zylinder wieder in den Cache-Speicher laden, und er schließt die anhängigen Schreibvorgänge dadurch ab, dass er alle Einzeldaten im Cache an die jeweils zugehörigen abschließenden Speicherstellen im Laufwerk schreibt.
  • Bei einer anderen Ausführungsform der Erfindung ist die Energiespeichereinheit in einen Speichercontroller eingebaut, der ein Feld von Plattenlaufwerken steuert, statt in jedes Plattenlaufwerk selbst. Die Erfindung arbeitet immer noch gemäß dem oben skizzierten allgemeinen Verfahren. In diesem Fall startet der Controller, wenn ihm einmal mitgeteilt wurde, dass die Systemspannung unterbrochen wurde, unmittelbar eine Suche nach den reservierten Speicherstellen im Feld von Plattenlaufwerken, und er speichert den Inhalt des Cache-Speichers an den reservierten Speicherstellen ab, die aus einem oder mehreren Zylindern in einem oder mehreren der Laufwerke im Feld bestehen können. Nachdem die Spannung für das System wiederhergestellt wurde, kann der Controller den Inhalt der reservierten Zylinder in den Cache-Speicher zurückladen, und er schließt die anhängigen Schreibvorgänge dadurch ab, dass er alle Einzeldaten im Cache in ihre jeweils zugehörigen abschließenden Speicherstellen im Laufwerksfeld einschreibt.
  • Die Erfindung verfügt über den Vorteil, dass sehr wenig Energie dazu erforderlich ist, den Controller über eine Unterbrechung der Systemspannung hinaus zu betreiben, da es viel weniger Energie benötigt, einen Schreibvorgang für den Inhalt des Caches in die reservierten Zylinder abzuschließen, anstatt mehrere anhängige Schreibvorgänge für alle Einzeldaten in den Cache an verschiedenen Speicherstellen im Plattenlaufwerk abzuschließen. Daher ist die Energiespeichereinheit im Laufwerk oder im Speichercontroller viel kleiner und billiger als die oben beschriebenen externen, nicht unterbrechbaren Spannungssysteme. Auch ist keine zusätzliche Hardware außerhalb des Systems dazu erforderlich, die Erfindung 2u realisieren, was für der Endbenutzer das Erfordernis beseitigt, die Systemkonfiguration zu ändern.
  • Die Erfindung wird unter Bezugnahme auf die folgende detaillierte Beschreibung in Zusammenhang mit den beigefügten Zeichnungen besser zu verstehen sein.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 zeigt ein Blockdiagramm einer bevorzugten Ausführungsform der Erfindung, bei der eine Energiespeichereinheit in einem Plattenlaufwerk untergebracht ist.
  • Fig. 2 zeigt ein Blockdiagramm einer anderen Ausführungsform der Erfindung, bei der eine Energiespeichereinheit in einem Speichercontroller untergebracht ist, der ein Feld von Plattenlaufwerken steuert.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • Die Fig. 1 zeigt ein vereinfachtes Blockdiagramm eines Computersystems 100, bei dem jedes Plattenlaufwerk mit einer Energiespeichereinheit zum Speichern eines Bilds des Plattencaches in einem reservierten Zylinder im Laufwerk versehen ist. Ein Hostcomputer 102 ist über einen Systembus 104 mit anderen Komponenten des Systems verbunden. Der Systembus 104 ist typischerweise ein SCSI(Small Computer Systems Interface)-Bus, könnte jedoch irgendein anderer Bus sein, der so konzipiert ist, dass er einen Host mit anderen Systemkomponenten verbindet, wie z. B. ein FC(Fibre Channel)-Bus oder ein SSA(Serial SCSI Architecture)-Bus. Eine der Komponenten im System ist ein Plattenlaufwerk 106. Eine Laufwerk- Schnittstelle 108 verbindet das Laufwerk mit dem Systembus 104. Laufwerk-Operationen werden durch einen im Plattenlaufwerk 106 untergebrachten Mikroprozessor 110 gesteuert. Die Laufwerk-Schnittstelle 108 ist mit einem Plattencache-Speicher 112 verbunden, der ein nichtflüchtiger Speicher ist. Der Cache-Speicher 112 ist mit einer Kopf/Platte-Anordnung (HDA = Head/Disk Assembly) 114, dem nichtflüchtigen Speicher für das Computersystem 100, verbunden. Mit dem Prozessor 110 sind auch eine Spannungserfassungseinheit 116 und eine Energiespeichereinheit 118 verbunden.
  • Im Betrieb überträgt der Host 102 im Plattenlaufwerk 106 zu speichernde Datenblöcke über den Systembus 105. Die Daten werden über die Laufwerk-Schnittstelle 108 übertragen und im Cache 112 zwischengespeichert, bis der Prozessor 110 dazu frei ist, den Zylinder in der HDA 114 zu suchen, wo die Daten dauerhaft zu speichern sind. Da die Zugriffszeiten des Hosts 102 und des Caches 112, die beide elektronische Bauteile sind, viel kürzer als die normale Such- und Rotationszeit der HDA 114, die ein elektromechanisches Bauteil ist, sind, sammeln sich im Cache 112 zahlreiche Schreibvorgänge an, die für die abschließende Speicherung im Plattenlaufwerk anhängig sind. So sendet der Cache 112, um den Host 102 dazu frei zu machen andere Funktionen auszuführen, eine frühe Schreibbestätigung unmittelbar nach dem Empfang eines Datenblocks an den Host 112 zurück, obwohl die Daten noch nicht tatsächlich auf die HDA 114 geschrieben wurden. Eine frühe Schreibbestätigung erlaubt es dem Host, mit anschließenden Operationen fortzufahren, ohne die zusätzliche Zeit warten zu müssen, bis die Daten tatsächlich im Plattenlaufwerk gespeichert sind. Wenn der Prozessor 110 frei von der Handhabung voriger Operationen ist, sucht er erneut nach dem gewünschten Zylinder auf der HDA 114 und speichert den Datenblock im Plattenlaufwerk ab.
  • Im Fall einer Unterbrechung der Spannung zum System erkennt die Spannungserfassungsschaltung 116 die Unterbrechung, und sie teilt es dem Prozessor 110 mit, dass die Spannung unterbrochen ist. Die Spannung kann z. B. als Ergebnis eines unerwarteten Spannungsausfalls oder durch ein normales Abschalten des Systems unterbrochen werden. Zu diesem Zeitpunkt, nach dem Unterbrechen der Systemspannung, liefert die Energiespeichereinheit 118, die z. B. eine Batterie sein kann, ausreichende Energie an den Mikroprozessor 110 und die HDA 114 zum Sichern des Inhalts des Caches 112. Wenn der Prozessor 110 einmal eine Mitteilung über einen Spannungsausfall empfangen hat, löst er unmittelbar eine Suche für eine reservierte Speicherstelle in der HDA 114 aus. Die reservierte Speicherstelle kann aus einem oder mehreren Zylindern bestehen, solange sie ausreichend groß dafür ist, den Inhalt eines vollen Cache-Speichers 112 aufzunehmen. Nachdem die Suche nach der reservierten Speicherstelle und die Rotation zu dieser abgeschlossen sind, speichert der Prozessor 110 den gesamten Inhalt des Cache-Speichers 112 in die reservierten Zylinder in der HDA 114 ein, erneut mit der von der Energiespeichereinheit 118 gelieferten vorübergehenden Spannung. Später, nachdem die Systemspannung wiederhergestellt wurde, kann der Prozessor 110 den Inhalt der reservierten Zylinder in den Cache-Speicher 112 zurückladen und die anstehenden Schreibvorgänge dadurch abschließen, dass er alle Datenblöcke im Cache an die jeweiligen abschließenden Speicherstellen in der HDA 114 entsprechend einer Standardoperation einschreibt.
  • Die in die reservierten Zylinder geschriebenen Daten vom Cache-Speicher 112 sind geeignet gekennzeichnet, so dass sie bei Wiederherstellung der Systemspannung aufgefunden werden können. Z. B. besteht ein mögliches Identifizierungsschema darin, Steuerungsinformation überall auf den reservierten Zylindern zusätzlich zu den Daten zu speichern, die beschreibt, wo die Daten schließlich auf die Platte zu schreiben sind. Ein alternatives Identifizierungsschema besteht darin, jedem Datenblock entsprechende Steuerinformation in ein vorbestimmtes Gebiet des Datenblocks zu schreiben, wenn die Daten in den reservierten Zylindern der HDA 114 gespeichert werden. Das letztere Schema bietet den Vorteil, dass gewährleistet ist, dass Steuerinformation an die entsprechenden Datenblöcke "angeheftet" bleibt.
  • Da eine minimale Anzahl von Such- und Rotationsvorgängen dazu erforderlich ist, die Köpfe in der HDA 114 über den reservierten Zylindern zu positionieren, ist die Menge zusätzlicher Energie, und damit die Größe der Energiespeichereinheit 118, minimiert. Wenn dagegen der Prozessor 110 tatsächlich alle anhängigen Schreibvorgänge in über die HDA verteilte Speicherstellen mit der vorübergehenden Spannung abschließen müsste, anstatt ein Bild des Caches 112 an einer reservierten Speicherstelle zu speichern, wäre die Menge zusätzlicher Energie, die nach der Unterbrechung der Systemspannung erforderlich wäre, erheblich, und die Größe und die Kosten der Energiespeichereinheit 118 würden es unerwünscht machen, eine Energiespeichereinheit in das Plattenlaufwerk 106 einzubauen.
  • Die Fig. 2 zeigt ein Blockdiagramm einer anderen Ausführungsform der Erfindung, bei der eine Energiespeichereinheit in einem Speichercontroller angebracht ist, der ein redundantes Feld unabhängiger Platten (RAID = Redundant Array of Independent Disks) steuert. Computersysteme mit einem RAID- Speichersubsystem verwenden ein oder mehrere Felder unabhängiger Magnetplatten-Laufwerke für Systemspeicherung. Unter Verwendung eines Felds kleinerer Platten anstelle einiger weniger größerer Platten wird die Datenübertragungsrate zwischen dem Host und den Plattenlaufwerken verbessert, da die Datenübertragungsvorgänge über eine Anzahl kleinerer Plattenlaufwerke verteilt werden, anstatt dass sie für ein oder nur einige weniger große Laufwerke konzentriert werden. In RAID-Systemen handhabt ein zentraler Controller die Operationen für alle Laufwerke im Feld, anstatt dass ein Controller in jeder Plattenlaufwerkseinheit untergebracht ist. Redundante RAID-Controller sind im US-Patent Nr. 5,212,785 beschrieben, das auf die Rechtsnachfolgerin betreffend die vorliegende Erfindung übertragen ist.
  • In der Fig. 2 enthält das Computersystem 200 einen Host 202, der über einen Systembus 204 mit anderen Systemkomponenten verbunden ist. Wie bei der in der Fig. 1 dargestellten Ausführungsform könnte der Bus 204 irgendein Systembus sein, wie ein SCSI-, ein FC- oder ein SSA-Bus. Mit dem Systembus ist ein RAID-Controller 206 verbunden, der Übertragungsvorgänge von Daten zwischen dem Host 202 und dem Speicherfeld 208 steuert, das aus mehreren nichtflüchtigen Plattenlaufwerken 210 besteht. Der RAID-Controller 208 enthält einen Mikroprozessor 212, der mit einem Cache-Speicher 214, einem flüchtigen Speicherbauteil, verbunden ist. Mit dem Prozessor sind auch eine Spannungserfassungsschaltung 216 und eine Energiespeichereinheit 218 verbunden.
  • Der Betrieb der in der Fig. 2 dargestellten Ausführungsform ist demjenigen des in der Fig. 1 dargestellten Systems sehr ähnlich. Der Host 202 überträgt im Plattenfeld 208 zu speichernde Datenblöcke über den Systembus 204. Die Daten werden über den RAID-Controller 206 übertragen und im Cache 214 zwischengespeichert, bis der Prozessor 212 dazu frei ist, nach den Zylindern in den Plattenlaufwerken 210 im Feld 208 zu suchen, in denen die Daten dauerhaft zu speichern sind. Da die Zugriffszeiten des Hosts 202 und des Caches 214, die beide elektronische Bauteile sind, viel kürzer als die normale Such- und Rotationszeit für die Plattenlaufwerke 210, die elektromechanische Bauteile sind, sammeln sich im Cache 214 zahlreiche Schreibvorgänge an, die auf die abschließende Speicherung im Plattenlaufwerk warten. So sendet der Cache 214, um den Host 202 dafür frei zu machen, andere Funktionen auszuführen, eine frühe Schreibbestätigung unmittelbar dann an den Host 202 zurück, wenn er einen Datenblock empfangen hat, obwohl die Daten noch nicht tatsächlich in das Plattenfeld 208 geschrieben sind. Eine frühe Schreibbestätigung erlaubt es dem Host, mit anschließenden Operationen fortzufahren, ohne die zusätzliche Zeit zuzuwarten, bis die Daten tatsächlich im Plattenlaufwerk abgespeichert sind. Wenn der Prozessor 202 frei von der Handhabung voriger Operationen ist, sucht er erneut nach den gewünschten Zylindern auf den ausgewählten Plattenlaufwerken 210 und speichert den Datenblock im Plattenlaufwerk ab.
  • Im Fall einer Spannungsunterbrechung zum System erkennt die Spannungserfassungsschaltung 216 die Unterbrechung, und sie teilt es dem Prozessor 212 mit, dass die Spannung unterbrochen ist. Die Spannung kann als Ergebnis z. B. eines nicht erwarteten Spannungsausfalls oder durch normales Abschalten des Systems unterbrochen werden. Zu diesem Zeitpunkt, nach der Unterbrechung der Systemspannung, liefert eine Energiespeichereinheit 218, die z. B. eine Batterie sein kann, ausreichend Energie an den Mikroprozessor 212 und das Plattenfeld 208, um den Inhalt des Caches 214 zu sichern. Wenn der Prozessor 214 einmal eine Mitteilung betreffend einen Spannungsausfall empfangen hat, löst er unmittelbar eine Suche nach einer reservierten Speicherstelle im Plattenfeld 208 aus. Die reservierte Speicherstelle kann aus einem oder mehreren Zylindern bestehen, die sich in einem Laufwerk befinden oder über mehrere Laufwerke im Feld 208 verteilt sind, solange die Speicherstelle ausreichend groß dafür ist, einen vollen Cache 214 aufzunehmen. Nachdem der Such- und Rotationsvorgang für die reservierte Speicherstelle abgeschlossen ist, speichert der Prozessor 212 den gesamten Inhalt des Cachespeichers 214 erneut unter der von der Energiespeichereinheit 218 bereitgestellten vorübergehenden Spannung in die reservierten Zylinder im Plattenfeld 208 ein. Später, nachdem die Systemspannung wiederhergestellt wurde, kann der Prozessor 212 den Inhalt der reservierten Zylinder in den Cache-Speicher 214 zurückladen und die anhängigen Schreibvorgänge dadurch abschließen, dass er alle Datenblöcke im Cache in die jeweiligen endgültigen Speicherstellen im Plattenfeld 208 gemäß einem Standardbetriebsvorgang einschreibt.
  • Wie bei der Ausführungsform der Fig. 1 ist, da eine minimale Anzahl von Such- und Rotationsvorgängen dazu erforderlich ist, die reservierten Zylinder zu erreichen, die erforderliche Menge zusätzlicher Energie, und demgemäß die Größe der Energiespeichereinheit 218, minimiert. Wenn dagegen der Prozessor 212 tatsächlich alle anhängigen Schreibvorgänge für über das ganze Plattenfeld 208 verteilte Speicherstellen bei der vorübergehenden Spannung einschreiben müsste, anstatt ein Bild des Caches 214 an einer reservierten Speicherstelle zu speichern, wäre die Menge der nach der Unterbrechung der Systemspannung erforderlichen zusätzlichen Energie erheblich, und die Größe und die Kosten der Energiespeichereinheit 218 würden es unerwünscht machen, diese Energiespeichereinheit in den RAID-Controller 206 einzubauen.
  • Nun wurde die Erfindung unter Bezugnahme auf spezielle Ausführungsformen erläutert. Andere Ausführungsformen sind dem Fachmann unter Bezugnahme auf die vorliegende Beschreibung erkennbar. Daher soll die Erfindung nicht beschränkt sein, außer durch das, was durch die beigefügten Ansprüche angegeben ist.

Claims (14)

1. Verfahren in einem Speicher-Subsystem mit einem Mikroprozessor, einem Cache-Speicher und einem Plattenlaufwerk, zum Speichern von Inhalten des Cache-Speichers nach einer Unterbrechung der Leistungsversorgung zum Computersystem, wobei:
eine Speicherstelle ausreichender Größe zum Aufnehmen einer Kopie der Inhalte des Cache-Speichers im Plattenlaufwerk reserviert wird;
die Unterbrechung der Leistungsversorgung zu dem Computersystem erfaßt wird;
dem Mikroprozessor und dem Plattenlaufwerk nach der Unterbrechung der Leistungsversorgung zu dem Computersystem temporäre Leistung zugeführt wird;
die reservierte Speicherstelle im Plattenlaufwerk unter temporärer Leistungsversorgung angesteuert wird; und
die Kopie der Inhalte des Cache-Speichers an der reservierten Speicherstelle im Plattenlaufwerk unter temporärer Leistungsversorgung gespeichert wird.
2. Verfahren nach Anspruch 1, wobei beim Reservieren einer Speicherstelle im Plattenlaufwerk außerdem wenigstens ein Zylinder im Plattenlaufwerk zum Speichern der Kopie der Inhalte des Cache-Speichers reserviert wird.
3. Verfahren nach Anspruch 1, wobei beim. Reservieren einer Speicherstelle im Plattenlaufwerk außerdem wenigstens ein Sektor eines Zylinders im Plattenlaufwerk zum Speichern der Kopie der Inhalte des Cache-Speichers reserviert wird.
4. Verfahren nach Anspruch 1, wobei beim Versorgen mit temporärer Leistung außerdem eine Batterie zum Zuführen temporärer Leistung zu dem Mikroprozessor und dem Plattenlaufwerk nach der Unterbrechung der Leistungsversorgung zu dem Computersystem vorgeshen wird.
5. Speicher-Subsystem zum Anschließen an einen Hauptcomputer, mit:
einem Mikroprozessor;
einem an den Mikroprozessor angeschlossenen Cache-Speicher;
einer an den Mikroprozessor angeschlossenen Leistungs- Erfassungsschaltung zum Erfassen einer Unterbrechung der Leistungsversorgung zum Speicher-Subsystem;
einer an den Mikroprozessor angeschlossenen Leistungs- Speichereinheit zum Zuführen temporärer Leistung nach der Unterbrechung der Leistungsversorgung zu dem Speicher-Subsystem; und folgendem kennzeichnenden Bestandteil:
einem an den Cache-Speicher angeschlossenen Kopf/Plattenaufbau mit einer reservierten Speicherstelle ausreichender Größe zum Speichern einer Kopie der Inhalte des Cache-Speichers unter temporärer Leistungsversorgung aus der Leistungs- Speichereinheit nach der Unterbrechung der Leistungsversorgung zu dem Computersystem.
6. Speicher-Subsystem nach Anspruch 5, wobei die Leistungs- Speichereinheit eine Batterie aufweist.
7. Speicher-Subsystem nach Anspruch 5, wobei die reservierte Speicherstelle in dem Kopf/Plattenaufbau Wenigstens einen Zylinder aufweist.
8. Speicher-Subsystem nach Anspruch 5, wobei die reservierte Speicherstelle in dem Kopf/Plattenaufbau wenigstens einen Sektor eines Zylinders aufweist.
9. Speicher-Subsystem nach Anspruch 5, wobei der Mikroprozessor ferner einen Einrichtung zum Speichern der Kopie der Inhalte des Cache-Speichers an der reservierten Speicherstelle in dem Kopf/Plattenaufbau aufweist.
10. Speicher-Subsystem zum Anschließen an einen Hauptcomputer, mit:
einer Speicher-Steuereinrichtung mit
einem Mikroprozessor,
einem daran angeschlossenen Cache-Speicher,
einer ebenfalls an den Mikroprozessor angeschlossenen Leistungs-Erfassungsschaltung zum Erfassen einer Unterbrechung der Leistungsversorgung zu dem Computersystem und
einer ebenfalls an den Mikroprozessor angeschlossenen Leistungs-Speichereinheit zum Zuführen temporärer Leistung zu dem Mikroprozessor nach der Unterbrechung der Leistungsversorgung zu dem Computersystem; und folgendem kennzeichnenden Bestandteil:
einer Mehrzahl von an die Speicher-Steuereinrichtung angeschlossenen Plattenlaufwerken, von denen wenigstens eine eine reservierte Speicherstelle ausreichender Größe zum Speichern einer Kopie der Inhalte des Cache-Speichers unter temporärer Leistungsversorgung aus der Leistungs-Speichereinheit nach der Unterbrechung der Leistungsversorgung zu dem Computersystem aufweist.
11. Speicher-Subsystem nach Anspruch 10, wobei die Leistungs-Speichereinheit eine Batterie aufweist.
12. Speicher-Subsystem nach Anspruch 10, wobei die reservierte Speicherstelle in der Mehrzahl von Plattenlaufwerken wenigstens einen Zylinder aufweist.
13. Speicher-Subsystem nach Anspruch 10, wobei die reservierte Speicherstelle in der Mehrzahl von Plattenlaufwerken wenigstens einen Sektor eines Zylinders aufweist.
14. Speicher-Subsystem nach Anspruch 10, wobei der Mikroprozessor ferner eine Einrichtung zum Speichern der Kopie der Inhalte des Cache-Speichers an der reservierten Speicherstelle in der Merzahl von Plattenlaufwerken aufweist.
DE69617009T 1995-06-05 1996-06-04 Reservierter zylinder für einen nachschreib-cachespeicher für scsi-gerät Expired - Lifetime DE69617009T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/464,101 US5748874A (en) 1995-06-05 1995-06-05 Reserved cylinder for SCSI device write back cache
PCT/US1996/009463 WO1996039653A1 (en) 1995-06-05 1996-06-04 Reserved cylinder for scsi device write-back cache

Publications (2)

Publication Number Publication Date
DE69617009D1 DE69617009D1 (de) 2001-12-20
DE69617009T2 true DE69617009T2 (de) 2002-03-21

Family

ID=23842561

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69617009T Expired - Lifetime DE69617009T2 (de) 1995-06-05 1996-06-04 Reservierter zylinder für einen nachschreib-cachespeicher für scsi-gerät

Country Status (5)

Country Link
US (1) US5748874A (de)
EP (1) EP0830651B1 (de)
CA (1) CA2223941C (de)
DE (1) DE69617009T2 (de)
WO (1) WO1996039653A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5948075A (en) * 1997-06-04 1999-09-07 International Business Machines Corporation System for identifying operating parameters in a storage enclosure having each of first connector only for specifying a physical location associated with each of backplane interfaces
JP4083864B2 (ja) * 1998-04-20 2008-04-30 株式会社日立製作所 ホスト、ディスクアレイおよびups間における連動制御装置
US6513097B1 (en) 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6438661B1 (en) 1999-03-03 2002-08-20 International Business Machines Corporation Method, system, and program for managing meta data in a storage system and rebuilding lost meta data in cache
US6502174B1 (en) 1999-03-03 2002-12-31 International Business Machines Corporation Method and system for managing meta data
US6178516B1 (en) 1999-06-11 2001-01-23 Mattel, Inc. Electronic apparatus having a low voltage auto-reset circuit
US6378037B1 (en) 1999-06-29 2002-04-23 International Business Machines Corporation Write-twice method of fail-safe write caching
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
GB0010648D0 (en) 2000-05-04 2000-06-28 Ibm Methods,apparatus and system for caching data
FR2812736B1 (fr) * 2000-08-04 2003-12-19 Near Technologies Systeme de stockage virtuel
US6795896B1 (en) * 2000-09-29 2004-09-21 Intel Corporation Methods and apparatuses for reducing leakage power consumption in a processor
US6883065B1 (en) 2001-11-15 2005-04-19 Xiotech Corporation System and method for a redundant communication channel via storage area network back-end
EP1361516A3 (de) * 2002-04-30 2011-05-18 Hitachi, Ltd. Verfahren und System zur Sicherstellung der Stromversorgung einer Speicherplattenanordnung
US7051174B2 (en) 2002-09-24 2006-05-23 International Business Machines Corporation Method, system, and program for restoring data in cache
US20050193159A1 (en) * 2004-03-01 2005-09-01 Yiu-Keung Ng Embedded power control circuitry for a portable disk drive carrier having a hot-plug application
US7536593B2 (en) * 2004-03-05 2009-05-19 International Business Machines Corporation Apparatus, system, and method for emergency backup
US20060143245A1 (en) * 2004-12-29 2006-06-29 Ravishankar Iyer Low overhead mechanism for offloading copy operations
US7620773B2 (en) * 2005-04-15 2009-11-17 Microsoft Corporation In-line non volatile memory disk read cache and write buffer
US20070101186A1 (en) * 2005-11-02 2007-05-03 Inventec Corporation Computer platform cache data remote backup processing method and system
US8001307B1 (en) * 2007-04-27 2011-08-16 Network Appliance, Inc. Apparatus and a method to eliminate deadlock in a bi-directionally mirrored data storage system
US8055846B2 (en) 2008-08-15 2011-11-08 International Business Machines Corporation Data vaulting in emergency shutdown
US8347041B2 (en) * 2009-01-02 2013-01-01 Lsi Corporation System and method to preserve and recover unwritten data present in data cache of a disk subsystem across power outages
JP4930556B2 (ja) * 2009-07-09 2012-05-16 富士通株式会社 退避処理装置、退避処理方法およびストレージシステム
US9804960B2 (en) * 2013-03-14 2017-10-31 Western Digital Technologies, Inc. Overprovision capacity in a data storage device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1545169A (en) * 1977-09-22 1979-05-02 Burroughs Corp Data processor system including data-save controller for protection against loss of volatile memory information during power failure
JP2779813B2 (ja) * 1988-09-06 1998-07-23 セイコーエプソン株式会社 コンピューター
US5204963A (en) * 1990-12-07 1993-04-20 Digital Equipment Corporation Method and apparatus for a backup power controller for volatile random access memory
EP0574531A4 (de) * 1991-03-05 1995-03-08 Zitel Corp Cachespeichersystem und verfahren.
JPH07101376B2 (ja) * 1991-06-10 1995-11-01 松下電器産業株式会社 システム再起動装置
GB2256735B (en) * 1991-06-12 1995-06-21 Intel Corp Non-volatile disk cache
DE4309532C2 (de) * 1992-03-25 1996-10-31 Intel Corp Verfahren zum Sichern einer Systemabbildung eines Computersystems auf einer permanenten Speichereinrichtung sowie ein Computersystem
US5396637A (en) * 1993-03-02 1995-03-07 Hewlett-Packard Company Data processing system with power-fail protected memory module
JPH07175728A (ja) * 1993-12-20 1995-07-14 Hokkaido Nippon Denki Software Kk ディスクキャッシュデータ保全方式

Also Published As

Publication number Publication date
CA2223941A1 (en) 1996-12-12
EP0830651A1 (de) 1998-03-25
WO1996039653A1 (en) 1996-12-12
EP0830651B1 (de) 2001-11-14
DE69617009D1 (de) 2001-12-20
US5748874A (en) 1998-05-05
EP0830651A4 (de) 2000-06-28
CA2223941C (en) 2007-10-30

Similar Documents

Publication Publication Date Title
DE69617009T2 (de) Reservierter zylinder für einen nachschreib-cachespeicher für scsi-gerät
DE69937768T2 (de) Externe Speichervorrichtung und Verfahren zur Datensicherung
DE68922552T2 (de) Informationsaufzeichnungs- und -wiedergabegerät mit optischen Speicherplatten.
DE69817696T2 (de) Warmaustausch von gespiegeltem Nachschreib-Cachespeicher
DE69608641T2 (de) Ausfallbeseitigung für Steuergerät für eine Ein-/Ausgabevorrichtung
DE69626947T2 (de) Reservekopie-Generierung in einem RAID-Untersystem
DE69632219T2 (de) Speicherplattenanordnungssystem
DE68925653T2 (de) Verfahren und System zur Sicherungssteuerung in einem Datenverarbeitungssystem
DE60210211T2 (de) Redundante Datensicherungsvorrichtung und -Verfahren
DE69034227T2 (de) EEprom-System mit Blocklöschung
DE69528443T2 (de) Betriebsverfahren einer Speicherplattenanordnung
DE69803087T2 (de) Integriertes bimodales einzelchip-steuergerät
DE69131728T2 (de) Speicherungssystem für binäre rechner mit hoher geschwindigkeit, hoher kapazität, fehlertoleranz und fehlerkorrektur
DE69631106T2 (de) On-line-Rekonfiguration einer Speicherplattenanordnung
DE68920196T2 (de) Methode zur Behandlung von Daten in einer Dataspeicherungsbibliothek.
DE69700637T2 (de) Host-basierendes RAID-5 und nicht flüchtige RAM-Integration und Verfahren hierfür
DE69030024T2 (de) Verfahren zur Herstellung einer Duplikation von einer Datenbank
DE3881786T2 (de) Identifizierung von Datenspeicherungseinrichtungen.
DE69434381T2 (de) Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
DE3650333T2 (de) Verfahren zur Zustandsverwaltung gemeinsamer Betriebsmittel für ein komplexes Rechnersystem.
DE69622253T2 (de) System und verfahren für on-line- und echzeit-datenmigration
DE69738091T2 (de) Speicherplattenanordnung und Verfahren zu deren Steuerung
DE69835484T2 (de) Externe Speichervorrichtung und Gerät um Daten zu übertragen und zu empfangen
DE102020112512A1 (de) Datenspeichergerät und Betriebsverfahren dafür
DE69622647T2 (de) Wiederherstellbares Plattensteuersystem mit nichtflüchtigem Speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition