4

We want to monitor hard disks for present problems or pending failure.

Can the Fast Fourier Transform (FFT) of a given hard disk in question, then, be compared with a reference FFT for a perfectly working one, and then conclude hard disk may be faulty or about to fail if its FFT differs significantly from the reference?

FFT would be used to detect unexpected frequencies, or harmonics, that do not normally occur in a 'healthy' hard disk. FFT would input vibrations from hard disk, and output the collection of vibration's constituent frequencies. This would be compared to the frequency domain function of 'healthy' hard disk.

grfrazee
  • 3,597
  • 1
  • 18
  • 33
Doug Null
  • 275
  • 1
  • 6

3 Answers3

2

Disclaimer: Although I have studied FFT, I have not applied FFT to a practical application. Therefore I would differ a direct response to someone else. Regardless I would really like to see the end result too.

But I can offer you following two application examples and source code to access data from three axis ADXL345 accelerometer to help you with your endeavors. Examples were developed on ARM Cortex A8 and ARM Cortex M4 processors. The first one uses a Beaglebone Black / Embedded Linux platform and the second is a bare metal design. All X, Y, and Z data points are captured. These are used to calculate Roll and Pitch.


Three axis ADXL345 accelerometer implementation using a Embedded Linux platform


Three axis ADXL345 accelerometer implementation using a Embedded Linux platform

Both the designs use I2C bus to capture the data. So digitally sampled data is available. Therefore code has to modified to apply FFT. With little effort you should be able determine frequencies, harmonic's etc.

Your are welcome to fork the source code and use them as you wish.

Also below are few interesting graph on that might be of help.

Rotational Vibration Safeguard (RVS)

Rotational Vibration Safeguards

Simple Free fall profile for a HDD

Simple Free fall profile


A Traditional Protection Algorithm

Traditionally, the HDD protection algorithm has been based on free-fall modeling, as explained below, in which the outputs of the sensors contained in the accelerometers can be easily captured by a digital oscilloscope or other data sampling system.

A “test sled” can be assembled using two ADXL320 dual-axis accelerometers. The axes of the accelerometers are aligned with the X, Y, and Z axes, as depicted in figure below (Figure 4), thereby providing values of acceleration along the X, Y, and Z coordinates. (The Y1 output is redundant and is not used.) The outputs of the coordinate axes are sampled by a 12-bit ADC contained in an ADuC832 precision analog microcontroller, which integrates the sampled data and feeds it to an internal 8052-compatible core processor. The sampled data is then transferred to the computer—via an RS-232 interface—for analysis.

Test Sled

The figure below (Figure 5) shows the sequence of responses sensed by the two > sensors. Values X and Y are supplied by one accelerometer, the values Z and Y1 are supplied by the other accelerometer. Note also that the plot is divided into four consecutive intervals labeled: “static,” “rollover,” “free-fall drop,” and “impact.” The sampling interval, shown along the X axis, is determined by the ADC, which is clocked at 200 Hz for each variable, or one sample of each variable every 5 milliseconds. The Y-axis scale represents the values delivered by the 12-bit ADC in the ADuC832 smart-transducer front end, plotted for all four axes.

Protection Algorithm


References:

Mahendra Gunawardena
  • 7,155
  • 6
  • 28
  • 68
1

In principle this might work. For example similar methods are used in real time to detect developing faults in jet engines, by processing the signals from vibration sensors on the engine. (The details of the methods used are confidential, however).

One problem you will face is that you are not measuring the accelerations of an isolated disk drive, but a disk that is one component of a bigger mechanical system (a complete desktop or laptop computer, a server rack, etc). You will need some way to separate the (probably small) vibrations of the disk itself from other vibration sources, for example cooling fans operating intermittently and/or at variable speeds. Even with an isolated disk drive, you would probably do better to use all the data that you can easily capture - for example the disk-head-positioning data coming from the disk controller would give you a measure of the forces that are exciting the vibrations, to correlate with measuring the disk's response to those forces.

alephzero
  • 12,578
  • 1
  • 16
  • 28
0

Im pretty confident in that you can see some changes in the fourier analysis if you have a sensitive enough sensor in the right place and the failure is mechanical. Similar methods are used to measure the health of bearings with success.

However, you do not know what you are looking for. Unless your a very skilled simulation guy or can find some analysis which tells you what your looking for then you need some empirical data. Go forth and measure a bunch of drives and try to see how they differ. Get hold of ones that have failed and see what the difference is. Then try to predict which drive is going to brake and monitor that.

joojaa
  • 3,691
  • 1
  • 17
  • 31