DE19960114A1 - Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems - Google Patents
Verfahren zum Speichern von Daten in einer Datei eines DatenspeichersystemsInfo
- Publication number
- DE19960114A1 DE19960114A1 DE1999160114 DE19960114A DE19960114A1 DE 19960114 A1 DE19960114 A1 DE 19960114A1 DE 1999160114 DE1999160114 DE 1999160114 DE 19960114 A DE19960114 A DE 19960114A DE 19960114 A1 DE19960114 A1 DE 19960114A1
- Authority
- DE
- Germany
- Prior art keywords
- file
- data
- fragment
- stored
- record
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
Abstract
Die Erfindung bezieht sich auf ein Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems, das einen Arbeitsspeicher umfaßt, der unmittelbar einem Mikroprozessor zugeordnet ist und in dem von dem Mikroprozessor bei der Ausführung von Datenverarbeitsprogrammen benötigte Daten gespeichert sind, sowie einen Massenspeicher, der zur Speicherung weiterer Daten vorgesehen ist, wobei die Daten in mindestens zwei unterschiedlichen Fragmenten der Datei gespeichert werden, die separaten Bereichen des Datenspeichersystems zugeordnet sind, und wobei eine Zuordnungsliste gebildet wird, in der die Zuordnung der Dateifragmente zu unterschiedlichen Bereichen des Datenspeichersystems gespeichert ist. Erfindungsgemäß ist vorgesehen, daß die Daten zumindest zum Teil in Dateifragmenten des Massenspeichers gespeichert werden und daß die Einträge der Zuordnungsliste in dem Arbeitsspeicher gespeichert werden.
Description
Die Erfindung betrifft ein Verfahren zum Speichern von
Daten in einer Datei eines Datenspeichersystems nach dem
Oberbegriff des Anspruchs 1, wobei das Datenspeichersystem
zumindest einen Arbeitsspeicher sowie einen zusätzlichen
Massenspeicher umfaßt.
Unter einem Arbeits- oder Hauptspeicher wird dabei ein
Speicher in einer, digitalen Rechenanlage verstanden, mit
dem der Prozessor der Rechenanlage unmittelbar zusammenar
beitet und der Programmbefehle, Daten und Zwischenergebnis
se enthält, die von dem Prozessor bei der Ausführung eines
Datenverarbeitungsprogrammes jeweils benötigt werden.
Unter einem Massenspeicher werden zusätzliche externe
Speicher, z. B. in Form von Disketten oder Festplatten
verstanden, die weiteren Speicherplatz für Daten zur Verfü
gung stellen.
In der Regel ist die Zugriffszeit des Prozessors auf die in
dem Arbeits- oder Hauptspeicher gespeicherten Daten erheb
lich kürzer als die Zugriffszeit auf Daten des Massenspei
chers, so daß das Bestreben besteht, bei der Ausführung
eines Programmes nur auf solche Daten zugreifen bzw. nur
solche Daten bearbeiten zu müssen, die in dem Arbeitsspei
cher gespeichert sind. Es ist daher üblich, während des
Ablaufs eines Datenverarbeitungsprogrammes solche Dateien,
auf deren Daten der Prozessor beim Ausführen der Programm
befehle zugreifen muß bzw. deren Inhalt laufend verändert
werden muß, in dem Arbeitsspeicher zu speichern. Hierbei
wird jedoch die Größe der zur Verfügung stehenden Dateien
durch die Speicherkapazität des Arbeitsspeichers begrenzt.
In Fällen, in denen der Speicherbedarf der benötigten
Dateien die Speicherkapazität des zur Verfügung stehenden
Arbeitsspeichers überschreitet, kann es erforderlich sein,
bei der Ausführung eines Datenverarbeitungsprogrammes auf
Dateien zuzugreifen bzw. Dateien durch Veränderung ihres
Inhaltes zu bearbeiten, die sich zu diesem Zeitpunkt nicht
im Arbeitsspeicher, sondern in einem zusätzlichen, externen
Speicher, wie z. B. einer Diskette oder einer Festplatte
befinden.
Hierzu ist es bekannt, beim Einfügen eines Datensatzes in
eine Datei, die in einem Massenspeicher gespeichert ist, zu
nächst die hinter der Einfügeposition für den neuen Daten
satz liegenden Teile der Datei temporär in einer eigenen,
separaten Datei zu speichern. Anschließend wird der einzufü
gende Datensatz hinter der Einfügeposition angefügt und die
in der temporären Datei zwischengespeicherten Daten wieder
um an den neuen Datensatz angehängt. In entsprechender
Weise erfolgt das Löschen eines Datensatzes in einer Datei.
Dieses Verfahren zum Einfügen eines Datensatzes in eine
Datei bzw. zum Löschen eines Datensatzes in einer Datei hat
den Nachteil, daß aufgrund der Mehrzahl an Arbeitsschrit
ten, die beim Bearbeiten der Datei in einem Massenspeicher
ausgeführt werden müssen, zu viel Zeit zur Bearbeitung der
Datei benötigt wird. Dies gilt insbesondere dann, wenn der
Zugriff auf die in dem Massenspeicher gespeicherte Datei
über ein Netzwerk erfolgt.
Das vorgenannte Verfahren zum Einfügen bzw. Löschen eines
Datensatzes in einer Datei kann daher in solchen Fällen
nicht angewandt werden, in denen nur sehr wenig Zeit für
die Bearbeitung von Dateien zur Verfügung steht. Ein Bei
spiel hierfür sind numerisch gesteuerte Maschinen, insbeson
dere Werkzeugmaschinen, deren Prozessoren komplexe, zeitauf
wendige Algorithmen für die Positionierung einzelner Maschi
nenteile abarbeiten müssen und bei denen daher nur wenig
Rechenzeit für die Eingabe der bei der Ausführung der
entsprechenden Datenverarbeitungsprogramme benötigten Da
ten, wie z. B. der Ist- und Soll-Positionen von Maschinentei
len, zur Verfügung steht.
Diese Nachteile bestehen auch bei einem weiteren bekannten
Verfahren zum Einfügen eines Datensatzes in eine auf einem
Massenspeicher gespeicherte Datei, bei dem zunächst der vor
der Einfügeposition des neuen Datensatzes liegende
Dateiinhalt in einer eigenen, separaten Datei gespeichert
wird. Anschließend werden nacheinander der einzufügende
Datensatz sowie die Reste der ursprünglichen Datei an diese
neue Datei angefügt. In entsprechender Weise erfolgt das
Löschen eines Datensatzes, wobei der zu löschende Datensatz
nicht in die neue Datei geschrieben wird.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum
Speichern von Daten in einer Datei eines Datenspeichersy
stems der eingangs genannten Art zu schaffen, bei dem die
zur Bearbeitung der Datei benötigten Rechenzeiten, insbeson
dere die zum Einfügen oder Löschen von Datensätzen benötig
ten Rechenzeiten, minimiert werden.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit
den Merkmalen des Anspruchs 1 gelöst.
Danach werden die Daten in einer Datei gespeichert, die aus
mindestens zwei Dateifragmenten besteht, welche unterschied
lichen physikalischen Bereichen des Datenspeichersystems
zugeordnet sind und von denen zumindest eines in einem
Massenspeicher gespeichert ist, und es wird in dem Arbeits
speicher des Datenspeichersystems eine Zuordnungsliste
angelegt, in der die Zuordnung der Dateifragmente zu den
unterschiedlichen Bereichen des Datenspeichersystems gespei
chert ist.
Die Erfindung beruht auf der Erkenntnis, daß die an und für
sich bekannte Aufteilung einer Datei in mehrere Dateifrag
mente, deren Verteilung auf unterschiedliche, räumlich
voneinander beabstandete (räumlich nicht zusammenhängende)
Bereiche eines Datenspeichers in einer Zuordnungsliste
(auch Dateizuordnungstabelle genannt) vermerkt ist (vergl.
z. B. H.-P. Messmer, PC-Hardwarebuch, 3. Aufl., Bonn, 1995,
S. 738-760), dahingehend erweitert werden kann, daß die
Dateifragmente einerseits und die Zuordnungsliste anderer
seits in unterschiedlichen Speichern eines Datenspeichersy
stems (nämlich in einem Massenspeicher einerseits und einem
Arbeitsspeicher andererseits) vorgesehen sind.
Durch die Unterteilung einer Datei in unterschiedliche
Dateifragmente, die jeweils nur einen Teil des Inhalts der
gesamten Datei aufnehmen, kann die Bearbeitung einer Datei
insbesondere hinsichtlich des Hinzufügens oder Löschens von
Datensätzen wesentlich vereinfacht werden. Es ist nicht
mehr erforderlich, durch mehrere Kopiervorgänge die Datei
zunächst in Bestandteile zu zerlegen, anschließend in den
einzelnen Bestandteilen der Datei Daten hinzuzufügen oder
zu löschen und daraufhin die Datei wieder zu einer Einheit
zusammenzusetzen. Vielmehr kann das Hinzufügen oder Löschen
von Daten in einfacher Weise durch die Schaffung neuer
Dateifragmente erfolgen, wie weiter unten anhand vorteilhaf
ter Weiterbildungen der Erfindung noch näher erläutert
werden wird.
Vor der Bearbeitung einer Datei kann diese durchaus aus nur
einem (in einem zusammenhängenden Speicherbereich abgeleg
ten) Dateifragment bestehen. Die Aufteilung der Datei in
mehrere Dateifragmente erfolgt dann erst bei der Bearbei
tung der Datei durch das Hinzufügen oder Löschen einzelner
Datensätze.
Die beim Hinzufügen oder Löschen von Datensätzen erfolgen
den Änderungen in der Anzahl und/oder dem Inhalt der Da
teifragmente werden jeweils durch entsprechende Einträge in
der Zuordnungsliste berücksichtigt, so daß anhand der
aktuellen Zuordnungsliste jederzeit auf sämtliche Daten der
Datei zugegriffen werden kann.
Im Rahmen der Erfindung ist dabei von besonderer Bedeutung,
daß die Zuordnungsliste im Arbeitsspeicher gespeichert ist,
während die Dateifragmente zumindest zum Teil (also minde
stens ein Dateifragment) außerhalb des Arbeitsspeichers in
einem zusätzlichen, externen Massenspeicher, (wie z. B.
einer Diskette oder einer Festplatte) gespeichert sind.
Selbstverständlich können die einzelnen Dateifragmente auch
komplett in dem Massenspeicher abgelegt sein.
Aufgrund der zumindest teilweisen Speicherung der Dateifrag
mente in einem zusätzlichen Massenspeicher ist die Größe
der Datei nicht durch die Kapazität des Arbeitsspeichers
beschränkt. Mittels der Zuordnungsliste, die in dem dem
Prozessor unmittelbar zugeordneten Arbeits- oder Hauptspei
cher gespeichert ist und deren Einträge auf die einzelnen
Dateifragmente verweisen (also die Zuordnung der Dateifrag
mente zu bestimmten physikalischen Bereichen eines Spei
chers enthalten), kann jederzeit auf die in den einzelnen
Dateifragmenten gespeicherten Daten zugegriffen werden,
wobei der Zugriff auf die Zuordnungsliste selbst nur sehr
wenig Rechenzeit erfordert.
Im Ergebnis ermöglicht die erfindungsgemäße Lösung eine
schnellere Bearbeitung von Dateien, die aufgrund der be
grenzten Speicherkapazität des Arbeitsspeichers der Rechen
anlage in einem separaten Arbeitsspeicher abgelegt sind und
verbessert somit die Funktionsfähigkeit des Datenspeichersy
stems sowie der Rechenanlage insgesamt.
Im Rahmen des erfindungsgemäßen Verfahrens kann das Hinzufü
gen eines Datensatzes zu einer Datei in einfacher Weise
dadurch erfolgen, daß der Datensatz in einem separaten
Dateifragment gespeichert wird und der Zuordnungsliste ein
Eintrag hinzugefügt wird, der auf dieses zusätzliche Da
teifragment verweist, der also die Zuordnung dieses Da
teifragmentes zu einem bestimmten Bereich eines Datenspei
chers enthält.
Soll das Hinzufügen eines Datensatzes zu einer Datei da
durch erfolgen, daß dieser Datensatz in ein bestehendes
Dateifragment eingefügt wird, so wird dieses Dateifragment
zunächst in zwei Teilfragmente (bei denen es sich wiederum
um Dateifragmente handelt) unterteilt, indem für jedes der
beiden Teilfragmente ein eigener Eintrag in der Zuordnungs
liste geschaffen wird, der auf das entsprechende Teilfrag
ment verweist. Es wird also ein Dateifragment in einfacher
Weise in zwei kleinere Dateifragmente (hier als Teilfragmen
te bezeichnet) unterteilt, indem lediglich die Einträge in
der Zuordnungsliste des Arbeitsspeichers entsprechend
modifiziert werden. An dem Dateifragment selbst müssen
keinerlei Änderungen vorgenommen werden. Die beiden Einträ
ge in der Zuordnungsliste, die auf die Teilfragmente verwei
sen, können dabei dadurch gebildet werden, daß der auf das
ursprüngliche Dateifragment verweisende Eintrag kopiert
wird und anschließend der ursprüngliche Eintrag sowie
dessen Kopie zur Anpassung an die Aufteilung des Dateifrag
mentes in zwei Teilfragmente modifiziert werden.
Nach der Unterteilung des Dateifragmentes in zwei Teilfrag
mente durch entsprechende Modifizierung der Zuordnungsliste
wird der Zuordnungsliste noch ein Eintrag hinzugefügt, der
auf das zusätzliche Dateifragment verweist, das den einzufü
genden Datensatz enthält. Die einzelnen Einträge der Zuord
nungsliste müssen dabei entweder derart angeordnet oder
(durch Verweisungen) miteinander verkettet sein, daß dem
hinzugefügten Dateifragment die richtige Position innerhalb
der Datei (also zwischen den beiden Teilfragmenten, die das
ursprüngliche Dateifragment bildeten) zugewiesen wird.
Beim Anfügen eines Datensatzes an den Anfang oder das Ende
eines Dateifragmentes wird dieses einfach um den anzufügen
den Datensatz erweitert und der auf das Dateifragment
verweisende Eintrag entsprechend modifiziert.
Zum Löschen eines Datensatzes eines Dateifragmentes im
Rahmen des erfindungsgemäßen Verfahrens wird mindestens ein
Eintrag in der Zuordnungsliste gebildet, der auf das oder
die nach dem Löschen des Datensatzes noch verbleibenden
Teilfragment(e) des Dateifragmentes verweist. Das Löschen
eines Datensatzes in einer Datei erfordert demnach ledig
lich eine Änderung der Einträge, der im Arbeitsspeicher
abgelegten Zuordnungsliste; der eigentliche Inhalt der
Datei wird nicht verändert.
Es sei hier nochmals darauf hingewiesen, daß das Dateifrag
ment, in dem ein Datensatz gelöscht werden soll, durchaus
identisch mit der gesamten Datei sein kann. Die Untertei
lung der Datei in mehrere Dateifragmente erfolgt in einem
solchen Fall erst, wenn das erstgenannte Dateifragment
während des Löschens des Datensatzes in mehrere kleinere
Dateifragmente (Teilfragmente) unterteilt wird.
Soll ein Datensatz gelöscht werden, der weder am Anfang
noch am Ende eines Dateifragmentes gespeichert ist, so wird
das Dateifragment in zwei die nicht zu löschenden Daten
enthaltende Teilfragmente unterteilt, indem für jedes der
beiden Teilfragmente ein eigener Eintrag in der Zuordnungs
liste geschaffen wird, der auf das entsprechende Teilfrag
ment verweist. Die beiden neuen Einträge in der Zuordnungs
liste können dabei in einfacher Weise dadurch gebildet
werden, daß der auf das ursprüngliche Dateifragment verwei
sende Eintrag kopiert und anschließend in geeigneter Weise
modifiziert wird.
Beim Löschen eines Datensatzes, der am Anfang oder am Ende
eines Dateifragmentes gespeichert ist, wird ein Eintrag in
der Zuordnungsliste gebildet, der auf den verbleibenden
Teil des Dateifragmentes verweist. Zum vollständigen Lö
schen eines Dateifragmentes wird einfach der zugehörige
Eintrag in der Zuordnungsliste gelöscht.
Das Überschreiben eines Datensatzes einer Datei erfolgt
durch eine Kombination der vorstehend beschriebenen Verfah
rensschritte "Löschen eines Datensatzes" und "Hinzufügen
eines Datensatzes".
Die Zuordnung der Dateifragmente zu unterschiedlichen
Bereichen eines Datenspeichers mittels der Zuordnungsliste
erfolgt vorzugsweise dadurch, daß jeder Eintrag der Zuord
nungsliste einen Verweis auf den Beginn und das Ende des
von dem jeweiligen Dateifragment belegten Speicherbereiches
aufweist.
Die Einträge der Zuordnungsliste müssen nicht zusammenhän
gend hintereinander angeordnet sein; vielmehr kann auch
jeder Eintrag der Zuordnungsliste einen Verweis auf den
jeweils darauffolgenden Eintrag enthalten. Die Einträge der
Zuordnungsliste werden dadurch miteinander verkettet,
selbst wenn sie nicht räumlich zusammenhängend in dem Ar
beitsspeicher gespeichert sind.
Die Anwendung des erfindungsgemäßen Verfahrens zum Spei
chern von Daten auf ein Verfahren zur numerischen Steuerung
von Maschinen, insbesondere Werkzeugmaschinen, ist durch
die Merkmale des Anspruchs 14 charakterisiert.
Ein Datenspeichersystem, das einen Arbeitsspeicher sowie
mindestens einen zusätzlichen Massenspeicher umfaßt und in
dem Daten in einer dem erfindungsgemäßen Verfahren entspre
chenden Weise abgespeichert sind, ist durch die Merkmale
des Anspruchs 15 charakterisiert.
Weitere Vorteile der Erfindung werden bei der nachfolgenden
Beschreibung eines Ausführungsbeispiels anhand der Figuren
deutlich werden.
Es zeigen:
Fig. 1 eine schematische Darstellung eines Datenspei
chersystems, das in eine Rechenanlage inte
griert ist;
Fig. 2a und 2b
eine schematische Darstellung zweier Bearbei
tungsschritte beim Einfügen eines Datensatzes
in eine Datei;
Fig. 3a und 3b eine schematische Darstellung zweier Arbeits
schritte beim Löschen eines Datensatzes in
einer Datei.
In Fig. 1 ist schematisch in einem Blockdiagramm eine
Rechenanlage dargestellt, die als zentrale Bestandteile
einen Mikroprozessor 1 sowie einen dem Mikroprozessor 1
unmittelbar zugeordneten Arbeits- oder Hauptspeicher 2
aufweist. In dem Arbeitsspeicher 2 werden die zur Ausfüh
rung eines Datenverarbeitungsprogrammes erforderlichen
Programmbefehle, die benötigten Daten sowie Zwischen- und
Endergebnisse gespeichert.
Darüber hinaus sind über einen Controller 3 Massenspei
cher 4, 5 mit dem Mikroprozessor 2 verbunden, bei denen es
sich z. B. um eine Diskette in einem Diskettenlaufwerk oder
um eine Festplatte eines Festplattenlaufwerkes handeln
kann. Dort können größere Datenmengen eingelesen und ggf.
dauerhaft gespeichert werden, für die die Kapazität des Ar
beitsspeichers 2 nicht ausreichend ist. Der Arbeitsspei
cher 2 zeichnet sich jedoch gegenüber den Massenspei
chern 4, 5 dadurch aus, daß die Zugriffszeit des Mikropro
zessors 1 auf den Arbeitsspeicher 2 erheblich kürzer ist
als auf die Massenspeicher 4, 5.
Ferner ist mit dem Mikroprozessor 1 eine Eingabe/-Ausgabe
einrichtung 8 verbunden, über die die Rechenanlage 1 mit
externen Geräten, wie z. B. einem Bedienpult, einem Bild
schirm sowie einer Steuervorrichtung für Werkzeugmaschinen
verbunden werden kann.
Bei Verwendung der in Fig. 1 dargestellten Rechenanlage in
einer numerischen Steuerung für Werkzeugmaschinen ist es
erforderlich, in dem Datenspeichersystem der Rechenanlage,
das den Arbeitsspeicher 2 sowie die beiden Massenspei
cher 4, 5 umfaßt, große Mengen an Daten zu speichern,
beispielsweise die Ist- und Soll-Positionen von Maschinen
teilen der zu steuernden Maschine. Es ist daher aufgrund
der beschränkten Kapazität des Arbeitsspeichers häufig
notwendig, zumindest einen Teil der zur Steuerung benötig
ten Daten in Dateien abzulegen, die in einem der Massenspei
cher 4, 5 gespeichert sind.
Anhand der Fig. 2 und 3 soll nun erläutert werden, wie die
Bearbeitung von Dateien, die auf einem der Massenspei
cher 4, 5 gespeichert sind, mit minimalem Aufwand an Rechen
zeit erfolgen kann.
In Fig. 2a ist eine aus einem einzelnen Dateifragment F
bestehende Datei dargestellt, das in einem der Massenspei
cher 4, 5 gespeichert ist und dort den zwischen einer
Adresse A1 (Anfang des Dateifragmentes) und einer Adres
se A2 (Ende des Dateifragmentes) zur Verfügung stehenden
Speicherplatz belegt. Diesem Dateifragment F ist ein Ein
trag in einer in dem Arbeitsspeicher 2 gespeicherten Zuord
nungsliste Z zugeordnet, der auf dieses Dateifragment F
verweist und diesem die Adressen A1 und A2 zuordnet.
Soll in das Dateifragment F ein zusätzlicher Datensatz
eingefügt werden, so wird gemäß Fig. 2b das Dateifragment F
in zwei Teilfragmente F1 und F2 unterteilt, die jeweils ein
kleineres Dateifragment bilden und zwischen denen der zu
sätzliche Datensatz eingefügt werden soll. Dies geschieht
dadurch, daß zwei neue Einträge in der Zuordnungsliste Z
geschaffen werden, indem zunächst der bisherige Eintrag
kopiert wird und anschließend sowohl der bisherige Eintrag
als auch dessen Kopie modifiziert werden. Die beiden aktuel
len Einträge der Zuordnungsliste Z verweisen dann auf je
eines der beiden Dateifragmente F1, F2, wobei der eine
Eintrag dem ersten Dateifragment F1 die Adressen A1, A4 zu
ordnet, die den Anfang und das Ende des von diesem Datei
fragmentes F1 belegten Speicherbereiches bezeichnen, und
der andere Eintrag dem zweiten Dateifragment F2 die Adres
sen A3, A2 zuordnet, die den Anfang und das Ende des von
jenem Dateifragment F2 belegten Speicherplatzes bezeichnen.
Der zusätzliche Datensatz wird in einem separaten Dateifrag
ment F3 auf einem der Massenspeicher 4, 5 gespeichert, und
zwar in einem durch die Adressen A5, A6 gekennzeichneten
Speicherbereich. Auf dieses Dateifragment F3 verweist ein
dritter Eintrag in der Zuordnungsliste Z, der dem Dateifrag
ment F3 die Adressen A5, A6 in dem entsprechenden Massen
speicher 4 bzw. 5 zuordnet.
Zum Einfügen eines Datensatzes in eine Datei F ist es also
lediglich erforderlich, diesen Datensatz an einer beliebi
gen Stelle eines der Massenspeicher 4, 5 zu speichern und
anschließend einige Modifikationen in der in dem Arbeits
speicher abgelegten Zuordnungsliste Z vorzunehmen. Hier
durch wird die zum Einfügen eines Datensatzes in eine Datei
erforderliche Rechenzeit minimiert.
Die einzelnen Einträge in der Zuordnungsliste Z müssen
dabei nicht, wie in Fig. 2b dargestellt, zusammenhängend
hintereinander angeordnet sein. Die Anordnung der Einträge
der Zuordnungsliste Z ist vielmehr beliebig, sofern jeder
dieser Einträge zusätzlich einen Verweis auf den jeweils
folgenden Eintrag enthält.
Zum Löschen eines Datensatzes in einem Dateifragment F wird
gemäß den Fig. 3a und 3b das Dateifragment F in zwei
Teilfragmente F4, F5 unterteilt, von denen das eine den vor
dem zu löschenden Datensatz G liegenden Dateiinhalt und das
andere den hinter dem zu löschenden Datensatz G liegenden
Dateiinhalt enthält. Die Unterteilung des Dateifragmentes F
in zwei Teilfragmente F4, F5 geschieht dabei dadurch, daß
(in derselben Weise wie bereits anhand der Fig. 2a und
2b erläutert) zwei Einträge in der Zuordnungsliste Z gebil
det werden, von denen der eine auf das erste Teilfragment
F4 und der andere auf das zweite Teilfragment F5 verweist.
Dabei ordnet der eine Eintrag dem ersten Teilfragment F4
die Adressen A1, A8 zu, die den Anfang und das Ende des von
diesem Dateifragment belegten Speicherplatzes repräsentie
ren; und der andere Eintrag ordnet in entsprechender Weise
dem zweiten Dateifragment F5 Adressen A7, A2 zu. Der ge
löschte Datensatz G befindet sich somit in einem Bereich
des Massenspeichers 4 bzw. 5, auf den keiner der Einträge
der Zuordnungsliste Z verweist.
Es wird deutlich, daß das Löschen eines Datensatzes in
einfacher Weise durch eine Modifikation der auf dem Arbeits
speicher abgelegten Zuordnungsliste Z erfolgt. Dies
minimiert die beim Löschen eines Datensatzes erforderliche
Rechenzeit.
Selbstverständlich kann - in Abwandlung des anhand der
Fig. 2 und 3 dargestellten Ausführungsbeispieles - die
Datei, die jeweils den Ausgangspunkt für das Einfügen bzw.
Löschen eines Datensatzes darstellt, auch vor Beginn dieser
Operationen schon aus mehreren Dateifragmenten bestehen.
Bei Bedarf kann die mittels des erfindungsgemäßen Verfah
rens beim Einfügen oder Löschen eines Datensatzes erzeugte,
aus mehreren separaten Dateifragmenten bestehende Datei
wieder zu einer einheitlichen, in einem zusammenhängenden
Speicherbereich gespeicherten Datei zusammengefaßt werden.
Hierzu werden die einzelnen Dateifragmente nacheinander in
einer Datei gespeichert, der ein zusammenhängender Speicher
bereich zugewiesen ist. Die Reihenfolge der Anordnung der
einzelnen Dateifragmente ist dabei durch die Zuordnungsli
ste eindeutig bestimmt, sei es durch die Reihenfolge der An
ordnung der Einträge der Zuordnungsliste oder durch Verwei
se in den einzelnen Einträgen der Zuordnungsliste, die
jeweils auf den folgenden Eintrag verweisen. Dieses Zusam
menfassen der einzelnen Dateifragmente zu einer in einem zu
sammenhängenden Speicherbereich angeordneten Datei kann zu
einem geeigneten Zeitpunkt erfolgen, zu dem hinreichend Re
chenzeit für diese Operation zur Verfügung steht.
Claims (15)
1. Verfahren zum Speichern von Daten in einer Datei eines
Datenspeichersystems, das einen Arbeitsspeicher umfaßt,
der unmittelbar einem Mikroprozessor zugeordnet ist,
sowie einen Massenspeicher, der zur Speicherung weiterer
Daten vorgesehen ist, wobei die Daten in mindestens zwei
unterschiedlichen Fragmenten der Datei gespeichert
werden, die separaten Bereichen des Datenspeichersystems
zugeordnet sind, und wobei eine Zuordnungsliste gebildet
wird, in der die Zuordnung der Dateifragmente zu unter
schiedlichen Bereichen des Datenspeichersystems gespei
chert ist,
dadurch gekennzeichnet,
daß mindestens eines der Dateifragmente (F, F1-F5) in
dem Massenspeicher (4, 5) gespeichert wird und daß die
Einträge der Zuordnungsliste (Z) in dem Arbeitsspei
cher (2) gespeichert werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
zum Hinzufügen eines Datensatzes zu einer Datei der
Datensatz in einem separaten Dateifragment (F3) gespei
chert wird und der Zuordnungsliste (Z) ein Eintrag
hinzugefügt wird, der auf das Dateifragment (F3) ver
weist.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß
zum Einfügen eines Datensatzes in ein Dateifragment (F)
das Dateifragment in zwei Teilfragmente (F1, F2) unter
teilt wird, indem für jedes der beiden Teilfragmen
te (F1, F2) ein eigener Eintrag in der Zuordnungsli
ste (Z) gebildet wird, der auf das entsprechende Teil
fragment (F1, F2) verweist.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, daß
die beiden Einträge irr der Zuordnungsliste (Z) gebildet,
werden, indem der auf das ursprüngliche Dateifrag
ment (F) verweisende Eintrag kopiert und anschließend mo
difiziert wird.
5. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
beim Anfügen eines Datensatzes an ein Dateifragment (F)
das Dateifragment um diesen Datensatz erweitert wird und
der auf das Dateifragment verweisende Eintrag der Zuord
nungsliste (Z) modifiziert wird.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge
kennzeichnet, daß zum Löschen eines Datensatzes (G)
eines Dateifragmentes (F) mindestens ein Eintrag in der
Zuordnungsliste (Z) gebildet wird, der auf mindestens
ein nach dem Löschen verbleibendes Teilfragment (F4, F5)
des Dateifragmentes (F) verweist.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
zum Löschen eines Datensatzes (G), der weder am Anfang
noch am Ende des Dateifragmentes (F) gespeichert ist,
das Dateifragment (F) in zwei die nicht zu löschenden
Daten enthaltende Teilfragmente (F4, F5) unterteilt
wird, indem für jedes der beiden Teilfragmente (F4, F5)
ein eigener Eintrag in der Zuordnungsliste (Z) geschaf
fen wird, der auf das entsprechende Teilfragment (F4,
F5) verweist.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß
die beiden Einträge in der Zuordnungsliste (Z) gebildet
werden, indem der auf das ursprüngliche Dateifrag
ment (F) verweisende Eintrag kopiert und anschließend mo
difiziert wird.
9. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß
zum Löschen eines Datensatzes, der am Anfang oder am
Ende des Dateifragmentes (F) gespeichert ist, ein Ein
trag in der Zuordnungsliste (Z) gebildet wird, der auf
das verbleibende Teilfragment des Dateifragmentes ver
weist.
10. Verfahren nach einem der Ansprüche 1 bis 5, dadurch ge
kennzeichnet, daß zum vollständigen Löschen eines
Dateifragmentes (F) der zugehörige Eintrag in der Zuord
nungsliste (Z) gelöscht wird.
11. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß zum Überschreiben eines
Datensatzes einer Datei der Datensatz gelöscht und
anschließend an der entsprechenden Stelle der Datei ein
neuer Datensatz eingefügt wird.
12. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß jeder Eintrag der Zuord
nungsliste (Z) einen Verweis auf den Beginn (A1, A3,
A5, A7) und das Ende (A2, A4, A6, A8) des von dem,
jeweiligen Dateifragment (F, F1-F5) belegten Speicher
bereiches enthält.
13. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, daß jeder Eintrag der Zuord
nungsliste (Z) einem Verweis auf den darauf folgenden
Eintrag enthält.
14. Verfahren zur Steuerung und/oder Regelung von Maschi
nen, insbesondere von Werkzeugmaschinen, unter Verwen
dung eines Mikroprozessors und eines Datenspeichersy
stems, das einen Arbeitsspeicher umfaßt, der unmittel
bar dem Mikroprozessor zugeordnet ist, sowie einen Mas
senspeicher, der zur Speicherung weiterer Daten vorgese
hen ist, wobei eine Speicherung von Daten in dem Daten
speichersystem nach einem der vorhergehenden Ansprüche
erfolgt.
15. Datenspeichersystem, das einen Arbeitsspeicher umfaßt,
der unmittelbar einem Mikroprozessor zugeordnet ist,
sowie einen Massenspeicher, der zur Speicherung weite
rer Daten vorgesehen ist, wobei in dem Datenspeichersy
stem mindestens eine Gruppe von Daten in einer Datei
gespeichert ist, wobei die Daten in mindestens zwei un
terschiedlichen Fragmenten der Datei gespeichert sind,
die separaten Bereichen des Datenspeichersystems zuge
ordnet sind, und wobei eine Zuordnungsliste vorgesehen
ist, in der die Zuordnung der Dateifragmente zu unter
schiedlichen Bereichere des Datenspeichersystems gespei,
chert ist,
dadurch gekennzeichnet,
daß mindestens eines der Dateifragmente (F, F1-F5) in
dem Massenspeicher (4, 5) gespeichert ist und daß die
Einträge der Zuordnungsliste (Z) in dem Arbeitsspei
cher (2) gespeichert sind.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999160114 DE19960114A1 (de) | 1999-12-08 | 1999-12-08 | Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems |
PCT/EP2000/011847 WO2001042923A2 (de) | 1999-12-08 | 2000-11-28 | Verfahren zum speichern von daten in einer datei eines datenspeichersystems |
EP00977588A EP1259884A2 (de) | 1999-12-08 | 2000-11-28 | Verfahren zum speichern von daten in einer datei eines datenspeichersystems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE1999160114 DE19960114A1 (de) | 1999-12-08 | 1999-12-08 | Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19960114A1 true DE19960114A1 (de) | 2001-06-13 |
Family
ID=7932516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1999160114 Withdrawn DE19960114A1 (de) | 1999-12-08 | 1999-12-08 | Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP1259884A2 (de) |
DE (1) | DE19960114A1 (de) |
WO (1) | WO2001042923A2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008022831A1 (de) * | 2008-05-08 | 2009-11-19 | Fujitsu Siemens Computers Gmbh | Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens |
US8122219B2 (en) | 2009-07-22 | 2012-02-21 | International Business Machines Corporation | Storage allocation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3743890A1 (de) * | 1987-03-30 | 1988-10-27 | Ibm | Verfahren zum schnellen eroeffnen von plattendateien |
DE19633648A1 (de) * | 1996-08-21 | 1998-02-26 | Grundig Ag | Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5029125A (en) * | 1989-03-07 | 1991-07-02 | Drexler Technology Corporation | Method of reading and writing files on nonerasable storage media |
US6256642B1 (en) * | 1992-01-29 | 2001-07-03 | Microsoft Corporation | Method and system for file system management using a flash-erasable, programmable, read-only memory |
US5715455A (en) * | 1995-05-18 | 1998-02-03 | International Business Machines Corporation | Apparatus and method for storing file allocation table efficiently in memory |
US5787445A (en) * | 1996-03-07 | 1998-07-28 | Norris Communications Corporation | Operating system including improved file management for use in devices utilizing flash memory as main memory |
-
1999
- 1999-12-08 DE DE1999160114 patent/DE19960114A1/de not_active Withdrawn
-
2000
- 2000-11-28 WO PCT/EP2000/011847 patent/WO2001042923A2/de not_active Application Discontinuation
- 2000-11-28 EP EP00977588A patent/EP1259884A2/de not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3743890A1 (de) * | 1987-03-30 | 1988-10-27 | Ibm | Verfahren zum schnellen eroeffnen von plattendateien |
DE19633648A1 (de) * | 1996-08-21 | 1998-02-26 | Grundig Ag | Verfahren und Schaltungsanordnung zur Speicherung von Diktaten bei einem digitalen Diktiergerät |
Non-Patent Citations (1)
Title |
---|
JP 0003246616 AA.,In: Patent Abstracts of Japan * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008022831A1 (de) * | 2008-05-08 | 2009-11-19 | Fujitsu Siemens Computers Gmbh | Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens |
US8140747B2 (en) | 2008-05-08 | 2012-03-20 | Fujitsu Technology Solutions Intellectual Property Gmbh | Operating method for a memory subsystem and devices for executing the operating method |
DE102008022831B4 (de) * | 2008-05-08 | 2015-09-10 | Fujitsu Technology Solutions Intellectual Property Gmbh | Arbeitsverfahren für ein Speichersubsystem und Vorrichtungen zur Durchführung des Arbeitsverfahrens |
US8122219B2 (en) | 2009-07-22 | 2012-02-21 | International Business Machines Corporation | Storage allocation |
Also Published As
Publication number | Publication date |
---|---|
EP1259884A2 (de) | 2002-11-27 |
WO2001042923A2 (de) | 2001-06-14 |
WO2001042923A3 (de) | 2002-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102005013285B4 (de) | Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät | |
EP1101153B1 (de) | Verfahren zum applizieren von steuerdaten eines elektronischen kraftfahrzeug-steuergeräts | |
DE2355993B2 (de) | Programmierbare datenverarbeitungsanlage | |
DE1499182A1 (de) | Elektrische Datenverarbeitungsanlage | |
EP3692424B1 (de) | Verfahren zum bearbeiten eines softwareprojekts | |
DE112011102139T5 (de) | Bandspeichereinheit und Schreibverfahren dafür | |
DE102016006202B4 (de) | Numerische Steuervorrichtung zum Verwalten von Bearbeitungsdaten und Bearbeitungsergebnissen | |
DE102016007651A1 (de) | Numerische Steuerung mit Funktion zur automatischen Auswahl eines Speicherungsziels für ein Bearbeitungsprogramm | |
DE19960114A1 (de) | Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems | |
DE2710436C2 (de) | Datenverarbeitungseinrichtung | |
DE19705507C1 (de) | Steuergerät | |
DE2519195A1 (de) | Assoziativspeicher | |
EP1235123A2 (de) | Addon-Mechanismus für ein Steuerungssystem basierend auf einem Typdatenfeld | |
DE3490339C2 (de) | Verfahren zur Änderung eines Programms für eine NC-Steuerung | |
DE19814359A1 (de) | Interface-Einrichtung, Verfahren und Überwachungs-System zum Überwachen des Status einer Hardware-Einrichtung | |
EP2037375B1 (de) | Verfahren zum Betreiben von Datenbanken | |
EP1464015A2 (de) | Konstruktionsverfahren und cad-system | |
DE10128752A1 (de) | Verfahren zur Ablage von Daten in einen Speicherbaustein | |
DE10058391A1 (de) | Objektbearbeitungssystem mit einem Objektmodell | |
DE10127179A1 (de) | Verfahren zur Verwaltung eines Speichers einer Chipkarte | |
DE4330221C2 (de) | Dialogorientiertes Programmiersystem zur Erzeugung eines Steuerungsprogramms für eine CNC-Maschine | |
WO2020094175A1 (de) | Verfahren und vorrichtung zum speichern von daten und deren beziehungen | |
EP1241568A2 (de) | Verfahren und Vorrichtung zur Einfügung von Variablen in den Programmablauf einer Datenverarbeitungsanlage | |
DE19531029A1 (de) | Verfahren zum Editieren von Dateien in Client-Server-Systemen | |
EP1221649A2 (de) | Addon-Mechanismus für ein Steuerungssystem basierend auf einem Erweiterungsdatenfeld |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OM8 | Search report available as to paragraph 43 lit. 1 sentence 1 patent law | ||
8141 | Disposal/no request for examination |