1. The Field of the Invention
The present invention relates to direct access storage drives having a rotating media. More specifically, the present invention relates to manners of improving data access in a direct access storage drive using knowledge of the particular values of off-track read capability of the heads within the drive.
2. The Relevant Technology
Computer systems generally utilize auxiliary storage devices on which data can be written and from which data can be read for later use. A direct access storage device (DASD) is a common auxiliary storage device which incorporates rotating magnetic disks for storing data in magnetic form on concentric, radially spaced tracks on the disk surfaces. Transducer heads driven in a path generally perpendicular to the drive axis are used to write data to the disks and read data from the disks.
Current DASDs typically utilize a head for reading or writing data onto the various tracks and an actuator connected by a support arm assembly to the head for moving the head to the desired track and maintaining it over the track centerline during read or write operations. The movement of the head to a desired track is referred to as data seeking, or merely xe2x80x9cseeking.xe2x80x9d Maintaining the head over the center line of the desired track during a read or write operation is referred to as track following or xe2x80x9ctracking.xe2x80x9d
DASD systems are required to position each data head over the proper radial location for writing a track and return the data head very close to the same location when reading the track. Current DASD systems, such as hard disk drives, use a voice coil type of actuator and a control device with a feedback response to locate and consistently maintain the head over a given track. Typically, seeking and tracking are enabled by magnetically written patterns on the disk surface. The patterns generally take the form of prerecorded tracking servo marks. The servo marks are read by the transducer head and transmitted to a control unit, which utilizes the servo marks to set and correct the trajectory of the transducer head.
The actuator is typically a voice coil motor (VCM) which comprises a coil movable throughout the magnetic field of a permanent magnetic stator. The application of current to the VCM causes the coil and thus the attached head to move radially. In the absence of bias forces, the acceleration of the coil is proportional to the applied current. This current is applied by a power amplifier in response to a control input. If the input control is small enough, then the applied current is proportional to the control input and the power amplifier is nonsaturated; if the control input is too large, the applied current reaches a maximum possible value, and the power amplifier is saturated.
In disk files which have a relatively high density of data tracks on the disk, it is necessary to incorporate a servo control system to efficiently move the head between tracks and to maintain the head precisely over the centerline of the desired track during read or write operations. This is accomplished by utilizing prerecorded servo information either on a dedicated servo disk or on sectors angularly spaced and interspersed among the data on a data disk. The servo information sensed by the read/write head (or the dedicated servo head if a dedicated servo disk is used) is demodulated to generate a position error signal (PES) which is an indication of the position error of the head away from the nearest track centerline and to detect the track number or position sample.
In a DASD digital servo control system, a microprocessor utilizes a control signal algorithm to calculate a digital control signal based upon the digital values of certain state variables such as head position, VCM current, and head velocity. The digital control signal is converted to an analog signal and amplified to provide input current to the VCM. Such a digital servo control system is described in assignee""s U.S. Pat. No. 4,679,103, incorporated by reference herein. The described system, as a part of the computation of the control signal to the actuator, makes use of the state estimator algorithm to estimate the state (i.e., position, velocity, and acceleration or current input to the VCM) of the head. In this type of system, a microprocessor receives, at discrete sample times, digital values corresponding to the PES, position sample, and the VCM input current, and computes through the use of the state estimator algorithm, a digital control signal. The digital control signal is then converted to an analog signal to provide a power amplifier control signal. A power amplifier then generates a new VCM input current.
One area of system performance in which there is room for improvement is in dealing with the off-track read capability (OTRC) of a head. As the track pitch of a DASD becomes smaller, manufacturing variations of the head manifests itself as a larger relative distribution of read and write performance. Coupled with other factors, such as servo positioning or channel robustness, this distribution can be an important component of the overall system performance.
Variations in head sizes that result from the manufacturing of a DASD can yield OTRC values that range from 15 to 30 percent of the track pitch. Head width is the primary variable in the OTRC of a head. Other variables, including head composition and sensitivity, spindle rotational speed, track pitch, and fly height of the head. While these latter variables must be considered, they generally do not vary within a DASD design.
Also, in order to improve the overall performance of the drive, seek order scheduling is conducted to improve throughput. That is, the seeks are not performed in the order received, but the order is rearranged so that more seeks can be conducted in a given time. To best rearrange the order, the microprocessor is generally provided with a table of read and write times versus seek length to predict how long a seek will take.
The prior art currently selects a single OTRC and incorporates that OTRC into its table of seek time versus seek length estimates. Only a single preselected OTRC is used for each head in a DASD and for each DASD of a given design. Generally, the OTRC value used must be a worst case or near worst case OTRC for all heads of all DASDs of the given design. Such methods have been found by the inventors to leave much room for improving seek latency.
Accordingly, a need exists for an apparatus and method for applying the head-specific OTRC to seeking and tracking operations within a DASD, such that seek latency may be improved and tracking may be optimized.
The apparatus of the present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available direct access storage devices. Thus, it is an overall objective of the present invention to provide a system and method for employing off-track read capability in data access operations in a direct access storage device.
To achieve the foregoing object, and in accordance with the invention as embodied and broadly described herein in the preferred embodiments, a DASD system and method for employing customized off-track read capability (OTRC) in accessing data on a direct access storage device (DASD) is provided.
In one embodiment, the DASD comprises a rotating data storage medium; a read head positionable for interaction with the data storage medium; and a control unit for positioning the read head with respect to the data storage medium. Preferably, the control unit comprises an off-track read capability (OTRC) storage module configured to store an indicator of an OTRC particular to the read head and an access module configured to apply the OTRC in accessing data from the data storage medium. The data access module is, in one embodiment, configured to apply the OTRC to generate an improved read time estimate for optimal scheduling of data operations. The OTRC is preferably measured during manufacturing of the DASD.
In one embodiment, the access module comprises a seek module configured to apply the OTRC dynamically during a data seeking operation, while in another embodiment, the access module comprises a tracking module configured to apply the OTRC dynamically during a data tracking operation. In applying the OTRC in the data seeking operation, it is used to calculate an improved estimate of read time. This estimate can then be employed directly in conducting the seek operations, or may be employed in queuing seeks in random queued data access operations.
The control unit may comprise a servo control loop that uses the OTRC to determine a seeking control and/or a tracking control law. The parameters of the servo control in one embodiment are changed by applying the OTRC.
In one embodiment, the control unit comprises a data seek algorithm and is configured to apply the OTRC to the data seek algorithm to determine an optimal trajectory of the head to the target data. A queuing module may be provided within the control unit and may be configured to apply the OTRC in ordering a random queued seek operation.
In one embodiment, the OTRC storage module comprises a table of time-to-data values for various numbers of tracks traversed, the table incorporating the OTRC specific to the head. In an alternative embodiment, the OTRC storage module comprises a standard table of time-to-data values for various numbers of tracks traversed and an adder corresponding to the OTRC. In yet another embodiment, the OTRC storage module comprises a plurality of tables of time-to-data for various numbers of tracks traversed, each of the plurality of tables specific to an OTRC or range of OTRC.
The DASD may, in one embodiment, also be provided with a buffer memory in communication with the control unit, an OTRC indicator particular to each read head, the OTRCs stored in the buffer memory, and a queuing module disposed within the control unit. Preferably, the queuing module is configured to receive a queue of target data to be accessed from the data storage medium into the control unit, determine the physical locations of the target data, access the specific OTRCs for one or more heads involved, determine, using the one or more OTRCs and the physical target location and the physical starting location, which of the target data can be accessed most quickly, and access said target data that can be accessed most quickly prior to the other target data.
The OTRC indicator particular to each read head may comprise a table specific to the head, the table containing access times for various amounts of tracks to be traversed in accessing target data. Alternatively, the OTRC indicator particular to each read head may comprise an adder specific to the head stored within buffer memory. Accordingly, the queuing module is, in this embodiment, configured to consult a table containing nominal access times for various amounts of tracks to be traversed in accessing target data, extract a time-to-data value from the table, reference the adder, and add the adder to the time-to-data value.
The access module may comprise a seeking module disposed within the control unit. In one embodiment, the seeking module is configured to receive a physical address of target data, receive the OTRC of the head involved in accessing the target data, and apply the OTRC to pick the optimal seek and/or tracking parameters for that OTRC. The seek is then performed to access the data at the target location.
An attendant method for employing customized off-track read capability (OTRC) in accessing data on a direct access storage device (DASD) comprises providing a DASD having a rotating data storage medium and a read head positionable for interaction with the data storage medium, determining the OTRC particular to the read head, and applying the OTRC in accessing data from the data storage medium.
Applying knowledge of the OTRC in accessing data from the DASD may comprise applying the OTRC dynamically during a seek operation and may also comprise applying the OTRC dynamically during a tracking operation. In one embodiment, determining the OTRC comprises measuring the OTRC of the read head during manufacturing of the DASD.
The method may further comprise providing a servo control loop within the DASD, and applying the OTRC in accessing data from the data storage medium may comprise applying the OTRC within the servo control loop. Preferably, the OTRC is applied to determine an optimal servo loop for seeking and/or tracking.
In one embodiment, applying the OTRC comprises applying the OTRC to a data seek algorithm to determine an optimal trajectory of the head to the target data. In yet another embodiment, applying the OTRC comprises applying the OTRC to a seek queuing algorithm to determine the order of seeking a plurality of blocks of target data by improving the read time estimates.
Applying the OTRC may also comprise referencing a table of time-to-data for various numbers of tracks traversed, the table incorporating the OTRC specific to the head. Additionally, applying the OTRC may comprise referencing a standard table of time-to-data values for various numbers of tracks traversed and applying an adder corresponding to the OTRC. Applying the OTRC may also comprise referencing from among a plurality of tables of time-to-data for various numbers of tracks traversed, each of the plurality of tables specific to a OTRC, a table with an OTRC specific to the head.
Under an additional embodiment, the DASD comprises a plurality of read heads and determining the OTRC particular to the read head comprises measuring the OTRC of each of the plurality of read heads and recording the OTRCs on a reserved area on the data storage medium. In this embodiment, applying the OTRC in accessing data from the data storage medium comprises providing a control unit having access to a buffer memory within the DASD, transferring the OTRCs from the reserved area to the buffer memory, receiving a queue of target data to be accessed from the data storage medium into the control unit, determining the physical locations of the target data, accessing the specific OTRCs for one or more heads involved, determining, using the one or more OTRCs, which of the target data can be accessed most quickly, and accessing said target data that can be accessed most quickly prior to the other target data. In one embodiment, the transfer of data to the buffer area from the reserved area happens only at the spin up of the drive.
Under this embodiment, accessing the specific OTRCs for one or more heads involved comprises consulting a table specific to the head, the table containing access times for various amounts of tracks to be traversed in accessing target data. Alternatively, accessing the specific OTRCs for one or more heads involved may comprise consulting a table containing nominal access times for various amounts of tracks to be traversed in accessing target data, extracting a time-to-data value from the table, referencing an adder specific to the head stored within buffer memory, and adding the adder to the time-to-data value.
In another embodiment, the DASD comprises a plurality of read heads. Determining the OTRC particular to the read head comprises measuring the OTRC of each of the plurality of read heads and recording the OTRCs on a reserved area on the data storage medium. Applying the OTRC in accessing data from the data storage medium comprises providing a control unit having access to a buffer memory within the DASD, an actuator arm for transporting the head across the data storage medium, and a voice coil motor for powering the arm. The method in this embodiment further comprises transferring the OTRCs from the reserved area to the buffer memory, receiving a block of target data to be accessed from the data storage medium into the control unit, determining the physical locations of the target data, accessing the specific OTRC for a head involved in accessing the target data, and calculating, using the OTRC of the involved head, an amount of current to transmit to the arm to transport the head to the target data with an optimized trajectory.