IP Library › Granted Patent US 12,282,799
Granted Patent B2
US 12,282,799 · App. 17/552,606 · Granted Apr 22, 2025

Maintaining coherency in a distributed system

Inventors: John Hayes (Mountain View, CA); Brian Gold (Los Altos, CA); Shantanu Gupta (Santa Clara, CA); Robert Lee (San Carlos, CA); Hari Kannan (Sunnyvale, CA)
Assignee: PURE STORAGE, INC.
G06F9/466G06F3/0619G06F3/0656G06F3/0688G06F9/467G06F12/0802G06F12/0868G06F13/16G06F16/10G06F2212/1032G06F2212/152G06F2212/214G06F2212/222G06F2212/261
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,282,799
App. No.
17/552,606
Filed
Dec 16, 2021
Granted
Apr 22, 2025
Kind
B2
Art Unit
2161
USPC
707/615
Abstract

A method for a transactional commit in a storage unit is provided. The method includes receiving a logical record from a storage node into a transaction engine of a storage unit of the storage node and writing the logical record into a data structure of the transaction engine. The method includes writing, to a command queue of the transaction engine, an indication to perform an atomic update using the logical record and transferring each portion of the logical record from the data structure of the transaction engine to non-persistent memory of the storage unit as a committed transaction. A storage unit for a storage system is also provided.

Claims (41)

1. A method, comprising:

writing a record into a first memory portion of non-persistent solid state memory of a storage node of a storage system;

writing an indication to perform an atomic update using the record into a second memory portion of the non-persistent solid state memory, wherein the indication comprises one or more pointers to the record in the first memory portion;

upon an occurrence of an event, determining whether the atomic update is complete; and

in response to determining that the atomic update is complete, writing an image of the record to persistent solid state memory of the storage node, wherein writing the record and writing the indication is initiated by a processing device of the storage node.

2. The method of claim 1 , wherein the event is one of a power loss, an operating system crash, or a software process crash.

3. The method of claim 1 , wherein the record has a length greater than a data bus width of a processor of the storage node and wherein the atomic update includes transferring an entirety of the record from the first portion of the non persistent memory to the persistent memory as a committed transaction.

4. The method of claim 1 , further comprising:

transferring contents of the non-persistent memory to the persistent memory, the transferring supported by an energy reserve.

5. The method of claim 1 , wherein writing the indication includes writing to a queue of the second memory a timestamp indicating portions of the record have been written to the first memory.

6. The method of claim 1 , wherein writing the indication comprises:

writing a description of a transaction to the second memory, wherein the description of the transaction includes a sequence number and wherein writing the description of the transaction to the second memory records a transactional commit characterized by transferring an entirety of the logical record to the first memory.

7. A storage unit for a storage system, comprising:

non-persistent solid state memory;

persistent solid state memory; and

a processing device, operatively coupled to the non-persistent solid state memory and the persistent memory, to:

write a record into a first memory portion of the non-persistent memory;

write an indication to perform an atomic update using the record into a second memory portion of the non-persistent memory, wherein the indication comprises one or more pointers to the record in the first memory portion;

upon an occurrence of an event, determining whether the atomic update is complete; and

in response to determining that the atomic update is complete, writing an image of the record to persistent memory of the storage unit.

8. The storage unit of claim 7 , wherein the event is one of a power loss, an operating system crash, or a software process crash.

9. The storage unit claim 7 , wherein the record has a length greater than a data bus width of a processor of a storage node of the storage system and wherein the atomic update includes transferring an entirety of the record from the first portion of the non persistent memory to the persistent memory as a committed transaction.

10. The storage unit of claim 7 , wherein the processing device is further configured to:

transfer contents of the non-persistent memory to the persistent memory, the transferring supported by an energy reserve.

11. The storage unit of claim 7 , wherein writing the indication includes writing to a queue of the second memory a timestamp indicating portions of the record have been written to the first memory.

12. The storage unit of claim 7 , wherein to write the indication, the processing device is configured to:

write a description of a transaction to the second memory, wherein the description of the transaction includes a sequence number and wherein writing the description of the transaction to the second memory records a transactional commit characterized by transferring an entirety of the logical record to the first memory.

13. The storage unit of claim 7 , wherein the storage system includes a plurality of storage nodes, each of the plurality of storage nodes having a plurality of storage units.

14. A non-transitory computer readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:

write a record into a first memory portion of a non-persistent solid state memory of a storage node of a storage system;

write an indication to perform an atomic update using the record into a second memory portion of the non-persistent solid state memory, wherein the indication comprises one or more pointers to the record in the first memory portion;

upon an occurrence of an event, determining whether the atomic update is complete; and

in response to determining that the atomic update is complete, writing an image of the record to persistent solid state memory of the storage node, wherein writing the record and writing the indication is initiated by a processing device of the storage node.

15. The non-transitory computer readable storage medium of claim 14 , wherein the event is one of a power loss, an operating system crash, or a software process crash.

16. The non-transitory computer readable storage medium of claim 14 , wherein the record has a length greater than a data bus width of a processor of a storage node of the storage system and wherein the atomic update includes transferring an entirety of the record from the first portion of the non persistent memory to the persistent memory as a committed transaction.

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

transfer contents of the non-persistent memory to the persistent memory, the transferring supported by an energy reserve.

18. The non-transitory computer readable storage medium of claim 14 , wherein writing the indication includes writing to a queue of the second memory a timestamp indicating portions of the record have been written to the first memory.

19. The non-transitory computer readable storage medium of claim 14 , wherein to write the indication, the processing device is configured to:

write a description of a transaction to the second memory, wherein the description of the transaction includes a sequence number and wherein writing the description of the transaction to the second memory records a transactional commit characterized by transferring an entirety of the logical record to the first memory.

20. The non-transitory computer readable storage medium of claim 14 , wherein the storage system includes a plurality of storage nodes, each of the plurality of storage nodes having a plurality of storage units.

Continuity (3)
Continuation 16200310 · Nov 26, 2018
Continuation 14716543 · May 19, 2015
Related Publication 20220107833A1 · Apr 7, 2022
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 et al. · 2017 [cited by applicant]
US 9829066B2 · Thomas et al. · 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 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 20040215619A1 · Rabold · 2004 [cited by examiner]
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 20130022201A1 · Glew et al. · 2013 [cited by applicant]
US 20130036314A1 · Glew et al. · 2013 [cited by applicant]
US 20130042056A1 · Shats · 2013 [cited by applicant]
US 20130060884A1 · Bernbo et al. · 2013 [cited by applicant]
US 20130067188A1 · Mehra et al. · 2013 [cited by applicant]