1. TECHNICAL FIELD OF THE INVENTION
The embodiments of the invention relate generally to disk drives and, more particularly, to providing detection of baseline popping noise.
2. DESCRIPTION OF RELATED ART
Varieties of memory storage devices, such as magnetic disk drives, are available to store data and are used to provide data storage for a host device, either directly, or through a network. Those networks may be a storage area network (SAN) or a network attached storage (NAS). Typical host devices include stand alone computer systems such as a desktop or laptop computer, enterprise storage devices such as servers, storage arrays such as a redundant array of independent disk (RAID) arrays, storage routers, storage switches and storage directors, and other consumer devices such as video game systems and digital video recorders. These devices generally provide high storage capacity in a cost effective manner.
One class of disk storage devices uses magnetic media to store information. In order to ensure that digital data is written to the disk and retrieved correctly, it is desirable to have defect-free media and a controller that is capable of correctly reading back the stored data. For media defects, various defect scanning techniques may be utilized to map defective sectors after the disk is manufactured. For example, media defects that cause dropin and dropout conditions (due to too much or not enough magnetic material on the magnetic media) may be determined during a defect scan. Likewise, transient voltage aberrations may be detected using thermal asperity (TA) defect detection schemes during a defect scan. These media defects are generally detected by performing a self-scan by storing a known test pattern and looking for changes in the pattern during a read back. However, other types of defective conditions are not strictly media related and may not be resolved by reading back a test pattern to map out a defective sector.
Baseline popping (BLP), which causes baseline popping noise (BLPN), is characterized by the spurious popping of baseline between readback pulses from magnetoresistive heads. One of the causes of BLP is due to head instability. Unlike the media defects noted above which are media-related, BLP is a non-stationary defect attributed to head-related phenomenon. Since BLP is not necessarily fixed to a given region (e.g. sector) of the disk, the defect may not be readily mapped to a defect entry table, as with media-related defects. Furthermore, since a BLP event may occur during normal use of the disk at random times and at random locations, detection of a BLP event during use is helpful.
When a BLP event occurs during the time user data is being read from the disk, there is most likely some form of data correction mechanism (such as error correction code (ECC)) that may be implemented to correct for data errors. Thus, a BLP event during user data reads may not be critical for correct data reads. However, there are periods when a BLP event may have a more significant impact. For example, head instability conditions that cause a BLP event may result when servo information is being read from the disk. An erroneous servo read may cause a faulty position error signal (PES) to be generated. A faulty PES may then throw the tracking off, so that erroneous information is read from the disk. Since error correction is generally not used with servo information, it is advantageous to know when such BLP events occur during servo.
Accordingly, there is a need for a technique to diagnose or detect a BLP event during servo reads.
The present invention is directed to apparatus and methods of operation that are further described in the following Brief Description of the Drawings, the Detailed Description of the Embodiments of the Invention, and the Claims. Other features and advantages of the present invention will become apparent from the following detailed description of the embodiments of the invention made with reference to the accompanying drawings.
The embodiments of the present invention may be practiced in a variety of settings that implement a disk drive, such as a hard disk drive (HDD), or other data storage devices. Although the technique described below pertains to disk drives that utilize demodulation bursts, it need not be limited strictly to demodulation bursts or disk drive. Furthermore, the example embodiments described below use a time averaging filter to detect BLP events, but other embodiments may use other techniques to detect BLP.
Disk drive 100 typically includes one or more read/write heads 102 that are coupled to an arm 103 that is moved by an actuator 104 over the surface of the disk 101 either by translation, rotation or both. Disk drive 100 may have one disk 101, or multiple disks with multiple read/write heads 102. Disk drive 100 includes a disk controller module 110 that is utilized for controlling the operation of the disk drive, including read and write operations to disk 102, as well as controlling the speed of the servo or motor and the motion of actuator 104. Disk controller module 110 may also include an interface to couple to an external device, such as a host device. It is to be noted that disk drive 100 is but one example and other disk drives may be readily implemented to practice various embodiments of the invention.
Disk drive 100, or any other equivalent disk drive, may be implemented in a variety of devices. For example, disk drive 100 may be implemented in a handheld unit, such as a handheld audio unit. In one such embodiment, disk drive 100 may include a small form factor magnetic disk and incorporated into or otherwise used by handheld audio unit to provide general storage, including storage of audio content.
In another example embodiment, disk drive 100 may be implemented in a computer. In one such embodiment, disk drive 100 may include a magnetic disk for various applications, including enterprise storage applications. Disk drive 100 may be incorporated into or otherwise used by a computer to provide general purpose storage and the computer may be attached to a storage array, such as a redundant array of independent disks (RAID) array, storage router, edge router, storage switch and/or storage director. Disk drive 100 may be implemented in a variety of computers (or computing devices), such as desktop computers and notebook computers.
In another example embodiment, disk drive unit 100 may be implemented in a wireless communication device to provide general storage. In one such embodiment, the wireless communication device may communicate via a wireless telephone network such as a cellular, personal communications service (PCS), general packet radio service (GPRS), global system for mobile communications (GSM), integrated digital enhanced network (iDEN) or other wireless communications network capable of sending and receiving telephone calls. Furthermore, the wireless communication device may communicate via the Internet to access email, download content, access websites, and provide streaming audio and/or video programming. In this fashion, the wireless communication device may place and receive telephone calls, text messages, short message service (SMS) messages, pages and other data messages that may include attachments such as documents, audio files, video files, images and other graphics.
Still as another example, disk drive 100 may be implemented in the personal digital assistant (PDA). In one such embodiment, disk drive 100 may include a small form factor magnetic hard disk to provide general data storage. Still in another embodiment, disk drive 100 may be implemented in a television set (such as a high-definition television) or a digital video recorder to store video information.
In these various embodiments for disk drive 100, a variety of data, as well as program instructions, may be stored. Stored data may include, and is not limited to, general data, data for motion picture expert group (MPEG) audio layer 3(MP3) files or Windows Media Architecture (WMA) files, video content such as MPEG4 files, JPEG (Joint Photographic Expert Group) files, bitmap files and files stored in other graphics formats, emails, webpage information and other information downloaded from the Internet, address book information, and/or any other type of information that may be stored on a disk medium.
Processing module 207 may be implemented using one or more microprocessors, micro-controllers, digital signal processors, microcomputers, central processing units, field programmable gate arrays, programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, and/or any device that manipulates signal (analog and/or digital) based on operational instructions. The operational instructions may reside in memory module 208 or may reside elsewhere. When processing module 207 is implemented with two or more devices, each device may perform the same steps, processes or functions in order to provide fault tolerance or redundancy. Alternatively, the function, steps and processes performed by processing module 207 may be split between different devices to provide greater computational speed and/or efficiency.
Memory module 208 may be a single memory device or a plurality of memory devices. Such a memory device may be a read-only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, and/or any device that stores digital information. It is to be noted that when processing module 207 implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, memory module 208 storing the corresponding operational instructions may be embedded within, or reside external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Furthermore, memory module 208 stores, and the processing module 207 executes, operational instructions that may correspond to one or more of the steps or a process, method and/or function described herein.
Each of these elements of controller 210 may be implemented in hardware, firmware, software or a combination thereof, in accordance with the broad scope of the present invention. While particular bus architecture is shown in
In one embodiment, one or more modules of disk controller 210 are implemented as part of a system on a chip (SoC) integrated circuit. In the particular embodiment shown, disk controller 210 is part of a SoC integrated circuit that may include other circuits, devices, modules, units, etc., which provide various functions such as protocol conversion, code encoding and decoding, power supply, etc. In other embodiments, the various functions and features of disk controller 210 may be implemented in a plurality of integrated circuits that communicate and combine to perform the functionality of disk controller 210.
When the drive unit 100 is manufactured, disk formatter 203 generally writes a plurality of servo wedges along with a corresponding plurality of servo address marks at radial distance along the disk 101. The servo address marks are used by the timing generator for triggering a “start time” for various events employed when accessing the medium of the disk 101. Generally, these servo address marks are used to separate a particular track of the disk into a number of sectors for formatting the disk. Similarly, a symbol is a term used to identify the smallest element of user data that is transferred between a controller and a channel during a disk transfer. In today's disk drive systems, symbol sizes range from 8-bits to 12-bits, however other sizes may be applicable.
As noted in the Background section above, a BLP event may occur during a period when information is being read from the disk. However, the BLP event may have a more critical impact if it occurs during the time servo information is being read. Accordingly,
In particular, demodulation bursts (also referred to simply as bursts) 313 are used to provide radial positioning of the head in respect to the particular track. Bursts 313 are generally comprised of a waveform having a number of cycles and typically at a single predetermined frequency. However, in other embodiments, bursts 313 may have other forms and multiple frequencies. The use of bursts to maintain correct tracking of the head is generally known in the art.
If there is an instability condition that causes a BLP event during a read, the BLP noise may impact the information being read from servo field 301. As described below, the BLP event which impacts servo field 301 is detectable by analyzing the effect the BLP noise has on bursts 313. However, other embodiments of the invention may readily operate on other servo fields, as well as on data field 302, and the practice of the invention is not limited to using only the bursts 313.
In
The BLP model may be represented as:
V
BLP(t)={A·e−(t/τ
where A is the BLP amplitude and τd is the decay-time constant. With regard to waveform 400 of
The sampled servo field information is then processed by servo detection module 503, while sampled user data information is processed by data detection module 502 to generate data output 510. Servo detection module 503 processes the servo information (such as servo field 301) and generates various servo-related signals. Servo detection module 503 also processes the demodulation bursts 504 to generate a burst value 511 for performing the track alignment. It is to be noted that various other signals are generated by servo detection module 503, but only the signals related to demodulation bursts 504 are shown, since only the bursts are of relevance to detecting the BLP event in this embodiment of the invention. Furthermore, in other embodiments the two functions performed by detection modules 502 and 503 may be performed in a single detection module.
As shown in
Accordingly,
In order to allow flexibility with the length of the samples being filtered, digital filter 602 allows programmability to select the particular filter length. A filter length value FILT_LGTH is provided to filter 602 to set the length of the filter. In the particular embodiment shown, FILT_LGTH is a programmable value stored in a programmable register 603. The FILT_LGTH value sets the filter length depending on the length of the input 601 and in one embodiment, FILT_LGTH may take on values to support length of 16 and 32. In one embodiment, a one-bit register is used for register 603, in which the “0” or “1” state of the bit selects the respective length of 16 or 32. It is to be noted that other lengths may be readily supported by setting the value of FILT_LGTH.
The output of filter 602 is coupled to an absolute value module 606. Since the output from filter 602 may be positive or negative, an absolute value of the filter output from module 606 is used for the threshold comparison. The absolute value of the output of filter 602 is then coupled to one input of comparator 604. The other input of comparator 604 is coupled to receive a threshold value THRSH. In one embodiment, THRSH is programmable and stored in programmable register 605. The THRSH value is utilized to set a threshold level to trip comparator 604 to indicate that a BLP event has occurred. The particular threshold level to be set by the THRSH value is dependent on the BLP detection level of the signal output from filter 602. In one embodiment, THRSH is an 8-bit value. In other embodiments, THRSH may have different number of bits. Accordingly, when filter 602 detects a BLP event with the bursts, output 610 indicates that a BLP event has occurred, but only when the filter output exceeds the THRSH value.
As noted above, various filters and filtering techniques may be used for filter 602. However, as also noted above, a filter designed for TA detection may be made operable to detect a BLP event. Thus,
With the above filtering technique, the signal component is approximately zero and the noise value at a level below the BLP detection threshold. Therefore, under normal non-BLP condition, the output 610 from detection module 505 is substantially zero. However, when a BLP event occurs and the BLP level is above the THRSH value, detection module 505 signals a BLP event.
A number of advantages may be obtained by utilizing the BLP detection scheme described above. For one, a special pattern need not be written to the disk and read back to detect a BLP event. Normal information stored on the disk may be used to detect for a BLP. Since normally recorded information may be used, the BLP detection may be performed dynamically under normal usage of the disk, instead of at defect scan. Thus, the BLP detection technique described may be used during defect scan or during normal operational use of the disk.
Although various detection circuitries may be employed, the use of TA (or TAMA) filter for BLP detection has an added advantage. Since many disk drives systems include TA (or TAMA) filter(s) to detect defect conditions through detection of thermal asperity, the same filter(s) may be adapted to detect BLP as well. Since digital TA defect detection is typically not performed during sampling of demodulation bursts, the same TAMA filter may be used for TA detection for media defects during periods other than periods of bursts and switched to detect BLP during period of bursts. The programmable filter length allows selection of the length of the filter, so that the filter may have one length during TA defect scan and a different length during BLP detection. Thus, BLP detection may be added with minimal additional circuitry and costs.
Once an indication informs a disk controller that a BLP event has occurred, the controller or other parts of the system may respond accordingly. For example, since an indication of a BLP event may produce erroneous readings, the controller (or the system) may simply ignore the current information being read and request that the information is read again. In any event, a BLP indication during operation of the disk is a good indicator that there is instability in the head operation and information being read may be erroneous. The BLP detection may be used during normal use of the disk drive, during a defect scan, or both.
Thus, a baseline popping noise detection circuit is described. As noted above, the practice of the invention need not be limited to bursts and other embodiments may operate on other components of the servo field, as well as the data field.
As may be used herein, the terms “substantially” and “approximately” provides an industry-accepted tolerance for its corresponding term and/or relativity between items. Such an industry-accepted tolerance ranges from less than one percent to fifty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to magnitude differences. As may also be used herein, the term(s) “coupled” and/or “coupling” includes direct coupling between items and/or indirect coupling between items via an intervening item (e.g., an item includes, but is not limited to, a component, an element, a circuit, and/or a module) where, for indirect coupling, the intervening item does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As may further be used herein, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two items in the same manner as “coupled to”. As may even further be used herein, the term “operable to” indicates that an item includes one or more of power connections, input(s), output(s), etc., to perform one or more its corresponding functions and may further include inferred coupling to one or more other items.
Furthermore, the term “module” is used herein to describe a functional block and may represent hardware, software, firmware, etc., without limitation to its structure. A “module” may be a circuit, integrated circuit chip or chips, assembly or other component configurations. Accordingly, a “processing module” may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions and such processing device may have accompanying memory. A “module” may also be software or software operating in conjunction with hardware.
The embodiments of the present invention have been described above with the aid of functional building blocks illustrating the performance of certain functions. The boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain functions are appropriately performed. Similarly, flow diagram blocks and methods of practicing the embodiments of the invention may also have been arbitrarily defined herein to illustrate certain significant functionality. To the extent used, the flow diagram block boundaries and methods could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of functional building blocks,. flow diagram blocks and methods are thus within the scope and spirit of the claimed embodiments of the invention. One of ordinary skill in the art may also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, may be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof.
This application claims the benefit of priority to U.S. Provisional Patent Application Ser. No. 60/879,184; filed Jan. 5, 2007; and titled “Baseline popping noise detection circuit,” which is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60879184 | Jan 2007 | US |