Managing solid state device (SSD) wear-level
A technique manages solid state device (SSD) wear-level. The technique involves storing data on a plurality of SSDs. The technique further involves, based on storing the data on the plurality of SSDs, identifying a particular SSD of the plurality of SSDs as a target SSD. The technique further involves moving write-hot data to the particular SSD identified as the target SSD to increase writing workload on the particular SSD compared to respective writing workloads on other SSDs of the plurality of SSDs. Accordingly, the particular SSD wears out ahead of the other SSDs and avoids multiple SSD failures at the same time which otherwise could result in data unavailability (DU) and/or data loss (DL).
1 . A method of managing solid state device (SSD) wear-level, the method comprising:
storing data on a plurality of SSDs in an ongoing manner during an early stage of use, a later stage of use, and a nearing-end-of-life stage of use;
evenly distributing writing workload across the plurality of SSDs during the early stage of use;
detecting a late stage wear level event in which a wear level of one of the plurality of SSDs exceeds a predefined late stage wear level threshold, the late stage wear level event denoting a transition of the plurality of SSDs from the early stage of use to the later stage of use;
based on storing the data on the plurality of SSDs and in response to detection of the late stage wear level event, identifying a particular SSD of the plurality of SSDs as a target SSD;
moving write-hot data to the particular SSD identified as the target SSD to increase writing workload on the particular SSD compared to respective writing workloads on other SSDs of the plurality of SSDs in order to accelerate wear of the particular SSD relative to the other SSDs;
detecting a nearing-end-of-life wear level event in which a wear level of the particular SSD exceeds a predefined nearing-end-of-life wear level threshold, the nearing-end-of-life wear level event denoting a transition of the plurality of SSDs from the later stage of use to the nearing-end-of-life stage of use; and
in response to detection of the nearing-end-of-life wear level event, decreasing an amount of write-hot data on the particular SSD to no longer accelerate wear of the particular SSD relative to the other SSDs.
2 . The method of claim 1 wherein identifying the particular SSD as the target SSD includes:
selecting the particular SSD among the plurality of SSDs due to the particular SSD having the most aging among the plurality of SSDs.
3 . The method of claim 1 , further comprising:
prior to storing the data on the plurality of SSDs, reserving a plurality of spare storage slices of the plurality of SSDs for possible data recovery; and
wherein moving the write-hot data to the particular SSD includes:
identifying a set of spare storage slices on the particular SSD;
identifying a set of write-hot data slices on another SSD; and
relocating the identified set of write-hot data slices from the other SSD onto the identified set of spare storage slices on the particular SSD.
4 . The method of claim 3 wherein, after the identified set of spare storage slices is relocated on the particular SSD, the identified set of spare storage slices is no longer usable for data recovery; and
wherein decreasing the amount of write-hot data on the particular SSD includes:
removing data from the identified set of spare storage slices on the particular SSD; and
re-designating the identified set of spare storage slices on the particular SSD as usable for data recovery.
5 . The method of claim 1 , wherein detecting the nearing-end-of-life wear-level event in which the wear level of the particular SSD exceeds the predefined nearing-end-of-life wear-level threshold includes:
computing wear level differences between the particular SSD and the other SSDs of the plurality of SSDs.
6 . The method of claim 5 wherein the predefined nearing-end-of-life wear level threshold is a predefined wear acceleration termination threshold; and
wherein decreasing the amount of write-hot data on the particular SSD includes:
in response to one of the computed wear level differences between the particular SSD and the other SSD of the plurality of SSDs exceeding the predefined wear acceleration termination threshold, removing the write-hot data from the particular SSD to reduce writing workload on the particular SSD.
7 . The method of claim 1 wherein evenly distributing writing workload across the plurality of SSDs includes:
while wear levels of all of the SSDs of the plurality of SSDs are initially below the predefined late stage wear level threshold, computing wear level differences among the SSDs of the plurality of SSDs.
8 . The method of claim 7 wherein the predefined late stage wear level threshold is a predefined wear acceleration initiation threshold; and
wherein detecting the late stage wear-level event in which the wear level of one of the plurality of SSDs exceeds the predefined late stage wear-level threshold includes:
detecting an SSD deviation event in which a wear level difference between the particular SSD and another SSD of the plurality of SSDs has become greater than the predefined wear acceleration initiation threshold.
9 . The method of claim 8 wherein identifying the particular SSD as the target SSD includes:
selecting the particular SSD among the plurality of SSDs due to the particular SSD having the least aging among the plurality of SSDs.
10 . The method of claim 8 , further comprising:
prior to storing the data on the plurality of SSDs, reserving a plurality of spare storage slices of the plurality of SSDs for possible data recovery; and
wherein moving the write-hot data to the particular SSD includes:
identifying a set of spare storage slices on the particular SSD;
identifying a set of write-hot data slices on another SSD; and
relocating the identified set of write-hot data slices from the other SSD onto the identified set of spare storage slices on the particular SSD.
11 . The method of claim 10 wherein, after the identified set of spare storage slices is relocated on the particular SSD, the identified set of spare storage slices is no longer usable for data recovery; and
wherein decreasing the amount of write-hot data on the particular SSD includes:
removing data from the identified set of spare storage slices on the particular SSD; and
re-designating the identified set of spare storage slices on the particular SSD as usable for data recovery.
12 . The method of claim 8 , wherein detecting the nearing-end-of-life wear-level event in which the wear level of the particular SSD exceeds the predefined nearing-end-of-life wear-level threshold includes:
computing further wear level differences between the particular SSD and the other SSDs of the plurality of SSDs.
13 . The method of claim 12 , wherein the predefined nearing-end-of-life wear level threshold is a predefined wear acceleration termination threshold; and
wherein decreasing the amount of write-hot data on the particular SSD includes:
in response to one of the computed further wear level differences between the particular SSD and the other SSD of the plurality of SSDs exceeding the predefined wear acceleration termination threshold, removing the write-hot data from the particular SSD to reduce writing workload on the particular SSD.
14 . The method of claim 1 , further comprising:
prior to storing the data on the plurality of SSDs, setting a value for the predefined nearing-end-of-life wear level threshold based on a prespecified amount of time between the target SSD reaching end of life and a next SSD of the plurality of SSDs reaching end of life.
15 . The method of claim 14 , further comprising:
in response to detection of the nearing-end-of-life wear level event, providing a notification to the user that target SSD requires replacement.
16 . The method of claim 14 , further comprising:
in response to detection of the nearing-end-of-life wear level event, starting a timer which is constructed and arranged to expire after a budgeted amount of remaining time elapses without the target SSD being replaced, the budgeted amount of remaining time being less than the prespecified amount of time.
17 . The method of claim 16 , further comprising:
in response to expiration of the timer, transitioning at least one of the plurality of SSDs to a read-only mode.
18 . The method of claim 1 wherein evenly distributing the writing workload across the plurality of SSDs during the early stage of use includes:
in response to a deviation between two SSDs of the plurality of SSDs exceeding a predefined maximum deviation threshold during the early stage of use, accelerating wear on one of the two SSDs that is less worn until the deviation between the two SSDs is below a within-tolerance threshold; and
wherein the method further comprises:
prior to storing the data on the plurality of SSDs, setting the within-tolerance threshold to be lower than the predefined maximum deviation threshold by a specified amount to prevent bouncing when evenly distributing the writing workload across the plurality of SSDs during the early stage of use.
19 . Data storage equipment, comprising:
memory; and
control circuitry coupled to the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to perform a method of:
storing data on a plurality of solid state devices (SSDs) in an ongoing manner during an early stage of use, a later stage of use, and a nearing-end-of-life stage of use,
evenly distributing writing workload across the plurality of SSDs during the early stage of use;
detecting a late stage wear level event in which a wear level of one of the plurality of SSDs exceeds a predefined late stage wear level threshold, the late stage wear level event denoting a transition of the plurality of SSDs from the early stage of use to the later stage of use;
based on storing the data on the plurality of SSDs and in response to detection of the late stage wear level event, identifying a particular SSD of the plurality of SSDs as a target SSD,
moving write-hot data to the particular SSD identified as the target SSD to increase writing workload on the particular SSD compared to respective writing workloads on other SSDs of the plurality of SSDs in order to accelerate wear of the particular SSD relative to the other SSDs;
detecting a nearing-end-of-life wear level event in which a wear level of the particular SSD exceeds a predefined nearing-end-of-life wear level threshold, the nearing-end-of-life wear level event denoting a transition of the plurality of SSDs from the later stage of use to the nearing-end-of-life stage of use; and
in response to detection of the nearing-end-of-life wear level event, decreasing an amount of write-hot data on the particular SSD to no longer accelerate wear of the particular SSD relative to the other SSDs.
20 . A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage solid state device (SSD) wear-level; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:
storing data on a plurality of SSDs in an ongoing manner during an early stage of use, a later stage of use, and a nearing-end-of-life stage of use;
evenly distributing writing workload across the plurality of SSDs during the early stage of use;
detecting a late stage wear level event in which a wear level of one of the plurality of SSDs exceeds a predefined late stage wear level threshold, the late stage wear level event denoting a transition of the plurality of SSDs from the early stage of use to the later stage of use;
based on storing the data on the plurality of SSDs and in response to detection of the late stage wear level event, identifying a particular SSD of the plurality of SSDs as a target SSD;
moving write-hot data to the particular SSD identified as the target SSD to increase writing workload on the particular SSD compared to respective writing workloads on other SSDs of the plurality of SSDs in order to accelerate wear of the particular SSD relative to the other SSDs;
detecting a nearing-end-of-life wear level event in which a wear level of the particular SSD exceeds a predefined nearing-end-of-life wear level threshold, the nearing-end-of-life wear level event denoting a transition of the plurality of SSDs from the later stage of use to the nearing-end-of-life stage of use; and
in response to detection of the nearing-end-of-life wear level event, decreasing an amount of write-hot data on the particular SSD to no longer accelerate wear of the particular SSD relative to the other SSDs.