DE69129101T2 - Steuerungsanordnung für Cachespeichereinheit - Google Patents
Steuerungsanordnung für CachespeichereinheitInfo
- Publication number
- DE69129101T2 DE69129101T2 DE69129101T DE69129101T DE69129101T2 DE 69129101 T2 DE69129101 T2 DE 69129101T2 DE 69129101 T DE69129101 T DE 69129101T DE 69129101 T DE69129101 T DE 69129101T DE 69129101 T2 DE69129101 T2 DE 69129101T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- unit
- cache
- write
- storage unit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/312—In storage controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein ein Steuersystem zur Steuerung einer Hilfsspeichereinheit und einer Cache-Speichereinheit und betrifft spezieller ein Steuersystem zum Steuern einer Hilfsspeichereinheit und einer Cache- Speichereinheit mit einem Cache-Speicher und einem nicht flüchtigen Speicher, welches System in einem Datenverarbeitungssystem vorgesehen ist.
- Es wurde ein Datenverarbeitungssystem vorgeschlagen, welches einen Host-Computer, eine Cache-Speichereinheit mit einem Cache-Speicher, und eine Hilfsspeichereinheit (z.B. eine DASD (Direct Access storage Device = Speichervorrichtung mit direktem Zugriff wie beispielsweise eine Platteneinheit)) enthält. Wenn bei dieser Datenverarbeitungseinheit der Cache- Speicher die gleichen Daten enthält wie diejenigen in der Hilfsspeichereinheit, liest der Host-computer die Daten von dem Cache-Speicher aus anstatt der Daten aus der Hilfsspei chereinheit. Da in diesem Fall auf die Hilfsspeichereinheit (wie beispielsweise eine Platteneinheit),die eine lange Zugriffszeit erfordert, nicht zugegriffen wird, kann die Zeitdauer, die zum Erhalten der Daten erforderlich ist, vermindert werden.
- Alternativ werden die Daten, die von dem Host-Computer zugeführt wurden, in die Hilfsspeichereinheit in Einklang mit einem Dateneinschreibprozeß eingeschrieben, der häufig als ein Durchschleus-Einschreibprozeß bezeichnet wird.
- Wenn bei dem Durchschleus-Einschreibprozeß, wie in Fig.1 dargestellt ist, ein Host-Computer 31 einen Einschreibbefehl zusammen mit auf den neuesten Stand gebrachten Daten einer Platten-Steuereinheit 33 zuführt, schreibt die Platten- Steuereinheit 33 die erneuerten Daten sowohl in einen Cache- Speicher 35 als auch eine Hilfsspeichereinheit 37 (eine Platteneinheit) ein. Dieser Durchschleus-Einschreibprozeß hat den Vorteil, daß die in dem Cache-Speicher 35 gespeicherten Daten immer die gleichen sind wie die entsprechenden Daten, die in der Hilfsspeichereinheit 37 gespeichert sind. Da jedoch die Zeitdauer zum Einschreiben der Daten von der Zugriffszeit der Hilfsspeichereinheit abhängt (der Platteneinheit), kann der Gache-Speicher 35 nicht effektiv für das Dateneinschreiben verwendet werden.
- Um den zuvor erläuterten Nachteil des Durchschleus- Einschreibprozesses zu beseitigen, wurde ein System mit einem nicht flüchtigen Speicher vorgeschlagen, wie in Fig.2 gezeigt ist. Gemäß Fig.2 enthält die Plattensteuereinheit 41 eine Cache-Speichereinheit, die aus einem Cache-Speicher 35 und einem nicht flüchtigen Speicher 43 gebildet ist. Die Kapazität des nicht flüchtigen Speichers 43 ist kleiner als diejenige des Cache-Speichers 35. Dieses System führt einen Dateneinschreibprozeß aus, der häufig auch als schneller Schreibprozeß bezeichnet wird. Wenn bei dem schnellen Schreibprozeß der Host-Computer 31 den Schreibbefehl zusammen mit den erneuerten Daten der Platten-Steuereinheit 41 zuführt, steuert die Plattensteuereinheit 41 die Cache-Speichereinheit in sol cher Weise, daß die erneuerten Daten sowohl in dem Cache- Speicher 35 als auch in dem nicht flüchtigen Speicher 43 gespeichert werden. Danach schreibt die Plattensteuereinheit 41 die auf den neuesten Stand gebrachten Daten, die in dem nicht flüchtigen Speicher 43 gespeichert wurden, in die Hilfsspei chereinheit 37 ein und zwar asynchron mit dem Einschreibbefehl von dem Host-Computer 31. Ein Prozeß zum Einschreiben der in dem nicht flüchtigen Speicher 43 gespeicherten Daten in den Hilfsspeicher 37 wird als Rückschreibprozeß bezeichnet. Gemäß dem schnellen Schreibprozeß ist, wenn die erneuerten Daten in den nicht flüchtigen Speicher 43 anstelle in die Hilfsspeichereinheit 37 eingeschrieben werden und zwar abhängig von dem Einschreibbefehl von dem Host-Computer 31, die Zeit, die für den Einschreibprozeß erforderlich ist basierend auf dem Einschreibbefehl, kürzer als diejenige, die bei dem Durchschleus-Einschreibprozeß erforderlich ist, der zuvor beschrieben wurde. D.h. es kann der Einschreibprozeß mit einer hohen Geschwindigkeit ausgeführt werden.
- Bei dem System, welches den nicht flüchtigen Speicher 43 enthält, wird, um die Speicher effektiv zu verwenden, eine Spur, auf der Daten gespeichert sind, in N Blöcke aufgeteilt und es können die Daten für jeden Block in bzw. aus dem Cache-Speicher 35 und dem nicht flüchtigen Speicher 43 eingeschrieben bzw. ausgelesen werden. Wenn somit die Zahl der verwendeten Blöcke in dem nicht flüchtigen Speicher 43 kleiner ist als N und die Zahl der Blöcke, die den erneuerten Daten entsprechen, welche von dem Host-Computer 31 zugeführt wurden, größer ist als N, können die Daten nicht in den nicht flüchtigen Speicher 43 eingeschrieben werden. In diesem Fall werden verschiedene Einschreibprozesse basierend darauf ausgeführt, ob der nicht flüchtige Speicher 43 Daten auf einer identifizierten Spur in dem Cache-Speicher 35 enthält oder nicht. D.h. wenn der nicht flüchtige Speicher 43 keine Daten in der identifizierten Spur aufweist, werden in einem ersten Prozeß die Einschreibdaten, die der identifizierten Spur entsprechen, welche von dem Host-Computer 31 zugeführt wurden, in den Hilfsspeicher 37 eingeschrieben und zwar in Einklang mit dem oben beschriebenen Durchschleus-Einschreibprozeß. Wenn der nicht flüchtige Speicher 43 Daten in der identifizierten Spur aufweist, werden, um in einem zweiten Prozeß die Daten in der richtigen Reihenfolge in der Hilfsspeichereinheit 37 zu erneuern, die Einschreibdaten, die der identifi zierten Spur entsprechen, welche von dem Host-computer 31 zugeführt wurden, in die Hilfsspeichereinheit 37 eingeschrieben, nachdem die Daten, die in dem nicht flüchtigen Speicher 43 gespeichert worden sind, der Hilfsspeichereinheit 37 zugeführt wurden und in diese eingeschrieben wurden. Der zuvor beschriebene zweite Prozeß wird häufig als Rückschreibprozeß und Durchschleus-Einschreibprozeß bezeichnet.
- Gemäß dem herkömmlichen Steuersystem zum Steuern der Cache-Speichereinheit, welche den nicht flüchtigen Speicher enthält, werden die Einschreibdaten, die von dem Host- Computer zugeführt werden, immer entsprechend dem schnellen Einschreibprozeß verarbeitet während sich der nicht flüchtige Speicher in einem Zustand befindet, bei dem die Zahl der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher größer ist als die Zahl der Blöcke, die den Daten entsprechen, welche von dem Host-Computer zugeführt wurden. Es nimmt daher in einem Zustand, bei dem die Zahl der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 klein ist, eine Wahrscheinlichkeit zu, daß die Einschreibdaten, die von dem Host-Computer zugeführt werden, in Einklang mit dem Rückschreibprozeß und dem Durchschleus-Einschreibprozeß verarbeitet werden. Bei dem Rückschreib-und Durchschleus- Einschreibprozeß wird auf die Hilfsspeichereinheit zweimal zugegriffen, so daß die Zeit, die für den Rückschreibprozeß und den Duchschleus-Einschreibprozeß erforderlich ist, wenigstens zweimal so groß ist wie diejenige, die für den Durchschleus-Einschreibprozeß erforderlich ist.
- Es ist daher eine allgemeine Aufgabe der vorliegenden Erfindung ein neues und nützliches Steuersystem zur Steuerung einer Cache-Speichereinheit mit einem nicht flüchtigen Speicher zu schaffen, bei dem die Nachteile des zuvor erläuterten Standes der Technik beseitigt sind.
- Ein spezifischeres Ziel der vorliegenden Erfindung besteht darin, ein Steuersystem zur Steuerung einer Cache- Speichereinheit mit einem nicht flüchtigen Speicher zu schaffen, durch das eine Wahrscheinlichkeit, daß ein Rückschreibprozeß und ein Durchschleus-Einschreibprozeß ausgeführt werden und zwar in einem Zustand, bei dem die Zahl der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher klein ist, vermindert werden kann.
- Die oben erwähnten Ziele der vorliegenden Erfindung werden mit Hilfe eines Steuersystem erreicht, um eine Hilfsspeichereinheit und eine Cache-Speichereinheit zu steuern, die eine Cache-Speichervorrichtung und eine nicht flüchtige Speichervorrichtung umfaßt, basierend auf einem Einschreibbefehl, der zusammen mit Erneuerungsdaten von einer externen Einheit zugeführt wird, um die erneuerten Daten in einen spezifizierten Speicherbereich der Hilfsspeichereinheit einzuschreiben, wobei das Steuersystem folgendes aufweist: eine erste Bestimmungseinrichtung, um zu bestimmen, ob ein nicht verwendeter Bereich in der nicht flüchtigen Speichereinrichtung kleiner ist als ein Bezugsbereich, wobei der nicht verwendete Bereich ein Bereich ist, der keine Daten enthält; eine erste Verarbeitungseinrichtung zur Durchführung eines ersten Prozesses, wenn die erste Bestimmungseinrichtung bestimmt, daß der nicht verwendete Bereich in der nicht flüchtigen Speichereinrichtung nicht kleiner ist als der Bezugsbereich, wobei der erste Prozeß einen Schritt enthält, um die auf den neuesten Stand gebrachten Daten sowohl in die Cache-Speichereinrichtung als auch in die nicht flüchtige Speichereinrichtung einzuschreiben, wobei die auf den neuesten Stand gebrachten Daten, die in die nicht flüchtige Speichereinrichtung eingeschrieben wurden, in den identifizierten Speicherbereich der Hilfsspeichereinrichtung eingeschrieben werden und zwar asynchron mit dem Einschreibbefehl; eine zweite Bestimmungseinrichtung, die an die erste Bestimmungseinrichtung gekoppelt ist, um zu bestimmen, ob die nicht flüchtige Speichereinrichtung Daten enthält, die dem identifizierten Speicherbereich entsprechen, wenn die erste Bestimmungseinrichtung bestimmt, daß der nicht verwendete Bereich in der nicht flüchtigen Speichereinrichtung kleiner ist als der Bezugsbereich; eine zweite verarbeitende Einrichtung zum Durchführen eines zweiten Prozesses, wenn die zweite Bestimmungseinrichtung bestimmt, daß die nicht flüchtige Speichereinrichtung keine Daten enthält, die dem identifizierten Speicherbereich entsprechen, wobei der zweite Prozeß einen Schritt umfaßt, um die auf den neuesten Stand gebrachten Daten sowohl in die Cache-Speichereinrichtung als auch in die identifizierte Zone bzw. Bereich der Hilfsspeichereinrichtung einzuschreiben; eine dritte Bestimmungseinrichtung, die an die zweite Bestimmungseinrichtung gekoppelt ist, um zu bestimmen, ob der nicht verwendete Bereich in der nicht flüchtigen Speichereinrichtung dazu verwendet werden kann, um die maximale Menge von Daten, die in die Hilfsspeichereinheit einzuschreiben ist, verwendet werden kann oder nicht, wenn die zweite Bestimmungseinrichtung bestimmt hat, daß die nicht flüchtige Speichereinrichtung Daten enthält, die der identifizierten Speicherzone entsprechen; eine dritte verarbeitende Einrichtung zum Durchführen des ersten Prozesses, wenn die dritte Bestimmungseinrichtung bestimmt hat, daß der nicht verwendete Bereich in der nicht flüchtigen Speichereinrichtung zum Speichern der genannten maximalen Menge von Daten, die in die Hilfsspeichereinheit einzuschreiben sind, verwendet werden kann; und eine vierte verarbeitende Einrichtung zum Durchführen eines dritten Prozesses, wenn die dritte Bestimmungseinrichtung bestimmt hat, daß der nicht verwendete Bereich in der nicht flüchtigen Speichereinrichtung für die Speicherung der maximalen Menge von Daten, die in die Hilfsspeichereinheit einzuschreiben sind, nicht verwendet werden kann, wobei der dritte Prozeß einen ersten Schritt umfaßt, um die Daten, die in der nicht flüchtigen Speichereinrichtung abgespeichert wurden, in der identifizierten Speicherzone der Hilfsspeichereinheit einzuschreiben, und einen zweiten Schritt umfaßt, um die auf den neuesten Stand gebrachten Daten sowohl in die Cache- Speichereinrichtung als auch in die identifizierte Speicherzone der Hilfsspeichereinheit nach dem ersten Schritt einzuschreiben.
- Gemäß der vorliegenden Erfindung wird in einem Fall, bei dem der nicht verwendete Bereich in der nicht flüchtigen Speichereinrichtung kleiner ist als der Bezugsbereich, der Bereich in der nicht flüchtigen Speichereinrichtung daran gehindert, für eine neue identifizierte Spur verwendet zu werden und es wird der nicht verwendete Bereich in der nicht flüchtigen Speichereinrichtung in bevorzugter Weise zum Speichern von Daten verwendet, die der identifizierten Spur entsprechen, deren Daten in der Cache-Speichereinrichtung gespeichert worden sind. Es wird somit die Wahrscheinlichkeit, daß der dritte Prozeß (der Rückschreib-und Durchschleus- Einschreibprozeß), bei dem die Hilfsspeichereinheit zweimal zugegriffen wird, ausgeführt wird, vermindert.
- Zusätzliche Ziele, Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der folgenden detaillierten Beschreibung in Verbindung mit den beiliegenden Zeichnungen.
- Fig. 1 ist ein Diagramm, welches ein Steuersystem zur Steuerung einer Cache-Speichereinheit und einer Hilfsspeichereinheit gemäß einem Durchschleus-Einschreibprozeß veranschaulicht;
- Fig. 2 ist ein Diagramm, welches ein Steuersystem zur Steuerung einer Cache-Speichereinheit und einer Hilfsspeichereinheit in Einklang mit einem Schnell-Einschreibprozeß veranschaulicht;
- Fig. 3 zeigt ein Flußdiagramm, welches die Prinzipien eines Prozesses veranschaulicht, der in dem Steuersystem gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt wird;
- Fig. 4 zeigt ein Blockschaltbild, welches ein Steuersystem gemäß der Ausführungsform der vorliegenden Erfindung veranschaulicht;
- Fig. 5A ist ein Blockschaltbild, welches eine Struktur von jedem Kanal-Adapter (CA) veranschaulicht, der in Fig.4 gezeigt ist;
- Fig. 5B ist ein Blockschaltbild, welches eine Struktur von jedem Vorrichtungs-Adapter (DA) veranschaulicht, der in Fig.4 gezeigt ist;
- Fig. 5C ist ein Blockschaltbild, welches eine Struktur von sowohl einer Resourcen-Managereinheit (RM) als auch einer Cachefunktion-Maschineneinheit (CFE) veranschaulicht;
- Fig. 6 zeigt ein Diagramm, welches eine Struktur einer Cache-Steuertabelle und einer LRU Tabelle veranschaulicht, die in einem Speicher gespeichert sind, wie in Fig. 5C gezeigt ist; und
- Figuren 7A bis 7E zeigen Flußdiagramme, welche die Prozesse zum Einschreiben von Daten in die Hilfsspeichereinheit und die Cache-Speichereinheit veranschaulichen, welche Daten von einem Host-Computer zugeführt wurden.
- Es folgt nun eine Beschreibung des Prinzips eines Prozesses, der durch ein Steuersystem gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführt wird und zwar unter Hinweis auf Fig.3.
- Der in Fig.3 gezeigte Prozeß wird beispielsweise durch die Cache-Steuereinheit 41 ausgeführt, die in Fig.2 gezeigt ist. Gemäß Fig.3 wird bei dem Schritt 100 ein Einschreibbefehl zusammen mit Einschreibdaten empfangen, die von dem Host-Computer 31 zugeführt wurden. Dann wird bei dem Schritt 101 bestimmt, ob die Zahl (NUNVS) der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 kleiner ist als ein vorherbestimmter Bezugswert (NREF). Wenn bei dem Schritt 101 festgelegt wird, daß die Zahl (NUNVS) der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 kleiner ist als der Bezugswert (NREF), wird bei dem Schritt 102 die Cache- Steuereinheit in Einklang mit dem Schnell-Einschreibprozeß gesteuert. D.h. es werden die Einschreibdaten, die von dem Host-Computer 31 zugeführt werden, in dem nicht flüchtigen Speicher 43 gespeichert und zwar in einem Zustand, bei dem die Cache-Steuereinheit 41 nicht mit der Hilfsspeichereinheit 37 verbunden ist. Danach werden die in dem nicht flüchtigen Speicher 43 gespeicherten Daten in die Hilfsspeichereinheit 37 eingeschrieben und zwar asynchron mit dem Einschreibbefehl von dem Host-Computer 31. Wenn bei dem Schritt 101 bestimmt wird, daß die Zahl (NUNVS) der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 kleiner ist als der Bezugswert NREF, wird bei dem Schritt 103 bestimmt, ob der nicht flüchtige Speicher 43 Daten auf einer Spur enthält oder nicht, die in dem Cache-Speicher 35 identifiziert wurden. Wenn der nicht flüchtige Speicher 43 auf der identifizierten Spur keine Daten enthält, werden bei dem Schritt 104 die Einschreibdaten sowohl in die Hilfsspeichereinheit 37 als auch in den Cache- Speicher 35 in Einklang mit dem Durchschleus-Einschreibprozeß direkt eingeschrieben, um zu verhindern, daß die zahl der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 zunimmt. Wenn in diesem Zustand die in dem nicht flüchtigen Speicher 43 gespeicherten Daten in die Hilfsspeichereinheit 37 in Einklang mit dem Rückschreibprozeß eingeschrieben werden und asynchron mit dem Einschreibbefehl, nimmt die Zahl der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 zu. Wenn andererseits bei dem Schritt 103 bestimmt wird, daß der nicht flüchtige Speicher 43 Daten auf der identifizierten Spur enthält, wird bei dem Schritt 105 bestimmt, ob die Daten für eine Spur, welche die maximale Menge an Daten für eine Einschreiboperation darstellen, in den nicht flüchtigen Speicher 43 eingeschrieben werden können oder nicht. Wenn bei dem Schritt 105 bestimmt wird, daß die Daten für eine Spur in den nicht flüchtigen Speicher 43 eingespeichert werden können, wird bei dem Schritt 102 die Cache- Speichereinheit in Einklang mit dem schnellen Einschreibprozeß gesteuert. Wenn bei dem Schritt 105 bestimmt wird, daß die Daten für eine Spur in dem nicht flüchtigen Speicher 43 nicht gespeichert werden können, wird bei dem Schritt 106 die Cache-Speichereinheit und die Hilfsspeichereinheit 37 in Einklang mit dem Rückschreib-und Durchschleus-Einschreibprozeß gesteuert. D.h. nachdem die Daten, die in dem nicht flüchtigen Speicher 43 gespeichert worden sind, in die Hilfsspeichereinheit 37 in Einklang mit dem Rückschreibprozeß eingeschrieben wurden, werden die Einschreibdaten in die Hilfsspeichereinheit 37 entsprechend dem Durchschleus- Einschreibprozeß eingeschrieben.
- Wenn gemäß dem oben erläuterten Einschreibprozeß die zahl der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 klein ist (kleiner als die Bezugszahl), wird verhindert, daß die zahl der Blöcke, die den Daten auf den neuerlich identifizierten Spuren entsprechen, zunimmt und es werden die nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 43 in bevorzugter Form dafür verwendet, um Daten entsprechend der identifizierten Spur in dem Cache-Speicher 35 zu speichern. D.h. wenn die Menge der Daten auf der neuerlich identifizierten Spur in dem nicht flüchtigen Speicher 43 nicht erhöht wird, wird die Wahrscheinlichkeit vermindert, daß die in dem nicht flüchtigen Speicher 43 gespeicherten Daten bei dem Einschreibprozeß zugegriffen werden. Somit wird auch die Wahrscheinlichkeit vermindert, daß der Rückschreibund Durchschleus-Einschreibprozeß, bei dem die Hilfsspeichereinheit zweimal zugegriffen wird, ausgeführt wird.
- Es folgt nun eine Beschreibung einer Ausführungsform der vorliegenden Erfindung unter Hinweis auf die Figuren 4 bis 7E.
- Gemäß Fig.4, die ein Datenverarbeitungssystem mit einem Steuersystem gemäß einer Ausführungsform der vorliegenden Erfindung zeigt, enthält das Datenverarbeitungssystem einen Host-Computer 101 einen Kanal 12, eine Datei-Steuereinheit 14, eine erste Platteneinheit 15 (0) und eine zweite Platteneinheit 15 (1). Die Datei-Steuereinheit 14 steuert die erste und die zweite Platteneinheit 15 (0) und 15 (1) in Einklang mit Befehlen, die von dem Host-Computer 10 über dem Kanal 12 zugeführt werden. Die Datei-Steuereinheit 14 enthält eine Resourcen-Managereinheit 140, eine Cachefunktion-Maschineneinheit 145, eine Cache-Speichereinheit 146, ein erstes Eingabe/Ausgabe-System und ein zweites Eingabe/Ausgabe-System. Die ersten und zweiten Eingabe/Ausgabe-Systeme besitzen jeweils Treiber/Empfänger 141 (0) und 141 (1) (DV/RV), die an den Kanal 12 gekoppelt sind, Kanal-Adapter 142 (0) und 142 (1) (CA), Vorrichtungs-Adapter 143 (0) und 143 (1) (DA), und einen Treiber/Empfänger 144 (0) (DV/RV), der an die erste Platteneinheit 15 (0) gekoppelt ist, und eine Treiber/Empfängereinheit 144 (1) (DV/RV), die an die zweite Platteneinheit 15 (1) gekoppelt ist. Das erste Eingabe/Ausgabe- System ist mit der Resourcen-Managereinheit 140, der Cachefunktion-Maschineneinheit 145 und der Cache-Speichereinheit 146 über einen C-Bus 148 (0) gekoppelt. Das zweite Eingabe/Ausgabe-System ist ebenfalls mit der Resourcen- Managereinheit 140, der Cachefunktion-Maschineneinheit 145 und der Cache-Speichereinheit 146 über einen c-Bus 148 (1) gekoppelt. Die Resourcen-Managereinheit 140 steuert alle Teile der Datei-Steuereinheit 14.
- Die Cachefunktion-Maschineneinheit 145 führt Prozesse hinsichtlich der Steuerung der Cache-Speichereinheit 146 aus. Die Cache-Speichereinheit 146 besitzt einen Cache-Speicher 146a und einen nicht flüchtigen Speicher 146b.
- Jeder der Kanal-Adapter 142 (0) und 142 (1) ist beispielsweise so wie in Fig.5A gezeigt ist, ausgebildet. Gemäß Fig.5A umfaßt jeder Kanal-Adapter eine Mikroprozessoreinheit 20 (MPU), eine Bus-Interface-Logikeinheit 21, eine Kanal- Interface-Logikeinheit 22 und einen Speicher 23, die durch einen Bus miteinander verbunden sind. Die Bus-Interface- Logikeinheit 21 ist an den c-Bus 148 (0) oder 148 (1) gekoppelt. Die Kanal-Interface-Logikeinheit 22 ist an den Kanal 12 gekoppelt. Verschiedene Steuerprogramme, die durch die MPU 20 ausgeführt werden, sind in dem Speicher 23 gespeichert.
- Jeder der Vorrichtungs-Adapter 143 (0) und 143 (1) ist so, wie in Fig.5B gezeigt ist, ausgeführt. Gemäß Fig.5B besitzt jeder Vorrichtungs-Adapter eine Mikroprozessoreinheit 24 (MPU), eine Bus-Interface-Logikeinheit 25, eine Vorrichtung-Interface-Logikeinheit 26 und einen Speicher 27, die durch einen Bus miteinander verbunden sind. Die Bus- Interface-Logikeinheit 25 ist mit einem entsprechenden c-Bus 148 (0) oder 148 (1) gekoppelt. Die Vorrichtung-Interface- Logikeinheit 26 ist mit einer entsprechenden Platteneinheit 15 (0) oder 15 (1) gekoppelt. Verschiedene Steuerprogramme, die durch die MPU 24 ausgeführt werden, sind in dem Speicher 27 abgespeichert.
- Die Resourcen-Managereinheit 140 und die Cachefunktion- Maschineneinheit 145 sind jeweils beispielsweise so, wie in Fig.5C gezeigt ist, ausgeführt. Gemäß Fig.5C ist eine Mikroprozessoreinheit 50 (MPU) mit einem ersten Bus-Interface 51, einem zweiten Bus-Interface 52, einem ersten Speicher 53a und einem zweiten Speicher 53b über einen Bus verbunden. Das erste Bus-Interface 51 ist an den c-bus 148 (0) gekoppelt und das zweite Bus-Interface 52 ist an den c-Bus 148 (1) gekoppelt. Verschiedene Steuerprogramme, die durch die MPU 50 ausgeführt werden, sind in dem ersten Speicher 53a abgespeichert. Eine Aufgaben-Management-Tabelle, die zum Managen der Datei-Steuereinheit 14 verwendet wird, ist in dem zweiten Speicher 53b der Resourcen-Managereinheit 140 gespeichert. Eine Cache-Management-Tabelle, die zum Steuern der Cache- Speichereinheit 146 verwendet wird, ist in dem zweiten Speicher 53b der Cachefunktion-Maschineneinheit 145 gespeichert.
- Die in dem zweiten Speicher 53b der Cachefunktion- Maschineneinheit 145 gespeicherte Cache-Management-Tabelle ist beispielsweise so, wie in Fig.6 gezeigt ist, ausgeführt. Gemäß Fig.6 besitzt die Cache-Management-Tabelle eine unbenützte Speichertabelle, eine ungenützte NSV (Nonvolatile Storage Device = nicht flüchtige Speichervorrichtung)-Tabelle und eine LRU (Least Recently Used = unmittelbar zuletzt verwendete)-Tabelle. Die nicht verwendete Speichertabelle zeigt nicht verwendete Blöcke in dem Cache-Speicher 146a an, in welchem noch keine Daten gespeichert worden sind. Die nicht verwendete NSV Tabelle zeigt nicht verwendete Blöcke in dem nicht flüchtigen Speicher 146b an, in welchen Daten noch nicht gespeichert worden sind. Die LRU Tabelle zeigt die Beziehungen zwischen den Spuradressen, welche Spuren in den Platteneinheiten 15 (0) 15 (1) identifizieren, und den verwendeten Blöcken an, die aus Blöcken bestehen, welche zum Speichern der Daten auf den Spuren der Platteneinheiten 15 (0) und 15 (1) verwendet werden und zwar in dem Cache- Speicher 146a und dem nicht flüchtigen Speicher 146b. Die Cachefunktion-Maschineneinheit 145 steuert die Cache- Speichereinheit 146 mit Bezugnahme auf die Cache-Management- Tabelle und es wird die Cache-Management-Tabelle auf den neuesten Stand gebracht während die Cachefunktion- Maschineneinheit 145 die Cache-Speichereinheit 146 steuert.
- Es folgt nun eine Beschreibung der Operationen der Datei-Steuereinheit 14 in einem Fall, bei dem auf den neuesten Stand gebrachte Daten in die Platteneinheit 15 (0) oder 15 (1)eingeschrieben werden. In diesem Fall arbeitet die Datei- Steuereinheit 14 in Einklang mit den Prozessen, die in den Figuren 7A bis 7E gezeigt sind.
- Wenn der Host-Computer einen Schreibbefehl dem Kanal 12 zuschickt, startet ein Prozeß, der in Fig.7a gezeigt ist. D nach wird angenommen, daß die erste Platteneinheit 15(0) zugegriffen wurde. Der Kanal-Adapter 142(0) empfängt den Einschreibbefehl von dem Kanal 12 bei dem Schritt 200. Es werden die Einschreibdaten und eine Spur, in die Einschreibdaten in der ersten Platteneinheit 15(0) eingeschrieben werden sollten, durch den Einschreibbefehl spezifiziert. Wenn der Kanal- Adapter 142 (0) den Einschreibbefehl empfängt, schickt der Kanal-Adapter 142(0) den Einschreibbefehl zu der Cachefunktion-Maschineneinheit 145. Dann prüft die Cachefunktion- Maschineneinheit 145 den Cache-Status betreffend die identifizierte Spur unter Bezugnahme auf die Cache-Management Tabelle, die in Fig.6 gezeigt ist, was bei dem Schritt 201 erfolgt. D.h. der Status der Blöcke, die für die identifizierte Spur in dem Cache-Speicher 146a und dem nicht flüchtigen Speicher 146b und ähnliche verwendet werden, werden geprüft. Bei diesem Schritt wird beispielsweise die Zahl NUNVS der nicht verwendeten Blöcke, welche aus Blöcken bestehen, die zum Speichern der Daten in dem nicht flüchtigen Speicher 146b nicht verwendet werden, detektiert. Die Cachefunktion- Maschineneinheit 145 bestimmt, ob die Zahl NUNSV der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b kleiner ist als ein vorherbestimmter Bezugswert NREF, was bei dem Schritt 202 erfolgt.
- Wenn bestimmt wird, daß die Zahl NUNSV der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b nicht kleiner ist als der Bezugswert NREF, startet ein in Fig.7B gezeig ter Prozeß. Der in Fig.7B gezeigte Prozeß wird als Schnelleinschreib-Prozeß bezeichnet. Die Cachefunktion- Maschineneinheit 145 instruiert den Kanal-Adapter 142 (0) den schnellen Einschreibprozeß zu starten, was bei dem Schritt 210 erfolgt. Dann schreibt der Kanal-Adapter 142 (0) die von dem Kanal 12 geschickten Einschreibdaten in den nicht flüchtigen Speicher 146b bei dem Schritt 211 ein. Wenn der Schritt 211 vervollständigt ist, beendet die Datei-Steuereinheit 14 den Prozeß für das Einschreiben der Daten. Danach werden die in dem nicht flüchtigen Speicher 146 gespeicherten Daten in die erste Platteneinheit 15(0) eingeschrieben und zwar basierend auf der Steuerung des Resourcen-Manager 140 und der Cachefunktion-Maschineneinheit 145 und zwar asynchron mit dem Einschreibbefehl von dem Host-Computer 10.
- Wenn andererseits die Funktion-Maschineneinheit 145 bei dem Schritt 202 bestimmt, daß die zahl NUNSV der nicht verwendeten Blöcke in den nicht flüchtigen Speicher 146b kleiner ist als der Bezugswert NREF, prüft die Cachefunktion- Maschineneinheit 145 die Zahl NCACHE der Blöcke, die für die identifizierte Spur in dem Cache-Speicher 146a verwendet werden und zwar unter Bezugnahme auf die Cache-Management- Tabelle, was bei dem Schritt 203 stattfindet.
- Dann bestimmt die Cachefunktion-Maschineneinheit 145, ob der nicht flüchtige Speicher 146b Blöcke enthält, die für die identifizierte Spur verwendet werden, was bei dem Schritt 204 erfolgt. Wenn bestimmt wird, daß der nicht flüchtige Speicher 146b keine Blöcke enthält, die für die identifizierte Spur verwendet werden, wird ein in Fig.7E und Fig.7D gezeigter Prozeß gestartet. Der in Fig.7E und Fig.7D gezeigte Prozeß wird als Duchschleus-Einschreibprozeß bezeichnet. Nach dem Schritt 204 instruiert die Cachefunktion-Maschineneinheit 145 den Kanal-Adapter 142 (0) den Durchschleus-Einschreibprozeß zu starten, was bei dem Schritt 204 vor sich geht. Der Kanal- Adapter 142 (0) wird bei dem Schritt 241 von dem Kanal 12 abgetrennt und dann instruiert der Kanal-Adapter 142(0) die Resourcen-Managereinheit 140 bei dem Schritt 242 den Durchschleus-Einschreibprozeß auszuführen. Dann instruiert die Resourcen-Managereinheit 140 die Adaptervorrichtung 143(0) bei dem Schritt 243 den Durchschleus-Einschreibprozeß zu starten. Wenn der Vorrichtungs-Adapter 143(0) an die erste Platteneinheit 15(0) gekoppelt ist, informiert der Vorrichtungs-Adapter 143 (0) die Resourcen-Managereinheit 140 darüber, daß der Vorrichtungs-Adapter 143 (0) an die erste Platteneinheit 15(0)angekoppelt wurde, was bei dem Schritt 244 erfolgt. Nach dem Schritt 244, schreitet der Prozeß zu dem Schritt 227 voran, der in Fig.7D gezeigt ist. Wenn der Vorrichtungs-Adapter 143 (0) an die erste Platteneinheit 15 (0) gekoppelt ist, die oben beschrieben wurde, instruiert der Resourcen-Manager 140 den Kanal-Adapter 142 (0) sich wieder an den Kanal 12 anzukoppeln, was bei dem Schritt 227 erfolgt. Der Kanal-Adapter 142 (0) wird wie der an den Kanal 12 basierend auf dem Befehl von der Resourcen-Managereinheit 140 angekoppelt, was bei dem Schritt 228 erfolgt. Wenn der Kanal-Adapter 142(0) erneut an den Kanal 12 vollständig angekoppelt worden ist, informiert der Kanal-Adapter 142(0) die Resourcen-Managereinheit 140 darüber, daß der Kanal-Adapter 142 (0) an den Kanal wieder angekoppelt worden ist, was bei dem Schritt 229 erfolgt. Dann instruiert die Resourcen-Managereinheit 140 sowohl den Kanal- Adapter 142 (0) als auch den Vorrichtungs-Adapter 143 (0) den Durchschleus-Einschreibprozeß zu starten, was bei dem Schritt 230 erfolgt. Danach empfängt der Kanal-Adapter 142 (0) die Einschreibdaten, die von dem Kanal 12 zugeführt werden und zwar über den Treiber/Empfänger 141 (0) und schreibt die Schreibdaten in den Cache-Speicher 146a ein, was bei dem Schritt 231 erfolgt. Nach dieser zeit werden die Schreibdaten von dem Kanal-Adapter 142(0) dem Vorrichtungs-Adapter 143 (0) zugeführt. Dann schreibt der Vorrichtungs-Adapter 143(0) die Schreibdaten in die erste Platteneinheit 15 (0) ein. Wenn der Schritt 231 vervollständigt ist, beendet die Datei-Steuereinheit 14 den Prozeß die Daten einzuschreiben.
- Wenn gemäß Fig.7A die Cachefunktion-Maschineneinheit 145 bestimmt, daß der nicht flüchtige Speicher 146b Blöcke enthält, die für die identifizierte Spur verwendet werden, so bestimmt die Cachefunktion-Maschineneinheit 145, ob die Zahl NUNSV der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b gleich ist oder größer ist als eine Differenz zwischen der zahl No der Blöcke für eine Spur und der Zahl NNVS der Blöcke, die für die identifizierte Spur verwendet werden oder nicht. Da die maximale Menge an Daten, die in einer Operation auf den neuesten Stand gebracht werden können, einer Spur entspricht, können dann, wenn die zahl NUNSV der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b gleich ist oder größer ist als die Differenz zwischen den Zahlen No und NNVS, die Schreibdaten, welche von dem Host- Computer 10 zugeführt wurden, in den nicht flüchtigen Speicher 146b unter Verwendung der nicht verwendeten Blöcke eingeschrieben werden. D.h. es wird dann, wenn die Cachefunktion-Maschineneinheit 145 bestimmt, daß die zahl NUNVS der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b gleich ist oder größer ist als die Differenz zwischen den Zahlen No und NNVS, der schnelle Schreibprozeß ausgeführt, der in Fig.7B gezeigt ist, und zwar in der gleichen Weise wie oben beschrieben wurde.
- Wenn andererseits die Zahl NUNSV der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b kleiner ist als die Differenz zwischen der Zahl No der Blöcke für eine Spur und der Zahl NNSV der Blöcke, die für die identifizierte Spur in dem nicht flüchtigen Speicher 146b verwendet werden, kann ein Fall auftreten, bei dem alle Schreibdaten nicht in dem nicht flüchtigen Speicher 146b gespeichert werden. Wenn somit die Cachefunktion-Maschineneinheit 145 bestimmt, daß die Zahl NUNVS der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b kleiner ist als die Differenz zwischen den zahlen No und NNVS, werden der Rückschreibprozeß und der Durchschleus-Einschreibprozeß ausgeführt. D.h. der in den Figuren 7C und 7D gezeigte Prozeß wird gestartet.
- Die Cachefunktion-Maschineneinheit 145 schickt Daten von etwa der Zahl NCACHE der für die identifizierte Spur verwendeten Blöcke in dem Cache-Speicher 146a und Daten in der Größe der zahl NNVS der für die identifizierte Spur in dem nicht flüchtigen Speicher 146b verwendeten Blöcke, zu dem Kanal- Adapter 142 (0) und dann instruiert die Cachefunktion- Maschineneinheit 145 den Kanal-Adapter 142(0) den Rückschreibprozeß und den Durchschleus-Einschreibprozeß zu starten, was bei dem Schritt 220 geschieht. Dann wird der Kanal- Adapter 142 (0) von dem Kanal 12 bei dem Schritt 221 abgetrennt. Der Kanal-Adapter 142 (0) schickt Anfragedaten des Rückschreibprozesses und des Durchschleus-Einschreibprozesses zu der Resourcen-Managereinheit 140,was bei dem Schritt 222 geschieht. Wenn die Resourcen-Managereinheit 140 die Anfragedaten empfängt, instruiert die Resourcen-Managereinheit 140 den Vorrichtungs-Adapter 143(0) den Rückschreibprozeß und den Durchschleus-Einschreibprozeß auszuführen, was beim Schritt 223 der Fall ist. Der Vorrichtungs-Adapter 143 (0) schickt dann eine Anfrage zum Erhalten der Rückschreibdaten zu der Cachefunktion-Maschineneinheit 145, was beim Schritt 224 erfolgt. Die Rückschreibdaten bestehen aus Daten, die der identifizierten Spur entsprechen und sie werden in dem nicht flüchtigen Speicher 146b gespeichert. In Abhängigkeit von der oben erwähnten Anfrage des Vorrichtungs-Adapters 143(0) liest die Cachefunktion-Maschineneinheit 145 die Rückschreibdaten aus dem nicht flüchtigen Speicher 146b aus und schickt diese bei dem Schritt 225 zu dem Vorrichtungs-Adapter 143 (0). Danach schreibt der Vorrichtungs-Adapter 143 (0) die Rückschreibdaten auf die identifizierte Spur in der ersten Platteneinheit 15(0), was bei dem Schritt 226 erfolgt. Dann informiert der Vorrichtungs-Adapter 143 (0) die Resourcen- Managereinheit 140 darüber, daß der Kanal-Adapter 142 (0) wieder an den Kanal 12 angekoppelt ist.
- Wenn die Rückschreibdaten, die in dem nicht flüchtigen Speicher 146b gespeichert sind, auf die identifizierte Spur in der ersten Platteneinheit 15(0) eingeschrieben werden, wird der Prozeß, der in Fig.7D gezeigt ist, in der gleichen Weise ausgeführt wie der Durchschleus-Einschreibprozeß, der oben beschrieben wurde, so daß die Schreibdaten, die von dem Host-Computer 10 zugeführt wurden, sowohl in den Cache- Speicher 146b als auch in die erste Platteneinheit 15(0) eingeschrieben werden.
- Bei der oben erläuterten Ausführungsform der vorliegenden Erfindung hängt der Bezugswert NREF , der mit der Zahl NUNVS der nicht verwendeten Blöcke in dem nicht flüchtigen Speicher 146b verglichen wird, von der Wahrscheinlichkeit ab, das zugegriffene Daten in dem Cache-Speicher 146a (dem Daten- Treffer) vorhanden sind, die in dem Datenverarbeitungssystem und ähnlichem erhalten wurden.
Claims (5)
1. Steuersystem zum Steuern einer
Hilfs-Speichereinheit (15(0), 15(1)) und einer Cache-Speichereinheit (146)
mit einer Cache-Speichereinrichtung (146a) und einer nicht
flüchtigen Speichereinrichtung (146b) auf der Grundlage eines
Einschreibbefehls, der zusammen mit auf den neuesten Stand
gebrachten Daten von einer externen Einheit (10, 12)
zugeführt wird, um die auf den neuesten Stand gebrachten Daten in
eine identifizierte Speicherzone der Hilfs-Speichereinheit
(15(0), 15(1)) einzuschreiben, welches Steuersystem
gekennzeichnet ist durch:
eine erste Bestimmungseinrichtung (202), um zu
bestimmen, ob ein nicht verwendeter Bereich in der nicht flüchtigen
Speichereinrichtung (146b) kleiner ist als ein Bezugsbereich,
wobei der nicht verwendete Bereich ein Bereich ist, der keine
Daten enthält;
eine erste Verarbeitungseinrichtung zum Durchführen
eines ersten Prozesses (210, 211), wenn die erste
Bestimmungseinrichtung (202) bestimmt, daß der nicht verwendete Bereich
in der nicht flüchtigen Speichereinrichtung (146b) nicht
kleiner ist als der Bezugsbereich, wobei der erste Prozeß
einen Schritt umfaßt, um die auf den neuesten Stand gebrachten
Daten sowohl in die Cache-Speichereinrichtung (146a) als auch
die nicht flüchtigen Speichereinrichtung (146b)
einzuschreiben, wobei die auf den neuesten Stand gebrachten Daten, die
in die nicht flüchtige Speichereinrichtung (146b)
eingeschrieben worden sind, in den identifizierten Speicherbereich
der Hilfs-Speichereinrichtung (15(0), 15(1)) asynchron zu dem
Einschreibbefehl eingeschrieben werden;
eine zweite Bestimmungseinrichtung (204), die an die
erste Bestimmungseinrichtung (202) gekoppelt ist, um zu be
stimmen, ob die nicht flüchtige Speichereinrichtung (146b)
Daten entsprechend der identifizierten Speicherzone enthält,
wenn die erste Bestimmungseinrichtung (202) bestimmt hat, daß
der nicht verwendete Bereich in der nicht flüchtigen
Speichereinrichtung (146b) kleiner ist als der Bezugsbereich;
eine zweite Verarbeitungseinrichtung (240-244, 227-231)
zur Durchführung eines zweiten Prozesses, wenn die zweite
Bestimmungseinrichtung (204) bestimmt hat, daß die nicht
flüchtige Speichereinrichtung (146b) keine Daten enthält, die der
identifizierten Speicherzone entsprechen, wobei der zweite
Prozeß einen Schritt umfaßt, um die auf den neuesten Stand
gebrachten Daten sowohl in die Cache-Speichereinrichtung
(146a) als auch in die identifizierte Zone der Hilfs-
Speichereinrichtung (15 (0), 15 (1)) einzuschreiben;
eine dritte Bestimmungseinrichtung (205), die an die
zweite Bestimmungseinrichtung (204) gekoppelt ist, um zu
bestimmen, ob der nicht verwendete Bereich in der nicht
flüchtigen Speichereinrichtung (146b) dazu verwendet werden kann,
um eine maximale Menge von Daten in die Hilfs-Speichereinheit
(15(0), 15(1))eingespeichert werden kann oder nicht, wenn die
zweite Bestimmungseinrichtung (204) bestimmt hat, daß die
nicht flüchtige Speichereinrichtung (146b) Daten enthält, die
der identifizierten Speicherzone entsprechen;
eine dritte Verarbeitungseinrichtung zur Durchführung
des ersten Prozesses (210, 211) , wenn die dritte
Bestimmungseinrichtung (205) bestimmt hat, daß der nicht verwendete
Bereich in der nicht flüchtigen Speichereinrichtung (146b) dazu
verwendet werden kann, um die maximale Menge an Daten in die
Hilfs-Speichereinheit (15(0),15(1)) einzuspeichern; und
eine vierte Verarbeitungseinrichtung (220-231) zur
Durchführung eines dritten Prozesses, wenn die dritte
Bestimmungseinrichtung (205) bestimmt hat, daß der nicht verwendete
Bereich in der nicht flüchtigen Speichereinrichtung (146b)
nicht zum Speichern der maximalen Menge der Daten in der
Hilfs-Speichereinheit (15(0), 15(1)) verwendet werden kann,
wobei der dritte Prozeß einen ersten Schritt enthält, um die
Daten, die in der nicht flüchtigen Speichereinrichtung (146b)
gespeichert worden sind, in die identifizierte Speicherzone
der Hilfs-Speichereinheit (15(0), 15(1)) einzuschreiben, und
einen zweiten Schritt enthält, um die auf den neuesten Stand
gebrachten Daten sowohl in die Cache-Speichereinrichtung
(146a) als auch in die identifizierte Speicherzone der Hilfs-
Speichereinheit (15(0), 15(1)) nach dem ersten Schritt
einzuschreiben.
2. Steuersystem nach Anspruch 1, dadurch
gekennzeichnet, daß die Hilfs-Speichereinheit eine Platteneinheit
aufweist.
3. Steuersystem nach Anspruch 2, dadurch
gekennzeichnet, daß die maximale Menge der Daten, die in die Hilfs-
Speichereinheit (15(0), 15(1)) einzuschreiben ist, als eine
Spur der Platteneinheit definiert ist.
4. Steuersystem nach Anspruch 3, dadurch
gekennzeichnet, daß die Spur aus einer Vielzahl von Blöcken gebildet
ist, und daß die Daten für jeden der Blöcke in bzw. aus der
Hilfs-Speichereinheit (15(0), 15(1)) und die Cache-
Speichereinheit {146) eingeschrieben bzw. ausgelesen werden
können.
5. Steuersystem nach Anspruch 4, dadurch
gekennzeichnet, daß die erste Bestimmungseinrichtung eine Einrichtung
aufweist, um zu bestimmen, ob eine Zahl der nicht verwendeten
Blöcke in der nicht flüchtigen Speichereinrichtung (146b)
kleiner ist als ein vorherbestimmter Bezugswert oder nicht.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2405167A JPH0816886B2 (ja) | 1990-12-21 | 1990-12-21 | 高速書き込み方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69129101D1 DE69129101D1 (de) | 1998-04-23 |
| DE69129101T2 true DE69129101T2 (de) | 1998-07-09 |
Family
ID=18514796
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69129101T Expired - Fee Related DE69129101T2 (de) | 1990-12-21 | 1991-12-20 | Steuerungsanordnung für Cachespeichereinheit |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5581726A (de) |
| EP (1) | EP0493012B1 (de) |
| JP (1) | JPH0816886B2 (de) |
| DE (1) | DE69129101T2 (de) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5315602A (en) * | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
| JP2976780B2 (ja) * | 1992-12-07 | 1999-11-10 | 松下電器産業株式会社 | 情報記録再生装置 |
| JP3639352B2 (ja) * | 1995-06-28 | 2005-04-20 | 富士通株式会社 | 波動解析方法及びその装置 |
| WO1997011426A1 (en) | 1995-09-18 | 1997-03-27 | Cyberstorage Systems, Inc. | Universal storage management system |
| US5893135A (en) * | 1995-12-27 | 1999-04-06 | Intel Corporation | Flash memory array with two interfaces for responding to RAS and CAS signals |
| US5787466A (en) * | 1996-05-01 | 1998-07-28 | Sun Microsystems, Inc. | Multi-tier cache and method for implementing such a system |
| US5732238A (en) * | 1996-06-12 | 1998-03-24 | Storage Computer Corporation | Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system |
| GB2317722B (en) * | 1996-09-30 | 2001-07-18 | Nokia Mobile Phones Ltd | Memory device |
| US7765378B1 (en) * | 2001-06-01 | 2010-07-27 | Sanbolic, Inc. | Utilization of memory storage |
| US6854038B2 (en) * | 2002-06-06 | 2005-02-08 | International Business Machines Corporation | Global status journaling in NVS |
| FI20022297A7 (fi) * | 2002-12-31 | 2004-07-01 | Nokia Corp | Menetelmä muistikomponenttien sisältöjen vertailemiseksi |
| US7412581B2 (en) * | 2003-10-28 | 2008-08-12 | Renesas Technology America, Inc. | Processor for virtual machines and method therefor |
| US7346401B2 (en) * | 2004-05-25 | 2008-03-18 | International Business Machines Corporation | Systems and methods for providing constrained optimization using adaptive regulatory control |
| US7603511B2 (en) * | 2004-12-27 | 2009-10-13 | Research In Motion Limited | Cyclic buffer mechanism for receiving wireless data under varying data traffic conditions |
| JP4768504B2 (ja) * | 2006-04-28 | 2011-09-07 | 株式会社東芝 | 不揮発性フラッシュメモリを用いる記憶装置 |
| JP5742542B2 (ja) * | 2011-07-25 | 2015-07-01 | 富士通株式会社 | ストレージ装置及びその負荷状態低減方法 |
| US9606929B2 (en) * | 2011-11-08 | 2017-03-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Simulated NVRAM |
| US11237758B2 (en) * | 2016-08-06 | 2022-02-01 | Wolley Inc. | Apparatus and method of wear leveling for storage class memory using address cache |
| CN108446356B (zh) * | 2018-03-12 | 2023-08-29 | 上海哔哩哔哩科技有限公司 | 数据缓存方法、服务器及数据缓存系统 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4916605A (en) * | 1984-03-27 | 1990-04-10 | International Business Machines Corporation | Fast write operations |
| US4835686A (en) * | 1985-05-29 | 1989-05-30 | Kabushiki Kaisha Toshiba | Cache system adopting an LRU system, and magnetic disk controller incorporating it |
| JPS6476346A (en) * | 1987-09-18 | 1989-03-22 | Fujitsu Ltd | Disk cache control system |
| US5253351A (en) * | 1988-08-11 | 1993-10-12 | Hitachi, Ltd. | Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values |
| US5170466A (en) * | 1989-10-10 | 1992-12-08 | Unisys Corporation | Storage/retrieval system for document |
-
1990
- 1990-12-21 JP JP2405167A patent/JPH0816886B2/ja not_active Expired - Fee Related
-
1991
- 1991-12-20 DE DE69129101T patent/DE69129101T2/de not_active Expired - Fee Related
- 1991-12-20 EP EP91311856A patent/EP0493012B1/de not_active Expired - Lifetime
-
1994
- 1994-10-24 US US08/328,573 patent/US5581726A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| EP0493012A2 (de) | 1992-07-01 |
| DE69129101D1 (de) | 1998-04-23 |
| EP0493012A3 (en) | 1992-12-30 |
| JPH04220738A (ja) | 1992-08-11 |
| US5581726A (en) | 1996-12-03 |
| EP0493012B1 (de) | 1998-03-18 |
| JPH0816886B2 (ja) | 1996-02-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69129101T2 (de) | Steuerungsanordnung für Cachespeichereinheit | |
| DE3803759C2 (de) | ||
| DE3854481T2 (de) | Datenverarbeitungsverfahren in einem dezentralisierten Verarbeitungssystem. | |
| DE69527594T2 (de) | Flashspeicherkarte | |
| DE3851285T2 (de) | Anzeige-Steuersystem. | |
| DE69217761T2 (de) | Lese- und Schreibschaltung für einen Speicher | |
| DE2844357A1 (de) | Speichererweiterung | |
| DE1499182C3 (de) | Datenspeichersystem | |
| EP0013737A1 (de) | Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem | |
| DE3439302A1 (de) | Speichersteuerungsvorrichtung | |
| DE69527634T2 (de) | Rechner-Cachespeichersystem | |
| DE2517302C2 (de) | Mehrprogramm-Datenverarbeitungsgerät | |
| DE3311948C2 (de) | ||
| DE3802706A1 (de) | Drucksteuervorrichtung zum steuern des benutzungszustandes von mehrfachen formatbloecken | |
| DE60207641T2 (de) | Halbleiterspeicher, Informationsgerät und Verfahren zur Bestimmung von Speicherzugriffzeit des Halbleiterspeichers | |
| DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
| DE69229423T2 (de) | Datenübertragungssystem | |
| DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
| AT389951B (de) | Datenuebertragungseinrichtung | |
| DE2432608A1 (de) | Speicheranordnung fuer datenverarbeitungseinrichtungen | |
| DE3688136T2 (de) | Verfahren zum Testen und Setzen von Daten in einen Datensatz auf einer Platte in eine atomaren Ein/Ausgabeoperation. | |
| DE60300360T2 (de) | Informationsspeichervorrichtung | |
| DE69128562T2 (de) | Dateienzugriffssystem | |
| DE68924860T2 (de) | Erweiterte Speicheranordnung. | |
| DE19737182A1 (de) | Verfahren zum Ändern von Daten |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |