Magnetic disk device

By dynamically adjusting the RRO correction amount using the servo sector postcode in the disk device, the performance degradation caused by the head position going out of the allowable write range is solved, achieving more efficient write performance and reducing the risk of data overwriting adjacent tracks.

CN117746920BActive Publication Date: 2026-08-25KK TOSHIBA +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310041055.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-09-21
Filing Date
2023-01-12
Publication Date
2026-08-25
Estimated Expiration
2043-01-12

AI Technical Summary

Technical Problem

When writing to a disk, if the read/write head moves out of the allowed writing range, it increases writing time and reduces performance. Existing technologies struggle to effectively address this issue.

Method used

By using the servo sector postcode for RRO correction in the disk device, the positioning control of the read/write head is dynamically adjusted. The RRO correction amount is changed by using the postcode correction amount of adjacent servo sectors, thereby reducing the width of the allowed write range and avoiding frequent write retries.

Benefits of technology

It effectively suppresses head deflection, reduces the number of write retries, improves the write performance of the disk device, and reduces the risk of data overwriting adjacent tracks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117746920B_ABST
    Figure CN117746920B_ABST
Patent Text Reader

Abstract

A high-performance disk device is provided. A disk device according to an embodiment includes a disk, a head, and a controller. The disk includes a plurality of servo sectors arranged in a circumferential direction, each of the plurality of servo sectors having servo information written therein, the servo information including a postamble indicating an RRO correction amount, i.e., a repeatable runout correction amount. The head performs data writing to and data reading from the disk. The controller uses a second RRO correction amount different from a first RRO correction amount based on an RRO correction amount indicated by a first postamble, in a case where a read error of the first postamble occurs continuously in positioning control of the head, the first postamble being a postamble of a first servo sector of the plurality of servo sectors.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application enjoys priority based on Japanese Patent Application No. 2022-150516 (filed on September 21, 2022). This application incorporates the entire contents of that basic application by reference. Technical Field

[0002] Embodiments of the present invention relate to disk drives. Background Technology

[0003] In a disk drive, during disk writing, a permissible write range is defined radially around the track. Writing is performed only when the read / write head is within this range. If the head moves out of the permissible write range, and the disk completes one revolution while the head approaches the target area again, the check for head position within the permissible write range is performed again. Therefore, when the head is out of the permissible write range, the writing time increases, and performance decreases. Summary of the Invention

[0004] Embodiments of the present invention provide a high-performance disk device.

[0005] According to one embodiment, a disk drive includes a disk, a read / write head, and a controller. A plurality of servo sectors are arranged circumferentially on the disk, and servo information is written to each of the plurality of servo sectors. This servo information includes a suffix representing a Repeatable Run Out (RRO) correction amount. The read / write head writes and reads data from the disk. If a read error based on a first suffix occurs consecutively during the positioning control of the read / write head, the controller uses a second RRO correction amount, different from a first RRO correction amount based on the first suffix representing the RRO correction amount. The first suffix is ​​the suffix of the first servo sector, which is one of the plurality of servo sectors. Attached Figure Description

[0006] Figure 1 This is a schematic diagram illustrating an example of the structure of the disk device according to the first embodiment.

[0007] Figure 2 This is a schematic diagram illustrating an example of the structure of the disk in the first embodiment.

[0008] Figure 3 This is a diagram illustrating an example of the structure of the service information in the first embodiment.

[0009] Figure 4 This is a graph showing an example of the trajectory of the read / write head during writing in the disk device of the first embodiment.

[0010] Figure 5 This is a diagram illustrating an example of the method for changing the RRO correction amount in the first embodiment.

[0011] Figure 6 This is a diagram illustrating an example of a method for compressing the WOS in the first embodiment.

[0012] Figure 7 This is a flowchart illustrating an example of a write operation in the first embodiment.

[0013] Figure 8 This is a flowchart illustrating an example of a change operation for setting the correction amount in the first embodiment.

[0014] Figure 9 This is a schematic diagram used to explain the writing position of the postcode in the second embodiment.

[0015] Figure 10 This is a diagram illustrating an example of the method for changing the setting correction amount in the second embodiment.

[0016] Figure 11 This is a flowchart illustrating an example of a change operation for setting the correction amount in the second embodiment.

[0017] Label Explanation

[0018] 1 Disk drive; 2 Host; 11 Disk; 12 Spindle motor; 13 Ramp; 15 Actuator arm; 21 Motor driver IC; 22 Head; 22r Read element; 22w Write element; 23 HDC; 24 Head IC; 25 RWC; 26 Processor; 27 RAM; 28 FROM; 29 Buffer memory; 30 Controller; 41 Track; 42 Servo area; 43 Data area; SCT Servo sector. Detailed Implementation

[0019] Hereinafter, the disk device according to the embodiments will be described in detail with reference to the accompanying drawings. However, the invention is not limited to these embodiments.

[0020] (First Embodiment)

[0021] Figure 1 This is a schematic diagram illustrating an example of the structure of the disk device 1 according to the first embodiment.

[0022] Disk device 1 is connected to host 2. Disk device 1 can receive access commands such as write commands and read commands from host 2.

[0023] The disk drive 1 includes a disk 11 with a recording surface formed on its surface. The disk drive 1 writes and reads data from the disk 11 (more precisely, from its recording surface) according to access commands. Furthermore, the disk drive 1 may have multiple disks 11, but in this embodiment, for the sake of simplicity in explanation and illustration, it is assumed that the disk drive 1 has only one disk 11.

[0024] Data writing and reading are performed via the read / write head 22. Specifically, in addition to the disk 11, the disk device 1 also includes a spindle motor 12, a motor driver IC (Integrated Circuit) 21, a read / write head 22, an actuator arm 15, a voice coil motor (VCM) 16, a ramp 13, a head IC 24, a read / write channel (RWC) 25, RAM 27, FROM (Flash Read Only Memory) 28, a buffer memory 29, a hard disk controller (HDC) 23, and a processor 26.

[0025] The disk 11 is rotated at a predetermined speed by a spindle motor 12 mounted on the rotating shaft of the disk 11. The spindle motor 12 is driven by a motor driver IC 21.

[0026] The motor driver IC21 controls the rotation of the spindle motor 12 and the VCM16.

[0027] The read / write head 22 writes and reads data from the disk 11 using its write element 22w and read element 22r. The read / write head 22 is mounted on the front end of the actuator arm 15. The read / write head 22 moves radially along the disk 11 via a VCM 16 driven by a motor driver IC 21.

[0028] When the disk 11 stops rotating, the read / write head 22 moves onto the ramp 13. The ramp 13 is configured to hold the read / write head 22 in a position away from the disk 11.

[0029] During reading, the head IC24 amplifies the signal read by the read / write head 22 from the disk 11 and outputs it to the RWC25. Additionally, the head IC24 amplifies the signal corresponding to the data to be written from the RWC25 and outputs it to the read / write head 22.

[0030] HDC23 performs control over data transmission and reception between the HDC23 and the host 2 via the I / F bus, controls the buffer memory 29, and performs error correction processing on the read data.

[0031] The buffer memory 29 is used as a buffer for data transmission and reception between the host 2 and the host 2. For example, the buffer memory 29 is used to temporarily store data to be written to or read from the disk 11.

[0032] The buffer memory 29 is, for example, composed of a volatile memory capable of high-speed operation. The type of memory constituting the buffer memory 29 is not limited to a specific type. The buffer memory 29 may be composed of, for example, DRAM (Dynamic Random Access Memory), SRAM (Static Random Access Memory), or a combination thereof.

[0033] RWC25 modulates the data to be written from HDC23 and provides it to head IC24. Additionally, RWC25 demodulates the signals read from disk 11 and provided from head IC24, outputting them as digital data to HDC23.

[0034] The processor 26 is, for example, a CPU (Central Processing Unit). RAM 27, FROM (Flash Read Only Memory) 28, and buffer memory 29 are connected to the processor 26.

[0035] FROM 28 is a non-volatile memory. Firmware (program data) and various operating parameters are stored in FROM 28. Additionally, the firmware can also be stored on disk 11.

[0036] RAM 27 is composed of, for example, DRAM, SRAM, or a combination thereof. RAM 27 is used by the processor 26 as its working memory. RAM 27 is used as an area for loading firmware and as an area for storing various management data.

[0037] The processor 26 performs overall control of the disk device 1 according to the firmware stored in the FROM 28 or the disk 11. For example, the processor 26 loads the firmware from the FROM 28 or the disk 11 into the RAM 27, and executes the control of the motor driver IC 21, head IC 24, RWC 25, HDC 23, etc. according to the loaded firmware.

[0038] Furthermore, the structure including RWC25, processor 26, and HDC23 can also be considered as controller 30. Controller 30 may also include other elements besides these (such as RAM27, FROM28, buffer memory 29, or RWC25, etc.).

[0039] Figure 2 This is a schematic diagram illustrating an example of the structure of the disk 11 according to the first embodiment. An example of the rotation direction of the disk 11 is shown in this figure. The read / write head 22 moves relative to the disk 11 by rotating the disk 11. Therefore, the direction in which data is written or read by the read / write head 22 along the write / read direction, i.e., the circumferential direction, is the opposite direction to the rotation direction of the disk 11.

[0040] In disk 11, servo information SV is written during the manufacturing process, for example, via a servo writer or self-servo writing (SSW). Figure 2 As an example of the configuration of a servo region where servo information SV is written, a servo region 42 is shown in a radial configuration.

[0041] Data areas 43, capable of being written to, are provided between the servo areas 42. A servo area 42 and a data area 43 adjacent to it constitute a servo sector SCT. That is, multiple servo sector SCTs are arranged along the circumferential direction in the disk 11.

[0042] In the radial direction of disk 11, multiple concentric tracks 41 are set based on servo information SV. In the data area 43, a large number of data sectors for data writing are continuously arranged along the tracks 41.

[0043] Furthermore, the descriptions relating to positional relationships in the circumferential direction used in this specification are defined. When there is a first region and a second region near the first region along the write / read direction, and the first region is the region that the read / write head 22 passes through first compared to the second region, the direction from the second region toward the first region is described as "front". Conversely, the direction from the first region toward the second region is described as "back". Additionally, when the first and second regions are adjacent, the first region as viewed from the second region is sometimes described as the region "immediately before". Furthermore, when the first and second regions are adjacent, the second region as viewed from the first region is sometimes described as the region "immediately after".

[0044] Figure 3 This is a diagram illustrating an example of the structure of the servo information SV in the first embodiment. In this example, in the servo region 42, the preamble, servo mark, Gray code, burst pattern, and post code are written in the write / read direction in this order. In this specification, the post code is sometimes simply referred to as PC.

[0045] The preamble is a signal used for synchronizing the servo mode with the playback signal. The servo marker indicates the start of servo data. Gray code represents the sector address and cylinder address. The sector address is an ID used to identify each servo sector (SCT) on track 41. The cylinder address is an ID used to identify each track 41 on disk 11. The burst pattern is data used to detect the radial deviation of the read / write head 22 relative to the center of track 41 (hereinafter referred to as track center), and consists of a repeating pattern with a predetermined period. For example, the cylinder address is provided as an integer value, and by demodulating the burst pattern, the offset below the decimal point, based on the position represented by the cylinder address, can be obtained.

[0046] Ideally, track 41 should be perfectly circular. However, due to vibrations and other factors during the writing of servo information SV, skew may occur within the servo track. Consequently, the radial position of the track, set based on a burst pattern (more precisely, a combination of Gray code and burst pattern), may sometimes deviate from the ideal radial position of track 41. This deviation occurs repeatedly with a cycle of one revolution of the disk (and spindle motor), and is therefore called RRO (Repeatable Run Out). The suffix code is obtained by encoding the correction amount used to correct this RRO.

[0047] Furthermore, the correction to RRO will be recorded as RRO correction. In addition, the correction amount represented by the suffix will be recorded as RRO correction amount.

[0048] The signals read by the read / write head 22 (more precisely, the read / write element 22r) include servo information SV and data read from the data sector. The servo information SV read by the read / write head 22 is demodulated into a position error signal (PES) by the head IC 24 and provided to the controller 30. The position error signal indicates the relative position of the read / write head 22 relative to the track. The controller 30 cooperates with the motor driver IC 21 to perform positioning control of the read / write head 22 based on the provided position error signal.

[0049] For example, the controller 30 and the motor driver IC 21 perform feedback control based on the position error signal to make the difference between the position of the target track and the current position of the head 22 close to zero.

[0050] The movement of the read / write head 22 mainly includes seek and track tracking. Seek is the movement of the read / write head 22 towards the target track in the radial direction of the disk 11. Track tracking is as follows: after the read / write head 22 has been moved to the vicinity of the target track through the seek operation, its position is maintained on the target track. In track tracking, the position of the read / write head 22 is adjusted through the aforementioned feedback control so that the read / write head 22 moves relative to the target track. The state in which the read / write head 22 is maintained on the target track is recorded as the on-track state.

[0051] Data writing and data reading are performed when the magnetic head 22 is in the on-rail state. That is, the controller 30 determines whether the magnetic head 22 is in the on-rail state, and when the magnetic head 22 is in the on-rail state, it uses the magnetic head 22 to perform data writing or data reading.

[0052] Whether the read / write head 22 is in track status is determined based on a threshold value set as a reference for the track position. For example, the threshold used to determine track status during a write operation is called WOS (Write Offtrack Slice).

[0053] Figure 4 This is a graph illustrating an example of the trajectory of the read / write head 22 during writing in the disk drive 1 of the first embodiment. The horizontal axis represents the position along a certain track 41. Here, as an example, the position along track 41 is represented by the sector number (SCT), i.e., the sector number. The vertical axis represents the position deviation from the center of the track. The position deviation from the center of the track is the position deviation in the radial direction of the ideal shape of track 41, and is a position error signal obtained using Gray code, burst pattern, and postcode.

[0054] Furthermore, when referring to the position in the radial direction, the direction towards the inner circumference of disk 11 is considered the positive direction, and the direction towards the outer circumference of disk 11 is considered the negative direction. Moreover, regarding the position in the radial direction, the designer can arbitrarily decide which direction of disk 11, the direction towards the inner circumference or the direction towards the outer circumference, is considered the positive direction.

[0055] When writing data to track 41, the position of the read / write head 22 is adjusted via track tracking to ensure that the difference between the position of the read / write head 22 and the center of the track is close to zero. However, the position of the read / write head 22 may shift from the target position due to various disturbances. As a result, such as... Figure 4 As shown, the trajectory of the magnetic head 22 will change from the center of the track.

[0056] The permissible write range for the read / write head 22 during data writing is pre-defined for each track 41. The boundary of the permissible write range is defined by the line radially away from the center of the track and from the WOS. According to... Figure 4 The positive line L is set at a position away from WOS from the center of the track. +WOS The negative line L was set at a position away from WOS from the center of the track. -WOS .

[0057] During the data writing process on track 41, servo information SV is read whenever the read / write head 22 passes through servo region 42, and a position error signal generated based on the read servo information SV is provided to controller 30. Whenever the controller 30 acquires the position error signal, it determines whether the read / write head 22 is within the permissible write range based on the acquired position error signal.

[0058] Specifically, the controller 30 compares the distance of the read / write head 22 from the center of the track with the write end value (WOS) based on the position error signal. If the distance of the read / write head 22 from the center of the track exceeds the WOS, the controller 30 presumes that the position of the read / write head 22 is outside the permissible write range. If the distance of the read / write head 22 from the center of the track is less than the WOS, the controller 30 presumes that the position of the read / write head 22 is within the permissible write range. The processing when the distance of the read / write head 22 from the center of the track is equal to the WOS is arbitrary. The controller 30 can presume that the position of the read / write head 22 is within the permissible write range or that the position of the read / write head 22 is outside the permissible write range.

[0059] If the position of the read / write head 22 is presumed to be outside the permissible writing range, the read / write head 22 is not in the on-track state, therefore, the controller 30 stops writing to the track 41.

[0060] After writing to track 41 stops, when disk 11 completes another revolution and head 22 approaches the write stop position again, controller 30 again estimates whether head 22 is within the allowable write range. If it is estimated that head 22 is within the allowable write range, controller 30 restarts the processing involved in writing to track 41. This process is called write retry.

[0061] exist Figure 4 In the example shown, in the servo sector SCT with sector number n, the position of the read / write head 22 is outside the allowed write range. Therefore, the controller 30 stops writing in the servo sector SCT with sector number n and retryes writing to the data sectors near the servo sector SCT with sector number n.

[0062] Furthermore, servo information SV is discretely written along the circumference of disk 11. As a result, controller 30 intermittently acquires position error signals. Even if the position of read / write head 22 does not leave the permissible write range based on the position error signal acquired from a certain servo sector SCT, if the position of read / write head 22 changes at a certain speed in the radial direction, the position of read / write head 22 may leave the permissible write range when it reaches the next servo sector SCT, or before it reaches the next servo sector SCT.

[0063] Therefore, the controller 30 can also use the quantity obtained by considering the radial velocity of the read / write head 22 in the comparison with the WOS. Specifically, in the determination of a certain servo sector SCT (referred to as the first servo sector SCT), the position error signal obtained from the first servo sector SCT is added to the difference between the position error signal obtained from the first servo sector SCT and the position error signal obtained from the second servo sector SCT immediately preceding the first servo sector SCT, to obtain the position evaluation quantity in the first servo sector SCT that considers the radial velocity of the read / write head 22. Furthermore, the controller 30 can perform a comparison between the position evaluation quantity and the WOS instead of the comparison between the position error signal and the WOS, or based on the comparison between the position error signal and the WOS. The value of the WOS compared with the position error signal can be equal to or different from the value of the WOS compared with the position evaluation quantity.

[0064] Subsequently, the position of the magnetic head 22 that deviates from the allowable write range will be recorded as off-track.

[0065] The servo information SV, especially the suffix, can sometimes deteriorate in quality after the disk device 1 has been shipped, due to various reasons. In such cases, the deteriorated suffix may not be read correctly, making it difficult to properly correct positional deviations caused by RROs, and track deviations may occur frequently. When track deviations occur frequently, write retry is performed each time a track deviation occurs, thereby reducing performance (specifically, write performance).

[0066] In the first embodiment, if a postcode read error or RRO correction causes a deterioration in positioning accuracy in a certain servo sector SCT, the RRO correction amount used in the RRO correction of that servo sector SCT is changed. This suppresses the frequency of write retries and improves the performance of the disk device 1.

[0067] Furthermore, in the first embodiment, WOS compression is performed in the servo sector SCT where the RRO correction amount used has been changed. This reduces the risk that during writing, the read / write head 22 may approach adjacent tracks and overwrite data on those tracks with other data.

[0068] Figure 5 This is a diagram illustrating an example of the method for changing the RRO correction amount in the first embodiment. In this diagram, as an example of multiple servo sectors SCTs continuously arranged along a certain track 41, servo sector SCT#(n-1), servo sector SCT#n, servo sector SCT#(n+1), and servo sector SCT#(n+2) are shown. Furthermore, the servo sector SCT for which x (where x is an integer greater than or equal to 0) is provided as the sector address is denoted as servo sector SCT#x.

[0069] Furthermore, this section explains situations where errors occur in the servo sector SCT#n, in other words, where a suffix code reading error occurs, or where deviation occurs during positioning using servo information SV, which includes the suffix code of the servo sector SCT#n. Figure 5 In the description, the servo sector SCT#n that has malfunctioned is sometimes recorded as the object servo sector.

[0070] In the event of an error in servo sector SCT#n, controller 30 can use the suffix of the servo sector SCT#(n-1) adjacent to servo sector SCT#n and the suffix of the servo sector SCT#(n+1) adjacent to servo sector SCT#n to change the setting of the RRO correction amount used.

[0071] Specifically, the controller 30 uses the RRO correction amount represented by the suffix of servo sector SCT#(n-1) and the interpolation value of the RRO correction amount represented by the suffix of servo sector SCT#(n-1) to perform RRO correction for the position represented by the Gray code and burst pattern read from servo sector SCT#n. The pattern (1) that replaces the RRO correction amount of the target servo sector with the interpolation value of the RRO correction amount represented by the suffix of the servo sector SCT adjacent to the target servo sector before it and the RRO correction amount represented by the suffix of the servo sector SCT adjacent to the target servo sector after it is recorded as pattern (1). Furthermore, the interpolation value is the value between two RRO correction amounts obtained through averaging, interpolation, or any arbitrary operation.

[0072] Additionally, controller 30 can use the servo sector SCT adjacent to the object servo sector (in Figure 5In the case of the RRO correction amount of the servo sector SCT#(n-1)), the RRO correction amount in the target servo sector is used as the RRO correction amount, and the RRO correction is performed for the position represented by the Gray code and pulse train pattern read from the target servo sector SCT. This pattern of using the RRO correction amount represented by the suffix of the servo sector SCT that precedes the target servo sector to replace the RRO correction amount of the target servo sector is recorded as pattern (2).

[0073] Additionally, controller 30 can use the adjacent servo sector SCT (in the object servo sector) after the object servo sector. Figure 5 In the case of the RRO correction amount of the servo sector SCT#(n+1)), the RRO correction amount of the target servo sector is used as the RRO correction amount, and the RRO correction is performed on the position represented by the Gray code and the pulse train pattern read from the target servo sector SCT. This pattern of using the RRO correction amount represented by the suffix code of the servo sector SCT adjacent to the target servo sector as the RRO correction amount of the target servo sector is recorded as pattern (3).

[0074] Whenever an error occurs in the same servo sector SCT, the controller 30 applies modes (1) to (3) in sequence to perform a write retry. Furthermore, the order in which modes (1) to (3) are applied is not limited to a specific order. Here, as an example, it is assumed that the controller 30 applies the modes in the order of mode (1), mode (2), and mode (3).

[0075] Figure 6 This diagram illustrates an example of the WOS compression method in the first embodiment. In the example shown, the WOS is reduced on both the positive and negative sides around the servo sector SCT where the error occurred (sector number n). That is, WOS compression means reducing the WOS. By compressing the WOS, the width of the write range is reduced.

[0076] Next, the operation of the disk device according to the first embodiment will be described.

[0077] Figure 7 This is a flowchart illustrating an example of the write operation in the first embodiment. Here, as an example, the operation of writing data to a certain data sector will be described. Furthermore, in this description, the servo sector SCT of the first servo region 42, which includes the two servo regions 42 sandwiching the data sector, is referred to as the target servo sector. In addition, the RRO correction amount set for use is referred to as the setting correction amount.

[0078] First, the controller 30 determines whether the setting correction amount of the target servo sector has been changed in the past (S101).

[0079] In the initial state, the RRO correction value represented by the suffix of the target servo sector is set as the target servo sector's setting correction value. In S101, the controller 30 determines whether the target servo sector's setting correction value is in the initial state. For example, the setting correction value is stored in a predetermined location within the disk device 1 (e.g., FROM 28). In that case, the controller 30 can determine whether the target servo sector's setting correction value has been changed in the past by determining whether an initial value is stored in FROM 28 as the target servo sector's setting correction value. Furthermore, the method for determining whether the target servo sector's setting correction value has been changed in the past is not limited to this. For example, the controller 30 may also use flags to manage whether the setting correction value of each servo sector has been changed in the past. In addition, the location where the setting correction value is stored is not limited to FROM 28.

[0080] If the setting correction amount of the target servo sector has not been changed in the past (S101: No), the controller 30 sets the WOS for the target servo sector (S102). Here, the controller 30 sets the WOS that has not been compressed.

[0081] Next, when the read / write head 22 passes through the object servo sector, the controller 30 determines whether a read error of the postcode has occurred in the object servo sector (S103).

[0082] For example, controller 30 performs error correction on the read suffix. If the error correction is successful, controller 30 determines that no reading error has occurred. If the error correction fails, controller 30 determines that a reading error has occurred. However, the method for determining whether a suffix reading error has occurred is not limited to this.

[0083] In the event of a read error in the postcode (S103: Yes), the controller 30 determines whether errors have occurred consecutively in the target servo sector (S104). That is, the controller 30 determines whether more than one write retry has been performed in the target servo sector.

[0084] If no consecutive errors occur in the target servo sector (S104: No), that is, if the read error is the first error, the controller 30 waits for the disk 11 to complete one revolution (S105). Then, the controller 30 reads the servo information SV, including the suffix, from the target servo sector again, and repeats the series of processes starting from S103. In other words, the controller 30 performs a write retry.

[0085] If errors occur consecutively in the target servo sector (S104: Yes), the controller 30 performs a process to change the setting correction amount (S106). Additionally, the controller 30 performs WOS compression (S107). Furthermore, the controller 30 performs a series of processes starting from S105.

[0086] If no error occurs in reading the postcode (S103: No), the controller 30 saves the current setting correction amount and the current WOS of the object servo sector in a predetermined location (e.g., FROM28) (S108).

[0087] If, in the determination process of S101, it is determined that the setting correction amount of the target servo sector has been changed in the past (S101: Yes), the controller 30 loads the setting correction amount and WOS saved by the previously executed process of S108 (S109) and uses it in subsequent processes.

[0088] After processing in S108 or S109, the controller 30 compares the position error signal with the WOS to determine whether the position of the read / write head 22 is within the allowable write range (S110). That is, the controller 30 determines whether the read / write head 22 is in the on-rail state.

[0089] If the position of the read / write head 22 is not within the allowed write range (S110: No), the controller 30 determines whether the setting correction amount of the target servo sector has not been changed in the past and whether errors have occurred continuously in the target servo sector (S111).

[0090] If the setting correction amount of the object servo sector has been changed in the past, or if the error that occurred is the first error (S111: No), the controller 30 performs a series of processes starting from S105.

[0091] If the setting correction value of the target servo sector has not been changed in the past and errors occur continuously in the target servo sector (S111: Yes), the controller 30 performs a process to change the setting correction value (S112). In addition, the controller 30 performs WOS compression (S113). Furthermore, the controller 30 performs a series of processes starting from S105.

[0092] When the position of the read / write head 22 is within the write-allowed range (S110: Yes), the controller 30 writes data to the data sector of the write destination (S114). Then, the write operation ends.

[0093] Figure 8 This is a flowchart illustrating an example of a change operation to the setting correction amount in the first embodiment. Figure 7 Execution in each of the processes shown in S106 and S112 Figure 8 The series of actions shown.

[0094] First, the controller 30 determines whether the current setting correction amount is the initial setting correction amount (S201). If the current setting correction amount is the initial setting correction amount (S201: Yes), the controller 30 changes the setting correction amount according to mode (1) (S202). That is, the controller 30 uses the interpolated value of the RRO correction amount represented by the suffix of the SCT of the servo sector adjacent to the target servo sector and the RRO correction amount represented by the suffix of the SCT of the servo sector adjacent to the target servo sector as the new setting correction amount.

[0095] If the current setting correction value is not the initial setting correction value (S201: No), the controller 30 determines whether the current setting correction value is the setting correction value set according to mode (1) (S203). If the current setting correction value is the setting correction value set according to mode (1) (S203: Yes), the controller 30 changes the setting correction value according to mode (2) (S204). That is, the controller 30 uses the RRO correction value represented by the suffix of the SCT of the servo sector adjacent to the target servo sector as the new setting correction value.

[0096] If the current setting correction value is not the setting correction value set according to mode (1) (S203: No), the controller 30 determines whether the current setting correction value is the setting correction value set according to mode (2) (S205). If the current setting correction value is the setting correction value set according to mode (2) (S205: Yes), the controller 30 changes the setting correction value according to mode (3) (S206). That is, the controller 30 takes the RRO correction value represented by the suffix of the SCT of the servo sector adjacent to the target servo sector as the new setting correction value.

[0097] If the current setting correction amount is not the setting correction amount set according to mode (2) (S205: No), that is, if the current setting correction amount is the setting correction amount set according to mode (3), the controller 30 sets the setting correction amount to 0 (S207). That is, the setting is performed in a way that prevents RRO correction.

[0098] After S202, S204, S206 or S207, the change action of setting the correction amount ends.

[0099] Thus, in one example, whenever an error occurs in the same servo sector SCT, modes (1) to (3) are applied sequentially to perform write retry.

[0100] As described above, according to the first embodiment, when the controller 30 continuously encounters read errors of the postcode in a servo sector SCT, it uses an RRO correction amount that is different from the RRO correction amount represented by the postcode.

[0101] Because a different RRO correction value is used instead of the RRO correction value represented by the suffix indicating a read error, the possibility of deviations can be suppressed compared to the case where the RRO correction value represented by the suffix indicating a read error is used. This reduces the number of retry writes, thus improving performance.

[0102] Furthermore, according to the first embodiment, the controller 30 uses the interpolated value of the RRO correction amount represented by the postcode of two adjacent servo sectors SCT to replace the RRO correction amount represented by the postcode where the read error occurred.

[0103] Since the controller 30 obtains a new RRO correction amount based on other postcodes read from a position close to the postcode where a read error occurred, it is able to suppress the possibility of deviation.

[0104] Furthermore, the controller 30 can achieve the same effect even if it uses the RRO correction amount represented by the postcode of one of the two adjacent servo sector SCTs to replace the RRO correction amount represented by the postcode that caused the read error.

[0105] Furthermore, according to the first embodiment, when saving the used setting correction amount and then performing writing in the servo sector SCT, the already saved setting correction amount is used.

[0106] This allows write retries to be suppressed whenever a new write is performed on the same servo sector (SCT). In other words, it further reduces the frequency of write retries, thus improving performance.

[0107] Furthermore, according to the first embodiment, the controller 30 sets an allowed write range during writing, and in the event of consecutive read errors of the postcode, changes the setting correction amount and reduces the width of the allowed write range.

[0108] This helps to mitigate the risk of erroneously overwriting new data with data from adjacent tracks.

[0109] Furthermore, according to the first embodiment, when saving the setting correction amount used, the width of the reduced allowable write range is also saved. Then, when performing a write operation in the servo sector SCT, the saved setting correction amount and the reduced width are used.

[0110] This helps to mitigate the risk of erroneously overwriting new data with data from adjacent tracks.

[0111] (Second Implementation)

[0112] As methods of writing data to a disk, there are known methods called SMR (Shingled Magnetic Recording) and CMR (Conventional Magnetic Recording).

[0113] In the SMR method, each track is configured such that when writing data (referred to as first data) to a certain track and then writing data (referred to as second data) to a track adjacent to that track in the radial direction, a portion of the second data overlaps with the first data. That is, according to the SMR method, data from one track of two radially adjacent tracks on the disk 11 is written while overlapping with a portion of data from the other track. As a result, the track spacing is narrower than the width of the write head, increasing the recording density.

[0114] In contrast, according to the CMR method, each track is configured not to overlap with the tracks adjacent to it in the radial direction.

[0115] In recent years, disk devices have been developed that can switch between CMR and SMR modes for writing data to the disk. Such disk devices are configured to allow tracks to be positioned at any location in the radial direction of the disk. That is, the disk device is configured to perform RRO correction regardless of where the tracks are positioned in the radial direction of the disk.

[0116] In the second embodiment, a disk device configured to perform RRO correction regardless of where the tracks are located in the radial direction of the disk will be described. Furthermore, matters different from those in the first embodiment will be described here. Matters identical to those in the first embodiment will be omitted from description or described briefly.

[0117] Figure 9 This is a schematic diagram illustrating the writing position of the postcode in the second embodiment. In this diagram, the positions of the center of track #m, the two tracks #(m-1) adjacent to track #m, and the center of track #(m+1) are shown in the radial direction. Furthermore, the servo sectors SCT#(n-1) to SCT#(n+4) arranged consecutively are shown in the circumferential direction.

[0118] Tracks #(m-1) to #(m+1) are tracks defined based on the servo information SV. Tracks defined based on the servo information SV are recorded as servo tracks. Data is written along data writing tracks (recorded as data tracks) that are separately set from the servo tracks. Data tracks are set according to CMR mode, SMR mode, etc.

[0119] In multiple consecutive servo sector SCTs, a suffix code is written while gradually offsetting them in the radial direction. Here, as an example, using the track spacing of the servo tracks as a reference, the suffix codes of four consecutive servo sector SCTs are written while gradually offsetting them by 1 / 4 of the track spacing in the radial direction.

[0120] More specifically, the suffix PC0 of servo sector SCT#n is written with a predetermined width centered at a position 3 / 8 of the track spacing away from the center in the negative direction. The suffix PC1 of servo sector SCT#(n+1) is written with a predetermined width centered at a position 1 / 8 of the track spacing away from the center in the negative direction. The suffix PC2 of servo sector SCT#(n+2) is written with a predetermined width centered at a position 1 / 8 of the track spacing away from the center in the positive direction. The suffix PC3 of servo sector SCT#(n+3) is written with a predetermined width centered at a position 3 / 8 of the track spacing away from the center in the positive direction.

[0121] The suffix PC0 includes RRO correction amounts at positions 3 / 8 of the track spacing away from the center of the track in the negative direction, for each of the servo sectors SCT#n to SCT#(n+3). The suffix PC1 includes RRO correction amounts at positions 1 / 8 of the track spacing away from the center of the track in the negative direction, for each of the servo sectors SCT#n to SCT#(n+3). The suffix PC2 includes RRO correction amounts at positions 1 / 8 of the track spacing away from the center of the track in the positive direction, for each of the servo sectors SCT#n to SCT#(n+3). The suffix PC3 includes RRO correction amounts at positions 3 / 8 of the track spacing away from the center of the track in the positive direction, for each of the servo sectors SCT#n to SCT#(n+3).

[0122] When a certain data track (referred to as the target data track) is set, the controller 30 uses two PCs arranged in the radial direction corresponding to the radial position of the target data track from PC0 to PC3 to perform RRO correction.

[0123] For example, when the object data track is set between a radius position 3 / 8 of the pitch away from the center of the track (more precisely, the center of the servo track) in the negative direction and a radius position 1 / 8 of the pitch away from the center of the track in the negative direction, the controller 30 uses PC0 and PC1. The controller 30 uses the interpolated values ​​based on the RRO correction amount of each servo sector SCT read from PC0 and the RRO correction amount of each servo sector SCT read from PC1 to apply the RRO correction in each servo sector.

[0124] When the object data track is set between a radius position 1 / 8 of the spacing away from the center of the track in the negative direction and a radius position 1 / 8 of the spacing away from the center of the track in the positive direction, the controller 30 uses PC1 and PC2. The controller 30 uses the interpolated values ​​based on the RRO correction amount of each servo sector SCT read from PC1 and the RRO correction amount of each servo sector SCT read from PC2 to perform RRO correction in each servo sector.

[0125] When the object data track is set between a radius position 1 / 8 of the track spacing away from the center of the track in the positive direction and a radius position 3 / 8 of the track spacing away from the center of the track in the positive direction, the controller 30 uses PC2 and PC3. The controller 30 uses the interpolated values ​​based on the RRO correction amount of each servo sector SCT read from PC2 and the RRO correction amount of each servo sector SCT read from PC3 to perform RRO correction in each servo sector.

[0126] Thus, in the initial settings, the following value is set as the RRO correction amount, which is calculated based on the pair of suffix PCi (where i is 0, 1 or 2) and suffix PC(i+1) selected from suffix PC0 to suffix PC3, corresponding to the radius position of the object data track.

[0127] In the second embodiment, the controller 30 performs a change action on the set correction amount, that is... Figure 7 In S106 and S112 shown, the reorganization of the pairs used is performed.

[0128] Figure 10 This is a diagram illustrating an example of the method for changing the setting correction amount in the second embodiment.

[0129] For example, if the initial setting uses a pair of PC0 and PC1, and a read error occurs in PC0, the RRO correction amount calculated based on the pair of PC1 and PC2 can be used instead of the RRO correction amount calculated based on the pair of PC0 and PC1. Similarly, if the initial setting uses a pair of PC2 and PC3, and a read error occurs in PC3, the RRO correction amount calculated based on the pair of PC1 and PC2 can be used instead of the RRO correction amount calculated based on the pair of PC2 and PC3. The pair of PC1 and PC2 is recorded as a combination (1).

[0130] Furthermore, if the initial setting uses a pair of PC0 and PC1, and a read error occurs in PC1, the RRO correction amount calculated based on the pair of PC0 and PC2 can be used instead of the RRO correction amount calculated based on the pair of PC0 and PC1. The pair of PC0 and PC2 is recorded as combination (2).

[0131] Furthermore, if the initial setting uses a pair of PC1 and PC2, and a read error occurs in PC2, the RRO correction amount calculated based on the pair of PC1 and PC3 can be used instead of the RRO correction amount calculated based on the pair of PC1 and PC2. The pair of PC1 and PC3 is recorded as combination (3).

[0132] Furthermore, if the initial setting uses a pair of PC0 and PC1, and a read error occurs in PC1, the RRO correction calculated based on the pair of PC0 and PC3 can be used instead of the RRO correction calculated based on the pair of PC0 and PC1. Similarly, if the initial setting uses a pair of PC1 and PC2, and a read error occurs in either PC1 or PC2, the RRO correction calculated based on the pair of PC0 and PC3 can be used instead of the RRO correction calculated based on the pair of PC1 and PC2. Likewise, if the initial setting uses a pair of PC2 and PC3, and a read error occurs in PC2, the RRO correction calculated based on the pair of PC0 and PC3 can be used instead of the RRO correction calculated based on the pair of PC2 and PC3. The pair of PC0 and PC3 is recorded as a combination (4).

[0133] Figure 11 This is a flowchart illustrating an example of a change operation for the setting correction amount in the second embodiment. Figure 7 Execution in each of the processes shown in S106 and S112 Figure 11 The series of actions shown.

[0134] First, the controller 30 determines whether a read error has occurred in either PCp or PCq, which constitute the currently used set pair (S301). Here, p and q are set to integers from 0 to 3.

[0135] If a read error occurs in either PCp or PCq (S301: Yes), the controller 30 reassembles the postcode of PCp and PCq that has the read error using a postcode that is adjacent to the postcode of PCp and PCq that has the read error (S302).

[0136] If no read error occurs in PCp and PCq (S301: No), the controller 30 determines whether the set pair used belongs to the combination (1) (S303).

[0137] If the set to be used belongs to combination (1) (S303: Yes), the controller 30 selects combination (2) (S304).

[0138] If the pair of settings used does not belong to combination (1) (S303: No), the controller 30 determines whether the pair of settings used belongs to combination (2) (S305).

[0139] If the set pair used belongs to combination (2) (S305: Yes), the controller 30 selects combination (3) (S306). If the set pair used does not belong to combination (2) (S305: No), the controller 30 selects combination (4) (S307).

[0140] After processing in S302, S304, S306 or S307, controller 30 calculates the RRO correction amount based on the selected combination (S308).

[0141] The controller 30 sets the calculated RRO correction amount as the set correction amount (S309), and the change action of the set correction amount ends.

[0142] Thus, when postcodes are written at different radial positions in multiple consecutively configured servo sector SCTs, the controller 30 performs head 22 positioning based on the postcode pairs in the postcode groups of the multiple consecutively configured servo sector SCTs that correspond to the radial positions of the data tracks. Furthermore, if a postcode reading error occurs consecutively, the controller 30 can use pairs that do not contain the postcode for positioning control instead of pairs containing that postcode.

[0143] Therefore, compared to using the RRO correction amount represented by the suffix indicating a read error, the possibility of deviation can be suppressed. This reduces the number of retry writes, thus improving performance.

[0144] As described in the first and second embodiments, when the controller 30 continuously encounters read errors of the postcode in a certain servo sector, it uses other correction amounts instead of the correction amount set based on the RRO correction amount represented by the postcode.

[0145] As a result, the performance of disk device 1 is improved.

[0146] Several embodiments of the present invention have been described above, but these embodiments are merely illustrative and not intended to limit the scope of the invention. These new embodiments can be implemented in a wide variety of other ways, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and / or variations thereof are included within the scope and spirit of the invention, and are included within the scope of the invention as described in the claims and its equivalents.

Claims

1. A disk drive, comprising: The disk has multiple servo sectors arranged in a circumferential direction. Each of the multiple servo sectors is written with servo information, which includes a suffix representing the RRO correction amount, i.e., the repeatability yaw correction amount. The read / write head, which writes and reads data from the disk; and The controller, in the position control of the magnetic head, in the event of consecutive read errors of the first postcode, uses a second RRO correction amount different from the first RRO correction amount represented by the first postcode, wherein the first postcode is the postcode of the first servo sector, which is one of the plurality of servo sectors. The second RRO correction is the interpolated value of the RRO correction represented by the suffix of the two second servo sectors adjacent to the first servo sector among the plurality of servo sectors.

2. The disk drive according to claim 1, It also has a memory. The controller After using the second RRO correction amount, the second RRO correction amount is stored in the memory. Then, the second RRO correction amount stored in the memory is used.

3. A disk drive, comprising: The disk has multiple servo sectors arranged in a circumferential direction. Each of the multiple servo sectors is written with servo information, which includes a suffix representing the RRO correction amount, i.e., the repeatability yaw correction amount. The read / write head, which writes and reads data from the disk; and The controller, in the position control of the magnetic head, in the event of consecutive read errors of the first postcode, uses a second RRO correction amount different from the first RRO correction amount represented by the first postcode, wherein the first postcode is the postcode of the first servo sector, which is one of the plurality of servo sectors. In each of the multiple servo sectors, a postfix is ​​written at a different position in the radial direction. The disk has tracks. The controller The head positioning is performed based on two RRO correction values ​​represented by the pair of postcodes in the group of postcodes of the plurality of servo sectors that correspond to the position in the radial direction of the track. In the event of consecutive read errors of the first postfix, a second pair that does not contain the first postfix is ​​used for the positioning, instead of the first pair containing the first postfix.

4. The disk drive according to claim 3, It also has a memory. The controller After using the second RRO correction amount, the second RRO correction amount is stored in the memory. Then, the second RRO correction amount stored in the memory is used.

5. A disk drive, comprising: The disk has multiple servo sectors arranged in a circumferential direction. Each of the multiple servo sectors is written with servo information, which includes a suffix representing the RRO correction amount, i.e., the repeatability yaw correction amount. The read / write head, which writes and reads data from the disk; and The controller, in the position control of the magnetic head, in the event of consecutive read errors of the first postcode, uses a second RRO correction amount different from the first RRO correction amount represented by the first postcode, wherein the first postcode is the postcode of the first servo sector, which is one of the plurality of servo sectors. The controller When writing, set the allowed write range with the first value in the radial direction. In the event of consecutive read errors of the first postfix, the width of the allowed write range in the first servo sector is set to a second value that is smaller than the first value.

6. The disk drive according to claim 5, The second RRO correction amount is the RRO correction amount represented by the suffix of the second servo sector that is adjacent to the first servo sector among the plurality of servo sectors.

7. The disk drive according to claim 5, It also has a memory. The controller After using the second RRO correction amount and the second value, the second RRO correction amount and the second value are stored in the memory. Then, the second RRO correction amount and the second value stored in the memory are used.

Citation Information

Patent Citations

  • Magnetic disk device and method of writing RRO correction data

    CN110289020A

  • Disk drive unit and its error recovery processing method

    JP2008198252A