US 12,216,903 B2
Storage node data placement utilizing similarity
Robert Lee, San Carlos, CA (US); Christopher Lumb, San Francisco, CA (US); Ethan L. Miller, Santa Cruz, CA (US); and Igor Ostrovsky, Mountain View, CA (US)
Assigned to PURE STORAGE, INC., Santa Clara, CA (US)
Filed by PURE STORAGE, INC., Mountain View, CA (US)
Filed on Aug. 20, 2021, as Appl. No. 17/407,813.
Application 17/407,813 is a continuation of application No. 16/436,482, filed on Jun. 10, 2019, granted, now 11,119,656.
Application 16/436,482 is a continuation of application No. 15/339,302, filed on Oct. 31, 2016, granted, now 10,359,942, issued on Jul. 23, 2019.
Prior Publication US 2021/0382618 A1, Dec. 9, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/061 (2013.01) [G06F 3/0608 (2013.01); G06F 3/0641 (2013.01); G06F 3/0647 (2013.01); G06F 3/067 (2013.01); G06F 3/0688 (2013.01); G06F 3/0689 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A storage system comprising:
a plurality of nodes comprising a plurality of solid state storage devices; and
a storage array controller operatively coupled to the plurality of nodes, the storage array controller comprising a processing device configured to:
calculate a plurality of hashes corresponding to data to be stored on the plurality of nodes of the storage system;
identify a subset of the plurality of nodes storing data that is similar to the data to be stored while avoiding comparing the plurality of hashes to all hash values of the storage system;
transmit the plurality of hashes to the subset of the plurality of nodes;
receive, from the subset of nodes, results of a calculation to determine a similarity of the plurality of hashes with respective hashes representing data stored at one or more of the plurality of solid state storage devices on the subset of nodes;
identify a node of the subset of nodes based on a result of the calculation for the node; and
transmit the data to the identified node.