Managing data within solid state drive storage based on recurring write quotas
A technique manages data within solid state device (SSD) storage. The technique involves, in response to writing data to a set of SSD storage components, consuming a set of recurring write quotas for the set of SSD storage components. Each recurring write quota identifies an amount of remaining usefulness for a respective SSD storage component, e.g., periodically allocated budgets for write operations based on measured (or counted) reliability and/or healthiness factors. The technique further involves, as the set of recurring write quotas are consumed, performing a set of quota evaluation operations to evaluate the set of recurring write quotas. The technique further involves, in response to a set of results from the set of quota evaluation operations, performing a set of remedial activities to control access to the data that was written to the set of SSD storage components.
1. A method of managing data within solid state drive (SSD) storage, the method comprising:
in response to writing data to a set of SSD storage components, consuming a set of recurring write quotas for the set of SSD storage components, each recurring write quota of the set of recurring write quotas identifying an amount of remaining usefulness for a respective SSD storage component of the set of SSD storage components, wherein a particular recurring write quota for a particular SSD storage component initially is a numerical write measurement for the particular SSD storage component budgeted for a predefined time period;
as the set of recurring write quotas are consumed, performing a set of quota evaluation operations to evaluate the set of recurring write quotas;
in response to a set of results from the set of quota evaluation operations, performing a set of remedial activities to control access to the data that was written to the set of SSD storage components, wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components includes blocking performance of further write operations to the particular SSD storage component during a remainder of the predefined time period; and
upon expiration of the predefined time period and onset of a new predefined time period, (i) setting the particular recurring write quota for the particular SSD storage component back to the numerical write measurement budgeted for the new predefined time period and (ii) unblocking performance of further write operations to the particular SSD storage component.
2. A method as in claim 1 , further comprising:
prior to consuming the set of recurring write quotas, generating the set of recurring write quotas based on a set of predefined program-erase (PE) cycle counts for the set of SSD storage components, each predefined PE cycle count identifying a predefined number of PE cycles to be performed on a respective SSD storage component of the set of SSD storage components; and
wherein each recurring write quota is a numerical measure of remaining PE usefulness for a respective SSD storage component of the set of SSD storage components.
3. A method as in claim 2 wherein performing the set of quota evaluation operations to evaluate the set of recurring write quotas further includes:
providing a particular alert that the particular recurring write quota for the particular SSD storage component has been fully consumed.
4. A method as in claim 3 wherein
blocking the performance of further write operations is performed in response to the particular alert.
5. A method as in claim 3 wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components further includes:
outputting a notification to a user indicating that write operations to the particular SSD storage component within the predefined time period exceeded the numerical write measurement for the particular SSD storage component budgeted for the predefined time period.
6. A method as in claim 2 wherein generating the set of recurring write quotas includes:
deriving the set of recurring write quotas based on a set of healthiness factors for the set of SSD storage components, each healthiness factor indicating whether a respective SSD storage component is healthy.
7. A method as in claim 6 , further comprising:
providing the set of healthiness factors based on a count of unrecoverable errors for each SSD storage component of the set of SSD storage components.
8. A method as in claim 6 , further comprising:
providing the set of healthiness factors based on a count of faulted pages for each SSD storage component of the set of SSD storage components.
9. A method as in claim 6 , further comprising:
providing the set of healthiness factors based on a count of read errors for each SSD storage component of the set of SSD storage components.
10. A method as in claim 6 , further comprising:
providing the set of healthiness factors based on a count of write errors for each SSD storage component of the set of SSD storage components.
11. A method as in claim 6 , further comprising:
providing the set of healthiness factors based on a current write amplification factor for each SSD storage component of the set of SSD storage components.
12. A method as in claim 6 , further comprising:
providing the set of healthiness factors based on (i) a count of unrecoverable errors for each SSD storage component of the set of SSD storage components, (ii) a count of faulted pages for each SSD storage component of the set of SSD storage components, (iii) a count of read errors for each SSD storage component of the set of SSD storage components, (iv) a count of write errors for each SSD storage component of the set of SSD storage components, and (v) a current write amplification factor for each SSD storage component of the set of SSD storage components.
13. A method as in claim 6 , further comprising:
after a predefined period of operation has passed since generating the set of recurring write quotas, replacing the set of recurring write quotas with a set of newly-generated recurring write quotas based on a set of updated healthiness factors for the set of SSD storage components, each updated healthiness factor indicating whether a respective SSD storage component is currently healthy.
14. A method as in claim 13 wherein each SSD storage component includes multiple SSD storage units configured as a redundant array of independent devices (RAID) group.
15. A method as in claim 13 wherein each SSD storage component includes exactly one SSD storage unit.
16. A method as in claim 1 wherein the particular SSD storage component is a page; and
wherein the numerical write measurement for the particular SSD storage component budgeted for the predefined time period is a write allocation for write operations to the page for the predefined time period.
17. Data storage equipment, comprising:
a storage component interface operative to communicate with a set of solid state drive (SSD) storage components;
memory; and
control circuitry coupled to the storage component interface and the memory, the memory storing instructions which, when carried out by the control circuitry, cause the control circuitry to:
in response to writing data to the set of SSD storage components through storage component interface, consume a set of recurring write quotas for the set of SSD storage components, each recurring write quota of the set of recurring write quotas identifying an amount of remaining usefulness for a respective SSD storage component of the set of SSD storage components, wherein a particular recurring write quota for a particular SSD storage component initially is a numerical write measurement for the particular SSD storage component budgeted for a predefined time period,
as the set of recurring write quotas are consumed, perform a set of quota evaluation operations to evaluate the set of recurring write quotas,
in response to a set of results from the set of quota evaluation operations, perform a set of remedial activities to control access to the data that was written to the set of SSD storage components, wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components includes blocking performance of further write operations to the particular SSD storage component during a remainder of the predefined time period; and
upon expiration of the predefined time period and onset of a new predefined time period, (i) set the particular recurring write quota for the particular SSD storage component back to the numerical write measurement budgeted for the new predefined time period and (ii) unblock performance of further write operations to the particular SSD storage component.
18. Data storage equipment as in claim 17 wherein the control circuitry is further constructed and arranged to:
prior to consuming the set of recurring write quotas, generate the set of recurring write quotas based on a set of predefined program-erase (PE) cycle counts for the set of SSD storage components, each predefined PE cycle count identifying a predefined number of PE cycles to be performed on a respective SSD storage component of the set of SSD storage components; and
wherein each recurring write quota is a numerical measure of remaining PE usefulness for a respective SSD storage component of the set of SSD storage components.
19. Data storage equipment as in claim 18 wherein performing the set of quota evaluation operations to evaluate the set of recurring write quotas further includes:
providing a particular alert that the particular recurring write quota for the particular SSD storage component has been fully consumed; and
wherein blocking the performance of further write operations is performed in response to the particular alert.
20. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage data within solid state drive (SSD) storage; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:
in response to writing data to a set of SSD storage components, consuming a set of recurring write quotas for the set of SSD storage components, each recurring write quota of the set of recurring write quotas identifying an amount of remaining usefulness for a respective SSD storage component of the set of SSD storage components, wherein a particular recurring write quota for a particular SSD storage component initially is a numerical write measurement for the particular SSD storage component budgeted for a predefined time period;
as the set of recurring write quotas are consumed, performing a set of quota evaluation operations to evaluate the set of recurring write quotas; and
in response to a set of results from the set of quota evaluation operations, performing a set of remedial activities to control access to the data that was written to the set of SSD storage components, wherein performing the set of remedial activities to control access to the data that was written to the set of SSD storage components includes blocking performance of further write operations to the particular SSD storage component during a remainder of the predefined time period; and
upon expiration of the predefined time period and onset of a new predefined time period, (i) setting the particular recurring write quota for the particular SSD storage component back to the numerical write measurement budgeted for the new predefined time period and (ii) unblocking performance of further write operations to the particular SSD storage component.