This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2011-122417, filed May 31, 2011, the entire contents of which are incorporated herein by reference.
Embodiments described herein relate generally to a disk storage apparatus configured to perform shingled write, a disk control apparatus, and a write control method.
Recently, a data write method called “shingled write,” which can write data on a disk with a high recording density, has been developed in the field of hard disk drives (hereinafter referred to as “disk drives” in some cases). This method is also known as the “overlapped write method.”
In such a write method, data is written on a disk, forming data tracks not spaced apart at all, or rather each track partly overlapping either adjacent track. In other words, the tracks are arranged at a high density on the disk.
In the shingled write method, the write head tracks data tracks one after another, writing data on the disk, while moving in the radial direction of a spinning disk. Therefore, while the write head is writing data in one track, it writes the data also in a part of the immediately preceding track. Hence, data should be written with a specific margin in order to secure an effective area in the preceding data track and to maintain a sufficient recording performance. If the margin is too large, however, the tracks will inevitably be arranged at a lower density on the disk.
A general architecture that implements the various features of the embodiments will now be described with reference to the drawings. The drawings and the associated descriptions are provided to illustrate the embodiments and not to limit the scope of the invention.
Various embodiments will be described hereinafter with reference to the accompanying drawings.
In general, according to one embodiment, a disk storage apparatus includes a write module and a controller. The write module is configured to move a write head over a disk in the radial direction of the disk, and to perform the shingled write method, recording data in the first track while erasing data from a part of the second, i.e., adjacent track. The controller is configured to acquire a first head positioning error with respect to the first track and a second head positioning error with respect to the second track. If the first head positioning error exceeds an off-track threshold value, indicating that the data may no longer be maintained in the first and second tracks, the controller inhibits the data writing. Further, the controller uses the difference between the first head positioning error and the head positioning error made with respect to the second track from which a part of data was erased during the shingled write process, thereby determining such an off-track threshold value as will maintain data in both the first track and the second track.
[Configuration of the Disk Drive]
As shown in
The HDA has a disk 1, a spindle motor (SPM) 2, an arm 3, and a voice coil motor (VCM) 4. The disk 1 is a recording medium. The SPM 2 rotates the disk 1. The arm 3 holds a head 10. The arm 3 and the VCM 4 constitute an actuator. When the VCM 4 is driven, the arm 3 is rotated, whereby the head 10 held on the arm 3 is moved to a designated position over the disk 1.
The head 10 comprises a slider (i.e., main body), a write head 10W, and a read head 10R. The write head 10W and read head 10R are mounted on the slider. The read head 10R is configured to read data from the data tracks provided on the disk 1. The write head 10W is configured to write data on the disk 1.
The head amplifier IC 11 has a read amplifier and a write driver. The read amplifier is configured to amplify a read signal the read head 10R has read from the disk 1, and to supply the read signal to a read/write (R/W) channel 12. The write driver is configured to receive write data from the R/W channel 12 and to supply a write current according to the write data, to the write head 10W.
The HDC 15 is a one-chip integrated circuit including an interface controller 13 and a microprocessor (MPU) 14, in addition to the R/W channel 12. The R/W channel 12 includes a read channel and a write channel, which are configured to process read data and write data, respectively.
The interface controller 13 performs an interface control, thus controlling the data transfer between a host system (e.g., computer) 16 and the R/W channel 12. The MPU 14 is the main controller in the disk drive, and functions as a servo controller to control the VCM 4, ultimately positioning the head 10. The MPU 14 functions also as a write inhibition controller, as will be described later.
[Write Inhibition Control]
The positioning control system 20 is implanted not only by the software function of the MPU 14, but also by the servo-data playback function of the R/W channel 12 and the VCM driving function of the interface controller 13. The positioning control system 20 has a feedback control system including a servo controller (transfer function Cs) 21 and a plant (transfer function P) 22. The servo controller 21 and the plant 22 control the positioning of the head 10 (i.e., both write head 10W and the read head 10R).
More specifically, the positioning control system 20 calculates a positioning error (e) 120, i.e., difference between a target position (r) 100 for the head 10 and the actual position (y) 110 of the head 10. The positioning control system 20 then drives the plant (P) 22 to eliminate the positioning error (e) 120. The plant (P) 22 is the actuator that includes the VCM 4. The servo controller (Cs) 21 outputs a control value u (i.e., drive current) to drive and control the plant (P) 22.
The actual position (y) 110 of the head 10 is the data the R/W channel 12 has generated. Servo data from which to generate the position data has been recorded on the disk 1. The read head 10R reads servo data from the disk 1. The target position (r) 100 is the track to which the head 10 should be moved. In this embodiment, the target position (r) 100 is equivalent to a target track at which the write head 10W will perform the shingled write method to form a data track on the disk 1.
The write inhibition control system comprises a write inhibition controller 23 and a positioning error memory 24. The write inhibition controller 23 acquires the positioning error (e) 120 from the positioning control system 20, and permits or inhibits the shingled write (or permits or inhibits data recording) as described later, in accordance with the positioning control system 20. As described above, the positioning error (e) 120 is the error the write head 10W has with respect to the target position (r) 100, i.e., target track.
If the write inhibition controller 23 determines that recording should be inhibited, it outputs a recording inhibition flag (Fwi) 150 to the MPU 14. In response to the recording inhibition flag (Fwi) 150, the MPU 14 causes the write head 10W to stop writing data. That is, the write inhibition controller 23 outputs a recording inhibition flag (Fwi) 150 if it determines that the shingled write method being performed in a track may probably degrade the quality of the signal recorded in either adjacent track.
The write inhibition controller 23 refers to the off-track threshold value (absolute value ds) 130 stored in a buffer memory (not shown) and the positioning error value (ep) 140 stored in the positioning error memory 24. The write inhibition controller 23 then evaluates the present positioning error (e) 120. In accordance with the present positioning error, so evaluated, the write inhibition controller 23 permits or inhibits the data recording.
The “off-track threshold value” is the maximum off-track beyond which the write head 10W can no longer write a data signal of sufficient quality while securing an effective area in either adjacent track. That is, if the off-track exceeds the off-track threshold value, no effective areas will be secured in either of the adjacent tracks. If no effective areas are secured in either adjacent track, the read signal read by the read head 10R from either adjacent track will have an intolerably low quality.
The positioning error memory 24 is composed of ring buffer memories, the number of which is as large as the number Ns of servo sectors for one track. From the positioning error memory 24, the write inhibition controller 23 acquires the positioning error value (ep) 140, which was detected when data was recorded in the track m−1 (sector n). In the shingled write method, data is continuously written on the disk 1, while the write head 10W is moving in one direction (for example, from the innermost track toward the outermost track). The write inhibition controller 23 can therefore refer to the positioning error value (ep) made at the time when data was written in a sector of the track immediately preceding the track in which data will be written.
How the write inhibition controller 23 operates will be explained below, with reference to
As shown in
The write head 10W has a recording width larger than the track width WP. By contrast, the read head 10R has a reading width WR smaller than the track width WP. The read head 10R is positioned first at read position 501R1 and then at read position 501R2, and reads data recorded on the disk 1. As seen from
Next, as shown in
As seen from
As seen from
ds=W
P−((WP−WR)/2)−Wta=((WP+WR)/2−Wta)
If the absolute value of the positioning error (e) exceeds the threshold value ds (threshold value dsL), an excessive part of the data in the preceding track (m−1) will be inevitably erased. That is, as seen from
If the absolute value of the positioning error (e) exceeds the threshold value ds (same as dsR), an excessive part of the data in the target track (m) is inevitably erased when data is recorded in the following track (m+1). That is, as seen from
Therefore, the write inhibition controller 23 outputs a recording inhibition flag (Fwi) 150 as a high-level signal, for example, if the absolute value of the positioning error (e) exceeds the threshold value ds to the MPU 14 (YES in Block 301). In response to the high-level recording inhibition flag (Fwi) 150, the MPU 14 causes the write head 10W to stop writing data (Block 307).
If the absolute value of the positioning error (e) is equal to or smaller than the threshold value ds (same as dsL), the write inhibition controller 23 determines the polarity of the positioning error (e) (Block 302). The polarity of the positioning error (e) may be positive. This indicates that the write head 10W is off the track toward the following track (m+1) not holding data yet. In other words, the write head 10W has been positioned at the write position 500W1 as shown in
In this case, the write inhibition controller 23 determines that the write head 10W can write data in the target track (m) (YES in Block 302). The MPU 14 then performs a write permission control to permit the write head 10W to write data (Block 306). At this point, the write inhibition control system acquires, from the positioning control system 20, the error value (e=f (m, n)) made when the write head 10W is positioned at the target track (m) (sector n), and then stores the error value (e=f (m, n)) in the positioning error memory 24 (Block 305). The error value (e=f (m, n)), i.e., positioning error data, will be used to record data in the following track (m+1).
The polarity of the positioning error (e) may be negative as shown in
In this case, the write inhibition controller 23 acquires, from the positioning error memory 24, positioning error value (ep) (ep=f (m−1, n)) with respect to the track (m−1) holding data as shown in
As seen from
If the positioning error value (ep) for the preceding track (m−1) is set to X0 as shown in
|X|<|dsv|=|WP−Wta−X0|
where X is the off-track value.
The write inhibition controller 23 compares the positioning error (e), i.e., a negative value, with the dynamic threshold value dsv (Block 304). If the positioning error (e) is smaller than the dynamic threshold value dsv, the write inhibition controller 23 outputs a recording inhibition flag (Fwi) 150 as a high-level signal (YES in Block 304). That is, if the off-track value |X|, i.e., absolute value of the positioning error (e), exceeds the threshold value |dsv| as shown in
As the result of the comparison, the positioning error (e) may be found to exceed the dynamic threshold value dsv. In other words, the off-track value |X| may be equal to or less than the threshold value |dsv|. In this case, the write inhibition controller 23 determines that data can be recorded in the target track (m) (NO in Block 304). The MPU 14 therefore goes to a process of permitting the write process (Block 306). The write inhibition control system acquires the positioning error signal (e=f (m, n)) made when the write head 10W is positioned at the target track m (sector n), from the positioning control system 20, and stores the positioning error signal (e) in the positioning error memory 24 (Block 305).
As shown in
If the absolute value of the positioning error (e) falls within a range 410 set in accordance with the static threshold value ds, the write inhibition controller 23 sets the recording inhibition flag (Fwi) to low level 440 upon the elapse of a wait time 430 as shown in
As in
As has been described, in the disk drive according to this embodiment, which performs a shingled write method to write data on the disk 1, the write inhibition control can be performed by using not only the static threshold value ds, but also the dynamic threshold value dsv. The dynamic threshold value dsv is the threshold value for the off-track calculated for each sector of the preceding track (m−1) from the positioning error (ep) made when data was recorded in the disk 1 at the preceding track (m−1).
Hence, the frequency of relatively intolerable off-tracks can be reduced so long as the track density on the disk 1 and the head positioning accuracy remain unchanged. In other words, data can be written with an appropriate margin, not with an excessive margin. The disk 1 can have a high track density, without degrading the recording performance.
In
As shown in
To enable the write inhibition controller 23 to refer to the positioning error (ep) made by the track (m−1) holding data, the memory controller 910 retrieves the positioning error (ep) from the positioning error memory 900 in accordance with the target sector designated (more precisely, the track number Nc, head number Nh and sector number Ns). This positioning error (ep) is an error signal representing the positioning error made when data was recorded in the sector (track number Nc−1, head number Nh and sector number Ns) that is oriented in the direction opposite to the shingled write direction.
If the data has been completely written in the target sector, the memory controller 910 makes access to the positioning error memory 900 and acquires the address of the sector. The memory controller 910 then stores the positioning errors (e) acquired from the positioning control system 20.
Also in this embodiment, the shingled-write inhibition control is performed in the same way as explained with reference to
The various modules of the systems described herein can be implemented as software applications, hardware and/or software modules, or components on one or more computers, such as servers. While the various modules are illustrated separately, they may share some or all of the same underlying logic or code. While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
Number | Date | Country | Kind |
---|---|---|---|
2011-122417 | May 2011 | JP | national |