The present invention relates generally to disc drive data storage systems, and more particularly but not by limitation to an error correction mechanism for data sectors.
In a disc drive, data is stored on one or more discs. A disc is typically divided into a plurality of generally parallel disc tracks, which are arranged concentrically with one another and perpendicular to the disc radius. Each track is further broken down into a plurality of sectors, which further aid in locating information. Typically, the disc is a magnetic recording that uses single-state domains and magnetic transition domains to store bits corresponding to a “1” or “0” on the disc surface. Usually, a magnetic domain contains at least 100 thermally stable grains or magnetic particles.
The data is stored and retrieved by a transducer or “head” that is positioned over a desired track by an actuator arm. Typically, when a read operation is sent from a host (such as a computer) to the disc drive, a controller converts a logical block address (LBA) received from the host to a physical block address (PBA). Next, the physical track, head and sector information, which includes the number of sectors to be read from a destination track, are calculated based on the PBA. A seek operation is then performed and sectors falling on the same track are usually read within a disc revolution. Data read from the disc is transferred to a buffer random access memory (RAM) inside the disc drive before being sent to the host.
It is common to encounter disc read-errors when the disc drive is transferring data from the disc to the buffer RAM inside the disc drive. Error correction is typically performed on the disc read-errors to correct data that is sent to the host. However, ever increasing disc drive densities increase the number of errors encountered. Some errors occur momentarily due to system noise, thermal conditions or external vibrations. Small magnetic domains have a propensity to reverse their magnetic state due to these conditions. These and other errors may propagate into large errors (growth errors) under certain conditions that ultimately cause long correction times and unrecoverable errors.
In current systems, growth errors are prevented by correcting errors in a sector (known as an “error sector”) that has more errors than a threshold level. Threshold levels below the maximum correction capability are used to prevent growth errors. When an error sector is encountered during a read operation, the controller stops the read operation and applies a retry routine that re-reads the error sector into the buffer memory. Then, the error sector is corrected and written back to the disc during the retry routine. Stopping the read operation for each error sector encountered and performing a retry routine on the error sector results in extra revolutions for the read operation, which increases overhead. Alternatively, an entire data track can be written into the data buffer and written back to the disc to reduce disc revolutions in a retry routine. However, this dramatically increases the data buffer size and causes retry routines to be time consuming and expensive since every sector has to be read into the data buffer no matter whether the data sector has errors or not. Various embodiments of the present invention address these problems, and offer other advantages over the prior art.
The present invention relates to solving the above-mentioned problems in a disc drive storage system. In one embodiment, a method first determines a number of sectors to be read from a disc. The method also includes a step wherein data is read from all sectors of the number of sectors during a first disc revolution. As this data is read, errors sectors are identified that have a number of errors above a predetermined threshold. Next, data from the error sectors is corrected. During a second disc revolution, corrected data is written back to the error sectors. In a further embodiment, data is read from just the sectors failing the threshold check and corrected on-the-fly during an intermediate disc revolution.
The present invention also can be implemented in a disc drive storage system. The disc drive includes a controller for performing instructions executing the above-mentioned method.
These and various other features as well as advantages, which characterize various embodiments of the present invention, will be apparent upon reading of the following detailed description and review of the associated drawings.
Each disc surface has an associated slider 110, which is mounted in disc drive 100 and carries a read/write head for communication with the disc surface. In the example shown in
Voice coil motor 118 rotates actuator 116 with its attached sliders 110 about a pivot shaft 120 to position slider 110 over a desired data track along a path 122 between a disc inner diameter 124 and a disc outer diameter 126. Voice coil motor 118 operates under the control of a closed-loop servo controller within internal circuitry 128 (including a disc controller 129 in
Error correction and tracking unit 132 includes error correction code (ECC) unit 136 and error tracking unit 138. ECC unit 136 performs error correction on data using error correction code, typically through use of an algorithm, parity bits or other method. Any type of error correction may be used to correct data supplied to ECC unit 136. Data supplied to ECC unit 136 is usually a number of sectors read from disc 105. While ECC unit 136 is performing error correction, error tracking unit 138 tracks the number of errors in each data sector, or alternatively monitors an error rate. The number of errors in each data sector is compared with a predefined limit level in error tracking unit 138. A signal is generated based on whether or not the number of errors in each data sector is more than the predefined limit level. If a sector includes more errors than the limit level, that sector is identified as an error sector. Buffer unit 134, in conjunction with buffer manager 140, stores data received from disc controller 129 into buffer memory 142. After receiving error correction and tracking data from error correction and tracking unit 132, buffer manager 140 corrects data stored in buffer memory 142 and stores error tracking data into reference unit 144. Corrected data from buffer memory 142 is sent through host interface 130 to host system 101. If error tracking unit 138 determines that there are error sectors, buffer unit 134 will send a command to disc controller 129 to read only the identified error sectors in a next disc revolution. Buffer unit 134 uses the data in reference unit 144 to determine which sectors are to be read. Data read from the error sectors is then sent from disc controller 129 to error correction and tracking unit 132 and buffer unit 134. ECC unit 136 corrects the error sectors and sends correction information to buffer unit 134. Buffer unit 134, which has stored the error sectors in buffer memory 142, uses buffer manager 140 and correction data from ECC unit 136 to correct the error sectors in buffer memory 142. After error sectors in buffer memory 142 have been corrected, buffer unit 134 sends a write operation to disc controller 129 to write the corrected data back to disc 105 using the data stored in reference unit 144.
Skip mask 158 can then be stored in reference unit 144 of buffer unit 134 for use by disc controller 129 (
In summary, one embodiment of the present invention is directed to a method (400) for reducing growth errors in a disc drive storage system (100). The method includes determining (402) a number of sectors to be read from a disc (105). Also, data (150) is read (404) from all sectors of the number of sectors during a first disc revolution. Next, error sectors having a number of errors above a predetermined threshold are identified (406). As used herein and in the appended claims, a number of errors can be an actual number or error rate. In addition, the method includes correcting (410) the data (160) from the error sectors. Corrected data is written (412) to the error sectors during a second disc revolution.
Another embodiment directed to the present invention is a disc drive storage system, (100). The disc drive storage system (100) includes a rotating disc (105) having a disc surface. A transducer is configured to read and write data from the disc surface. The disc drive also has a buffer memory (142) and a controller (129) configured to determine a number of sectors to be read from the disc (105). The controller (129) is also configured to read all sectors of the number of sectors on a disc (105) during a first disc revolution and identify error sectors having a number of errors above a predetermined threshold. Further, the controller (129) is configured to correct data from the error sectors and write corrected data to the error sectors during a second disc revolution.
It is to be understood that even though numerous characteristics and advantages of various embodiments of the 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 detail, 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, the particular elements may vary depending on the particular application for the error correction system while maintaining substantially the same functionality without departing from the scope and spirit of the present invention. In addition, although the preferred embodiment described herein is directed to an error correction system for a disc drive, it will be appreciated by those skilled in the art that the teachings of the present invention can be applied to other error correction systems, without departing from the scope and spirit of the present invention.
This application claims priority from U.S. Provisional Application 60/325,339 filed on Sep. 27, 2001, for inventors Hui Su and Gregory P. Moller and entitled “DATA SECTOR ERROR TRACKING AND CORRECTION MECHANISM”.
Number | Name | Date | Kind |
---|---|---|---|
4138719 | Swanstrom et al. | Feb 1979 | A |
4194685 | Hill et al. | Mar 1980 | A |
4321700 | Russell | Mar 1982 | A |
4429217 | Hill et al. | Jan 1984 | A |
4438463 | Sakamoto | Mar 1984 | A |
4445189 | Hyatt | Apr 1984 | A |
4886958 | Merryman et al. | Dec 1989 | A |
4912487 | Porter et al. | Mar 1990 | A |
5012073 | Hewitt et al. | Apr 1991 | A |
5095447 | Manns et al. | Mar 1992 | A |
5220569 | Hartness | Jun 1993 | A |
5359468 | Rhodes et al. | Oct 1994 | A |
5386405 | Fujiwara et al. | Jan 1995 | A |
5438462 | Copolillo | Aug 1995 | A |
5469418 | Satoh et al. | Nov 1995 | A |
5602857 | Zook et al. | Feb 1997 | A |
5629949 | Zook | May 1997 | A |
5661848 | Bonke et al. | Aug 1997 | A |
5677901 | Iwamura | Oct 1997 | A |
5682272 | Taroda et al. | Oct 1997 | A |
5699342 | Yagi et al. | Dec 1997 | A |
5740267 | Echerer et al. | Apr 1998 | A |
5748578 | Schell | May 1998 | A |
5774357 | Hoffberg et al. | Jun 1998 | A |
5808825 | Okamura | Sep 1998 | A |
5844919 | Glover et al. | Dec 1998 | A |
5850304 | Elmers et al. | Dec 1998 | A |
5966121 | Hubbell et al. | Oct 1999 | A |
6092231 | Sze | Jul 2000 | A |
6122235 | Arai | Sep 2000 | A |
6192499 | Yang | Feb 2001 | B1 |
6230311 | Gerard et al. | May 2001 | B1 |
6247152 | Russell | Jun 2001 | B1 |
6728053 | Choo et al. | Apr 2004 | B2 |
Number | Date | Country | |
---|---|---|---|
20030061552 A1 | Mar 2003 | US |
Number | Date | Country | |
---|---|---|---|
60325339 | Sep 2001 | US |