Data Structure For Control Information On Data Storage Media
A data storage medium includes a data structure, called a disk control block, used for administration and control information for the data storage medium. One medium may contain multiple different disk control blocks, each addressing a different function. Each disk control block includes a control block identifier that specifies the function of the disk control block. Each control block also includes a set of standard access control parameters. If a drive encounters an unrecognized disk control block, the drive can still decode the standard control parameters, so that the drive behavior is not inconsistent with the requirements of the unrecognized disk control block.
This application is a divisional application of Ser. No. 11/049,333 filed Feb. 1, 2005. Application Ser. No. 11/049,333 is hereby incorporated herein by reference. Application Ser. No. 11/049,333 is a divisional application of Ser. No. 09/921,024 filed on Aug. 2, 2001. Application Ser. No. 09/921,024 is hereby incorporated herein by reference. Application Ser. No. 09/921,024 is a divisional application of Ser. No. 09/301,880 filed on Apr. 29, 1999 now issued as U.S. Pat. No. 6,330,210. Application Ser. No. 09/301,880 is hereby incorporated herein by reference.
FIELD OF INVENTIONThis invention relates generally to data storage media and more specifically to data structures used for various identification and control attributes for a rewriteable medium.
BACKGROUND OF THE INVENTIONA data storage medium typically includes an area for storage of various administration and control information, such as an identification of the medium, perhaps information regarding how the medium is partitioned into various separate sections, a directory or table of file names and dates, and perhaps information regarding access control. Administration and control information may reside in a particular physical location on a medium separate from a general data storage area. For example, compact discs (CD) used for data storage have a single spiral track, with an area near the start of the track called a lead-in area, and an area near the end of the track called a lead-out area. The information in the lead-in area and the lead-out area contains administration and control information used only by drives and operating systems, and is separate from the area used for data storage.
Sometimes, a data storage medium has a format that is specific to a proprietary drive mechanism, or specific to one computer operating system. Alternatively, some formats are defined by standards, so that a medium can be exchanged among drives from multiple manufacturers and may be used by multiple computer operating systems. Standards are useful in eliminating unnecessary variation, but standards may also inhibit change, even when change is needed. For example, CD's were originally developed for read-only digital audio. As the CD technology was extended to general data, and write-once media, and rewriteable media, accommodation of new features with backwards compatibility was always an issue. There is a need for a standard way of recording administration and control information, for interchangeable rewriteable media, that can accommodate unforseen needs for changes in the future.
SUMMARY OF THE INVENTIONOne goal of the invention is to provide a standard, but very general and flexible, data structure for recording administration and control information for a rewriteable storage medium, particularly when drives and media may be provided by many different manufacturers. Accordingly, a data structure, called a Disk Control Block (DCB), is defined. One medium may contain multiple different DCB's, each addressing a different function. Several examples of DCB's are provided. One example is called a General Media (GM) DCB. The GM DCB contains information such as a counter that counts how many times the medium has been loaded, control information for formatting of the medium by the drive, and power calibration information. Another example DCB is called an Access Control (AC) DCB. An AC DCB may be used to partition a disk into multiple sections, and for each section the DCB defines an access attribute such as write-once, or read only with password, or other similar access control. Another example is a DCB for updating firmware.
Another goal of the invention is to provide a data structure such that if a drive encounters an unrecognized DCB, the drive can still decode an essential set of standard control parameters in the unrecognized DCB, so that the drive behavior is not inconsistent with the requirements of the unrecognized DCB. Each DCB includes a control block identifier that specifies the function of the DCB. Each DCB also includes an area called Unknown Content Descriptor Actions (UCDA), which specifies certain actions a drive must take if the drive does not recognize the identifier for the DCB.
An additional goal of the invention is to ensure the reliability of DCB's even if the disk is defective, or even if power is interrupted during writing of a DCB. In an example embodiment, redundant DCB's are provided, and each DCB has a sequence number. Identical identifiers with identical sequence numbers indicate identical (deliberately redundant) DCB's. If one copy is invalid, the invalid copy is replaced by the valid copy. Identical identifiers with different sequence numbers indicate that writing of a DCB was interrupted, and the DCB having the oldest (lowest) sequence number, for the particular identifier, is used.
BRIEF DESCRIPTION OF THE DRAWINGS
In the following discussion, a proposed standard for optical disk media is used to illustrate a specific example embodiment of the invention. However, the invention is equally applicable to any interchangeable rewriteable data storage medium. For example, the invention is equally applicable to tapes, removable magnetic disks or cards, or removable semiconductor memory.
The proposed standard specifies a rewriteable interchangeable optical disk. A data structure called a Disk Control Block (DCB) is defined. There may be many types of DCB's; some may be defined by the proposed standard, and others may be defined by individual manufacturers. One type of DCB, called a General Media (GM) DCB is defined by the proposed standard. The proposed standard specifies that every compatible medium must write one GM-DCB. All other types of DCB's are optional, and are in addition to the GM-DCB.
The proposed optical disk medium is formatted into sectors, and sectors are logically grouped into blocks. In the proposed standard, each sector is 2 Kbytes (2,048 bytes) and each block is 16 sectors. A block is the smallest unit of data that can be written. Error correction is performed on a block by block basis. In the proposed standard, a DCB is one block. In the specific example embodiment, DCB's reside within the lead-in and lead-out areas of an optical disk.
One important feature of a DCB is the second header entry, Unknown Content Descriptor Actions (UCDA) 204. The UCDA is used to ensure that even if a drive does not recognize a DCB ID, the drive does not permit disk access actions that are inconsistent with the access control requirements of the unknown DCB. This provides some backwards compatibility, a capability that is lacking in many current proposed standards. The UCDA will be discussed in more detail below. The third and final entry in DCB header is a vendor ID (206).
Some present optical disk technologies require that the laser writing power be calibrated before writing can occur. In general, the power required is a function of the specific medium and the particular electronic components in the drive. In general, power calibration is time consuming. Another proposed variable (not illustrated) in the GM DCB is at least one entry for a drive identification and a number designating the laser power resulting when the laser power was calibrated using the specific medium in the identified drive. A drive recognizing its own ID in the GM-DCB can then simply read the required laser power without having to recalibrate.
Operating systems may control whether or not a file can be read or written by a user. Some files may be password protected by the operating system. Alternatively, write protect for an entire medium may be controlled mechanically. For example, a sliding tab on a flexible disk cartridge, or a ring inserted into a tape reel may be used to prevent writing to a medium. In general, if an interchangeable medium is placed into a computer system using an incompatible operating system, access control specified by the operating system may be bypassed. For example, if one operating system write protects a file, a different operating system may permit the file to be overwritten. Moving control of access into the drive provides some additional protection. Access control within a drive is not new. For example, U.S. Pat. No. 5,233,576 (Curtis et al.) describes an optical disk medium in which the medium can be partitioned into different portions, and each portion can be defined as writable, or read-only. One attractive feature of Curtis et al. is that the method of write protection works even for legacy drives that were manufactured before the new access control method was available. One example DCB for use by the present invention takes this general concept even further. One example optional DCB is an Access Control (AC) DCB. An access control DCB divides the disk into regions, by specifying starting and ending logical block address or by specifying starting block address and number of blocks. Each region, as seen by the operating system, may represent a file, a directory, the entire disk, or any other logical storage construct. Each region has an associated access control specification, where the access control specifications include the following, as examples:
No restrictions
No read
No write
No format
Write-once
Read with password
Write with password
Format with password
Appendable with password
The above list is just a list of examples, and other access controls may be desirable. For example, one issue is whether a control attribute specifying a write-once region can ever be reversed. The proposed standard specifies that controls can be changed, so there are controls on controls. For example, an access control, within a AC DCB, may itself be password protected.
Now return to the UCDA (
Another proposed DCB type is a firmware update DCB. Typically, drive firmware is updated by connecting a drive to a computer and having the computer send a new version of firmware. Often, it is more convenient if a firmware update can occur without involvement by a host computer. It is known for a drive to recognize a special medium having a new version of firmware for the drive. The drive replaces its existing firmware with the new firmware read from the special medium. A DCB may be defined that identifies a medium as a firmware update medium, and contains information describing the firmware update, version information, back version compatibiity, and so forth.
Since DCB's are so critical to the proposed standard, it is important to provide some protection against a loss-of-power during writing of a DCB, or protection against some other corruption of a DCB. As stated above, one redundant DCB is written for each DCB. The first word of each DCB-specific data area is a sequence number (
From the above, it can be seen that DCB's provide a flexible and standard way of providing administration and control information for a data storage medium, particularly when drives and media may be provided my many different manufacturers. In addition, the use of UCDA's provides a standard way of ensuring that a drive does not perform an access that is inconsistent with a DCB, even if the DCB is not recognized. Finally, redundancy and sequence numbers provide some protection against corrupted DCB's.
The foregoing description of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. The embodiment was chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art.
Claims
1. A drive used in conjunction with a data storage medium, the data storage medium containing control information, the drive comprising:
- a reading mechanism implemented to read a control data structure on the data storage medium, the control data structure including an identification, first control bits, and second control bits;
- a first portion of drive firmware, the first portion implemented to extract the identification from the control data structure; and
- a second portion of drive firmware, the second portion implemented to determine whether the identification is recognized;
- and wherein the drive is configured to use the first control bits when the identification is recognized and to use the second control bits when the identification is not recognized.
2. A drive used in conjunction with a data storage medium, the data storage medium containing control information, the drive comprising:
- a reading mechanism implemented to read a control data structure on the data storage medium, the control data structure including an identification, first control bits, and second control bits;
- a first portion of drive firmware, the first portion implemented to extract the identification from the control data structure; and
- a second portion of drive firmware, the second portion implemented to determine whether the identification is recognized;
- and wherein the drive is configured to use the first control bits when the identification is recognized.
3. A drive used in conjunction with a data storage medium, the data storage medium containing control information, the drive comprising:
- a reading mechanism implemented to read a control data structure on the data storage medium, the control data structure including an identification, first control bits, and second control bits;
- a first portion of drive firmware, the first portion implemented to extract the identification from the control data structure; and
- a second portion of drive firmware, the second portion implemented to determine whether the identification is recognized;
- and wherein the drive is configured to use the second control bits when the identification is not recognized.
4. A drive used in conjunction with a data storage medium, the data storage medium containing control information, the drive comprising:
- a reading mechanism implemented to read control data from the data storage medium, the control data including identification and at least one access control specification;
- a first portion of drive firmware, the first portion implemented to extract the identification from the control data; and
- a second portion of drive firmware, the second portion implemented to determine whether the identification is recognized;
- and wherein the drive is configured to use the at least one access control specification when the identification is recognized, and when the identification is not recognized the drive is configured to ensure that the drive does not perform an access that is inconsistent with the at least one access control specification.
5. A drive used in conjunction with a data storage medium, the data storage medium containing control information, the drive comprising:
- a reading mechanism implemented to read control data from the data storage medium, the control data including identification and at least one access control specification;
- a first portion of drive firmware, the first portion implemented to extract the identification from the control data; and
- a second portion of drive firmware, the second portion implemented to determine whether the identification is recognized;
- and wherein the drive is configured to use the at least one access control specification when the identification is recognized.
6. A drive used in conjunction with a data storage medium, the data storage medium containing control information, the drive comprising:
- a reading mechanism implemented to read control data from the data storage medium, the control data including identification and at least one access control specification;
- a first portion of drive firmware, the first portion implemented to extract the identification from the control data; and
- a second portion of drive firmware, the second portion implemented to determine whether the identification is recognized;
- and wherein the drive is configured to ensure that the drive does not perform an access that is inconsistent with the at least one access control specification when the identification is not recognized.
7. A drive used in conjunction with a data storage medium, the data storage medium containing control information, the drive comprising:
- a reading mechanism implemented to read control data from the data storage medium, the control data including identification;
- a first portion of drive firmware, the first portion implemented to extract the identification from the control data; and
- a second portion of drive firmware, the second portion implemented to determine whether the identification is recognized;
- and wherein the drive is configured to use a first access control specification when the identification is recognized, and to use a second access control specification when the identification is not recognized.
8. The drive of claim 7, wherein at least one of the first and second access control specifications is comprised in the control data read from the data storage medium.
9. The drive of claim 7, wherein the first and second access control specifications are the same.
10. A drive used in conjunction with a writeable data storage medium, the drive comprising:
- a writing mechanism implemented to write a control data structure on the writeable data storage medium, the control data structure including an identification, first control bits, and second control bits;
- a first portion of drive firmware, the first portion implemented to create the identification for the control data structure; and
- a second portion of drive firmware, the second portion implemented to create the first and second control bits;
- and wherein the first control bits are to be used by a drive that recognizes the identification, and the second control bits are to be used by a drive that does not recognize the identification.
11. A drive used in conjunction with a writeable data storage medium, the drive comprising:
- a writing mechanism implemented to write a control data structure on the writeable data storage medium, the control data structure including an identification, first control bits, and second control bits;
- a first portion of drive firmware, the first portion implemented to create the identification for the control data structure; and
- a second portion of drive firmware, the second portion implemented to create the first and second control bits;
- and wherein the first control bits are to be used by a drive that recognizes the identification.
12. A drive used in conjunction with a writeable data storage medium, the drive comprising:
- a writing mechanism implemented to write a control data structure on the writeable data storage medium, the control data structure including an identification, first control bits, and second control bits;
- a first portion of drive firmware, the first portion implemented to create the identification for the control data structure; and
- a second portion of drive firmware, the second portion implemented to create the first and second control bits;
- and wherein the second control bits are to be used by a drive that does not recognize the identification.
13. A data storage medium, comprising:
- a control data structure on the data storage medium, the control data structure including an identification, first control bits, and second control bits;
- wherein the identification is configured to be extracted by a drive reading the data storage medium;
- wherein the first control bits are configured to be used by the drive when the identification is recognized; and
- wherein the second control bits are configured to be used by the drive when the identification is not recognized.
14. A data storage medium, comprising:
- a control data structure;
- an identification included within the control data structure;
- first control bits included within the control data structure; and
- second control bits included within the control data structure.
15. The data storage medium of claim 14, wherein the identification is configured to be extracted by a drive reading the data storage medium.
16. The data storage medium of claim 14 or 15, wherein the first control bits are configured to be used by the drive when the identification is recognized.
17. The data storage medium of claim 14, 15, or 16, wherein the second control bits are configured to be used by the drive when the identification is not recognized.
18. A data storage medium, comprising:
- a control data structure;
- an identification;
- first control bits; and
- second control bits.
19. The data storage medium of claim 18, wherein the identification is included in the control data structure.
20. The data storage medium of claim 18 or 19, wherein the first control bits are included in the control data structure.
21. The data storage medium of claim 18, 19, or 20, wherein the second control bits are included in the control data structure.
22. The data storage medium of claim 18, wherein the first control bits are used by a drive that recognizes the identification.
23. The data storage medium of claim 18, wherein the second control bits are used by a drive that does not recognize the identification
24. A writeable data storage medium, comprising an area configured to have written therein a control data structure, the control data structure including an identification, first control bits, and second control bits, and wherein the first control bits are to be used by a drive that recognizes the identification and the second control bits are to be used by a drive that does not recognize the identification.
25. A writeable data storage medium, comprising an area configured to have written therein a control data structure, the control data structure including an identification, first control bits, and second control bits, and wherein the first control bits are to be used by a drive that recognizes the identification.
26. A writeable data storage medium, comprising an area configured to have written therein a control data structure, the control data structure including an identification, first control bits, and second control bits, and wherein the second control bits are to be used by a drive that does not recognize the identification.
27. A method of writing to a writeable data storage medium, comprising:
- configuring a control data structure that includes an identification, first control bits, and second control bits; and
- writing the control data structure onto the writeable data storage medium;
- wherein the first control bits are to be used by a drive that recognizes the identification, and the second control bits are to be used by a drive that does not recognize the identification.
28. The method of claim 27, wherein the control data structure is written to a specific area of the data storage medium designated to receive the control data structure.
Type: Application
Filed: Nov 15, 2006
Publication Date: Jul 5, 2007
Inventors: Charles Weirauch (Loveland, CO), Joel Larner (Fort Collins, CO)
Application Number: 11/560,315
International Classification: G11B 11/00 (20060101); G06F 13/28 (20060101);