This invention relates to loading system data to a processor from a storage device.
Modern data storage devices require certain data, called “system information”, concerning the configuration and operation of the storage device. System information includes, for example, information concerning zone configuration and the frequency at which user data are stored in various zones, identification of data sectors that are defective, reassignment tables that associate virtual addresses to physical addresses on the storage medium, information concerning the configuration of servo regions between data sectors, etc. System information is used by the data storage device controller to control operation of the data storage device during its operation. Typically, system information is stored in data sectors, known as “system sectors”, reserved for this class of data. Due to its criticality, it is common to store several copies of system information in the system sectors. For example, in magnetic disc drives, it is common to store at least three copies of the drive information. The extra copies are stored to serve as back-up in case of corruption to data and defects growth.
At power on to the data storage device, the system information is read to the device controller to govern operation of the storage device. It is common to perform multiple retries of a single copy of the system information before attempting to read another copy. More particularly, the storage device firmware will trigger the retry scheme to attempt to read back system information from the single copy. If the copy contains uncorrectable data error, all retries in the scheme will be exhausted before the next copy of the system information is attempted to be read. Typically, attempted reading a given copy of the system information is retried a predetermined number of times, 100 or more retries being typical for a given copy of the system information. If reading of that copy is unsuccessful after the predetermined number of retries, the process moves on to the next copy of the system information to attempt to read the next copy. The process continues until either the system information is successfully read, or all copies of the system information cannot be read after attempting to read the data from each copy the predetermined number of retries. While three copies of system information is usually stored in the system sectors, five or more copies of particularly critical system information, such as sector defect lists and the like, might be stored.
These retries require considerable upload time, which is especially adverse where design constraints require the storage device to be ready in a specific period of time. In a worse case scenario, all but the last copy of the storage device information is corrupted, resulting in all retries in the retry scheme being attempted for all of the bad copies before the last good copy is uploaded.
Experiments conducted for measuring the time for uploading system data reveals that each uncorrectable copy of system information may take as much as four seconds to exhaust all the retries in the retry scheme. Consequently, if a system has three copies of system information stored in the area reserved for the system information, and if the first two copies of the system information are corrupted and unrecoverable, the time required to upload the system information will require an additional eight seconds. In most cases, particularly where specifications for the data storage device require a shorter time, the amount of time required for repeating the retries is unacceptable.
The present invention provides a solution to this and other problems, and offers other advantages over the prior art.
In one embodiment of the invention, minimal and maximal numbers are established defining two levels of retry attempts to read system information stored on a storage medium. Multiple copies of the system information are stored on the storage medium. Attempts are made to successively read the copies until either the system information is successfully read or the system information is not successfully read from any copy of the system information after the minimal number of attempts. If the system information is not successfully read, attempts are made to successively read the copies until either the system information is successfully read or the system information is not successfully read from any copy of the system information after the maximal number of attempts.
In preferred embodiments, if the system information is successfully read or if the system information is not successfully read in the maximal number of attempts, the process is ended.
In a second embodiment of the invention, the process is performed by a computer or processor operation under control of program code.
In a third embodiment of the invention, the system information concerns a disc drive storage device of claim 18, and the storage medium is a storage medium of the disc drive storage device. The storage medium includes a plurality of sectors and the multiple copies of the system information are stored in predetermined sectors, and the program code is in firmware in a device processor.
Other features and benefits that characterize embodiments of the present invention will be apparent upon reading the following detailed description and review of the associated drawings.
Voice coil motor 118 is operated by position signals from a processor included in circuit board 128, which in turn are based on error signals generated by heads 111 and position signals from a host computer (not shown). Read and write electronics are also included on circuit board 128 to supply signals to the host computer based on data read from disc pack 106 by the read portions of heads 111, and to supply write signals to the write portions of heads 111 to write data to the discs.
In the disc drive of
In accordance with the present invention, the amount of time required for start-up of the storage device is minimized by limiting the number of retries for reading each copy of the system information to a smaller number than is ordinarily attempted, and expanding the retry attempts to the full number only after limited retry attempts are made to all copies. Thus, after a predetermined limited number of unsuccessful retries at reading a given copy of the system information, the process moves on to the next copy of the system information, attempting to read that information a predetermined limited number of times. The process continues through all copies of the system information until either the information is successfully read, or all copies have been unsuccessfully read the limited number of times. At that point, the process reverts to the ordinary process, reading each copy of the system information the full compliment of retries.
At step 206, check if another copy of the system information is available. If it is, the process loops back to step 202 and attempts reads the next copy of the system information until either the system information has been successfully read, or the predetermined minimum number of retries is exhausted for that copy. The process continues to iterate through steps 202, 204 and 206 until the attempts have been made to read all copies of the system information the limited number of times established at step 200.
If, after step 206, all of the copies of the system information have been unsuccessfully read the predetermined minimum number of times, the process continues to step 208 where the first copy of the system information is attempted to be read the full number of retries, such as 100 or more times. If the system information is successfully read at step 210, the process ends at step 220. If not, then at step 212 the process loops back to read the next copy of system information. The process continues until all of the copies have been attempted to be read the full compliment of retries.
Table 1 identifies the advantages of the present invention showing the time necessary for loading each bad copy of the system information based on the full number of retries, which in this case is 100, requiring four seconds, versus a limited number of retries of 10 and 5 retries each, requiring 480 microseconds (ms) and 110 ms, respectively.
In preferred embodiments, the invention is carried out by a processor or computer operating under control of a readable program that contains program code to cause the computer or processor to perform the process shown in
Although the present invention has been described with reference to a magnetic disc drive, those skilled in the art will recognize that the present invention may be practiced with systems employing other technologies, such as optical disc drives, tape drives and re-writeable drives. The invention can also be practiced with integrated circuit memories, including RAMs, ROMs and programmable memories.
It is to be understood that even though numerous characteristics and advantages of various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in details, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, particular elements may vary depending on the particular application of the invention while maintaining substantially the same functionality without departing from the scope and spirit of the present invention.
Number | Name | Date | Kind |
---|---|---|---|
5371745 | Kiyonaga et al. | Dec 1994 | A |
5392267 | Mikamo | Feb 1995 | A |
5504726 | Semba | Apr 1996 | A |
5682272 | Taroda et al. | Oct 1997 | A |
5844920 | Zook et al. | Dec 1998 | A |
5872671 | Suzuki et al. | Feb 1999 | A |
6026068 | Obata et al. | Feb 2000 | A |
6122235 | Arai | Sep 2000 | A |
6233108 | Inoue | May 2001 | B1 |
6247152 | Russell | Jun 2001 | B1 |
6263454 | Gold et al. | Jul 2001 | B1 |
6289483 | Ohtaki | Sep 2001 | B1 |
6332204 | Russell | Dec 2001 | B1 |
6384999 | Schibilla | May 2002 | B1 |
6393580 | Harada | May 2002 | B1 |
6414926 | Sugiyama et al. | Jul 2002 | B1 |
6427215 | Rafanello et al. | Jul 2002 | B2 |
6545832 | Sugawara et al. | Apr 2003 | B1 |
6918054 | Hirata et al. | Jul 2005 | B2 |
6941488 | Ng et al. | Sep 2005 | B2 |
20010010085 | Rafanello et al. | Jul 2001 | A1 |
20020057510 | Hoskins et al. | May 2002 | A1 |
20020114243 | Ohta | Aug 2002 | A1 |
Number | Date | Country | |
---|---|---|---|
20040268034 A1 | Dec 2004 | US |