Magnetic disk device

The magnetic disk device addresses the challenge of determining residual vibration damping by using a controller to estimate vibration frequency and amplitude, adjusting the settling count accordingly, thereby reducing positioning errors and enhancing performance.

JP2025048561APending Publication Date: 2025-04-03KK TOSHIBA +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023157434
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-09-22
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Existing magnetic disk devices struggle to determine whether residual vibrations of the magnetic head after a seek operation have been sufficiently damped, leading to potential write or read errors.

Method used

The magnetic disk device includes a controller that moves the magnetic head to a target track, estimates the frequency and amplitude of residual vibrations, and adjusts the settling count based on these estimates to ensure sufficient damping before accessing the track.

Benefits of technology

This approach allows the magnetic disk device to accurately determine when residual vibrations have been adequately damped, reducing the risk of positioning errors during write or read operations and improving overall device performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025048561000001_ABST
    Figure 2025048561000001_ABST
Patent Text Reader

Abstract

To provide a magnetic disk device capable of appropriately determining whether residual vibration of a magnetic head caused by a seek operation has been sufficiently attenuated.SOLUTION: A controller of a magnetic disk device moves a magnetic head to a first track which is one of a plurality of tracks. The controller acquires an amount of a positioning error of the magnetic head from the first track at each servo sampling period. The controller accesses the first track using the magnetic head after a positioning error amount equal to or less than a first threshold value is continuously obtained a first set number of times. The controller estimates a frequency of residual vibration of the magnetic head due to the movement of the magnetic head to the first track and an amplitude of the residual vibration. The controller updates the first set number of times on the basis of the estimate of the frequency of the residual vibration and the estimate of the amplitude of the residual vibration.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present embodiment relates to a magnetic disk device. [Background technology]

[0002] In a magnetic disk drive, when a seek operation is performed, a write or read operation to a target track is performed after residual vibration of the magnetic head has been sufficiently attenuated. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] U.S. Patent No. 10210893 Summary of the Invention [Problem to be solved by the invention]

[0004] An object of one embodiment is to provide a magnetic disk drive that can appropriately determine whether residual vibration of a magnetic head caused by a seek operation has been sufficiently attenuated. [Means for solving the problem]

[0005] According to one embodiment, a magnetic disk device includes a magnetic disk, a magnetic head, and a controller. The magnetic disk has a plurality of tracks. The controller moves the magnetic head to a first track that is one of the plurality of tracks. The controller acquires a positioning error amount of the magnetic head from the first track at a servo sampling period. After a positioning error amount equal to or less than a first threshold is acquired a first set number of times in succession, the controller executes access to the first track using the magnetic head. The controller estimates a frequency and an amplitude of residual vibration of the magnetic head caused by the movement of the magnetic head to the first track. The controller updates the first set number of times based on an estimated frequency value of the residual vibration and an estimated amplitude value of the residual vibration. [Brief description of the drawings]

[0006] [Figure 1] FIG. 1 is a schematic diagram showing an example of the configuration of a magnetic disk device according to the first embodiment. [Diagram 2] FIG. 2 is a diagram illustrating an example of the configuration of a magnetic disk according to the first embodiment. [Diagram 3] FIG. 3 is a diagram for explaining the settling operation of the first embodiment. [Figure 4] FIG. 4 is a diagram for explaining an example of a method for determining the settling count according to the first embodiment. [Diagram 5] FIG. 5 is a diagram for explaining another example of the method of determining the settling count according to the first embodiment. [Figure 6] FIG. 6 is a flowchart illustrating an example of an operation related to a seek operation in the first embodiment. [Figure 7] FIG. 7 is a flowchart illustrating an example of a learning operation according to the first embodiment. [Figure 8] FIG. 8 is a flowchart illustrating an example of the operation of the magnetic disk device 1 of the second embodiment. [Figure 9] FIG. 9 is a diagram for explaining the relationship between the settling count and the guaranteed width. [Figure 10] FIG. 10 is a flowchart illustrating an example of the operation of the magnetic disk device 1 of the third embodiment. [Figure 11] FIG. 11 is a flowchart illustrating an example of the operation of the magnetic disk device 1 of the fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] Hereinafter, a magnetic disk device according to an embodiment will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to these embodiments.

[0008] (First embodiment) FIG. 1 is a schematic diagram showing an example of the configuration of a magnetic disk device 1 according to the first embodiment.

[0009] The magnetic disk device 1 is connectable to a host 2. When the magnetic disk device 1 is connected to the host 2, it is able to receive access commands from the host 2. The access commands include write commands and read commands.

[0010] The magnetic disk device 1 includes a magnetic disk 11 having a magnetic layer formed on its surface. The magnetic disk device 1 writes data to the magnetic disk 11 and reads data from the magnetic disk 11 in response to an access command.

[0011] Data is written and read via a magnetic head 22. In addition to a magnetic disk 11, the magnetic disk device 1 includes a spindle motor 12, a ramp 13, an actuator arm 15, a voice coil motor (VCM) 16, a motor driver IC (Integrated Circuit) 21, a magnetic head 22, a hard disk controller (HDC) 23, a head IC 24, a read / write channel (RWC) 25, a processor 26, a RAM 27, and a Flash Read Only Memory (FROM) 28.

[0012] The magnetic disk 11 is rotated at a predetermined rotation speed by a spindle motor 12 attached coaxially thereto. The spindle motor 12 is driven by a motor driver IC 21.

[0013] The processor 26 controls the rotation of the spindle motor 12 and the rotation of the VCM 16 via the motor driver IC 21 .

[0014] The magnetic head 22 writes and reads information to and from the magnetic disk 11 using a write element 22w and a read element 22r provided therein. The magnetic head 22 is attached to the tip of an actuator arm 15. The magnetic head 22 is moved in the radial direction of the magnetic disk 11 by a VCM 16. Note that a single magnetic head 22 may be provided with a plurality of either one of the write elements 22w and / or the read elements 22r provided therein.

[0015] When the magnetic disk 11 is not rotating, the magnetic head 22 is moved onto the ramp 13. The ramp 13 is configured to hold the magnetic head 22 at a position separated from the magnetic disk 11.

[0016] During a write operation, the head IC 24 amplifies a signal corresponding to the data to be written that is supplied from the RWC 25, and supplies the amplified signal to the magnetic head 22. During a read operation, the head IC 24 amplifies a signal read by the magnetic head 22 from the magnetic disk 11, outputs the amplified signal, and supplies the amplified signal to the RWC 25.

[0017] The HDC 23 controls the transmission and reception of data to and from the host 2 via the I / F bus.

[0018] The RAM 27 is used as a buffer for data to be written to the magnetic disk 11 and data read from the magnetic disk 11. The RAM 27 also includes a command queue in which access commands received from the host 2 are stored.

[0019] The RAM 27 is also used as an operating memory by the processor 26. The RAM 27 is used as an area into which firmware is loaded and an area in which various types of management data are temporarily stored.

[0020] The RAM 27 is composed of a volatile memory capable of high-speed operation. The type of memory constituting the RAM 27 is not limited to a specific type. The RAM 27 may be composed of, for example, a dynamic random access memory (DRAM), a static random access memory (SRAM), or a combination of these.

[0021] The RWC 25 performs data conversion such as error correction coding and modulation coding on the data to be written supplied from the HDC 23 on a sector-by-sector basis, and supplies the converted data to the head IC 24. The RWC 25 also performs processing such as error correction and demodulation on a sector-by-sector basis on the signal read from the magnetic disk 11 and supplied from the head IC 24, and outputs the processed signal to the HDC 23 as digital data.

[0022] The processor 26 is, for example, a CPU (Central Processing Unit). A RAM 27 and a ROM (Flash Read Only Memory) 28 are connected to the processor 26.

[0023] The FROM 28 is a non-volatile memory in which firmware (program data) and various operating parameters are stored.

[0024] The processor 26 performs overall control of the magnetic disk device 1 in accordance with firmware stored in the FROM 28. For example, the processor 26 loads firmware from the FROM 28 to the RAM 27, and controls the motor driver IC 21, the head IC 24, the RWC 25, the HDC 23, and the like in accordance with the loaded firmware.

[0025] The firmware program may be stored on the magnetic disk 11. In addition, some or all of the functions of the processor 26 may be realized by a hardware circuit such as a field-programmable gate array (FPGA) or an application specific integrated circuit (ASIC).

[0026] The configuration including the HDC 23, the RWC 25, and the processor 26 can be regarded as a controller 30 that controls the operation of the magnetic disk device 1. The controller 30 may include other elements (such as a RAM 27 or a ROM 28) in addition to these.

[0027] The firmware program may be stored on the magnetic disk 11. Some or all of the functions of the processor 26 may be realized by a hardware circuit such as a field-programmable gate array (FPGA) or an application specific integrated circuit (ASIC).

[0028] The number of magnetic disks 11 provided in the magnetic disk device 1 is not limited to one. The magnetic disk device 1 may have actuator arms 15 and magnetic heads 22 in a number corresponding to the number of magnetic disks 11. When the magnetic disk device 1 has a plurality of magnetic heads 22, the plurality of magnetic heads 22 may be moved as a unit, or the plurality of magnetic heads 22 may be configured as a plurality of groups that can move independently.

[0029] 2 is a diagram showing an example of the configuration of the magnetic disk 11 according to the first embodiment. Servo data used for positioning the magnetic head 22 is written in a magnetic layer formed on the surface of the magnetic disk 11 by, for example, a servo writer or by self-servo writing (SSW).

[0030] 2 shows servo areas 41 arranged radially as an example of the arrangement of servo areas in which servo data is written. In the circumferential direction, a data area 42 in which data can be written is provided between two servo areas 41. A plurality of concentric tracks 50 are provided in the radial direction of the magnetic disk 11. A plurality of sectors are provided on the track 50 in the data area 42, in which data of a predetermined size is written. The predetermined size is the sector size.

[0031] The servo data is data used to estimate the current position of the magnetic head 22. The controller 30 controls the positioning of the magnetic head 22 based on the servo data read by the magnetic head 22 from the servo area 41.

[0032] When accessing (writing or reading) the magnetic disk 11 using the magnetic head 22, the controller 30 first moves the magnetic head 22 in the radial direction toward a target track. The target track is a track 50 that is the object of access. The operation of moving the magnetic head 22 in the radial direction toward the target track is referred to as a seek operation.

[0033] When the magnetic head 22 is moved to the target track by a seek operation, residual vibration occurs in the magnetic head 22. If the residual vibration is large, the controller 30 cannot perform correct access.

[0034] For example, in a write operation, the controller 30 judges whether the magnetic head 22 is in an on-track state (i.e., a state in which the magnetic head 22 is considered to be located on the target track). If it is estimated that the magnetic head 22 is not in an on-track state, the controller 30 immediately suspends the write operation. Then, the controller 30 retries the write operation (retry write operation) after the magnetic disk 11 has made one rotation. Whether the magnetic head 22 is in an on-track state in a write operation is judged by comparing the positioning error amount with the write off-track slice. If the positioning error amount exceeds the write off-track slice, the controller 30 immediately suspends the write operation and suspends the write operation. If a write operation is started in a state in which the residual vibration is large, there is a high risk that the positioning error amount will exceed the write off-track slice and the write operation will be suspended.

[0035] Therefore, after the seek operation, the controller 30 performs a settling operation to wait until the residual vibration is sufficiently attenuated. After the settling operation, the controller 30 executes access to the target track.

[0036] FIG. 3 is a diagram for explaining the settling operation of the first embodiment.

[0037] In the settling operation, a threshold value Th is set for determining whether the residual vibration of the magnetic head 22 has been sufficiently attenuated. stl The threshold Th is used. stl , the settling threshold Th stl The settling threshold value Th stl is an example of a first threshold value.

[0038] The controller 30 determines the amount of positioning error and the settling threshold Th stl By comparing the radial position of the magnetic head 22 with the track center of the target track, the difference between the radial position of the magnetic head 22 and the track center of the target track is calculated. stl From +Th stl It is determined whether the value is within the range.

[0039] 3, the radial position is expressed with the outer circumferential side as the negative direction and the inner circumferential side as the positive direction, but the setting of the negative and positive directions in the radial position is not limited to this.

[0040] In one example, the controller 30 determines whether the amount of positioning error first reaches a settling threshold Th in a seek operation for moving the magnetic head 22 to a target track. stl At the timing (for example, timing t1 in FIG. 3) below, the settling operation is started.

[0041] In the settling operation, the controller 30 sets the positioning error amount to a settling threshold Th stl The length of time that the positioning error has been maintained below the settling threshold Th stl When the length of the period maintained below reaches a preset settling time, the controller 30 ends the settling operation and becomes ready for a write operation to the target track.

[0042] As described above, the controller 30 obtains the amount of positioning error based on the servo data read from the magnetic disk 11. In other words, the controller 30 sequentially obtains the amount of positioning error at the period when the magnetic head 22 passes through the servo area 41, i.e., at the servo sampling period. Therefore, the controller 30 obtains the amount of positioning error at the settling threshold Th stl The settling threshold Th is continuously exceeded by an amount corresponding to the length of time that the stl The number of times the following positioning error amount is obtained is used. stl The number of times the following positioning error amount is obtained is, in other words, the number of times the settling threshold Th stl The following positioning error amount is the servo sampling number obtained: The servo sampling number is the number of times servo data is obtained.

[0043] The controller 30 determines the settling threshold Th stlWhen the following positioning error amount is acquired, the servo sampling count is incremented. Settling Threshold Th stl If the amount of positioning error obtained exceeds the settling threshold Th, the controller 30 resets the count value to zero. stl The number of times the following positioning error amounts are obtained is counted. When the count value reaches a value corresponding to the settling time, the controller 30 ends the settling operation.

[0044] Hereinafter, the number of times corresponding to the settling time will be referred to as the settling count. Note that the settling time corresponds to a value obtained by multiplying the settling count by the servo sampling period.

[0045] In the example shown in FIG. 3, the amount of positioning error is equal to or smaller than the settling threshold Th stl From the time t2 when the positioning error becomes equal to or smaller than the settling threshold Th stl Therefore, the controller 30 ends the settling operation at timing t3 and performs a write operation on the target track.

[0046] In addition, in FIG. 3, the off-track slice (off-track slice Th WOS The controller 30 determines whether the radial position of the magnetic head 22 is −Th WOS From +Th WOS If the write off track slice Th deviates from the range, the write operation is interrupted and a retry write operation is performed. WOS is the settling threshold Th stl However, the write-off track slice Th WOS and the settling threshold Th stl The magnitude relationship between the write-off track slice Th and the write-off track slice Th is not limited to this. WOS and the settling threshold Thstl may be the same as

[0047] A technique to be compared with the embodiment will be described below. The technique to be compared with the embodiment will be referred to as a comparative example.

[0048] In the comparative example, the settling count is determined at the time of design. After shipment, the magnetic disk device executes the settling operation using the settling count determined at the time of design.

[0049] However, the behavior of the residual vibration caused by the seek operation may change depending on environmental factors, aging, etc. The environmental factors include the temperature in the installation environment, the vibration from the installation environment, and the fixing method of the magnetic disk device. Due to the change in the behavior of the residual vibration caused by the seek operation, the settling count determined at the time of design may not be sufficient to determine whether the residual vibration has been sufficiently attenuated. In other words, even if the settling operation is completed, there may be cases where the residual vibration has not actually been attenuated sufficiently. In such a case, the positioning error amount may exceed the write off-track slice immediately after the start of the write operation, causing the write operation to stop.

[0050] If the settling count is set to a sufficiently large value during design so that the settling count is not insufficient, it is possible to prevent a write operation from stopping immediately after it starts. However, if the settling count is too large, the seek time (i.e., the time required for a seek operation) becomes longer, and the performance of the magnetic disk drive decreases.

[0051] Therefore, in the first embodiment, the controller 30 is configured to autonomously determine the settling count according to the behavior of the residual vibration. More specifically, the controller 30 estimates the frequency and amplitude of the residual vibration during the settling operation, and determines the set value of the settling count based on the estimated frequency and the estimated amplitude.

[0052] 4 is a diagram for explaining an example of a method for determining the settling count in the first embodiment. In this diagram, the radial position of the magnetic head 22 over time when the magnetic head 22 is vibrating in the radial direction at a certain frequency is plotted. The vertical axis represents the radial position of the magnetic head 22, and the horizontal axis represents the number of servo samplings.

[0053] 4 corresponds to the servo sampling number of 15. Therefore, the controller 30 sets the servo sampling number of 15 as the settling count.

[0054] In this way, the number of servo samples corresponding to one period of vibration is set as the settling count, so that the maximum positioning error amount is set to the settling threshold value Th stl The settling operation can be terminated when it is confirmed that the vibration amplitude after the end of the settling operation is equal to or lower than the settling threshold Th stl It is guaranteed that: After the start of a write operation, the amount of positioning error caused by residual vibration is prevented from exceeding the write off-track slice.

[0055] Furthermore, if the residual vibration contains two vibrations with large amplitudes and different frequencies, the two vibrations may generate a beat. In such a case, even if the number of servo samples equivalent to the time length of one cycle of either of the two vibrations is set as the settling count, the vibration amplitude after the settling operation is completed may not reach the settling threshold Th. stl It is not guaranteed that:

[0056] According to the first embodiment, the number of servo samples corresponding to one period of a beat can also be set as the settling count.

[0057] 5 is a diagram for explaining another example of the method for determining the settling count according to the first embodiment, in which the vertical axis represents the radial position of the magnetic head 22, and the horizontal axis represents the number of servo samplings.

[0058] 5, the residual vibration of the magnetic head 22 includes two vibrations that have almost the same amplitude but different frequencies, which causes a large beat in the residual vibration of the magnetic head 22. One beat cycle corresponds to the servo sampling number "45." Therefore, the controller 30 sets the servo sampling number "45" as the settling count.

[0059] The number of servo samples equivalent to one beat period is set as the settling count. This ensures that the maximum positioning error does not exceed the settling threshold Th even when a beat is occurring. stl The settling operation can be terminated when it is confirmed that:

[0060] Next, an example of the operation of the magnetic disk device 1 of the first embodiment will be described. Note that, here, the controller 30 is configured to be able to estimate the frequency and amplitude of two vibrations among the multiple vibrations included in the residual vibration.

[0061] 6 is a flowchart for explaining an example of an operation related to a seek operation in the first embodiment. Here, an operation related to a seek operation for executing a write operation will be explained.

[0062] First, the controller 30 sets the set value C set The set value C of the settling count is acquired and the seek operation is started (S101). set is stored in a predetermined storage area. The controller 30 obtains the set value C of the settling count from the predetermined storage area. set The predetermined storage area may be the RAM 27, the FROM 28, or any other area.

[0063] The controller 30 determines whether the amount of positioning error reaches a settling threshold Th stlIt is determined whether or not the following has occurred (S102). If the determination in the determination process of S102 is No, the controller 30 executes the determination process of S102 again.

[0064] If the determination in step S102 is "Yes," the controller 30 starts a learning operation for learning the settling count (S103) and starts the settling operation. The learning operation will be described in detail later.

[0065] In the settling operation, the controller 30 sets a settling threshold Th stl The positioning error amount is C set It is determined whether the number of times has been acquired (S104).

[0066] If the determination in the determination process of S104 is No, the controller 30 executes the determination process of S104 again.

[0067] If the determination in the determination process of S104 is Yes, the controller 30 ends the learning operation (S105).

[0068] The controller 30 sets the set value C to the learning value C of the settling count obtained by the learning operation. set (S106). Then, the controller 30 starts a write operation to the target track (S107), and the series of operations related to the seek operation is completed.

[0069] FIG. 7 is a flowchart illustrating an example of a learning operation according to the first embodiment.

[0070] In the example shown in FIG. 7, the controller 30 uses C, C1, C2, and C3 as parameters related to the settling count. As described above, the controller 30 estimates the frequency and amplitude of two vibrations having different frequencies included in the residual vibration. One of the two vibrations is referred to as the first vibration, and the other of the two vibrations is referred to as the second vibration. The parameter C1 is a parameter for temporarily setting a learned value of the settling count considering only the first vibration. The parameter C2 is a parameter for temporarily setting a learned value of the settling count considering only the second vibration. The parameter C3 is a parameter for temporarily setting a learned value of the settling count considering only the beat generated by the first vibration and the second vibration.

[0071] In the following, the estimated value of the frequency of the first vibration is denoted as frequency estimated value f1, the estimated value of the frequency of the second vibration is denoted as frequency estimated value f2, the estimated value of the amplitude of the first vibration is denoted as amplitude estimated value a1, and the estimated value of the amplitude of the second vibration is denoted as amplitude estimated value a2.

[0072] First, the controller 30 sets the parameter C to the initial settling count value C0, and sets parameters C1, C2, and C3 to 0 (S201). C0 is determined by a designer during design, for example, and is stored in a predetermined storage area. In S201, the controller 30 reads C0 from the predetermined storage area.

[0073] Next, the controller 30 estimates the frequency and amplitude of the vibration contained in the residual vibration based on the positioning error amount successively acquired. The controller 30 includes two frequency / amplitude estimators. The controller 30 uses the two frequency / amplitude estimators to estimate the frequency f1 and amplitude a1 of the first vibration, and the frequency f2 and amplitude a2 of the second vibration (S202).

[0074] Any algorithm may be applied as the algorithm for estimating the frequency and amplitude by the frequency / amplitude estimator. In one example, the frequency / amplitude estimator may be configured as an adaptive filter that estimates the frequency and amplitude. In another example, the frequency / amplitude estimator may be configured to estimate the frequency and amplitude by a discrete Fourier transform.

[0075] The controller 30 calculates the settling count for each of the first and second vibrations only when the corresponding amplitude estimate value is large. For this reason, a threshold value (referred to as an amplitude threshold value) to be compared with the amplitude of each vibration is preset.

[0076] In the example shown in FIG. 7, the amplitude threshold value Th is used as the amplitude threshold value to be compared with the amplitude estimate value a1. a11 , Th a12 The amplitude threshold value a2 is compared with the amplitude estimate a2. a21 , Th a22 The amplitude threshold value Tha11 is set to be greater than the amplitude threshold value Tha12. The amplitude threshold value Tha21 is set to be greater than the amplitude threshold value Tha22. a11 , Th a12 , Th a21 , Th a22 is an example of the second threshold value.

[0077] The controller 30 determines whether the amplitude estimation value a1 is greater than the amplitude threshold value Tha11 (S203). If the determination result in the determination process of S203 is Yes, the controller 30 sets the value obtained by dividing the servo sampling frequency fs by the frequency estimation value f1 to the parameter C1 (S204).

[0078] By the process of S204, a settling count that can be used to determine whether or not the first vibration has sufficiently attenuated is set in the parameter C1.

[0079] If the determination in S203 is No, the controller 30 determines whether the amplitude estimation value a1 is smaller than the amplitude threshold value Tha12 (S205). If the determination in S205 is Yes, the controller 30 sets the parameter C1 to 0 (S206).

[0080] After the process of S204, or if the determination process of S205 is No, or after the process of S206, the controller 30 determines whether the amplitude estimate value a2 is greater than the amplitude threshold value Tha21 (S207). If the determination process of S207 is Yes, the controller 30 sets a value obtained by dividing the servo sampling frequency fs by the frequency estimate value f2 to the parameter C2 (S208).

[0081] By the process of S208, a settling count that can be used to determine whether or not the second vibration has sufficiently attenuated is set in the parameter C2.

[0082] If the determination in the determination process of S207 is No, the controller 30 determines whether or not the amplitude estimation value a2 is smaller than the amplitude threshold value Tha22 (S209). If the determination in the determination process of S209 is Yes, the controller 30 sets 0 to the parameter C2 (S210).

[0083] After processing of S208, or if the judgment process of S209 is judged as No, or after processing of S210, the controller 30 judges whether the amplitude estimation value a1 is greater than the amplitude threshold value Tha11 and whether the amplitude estimation value a2 is greater than the amplitude threshold value Tha21 (S211).

[0084] If the determination in the determination process of S211 is Yes, the controller 30 sets the value obtained by dividing the servo sampling frequency fs by the absolute value of the difference between the frequency estimate value f1 and the frequency estimate value f2 to the parameter C3 (S212).

[0085] By the process of S212, a settling count that can be used to determine whether or not the vibration due to the beat generated by the first vibration and the second vibration has sufficiently attenuated is set in the parameter C3.

[0086] If the determination in the determination process of S211 is No, the controller 30 determines whether or not the amplitude estimate value a1 is smaller than the amplitude threshold value Tha12 and the amplitude estimate value a2 is smaller than the amplitude threshold value Tha22 (S213).

[0087] If the determination in the determination process of S213 is Yes, the controller 30 sets the parameter C3 to 0 (S214).

[0088] After the process of S212, or if the determination process of S213 is No, or after the process of S214, the controller 30 determines the maximum value of C0, C1, C2, and C3 as the learned value C of the settling count (S215).

[0089] In addition, the maximum value among C0, C1, C2, and C3 is also a value obtained by multiplying the reciprocal of the minimum value among the frequency f1 of the first vibration, the frequency f2 of the second vibration, and the difference between frequencies f1 and f2, by the servo sampling frequency.

[0090] By the process of S215, even if the residual vibration contains two vibrations with different frequencies and a large beat is generated due to the two vibrations, a settling count is obtained that can be used to determine whether the two vibrations and the beat vibration have all been sufficiently damped.

[0091] After the process of S215, the learning operation ends.

[0092] In the above description, when a write operation is performed, the seek operation, the settling operation, and the learning operation shown in Fig. 6 and Fig. 7 are performed. These operations can also be performed when a read operation is performed.

[0093] In the example shown in FIG. 7, two amplitude thresholds with different magnitudes are used for each of the first vibration and the second vibration, so that a dead zone is generated for the settings of C1, C2, and C3. The dead zone is provided for the settings of C1, C2, and C3 for the following reason. That is, the processes of S202 to S215 can be repeatedly executed during one settling operation. In such a case, if a dead zone is not provided, that is, if a determination is made using one amplitude threshold for each of the first vibration and the second vibration, the control becomes unstable. In order to prevent the control from becoming unstable, two amplitude thresholds with different magnitudes are used for each of the first vibration and the second vibration. Note that one amplitude threshold may be used for each of the first vibration and the second vibration.

[0094] In the above description, the controller 30 is configured to estimate the frequency and amplitude of two vibrations included in the residual vibration. The number of vibrations for which the controller 30 can estimate the frequency and amplitude is arbitrary as long as it is one or more.

[0095] For example, if the controller 30 is capable of estimating the frequency and amplitude of only one vibration, the controller 30 may determine the settling count C based on the frequency and amplitude estimates of that vibration. set Specifically, if the amplitude estimate is greater than the amplitude threshold, the controller 30 updates the settling count C set is updated with a value based on the frequency estimate value. Specifically, the value based on the frequency estimate value is a value obtained by dividing the servo sampling frequency fs by the frequency estimate value.

[0096] Also, for example, if the controller 30 is capable of estimating the frequency and amplitude of two or more vibrations, the controller 30 may operate as follows: if the residual vibration includes two or more vibrations whose amplitude estimates are greater than the amplitude threshold, the controller 30 determines the settling count C based on the frequency estimates of each of the two or more vibrations and the difference between the frequency estimates of the two or more vibrations.set Specifically, the controller 30 multiplies the reciprocal of the minimum value among the frequency estimates of two or more vibrations whose amplitude estimates are greater than the amplitude threshold value and the difference between the frequency estimates of the two or more vibrations by the servo sampling frequency, and updates the set value C of the settling count with the value obtained by this multiplication. set Update.

[0097] In the above description, the magnetic disk device 1 has a single settling count C set was commonly used. The controller 30 has multiple set values ​​C set and store multiple set values ​​C set The setting value C to be used and updated set For example, a different set value C may be selected for each seek distance. set Alternatively, the magnetic disk 11 may be divided into a plurality of regions in the radial direction, and a different set value C may be used and updated for each region to be sought. set Alternatively, when multiple magnetic heads 22 are mounted, a different set value C may be used and updated for each head. set may be used and updated.

[0098] As described above, according to the first embodiment, the controller 30 moves the magnetic head 22 to the target track and detects the settling threshold Th stl The positioning error is C set After the data are acquired consecutively, the controller 30 executes access to the target track. At this time, the controller 30 estimates the frequency and amplitude of the residual vibration, and sets the set value C of the settling count based on the estimated frequency and the estimated amplitude of the residual vibration. set Update.

[0099] Therefore, it is possible to set an appropriate time length based on the frequency of the residual vibration that is actually occurring as the settling time, which makes it possible to appropriately determine whether the residual vibration of the magnetic head 22 has been sufficiently attenuated.

[0100] According to the first embodiment, when the amplitude estimation value is greater than the amplitude threshold value, the controller 30 sets the set value C of the settling count to a value obtained by dividing the servo sampling frequency fs by the frequency estimation value. set Update.

[0101] Also, according to the first embodiment, when the residual vibration includes two or more vibrations whose amplitude estimates are greater than the amplitude threshold, the controller 30 determines the set value C of the settling count based on the frequency estimates of each of the two or more vibrations and the difference between the frequency estimates of the two or more vibrations. set Specifically, the controller 30 multiplies the reciprocal of the minimum value among the frequency estimates of two or more vibrations whose amplitude estimates are greater than the amplitude threshold value and the difference between the frequency estimates of the two or more vibrations by the servo sampling frequency, and updates the set value C of the settling count with the value obtained by this multiplication. set Update.

[0102] Therefore, even if a large swell occurs due to multiple vibrations, the vibration amplitude after the end of the settling operation is equal to or lower than the settling threshold Th stl As a result, after the start of the write operation, the amount of positioning error caused by the residual vibration is prevented from exceeding the write off-track slice.

[0103] Second embodiment The servo data used to obtain the positioning error amount can only be obtained from a plurality of servo areas 42 arranged at intervals in the circumferential direction. Therefore, when the magnetic head 22 is located between the servo areas 42, the controller 30 cannot obtain the radial position. Therefore, even if it is confirmed based on the servo data that the positioning error amount is equal to or less than the write off track slice, the radial position of the magnetic head 22 may be shifted by −Th from the track center between the servo areas 42 due to disturbances or the like. WOS From +Th WOSIf the position of the magnetic head 22 is in the range of -Th WOS From +Th WOS Any deviation from this range is called an overrun.

[0104] The overrun causes the radial position of the magnetic head 22 to deviate from the track center by -Th. WOS From +Th WOS The distance that the magnetic head 22 deviates from the range to is proportional to the maximum radial speed of the magnetic head 22. The maximum radial speed of the magnetic head 22 after the settling operation depends on the frequency and amplitude of the residual vibration. The higher the frequency of the residual vibration, the higher the maximum radial speed of the magnetic head 22 after the settling operation, and the higher the amplitude of the residual vibration, the higher the maximum radial speed of the magnetic head 22 after the settling operation.

[0105] In the second embodiment, the controller 30 sets the set value C set and settling threshold Th stl Or Light Off Track Slice Th WOS Update the following.

[0106] In the following description of the second embodiment, the same matters as those in the first embodiment will not be described.

[0107] 8 is a flowchart illustrating an example of the operation of the magnetic disk device 1 of the second embodiment. A series of operations shown in this figure is performed as a part of a learning operation.

[0108] The controller 30 obtains the maximum radial velocity of the magnetic head 22 based on the frequency estimate and the amplitude estimate obtained in the learning operation (S301).

[0109] For example, frequency f i , amplitude a i The time progression x(t) of the sine wave displacement can be expressed as the following equation (1).

number

[0110] By differentiating x(t) with respect to time, we obtain the time progression of velocity v(t) as shown in equation (2) below.

number

[0111] Therefore, frequency f i , amplitude a i The maximum speed of the sine wave can be expressed by the following equation (3).

number

[0112] The controller 30 can obtain the maximum radial velocity of the magnetic head 22 by substituting the frequency estimated value and the amplitude estimated value into equation (3). Note that the controller 30 may previously store information recording the relationship between the frequency, the amplitude, and the maximum radial velocity of the magnetic head 22, and obtain the maximum radial velocity of the magnetic head 22 based on this information.

[0113] The controller 30 then determines the settling threshold Th based on the obtained maximum speed. stl Or Light Off Track Slice Th WOS (S302), and the operation ends.

[0114] In the process of S302, the controller 30 adjusts the settling threshold Th stl This reduces the risk that the positioning error amount exceeds the write off-track slice during the write operation after the settling operation.

[0115] Alternatively, the controller 30 may adjust the write-off track slice Th so that the higher the obtained maximum speed is. WOSThe higher the maximum speed, the longer the overrun distance, which increases the risk of data corruption on tracks adjacent to the target track. The higher the obtained maximum speed, the greater the write-off track slice Th. WOS By making the distance smaller, it is possible to reduce the risk that data on tracks adjacent to the target track is destroyed due to an overrun.

[0116] (Third embodiment) The learning value C of the settling count obtained by the learning operation of the first embodiment can sometimes be significantly large. With such a large learning value C, the set value C of the settling count set If is updated, subsequent settling operations will take longer, resulting in longer seek times.

[0117] In the third embodiment, the controller 30 sets the set value C to a value smaller than the learning value C. set At the same time, the controller 30 updates the settling threshold Th stl Make it smaller.

[0118] Set value C smaller than learning value C set If the vibration amplitude after the end of the settling operation is updated only, the settling threshold Th stl It is no longer guaranteed that the following will occur:

[0119] For example, if the settling count is set to a servo sampling number equivalent to 0.75 cycles of vibration, the guaranteed vibration amplitude is Th stl *(1+sqrt(2) / 2) / 2. Note that "*" is the operator that means multiplication. "sqrt" is the operator that means the square root calculation.

[0120] 9 is a diagram for explaining the relationship between the settling count and the guaranteed width. In this diagram, the horizontal axis indicates time and the vertical axis indicates position. The displacement of the magnetic head 22 vibrating at a certain frequency is plotted.

[0121] From FIG. 9, it can be seen that when the settling count is set to a value corresponding to the time length of one period α times (where α is a real number between 0 and 1), the ratio r of the guaranteed minimum width to the vibration amplitude can be expressed as the following equation (4). r = (1 - cos(πα)) / 2 (4)

[0122] Therefore, the controller 30 sets the set value C to a value smaller than the learning value C. set and settling threshold Th stl By reducing the amplitude of vibration after the end of the settling operation, the settling threshold Th stl It is possible to ensure that the following occurs:

[0123] The third embodiment will be described below. In the description of the third embodiment, the same matters as those in the first embodiment will not be described.

[0124] 10 is a flowchart illustrating an example of the operation of the magnetic disk device 1 of the third embodiment. The series of operations shown in this figure is performed as a part of the learning operation.

[0125] The controller 30 determines whether the learning value C of the settling count obtained by the learning operation is equal to or smaller than a predetermined threshold value (settling count threshold value Th c ) is greater than the settling count threshold Th c is determined in advance at the time of design, etc.

[0126] If the determination in the determination process of S401 is Yes, the controller 30 sets the set value C of the settling count to a value smaller than the learned value C of the settling count. set and update the settling threshold Th stl is made smaller than a reference value (S402). Note that the reference value is, for example, a settling threshold value Th stl This is the initial setting.

[0127] If the determination in the determination process of S401 is No, or after the process of S402, the operation of the magnetic disk device 1 of the third embodiment ends.

[0128] According to the example shown in FIG. 10, the learning value C of the settling count and the settling count threshold value Th c Settling count based on comparison with the set value C set and the settling threshold Th stl It was judged whether to reduce the settling count setting C set and the settling threshold Th stl The conditions for reducing the settling count C are not limited to the above. set and the settling threshold Th stl may be made smaller.

[0129] In this way, the controller 30 sets the settling count C set is updated to a value smaller than the learning value C, and the settling count setting C set The settling count threshold Th stl Make it smaller.

[0130] Therefore, the vibration amplitude after the end of the settling operation is equal to the settling threshold Th stl It is possible to guarantee that the following holds true and to reduce the seek time.

[0131] (Fourth embodiment) The controller 30 accumulates the access commands received from the host 2 in a command queue allocated to the RAM 27 or the like. When executing a plurality of access commands accumulated in the command queue, the controller 30 executes a command reordering operation. The command reordering operation is an operation that determines the execution order of the plurality of commands, independent of the order in which the commands are received from the host 2, so that the time required to execute the plurality of access commands is as short as possible.

[0132] More specifically, the controller 30 stores a reordering table in which multiple estimates of seek times under different conditions are recorded. The conditions are, for example, seek distances. The controller 30 obtains an execution order of multiple access commands that requires the shortest time using the estimates under each condition recorded in the reordering table. The controller 30 then executes the multiple access commands in the obtained order.

[0133] As mentioned above, the settling count C set The seek time changes according to the update of the seek time. If the seek time changes (especially if the seek time becomes long), optimal command reordering operation cannot be performed, and the performance of the magnetic disk drive decreases.

[0134] Therefore, in the fourth embodiment, the controller 30 sets the set value C of the settling count. set In this way, the performance of the magnetic disk device 1 is prevented from deteriorating due to the efficiency of the command reordering operation.

[0135] The fourth embodiment will be described below. In the description of the fourth embodiment, the same matters as those in the first embodiment will not be described.

[0136] FIG. 11 is a flowchart illustrating an example of the operation of the magnetic disk device 1 of the fourth embodiment.

[0137] First, the controller 30 sets the set value C of the settling count. set It is determined whether or not the has been updated (S501).

[0138] If the determination in the determination process of S501 is Yes, the controller 30 updates the reordering table (S502). More specifically, the controller 30 updates the set value C setThe controller 30 then updates the old estimate recorded in the reordering table with the new estimate obtained by the calculation.

[0139] If the determination in the determination process of S501 is No, the process of S502 is skipped.

[0140] Then, the controller 30 executes a command reordering operation based on the reordering table (S503), and the series of operations ends.

[0141] In this way, the controller 30 performs command reordering based on the estimated seek time. set The seek time estimate is updated accordingly.

[0142] This prevents the performance of the magnetic disk device 1 from deteriorating due to the inefficiency of the command reordering operation.

[0143] Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the scope and spirit of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]

[0144] 1 magnetic disk device, 2 host, 11 magnetic disk, 12 spindle motor, 13 lamp, 15 actuator arm, 16 VCM, 21 motor driver IC, 22 magnetic head, 22r read element, 22w write element, 23 HDC, 24 head IC, 25 RWC, 26 processor, 27 RAM, 28 FROM, 30 controller, 41 servo area, 42 data area, 50 track.

Claims

1. a magnetic disk having a plurality of tracks; A magnetic head; moving the magnetic head to a first track that is one of the plurality of tracks; acquiring a positioning error amount of the magnetic head from the first track at a servo sampling period; accessing the first track using the magnetic head after a positioning error amount equal to or smaller than a first threshold value has been continuously obtained a first set number of times; estimating a frequency of a residual vibration of the magnetic head due to movement of the magnetic head to the first track and an amplitude of the residual vibration; updating the first set number of times based on the frequency estimate of the residual vibration and the amplitude estimate of the residual vibration; A controller; A magnetic disk device comprising:

2. The controller updates the first set number of times with a value based on the frequency estimate when the amplitude estimate is greater than a second threshold value.

2. The magnetic disk drive according to claim 1.

3. The controller: updating the first set number of times with a value obtained by dividing a servo sampling frequency by the frequency estimate value; 2. The magnetic disk drive according to claim 1.

4. When the residual vibration of the magnetic head includes two or more vibrations whose amplitude estimates are greater than the second threshold value, the controller updates the first set number of times based on the frequency estimates of each of the two or more vibrations and a difference between the frequency estimates of the two or more vibrations.

3. The magnetic disk drive according to claim 2.

5. the controller multiplies a servo sampling frequency by an inverse of a minimum value of each of the frequency estimate values ​​of the two or more vibrations and a difference between the frequency estimate values ​​of the two or more vibrations, and updates the first set number of times with a value obtained by the multiplication; 5. The magnetic disk drive according to claim 4.

6. The controller updates the first set number of times and updates the first threshold value.

2. The magnetic disk drive according to claim 1.

7. The controller: updating the first threshold based on the frequency estimate and the amplitude estimate; 7. The magnetic disk drive according to claim 6.

8. the access is a write operation, The controller: if a positioning error amount obtained during a write operation on the first track becomes greater than a third threshold value, stopping the write operation; updating the first set number of times and updating the third threshold value based on the frequency estimate and the amplitude estimate; 2. The magnetic disk drive according to claim 1.

9. The controller: Dividing a servo sampling frequency by the frequency estimate to obtain a first value; updating the first set number of times with a second value smaller than the first value; decreasing the first threshold value in response to updating the first set number of times; 7. The magnetic disk drive according to claim 6.

10. The controller: Perform command reordering based on seek time estimates, updating the estimated value in response to updating the first set number of times; The magnetic disk drive according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Data recording device and control method therefor

    JP2000137961A

  • Magnetic disk device and on-track determination number setting method of magnetic disk device

    JP2018195364A

  • Controlling a write inhibit threshold based on vibration

    US20070242386A1

  • Disk Drive Write-Inhibit Control Using Adaptive PES Predictor

    US20140168806A1

  • Magnetic disk device and method of setting on-track determination number of magnetic disk device

    US10210893B2