Abstract:
Provided is a method and apparatus for adaptively controlling the timing of servo pulses in a disk drive in consideration of the amount of spindle jitter generated when a disk rotation speed is changed. The method of controlling the timing of a sector pulse for write operation includes: measuring a spindle jitter value in a data write mode; generating a timing correction value of a sector pulse, which indicates a position of a sector where data is written, according to the measured spindle jitter value; and generating a sector pulse by reflecting the timing correction value of the sector pulse.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
   This application claims the benefit of Korean Patent Application No. 10-2004-0038192, filed on May 28, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference. 
   BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a method and apparatus for controlling the timing of servo pulses in a disk drive, and more particularly, to a method and apparatus for adaptively controlling the timing of servo pulses in consideration of the amount of jitter generated when a rotational speed of a disk is changed. 
   2. Description of the Related Art 
   In general, hard disk drives (HDDs) used in computer systems are data storage devices that reproduce data recorded on a disk or record data on the disk using a magnetic head. As the capacity, density, and size of HDDs increase, bits per inch (BPI), which are a measure of the recording density in a rotational direction of a disk, and tracks per inch (TPI), which are a measure of the recording density in a radial direction of the disk, are also increasing. Accordingly, HDDs require a more delicate mechanism. 
   HDDs read servo information at regular time intervals from a disk, which rotates at a constant speed, using a transducer (referred to as a head), identify a location of a data sector based on the read servo information, and perform write or read operation. 
   Referring to  FIG. 1 , a pattern of servo information recorded on a disk of an HDD contains a preamble, a servo address/index mark SAM/SIM, a gray code, and burst signals A, B, C, and D. 
   The preamble has a gap before a servo sector, thereby providing a constant timing margin. The SAM represents a starting point of the servo sector, and the SIM provides information on a revolution of the disk. The gray code provides identification (ID) information of each track, and the burst signals are used to control a position of a head. 
   If a disk rotation speed in the HDD is constant, servo information is detected at regular time intervals. However, if the HDD wobbles due to an external impact or the like and the disk rotation speed is changed, the timing at which the servo information is detected is changed. If a write operation is performed when the timing is changed, a position of a sector where data is written is also changed. 
   In general, the value of spindle jitter (or referred to as spin jitter) represents a difference between a current rotational speed of a disk and a target disk rotation speed. If a spindle jitter value is “0”, the SAM is detected at regular time intervals. However, if it is not “0”, the SAM is detected at shorter or longer intervals. 
     FIG. 2A  illustrates that if data is recorded and reproduced when a spindle jitter value is “0”, a position of a sector pulse and a position of a sector where the data is recorded or reproduced are exactly aligned. 
     FIG. 2B  illustrates that if data is recorded when a spindle jitter value is a negative number and the data is reproduced when a spindle jitter value is 0, a position of a sector pulse for data read operation and a position of a sector where the data is recorded are misaligned. 
     FIG. 2C  illustrates that if data is recorded when a spindle jitter value is a positive number and the data is reproduced when a spindle motor is “0”, a position of a sector pulse for data read operation and a position of a sector where the data is recorded are misaligned. 
   Methods for correcting the timing of servo pulses including a sector pulse and a servo gate pulse according to the amount of generated spindle jitter have not been developed yet. Accordingly, if spindle jitter is excessively generated in a data write mode, data write operation cannot be performed normally. If data is written in this state, the possibility of errors increases in a data read mode since a position of a sector pulse and a position of a sector where the data is written are misaligned during reproduction. 
   Further, the possibility of errors increases even when spindle jitter is excessively generated in a data read mode, since a position of a sector pulse and a position of a sector where the data is written are misaligned. 
   Also, if the amount of spindle jitter is relatively large, a SAM signal exceeds a position of a servo gate pulse, resulting in a failure to detect the SAM signal normally. 
   SUMMARY OF THE INVENTION 
   Additional aspects and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the invention. 
   The present invention provides a method for controlling the timing of servo pulses including a sector pulse and a servo gate pulse to correct the servo pulses based on the amount of generated spindle jitter and perform stable write and read operation, and a disk drive using the method. 
   According to an aspect of the present invention, there is provided a method of controlling the timing of a sector pulse for write operation in a disk drive, the method including the operations of: measuring a spindle jitter value in a data write mode; generating a timing correction value of a sector pulse, which indicates a position of a sector where data is written, according to the measured spindle jitter value; and generating a sector pulse according to the timing correction value of the sector pulse. 
   According to another aspect of the present invention, there is provided a method of controlling the timing of a sector pulse for read operation in a disk drive, the method including the operations of: measuring a spindle jitter value in a data read mode; generating a timing correction value of a sector pulse, which indicates a position of a sector where data is read, according to the measured spindle jitter value; and generating a sector pulse according to the timing correction value of the sector pulse. 
   According to still another aspect of the present invention, there is provided a method of controlling the timing of a servo gate pulse in a disk drive, the method including: measuring a spindle jitter value in a data write mode and a data read mode; and correcting the timing of a servo gate pulse, which is used for obtaining servo information, according to the measured spindle jitter value. 
   According to yet another aspect of the present invention, there is provided a disk drive that is a data storage device, the disk drive including: a host interface, which transmits or receives data to or from a host device; a controller, which measures a spindle jitter value in a data write mode and a data read mode, and compensates for the timing of a predetermined servo control signal according to the measured spindle jitter value; and a writing/reading circuit, which writes data, which is received via the host interface, on a disk or reads data from the disk according to the predetermined servo control signal generated by the controller. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and/or other aspects and advantages of the invention will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which: 
       FIG. 1  is a diagram illustrating a pattern of servo information written on a disk of a conventional hard disk drive (HDD); 
       FIGS. 2A through 2C  are timing diagrams of major signals for explaining timing misalignment due to spindle jitter in the conventional art; 
       FIG. 3  is a top plan view of a head disk assembly (HDA) of a disk drive according to an aspect of the present invention; 
       FIG. 4  is an electrical circuit diagram of a disk drive using a method of controlling the timing of servo pulses according to an aspect of the present invention; 
       FIG. 5  is a flow chart of a method of controlling the timing of a sector pulse for write operation according to an aspect of the present invention; 
       FIG. 6  is a flow chart of a method of controlling the timing of a sector pulse for read operation according to an aspect of the present invention; 
       FIG. 7  is a flow chart of a method of controlling the timing of a servo gate pulse according to an aspect of the present invention; and 
       FIGS. 8A through 8C  are timing diagrams of major signals for explaining timing compensation of the sector pulse for write operation according to an aspect of the present invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures. 
   A hard disk drive (HDD) is a combination of electrical circuits and a head disk assembly (HDA) composed of mechanical components. 
     FIG. 3  shows an HDA of an HDD according to an aspect of the present invention. 
   An HDA  10  includes at least one magnetic disk  12 , which is rotated by a spindle motor  14 . The disk drive further includes a transducer  16 , which is slightly spaced from a disk surface  18 . 
   The transducer  16  can read or write information on the rotating disk  12  sensing a magnetic field of the disk  12  or magnetizing the disk  12 . Although the transducer  16  is illustrated as a single body in  FIG. 3 , it should be appreciated that the transducer  16  is divided into a write transducer for magnetizing the disk  12  and a separate read transducer for sensing the magnetic field of the disk  12 . The read transducer may be constructed from a magneto-resistive element (MR). The transducer  16  is typically referred to as a head. 
   The transducer  16  may be integrated with a slider  20 . The slider  20  generates an air bearing between the transducer  16  and the disk  12  surface. The slider  20  is coupled to a head gimbal assembly  22 . The head gimbal assembly  22  is attached to an actuator arm  24  having a voice coil  26 . The voice coil  26  is positioned adjacent to a magnetic assembly  28  to define a voice coil motor (VCM)  30 . If current is supplied to the voice coil  26 , a torque for rotating the actuator arm  24  about a bearing assembly  32  is generated. The actuator arm  24  rotates to cause the transducer  16  to traverse the disk surface  18 . 
   Information is typically stored in annular tracks on the disk  12 . Each track  34  generally includes a plurality of sectors. Each sector includes a data field and an identification field. The identification field contains a gray code that identifies sectors and tracks (cylinder). The transducer  16  traverses the disk  12  surface to read or write information on the track. 
     FIG. 4  is a circuit diagram of an electrical system  40  for controlling an HDD. The electrical system  40  includes a controller  42 , which is connected to the transducer  16  via a read/write (RAN) channel circuit  44  and a pre-amp circuit  46  according to an aspect of the present invention. 
   A digital signal processor (DSP), a microprocessor, a micro-controller, or the like can be used as the controller  42 . The controller  42  controls the R/W channel circuit  44  to read information from the disk  12  or write information on the disk  12 . The controller  42  generates a sector pulse, which indicates a position of a sector where data is written in a write mode and a position of a sector where data is read in a read mode, and also generates a servo gate pulse for obtaining a servo mark address signal. 
   The controller  42  is also connected to a VCM driving circuit  48  that supplies driving current to the voice coil  26 . The controller  42  supplies a control signal to the VCM driving circuit  48  to control the excitation of the VCM  30  and the movement of the transducer  16 . 
   Firmware for controlling the disk drive and various control data are stored in a memory  50 . 
   First, the operation of a conventional disk drive will be explained below. 
   In a data read mode, a pre-amp circuit  46  amplifies an electrical signal sensed by the transducer  16  from the disk  12  to enable signal processing. Then, the R/W channel circuit  44  codes the signal read from the disk into a digital signal according to the timing of a sector pulse for read operation generated by the controller  42 , converts the digital signal into stream data, and transmits the stream data to a host device (not shown) via a host interface circuit  54 . 
   Next, in a write mode, the disk drive receives data from the host device via the host interface circuit  54 . An internal buffer (not shown) of the interface circuit  54  temporarily stores the received data and sequentially outputs the stored data to the R/W channel circuit  44 . The R/W channel circuit  44  converts the data into a binary data stream suitable for a writing channel of the disk  12 . At a time when a sector pulse for a write operation is generated, the binary data stream is amplified by the pre-amp circuit  46 , and then written on the disk  12  by the transducer  16 . 
   The controller  42  according to an aspect of the present invention is designed to measure a spindle jitter value in a data write mode and/or a data read mode, and corrects the timing of the sector pulse and the servo gate pulse according to the measured spindle jitter value. Here, the spindle jitter value is obtained by measuring a servo address mark (SAM) detection cycle and calculating a difference between the measured cycle and a standard cycle. Methods of correcting the timing of the sector pulse and the servo gate pulse will be explained respectively in detail below with reference to flow charts in  FIGS. 5 through 7 . 
   The sector pulse indicates the timing at which data is written on a track in the data write mode, and indicates the timing at which data is read in the data read mode. The servo gate pulse is a window signal for detecting a SAM. 
   Among the methods of controlling the timing of servo pulses according to an aspect of the present invention, a method of controlling the timing of the sector pulse in the write mode will be first explained in detail with reference to the circuit diagram of  FIG. 4  and the flow chart of  FIG. 5 . 
   In operation S 501 , the controller  42  determines whether a write command is received from the host device through the host interface circuit  54 . 
   If it is determined in operation S 501  that the write command is received, the process goes to operation S 502 . In operation S 502 , the controller  42  measures a spindle jitter value ΔJ i  using a SAM detection cycle. 
   In operation S 503 , the measured spindle jitter value ΔJ i  is compared with a first threshold value TH 1 . Here, the first threshold value TH 1  is a maximum allowable spindle jitter value that does not cause functional problems without timing correction of servo pulses. 
   If it is determined in operation S 503  that the measured spindle jitter value ΔJ i  is less than or equal to the first threshold value TH 1 , the process goes to operation S 504 . In operation S 504 , a timing correction value α i  of the sector pulse for write operation is set to “0”. This means that spindle jitter has not been generated to a point where the timing of the sector pulse for the write operation needs to be corrected. 
   If it is determined in operation S 503  that the measured spindle jitter value ΔJ i  is greater than the first threshold value TH 1 , the process goes to operation S 505 . In operation S 505 , the measured spindle jitter value ΔJ i  is compared with a second threshold value TH 2 . Here, the second threshold value TH 2  is a maximum allowable spindle jitter value that can be compensated through timing correction. 
   If it is determined in operation S 505  that the spindle jitter value ΔJ i  is greater than or equal to the second threshold value TH 2 , the process goes to operation S 509 . In operation S 509 , the write operation that is being executed is stopped, and the disk is rotated a predetermined number of times, and then, a write retry mode is performed to execute the write operation again. 
   If it is determined in operation S 505  that the measured spindle jitter value ΔJ i  is less than the second threshold value TH 2 , the process goes to operation S 506 . In operation S 506 , a timing correction value α i  for correcting a position of the sector pulse for write operation is calculated. Here, the timing correction value α i  of the sector pulse for the write operation is designed to be proportional to the measured spindle jitter value ΔJ i . 
   In operation S 507 , a sector pulse for the write operation is generated by reflecting the timing correction value α i  of the sector pulse for the write operation obtained through operations S 504  and S 506 . 
   In operation S 508 , the data write operation is executed from a time when the sector pulse for the write operation is generated in operation S 507 . 
     FIG. 8A  is a timing diagram illustrating that the sector pulse for the write operation is generated in a 200 clock cycle if the measured jitter value is less than the first threshold value TH 1  and the timing correction value α i  is set to “0”. 
     FIG. 8B  is a timing diagram illustrating that the sector pulse for write operation is corrected in a 205 clock cycle if the measured spindle jitter value is a negative number between the first threshold value TH 1  and the second threshold value TH 2  and the timing correction value α i  is +5. It can be seen that a position of a sector pulse for read operation, which is generated in a 200 clock cycle, when the spindle jitter value is “0” during a data read operation is exactly aligned with a position of data written by a sector pulse for write operation, which is corrected in a 205 clock cycle. 
     FIG. 8C  is a timing diagram illustrating that the sector pulse for write operation is corrected in a 195 clock cycle if the measured spindle jitter value is a positive number between the first threshold value TH 1  and the second threshold value TH 2  and the timing correction value α i  is −5. It can be seen that a position of a sector pulse for read operation, which is generated in a 200 clock cycle, when the spindle jitter value is “0” during the data read operation is exactly aligned with a position of data written by a sector pulse for write operation, which is corrected in a 195 clock cycle. 
   Next, among the methods of controlling the timing of servo pulses according to the present invention, a method of controlling the timing of a sector pulse in a read mode will be explained in detail with reference to the circuit diagram of  FIG. 4  and the flow chart of  FIG. 6 . 
   In operation S 601 , the controller  42  determines whether a read command is received from the host device through the interface circuit  54 . 
   If it is determined in operation S 601  that the read command is received, the process goes to operation S 602 . In operation S 602 , the controller  42  measures a spindle jitter value ΔJ i  using a SAM detection cycle. 
   In operation S 603 , the measured spindle jitter value ΔJ i  is compared with a first threshold value TH 1 . Here, the first threshold value TH 1  is a maximum allowable spindle jitter value that does not cause functional problems without timing correction in the HDD. 
   If it is determined in operation S 603  that the measured spindle jitter value ΔJ i  is less than or equal to the first threshold value TH 1 , the process goes to operation S 604 . In operation S 604 , a timing correction value β i  of a sector pulse for read operation is set to “0”. This means that spindle jitter has not been generated to a point where the timing of the sector pulse for the read operation needs to be corrected. 
   If it is determined in operation S 603  that the measured spindle jitter value ΔJ i  is greater than the first threshold value TH 1 , the process goes to operation S 605 . In operation S 605 , the measured spindle jitter value ΔJ i  is compared with a second threshold value TH 2 . Here, the second threshold value TH 2  is a maximum allowable spindle jitter value that can be compensated through timing correction. 
   If it is determined in operation S 605  that the measured spindle jitter value ΔJ i  is greater than or equal to the second threshold value TH 2 , the process goes to operation S 609 . In operation S 609 , the read operation that is being executed is stopped, and the disk is rotated a predetermined number of times, and then, a read retry mode is performed to execute the read operation again. 
   If it is determined in operation S 605  that the measured spindle jitter value ΔJ i  is less than the second threshold value TH 2 , the process goes to operation S 606 . In operation S 606 , a timing correction value β i  for correcting a position of the sector pulse for read operation is calculated. Here, the timing correction value β i  of the sector pulse for the read operation is designed to be proportional to the measured spindle jitter value ΔJ i . 
   In operation S 607 , a sector pulse for the read operation is generated by reflecting the timing correction value β i  of the sector pulse for the read operation obtained through operations S 604  and S 606 . 
   In operation S 608 , the data read operation is executed from a time when the sector pulse for the read operation is generated in operation S 607 . 
   In this manner, although spindle jitter is generated, the timing of the sector pulses for write and read operations can be exactly corrected according to the value of the generated spindle jitter. 
   Finally, among the methods of controlling the timing of servo pulses according to an aspect of the present invention, a method of controlling the timing of a servo gate pulse in a write mode and a read mode will be explained in detail with reference to the circuit diagram of  FIG. 4  and the flow chart of  FIG. 7 . 
   In operation S 701 , the controller  42  determines whether a write command or read command is received from the host device through the host interface circuit  54 . 
   If it is determined in operation S 701  that the write command or read command is received, the process goes to operation S 702 . In operation S 702 , the controller  42  measures a spindle jitter value ΔJ i  using a SAM detection cycle. 
   Next, in operation S 703 , the timing of a servo gate pulse, which is used for obtaining a SAM, is corrected by reflecting the measured spindle jitter value ΔJ i . The method of correcting the timing of the servo gate pulse can be performed using the same principle as used in the above methods of correcting the timing of the sector pulses. 
   Next, in operation S 704 , the data read operation or data write operation is performed. 
   In this manner, although spindle jitter is generated, the timing of the servo gate pulse can be exactly corrected according to the value of the generated spindle jitter. 
   Since the timing of the sector pulse and the servo gate pulse is corrected according to the value of the generated spindle jitter although spindle jitter is generated in the data write and read modes, the data write and read operations can be executed without errors even when the rotational speed of the disk is changed. 
   The present invention can be executed as a method, an apparatus, a system, and so on. When the present invention is executed as software, elements of the present invention are code segments that perform indispensable operations. The programs or code segments can be stored in a processor-readable medium or transmitted by a computer data signal embodied in a carrier wave over a transmission medium or a communication network. The processor-readable medium includes any medium that can store or transmit information. The processor-readable medium may include an electronic circuit, a semiconductor memory device, a read-only memory (ROM), a flash memory, an erasable ROM (EROM), a floppy disk, an optical disk, a hard disk, a fiber-optic medium, a radio frequency (RF) network system, etc. The computer data signal includes any signal that can be transmitted over a transmission media, e.g., an electronic network channel, an optical fiber, air, an electronic system, and an RF network. 
   While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims. Accordingly, it is obvious that the present invention is not limited to specific constructions or arrangements but can be applied to various kinds of disk drives including HDDs. 
   Although a few embodiments of the present invention have been shown and described, it would be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the invention, the scope of which is defined in the claims and their equivalents.