SATA activity LED for each HDD

Status
Not open for further replies.

Ckuke

Honorable
Jul 16, 2012
27
0
10,530
Hello,
Situation:
1) want LED activity indicator for each SATA HD
2) have multiple SATA HDs, different models and capacities
3) No activity LED driver on controller or MOB
4) SATA power pin 11 function not consistent across drives (also a bit risky)

Question: Other than pin 11 schemes, is there anything available to provide activity LED for each SATA HDD?
 
Solution
Sorry, I should not have used an ambiguous acronym. By "VCM", I meant Voice Coil Motor.

As for common mode voltages, perhaps that would be one downside of a Hall effect sensor.

Should you wish, for testing purposes, to correlate voice coil and spindle motor current against the power supply current variations recorded by your circuit, then there are usually test points on the PCB that you could use for this purpose.

The motor current could be measured by monitoring a current sensing resistor, or parallel resistor array. One end of this resistor will be grounded. Similarly, you could sense the VCM current by monitoring a sense resistor in the VCM H-bridge. This resistor will be floating.

You can see these arrangements by referring to...

_____________________________________________________________

Since posting this question, there have been no replies. With over 100 readers, there must be some interest but no "off-the-shelf" answer(s). Now I'm motivated to do some R&D. Passive monitoring of the power leads appears to be good place to start. Any ideas would be appreciated. I will keep this list informed of what I discover.

ckuke
 


Dr_JRE,
That was a quick reply. So there is some interest.
Already made some progress along the line I mentioned. Will keep you in mind. Watch my thread.

Ckuke
 
With Arduino, you can plug a device into USB that runs firmware that reads windows performance data and outputs it to you lighting method of choice. if you wanted, you could not only get a flashing LED, but an LCD readout of I/O data and temp. No need to mess with the inside of the computer.
 


Dr_JRE,

I'm looking for something even simpler than that - something possibly inserted in the power lead to the drive. Totally passive without software dependance and able to use a current front panel LED if possible.

Ckuke
 
I tried this years ago with IDE on an ATX-20 PSU. the lights stayed on at all times but during disk access, they would brighten up. (this was done on a hard drive that had it's own activity LED i just extented to LED out of the case.

In another instance on an old 486 system i ran the LED through the molex power cable.
The lights stayed on at all times and dimmed on disk access.
 


I appreciate your input Dr_JRE. As a result, I won't go down those paths. Now let's look at my reasoning about what I have left to work with. I've set limitations on my approach by saying that I want to use passive (noninvasive) techniques to obtain the "activity" signal. I may be wrong in limiting my approaches but to me that seems conservatively reasonable.

Therefore I'm limited to the signals that I might obtain from the leads (wires) going into and out of the SATA drive. The serial data cable is shielded and contains high speed differential signals which are terminated at both ends with specific impedances that can be easily disrupted. Passive monitoring of the serial data would therefore be problematic. That leaves only the power leads: +3V, +5V, +12V, and two commons (returns). I assumed that there must be an "activity" signal contained on the input side of the drive since what comes out must also go in. Direct voltage monitoring would probably not provide a good signal since I'm looking for a changing signal, and the voltages are purposely regulated to minimize changes.

A changing signal is what I'm after - all zeroes or all ones provide little information. I guess that leaves either capacitive, inductive, or both modes of monitoring the changing current going through the power cable leads. In mathematics, change implies the derivative function. This is the direction I'm taking in my R&D. If I'm wrong, experimentation will reveal it. Now, to the breadboard - will keep you informed as I experiment.

Ckuke
 
I would suggest software to monitor hard drive activity, but i haven't found anything worth mentioning other then the Resource Monitor with Windows 7, but that seems to only monitor the main drive & that tells you how much read/write traffic.

It would be nice to add separate HDD lights with a little more ease.
 
Thanks for your interest and support MidnightDistort. Unless the software (firmware) is running on a separate MPU, it would be difficult to monitor a failing drive on which the operating system resides. That's why I'm limiting myself to a pure hardware solution for simplicity. Like you, I want to know what each drive is doing. I've never been satisfied with monitoring only the data stream - a stuck head positioning motor can forever provide a data stream from a single track/sector. It will probably turnout that I'll end-up using a separate MPU solution, but for now I'll proceed toward a simple solution. From my past experience, I have a hunch which direction to initially take the R&D. There's a lot of mechanical (and therefore current) activity inside a hard drive when its doing seeks, reads, and writes - mostly from the head positioning motor. There's gotta be a way to monitor that.

Ckuke
 
Software isn't always accurate either. I have 2 different programs telling me how many power on hours a hard drive has. It might be due to the fact that the drive(s) ran on Windows 98 or older BIOS never recorded the data, although i thought that S.M.A.R.T. is saved on the drive itself, i'll have to look further into that.

I myself prefer seeing all my hardware functions and if there is a problem that i would be able to tell what component is having the issue. I run 2 or more hard drives on a single system and if i'm hearing a bad hard drive sound i want to know which one is experiencing it. Otherwise i'd have to run scans on all disks to see if they all are ok.

Let me know if you ever come up with a way to have seperate lights for each HDD. I would love to have a setup like that & if anyone ever asks me to build them a PC i could probably add a nice setup. 😀
 


MidnightDistor stay tuned - I'm presently working to do just that. I've setup the R&D testbed PC and SATA drive together with measurement instrumentation to begin the initial experimentation. Time permitting, I should succeed or fail within a week or so. I will report all in this thread.

Ckuke
 
THE TEST SETUP

The host test bed is a generic PC with an AMD Athalon 64 3200+ CPU, 1.5GB RAM, a SYBA SY-150R PCI SATA/IDE controller card, and an
AOpen Cobra AW840 CMI8738/C3DX PCI sound card. Yes, a sound card because I'm using the software based "Virtins Sound Card
Oscilloscope 3.2" to make the observations/measurements.The operating system is Windows XP Pro SP3,32 bit.

The device under test (DUT) is a lone WDC WD5001AALS (500GB) SATA hard drive with an 8", SATA, 15 pin M/F power extension cable and a
generic SATA data cable attached.

An oscilloscope current transformer probe was constructed from a miniature, 10 mH, ferrite core, inductor from my junk box. During
oscilloscope observations, a selected single turn of wire in the SATA power cable wound over the inductor, serves as the primary
winding of the current transformer. The inductor connected to the oscilloscope input (sound card) is the step-up secondary winding.

A continuous software loop of CHKDSK is run to exercise the SATA drive during oscilloscope observations. At the same time, an eye is
kept on the "conventional data activity LED" for comparative purposes. My optometrist would love this.

For our current purposes, the rest of the system is irrelevant.

THE PREMISE

There's a lot of mechanical activity (and therefore head positioner current changes) going on inside a hard drive when its doing seeks, reads, and writes - mostly from the head positioning motor. Since all that current must flow through the power cable, there's gotta be a way to monitor it. Activity denotes change, the changes in current are what we want to observe. All we have to do is find it and display it (somehow) on an LED. Now to find it. Caveat: the PC electromagnetic environment is extremely noisy.
Comments?
More to come.

Ckuke
 
INITIAL FINDINGS from o'scoping the 8", SATA, 15 pin M/F power extension cable - the wires, what they are, and the oscilloscope observations:

1. Orange +3.3 Volts DC (Not used in the DUT) (pins 1-3 on SATA connector) - N/A
2. Black common (pins 4-6 on SATA connector) - noisy, no obviously useable signal.
3. Red +5 Volts DC (pins 7-9 on SATA connector) - very noisy, some background "noise" correlates with data activity LED.
4. Black common (pins 10-12 on SATA connector) - noisy, no obviously useable signal.
5. Yellow +12 Volts DC (pins 13-15 on SATA connector) - noisy, nominally good signal with high correlation with the data activity LED. We'll focus our R&D here. Let's refer to this signal as the "yellow signal" or Y-Sig for future reference.

Some interesting aside observations:

In the test bed PC, the best (read lowest noise) digital ground was the power supply case. The best analog ground was at the sound card's input jack. It really matters where you ground refence your measurements. To get proper measurements, minimizing noise by proper grounding may be the most difficult (most time consuming) part of R&D.

From the standpoint of efficiency and best voltage regulation, a heavily loaded (> 70%, < 100%) PC power supply is best.

More to come. Comments?

Ckuke
 
What is the Y-Sig?

Y-Sig is a zero centered, bipolar signal with varying duration and amplitude greater than the background noise. If it is the first derivative (differential) of the head positioner current, it will peak in one direction only when the heads start to move and in the opposite direction (polarity) when they stop. The peaks will be out of phase with the data activity LED but negatively correlated with it - and so it appears. I'm guessing when I say Y-Sig is the derivative of the current in the head positioning motor. Statistically,there's a good probability that it is, but I don't really know that. Short of taking the covers of the drive, I tried listening to the drive with a stethoscope. My hearing wasn't good enough for that to be successful. Can anyone out there be of help here? Whatever Y-Sig is, it's a great signal source for the project of a SATA activity LED per HDD. I'm encouraged.

It should be easy to condition Y-Sig into a digital signal for display on an LED. I've been doing that sort of thing for years.

More to come. Help? Suggestions? Comments?

Ckuke
 
CONDITIONING Y-Sig (a concept)

The IN = Y-Sig (>20mV<100mV AC), the OUT = (0 or 5V) LED (ON/OFF). This essentially a one bit analog to digital conversion, or simply AC to DC rectification. Considering solid state voltage thresholds, we're in the ballpark from the outset. Simply increasing the current transformer step-up ratio and following that with a Schottky brige rectifier would condition Y-Sig into a unipolar signal of zero to something useable. However, the noise (which is conveniently at a much higher frequency) will also be stepped-up but we can minimize it with a simple R-C lowpass filter. Now we would have a much cleaner unipolar Y-Sig of twice the frequency of the original AC Y-Sig. Nice. An analog comparator with adjustable offset and hysterysis Will get us to the logical zero/one LED signal we desire in only one additional step. Real nice. Too simple?


More to come. Help? Suggestions? Comments?

Ckuke
 
How much VCM current variation would you expect to see during a track-to-track seek, for example? What about a zero-fill operation, or a sequential data transfer?

On the plus side, your method should detect offline operations, ie internal housekeeping, self testing, patrol seeks, thermal recalibration, etc, which wouldn't be reported by a regular activity LED.

Could you use a Hall effect sensor rather than a current transformer?
 



Hi fzabkar and thanks for your response. The common mode voltage (VCM) (current in this case) is quite high but less than the signal. I really have no idea if my system can resolve an adjacent track to track seek - my instrumentation as you might suspect is very limited. Zeros or ones fill are invisible to the current in the head positioner in my scheme. As far as I can tell (without help) I'm only looking at the head positioner changes. The data signal is going through a different cable.

I am more satisfied with what I'm seeing, from what I hope are the head position changes, since it tells me that the mechanics are working. Data alone doesn't do that. The two schemes are equally satisfying (to me) with approximately equal LED blinking. Very unscientific.

I tried a borrowed linear Hall effect sensor (very expensive) and had to resort to using the inductor as a magnet anyway. I think it might work with a proper Hall sensor, but I think it would be a more expensive path. In units quantities, my scheme is about $7 without the PCB and labor. Labor is the killer. The PCB is about 1 sq. inch and about $2 via ExpressPCB. It would be nice if someone out there would come up with a kit.

My final schematic and photos are coming soon. I welcome your opinions.

Ckuke
 
It now exists, a SATA activity LED for each HDD

After extensive R&D, two bread board renditions have proved successful and eight, 1 sq. inch, surface mount PCB versions are in the works. I will let you know how that comes out and will include some photos. Here is the link to the final schematic in PDF format.

http://www.mediafire.com/view/?i2h64yyl9lhq9yf

More to come. Suggestions? Comments?

Ckuke
 
Sorry, I should not have used an ambiguous acronym. By "VCM", I meant Voice Coil Motor.

As for common mode voltages, perhaps that would be one downside of a Hall effect sensor.

Should you wish, for testing purposes, to correlate voice coil and spindle motor current against the power supply current variations recorded by your circuit, then there are usually test points on the PCB that you could use for this purpose.

The motor current could be measured by monitoring a current sensing resistor, or parallel resistor array. One end of this resistor will be grounded. Similarly, you could sense the VCM current by monitoring a sense resistor in the VCM H-bridge. This resistor will be floating.

You can see these arrangements by referring to the application circuits in the datasheet for a typical SMOOTH motor controller.

Datasheets for HDD motor controller ICs:
http://www.users.on.net/~fzabkar/HDD/HDD_Motor_Control.html

L7250, SMOOTH, spindle motor + VCM controller, ST Microelectronics:
http://wandrew.regruppa.ru/PCInfo/TechDoc/L7250(Smooth).pdf
http://www.datasheetcatalog.org/datasheet/SGSThomsonMicroelectronics/mXyuswx.pdf

I hope my tutorial will be of help to you in locating these test points.

Tutorial - how to locate the basic test points of an unfamiliar HDD PCB:
http://www.users.on.net/~fzabkar/HDD/Tutorial_SP0411N.html

BTW, here is a direct link to your circuit (no ads, banners, popups, etc):
http://199.91.153.173/6d35nlrb9dog/i2h64yyl9lhq9yf/SATA+Activity+LED+for+Each+HDD.pdf

You might find these motor oscillograms useful:
http://nazyura.hardw.net/000004.htm
 
Solution
@Ckuke, I realise that you are looking for a non-invasive solution, but wouldn't it be feasible to use an 0.1 ohm current sense resistor in series with the +12V supply? Even at 2 amps the voltage drop would be negligible. That said, perhaps the additional cost of connectors would make the device less attractive?
 



Actually I built one using a Zetex ZXCT1030 high side current monitor IC. Worked okay and with same unknowns, needed more analog filtering, and I don't like series resistors in supply lines that are not very well regulated to begin with. Just a quirk of mine. But that said , thanks.
 
One very useful application of your circuit would be in troubleshooting a dead HDD. In particular, it is sometimes difficult to determine whether a drive is having trouble spinning up due to a stiction fault (heads stuck to platters) or a seized spindle motor. In both cases you would see large current pulses as the motor controller was trying to kickstart the motor.
 



fzabkar many thanks for the references and your professional input - it'll take me a while to digest it all. I made the changes to the link you suggested. Again thanks.

I would do the test points scope-outs you suggest but my o'scope's all done at about 50kHz. I'm afraid someone else will have to prove or disprove my concept ( maybe you). I started this whole thing for myself only until I was talked into doing otherwise. Hope I don't live to regret it. Actually I'm quite happy with the result, even with the unknowns. It satisfies what I set out to do when I found that there was nothing out there that would do the way I wanted.

Ckuke
 
Status
Not open for further replies.