Magnetic disk device
The magnetic disk drive system enhances positioning accuracy by using sensors and feedforward control with IIR filters to correct motor command values, addressing disturbances and improving precision.
Patent Information
- Application Number
- JP2024031640
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-01
- Publication Date
- 2025-09-11
AI Technical Summary
Magnetic disk drives face challenges in maintaining high positioning accuracy due to external disturbances, which affect the precision of the magnetic head's movement.
A magnetic disk drive system that includes sensors to detect vibrations and motor current, utilizing feedforward control to adjust the motor command values, and employs IIR filters for precise correction of motor control to mitigate disturbances, enhancing positioning accuracy.
The system improves positioning accuracy by autonomously adjusting motor control coefficients based on detected disturbances, ensuring stable and precise magnetic head movement.
Smart Images

Figure 2025133600000001_ABST
Abstract
Description
[Technical Field]
[0001] This embodiment relates to a magnetic disk device. [Background technology]
[0002] In a magnetic disk drive, a voice coil motor (VCM) moves a magnetic head in the radial direction of the magnetic disk. To suppress the influence of external disturbances on the positioning accuracy of the magnetic head, feedforward control based on various sensor values may be performed on the command value of the current that drives the VCM. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] U.S. Patent No. 10,984,831 [Patent Document 2] U.S. Patent No. 8,737,013 Summary of the Invention [Problem to be solved by the invention]
[0004] An object of one embodiment is to provide a magnetic disk drive with high positioning accuracy. [Means for solving the problem]
[0005] According to one embodiment, a magnetic disk drive includes a magnetic disk, a magnetic head, an actuator arm, a motor, a drive circuit, a first sensor, and a controller. The magnetic head writes and reads data to the magnetic disk. The magnetic head is provided at the tip of the actuator arm. The motor moves the actuator arm to move the magnetic head in the radial direction of the magnetic disk. The drive circuit generates a first current for driving the motor according to an instruction value and supplies the generated first current to the motor. The first sensor detects a predetermined physical quantity. The controller detects the position of the magnetic head and generates a first instruction value so as to reduce the deviation of the detected position of the magnetic head from the target position of the magnetic head. The controller corrects the first instruction value by first feedforward control based on the first detection value by the first sensor and inputs a second instruction value, which is the corrected first instruction value, to the drive circuit as an instruction value. The controller executes a first operation in response to the occurrence of a set event. In the first operation, the controller adjusts the coefficient of a transfer function of the first feedforward control by the following operation. That is, the controller acquires a first waveform that is a waveform of the deviation amount, and acquires a first frequency band from the first waveform that is a frequency band in which the amplitude is greater than a first threshold value. The controller adjusts the coefficient of a transfer function of the first feedforward control so as to suppress the first detection value in a second frequency band different from the first frequency band, and to output a correction amount for the first instruction value based on the first detection value in the first frequency band. [Brief explanation 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 an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the configuration of a magnetic disk according to the embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of a control block in a seek operation provided in the magnetic disk device of the embodiment. [Figure 4] FIG. 4 is a flowchart showing an example of the operation of the magnetic disk device according to the embodiment. [Figure 5] FIG. 5 is a diagram showing examples of various waveforms acquired in the magnetic disk device of the embodiment. [Figure 6] FIG. 6 is a diagram for explaining an example of a method for adjusting the numerator coefficient and the denominator coefficient of the IIR type transfer function of the FF controller according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0007] A magnetic disk drive according to an embodiment will be described in detail below with reference to the accompanying drawings, but the present invention is not limited to this embodiment.
[0008] (Embodiment) FIG. 1 is a schematic diagram showing an example of the configuration of a magnetic disk device 1 according to an embodiment.
[0009] The magnetic disk device 1 is connected to a host 2. The magnetic disk device 1 can receive access commands such as write commands and read commands from the host 2.
[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 first vibration sensor 17a, a second vibration sensor 17b, 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, a FROM (Flash Read Only Memory) 28, and a buffer memory 29.
[0012] The magnetic disk 11 is rotated at a predetermined rotation speed by a coaxially mounted spindle motor 12. The spindle motor 12 is driven by a motor driver IC 21.
[0013] Motor driver IC21 drives spindle motor 12 and VCM 16 under the control of processor 26. In particular, with regard to VCM 16, motor driver IC21 receives an instruction value for the current to be supplied to VCM 16 from processor 26 and generates a current of an amount corresponding to the instruction value. Motor driver IC21 then supplies the generated current to VCM 16. The current supplied to VCM 16 is referred to as the VCM current. The instruction value for the VCM current input from processor 26 to motor driver IC21 is referred to as the VCM current instruction value.
[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 VCM 16 moves the actuator arm, causing the magnetic head 22 to move in the radial direction of the magnetic disk 11. Note that a single magnetic head 22 may be provided with a plurality of either or both of the write element 22w and the read element 22r.
[0015] The VCM 16 is an example of a motor, and the motor driver IC 21 is an example of a drive circuit.
[0016] When the magnetic disk 11 is stopped from 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 spaced apart from the magnetic disk 11.
[0017] During a read operation, the head IC 24 amplifies and outputs a signal read from the magnetic disk 11 by the magnetic head 22, and supplies the amplified signal to the RWC 25. During a write operation, the head IC 24 amplifies a signal corresponding to the data to be written, which is supplied from the RWC 25, and supplies the amplified signal to the magnetic head 22.
[0018] The HDC 23 controls the transmission and reception of data to and from the host 2 via the I / F bus, and controls the buffer memory 29, etc.
[0019] The buffer memory 29 is used as a buffer for data sent and received between the host 2. For example, the buffer memory 29 is used to temporarily store data to be written or data read from the magnetic disk 11.
[0020] The buffer memory 29 is configured by a volatile memory capable of high-speed operation. The type of memory that configures the buffer memory 29 is not limited to a specific type. The buffer memory 29 may be configured by, for example, a dynamic random access memory (DRAM), a static random access memory (SRAM), or a combination of these. Note that the buffer memory 29 may also be configured by any non-volatile memory.
[0021] The RWC 25 performs modulation such as error correction coding on the data to be written that is supplied from the HDC 23, and supplies the modulated data to the head IC 24. The RWC 25 also performs demodulation, including error correction processing, on the signal that is read from the magnetic disk 11 and supplied from the head IC 24, and outputs the demodulated signal to the HDC 23 as digital data.
[0022] The processor 26 is, for example, a CPU (Central Processing Unit). The first vibration sensor 17a, the second vibration sensor 17b, the RAM 27, the FROM 28, and the buffer memory 29 are connected to the processor 26.
[0023] The FROM 28 is a non-volatile memory. The FROM 28 stores firmware (program data) and various operating parameters. The operating parameters may include, for example, threshold values Th1, Th2, and Th3, which will be described later. The firmware or various operating parameters may be stored in a predetermined area of the magnetic disk 11.
[0024] The RAM 27 is configured by, for example, DRAM, SRAM, or a combination of these. The RAM 27 is 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 operating parameters are temporarily stored.
[0025] The processor 26 performs overall control of the magnetic disk device 1 in accordance with firmware stored in the FROM 28 or the magnetic disk 11. For example, the processor 26 loads firmware from the FROM 28 or the magnetic disk 11 into the RAM 27, and controls the motor driver IC 21, head IC 24, RWC 25, HDC 23, etc. in accordance with the loaded firmware.
[0026] The first vibration sensor 17a and the second vibration sensor 17b can detect the amount of vibration. The amount of vibration detected by the vibration sensor 17 may be displacement, velocity, acceleration, or any other physical quantity. In order to suppress the effect on the accuracy of positioning control of vibrations that the magnetic disk device 1 receives from the outside or that occur within the magnetic disk device 1, the processor 26 executes feedforward control of the VCM current command value based on the values detected by the first vibration sensor 17a and the second vibration sensor 17b. The feedforward control of the VCM current command value will be described in detail later.
[0027] The configuration including the HDC 23, RWC 25, and processor 26 can also be considered as a controller 30 that controls the operation of the magnetic disk device 1. In addition to these, the controller 30 may also include other elements (such as a RAM 27, a FROM 28, or a buffer memory 29). The controller 30 may be a single SoC (System-on-a-Chip) or may be configured with two or more chips.
[0028] 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).
[0029] 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 the same number of actuator arms 15 and magnetic heads 22 as 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 integrally, or the plurality of magnetic heads 22 may be configured as a plurality of groups that can move independently.
[0030] 2 is a diagram showing an example of the configuration of the magnetic disk 11 according to the embodiment. Servo data used for positioning the magnetic head 22 is written to a magnetic layer formed on the surface of the magnetic disk 11 by, for example, a servo writer or self-servo writing (SSW).
[0031] 2 shows radially arranged servo areas 41 as an example of the arrangement of servo areas in which servo data is written. In the circumferential direction, a data area 42 is defined between two servo areas 41, where data can be written. A plurality of concentric tracks (e.g., track 50 in this figure) are set in the radial direction of the magnetic disk 11. An area on track 50 separated by servo areas 41 is also called a servo sector.
[0032] The servo data includes servo marks, Gray codes, burst patterns, and post codes. The servo marks indicate the start of the servo data. The Gray codes include IDs for identifying each track 50 on the magnetic disk 11, i.e., track numbers, and IDs for identifying each servo sector (i.e., servo areas 41) on the track 50, i.e., servo sector numbers. The burst patterns are data used to detect the amount of positional deviation from the center of the track indicated by the track number included in the Gray codes. The track numbers included in the Gray codes are given as integer values, for example, and demodulating the burst patterns makes it possible to obtain a decimal offset based on the position indicated by the track number. In other words, demodulating the burst patterns allows the current radial position of the magnetic head 22 to be obtained. The post codes are data used to correct the positional deviation of the track 50 shape, defined by the Gray codes and burst patterns, from the ideal track 50 shape.
[0033] When writing data to or reading data from the magnetic disk 11, the controller 30 performs positioning control of the magnetic head 22 based on the servo data read by the magnetic head 22 from the servo area 41. In the positioning control, the controller 30 generates a VCM current command value so as to reduce the deviation of the detected position from the target position of the magnetic head 22 (hereinafter referred to as the position deviation).
[0034] The positioning control includes control of a seek operation and a tracking operation. The seek operation is an operation of moving the magnetic head 22 in the radial direction toward a target track. The tracking operation is an operation of maintaining the magnetic head 22 on the target track.
[0035] In the seek operation, the controller 30 executes a seek settling operation. The seek settling operation is an operation that determines whether or not access to the magnetic disk 11 (i.e., writing or reading) can be started based on the position deviation amount. In one example, the seek settling operation determines whether or not the position deviation amount has remained within a set range for a predetermined time. When it is confirmed that the position deviation amount has remained within the set range for a predetermined time, the seek settling operation (and the seek operation) is completed, a tracking operation is started, and writing or reading to or from the magnetic disk 11 is started under the control of the tracking operation.
[0036] In this embodiment, the controller 30 executes feedforward control of the VCM current command value during the seek operation. By performing feedforward control of the VCM current command value, the controller 30 suppresses the effect of disturbances such as vibrations on the positioning accuracy during the seek operation.
[0037] Note that feedforward control of the VCM current command value can be performed based on values detected by any sensor in addition to or instead of the values detected by first vibration sensor 17a and second vibration sensor 17b. As an example, it is assumed here that feedforward control of the VCM current command value is performed based on the values detected by first vibration sensor 17a, second vibration sensor 17b, and the VCM current supplied to VCM 16.
[0038] Hereinafter, the detection value by the first vibration sensor 17a will be referred to as the first vibration detection value, the detection value by the second vibration sensor 17b will be referred to as the second vibration detection value, and the detection value of the VCM current supplied to the VCM 16 will be referred to as the VCM current detection value.
[0039] FIG. 3 is a diagram showing an example of a control block in a seek operation provided in the magnetic disk device 1 of the embodiment.
[0040] The magnetic disk device 1 includes a target speed table 101, a VCM controller 102, a VCM driver 103, a VCM current detector 104, a FF (Feed Forward) controller adjustment mechanism 105, a first FF controller 106, a second FF controller 107, a third FF controller 108, a head speed estimator 109, a settling determination mechanism 110, and four adders 111 to 114.
[0041] The target speed table 101 is stored in, for example, FROM 28 and is read by the processor 26. The VCM controller 102, FF controller adjustment mechanism 105, first FF controller 106, second FF controller 107, third FF controller 108, head speed estimator 109, settling determination mechanism 110, and four adders 111 to 114 are realized by the processor 26. The VCM driver 103 and VCM current detector 104 are provided in the motor driver IC 21.
[0042] In the description of this specification, addition includes not only calculations for adding positive values but also calculations for adding negative values, i.e., subtraction. In other words, some or all of the four adders 111 to 114 can also perform subtraction.
[0043] The magnetic disk device 1 controls the control object Ctgt using these functional components. The control object Ctgt includes the VCM 16, the actuator arm 15, the magnetic head 22, the head IC 24, and the RWC 25. The processor 26 detects the current radial position of the magnetic head 22 based on the servo data read from the servo sector, and acquires the detected position.
[0044] The processor 26 also obtains a target position Ptgt, which is a target position in the radial direction, through a predetermined calculation. The adder 111 obtains the amount of positional deviation in the radial direction by subtracting the detected position from the target position Ptgt.
[0045] The processor 26 obtains the target velocity of the magnetic head 22 in the radial direction based on the position deviation amount and the target velocity table 101 .
[0046] The target speed table 101 is information that defines the relationship between the seek distance and the target speed of the magnetic head 22 in the radial direction. The seek distance is the radial distance from the current position of the magnetic head 22 to the target track. The target speed table 101 defines the relationship between the seek distance and the target speed of the magnetic head 22, for example, so that the longer the seek distance, the faster the target speed of the magnetic head 22. The processor 26 searches the target speed table 101 using the position deviation amount as the seek distance to obtain the target speed of the magnetic head 22 that corresponds to the position deviation amount.
[0047] The target speed table 101 may be information in the form of a table or may be configured as a mathematical formula. The processor 26 may be configured to further fine-tune the target speed obtained based on the target speed table 101.
[0048] The speed of the magnetic head 22 and the speed of the VCM 16 can be easily converted into each other. Therefore, the target speed may be expressed as the motor speed of the VCM 16. In the following description, the speed (including the target speed) will be described as representing the speed of the magnetic head 22 in the radial direction. Furthermore, the speed of the magnetic head 22 will be described as representing the speed of the magnetic head 22 in the radial direction.
[0049] The head speed estimator 109 estimates the speed of the magnetic head 22 based on the position deviation amount and the VCM current command value.
[0050] The adder 112 obtains the velocity deviation amount by subtracting the estimated value of the velocity of the magnetic head 22 obtained by the head velocity estimator 109 from the target velocity.
[0051] The VCM controller 102 calculates a VCM current command value based on the velocity deviation. The VCM controller 102 calculates the VCM current command value so that the velocity deviation becomes smaller, in other words, so that the radial velocity of the magnetic head 22 approaches the target velocity. In one example, the VCM controller 102 calculates the VCM current command value so that the VCM current command value increases as the absolute value of the velocity deviation increases.
[0052] Adder 113 corrects the VCM current command value by calculating the addition of the correction amount by feedforward control to the VCM current command value obtained by VCM controller 102. The VCM current command value before correction by adder 113 is referred to as the first VCM current command value. The VCM current command value before correction by adder 113 is referred to as the second VCM current command value.
[0053] The VCM current command value that the head speed estimator 109 uses to estimate the speed of the magnetic head 22 is the first VCM current command value.
[0054] The VCM driver 103 generates a VCM current of an amount corresponding to the second VCM current command value. The VCM current generated by the VCM driver 103 is supplied to the VCM 16 of the control object Ctgt.
[0055] The VCM current detector 104 detects the amount of VCM current generated by the VCM driver 103 and supplied to the VCM 16. The amount of VCM current detected by the VCM current detector 104 is referred to as a VCM current detection value.
[0056] The first FF controller 30 calculates the amount of correction by feedforward control based on the value detected by the first vibration sensor 17a. The second FF controller 30 calculates the amount of correction by feedforward control based on the value detected by the second vibration sensor 17b. The third FF controller 30 calculates the amount of correction by feedforward control based on the VCM current detection value.
[0057] The adder 114 adds together the correction amounts obtained by the first FF controller 30, the second FF controller 30, and the third FF controller 30. The sum of the correction amounts obtained by the adder 114 is input to the adder 113. The adder 113 adds the sum of the correction amounts input from the adder 114 to the first VCM current command value, thereby obtaining a second VCM current command value.
[0058] Each of first vibration sensor 17a, second vibration sensor 17b, and VCM current detector 104 is an example of a second sensor. Each of first vibration sensor 17a, second vibration sensor 17b, and VCM current detector 104 is an example of a first sensor that detects a predetermined physical quantity. The physical quantity detected by first vibration sensor 17a and second vibration sensor 17b is vibration. The physical quantity detected by VCM current detector 104 is VCM current.
[0059] The correction amount by each of the first FF controller 30, the second FF controller 30, and the third FF controller 30 is calculated using an IIR (Infinite Impulse Response) filter. That is, each of the first FF controller 30, the second FF controller 30, and the third FF controller 30 has an IIR type transfer function.
[0060] Because IIR filters have internal feedback, they are capable of complex control with a simpler structure than FIR (Finite Impulse Response) filters. If an FIR filter were to be used to perform control equivalent to that of an IIR filter, it would be unavoidable to increase the order of the FIR filter, which would increase the amount of calculation required. Here, the calculation of the correction amount by each of the first FF controller 30, the second FF controller 30, and the third FF controller 30 is performed using an IIR filter, making it possible to perform highly accurate feedforward control with a small amount of calculation.
[0061] The FF controller adjustment mechanism 105 individually adjusts the coefficients of the transfer functions of the IIR filters used in the first FF controller 30, the second FF controller 30, and the third FF controller 30. The FF controller adjustment mechanism 105 adjusts both the numerator coefficient and the denominator coefficient for the transfer function of each IIR filter.
[0062] The settling determination mechanism 110 determines whether or not the sheet settling operation is being performed based on the positional deviation amount. While the sheet settling operation is being performed, a signal indicating that the sheet settling operation is being performed is input to the FF controller adjustment mechanism 105. The signal indicating whether or not the sheet settling operation is being performed is referred to as a settling flag.
[0063] The transition of the position deviation amount during the sheet settling operation is related to the accuracy of positioning control. When the accuracy of positioning control is deteriorated due to a disturbance (here, vibration or fluctuation in the VCM current), the transition of the position deviation amount during the seek settling operation may have a larger amplitude of the position deviation amount or the time required for the seek settling operation may be longer than when the accuracy of positioning control is good. In other words, the transition of the position deviation amount during the seek settling operation can be considered to reflect the influence of the disturbance. Therefore, the settling determination mechanism 110 adjusts the coefficients of the transfer functions of the IIR filters of the first FF controller 30, the second FF controller 30, and the third FF controller 30 based on the transition of the position deviation amount during the sheet settling operation.
[0064] In addition to the settling flag, the position deviation amount, the detection value by the first vibration sensor 17a, the detection value by the second vibration sensor 17b, and the VCM current detection value are input to the FF controller adjustment mechanism 105. Based on this input information, the FF controller adjustment mechanism 105 adjusts the coefficients of the transfer functions of the IIR filters of the first FF controller 30, the second FF controller 30, and the third FF controller 30.
[0065] The timing of adjusting the coefficients of the transfer functions of the IIR filters is not limited to a specific timing. The controller 30 may adjust the coefficients of the transfer functions of the IIR filters periodically, or may adjust the coefficients of the transfer functions of the IIR filters in response to the occurrence of a specific event.
[0066] As an example, the coefficients of the transfer functions of each IIR filter are adjusted when the positioning accuracy no longer satisfies a predetermined standard. More specifically, the controller 30 monitors IOPS (Input / Output Operations per Second). IOPS is the number of processes per unit time executed by the magnetic disk device 1 and is one index representing the performance of the magnetic disk device 1. When the IOPS falls below a predetermined threshold (referred to as threshold Th1), the FF controller adjustment mechanism 105 adjusts the coefficients of the transfer functions of each IIR filter. As the positioning accuracy deteriorates, seek errors may increase and IOPS may decrease. Therefore, when the IOPS falls below threshold Th1, which is preset as a reference value, the controller 30 adjusts the coefficients of the transfer functions of each IIR filter to restore the positioning accuracy.
[0067] FIG. 4 is a flowchart showing an example of the operation of the magnetic disk device 1 according to the embodiment.
[0068] The controller 30 determines whether IPOS is smaller than the threshold value Th1 (S101).
[0069] If IPOS is not smaller than the threshold value Th1 (S101: No), the control proceeds to S114, which will be described later.
[0070] If IPOS is smaller than the threshold value Th1 (S101: Yes), the controller 30 adjusts the coefficients of the transfer functions of the IIR filters through the operations of S102 to S113. The operations of S102 to S113 are an example of a first operation.
[0071] In the first operation, the controller 30 first determines whether or not the timing to perform a seek operation has arrived (S102). If the timing to perform a seek operation has not arrived (S102: No), the controller 30 executes the process of S102 again.
[0072] When the timing to perform a seek operation arrives (S102: Yes), the FF controller adjustment mechanism 105 turns off the feedforward control function of the first FF controller 30, the second FF controller 30, and the third FF controller 30 (S103). In S103, the FF controller adjustment mechanism 105 causes, for example, the first FF controller 30, the second FF controller 30, and the third FF controller 30 to each output 0 as a correction amount. As a result, the first FF controller 30, the second FF controller 30, and the third FF controller 30 enter a state in which they do not perform feedforward control, and positioning control begins under the influence of disturbances such as vibrations and VCM current fluctuations.
[0073] The FF controller adjustment mechanism 105 starts acquiring the first vibration detection value, the second vibration detection value, the VCM current detection value, and the position deviation amount (S104), and the controller 30 then starts a seek operation (S105).
[0074] The detected position is acquired from each servo sector in synchronization with the rotation angle of the magnetic disk 11. The controller 30 constitutes a sampled value control system that determines the input to a control target (for example, the VCM 16) at regular time intervals. The VCM 16 can perform multi-rate control, in which it is driven at a cycle that is 1 / N of the cycle of acquiring the detected position (N is an integer equal to or greater than 2). However, the timing for acquiring the first vibration detection value, second vibration detection value, VCM current detection value, and position deviation amount is the same as the timing for acquiring the detected position. During the seek operation, the time transitions of the first vibration detection value, second vibration detection value, VCM current detection value, and position deviation amount are acquired as their respective waveforms.
[0075] When the seek operation is completed (S106), the FF controller adjustment mechanism 105 finishes acquiring the first vibration detection value, the second vibration detection value, the VCM current detection value, and the position deviation amount (S107).
[0076] The FF controller adjustment mechanism 105 acquires a waveform during the seek settling operation from the waveform of the position deviation amount acquired during the seek operation (S108).
[0077] During the seek settling operation of the seek operation, the settling determination mechanism 110 keeps the settling flag in an on state. Based on the settling flag, the FF controller adjustment mechanism 105 identifies and acquires the waveform during the seek settling operation from among the waveforms of the position deviation amount. The waveform of the position deviation amount during the seek settling operation acquired by the process of S108 is referred to as the settling position waveform.
[0078] 5 is a diagram showing examples of various waveforms acquired in the magnetic disk device 1 of the embodiment. This diagram shows the waveforms of the position deviation amount from the start of the seek operation to the completion of the seek operation, the VCM current detection value, the first vibration detection value, the second vibration detection value, and the settling flag.
[0079] When the seek operation starts, an acceleration period begins in which the magnetic head 22 is rapidly accelerated toward the target track. Then, as the magnetic head 22 approaches the target track, a deceleration period begins in which the magnetic head 22 is rapidly decelerated. After the deceleration period, when the position deviation amount becomes equal to or less than a predetermined value, a sheet settling operation is executed. By keeping the settling flag on, the FF controller adjustment mechanism 105 is notified that the sheet settling operation is in progress. The FF controller adjustment mechanism 105 acquires a waveform during the sheet settling operation regarding the position deviation amount.
[0080] The waveforms of the VCM current detection value, the first vibration detection value, and the second vibration detection value are acquired during the period from the start of the seek operation to the completion of the seek operation (in other words, the seek settling operation).
[0081] The settling position waveform is an example of a first waveform. The waveform of the first vibration detection value, the waveform of the second vibration detection value, and the waveform of the VCM current detection value are each an example of a second waveform.
[0082] Returning to the explanation of Figure 4. Following the process of S108, the FF controller adjustment mechanism 105 performs frequency analysis on the waveform of the first vibration detection value, the waveform of the second vibration detection value, the waveform of the VCM current detection value, and the settling position waveform (S109).
[0083] The frequency analysis is, for example, an analysis using a discrete Fourier transform. Through the frequency analysis, the FF controller adjustment mechanism 105 acquires, for each waveform, a first characteristic indicating the relationship between frequency and amplitude (referred to as gain) and a second characteristic indicating the relationship between frequency and phase.
[0084] The FF controller adjustment mechanism 105 identifies a frequency band in which the gain in the settling position waveform is greater than a threshold value Th2 based on the first characteristic associated with the settling position waveform (S110).
[0085] A reference value for determining whether correction by feedforward control is necessary is preset as threshold value Th2. That is, frequency bands in which the gain is greater than threshold value Th2 are frequency bands in which correction of the VCM current command value by feedforward control is necessary, and frequency bands in which the gain is not less than threshold value Th2 are considered frequency bands in which correction of the VCM current command value by feedforward control is not necessary. In S110, frequency bands in which correction by feedforward control is necessary are identified. The frequency bands obtained by the processing of S110 are referred to as target frequency bands.
[0086] The target frequency band is an example of a first frequency band, and a frequency band other than the target frequency band is an example of a second frequency band.
[0087] The FF controller adjustment mechanism 105 acquires the coherence in the target frequency band between the waveforms of the first vibration detection value, the second vibration detection value, and the VCM current detection value and the settling position waveform (S111).
[0088] Then, the FF controller adjustment mechanism 105 identifies a physical quantity whose coherence in the target frequency band is greater than a threshold value Th3 from among the vibration detected by the first vibration sensor 17a, the vibration detected by the second vibration sensor 17b, and the VCM current detected by the VCM current detector 104 (S112).
[0089] In S112, the disturbance that has caused the deterioration of positioning control is identified. A reference value, threshold value Th3, is set in advance to determine whether the physical quantity to be detected by each sensor is a disturbance that has caused the deterioration of positioning control. A physical quantity whose coherence is greater than threshold value Th3 is considered to be a disturbance that has caused the deterioration of positioning control, and a physical quantity whose coherence is not greater than threshold value Th3 is not considered to be a disturbance that has caused the deterioration of positioning control. The physical quantity identified by the processing of S112 is referred to as a target physical quantity.
[0090] The FF controller adjustment mechanism 105 adjusts the coefficient of the transfer function of the FF controller that performs feedforward control based on the target physical quantity out of the first FF controller 30, the second FF controller 30, and the third FF controller 30 (S113). In S113, both the numerator coefficient and the denominator coefficient of the IIR type transfer function of the FF controller that performs feedforward control based on the target physical quantity are adjusted.
[0091] 6 is a diagram for explaining an example of a method for adjusting the numerator coefficient and the denominator coefficient of the IIR type transfer function of the FF controller according to the embodiment. Part (A) is a graph showing a first characteristic, and Part (B) is a graph showing a second characteristic. The graph in Part (A) and the graph in Part (B) each show the frequency characteristic of a target physical quantity and the target frequency characteristic (hereinafter referred to as the target frequency characteristic) of the FF controller that performs feedforward control based on the target physical quantity.
[0092] As shown in Part (A) and Part (B), the FF controller adjustment mechanism 105 designs the target frequency characteristics so as to suppress the target physical quantity in frequency bands other than the target frequency band and pass the target physical quantity in the target frequency band.
[0093] The FF controller adjustment mechanism 105 calculates the numerator coefficient and the denominator coefficient of the transfer function of the FF controller so that the frequency characteristics of the transfer function of the FF controller match or are close to the target frequency characteristics. The calculation algorithm for calculating the numerator coefficient and the denominator coefficient of the transfer function to achieve the target frequency characteristics is not limited to a specific algorithm. The FF controller adjustment mechanism 105 calculates the numerator coefficient and the denominator coefficient of the transfer function of the FF controller based on any known calculation algorithm.
[0094] Returning to FIG. 4 again. After the process of S113, when the next seek operation is performed, the FF controller adjustment mechanism 105 turns on the feedforward control function by the first FF controller 30, the second FF controller 30, and the third FF controller 30 (S114). Then, the control proceeds to S101.
[0095] In the example described above, the magnetic disk device 1 includes three sensors for detecting physical quantities that could be disturbances: the first vibration sensor 17a, the second vibration sensor 17b, and the VCM current detector 104. The number of sensors for detecting physical quantities that could be disturbances included in the magnetic disk device 1 is not limited to a specific number, as long as it is one or more.
[0096] Furthermore, the number of FF controllers included in the controller 30 is not limited to three. The controller 30 includes the same number of FF controllers as the number of sensors for detecting physical quantities that could become disturbances, and each FF controller performs feedforward control based on the physical quantities detected by a different sensor.
[0097] 4, the controller 30 characterized the FF controller among the three FF controllers (the first FF controller 106, the second FF controller 107, and the third FF controller 108) whose transfer function coefficients were to be adjusted based on the coherence in the target frequency band. The method for identifying the FF controller whose transfer function coefficients were to be adjusted is not limited thereto. The controller 30 may also target all three FF controllers whose transfer function coefficients were to be adjusted.
[0098] As described above, according to the embodiment, controller 30 generates a first VCM current command value using target speed table 101 and VCM controller 102 so as to reduce the position deviation amount. Then, controller 30 corrects the first VCM current command value using feedforward control based on physical quantities detected by the sensors, and inputs the corrected first VCM current command value, which is a second VCM current command value, to motor driver IC21. Motor driver IC21 generates a VCM current of an amount corresponding to the second VCM current command value using VCM driver 103, and supplies the generated VCM current to VCM 16. Controller 30 executes a first operation (see, for example, S101 to S113 in FIG. 4 ) in response to the occurrence of a set event. In the first operation, controller 30 acquires a waveform of the position deviation amount and acquires, as a target frequency band, a frequency band in which the waveform of the position deviation amount is greater than threshold value Th2. The controller 30 then adjusts the coefficient of the transfer function of the feedforward control so as to suppress the values detected by the sensor in frequency bands other than the target frequency band and to output a correction amount for the first VCM current command value based on the target frequency band.
[0099] The controller 30 can autonomously adjust the coefficients of the transfer function of the feedforward control, thereby improving the positioning accuracy.
[0100] Furthermore, according to the embodiment, the magnetic disk device 1 includes a plurality of sensors that detect physical quantities, and the controller 30 performs correction on the first VCM current command value using a plurality of feedforward controls based on the physical quantities detected by the different sensors. In the first operation, the controller 30 selects one or more of the plurality of feedforward controls as targets for adjusting the coefficients of the transfer functions.
[0101] Therefore, it is possible to improve the positioning accuracy.
[0102] Furthermore, according to the embodiment, the controller 30 acquires multiple waveforms from multiple sensors. The controller 30 acquires coherence in a target frequency band between each of the multiple waveforms acquired from the multiple sensors and the waveform of the position deviation amount. Then, from among the multiple feedforward controls, the controller 30 identifies a feedforward control based on a physical quantity whose coherence is greater than a threshold value Th3, and adjusts the coefficient of the transfer function of the identified feedforward control (see, for example, S112 and S113 in FIG. 4).
[0103] That is, among the physical quantities detected by the sensors, the physical quantity that is the disturbance that has caused the deterioration of positioning control is identified, and the coefficient of the transfer function of the feedforward control based on the identified physical quantity is adjusted, thereby improving the positioning accuracy.
[0104] Furthermore, according to the embodiment, the controller 30 acquires the waveforms of the respective sensors during the seek operation period, and acquires the waveform of the position deviation amount during the seek settling operation period.
[0105] Therefore, the positioning accuracy in the seek operation is improved, and the performance of the magnetic disk device 1 is improved.
[0106] The first operation may be performed during a tracking operation in addition to or instead of a seek operation. For example, the controller 30 may acquire waveforms of multiple sensors and waveforms of position deviation amounts during part or all of the tracking operation. The controller 30 may then use these acquired waveforms to identify a target frequency band, identify a target feedforward control for adjusting the coefficient of a transfer function based on coherence in the target frequency band, and so on.
[0107] Furthermore, according to the embodiment, the controller 30 monitors the number of processes per unit time of the magnetic disk device 1, and executes the first operation when the number of processes per unit time becomes smaller than the threshold value Th1 (see, for example, S101 in FIG. 4).
[0108] Therefore, if the performance is degraded, it is possible to recover the performance by adjusting the coefficients of the transfer function.
[0109] Also, according to the embodiment, each FF controller has an IIR type transfer function, and the controller 30 adjusts the coefficient included in the numerator of the transfer function and the coefficient included in the denominator of the transfer function.
[0110] Compared to FIR filters, IIR filters have a simpler structure and are capable of complex control. Each FF controller performs correction using IIR filter calculations, enabling highly accurate feedforward control with a small amount of calculation. Furthermore, controller 30 adjusts the coefficients included in the numerator and denominator of the transfer function, allowing the FF controller's transfer function to have frequency characteristics that are as close as possible to the target frequency characteristics. In other words, it is possible to achieve the target frequency characteristics easily and accurately.
[0111] The transfer function of each FF controller does not have to be an IIR type transfer function, but some or all of the transfer functions of the FF controllers may be FIR type transfer functions.
[0112] Although several 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 embodied 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 within the scope and spirit of the invention, and are also included in the scope of the invention and its equivalents as defined in the claims. [Explanation of symbols]
[0113] 1 magnetic disk device, 2 host, 11 magnetic disk, 12 spindle motor, 13 ramp, 15 actuator arm, 16 VCM, 17a first vibration sensor, 17b second vibration sensor, 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, 29 buffer memory, 30 controller, 41 servo area, 42 data area, 50 track, 101 target speed table, 102 VCM controller, 103 VCM driver, 104 VCM current detector, 105 FF controller adjustment mechanism, 106 first FF controller, 107 second FF controller, 108 third FF controller, 109 head speed estimator, 110 settling determination mechanism, 111, 112, 113, 114 adder.
Claims
1. A magnetic disk, a magnetic head for writing data to and reading data from the magnetic disk; an actuator arm having the magnetic head attached to its tip; a motor that moves the actuator arm to move the magnetic head in the radial direction of the magnetic disk; a drive circuit that generates a first current for driving the motor in an amount corresponding to an instruction value and supplies the generated first current to the motor; a first sensor that detects a predetermined physical quantity; Detecting the position of the magnetic head; generating a first instruction value so as to reduce the deviation of the detected position of the magnetic head from the target position of the magnetic head; correcting the first indication value by first feedforward control based on a first detection value by the first sensor; inputting a second instruction value, which is the corrected first instruction value, as the instruction value to the drive circuit; Execute a first action in response to the occurrence of a set event; the first operation is an operation of acquiring a first waveform that is a waveform of the deviation amount, acquiring a first frequency band that is a frequency band in which the amplitude is greater than a first threshold value from the first waveform, and adjusting a coefficient of a transfer function of the first feedforward control so as to suppress the first detection value in a second frequency band different from the first frequency band and to output a correction amount for the first indication value based on the first detection value in the first frequency band. A controller; A magnetic disk device comprising:
2. the device further includes a plurality of second sensors each detecting a predetermined physical quantity, the plurality of second sensors including the first sensor; the controller corrects the first instruction value by a plurality of second feedforward controls, the plurality of second feedforward controls including the first feedforward control, and each of the plurality of second feedforward controls generates a correction amount for the first instruction value based on a second detection value obtained by a different one of the plurality of second sensors; In the first operation, the controller adjusts a coefficient of a transfer function of each of one or more second feedforward controls among the plurality of second feedforward controls so as to suppress a second detection value in the second frequency band and generate a correction amount for the first instruction value based on the second detection value in the first frequency band.
2. The magnetic disk drive according to claim 1.
3. In the first operation, the controller: acquiring a plurality of second waveforms, each of the plurality of second waveforms being a waveform of a second detection value from each of the plurality of second sensors; obtaining coherence between each of the plurality of second waveforms and the first waveform in the first frequency band; identifying a second feedforward control based on a second detection value constituting a second waveform having the coherence greater than a second threshold value from among the plurality of second feedforward controls; adjusting the coefficient of the transfer function of the identified second feedforward control; 3. The magnetic disk drive according to claim 2.
4. each of the plurality of second waveforms is a waveform during a seek operation; the first waveform is a waveform during a seek settling operation; 4. The magnetic disk drive according to claim 3.
5. The transfer function is an infinite impulse response (IIR) type transfer function having coefficients in both the numerator and the denominator, In the first operation, the controller adjusts a coefficient included in a numerator of the transfer function and a coefficient included in a denominator of the transfer function.
2. The magnetic disk drive according to claim 1.
6. each of the transfer functions of the plurality of second feedforward controls is an IIR type transfer function including a coefficient in each of a numerator and a denominator; In the first operation, the controller adjusts the coefficients included in the numerator and the denominator.
5. The magnetic disk drive according to claim 2.
7. the first sensor is a vibration sensor or a sensor that detects the amount of the first current supplied to the motor; 2. The magnetic disk drive according to claim 1.
8. the plurality of second sensors include a vibration sensor and a sensor that detects the amount of the first current supplied to the motor; 5. The magnetic disk drive according to claim 2.
9. the controller monitors the number of processes per unit time of the magnetic disk device; the set event is that the number of transactions is less than a third threshold value; 5. The magnetic disk drive according to claim 1.
Citation Information
Patent Citations
Data storage device compensating for seek vibration using vibration sensor
US10984831B1
Disk drive selecting disturbance signal for feed-forward compensation
US8737013B2