DE3390315T1 - Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen - Google Patents
Anpassungsfähige Unterteilung eines Chachespeicherraums in DomainenInfo
- Publication number
- DE3390315T1 DE3390315T1 DE19833390315 DE3390315T DE3390315T1 DE 3390315 T1 DE3390315 T1 DE 3390315T1 DE 19833390315 DE19833390315 DE 19833390315 DE 3390315 T DE3390315 T DE 3390315T DE 3390315 T1 DE3390315 T1 DE 3390315T1
- Authority
- DE
- Germany
- Prior art keywords
- frame
- domain
- data
- domains
- cache
- 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.)
- Withdrawn
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
- 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/312—In storage controller
-
- 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/60—Details of cache memory
- G06F2212/601—Reconfiguration of cache memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Diese Anmeldung stellt eine Teilfortführung der gleichzeitig
anhängigen US-Anmeldung 325 351 mit gleichem Titel, eingereicht am 27. November 1981, dar.
Diese Erfindung bezieht sich auf die Datenspeicherverwaltung und -steuerung, insbesondere auf ein System, bei dem
ein Festkörper-Cachespeicher, der in Verbindung mit verschiedenen
Typen von Langzeit-Magnetplatteneinrichtungen verwendet wird, in Blöcke oder "Domainen" unterteilt wird, deren Größen
derart gewählt werden, daß eine effiziente Verwendung des Cachespeichers sichergestellt wird, und zwar ungeachtet der
sich ändernden Anforderungen, die an das System gestellt worden.
der Technik
Die Erfindung betrifft ein Festkörper-Cachespeichersubsystem, das als Zusatz zu Langzeit-Magnetplattenspeichermedien verwendet
wird. Der Cachespeicher ist außerhalb eines konventionellen Datenübertragungskanals angeordnet, der nicht speziell
zur Verwendung mit einem solchen Cachespeichersubsystem ausgebildet ist, so daß das Cachespeichersystem steckerkompatibel
und softwaretransparent zu einem Hauptrechner ist. Im einzelnen ist die Erfindung so ausgestaltet, daß sie in
.<"■*■ 10 Übereinstimmung mit einem Cachespeichersubsystem arbeiten
kann, das Gegenstand der gleichzeitig anhängigen US-Anmeldung 325 346, eingereicht am 27. November 1981, von Dodd,
mit dem Titel: "Cache Buffered Memory Subsystem", ist. Diese Anmeldung beschreibt ein Cachespeichersubsystem, das
mit einem oder mehreren Speicherinterpolatoren operativ in Verbindung steht, die wiederum an einem Ende mit einem
Hauptrechner und mit dem anderen Ende mit Steuermodulen verbunden sind. Weiterhin stehen die Steuermodule mit dem aktuellen
Magnetplattenlaufwerk in Verbindung. Wie aus dem Stand der Technik bekannt, dienen die Interpolatoren der
Anpassung des Hauptrechners an die Steuermodule, wobei die Steuermodule wiederum die Interpolatoren an die Magnetplattenlaufwerke
anpassen. Die Steuermodule werden in Übereinstimmung mit einem bestimmten verwendeten Magnetplattenlaufwerktyp
ausgesucht, wohingegen die Interpolatoren mit verschiedenen Steuermodultypen und somit mit verschiedenen
Magnetplattenlaufwerkstypen verwendet werden. Gemäß der Erfindung dieser Anmeldung kann der Cachespeicher mit verschiedenen
Typen von Magnetplattenlaufwerken und Steuermodulen verwendet werden, da dieser direkt mit dem Interpolator
bzw. Interpolatoren in Verbindung steht.
Die Funktion des Festkörper-Cachespeichersubsystems der
oben erwähnten, gleichzeitig anhängigen Anmeldung besteht
darin, gewisse,Daten zu speichern, die bestimmt wurden im
Hinblick darauf, daß sie vom Hauptrechner wahrscheinlich aufgerufen werden, wobei die Speicherung dieser Daten vor
einer aktuellen Datenanforderung des Hauptrechners erfolgt.
Diese Bestimmung wird durchgeführt gemäß einer Erfindung, die in weiteren, gleichzeitig anhängigen US-Anmeldungen
offenbart ist, nämlich der Anmeldung 325 350, eingereicht am 27. November 1981, von Coulson et al, mit dem Titel:
"Detection of Sequential Data Stream", sowie in einer Teilfortführung
dieser Anmeldung mit gleichem Titel. Wurde bei einem bevorzugten Ausführungsbeispiel dieser Erfindung einmal
bestimmt, daß ein bestimmter Datenblock voraussichtlich vom Hauptrechner aufgerufen wird, so wird die gesamte Magnetplattenspur,
die diesen Datenblock enthält, in den Cachespeicher zur vorläufigen Speicherung gebracht, und zwar in
Erwartung, daß dieser vom Hauptrechner aufgerufen wird.
Aus Gründen des Adressierungskomforts ist es erwünscht, den
Cachespeicher in "Rahmen" zu unterteilen, die so bemessen sind, daß Datenblockgrößen gespeichert werden können, die
zur Abspeicherung im Cachespeicher erwartet werden. In Anbetracht der Tatsache, daß das Cachespeichersubsystem mit
verschiedenen Typen von Magnetplattenlaufwerken zusammenarbeiten
muß, die wiederum sich ändernde Mengen von Daten auf einer bestimmten Spur gespeichert haben, muß eine Einrichtung
vorgesehen werden, um den Cachespeicher so nützlich wie möglich zu machen, und zwar ungeachtet der Tatsache,
daß Magnetplattenspuren mit unterschiedlichen Größen Spur um Spur in den Cachespeicher abgespeichert werden. Geht man
beispielsweise davon aus, daß der gesamte Cachespeicher 200 kb (Kilobytes) Daten enthält und daß die Spurlänge
eines bestimmten Magnetplattenlaufwerks 20 kb beträgt, so würden 10 solche Spuren in den Cachespeicher passen. Etwas
anders ausgedrückt, der Cachespeicher könnte in zehn 20 kb "Rahmen" unterteilt werden. Sind z.B. alle zehn Rahmen voll
^ ■*
und soll eine andere Spur in den Cachespeicher übertragen
werden, so könnte ein Cacheverwalter dann- einfach einen Rahmen freigeben, z.B. den Rahmen, der die am weitesten zurückliegend
verwendeten Daten enthält, und dann diesen Rahmen der neuen Spur zuordnen. Falls jedoch die auf einem anderen
Magnetplattenlaufwerktyp abgespeicherten Daten mit einer
Spurgröße von beispielsweise 25 kb abgespeichert werden sollen, so wäre es erforderlich, die zwei benachbarten
20 kb-Rahmen freizugeben, um sie einer 25 kb-Spur anzupassen, wodurch jedoch 15 kb des Speicherraumes nutzlos wären. Selbst
wenn man davon ausgeht, daß zwei benachbarte Rahmen ohne Verlust von brauchbaren Daten freigegeben werden könnten, so
wäre allein die Vergeudung des Speicherraums zweifellos unerwünscht.
Würde man andererseits den gesamten Festkörperspeicher in zwei Unterabschnitte oder "Domainen" unterteilen, wobei
eine Domaine nur Spuren einer Größe speichert und eine andere Domaine Spuren einer anderen Größe speichert, so könnten
die einzelnen Domainen des Speichers wirksam für die Zuteilung von Spuren einer bestimmten Größe unterteilt werden.
Jedoch setzt die Brauchbarkeit dieser Lösung voraus, daß die relative Aktivität der Plattenlaufwerke, die die beiden
Größen von Spuren aufweisen, über die Zeit konstant ist, was man jedoch nicht erwarten kann. Demzufolge ist es erwünscht,
daß dem gesamten Speicherbereich des Festkörper-Cachespeichers irgendeine zum Cachespeicher übertragene Spurgröße zugeordnet
werden kann, so daß der Speicher äußerst rationell verwendet werden kann. Letztlich könnte man den Cachespeicher in viele
kleinere, gleich große "Seiten", d.h. mit einer Größe von 2 kb unterteilen, in die eine Spur von irgendeiner Größe
unterteilt werden könnte. Jedoch würde diese Vorgehensweise eine komplexe Hardware erfordern und zusätzlich die Leistungsfähigkeit
des Cachespeichers verringern, da für eine bestimmte Magnetplattenspur notwendigerweise die Neigung
bestehen würde, an verschiedenen Abschnitten des Cachespeichers gespeichert zu werden, was einen beachtlichen
zusätzlichen Aufwand zur Folge haben würde, d.h. den Abruf von zusätzlichen Speicherplätzen der Abschnitte einer gegebenen
Spur.
Es besteht demzufolge eine Aufgabe der Erfindung darin, eine Einrichtung vorzuschlagen, mit deren Hilfe der in
einem Festkörper-Cachespeicher verfügbare Speicherbereich äußerst rationell verwendet werden kann.
Eine andere Aufgabe der Erfindung besteht darin, eine Einrichtung
vorzuschlagen, mit deren Hilfe ein Festkörper-Cachespeichersubsystem rationell zur Speicherung von Datenaufzeichnungen
unterschiedlicher Größe betrieben werden kann.
Eine weitere Aufgabe der Erfindung besteht darin, eine Einrichtung
vorzuschlagen, mit der ein Cachespeicher "dynamisch" bzw. zum Zwecke der Anpassung neu rekonfiguriert werden
kann, der vorher entsprechend der momentanen Verwendung in Domainen mehrerer Klassen unterteilt wurde, um somit den
verfügbaren Speicherbereich voll verwenden zu können.
Die vorstehend erwähnten Bedürfnisse des Standes der Technik
sowie die Aufgaben der Erfindung werden mit Hilfe der
vorliegenden Erfindung befriedigt bzw. gelöst, wonach ein Festkörperspeicher in Domainen unterteilt wird. Die Größe
- τ·
der Domainen wird so ausgewählt, daß sie ein im wesentlichen ganzzahliges Vielfaches jeder der einzuspeichernden
Spurgrößen ist, so daß z.B. drei 50 kb-Spuren einer Geräteklasse in die gleiche 150 kb-Domaine passen wie zwei 75 kb-Spuren
einer anderen Geräteklasse. Jede einzelne Domaine wird danach für die Speicherung von Spuren eines bestimmten
Gerätetyps zugeordnet und danach in spurbemessene Rahmen unterteilt, in die bestimmte Spuren eingeschrieben werden.
Im Hinblick auf die Verwendung der Domainen werden Statistiken unterhalten. Falls Anzeichen dafür bestehen,
daß die von einem bestimmten Gerätetyp übertragenen Daten über andere vorherrschen, so wird eine bestimmte Domaine
des zweiten Gerätetyps für den ersten Gerätetyp freigegeben, um somit eine rationelle Verwendung des ganzen verfügbaren
Speicherraumes sicherzustellen. Auf diese Weise wird eine Zersplitterung infolge der Vermischung von unterschiedlichen
Spurgrößen im gleichen Bereich des Speichers vermieden.
0 Die Erfindung wird durch Bezugnahme auf die beiliegenden Zeichnungen besser verständlich. Es zeigen:
Fig. 1 ein schematisches Blockdiagramm des erfindungsgemäßen
Systems;
Fig. 2 wie einzelne Domainen entsprechend der darin zu speichernden Spurgrößen unterteilt werden
können;
Fig. 3 eine Domainenumschalt-Entscheidungstabelle, die zur Bestimmung verwendet wird, welche Domainen
zu einem bestimmten Zeitpunkt umgeschalten werden sollen;
339P315
Fig. 4 ein Diagramm, das anzeigt, wie die bestimmte
Domainenumschaltentscheidung bei der aktuellen Durchführung des Schaltvorganges verwendet
wird und wie die Steuertabellen beim Voranschreiten des Schemas bzw. Systems aktualisiert
werden und
Fig. 5A bis 5C die LRU ("least recently used - vor kurzem nicht verwendet"), die zur Zuordnung der Rahmen
zu den zu speichernden Daten verwendet wird
10 Beschreibung der bevorzugten Ausführungsbeispiele
Wie oben erläutert, sind die erfindungsgemäßen Verfahren
zur anpassungsfähigen Unterteilung in Domainen so ausgestaltet,
daß sie in einem Festkörper-Cachespeichersubsystem Verwendung finden können, das auf einem Magnetplattenspeieher
abgespeicherte Daten aufnimmt, und zwar in der Erwartung, daß diese Daten von einem Hauptrechner abgerufen
werden.
Fig. 1 zeigt ein schematisches Diagramm eines derartigen
Systems. Der Hauptrechner 10 steht mit Hilfe eines üblichen Kanalinterface 12 mit einem Speicherinterpolator 16 in Verbindung.
Der Speicherinterpolator 16 ist weiterhin mit mehreren Steuermodulen 18 zusammengeschaltet, die Magnetplattenlaufwerke
14 steuern, die - wie dargestellt - von unterschiedlicher Art sein können. Im einzelnen kann die Datenmenge,
die auf einer bestimmten Spur eines dieser Magnetplattenlaufwerke abgespeichert ist, variieren. Wird eine
Entscheidung von einm Cacheverwalter 24 getroffen - d.h. in Übereinstimmung mit den vorstehend erwähnten, gleichzeitig
anhängigen Anmeldungen mit dem Titel "Detection of
■*■
Sequential Data Stream" - , daß die Inhalte einer Spur in einem Festkörper-Cachespeicher 22 gespeichert werden sollen,
so muß den Daten eine Anzahl von Speicherplätzen im Cachespeicher zugeordnet werden, deren Größe der Länge der Spur
auf dem Magnetplattenlaufwerk 14 entspricht, d.h. ein "Rahmen",
bestehend aus Cachespeicherplätzen. Falls der Cacheverwalter 24 wünscht, daß eine bestimmte Spur in einen Rahmen
des Cachespeicherfelds 22 übertragen werden soll, so wird demzufolge ein Rahmen geeigneter Größe dieser Spur
zugeordnet und der Vorgang geht weiter.
Für den Fachmann ist es verständlich, daß eine solche "Rahmenbildung"
eines Blockes von fortlaufenden Speicherplätzen und deren Zuordnung erwünscht ist, um die Komplexität der
Zuordnung von Adressen zu den Daten zu verringern. Wird dies getan, so brauchen im einzelnen nur die Spuranfangsadresse
(BOT) und die Spurendadresse (EOT) bekannt sein, um die Speicherplätze aller auf der Spur befindlichen Daten
definieren zu können, da die Gesamtzahl an Datenbytes durch die Rahmendefinition bestimmt ist. Vergleiche hierzu
20 die gleichzeitig anhängige Anmeldung mit dem Titel
"Dynamic Addressing for Variable Track Length Cache Memory", von Swiatek et al, und die Anmeldung 325 288, eingereicht
am 27. November 1981 von Moreno et al, mit dem Titel "Control of Cache Buffer for Memory Subsystem" sowie eine Teilfortführung
dieser Anmeldung mit dem gleichen Titel, um detaillierte Angaben für die Zuordnung von Cachespeicheradressen
zu Daten, die in dem Rahmen gespeichert werden sollen, zu erhalten. Die vorliegende Erfindung betrifft die rationelle
Unterteilung des Cachefeldes in Unterabschnitte bzw. "Domainen". Die Größe der Domainen wird so gewählt, daß
ungefähr ganze Zahlen von Magnetplattenspuren verschiedener Länge in die "Rahmen" jeder Domaine passen. Nachdem somit
die Domaine einer bestimmten Spurlänge zugeordnet ist, wird
- Ar
diese somit in Rahmen unterteilt, deren Größen den Spurlängen entsprechen.
Man kann erwarten, daß an manchen Stellen alle Domainen, die Spuren einer bestimmten Länge zugeordnet sind, ständig
in Gebrauch sind, wohingegen diejenigen Domainen, die Magnetplattenspuren eines anderen Gerätetyps bzw. anderer Gerätetypen
zugeordnet sind, nicht ständig in Gebrauch sind. Gemäß einem wichtigen Aspekt der Erfindung werden die
Domainen so gewählt, daß sie die gleiche Größe aufweisen, so daß sie rationell freigegeben werden können, um Daten
aufnehmen zu können, die auf einem anderen Magnetplatteneinrichtungstyp gespeichert sind. Die Domainen werden entsprechend
der Verwendung in Rahmen unterschiedlicher Größe aufgeteilt. Aus diesem Grund wird die Größe der Domaine so
ausgewählt, daß die Domainen ganze Zahlen von Rahmen unterschiedlicher Größe enthalten. Fig. 2 zeigt ein Beispiel,
wie dies bewerkstelligt werden kann. In diesem Fall beträgt die Größe der Domaine etwa 256 kb. Bei einem bevorzugten
Ausführungsbeispiel weist der Cachespeicher etwa
20 12 solche Domainen für eine Gesamtkapazität von etwa
3 Megabytes auf. In Fig. 2 sind drei mögliche Schemen für die Domainenunterteilung dargestellt.
Fig. 2a zeigt ein Schema, das für eine Domaine angewendet werden kann, die in Verbindung mit einem Plattenlaufwerk
Modell 8650 der Storage Technology Corporation, dem Anmelder vorliegender Anmeldung, verwendet werden kann, bei
dem jede Spur etwa 19069 Bytes zuzüglich : einer Identifizierungszwecken
dienenden "Kopf-Information aufweist. Dreizehn derartige Spuren einschließlich ihrer Kopfinformation
passen in die 256 kb-Domaine. Andererseits weist das Plattenlaufwerk Modell 8375 der Storage Technology
Corporation eine Spurgröße von etwa 37000 Bytes auf. Wie aus Fig. 2b ersichtlich, passen sechs solche 37000 Bytes-
- 4t.
Spuren in die 256 kb-Domaine. Schließlich weist das Plattenlaufwerk
Modell 8380 der Storage Technology Corparation eine Spurgröße von 47476 Bytes auf. Fig. 2c zeigt, daß
fünf solche Rahmen zusammen mit den Kopfinformationen
(Anfangsetiketten) gut in die 256 kb große Domaine passen.
Gemäß der Erfindung wird entsprechend der Verwendung eine dynamische Neuverteilung der Speicherraumzuordnung vorgesehen.
Dies ermöglicht eine hohe Speicherleistung ohne starke Zersplitterung. Diese Zersplitterung stellt eine
Verschwendung von Speicherraum dar, und zwar aufgrund der mangelnden Übereinstimmung zwischen der Größe der verfügbaren
Rahmen und der Größe der Spuren, die in den verfügbaren Rahmen gespeichert werden sollen. Diese starke Zersplitterung
wird vermieden, da eine für einen Gerätetyp vorgesehene Domaine für einen anderen Gerätetyp durch erneute
Rahmenbildung neu zugewiesen werden kann, wann immer dies gewünscht ist. Dieses Neuzuweisen tritt jeweils nur
in einer Domaine auf, wodurch eine Stabilität und Unkompliziertheit durch Beseitigung des Erfordernisses, das gesamte
Cachezuordnungsschema zu jeder Zeit außer Kraft setzen zu müssen, vorgesehen wird. Eine "Domainenverwendungs-Zählung"
wird durchgeführt, um zu überwachen, welche Domainenklasse bzw. -kategorie eine häufige Verwendung erfährt.
Dies macht die Bestimmung möglich, ob die gegenwärtige Zuordnung der Domainen die effizienteste im Hinblick
auf die Verwendung des Systems zu irgendeinem bestimmten Zeitpunkt ist. Dies wird nachfolgend in Verbindung
mit den Fig. 3 und 4 erörtert.
Ein vorläufiges Problem, das angesprochen werden muß, stellt die Rahmenzuordnung dar, d.h. wie man den besten
Rahmen aussucht, der einer bestimmten, in das Cachespeicherfeld zu übertragenden Spur zugeordnet wird. Der "beste Rah-
■Al.
men" ist der, der gegenwärtig keiner Spur zugeordnet ist.
Sind jedoch keine Rahmen frei, so muß ein Rahmen von einer Spur "befreit" werden, der er momentan zugeordnet ist, und
der neuen Spur, die gespeichert werden soll, wieder zugeteilt werden. Der zur Freigabe am besten geeignete Rahmen
ist einer, der vom Hauptrechner nicht mehr gelesen wird. Jedoch sollten Rahmen, die vom Hauptrechner noch gelesen
werden, nicht freigegeben werden, da der bei der Übertragung
verwendete Aufwand nicht wieder wettgemacht werden könnte, falls er freigegeben würde, ehe die Daten gelesen
werden. Die vorstehend angesprochene, gleichzeitig anhängige Anmeldung mit dem Titel "Detection of Sequential Data
Stream" enthält detaillierte Angaben zu Verfahren, mit deren Hilfe eine Freigabe durchgeführt werden kann.
Bei einem bevorzugten Ausführungsbeispiel der Erfindung
wird, falls keine freien Rahmen verfügbar sind, die Rahmenzuordnung unter Verwendung eines LRUC'least recently
used - am weitesten zurückliegend verwendet")-Schemas durchgeführt. Dieses LRU-Schema wird mit Hilfe einer Liste von
Rahmen ausgeführt. Ein Beispiel für eine derartige Liste ist in den Fig. 5A bis 5C dargestellt. Am Anfang der Liste
sind Rahmen angeordnet, die vor äußerst kurzer Zeit bzw. zuletzt verwendet wurden, wohingegen am Ende der Liste Rahmen
vorgesehen sind, die vor kurzem nicht verwendet wurden 5 und die frei sind. Wird ein Rahmen verwendet, d.h. wird er
übertragen oder gelesen, so wird demzufolge sein "Name", d.h. seine Adresse und sein Kennzeichen an den Anfang der
Liste gesetzt. Wird ein Rahmen freigegeben, so wird dessen Name an das Ende der Liste bewegt. Dies findet statt, falls
der Hauptrechner einen Schreibvorgang auf den Bereich auf der Magnetplatte richtet, von dem die Inhalte dieses Rahmens
übertragen wurden, wodurch demzufolge die Daten in diesem Rahmen ungültig gemacht werden, oder falls alle Aufzeichnungen
dieser Spur gelesen wurden. Somit enthält das
untere Ende der Liste einen freien Rahmen oder den am weitesten zurückliegend verwendeten Rahmen. Der Rahmen am unteren
Ende der Liste ist somit für die Zuordnung einer zu übertragenden Spur am besten geeignet. Selbstverständlich wird
der Rahmen an den Anfang der Liste gesetzt, falls der Rahmen zugeordnet ist, was anzeigt, daß dieser Rahmen der
letztverwendete ist.
Die Fig. 5A bis 5C zeigen die Cachebezugsliste, die in dem Steuerspeicher des Cacheverwalters 32 gespeichert ist. Diese
Bezugs- bzw. Adreßliste enthält die LRU-Liste, die verwendet wird, um die Domainen- und Rahmenspeicherplatzadressen, die
einer bestimmten Spur zugeordnet sind, zu bestimmen. Die Cachebezugsliste enthält eine abgeschlossene bzw. verbundene
Liste mit Rahmenspeicherplätzen und deren jeweiligen Status.
Fig. 5A zeigt eine Reihe von Rahmendeskriptoren 74, von denen jeder einen Rahmen in dem Speicherfeld beschreibt.
Jeder Rahmendeskriptor enthält den Status seines entsprechenden Rahmens. LRU("least recently used - am weitesten zurückliegend
verwendet")-Hinweismarken, die die verbundene Liste fortschreiben bzw. führen, sind ebenso dargestellt. Der Rahmendeskriptor
66 stellt den Anfang einer LRU-Liste dar und speichert Adressen der Rahmen, die als letzte verwendet wurden.
Der Rahmendeskriptor 68 stellt das Ende der Liste dar und listet Rahmen auf, die vor kurzem nicht verwendet wurden
und jene die frei sind. Die Deskriptoren 66 und 68 sind für einen Magnetplattenlaufwerktyp (Typ A) vorgesehen. Die
Deskriptoren 70 und 72 sind ähnlich, sie werden jedoch für einen anderen Magnetplattenlaufwerktyp (Typ B) verwendet.
Die Fig. 5B veranschaulicht die zehn 2 Byte-Worte 63, aus denen jeder Rahmendeskriptor besteht. Die ersten beiden
Worte (Adressen 00 und 01) werden zum Suchen einer bestimmten Datenspur verwendet, die im Cachespeicher gespei-
339031
chert wurde. Die bei den Adressenstellen 02 und 03 gespeicherten Worte, stellen die LRU-Hinweismarken dar, d.h.
zeigen, wo sich der entsprechende Rahmen in der LRU-Liste befindet. Das Hinweismarkenwort bei der Adresse 02 gibt die
Adresse des Rahmens an, der der nächstaktive ist. Die Liste weist doppelte Hinweismarken auf. So spezifiziert die Hinweismarke
bei der Adresse 03 den Nachbarrahmen in Richtung des Listenanfangs. Die Worte bei den Adressen 04 und 05
stellen die Spuradressen des Rahmens dar, der durch den Deskriptor beschrieben wird. Die Adresse 06, Byte 0 speichert
das Rahmenstatusbyte, das detaillierter mit Bezug auf Fig. 5C beschrieben wird. Die bei den Adressen 07 und
08 gespeicherten Worte stellen die Domainenadresse und Cacheadresse für den bestimmten Rahmen dar.
Fig. 5C zeigt im einzelnen die 8 Bits des Rahmenstatusbyte gemäß Wort 6, Byte 0 der Fig. 5B. Diese Bits werden gesetzt,
um die Übertragungsaktivität des bestimmten, in Betracht stehenden Rahmens anzuzeigen. Die Bits 0 bis 5 des
8 Bit-Rahmenstatusbyte zeigen spezielle Kennzeichnungen, die verschiedene, sich auf den Rahmenstatus beziehende Zustände
verdeutlichen. Die 6 Bits 0 bis 5 werden wie folgt interpretiert:
Bit 0: zugeteilt/frei
1 = Der Rahmen ist zugeteilt und enthält gül-■
tige Daten.
0 = Der Rahmen enthält keine gültigen Daten.
Bit 1: Gerät A/B
1 = Dies ist ein Rahmen für den Gerätetyp A.
0 = Dies ist ein Rahmen für den Gerätetyp B.
30 Bit 2: Definierter Rahmen
1 = Dieser Rahmen ist definiert.
0 = Dieser Rahmen ist nicht definiert, d.h.
dieses Einreihungsfeld für einen Rahmen in der Bezugsliste definiert keinen Rahmen.
'JS-
Bit 3: Übertragung im Gange
1 = Zu diesem Rahmen ist eine Übertragung im Gange. Die Daten sind noch nicht gültig,
aber der Rahmen ist nicht frei.
0 = Es ist keine Übertragung zu diesem Rahmen
im Gange.
Bit 4: Permanenter Fehler
1 = Dieser Rahmen weist einen ständigen Fehler auf. Die Daten sind nicht gültig, aber der
Rahmen soll nicht neu zugewiesen werden.
Die Adresse des Fehlers wird dort gespeichert, wo die Spur ID üblicherweise gespeichert
wird.
0 = Dieser Rahmen enthält keinen permanenten Fehler.
Bit 5: In Gebrauch
1 = Dieser Rahmen ist momentan in Gebrauch. Das
diesem Rahmen entsprechende Gerät muß nicht aufgerufen werden.
0 = Dieser Rahmen ist nicht in Gebrauch.
0 = Dieser Rahmen ist nicht in Gebrauch.
Ist somit beispielsweise beim Bit 4 das Rahmenstatuswort eine "1", so zeigt dies an, daß dieser Rahmen einen permanenten
Fehler aufweist (z.B. falls eines der RAM-Chips, in dem der Rahmen gespeichert ist, defekt ist). Offensichtlich
ist es nicht erwünscht, zur Übertragung diesem Rahmen Daten zuzuordnen. Die Bits 1 und 2 werden in dem Neuzuordnungsverfahren
verwendet, das nachfolgend in Verbindung mit Fig. 4 erörtert wird.
Der Cacheverwalter weist somit eine geschlossene Liste von Rahmendeskriptoren auf, die die Adressen sowie den Status
jedes einzelnen, im Cachespeicherfeld 34 vorgesehenen Rah-
mens spezifiziert. Wird auf einen Eingabe/Ausgabebefehl hin
in den Cachespeicher eingeschrieben, so werden die Domainenadresse
und die Spuranfangsadresse eines verfügbaren Rahmens aus der geschlossenen Liste der Fig. 5A erhalten. Wie erläutert,
wird diese Liste LRU-Liste bezeichnet, da der Anfang der Liste Rahmen enthält, die zuletzt verwendet wurden
und das Ende der Liste Rahmen enthält, die vor kurzem nicht verwendet wurden und demzufolge verfügbar sind. Entsprechend
der Erfindung der gleichzeitig anhängigen Anmeldung mit dem Titel "Dynamic Addressing for Variable Track
Length Cache Manager" von Swiatek et al, sieht die LRU-Liste eine Spuranfangsadresse (BOT) eines Rahmens in einer
Domaine vor, die einem bestimmten Magnetplattenlaufwerktyp
zugewiesen ist. Die Anzahl von Bytes pro Datenspur ist für diesen Magnetplattenlaufwerktyp bekannt und wird zur BOT-Adresse
hinzuaddiert, um die Spurendadresse (EOT) zu erhalten. Auf diese Weise wird die EOT-Adresse mit Hilfe des
Cacheverwalters 24 abgeleitet.
Beim Einschreiben einer Spur in den Cachespeicher ist die Startadresse die erste Adresse nach der BOT-Adresse, was
es ermöglicht, eine geeignete Anzahl von Speicherplätzen für das Kopf- bzw. Anfangsetikett vorzusehen. Sobald eine
-- Spur zum Cachespeicher übertragen oder in diesen eingeschrieben
wird, wird der Speicherplatz jederAufzeichnung
in dem Kopfetikett gespeichert.
Wird aus dem Cachespeicher ausgelesen, so stellt die Startadresse,
die Adresse der spezifizierten Aufzeichnung dar, wie dies vom Kopfetikett bestimmt wird.
Obwohl das LRU-Schema für die Zuordnung von bestimmten, in Domainen enthaltenen Rahmen zu Spuren, die in den Cachespeicher
übertragen werden sollen, vorliegt, kann es gut
sein, daß, falls mehrere Klassen von Domainen mit unterschiedlichen
Größen im Cachespeicher vorliegen, ein erster Gerätetyp viel häufiger verwendet wird, als ein zweiter
Gerätetyp, so daß die LRU-Liste für den ersten Domainentyp beispielsweise weniger freie Rahmen aufweist, als die Liste
des zweiten Domainentyps. In einem solchen Fall kann die Leistungsfähigkeit des Systems dadurch verbessert werden,
daß man Domainen des zweiten Gerätetyps dem ersten Gerätetyp neu zuordnet. Dieses Domainen-Neuzuordnungs-Verfahren
ermöglicht eine rationelle Verwendung des Cachespeicherraums Anders ausgedrückt, da sich der Bedarf an Rahmen, die auf
eine bestimmte Einrichtung bzw. auf ein bestimmtes Gerät abgestimmt sind, mit der Zeit ändert, ist es erwünscht, aufgrund
der Anforderung dem Gerätetyp Domainen dynamisch zuzuteilen bzw. diese Zuordnung dynamisch aufzuheben. Ein
wichtiger Aspekt der Erfindung bezieht sich auf ein geeignetes Schema für eine dynamische Domainenzuordnung. Bei
einem bevorzugten Ausführungsbeispiel unterhält die Erfindung
zwei Magnetplattenspeichereinrichtungen mit unterschiedlichen Spurspeicherkapazitäten, wobei Domainen beispielsweise
eines Gerätetyps A einem Gerätetyp B neu zugeordnet werden können. Es ist jedoch auch möglich, drei
oder mehr Klassen von Domainen in einem bestimmten Cachespeicher vorzusehen. Auf diese Weise wird der Cachespeicherraum
im Verhältnis zur Eingabe/Ausgabeaktivität zugeordnet.
Entsprechend dem gegenwärtig bevorzugten Ausführungsbeispiel
der Erfindung werden drei Fragen beim Domainenzuordnungs-Entscheidungsfindungsprozeß
erörtert:
Wie oft sollen Domainen umgeschalten werden? 30 Wann soll eine Domaine umgeschaltet werden?
Welche Domainen sollen geschalten werden?
Im Hinblick auf die erste Frage wird beim gegenwärtig bevor-
zugten Ausführungsbeispiel eine Domainenumschaltung pro
1024 Übertragungsvorgänge in Betracht gezogen, d.h. es erfolgt jedesmal ein Schaltvorgang, wenn 1024 mal eine Datenspur
in den Cachespeicher eingelesen wurde. Bei einem relativ großen Ausführungsbeispiel der Erfindung tritt
dies etwa jede 30 bis 60 Sekunden auf.
Das zweite Problem betrifft die Bestimmung, zu welchem Zeitpunkt eine Domaine umgeschaltet werden soll. Diese Entscheidung
sollte ein Ungleichgewicht zwischen den Cachespeicher-Eingabe/Ausgabe-Aktivitätsverhältnissen
für den Gerätetyp A im Hinblick auf den Gerätetyp B berücksichtigen. Ein geeignetes Verfahren zum Messen der Aktivität besteht
darin, die Übertragungen zu den Domainen, die jedem Gerätetyp zugeordnet sind, zu zählen. Dieses Übertragungszahlverhältnis
sollte dem idealen "Rahmenverfügbarkeits"-Verhältnis
entsprechen. Dieses Rahmenverfügbarkeitsverhältnis kann wiederum verwendet werden, um ein ideales "Domainenzuordnungs"-Verhältnis
zu berechnen, da die Anzahl der Rahmen pro Domaine bekannt ist. Falls das aktuelle Domainenzuordnungsverhältnis
sich von dem idealen Domainenzuordnungsverhältnis unterscheidet, ist es zweckmäßig, die Domainen umzuschalten.
Auf diese Weise wird die relative Größe der verschiedenen Rahmen aus der Überlegung gestrichen, da
sich dies mit der alleinigen Messung der Aktivität des Do-
25 mainentyps nicht verträgt.
Das dritte und schwierigste Problem betrifft die Bestimmung,
welche Domaine umgeschaltet werden soll. Domainen, die viele kürzlich verwendete Rahmen aufweisen, stellen offensichtlich
keine guten Kandidaten für die Umschaltung dar. Die für den Schaltvorgang am besten geeigneten Domainen sind
stattdessen diejenigen, die viele alte und freie Rahmen aufweisen. Zwei Alternativen können in Erwägung gezogen wer-
den. Erstens, da die oben in Verbindung mit den Fig. 5A bis 5C beschriebene LRU-Liste das relative Alter der Rahmen
jeder Domaine angibt, kann diese zur Bestimmung verwendet werden, welche Domaine umgeschaltet werden soll.
Ein Abtastung einer bestimmten Anzahl von Rahmen, die sich auf der oben beschriebenen Liste befinden, kann durchgeführt
werden, wobei ein Zähler für jede Domaine inkrementiert wird, falls ein zu dieser Domaine gehöriger Rahmen
in der Liste gefunden wird. Demzufolge ist die Domaine, die die niedrigste Zählung am Ende der Abtastung aufweist, die
die momentan die geringste Aktivität zeigt. Die Abtastung sollte auf den oberen Teil der Liste begrenzt werden, da
dort eine Aktivität auftritt. Man könnte glauben, daß die Betrachtung des unteren Endes der Liste sehr nützlich sein
könnte, da dort die alten und ungültigen Rahmen versammelt sind. Falls sich aber ein einziger aktiver Rahmen in der
gleichen Domaine mit einer großen Anzahl von alten Rahmen befindet, so würde diese außer Kraft gesetzt, wie auch
durch diese Domainen-Neuzuordnungsvorgangsweise, was unerwünscht wäre. Die zweite Alternative besteht darin, die
Übertragungen zu jeder Domaine zu zählen, anstatt die LRU-Liste zu überprüfen. Diese würde wieder einen Hinweis auf
die relative Aktivität geben.
Somit wird deutlich, daß das erfindungsgemäße Domainenumschaltungsschema
zwei Teile aufweist: den Entscheidungsfindungsteil, der entscheidet, ob es erwünscht ist, Domainen
von einer Klasse auf eine andere umzuschalten, und den eigentlichen Umschaltprozeß, bei dem bestimmt wird, welche
Domaine umgeschaltet werden soll. Bei einem speziell bevorzugten Ausführungsbeispiel wird der Entscheidungsfindungsvorgang
mit Hilfe von Tabellen gesteuert, um Operationszeit einzusparen; d.h. beim Einschalten des Geräts
wird eine Nachschlagetabelle, die die idealen Zuordnungen
der Domainen für verschiedene relative Aktivitätspegel anzeigt, erzeugt und gespeichert, so daß dann j'ede nachfolgende
Neuzuordnungsentscheidung einfach ein Nachschlagevorgang sein kann, der keine schwierige Berechnung erforderlich
macht. Eine derartige Domainenumschalt-Entscheidungstabelle, die bei einem bevorzugten Ausführungsbeispiel
der Erfindung verwendet werden kann, bei dem die Domainenumschaltung
zwischen zwei Gerätetypen auftritt, ist in Fig. 3 dargestellt.
Die Tabelle wird aufgebaut, indem man alle möglichen Domainenumschaltungsentscheidungen
zur "post-IMP"-Zeit (d.h. nach anfänglicher Mikrocodeladung der Einrichtung) ausführt,
was Rechenzeit spart, falls die Entscheidung wirklich getroffen wird. Das Treffen der Entscheidung, eine
Domaine neu zuzuordnen, wird zu einem einfachen Nachschlag in einer Tabelle, die z.B. auf der Anzahl der Domainen, die
dem Gerätetyp A zugeordnet sind, sowie auf der A-Domainenverwendung" einer Zahl, die die tatsächlichen Übertragungsvorgänge von Geräten des Typs A wiedergibt, zu einem be-
stimmten Zeitpunkt beruht. In dem Ausführungsbeispiel der Fig. 3 gibt die Tabelle Zahlen zwischen 0 und 15 (d.h. F
im Hexadezimalcode) längs der horizontalen Achse wieder, die die relative Anzahl von Übertragungen zu A-Geräte-Domainen
anzeigen. Die senkrechte Achse hingegen gibt die 5 Anzahl der Domainen an, die Geräten vom Α-Typ zugeordnet
sind; jede Spalte verdeutlicht somit die A-Domainenverwendungssymbole,
wohingegen jede Zeile die Zahl der Domainen wiedergibt, die zu einem bestimmten Zeitpunkt dem Gerätetyp
A zugeordnet sind. Für jede Reihe, d.h. für jede Anzahl von Domainen, die A-Typ-Geräten zugeordnet sind, besteht
eine ideale geplante "A-Domainenverwendung". Die Tabelle sieht somit eine Korrelation zwischen der Anzahl der in
einer bestimmten Zeit ausgeführten Α-Übertragungen und der
Anzahl von Domainen, die A-Typ-Geräten zugeordnet sind, vor.
Falls das aktuelle Symbol nicht dem idealen Symbol, das durch die Tabelle der Fig. 3 veranschaulicht wird, entspricht,
so ist es dann offensichtlich, daß eine Domainenumschaltung
durchgeführt werden sollte.
Die geplante Verwendung wird aufgrund der Annahme berechnet, daß die ideale Cachespeicherunterteilung erreicht wird, falls
gilt:
Rahmen A _ Übertragungen A Rahmen B Übertragungen B
Man kann sinnvoll einen Ausdruck, genannt "Sollwert für A-Übertragungen",
definieren, der die Anzahl der Übertragungen wiedergibt, die zu dem Gerätetyp A zugeordneten Domainen
auftreten würden, falls die Ubertragungsaktivitat im Gleichgewicht
mit der Cachespeicherzuordnung ist. Dies führt zu einem "Sollwert für eine A-Rahmenverwendung", der mit der
aktuellen A-Rahmenverwendung verglichen werden kann, um zu bestimmen, wie nahe die aktuelle Ubertragungsaktivitat an
das Ideal heranreicht. In der Tabelle der Fig. 3 verdeut-'licht
somit jede der horizontalen Reihen eine bestimmte Anzahl von Domainen, die einem Gerät zugeordnet sind. Der
Sollwert für die Α-Verwendung ist dann für diese Reihe gleich. Eines von drei Zeichen wird dann in jede Position
dieser Reihe entsprechend der aktuellen Verwendung eingesetzt. Ein "a", das anzeigt, daß eine Domainenneuzuordnung
von B zu A "bevorsteht", d.h. erwünscht ist, wird an den Stellen eingesetzt, bei denen die aktuelle A-Verwendung
größer als der Sollwert für die Α-Verwendung ist, womit angezeigt wird, daß ein Umschalten eines Rahmens von B nach
A eine akzeptable Handlung ist, falls eine Anforderung für eine A-Rahmenzuordnung aufgrund der momentanen Zuordnung
nicht befriedigt werden kann. Auf gleiche Weise wird ein
stx.
"b", das eine "bevorstehende" Umschaltung von A auf B anzeigt,
an Stellen eingesetzt, bei denen die aktuell~e A-Verwendung geringer als der Sollwert für die Α-Verwendung ist.
Andererseits wird ein "n", das einen "keine Umschaltung erforderlichen" Vorgang anzeigt, eingesetzt. Ein Vergleich
der aktuellen Verwendung mit der idealen, in Fig. 3 gezeigten Beziehung zeigt somit, welche Neuzuordnung durchgeführt
werden soll, wenn überhaupt.
Wie aus Fig. 3 ersichtlich, weisen mehrere, typischerweise drei, der Spalten für jede Reihe die Symbole "n" auf, die
anzeigen, daß keine Umschaltung bevorsteht. Dies ist erwünscht, um unnötige Domainenumschaltungen aufgrund statistischer Änderungen in der Anzahl der Übertragungen pro
Domäinentyp über eine kurze Zeitperiode zu verhindern, von denen man erwarten kann, daß sie auftreten, wohingegen
diese nicht anzeigen, daß eine Domainenneuzuordnung aufgerufen wird. Diese Vielzahl an "n"-Symbolen in den Spalten
sieht einen Quasi-Dämpfungseffekt für die Domainenumschaltung,
die gemäß der Erfindung ausgeführt wird, vor.
0 Wurde einmal wie oben bestimmt, daß eine Domainenumschaltung bevorsteht, falls Daten in den Cachespeicher übertragen
werden sollen und kein Rahmen für den maßgebenden Gerätetyp frei ist und ein Domainenumschaltvorgang anhängig
ist, der einen Rahmen des maßgebenden Gerätetyps vorsehen würde, so wird der Domainenumschaltvorgang eingeleitet.
Der erste Vorgang, der bei dem Domainenumschaltvorgang ausgeführt wird, besteht darin, zu entscheiden, welche Domaine
für die Umschaltung am besten geeignet wäre. Die LRU-Liste der Fig. 5A bis 5C des umzuschaltenden Gerätetyps wird abgetastet,
um zu bestimmen, welche Domaine die wenigsten Rahmen im aktiveren Teil der LRU-Liste aufweist. Hat die
Domaine wiederum keine Rahmen, die markiert sind mit "in Gebrauch bzw. Verwendung" oder "Übertragung im Gange", so
wird daraus gefolgert, daß diese die beste für den Umschaltvorgang ist. Andererseits wird die Domaine mit den nächstwenigsten
Rahmen, die sich am Anfang der LRU-Liste befindet, ausgewählt. Ist einmal eine Domaine für den Umschaltvorgang
ausgwählt worden, so wird die Domaine für den neuen Gerätetyp umgewandelt. Alle gültigen Rahmen, die zu der Domaine
gehören, werden freigegeben. Alle Rahmen der Domaine werden aus der LRU-Liste des Gerätetyps entfernt, von dem die
Domaine umgeschaltet wurde. Wird z.B. eine Typ-A-Domaine freigegeben, werden alle Rahmen in der Domaine vom LRU-Deskriptor
68 entfernt. Die Anzahl der neuen Rahmen, die in die neue Domaine paßt, wird am Ende der LRU-Liste des
neuen Gerätetyps angereiht. Bei diesem Beispiel werden sie in den Deskriptor 72 eingeschrieben. Letztlich werden neue
Hinweismarken für jeden Rahmen dem Feld zugeordnet, und zwar entsprechend der Rahmengröße des neuen Gerätetyps.
Fig. 4 zeigt einen schematischen Überblick des erfindungsgemäßen Entscheidungsfindungsprozesses. Wie oben erläutert,
wird zum anfänglichen Programmlade-"IMPL"-Zeitpunkt (vergleiche Block 30) die Tabelle mit allen möglichen Entscheidungen
geschrieben, was mit dem Block 32 verdeutlicht wird. Die Tabelle hat dann das in Fig. 3 gezeigte Aussehen. Diese
Information ist dann für das Domainenumschaltbestimmungsmodul
34 verfügbar. Dieser Entscheidungsfindungsvorgang wird auch durch eine Domainenumschaltstatistik (Block 36) unterstützt,
die anzeigt, ob eine Domainenverwendung momentan der Domainenzuordnung entspricht. Wird demzufolge eine Übertragungsanforderung
durch den Cacheverwalter 24 (Fig. 1) bestätigt, wie dies anhand des Blockes 38 verdeutlicht ist
und in der gleichzeitig anhängigen US-Anmeldung 325 350, eingereicht am 27. November 1981, mit dem Titel:"Detection
of Sequential Data Stream" sowie der gleichzeitig anhängigen Teilfortführung dieser Anmeldung mit dem gleichen Titel erörtert
wird, so kann die Domainenumschaltstatistik geprüft werden, um zu bestimmen, welche Domaine umgeschaltet werden
soll, wenn überhaupt. Typischerweise wird dieser Vorgang jeweils bei 1024 Übertragungen durchgeführt. Falls ein Ungleichgewicht
durch Zugriff auf die Tabelle der Fig. 3 festgestellt wird, wie dies anhand des Blockes 40 dargestellt
ist, wird eine Hinweismarke gesetzt, die anzeigt, daß ein Umschaltvorgang bevorsteht bzw. anhängig ist. Anschließend
wird nach einer Anforderung, daß ein Rahmen einer Datenaufzeichnung zugeordnet werden soll, falls kein freier Rahmen
verfügbar ist und ein geeigneter Umschaltvorgang anhängig ist, die am weitesten zurückliegend verwendete Domaine umgeschaltet,
wie dies vorstehend erläutert wurde und anhand des Blockes 44 angezeigt wird. Die somit beim Block 46 umgewandelte
Domaine ist nun dem neuen Gerätetyp, z.B. dem Typ A, zugeordnet und die LRU-Tabellen werden aktualisiert,
um dieser Tatsache Rechnung zu tragen (Block 48), während die Bezugsliste mit den verfügbaren Rahmen gleichfalls beim
Block 50 aktualisiert wird. Entsprechend wird das Rahmenstatusbyte jedes Rahmens (Fig. 5C) aktualisiert; d.h. Bit 1,
das den Einrichtungs- bzw. Gerätetyp definiert, dem der Rahmen zugeordnet ist, würde umgeschaltet, und Bit 2 würde auf
25 1 gesetzt.
Der Anmeldung ist als Anlage A ein Dokument mit dem Titel: "Module: Domain Switching" beigefügt, das eine detaillierte
Beschreibung der Verfahren darstellt, die zur Ausführung der Erfindung verwendet werden. Dieses Dokument ist größtenteils
in Art eines Pseudocodes geschrieben, deren Grundbegriffe in einem Dokument beschrieben werden, das ebenfalls
als Anlage A-I beigefügt ist und den Titel "Chinook Prolog and Pseudo-Code Conventions" trägt. Für den Fachmann ist es
-xs-
mit Hilfe des "Domain-Switching"-Dokuments in Anlage A
sowie des "Pseudocodekonventions"-Dokuments in Anlage A-I
nicht schwierig, die erfindungsgemäßen Verfahren auszuführen
.
Für den Fachmann ist ersichtlich, daß ein Domainenunterteilungssystem
zum Aufteilen eines Festkörperspeichers beschrieben wurde, das die vorstehend beschriebenen Bedürfnisse des
Standes der Technik befriedigt und die genannten Aufgaben der Erfindung löst. Im einzelnen ermöglicht die Verwendung
von Domainen, die eine Größe aufweisen, in die Datenmengen, z.B. Spuren, passen, auf die gemeinsam zugegriffen wird, in
angemessener Weise eine rationelle Speicherung von Daten, ohne daß dabei eine Zerstückelung bzw. Zersplitterung auftritt,
da alte Daten durch neue Daten überschrieben werden.
Insbesondere ermöglicht das Schema für eine anpassungsfähige
Domainenumschaltung, daß eine rationelle Verwendung des Speichers selbst dann erreicht wird, falls die relative
Domainenverwendung sich von Zeit zu Zeit ändert. Weiterhin ist einzusehen, daß das erfindungsgemäße Verfahren über
das speziell beschriebene Ausführungsbeispiel, das zwei verschiedene
Gerätetypen aufweist, hinaus Anwendung finden kann und daß demzufolge die oben gegebenen Erläuterungen
der Erfindung nicht als eine Begrenzung des Schutzumfanges der Erfindung angesehen werden sollte, sondern lediglich
als eine beispielhafte Verdeutlichung der Erfindung. Der Schutzumfang der Erfindung wird durch die folgenden Patentansprüche
geeigneter abgegrenzt.
Claims (8)
1. Verfahren zur Unterteilung eines Speicherfeldes in
Domainen für die Abspeicherung von Daten, die in mehreren unterschiedlichen, vorbestimmten Längen von mehreren Speichereinrichtungsklassen empfangen werden, wobei die Verbesserung darin besteht, daß das Speicherfeld in Domainengrößen unterteilt wird, die im wesentlichen ganzzahlige Vielfache der vorbestimmten Längen, der dort eingespeicherten Daten sind.
Domainen für die Abspeicherung von Daten, die in mehreren unterschiedlichen, vorbestimmten Längen von mehreren Speichereinrichtungsklassen empfangen werden, wobei die Verbesserung darin besteht, daß das Speicherfeld in Domainengrößen unterteilt wird, die im wesentlichen ganzzahlige Vielfache der vorbestimmten Längen, der dort eingespeicherten Daten sind.
2. Die Verbesserung nach Anspruch 1, wobei die Domainen
bei einer Anfangsübertragung einer Speichereinrichtungsklasse zugeordnet werden.
bei einer Anfangsübertragung einer Speichereinrichtungsklasse zugeordnet werden.
3. Die Verbesserung nach Anspruch 2, wobei die Zuordnung der Domainen im Laufe der Zeit von Einrichtungsklasse
zu Einrichtungsklasse geändert werden kann und die
Änderung entsprechend dem Verhältnis der Anzahl von
Domainen, die einer bestimmten Einrichtungsklasse zugeordnet sind, zur Verwendung der Domainen gesteuert
wird.
Änderung entsprechend dem Verhältnis der Anzahl von
Domainen, die einer bestimmten Einrichtungsklasse zugeordnet sind, zur Verwendung der Domainen gesteuert
wird.
4. Die Verbesserung nach Anspruch 1, wobei die vorbestimmten Längen von Daten vollständigen Spuren von Daten entsprechen,
die auf Magnetplattenspeichermedien gespeichert sind.
5. Verfahren zur Organisation eines Feldes von Speicherplätzen, das zur Speicherung von Datenaufzeichnungen mit
mehreren unterschiedlichen, vorbestimmten Längen verwendet werden soll, dadurch gekennzeichnet,
- daß man eine Domainengröße bestimmt, die im wesent-
lichen ein ganzzahliges Vielfaches all der vielen vorbestimmten
Datenlängen ist,
- daß man das Speicherfeld in die so bestimmten Domainen unterteilt und
- daß man jeder Domaine eine einzige vorbestimmte Datenlänge zuordnet.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet , daß die Zuordnung entsprechend der
Verwendung jeder Domaine variiert werden kann.
7. Cachespeichersubsystem für den Anschluß an einen Hauptrechner sowie Magnetplatteneinrichtungen unterschiedlicher
Klasse, wobei in den Magnetplatteneinrichtungen für jede Klasse verschiedene vorbestimmte Datenmengen
auf den Spuren der Magnetplatten gespeichert sind, gekennzeichnet durch
- ein Festkörper-Cachespeicherfeld (22) und einen Cacheverwalter
(24), wobei das Festkörper-Cachespeicherfeld
in mehrere Domainen unterteilt ist und die Domainen so bemessen sind, daß sie im wesentlichen ganzzahlige
Vielfache von vorbestimmten Datenmengen enthalten,
- wobei der Cacheverwalter (24) eine Einrichtung zum Umspeichern von auf Magnetplattenspeichereinrichtungen
gespeicherten Daten in das Festkörper-'Cachespeicherfeld
15 aufweist und
- wobei der Cacheverwalter (24) eine Einrichtung zur Unterteilung jeder Domaine in Rahmen, die so bemessen
sind, daß sie eine Datenmenge aufnehmen, die einer der vorbestimmten Datenmengen entspricht, sowie eine
Einrichtung für die Zuordnung der Adresse eines Rahmens entsprechender Größe zu Daten aufweist, die von
einer der Magnetplattenspuren in das Festkörper- Cachespeicherfeld übertragen werden sollen.
8. Cachespoichersubsystem nach Anspruch 7, dadurch g e k
e η η ζ e χ'·c h η e t , daß der Cacheverwalter (24)
weiterhin eine Einrichtung aufweist, die bestimmte . Domainen einer ersten Magnetplatteneinrichtungsklasse
einer zweiten Klasse zuordnet, falls eine Anzeige für ein Verwendungsungleichgewicht besteht, und daraufhin
die neu zugewiesenen Domainen neu in Rahmen unterteilt, die zur Speicherung von Datenmengen bemessen sind, die
den vorbestimmten Datenmengen entsprechen, die auf einer Spur der zweiten Magnetplatteneinrichtungsklasse
gespeichert sind.
v_
g.2
UMSCHAL
TUNG
ANHÄNGIG
VERARBEITUNG
UMSCHALT-
BESTIMMÖNG
3HALTENT-
UMSCHALTUNG
ANHÄNGIG
STATISTIK
3
EINES
UMWANDLUNG
RAHMENS
GUNG
BESTÄTI
ZUGEORD
50
DER BEZUGS
TABELLE
Πα
REL. ADR.
0000
BESCHREIBUNG
ENDE DER LKU-Liyl'JÜ ÜJJRÄTETYP ~Ä"
(PSEUDOANGABE)
.66
00OA 0014
unteres ende der lru-liste geratetyp a Tpseudoangabe)
OBERES ENDE DER LRU-LISTE GERATETYP B (PSEUDOANGABE)
'70
001E
0028 0032
XXXX XXXX
UNTERES ENDE DER LRU-LISTE GERATETYP B
(PSEUDOANGABE)
RAHMENDESKRIPTOR 1 (BESCHREIBUNG SIEHE UNTEN) RAHMENDESKRIPTOR 2
RAHfENDESKRIPTOR N (N ABHÄNGIG VOM AUFBAU)
ANZEIGE FÜR TABELLENENDE
-72
TIg. 5A
REL. ADR. BYTE U
(HI)
(HI)
(TD)
(LO)
RAHMENSTATOSBYTE
.5C
Int. Cl^: G 06 F 7/00
Anmeldetag: 14. November 1983
Veröffentlichungstag: 21. Februar 1985
-33-
IO
HAUPTRECHNER
I2.
ι τ
KANALINTERFACE
I6.
STEUERUNG
SPEICHER-INTERPOLATCR
I8
STEUER-i
MCOUL.
MCOUL.
.18
STEUERMODUL
DATEN
CACHEVERWALTER
22'
20
ΤΊα. 1
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/441,791 US4503501A (en) | 1981-11-27 | 1982-11-15 | Adaptive domain partitioning of cache memory space |
Publications (1)
Publication Number | Publication Date |
---|---|
DE3390315T1 true DE3390315T1 (de) | 1985-02-21 |
Family
ID=23754298
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19833390315 Withdrawn DE3390315T1 (de) | 1982-11-15 | 1983-11-14 | Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen |
Country Status (5)
Country | Link |
---|---|
US (1) | US4503501A (de) |
CA (1) | CA1203633A (de) |
DE (1) | DE3390315T1 (de) |
GB (1) | GB2140597B (de) |
WO (1) | WO1984002013A1 (de) |
Families Citing this family (70)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4724518A (en) * | 1983-07-29 | 1988-02-09 | Hewlett-Packard Company | Odd/even storage in cache memory |
US4648030A (en) * | 1983-09-22 | 1987-03-03 | Digital Equipment Corporation | Cache invalidation mechanism for multiprocessor systems |
CA1263760A (en) * | 1985-09-27 | 1989-12-05 | Alan L. Davis | Apparatus for multiprocessor communication |
US4922408A (en) * | 1985-09-27 | 1990-05-01 | Schlumberger Technology Corporation | Apparatus for multi-processor communications |
US4785392A (en) * | 1986-10-14 | 1988-11-15 | Amdahl Corporation | Addressing multiple storage spaces |
US5210832A (en) * | 1986-10-14 | 1993-05-11 | Amdahl Corporation | Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle |
JPS63172143A (ja) * | 1987-01-12 | 1988-07-15 | Canon Inc | カメラのフイルムカウンタ |
US4947319A (en) * | 1988-09-15 | 1990-08-07 | International Business Machines Corporation | Arbitral dynamic cache using processor storage |
US4905141A (en) * | 1988-10-25 | 1990-02-27 | International Business Machines Corporation | Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification |
US4994962A (en) * | 1988-10-28 | 1991-02-19 | Apollo Computer Inc. | Variable length cache fill |
US6092153A (en) * | 1988-11-14 | 2000-07-18 | Lass; Stanley Edwin | Subsettable top level cache |
EP0389151A3 (de) * | 1989-03-22 | 1992-06-03 | International Business Machines Corporation | System und Verfahren für die Verwaltung eines verteilten Cache-Speichers |
US5394531A (en) * | 1989-04-03 | 1995-02-28 | International Business Machines Corporation | Dynamic storage allocation system for a prioritized cache |
EP0457403B1 (de) * | 1990-05-18 | 1998-01-21 | Koninklijke Philips Electronics N.V. | Mehrstufiger Befehlscachespeicher und Verwendungsverfahren dafür |
US5235690A (en) * | 1990-08-31 | 1993-08-10 | International Business Machines Corporation | Method for operating a cached peripheral data storage subsystem including a step of subsetting the data transfer into subsets of data records |
JPH0799508B2 (ja) * | 1990-10-15 | 1995-10-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム |
JP3308554B2 (ja) * | 1991-02-20 | 2002-07-29 | 株式会社日立製作所 | 制御装置及び制御装置の制御方法 |
US5367653A (en) * | 1991-12-26 | 1994-11-22 | International Business Machines Corporation | Reconfigurable multi-way associative cache memory |
US6026452A (en) | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
US5381539A (en) * | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
GB2271202B (en) * | 1992-10-01 | 1995-12-13 | Digital Equipment Int | Dynamic non-coherent cache memory resizing mechanism |
US5499354A (en) * | 1993-05-19 | 1996-03-12 | International Business Machines Corporation | Method and means for dynamic cache management by variable space and time binding and rebinding of cache extents to DASD cylinders |
US5584007A (en) * | 1994-02-09 | 1996-12-10 | Ballard Synergy Corporation | Apparatus and method for discriminating among data to be stored in cache |
US5588129A (en) * | 1994-02-09 | 1996-12-24 | Ballard; Clinton L. | Cache for optical storage device and method for implementing same |
US5675797A (en) * | 1994-05-24 | 1997-10-07 | International Business Machines Corporation | Goal-oriented resource allocation manager and performance index technique for servers |
US5581736A (en) * | 1994-07-18 | 1996-12-03 | Microsoft Corporation | Method and system for dynamically sharing RAM between virtual memory and disk cache |
US6085234A (en) * | 1994-11-28 | 2000-07-04 | Inca Technology, Inc. | Remote file services network-infrastructure cache |
US5649153A (en) * | 1995-06-19 | 1997-07-15 | International Business Machines Corporation | Aggressive adaption algorithm for selective record caching |
US6081623A (en) * | 1995-10-11 | 2000-06-27 | Citrix Systems, Inc. | Method for lossless bandwidth compression of a series of glyphs |
US6016535A (en) * | 1995-10-11 | 2000-01-18 | Citrix Systems, Inc. | Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks |
GB9521955D0 (en) * | 1995-10-26 | 1996-01-03 | Sgs Thomson Microelectronics | Cache memory |
US5784699A (en) * | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
US6057857A (en) | 1996-06-12 | 2000-05-02 | Citrix Systems, Inc. | Method for the lossless compression of lines in a distributed computer system |
WO1997049037A1 (en) * | 1996-06-18 | 1997-12-24 | Zitel Corporation | Novel cache memory structure and method |
US5901333A (en) * | 1996-07-26 | 1999-05-04 | Advanced Micro Devices, Inc. | Vertical wavetable cache architecture in which the number of queues is substantially smaller than the total number of voices stored in the system memory |
US6012126A (en) * | 1996-10-29 | 2000-01-04 | International Business Machines Corporation | System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes |
US6088777A (en) * | 1997-11-12 | 2000-07-11 | Ericsson Messaging Systems, Inc. | Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages |
US6349364B1 (en) * | 1998-03-20 | 2002-02-19 | Matsushita Electric Industrial Co., Ltd. | Cache memory system with variable block-size mechanism |
US6490615B1 (en) | 1998-11-20 | 2002-12-03 | International Business Machines Corporation | Scalable cache |
US6317778B1 (en) | 1998-11-23 | 2001-11-13 | International Business Machines Corporation | System and method for replacement and duplication of objects in a cache |
US6425058B1 (en) | 1999-09-07 | 2002-07-23 | International Business Machines Corporation | Cache management mechanism to enable information-type dependent cache policies |
US6421761B1 (en) * | 1999-11-09 | 2002-07-16 | International Business Machines Corporation | Partitioned cache and management method for selectively caching data by type |
US7127525B2 (en) | 2000-05-26 | 2006-10-24 | Citrix Systems, Inc. | Reducing the amount of graphical line data transmitted via a low bandwidth transport protocol mechanism |
US6745295B2 (en) | 2001-04-19 | 2004-06-01 | International Business Machines Corporation | Designing a cache with adaptive reconfiguration |
US6792509B2 (en) | 2001-04-19 | 2004-09-14 | International Business Machines Corporation | Partitioned cache of multiple logical levels with adaptive reconfiguration based on multiple criteria |
US6748491B2 (en) | 2001-04-19 | 2004-06-08 | International Business Machines Corporation | Designing a cache using an LRU-LFU array |
US7275135B2 (en) * | 2001-08-31 | 2007-09-25 | Intel Corporation | Hardware updated metadata for non-volatile mass storage cache |
US20030074524A1 (en) * | 2001-10-16 | 2003-04-17 | Intel Corporation | Mass storage caching processes for power reduction |
US7093097B2 (en) | 2001-11-27 | 2006-08-15 | International Business Machines Corporation | Dynamic self-tuning memory management method and system |
US7127528B2 (en) * | 2002-07-22 | 2006-10-24 | Honeywell International Inc. | Caching process data of a slow network in a fast network environment |
US6996676B2 (en) * | 2002-11-14 | 2006-02-07 | International Business Machines Corporation | System and method for implementing an adaptive replacement cache policy |
US7406579B2 (en) * | 2002-12-17 | 2008-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
AU2002360640A1 (en) * | 2002-12-17 | 2004-07-29 | International Business Machines Corporation | Selectively changeable line width memory |
US7107403B2 (en) * | 2003-09-30 | 2006-09-12 | International Business Machines Corporation | System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements |
US20050138296A1 (en) * | 2003-12-18 | 2005-06-23 | Coulson Richard L. | Method and system to alter a cache policy |
US7133997B2 (en) * | 2003-12-22 | 2006-11-07 | Intel Corporation | Configurable cache |
US7146466B2 (en) * | 2004-03-23 | 2006-12-05 | International Business Machines | System for balancing multiple memory buffer sizes and method therefor |
JP2006079495A (ja) * | 2004-09-13 | 2006-03-23 | Hitachi Ltd | ストレージシステム及び論理区画の設定方法 |
US8214837B2 (en) * | 2004-12-03 | 2012-07-03 | Intel Corporation | Method, apparatus and system for dynamically allocating sequestered computing resources |
US7996644B2 (en) * | 2004-12-29 | 2011-08-09 | Intel Corporation | Fair sharing of a cache in a multi-core/multi-threaded processor by dynamically partitioning of the cache |
JP4819369B2 (ja) | 2005-02-15 | 2011-11-24 | 株式会社日立製作所 | ストレージシステム |
US8171169B2 (en) * | 2005-03-14 | 2012-05-01 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment |
US8423673B2 (en) | 2005-03-14 | 2013-04-16 | Citrix Systems, Inc. | Method and apparatus for updating a graphical display in a distributed processing environment using compression |
JP4568168B2 (ja) * | 2005-05-17 | 2010-10-27 | 株式会社日立製作所 | 情報処理方法及びシステム |
US7627714B2 (en) * | 2006-08-22 | 2009-12-01 | International Business Machines Corporation | Apparatus, system, and method for preventing write starvation in a partitioned cache of a storage controller |
US8825982B2 (en) | 2010-06-10 | 2014-09-02 | Global Supercomputing Corporation | Storage unsharing |
US9223710B2 (en) | 2013-03-16 | 2015-12-29 | Intel Corporation | Read-write partitioning of cache memory |
CN104717152B (zh) * | 2013-12-17 | 2019-07-19 | 深圳市中兴微电子技术有限公司 | 一种实现接口缓存动态分配的方法和装置 |
US10133673B2 (en) * | 2016-03-09 | 2018-11-20 | Verizon Digital Media Services Inc. | Cache optimization based on predictive routing |
KR20190097930A (ko) * | 2018-02-13 | 2019-08-21 | 삼성전자주식회사 | 채널 별 메모리 용량을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2052118A (en) * | 1979-06-04 | 1981-01-21 | Memorex Corp | Disc Cache Subsystem |
EP0080877A2 (de) * | 1981-11-27 | 1983-06-08 | Storage Technology Corporation | Speichersystem und Organisation für Arbeitsrechner |
EP0080875A2 (de) * | 1981-11-27 | 1983-06-08 | Storage Technology Corporation | Datenspeichersystem für einen Arbeitsrechner |
EP0080876A2 (de) * | 1981-11-27 | 1983-06-08 | Storage Technology Corporation | Cache-Steuerverfahren und -einrichtung |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3142043A (en) * | 1960-07-28 | 1964-07-21 | Honeywell Regulator Co | Information handling apparatus for distributing data in a storage apparatus |
GB1246130A (en) * | 1967-12-14 | 1971-09-15 | Olivetti & Co Spa | Stored programme electronic computer |
US3820078A (en) * | 1972-10-05 | 1974-06-25 | Honeywell Inf Systems | Multi-level storage system having a buffer store with variable mapping modes |
US3906455A (en) * | 1974-03-15 | 1975-09-16 | Boeing Computer Services Inc | Associative memory device |
US3976977A (en) * | 1975-03-26 | 1976-08-24 | Honeywell Information Systems, Inc. | Processor for input-output processing system |
US4047243A (en) * | 1975-05-27 | 1977-09-06 | Burroughs Corporation | Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory |
US4035778A (en) * | 1975-11-17 | 1977-07-12 | International Business Machines Corporation | Apparatus for assigning space in a working memory as a function of the history of usage |
US4028668A (en) * | 1975-12-22 | 1977-06-07 | Honeywell Information Systems, Inc. | Apparatus for selectively addressing sections and locations in a device controller's memory |
US4096567A (en) * | 1976-08-13 | 1978-06-20 | Millard William H | Information storage facility with multiple level processors |
US4080651A (en) * | 1977-02-17 | 1978-03-21 | Xerox Corporation | Memory control processor |
US4115854A (en) * | 1977-03-28 | 1978-09-19 | International Business Machines Corporation | Channel bus controller |
US4161024A (en) * | 1977-12-22 | 1979-07-10 | Honeywell Information Systems Inc. | Private cache-to-CPU interface in a bus oriented data processing system |
US4195342A (en) * | 1977-12-22 | 1980-03-25 | Honeywell Information Systems Inc. | Multi-configurable cache store system |
JPS54128634A (en) * | 1978-03-30 | 1979-10-05 | Toshiba Corp | Cash memory control system |
US4315312A (en) * | 1979-12-19 | 1982-02-09 | Ncr Corporation | Cache memory having a variable data block size |
-
1982
- 1982-11-15 US US06/441,791 patent/US4503501A/en not_active Expired - Lifetime
-
1983
- 1983-11-14 WO PCT/US1983/001773 patent/WO1984002013A1/en active Application Filing
- 1983-11-14 DE DE19833390315 patent/DE3390315T1/de not_active Withdrawn
- 1983-11-14 GB GB08417056A patent/GB2140597B/en not_active Expired
- 1983-11-15 CA CA000441191A patent/CA1203633A/en not_active Expired
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2052118A (en) * | 1979-06-04 | 1981-01-21 | Memorex Corp | Disc Cache Subsystem |
EP0080877A2 (de) * | 1981-11-27 | 1983-06-08 | Storage Technology Corporation | Speichersystem und Organisation für Arbeitsrechner |
EP0080875A2 (de) * | 1981-11-27 | 1983-06-08 | Storage Technology Corporation | Datenspeichersystem für einen Arbeitsrechner |
EP0080876A2 (de) * | 1981-11-27 | 1983-06-08 | Storage Technology Corporation | Cache-Steuerverfahren und -einrichtung |
Also Published As
Publication number | Publication date |
---|---|
GB8417056D0 (en) | 1984-08-08 |
CA1203633A (en) | 1986-04-22 |
GB2140597B (en) | 1986-11-12 |
GB2140597A (en) | 1984-11-28 |
WO1984002013A1 (en) | 1984-05-24 |
US4503501A (en) | 1985-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3390315T1 (de) | Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen | |
DE69127011T2 (de) | Speicherverwaltungsverfahren mit Hilfe einer Baumstruktur | |
DE68924833T2 (de) | Verfahren und Anordnung zur Datenabbildung in einem Datenverarbeitungssystem mit virtuellem Speicher. | |
EP0703534B1 (de) | Speicherverwaltungssystem eines Rechnersystems | |
DE69704085T2 (de) | Optimierung des zugriffes auf multiplexierte datenströme | |
DE3856090T2 (de) | Aus Einheitsfunktionsgruppen aufgebaute Dateienspeicherungszuordnungstabellen für Dateienspeichereinheiten grosser Kapazität | |
DE69716565T2 (de) | Speichersystem mit der Fähigkeit zur Datenumsiedlung | |
DE69527594T2 (de) | Flashspeicherkarte | |
EP0096079B1 (de) | Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen | |
DE69128807T2 (de) | Verfahren und Gerät zur Optimierung von Vorausholungscachespeicherung | |
DE69431186T2 (de) | Verfahren und Dateisystem zur Zuordnung von Datei-Blöcken zu Speicherplatz in einem RAID-Plattensystem | |
DE2230987C2 (de) | ||
DE69230204T2 (de) | Pufferspeicher und Verwaltungsverfahren dafür | |
DE2310631C3 (de) | Speicherhierarchie für ein Datenverarbeitungssystem | |
EP0704803B1 (de) | Verfahren zur Speicherverwaltung eines Flash-Speichers | |
DE60132229T2 (de) | Speichervorrichtung, speichersteuerverfahren und programm | |
DE2432608A1 (de) | Speicheranordnung fuer datenverarbeitungseinrichtungen | |
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE3888891T2 (de) | Steuersystem zum Umdrehen von Seiten mit grosser Geschwindigkeit. | |
DE69032902T2 (de) | Vorrichtung und Verfahren zur Verwaltung von digitalen Daten | |
DE2801982A1 (de) | Verfahren zum austausch von information zwischen einem externen speicher und einem arbeitsspeicher in einem textverarbeitungssystem | |
DE3752239T2 (de) | Vorrichtung zur Anzeigebestimmung in einer Anzeigeeinrichtung eines Computerterminals | |
EP0195324A1 (de) | Kontrolleinheit für einen Magnetplattenspeicher | |
DE3039285A1 (de) | Datenspeicher-anordnung und datenspeicherverfahren | |
DE10120615B4 (de) | Dynamische Speicherverwaltung für Objekte unterschiedlicher Größe |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G06F 12/08 |
|
8136 | Disposal/non-payment of the fee for publication/grant |