STB Suite

Power-On Hours rollover

Q. Dr. SCSI (or Dr. SATA?) – “I have an older SATA disk drive which about a year ago reported that it had 52,675 Power-On Hours.

Today I checked the SMART data on  this drive again and now the drive says it has 154 POH!

What happened, can I get the total history of POH out of this drive”?

A. Like an old used car odometer the POH counter in your drive has “rolled over”


SATA SMART POH attribute

SMART attribute 9 reports the Power-On Hours (POH) of a SATA disk drive in its RAW data field.

The RAW data field is a 6-byte long field of numbers, and in the case of Attribute 9 (and most other attributes too) the main or significant values are stored in the “first” two bytes of the field.

I put quotes around “first” because SATA data byte-ordering is a bit topsy-turvy.

Here is an example of Attribute 9 data:

The actual POH value is contained in the two highlighted bytes, which you’d think would be the high-order bytes of this six-byte set but are really the low-order. Not only that but those two bytes are “byte swapped” so the low-order byte of this pair is 0xC3 and the high-order byte is 0xCD.

Not that any of that matters much, it’s just the way SATA data is.


The main point

The main point of this numbers diatribe is that the POH value is represented by an unsigned two-byte value. That means that the lowest number which can be represented is 0x00 0x00, and the highest number which can be represented is 0xFF 0xFF.

In decimal, zero would be equal to zero – and hexadecimal 0xFF 0xFF would be 65,535.

All that to say that the highest number which can ever be reported in the POH field is 65,535.

Now 65,535 hours is a lot of hours! That’s about 2,730 days, or 7 years. Seven years actually doesn’t sound like an impossible amount of time that a disk drive may have been powered up, so you could certainly see drives that report that many POH…

What comes next?

The important question and the reason for this article is “what comes next?”, or “What is the next POH number that will appear when POH is already at 0xFF 0xFF and you let the drive run for one more hour?

The answer is … zero. When you have a number represented by two bytes, if you add “1” to 0xFF 0xFF your two-bytes will “roll over” and start over again at zero.

So suddenly your drive which yesterday told you it’s been fired up for 7 years today tells you it’s factory fresh and only has been powered up for an hour or two! Magic! You’re old and tired drive is now fresh and new again!


So what should you do?

Basically you should look at other drive information, not just at the POH SMART attribute. Look at Attribute 4 – the Start/Stop Count. Look at attribute 12 Power Cycle Count. Basically take a high-altitude look at all of the SMART data and even at the SATA IDENTIFY data, such as what speed SATA (1.5, 3.0 6.0 G) is supported to try to get an idea of what age the drive’s technology is.

Don’t panic, it can happen, when it does you’ll be able to explain to your customer what it all means.

The answer to the final part of your question – “can I get the total POH history out of the drive” is unfortunately “no”. A qualified “no” that is.

In the STB Suite since version 9.2 DMM has stored the SATA SMART and IDENTIFY data in new tables in the Access database. The values will be stored in the db every time a test sequence runs the SMART or Drive Info tests. This new feature will allow you to record the history of a given disk drive each time you test it, so over time, if you are testing the same drives now and then you will be able to look at the history of that S/N drives POH data.

One more question – can I reset…

No – you can’t reset SATA SMART attribute data!

You just can’t.

You can’t copy the SMART values from one drive into another.

You can’t set them back to zero.

You can’t change them at all, other than letting the drive run and watching it change it’s numbers itself!

Yes, we do get asked this question a lot. The SMART values are what they are – you can’t change them.