Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
First Claim
1. A storage subsystem, comprising:
- a solid-state, non-volatile memory array;
a connector for attaching the storage subsystem to a host system;
at least one sensor that collects data related to at least one type of environmental condition including one or more of conditions related to temperature, humidity, altitude, shock, and power; and
a controller configured to write data to and read data from the non-volatile memory array in response to commands received from the host system, said controller configured to generate and store data on write operations, and to use error correction code (ECC) data to check for and correct errors on read operations;
wherein the storage subsystem is configured to;
maintain statistical data, based at least in part on the ECC data, that is reflective of a rate at which errors are detected on said read operations, and event timestamp data that is correlated to the statistical data;
when the rate at which said errors are detected exceeds a threshold during a time period in which a write operation is performed, store condition data reflective of a condition of the storage subsystem with data written by the write operation; and
provide said statistical data, said data collected by the at least one sensor, said condition data, and said event timestamp data to the host system via said connector, the storage subsystem thereby enabling the host system to monitor a health of the storage subsystem and to use the event timestamp data and the condition data to correlate an increased rate of errors with an environmental condition observed by the at least one sensor.
10 Assignments
0 Petitions
Accused Products
Abstract
A storage subsystem is disclosed that maintains (a) statistics regarding errors detected via an ECC (error correction code) module of the storage subsystem; and/or (b) historical data regarding operating conditions experienced by the storage subsystem, such as temperature, altitude, humidity, shock, and/or input voltage level. The storage subsystem, and/or a host system to which the storage subsystem attaches, may analyze the stored data to assess a risk of a failure event such as an uncorrectable data error. The results of this analysis may be displayed via a user interface of the host system, and/or may be used to automatically take a precautionary action such as transmitting an alert message or changing a mode of operation of the storage subsystem.
253 Citations
23 Claims
-
1. A storage subsystem, comprising:
-
a solid-state, non-volatile memory array; a connector for attaching the storage subsystem to a host system; at least one sensor that collects data related to at least one type of environmental condition including one or more of conditions related to temperature, humidity, altitude, shock, and power; and a controller configured to write data to and read data from the non-volatile memory array in response to commands received from the host system, said controller configured to generate and store data on write operations, and to use error correction code (ECC) data to check for and correct errors on read operations; wherein the storage subsystem is configured to; maintain statistical data, based at least in part on the ECC data, that is reflective of a rate at which errors are detected on said read operations, and event timestamp data that is correlated to the statistical data; when the rate at which said errors are detected exceeds a threshold during a time period in which a write operation is performed, store condition data reflective of a condition of the storage subsystem with data written by the write operation; and provide said statistical data, said data collected by the at least one sensor, said condition data, and said event timestamp data to the host system via said connector, the storage subsystem thereby enabling the host system to monitor a health of the storage subsystem and to use the event timestamp data and the condition data to correlate an increased rate of errors with an environmental condition observed by the at least one sensor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for monitoring data error in a storage subsystem, the method comprising:
-
generating and storing error correction code (ECC) data descriptive of write data received by the storage subsystem from a host system, and storing said write data and ECC data in a non-volatile solid state memory array of the storage subsystem; performing ECC checking of said write data and ECC data when the write data is subsequently read from the non-volatile solid state memory array, said ECC checking performed by an ECC module of the storage subsystem; collecting, via a sensor, data related to at least one type of environmental condition including one or more of conditions related to temperature, humidity, altitude, shock, and power; maintaining statistical data in said storage subsystem reflective of a rate at which errors are detected by the ECC module and event timestamp data that is correlated to the statistical data; and when the rate detected by the ECC module exceeds a threshold during a time period in which a write operation is performed, writing condition data reflective of a condition of the storage subsystem to the non-volatile solid state memory array with data written by the write operation; and using said statistical data, said data collected by the sensor, said condition data, and said event timestamp data to monitor a health of the storage subsystem and determine a correlation between an increased rate of errors and an environmental condition observed by the sensor. - View Dependent Claims (21, 22)
-
-
23. A storage subsystem, comprising:
-
a solid-state, non-volatile memory array; a connector for attaching the storage subsystem to a host system; at least one sensor that collects data related to at least one type of environmental condition including one or more of conditions related to temperature, humidity, altitude, shock, and power; and a controller configured to write data to and read data from the non-volatile memory array in response to commands received from the host system, said controller configured to generate and store data on write operations, and to use error correction code (ECC) data to check for and correct errors on read operations; wherein the storage subsystem is configured to; maintain statistical data, based at least in part on the ECC data, that is reflective of a rate at which errors are detected on said read operations; in response to the rate at which said errors are detected exceeding a threshold during a time period in which a write operation is performed, store condition data reflective of a condition of the storage subsystem with data written by the write operation; and provide said statistical data, said data collected by the at least one sensor and said condition data to the host system via said connector, the storage subsystem thereby enabling the host system to monitor a health of the storage subsystem and to use the condition data to correlate an increased rate of errors with an environmental condition observed by the at least one sensor.
-
Specification