DE10050171A1 - Verfahren zur Steuerung von Cache-Speichern, Computersystem, Festplattenlaufwerk und Festplatten-Steuereinheit - Google Patents
Verfahren zur Steuerung von Cache-Speichern, Computersystem, Festplattenlaufwerk und Festplatten-SteuereinheitInfo
- Publication number
- DE10050171A1 DE10050171A1 DE10050171A DE10050171A DE10050171A1 DE 10050171 A1 DE10050171 A1 DE 10050171A1 DE 10050171 A DE10050171 A DE 10050171A DE 10050171 A DE10050171 A DE 10050171A DE 10050171 A1 DE10050171 A1 DE 10050171A1
- Authority
- DE
- Germany
- Prior art keywords
- cache
- data
- order
- low
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/311—In host system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Abstract
Es sollen keine gleichen Daten im Cache-Speicher hoher und niederer Ordnung gespeichert werden oder die gleichen im Cache-Speicher hoher und niederer Ordnung gespeicherten Daten sollen verringert werden, so dass jeder der Cache-Speicher Daten effizient speichern kann. DOLLAR A Computersystem, das mit einer HDC-Karte 21 ausgestattet ist, die an einen Erweiterungsbus 20 angeschlossen ist und das mit einer HDD-Einheit 22 ausgestattet ist, die an eine HDC-Karte 21 angeschlossen ist. Die HDC-Karte 21 ist mit einem Plattenpuffer (Cache-Speicher hoher Ordnung) ausgestattet und die HDD-Einheit 22 ist mit einem Plattenpuffer 54 (Cache-Speicher niederer Ordnung) ausgestattet. Die HDC-Karte 21 und die HDD-Einheit 22 tauschen ausgewählte Daten zur Auswahl eines Umlagerungsmodus für jeden der Cache-Speicher aus, wenn das System hochgefahren wird, wodurch sie entsprechend der ausgetauschten ausgewählten Daten jeweils unterschiedliche Umlagerungsmodi auswählen.
Description
Die vorliegende Erfindung bezieht sich auf ein Verfahren zur
Steuerung mehrerer Cache-Speicher, sowie auf ein Computersystem,
ein Festplattenlaufwerk und eine Festplatten-Steuereinheit, die
dazu dienen, die Cache-Speicher in die Lage zu versetzen,
effizient Daten zu speichern.
Ein Computersystem besteht normalerweise aus einer CPU, einem
Hauptspeicher, einem Festplattenlaufwerk (HDD) etc., wobei diese
Bauelemente des Computersystems unterschiedliche
Datenübertragungsraten haben. Normalerweise wird ein DRAM als
ein solcher Hauptspeicher verwendet. Die Datenübertragungsrate
des DRAM ist weit geringer als die der CPU, so dass der DRAM oft
zu einem Faktor wird, der die Betriebsgeschwindigkeit der CPU
herabsetzt. Die Datenübertragungsraten solcher externen
Speichereinheiten wie einer HDD-Einheit, einer CD-ROM-Einheit
etc. sind weit geringer als die des DRAM, so dass die
Betriebsgeschwindigkeit des DRAM oft durch den Betrieb einer
solchen Einheit herabgesetzt wird. Eine solch unterschiedliche
Betriebsgeschwindigkeit von Einheiten, die untereinander Daten
austauschen behindert deshalb die beabsichtigte Leistung dieser
Einheiten, auch wenn sie selbst jeweils in der Lage sind, Daten
schnell zu übertragen, weil die Übertragungsrate des gesamten
Systems von einer Einheit bestimmt wird, die unter ihnen die
langsamste Übertragungsrate hat.
Um einen solchen Geschwindigkeitsunterschied zwischen den
Einheiten zu verringern, wird ein Computersystem deshalb mit
einem Cache-Speicher ausgestattet. Der Cache-Speicher nutzt die
Lokalisierung von Objekt-Programm und/oder -Daten am besten,
wobei es einen Teil der Daten speichert, die in der Einheit
niederer Ordnung mit niedriger Datenübertragungsrate gespeichert
sind. Also wird die Anzahl der Zugriffe auf die Einheit niederer
Ordnung verringert, wodurch die Datenübertragungsrate des
gesamten Computersystems erhöht wird.
Ein typischer Cache-Speicher ist zwischen einer CPU und einem
Hauptspeicher angeordnet. Wenn mehrere Cache-Speicher vorhanden
sind, werden sie der Reihe nach von der CPU her als Primärer
Cache, Sekundärer Cache, . . . bezeichnet. Je näher der Cache der
CPU ist, desto geringer ist seine Speicherkapazität. Generell
wird für jeden dieser Cache-Speicher ein SRAM verwendet.
Der Hauptspeicher dient als Cache-Speicher für einen externen
Speicher. Also wird die Anzahl der Zugriffe auf den externen
Speicher verringert, wodurch die Betriebsgeschwindigkeit des
Hauptspeichers verbessert werden kann. Manchmal wird auch solch
ein externer Speicher wie eine so genannte Erweiterungskarte
etc. mit einem Cache-Speicher ausgestattet. Zum Beispiel wird
jede HDD-Einheit mit einem Cache-Speicher ausgestattet, um einen
Teil der auf einer Magnetplatte gespeicherten Daten zu
speichern. Mit Hilfe eines solchen Cache-Speichers wird die
Anzahl der Zugriffe auf die Magnetplatte verringert, wodurch die
Datenübertragungsrate der HDD-Einheit verbessert werden kann.
Ein Cache-Speicher, mit dem der Hauptspeicher, die
Erweiterungskarte, die HDD-Einheit, etc. auf diese Weise
ausgestattet sind, wird als Plattenpuffer (disc cache)
bezeichnet.
Generell wird bei diesen Plattenpuffern ein als "vorgreifendes
Verfahren" bezeichnetes Datenlese-Verfahren angewendet. Nach
diesem "vorgreifenden" Datenlese-Verfahren werden, nachdem das
Lesen der angeforderten Daten aus einem von einem Hauptrechner
angeforderten Bereich beendet ist, mit diesen zusammen auch die
Daten in dem auf die angeforderten Daten folgenden Bereich
gelesen. Dieses Verfahren kann so die Cache-Trefferquote beim
sequenziellen Lesen von Daten aus aufeinanderfolgenden Adressen
in aufsteigender Reihenfolge verbessern.
Fig. 12 zeigt, wie Daten aus einem konventionellen
Plattenpuffer gelesen werden.
In Fig. 12 bedeutet ein Hauptrechner eine Einheit, die Lese-
/Schreibdaten von/auf eine(r) HDD-Einheit anfordert. Sowohl der
Hauptrechner als auch die HDD-Einheit ist mit einem Cache-
Speicher ausgestattet, und Daten werden zwischen den Cache-
Speichern dieser Einheiten ausgetauscht. In diesem Fall wird der
Cache-Speicher des Hauptrechners als Cache-Speicher hoher
Ordnung angesehen und der Cache-Speicher der HDD-Einheit wird
als Cache-Speicher niederer Ordnung angesehen. Hier wird davon
ausgegangen, dass die von einem Anwendungsprogramm angeforderten
Daten D1 weder im Hauptrechner noch in der HDD-Einheit
gespeichert sind.
Wenn ein Anwendungsprogramm vom Hauptrechner die Übertragung von
Daten D1 anfordert, kommt es im Hauptrechner zu einem Cache-
Fehltreffer. Also wird von der HDD-Einheit die Übertragung von
Daten D3 angefordert, welche sowohl die Daten D1 als auch die
Daten D2 in der auf die Adresse der Daten D1 folgenden Adresse
enthaltenen Daten enthalten. In der HDD-Einheit werden also die
vom Hauptrechner angeforderten Daten D3 von der Objekt-
Magnetplatte gelesen und im Cache-Speicher gespeichert, um
diesem Cache-Fehltreffer abzuhelfen. Die Daten D3 werden an den
Hauptrechner übertragen. Also enthält der Cache-Speicher des
Hauptrechners die Daten D3. Darüber hinaus werden in der HDD-
Einheit die Daten D4 in der auf die übertragenen Daten folgenden
Adresse von der Magnetplatte gelesen und im Cache-Speicher
gespeichert.
Ein solches vorgreifendes Datenleseverfahren wird zum Beispiel
in "Official Gazette of Published Unexamined Patent Application
No. 11-110139" dargestellt. In der Gazette werden sowohl das
Verfahren als auch eine Vorrichtung zum Einlesen von Daten auf
die Vorgriffs-Vorgehensweise beschrieben. Nach dem/der in dieser
Gazette beschriebenen Verfahren und Vorrichtung werden die
angeforderten Daten, falls ein Lesebefehl von
aufeinanderfolgenden Adressen in absteigender Reihenfolge
festgestellt wird, aus einem vom Hauptrechner angeforderten
Bereich gelesen; danach werden Daten auch von einer der Adresse
der angeforderten Daten vorangehenden Adresse gelesen, wodurch
die Cache-Trefferquote beim Lesen der aufeinanderfolgenden
Adressen in absteigender Reihenfolge verbessert werden kann.
Allerdings sind bei den konventionellen Verfahren des Speicherns
von Daten in einem Cache-Speicher die selben Daten sowohl in dem
Hauptrechner als auch der HDD-Einheit gespeichert. Wenn ein
Anwendungsprogramm vom Hauptrechner das Lesen von Daten
anfordert und der Hauptrechner einen Treffer in dem Cache-
Speicher erzielt, werden die angeforderten Daten also vom
Hauptrechner in den Cache-Speicher hoher Ordnung übertragen. Von
der HDD-Einheit wird das Lesen der Daten nicht angefordert. Wenn
also die selben Daten gleichzeitig im Cache-Speicher der HDD-
Einheit gespeichert sind, werden die Daten nicht effizient
genutzt.
Unter solchen Umständen ist es eine Aufgabe der vorliegenden
Erfindung, ein Verfahren für die Steuerung mehrerer Cache-
Speicher bereitzustellen, welches die oben genannten
konventionellen Probleme lösen kann und einen verschwenderischen
Betrieb vermeidet, bei dem gleiche Daten sowohl im Cache-
Speicher niederer als auch hoher Ordnung gespeichert werden,
wodurch die Daten in jedem dieser Cache-Speicher effizienter
gespeichert werden, und außerdem, ein Computersystem, ein
Festplattenlaufwerk und eine Festplatten-Steuereinheit zur
Verfügung zu stellen, die alle das Verfahren zur Steuerung
mehrerer Cache-Speicher anwenden.
Ein Verfahren der vorliegenden Erfindung zur Steuerung mehrerer
Cache-Speicher steuert mehrere Cache-Speicher, darunter einen
Cache-Speicher niederer Ordnung sowie einen Cache-Speicher hoher
Ordnung, so dass die Cache-Speicher niederer und hoher Ordnung
in verschiedenen Umlagerungsmodi (swap modes) betrieben werden.
Das Computersystem der vorliegenden Erfindung ist mit einem
Cache-Speicher niederer Ordnung und einem mit dem Cache-Speicher
niederer Ordnung verbundenen Cache-Speicher hoher Ordnung
ausgestattet. Die Cache-Speicher hoher und niederer Ordnung
tauschen ausgewählte Daten aus, um jeweils einen
Umlagerungsmodus auszuwählen, wenn das Computersystem
hochgefahren wird, wobei entsprechend der ausgetauschten
ausgewählten Daten jeweils unterschiedliche Umlagerungsmodi
ausgewählt werden.
Das Festplattenlaufwerk der vorliegenden Erfindung ist mit einem
Cache-Speicher niederer Ordnung zum Speichern eines Teils der
auf einer Magnetplatte gespeicherten Daten ausgestattet, und es
ist mit einem Hauptrechner verbunden, der mit Funktionen eines
Cache-Speichers hoher Ordnung ausgestattet ist.
Jeder der Cache-Speicher hoher und niedriger Ordnung tauscht
ausgewählte Daten mit dem Hauptrechner aus, so dass die Cache-
Speicher hoher und niederer Ordnung in unterschiedlichen
Umlagerungsmodi betrieben werden, wenn das System hochgefahren
wird. Entsprechend der ausgetauschten ausgewählten Daten wählt
das Festplattenlaufwerk den Umlagerungsmodus des Cache-Speichers
niederer Ordnung aus.
Eine Festplatten-Steuereinheit der vorliegenden Erfindung
verfügt über eine erste Anschlusseinheit, die an eine erweiterte
Anschlusseinheit einer Peripherieeinheit des Computers
angeschlossen ist, eine zweite Anschlusseinheit, die an das
Festplattenlaufwerk mit einem Cache-Speicher niederer Ordnung
zum Speichern eines Teils der auf einer Magnetplatte
gespeicherten Daten angeschlossen ist sowie über einen Cache-
Speicher hoher Ordnung zum Speichern eines Teils der im an die
zweite Anschlusseinheit angeschlossenen Festplattenlaufwerk
gespeicherten Daten. Die Festplatten-Steuereinheit steuert das
Festplattenlaufwerk, das an die zweite Anschlusseinheit
angeschlossen ist und versetzt die Cache-Speicher hoher und
niederer Ordnung in die Lage, ausgewählte Daten mit dem
Festplattenlaufwerk, welches an die zweite Anschlusseinheit
angeschlossen ist, auszutauschen, wenn das an die erste
Anschlusseinheit angeschlossene Computersystem hochgefahren
wird, so dass die Cache-Speicher hoher und niederer Ordnung in
unterschiedlichen Umlagerungsmodi betrieben werden. Die
Festplatten-Steuereinheit wählt sodann entsprechend der
ausgetauschten ausgewählten Daten den Umlagerungsmodus des
Cache-Speichers hoher Ordnung aus.
Eine weitere Festplatten-Steuereinheit der vorliegenden
Erfindung verfügt über eine erste Anschlusseinheit, die an eine
erweiterte Anschlusseinheit einer Peripherieeinheit eines
Computersystems mit einem Hauptrechner, der über Funktionen
eines Cache-Speichers hoher Ordnung verfügt, angeschlossen ist,
über eine zweite, an das Festplattenlaufwerk angeschlossene
Anschlusseinheit sowie über einen Cache-Speicher niederer
Ordnung zum Speichern eines Teils der in dem an die zweite
Anschlusseinheit angeschlossenen Festplattenlaufwerk
gespeicherten Daten. Die Festplatten-Steuereinheit steuert das
an die zweite Anschlusseinheit angeschlossene
Festplattenlaufwerk, und sie ermöglicht den Cache-Speichern
sowohl hoher als auch niederer Ordnung, ausgewählte Daten mit
dem Hauptrechner auszutauschen, so dass sie in unterschiedlichen
Umlagerungsmodi betrieben werden können, wenn das an die erste
Anschlusseinheit angeschlossene Computersystem hochgefahren
wird. Die Festplatten-Steuereinheit wählt sodann entsprechend
der ausgetauschten ausgewählten Daten den Umlagerungsmodus des
Cache-Speichers niederer Ordnung aus.
Ein weiteres Verfahren der vorliegenden Erfindung zur Steuerung
von Cache-Speichern umfasst den Schritt des Löschens von Daten
aus einem Cache-Speicher niederer Ordnung, nachdem die Daten als
Reaktion auf eine vom Hauptrechner an den Cache-Speicher
niederer Ordnung ausgegebenen Anforderung einer Datenübertragung
an einen Hauptrechner übertragen wurden.
Noch ein weiteres Verfahren der vorliegenden Erfindung zur
Steuerung von Cache-Speichern umfasst den Schritt des Speicherns
eines Teils der in einem Cache-Speicher niederer Ordnung
gespeicherten Daten in einem Cache-Speicher hoher Ordnung; wobei
die vom Cache-Speicher niederer Ordnung als Reaktion auf eine
Anforderung von Datenübertragung des Cache-Speichers hoher
Ordnung an diesen übertragenen Daten aus dem Cache-Speicher
niederer Ordnung gelöscht werden.
Ein weiteres Computersystem der vorliegenden Erfindung umfasst:
einen Cache-Speicher niederer Ordnung; und einen Cache-Speicher
hoher Ordnung zum Speichern eines Teils der im Cache-Speicher
niederer Ordnung gespeicherten Daten; wobei der Cache-Speicher
niederer Ordnung, wenn der Cache-Speicher hoher Ordnung eine
Datenübertragung vom Cache-Speicher niederer Ordnung anfordert,
die übertragenen Daten vom Cache-Speicher niederer Ordnung zum
Cache-Speicher hoher Ordnung als Reaktion auf die Anforderung
loscht.
Ein weiteres Festplattenlaufwerk der vorliegenden Erfindung ist
mit einem Cache-Speicher zum Speichern eines Teils der auf einer
Magnetplatte gespeicherten Daten ausgestattet. Der Cache-
Speicher ist dadurch gekennzeichnet, dass er die an den
Hauptrechner übertragenen Daten als Reaktion auf eine
Anforderung des an das Festplattenlaufwerk angeschlossenen
Hauptrechners loscht.
Eine weitere Festplatten-Steuereinheit der vorliegenden
Erfindung ist mit einer ersten, an eine erweiterte
Anschlusseinheit einer Peripherieeinheit für das Computersystem
angeschlossene Anschlusseinheit, einer zweiten, an das
Festplattenlaufwerk angeschlossenen Anschlusseinheit sowie mit
einem Cache-Speicher zum Speichern eines Teils der auf dem an
der zweiten Anschlusseinheit angeschlossenen Festplattenlaufwerk
gespeicherten Daten ausgestattet. Diese Steuereinheit steuert
das an die zweite Anschlusseinheit angeschlossene
Festplattenlaufwerk und der Cache-Speicher löscht, wenn er über
die erste Anschlusseinheit eine Anforderung zur Datenübertragung
vom Hauptrechner erhält, die als Reaktion auf die Anforderung an
den Hauptrechner übertragenen Daten.
Fig. 1 ist ein schematisches Blockdiagramm eines
Computersystems in einer ersten Ausführungsform der vorliegenden
Erfindung;
Fig. 2 ist ein schematisches Blockdiagramm der in Fig. 1
gezeigten HDD-Einheit;
Fig. 3 ist ein schematisches Blockdiagramm der in Fig. 1
gezeigten HDC-Karte 21;
Fig. 4 zeigt ein Beispiel eines Arbeitsablaufs eines Cache-
Speichers bei der Auswahl eines Umlagerungsmodus;
Fig. 5 zeigt ein weiteres Beispiel eines Arbeitsablaufs eines
Cache-Speichers bei der Auswahl eines Umlagerungsmodus;
Fig. 6 ist ein schematisches Blockdiagramm eines
Computersystems in einer zweiten Ausführungsform der
vorliegenden Erfindung;
Fig. 7 zeigt ein Beispiel des Arbeitsablaufs eines Cache-
Speichers beim Speichern von Daten;
Fig. 8 zeigt ein weiteres Beispiel des Arbeitsablaufs eines
Cache-Speichers beim Speichern von Daten;
Fig. 9 zeigt noch ein weiteres Beispiel des Arbeitsablaufs
eines Cache-Speichers beim Speichern von Daten;
Fig. 10 zeigt noch ein weiteres Beispiel des Arbeitsablaufs
eines Cache-Speichers beim Speichern von Daten;
Fig. 11 zeigt noch ein weiteres Beispiel des Arbeitsablaufs
eines Cache-Speichers beim Speichern von Daten; und
Fig. 12 zeigt, wie Daten von einem konventionellen
Plattenpuffer gelesen werden.
Im Folgenden werden die Ausführungsformen der vorliegenden
Erfindung mit Verweis auf die angefügten Zeichnungen im Hinblick
auf ein Verfahren zur Steuerung von Cache-Speichern sowie eines
Computersystems beschrieben.
Mit einem Verfahren zur Steuerung von Cache-Speichern in einer
ersten Ausführungsform der vorliegenden Erfindung können die
Cache-Speicher hoher und niederer Ordnung in unterschiedlichen
Umlagerungsmodi betrieben werden. "Umlagerung" bedeutet den
Ersatz alter in einem Cache-Speicher gespeicherter Daten durch
neue Daten, wenn der Cache-Speicher über keinen freien Platz
verfügt.
Hauptsächliche Umlagerungsmodi zur Anwendung mit dem Verfahren
der vorliegenden Erfindung sind der LRU (Least Recently Used, am
längsten nicht genutzt)-Modus, der LFU (Least Frequently Used,
am seltensten genutzt)-Modus sowie der FIFO (First-In First-
Out)-Modus. Der LRU-Modus ist ein Modus zur Auslagerung von
Daten, die am längsten nicht genutzt wurden. Der LFU-Modus ist
ein Modus zur Auslagerung von Daten, die am seltensten genutzt
werden. Der FIFO-Modus ist ein Modus zur Auslagerung von Daten
in der Reihenfolge ihres Eingangs. Die Umlagerungsmodi sind
nicht nur auf diese begrenzt; zum Beispiel könnten verschiedene
andere Umlagerungsmodi angewendet werden, darunter ein Verfahren
zur Auslagerung eines Segments mit dem geringsten Datenumfang.
Wenn sowohl der Cache-Speicher hoher Ordnung als auch der
niederer Ordnung im gleichen Umlagerungsmodus betrieben werden,
speichern beide Cache-Speicher schließlich Daten mit den selben
Merkmalen. Wenn zum Beispiel beide Cache-Speicher, der hoher
Ordnung und der niederer Ordnung, im LRU-Modus betrieben werden,
werden die Daten ausgelagert, auf die am längsten nicht mehr
zugegriffen wurde. Also werden in diesen Cache-Speichern die
Daten gespeichert, auf die zuletzt zugegriffen wurde. Und wenn
sowohl der Cache-Speicher hoher Ordnung als auch der niederer
Ordnung im LFU-Modus betrieben werden, werden die Daten
ausgelagert, auf die am seltensten zugegriffen wurde. Also
werden in diesen Cache-Speichern die Daten gespeichert, auf die
häufig zugegriffen wird. Wenn weiterhin sowohl der Cache-
Speicher hoher als auch der niederer Ordnung im FIFO-Modus
betrieben werden, werden aus diesen Cache-Speichern die zuerst
gespeicherten Daten der Reihe nach ausgelagert. Also werden in
diesen Cache-Speichern die Daten gespeichert, auf die als
letztes zugegriffen wurde.
Wenn hingegen beispielsweise der Cache-Speicher hoher Ordnung im
LFU-Modus und der Cache-Speicher niederer Ordnung im FIFO-Modus
betrieben wird, werden die Daten, auf die oft zugegriffen wird,
im Cache-Speicher hoher Ordnung gespeichert und die Daten, auf
die zuletzt zugegriffen wurde, werden im Cache-Speicher niederer
Ordnung gespeichert. Auf diese Weise werden in den Cache-
Speichern Datenelemente mit verschiedenen Merkmalen gespeichert,
und so kann die Wahrscheinlichkeit verringert werden, dass die
selben Daten in beiden Cache-Speichern enthalten sind. Mit
anderen Worten, man kann die Wahrscheinlichkeit verringern, dass
die im Cache-Speicher hoher Ordnung gespeicherten Daten auch im
Cache-Speicher niederer Ordnung gespeichert werden, so dass die
Daten in jedem Cache-Speicher effizient gespeichert werden
können.
Die Cache-Speicher hoher und niederer Ordnung sollten
vorzugsweise in unterschiedlichen Umlagerungsmodi mit
unterschiedlichen Merkmalen betrieben werden. Dies deshalb, weil
die Wahrscheinlichkeit, dass unterschiedliche Datenelemente in
den Cache-Speichern hoher und niederer Ordnung gespeichert
werden, dann höher ist, als wenn die Cache-Speicher in
Umlagerungsmodi mit ähnlichen Merkmalen betrieben werden,
wodurch jeder der Cache-Speicher effizienter genutzt werden
kann. Es sollte allerdings vermieden werden, einen
Umlagerungsmodus anzuwenden, der die Cache-Trefferquote senken
könnte. Dies, weil ein solcher Cache-Speicher seine Funktion,
den meisten Nutzen aus der Datenlokalisierung zu ziehen, dann
nicht voll ausnutzen kann.
Als nächstes wird ein Computersystem zur Realisierung dieses
Steuerverfahrens für Cache-Speicher beschrieben.
Fig. 1 zeigt ein schematisches Blockdiagramm eines
Computersystems nach der ersten Ausführungsform der vorliegenden
Erfindung.
Wie in Fig. 1 gezeigt, umfasst dieses Computersystem eine CPU
11, einen sekundären Cache 13, eine erste Brückenschaltung 14
und einen Hauptspeicher 15. Die CPU 11 ist mit einem primären
Cache 12 ausgestattet. Die CPU 11 ist an den sekundären Cache 13
durch einen externen Bus 10a angeschlossen. Die CPU 11 ist an
die erste Brückenschaltung 14 durch einen externen Bus 10b
angeschlossen. Die erste Brückenschaltung 14 ist an den
Hauptspeicher 15 durch einen externen Bus 10c angeschlossen.
Sowohl der primäre Cache 12 als auch der sekundäre Cache 13
bestehen zum Beispiel aus einem SRAM. Der primäre Cache 12
besitzt eine Speicherkapazität von mehreren zehn Kilobyte bis
mehreren hundert Kilobyte. Der sekundäre Cache 13 besitzt zum
Beispiel eine Speicherkapazität von mehreren hundert Kilobyte
bis mehreren Megabyte. Der Hauptspeicher 15 besteht zum Beispiel
aus einem DRAM. Der Hauptspeicher 15 besitzt zum Beispiel eine
Speicherkapazität von mehreren zehn Megabyte bis mehreren
hundert Megabyte.
Die erste Brückenschaltung 14 ist an einen Erweiterungsbus 20
angeschlossen, der für eine erweiterte Peripherieeinheit
verwendet wird. Der Erweiterungsbus 20 besteht zum Beispiel aus
einem PCI (Peripheral Component Interconnect)-Bus. Die erste
Brückenschaltung 14 ist zum Beispiel mit Funktionen eines
Taktgebers, eines CPU-Anschlusses, eines sekundären Cache-
Controllers, eines Hauptspeicher-Controllers, eines PCI-Bus-
Anschlusses etc. ausgestattet, die nicht dargestellt sind.
Eine Festplattencontroller (HDC)-Karte 21 ist an den
Erweiterungsbus 20 angeschlossen. Außerdem sind eine HDD
(Festplatten)-Einheit 22 und eine CD-ROM-Einheit 23 an die HDC-
Karte 21 über einen Bus 24a bzw. einen Bus 24b angeschlossen.
Jeder der Busse 24a und 24b ist zum Beispiel ein ATA (AT
Attachment)/ATAPI (ATA Packet Interface)-Bus. Die HDC-Karte 21
dient dazu, eine weitere HDD-Einheit hinzuzufügen und/oder die
Steuerfunktionen der HDD-Einheit zu erweitern.
Die HDC-Karte 21 ist nicht nur auf die Erweiterung der
Steuerfunktionen der HDD-Einheit 22 begrenzt; es kann jede Karte
sein, die mit einem Cache-Speicher ausgestattet ist. Zum
Beispiel kann es eine SCSI (Small Computer System Interface)-
Karte sein. Der Erweiterungsbus 20 ist nicht nur auf den PCT-Bus
begrenzt, und die Busse 24a und 24b sind nicht nur auf den
ATA/ATAPT-Bus begrenzt.
Fig. 2 zeigt ein schematisches Blockdiagramm der in Fig. 1
gezeigten HDD-Einheit.
Wie in Fig. 2 gezeigt, ist die HDD-Einheit 22 mit einer
Magnetplatte 41 ausgestattet, die über eine
Datenaufzeichnungsschicht und einen Gleitkopf 43 (nicht
dargestellt) für den Magnetkopf zum Aufzeichnen und
Wiederherstellen verfügt.
Die Magnetplatte 41 ist fest am rotierenden Schaft eines
Spindelmotors 42 angebracht und wird durch den Spindelmotor 42
angetrieben. Der Gleitkopf 43 ist am vorderen Teil des Auslegers
44 angebracht. Der Ausleger 44 ist an einem Aktor 45 befestigt
und stützt den Gleitkopf 43 elastisch. Der Ausleger 44 wird
durch den Aktor 45 über der Aufzeichnungsschicht der
Magnetplatte 41 bewegt. Also bewegt sich der Gleitkopf 43
annähernd in der radialen Richtung der Magnetplatte 41, wodurch
an einer bestimmten Position auf der Aufzeichnungsschicht der
Magnetplatte 41 auf Daten zugegriffen wird.
Hierbei können eine oder mehrere Magnetplatten als Magnetplatte
41 verwendet werden. Eine Aufzeichnungsschicht wird auf einer
Seite oder auf beiden Seiten der Magnetplatte 41 gebildet. Der
Gleitkopf 43 und der Ausleger 44 sind so ausgelegt, dass sie
jeder Aufzeichnungsschicht der Magnetplatte 41 entsprechen.
Ein Antriebsmechanismus, bestehend aus der Magnetplatte 41, dem
Spindelmotor 42, dem Gleitkopf 43, dem Ausleger 44 und dem Aktor
45 wird über einen Steuerschaltkreis 50 gesteuert. Der
Steuerschaltkreis 50 ist mit einem Festplatten-Controller (Hard
Disk Controller, HDC) 51, einem Steuerspeicher 53 und einem
Plattenpuffer 54 und einem Host Interface 55 ausgestattet. Diese
Komponenten sind miteinander durch einen Bus 56 verbunden.
Der HDC 51 steuert die gesamte HDD-Einheit 22 entsprechend eines
Steuerprogramms und/oder Steuerdaten, die im Steuerspeicher 53
gespeichert sind. Der HDC 51 führt eine Rechenoperation aus, um
Fehler auszusteuern, die bei der Servosteuerung und/oder beim
Aufzeichnen/Wiederherstellen auftreten, wobei er den
Spindelmotor 42 und den Aktor 45 so antreibt, dass Daten über
den Magnetkopf zum Aufzeichnen auf die Magnetplatte 41
aufgezeichnet werden sowie Daten über den Magnetkopf zum
Wiederherstellen von der Magnetplatte 41 wiederhergestellt und
gelesen werden. Der HDC 51 ist mit einem Cache-Controller 52
ausgestattet, um den Plattenpuffer 54 in die Lage zu versetzen,
einen Teil der auf der Magnetplatte 41 gespeicherten Daten zu
speichern.
Der Steuerspeicher 53 speichert ein Steuerprogramm, das durch
den HDC 51 ausgeführt wird sowie Steuerdaten, die für das
Steuerprogramm verwendet werden. Der Plattenpuffer 54 speichert
Schreibdaten, die auf der Magnetplatte 41 temporär aufgezeichnet
werden sollen. Der Plattenpuffer 54 arbeitet auch als
Pufferspeicher, um Daten, die von der Magnetplatte 41 gelesen
werden, temporär zu speichern. Die HDC-Karte 21 ist mit dem
Host-Interface 55 über einen Bus 21a verbunden. Das Host-
Interface 55 ist ein Schnittstellenschaltkreis für den Austausch
von Daten mit der HDC-Karte 21.
Der Plattenpuffer 54 hat eine Cache-Speicherfunktion, um einen
Teil der auf der Magnetplatte 41 wie oben beschrieben
gespeicherten Daten zu speichern. Der Plattenpuffer 54
entspricht einem Cache-Speicher niederer Ordnung. Der
Plattenpuffer 54 besteht zum Beispiel aus einem DRAM und hat
eine Speicherkapazität von mehreren Megabyte bis mehreren zehn
Megabyte. Der Cache-Controller 52 steuert diesen Plattenpuffer.
Der Cache-Controller 52 unterstützt Umlagerungsmodi, zum
Beispiel den FIFO-Modus und den LRU-Modus.
Die HDD-Einheit 22 tauscht Setup-Daten mit der HDC-Karte
(Hauptrechner) 21 aus, wenn das Computersystem hochgefahren
wird, und die HDD-Einheit 22 wird entsprechend der
ausgetauschten Setup-Daten initialisiert. Zu diesem Zeitpunkt
überträgt die HDD-Einheit 22 den von ihm wählbaren
Umlagerungsmodus (FIFO- oder LRU-Modus) des Cache-Speichers an
die HDC-Karte 21 und wählt den von der HDC-Karte 21 als Reaktion
auf die Übertragung übertragenen Umlagerungsmodus als den
Umlagerungsmodus seines Cache-Speichers aus.
Fig. 3 zeigt ein schematisches Blockdiagramm der in Fig. 1
gezeigten HDC-Karte 21.
Wie in Fig. 3 gezeigt, ist die HDC-Karte 21 mit einem HDC 31,
einem Steuerspeicher 33, einem Plattenpuffer 34, einem E/A-Port
35, einem E/A-Port 36 und einem Host-Interface 37 ausgestattet.
Der HDC 31, der Steuerspeicher 33, der Plattenpuffer 34 und das
Host-Interface 37 sind untereinander durch einen Bus 38c
verbunden. Der E/A-Port 35 ist mit dem HDC 31 durch einen Bus
38a verbunden und der E/A-Port 36 ist wiederum mit dem HDC 31
durch einen Bus 38b verbunden.
Der HDC 31 steuert die gesamte HDC-Karte 21 entsprechend des
Steuerprogramms und der im Steuerspeicher 33 gespeicherten
Steuerdaten. Der HDC 31 ist mit einem Cache-Controller 32
ausgestattet, um den Plattenpuffer 34 einen Teil der in der HDD-
Einheit 22 gespeicherten Daten speichern zu lassen.
Der Steuerspeicher 33 speichert ein durch den HDC 31
ausgeführtes Steuerprogramm und Steuerdaten, die für das
Steuerprogramm verwendet werden. Der Plattenpuffer 34 speichert
Schreibdaten, die in der HDD-Einheit 22 temporär gespeichert
werden sollen. Der Plattenpuffer 34 verfügt außerdem über
Funktionen eines Pufferspeichers zum temporären Speichern von
Daten, die von der HDD-Einheit 22 gelesen wurden. Der E/A-Port
35 ist mit der HDD-Einheit 22 durch einen Bus 24a verbunden und
der E/A-Port 36 ist mit der CD-ROM-Einheit 23 durch einen Bus
24b verbunden. Das Host-Interface 37 ist an einen
Erweiterungsbus 20 angeschlossen. Das Host-Interface 37 ist eine
Schnittstellenleitung zum Versenden/Empfangen von Daten durch
den Erweiterungsbus 20.
Der Plattenpuffer 34 verfügt über Funktionen eines Cache-
Speichers, um wie oben beschrieben einen Teil der Daten zu
speichern, die in der HDD-Einheit 22 gespeichert sind. Der
Plattenpuffer 34 entspricht also einem Cache-Speicher hoher
Ordnung im Hinblick auf den Plattenpuffer 54, mit dem die HDD-
Einheit 22 ausgestattet ist. Der Plattenpuffer 34 besteht zum
Beispiel aus einem DRAM und hat eine Speicherkapazität von
mehreren Megabyte bis mehreren zehn Megabyte. Der Cache-
Controller 32 steuert den Plattenpuffer 34. Der Cache-Controller
32 unterstützt zum Beispiel die Modi FIFO, LRU und LFU.
Die HDC-Karte 21 sendet/empfängt Setupdaten an die/von der HDD-
Einheit (Einheit niederer Ordnung) 22, wenn das Computersystem
hochgefahren wird, und die HDC-Karte 21 wird entsprechend der
gesendeten/empfangenen Setupdaten initialisiert. Zu diesem
Zeitpunkt wählt zum Beispiel die HDC-Karte 21 aus den von der
HDD-Einheit 22 übertragenen Umlagerungsmodi einen
Umlagerungsmodus aus, den die HDD-Einheit 22 auswählen soll, und
überträgt den ausgewählten Umlagerungsmodus an die HDD-Einheit
22. Weiter wählt die HDC-Karte 21 einen anderen als den an die
HDD-Einheit 22 übertragenen Umlagerungsmodus als den
Umlagerungsmodus seines Cache-Speichers aus. Die Priorität der
Auswahl des Objekt-Umlagerungsmodus wird vorher festgelegt.
Fig. 4 zeigt ein Beispiel eines Arbeitsablaufes eines Cache-
Speichers bei der Auswahl eines Umlagerungsmodus.
Das Computersystem wird hochgefahren, danach überträgt die HDD-
Einheit 22 wählbare Umlagerungsmodi (FIFO- und LRU-Modus) des
Cache-Speichers an die HDC-Karte 21 (Schritt S1). Beim Empfang
der Umlagerungsmodi von der HDD-Einheit 22 (Schritt S2) wählt
die HDC-Karte 21 einen Umlagerungsmodus aus, der von der HDD-
Einheit 22 unter den empfangenen Umlagerungsmodi entsprechend
der festgelegten Priorität ausgewählt werden soll (Schritt S3)
und sendet den ausgewählten Umlagerungsmodus an die HDD-Einheit
22 zurück (Schritt S4).
Wenn die HDD-Einheit 22 den Umlagerungsmodus von der HDC-Karte
21 empfängt (Schritt S5), wählt sie ihn als den Umlagerungsmodus
ihres Cache-Speichers aus (Schritt S6). Die HDC-Karte 21 wählt
hingegen einen anderen (LRU-Modus) Umlagerungsmodus als den der
HDD-Einheit 22 als Umlagerungsmodus für ihren Cache-Speicher
aus, entsprechend der festgelegten Priorität (Schritt 7).
Der in Fig. 5 gezeigte Ablauf kann auch zur Auswahl eines
Umlagerungsmodus eines Objekt-Cache-Speichers verwendet werden.
In diesem Fall wird davon ausgegangen, dass in der HDD-Einheit
22 ein Standard-Umlagerungsmodus (FIFO-Modus) vorgegeben ist.
Der in der HDD-Einheit 22 vorgegebene Standard-Umlagerungsmodus
(FIFO-Modus) wird von der HDD-Einheit 22 an die HDC-Karte 21
übertragen (Schritt S11), wenn das Computersystem hochgefahren
wird. Wenn die HDC-Karte 21 den Umlagerungsmodus von der HDD-
Einheit 22 empfängt (Schritt S12), wählt sie einen anderen (LFU-
Modus) als den Umlagerungsmodus der HDD-Einheit 22 als
Umlagerungsmodus ihres Cache-Speichers aus (Schritt S13),
entsprechend der vorgegebenen Priorität.
Weiter kann die HDC-Karte 21, wenn sie über keinen anderen als
den Umlagerungsmodus der HDD-Einheit 22 verfügt, die HDD-Einheit
22 vom Effekt in Kenntnis setzen, so dass die HDD-Einheit 22
einen anderen als den Standard-Umlagerungsmodus auswählt.
In Fig. 4 kann die HDC-Karte 21 den Objekt-Umlagerungsmodus
festlegen, aber es ist auch möglich, die HDD-Einheit 22 den
Objekt-Umlagerungsmodus festlegen zu lassen. In einem solchen
Fall wird lediglich vorausgesetzt, dass die Einheit, die nicht
über den Umlagerungsmodus entscheiden kann, über mindestens
einen Umlagerungsmodus verfügt. In Fig. 5 kann die HDC-Karte 21
auch bei eingebauter HDD-Einheit 22 ersetzt werden, so dass die
HDC-Karte 21 den Standard-Umlagerungsmodus auf die HDD-Einheit
22 überträgt.
Auf diese Weise können Umlagerungsmodi zwischen dem Cache-
Speicher (Cache-Speicher hoher Ordnung) der HDC-Karte 21 und dem
Cache-Speicher (Cache-Speicher niederer Ordnung) der HDD-Einheit
22 ausgetauscht werden, wenn das Computersystem hochgefahren
wird, wodurch die Cache-Speicher unterschiedliche
Umlagerungsmodi auswählen können. Also kann jeder dieser Cache-
Speicher seinen optimierten Umlagerungsmodus auswählen.
Der Ablauf der Umlagerungsmodus-Auswahl ist nicht auf den oben
beschriebenen begrenzt; verschiedene andere Verfahren können
außerdem angewendet werden. Zum Beispiel ist es auch möglich,
dass ein Cache-Speicher seine nicht auswählbaren Umlagerungsmodi
an den anderen Cache-Speicher überträgt und dass der andere
Cache-Speicher seinen Umlagerungsmodus unter den übertragenen
Umlagerungsmodi auswählt.
Das Verfahren zur Steuerung von Cache-Speichern in einer zweiten
Ausführungsform der vorliegenden Erfindung verhindert, dass die
Cache-Speicher hoher und niederer Ordnung die gleichen Daten
speichern. Konkret werden die vom Cache-Speicher niederer
Ordnung an den Cache-Speicher hoher Ordnung übertragenen Daten
aus dem Cache-Speicher niederer Ordnung gelöscht. Mit diesem
Verfahren kann der Cache-Speicher niederer Ordnung Daten
effizienter speichern.
Fig. 6 zeigt ein schematisches Blockdiagramm eines
Computersystems nach der zweiten Ausführungsform der
vorliegenden Erfindung.
In Fig. 6 werden den selben Komponenten die selben Symbole
zugewiesen wie jene in der ersten Ausführungsform in Fig. 1, so
dass eine redundante Beschreibung vermieden wird.
Wie in Fig. 6 gezeigt ist die zweite Brückenschaltung 71 an den
Erweiterungsbus 20 angeschlossen. Und es kann eine
Peripherieeinheit (nicht dargestellt), eine HDD-Einheit 72 und
eine CD-ROM-Einheit 73 an die zweite Brückenschaltung 71 über
einen Bus 70, einen Bus 74a bzw. einen Bus 74b angeschlossen
werden. Der Bus 70 ist zum Beispiel ein ISA (Industry Standard
Architecture)-Bus. Die Busse 74a und 74b sind zum Beispiel ein
ATA (AT Attachment)/ATAPI (ATA Packet Interface)-Bus.
Die zweite Brückenschaltung 71 dient zum Anschließen einer
Peripherieeinheit an einen Erweiterungsbus, dessen Spezifikation
sich von der des Erweiterungsbus 20 unterscheidet. Die zweite
Brückenschaltung 71 verfügt über Funktionen eines PCI-Bus-
Anschlusses, einer Unterbrechungssteuerung, eines DMA (Direct
Memory Access)-Controllers, eines ISA-Busanschlusses etc. Der
Bus 70 ist nicht nur auf den ISA-Bus begrenzt und die Busse 74a
und 74b sind nicht nur auf den ATA/ATAPI-Bus begrenzt.
Der Hauptspeicher 15 tauscht entsprechend der von der CPU 11
ausgegebenen Befehle mit der HDD-Einheit 72 Daten aus. Der
Hauptspeicher 15 ist mit einem Plattenpuffer 16 zum Speichern
eines Teils der in der HDD-Einheit 72 gespeicherten Daten
ausgestattet. Der Plattenpuffer 16 entspricht einem Cache-
Speicher hoher Ordnung im Hinblick auf den Plattenpuffer 75, mit
dem die HDD-Einheit 72 ausgestattet ist. Der Plattenpuffer 16
hat eine Speicherkapazität von zum Beispiel mehreren Megabyte
bis mehreren zehn Megabyte. Der Hauptspeicher-Controller 17, mit
dem die erste Brückenschaltung 14 ausgestattet ist, steuert den
Plattenpuffer 16.
Wenn der Plattenpuffer 16 des Hauptspeichers 15 (genauer, der
Hauptspeicher-Controller 17) keine von der CPU 11 angeforderten
Daten enthält, fordert er von der HDD-Einheit 72 die Übertragung
sowohl der von der CPU 11 angeforderten als auch der
voraussichtlich als nächstes von der CPU 11 angeforderten Daten
an und speichert die von der HDD-Einheit 72 als Reaktion auf die
Anforderung übertragenen Daten. Die Daten, die voraussichtlich
als nächstes angefordert werden, sind zum Beispiel die bereits
zuvor von der CPU 11 angeforderten Daten und/oder die
Vorgriffsdaten (Look-ahead data) der von der CPU 11
angeforderten Daten.
Die in Fig. 6 gezeigte Konfiguration der HDD-Einheit 72 ist die
selbe wie die des in Fig. 1 gezeigten HDD 22. Obwohl die HDD-
Einheit 72 mit einem Plattenpuffer 75 mit Funktionen eines
Cache-Speichers niederer Ordnung ausgestattet ist, unterscheidet
sich die Cache-Steuerung der HDD-Einheit 72 von der des
Plattenpuffers 54 der HDD-Einheit 22. Der Plattenpuffer 75 ist
so ausgelegt, dass er die von der HDD-Einheit 72 gelesenen Daten
löscht. Der Plattenpuffer 75 hat zum Beispiel eine
Speicherkapazität von mehreren Megabyte bis mehreren zehn
Megabyte.
Wenn der Plattenpuffer 75 der HDD-Einheit 72 (genauer gesagt ist
es ein Cache-Controller (nicht dargestellt)) die vom
Hauptspeicher 15 angeforderten Daten nicht enthält, liest er die
Daten von der Magnetplatte 41. Die Daten umfassen sowohl die vom
Hauptspeicher 15 angeforderten als auch die voraussichtlich als
nächstes vom Hauptspeicher 15 angeforderten Daten. Der
Plattenpuffer 75 speichert dann die vom Hauptspeicher 15
angeforderten Daten und überträgt die gespeicherten Daten an den
Hauptspeicher 15. Wenn die angeforderten Daten an den
Hauptspeicher 15 übertragen wurden, löscht der Plattenpuffer 75
die Daten und speichert die Daten, die voraussichtlich als
nächstes vom Hauptspeicher 15 angefordert werden. Die
voraussichtlich als nächstes angeforderten Daten umfassen zum
Beispiel Vorgriffsdaten der vom Hauptspeicher 15 angeforderten
Daten.
In der vorliegenden Beschreibung bedeutet "Löschen" nicht nur
das Löschen von an den Hauptspeicher übertragenen Daten, sondern
auch ein Aktualisieren der Steuerdaten (Fahne (tag), Gültig-
Merker (valid-flags) etc.) der im Speichermanagement-Bereich
gespeicherten Daten sowie der Daten und Vorgänge, die mit dem
Löschen der Daten im Zusammenhang stehen, zum Beispiel
Beschreibung jener Bereiche der Datenelemente als leere
Bereiche.
Fig. 7 zeigt ein Beispiel eines Arbeitsablaufes eines Cache-
Speichers beim Speichern von Daten.
Hier wird vorausgesetzt, dass weder der Plattenpuffer 16 des
Hauptspeichers 15 (Cache-Speicher des Hauptrechners) noch der
Plattenpuffer 75 der HDD-Einheit 72 (Cache-Speicher der Einheit
niederer Ordnung) die von der CPU 11 (Anwendungsprogramm)
angeforderten Daten enthalten.
Zunächst fordert ein Anwendungsprogramm vom Hauptspeicher 15 die
Übertragung von Daten an. Dann kommt es zu einem Cache-
Fehltreffer im Plattenpuffer 16 des Hauptspeichers 15. Es wird
also von der HDD-Einheit 72 die Übertragung von Daten A
angefordert, darunter sowohl die Daten, die vom
Anwendungsprogramm angefordert werden als auch die
voraussichtlich als nächstes vom Anwendungsprogramm
angeforderten Daten. Infolgedessen kommt es zu einem Cache-
Fehltreffer im Plattenpuffer 75 der HDD-Einheit 72. Die vom
Hauptspeicher 15 angeforderten Daten A werden also von der
Magnetplatte 41 gelesen und im Plattenpuffer 75 gespeichert,
worauf sie in den Hauptspeicher 15 übertragen werden. Also
werden die Daten A im Plattenpuffer 16 des Hauptspeichers 15
gespeichert.
Weiterhin löscht die HDD-Einheit 72 die Daten A aus ihrem
Plattenpuffer 75, wenn die Daten A zum Hauptspeicher 15
übertragen wurden. Danach liest der Hauptrechner die Daten B in
der auf die der übertragenen Daten A folgenden Adresse auf der
Magnetplatte 41 und speichert die Daten B in ihrem Plattenpuffer
75.
Nach dem konventionellen Datenleseverfahren, das in Fig. 12
gezeigt wird, speichert der Cache-Speicher der konventionellen
HDD-Einheit sowohl die vom Hauptrechner angeforderten Daten D3
als auch die Daten D4 (Vorgriffsdaten) in der auf die Daten D3
folgenden Adresse. Im Gegensatz dazu speichert der Cache-
Speicher der HDD-Einheit in dieser zweiten Ausführungsform nicht
die vom Hauptrechner angeforderten Daten A, sondern nur die
Daten B (Vorgriffsdaten) in der auf die Daten A folgenden
Adresse.
Wenn die beiden Cache-Speicher die selbe Speicherkapazität
haben, kann der Cache-Speicher der HDD-Einheit bei der ersten
Ausführungsform also viel mehr Vorgriffsdaten speichern als
derjenige der konventionellen HDD-Einheit. In Fig. 12 bedeuten
die Daten B1 die Vorgriffsdaten D4, die in dem Cache-Speicher
der konventionellen HDD-Einheit gespeichert werden können und
die Daten B2 bedeuten die Vorgriffsdaten, die auf die Daten B1
folgen, die von der Magnetplatte gelesen wurden, nachdem die
Daten A aus dem Cache-Speicher gelöscht wurden. Also ist die
Anwendung der Lokalisierung des Datenraums am nützlichsten, um
die Trefferquote des Cache-Speichers in der ersten
Ausführungsform zu erhöhen. Das ist der Grund, warum der Cache-
Speicher in dieser Ausführungsform Daten effizienter speichern
kann.
Es gibt zwei Arten der Datenlokalisierung: zeitliche
Lokalisierung und räumliche Lokalisierung. Die zeitliche
Lokalisierung bedeutet eine große Wahrscheinlichkeit, auf Daten
in der selben Adresse mehrfach zugreifen zu können. Die
räumliche Lokalisierung bedeutet eine große Wahrscheinlichkeit,
auf Daten in Adressen zugreifen zu können, die nahe bei den
zugegriffenen Daten liegen.
Fig. 8 bis 11 zeigen ein weiteres Beispiel des Arbeitsablaufs
eines Cache-Speichers beim Speichern von Daten.
Wie in Fig. 8 gezeigt, nutzt der Plattenpuffer 16 des
Hauptspeichers 15 die Daten A2, die zuletzt von einem
Anwendungsprogramm angefordert wurden, als die Daten, die
voraussichtlich als nächstes vom Anwendungsprogramm angefordert
werden. Deshalb kann die zeitliche Lokalisierung von Daten
angewendet werden, um die Trefferquote des Plattenpuffers 16 zu
erhöhen.
Wie in Fig. 9 gezeigt nutzt der Plattenpuffer 16 des
Hauptspeichers 15 die Vorgriffsdaten A2 der von einem,
Anwendungsprogramm angeforderten Daten A1 als die Daten, die
voraussichtlich als nächstes vom Anwendungsprogramm angefordert
werden. Also ist die Anwendung der räumlichen Lokalisierung der
Daten am nützlichsten, um die Trefferquote des Plattenpuffers 16
zu erhöhen.
In dem in Fig. 10 gezeigten Beispiel besteht der Plattenpuffer
16 des Hauptspeichers 15 aus mehreren Segmenten, zum Beispiel
die drei Segmente Segment 1, Segment 2 und Segment 3. In diesen
Segmenten 1 bis 3 werden Datenelemente gespeichert, die
entsprechend der von einem Anwendungsprogramm erteilten Befehlen
wiederholt von der HDD-Einheit angefordert werden.
In Segment 1 sind die Daten A1, die vom Befehl 1 des
Anwendungsprogramms angefordert wurden sowie die Vorgriffsdaten
A2 der Daten A1 gespeichert. Im Segment 2 sind die Daten A3, die
vom Befehl 2 des Anwendungsprogramms angefordert wurden sowie
Vorgriffsdaten A4 der Daten A3 gespeichert. Und in Segment 3
sind die Daten A5, die von Befehl 3 des Anwendungsprogramms
angefordert wurden sowie Vorgriffsdaten A6 der Daten A5
gespeichert. Wenn also ein Cache-Speicher auf diese Weise in
mehrere Segmente aufgeteilt wird, ist die Anwendung der
zeitlichen Lokalisierung von Daten am nützlichsten, um die
Trefferquote des Plattenpuffers 16 zu erhöhen.
Andererseits sind im Plattenpuffer 75 der HDD-Einheit 72 die
jüngsten vom Hauptspeicher 15 angeforderten Daten A5 sowie die
Vorgriffsdaten B der Daten A6 gespeichert. Also ist die
Anwendung der räumlichen Lokalisierung von Daten am
nützlichsten, um die Trefferquote des Plattenpuffers 75 zu
erhöhen.
In dem in Fig. 11 gezeigten Beispiel hat der Plattenpuffer 75
der HDD-Einheit 72 ebenfalls mehrere Segmente, zum Beispiel die
drei Segmente Segment 1 bis 3. In diesen Segmenten 1 bis 3 des
Plattenpuffers 16 des Hauptspeichers 15 sind Datenelemente
gespeichert; die Daten A1, Daten A2 und Daten A3, die
entsprechend Befehl 1, Befehl 2 und Befehl 3 eines
Anwendungsprogramms nacheinander von der HDD-Einheit 72
angefordert wurden. In den Segmenten 1 bis 3 des Plattenpuffers
75 der HDD-Einheit 72 sind ebenfalls Datenelemente gespeichert;
die Vorgriffsdaten C1, C2 und C3 der Daten A1, A2 und A3, die
nacheinander vom Hauptspeicher 15 angefordert wurden. Also ist
die Anwendung der zeitlichen Lokalisierung von Daten am
nützlichsten, um die Trefferquote des Plattenpuffers 75 zu
erhöhen.
Das Verfahren der Nutzung mehrerer Segmente in einem Cache-
Speicher ist nicht nur auf das oben Beschriebene begrenzt; zum
Beispiel können andere konventionelle, bekannte Verfahren wie
die direkte Abbildung, volle Assoziativität, Satz-Assoziativität
etc. angewendet werden. Die Größe der einzelnen Segmente ist
nicht fest begrenzt; sie kann variabel sein.
In der zweiten Ausführungsform gibt es zwei Stufen für die
Speicherebene; der Plattenpuffer 16 (Cache-Speicher hoher
Ordnung) des Hauptspeichers 15 und der Plattenpuffer 75 (Cache-
Speicher niederer Ordnung) der HDD-Einheit 72. Man vermeidet
aber, dass die an den Cache-Speicher hoher Ordnung übertragenen
Daten im Cache-Speicher niederer Ordnung gespeichert sind. Wenn
es hingegen wie in der ersten Ausführungsform beschrieben die
drei Speicherebenen Hauptspeicher, Erweiterungskarte und HDD-
Einheit gibt, kann festgelegt werden, dass im Cache-Speicher der
Erweiterungskarte nicht die von der Erweiterungskarte an den
Hauptspeicher übertragenen Daten gespeichert sein dürfen und im
Cache-Speicher der HDD-Einheit nicht die von der HDD-Einheit zur
Erweiterungskarte übertragenen Daten gespeichert sein dürfen.
In der ersten und zweiten Ausführungsform ist die HDD-Einheit
als die Speichereinheit niedrigster Ordnung definiert. Die
Speichereinheit niedrigster Ordnung ist aber nicht, nur auf eine
solche HDD-Einheit begrenzt; zum Beispiel kann auch ein solches
Plattenlaufwerk wie eine Magnetbandeinheit, eine optisch-
magnetische Platteneinheit etc. verwendet werden.
Wie oben beschrieben eignet sich die vorliegende Erfindung
besonders für Peripherieeinheiten, die jeweils mit einem Cache-
Speicher ausgestattet sind. Weil der primäre Cache, der
sekundäre Cache und der Hauptspeicher normalerweise auf der
Hauptplatine des Objekt-Computersystems installiert sind, wird
das Verfahren der Datenübertragung zwischen diesen Speichern am
optimalsten als integriertes System ausgelegt. Weil solche
konventionellen Peripherieeinheiten wie eine Erweiterungskarte,
eine HDD-Einheit etc. hingegen normalerweise unabhängig
voneinander entwickelt werden, sind diese Einheiten im Hinblick
auf die Speicherebene hoher Ordnung nicht immer optimal
ausgelegt. Bei der vorliegenden Erfindung wird so gut wie
möglich vermieden, dass im Cache-Speicher niederer Ordnung die
gleichen Daten gespeichert sind wie im Cache-Speicher hoher
Ordnung, wodurch die Trefferquote des Cache-Speichers niederer
Ordnung durch die Anwendung der Datenlokalisierung verbessert
werden kann. Also kann das Verfahren der Datenübertragung
zwischen diesen Speichern im Hinblick auf die Speicherebene
hoher Ordnung optimal ausgelegt werden.
Außerdem ist die vorliegende Erfindung am effektivsten, wenn
sowohl der Cache-Speicher hoher als auch der niederer Ordnung
annähernd die selbe Speicherkapazität haben. Wenn der Cache-
Speicher niederer Ordnung nämlich eine extrem höhere
Speicherkapazität hat als der Cache-Speicher hoher Ordnung, wird
der Umfang der Daten im Vergleich zur Speicherkapazität des
Cache-Speichers niederer Ordnung gering, auch wenn im Cache-
Speicher hoher Ordnung und niederer Ordnung die selben Daten
gespeichert sind.
Wenn hingegen der Cache-Speicher hoher Ordnung und der niederer
Ordnung beinahe die selbe Speicherkapazität haben, wird der
Umfang der Daten im Vergleich zur Speicherkapazität des Cache-
Speichers niederer Ordnung groß, wenn die selben Daten sowohl im
Cache-Speicher hoher als auch dem niederer Ordnung gespeichert
sind. Also können im Cache-Speicher niederer Ordnung anstelle
der an den Cache-Speicher hoher Ordnung übertragenen Daten
solche Daten wie Vorgriffsdaten gespeichert werden, wodurch die
Trefferquote des Cache-Speichers niederer Ordnung relativ
verbessert wird.
Bei der vorliegenden Erfindung können also der Cache-Speicher
hoher sowie niederer Ordnung in unterschiedlichen
Umlagerungsmodi betrieben werden. Es ist somit möglich, die
Wahrscheinlichkeit zu verringern, dass im Cache-Speicher
niederer Ordnung die selben Daten gespeichert sind wie
diejenigen, die im Cache-Speicher hoher Ordnung gespeichert
sind, wodurch jeder dieser Cache-Speicher Daten effizienter
speichern kann.
Weiterhin löscht bei der vorliegenden Erfindung, wenn ein
Hauptrechner vom Cache-Speicher niederer Ordnung die Übertragung
von Daten anfordert, der Cache-Speicher niederer Ordnung die als
Reaktion auf die Anforderung an den Hauptrechner übertragenen
Daten. Wenn der Cache-Speicher hoher Ordnung vom Cache-Speicher
niederer Ordnung die Übertragung von Daten anfordert, loscht der
Cache-Speicher niederer Ordnung die als Reaktion auf die
Anforderung an den Cache-Speicher hoher Ordnung übertragenen
Daten. Also kann der Cache-Speicher niederer Ordnung Daten
effizienter speichern.
10
a,
10
b,
10
c externer Bus
11
CPU
12
Primärer Cache
13
Sekundärer Cache
14
Erster Controller
15
Hauptspeicher
16
Cache-Bereich (Cache-Speicher hoher Ordnung)
17
Cache-Controller
20
Erweiterungsbus
21
HDC-Karte (Festplatten-Steuereinheit)
22
HDD-Einheit
23
CD-ROM-Einheit
24
a,
24
b Bus
31
HDC
32
Cache-Controller
33
Steuerspeicher
34
Puffer-Speicher (Cache-Speicher hoher oder
niederer Ordnung)
35
E/A-Port
36
E/A-Port
37
Host-Interface
38
a,
38
b Bus
41
Magnetplatte
42
Spindelmotor
43
Gleitkopf
44
Ausleger
45
Aktor
51
HDC
52
Cache-Controller
53
Steuerspeicher
54
Pufferspeicher (Cache-Speicher niederer
Ordnung)
55
Host-Interface
56
Bus
70
Bus
71
Zweiter Controller
72
HDD-Einheit
73
CD-ROM-Einheit
74
a,
74
b Bus
75
Pufferspeicher (Cache-Speicher niederer
Ordnung)
Claims (35)
1. Verfahren zur Steuerung mehrerer Cache-Speicher, umfassend
einen Cache-Speicher niederer Ordnung und einen Cache-
Speicher hoher Ordnung,
wobei der Cache-Speicher hoher Ordnung und der Cache-
Speicher niederer Ordnung in unterschiedlichen
Umlagerungsmodi betrieben werden.
2. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 1, umfassend die Schritte:
Austauschen ausgewählter Daten zur Auswahl eines Umlagerungsmodus für jeden Cache-Speicher zwischen dem Cache-Speicher hoher Ordnung und dem Cache-Speicher niederer Ordnung, wenn ein System hochgefahren wird; und
Auswahl eines Umlagerungsmodus in jedem Cache-Speicher ungleich dem des anderen Cache-Speichers, auf der Basis der ausgetauschten ausgewählten Daten.
Austauschen ausgewählter Daten zur Auswahl eines Umlagerungsmodus für jeden Cache-Speicher zwischen dem Cache-Speicher hoher Ordnung und dem Cache-Speicher niederer Ordnung, wenn ein System hochgefahren wird; und
Auswahl eines Umlagerungsmodus in jedem Cache-Speicher ungleich dem des anderen Cache-Speichers, auf der Basis der ausgetauschten ausgewählten Daten.
3. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 2,
wobei einer der Cache-Speicher hoher und niederer Ordnung ausgewählte Daten zur Auswahl eines Umlagerungsmodus des anderen Cache-Speichers an den anderen Cache-Speicher überträgt; und
wobei der andere Cache-Speicher seinen Umlagerungsmodus entsprechend der vom einen Cache-Speicher übertragenen ausgewählten Daten auswählt.
wobei einer der Cache-Speicher hoher und niederer Ordnung ausgewählte Daten zur Auswahl eines Umlagerungsmodus des anderen Cache-Speichers an den anderen Cache-Speicher überträgt; und
wobei der andere Cache-Speicher seinen Umlagerungsmodus entsprechend der vom einen Cache-Speicher übertragenen ausgewählten Daten auswählt.
4. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 3,
wobei der eine Cache-Speicher seinen Umlagerungsmodus auswählt und seinen ausgewählten Umlagerungsmodus an den anderen Cache-Speicher überträgt; und
wobei der andere Cache-Speicher einen Umlagerungsmodus ungleich dem des übertragenen Umlagerungsmodus als seinen Umlagerungsmodus auswählt.
wobei der eine Cache-Speicher seinen Umlagerungsmodus auswählt und seinen ausgewählten Umlagerungsmodus an den anderen Cache-Speicher überträgt; und
wobei der andere Cache-Speicher einen Umlagerungsmodus ungleich dem des übertragenen Umlagerungsmodus als seinen Umlagerungsmodus auswählt.
5. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 3,
wobei der eine Cache-Speicher mehrere Umlagerungsmodi, die er nicht selbst auswählen kann, an den anderen Cache- Speicher überträgt; und
wobei der andere Cache-Speicher einen der übertragenen Umlagerungsmodi auswählt.
wobei der eine Cache-Speicher mehrere Umlagerungsmodi, die er nicht selbst auswählen kann, an den anderen Cache- Speicher überträgt; und
wobei der andere Cache-Speicher einen der übertragenen Umlagerungsmodi auswählt.
6. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 2,
wobei einer der Cache-Speicher hoher und niederer Ordnung mehrere Umlagerungsmodi, die er selbst auswählen kann, an den anderen Cache-Speicher überträgt;
wobei der andere Cache-Speicher einen der übertragenen Umlagerungsmodi auswählt, der durch den einen Cache-Speicher ausgewählt werden soll, und den ausgewählten Umlagerungsmodus an den einen Cache-Speicher zurücksendet und dann einen Umlagerungsmodus ungleich dem zurückgesendeten Umlagerungsmodus als seinen Umlagerungsmodus auswählt; und
wobei der eine Cache-Speicher den zurückgesendeten Umlagerungsmodus als seinen Umlagerungsmodus auswählt.
wobei einer der Cache-Speicher hoher und niederer Ordnung mehrere Umlagerungsmodi, die er selbst auswählen kann, an den anderen Cache-Speicher überträgt;
wobei der andere Cache-Speicher einen der übertragenen Umlagerungsmodi auswählt, der durch den einen Cache-Speicher ausgewählt werden soll, und den ausgewählten Umlagerungsmodus an den einen Cache-Speicher zurücksendet und dann einen Umlagerungsmodus ungleich dem zurückgesendeten Umlagerungsmodus als seinen Umlagerungsmodus auswählt; und
wobei der eine Cache-Speicher den zurückgesendeten Umlagerungsmodus als seinen Umlagerungsmodus auswählt.
7. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 1,
wobei die Cache-Speicher hoher und niederer Ordnung in
unterschiedlichen Umlagerungsmodi betrieben werden, die
jeweils unter den Modi LRU (Least Recently Used, am längsten
nicht genutzt)-Modus, LFU (Least Frequently Used, am
seltensten genutzt)-Modus, FIFO (First-In First-Out)-Modus
und einem Modus zur Auslagerung desjenigen von mehreren
Segmenten, das am wenigsten Daten enthält, ausgewählt
werden.
8. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 1,
wobei der Cache-Speicher hoher Ordnung ein Plattenpuffer
ist, mit dem eine Festplatten-Steuereinheit zur Steuerung
eines Festplattenlaufwerks ausgestattet ist und wobei der
Cache-Speicher niederer Ordnung ein Plattenpuffer ist, mit
dem das Festplattenlaufwerk ausgestattet ist.
9. Computersystem, umfassend:
einen Cache-Speicher niederer Ordnung; und
einen Cache-Speicher hoher Ordnung, der an den Cache- Speicher niederer Ordnung angeschlossen ist;
wobei die Cache-Speicher hoher und niederer Ordnung jeweils miteinander ausgewählte Daten zur Auswahl eines Umlagerungsmodus austauschen, wenn das Computersystem hochgefahren wird, und sie jeweils unterschiedliche Umlagerungsmodi auswählen, entsprechend der ausgetauschten ausgewählten Daten.
einen Cache-Speicher niederer Ordnung; und
einen Cache-Speicher hoher Ordnung, der an den Cache- Speicher niederer Ordnung angeschlossen ist;
wobei die Cache-Speicher hoher und niederer Ordnung jeweils miteinander ausgewählte Daten zur Auswahl eines Umlagerungsmodus austauschen, wenn das Computersystem hochgefahren wird, und sie jeweils unterschiedliche Umlagerungsmodi auswählen, entsprechend der ausgetauschten ausgewählten Daten.
10. Computersystem nach Anspruch 9,
wobei einer der Cache-Speicher hoher und niederer Ordnung mit einer Übertragungsvorrichtung zur Übertragung ausgewählter Daten zur Auswahl eines Umlagerungsmodus des anderen Cache-Speichers an den anderen Cache-Speicher ausgestattet ist; und
wobei der andere Cache-Speicher mit einer Auswahlvorrichtung zur Auswahl seines Umlagerungsmodus entsprechend der vom einen Cache-Speicher empfangenen ausgewählten Daten ausgestattet ist.
wobei einer der Cache-Speicher hoher und niederer Ordnung mit einer Übertragungsvorrichtung zur Übertragung ausgewählter Daten zur Auswahl eines Umlagerungsmodus des anderen Cache-Speichers an den anderen Cache-Speicher ausgestattet ist; und
wobei der andere Cache-Speicher mit einer Auswahlvorrichtung zur Auswahl seines Umlagerungsmodus entsprechend der vom einen Cache-Speicher empfangenen ausgewählten Daten ausgestattet ist.
11. Computersystem nach Anspruch 10,
wobei der eine Cache-Speicher mit einer Modus-Auswahl- Vorrichtung zur Auswahl seines Umlagerungsmodus ausgestattet ist und die Übertragungsvorrichtung einen von der Auswahlvorrichtung ausgewählten Umlagerungsmodus an den anderen Cache-Speicher überträgt; und
wobei die Auswahlvorrichtung des anderen Cache-Speichers einen Umlagerungsmodus ungleich dem vom einen Cache-Speicher empfangenen Umlagerungsmodus als einen Umlagerungsmodus des anderen Cache-Speichers auswählt.
wobei der eine Cache-Speicher mit einer Modus-Auswahl- Vorrichtung zur Auswahl seines Umlagerungsmodus ausgestattet ist und die Übertragungsvorrichtung einen von der Auswahlvorrichtung ausgewählten Umlagerungsmodus an den anderen Cache-Speicher überträgt; und
wobei die Auswahlvorrichtung des anderen Cache-Speichers einen Umlagerungsmodus ungleich dem vom einen Cache-Speicher empfangenen Umlagerungsmodus als einen Umlagerungsmodus des anderen Cache-Speichers auswählt.
12. Computersystem nach Anspruch 10,
wobei die Übertragungsvorrichtung des einen Cache-Speichers mehrere Umlagerungsmodi, die der eine Cache-Speicher nicht selbst auswählen kann, an den anderen Cache-Speicher überträgt;
wobei die Auswahlvorrichtung des anderen Cache-Speichers eine von mehreren der vom einen Cache-Speicher empfangenen Umlagerungsmodi als seinen Umlagerungsmodus auswählt.
wobei die Übertragungsvorrichtung des einen Cache-Speichers mehrere Umlagerungsmodi, die der eine Cache-Speicher nicht selbst auswählen kann, an den anderen Cache-Speicher überträgt;
wobei die Auswahlvorrichtung des anderen Cache-Speichers eine von mehreren der vom einen Cache-Speicher empfangenen Umlagerungsmodi als seinen Umlagerungsmodus auswählt.
13. Computersystem nach Anspruch 9,
wobei einer der Cache-Speicher hoher und niederer Ordnung mit einer bestimmende Modus-Übertragungsvorrichtung zur Übertragung mehrerer Umlagerungsmodi, die er selbst auswählen kann, an den anderen Cache-Speicher ausgestattet ist, sowie über eine Modus-Auswahlvorrichtung zur Auswahl des vom anderen Cache-Speicher empfangenen Umlagerungsmodus als sein Umlagerungsmodus; und
wobei der andere Cache-Speicher mit
einer Partnermodus-Auswahlvorrichtung zur Auswahl eines Umlagerungsmodus ausgestattet ist, die der eine Cache- Speicher unter mehreren vom einen Cache-Speicher empfangenen Umlagerungsmodi auswählen soll;
einer Partnermodus-Übertragungsvorrichtung zur Übertragung eines selbst ausgewählten Umlagerungsmodus an den einen Cache-Speicher; und
einer Selbstmodus-Auswahlvorrichtung zur Auswahl eines Umlagerungsmodus ungleich dem Umlagerungsmodus, den die Partnermodus-Auswahlvorrichtung als Umlagerungsmodus des anderen Cache-Speichers ausgewählt hat.
wobei einer der Cache-Speicher hoher und niederer Ordnung mit einer bestimmende Modus-Übertragungsvorrichtung zur Übertragung mehrerer Umlagerungsmodi, die er selbst auswählen kann, an den anderen Cache-Speicher ausgestattet ist, sowie über eine Modus-Auswahlvorrichtung zur Auswahl des vom anderen Cache-Speicher empfangenen Umlagerungsmodus als sein Umlagerungsmodus; und
wobei der andere Cache-Speicher mit
einer Partnermodus-Auswahlvorrichtung zur Auswahl eines Umlagerungsmodus ausgestattet ist, die der eine Cache- Speicher unter mehreren vom einen Cache-Speicher empfangenen Umlagerungsmodi auswählen soll;
einer Partnermodus-Übertragungsvorrichtung zur Übertragung eines selbst ausgewählten Umlagerungsmodus an den einen Cache-Speicher; und
einer Selbstmodus-Auswahlvorrichtung zur Auswahl eines Umlagerungsmodus ungleich dem Umlagerungsmodus, den die Partnermodus-Auswahlvorrichtung als Umlagerungsmodus des anderen Cache-Speichers ausgewählt hat.
14. Computersystem nach Anspruch 9,
wobei der Cache-Speicher hoher Ordnung und der Cache-
Speicher niederer Ordnung in unterschiedlichen
Umlagerungsmodi betrieben werden, die unter den Modi LRU
(Least Recently Used)-Modus, LFU (Least Frequently Used)-
Modus, FIFO (First-In First-Out)-Modus und einem Modus zur
Auslagerung desjenigen von mehreren Segmenten, das am
wenigsten Daten enthält, ausgewählt werden.
15. Computersystem nach Anspruch 9,
wobei der Cache-Speicher hoher Ordnung ein Plattenpuffer ist, mit dem die Festplatten-Steuereinheit zur Steuerung des Festplattenlaufwerks ausgestattet ist; und
wobei der Cache-Speicher niederer Ordnung ein Plattenpuffer ist, mit dem das Festplattenlaufwerk ausgestattet ist.
wobei der Cache-Speicher hoher Ordnung ein Plattenpuffer ist, mit dem die Festplatten-Steuereinheit zur Steuerung des Festplattenlaufwerks ausgestattet ist; und
wobei der Cache-Speicher niederer Ordnung ein Plattenpuffer ist, mit dem das Festplattenlaufwerk ausgestattet ist.
16. Computersystem, umfassend:
ein Festplattenlaufwerk mit einem Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
eine Festplatten-Steuereinheit mit einem Cache-Speicher hoher Ordnung zum Speichern eines Teils der auf dem Festplattenlaufwerk gespeicherten Daten, die zur Steuerung des Festplattenlaufwerks dient;
wobei die Cache-Speicher hoher und niederer Ordnung jeweils miteinander ausgewählte Daten zur Auswahl eines Umlagerungsmodus austauschen, wenn das Computersystem hochgefahren wird, und entsprechend der ausgetauschten ausgewählten Daten jeweils unterschiedliche Umlagerungsmodi auswählen.
ein Festplattenlaufwerk mit einem Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
eine Festplatten-Steuereinheit mit einem Cache-Speicher hoher Ordnung zum Speichern eines Teils der auf dem Festplattenlaufwerk gespeicherten Daten, die zur Steuerung des Festplattenlaufwerks dient;
wobei die Cache-Speicher hoher und niederer Ordnung jeweils miteinander ausgewählte Daten zur Auswahl eines Umlagerungsmodus austauschen, wenn das Computersystem hochgefahren wird, und entsprechend der ausgetauschten ausgewählten Daten jeweils unterschiedliche Umlagerungsmodi auswählen.
17. Computersystem, umfassend:
ein Festplattenlaufwerk, ausgestattet mit einem Cache- Speicher zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
ein Hauptspeicher zum Speichern eines Teils der auf einem Festplattenlaufwerk gespeicherten Daten und zum Senden/Empfangen von Daten an das/vom Festplattenlaufwerk entsprechend eines von einer Zentraleinheit ausgegebenen Befehls;
wobei der Cache-Speicher und der Hauptspeicher jeweils miteinander ausgewählte Daten zur Auswahl eines Umlagerungsmodus austauschen, wenn das Computersystem hochgefahren wird und entsprechend der ausgetauschten ausgewählten Daten jeweils unterschiedliche Umlagerungsmodi auswählen.
ein Festplattenlaufwerk, ausgestattet mit einem Cache- Speicher zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
ein Hauptspeicher zum Speichern eines Teils der auf einem Festplattenlaufwerk gespeicherten Daten und zum Senden/Empfangen von Daten an das/vom Festplattenlaufwerk entsprechend eines von einer Zentraleinheit ausgegebenen Befehls;
wobei der Cache-Speicher und der Hauptspeicher jeweils miteinander ausgewählte Daten zur Auswahl eines Umlagerungsmodus austauschen, wenn das Computersystem hochgefahren wird und entsprechend der ausgetauschten ausgewählten Daten jeweils unterschiedliche Umlagerungsmodi auswählen.
18. Festplattenlaufwerk, umfassend:
ein Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten, angeschlossen an einen Hauptrechner, der die Funktionen eines Cache-Speichers hoher Ordnung hat;
wobei jeder der Cache-Speicher hoher und niederer Ordnung ausgewählte Daten zur Auswahl eines Umlagerungsmodus mit dem Hauptrechner austauscht, wenn ein System hochgefahren wird, so dass die Cache-Speicher hoher und niederer Ordnung in unterschiedlichen Umlagerungsmodi betrieben werden; und
wobei der Hauptrechner einen Umlagerungsmodus des Cache- Speichers niederer Ordnung entsprechend der ausgetauschten ausgewählten Daten auswählt.
ein Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten, angeschlossen an einen Hauptrechner, der die Funktionen eines Cache-Speichers hoher Ordnung hat;
wobei jeder der Cache-Speicher hoher und niederer Ordnung ausgewählte Daten zur Auswahl eines Umlagerungsmodus mit dem Hauptrechner austauscht, wenn ein System hochgefahren wird, so dass die Cache-Speicher hoher und niederer Ordnung in unterschiedlichen Umlagerungsmodi betrieben werden; und
wobei der Hauptrechner einen Umlagerungsmodus des Cache- Speichers niederer Ordnung entsprechend der ausgetauschten ausgewählten Daten auswählt.
19. Festplatten-Steuereinheit, umfassend:
eine erste Anschlusseinheit, angeschlossen an, eine erweiterte Anschlusseinheit einer Peripherieeinheit, mit dem ein Computersystem ausgestattet ist;
eine zweite Anschlusseinheit, angeschlossen an ein Festplattenlaufwerk mit einem Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
ein Cache-Speicher hoher Ordnung zum Speichern eines Teils der in dem an die zweite Anschlusseinheit angeschlossenen Festplattenlaufwerk gespeicherten Daten;
wobei die Steuereinheit das an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk steuert;
wobei die Cache-Speicher hoher und niederer Ordnung jeweils ausgewählte Daten zur Auswahl eines Umlagerungsmodus für jeden Cache-Speicher mit dem an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk austauschen, so dass sie in unterschiedlichen Umlagerungsmodi betrieben werden, wenn das an die erste Anschlusseinheit angeschlossene Computersystem hochgefahren wird; und
wobei die Steuereinheit einen Umlagerungsmodus des Cache- Speichers hoher Ordnung entsprechend der ausgetauschten ausgewählten Daten auswählt.
eine erste Anschlusseinheit, angeschlossen an, eine erweiterte Anschlusseinheit einer Peripherieeinheit, mit dem ein Computersystem ausgestattet ist;
eine zweite Anschlusseinheit, angeschlossen an ein Festplattenlaufwerk mit einem Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
ein Cache-Speicher hoher Ordnung zum Speichern eines Teils der in dem an die zweite Anschlusseinheit angeschlossenen Festplattenlaufwerk gespeicherten Daten;
wobei die Steuereinheit das an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk steuert;
wobei die Cache-Speicher hoher und niederer Ordnung jeweils ausgewählte Daten zur Auswahl eines Umlagerungsmodus für jeden Cache-Speicher mit dem an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk austauschen, so dass sie in unterschiedlichen Umlagerungsmodi betrieben werden, wenn das an die erste Anschlusseinheit angeschlossene Computersystem hochgefahren wird; und
wobei die Steuereinheit einen Umlagerungsmodus des Cache- Speichers hoher Ordnung entsprechend der ausgetauschten ausgewählten Daten auswählt.
20. Festplatten-Steuereinheit, umfassend:
eine erste Anschlusseinheit, angeschlossen an eine erweiterte Anschlusseinheit einer Peripherieeinheit, mit dem ein Computersystem ausgestattet ist, das auch mit einem Hauptrechner, der die Funktionen eines Cache-Speichers hoher Ordnung hat, ausgestattet ist;
eine zweite Anschlusseinheit, angeschlossen an ein Festplattenlaufwerk; und
ein Cache-Speicher niederer Ordnung zum Speichern eines Teils der in dem an die zweite Anschlusseinheit angeschlossenen Festplattenlaufwerk gespeicherten Daten;
wobei die Festplatten-Steuereinheit das an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk steuert;
wobei jeder der Cache-Speicher hoher und niederer Ordnung ausgewählte Daten zur Auswahl eines Umlagerungsmodus mit einem Hauptrechner austauscht, so dass sie in unterschiedlichen Umlagerungsmodi betrieben werden, wenn das an die erste Anschlusseinheit angeschlossene Computersystem hochgefahren wird; und
wobei die Festplatten-Steuereinheit einen Umlagerungsmodus des Cache-Speichers niederer Ordnung entsprechend der ausgetauschten ausgewählten Daten auswählt.
eine erste Anschlusseinheit, angeschlossen an eine erweiterte Anschlusseinheit einer Peripherieeinheit, mit dem ein Computersystem ausgestattet ist, das auch mit einem Hauptrechner, der die Funktionen eines Cache-Speichers hoher Ordnung hat, ausgestattet ist;
eine zweite Anschlusseinheit, angeschlossen an ein Festplattenlaufwerk; und
ein Cache-Speicher niederer Ordnung zum Speichern eines Teils der in dem an die zweite Anschlusseinheit angeschlossenen Festplattenlaufwerk gespeicherten Daten;
wobei die Festplatten-Steuereinheit das an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk steuert;
wobei jeder der Cache-Speicher hoher und niederer Ordnung ausgewählte Daten zur Auswahl eines Umlagerungsmodus mit einem Hauptrechner austauscht, so dass sie in unterschiedlichen Umlagerungsmodi betrieben werden, wenn das an die erste Anschlusseinheit angeschlossene Computersystem hochgefahren wird; und
wobei die Festplatten-Steuereinheit einen Umlagerungsmodus des Cache-Speichers niederer Ordnung entsprechend der ausgetauschten ausgewählten Daten auswählt.
21. Verfahren zur Steuerung mehrerer Cache-Speicher durch das
Löschen von Daten aus einem Cache-Speicher niederer Ordnung,
nachdem die Daten an einen Hauptrechner übertragen wurden,
als Reaktion auf eine vom Hauptrechner an den Cache-Speicher
niederer Ordnung ausgegebene Anforderung einer
Datenübertragung.
22. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 21,
wobei der Cache-Speicher niederer Ordnung Daten enthält, die
wahrscheinlich als nächstes vom Hauptrechner angefordert
werden, entsprechend der Daten, die vom Hauptrechner
angefordert wurden.
23. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 22,
wobei die wahrscheinlich als nächstes vom Hauptrechner
angeforderten Daten Vorgriffsdaten der vom Hauptrechner
angeforderten Daten sind.
24. Verfahren zur Steuerung mehrerer Cache-Speicher, um einen
Teil der in einem Cache-Speicher niederer Ordnung
gespeicherten Daten in einem Cache-Speicher hoher Ordnung zu
speichern,
wobei die als Reaktion auf eine vom Cache-Speicher hoher
Ordnung an den Cache-Speicher niederer Ordnung ausgegebene
Anforderung zur Datenübertragung vom Cache-Speicher niederer
Ordnung an den Cache-Speicher hoher Ordnung übertragenen
Daten aus dem Cache-Speicher niederer Ordnung gelöscht
werden.
25. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 24,
wobei der Cache-Speicher hoher Ordnung vom Cache-Speicher niederer Ordnung eine Übertragung von Daten anfordert, umfassend sowohl die vom Hauptrechner angeforderten Daten als auch die ersten wahrscheinlich als nächstes vom Hauptrechner angeforderten Daten, entsprechend der Daten, die vom Hauptrechner angefordert wurden, wenn die vom Hauptrechner angeforderten Daten nicht im Cache-Speicher hoher Ordnung gespeichert sind; und
wobei der Cache-Speicher niederer Ordnung die angeforderten Daten an den Cache-Speicher hoher Ordnung überträgt und die zweiten wahrscheinlich als nächstes vom Cache-Speicher hoher Ordnung angeforderten Daten speichert, entsprechend der Daten, die vom Cache-Speicher hoher Ordnung angefordert wurden.
wobei der Cache-Speicher hoher Ordnung vom Cache-Speicher niederer Ordnung eine Übertragung von Daten anfordert, umfassend sowohl die vom Hauptrechner angeforderten Daten als auch die ersten wahrscheinlich als nächstes vom Hauptrechner angeforderten Daten, entsprechend der Daten, die vom Hauptrechner angefordert wurden, wenn die vom Hauptrechner angeforderten Daten nicht im Cache-Speicher hoher Ordnung gespeichert sind; und
wobei der Cache-Speicher niederer Ordnung die angeforderten Daten an den Cache-Speicher hoher Ordnung überträgt und die zweiten wahrscheinlich als nächstes vom Cache-Speicher hoher Ordnung angeforderten Daten speichert, entsprechend der Daten, die vom Cache-Speicher hoher Ordnung angefordert wurden.
26. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 25,
wobei die ersten vorhergesagten Daten bereits zuvor vom Hauptrechner angeforderte Daten sind; und
wobei die zweiten vorhergesagten Daten Vorgriffsdaten der vom Cache-Speicher hoher Ordnung angeforderten Daten sind.
wobei die ersten vorhergesagten Daten bereits zuvor vom Hauptrechner angeforderte Daten sind; und
wobei die zweiten vorhergesagten Daten Vorgriffsdaten der vom Cache-Speicher hoher Ordnung angeforderten Daten sind.
27. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 25,
wobei die ersten vorhergesagten Daten Vorgriffsdaten der vom Hauptrechner angeforderten Daten sind; und
die zweiten vorhergesagten Daten Vorgriffsdaten der vom Cache-Speicher hoher Ordnung angeforderten Daten sind.
wobei die ersten vorhergesagten Daten Vorgriffsdaten der vom Hauptrechner angeforderten Daten sind; und
die zweiten vorhergesagten Daten Vorgriffsdaten der vom Cache-Speicher hoher Ordnung angeforderten Daten sind.
28. Verfahren zur Steuerung mehrerer Cache-Speicher nach
Anspruch 24,
wobei der Cache-Speicher hoher Ordnung ein Plattenpuffer ist, mit dem die Festplatten-Steuereinheit zur Steuerung des Festplattenlaufwerks ausgestattet ist; und
wobei der Cache-Speicher niederer Ordnung ein Plattenpuffer ist, mit dem das Festplattenlaufwerk ausgestattet ist.
wobei der Cache-Speicher hoher Ordnung ein Plattenpuffer ist, mit dem die Festplatten-Steuereinheit zur Steuerung des Festplattenlaufwerks ausgestattet ist; und
wobei der Cache-Speicher niederer Ordnung ein Plattenpuffer ist, mit dem das Festplattenlaufwerk ausgestattet ist.
29. Computersystem, umfassend:
ein Cache-Speicher niederer Ordnung; und
ein Cache-Speicher hoher Ordnung zum Speichern eines Teils der in dem Cache-Speicher niederer Ordnung gespeicherten Daten;
wobei der Cache-Speicher niederer Ordnung, wenn vom Cache- Speicher hoher Ordnung an den Cache-Speicher niederer Ordnung eine Anforderung zur Datenübertragung ausgegeben wird, die vom Cache-Speicher niederer Ordnung an den Cache- Speicher hoher Ordnung übertragenen Daten als Reaktion auf diese Anforderung löscht.
ein Cache-Speicher niederer Ordnung; und
ein Cache-Speicher hoher Ordnung zum Speichern eines Teils der in dem Cache-Speicher niederer Ordnung gespeicherten Daten;
wobei der Cache-Speicher niederer Ordnung, wenn vom Cache- Speicher hoher Ordnung an den Cache-Speicher niederer Ordnung eine Anforderung zur Datenübertragung ausgegeben wird, die vom Cache-Speicher niederer Ordnung an den Cache- Speicher hoher Ordnung übertragenen Daten als Reaktion auf diese Anforderung löscht.
30. Computersystem nach Anspruch 29,
wobei der Cache-Speicher hoher Ordnung, wenn in ihm nicht die vom Hauptrechner angeforderten Daten gespeichert sind, vom Cache-Speicher niederer Ordnung eine Übertragung von Daten anfordert, umfassend sowohl die vom Hauptrechner angeforderten Daten als auch die ersten wahrscheinlich als nächstes vom Hauptrechner angeforderten Daten, entsprechend der vom Hauptrechner angeforderten Daten; und
wobei der Cache-Speicher niederer Ordnung die zweiten wahrscheinlich als nächstes vom Cache-Speicher hoher Ordnung angeforderten Daten speichert, entsprechend der vom Cache- Speicher hoher Ordnung angeforderten Daten.
wobei der Cache-Speicher hoher Ordnung, wenn in ihm nicht die vom Hauptrechner angeforderten Daten gespeichert sind, vom Cache-Speicher niederer Ordnung eine Übertragung von Daten anfordert, umfassend sowohl die vom Hauptrechner angeforderten Daten als auch die ersten wahrscheinlich als nächstes vom Hauptrechner angeforderten Daten, entsprechend der vom Hauptrechner angeforderten Daten; und
wobei der Cache-Speicher niederer Ordnung die zweiten wahrscheinlich als nächstes vom Cache-Speicher hoher Ordnung angeforderten Daten speichert, entsprechend der vom Cache- Speicher hoher Ordnung angeforderten Daten.
31. Computersystem nach Anspruch 29,
wobei der Cache-Speicher hoher Ordnung ein Plattenpuffer ist, mit dem die Festplatten-Steuereinheit zur Steuerung des Festplattenlaufwerks ausgestattet ist; und
wobei der Cache-Speicher niederer Ordnung ein Plattenpuffer ist, mit dem das Festplattenlaufwerk ausgestattet ist.
wobei der Cache-Speicher hoher Ordnung ein Plattenpuffer ist, mit dem die Festplatten-Steuereinheit zur Steuerung des Festplattenlaufwerks ausgestattet ist; und
wobei der Cache-Speicher niederer Ordnung ein Plattenpuffer ist, mit dem das Festplattenlaufwerk ausgestattet ist.
32. Computersystem, umfassend:
ein Festplattenlaufwerk mit einem Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
eine Festplatten-Steuereinheit mit einem Cache-Speicher hoher Ordnung zum Speichern eines Teils der auf dem Festplattenlaufwerk gespeicherten Daten, die zur Steuerung des Festplattenlaufwerks dient;
wobei der Cache-Speicher niederer Ordnung, wenn die Festplatten-Steuereinheit vom Festplattenlaufwerk die Übertragung von Daten anfordert, die vom Festplattenlaufwerk an die Festplatten-Steuereinheit übertragenen Daten als Reaktion auf die Anforderung löscht.
ein Festplattenlaufwerk mit einem Cache-Speicher niederer Ordnung zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
eine Festplatten-Steuereinheit mit einem Cache-Speicher hoher Ordnung zum Speichern eines Teils der auf dem Festplattenlaufwerk gespeicherten Daten, die zur Steuerung des Festplattenlaufwerks dient;
wobei der Cache-Speicher niederer Ordnung, wenn die Festplatten-Steuereinheit vom Festplattenlaufwerk die Übertragung von Daten anfordert, die vom Festplattenlaufwerk an die Festplatten-Steuereinheit übertragenen Daten als Reaktion auf die Anforderung löscht.
33. Computersystem, umfassend:
ein Festplattenlaufwerk mit einem Cache-Speicher zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
ein Hauptspeicher zum Speichern eines Teils der auf dem Festplattenlaufwerk gespeicherten Daten und zum Austauschen von Daten mit dem Festplattenlaufwerk als Reaktion auf einen von einer Zentraleinheit ausgegebenen Befehl;
wobei beide, sowohl der Cache-Speicher als auch der Hauptspeicher, wenn von ihnen die Übertragung von Daten vom Hauptspeicher an das Festplattenlaufwerk angefordert wird, die vom Festplattenlaufwerk an den Hauptspeicher übertragenen Daten als Reaktion auf die Anforderung löschen.
ein Festplattenlaufwerk mit einem Cache-Speicher zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten; und
ein Hauptspeicher zum Speichern eines Teils der auf dem Festplattenlaufwerk gespeicherten Daten und zum Austauschen von Daten mit dem Festplattenlaufwerk als Reaktion auf einen von einer Zentraleinheit ausgegebenen Befehl;
wobei beide, sowohl der Cache-Speicher als auch der Hauptspeicher, wenn von ihnen die Übertragung von Daten vom Hauptspeicher an das Festplattenlaufwerk angefordert wird, die vom Festplattenlaufwerk an den Hauptspeicher übertragenen Daten als Reaktion auf die Anforderung löschen.
34. Festplattenlaufwerk, umfassend:
ein Cache-Speicher zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten;
wobei der Cache-Speicher, wenn ein an das Festplattenlaufwerk angeschlossener Hauptrechner vom Festplattenlaufwerk die Übertragung von Daten anfordert, die übertragenen Daten als Reaktion auf die Anforderung an den Hauptrechner löscht.
ein Cache-Speicher zum Speichern eines Teils der auf einer Magnetplatte gespeicherten Daten;
wobei der Cache-Speicher, wenn ein an das Festplattenlaufwerk angeschlossener Hauptrechner vom Festplattenlaufwerk die Übertragung von Daten anfordert, die übertragenen Daten als Reaktion auf die Anforderung an den Hauptrechner löscht.
35. Festplatten-Steuereinheit, umfassend:
eine erste Anschlusseinheit, angeschlossen an eine erweiterte Anschlusseinheit einer Peripherieeinheit, mit dem ein Computersystem ausgestattet ist;
eine zweite Anschlusseinheit, angeschlossen an ein Festplattenlaufwerk; und
ein Cache-Speicher zum Speichern eines Teils der in dem mit der zweiten Anschlusseinheit verbunden Festplattenlaufwerk gespeicherten Daten;
wobei die Steuereinheit das an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk steuert; und
wobei der Cache-Speicher, wenn der Hauptrechner von ihm die Übertragung von Daten über die erste Anschlusseinheit anfordert, die Daten löscht, nachdem die Daten als Reaktion auf die Anforderung an den Hauptrechner übertragen wurden.
eine erste Anschlusseinheit, angeschlossen an eine erweiterte Anschlusseinheit einer Peripherieeinheit, mit dem ein Computersystem ausgestattet ist;
eine zweite Anschlusseinheit, angeschlossen an ein Festplattenlaufwerk; und
ein Cache-Speicher zum Speichern eines Teils der in dem mit der zweiten Anschlusseinheit verbunden Festplattenlaufwerk gespeicherten Daten;
wobei die Steuereinheit das an die zweite Anschlusseinheit angeschlossene Festplattenlaufwerk steuert; und
wobei der Cache-Speicher, wenn der Hauptrechner von ihm die Übertragung von Daten über die erste Anschlusseinheit anfordert, die Daten löscht, nachdem die Daten als Reaktion auf die Anforderung an den Hauptrechner übertragen wurden.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11-293909 | 1999-10-15 | ||
JP29390999A JP3568110B2 (ja) | 1999-10-15 | 1999-10-15 | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10050171A1 true DE10050171A1 (de) | 2001-04-19 |
DE10050171B4 DE10050171B4 (de) | 2006-01-05 |
Family
ID=17800734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10050171A Expired - Fee Related DE10050171B4 (de) | 1999-10-15 | 2000-10-11 | Verfahren zur Steuerung von Cache-Speichern |
Country Status (5)
Country | Link |
---|---|
US (1) | US6629200B1 (de) |
JP (1) | JP3568110B2 (de) |
KR (1) | KR100388338B1 (de) |
DE (1) | DE10050171B4 (de) |
SG (1) | SG90174A1 (de) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003076498A (ja) * | 2001-09-05 | 2003-03-14 | Hitachi Ltd | ディスク記憶装置 |
US7688863B2 (en) * | 2001-10-19 | 2010-03-30 | Renesas Technology America, Inc. | Methods and apparatus for sharing network bandwidth |
JP2003216491A (ja) | 2002-01-23 | 2003-07-31 | Hitachi Ltd | 階層キャッシュ制御方法 |
FR2846114A1 (fr) * | 2002-10-16 | 2004-04-23 | Thomson Licensing Sa | Dispositif de memorisation d'une liste d'elements et procede de memorisation d'un element dans un tel dispositif |
JP2005267546A (ja) * | 2004-03-22 | 2005-09-29 | Hitachi Ltd | ディスク制御装置、及びディスク制御装置におけるネットワーク接続ストレージの接続管理方式 |
US7634615B2 (en) * | 2004-06-10 | 2009-12-15 | Marvell World Trade Ltd. | Adaptive storage system |
US7966450B2 (en) * | 2005-09-01 | 2011-06-21 | Micron Technology, Inc. | Non-volatile hard disk drive cache system and method |
KR100876841B1 (ko) | 2006-08-22 | 2009-01-07 | 엘지전자 주식회사 | 캐쉬 메모리 탑재형 컴퓨터 및 그 제어 방법 |
KR101128234B1 (ko) * | 2006-08-23 | 2012-03-23 | 엘지전자 주식회사 | 메모리 접근 제어 장치 및 방법 |
US8370294B2 (en) * | 2009-05-06 | 2013-02-05 | Microsoft Corporation | File stashing for storage media |
US9053060B2 (en) | 2009-09-29 | 2015-06-09 | Canon Kabushiki Kaisha | Information processing apparatus having file system consistency recovery function, and control method and storage medium therefor |
US8990502B2 (en) | 2010-11-23 | 2015-03-24 | International Business Machines Corporation | Write cache structure in a storage system |
US9098397B2 (en) * | 2011-04-04 | 2015-08-04 | International Business Machines Corporation | Extending cache for an external storage system into individual servers |
JP6112193B2 (ja) * | 2013-03-22 | 2017-04-12 | 富士通株式会社 | アクセス制御プログラム、ディスク装置及びアクセス制御方法 |
JP6203592B2 (ja) * | 2013-10-07 | 2017-09-27 | 株式会社日立製作所 | 計算機システム、キャッシュ管理方法及び計算機 |
US9478274B1 (en) | 2014-05-28 | 2016-10-25 | Emc Corporation | Methods and apparatus for multiple memory maps and multiple page caches in tiered memory |
US9535844B1 (en) | 2014-06-30 | 2017-01-03 | EMC IP Holding Company LLC | Prioritization for cache systems |
US10235054B1 (en) * | 2014-12-09 | 2019-03-19 | EMC IP Holding Company LLC | System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner |
JP6194875B2 (ja) * | 2014-12-11 | 2017-09-13 | 日本電気株式会社 | キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4928239A (en) * | 1986-06-27 | 1990-05-22 | Hewlett-Packard Company | Cache memory with variable fetch and replacement schemes |
JP2637788B2 (ja) * | 1988-09-02 | 1997-08-06 | 株式会社日立製作所 | ディスクキャッシュ制御方式および情報処理システム |
JPH02114345A (ja) * | 1988-10-24 | 1990-04-26 | Nec Corp | キャッシュメモリ制御方式 |
JPH03122737A (ja) | 1989-10-05 | 1991-05-24 | Nec Corp | ページング方式 |
JPH0588976A (ja) * | 1991-09-30 | 1993-04-09 | Pfu Ltd | キヤツシユ記憶装置及びそれを用いた情報処理装置とその情報処理方法 |
US5386547A (en) * | 1992-01-21 | 1995-01-31 | Digital Equipment Corporation | System and method for exclusive two-level caching |
US5564035A (en) * | 1994-03-23 | 1996-10-08 | Intel Corporation | Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein |
US5809280A (en) * | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | Adaptive ahead FIFO with LRU replacement |
US6571324B1 (en) * | 1997-06-26 | 2003-05-27 | Hewlett-Packard Development Company, L.P. | Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system |
US6148368A (en) * | 1997-07-31 | 2000-11-14 | Lsi Logic Corporation | Method for accelerating disk array write operations using segmented cache memory and data logging |
JPH11110139A (ja) * | 1997-09-26 | 1999-04-23 | Internatl Business Mach Corp <Ibm> | データ読み取り方法及びデータ読み取り装置 |
US6243795B1 (en) * | 1998-08-04 | 2001-06-05 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Redundant, asymmetrically parallel disk cache for a data storage system |
-
1999
- 1999-10-15 JP JP29390999A patent/JP3568110B2/ja not_active Expired - Fee Related
-
2000
- 2000-10-02 SG SG200005621A patent/SG90174A1/en unknown
- 2000-10-06 KR KR10-2000-0058696A patent/KR100388338B1/ko not_active IP Right Cessation
- 2000-10-11 DE DE10050171A patent/DE10050171B4/de not_active Expired - Fee Related
- 2000-10-13 US US09/687,270 patent/US6629200B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001117817A (ja) | 2001-04-27 |
JP3568110B2 (ja) | 2004-09-22 |
DE10050171B4 (de) | 2006-01-05 |
SG90174A1 (en) | 2002-07-23 |
US6629200B1 (en) | 2003-09-30 |
KR100388338B1 (ko) | 2003-06-25 |
KR20010050881A (ko) | 2001-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10050171B4 (de) | Verfahren zur Steuerung von Cache-Speichern | |
EP0077453B1 (de) | Speicher-Subsysteme mit Geräten zur Datenbelegungsbeschränkung in deren Cache-Speichern | |
DE112010003788B4 (de) | Datenspeicherung | |
DE69535330T2 (de) | Caching-System mit Explitzer Folgeliste | |
DE112010004969B4 (de) | Hybrides Speicherteilsystem und Verfahren zum Verwalten eines solchen | |
US7769952B2 (en) | Storage system for controlling disk cache | |
US5596736A (en) | Data transfers to a backing store of a dynamically mapped data storage system in which data has nonsequential logical addresses | |
DE112010003794B4 (de) | Datenspeicherung unter Verwendung von Bitmaps | |
DE102008022831B4 (de) | Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens | |
US6988165B2 (en) | System and method for intelligent write management of disk pages in cache checkpoint operations | |
DE112012002615B4 (de) | Vorabladen von Datenspuren und Paritätsdaten zur Verwendung zum Auslagern aktualisierter Spuren | |
US4571674A (en) | Peripheral storage system having multiple data transfer rates | |
DE69631106T2 (de) | On-line-Rekonfiguration einer Speicherplattenanordnung | |
US6615318B2 (en) | Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries | |
DE69935737T2 (de) | Verfahren und gerät um zeitliche und feste daten in einer einzelspeicherstruktur zu verwalten | |
DE10348326A1 (de) | Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist | |
EP0077452A2 (de) | Datenaufstieg in Speicher-Subsystemen | |
DE112018002951T5 (de) | Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten | |
JPH07506923A (ja) | キャッシュ管理を動的に制御するためのシステム及び方法 | |
US6851024B1 (en) | Exclusive caching in computer systems | |
JPH0427580B2 (de) | ||
DE102005031525A1 (de) | Verfahren und System zur Steuerung eines Flashspeichers und Speichersystem | |
DE112005001050T5 (de) | Liefern eines alternativen Cachespeicherungsschemas auf der Speicherbereichnetzwerkebene | |
DE102013209318B4 (de) | Durchführen von asynchronen Löschscans mit Zwischenspeicherungs- und Auslagerungsvorgängen | |
DE112020000183T5 (de) | Speicherungsklassenspeicherzugriff |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8128 | New person/name/address of the agent |
Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ASS., 7 |
|
8364 | No opposition during term of opposition | ||
8320 | Willingness to grant licences declared (paragraph 23) | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |