IP Library Granted Patent US 12705149
Granted Patent B2
US 12705149 · App. 18/753,106 · Granted Aug 11, 2026

Using less durable storage to service system operations

Inventors: Ronald Karr (Santa Clara, CA); Matthew Davis (Sunnyvale, CA); Riley Thomasson (Redondo Beach, CA); Andrew Bernat (Mountain View, CA)
Assignee: EVERPURE, INC.
G06F11/2074G06F3/0619G06F3/0631G06F3/065G06F3/067G06F11/1441
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12705149
App. No.
18/753,106
Granted
Aug 11, 2026
Kind
B2
Abstract

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.

Claims (39)

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.