US 12,141,118 B2
Optimizing storage system performance using data characteristics
Gordon James Coleman, Los Altos, CA (US); Peter E. Kirkpatrick, Los Altos, CA (US); and Eric D. Seppanen, Mountain View, CA (US)
Assigned to PURE STORAGE, INC., Santa Clara, CA (US)
Filed by PURE STORAGE, INC., Santa Clara, CA (US)
Filed on Jun. 1, 2023, as Appl. No. 18/327,606.
Application 18/327,606 is a continuation of application No. 16/891,201, filed on Jun. 3, 2020, abandoned.
Application 16/891,201 is a continuation of application No. 15/419,747, filed on Jan. 30, 2017, abandoned.
Claims priority of provisional application 62/403,881, filed on Oct. 4, 2016.
Claims priority of provisional application 62/404,095, filed on Oct. 4, 2016.
Claims priority of provisional application 62/403,894, filed on Oct. 4, 2016.
Prior Publication US 2023/0306010 A1, Sep. 28, 2023
Int. Cl. G06F 3/06 (2006.01); G06F 9/4401 (2018.01); G06F 9/48 (2006.01); G06F 12/02 (2006.01); G06F 16/21 (2019.01); G06F 16/22 (2019.01); G06F 16/25 (2019.01); G06F 21/57 (2013.01)
CPC G06F 16/2282 (2019.01) [G06F 3/0607 (2013.01); G06F 3/061 (2013.01); G06F 3/0619 (2013.01); G06F 3/0632 (2013.01); G06F 3/064 (2013.01); G06F 3/065 (2013.01); G06F 3/0652 (2013.01); G06F 3/0655 (2013.01); G06F 3/0665 (2013.01); G06F 3/0688 (2013.01); G06F 3/0689 (2013.01); G06F 9/4401 (2013.01); G06F 9/4881 (2013.01); G06F 12/0246 (2013.01); G06F 12/0253 (2013.01); G06F 16/211 (2019.01); G06F 16/252 (2019.01); G06F 21/572 (2013.01); G06F 2209/482 (2013.01); G06F 2212/702 (2013.01); G06F 2212/7205 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A storage system comprising:
a plurality of solid-state storage devices; and
a storage system controller, operatively coupled to and separate from the plurality of solid-state storage devices, the storage system controller comprising a processing device, the processing device configured to:
identify an entry in a data structure based on a directory, the directory indicating an organization of information in the data structure and the entry associated with a set of blocks on the plurality of solid state storage devices;
determine one or more characteristics of the set of data blocks based on the entry;
identify a first entry of the data structure and a second entry of a copy of the data structure, the first entry and the second entry associated with the set of blocks;
generate a new data structure based on the first entry, the second entry, and one or more rules; and
perform a storage operation on the set of blocks based on the one or more characteristics.