WO1989001663A1 - System for accessing information stored as a link-list with back-pointers on an optical disk by using the back-pointers to generate a directory - Google Patents

System for accessing information stored as a link-list with back-pointers on an optical disk by using the back-pointers to generate a directory Download PDF

Info

Publication number
WO1989001663A1
WO1989001663A1 PCT/US1988/002801 US8802801W WO8901663A1 WO 1989001663 A1 WO1989001663 A1 WO 1989001663A1 US 8802801 W US8802801 W US 8802801W WO 8901663 A1 WO8901663 A1 WO 8901663A1
Authority
WO
WIPO (PCT)
Prior art keywords
directory
transaction
item number
item
file
Prior art date
Application number
PCT/US1988/002801
Other languages
French (fr)
Inventor
David R. Wooten
Thomas M. Taylor, Iii
Original Assignee
Maximum Storage, Inc.
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 Maximum Storage, Inc. filed Critical Maximum Storage, Inc.
Publication of WO1989001663A1 publication Critical patent/WO1989001663A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists

Definitions

  • This invention relates to a method and apparatus for use with computer information storage devices.
  • the invention may be used for thei organization and control of signals on write-once optical disks.
  • J5 Optical information storage devices generally include a rotatable disk coated with a recording material.
  • the disk is divided into concentric or spiral tracks for the digital recording of information. The information is recorded on these tracks during the
  • a method is necessary to quickly locate and read the stored information.
  • One such method is to write a block of information at the beginning of the disk which addresses the stored information.
  • address information may contain the disk location for the various information blocks on the disk, and may also indicate any relationships between those information blocks. This method is satisfactory when
  • IXP addresses can be written at the outset.
  • Magnetic and other erasable media may have address blocks that can be updated by being erased and
  • FIG. 1 is a plan view of a typical optical disk capable of utilizing the invention.
  • FIG. 2 shows in schematic form an example of the tree directory system of the invention.
  • FIG. 3 shows in schematic form the relative arrangement of various blocks of information in a single transaction on one track of the disk.
  • FIG. 4 shows an array of bad sectors in ⁇ p -. diagramatical form together with a bad sector map array corresponding thereto.
  • FIG. 5 shows a flow chart of the steps in reading information recorded in accordance with the present invention.
  • FIG. 1 illustrates a write-once optical disk organized in accordance with the invention. While FIG.
  • This disk 10 has a plurality of tracks 12 for the recording of information through the modulated :5 . laser light beam (not shown) system described under
  • the tracks shown in FIG. 1 are greatly exaggerated for clarity; an actual 5-1/4 inch disk would typically include approximately 15,000 closely adjacent tracks. 0 ⁇
  • the disk 10 is also divided into a plurality of sectors, shown as sectors 1 through 8 in FIG. 1. Information blocks on the disk are addressed and accessed by track and sector number. Thus, each information block should begin on a sector boundary.
  • the first sector of the first track on the disk, sector 1 in the outermost track 12 of FIG. 1, contains the disk volume name. That name ordinarily occupies only a few bytes in the first sector, but the
  • the 2_ Q user may choose a long name for the disk which may occupy any number of bytes or sectors.
  • the volume information also contains a pointer directing the machine to the partition information described in the following paragraph.
  • the partition information begins on the next available sector after the volume information. This information divides the entire disk, other than the sectors containing volume and partition information, into a number of discrete partitions. Each partition
  • J Q serves as a single working unit so that information writing and reading operations are conducted on that partition without regard to other partitions.
  • the partition information can be written at the outset. Alternatively, it can be written later or written
  • the information directory system is based on the information directory tree structure shown in
  • FIG. 12 That figure shows a directory arrangement containing a root */" with directories A through D under that root. Under directory A are directories G through J. Of course, directories B, C and D could also have directories under them. Similarly, each
  • Directory A is identified as - / " which means directory A immediately under root.
  • Directory G is identified as "/ /Q,” which 5 means directory G, under directory A, under root.
  • Each directory may also have data files listed under it, indicated as 20 through 33 in FIG. 2.
  • Each file has a name, and its location in the directory tree
  • 35 directory /3 identified as 23 and 24 in FIG. 2 could also be named a and b, but would be distinguished by their names together with their prefix, which would be /B/a and /B/b.
  • the two files under directory /A/J identified as 32 and 33 in
  • FIG. 2 could be identified as /A/J/a and /A/J/b.
  • This information directory tree structure permits the creation of any number of files and directories under root.
  • the list of the files under root, together with the list of directories under root, is the root directory. In the same manner, each
  • ⁇ jj subdirectory may have an indefinite number of files and " lower directories under it.
  • the list of those files together with the list of lower directories immediately under that directory constitute the table of contents for the directory.
  • j -e ⁇ It is important to recognize that after the disk has been used and added to repeatedly, the root directory and other directories are not normally written in a single place, since they are created and altered at various times. Instead, the root directory
  • the root directory is assigned an "item
  • 25 number" of one and each directory and file is assigned a separate item number in numerical sequence as it is . created. Referring to the example of FIG. 2, assuming all the directories and files shown were created at the outset, the root directory would be item number one,
  • directories /A through /D would be item numbers two through five
  • directories /A/G through /A/J would be item numbers six through nine
  • the files shown as 20 through 33 would be item numbers 10 through 22, respectively.
  • the item number system permits a short-
  • the disk contains transactions of file data and directory information arranged as shown in FIG. 3.
  • the file data 42 are the blocks of information actually being stored.
  • the directory information 39A describes the relationship of the various directories to the information directory tree.
  • the transaction also contains an End-of- Transaction ("EOT") record 35.
  • the EOT record includes a bad sector map 34 and an entry list 36, the locations and number of entries of which are specified by a section of fixed length variables 38 at the end of the EOT record.
  • the bad sector map identifies the location of each sector within the transaction containing physical defects that prevent accurate writing and reading. Those bad sectors are not used.
  • FIG. 4 shows a diagram of sectors containing several bad sectors, together with a bad sector map array 40 for the sectors identified in the diagram. The first "4" in the bad sector map array indicates that the fourth sector is a bad sector. The "3" in the bad sector map array indicates that the next bad sector is the third next sector.
  • the "1" indicates that the next bad sector is the very next sector
  • the last "4" indicates that the next bad sector is the fourth next one. If there is no bad sector for a predetermined number of sectors, then a "0" would appear in the bad sector map array.
  • the entry list 36 identifies each item number affected by the transaction. As the machine searches through EOT records for transactions affecting a particular item number, the machine can immediately go onto another EOT record without reading the remainder of the transaction if the sought-after item number is not in the entry list.
  • the entry list information 36 for each item number directs the machine either to the directory information 39A in the case of an item number assigned to a directory, or to the file data description 39 in the case of an item number assigned to a file.
  • the j . Q directory information 39A indicates the relation of the file data 42 to the various files and directories on the disk or partition.
  • the directory information may.establish a new file for the information under a particular directory. ⁇ e- Alternatively, the directory information may alter an existing file or rearrange the system of directories.
  • the file data description directs the machine to the file data itself for the sought-after item number and unbundles that file data.
  • the machine proceeds as follows, referring to the flow chart of FIG. 5.
  • the machine locates the last-written sector on the disk through a
  • the machine divides the disk into halves and reads the sector at the boundary between the halves. If that sector has been written on, it divides the last half into two quarters and reads the sector at the boundary between those two quarters. On the other hand, if the sector between the halves has not been written on, it divides the first half into two quarters and reads the sector at the boundary between those two quarters. This process continues, as the disk is further divided into eighths, sixteenths and so on, until the machine locates a written sector immediately adjacent to an unreserved, unwritten sector. This written sector is the last-written sector.
  • the binary search operates on only the partition that is indicated as relevant in the disk partition information. For example, if the disk is divided into nine partitions and the partition information indicates that the sought after file is on partition six if it is anywhere on the disk, then the machine divides partition six into halves, quarters and so on to locate the last written partition six sector.
  • the machine When the machine locates the last-written sector on the disk, or on a partition in the case of a partitioned disk, it reads the EOT record to determine whether the transaction ending on that sector affects item number one, which the machine associates with the root directory. Reading the EOT record is accomplished by reading consecutively the fixed length variable portion 38, the bad sector map 34 and the entry list 36 shown in FIG. 4. If the entry list 36 indicates that the transaction does not affect item number one, then the machine moves to the next-to-last transaction and reads the EOT record for that transaction. Each 5 transaction EOT record is read in reverse chronological order until an EOT record is read indicating it affects the root directory, item number one. When an EOT record is read affecting item number one, the directory information in that transaction is also read and stored
  • the machine now has in memory a list of directories /A through /D. If the sought-after file does not have a prefix of any of directories /A through /D, then it is not on the disk.
  • the machine can then establish the list of files and directories under that directory. As in the case of
  • the sought-after file is not on the disk. For example, if the sought-after file is /A/P/a, then 5 the file is not in the arrangement depicted in FIG. 2. It will be apparent that file /A/P/a is not in the FIG. 2 arrangement upon establishing the list of files and directories under directory /A. That list would include only files /A/a, /A/b and /A/c and directories o /A/G, /A/H, /A/I and /A/J. Thus, prefix /A/P as required for file /A/P/a will be missing. The machine - will stop further searching at that point, and will indicate that the file is not on the disk.
  • the machine will continue down through the directory and file tree arrangement. Upon reaching the file, the machine must establish a table of contents for the file. This is done in much the same manner as establishing the list of files and directories for each 0 5 directory above the file in the information directory tree. The machine moves to the last-written transaction and searches the EOT records of transactions in reverse chronological order for the last transaction affecting the item number assigned to
  • 2Q repeated search through a disk or partition to create a directory or file table of contents ends each time on the first summary transaction in the case of a directory, or the transaction that created the file in the case of a file. That is not true unless the
  • the machine may periodically consolidate a directory into an updated directory
  • the machine begins a search in the same manner as if there is no updated directory summary, by starting at the EOT record for the last written transaction and searching backward for a transaction affecting the sought-after item number and then following backpointers to previous transactions affecting that item number. But when the machine reaches an updated directory summary, no further searching is required to establish the file directory. The machine is thereby allowed to skip all directory information prior to the updated directory summary. Of course, a separate search will still be required to establish the directory or file table of contents for each directory and file under that directory.
  • the same procedure is applicable to the root directory and to file tables of contents. If many changes have been made affecting the root directory or the file, the machine may consolidate those changes into an updated root summary or file summary. The machine can then establish the root directory or file table of contents by following backpointers to the updated root summary or file summary and no further.
  • the file system contains several important features to reduce the time-consuming search through each EOT record before the last transaction is reached affecting the sought-after file.
  • One feature is a consolidated item list periodically written onto the disk.
  • the consolidated item list is a list of the last, for example, 100 items that were affected by transactions since the previous consolidated item list written onto the disk, and the location of each such transaction.
  • the sought-after file is not on the item list, because it is not one of the last 100 items that were affected by transactions since the last consolidated item list, then the consolidated item list
  • X5 will direct the machine back to the preceding consolidated item list.
  • the machine will then search that consolidated item list, which will direct the machine to the last EOT record affecting the sought- after item number or, if that item number is not on
  • the machine may also periodically write onto the disk a full item list naming the address of the last transaction affecting each item number ever used on the disk.
  • the full item list ensures that the 0 machine will never need to go further than the point at which the full item list is written in order to ascertain the location of the last-written transaction affecting any particular item number.
  • the full item list consumes significant storage space, but may be
  • the cache ue structure stores the location of the last-written EOT record for a limited number of item numbers.
  • the item numbers chosen for the cache structure are generally those that were written most recently or read most recently, on the theory that those are the item numbers
  • I5 ⁇ most likely to be sought-after next. If the item number is found in the cache structure, then the machine can go immediately to the last-written EOT record for that item number.
  • the cache structure may also contain a list

Abstract

A system for recording and retrieving data on a recording medium (10), particularly useful in write-once media such as optical disks on which data (42) pertaining to a particular subject is periodically written or changed and is interrupted by other intervening information (39A). A set of data (42) or information (39A) affecting a directory is written onto the disk in a transaction together with back-pointers to a previous transaction affecting that data or directory. The system reads transaction in reverse order until encountering a transaction affecting a desired data (42) or directory (39A), and then reads and stores a description of the data (42) or the directory information (39A) in the transaction. The back-pointer directs the system to another previous transaction affecting that data (42) or directory (39A), and so on until the system has established a complete description of a desired data or directory information by reading all necessary portions of relevant transactions. Information pertaining to particular data or directories is periodically consolidated and recorded onto the medium (10) to reduce the back-pointing process.

Description

—SYSTEM FOR ACCESSING INFORMATION STORED AS A LINK-LIST WITH BACK-POINTERS ON AN OPTICAL DISK BY USING THE BACK-POINTERS TO GENERATE A DIRECTORY— .
BACKGROUND OF THE INVENTION rc& This invention relates to a method and apparatus for use with computer information storage devices. In particular the invention may be used for thei organization and control of signals on write-once optical disks.
J5 Optical information storage devices generally include a rotatable disk coated with a recording material. The disk is divided into concentric or spiral tracks for the digital recording of information. The information is recorded on these tracks during the
20 write phase of the machine by modulation of a laser light beam radiated on the recording material. The thermal energy of the modulated laser radiation produces predictable variations in the reflective characteristics of the recording material. These
25 variations are detected and decoded by the machine during the read phase. This writing and reading process is well known in the art, and allows the storage of vast quantities of information as compared to the quantity of information stored on a magnetic
30 disk.
A method is necessary to quickly locate and read the stored information. One such method is to write a block of information at the beginning of the disk which addresses the stored information. The
3.5. address information may contain the disk location for the various information blocks on the disk, and may also indicate any relationships between those information blocks. This method is satisfactory when
4Q- 5- it is known at the outset the nature and location of each block of information that will be written onto the disk. For example, this method is adequate for music recordings on optical disks, since the information format can be determined and the corresponding
IXP addresses can be written at the outset.
The method described in the preceding paragraph is not workable if information is written of a nature and at a disk location not determinable of the outset. This is the typical situation in most
15 applications. Information is written from time to time, beginning on the next available portion of the disk. The disk ultimately may have hundreds or thousands of discrete blocks of information scattered through it. The addresses of these scattered blocks of
20 information could not be written at the outset since their nature and location was not known at that time.
This problem is peculiar to write-once media. Magnetic and other erasable media may have address blocks that can be updated by being erased and
Z5 rewritten each time an additional information block is written. But because write-once media cannot be erased, rewriting the address blocks each time an information block is added would consume substantial additional storage capacity. Even in the case of
30 erasable magnetic media, it is sometimes desirable to continuously add and modify data rather than erase it. For example, archiving operations using magnetic tapes often require a complete historical set of data. A method is useful for tying this historical data
35 together.
Accordingly, it is an object of this invention to provide a storage device and method with improved information organization and control features to overcome or alleviate the disadvantages and problems
40 described above. BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a plan view of a typical optical disk capable of utilizing the invention.
FIG. 2 shows in schematic form an example of the tree directory system of the invention.
FIG. 3 shows in schematic form the relative arrangement of various blocks of information in a single transaction on one track of the disk.
FIG. 4 shows an array of bad sectors in ■p-. diagramatical form together with a bad sector map array corresponding thereto.
FIG. 5 shows a flow chart of the steps in reading information recorded in accordance with the present invention. 0
DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 1 illustrates a write-once optical disk organized in accordance with the invention. While FIG.
1 shows an optical disk, it will be apparent to those 5 skilled in the art that the invention is adaptable to media in other configurations or modes such as magnetic tapes, disks and drums. Further, while the invention is described under the assumption that the disk rotates at a constant angular velocity, it will be apparent to "Q ; those skilled in the art that the invention is equally applicable to a disk the tracks of which pass the optical head at a constant linear velocity.
This disk 10 has a plurality of tracks 12 for the recording of information through the modulated :5. laser light beam (not shown) system described under
Background of the Invention. The tracks shown in FIG. 1 are greatly exaggerated for clarity; an actual 5-1/4 inch disk would typically include approximately 15,000 closely adjacent tracks. 0 ^ The disk 10 is also divided into a plurality of sectors, shown as sectors 1 through 8 in FIG. 1. Information blocks on the disk are addressed and accessed by track and sector number. Thus, each information block should begin on a sector boundary.
£ For this reason, it is desirable to have a large number- of small sectors when the disk is used for storing small information blocks, in order to reduce the wasted storage between the information blocks and the sector boundaries. Any number of sectors is possible, and the 5 eight sectors in FIG. 1 are merely for illustration.
The first sector of the first track on the disk, sector 1 in the outermost track 12 of FIG. 1, contains the disk volume name. That name ordinarily occupies only a few bytes in the first sector, but the
2_Q user may choose a long name for the disk which may occupy any number of bytes or sectors. The volume information also contains a pointer directing the machine to the partition information described in the following paragraph.
25 The partition information begins on the next available sector after the volume information. This information divides the entire disk, other than the sectors containing volume and partition information, into a number of discrete partitions. Each partition
JQ serves as a single working unit so that information writing and reading operations are conducted on that partition without regard to other partitions. The partition information can be written at the outset. Alternatively, it can be written later or written
25 partially at the outset and added to later as the need for partitioning or further partitioning becomes evident, assuming sufficient sector space is reserved for the additional partition information. The function of the partitions will be further discussed below iri
40 describing reading operations. -5-
£. The data to be stored on the disk together with the directories for that information begin on the first available sector in a partition. Each entry of file data and directory information from time to time is referred to as a transaction. The writing and
X0 reading of various transactions is described below, and may be understood with reference to the schematic diagrams of FIG. 2 and FIG. 3.
The information directory system is based on the information directory tree structure shown in
12 FIG. 2. That figure shows a directory arrangement containing a root */" with directories A through D under that root. Under directory A are directories G through J. Of course, directories B, C and D could also have directories under them. Similarly, each
ZQ- directory under another directory, such as directories G through J under directory A, could in turn have directories under it and so on. Directory A is identified as - / " which means directory A immediately under root. Directory G is identified as "/ /Q," which 5 means directory G, under directory A, under root.
Other directories are identified in the same manner.
Each directory may also have data files listed under it, indicated as 20 through 33 in FIG. 2. Each file has a name, and its location in the directory tree
2α is ascertainable by the prefix to the file name. For example, the files identified as 20, 21 and 22 in FIG. 2 could have names a, b and c, respectively. The names together with the appropriate prefix would be /A/a, /A/b and /A/c. Similarly, the two files under
35 directory /3, identified as 23 and 24 in FIG. 2 could also be named a and b, but would be distinguished by their names together with their prefix, which would be /B/a and /B/b. As yet another example, the two files under directory /A/J, identified as 32 and 33 in
40 FIG. 2, could be identified as /A/J/a and /A/J/b. ,- This information directory tree structure permits the creation of any number of files and directories under root. The list of the files under root, together with the list of directories under root, is the root directory. In the same manner, each
jj subdirectory may have an indefinite number of files and " lower directories under it. The list of those files together with the list of lower directories immediately under that directory constitute the table of contents for the directory. j-e^ It is important to recognize that after the disk has been used and added to repeatedly, the root directory and other directories are not normally written in a single place, since they are created and altered at various times. Instead, the root directory
22 and other directories are collections of information scattered throughout the disk, which cumulatively constitute the table of contents for root and each., directory.
The root directory is assigned an "item
25 number" of one and each directory and file is assigned a separate item number in numerical sequence as it is . created. Referring to the example of FIG. 2, assuming all the directories and files shown were created at the outset, the root directory would be item number one,
2Q directories /A through /D would be item numbers two through five, directories /A/G through /A/J would be item numbers six through nine, and the files shown as 20 through 33 would be item numbers 10 through 22, respectively. The item number system permits a short-
25 hand reference throughout the disk to the directory or file to which each item number is assigned.
The first transaction after the partition information is a root summary which identifies each file under root and each directory under root in
40 ; existence at the time the root summary is written.
After the root summary, the disk contains transactions of file data and directory information arranged as shown in FIG. 3. The file data 42 are the blocks of information actually being stored. The directory information 39A describes the relationship of the various directories to the information directory tree.
The transaction also contains an End-of- Transaction ("EOT") record 35. The EOT record includes a bad sector map 34 and an entry list 36, the locations and number of entries of which are specified by a section of fixed length variables 38 at the end of the EOT record. The bad sector map identifies the location of each sector within the transaction containing physical defects that prevent accurate writing and reading. Those bad sectors are not used. FIG. 4 shows a diagram of sectors containing several bad sectors, together with a bad sector map array 40 for the sectors identified in the diagram. The first "4" in the bad sector map array indicates that the fourth sector is a bad sector. The "3" in the bad sector map array indicates that the next bad sector is the third next sector. Similarly, the "1" indicates that the next bad sector is the very next sector, and the last "4" indicates that the next bad sector is the fourth next one. If there is no bad sector for a predetermined number of sectors, then a "0" would appear in the bad sector map array.
Referring again to FIG. 3, the entry list 36 identifies each item number affected by the transaction. As the machine searches through EOT records for transactions affecting a particular item number, the machine can immediately go onto another EOT record without reading the remainder of the transaction if the sought-after item number is not in the entry list.
SUBSTIT ••ra 5 The entry list information 36 for each item number directs the machine either to the directory information 39A in the case of an item number assigned to a directory, or to the file data description 39 in the case of an item number assigned to a file. The j.Q directory information 39A indicates the relation of the file data 42 to the various files and directories on the disk or partition. For example, the directory information may.establish a new file for the information under a particular directory. γe- Alternatively, the directory information may alter an existing file or rearrange the system of directories. The file data description directs the machine to the file data itself for the sought-after item number and unbundles that file data.
2Q When the disk is being read, it is first necessary to determine whether the sought-after file is indeed on the disk. This requires first creating a table of contents in machine memory for the files and directories and files under root. The machine cannot
25 merely read the root summary written at the outset, since the directories and files under root may have been changed by transactions written subsequent to the writing of the root summary. Similarly, the machine cannot first read the root summary and then read each
30 additional transaction affecting the root directory, since the location of those additional transactions was not known when the root summary was written. The machine could read the root summary and then read consecutively every transaction on the disk in search
3 of changes to the root directory, but that would be very time consuming.
Instead, the machine proceeds as follows, referring to the flow chart of FIG. 5. The machine locates the last-written sector on the disk through a
40 procedure called a binary search. Under this procedure, the machine divides the disk into halves and reads the sector at the boundary between the halves. If that sector has been written on, it divides the last half into two quarters and reads the sector at the boundary between those two quarters. On the other hand, if the sector between the halves has not been written on, it divides the first half into two quarters and reads the sector at the boundary between those two quarters. This process continues, as the disk is further divided into eighths, sixteenths and so on, until the machine locates a written sector immediately adjacent to an unreserved, unwritten sector. This written sector is the last-written sector.
In the event the disk has been partitioned, the binary search operates on only the partition that is indicated as relevant in the disk partition information. For example, if the disk is divided into nine partitions and the partition information indicates that the sought after file is on partition six if it is anywhere on the disk, then the machine divides partition six into halves, quarters and so on to locate the last written partition six sector.
When the machine locates the last-written sector on the disk, or on a partition in the case of a partitioned disk, it reads the EOT record to determine whether the transaction ending on that sector affects item number one, which the machine associates with the root directory. Reading the EOT record is accomplished by reading consecutively the fixed length variable portion 38, the bad sector map 34 and the entry list 36 shown in FIG. 4. If the entry list 36 indicates that the transaction does not affect item number one, then the machine moves to the next-to-last transaction and reads the EOT record for that transaction. Each 5 transaction EOT record is read in reverse chronological order until an EOT record is read indicating it affects the root directory, item number one. When an EOT record is read affecting item number one, the directory information in that transaction is also read and stored
T(T in machine memory. That directory information also back-points to the previous EOT record that affected item number one by directing the machine to the address for that previous EOT record.
The machine goes through the same procedure in
£5 the transaction to which it was back-pointed by the last transaction affecting item number one; that is, the machine reads the EOT record and reads the transaction directory information. The directory information of that transaction, in turn, back-points
2Q it to the previous transaction affecting item number one, and so on until a root summary is reached. Because the machine reads only those EOT records that affect item number one through this back-pointing process, rather than reading every EOT record, the
2 back-pointing process is a great time saver.
When a root summary is reached, a list of all files and a list of all directories immediately under root together with their assigned item numbers have been entered into machine memory. This constitutes the
20 root directory. With reference to FIG. 2, the machine now has in memory a list of directories /A through /D. If the sought-after file does not have a prefix of any of directories /A through /D, then it is not on the disk.
25 If the sought-after file does have a prefix of one of the directories under root, which would be any one of /A through /D in the example of FIG. 2, the machine can then establish the list of files and directories under that directory. As in the case of
40 c the root directory, this is done by moving again to the EOT record for the last-written transaction and searching in reverse chronological order for the last transaction affecting the item number assigned to that directory, then following back-pointers to each
Q previous transaction affecting that item number. For example, with reference to FIG. 2, the list of files and directories under directory /A would be established by searching EOT records for transactions affecting item number two. The machine has a complete list of
--^ files and directories under that directory when the directory summary for directory /A is reached. If the sought-after file is several tiers down in the directory arrangement, then this process of searching through EOT records and back-pointers must be repeated D ' several times before reaching that lower tier file.
Upon establishing the list of files and directories under any given directory, it may be apparent that the sought-after file is not on the disk. For example, if the sought-after file is /A/P/a, then 5 the file is not in the arrangement depicted in FIG. 2. It will be apparent that file /A/P/a is not in the FIG. 2 arrangement upon establishing the list of files and directories under directory /A. That list would include only files /A/a, /A/b and /A/c and directories o /A/G, /A/H, /A/I and /A/J. Thus, prefix /A/P as required for file /A/P/a will be missing. The machine - will stop further searching at that point, and will indicate that the file is not on the disk.
If it is not apparent that the file is not on 5 the disk, the machine will continue down through the directory and file tree arrangement. Upon reaching the file, the machine must establish a table of contents for the file. This is done in much the same manner as establishing the list of files and directories for each 0 5 directory above the file in the information directory tree. The machine moves to the last-written transaction and searches the EOT records of transactions in reverse chronological order for the last transaction affecting the item number assigned to
j- that file, and then follows backpointers to each previous EOT record affecting that item number. As each EOT record for transactions affecting .that item number is read, the machine also reads the portion of the file data description pertaining to that item number. In this manner, the machine gradually establishes a complete table of contents in machine memory for the file by the time the point at which the file was created is reached.
The discussion above supposes that the
2Q repeated search through a disk or partition to create a directory or file table of contents ends each time on the first summary transaction in the case of a directory, or the transaction that created the file in the case of a file. That is not true unless the
25 directory or file was created at the outset with the root summary. Actually, it is common for files and directories to be created or destroyed later. If a file or directory is created later, then the last search through the disk or partition to complete the Q directory or file table of contents will end on the transaction that created the file or directory rather than at the root summary since nothing preceding that transaction will affect the table of contents.
If a large number of changes have been made to 5 a directory, then the process of searching through many transactions with the back-pointing procedure to establish a directory can be quite time consuming. To reduce that time, the machine may periodically consolidate a directory into an updated directory
40 summary and write the directory summary onto the next available sectors. In that event, the machine begins a search in the same manner as if there is no updated directory summary, by starting at the EOT record for the last written transaction and searching backward for a transaction affecting the sought-after item number and then following backpointers to previous transactions affecting that item number. But when the machine reaches an updated directory summary, no further searching is required to establish the file directory. The machine is thereby allowed to skip all directory information prior to the updated directory summary. Of course, a separate search will still be required to establish the directory or file table of contents for each directory and file under that directory.
The same procedure is applicable to the root directory and to file tables of contents. If many changes have been made affecting the root directory or the file, the machine may consolidate those changes into an updated root summary or file summary. The machine can then establish the root directory or file table of contents by following backpointers to the updated root summary or file summary and no further. The file system contains several important features to reduce the time-consuming search through each EOT record before the last transaction is reached affecting the sought-after file. One feature is a consolidated item list periodically written onto the disk. The consolidated item list is a list of the last, for example, 100 items that were affected by transactions since the previous consolidated item list written onto the disk, and the location of each such transaction. This enables the machine to avoid reading every EOT record until it encounters an EOT record 5 affecting the sought-after item number. Instead it reads every EOT record until it either encounters an EOT record affecting the sought-after item number or encounters a consolidated item list. The consolidated item list will direct it immediately to the last EOT Φ record affecting the sought-after file.
Alternatively, if the sought-after file is not on the item list, because it is not one of the last 100 items that were affected by transactions since the last consolidated item list, then the consolidated item list
X5 will direct the machine back to the preceding consolidated item list. The machine will then search that consolidated item list, which will direct the machine to the last EOT record affecting the sought- after item number or, if that item number is not on
2(j that consolidated item list, then will direct the machine to the preceding consolidated item list and so on. By this process the machine, in the worst case, will read EOT's until encountering a consolidated item list and then jump backward through consolidated item
25 lists.
The machine may also periodically write onto the disk a full item list naming the address of the last transaction affecting each item number ever used on the disk. The full item list ensures that the 0 machine will never need to go further than the point at which the full item list is written in order to ascertain the location of the last-written transaction affecting any particular item number. The full item list consumes significant storage space, but may be
35 worthwhile on a disk with many file and directory changes. Because the full item list contains the addresses of all the item numbers, some storage space can be saved by omitting the item numbers from the full
40 - ¬
s¬ item list and instead simply listing the addresses in sequence corresponding to the numerical sequence of item numbers.
Another time-saving feature is a cache structure established in machine memory. The cache ue structure stores the location of the last-written EOT record for a limited number of item numbers. The item numbers chosen for the cache structure are generally those that were written most recently or read most recently, on the theory that those are the item numbers
I5Ϊ most likely to be sought-after next. If the item number is found in the cache structure, then the machine can go immediately to the last-written EOT record for that item number.
The cache structure may also contain a list
20 identifying the item number of a limited set of file names. As in the case of item numbers, if a file name is found in the cache structure, then the machine can go directly to the appropriate EOT record without the necessity of establishing a table of contents for root 5 and each directory above that file to determine the item number of the file.
0:
5
0

Claims

_ CLAIMSWhat is claimed is:
1. A data processing method, using a recording and reading machine, comprising: recording onto a medium a transaction rα: containing information; recording onto the medium a subsequent transaction containing subsequent information, related to information in a transaction previously recorded onto the medium; and
15; recording onto the medium in said subsequent transaction a back-pointer to the transaction of said previously recorded information.
2. The method of claim 1, further zrr comprising: establishing an information directory tree of at least one directory and at least one file, every directory and file being under a parent directory until reaching a root directory; recording onto the medium at the time
25 each file and directory is created a summary of the current contents of such file and directory; assigning each directory and file an item number; - recording in each transaction as an entry list, the item number of each directory and file affected by such transaction; in the case of a transaction affecting a file, recording in said transaction a file data jc. description describing said file effect; and in the case of a transaction affecting a directory, recording in said transaction a set of directory information describing said directory effect.
- 40
SUBSTITUTE SHEET
5 3. The method of claim 2, wherein the machine establishes a list of files and directories under a parent directory by: reading the entry list of each transaction recorded onto the medium, beginning with X the last-written transaction and continuing in reverse order, until reading the item number assigned to the parent directory; reading and storing in machine memory the directory information pertaining to that item number £5 for the transaction containing said item number, and following a back-pointer in said transaction to the previous transaction affecting that item number; and continuing to read and store in machine memory the directory information pertaining to that 2fli item number for each transaction to which a back¬ pointer leads, and following another back-pointer in said transaction to a previous transaction affecting the item number assigned to that directory until reaching a directory summary. 5 4. The method of claim 3, further comprising, in the case that said parent directory has other parent directories above it in the information directory tree, performing the steps of claim 3 for each directory above said parent directory until a, reaching said parent directory, and then performing said steps for said parent directory.
5. The method of claim 2, wherein the machine establishes a table of contents for a file by: reading the entry list of each 5 transaction recorded onto the medium, beginning with the last-written transaction and continuing in reverse order, until reading the item number assigned to said file;
0 5 reading and storing in machine memory the file data description pertaining to that item number for the transaction containing said item number, and following a back-pointer in said transaction to the previous transaction affecting that item number; and
33£ continuing to read and store in machine memory the ile data description pertaining to that item number for each transaction to which a back¬ pointer leads, and following another backpointer to a previous transaction affecting that item number until
£5 reaching a file summary.
6. The method of any of claims 3, 4 or 5, further comprising recording a consolidated item list of the item numbers that were affected by transactions recorded after a predetermined number of transactions Q are recorded and wherein the machine reads the entry list of each transaction recorded onto the medium in reverse order, only until either (i) reading an entry list containing said item number whereupon the machine follows back-pointers to the previous transaction 5 affecting said item number, or (ii) reading a consolidated item list whereupon the machine is directed to the last-written transaction affecting said item number if said item number is on the consolidated item list or the machine is directed to and reads the
3d preceding consolidated item list in the same manner if said item number is not on the consolidated item list.
7. The method of any of claims 3, 4 or 5 wherein each of said summaries is recorded onto the medium after a predetermined amount of changes have
25 been made to such summary, so that the machine can avoid reading directory information and file data descriptions beyond such predetermined amount.
8. The method of any of claims 3, 4 or 5 further comprising: σ
SUBSTITUTE SHEET storing in a cache structure in machine 5a memory the item numbers of a predetermined number of the item numbers last affected by transactions recorded onto the medium and a back-pointer showing the location of the last transaction affecting each such item number;
HE prior to reading any transactions in search of said item number, reading the cache structure in search of said item number; and if said item number is in the cache structure, then following said back-pointer directly to
IS the last transaction affecting said item number.
9. A data storage medium device comprising: a transaction containing information; a subsequent transaction containing zm subsequent information, related to information in a transaction previously contained on the medium; and a back-pointer in said subsequent transaction to said transaction previously contained on the medium.
10. The device of claim 9, wherein said
25, information and previously contained information is organized in a directory information tree of at least one directory and at least one file, every directory and file being under a parent directory until reaching
302 a root directory, further comprising: a summary of the current contents of each file and directory, recorded onto the medium at the time each such file and directory is created; separate item numbers assigned to each ■yg file and directory; an entry list recorded in each transaction, containing the item numbers of each directory and file affected by such transaction;
m- in the case of a transaction affecting a directory, a set of directory information in such transaction describing said effect; and in the case of a transaction affecting a file, a file data description in such transaction describing said effect.
11. The device of claim 10, further comprising means to establish a list of files and directories under a parent directory.
12. The device of claim 11, wherein such means to establish a list of files and directories under a parent directory, includes means for: reading the entry list of each transaction recorded onto the medium, beginning with the last-written transaction and continuing in reverse order, until reading the item number assigned to the parent directory; reading and storing in machine memory the directory information pertaining to that item number for the transaction containing said item number, and following a back-pointer in said transaction to the previous transaction affecting that item number; and continuing to read and store in machine memory the directory information pertaining to that item number for each transaction to which a back- : pointer leads, and following another backpointer to a previous transaction affecting the item number assigned to that directory until reaching a directory summary.
13. The device of claim 12, further comprising, in the case that said parent directory has other parent directories above it in the directory information tree, means for repeating the steps of claim 12 for said other parent directories above said parent directory until reaching said parent directory, and then performing said steps for said parent directory.
14. The device of claim 12 further comprising
5 a consolidated item list of the item numbers that were affected by transactions recorded after a predetermined number of transactions are recorded, so that the machine reads the entry list of each transaction, recorded onto the medium in reverse order, only until 0 either (i) reading an entry list containing said item number whereupon the machine follows back-pointers to the previous transaction affecting said item number, or (ii) reading a consolidated item list whereupon the machine is directed to the last-written transaction 5 affecting said item number if said item number is on the; consolidated item list or the machine is directed to and reads the preceding consolidated item list in th same manner if the item number is not on the 0 consolidated item list.
15. The device of claim 12, further compromising an updated directory summary recorded onto the medium after a predetermined amount of changes have been made, so that the machine can avoid reading 5 information beyond such predetermined amount.
16. The device of claim 12, further comprising a cache structure in machine memory containing the item numbers of a predetermined number of the item numbers last affected by transactions π recorded onto the medium and a back-pointer showing the location of the last transaction affecting each such item number so that prior to reading any transactions in search of said item number, the machine can read the cache structure in search of said item number and if 5 such item number is in the cache structure, then follow said back-pointer directly to the last transaction affecting said item number.
0
PCT/US1988/002801 1987-08-17 1988-08-16 System for accessing information stored as a link-list with back-pointers on an optical disk by using the back-pointers to generate a directory WO1989001663A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8641787A 1987-08-17 1987-08-17
US086,417 1987-08-17

Publications (1)

Publication Number Publication Date
WO1989001663A1 true WO1989001663A1 (en) 1989-02-23

Family

ID=22198442

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1988/002801 WO1989001663A1 (en) 1987-08-17 1988-08-16 System for accessing information stored as a link-list with back-pointers on an optical disk by using the back-pointers to generate a directory

Country Status (2)

Country Link
AU (1) AU2388588A (en)
WO (1) WO1989001663A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043967A (en) * 1990-08-20 1991-08-27 International Business Machines Corporation Structured data storage method and medium
EP0487331A2 (en) * 1990-11-21 1992-05-27 Canon Kabushiki Kaisha Directory management system
US5247660A (en) * 1989-07-13 1993-09-21 Filetek, Inc. Method of virtual memory storage allocation with dynamic adjustment
US5537652A (en) * 1990-08-20 1996-07-16 International Business Machines Corporation Data file directory system and method for writing data file directory information
US7573795B2 (en) 2004-02-06 2009-08-11 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4086628A (en) * 1971-11-10 1978-04-25 International Business Machines Corporation Directory generation system having efficiency increase with sorted input
US4748320A (en) * 1985-10-29 1988-05-31 Toppan Printing Co., Ltd. IC card

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4086628A (en) * 1971-11-10 1978-04-25 International Business Machines Corporation Directory generation system having efficiency increase with sorted input
US4748320A (en) * 1985-10-29 1988-05-31 Toppan Printing Co., Ltd. IC card

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247660A (en) * 1989-07-13 1993-09-21 Filetek, Inc. Method of virtual memory storage allocation with dynamic adjustment
US5043967A (en) * 1990-08-20 1991-08-27 International Business Machines Corporation Structured data storage method and medium
US5537652A (en) * 1990-08-20 1996-07-16 International Business Machines Corporation Data file directory system and method for writing data file directory information
EP0487331A2 (en) * 1990-11-21 1992-05-27 Canon Kabushiki Kaisha Directory management system
EP0487331A3 (en) * 1990-11-21 1993-01-13 Canon Kabushiki Kaisha Directory management system
US5740445A (en) * 1990-11-21 1998-04-14 Canon Kabushiki Kaisha Information processing apparatus for generating directory information to manage a file using directories
US7573795B2 (en) 2004-02-06 2009-08-11 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor
US8098553B2 (en) 2004-02-06 2012-01-17 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor
US8121005B2 (en) 2004-02-06 2012-02-21 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor
US8159915B2 (en) 2004-02-06 2012-04-17 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor
US8509043B2 (en) 2004-02-06 2013-08-13 Samsung Electronics Co., Ltd. Method of and apparatus for recording data on write-once disc, method of and apparatus for reproducing data from write-once disc, and write-once disc therefor

Also Published As

Publication number Publication date
AU2388588A (en) 1989-03-09

Similar Documents

Publication Publication Date Title
US4827462A (en) Modular data storage directories for large-capacity data storage units
US5119291A (en) Modular data storage directories for large-capacity data storage units wherein the index to the records in a sector is located in the next adjacent sector
EP0165382B1 (en) Data processing system including a data storage unit and its method of operation
KR950014668B1 (en) Structured data storage method and medium
JP2888958B2 (en) File management method for partially rewritable storage media
US4791623A (en) File management system for use in an optical data storage system
US4953122A (en) Pseudo-erasable and rewritable write-once optical disk memory system
US5764880A (en) Method and system for rebuilding log-structured arrays
CN1957414B (en) Data recording/reproduction for write-once discs
JPS6148182B2 (en)
CN101137981A (en) Methods and apparatus for managing the storage of content in a file system
JPS5942897B2 (en) Text data content transfer device
JPH0786844B2 (en) Formatting a write-once optical storage medium
JPH02214924A (en) Information recording and reproducing system device therefor
US5280468A (en) Optical recording medium
WO1989001663A1 (en) System for accessing information stored as a link-list with back-pointers on an optical disk by using the back-pointers to generate a directory
CA1316600C (en) Optical recording medium recording and reproducing device
JPH03217972A (en) File retrieving device
JP2612589B2 (en) Directory search method
JPH01236488A (en) Rewritable type optical disk control system
JPH0254327A (en) Control system for disk data
JPH0289259A (en) Alternating area controlling system for optical disk device
WO2005004149A1 (en) Device and storage medium for, and method of storing of data sharable by different file systems
JPH04182981A (en) Optical recording medium
JPS6175938A (en) Data control system of optical disk

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE