Abstract:
A control system including a filter module generates a filtered disturbance signal based on a disturbance signal and a transfer function of the filter module. A set point adjustment module generates an adjusted set point signal based on a set point signal and the filtered disturbance signal. A servo control module generates an error signal based on the adjusted set point signal and a position feedback signal. A filter adjustment module generates a filter adjustment signal based on the disturbance signal and the error signal. The filter adjustment signal adjusts the transfer function.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
   This application is a continuation of U.S. patent application Ser. No. 11/602,665, filed Nov. 21, 2006, which claims the benefit of U.S. Provisional Application No. 60/749,938, filed Dec. 13, 2005. The disclosures of the above application are incorporated herein by reference in their entirety. 

   FIELD 
   The present disclosure relates to servo control systems for hard disk drives. 
   BACKGROUND 
   A hard disk drive (HDD) includes at least one platter that is coated with a magnetic medium. The platter is axially mounted to a rotating spindle. An arm pivots parallel to the coated surface of the platter and carries a read/write head. A servo motor, such as a voice coil motor, moves the arm to position the read/write head over a selected one of several concentric tracks recorded on the magnetic medium. 
   A servo control system drives the servo motor and receives a position feedback signal from the read/write head. The feedback signal is generated when servo codes, which are interspersed with data recorded in the concentric tracks, pass under the head. The servo control system uses the feedback signal to periodically adjust the position of the arm so that the read/write head aligns with the selected track. 
   The servo codes are recorded on the magnetic medium when the disk drive is manufactured. The servo codes can be positioned at selected intersections of the concentric tracks and imaginary line segments that radiate outward from the spindle. The resulting pattern of servo codes can appear as pie slices and can be referred to as servo wedges. The frequency of the feedback signal is based on the rotational speed of the spindle and the number of servo wedges. Increasing the frequency or servo sampling rate of the feedback signal can improve position tracking between the head and the selected one of the concentric tracks. The servo control system therefore becomes more robust against disturbances, e.g. vibration and shock, when the servo sampling rate increases. 
   In some HDDs, such as those commonly used in desktop computers, the platter diameter is about 3.5 inches and the spindle speed is about 7200 revolutions per minute (RPM). These HDDs can provide a servo sampling rate as high as 50-60 kHz (15-20 μS servo period). In other HDDs, such as small form-factor HDDs, the platter diameter can be less than about 1.8 inches. Small form-factor HDDs are commonly used in portable and handheld mobile applications. To meet low power dissipation requirements, small form-factor HDDs generally have spindle speeds between about 3600 and 4200 RPM. Small form-factor HDDs also have between about 120 and 180 servo wedges. 
   Based on the aforementioned attributes, small form-factor HDDs typically provide a servo sampling rate between about 8.3 and 12.5 kHz (80-120 μS servo period). With this low servo sampling rate, any disturbance that occurs while the head is between servo codes and moves the head by more than about 10% of the track width can become problematic for drive performance and read reliability. Some prior-art servo control systems inhibit reading and writing until the head realigns with the selected concentric track. Such a solution can have undesirable effects in high data rate, high vibration applications such as hand-held music and/or video players. 
   SUMMARY 
   A noise canceling system includes a signal generator module that generates a set point signal based on a desired position signal and a position feedback signal, a summation module that generates an output control signal based on the set point signal and a correction signal, and a filter module that generates the correction signal based on a disturbance signal and that minimizes a correlation between the disturbance signal and an error signal. The error signal represents a difference between the desired position signal and the position feedback signal. 
   In other features the noise canceling system includes a disturbance sensor module that generates the disturbance signal. The disturbance sensor module includes a rotational inertial sensor. An output of the filter module is used to minimize the error signal. The filter module employs a filter coefficient to generate the correction signal. The filter coefficient is determined based on an adaptive least mean squares (LMS) algorithm. The coefficient is generated while the disturbance signal generates a white-noise spectrum. A correlator module generates a correlation signal based on the disturbance signal and the error signal. A transfer function of the filter module is based on the correlation signal. The position feedback signal is updated and the filter module generates the correction signal between the times that the position feedback signal is updated. 
   In other features a rotating memory system includes the noise canceling system and further includes a motor that is adapted to position a read/write head based on the output control signal and a rotating platter that includes servo codes that are read by the read/write head. The read/write head generates the position feedback signal based on the servo codes. The rotating platter can include a magnetic coating. The rotating platter can include an optical coating. The desired position signal represents a track on the rotating platter. The motor is a voice coil motor. An arm extends radially from a first axis. The read/write head is positioned on the arm and a disturbance sensor module generates the disturbance signal based on the disturbance sensor moving around an axis that is parallel to the first axis. 
   A hard disk drive includes a servo loop having an adjusted set point signal and a vibration sensor that generates a vibration signal. The adjusted set point signal and the vibration signal are correlated to generate a correlation signal. The correlation signal is used to adjust the adjusted set point signal. 
   A method of operating a noise canceling system includes generating a set point signal based on a desired position signal and a position feedback signal, generating an output control signal based on the set point signal and a correction signal, generating the correction signal based on a disturbance signal, and minimizing a correlation between the disturbance signal and an error signal. The error signal represents a difference between the desired position signal and the position feedback signal. 
   In other features the method includes generating the disturbance signal. The disturbance signal represents rotational acceleration. The method includes using the correction signal to minimize the error signal. Generating the correction signal includes employing a filter coefficient. The method includes determining the filter coefficient based on an adaptive least mean squares (LMS) algorithm. The method includes generating the filter coefficient while the disturbance signal generates a white-noise spectrum. The method includes generating a correlation signal based on the disturbance signal and the error signal. The method includes generating a transfer function based on the correlation signal. The transfer function relates the disturbance signal and the correction signal. The method includes updating the position feedback signal and generating the correction signal between the times that the position feedback signal is updated. 
   In other features a method of operating a rotating memory system includes the method of operating a noise canceling system and further includes positioning a read/write head of the rotating memory system based on the output control signal and using the read/write head to read servo codes that are on a rotating platter of the rotating memory system. The position feedback signal is based on the servo codes. The desired position signal represents a track on the rotating platter. The rotating memory system includes an arm that extends radially from a first axis and the read/write head is positioned on the arm. The method includes generating the disturbance signal based on the rotating memory system moving around an axis that is parallel to the first axis. 
   A method of operating a hard disk drive includes providing a servo loop that includes an adjusted set point signal, generating a vibration signal, generating a correction signal based on a correlation of the adjusted set point signal and the vibration signal, and adjusting the adjusted set point signal based on the correlation signal. 
   A noise canceling system includes signal generator means for generating a set point signal based on a desired position signal and a position feedback signal, summation means for generating an output control signal based on the set point signal and a correction signal, and filter means for generating the correction signal based on a disturbance signal and minimizing a correlation between the disturbance signal and an error signal. The error signal represents a difference between the desired position signal and the position feedback signal. 
   In other features the noise canceling system includes disturbance sensor means for generating the disturbance signal. The disturbance sensor means includes rotational inertial sensor means for generating the disturbance signal based on rotating motion about an axis. An output of the filter means is used to minimize the error signal. The filter means employs a filter coefficient to generate the correction signal and the filter coefficient is determined based on an adaptive least mean squares (LMS) algorithm. The coefficient is generated while the disturbance signal generates a white-noise spectrum. Correlator means generate a correlation signal based on the disturbance signal and the error signal. A transfer function of the filter means is based on the correlation signal. The position feedback signal is updated and the filter means generates the correction signal between the times that the position feedback signal is updated. 
   In other features a rotating memory system includes the noise canceling system and further includes motor means for positioning a read/write head based on the output control signal and rotating platter means for providing servo codes that are read by the read/write head. The read/write head generates the position feedback signal based on the servo codes. The rotating platter means can include a magnetic coating for recording data that is arranged in at least one track. The rotating platter means can include optical coating means for recording data that is arranged in at least one track. The desired position signal represents a track of the rotating platter. The motor means includes a voice coil motor. Arm means providing a support that extends radially from a first axis. The read/write head is positioned on the arm means. Disturbance sensor means generate the disturbance signal based on the disturbance sensor means moving around an axis that is parallel to the first axis. 
   A hard disk drive includes servo loop means for controlling a position of read/write arm and include an adjusted set point signal. Vibration sensor means generate a vibration signal. The adjusted set point signal and the vibration signal are correlated to generate a correlation signal. The correlation signal is used to adjust the adjusted set point signal. 
   A computer program is stored on a computer readable medium and is executed by one or more processors. The computer program operates a noise canceling system and includes generating a set point signal based on a desired position signal and a position feedback signal, generating an output control signal based on the set point signal and a correction signal, generating the correction signal based on a disturbance signal, and minimizing a correlation between the disturbance signal and an error signal. The error signal represents a difference between the desired position signal and the position feedback signal. 
   In other features the computer program includes generating the disturbance signal. The disturbance signal represents rotational acceleration. The computer program includes using the correction signal to minimize the error signal. Generating the correction signal includes employing a filter coefficient. The computer program includes determining the filter coefficient based on an adaptive least mean squares (LMS) algorithm. The computer program includes generating the filter coefficient while the disturbance signal generates a white-noise spectrum. The computer program includes generating a correlation signal based on the disturbance signal and the error signal. The computer program includes generating a transfer function based on the correlation signal. The transfer function relates the disturbance signal and the correction signal. The computer program includes updating the position feedback signal and generating the correction signal between the times that the position feedback signal is updated. 
   In other features a computer program is stored on a computer readable medium and is executed by one or more processors. The computer program operates the noise canceling system of a rotating memory system and includes positioning a read/write head of the rotating memory system based on the output control signal and using the read/write head to read servo codes that are on a rotating platter of the rotating memory system. The position feedback signal is based on the servo codes. The desired position signal represents a track on the rotating platter. The rotating memory system includes an arm that extends radially from a first axis and the read/write head is positioned on the arm. The computer program includes generating the disturbance signal based on the rotating memory system moving around an axis that is parallel to the first axis. 
   A computer program is stored on a computer readable medium and is executed by one or more processors. The computer program operates a hard disk drive and includes providing a servo loop that includes an adjusted set point signal, generating a vibration signal, generating a correction signal based on a correlation of the adjusted set point signal and the vibration signal, and adjusting the adjusted set point signal based on the correlation signal. 
   Further areas of applicability of the present disclosure will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the disclosure, are intended for purposes of illustration only and are not intended to limit the scope of the disclosure. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present disclosure will become more fully understood from the detailed description and the accompanying drawings, wherein: 
       FIG. 1  is a functional block diagram of a disk drive assembly that includes an improved servo control system; 
       FIG. 2  is functional block diagram of calibration fixture for the disk drive assembly of  FIG. 1 ; 
       FIG. 3  is a flowchart of a method for calibrating the servo control system of  FIG. 1 ; 
       FIG. 4A  is a functional block diagram of a hard disk drive; 
       FIG. 4B  is a functional block diagram of a digital versatile disk (DVD); 
       FIG. 4C  is a functional block diagram of a high definition television; 
       FIG. 4D  is a functional block diagram of a vehicle control system; 
       FIG. 4E  is a functional block diagram of a cellular phone; 
       FIG. 4F  is a functional block diagram of a set top box; and 
       FIG. 4G  is a functional block diagram of a media player. 
   

   DETAILED DESCRIPTION 
   The following description is merely exemplary in nature and is in no way intended to limit the disclosure, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the term module, circuit and/or device refers to an Application Specific Integrated Circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As used herein, the phrase at least one of A, B, and C should be construed to mean a logical (A or B or C), using a non-exclusive logical or. It should be understood that steps within a method may be executed in different order without altering the principles of the present disclosure. 
   Referring now to  FIG. 1 , a disk drive  10  includes an improved servo control module  11 , a rotating memory device  12 , and a vibration sensor module  14 . Rotating memory device  12  includes a platter  16  that is mounted to a rotating spindle  17 . Platter  16  includes a face  19  that is coated with a magnetic and/or optical medium. Data and servo codes are recorded on the medium in a pattern of one or more tracks  18 . Tracks  18  can be concentric with spindle  17 . A read/write head  20  is located on a pivoting arm  22 . The longitudinal axis of arm  22  lies generally parallel to the face of platter  16 . A servo motor  24  includes a shaft that may be linked and/or directly coupled to arm  22 . Arm  22  pivots about a pivot axis  25  that is parallel to a z-axis as indicated by axes  26 . Servo motor  24  swings arm  22  generally parallel to the x-y plane, as indicated by axes  26 , until head  20  is positioned over a selected one of tracks  18 . The longitudinal axis of spindle  17  and pivot axis  25  can be parallel and fixed with respect to each other. 
   Pivot axis  25  can extend through the center of gravity of arm  22 . Such an arrangement minimizes a swinging motion that is induced in arm  22  when the disk drive  10  is accelerated, such as by vibration, along a line parallel to the x-y plane and/or the z-axis. This arrangement does not, however, minimize a tracking error between head  20  and the selected track  18  when disk drive  10  is rotationally accelerated around the z-axis. 
   Servo control module  11  is adapted to minimize the tracking error when disk drive  10  is subjected to vibration. Vibration sensor module  14  generates a vibration signal based on the vibration. In some embodiments the vibration signal indicates the axis, direction, and/or acceleration magnitude of the vibration. Vibration sensor module  14  can be positioned on a printed circuit board (PCB)  30  and/or formed in a system-on-chip (SoC)  32 . In some embodiments vibration sensor module  14  is a high-bandwidth rotational shock sensor and/or a rotational inertial sensor. Vibration sensor module  14  can be arranged to be sensitive to rotation around the z-axis. 
   Servo control module  11  can include an analog-to-digital converter (ADC)  34  that digitizes the vibration signal. The vibration signal is provided to a programmable filter module  36  and a first input of a correlator module  38 . In some embodiments, filter module  36  includes a finite impulse response (FIR) filter. In some embodiments, filter module  36  includes one or more filter coefficients that are determined based on an adaptive least mean squares (LMS) algorithm. An output of filter module  36  is provided to an inverting input of a summation module  40 . A non-inverting input of summation module  40  receives a set point signal from a track signal generator module  42 . 
   Track signal generator module  42  generates the set point signal based on a servo feedback signal  43  and desired track data that is generated by a central processing unit (CPU)  41 . The desired track data corresponds with the selected one of the tracks  18 . Servo feedback signal  43  is refreshed each time servo data passes under head  20 . An output of summation module  40  generates an adjusted set point signal that is based on the set point signal from track signal generator module  42  and the filtered vibration signal from filter module  36 . The adjusted set point signal is provided to a servo controller module  44 . Servo controller module  44  generates an error signal  45  and a command signal  47 . Error signal  45  represents a difference between servo feedback signal  43  and the set point signal from track signal generator module  42 . Error signal  45  is provided to a second input of correlator module  38 . Correlator module  38  generates a correlation signal based on error signal  45  and the vibration signal. The correlation signal communicates with a programming input of filter module  36 . Correlator module  38  can program one or more coefficients of filter module  36  when disk drive  10  is originally assembled. 
   An output of servo controller module  44  generates command signals based on the adjusted set point signal. The command signals are provided to a motor driver  50 . Motor driver  50  drives motor  24  based on the command signals to position head  20  over the selected track  18 . The position of head  20  is thereby controlled by a servo loop that includes track signal generator module  42 , summation module  40 , servo controller module  44 , motor driver  50 , motor  24 , arm  22 , head  20 , and servo feedback signal  43 . The filtered signal from vibration sensor module  14  is added to the servo loop to correct anticipated position errors in the positioning of head  20  due to vibration. The filtered signal can also continuously compensate for vibration, thereby reducing the risk of accumulating position error during the period between servo codes. 
   Referring now to  FIG. 2 , a functional block diagram is shown of a calibration fixture  60  that can be used to program filter module  36 . Calibration fixture  60  includes a vibration platform  62  that vibrates disk drive  10 . In some embodiments, vibration platform  62  employs a white-noise vibration spectrum and/or random vibration. In some embodiments the vibrations that are provided by vibration platform  62  can be provided by ambient vibrations in an assembly environment for disk drive  10 . 
   Correlator module  38  sends the correlation signal to filter module  36  while disk drive  10  is vibrating. The coefficients of filter module  36  are then programmed to minimize the correlation signal that indicates correlation between the vibration signal from vibration sensor module  14  and the error signal  45 . 
   Referring now to  FIG. 3 , a flowchart shows a method  70  that can be used with the calibration fixture  60  to program filter module  36 . Control begins in a start block  72 . Control immediately proceeds to block  74  where disk drive  10  is secured to vibration platform  62 . Control then proceeds to block  76  where correlator module  38  indicates the correlation between the vibration signal and error signal  45 . Control then proceeds to block  78  and adapts the coefficients of programmable filter module  36  to reduce the correlation in block  76 . Control then proceeds to decision block  80  and determines whether the correlation between the vibration signal and error signal  45  has reached a minimum. If not then control returns to block  76 . Otherwise control proceeds to block  82  and stores the filter coefficients in a non-volatile memory associated with programmable filter module  36 . Control then returns to other unspecified tasks via return block  84 . 
   Referring now to  FIGS. 4A-4G , various exemplary implementations of the device are shown. Referring now to  FIG. 4A , the devices can be implemented in a HDD  400 . The devices may be implemented in either or both signal processing and/or control circuits which are generally identified in  FIG. 4A  at  402 . In some implementations, the signal processing and/or control circuits  402  and/or other circuits (not shown) in the HDD  400  may also process data, perform coding and/or encryption, perform calculations, and/or format data that is output to and/or received from a magnetic storage medium  406 . 
   The HDD  400  may communicate with a host device (not shown) such as a computer, mobile computing devices such as personal digital assistants, cellular phones, media or MP3 players and the like, and/or other devices via one or more wired or wireless communication links  408 . The HDD  400  may be connected to memory  409  such as random access memory (RAM), low latency nonvolatile memory such as flash memory, read only memory (ROM) and/or other suitable electronic data storage. The HDD  400  may include a power supply  403 . 
   Referring now to  FIG. 4B , the device can be implemented in a digital versatile disc (DVD) drive  410 . The device may implement and/or be implemented in mass data storage  418  of the DVD drive  410 . The signal processing and/or control circuit  412  and/or other circuits (not shown) in the DVD drive  410  may process data, perform coding and/or encryption, perform calculations, and/or format data that is read from and/or data written to an optical storage medium  416 . In some implementations, the signal processing and/or control circuit  412  and/or other circuits (not shown) in the DVD drive  410  can also perform other functions such as encoding and/or decoding and/or any other signal processing functions associated with a DVD drive. 
   The DVD drive  410  may communicate with an output device (not shown) such as a computer, television or other device via one or more wired or wireless communication links  417 . The DVD drive  410  may communicate with mass data storage  418  that stores data in a nonvolatile manner. The mass data storage  418  may include a HDD. The HDD may have the configuration shown in  FIG. 4A . The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The DVD drive  410  may be connected to memory  419  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The DVD drive  410  may include a power supply  413 . 
   Referring now to  FIG. 4C , the device can be implemented in a high definition television (HDTV)  420 . The device may implement and/or be implemented in mass data storage  427  of the HDTV  420 . The HDTV  420  receives HDTV input signals in either a wired or wireless format and generates HDTV output signals for a display  426 . In some implementations, signal processing circuit and/or control circuit  422  and/or other circuits (not shown) of the HDTV  420  may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other type of HDTV processing that may be required. 
   The HDTV  420  may communicate with mass data storage  427  that stores data in a nonvolatile manner such as optical and/or magnetic storage devices. At least one HDD may have the configuration shown in  FIG. 4A  and/or at least one DVD may have the configuration shown in  FIG. 4B . The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The HDTV  420  may be connected to memory  428  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The HDTV  420  also may support connections with a WLAN via a WLAN network interface  429 . The HDTV  420  may include a power supply  423 . 
   Referring now to  FIG. 4D , the device may implement and/or be implemented in a mass data storage  446  that communicates with one or more control systems of a vehicle  430 . The vehicle  430  includes a powertrain control system  432  that receives inputs from one or more sensors such as temperature sensors, pressure sensors, rotational sensors, airflow sensors and/or any other suitable sensors and/or that generates one or more output control signals such as engine operating parameters, transmission operating parameters, and/or other control signals. 
   The vehicle  430  may also include other control systems  440 . The control system  440  may likewise receive signals from input sensors  442  and/or output control signals to one or more output devices  444 . In some implementations, the control system  440  may be part of an anti-lock braking system (ABS), a navigation system, a telematics system, a vehicle telematics system, a lane departure system, an adaptive cruise control system, a vehicle entertainment system such as a stereo, DVD, compact disc and the like. Still other implementations are contemplated. 
   The mass data storage  446  stores data in a nonvolatile manner. The mass data storage  446  may include optical and/or magnetic storage devices for example HDDs and/or DVDs. At least one HDD may have the configuration shown in  FIG. 4A  and/or at least one DVD may have the configuration shown in  FIG. 4B . The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The powertrain control system  432  may be connected to memory  447  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The powertrain control system  432  also may support connections with a WLAN via a WLAN network interface  448 . The control system  440  may also include mass data storage, memory and/or a WLAN interface (all not shown). Vehicle  433  may include a power supply  433 . 
   Referring now to  FIG. 4E , the device can be implemented in a cellular phone  450  that may include a cellular antenna  451 . The device may implement and/or be implemented in mass data storage  464  of the cellular phone  450 . In some implementations, the cellular phone  450  includes a microphone  456 , an audio output  458  such as a speaker and/or audio output jack, a display  460  and/or an input device  462  such as a keypad, pointing device, voice actuation and/or other input device. The signal processing and/or control circuits  452  and/or other circuits (not shown) in the cellular phone  450  may process data, perform coding and/or encryption, perform calculations, format data and/or perform other cellular phone functions. 
   The cellular phone  450  may communicate with mass data storage  464  that stores data in a nonvolatile manner such as optical and/or magnetic storage devices for example hard disk drives HDD and/or DVDs. At least one HDD may have the configuration shown in  FIG. 4A  and/or at least one DVD may have the configuration shown in  FIG. 4B . The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The cellular phone  450  may be connected to memory  466  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The cellular phone  450  also may support connections with a WLAN via a WLAN network interface  468 . The cellular phone  450  may also include a power supply  453 . 
   Referring now to  FIG. 4F , the device can be implemented in a set top box  480 . The device may implement and/or be implemented in mass data storage  490  of the set top box  480 . The set top box  480  receives signals from a source such as a broadband source and outputs standard and/or high definition audio/video signals suitable for a display  488  such as a television and/or monitor and/or other video and/or audio output devices. The signal processing and/or control circuits  484  and/or other circuits (not shown) of the set top box  480  may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other set top box function. 
   The set top box  480  may communicate with mass data storage  490  that stores data in a nonvolatile manner. The mass data storage  490  may include optical and/or magnetic storage devices for example HDDs and/or DVDs. At least one HDD may have the configuration shown in  FIG. 4A  and/or at least one DVD may have the configuration shown in  FIG. 4B . The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The set top box  480  may be connected to memory  494  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The set top box  480  also may support connections with a WLAN via a WLAN network interface  496 . The set top box  480  also includes a power supply  483 . 
   Referring now to  FIG. 4G , the device can be implemented in a media player  500 . The device may implement and/or be implemented in mass data storage  510  of the media player  500 . In some implementations, the media player  500  includes a display  507  and/or a user input  508  such as a keypad, touchpad and the like. In some implementations, the media player  500  may employ a graphical user interface (GUI) that typically employs menus, drop down menus, icons and/or a point-and-click interface via the display  507  and/or user input  508 . The media player  500  further includes an audio output  509  such as a speaker and/or audio output jack. The signal processing and/or control circuits  504  and/or other circuits (not shown) of the media player  500  may process data, perform coding and/or encryption, perform calculations, format data and/or perform any other media player function. 
   The media player  500  may communicate with mass data storage  510  that stores data such as compressed audio and/or video content in a nonvolatile manner. In some implementations, the compressed audio files include files that are compliant with MP3 format or other suitable compressed audio and/or video formats. The mass data storage may include optical and/or magnetic storage devices for example HDDs and/or DVDs. At least one HDD may have the configuration shown in  FIG. 4A  and/or at least one DVD may have the configuration shown in  FIG. 4B . The HDD may be a mini HDD that includes one or more platters having a diameter that is smaller than approximately 1.8″. The media player  500  may be connected to memory  514  such as RAM, ROM, low latency nonvolatile memory such as flash memory and/or other suitable electronic data storage. The media player  500  also may support connections with a WLAN via a WLAN network interface  516 . The media player  500  also includes a power supply  503 . 
   Still other implementations in addition to those described above are contemplated. Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the disclosure can be implemented in a variety of forms. Therefore, while this disclosure includes particular examples, the true scope of the disclosure should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.