IP Library Granted Patent US 12,216,903
Granted Patent B2
US 12,216,903 · App. 17/407,813 · Granted Feb 4, 2025

Storage node data placement utilizing similarity

Inventors: Robert Lee (San Carlos, CA); Christopher Lumb (San Francisco, CA); Ethan L. Miller (Santa Cruz, CA); Igor Ostrovsky (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F3/061G06F3/0608G06F3/0641G06F3/0647G06F3/067G06F3/0688G06F3/0689
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 12,216,903
App. No.
17/407,813
Granted
Feb 4, 2025
Kind
B2
Abstract

Systems and methods of deduplication aware scalable content placement are described. A method may include receiving data to be stored on one or more nodes of a storage array and calculating a plurality of hashes corresponding to the data. The method further includes determining a first subset of the plurality of hashes, determining a second subset of the plurality of hashes of the first subset, and generating a node candidate placement list. The method may further include sending the first subset to one or more nodes represented on the node candidate placement list and receiving, from the nodes represented on the node candidate placement list, characteristics corresponding to the nodes represented on the candidate placement list. The method may further include identifying one of the one or more nodes represented on the candidate placement list in view of the characteristic and sending the data to the identified node.

Claims (43)

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.

2. The system of claim 1 , wherein the plurality of hashes is generated by a rolling hash algorithm.

3. The system of claim 1 , wherein the calculation considers available capacity of the node and throughput of the node.

4. The system of claim 1 , wherein the plurality of solid state storage devices have differing capacities.

5. The system of claim 1 , wherein the calculation considers a load on the one of the plurality of solid state storage devices.

6. The system of claim 1 , wherein the processing device is further configured to:

determine a subset of the plurality of solid state storage devices to perform the calculation in view of a predetermined number of low order bits corresponding to the plurality of hashes.

7. A method comprising:

calculating, by a processing device of a storage array controller, a plurality of hashes corresponding to data to be stored on a plurality of nodes of a storage system, the plurality of nodes comprising a plurality of solid state storage devices;

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;

transmitting the plurality of hashes to the subset of the plurality of nodes;

receiving, 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;

identifying, by the processing device, a node of the subset of nodes based on a result of the calculation for the node; and

transmitting the data to the identified node.

8. The method of claim 7 , wherein at least two of the solid state storage devices of a node are non-uniform with respect to capacity.

9. The method of claim 7 , wherein to calculate the plurality of hashes corresponding to the data, the method further comprises utilizing a rolling hash algorithm on the data.

10. The method of claim 7 , wherein the calculation considers available capacity of the node and throughput of the node.

11. The method of claim 7 , the method further comprising:

sending the data to a second node responsive to receiving the result of the calculation from a first solid state storage device.

12. The method of claim 7 , wherein the plurality of solid state storage devices have differing capacities.

13. The method of claim 7 , wherein the calculation considers a load on the of the plurality of nodes.

14. The method of claim 7 , further comprising determining a subset of the plurality of solid state storage devices to perform the calculation in view of a predetermined number of low order bits corresponding to the plurality of hashes.

15. A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device of a storage array controller to:

calculate, by the storage array controller, a plurality of hashes corresponding to data to be stored on a plurality of nodes of a storage system, the plurality of nodes comprising a plurality of solid state storage devices;

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.

16. The non-transitory computer readable storage medium of claim 15 , wherein the plurality of solid state storage devices comprise storage devices having differing capacities.

17. The non-transitory computer readable storage medium of claim 15 , wherein to calculate the plurality of hashes corresponding to the data, the processing device is to compute a rolling hash of the data.

18. The non-transitory computer readable storage medium of claim 15 , wherein the calculation considers available capacity of the node.

19. The non-transitory computer readable storage medium of claim 15 , wherein the calculation considers throughput of the node.

20. The non-transitory computer readable storage medium of claim 15 , wherein the processing device is further to:

determine a subset of the plurality of solid state storage devices to perform the calculation in view of a predetermined number of low order bits corresponding to the plurality of hashes.

Continuity (3)
Continuation 16436482 · Jun 10, 2019
Continuation 15339302 · Oct 31, 2016
Related Publication 20210382618A1 · Dec 9, 2021
References Cited (400)
US 5390327A · Lubbers et al. · 1995 [cited by applicant]
US 5450581A · Bergen et al. · 1995 [cited by applicant]
US 5479653A · Jones · 1995 [cited by applicant]
US 5488731A · Mendelsohn · 1996 [cited by applicant]
US 5504858A · Ellis et al. · 1996 [cited by applicant]
US 5564113A · Bergen et al. · 1996 [cited by applicant]
US 5574882A · Menon et al. · 1996 [cited by applicant]
US 5649093A · Hanko et al. · 1997 [cited by applicant]
US 5883909A · Dekoning et al. · 1999 [cited by applicant]
US 6000010A · Legg · 1999 [cited by applicant]
US 6260156B1 · Garvin et al. · 2001 [cited by applicant]
US 6269453B1 · Krantz · 2001 [cited by applicant]
US 6275898B1 · DeKoning · 2001 [cited by applicant]
US 6453428B1 · Stephenson · 2002 [cited by applicant]
US 6523087B2 · Busser · 2003 [cited by applicant]
US 6535417B2 · Tsuda · 2003 [cited by applicant]
US 6643748B1 · Wieland · 2003 [cited by applicant]
US 6725392B1 · Frey et al. · 2004 [cited by applicant]
US 6763455B2 · Hall · 2004 [cited by applicant]
US 6836816B2 · Kendall · 2004 [cited by applicant]
US 6985995B2 · Holland et al. · 2006 [cited by applicant]
US 7032125B2 · Holt et al. · 2006 [cited by applicant]
US 7047358B2 · Lee et al. · 2006 [cited by applicant]
US 7051155B2 · Talagala et al. · 2006 [cited by applicant]
US 7055058B2 · Lee et al. · 2006 [cited by applicant]
US 7065617B2 · Wang · 2006 [cited by applicant]
US 7069383B2 · Yamamoto et al. · 2006 [cited by applicant]
US 7076606B2 · Orsley · 2006 [cited by applicant]
US 7107480B1 · Moshayedi et al. · 2006 [cited by applicant]
US 7159150B2 · Kenchammana-Hosekote et al. · 2007 [cited by applicant]
US 7162575B2 · Dalal et al. · 2007 [cited by applicant]
US 7164608B2 · Lee · 2007 [cited by applicant]
US 7188270B1 · Nanda et al. · 2007 [cited by applicant]
US 7334156B2 · Land et al. · 2008 [cited by applicant]
US 7370220B1 · Nguyen et al. · 2008 [cited by applicant]
US 7386666B1 · Beauchamp et al. · 2008 [cited by applicant]
US 7398285B2 · Kisley · 2008 [cited by applicant]
US 7424498B1 · Patterson · 2008 [cited by applicant]
US 7424592B1 · Karr · 2008 [cited by applicant]
US 7444532B2 · Masuyama et al. · 2008 [cited by applicant]
US 7480658B2 · Heinla et al. · 2009 [cited by applicant]
US 7484056B2 · Madnani et al. · 2009 [cited by applicant]
US 7484057B1 · Madnani et al. · 2009 [cited by applicant]
US 7484059B1 · Ofer et al. · 2009 [cited by applicant]
US 7536506B2 · Ashmore et al. · 2009 [cited by applicant]
US 7558859B2 · Kasiolas · 2009 [cited by applicant]
US 7565446B2 · Talagala et al. · 2009 [cited by applicant]
US 7613947B1 · Coatney · 2009 [cited by applicant]
US 7634617B2 · Misra · 2009 [cited by applicant]
US 7634618B2 · Misra · 2009 [cited by applicant]
US 7681104B1 · Sim-Tang et al. · 2010 [cited by applicant]
US 7681105B1 · Sim-Tang et al. · 2010 [cited by applicant]
US 7681109B2 · Yang et al. · 2010 [cited by applicant]
US 7730257B2 · Franklin · 2010 [cited by applicant]
US 7730258B1 · Smith · 2010 [cited by applicant]
US 7730274B1 · Usgaonkar · 2010 [cited by applicant]
US 7743276B2 · Jacobsen et al. · 2010 [cited by applicant]
US 7752489B2 · Deenadhayalan et al. · 2010 [cited by applicant]
US 7757038B2 · Kitahara · 2010 [cited by applicant]
US 7757059B1 · Ofer et al. · 2010 [cited by applicant]
US 7778960B1 · Chatterjee et al. · 2010 [cited by applicant]
US 7783955B2 · Haratsch et al. · 2010 [cited by applicant]
US 7814272B2 · Barrall et al. · 2010 [cited by applicant]
US 7814273B2 · Barrall · 2010 [cited by applicant]
US 7818531B2 · Barrall · 2010 [cited by applicant]
US 7827351B2 · Suetsugu et al. · 2010 [cited by applicant]
US 7827439B2 · Matthew et al. · 2010 [cited by applicant]
US 7831768B2 · Ananthamurthy et al. · 2010 [cited by applicant]
US 7856583B1 · Smith · 2010 [cited by applicant]
US 7870105B2 · Arakawa et al. · 2011 [cited by applicant]
US 7873878B2 · Belluomini et al. · 2011 [cited by applicant]
US 7885938B1 · Greene et al. · 2011 [cited by applicant]
US 7886111B2 · Klemm et al. · 2011 [cited by applicant]
US 7908448B1 · Chatterjee et al. · 2011 [cited by applicant]
US 7916538B2 · Jeon et al. · 2011 [cited by applicant]
US 7921268B2 · Jakob · 2011 [cited by applicant]
US 7930499B2 · Duchesne · 2011 [cited by applicant]
US 7941697B2 · Mathew et al. · 2011 [cited by applicant]
US 7958303B2 · Shuster · 2011 [cited by applicant]
US 7971129B2 · Watson · 2011 [cited by applicant]
US 7984016B2 · Kisley · 2011 [cited by applicant]
US 7991822B2 · Bish et al. · 2011 [cited by applicant]
US 8006126B2 · Deenadhayalan et al. · 2011 [cited by applicant]
US 8010485B1 · Chatterjee et al. · 2011 [cited by applicant]
US 8010829B1 · Chatterjee et al. · 2011 [cited by applicant]
US 8020047B2 · Courtney · 2011 [cited by applicant]
US 8046548B1 · Chatterjee et al. · 2011 [cited by applicant]
US 8051361B2 · Sim-Tang et al. · 2011 [cited by applicant]
US 8051362B2 · Li et al. · 2011 [cited by applicant]
US 8074038B2 · Lionetti et al. · 2011 [cited by applicant]
US 8082393B2 · Galloway et al. · 2011 [cited by applicant]
US 8086603B2 · Nasre et al. · 2011 [cited by applicant]
US 8086634B2 · Mimatsu · 2011 [cited by applicant]
US 8086911B1 · Taylor · 2011 [cited by applicant]
US 8090837B2 · Shin et al. · 2012 [cited by applicant]
US 8108502B2 · Tabbara et al. · 2012 [cited by applicant]
US 8117388B2 · Jernigan, IV · 2012 [cited by applicant]
US 8117521B2 · Yang et al. · 2012 [cited by applicant]
US 8140821B1 · Raizen et al. · 2012 [cited by applicant]
US 8145838B1 · Miller et al. · 2012 [cited by applicant]
US 8145840B2 · Koul et al. · 2012 [cited by applicant]
US 8175012B2 · Haratsch et al. · 2012 [cited by applicant]
US 8176360B2 · Frost et al. · 2012 [cited by applicant]
US 8176405B2 · Hafner et al. · 2012 [cited by applicant]
US 8180855B2 · Aiello et al. · 2012 [cited by applicant]
US 8200922B2 · McKean et al. · 2012 [cited by applicant]
US 8209469B2 · Carpenter et al. · 2012 [cited by applicant]
US 8225006B1 · Karamcheti · 2012 [cited by applicant]
US 8239618B2 · Kotzur et al. · 2012 [cited by applicant]
US 8244999B1 · Chatterjee et al. · 2012 [cited by applicant]
US 8261016B1 · Goel · 2012 [cited by applicant]
US 8271455B2 · Kesselman · 2012 [cited by applicant]
US 8285686B2 · Kesselman · 2012 [cited by applicant]
US 8305811B2 · Jeon · 2012 [cited by applicant]
US 8315999B2 · Chatley et al. · 2012 [cited by applicant]
US 8327080B1 · Der · 2012 [cited by applicant]
US 8335769B2 · Kesselman · 2012 [cited by applicant]
US 8341118B2 · Drobychev et al. · 2012 [cited by applicant]
US 8351290B1 · Huang et al. · 2013 [cited by applicant]
US 8364920B1 · Parkison et al. · 2013 [cited by applicant]
US 8365041B2 · Chu et al. · 2013 [cited by applicant]
US 8375146B2 · Sinclair · 2013 [cited by applicant]
US 8397016B2 · Talagala et al. · 2013 [cited by applicant]
US 8402152B2 · Duran · 2013 [cited by applicant]
US 8412880B2 · Leibowitz et al. · 2013 [cited by applicant]
US 8423739B2 · Ash et al. · 2013 [cited by applicant]
US 8429436B2 · Filingim et al. · 2013 [cited by applicant]
US 8452928B1 · Ofer et al. · 2013 [cited by applicant]
US 8473698B2 · Lionetti et al. · 2013 [cited by applicant]
US 8473778B2 · Simitci · 2013 [cited by applicant]
US 8473815B2 · Yu et al. · 2013 [cited by applicant]
US 8479037B1 · Chatterjee et al. · 2013 [cited by applicant]
US 8484414B2 · Sugimoto et al. · 2013 [cited by applicant]
US 8498967B1 · Chatterjee et al. · 2013 [cited by applicant]
US 8522073B2 · Cohen · 2013 [cited by applicant]
US 8533408B1 · Madnani et al. · 2013 [cited by applicant]
US 8533527B2 · Daikokuya et al. · 2013 [cited by applicant]
US 8539177B1 · Ofer et al. · 2013 [cited by applicant]
US 8544029B2 · Bakke et al. · 2013 [cited by applicant]
US 8549224B1 · Zeryck et al. · 2013 [cited by applicant]
US 8583861B1 · Ofer et al. · 2013 [cited by applicant]
US 8589625B2 · Colgrove et al. · 2013 [cited by applicant]
US 8595455B2 · Chatterjee et al. · 2013 [cited by applicant]
US 8615599B1 · Takefman et al. · 2013 [cited by applicant]
US 8627136B2 · Shankar et al. · 2014 [cited by applicant]
US 8627138B1 · Clark · 2014 [cited by applicant]
US 8639669B1 · Douglis et al. · 2014 [cited by applicant]
US 8639863B1 · Kanapathippillai et al. · 2014 [cited by applicant]
US 8640000B1 · Cypher · 2014 [cited by applicant]
US 8650343B1 · Kanapathippillai et al. · 2014 [cited by applicant]
US 8660131B2 · Vermunt et al. · 2014 [cited by applicant]
US 8661218B1 · Piszczek et al. · 2014 [cited by applicant]
US 8671072B1 · Shah et al. · 2014 [cited by applicant]
US 8689042B1 · Kanapathippillai et al. · 2014 [cited by applicant]
US 8700875B1 · Barron et al. · 2014 [cited by applicant]
US 8706694B2 · Chatterjee et al. · 2014 [cited by applicant]
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8706932B1 · Kanapathippillai et al. · 2014 [cited by applicant]
US 8712963B1 · Douglis et al. · 2014 [cited by applicant]
US 8713405B2 · Healey et al. · 2014 [cited by applicant]
US 8719621B1 · Karmarkar · 2014 [cited by applicant]
US 8725730B2 · Keeton et al. · 2014 [cited by applicant]
US 8751859B2 · Becker-szendy et al. · 2014 [cited by applicant]
US 8756387B2 · Frost et al. · 2014 [cited by applicant]
US 8762793B2 · Grube et al. · 2014 [cited by applicant]
US 8838541B2 · Camble et al. · 2014 [cited by applicant]
US 8769232B2 · Suryabudi et al. · 2014 [cited by applicant]
US 8775858B2 · Gower et al. · 2014 [cited by applicant]
US 8775868B2 · Colgrove et al. · 2014 [cited by applicant]
US 8788913B1 · Xin et al. · 2014 [cited by applicant]
US 8793447B2 · Usgaonkar et al. · 2014 [cited by applicant]
US 8799746B2 · Baker et al. · 2014 [cited by applicant]
US 8819311B2 · Liao · 2014 [cited by applicant]
US 8819383B1 · Jobanputra et al. · 2014 [cited by applicant]
US 8824261B1 · Miller et al. · 2014 [cited by applicant]
US 8832528B2 · Thatcher et al. · 2014 [cited by applicant]
US 8838892B2 · Li · 2014 [cited by applicant]
US 8843700B1 · Salessi et al. · 2014 [cited by applicant]
US 8850108B1 · Hayes et al. · 2014 [cited by applicant]
US 8850288B1 · Lazier et al. · 2014 [cited by applicant]
US 8856593B2 · Eckhardt et al. · 2014 [cited by applicant]
US 8856619B1 · Cypher · 2014 [cited by applicant]
US 8862617B2 · Kesselman · 2014 [cited by applicant]
US 8862847B2 · Feng et al. · 2014 [cited by applicant]
US 8862928B2 · Xavier et al. · 2014 [cited by applicant]
US 8868825B1 · Hayes · 2014 [cited by applicant]
US 8874836B1 · Hayes · 2014 [cited by applicant]
US 8880793B2 · Nagineni · 2014 [cited by applicant]
US 8880825B2 · Lionetti et al. · 2014 [cited by applicant]
US 8886778B2 · Nedved et al. · 2014 [cited by applicant]
US 8898383B2 · Yamamoto et al. · 2014 [cited by applicant]
US 8898388B1 · Kimmel · 2014 [cited by applicant]
US 8904231B2 · Coatney et al. · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 8930307B2 · Colgrove et al. · 2015 [cited by applicant]
US 8930633B2 · Amit et al. · 2015 [cited by applicant]
US 8943357B2 · Atzmony · 2015 [cited by applicant]
US 8949502B2 · McKnight et al. · 2015 [cited by applicant]
US 8959110B2 · Smith et al. · 2015 [cited by applicant]
US 8959388B1 · Kuang et al. · 2015 [cited by applicant]
US 8972478B1 · Storer et al. · 2015 [cited by applicant]
US 8972779B2 · Lee et al. · 2015 [cited by applicant]
US 8977597B2 · Ganesh et al. · 2015 [cited by applicant]
US 8996828B2 · Kalos et al. · 2015 [cited by applicant]
US 9003144B1 · Hayes et al. · 2015 [cited by applicant]
US 9009724B2 · Gold et al. · 2015 [cited by applicant]
US 9021053B2 · Bernbo et al. · 2015 [cited by applicant]
US 9021215B2 · Meir et al. · 2015 [cited by applicant]
US 9025393B2 · Wu · 2015 [cited by applicant]
US 9043372B2 · Makkar et al. · 2015 [cited by applicant]
US 9047214B1 · Sharon et al. · 2015 [cited by applicant]
US 9053808B2 · Sprouse · 2015 [cited by applicant]
US 9058155B2 · Cepulis et al. · 2015 [cited by applicant]
US 9063895B1 · Madnani et al. · 2015 [cited by applicant]
US 9063896B1 · Madnani et al. · 2015 [cited by applicant]
US 9098211B1 · Madnani et al. · 2015 [cited by applicant]
US 9110898B1 · Chamness et al. · 2015 [cited by applicant]
US 9110964B1 · Shilane et al. · 2015 [cited by applicant]
US 9116819B2 · Cope et al. · 2015 [cited by applicant]
US 9117536B2 · Yoon · 2015 [cited by applicant]
US 9122401B2 · Zaltsman et al. · 2015 [cited by applicant]
US 9123422B2 · Sharon et al. · 2015 [cited by applicant]
US 9124300B2 · Olbrich et al. · 2015 [cited by applicant]
US 9134908B2 · Horn et al. · 2015 [cited by applicant]
US 9153337B2 · Sutardja · 2015 [cited by applicant]
US 9158472B2 · Kesselman et al. · 2015 [cited by applicant]
US 9159422B1 · Lee et al. · 2015 [cited by applicant]
US 9164891B2 · Karamcheti et al. · 2015 [cited by applicant]
US 9183136B2 · Kawamura et al. · 2015 [cited by applicant]
US 9189650B2 · Jaye et al. · 2015 [cited by applicant]
US 9201733B2 · Verma · 2015 [cited by applicant]
US 9207876B2 · Shu et al. · 2015 [cited by applicant]
US 9229656B1 · Contreras et al. · 2016 [cited by applicant]
US 9229810B2 · He et al. · 2016 [cited by applicant]
US 9235475B1 · Shilane et al. · 2016 [cited by applicant]
US 9244626B2 · Shah et al. · 2016 [cited by applicant]
US 9250999B1 · Barroso · 2016 [cited by applicant]
US 9251066B2 · Colgrove et al. · 2016 [cited by applicant]
US 9268648B1 · Barash et al. · 2016 [cited by applicant]
US 9268806B1 · Kesselman et al. · 2016 [cited by applicant]
US 9286002B1 · Karamcheti et al. · 2016 [cited by applicant]
US 9292214B2 · Kalos et al. · 2016 [cited by applicant]
US 9298760B1 · Li et al. · 2016 [cited by applicant]
US 9304908B1 · Karamcheti et al. · 2016 [cited by applicant]
US 9311969B2 · Murin · 2016 [cited by applicant]
US 9311970B2 · Sharon et al. · 2016 [cited by applicant]
US 9323663B2 · Karamcheti et al. · 2016 [cited by applicant]
US 9323667B2 · Bennett · 2016 [cited by applicant]
US 9323681B2 · Apostolides et al. · 2016 [cited by applicant]
US 9335942B2 · Kumar et al. · 2016 [cited by applicant]
US 9348538B2 · Mallaiah et al. · 2016 [cited by applicant]
US 9355022B2 · Ravimohan et al. · 2016 [cited by applicant]
US 9384082B1 · Lee et al. · 2016 [cited by applicant]
US 9384252B2 · Akirav et al. · 2016 [cited by applicant]
US 9389958B2 · Sundaram et al. · 2016 [cited by applicant]
US 9390019B2 · Patterson et al. · 2016 [cited by applicant]
US 9396202B1 · Drobychev et al. · 2016 [cited by applicant]
US 9400828B2 · Kesselman et al. · 2016 [cited by applicant]
US 9405478B2 · Koseki et al. · 2016 [cited by applicant]
US 9411685B2 · Lee · 2016 [cited by applicant]
US 9417960B2 · Klein · 2016 [cited by applicant]
US 9417963B2 · He et al. · 2016 [cited by applicant]
US 9430250B2 · Hamid et al. · 2016 [cited by applicant]
US 9430542B2 · Akirav et al. · 2016 [cited by applicant]
US 9432541B2 · Ishida · 2016 [cited by applicant]
US 9454434B2 · Sundaram et al. · 2016 [cited by applicant]
US 9471579B1 · Natanzon · 2016 [cited by applicant]
US 9477554B2 · Chamness et al. · 2016 [cited by applicant]
US 9477632B2 · Du · 2016 [cited by applicant]
US 9501398B2 · George et al. · 2016 [cited by applicant]
US 9525737B2 · Friedman · 2016 [cited by applicant]
US 9529542B2 · Friedman et al. · 2016 [cited by applicant]
US 9535631B2 · Fu et al. · 2017 [cited by applicant]
US 9552248B2 · Miller et al. · 2017 [cited by applicant]
US 9552291B2 · Munetoh et al. · 2017 [cited by applicant]
US 9552299B2 · Stalzer · 2017 [cited by applicant]
US 9563517B1 · Natanzon et al. · 2017 [cited by applicant]
US 9588698B1 · Karamcheti et al. · 2017 [cited by applicant]
US 9588712B2 · Kalos et al. · 2017 [cited by applicant]
US 9594652B1 · Sathiamoorthy et al. · 2017 [cited by applicant]
US 9600193B2 · Ahrens et al. · 2017 [cited by applicant]
US 9619321B1 · Sharon et al. · 2017 [cited by applicant]
US 9619430B2 · Kannan et al. · 2017 [cited by applicant]
US 9645754B2 · Li et al. · 2017 [cited by applicant]
US 9667720B1 · Bent et al. · 2017 [cited by applicant]
US 9710535B2 · Aizman et al. · 2017 [cited by applicant]
US 9733840B2 · Karamcheti et al. · 2017 [cited by applicant]
US 9734225B2 · Akirav et al. · 2017 [cited by applicant]
US 9740403B2 · Storer et al. · 2017 [cited by applicant]
US 9740700B1 · Chopra et al. · 2017 [cited by applicant]
US 9740762B2 · Horowitz et al. · 2017 [cited by applicant]
US 9747319B2 · Bestler et al. · 2017 [cited by applicant]
US 9747320B2 · Kesselman · 2017 [cited by applicant]
US 9767130B2 · Bestler et al. · 2017 [cited by applicant]
US 9781227B2 · Friedman et al. · 2017 [cited by applicant]
US 9785498B2 · Misra et al. · 2017 [cited by applicant]
US 9798486B1 · Singh · 2017 [cited by applicant]
US 9804925B1 · Carmi et al. · 2017 [cited by applicant]
US 9811285B1 · Karamcheti et al. · 2017 [cited by applicant]
US 9811546B1 · Bent et al. · 2017 [cited by applicant]
US 9818478B2 · Chung · 2017 [cited by applicant]
US 9829066B2 · Thomas · 2017 [cited by applicant]
US 9836245B2 · Hayes et al. · 2017 [cited by applicant]
US 9891854B2 · Munetoh et al. · 2018 [cited by applicant]
US 9891860B1 · Delgado et al. · 2018 [cited by applicant]
US 9892005B2 · Kedem et al. · 2018 [cited by applicant]
US 9892186B2 · Akirav et al. · 2018 [cited by applicant]
US 9904589B1 · Donlan et al. · 2018 [cited by applicant]
US 9904717B2 · Anglin et al. · 2018 [cited by applicant]
US 9952809B2 · Shah · 2018 [cited by applicant]
US 9910748B2 · Pan · 2018 [cited by applicant]
US 9910904B2 · Anglin et al. · 2018 [cited by applicant]
US 9934237B1 · Shilane et al. · 2018 [cited by applicant]
US 9940065B2 · Kalos et al. · 2018 [cited by applicant]
US 9946604B1 · Glass · 2018 [cited by applicant]
US 9959167B1 · Donlan et al. · 2018 [cited by applicant]
US 9965539B2 · D'halluin et al. · 2018 [cited by applicant]
US 9998539B1 · Brock et al. · 2018 [cited by applicant]
US 10007457B2 · Hayes et al. · 2018 [cited by applicant]
US 10013177B2 · Liu et al. · 2018 [cited by applicant]
US 10013311B2 · Sundaram et al. · 2018 [cited by applicant]
US 10019314B2 · Litsyn et al. · 2018 [cited by applicant]
US 10019317B2 · Usvyatsky et al. · 2018 [cited by applicant]
US 10031703B1 · Natanzon et al. · 2018 [cited by applicant]
US 10061512B2 · Chu et al. · 2018 [cited by applicant]
US 10073626B2 · Karamcheti et al. · 2018 [cited by applicant]
US 10082985B2 · Hayes et al. · 2018 [cited by applicant]
US 10089012B1 · Chen et al. · 2018 [cited by applicant]
US 10089174B2 · Lin · 2018 [cited by applicant]
US 10089176B1 · Donlan et al. · 2018 [cited by applicant]
US 10108819B1 · Donlan et al. · 2018 [cited by applicant]
US 10146787B2 · Bashyam et al. · 2018 [cited by applicant]
US 10152268B1 · Chakraborty et al. · 2018 [cited by applicant]
US 10157098B2 · Chung et al. · 2018 [cited by applicant]
US 10162704B1 · Kirschner et al. · 2018 [cited by applicant]
US 10180875B2 · Northcott · 2019 [cited by applicant]
US 10185730B2 · Bestler et al. · 2019 [cited by applicant]
US 10235065B1 · Miller et al. · 2019 [cited by applicant]
US 10359942B2 · Lee et al. · 2019 [cited by applicant]
US 10496322B2 · Dalmatov · 2019 [cited by examiner]
US 11119656B2 · Lee et al. · 2021 [cited by applicant]
US 20020144059A1 · Kendall · 2002 [cited by applicant]
US 20030105984A1 · Masuyama et al. · 2003 [cited by applicant]
US 20030110205A1 · Johnson · 2003 [cited by applicant]
US 20040161086A1 · Buntin et al. · 2004 [cited by applicant]
US 20050001652A1 · Malik et al. · 2005 [cited by applicant]
US 20050076228A1 · Davis et al. · 2005 [cited by applicant]
US 20050235132A1 · Karr et al. · 2005 [cited by applicant]
US 20050278460A1 · Shin et al. · 2005 [cited by applicant]
US 20050283649A1 · Turner et al. · 2005 [cited by applicant]
US 20060015683A1 · Ashmore et al. · 2006 [cited by applicant]
US 20060114930A1 · Lucas et al. · 2006 [cited by applicant]
US 20060174157A1 · Barrall et al. · 2006 [cited by applicant]
US 20060248294A1 · Nedved et al. · 2006 [cited by applicant]
US 20070079068A1 · Draggon · 2007 [cited by applicant]
US 20070214194A1 · Reuter · 2007 [cited by applicant]
US 20070214314A1 · Reuter · 2007 [cited by applicant]
US 20070234016A1 · Davis et al. · 2007 [cited by applicant]
US 20070268905A1 · Baker et al. · 2007 [cited by applicant]
US 20080080709A1 · Michtchenko et al. · 2008 [cited by applicant]
US 20080107274A1 · Worthy · 2008 [cited by applicant]
US 20080155191A1 · Anderson et al. · 2008 [cited by applicant]
US 20080295118A1 · Liao · 2008 [cited by applicant]
US 20090077208A1 · Nguyen et al. · 2009 [cited by applicant]
US 20090138654A1 · Sutardja · 2009 [cited by applicant]
US 20090216910A1 · Duchesneau · 2009 [cited by applicant]
US 20090216920A1 · Lauterbach et al. · 2009 [cited by applicant]
US 20100017444A1 · Chatterjee et al. · 2010 [cited by applicant]
US 20100042636A1 · Lu · 2010 [cited by applicant]
US 20100094806A1 · Apostolides et al. · 2010 [cited by applicant]
US 20100115070A1 · Missimilly · 2010 [cited by applicant]
US 20100125695A1 · Wu et al. · 2010 [cited by applicant]
US 20100162076A1 · Sim-Tang et al. · 2010 [cited by applicant]
US 20100169707A1 · Mathew et al. · 2010 [cited by applicant]
US 20100174576A1 · Naylor · 2010 [cited by applicant]
US 20100268908A1 · Ouyang et al. · 2010 [cited by applicant]
US 20110040925A1 · Frost et al. · 2011 [cited by applicant]
US 20110060927A1 · Fillingim et al. · 2011 [cited by applicant]
US 20110119462A1 · Leach et al. · 2011 [cited by applicant]
US 20110219170A1 · Frost et al. · 2011 [cited by applicant]
US 20110238625A1 · Hamaguchi et al. · 2011 [cited by applicant]
US 20110264843A1 · Haines et al. · 2011 [cited by applicant]
US 20110302369A1 · Goto et al. · 2011 [cited by applicant]
US 20120011398A1 · Eckhardt · 2012 [cited by applicant]
US 20120079318A1 · Colgrove et al. · 2012 [cited by applicant]
US 20120089567A1 · Takahashi et al. · 2012 [cited by applicant]
US 20120110249A1 · Jeong et al. · 2012 [cited by applicant]
US 20120131253A1 · McKnight · 2012 [cited by applicant]
US 20120158923A1 · Mohamed et al. · 2012 [cited by applicant]
US 20120191900A1 · Kunimatsu et al. · 2012 [cited by applicant]
US 20120198152A1 · Terry et al. · 2012 [cited by applicant]
US 20120198261A1 · Brown et al. · 2012 [cited by applicant]
US 20120209943A1 · Jung · 2012 [cited by applicant]
US 20120226934A1 · Rao · 2012 [cited by applicant]
US 20120246435A1 · Meir et al. · 2012 [cited by applicant]
US 20120260055A1 · Murase · 2012 [cited by applicant]
US 20120311557A1 · Resch · 2012 [cited by applicant]
US 20130018854A1 · Condict · 2013 [cited by examiner]
US 20130022201A1 · Glew et al. · 2013 [cited by applicant]
US 20130036314A1 · Glew et al. · 2013 [cited by applicant]
Cited By (1)
US 12,346,383