Various embodiments are disclosed of a failure detection
system for a
solid-state
data storage system that can experience difficulties, such as
system failure or loss of
data integrity, when it runs out of spare storage locations. Spare storage locations can be used by a
solid-state
data storage system to replace storage locations that have become defective. In one embodiment, a count is kept of the available spare storage locations in a
system, or sub-system, and when the amount of available spare locations drops to a threshold value, an action can be taken to avoid the consequences of an impending failure. In other embodiments, the available spare storage locations are monitored by keeping track of the percentage of initially available spare locations still remaining, by keeping track of the rate of new spare locations being used, or by other techniques. In various embodiments, the early failure detection system responds to detection of a possible impending failure by taking one or more of a variety of actions, including, for example, sending an alert notification, enabling additional storage capacity,
copying portions of the data stored in the system to other secure storage locations, shutting the system down, and taking no action.