Storage and access of data using volume trailer
First Claim
1. A computer implemented method for processing a volume of machine-readable digital data, comprising:
- storing a volume of data as a sequence of digital data on a data storage medium, said sequence including;
a volume header commencing said sequence;
multiple record groups following the volume header, each individual record group including multiple data records each preceded by a record header, each data record and each record header having a beginning address in the data storage medium; and
a volume trailer concluding said sequence, said volume trailer including, for each individual record group;
a pointer field containing the beginning address of the individual record group;
a group count field containing a count of data records in the individual record group; and
a marker count field containing a count of marker codes in the individual record group; and
randomly accessing data in the volume using the volume trailer.
0 Assignments
0 Petitions
Accused Products
Abstract
Digital data records are stored on a direct access storage device (DASD) in emulation of sequential-access media, the efficiency of storage and access of the data being improved by using a volume trailer containing various statistics about the records. Data is preferably stored in records, logically assembled into record groups. Interspersed with the records, there may be one or more marker codes, which function like tape marks among the various data records. The volume trailer contains pointers to each record group, record counts for each group, marker code counts for each group, and may also include fields showing whether records in a given record group are of equal length. The volume trailer may also include a volume trailer “tail”, including a byte count for the entire volume trailer, and a unique sequence identifying the volume trailer. Statistics contained in the volume trailer enable substantially more efficient access of the data by a DASD. For example, record groupings, group counts, and/or marker code counts may be employed to perform operations such as locate, forward space file, and backward space file.
128 Citations
42 Claims
-
1. A computer implemented method for processing a volume of machine-readable digital data, comprising:
-
storing a volume of data as a sequence of digital data on a data storage medium, said sequence including;
a volume header commencing said sequence;
multiple record groups following the volume header, each individual record group including multiple data records each preceded by a record header, each data record and each record header having a beginning address in the data storage medium; and
a volume trailer concluding said sequence, said volume trailer including, for each individual record group;
a pointer field containing the beginning address of the individual record group;
a group count field containing a count of data records in the individual record group; and
a marker count field containing a count of marker codes in the individual record group; and
randomly accessing data in the volume using the volume trailer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
an equilength record field indicating whether all records of the individual record group are of equal length.
-
-
3. The method of claim 2, the equilength record field comprising a binary bit, a predetermined value of the bit indicating that data records in the individual record group are of equal length.
-
4. The method of claim 1, the volume trailer further including:
a tail, including a predetermined code identifying the volume trailer.
-
5. The method of claim 1, the volume trailer occupying a number of bytes, the volume trailer further including:
a tail, including a byte count field containing a count of the number of bytes.
-
6. The method of claim 1, the data storage medium being a randomly accessible data storage medium.
-
7. The method of claim 1, the data storage medium including at least one magnetic storage disk.
-
8. The method of claim 1, the data storage medium including an integrated circuit memory.
-
9. A computer implemented method of locating a desired machine-readable data record stored in a volume of data on a direct access storage device (DASD), said volume containing a logically ordered sequence of digital data including:
-
a volume header commencing said sequence;
multiple record groups, each individual record group including multiple data records each preceded by a corresponding record header, each data record and each record header having a beginning address in the data storage medium;
a volume trailer concluding said sequence, said volume trailer including for each individual record group;
a pointer field containing the beginning address of the individual record group; and
a group count field containing a count of data records for the individual record group;
said method of locating a desired data record in the volume comprising; receiving identification of a target data record including a record number indicating a position of the target data record in the logical ordering;
referencing the one or more group count fields to identify a target record group containing the target data record;
referencing a pointer field corresponding to the target record group to identify a first address for the target record group;
computing a second address at which the target data record begins; and
advancing to the second address. - View Dependent Claims (10, 11, 12, 13)
reading a first record header at the first address to determine whether the first record header corresponds to the target data record; and
if the first record header does not correspond to the target data record, repeatedly advancing to succeeding record headers and reading the succeeding record headers until a record header corresponding to the target data record is read.
-
-
11. The method of claim 10, the repeatedly advancing comprising repeatedly advancing a read head of the DASD to succeeding record headers and reading the succeeding record headers until a record header corresponding to the target data record is read.
-
12. The method of claim 10, the repeatedly advancing comprising repeatedly advancing a software pointer to succeeding record headers and reading the succeeding record headers until a record header corresponding to the target data record is read.
-
13. The method of claim 9, the volume trailer further including, for each individual record group, an equilength record field indicating whether all records of the individual record group are of equal length, the computing of the second address comprising:
-
computing an address jump distance equal to a difference in logical ordering between the target data record and a first data record in the target record group; and
adding the address jump distance to the first address.
-
-
14. A programmed product comprising signal-bearing media tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for processing a volume of machine-readable digital data, said method comprising:
-
storing a volume of data as a sequence of digital data on a data storage medium, said sequence including;
a volume header commencing said sequence;
multiple record groups following the volume header, each individual record group including multiple data records each preceded by a record header, each data record and each record header having a beginning address in the data storage medium; and
a volume trailer concluding said sequence, said volume trailer including, for each individual record group;
a pointer field containing the beginning address of the individual record group;
a group count field containing a count of data records in the individual record group; and
a marker count field containing a count of marker codes in the individual record group; and
randomly accessing data in the volume using the volume trailer. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
an equilength record field indicating whether all records of the individual record group of equal length. -
16. The product of claim 15, the equilength record field comprising a binary bit, a predetermined value of the bit indicating that data records in the individual record group are of equal length.
-
17. The product of claim 14, the volume trailer further including:
a tail, including a predetermined code identifying the volume trailer.
-
18. The product of claim 14, the volume trailer occupying a number of bytes, the volume trailer further including:
a tail, including a byte count field containing a count of the number of bytes.
-
19. The product of claim 14, the data storage medium being a randomly accessible data storage medium.
-
20. The product of claim 14, the data storage medium including at least one magnetic storage disk.
-
21. The product of claim 14, the data storage medium including an integrated circuit memory.
-
-
22. A data storage subsystem, comprising:
-
a direct access data storage medium;
a processing unit, coupled to the data storage medium and programmed to perform a process for processing a volume of machine-readable digital data thereon, said process comprising;
storing a volume of data as a sequence of digital data on the data storage medium, said sequence including;
a volume header commencing said sequence;
multiple record groups following the volume header, each individual record group including multiple data records each preceded by a record header, each data record and each record header having a beginning address in the data storage medium; and
a volume trailer concluding said sequence, said volume trailer including, for each individual record group;
a pointer field containing the beginning address of the individual record group;
a group count field containing a count of data records in the individual record group; and
a marker count field containing a count of marker codes in the individual record group; and
randomly accessing data in the volume using the volume trailer. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
an equilength record field indicating whether all records of the individual record group are of equal length.
-
-
24. The subsystem of claim 22, the equilength record field comprising a binary bit, a predetermined value of the bit indicating that data records in the individual record group are of equal length.
-
25. The subsystem of claim 22, the volume trailer further including:
a tail, including a predetermined code identifying the volume trailer.
-
26. The subsystem of claim 22, the volume trailer occupying a number of bytes, the volume trailer further including:
a tail, including a byte count field containing a count of the number of bytes.
-
27. The subsystem of claim 22, the data storage medium being a randomly accessible data storage medium.
-
28. The subsystem of claim 22, the data storage medium including at least one magnetic storage disk.
-
29. The subsystem of claim 22, the data storage medium including an integrated circuit memory.
-
30. A data storage subsystem, comprising:
-
a volume of data stored on a direct access data storage medium, the volume containing a sequence of digital data including;
a volume header commencing said sequence;
multiple record groups, each individual record group including multiple data records each preceded by a corresponding record header, each data record and each record header having a beginning address in the data storage medium;
a volume trailer concluding said sequence, said volume trailer including for each individual record group;
a pointer field containing the beginning address of the individual record group; and
a group count field containing a count of data records for the individual record group; and
a processing unit, coupled to the data storage medium and programmed to perform a process for locating a desired machine-readable data record in the volumes said process comprising;
receiving identification of a target data record including a record number indicating a position of the target data record in the logical ordering;
referencing the one or more group count fields to identify a target record group containing the target data record;
referencing a pointer field corresponding to the target record group to identify a first address for the target record group;
computing a second address at which the target data record begins; and
advancing to the second address. - View Dependent Claims (31, 32, 33, 34)
reading a first record header at the first address to determine whether the first record header corresponds to the target data record; and
if the first record header does not correspond to the target data record, repeatedly advancing to succeeding record headers and reading the succeeding record headers until a record header corresponding to the target data record is read.
-
-
32. The subsystem of claim 31, the repeatedly advancing comprising repeatedly advancing a read head of the DASD to succeeding record headers and reading the succeeding record headers until a record header corresponding to the target data record is read.
-
33. The subsystem of claim 31, the repeatedly advancing comprising repeatedly advancing a software pointer to succeeding record headers and reading the succeeding record headers until a record header corresponding to the target data record is read.
-
34. The subsystem of claim 30, the volume trailer further including, for each individual record group, an equilength record field indicating whether all records of the individual record group are of equal length, the computing of the second address comprising:
-
computing an address jump distance equal to a difference in logical ordering between the target data record and a first data record in the target record group; and
adding the address jump distance to the first address.
-
-
35. An article of manufacture, comprising:
-
a data storage medium; and
a volume of data including a sequence of digital data stored on the data storage medium, said sequence including;
a volume header commencing said sequence;
multiple record groups, each record group including multiple data records each preceded by a record header, each data record and each record header having a beginning address in the data storage medium; and
a volume trailer concluding said sequence, said volume trailer including, for each individual record group;
a pointer field containing the beginning address of the individual record group;
a group count field containing a count of data records for the individual record group; and
a marker count field containing a count of marker codes for the individual record group. - View Dependent Claims (36, 37, 38, 39, 40, 41, 42)
an equilength record field indicating whether all records of the individual record group are of equal length.
-
-
37. The article of claim 36, the equilength record field comprising a binary bit, a predetermined value of the bit indicating that data records in the individual record group are of equal length.
-
38. The article of claim 35, the volume trailer further including:
a tail, including a predetermined code identifying the volume trailer.
-
39. The article of claim 35, the volume trailer occupying a number of bytes, the volume trailer further including:
a tail, including a byte count field containing a count of the number of bytes.
-
40. The article of claim 35, the data storage medium being a randomly accessible data storage medium.
-
41. The article of claim 35, the data storage medium including at least one magnetic storage disk.
-
42. The article of claim 35, the data storage medium including an integrated circuit memory.
Specification