Korean Patent Application No. 10-2016-0174493, filed on Dec. 20, 2016 and Korean Patent Application No. 2017-0009738, filed on Jan. 20, 2017, and entitled: “Method of Estimating Remaining Life of Solid State Drive Device,” is incorporated by reference herein in their entirety.
One or more embodiments described herein relate a method of estimating the remaining life of a solid state drive device.
Solid state drive (SSD) devices have been used in various systems and products, including but not limited to laptop computers, cars, airplanes, and drones. The frequency of errors in an SSD device may increase over time. At some point, the SSD device will come to the end of its useful life. However, the host system of the SSD device may still be operating normally. This may cause critical errors in the host device.
In accordance with one or more embodiments, a method for estimating a remaining life of a solid state drive (SSD) device in a system which includes a sensor, includes generating, by the sensor, a sensing value by periodically measuring an environmental variable; generating, by the SSD device, a load value associated with the SSD device based on the sensing value and a distance between the sensor and the SSD device; calculating, by the SSD device, stress applied to the SSD device based on the load value; calculating, by the SSD device, damage of the SSD device based on a stress-life curve and the stress, the stress-life curve representing a relationship between the stress and life of the SSD device; and determining, by the SSD device, the remaining life of the SSD device based on a difference between a threshold value and the damage.
In accordance with one or more other embodiments, a method for estimating a remaining life of a solid state drive (SSD) device in a system which includes first through n-th sensors, where n is a positive integer greater than or equal to two, includes: generating, by the first through n-th sensors, first through n-th sensing values by periodically measuring first through n-th environmental variables; generating, by the SSD device, first through n-th load values associated with the SSD device based on the first through n-th sensing values and distances between the first through n-th sensors and the SSD device; calculating, by the SSD device, first through n-th stresses applied to the SSD device based on the first through n-th load values; calculating, by the SSD device, damage of the SSD device based on first through n-th stress-life curves and the first through n-th stresses, each of the first through n-th stress-life curves representing a relationship between a respective one of the first through n-th stresses and life of the SSD device; and determining, by the SSD device, the remaining life of the SSD device based on a difference between a threshold value and the damage.
In accordance with one or more other embodiments, a method for estimating a remaining life of a solid state drive (SSD) device in a system which includes a sensor, the SSD device including first through m-th components, where m is a positive integer greater than or equal to two, includes generating, by the sensor, a sensing value by periodically measuring an environmental variable; generating, by the SSD device, a load value associated with the SSD device based on the sensing value and a distance between the sensor and the SSD device; calculating, by the SSD device, first through m-th stresses applied to the first through m-th components based on the load value; calculating, by the SSD device, first through m-th damages of the first through m-th components based on first through m-th stress-life curves and the first through m-th stresses, each of the first through m-th stress-life curves representing a relationship between a respective one of the first through m-th stresses and life of the SSD device; determining, by the SSD device, first through m-th candidate remaining lives of the SSD device based on differences between first through m-th threshold values and first through m-th damages; and determining, by the SSD device, a minimum remaining life among the first through m-th candidate remaining lives as the remaining life of the SSD device.
In accordance with one or more other embodiments, a non-transitory computer readable medium storing a program for estimating a remaining life of a solid state drive (SSD) device in a system which includes a sensor, the program including first code to generate a load value associated with the SSD device, the load value based on a sensing value and a distance between the sensor and the SSD device, the sensing value based on a periodically measured environmental variable; second code to calculate stress applied to the SSD device based on the load value; third code to calculate damage of the SSD device based on a stress-life curve and the stress, the stress-life curve representing a relationship between the stress and life of the SSD device; and fourth code to determine the remaining life of the SSD device based on a difference between a threshold value and the damage.
Features will become apparent to those of skill in the art by describing in detail exemplary embodiments with reference to the attached drawings in which:
The sensor 200 generates a sensing value SV by periodically measuring an environmental variable. In some example embodiments, the sensor 200 may periodically measure the environmental variable, which corresponds to at least one of temperature, humidity, pressure, acceleration, vibration, mechanical stress, shock, radiation, dust, or electrical stress, to generate the sensing value SV. In this example, the sensor 200 may include at least one of temperature sensor, humidity sensor, pressure sensor, acceleration sensor, vibration sensor, mechanical stress sensor, shock sensor, radiation sensor, dust sensor, or electrical stress sensor. In one embodiment, the sensor 200 may generate the sensing value SV by measuring at least one of various environmental variables.
The SSD device 100 estimates remaining life of the SSD device 100 based on the sensing value SV that is periodically provided from the sensor 200. In some example embodiments, the SSD device 100 may apply the sensing value SV that is periodically provided from the sensor 200 to cumulative damage law to estimate the remaining life of the SSD device 100.
The SSD controller 110 may be connected to each of the plurality of nonvolatile memory devices 120-1, 120-2, . . . , 120-s via a respective one of a plurality of channels CH1, CH2, . . . , CHs. The SSD controller 110 may control overall operations of the nonvolatile memory devices 120-1, 120-2, . . . , 120-s. For example, the SSD controller 110 may receive a command signal and an address signal from an external host, and may exchange data with the external host. The SSD controller 110 may write (e.g., program or store) the data into the nonvolatile memory devices 120-1, 120-2, . . . , 120-s, or may read (e.g., retrieve) the data from nonvolatile memory devices 120-1, 120-2, . . . , 120-s.
The SSD controller 110 may periodically receive the sensing value SV from the sensor 200 that is inside and/or outside the SSD device 100. The SSD controller 110 may estimate the remaining life of the SSD device 100 based on the sensing value SV that is periodically provided from the sensor 200.
A method of estimating the remaining life of the SSD device 100 that is performed by the SSD controller 110 will be described in detail with reference to
The sensor 200 may generate the sensing value SV by periodically measuring the environmental variable (operation S110). In some example embodiments, the sensor 200 may periodically measure the environmental variable, which corresponds to at least one of temperature, humidity, pressure, acceleration, vibration, mechanical stress, shock, radiation, dust, or electrical stress, to generate the sensing value SV. In this example, the sensor 200 may include at least one of temperature sensor, humidity sensor, pressure sensor, acceleration sensor, vibration sensor, mechanical stress sensor, shock sensor, radiation sensor, dust sensor, or electrical stress sensor.
The SSD device 100 may receive the sensing value SV that is periodically generated from the sensor 200. The SSD device 100 may generate a load value associated with the SSD device 100 based on the sensing value SV and a distance between the sensor 200 and the SSD device 100 (operation S120).
In some example embodiments, the sensor 200 may be inside the SSD device 100. In this example, the environmental variable that is measured by the sensor 200 may be substantially the same as an environmental variable that is applied to (e.g., affected to or has an effect on) the SSD device 100, and the distance between the sensor 200 and the SSD device 100 may be zero. Thus, the SSD device 100 may provide the sensing value SV as the load value without converting the sensing value SV. For example, the SSD device 100 may generate the load value by performing one-to-one conversion on the sensing value SV.
In other example embodiments, the sensor 200 may be outside the SSD device 100. In this example, the environmental variable that is measured by the sensor 200 may be different from an environmental variable that is applied to (e.g., affected to or has an effect on) the SSD device 100. Thus, the SSD device 100 may generate the load value corresponding to the sensing value SV based on the distance between the sensor 200 and the SSD device 100. For example, the SSD device 100 may convert the sensing value SV to the load value based on the distance between the sensor 200 and the SSD device 100.
For example, when the sensor 200 is relatively closer to the SSD device 100, the SSD device 100 may change the sensing value SV by a relatively small value to generate the load value. For another example, when the sensor 200 is relatively farther to the SSD device 100, the SSD device 100 may change the sensing value SV by a relatively large value to generate the load value.
In some example embodiments, the SSD device 100 may generate the load value corresponding to the sensing value SV based on a load curve. The load curve may be defined, for example, based on the distance between the sensor 200 and the SSD device 100. For example, the load curve may be predefined based on experimental data obtained by repetitive experiments for the system 10.
Referring to
A load curve for the example of
In an example of
A load curve for the example of
Although operation S120 in
Referring back to
Referring to
As illustrated in
As described above, the SSD device 100 may obtain the stress corresponding to the load value based on the load-stress conversion curve. For example, as illustrated in
Operation S130 in
Referring back to
As illustrated in
In some example embodiments, the stress-life curve may be predefined based on experimental data that are obtained by repetitive experiments for the system 10.
When the stress applied to the SSD device 100 has first through k-th stress values, where k is a positive integer, Miner's rule may be defined by Equation 1.
In Equation 1, ni represents the number of cycles for each stress value, and Ni represents the maximum number of cycles for each stress value. In other words, ni represents the number of times where the stress having an i-th stress value is repeatedly applied to the SSD device 100 since the SSD device 100 was initially operated after manufacturing process. Ni represents the maximum number of times where the stress having the i-th stress value may be repeatedly applied to the SSD device 100 until when an error or a malfunction occurs on the SSD device. In Equation 1, C represents the damage of the SSD device 100.
An operation for calculating damage corresponding to stress based on Miner's rule and the stress-life curve will be described with reference to
Referring to
The SSD device 100 may obtain, based on the stress-life curve, the maximum number of cycles for each of the stress values for the stress until an error occurs on the SSD device (operation S143).
The SSD device 100 may obtain the damage of the SSD device 100 by calculating a sum of a plurality of division results (operation S145). Each of the division results may be obtained, for example, by dividing the number of cycles for each of stress values by the maximum number of cycles for each of the stress values.
For example, the SSD device 100 may apply the number ni of cycles for each stress value (e.g., the number of times where the stress having the i-th stress value is repeatedly applied to the SSD device 100 since the SSD device 100 was initially operated after manufacturing process) and the maximum number Ni of cycles for each stress value (e.g., the maximum number of times where the stress having the i-th stress value may be repeatedly applied to the SSD device 100 until when an error or a malfunction occurs on the SSD device) to Equation 1 to obtain damage C.
Referring again to
In some example embodiments, the SSD device 100 may determine the remaining life corresponding to the damage based on a remaining life conversion curve. The remaining life conversion curve may represent a relationship between the remaining life and the difference between the threshold value and the damage.
When the damage reaches the threshold value, an error or a malfunction may occur on the SSD device 100. Thus, the remaining life of the SSD device 100 may be relatively long as the difference between the threshold value and the damage increase. Similarly, the remaining life of the SSD device 100 may be relatively short as the difference between the threshold value and the damage decrease.
As illustrated in
As described with reference to
As described with reference to
Referring to
Thus, when the increasing rate of the damage per unit time is greater than the threshold increasing rate (operation S170: YES), the SSD device 100 may generate a notification signal (operation S180).
A user, a manager, or an administrator of the system 10 may take appropriate actions, e.g., may back up data stored in the SSD device 100 or may replace the SSD device 100 with a new SSD device, in response to the notification signal.
In some example embodiments, after operation S150, life information that represents the remaining life of the SSD device 100 may be provided to a user, a developer, and/or an engineer of the SSD device 100 and/or the system 10 (operation S155). The life information may be periodically or non-periodically provided.
The first through n-th sensors 200-1˜200-n may be inside the SSD device 100 and outside the SSD device 100. For example, as illustrated in
The first through n-th sensors 200-1˜200-n generates first through n-th sensing values SV1˜SVk and SV(k+1)˜SVn by periodically measuring first through n-th environmental variables.
In some example embodiments, each of the first through n-th environmental variables may correspond to at least one of temperature, humidity, pressure, acceleration, vibration, mechanical stress, shock, radiation, dust, or electrical stress. In this example, each of the first through n-th sensors 200-1˜200-n may include at least one of temperature sensor, humidity sensor, pressure sensor, acceleration sensor, vibration sensor, mechanical stress sensor, shock sensor, radiation sensor, dust sensor, or electrical stress sensor.
In one embodiment, the first through n-th sensors 200-1˜200-n may generate the first through n-th sensing values SV1˜SVn by measuring at least one of various environmental variables.
The SSD device 100 estimates the remaining life of the SSD device 100 based on the first through n-th sensing values SV1˜SVn that are periodically provided from the first through n-th sensors 200-1˜200-n. In some example embodiments, the SSD device 100 may apply the first through n-th sensing values SV1˜SVn that are periodically provided from the first through n-th sensors 200-1˜200-n to cumulative damage law to estimate the remaining life of the SSD device 100.
Each of the first through n-th sensors 200-1˜200-n may generate a respective one of the first through n-th sensing values SV1˜SVn by periodically measuring a respective one of the first through n-th environmental variables (operation S210).
In some example embodiments, each of the first through n-th environmental variables may correspond to at least one of temperature, humidity, pressure, acceleration, vibration, mechanical stress, shock, radiation, dust, or electrical stress. In this example, each of the first through n-th sensors 200-1˜200-n may include at least one of temperature sensor, humidity sensor, pressure sensor, acceleration sensor, vibration sensor, mechanical stress sensor, shock sensor, radiation sensor, dust sensor, or electrical stress sensor.
The SSD device 100 may receive the first through n-th sensing values SV1˜SVn that are periodically generated from the first through n-th sensors 200-1˜200-n. The SSD device 100 may generate first through n-th load values associated with the SSD device 100 based on the first through n-th sensing values SV1˜SVn and distances between the first through n-th sensors 200-1˜200-n and the SSD device 100 (operation S220).
In some example embodiments, the (k+1)-th through n-th environmental variables that are measured by the (k+1)-th through n-th sensors 200-(k+1)˜200-n may be substantially the same as environmental variables that are applied to (e.g., affected to or has an effect on) the SSD device 100, because the (k+1)-th through n-th sensors 200-(k+1)˜200-n are inside the SSD device 100. Thus, the SSD device 100 may provide the (k+1)-th through n-th sensing values SV(k+1)˜SVn as the (k+1)-th through n-th load values without converting the (k+1)-th through n-th sensing values SV(k+1)˜SVn. For example, the SSD device 100 may generate the (k+1)-th through n-th load values by performing one-to-one conversion on the (k+1)-th through n-th sensing values SV(k+)˜SVn.
In other example embodiments, the first through k-th environmental variables that are measured by the first through k-th sensors 200-1˜200-k may be different from environmental variables that are applied to (e.g., affected to or has an effect on) the SSD device 100. This is because the first through k-th sensors 200-1˜200-k are outside the SSD device 100. Thus, the SSD device 100 may generate the first through k-th load values corresponding to the first through k-th sensing values SV1˜SVk based on the distances between the first through k-th sensors 200-1˜200-k and the SSD device 100. For example, the SSD device 100 may convert the first through k-th sensing values SV1˜SVk to the first through k-th load values based on the distances between the first through k-th sensors 200-1˜200-k and the SSD device 100.
For example, when one of the first through k-th sensors 200-1˜200-k is relatively closer to the SSD device 100, the SSD device 100 may change a respective one of the first through k-th sensing values SV1˜SVk by a relatively small value to generate a respective one of the first through k-th load values. In another example, when one of the first through k-th sensors 200-1˜200-k is relatively farther to the SSD device 100, the SSD device 100 may change a respective one of the first through k-th sensing values SV1˜SVk by a relatively large value to generate a respective one of the first through k-th load values.
In some example embodiments, the SSD device 100 may generate each of the first through k-th load values corresponding to a respective one of the first through k-th sensing values SV1˜SVk based on a respective one of first through k-th load curves. Each of the first through k-th load curves may be defined based on the distance between a respective one of the first through k-th sensors 200-1˜200-k and the SSD device 100. For example, each of the first through k-th load curves may be predefined based on experimental data that are obtained by repetitive experiments for the system 20.
The SSD device 100 may generate each of the first through k-th load values in a similar manner as described with reference to
Then, the SSD device 100 may calculate first through n-th stresses that are applied to (e.g., affected to or has an effect on) the SSD device based on the first through n-th load values (operation S230).
In some example embodiments, the SSD device 100 may calculate each of the first through n-th stresses corresponding to a respective one of the first through n-th load values based on a respective one of predefined first through n-th load-stress conversion curves. The SSD device 100 may calculate each of the first through n-th stresses in a similar manner as described with reference to
Then, the SSD device 100 may calculate damage of the SSD device based on first through n-th stress-life curves and the first through n-th stresses (operation S240). Each of the first through n-th stress-life curves may represent a relationship between a respective one of the first through n-th stresses and life (e.g., life span or desired life time) of the SSD device 100.
In some example embodiments, the SSD device 100 may calculate the damage corresponding to the first through n-th stresses based on the cumulative damage law. For example, the SSD device 100 may calculate the damage corresponding to the first through n-th stresses based on Miner's rule.
Referring to
The SSD device 100 may obtain, based on the first stress-life curve, the maximum number of cycles for each of the stress values for the first stress until an error occurs on the SSD device (operation S245).
The SSD device 100 may obtain a first sub-damage by calculating a sum of a plurality of division results (operation S247). Each of the division results may be obtained by dividing the number of cycles for each of stress values for the first stress by the maximum number of cycles for each of the stress values for the first stress.
For example, the SSD device 100 may apply the number ni of cycles for each stress value for the first stress (e.g., the number of times where the first stress having the i-th stress value is repeatedly applied to the SSD device 100 since the SSD device 100 was initially operated after manufacturing process) and the maximum number Ni of cycles for each stress value for the first stress (e.g., the maximum number of times where the first stress having the i-th stress value can be repeatedly applied to the SSD device 100 until an error or a malfunction occurs on the SSD device) to Equation 1 to obtain the first sub-damage.
As illustrated in
Then, the SSD device 100 may obtain the damage of the SSD device 100 by calculating a sum of the first through n-th sub-damages (operation S249).
Referring again to
In some example embodiments, the SSD device 100 may determine the remaining life corresponding to the damage based on a remaining life conversion curve. The remaining life conversion curve may represent a relationship between the remaining life and the difference between the threshold value and the damage. The SSD device 100 may determine the remaining life based on the remaining life conversion curve in a similar manner as described with reference to
When the damage reaches the threshold value, an error or a malfunction may occur on the SSD device 100. Thus, the remaining life of the SSD device 100 may be relatively long as the difference between the threshold value and the damage increase. Similarly, the remaining life of the SSD device 100 may be relatively short as the difference between the threshold value and the damage decrease.
As described with reference to
In some example embodiments, the sensor 200 may be inside the SSD device 100 or outside the SSD device 100, as illustrated in
In some example embodiments, the sensor 200 may periodically measure the environmental variable, which corresponds to at least one of temperature, humidity, pressure, acceleration, vibration, mechanical stress, shock, radiation, dust, or electrical stress, to generate the sensing value SV. In this example, the sensor 200 may include at least one of temperature sensor, humidity sensor, pressure sensor, acceleration sensor, vibration sensor, mechanical stress sensor, shock sensor, radiation sensor, dust sensor, or electrical stress sensor. In one embodiment, the sensor 200 may generate the sensing value SV by measuring at least one of various environmental variables.
As illustrated in
Each of the first through m-th components 150-1˜150-m may be one of various components or elements that are included in the SSD device 100. In some example embodiments, each of the first through m-th components 150-1˜150-m may correspond to an electronic circuit such as semiconductor package, semiconductor chip, printed circuit board (PCB), etc. For example, each of the first through m-th components 150-1˜150-m may correspond to at least one of the SSD controller 110 in
In other example embodiments, each of the first through m-th components 150-1˜150-m may correspond to an electrical connection member such as solder joint, solder ball, solder, etc. For example, each of the first through m-th components 150-1˜150-m may correspond to at least one of as solder joint, solder ball, or solder that are included in the SSD controller 110 in
The SSD device 100 estimates the remaining life of the SSD device 100 based on the sensing value SV that is periodically provided from the sensor 200. In some example embodiments, the SSD device 100 may apply the sensing value SV that is periodically provided from the sensor 200 to cumulative damage law to estimate the remaining life of the SSD device 100.
For example, the SSD device 100 may apply the sensing value SV that is periodically provided from the sensor 200 to the cumulative damage law, and may determine first through m-th candidate remaining lives of the first through m-th components 150-1˜150-m. The SSD device 100 may determine a minimum remaining life among the first through m-th candidate remaining lives as the remaining life of the SSD device.
The sensor 200 may generate the sensing value SV by periodically measuring the environmental variable (operation S310). In some example embodiments, the sensor 200 may periodically measure the environmental variable, which corresponds to at least one of temperature, humidity, pressure, acceleration, vibration, mechanical stress, shock, radiation, dust, or electrical stress, to generate the sensing value SV. In this example, the sensor 200 may include at least one of temperature sensor, humidity sensor, pressure sensor, acceleration sensor, vibration sensor, mechanical stress sensor, shock sensor, radiation sensor, dust sensor, or electrical stress sensor.
The SSD device 100 may receive the sensing value SV that is periodically generated from the sensor 200. The SSD device 100 may generate a load value associated with the SSD device 100 based on the sensing value SV and a distance between the sensor 200 and the SSD device 100 (operation S320).
In some example embodiments, the sensor 200 may be inside the SSD device 100. In this example, the environmental variable that is measured by the sensor 200 may be substantially the same as an environmental variable that is applied to (e.g., affected to or has an effect on) the SSD device 100. The distance between the sensor 200 and the SSD device 100 may be zero. Thus, the SSD device 100 may provide the sensing value SV as the load value without converting the sensing value SV. For example, the SSD device 100 may generate the load value by performing one-to-one conversion on the sensing value SV.
In other example embodiments, the sensor 200 may be outside the SSD device 100. In this example, the environmental variable that is measured by the sensor 200 may be different from an environmental variable that is applied to (e.g., affected to or has an effect on) the SSD device 100. Thus, the SSD device 100 may generate the load value corresponding to the sensing value SV based on the distance between the sensor 200 and the SSD device 100. For example, the SSD device 100 may convert the sensing value SV to the load value based on the distance between the sensor 200 and the SSD device 100.
For example, when the sensor 200 is relatively closer to the SSD device 100, the SSD device 100 may change the sensing value SV by a relatively small value to generate the load value. For another example, when the sensor 200 is relatively farther to the SSD device 100, the SSD device 100 may change the sensing value SV by a relatively large value to generate the load value.
In some example embodiments, the SSD device 100 may generate the load value corresponding to the sensing value SV based on a load curve. The load curve may be defined based on the distance between the sensor 200 and the SSD device 100. For example, the load curve may be predefined based on experimental data that are obtained by repetitive experiments for the system 10.
The SSD device 100 may generate the load value in the same manner as described with reference to
Then, the SSD device 100 may calculate first through m-th stresses that are applied to (e.g., affected to or have an effect on) the first through m-th components 150-1˜150-m based on the load value (operation S330).
When a load corresponding to the load value is applied to the SSD device 100, stresses that are applied to the first through m-th components 150-1˜150-m may be different from each other. Thus, when the load corresponding to the load value is applied to the SSD device 100, the SSD device 100 may individually and independently calculate the first through m-th stresses that are applied to the first through m-th components 150-1˜150-m.
In some example embodiments, the SSD device 100 may calculate each of the first through m-th stresses corresponding to the load value based on a respective one of predefined first through m-th load-stress conversion curves. Each of the first through m-th load-stress conversion curves may correspond to a respective one of the first through m-th components 150-1˜150-m.
Each of the first through m-th load-stress conversion curves may be defined in a similar manner as described with reference to
Then, the SSD device 100 may calculate first through m-th damages of the first through m-th components 150-1˜150-m based on first through m-th stress-life curves and the first through m-th stresses (operation S340). Each of the first through m-th stress-life curves may represent a relationship between a respective one of the first through m-th stresses and life (e.g., life span or desired life time) of the SSD device 100.
In some example embodiments, the SSD device 100 may calculate each of the first through m-th damages corresponding to a respective one of the first through m-th stresses based on the cumulative damage law. For example, the SSD device 100 may calculate each of the first through m-th damages corresponding to a respective one of the first through m-th stresses based on Miner's rule. Each of the first through m-th stress-life curves may be defined in a similar manner as described with reference to
The SSD device 100 may calculate each of the first through m-th damages based on a respective one of the first through m-th stress-life curves in a similar manner as described with reference to
Then, the SSD device 100 may determine first through m-th candidate remaining lives of the SSD device 100 based on differences between first through m-th threshold values and the first through m-th damages (operation S350). The first through m-th threshold values may be predefined. Each of the first through m-th candidate remaining lives may correspond to remaining life of a respective one of the first through m-th components 150-1˜150-m.
In some example embodiments, the SSD device 100 may determine each of the first through m-th candidate remaining lives corresponding to a respective one of the first through m-th damages based on a respective one of first through m-th remaining life conversion curves. Each of the first through m-th remaining life conversion curves may represent a relationship between the remaining life and the difference between a respective one of the first through m-th threshold values and a respective one of the first through m-th damages.
Each of the first through m-th remaining life conversion curves may be defined in a similar manner as described with reference to
The SSD device 100 may determine each of the first through m-th candidate remaining lives based on a respective one of the first through m-th remaining life conversion curves in a similar manner as described with reference to
When t-th damage reaches a t-th threshold value, where t is a positive integer less than or equal to m, an error or a malfunction may occur on a t-th component. Thus, t-th candidate remaining life that corresponds to remaining life of the t-th component may be relatively long as a difference between the t-th threshold value and the t-th damage increase. Similarly, the t-th candidate remaining life may be relatively short as the difference between the t-th threshold value and the t-th damage decrease.
Then, the SSD device 100 may determine a minimum remaining life among the first through m-th candidate remaining lives as the remaining life of the SSD device 100 (operation S360).
As described above, each of the first through m-th candidate remaining lives may correspond to the remaining life of a respective one of the first through m-th components 150-1˜150-m.
When an error or a malfunction occurs on one of the first through m-th components 150-1˜450-m due to the end of its predefined life, an error or a malfunction may also occur on the SSD device 100.
Thus, the SSD device 100 may determine the minimum remaining life among the first through m-th candidate remaining lives that correspond to remaining lives of the first through m-th components 150-1˜150-m as the remaining life of SSD device 100.
As described with reference to
At least one of operations S155, S160, S170, or S180 in
Another embodiment may include a computer-readable medium, e.g., a non-transitory computer-readable medium, for storing the code or instructions described above. The computer-readable medium may be a volatile or non-volatile memory or other storage device, which may be removably or fixedly coupled to the computer, processor, controller, or other signal processing device which is to execute the code or instructions for performing the method embodiments described herein.
The code or instructions may be stored, for example, in a memory 121 (e.g., see
The program includes first code to generate a load value associated with the SSD device, the load value based on a sensing value and a distance between the sensor and the SSD device, the sensing value based on a periodically measured environmental variable; second code to calculate stress applied to the SSD device based on the load value; third code to calculate damage of the SSD device based on a stress-life curve and the stress, the stress-life curve representing a relationship between the stress and life of the SSD device; and fourth code to determine the remaining life of the SSD device based on a difference between a threshold value and the damage. The environmental variable corresponds to at least one of temperature, humidity, pressure, acceleration, vibration, mechanical stress, shock, radiation, dust, or electrical stress.
The first code may generate the load value based on a load curve, and the load curve may be based on the distance between a sensor and the SSD device. The second code may calculate the stress corresponding to the load value based on a predefined load-stress conversion curve. The may calculate the damage based on cumulative damage law.
The methods, processes, and/or operations described herein may be performed by code or instructions to be executed by a computer, processor, controller, or other signal processing device. The computer, processor, controller, or other signal processing device may be those described herein or one in addition to the elements described herein. Because the algorithms that form the basis of the methods (or operations of the computer, processor, controller, or other signal processing device) are described in detail, the code or instructions for implementing the operations of the method embodiments may transform the computer, processor, controller, or other signal processing device into a special-purpose processor for performing the methods herein.
The controllers, calculators, signal generating features, and signal processing features of the disclosed embodiments may be implemented in logic which, for example, may include hardware, software, or both. When implemented at least partially in hardware, the controllers, calculators, signal generating features, and signal processing features may be, for example, any one of a variety of integrated circuits including but not limited to an application-specific integrated circuit, a field-programmable gate array, a combination of logic gates, a system-on-chip, a microprocessor, or another type of processing or control circuit.
When implemented in at least partially in software, the controllers, calculators, signal generating features, and signal processing features may include, for example, a memory or other storage device for storing code or instructions to be executed, for example, by a computer, processor, microprocessor, controller, or other signal processing device. The computer, processor, microprocessor, controller, or other signal processing device may be those described herein or one in addition to the elements described herein. Because the algorithms that form the basis of the methods (or operations of the computer, processor, microprocessor, controller, or other signal processing device) are described in detail, the code or instructions for implementing the operations of the method embodiments may transform the computer, processor, controller, or other signal processing device into a special-purpose processor for performing the methods described herein.
Example embodiments have been disclosed herein, and although specific terms are employed, they are used and are to be interpreted in a generic and descriptive sense only and not for purpose of limitation. In some instances, as would be apparent to one of ordinary skill in the art as of the filing of the present application, features, characteristics, and/or elements described in connection with a particular embodiment may be used singly or in combination with features, characteristics, and/or elements described in connection with other embodiments unless otherwise indicated. Accordingly, various changes in form and details may be made without departing from the spirit and scope of the embodiments set forth in the claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2016-0174493 | Dec 2016 | KR | national |
10-2017-0009738 | Jan 2017 | KR | national |
Number | Name | Date | Kind |
---|---|---|---|
20070260811 | Merry, Jr. et al. | Nov 2007 | A1 |
20070266200 | Gorobets et al. | Nov 2007 | A1 |
20100082913 | Mukai et al. | Apr 2010 | A1 |
20130283129 | Schuette et al. | Oct 2013 | A1 |
20140172325 | Naji | Jun 2014 | A1 |
20140181363 | Hoang et al. | Jun 2014 | A1 |
20140181595 | Hoang et al. | Jun 2014 | A1 |
20150032948 | Yoon et al. | Jan 2015 | A1 |
20150120636 | Gao | Apr 2015 | A1 |
20150317090 | Samanta | Nov 2015 | A1 |
20160034206 | Ryan | Feb 2016 | A1 |
20160034208 | Cepulis | Feb 2016 | A1 |
20160179602 | Gorobets et al. | Jun 2016 | A1 |
20170172473 | Wedekind | Jun 2017 | A1 |
20170285970 | Li | Oct 2017 | A1 |
Entry |
---|
Cho, et al, Fatigue life evaluation of SSD solder ball due to the installation, pp. 495-500. |
Number | Date | Country | |
---|---|---|---|
20180173602 A1 | Jun 2018 | US |