Method for storing a parcelwise divided digital data base as well as of addressing a data parcel in a mass memory, and apparatus for carrying out the method
First Claim
1. A method for storing a digital data base in a memory whose capacity is divided into a number of storage parcels each having a predetermined storage capacity, said method comprising the following steps:
- dividing the data base into a number of main cells according to a predetermined regular division pattern;
dividing each main cell into a further number of data parcels , so that each data parcel covers a respective part of the main cel, which part has a data content occupying substantially completely the storage capacity of a storage parcel;
setting up an identifier table comprising;
(a) a first identifier identifying said predetermined pattern;
(b) a second identifier identifying said division into a data parcel; and
(c) for each main cell a data parcel list which comprises for each data parcel of that main cell an address pointer indicating at which memory location the respective data parcel is stored; and
loading into said memory the data content of each data parcel at the address indicated by its address pointer and loading said identifier table;
wherein main cells which comprise more than one data parcel are divided according to a further predetermined regular division pattern into such a nuber of base cells that the data content of each base cell is storable in a storage parcel, said parcels being formed by combining each time one or more adjacent base cellls of a same main cell, so that each base cell only belongs to one and the same data parcel,the method further comprising the following steps for setting up said identifier table;
(a) compiling a main cell table comprising said first identifier and further for each main cell divided into base cells a further address pointer indicating a memory location at which a base cell table for that main cell is stored;
(b) forming each main cell divided into base cells said second identifier by forming a number of indices, each index indicating a respective data parcel of its appertaining main cell;
(c) assigning to each base cell the index of the respective data parcel in which it is accommodated; and
(d) compiling for each main cell divided into base cells a base cell table comprising a base cell identifier and a list ofthe base cells with their assigned index;
each base cell table being loaded at its respective address indicated by its respective further address pointer.
2 Assignments
0 Petitions
Accused Products
Abstract
A database is stored in a mass memory. For this purpose, it is first divided into main cells and then into base cells according to a predetermined regular division pattern. Each base cell is then checked to see whether its data content is sufficient to occupy substantially completely a storage parcel having a predetermined capacity. If this is the case, the base cell is thus accommodated in a storage parcel; if this is not the case, adjacent base cells are grouped until a storage parcel is occupied substantially completely. The operation of addressing a storage parcel is effected by the use of a main cell table in which address pointers are stored, each of which points to a base cell table. In the base cell table, an index is given for each base cell and this index indicates in which storage parcel the relevant base cell is accommodated. Each of these indices indicates a location in a data paracel list at which an address indicator is present, which indicates the location at which the relevant parcel is stored in the mass memory.
75 Citations
18 Claims
-
1. A method for storing a digital data base in a memory whose capacity is divided into a number of storage parcels each having a predetermined storage capacity, said method comprising the following steps:
-
dividing the data base into a number of main cells according to a predetermined regular division pattern; dividing each main cell into a further number of data parcels , so that each data parcel covers a respective part of the main cel, which part has a data content occupying substantially completely the storage capacity of a storage parcel; setting up an identifier table comprising; (a) a first identifier identifying said predetermined pattern; (b) a second identifier identifying said division into a data parcel; and (c) for each main cell a data parcel list which comprises for each data parcel of that main cell an address pointer indicating at which memory location the respective data parcel is stored; and loading into said memory the data content of each data parcel at the address indicated by its address pointer and loading said identifier table; wherein main cells which comprise more than one data parcel are divided according to a further predetermined regular division pattern into such a nuber of base cells that the data content of each base cell is storable in a storage parcel, said parcels being formed by combining each time one or more adjacent base cellls of a same main cell, so that each base cell only belongs to one and the same data parcel, the method further comprising the following steps for setting up said identifier table; (a) compiling a main cell table comprising said first identifier and further for each main cell divided into base cells a further address pointer indicating a memory location at which a base cell table for that main cell is stored; (b) forming each main cell divided into base cells said second identifier by forming a number of indices, each index indicating a respective data parcel of its appertaining main cell; (c) assigning to each base cell the index of the respective data parcel in which it is accommodated; and (d) compiling for each main cell divided into base cells a base cell table comprising a base cell identifier and a list of the base cells with their assigned index;
each base cell table being loaded at its respective address indicated by its respective further address pointer. - View Dependent Claims (2)
-
-
3. An apparatus for retrieving data, the apparatus comprising:
-
(a) a memory whose capacity is divided into a plurality of storage parcels each having a predetermined storage capacity, the memory being for containing a data base which comprises an identifier table comprising; (i) a main cell table comprising; (A) a first identifier which identifies a first predetermined regular division pattern which divides the data base into a first number of main cells; and (B) at least one first address pointer corresponding to at least one respective main cell identified by the first identifier; (ii) for each main cell occupying more than one storage parcel, a respective base cell table pointed to by such a first address pointer, and corresponding to a second division of any main cells which comprise more than one data parcel, each data parcel being a part of a respective main cell, which part has a data content occupying substantially completely the storage capacity of a respective one of the storage parcels, the second division resulting from a division of any such main cells into a first set of base cells according to a second predetermined regular division pattern the base cell table comprising; (A) a base cell identifier; and (B) a list of base cells with respective indices, each index indicating a respective data parcel of the respective main cell, so that at least two adjacent base cells in said first set and within a same main cell share an index, effectively resulting in at least one combined base cell, each combined base cell corresponding to only one data parcel; and (iii) a respective data parcel list corresponding to each main cell which occupies more than one storage parcel, each data parcel list including a respective second address pointer for each respective data parcel in the corresponding main cell, the respective second address pointer indicating a memory location where the respective data parcel is located, the second address pointer being locatable using an index from an appropriate base cell table; (b) memory means for storing a supplied virtual address and a fetched copy of the main cell table; (c) first selection means for selecting a selected main cell, in which the supplied virtual address is located, using the first identifier from the fetched copy of the main cell table; (d) first address generation means for generating from the first address pointer the address for the base cell table associated with the selected main cell; (d) second selection means for selecting a selected base cell from the base cell table using the supplied virtual address and the base cell identifier; (e) third selection means for selecting on the basis of the index associated with the selected base cell a data parcel from the data parcel list; and (f) second address generation means for generating on the basis of the respective second address pointer of the selected data parcel the address at which a corresponding storage parcel is stored. - View Dependent Claims (4)
-
-
5. A method for storing a digital data base in a memory whose capacity is divided into a plurality of storage parcels each having a predetermined storage capacity, the method comprising the following steps:
-
(a) first dividing the data base into a plurality of main cells according to a first predetermined regular division pattern; (b) second dividing any main cells which comprise more than one data parcel, each data parcel being a part of the respective main cell, which part has a data content occupying substantially completely the storage capacity of a respective one of the storage parcels, said second dividing comprising; (i) dividing main cells which comprise more than one data parcel into a first set of base cells according to a second predetermined regular division pattern; and (ii) combining one or more adjacent base cells within a same main cell to reduce a number of base cells within that same main cell, said combining resulting in a second set of base cells, which second set includes at least one combined base cell, so that any combined base cell resulting from said combining corresponds to only one data parcel; and (c) setting up an identifier table comprising; (i) a main cell table comprising (A) a first identifier identifying said plurality of main cells according to said first pattern; and (B) for each main cell which is divided into base cells, a respective first address pointer indicating a memory location of a corresponding base cell table; (ii) at least one base cell table pointed to by such a first address pointer and comprising a base cell identifier identifying the base cells in said first set according to said second pattern and a list of the base cells in said first set with respective indices, each index indicating a respective data parcel of the respective main cell, so that at least two base cells in said first set and within a same main cell share an index; and (iii) for each main cell which is divided into base cells, a respective data parcel list which comprises a respective second address pointer for each respective data parcel in that main cell, the respective second address pointer indicating a memory location where the respective data parcel is stored. - View Dependent Claims (6, 7, 14, 15, 16, 17, 18)
-
-
8. A method for retrieving data from a data base stored in a memory whose capacity is divided into a plurality of storage parcels each having a predetermined storage capacity, the method comprising the following steps:
-
(a) first fetching a main cell table from memory, the main cell table comprising; (i) a first identifier which identifies a plurality of main cells according to a first predetermined regular division pattern, which first pattern divides the data base into the main cells; and (ii) at least one first address pointer corresponding to at least one respective main cell identified according to the first identifier; (b) first selecting a main cell and one first address pointer using the first identifier and a virtual address identifying a data parcel within the main cell, which data parcel is a part of the main cell which part has a data content occupying substantially completely the storage capacity of a respective one of the storage parcels; (c) second fetching a base cell table pointed to by the one first address pointer, said base cell table comprising; (i) a base cell identifier identifying a plurality of base cells according to a second predetermined regular division pattern, which second pattern divides the main cell into a first set of base cells; and (ii) a list of the base cells in the first set with respective indices, each index indicating a respective data parcel of the respective main cell, so that at least two adjacent base cells in said first set share an index, effectively resulting in at least one combined base cell, each combined base cell corresponding to only one data parcel; (d) second selecting a base cell from the first set and a respective index using the base cell identifier and the virtual address; (e) third fetching a data parcel list comprising a respective second address pointer for each respective data parcel in the main cell, which second address pointer is locatable using the indices from the base cell table; and (f) third selecting a second address pointer from the data parcel list using the respective index. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification