HP SSDs that Stop After 32,768 Hours


Buffer overflows and number overflows are two of the most common programming errors, especially when working with C. The latter has caused all sorts of notable problems from the millennium date bug to problems with a group of Hewlett-Packard (HP) enterprise SSDs. Without a firmware update, they stop running after the 32,768-hour mark.

Does that number sound familiar?

Anyone playing with signed 16-bit integers will recognize it as the upper limit. HP hasn’t provided details related to the problem, which is fixed by a firmware upgrade, but it’s probably related to a 16-bit value in the code.

This type of problem isn’t unique to this type of firmware and any code can have issues if values hit the boundary conditions and overflow or underflow status isn’t checked. In general, C code tends not to check for these errors. It’s also why developers prefer to use very large integers; therefore, they generally needn’t worry about such problems. That’s not necessarily the best practice, but it’s usually sufficient for most applications.

On the flip side, not checking if limits are exceeded can result in difficult-to-find bugs. In this case, it takes the SSD years to hit the mark. Other bugs might only be caused when certain, uncommon criteria are met. Unfortunately, such criteria might be a child chasing a black ball onto a blacktop road where a self-driving car is rolling down the lane.


Additional products to consider...