Using less durable storage to service system operations
A first set of blocks of storage memory is allocated as durable and a second set of blocks of the storage memory is allocated as semi-durable. The durable first set of blocks are provided power loss protection (PLP) and the semi-durable second set of blocks lack PLP. Data generated by one or more background operations of the storage system is identified. The data generated by the one or more background operations is stored in one or more blocks of the semi-durable second set of blocks.
1 . A storage system comprising:
a plurality of storage devices, wherein one or more of the plurality of storage devices comprise a storage memory device; and
a storage controller comprising a processing device, operatively coupled to the plurality of storage devices, configured to:
allocate a first set of blocks of the storage memory device as durable and a second set of blocks of the storage memory device as semi-durable, wherein the durable first set of blocks are provided power loss protection (PLP) and the semi-durable second set of blocks lacks PLP;
identify data generated by one or more background operations of the storage system;
store the data generated by the one or more background operations in one or more blocks of the semi-durable second set of blocks; and
in response to determining that the data generated by the one or more background operations is no longer stored in non-volatile storage of the storage system, reallocate the one or more blocks of the semi-durable second set of blocks as durable.
2 . The storage system of claim 1 , wherein the one or more background operations comprises a garbage collection operation.
3 . The storage system of claim 1 , wherein the one or more background operations comprises a rebuild operation.
4 . The storage system of claim 1 , wherein the one or more background operations comprises an asynchronous replication operation.
5 . The storage system of claim 1 , wherein the processing device is further configured to:
receive user data to be stored by the storage system; and
store the user data at the durable first set of blocks.
6 . The storage system of claim 1 , wherein the plurality of storage devices comprise non-volatile memory.
7 . The storage system of claim 1 , wherein the plurality of storage devices comprises one or more managed flash storage devices.
8 . A method comprising:
allocating a first set of blocks of a storage memory device as durable and a second set of blocks of the storage memory device as semi-durable, wherein the durable first set of blocks are provided power loss protection (PLP) and the semi-durable second set of blocks lacks PLP;
identifying data generated by one or more background operations of the storage system;
storing the data generated by the one or more background operations in one or more blocks of the semi-durable second set of blocks, and
in response to determining that the data generated by the one or more background operations is no longer stored in non-volatile storage of the storage system, reallocate the one or more blocks of the semi-durable second set of blocks as durable.
9 . The method of claim 8 , wherein the one or more background operations comprises a garbage collection operation.
10 . The method of claim 8 , wherein the one or more background operations comprises a rebuild operation.
11 . The method of claim 8 , wherein the one or more background operations comprises an asynchronous replication operation.
12 . The method of claim 8 , further comprising:
receiving user data to be stored by the storage system; and
storing the user data at the durable first set of blocks.
13 . The method of claim 8 , wherein the plurality of storage devices comprise non-volatile memory.
14 . The method of claim 8 , wherein the storage system comprises one or more managed flash storage devices.
15 . A non-transitory computer readable storage medium storing instructions which, when executed, cause a processing device of a storage controller to:
allocate a first set of blocks of a storage memory device as durable and a second set of blocks of the storage memory device as semi-durable, wherein the durable first set of blocks are provided power loss protection (PLP) and the semi- durable second set of blocks lacks PLP;
identify data generated by one or more background operations of the storage system;
store the data generated by the one or more background operations in one or more blocks of the semi-durable second set of blocks, and in response to determining that the data generated by the one or more background operations is no longer stored in non-volatile storage of the storage system, reallocate the one or more blocks of the semi-durable second set of blocks as durable.
16 . The non-transitory computer readable storage medium of claim 15 , wherein the one or more background operations comprises a garbage collection operation.
17 . The non-transitory computer readable storage medium of claim 15 , wherein the one or more background operations comprises a rebuild operation.
18 . The non-transitory computer readable storage medium of claim 15 , wherein the one or more background operations comprises an asynchronous replication operation.
19 . The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further configured to:
receive user data to be stored by the storage system; and
store the user data at the durable first set of blocks.
20 . The non-transitory computer readable storage medium of claim 15 , wherein the storage system comprises one or more managed flash storage devices.