ESTIMATING LIFESPAN OF SOLID-STATE DRIVE USING REAL USAGE MODEL
An embodiment is a technique to estimate lifespan of a solid-state drive (SSD). Real environmental information from an environmental processor is received. The real environmental information corresponds to an environment of a solid-state drive (SSD). The lifespan of the SSD is estimated using the real environmental information and an internal data usage model. The estimated lifespan is made available for retrieval.
1 . A method comprising:
obtaining at least one of an environmental parameter representative of a current environment and an operation parameter representative of a current usage of a solid-state drive (SSD);
retrieving a real usage model that corresponds to the at least one of the environmental parameter and the operation parameter, the real usage model being created from an environmental profile, a usage profile, and an initial usage model; and
computing total lifespan of the SSD using a lifespan expression from the real usage model.
2 . The method of claim 1 further comprising:
updating a remaining lifespan using the total lifespan and previous record of lifespan estimates; and
saving the total lifespan to the previous record of lifespan estimates.
3 . The method of claim 2 wherein obtaining comprises:
collecting environmental sensing data from an environmental sensor being at least one of a temperature sensor, a humidity sensor, a pressure sensor, and an illuminance sensor; and
determining statistics of SSD operations, the SSD operations include at least one of garbage collection, wear leveling, program/erase (P/E) cycle, read cycle, write cycle, duty cycle, write input/output per second (IOPS) rating, file size, endurance rating, ECC computation, external data processing, over-provisioning, bad block mapping, TRIM command, and write amplification.
4 . The method of claim 1 wherein retrieving a real usage profile comprises:
if the real usage model does not exist, retrieving the initial usage model as the real usage model.
5 . The method of claim 3 wherein computing the total lifespan comprises:
obtaining the lifespan expression from the retrieved real usage model;
substituting at least one of the environmental sensing data and the statistics of SSD operations into the lifespan expression; and
calculating the total lifespan from the substituted lifespan expression.
6 . The method of claim 3 wherein the lifespan expression includes at least a parameter corresponding to one of duty cycle, write input/output per second (IOPS) rating, file size, endurance rating, and write amplification.
7 . A circuit comprising:
a solid-state drive (SSD) processor coupled to an SSD;
an environmental sensor to provide environmental sensing data; and
a usage monitor coupled to the SSD processor and the environmental sensor to provide real usage environment information, the usage monitor comprising a usage processor and a memory coupled to the usage processor, the memory storing instructions that, when executed by the usage processor, cause the usage processor to perform operations comprising:
obtaining at least one of an environmental parameter representative of a current environment and an operation parameter representative of a current usage of a solid-state drive (SSD);
retrieving a real usage profile that corresponds to the at least one of the environmental parameter and the operation parameter, the real usage profile being created from an environmental profile, a usage profile, and an initial usage model; and
computing total lifespan of the SSD using a lifespan expression from the real usage model.
8 . The circuit of claim 7 the instructions further cause the usage processor to perform operations comprising:
updating a remaining lifespan using the total lifespan and previous record of lifespan estimates; and
saving the total lifespan to the previous record of lifespan estimates.
9 . The circuit of claim 8 wherein the instructions causing the usage processor to perform obtaining comprises instructions that cause the usage processor to perform operations comprising:
collecting environmental sensing data from an environmental sensor being at least one of a temperature sensor, a humidity sensor, a pressure sensor, and an illuminance sensor; and
determining statistics of SSD operations, the SSD operations include at least one of garbage collection, wear leveling, program/erase (P/E) cycle, read cycle, write cycle, duty cycle, write input/output per second (IOPS) rating, file size, endurance rating, ECC computation, external data processing, over-provisioning, bad block mapping, TRIM command, and write amplification.
10 . The circuit of claim 7 wherein the instructions causing the usage processor to perform retrieving a real usage profile comprises instructions that cause the usage processor to perform operations comprising:
if the real usage model does not exist, retrieving the initial usage model as the real usage model.
11 . The circuit of claim 9 wherein the instructions causing the usage processor to perform computing the total lifespan comprises instructions that cause the usage processor to perform operations comprising:
obtaining the lifespan expression from the retrieved real usage model;
substituting at least one of the environmental sensing data and the statistics of SSD operations into the lifespan expression; and
calculating the total lifespan from the substituted lifespan expression.
12 . The circuit of claim 9 wherein the lifespan expression includes at least a parameter corresponding to one of duty cycle, write input/output per second (IOPS) rating, file size, endurance rating, and write amplification.
13 . A method comprising:
receiving real environmental information from an environmental processor, the real environmental information corresponding to an environment of a solid-state drive (SSD);
estimating lifespan of the SSD using the real environmental information and an internal data usage model; and
making the estimated lifespan available for retrieval.
14 . The method of claim 13 wherein estimating the lifespan comprises:
obtaining failure information of the SSD from an SSD controller;
analyzing the failure information using environmental information at time of failure; and
associating the analyzed failure information with the pre-defined information from a database to predict the lifespan.