The present invention relates to disk drive data storage systems and more particularly, to disk drive systems with improved reliability, data consistency and reduced latency for storing and retrieving data.
Disk drives are utilized in many information and processing systems for storing data. A typical disk drive includes a spindle motor for rotating a data disk, and an actuator for moving a head carrier that supports read/write heads radially across the disk to write data to or read data from concentric data tracks on the disk. Many disk drives include a plurality of disks separated by spacer rings and stacked on a hub attached to the spindle motor, a plurality of read/write heads, and a plurality of head carriers, each head carrier supporting at least one read/write head.
To access a data segment on a track, in a seek operation the head is moved radially across the tracks to a desired track where the data segment resides. Thereafter, the rotation of the disk rotates the data segment on the track under the head for writing data to or reading data therefrom. The amount of time required for accessing a data segment, or access time, includes the time spent for the seek operation in positioning a head over a track, and a rotational latency which is the time for the data segment on the track to rotate under the head.
To reduce the access time, some disk drive systems include one head per track, in which case there is no need for a seek operation to move a head across the data tracks. This reduces the seek time to zero. However, such systems are expensive to build, maintain and operate. Further, in such systems the speed of accessing a data segment on a track is still limited by the rotational latency of the desired data segment on a track to rotate under the head for that track.
To reduce the rotational latency, some conventional disk drive systems utilize multiple transducers and/or redundant recording on the same or different tracks. In one such system, two transducer heads are utilized which write in separate regions or tracks of a disk. After a first transducer head writes data in a region of the disk, a second transducer head writes the same data in a second region of the disk delayed by 180 degrees of rotation to assure that the beginning of the redundant data is displaced 180 degrees. By delaying the initiation of the write operation on the second track for one-half a revolution of the regions, access time equal to a two head per track system is obtained. For a read operation, one of the heads closer to the data is selected in any suitable manner to do the reading.
However, a disadvantage of such systems is the need for two heads to address each track to reduce said rotational latency for reading data. Another disadvantage of conventional disk drives utilizing replication is lack of effective mechanisms for ensuring data consistency between replicated data. For example, such systems do not provide a mechanism for ensuring data consistency between replicated data across power fails. When such disk drives lose power after writing a first copy of data to a first region of the disk, but before writing the second copy of the same data to a second region of the disk, the copy of data in the first region is inconsistent with preexisting data in the second region of the disk. This is because when the disk drive loses power after writing a first copy of the data, it also loses memory and therefore loses track of the duplication process.
When power is restored, the disk drive is incognizant that duplication is only partially complete. Further, after powerup the disk drive can be completely incognizant that data duplication was in progress before power loss, and as such all knowledge of the data blocks to be duplicated is lost. Thereafter, in satisfying a read request for said written data, the disk drive is unaware that only said first region contains the requested data and that the second region contains the preexisting data. Since the read operation retrieves data from one of said two regions with the shortest rotational latency, if the second region has a shorter rotational latency than the first region, then the preexisting and erroneous data is retrieved instead of the requested data contained in the first region.
Another disadvantage of conventional disk drives with data duplication is significant rotation latency in writing data. In many computing systems, performance is limited by the rate at which small blocks of data can be written to a disk drive. Transaction processing systems, for example, typically dedicate a disk drive to holding log data, and the throughput of the system is limited by the number of small writes that the log disk drive can perform. In desktop systems, the time to write a page of virtual memory out to a paging region of a data disk has a substantial impact on performance of the system. Although, conventional disk drives utilizing data replication can reduce the rotational latency for read operations, each replication increases the amount of time for completing a write operation. This substantially degrades the throughput of such systems.
In storage systems which include multiple disk drives, reliability of the storage systems can be improved by storing the same data on two or more disk drives. However, many storage systems utilize a single disk drive for storing data. Such disk drives use a per-written sector error-correcting code to tolerate and correct read-back errors caused by environmental conditions and channel noise. However, significant classes of errors such as thermal asperities and media wear cause multiple contiguous blocks in a row to become permanently unreadable. In some cases an entire drive surface may become unavailable. Additionally, frequently transient conditions such as vibration and inadequate read/write head settling cause a read request to fail.
Although error correction codes can correct many of such errors, a read request must sometimes be repeated to retrieve the correct data, thereby prolonging the read rotational latency for an additional revolution of the disk where the data resides. This leads to substantial variation in read response time, reducing the suitability of the disk drive for real-time applications such as video broadcast or robotic control. Further, in some conventional disk drives, when a sector read fails, the disk drive engages in xe2x80x9cheroic recoveryxe2x80x9d, wherein the disk drive retries the read under a variety of conditions in an attempt to recover the data. Heroic recovery can take as long as 30 seconds, leading to significant response time and throughput delays.
There is, therefore, a need for a disk drive which ensures data consistency between replicated data. There is also a need for such a disk drive with reduced rotation latency for writing data. There is also a need for such a disk drive to reduce the frequency with which a read operations fail to return the previously written data. There is also a need for such a disk drive to reduce variation in response time for successful reads. There is also a need for such a disk drive to reduce the time spent in heroic recovery without reducing data reliability. There is also a need for such a disk drive to reduce read rotational latency.
The present invention satisfies these needs. In one embodiment, the present invention provides a data recording device for storing a plurality of data segments therein. The data recording device comprises recording media; transducing means positionable to write data on and read data from the recording media; means for designating a set of at least two alternate regions on the recording media for each data segment, whereby each data segment has a corresponding set of at least two alternate regions on the recording media; and a controller for recording one or more data segments on the recording media in response to one or more write commands. The controller includes selection means wherein for each of the one or more data segments, the selection means selects one region from the set of alternate regions corresponding to that data segment and positions the transducing means to write that data segment on the selected region. To reduce the access time for each write operation, the selection means selects the one region from the set of alternate regions based on shortest access time required to access each of the regions in the set of alternate regions for recording data.
To provide data reliability across power fails, the controller further includes indicator means for maintaining chronological information identifying the relative order of recording each data segment on a region selected from the set of alternate regions corresponding to that data segment. For each data segment, the indicator means records chronological information on the region selected from the set of alternate regions corresponding to that data segment to allow identification of the relative order of recording that data segment therein. The controller further includes retrieval means for retrieving a data segment recorded on the media. The retrieval means first examines the chronological information for each region of the set of alternate regions corresponding to that data segment in order to locate a region therein which stores a most recent recording of the data segment, and then accesses the located region to retrieve the data segment therefrom.
In another embodiment of the data recording device, the controller includes replicating means for recording data segments on the recording media a multiplicity of times. In response to a command to write a data segment on the recording media, the replicating means records the data segment on the recording media a multiplicity of times at out of phase regions in a designated order. Each data segment has a corresponding set of out of phase regions on the recording media, whereby data recorded in a first region in order of the set of out of phase regions for each corresponding data segment comprises a most recent copy of the data segment. The controller further includes retrieval means for retrieving data segments recorded on the recording media. In response to a command to read a data segment written on the media a multiplicity of times, in a first mode of operation the retrieval means selectively accesses one of said out of phase regions requiring shortest access time to read data therefrom, and in a second, alternative mode of operation the retrieval means selectively accesses said first region to read data therefrom.
A verification means verifies that for at least one data segment, data in the first region of the set of out of phase regions corresponding to the at least one data segment is consistent with data in each remaining region of the set of out of phase regions. Further, if data in one or more of the remaining regions is inconsistent with data in the first region, an updating means updates the data in the one or remaining regions with data consistent with data in said first region.
Another indicator means maintains inconsistency information for each data segment recorded on the recording media, wherein the inconsistency information for a data segment identifies regions among said corresponding out of phase regions which do not include identical copies of that data segment. The inconsistency information is used to update the inconsistent regions such that a retrieval means can select a region with shortest access time among a set of regions for a data segment for reading data therefrom.
To improve data reliability and performance of the data recording device, if an error occurs in reading data from one region of the multiple regions for each data segment, the controller accesses another region of the multiple regions to read data therefrom. Further, in one version of the data recording device, data is recorded on the media in parallel tracks such that the distance between adjacent tracks on the recording media is reduced to levels at which data can be recorded at an acceptable adjacent track overwrite rate. In another version, data is recorded on the media such that a time for the transducing means to settle over a track on the recording media is reduced to levels at which data can be recorded at an acceptable adjacent track overwrite rate.
In another aspect, the present invention provides a method and a control system for implementing the above features in a data recording device.
As such, a data recording device according to the present invention ensures data consistency between replicated data, reduces rotation latency for writing data, reduces the frequency with which a read operations fail to return the previously written data, reduces variation in response time for successful reads, reduces the time spent in heroic recovery without reducing data reliability, and reduce read rotational latency.