WO2001042923A2 - Method for the storage of data in a file on a data storage device - Google Patents

Method for the storage of data in a file on a data storage device

Info

Publication number
WO2001042923A2
WO2001042923A2 PCT/EP2000/011847 EP0011847W WO0142923A2 WO 2001042923 A2 WO2001042923 A2 WO 2001042923A2 EP 0011847 W EP0011847 W EP 0011847W WO 0142923 A2 WO0142923 A2 WO 0142923A2
Authority
WO
WIPO (PCT)
Prior art keywords
file
data
stored
fragment
assignment list
Prior art date
Application number
PCT/EP2000/011847
Other languages
German (de)
French (fr)
Other versions
WO2001042923A3 (en
Inventor
Christian Rutkowski
Hans Schwab
Original Assignee
Dr. Johannes Heidenhain Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dr. Johannes Heidenhain Gmbh filed Critical Dr. Johannes Heidenhain Gmbh
Priority to EP00977588A priority Critical patent/EP1259884A2/en
Publication of WO2001042923A2 publication Critical patent/WO2001042923A2/en
Publication of WO2001042923A3 publication Critical patent/WO2001042923A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

Definitions

  • the solution according to the invention enables faster processing of files that are stored in a separate working memory due to the limited memory capacity of the main memory of the computing system and thus improves the functionality of the data storage system and the overall computing system.
  • the addition of a data record to a file can be carried out in a simple manner by storing the data record in a separate file fragment and adding an entry to the assignment list which refers to this additional file fragment, that is to say the assignment of this Contains file fragments to a specific area of a data storage.
  • this file fragment is first divided into two partial fragments (which in turn are file fragments) by a separate entry for each of the two partial fragments is created in the assignment list, which refers to the corresponding partial fragment.
  • a file fragment is therefore easily divided into two smaller file fragments (referred to here as partial fragments) by merely modifying the entries in the memory assignment list accordingly. No changes need to be made to the file fragment itself.
  • the two entries in the assignment list that refer to the partial fragments can be formed by referring to the original entry is copied and then the original entry and its copy are modified to adapt to the division of the file fragment into two partial fragments.
  • an entry is added to the assignment list which refers to the additional file fragment which contains the data record to be inserted.
  • the individual entries in the assignment list must either be arranged in such a way or linked (by references) that the added file fragment is assigned the correct position within the file (i.e. between the two partial fragments that formed the original file fragment).
  • a data record of a file is overwritten by a combination of the above-described method steps "deleting a data record” and "adding a data record”.
  • the assignment of the file fragments to different areas of a data memory by means of the assignment list preferably takes place in that each entry of the assignment list has a reference to the beginning and the end of the storage area occupied by the respective file fragment.
  • Figure 1 is a schematic representation of a data storage system which is integrated in a computing system
  • the file fragment F is divided into two partial fragments F1 and F2 according to FIG. 2b, each of which forms a smaller file fragment and between which the additional data record is to be inserted. This is done by creating two new entries in the assignment list Z by first copying the previous entry and then modifying both the previous entry and its copy. The two current entries in the assignment list Z then each refer to one of the two file fragments F1, F2, one entry assigning the addresses A1, A4 to the first file fragment F1, which designate the beginning and end of the memory area occupied by this file fragment F1, and the other entry assigns the addresses A3, A2 to the second file fragment F2, which designate the beginning and the end of the storage space occupied by that file fragment F2.
  • the additional data record is stored in a separate file fragment F3 on one of the mass memories 4, 5, specifically in a memory area identified by the addresses A5, A6.
  • a third entry in the assignment list Z refers to this file fragment F3, which assigns the addresses A5, A6 in the corresponding mass memory 4 or 5 to the file fragment F3.
  • the individual entries in the assignment list Z do not have to be arranged in succession, as shown in FIG. 2b.
  • the arrangement of the entries in the assignment list Z is rather arbitrary, provided that each of these entries additionally contains a reference to the following entry.
  • the file fragment F is divided into two partial fragments F4, F5, one of which contains the file content lying in front of the data record G to be deleted and the other the one behind the data record G to be deleted Contains file content.
  • the subdivision of the file fragment F into two sub-fragments F4, F5 takes place in that (in the same way as already explained with reference to FIGS. 2a and 2b) two entries are formed in the assignment list Z, one of which on the first sub-fragment F4 and the one others refer to the second partial fragment F5.
  • the one entry assigns the first sub-fragment F4 the addresses A1, A8, which represent the beginning and the end of the memory space occupied by this file fragment; and the other entry correspondingly assigns addresses A7, A2 to the second file fragment F5.
  • the deleted data record G is therefore located in an area of the mass storage device 4 or 5 to which none of the entries in the assignment list Z refers.
  • the file which in each case represents the starting point for inserting or deleting a data record, can also consist of several file fragments even before these operations begin.

Abstract

The invention relates to a method for the storage of data in a file on a data storage device, comprising a working memory (2), which is directly dedicated to a microprocessor (1) and in which data, necessary for the execution of data processing programs, by the microprocessor (1), is stored. Said device further comprises a mass memory (4, 5), for the storage of further data, whereby the data is stored in at least two different fragments (F, F1 - F5) of the file, which are arranged in different areas of the data storage device and whereby a reference list (Z) is generated, in which the arrangement of file fragments (F, F1 - F5), in different regions of the data storage device, is stored. According to the invention, the data is at least partly stored in file fragments (F, F1 - F5) in the mass memory (4, 5) and the entries in the reference list (Z) are stored in the working memory (2).

Description

Verfahren zum Speichern von Daten in einer Datei eines DatenspeichersystemsMethod for storing data in a file of a data storage system
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 umfasst.The invention relates to a method for storing data in a file of a data storage system according to the preamble of claim 1, wherein the data storage system comprises at least one working memory and an additional mass storage device.
Unter einem Arbeits- oder Hauptspeicher wird dabei ein Speicher in einer digitalen Rechenanlage verstanden, mit dem der Prozessor der Rechenanlage unmittelbar zusammenarbeitet und der Programmbefehle, Daten und Zwischenergebnisse enthält, die von dem Prozessor bei der Ausführung ei- nes 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.A working or main memory is understood to mean a memory in a digital computing system with which the processor of the computing system cooperates directly and which contains program instructions, data and intermediate results which are required by the processor when executing a data processing program. Additional external storage, e.g. understood in the form of floppy disks or hard disks that provide additional storage space for data.
In der Regel ist die Zugriffszeit des Prozessors auf die in dem Arbeits- oder Hauptspeicher gespeicherten Daten erheblich kürzer als die Zugriffszeit auf Daten des Massenspeichers, so dass 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 Arbeitsspeicher gespeichert sind. Es ist daher üblich, während des Ablaufs eines Datenverarbeitungsprogrammes solche Dateien, auf deren Daten der Prozessor beim Ausführen der Programmbefehle zugreifen bzw. deren Inhalt laufend verändert werden muss, in dem Arbeitsspeicher zu speichern. Hierbei wird jedoch die Größe der zur Verfügung stehenden Dateien durch die Speicherkapazi- tat des Arbeitsspeichers begrenzt.As a rule, the processor's access time to the data stored in the main memory or main memory is considerably shorter than the access time to data in the mass storage device, so that there is an attempt to access only such data or to process only such data when a program is executed need to be stored in the working memory. It is therefore customary, during the course of a data processing program, to store such files in the working memory, the data of which the processor accesses when the program commands are executed or whose content has to be changed continuously. However, the size of the available files is limited by the memory capacity of the working memory.
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 Datenverarbeitungsprogram- mes 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.In cases in which the storage requirement of the required files exceeds the storage capacity of the available working memory, it may be necessary to access files or files by changing their content when executing a data processing program to process that are not in the working memory at this time, but in an additional, external memory, such as a floppy disk or a hard disk.
Hierzu ist es bekannt, beim Einfügen eines Datensatzes in eine Datei, die in einem Massenspeicher gespeichert ist, zunächst die hinter der Einfügeposition für den neuen Datensatz 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 wiederum an den neuen Datensatz angehängt. In entsprechender Weise erfolgt das Löschen eines Datensatzes in einer Datei.For this purpose, it is known, when inserting a data record into a file which is stored in a mass storage device, to temporarily save the parts of the file which are behind the insertion position for the new data record in a separate, separate file. The data record to be inserted is then added after the insertion position and the data temporarily stored in the temporary file is appended to the new data record. Correspondingly, a data record is deleted from a file.
Dieses Verfahren zum Einfügen eines Datensatzes in eine Datei bzw. zum Löschen eines Datensatzes in einer Datei hat den Nachteil, dass aufgrund der Mehrzahl an Arbeitsschritten, 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.This method of inserting a data record into a file or deleting a data record in a file has the disadvantage that, due to the plurality of work steps that have to be carried out when the file is edited in a mass storage device, too much time is required to edit the file , This applies in particular if the file stored in the mass storage device is accessed via a network.
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 Beispiel hierfür sind numerisch gesteuerte Maschinen, insbeson- dere Werkzeugmaschinen, deren Prozessoren komplexe, zeitaufwendige Algorithmen für die Positionierung einzelner Maschinenteile abarbeiten müssen und bei denen daher nur wenig Rechenzeit für die Eingabe der bei der Ausführung der entsprechenden Datenverarbeitungsprogramme benötigten Daten, wie z.B. der Ist- und Soll-Positionen von Maschinenteilen, zur Verfü- gung steht.The aforementioned method for inserting or deleting a data record in a file can therefore not be used in cases in which there is very little time available for processing files. An example of this are numerically controlled machines, in particular machine tools, the processors of which have to process complex, time-consuming algorithms for the positioning of individual machine parts and for which therefore only little computing time is required to enter the data required to execute the corresponding data processing programs, such as the actual and target positions of machine parts is available.
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 Da- tensatzes 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.These disadvantages also exist in another known method for inserting a data record into a file stored on a mass storage device, in which the data before the insertion position of the new data tes set file content is saved in a separate file. The data record to be inserted and the remnants of the original file are then added to this new file one after the other. A data record is deleted in a corresponding manner, the data record to be deleted not being written into the new file.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems der eingangs genannten Art zu schaffen, bei dem die zur Bearbeitung der Datei benötigten Rechen- zeiten, insbesondere die zum Einfügen oder Löschen von Datensätzen benötigten Rechenzeiten, minimiert werden.The invention has for its object to provide a method for storing data in a file of a data storage system of the type mentioned, in which the computing times required for processing the file, in particular the computing times required for inserting or deleting data records, are minimized ,
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelöst.According to the invention, this object is achieved by a method having the features of claim 1.
Danach werden die Daten in einer Datei gespeichert, die aus mindestens zwei Dateifragmenten besteht, welche unterschiedlichen physikalischen Bereichen des Datenspeichersystems zugeordnet sind und von denen zumindest eines in einem Massenspeicher gespeichert ist, und es wird in dem Ar- beitsspeicher des Datenspeichersystems eine Zuordnungsliste angelegt, in der die Zuordnung der Dateifragmente zu den unterschiedlichen Bereichen des Datenspeichersystems gespeichert ist.The data is then stored in a file which consists of at least two file fragments, which are assigned to different physical areas of the data storage system and at least one of which is stored in a mass storage device, and an assignment list is created in the working memory of the data storage system, in which stores the assignment of the file fragments to the different areas of the data storage system.
Die Erfindung beruht auf der Erkenntnis, dass die an und für sich bekannte Aufteilung einer Datei in mehrere Dateifragmente, deren Verteilung auf unterschiedliche, räumlich voneinander beabstandete (räumlich nicht zusammenhängende) Bereiche eines Datenspeichers in einer Zuordnungsliste (auch Dateizuordnungstabelle genannt) vermerkt ist (vergleiche z.B. H.-P. Messmer, PC-Hardwarebuch, 3. Aufl., Bonn, 1995, S. 738 - 760), dahinge- hend erweitert werden kann, dass die Dateifragmente einerseits und die Zuordnungsliste andererseits in unterschiedlichen Speichern eines Datenspeichersystems (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 vorteilhafter Weiterbildungen der Erfindung noch näher erläutert werden wird.The invention is based on the knowledge that the known division of a file into several file fragments, the distribution of which over different, spatially spaced (spatially non-contiguous) areas of a data memory is noted in an assignment list (also called a file assignment table) (compare e.g. H.-P. Messmer, PC hardware book, 3rd edition, Bonn, 1995, pp. 738 - 760), can be expanded in such a way that the file fragments on the one hand and the assignment list on the other hand in different memories of a data storage system (namely in a mass storage device on the one hand and a working memory on the other hand) are provided. By dividing a file into different file fragments, each of which only contains part of the content of the entire file, the processing of a file can be considerably simplified, in particular with regard to the addition or deletion of data records. It is no longer necessary to first split the file into parts by several copying processes, then add or delete data in the individual parts of the file and then reassemble the file into one unit. Rather, the addition or deletion of data can be done in a simple manner by creating new file fragments, as will be explained in more detail below with the aid of advantageous developments of the invention.
Vor der Bearbeitung einer Datei kann diese durchaus aus nur einem (in einem zusammenhängenden Speicherbereich abgelegten) Dateifragment be- stehen. Die Aufteilung der Datei in mehrere Dateifragmente erfolgt dann erst bei der Bearbeitung der Datei durch das Hinzufügen oder Löschen einzelner Datensätze.Before editing a file, it can consist of only one file fragment (stored in a contiguous memory area). The file is then divided into several file fragments only when the file is edited by adding or deleting individual data records.
Die beim Hinzufügen oder Löschen von Datensätzen erfolgenden Änderun- gen in der Anzahl und/oder dem Inhalt der Dateifragmente werden jeweils durch entsprechende Einträge in der Zuordnungsliste berücksichtigt, so dass anhand der aktuellen Zuordnungsliste jederzeit auf sämtliche Daten der Datei zugegriffen werden kann.The changes in the number and / or content of the file fragments that occur when adding or deleting data records are taken into account in each case by corresponding entries in the assignment list, so that all the data in the file can be accessed at any time using the current assignment list.
Im Rahmen der Erfindung ist dabei von besonderer Bedeutung, dass die Zuordnungsliste im Arbeitsspeicher gespeichert ist, während die Dateifragmente zumindest zum Teil (also mindestens ein Dateifragment) außerhalb des Arbeitsspeichers in einem zusätzlichen, externen Massenspeichers, (wie z.B. einer Diskette oder einer Festplatte) gespeichert sind. Selbstverständ- lieh können die einzelnen Dateifragmente auch komplett in dem Massenspeicher abgelegt sein.In the context of the invention, it is of particular importance that the assignment list is stored in the working memory, while the file fragments are at least partially (i.e. at least one file fragment) stored outside the working memory in an additional, external mass storage device (such as a floppy disk or a hard disk) are. Of course, the individual file fragments can also be stored completely in the mass storage device.
Aufgrund der zumindest teilweisen Speicherung der Dateifragmente 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 Hauptspeicher gespeichert ist und deren Einträge auf die einzelnen Dateifragmente verweisen (also die Zuordnung der Dateifragmente zu bestimmten physikali- sehen Bereichen eines Speichers 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.Due to the at least partial storage of the file fragments in an additional mass storage device, the size of the file is not determined by the Memory capacity limited. By means of the assignment list, which is stored in the main memory or memory directly assigned to the processor and whose entries refer to the individual file fragments (ie contain the assignment of the file fragments to certain physical areas of a memory), it is possible at any time to refer to those in the individual file fragments stored data can be accessed, with access to the assignment list itself requiring very little computing time.
Im Ergebnis ermöglicht die erfindungsgemäße Lösung eine schnellere Bearbeitung von Dateiein, die aufgrund der begrenzten Speicherkapazität des Arbeitsspeichers der Rechenanlage in einem separaten Arbeitsspeicher abgelegt sind und verbessert somit die Funktionsfähigkeit des Datenspeichersystems sowie der Rechenanlage insgesamt.As a result, the solution according to the invention enables faster processing of files that are stored in a separate working memory due to the limited memory capacity of the main memory of the computing system and thus improves the functionality of the data storage system and the overall computing system.
Im Rahmen des erfindungsgemäßen Verfahrens kann das Hinzufügen eines Datensatzes zu einer Datei in einfacher Weise dadurch erfolgen, dass der Datensatz in einem separaten Dateifragment gespeichert wird und der Zuordnungsliste ein Eintrag hinzugefügt wird, der auf dieses zusätzliche Datei- fragment verweist, der also die Zuordnung dieses Dateifragmentes zu einem bestimmten Bereich eines Datenspeichers enthält.In the context of the method according to the invention, the addition of a data record to a file can be carried out in a simple manner by storing the data record in a separate file fragment and adding an entry to the assignment list which refers to this additional file fragment, that is to say the assignment of this Contains file fragments to a specific area of a data storage.
Soll das Hinzufügen eines Datensatzes zu einer Datei dadurch erfolgen, dass 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 Zuordnungsliste geschaffen wird, der auf das entsprechende Teilfragment verweist. Es wird also ein Dateifragment in einfacher Weise in zwei kleinere Dateifragmente (hier als Teil- fragmente 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 verweisen, können dabei dadurch gebildet werden, dass der auf das Ursprung- liche Dateifragment verweisende Eintrag kopiert wird und anschließend der ursprüngliche Eintrag sowie dessen Kopie zur Anpassung an die Aufteilung des Dateifragmentes in zwei Teilfragmente modifiziert werden.If you want to add a data record to a file by inserting this data record into an existing file fragment, then this file fragment is first divided into two partial fragments (which in turn are file fragments) by a separate entry for each of the two partial fragments is created in the assignment list, which refers to the corresponding partial fragment. A file fragment is therefore easily divided into two smaller file fragments (referred to here as partial fragments) by merely modifying the entries in the memory assignment list accordingly. No changes need to be made to the file fragment itself. The two entries in the assignment list that refer to the partial fragments can be formed by referring to the original entry is copied and then the original entry and its copy are modified to adapt to the division of the file fragment into two partial fragments.
Nach der Unterteilung des Dateifragmentes in zwei Teilfragmente 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 Zuordnungsliste müssen dabei entweder derart angeordnet oder (durch Verweisungen) miteinander verkettet sein, dass dem hinzugefügten Dateifragment die richtige Position innerhalb der Datei (also zwischen den beiden Teilfragmenten, die das ursprüngliche Dateifragment bildeten) zugewiesen wird.After dividing the file fragment into two partial fragments by modifying the assignment list accordingly, an entry is added to the assignment list which refers to the additional file fragment which contains the data record to be inserted. The individual entries in the assignment list must either be arranged in such a way or linked (by references) that the added file fragment is assigned the correct position within the file (i.e. between the two partial fragments that formed the original file fragment).
Beim Anfügen eines Datensatzes an den Anfang oder das Ende eines Dateifragmentes wird dieses einfach um den anzufügenden Datensatz erweitert und der auf das Dateifragment verweisende Eintrag entsprechend modifiziert.When a data record is appended to the beginning or end of a file fragment, it is simply expanded to include the data record to be added and the entry referring to the file fragment is modified accordingly.
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 lediglich eine Änderung der Einträge der im Arbeitsspeicher abgelegten Zuordnungsliste; der eigentliche Inhalt der Datei wird nicht verändert.To delete a data record of a file fragment in the context of the method according to the invention, at least one entry is formed in the assignment list which refers to the partial fragment (s) of the file fragment still remaining after the data record has been deleted. Deleting a data record in a file therefore only requires changing the entries in the assignment list stored in the working memory; the actual content of the file is not changed.
Es sei hier nochmals darauf hingewiesen, dass das Dateifragment, in dem ein Datensatz gelöscht werden soll, durchaus identisch mit der gesamten Datei sein kann. Die Unterteilung 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 Zuordnungsliste geschaffen wird, der auf das entsprechende Teilfragment verweist. Die beiden neuen Einträge in der Zuordnungsliste können dabei in einfacher Weise dadurch gebildet werden, dass der auf das ursprüngliche Dateifragment verweisende Eintrag kopiert und anschließend in geeigneter Weise modifiziert wird.It should be pointed out again here that the file fragment in which a data record is to be deleted can be identical to the entire file. In such a case, the file is not divided into several file fragments until the first-mentioned file fragment is divided into several smaller file fragments (partial fragments) while the data record is being deleted. If a data record is to be deleted that is neither stored at the beginning nor at the end of a file fragment, the file fragment is divided into two partial fragments containing the data that are not to be deleted, by creating a separate entry in the assignment list for each of the two partial fragments the corresponding partial fragment refers. The two new entries in the assignment list can be formed in a simple manner by copying the entry referring to the original file fragment and then modifying it in a suitable manner.
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 Ein- trag in der Zuordnungsliste gelöscht.When deleting a data record that is stored at the beginning or at the end of a file fragment, an entry is formed in the assignment list that refers to the remaining part of the file fragment. To completely delete a file fragment, the associated entry in the assignment list is simply deleted.
Das Überschreiben eines Datensatzes einer Datei erfolgt durch eine Kombination der vorstehend beschriebenen Verfahrensschritte „Löschen eines Datensatzes" und „Hinzufügen eines Datensatzes".A data record of a file is overwritten by a combination of the above-described method steps "deleting a data record" and "adding a data record".
Die Zuordnung der Dateifragmente zu unterschiedlichen Bereichen eines Datenspeichers mittels der Zuordnungsliste erfolgt vorzugsweise dadurch, dass jeder Eintrag der Zuordnungsliste einen Verweis auf den Beginn und das Ende des von dem jeweiligen Dateifragment belegten Speicherberei- ches aufweist.The assignment of the file fragments to different areas of a data memory by means of the assignment list preferably takes place in that each entry of the assignment list has a reference to the beginning and the end of the storage area occupied by the respective file fragment.
Die Einträge der Zuordnungsliste müssen nicht zusammenhängend 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 Arbeitsspeicher gespeichert sind. Die Anwendung de s erfindungsgemäßen Verfahrens zum Speichern von Daten auf ein Verfahren zur numerischen Steuerung von Maschinen, insbesondere Werkzeugmaschinen, ist durch die Merkmale des Anspruchs 14 charakterisiert.The entries in the assignment list do not have to be arranged consecutively; rather, each entry in the assignment list can also contain a reference to the subsequent entry. The entries in the assignment list are thereby linked to one another, even if they are not stored in the main memory in a spatially contiguous manner. The application of the method according to the invention for storing data to a method for the numerical control of machines, in particular machine tools, is characterized by the features of claim 14.
Ein Datenspeichersystem, das einen Arbeitsspeicher sowie mindestens einen zusätzlichen Massenspeicher umfasst und in dem Daten in einer dem erfindungsgemäßen Verfahren entsprechenden Weise abgespeichert sind, ist durch die Merkmale des Anspruchs 15 charakterisiert.A data storage system which comprises a working memory and at least one additional mass storage device and in which data are stored in a manner corresponding to the method according to the invention is characterized by the features of claim 15.
Weitere Vorteile der Erfindung werden bei der nachfolgenden Beschreibung eines Ausführungsbeispiels anhand der Figuren deutlich werden.Further advantages of the invention will become clear in the following description of an embodiment with reference to the figures.
Es zeigenShow it
Figur 1 eine schematische Darstellung eines Datenspeichersystems, das in eine Rechenanlage integriert ist;Figure 1 is a schematic representation of a data storage system which is integrated in a computing system;
Figur 2a und 2b eine schematische Darstellung zweier Bearbeitungsschritte beim Einfügen eines Datensatzes in eine Datei;2a and 2b show a schematic representation of two processing steps when inserting a data record into a file;
Figur 3a und 3b eine schematische Darstellung zweier Arbeits- schritte beim Löschen eines Datensatzes in einer Datei.FIGS. 3a and 3b show a schematic representation of two work steps when deleting a data record in a file.
In Figur 1 ist schematisch in einem Blockdiagramm eine Rechenaniage dargestellt, die als zentrale Bestandteile einen Mikroprozessor 1 sowie einen dem Mikroprozessor 1 unmittelbar zugeordneten Arbeits- und Hauptspeicher 2 aufweist. In dem Arbeitsspeicher 2 werden die zur Ausführung eines Datenverarbeitungsprogrammes erforderlichen Programmbefehle, die benötigten Daten sowie Zwischen- und Endergebnisse gespeichert. Darüber hinaus sind über einen Controller 3 Massenspeicher 4, 5 mit dem Mikroprozessor 1 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. dau- erhaft gespeichert werden, für die die Kapazität des Arbeitsspeichers 2 nicht ausreichend ist. Der Arbeitsspeicher 2 zeichnet sich jedoch gegenüber den Massenspeichern 4, 5 dadurch aus, dass die Zugriffszeit des Mikroprozessors 1 auf den Arbeitsspeicher 2 erheblich kürzer ist als auf die Massenspeicher 4, 5.In FIG. 1, a computing system is shown schematically in a block diagram, which has as its central components a microprocessor 1 and a main memory 2 directly assigned to the microprocessor 1. The program instructions required for executing a data processing program, the required data, and intermediate and final results are stored in the working memory 2. In addition, mass storage devices 4, 5 are connected to the microprocessor 1 via a controller 3, which can be, for example, a floppy disk in a floppy disk drive or a hard disk of a hard disk drive. Larger amounts of data can be read in there and possibly permanently saved, for which the capacity of the main memory 2 is not sufficient. The main memory 2 is, however, distinguished from the mass memories 4, 5 by the fact that the access time of the microprocessor 1 to the main memory 2 is considerably shorter than to the mass memories 4, 5.
Ferner ist mit dem Mikroprozessor 1 eine Eingabe-/Ausgabeeinrichtung 8 verbunden, über die die Rechenanlage 1 mit externen Geräten, wie z.B. einem Bedienpult, einem Bildschirm sowie einer Steuervorrichtung für Werkzeugmaschinen verbunden werden kann.Furthermore, an input / output device 8 is connected to the microprocessor 1, via which the computer system 1 can be connected to external devices such as e.g. a control panel, a screen and a control device for machine tools can be connected.
Bei Verwendung der in Figur 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 Massenspeicher 4, 5 umfasst, große Mengen an Daten zu speichern, beispielsweise die Ist- und Soll-Positionen von Maschinenteilen 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ötigten Daten in Dateien abzulegen, die in einem der Massenspeicher 4, 5 abgespeichert sind.When using the computer system shown in FIG. 1 in a numerical control for machine tools, it is necessary to store large amounts of data, for example the actual and target data, in the data storage system of the computer system, which includes the main memory 2 and the two mass memories 4, 5 -Positions of machine parts of the machine to be controlled. Because of the limited capacity of the main memory, it is therefore often necessary to store at least some of the data required for control purposes in files which are stored in one of the mass memories 4, 5.
Anhand der Figuren 2 und 3 soll nun erläutert werden, wie die Bearbeitung von Dateien, die auf einem der Massenspeicher 4, 5 gespeichert sind, mit minimalem Aufwand an Rechenzeit erfolgen kann.On the basis of FIGS. 2 and 3, it will now be explained how the processing of files which are stored on one of the mass memories 4, 5 can be carried out with a minimum of computing time.
In Figur 2a ist eine aus einem einzelnen Dateifragment F bestehende Datei dargestellt, das in einem der Massenspeicher 4, 5 gespeichert ist und dort den zwischen einer Adresse A1 (Anfang des Dateifragmentes) und einer Adresse A2 (Ende des Dateifragmentes) zur Verfügung stehenden Speicherplatz belegt. Diesem Dateifragment F ist ein Eintrag in einer in dem Ar- beitsspeicher 2 gespeicherten Zuordnungsliste Z zugeordnet, der auf dieses Dateifragment F verweist und diesem die Adressen A1 und A2 zuordnet.FIG. 2a shows a file consisting of a single file fragment F, which is stored in one of the mass memories 4, 5 and occupies the memory space available between an address A1 (beginning of the file fragment) and an address A2 (end of the file fragment) , This file fragment F is an entry in an in the ar- beitsspeicher 2 assigned assignment list Z, which refers to this file fragment F and this addresses A1 and A2.
Soll in das Dateifragment F ein zusätzlicher Datensatz eingefügt werden, so wird gemäß Figur 2b das Dateifragment F in zwei Teilfragmente F1 und F2 unterteilt, die jeweils ein kleineres Dateifragment bilden und zwischen denen der zusätzliche Datensatz eingefügt werden soll. Dies geschieht dadurch, dass 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 aktuellen 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 zuordnet, die den Anfang und das Ende des von diesem Dateifragmentes F1 belegten Speicherbereiches bezeichnen, und der andere Eintrag dem zweiten Dateifragment F2 die Adressen A3, A2 zuordnet, die den Anfang und das Ende des von jenem Dateifragment F2 belegten Speicherplatzes bezeichnen.If an additional data record is to be inserted into the file fragment F, the file fragment F is divided into two partial fragments F1 and F2 according to FIG. 2b, each of which forms a smaller file fragment and between which the additional data record is to be inserted. This is done by creating two new entries in the assignment list Z by first copying the previous entry and then modifying both the previous entry and its copy. The two current entries in the assignment list Z then each refer to one of the two file fragments F1, F2, one entry assigning the addresses A1, A4 to the first file fragment F1, which designate the beginning and end of the memory area occupied by this file fragment F1, and the other entry assigns the addresses A3, A2 to the second file fragment F2, which designate the beginning and the end of the storage space occupied by that file fragment F2.
Der zusätzliche Datensatz wird in einem separaten Dateifragment 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 Dateifragment F3 die Adressen A5, A6 in dem entsprechenden Massenspeicher 4 bzw. 5 zuordnet.The additional data record is stored in a separate file fragment F3 on one of the mass memories 4, 5, specifically in a memory area identified by the addresses A5, A6. A third entry in the assignment list Z refers to this file fragment F3, which assigns the addresses A5, A6 in the corresponding mass memory 4 or 5 to the file fragment F3.
Zum Einfügen eines Datensatzes in eine Datei F ist es also lediglich erforderlich, diesen Datensatz an einer beliebigen Stelle eines der Massenspeicher 4, 5 zu speichern und anschließend einige Modifikationen in der in dem Arbeitsspeicher abgelegten Zuordnungsliste Z vorzunehmen. Hierdurch wird die zum Einfügen eines Datensatzes in eine Datei erforderliche Rechenzeit minimiert.To insert a data record into a file F, it is therefore only necessary to save this data record at any position in one of the mass memories 4, 5 and then to carry out some modifications in the assignment list Z stored in the main memory. This minimizes the computing time required to insert a data record into a file.
Die einzelnen Einträge in der Zuordnungsliste Z müssen dabei nicht, wie in Figur 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.The individual entries in the assignment list Z do not have to be arranged in succession, as shown in FIG. 2b. The arrangement of the entries in the assignment list Z is rather arbitrary, provided that each of these entries additionally contains a reference to the following entry.
Zum Löschen eines Datensatzes in einem Dateifragment F wird gemäß den Figuren 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, dass (in derselben Weise wie bereits anhand der Figuren 2a und 2b erläutert) zwei Einträge in der Zuordnungsliste Z gebildet 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äsentieren; und der andere Eintrag ordnet in entsprechender Weise dem zweiten Dateifragment F5 Adressen A7, A2 zu. Der gelöschte Datensatz G befindet sich somit in einem Bereich des Massenspeichers 4 bzw. 5, auf den keiner der Einträge der Zuordnungsliste Z verweist.To delete a data record in a file fragment F, according to FIGS. 3a and 3b, the file fragment F is divided into two partial fragments F4, F5, one of which contains the file content lying in front of the data record G to be deleted and the other the one behind the data record G to be deleted Contains file content. The subdivision of the file fragment F into two sub-fragments F4, F5 takes place in that (in the same way as already explained with reference to FIGS. 2a and 2b) two entries are formed in the assignment list Z, one of which on the first sub-fragment F4 and the one others refer to the second partial fragment F5. The one entry assigns the first sub-fragment F4 the addresses A1, A8, which represent the beginning and the end of the memory space occupied by this file fragment; and the other entry correspondingly assigns addresses A7, A2 to the second file fragment F5. The deleted data record G is therefore located in an area of the mass storage device 4 or 5 to which none of the entries in the assignment list Z refers.
Es wird deutlich, dass das Löschen eines Datensatzes in einfacher Weise durch eine Modifikation der auf dem Arbeitsspeicher abgelegten Zuordnungsliste Z erfolgt. Dies minimiert die beim Löschen eines Datensatzes erforderliche Rechenzeit.It is clear that a data record is deleted in a simple manner by modifying the assignment list Z stored in the main memory. This minimizes the computing time required when deleting a data record.
Selbstverständlich kann - in Abwandlung des anhand der Figuren 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.Of course - in a modification of the exemplary embodiment illustrated with reference to FIGS. 2 and 3 - the file, which in each case represents the starting point for inserting or deleting a data record, can also consist of several file fragments even before these operations begin.
Bei Bedarf kann die mittels des erfindungsgemäßen Verfahrens 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 zusammenge- fasst werden. Hierzu werden die einzelnen Dateifragmente nacheinander in einer Datei gespeichert, der ein zusammenhängender Speicherbereich zugewiesen ist. Die Reihenfolge der Anordnung der einzelnen Dateifragmente ist dabei durch die Zuordnungsliste eindeutig bestimmt, sei es durch die Reihenfolge der Anordnung der Einträge der Zuordnungsliste oder durch Verweise in den einzelnen Einträgen der Zuordnungsliste, die jeweils auf den folgenden Eintrag verweisen. Dieses Zusammenfassen der einzelnen Dateifragmente zu einer in einem zusammenhängenden Speicherbereich angeordneten Datei kann zu einem geeigneten Zeitpunkt erfolgen, zu dem hinreichend Rechenzeit für diese Operation zur Verfügung steht. If necessary, the file generated by means of the method according to the invention when inserting or deleting a data record and consisting of several separate file fragments can be combined again to form a uniform file stored in a contiguous memory area. be caught. For this purpose, the individual file fragments are stored in succession in a file to which a contiguous storage area is assigned. The order of the arrangement of the individual file fragments is clearly determined by the assignment list, be it by the order of the arrangement of the entries in the assignment list or by references in the individual entries of the assignment list, each of which refers to the following entry. This combination of the individual file fragments into a file arranged in a coherent memory area can take place at a suitable point in time at which sufficient computing time is available for this operation.

Claims

Patentansprüche claims
1. Verfahren zum Speichern von Daten in einer Datei eines Datenspeichersystems, das einen Arbeitsspeicher (2) umfasst, der unmittelbar einem Mikroprozessor (1 ) zugeordnet ist, sowie einen Massenspeicher (4, 5), der zur Speicherung weiterer Daten vorgesehen ist, wobei die Daten in mindestens zwei unterschiedlichen Fragmenten (F, F1 - F5) der Datei gespeichert werden, die separaten Bereichen des Datenspeichersystems zugeordnet sind, und wobei eine Zuordnungsliste (Z) gebildet wird, in der die Zuordnung der Dateifragmente (F, F1 - F5) zu unterschiedlichen Bereichen des Datenspeichersystems gespeichert ist, da- durch gekennzeichnet, dass mindestens eines der Dateifragmente (F,1. A method for storing data in a file of a data storage system which comprises a working memory (2) which is directly assigned to a microprocessor (1), and a mass storage device (4, 5) which is provided for storing further data, the Data are stored in at least two different fragments (F, F1 - F5) of the file, which are assigned to separate areas of the data storage system, and wherein an assignment list (Z) is formed in which the assignment of the file fragments (F, F1 - F5) to different areas of the data storage system is stored, characterized in that at least one of the file fragments (F,
F1 - F5) in dem Massenspeicher (4, 5) gespeichert wird und dass die Einträge der Zuordnungsliste (Z) in dem Arbeitsspeicher (2) gespeichert werden.F1 - F5) is stored in the mass memory (4, 5) and that the entries in the assignment list (Z) are stored in the main memory (2).
2. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass zum Hinzufügen eines Datensatzes zu einer Datei der Datensatz in einem separaten Dateifragment (F3) gespeichert wird und der Zuordnungsliste (Z) ein Eintrag hinzugefügt wird, der auf das Dateifragment (F3) verweist.2. The method according to claim 1, characterized in that for adding a data record to a file, the data record is stored in a separate file fragment (F3) and an entry is added to the assignment list (Z) which refers to the file fragment (F3).
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass zum Einfügen eines Datensatzes in ein Dateifragment (F) das Dateifragment in zwei Teilfragmente (F1 , F2) unterteilt wird, indem für jedes der beiden Teilfragmente (F1 , F2) ein eigener Eintrag in der Zuordnungsliste (Z) gebildet wird, der auf das entsprechende Teilfragment (F1 , F2) verweist.3. The method according to claim 2, characterized in that for inserting a data record in a file fragment (F), the file fragment is divided into two partial fragments (F1, F2) by a separate entry in the for each of the two partial fragments (F1, F2) Assignment list (Z) is formed, which refers to the corresponding partial fragment (F1, F2).
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die beiden Einträge in der Zuordnungsliste (Z) gebildet werden, indem der auf das ursprüngliche Dateifragment (F) verweisende Eintrag kopiert und anschließend modifiziert wird. 4. The method according to claim 3, characterized in that the two entries in the assignment list (Z) are formed by copying the entry referring to the original file fragment (F) and then modifying it.
5. Verfahren nach Anspruch 1 , dadurch gekennzeichnet, dass beim Anfügen eines Datensatzes an ein Dateifragment (F) das Dateifragment um diesen Datensatz erweitert wird und der auf das Dateifragment verweisende Eintrag der Zuordnungsliste (Z) modifiziert wird.5. The method according to claim 1, characterized in that when a data record is attached to a file fragment (F), the file fragment is expanded by this data record and the entry of the assignment list (Z) referring to the file fragment is modified.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass 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.6. The method according to any one of claims 1 to 5, characterized in that for deleting a data record (G) of a file fragment (F) at least one entry in the assignment list (Z) is formed, which refers to at least one remaining partial fragment (F4 , F5) of the file fragment (F).
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass 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) geschaffen wird, der auf das entsprechende Teilfragment (F4, F5) verweist.7. The method according to claim 6, characterized in that for deleting a data record (G) that is stored neither at the beginning nor at the end of the file fragment (F), the file fragment (F) into two partial fragments containing the data not to be deleted (F4 , F5) is divided by creating a separate entry in the assignment list (Z) for each of the two partial fragments (F4, F5), which refers to the corresponding partial fragment (F4, F5).
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die beiden Einträge in der Zuordnungsliste (Z) gebildet werden, indem der auf das ursprüngliche Dateifragment (F) verweisende Eintrag kopiert und anschließend modifiziert wird. 8. The method according to claim 7, characterized in that the two entries in the assignment list (Z) are formed by copying the entry referring to the original file fragment (F) and then modifying it.
9. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass zum Löschen eines Datensatzes, der am Anfang oder am Ende des Dateifragmentes (F) gespeichert ist, ein Eintrag in der Zuordnungsliste (Z) gebildet wird, der auf das verbleibende Teilfragment des Dateifragmentes verweist.9. The method according to claim 6, characterized in that for deleting a data record which is stored at the beginning or at the end of the file fragment (F), an entry is formed in the assignment list (Z) which refers to the remaining partial fragment of the file fragment.
10. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass zum vollständigen Löschen eines Dateifragmentes (F) der zugehörige Eintrag in der Zuordnungsliste (Z) gelöscht wird.10. The method according to any one of claims 1 to 5, characterized in that in order to completely delete a file fragment (F), the associated entry in the assignment list (Z) is deleted.
11. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass 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.11. The method according to any one of the preceding claims, characterized in that to overwrite a data record of a file, the data record is deleted and then a new data record is inserted at the corresponding point in the file.
12. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jeder Eintrag der Zuordnungsliste (Z) einen Verweis auf den Beginn (A, A3, A5, A7) und das Ende (A2, A4, A6, A8) des von dem jeweiligen Dateifragment (F, F1 - F5) belegten Speicherbereiches enthält.12. The method according to any one of the preceding claims, characterized in that each entry of the assignment list (Z) a reference to the start (A, A3, A5, A7) and the end (A2, A4, A6, A8) of the respective Contains file fragment (F, F1 - F5) occupied memory area.
13. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass jeder Eintrag der Zuordnungsliste (Z) einen Verweis auf den darauf folgenden Eintrag enthält.13. The method according to any one of the preceding claims, characterized in that each entry of the assignment list (Z) contains a reference to the subsequent entry.
14. Verfahren zur Steuerung und/oder Regelung von Maschinen, insbesondere von Werkzeugmaschinen, unter Verwendung eines Mikroprozessors (1) und eines Datenspeichersystems, das einen Arbeitsspeicher (2) umfasst, der unmittelbar dem Mikroprozessor (1) zugeordnet ist, sowie einen Massenspeicher (4, 5), der zur Speicherung weiterer Daten vorgesehen ist, wobei eine Speicherung von Daten in dem Datenspeichersystem nach einem der vorhergehenden Ansprüche erfolgt. 14.Method for controlling and / or regulating machines, in particular machine tools, using a microprocessor (1) and a data storage system which comprises a working memory (2) which is directly assigned to the microprocessor (1), and a mass storage device (4 , 5), which is provided for storing further data, with data being stored in the data storage system according to one of the preceding claims.
5. Datenspeichers/stem, das einen Arbeitsspeicher (2) umfasst, der unmittelbar einem Mikroprozessor (1) zugeordnet ist, sowie einen Massenspeicher (4, 5), der zur Speicherung weiterer Daten vorgesehen ist, wobei in dem Datenspeichersystem mindestens eine Gruppe von Daten in einer Datei gespeichert ist, wobei die Daten in mindestens zwei unterschiedlichen Fragmenten (F, F1 - F5) der Datei gespeichert sind, die separaten Bereichen des Datenspeichersystems zugeordnet sind, und wobei eine Zuordnungsliste (Z) vorgesehen ist, in der die Zuordnung der Dateifragmente (F, F1 - F5) zu unterschiedlichen Bereichen des Daten- speichersystems gespeichert ist, dadurch gekennzeichnet, dass mindestens eines der Dateifragmente (F, F1 - F5) in dem Massenspeicher (4, 5) gespeichert ist und dass die Einträge der Zuordnungsliste (Z) in dem Arbeitsspeicher (2) gespeichert sind. 5. Data storage / stem, which comprises a working memory (2), which is directly assigned to a microprocessor (1), and a mass storage device (4, 5), which is provided for storing further data, with at least one group of data in the data storage system is stored in a file, the data being stored in at least two different fragments (F, F1-F5) of the file, which are assigned to separate areas of the data storage system, and an assignment list (Z) is provided in which the assignment of the file fragments is provided (F, F1 - F5) is stored for different areas of the data storage system, characterized in that at least one of the file fragments (F, F1 - F5) is stored in the mass storage device (4, 5) and that the entries in the assignment list (Z ) are stored in the main memory (2).
PCT/EP2000/011847 1999-12-08 2000-11-28 Method for the storage of data in a file on a data storage device WO2001042923A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP00977588A EP1259884A2 (en) 1999-12-08 2000-11-28 Method for the storage of data in a file on a data storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19960114.3 1999-12-08
DE1999160114 DE19960114A1 (en) 1999-12-08 1999-12-08 Method for storing data in a file of a data storage system

Publications (2)

Publication Number Publication Date
WO2001042923A2 true WO2001042923A2 (en) 2001-06-14
WO2001042923A3 WO2001042923A3 (en) 2002-09-12

Family

ID=7932516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2000/011847 WO2001042923A2 (en) 1999-12-08 2000-11-28 Method for the storage of data in a file on a data storage device

Country Status (3)

Country Link
EP (1) EP1259884A2 (en)
DE (1) DE19960114A1 (en)
WO (1) WO2001042923A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008022831B4 (en) * 2008-05-08 2015-09-10 Fujitsu Technology Solutions Intellectual Property Gmbh Working method for a storage subsystem and devices for carrying out the working method
US8122219B2 (en) 2009-07-22 2012-02-21 International Business Machines Corporation Storage allocation

Citations (4)

* Cited by examiner, † Cited by third party
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
EP0557736A2 (en) * 1992-01-29 1993-09-01 Microsoft Corporation A 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5008820A (en) * 1987-03-30 1991-04-16 International Business Machines Corporation Method of rapidly opening disk files identified by path names
DE19633648A1 (en) * 1996-08-21 1998-02-26 Grundig Ag Method and circuit arrangement for storing dictations in a digital dictation machine

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
EP0557736A2 (en) * 1992-01-29 1993-09-01 Microsoft Corporation A 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FORIN A ET AL: "AN MS-DOS FILE SYSTEM FOR UNIX" PROCEEDINGS OF THE WINTER USENIX CONFERENCE, XX, XX, 17. Januar 1994 (1994-01-17), Seiten 337-354, XP000675515 *

Also Published As

Publication number Publication date
WO2001042923A3 (en) 2002-09-12
EP1259884A2 (en) 2002-11-27
DE19960114A1 (en) 2001-06-13

Similar Documents

Publication Publication Date Title
DE102005013285B4 (en) Method of configuring a controller and controller
DE2350884C2 (en) Address translation unit
EP1101153B1 (en) Method for applying the control data of an electronic vehicle control apparatus
EP2923261B1 (en) Method for controlling a flash memory for mass storage, which is comprised by a communications device that can be connected to a host, and computer program product for carrying out said method
DE1499182A1 (en) Electrical data processing system
DE10115729B4 (en) Versatile boot procedure for an application software of a microcontroller
DE2517302A1 (en) DATA PROCESSING SYSTEM WITH MULTI-PROGRAM PROCESSING
EP3692424B1 (en) Method for processing a software project
DE112011102139T5 (en) Tape storage unit and writing method therefor
DE102016007651A1 (en) Numerical control with automatic selection of a storage destination for a machining program
WO2001042923A2 (en) Method for the storage of data in a file on a data storage device
DE1774421B1 (en) MORE PROGRAM DATA PROCESSING SYSTEM
DE19705507C1 (en) Method of applying controller e.g. in motor vehicle transmission control
DE10252059B3 (en) Data memory operating method e.g. for portable data carrier or mobile data processor, using back-up memory for retaining memory cell contents upon current interruption during programming
DE19814359A1 (en) Interface device, method and monitoring system for monitoring the status of a hardware device
DE112019006886T5 (en) System development support apparatus, method, program and recording medium
EP1235123A2 (en) Add-om mechanism for a control system based on a type data-field
DE10058391C2 (en) Object processing device
DE4340069A1 (en) Protecting against loss or inconsistency of computer data stored on disk in CNC machine
DE10128752A1 (en) Storage of data in computer memory, especially EEPROM or flash memory by writing data to memory in pages, whereby each page contains a value and a reference to the next page in the chain
DE19704531C1 (en) Application software loading method for computer data processing system
DE102015220485A1 (en) Method for writing and reading a data record
DE4330221C2 (en) Dialog-oriented programming system for generating a control program for a CNC machine
WO2002099650A2 (en) Method for managing a chip card memory
EP3764218A1 (en) Method for the computer-assisted interaction of an operator with a model of a technical system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2000977588

Country of ref document: EP

AK Designated states

Kind code of ref document: A3

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWP Wipo information: published in national office

Ref document number: 2000977588

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: JP

WWR Wipo information: refused in national office

Ref document number: 2000977588

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 2000977588

Country of ref document: EP