IP Library Granted Patent US 12,253,944
Granted Patent B2
US 12,253,944 · App. 17/908,879 · Granted Mar 18, 2025

Systems and methods for caching metadata

Inventors: Steven Milburn (Wayland, MA); Nirmal Nepal (Wayland, MA)
Assignee: Dover Microsystems, Inc.
G06F12/0802G06F12/1009G06F21/79
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,253,944
App. No.
17/908,879
Filed
Sep 1, 2022
Granted
Mar 18, 2025
Kind
B2
Examiner
VO, TONG BA
Art Unit
2133
USPC
711/118
Abstract

Systems and methods for caching metadata. In some embodiments, in response to an access request comprising an application memory address, it may be determined whether the application memory address matches an entry of at least one cache. In response to determining that the application memory address does not match any entry of the at least one cache: the application memory address may be used to retrieve application data; the application memory address may be mapped to at least one metadata memory address; and the at least one metadata memory address may be used to retrieve metadata corresponding to the application memory address. An entry in the at least one cache may be created, wherein: the entry is indexed by the application memory address; and the entry stores both the application data retrieved using the application memory address, and the corresponding metadata retrieved using the at least one metadata memory address.

Claims (157)

1. A computer-implemented method for caching metadata, the method comprising acts of:

in response to an access request comprising an application memory address, determining whether the application memory address matches an entry of at least one cache;

in response to determining that the application memory address does not match any entry of the at least one cache:

using the application memory address to retrieve application data;

mapping the application memory address to at least one metadata memory address; and

using the at least one metadata memory address to retrieve metadata corresponding to the application memory address; and

creating an entry in the at least one cache, wherein:

the entry is indexed by the application memory address; and

the entry stores both the application data retrieved using the application memory address, and the corresponding metadata retrieved using the at least one metadata memory address.

2. The method of claim 1 , wherein:

the application data is retrieved from at least one application memory;

the corresponding metadata is retrieved from at least one metadata memory; and

the at least one application memory and the at least one metadata memory are separate physical memories, or disjoint portions of a same physical memory.

3. The method of claim 1 , wherein:

mapping the application memory address to at least one metadata memory address comprises using the application memory address to look up a tag map table; and

the at least one metadata memory address is returned by the tag map table.

4. The method of claim 1 , wherein:

the access request is received from a fetch stage of a processor pipeline;

the application memory address comprises an instruction address;

the at least one cache comprises an instruction cache; and

the method further comprises acts of:

returning the application data to the fetch stage as an instruction to be executed by the processor pipeline; and

providing the metadata corresponding to the instruction address to a metadata processing system.

5. The method of claim 1 , wherein:

the access request is received from an execute stage of a processor pipeline;

the application memory address comprises a target address of a load instruction;

the at least one cache comprises a data cache; and

the method further comprises acts of:

returning the application data to the execute stage as data loaded from the target address of the load instruction; and

providing the metadata corresponding to the target address to a metadata processing system.

6. The method of claim 5 , wherein:

the metadata retrieved using the at least one metadata memory address comprises first metadata corresponding to the application memory address; and

the method further comprising acts of:

receiving, from the metadata processing system, second metadata corresponding to the application memory address, the second metadata resulting from the metadata processing system checking the load instruction in accordance with one or more policies; and

updating the entry indexed by the application memory address, comprising writing into the entry the second metadata received from the metadata processing system, replacing the first metadata retrieved using the at least one metadata memory address.

7. The method of claim 1 , wherein:

the application data retrieved using the application memory address comprises first application data;

the application memory address comprises a target address of a store instruction;

the access request further comprises second application data, the second application data to be stored by the store instruction;

the at least one cache comprises a data cache; and

the method further comprises acts of:

holding the application data to be stored in a buffer;

providing the metadata corresponding to the application memory address to a metadata processing system; and

in response to receiving, from the metadata processing system, an indication to allow the store instruction:

releasing the second application data from the buffer; and

writing the second application data into the entry indexed by the application memory address, replacing the first application data.

8. The method of claim 7 , wherein:

the metadata provided to the metadata processing system comprises first metadata corresponding to the application memory address;

the indication from the metadata processing system to allow the store instruction comprises second metadata corresponding to the application memory address, the second metadata resulting from the metadata processing system checking the store instruction in accordance with one or more policies; and

the method further comprising an act of:

writing the second metadata into the entry indexed by the application memory address, replacing the first metadata.

9. The method of claim 1 , wherein:

the application memory address comprises a virtual address;

determining whether the application memory address matches an entry of at least one cache comprises:

matching the virtual address to a page table entry storing address translation information; and

using the address translation information from the page table entry to map the virtual address to a physical address;

the page table entry further stores metadata mapping information; and

the application memory address is mapped to the at least one metadata memory address using the metadata mapping information from the page table entry.

10. The method of claim 9 , wherein:

the metadata mapping information comprises an index identifying an entry in a tag map table; and

the at least one metadata memory address is retrieved from the entry in the tag map table.

11. The method of claim 1 , wherein:

the application memory address comprises a first application memory address;

the at least one metadata memory address comprises at least one first metadata memory address;

the method further comprising acts of:

in response to determining that the application memory address does not match an entry of the at least one cache, determining whether any cache line matching one or more index bits of the application memory address is available;

in response to determining that no cache line matching the one or more index bits of the application memory address is available, selecting, for eviction, a cache line matching the one or more index bits of the application memory address; and

evicting the selected cache line, comprising:

determining a second application memory address, the second application memory address being cached at the selected cache line;

mapping the second application memory address to at least one second metadata memory address;

using the second application memory address to write application data from the selected cache line to an application memory; and

using the at least one second metadata memory address to write metadata from the selected cache line to a metadata memory; and

the entry indexed by the application memory address is created at the selected cache line after the selected cache line has been evicted.

12. A system comprising circuitry and/or one or more processors programmed by executable instructions, wherein the circuitry and/or the one or more programmed processors are configured to:

in response to an access request comprising an application memory address, determine whether the application memory address matches an entry of at least one cache;

in response to determining that the application memory address does not match any entry of the at least one cache:

use the application memory address to retrieve application data;

map the application memory address to at least one metadata memory address; and

use the at least one metadata memory address to retrieve metadata corresponding to the application memory address; and

create an entry in the at least one cache, wherein:

the entry is indexed by the application memory address; and

the entry stores both the application data retrieved using the application memory address, and the corresponding metadata retrieved using the at least one metadata memory address.

13. The system of claim 12 , wherein:

the application data is retrieved from at least one application memory;

the corresponding metadata is retrieved from at least one metadata memory; and

the at least one application memory and the at least one metadata memory are separate physical memories, or disjoint portions of a same physical memory.

14. The system of claim 12 , wherein:

the circuitry and/or the one or more programmed processors are configured to map the application memory address to at least one metadata memory address at least in part by using the application memory address to look up a tag map table; and

the at least one metadata memory address is returned by the tag map table.

15. The system of claim 12 , wherein:

the access request is received from a fetch stage of a processor pipeline;

the application memory address comprises an instruction address;

the at least one cache comprises an instruction cache; and

the circuitry and/or the one or more programmed processors are further configured to:

return the application data to the fetch stage as an instruction to be executed by the processor pipeline; and

provide the metadata corresponding to the instruction address to a metadata processing system.

16. The system of claim 12 , wherein:

the access request is received from an execute stage of a processor pipeline;

the application memory address comprises a target address of a load instruction;

the at least one cache comprises a data cache; and

the circuitry and/or the one or more programmed processors are further configured to:

return the application data to the execute stage as data loaded from the target address of the load instruction; and

provide the metadata corresponding to the target address to a metadata processing system.

17. The system of claim 16 , wherein:

the metadata retrieved using the at least one metadata memory address comprises first metadata corresponding to the application memory address; and

the circuitry and/or the one or more programmed processors are further configured to:

receive, from the metadata processing system, second metadata corresponding to the application memory address, the second metadata resulting from the metadata processing system checking the load instruction in accordance with one or more policies; and

update the entry indexed by the application memory address, at least in part by writing into the entry the second metadata received from the metadata processing system, replacing the first metadata retrieved using the at least one metadata memory address.

18. The system of claim 12 , wherein:

the application data retrieved using the application memory address comprises first application data;

the application memory address comprises a target address of a store instruction;

the access request further comprises second application data, the second application data to be stored by the store instruction;

the at least one cache comprises a data cache; and

the circuitry and/or the one or more programmed processors are further configured to:

hold the application data to be stored in a buffer;

provide the metadata corresponding to the application memory address to a metadata processing system; and

in response to receiving, from the metadata processing system, an indication to allow the store instruction:

release the second application data from the buffer; and

write the second application data into the entry indexed by the application memory address, replacing the first application data.

19. The system of claim 18 , wherein:

the metadata provided to the metadata processing system comprises first metadata corresponding to the application memory address;

the indication from the metadata processing system to allow the store instruction comprises second metadata corresponding to the application memory address, the second metadata resulting from the metadata processing system checking the store instruction in accordance with one or more policies; and

the circuitry and/or the one or more programmed processors are further configured to:

write the second metadata into the entry indexed by the application memory address, replacing the first metadata.

20. The system of claim 12 , wherein:

the application memory address comprises a virtual address;

the circuitry and/or the one or more programmed processors are configured to determine whether the application memory address matches an entry of at least one cache at least in part by:

matching the virtual address to a page table entry storing address translation information; and

using the address translation information from the page table entry to map the virtual address to a physical address;

the page table entry further stores metadata mapping information; and

the application memory address is mapped to the at least one metadata memory address using the metadata mapping information from the page table entry.

21. The system of claim 20 , wherein:

the metadata mapping information comprises an index identifying an entry in a tag map table; and

the at least one metadata memory address is retrieved from the entry in the tag map table.

22. The system of claim 12 , wherein:

the application memory address comprises a first application memory address;

the at least one metadata memory address comprises at least one first metadata memory address;

the circuitry and/or the one or more programmed processors are further configured to:

in response to determining that the application memory address does not match an entry of the at least one cache, determine whether any cache line matching one or more index bits of the application memory address is available;

in response to determining that no cache line matching the one or more index bits of the application memory address is available, select, for eviction, a cache line matching the one or more index bits of the application memory address; and

evict the selected cache line, at least in part by:

determining a second application memory address, the second application memory address being cached at the selected cache line;

mapping the second application memory address to at least one second metadata memory address;

using the second application memory address to write application data from the selected cache line to an application memory; and

using the at least one second metadata memory address to write metadata from the selected cache line to a metadata memory; and

the entry indexed by the application memory address is created at the selected cache line after the selected cache line has been evicted.

23. At least one non-transitory computer-readable medium having stored thereon at least one hardware description for circuitry, wherein the circuitry is configured to:

in response to an access request comprising an application memory address, determine whether the application memory address matches an entry of at least one cache;

in response to determining that the application memory address does not match any entry of the at least one cache:

use the application memory address to retrieve application data;

map the application memory address to at least one metadata memory address; and

use the at least one metadata memory address to retrieve metadata corresponding to the application memory address; and

create an entry in the at least one cache, wherein:

the entry is indexed by the application memory address; and

the entry stores both the application data retrieved using the application memory address, and the corresponding metadata retrieved using the at least one metadata memory address.

24. The at least one non-transitory computer-readable medium of claim 23 , wherein the at least one hardware description is in an encrypted form.

25. The at least one non-transitory computer-readable medium of claim 23 , wherein the at least one hardware description, when synthesized, produces at least one netlist for the circuitry.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2023
From: MILBURN, STEVEN; NEPAL, NIRMAL
To: DOVER MICROSYSTEMS, INC.
Reel/Frame 062596/0272 →
Continuity (2)
Provisional Application 62984730 · Mar 3, 2020
Related Publication 20240296122A1 · Sep 5, 2024
References Cited (400)
US 5201056A · Daniel et al. · 1993 [cited by applicant]
US 5377336A · Eickemeyer et al. · 1994 [cited by applicant]
US 5488730A · Brown, III et al. · 1996 [cited by applicant]
US 5521910A · Matthews · 1996 [cited by applicant]
US 5559952A · Fujimoto · 1996 [cited by applicant]
US 5655100A · Ebrahim et al. · 1997 [cited by applicant]
US 5664197A · Kardach et al. · 1997 [cited by applicant]
US 5664223A · Bender et al. · 1997 [cited by applicant]
US 5684977A · Van Loo et al. · 1997 [cited by applicant]
US 5764946A · Tran et al. · 1998 [cited by applicant]
US 5778423A · Sites et al. · 1998 [cited by applicant]
US 5848433A · Tran et al. · 1998 [cited by applicant]
US 5890008A · Panwar et al. · 1999 [cited by applicant]
US 5941981A · Tran · 1999 [cited by applicant]
US 6014734A · Tran et al. · 2000 [cited by applicant]
US 6035374A · Panwar et al. · 2000 [cited by applicant]
US 6058466A · Panwar et al. · 2000 [cited by applicant]
US 6240502B1 · Panwar et al. · 2001 [cited by applicant]
US 6269436B1 · Tran et al. · 2001 [cited by applicant]
US 6298432B1 · Goto · 2001 [cited by applicant]
US 6321297B1 · Shamanna et al. · 2001 [cited by applicant]
US 6324599B1 · Zhou et al. · 2001 [cited by applicant]
US 6351784B1 · Neal et al. · 2002 [cited by applicant]
US 6438673B1 · Jourdan et al. · 2002 [cited by applicant]
US 6449714B1 · Sinharoy · 2002 [cited by applicant]
US 6549903B1 · Babaian et al. · 2003 [cited by applicant]
US 6549959B1 · Yates et al. · 2003 [cited by applicant]
US 6622182B1 · Miller et al. · 2003 [cited by applicant]
US 6625146B1 · Merchant et al. · 2003 [cited by applicant]
US 6636523B1 · Lau et al. · 2003 [cited by applicant]
US 6748589B1 · Johnson et al. · 2004 [cited by applicant]
US 6922740B2 · Kondratiev et al. · 2005 [cited by applicant]
US 6976147B1 · Isaac et al. · 2005 [cited by applicant]
US 7047394B1 · Van Dyke et al. · 2006 [cited by applicant]
US 7058918B2 · Abramovici et al. · 2006 [cited by applicant]
US 7095783B1 · Sotheran et al. · 2006 [cited by applicant]
US 7137086B2 · Abramovici · 2006 [cited by applicant]
US 7146548B1 · Abramovici · 2006 [cited by applicant]
US 7213247B1 · Wilner et al. · 2007 [cited by applicant]
US 7263572B2 · Hiji · 2007 [cited by applicant]
US 7296201B2 · Abramovici · 2007 [cited by applicant]
US 7301541B2 · Hansen et al. · 2007 [cited by applicant]
US 7305635B1 · Abramovici et al. · 2007 [cited by applicant]
US 7313820B2 · Kilroy · 2007 [cited by applicant]
US 7340469B1 · Alghathbar et al. · 2008 [cited by applicant]
US 7348796B2 · Crouch et al. · 2008 [cited by applicant]
US 7426705B1 · Kolaric · 2008 [cited by applicant]
US 7430650B1 · Ross · 2008 [cited by applicant]
US 7434002B1 · Zedlewski et al. · 2008 [cited by applicant]
US 7467414B2 · Schlesinger · 2008 [cited by applicant]
US 7487264B2 · Pandya · 2009 [cited by applicant]
US 7493247B2 · Memmi · 2009 [cited by applicant]
US 7493434B1 · Abramovici · 2009 [cited by applicant]
US 7574536B2 · Johnsen et al. · 2009 [cited by applicant]
US 7580914B2 · Wang et al. · 2009 [cited by applicant]
US 7581064B1 · Zedlewski et al. · 2009 [cited by applicant]
US 7631107B2 · Pandya · 2009 [cited by applicant]
US 7688838B1 · Aloni et al. · 2010 [cited by applicant]
US 7698402B2 · Santos et al. · 2010 [cited by applicant]
US 7813342B2 · Gadelrab · 2010 [cited by applicant]
US 7886148B2 · Kiriansky et al. · 2011 [cited by applicant]
US 8074052B2 · Iadonato et al. · 2011 [cited by applicant]
US 8121828B2 · Yates, Jr. et al. · 2012 [cited by applicant]
US 8127121B2 · Yates, Jr. et al. · 2012 [cited by applicant]
US 8131663B1 · Taylor · 2012 [cited by applicant]
US 8131762B2 · Smetters et al. · 2012 [cited by applicant]
US 8166404B2 · Grinstein · 2012 [cited by applicant]
US 8181219B2 · Golan et al. · 2012 [cited by applicant]
US 8271447B1 · Natanzon et al. · 2012 [cited by applicant]
US 8326774B2 · Candelore · 2012 [cited by applicant]
US 8335754B2 · Dawson et al. · 2012 [cited by applicant]
US 8346760B2 · Wang et al. · 2013 [cited by applicant]
US 8364910B2 · Wilkerson et al. · 2013 [cited by applicant]
US 8380933B2 · Uchiyama · 2013 [cited by applicant]
US 8423720B2 · Döring · 2013 [cited by applicant]
US 8516193B1 · Clinton et al. · 2013 [cited by applicant]
US 8543606B2 · Pulfer et al. · 2013 [cited by applicant]
US 8572410B1 · Tkacik et al. · 2013 [cited by applicant]
US 8677457B2 · Fullerton · 2014 [cited by applicant]
US 8701200B2 · Naldurg et al. · 2014 [cited by applicant]
US 8738860B1 · Griffin et al. · 2014 [cited by applicant]
US 8756185B2 · Dawson et al. · 2014 [cited by applicant]
US 8788792B2 · Yates, Jr. et al. · 2014 [cited by applicant]
US 8826391B2 · Tkacik et al. · 2014 [cited by applicant]
US 8843734B2 · Lim · 2014 [cited by applicant]
US 8904477B2 · Barton et al. · 2014 [cited by applicant]
US 8874850B1 · Goodson et al. · 2014 [cited by applicant]
US 8875170B1 · Daniel · 2014 [cited by applicant]
US 8887230B2 · Barton et al. · 2014 [cited by applicant]
US 8938783B2 · Becker et al. · 2015 [cited by applicant]
US 9026733B1 · Clinton et al. · 2015 [cited by applicant]
US 9047178B2 · Talagala et al. · 2015 [cited by applicant]
US 9087200B2 · McKeen et al. · 2015 [cited by applicant]
US 9165078B2 · Bester et al. · 2015 [cited by applicant]
US 9208082B1 · Cheriton et al. · 2015 [cited by applicant]
US 9219752B2 · Balinksy et al. · 2015 [cited by applicant]
US 9251052B2 · Talagala et al. · 2016 [cited by applicant]
US 9311093B2 · Gschwind et al. · 2016 [cited by applicant]
US 9317708B2 · Lee et al. · 2016 [cited by applicant]
US 9323684B2 · Koker et al. · 2016 [cited by applicant]
US 9467474B2 · Barton et al. · 2016 [cited by applicant]
US 9507589B2 · Rao et al. · 2016 [cited by applicant]
US 9507598B1 · Bonnano et al. · 2016 [cited by applicant]
US 9513884B2 · Bates et al. · 2016 [cited by applicant]
US 9525606B1 · Staggs et al. · 2016 [cited by applicant]
US 9571509B1 · Satish et al. · 2017 [cited by applicant]
US 9576147B1 · McClintock et al. · 2017 [cited by applicant]
US 9665603B2 · Bester et al. · 2017 [cited by applicant]
US 9680736B2 · Kamboh · 2017 [cited by applicant]
US 9680738B2 · Jackson et al. · 2017 [cited by applicant]
US 9703956B1 · Watson et al. · 2017 [cited by applicant]
US 9736185B1 · Belamaric et al. · 2017 [cited by applicant]
US 9785440B2 · DeHon · 2017 [cited by applicant]
US 9792472B1 · Robshaw et al. · 2017 [cited by applicant]
US 9906557B2 · Hsiung et al. · 2018 [cited by applicant]
US 9953095B1 · Scott et al. · 2018 [cited by applicant]
US 10073977B2 · Pappachan et al. · 2018 [cited by applicant]
US 10078763B2 · Chiricescu et al. · 2018 [cited by applicant]
US 10114958B2 · Sell · 2018 [cited by applicant]
US 10133866B1 · Kumar et al. · 2018 [cited by applicant]
US 10152330B2 · Chiricescu et al. · 2018 [cited by applicant]
US 10235176B2 · DeHon et al. · 2019 [cited by applicant]
US 10261794B2 · DeHon · 2019 [cited by applicant]
US 10424043B1 · Koston et al. · 2019 [cited by applicant]
US 10503904B1 · Singh et al. · 2019 [cited by applicant]
US 10521230B2 · DeHon · 2019 [cited by applicant]
US 10545760B2 · DeHon · 2020 [cited by applicant]
US 10642616B2 · DeHon et al. · 2020 [cited by applicant]
US 10642753B1 · Steinberg · 2020 [cited by applicant]
US 10719630B2 · Chiricescu et al. · 2020 [cited by applicant]
US 10725778B2 · DeHon et al. · 2020 [cited by applicant]
US 10754650B2 · DeHon et al. · 2020 [cited by applicant]
US 10936713B2 · DeHon et al. · 2021 [cited by applicant]
US 11150910B2 · Milburn et al. · 2021 [cited by applicant]
US 11182162B2 · DeHon et al. · 2021 [cited by applicant]
US 11340902B2 · DeHon · 2022 [cited by applicant]
US 11417109B1 · Theimer et al. · 2022 [cited by applicant]
US 11507373B2 · Dehon et al. · 2022 [cited by applicant]
US 11556664B2 · Levy et al. · 2023 [cited by applicant]
US 11635960B2 · DeHon · 2023 [cited by applicant]
US 20020083298A1 · Cook et al. · 2002 [cited by applicant]
US 20020087795A1 · Hum et al. · 2002 [cited by applicant]
US 20020124156A1 · Yoaz et al. · 2002 [cited by applicant]
US 20030014466A1 · Berger et al. · 2003 [cited by applicant]
US 20030023783A1 · Arimilli et al. · 2003 [cited by applicant]
US 20030058889A1 · Lansing et al. · 2003 [cited by applicant]
US 20030120892A1 · Hum et al. · 2003 [cited by applicant]
US 20030145235A1 · Choo · 2003 [cited by applicant]
US 20030149895A1 · Choo et al. · 2003 [cited by applicant]
US 20030172109A1 · Dalton et al. · 2003 [cited by applicant]
US 20030196108A1 · Kung · 2003 [cited by applicant]
US 20040015845A1 · Hickman · 2004 [cited by applicant]
US 20040117599A1 · Mittal et al. · 2004 [cited by applicant]
US 20040133777A1 · Kiriansky et al. · 2004 [cited by applicant]
US 20040236876A1 · Kondratiev et al. · 2004 [cited by applicant]
US 20040255267A1 · Meijer · 2004 [cited by applicant]
US 20050055565A1 · Fournet et al. · 2005 [cited by applicant]
US 20050108518A1 · Pandya · 2005 [cited by applicant]
US 20050149521A1 · Wang et al. · 2005 [cited by applicant]
US 20050149719A1 · Kilroy · 2005 [cited by applicant]
US 20050154838A1 · DeWitt et al. · 2005 [cited by applicant]
US 20050182667A1 · Metzger et al. · 2005 [cited by applicant]
US 20060004548A1 · Santos et al. · 2006 [cited by applicant]
US 20060059567A1 · Bird et al. · 2006 [cited by applicant]
US 20060080489A1 · Hiji · 2006 [cited by applicant]
US 20060080553A1 · Hall · 2006 [cited by applicant]
US 20060090084A1 · Buer · 2006 [cited by applicant]
US 20060112261A1 · Yourst et al. · 2006 [cited by applicant]
US 20060143689A1 · Yu et al. · 2006 [cited by applicant]
US 20060242332A1 · Johnsen et al. · 2006 [cited by applicant]
US 20060277392A1 · Bittner, Jr. · 2006 [cited by applicant]
US 20070006294A1 · Hunter · 2007 [cited by applicant]
US 20070050586A1 · Shin et al. · 2007 [cited by applicant]
US 20070226365A1 · Hildreth et al. · 2007 [cited by applicant]
US 20070239861A1 · Reeves et al. · 2007 [cited by applicant]
US 20070261033A1 · Chen et al. · 2007 [cited by applicant]
US 20070279264A1 · Nakagawa · 2007 [cited by applicant]
US 20080010233A1 · Sack et al. · 2008 [cited by applicant]
US 20080016547A1 · Anderson et al. · 2008 [cited by applicant]
US 20080028196A1 · Kailas · 2008 [cited by applicant]
US 20080052488A1 · Fritz et al. · 2008 [cited by applicant]
US 20080066160A1 · Becker et al. · 2008 [cited by applicant]
US 20080083298A1 · Lin · 2008 [cited by applicant]
US 20080126841A1 · Benhanokh et al. · 2008 [cited by applicant]
US 20080140737A1 · Garst et al. · 2008 [cited by applicant]
US 20080168529A1 · Anderson et al. · 2008 [cited by applicant]
US 20080201333A1 · Rowley · 2008 [cited by applicant]
US 20080216073A1 · Yates et al. · 2008 [cited by applicant]
US 20080216102A1 · Quinn · 2008 [cited by applicant]
US 20080222397A1 · Wilkerson et al. · 2008 [cited by applicant]
US 20080240111A1 · Gadelrab · 2008 [cited by applicant]
US 20080244232A1 · Sherman et al. · 2008 [cited by applicant]
US 20080248599A1 · Jaiswal et al. · 2008 [cited by applicant]
US 20080250216A1 · Kershaw et al. · 2008 [cited by applicant]
US 20080282040A1 · Doring · 2008 [cited by applicant]
US 20080282093A1 · Hatakeyama · 2008 [cited by applicant]
US 20080288941A1 · Adams et al. · 2008 [cited by applicant]
US 20080301256A1 · McWilliams et al. · 2008 [cited by applicant]
US 20080301471A1 · Demarest et al. · 2008 [cited by applicant]
US 20080320235A1 · Beckmann et al. · 2008 [cited by applicant]
US 20090006519A1 · Nandan et al. · 2009 [cited by applicant]
US 20090063951A1 · Rjaibi et al. · 2009 [cited by applicant]
US 20090097815A1 · Lahr et al. · 2009 [cited by applicant]
US 20090113110A1 · Chen et al. · 2009 [cited by applicant]
US 20090113132A1 · Cain, III et al. · 2009 [cited by applicant]
US 20090113135A1 · Cain et al. · 2009 [cited by applicant]
US 20090144388A1 · Gross et al. · 2009 [cited by applicant]
US 20090164705A1 · Gorobets · 2009 [cited by applicant]
US 20090164766A1 · Suggs et al. · 2009 [cited by applicant]
US 20090165078A1 · Samudrala et al. · 2009 [cited by applicant]
US 20090178102A1 · Alghathbar et al. · 2009 [cited by applicant]
US 20090204785A1 · Yates, Jr. et al. · 2009 [cited by applicant]
US 20090241097A1 · Wang et al. · 2009 [cited by applicant]
US 20090254543A1 · Ber et al. · 2009 [cited by applicant]
US 20090254572A1 · Redlich et al. · 2009 [cited by applicant]
US 20100011209A1 · Kiriansky et al. · 2010 [cited by applicant]
US 20100011446A1 · Klucher et al. · 2010 [cited by applicant]
US 20100022869A1 · Kimura · 2010 [cited by applicant]
US 20100049974A1 · Winjum et al. · 2010 [cited by applicant]
US 20100138613A1 · Parker · 2010 [cited by applicant]
US 20100154026A1 · Chatterjee et al. · 2010 [cited by applicant]
US 20100169382A1 · Sheaffer et al. · 2010 [cited by applicant]
US 20100191922A1 · Dickey et al. · 2010 [cited by applicant]
US 20100228693A1 · Dawson et al. · 2010 [cited by applicant]
US 20100235580A1 · Bouvier · 2010 [cited by applicant]
US 20100250729A1 · Morris · 2010 [cited by applicant]
US 20100332456A1 · Prahlad et al. · 2010 [cited by applicant]
US 20100332716A1 · Sheaffer et al. · 2010 [cited by applicant]
US 20110016295A1 · Catherwood et al. · 2011 [cited by applicant]
US 20110078389A1 · Patel et al. · 2011 [cited by applicant]
US 20110099336A1 · Yasufuku et al. · 2011 [cited by applicant]
US 20110126265A1 · Fullerton · 2011 [cited by applicant]
US 20110161623A1 · Eichenberger et al. · 2011 [cited by applicant]
US 20110219424A1 · Panasyuk et al. · 2011 [cited by applicant]
US 20110238805A1 · Signori · 2011 [cited by applicant]
US 20120036507A1 · Jonnala et al. · 2012 [cited by applicant]
US 20120079458A1 · Williams et al. · 2012 [cited by applicant]
US 20120117610A1 · Pandya · 2012 [cited by applicant]
US 20120144167A1 · Yates, Jr. et al. · 2012 [cited by applicant]
US 20120151184A1 · Wilkerson et al. · 2012 [cited by applicant]
US 20120180031A1 · Eichenberger et al. · 2012 [cited by applicant]
US 20120203970A1 · Biran et al. · 2012 [cited by applicant]
US 20120210066A1 · Joshi et al. · 2012 [cited by applicant]
US 20120210068A1 · Joshi et al. · 2012 [cited by applicant]
US 20120233212A1 · Newton et al. · 2012 [cited by applicant]
US 20120236756A1 · Bennett et al. · 2012 [cited by applicant]
US 20120255018A1 · Sallam · 2012 [cited by applicant]
US 20120297057A1 · Ghosh et al. · 2012 [cited by applicant]
US 20130006993A1 · Kobayashi · 2013 [cited by applicant]
US 20130010779A1 · Fischer et al. · 2013 [cited by applicant]
US 20130016075A1 · Kim et al. · 2013 [cited by applicant]
US 20130047142A1 · Bates et al. · 2013 [cited by applicant]
US 20130067593A1 · Candelore · 2013 [cited by applicant]
US 20130081134A1 · Glew et al. · 2013 [cited by applicant]
US 20130097369A1 · Talagala et al. · 2013 [cited by applicant]
US 20130097421A1 · Lim · 2013 [cited by applicant]
US 20130097667A1 · Pulfer et al. · 2013 [cited by applicant]
US 20130138892A1 · Loh et al. · 2013 [cited by applicant]
US 20130159726A1 · McKeen et al. · 2013 [cited by applicant]
US 20130160075A1 · Schlesinger et al. · 2013 [cited by applicant]
US 20130160775A1 · Curnow · 2013 [cited by applicant]
US 20130185475A1 · Talagala et al. · 2013 [cited by applicant]
US 20130185488A1 · Talagala et al. · 2013 [cited by applicant]
US 20130212321A1 · Talagala et al. · 2013 [cited by applicant]
US 20130227218A1 · Chang et al. · 2013 [cited by applicant]
US 20130254838A1 · Ahuja et al. · 2013 [cited by applicant]
US 20130275656A1 · Talagala et al. · 2013 [cited by applicant]
US 20130283017A1 · Wilkerson et al. · 2013 [cited by applicant]
US 20130290607A1 · Chang et al. · 2013 [cited by applicant]
US 20130312099A1 · Edwards et al. · 2013 [cited by applicant]
US 20130326117A1 · Aune · 2013 [cited by applicant]
US 20140006804A1 · Tkacik et al. · 2014 [cited by applicant]
US 20140019385A1 · Dawson et al. · 2014 [cited by applicant]
US 20140047181A1 · Peterson et al. · 2014 [cited by applicant]
US 20140047183A1 · Chawla et al. · 2014 [cited by applicant]
US 20140101396A1 · Bonanno et al. · 2014 [cited by applicant]
US 20140140342A1 · Narad · 2014 [cited by applicant]
US 20140173211A1 · Loh et al. · 2014 [cited by applicant]
US 20140223445A1 · Beckmann et al. · 2014 [cited by applicant]
US 20140280248A1 · Bester et al. · 2014 [cited by applicant]
US 20140281192A1 · Gilda et al. · 2014 [cited by applicant]
US 20140282832A1 · Chanoch et al. · 2014 [cited by applicant]
US 20140283040A1 · Wilkerson et al. · 2014 [cited by applicant]
US 20140283107A1 · Walton et al. · 2014 [cited by applicant]
US 20150012689A1 · Atkisson et al. · 2015 [cited by applicant]
US 20150046658A1 · Wilson · 2015 [cited by applicant]
US 20150058997A1 · Lee et al. · 2015 [cited by applicant]
US 20150089186A1 · Kim et al. · 2015 [cited by applicant]
US 20150092778A1 · Jackson et al. · 2015 [cited by applicant]
US 20150120699A1 · Faerber et al. · 2015 [cited by applicant]
US 20150149673A1 · Balkan et al. · 2015 [cited by applicant]
US 20150205535A1 · Joshi et al. · 2015 [cited by applicant]
US 20150220453A1 · Heisswolf et al. · 2015 [cited by applicant]
US 20150249668A1 · Reddy et al. · 2015 [cited by applicant]
US 20150278311A1 · Isherwood et al. · 2015 [cited by applicant]
US 20150339062A1 · Toyoda et al. · 2015 [cited by applicant]
US 20150339329A1 · Bester et al. · 2015 [cited by applicant]
US 20150378780A1 · Busaba et al. · 2015 [cited by applicant]
US 20150381660A1 · Hsiung et al. · 2015 [cited by applicant]
US 20160048551A1 · Baldwin et al. · 2016 [cited by applicant]
US 20160062803A1 · Beckmann et al. · 2016 [cited by applicant]
US 20160077816A1 · Eilam et al. · 2016 [cited by applicant]
US 20160092702A1 · Durham et al. · 2016 [cited by applicant]
US 20160132536A1 · Lee · 2016 [cited by applicant]
US 20160140363A1 · Chiricescu et al. · 2016 [cited by applicant]
US 20160154833A1 · Isherwood, Jr. et al. · 2016 [cited by applicant]
US 20160170769A1 · LeMay · 2016 [cited by applicant]
US 20160182408A1 · Jani et al. · 2016 [cited by applicant]
US 20160188891A1 · Schlesinger et al. · 2016 [cited by applicant]
US 20160196432A1 · Main et al. · 2016 [cited by applicant]
US 20160239223A9 · Joshi et al. · 2016 [cited by applicant]
US 20160274810A1 · Godard et al. · 2016 [cited by applicant]
US 20160335187A1 · Greenspan et al. · 2016 [cited by applicant]
US 20160350019A1 · Koufaty et al. · 2016 [cited by applicant]
US 20160350230A1 · Murphy · 2016 [cited by applicant]
US 20160366102A1 · Smith · 2016 [cited by applicant]
US 20160371496A1 · Sell · 2016 [cited by applicant]
US 20170024568A1 · Pappachan et al. · 2017 [cited by applicant]
US 20170031708A1 · Chen et al. · 2017 [cited by applicant]
US 20170048249A1 · Berrangé · 2017 [cited by applicant]
US 20170061160A1 · Simonov et al. · 2017 [cited by applicant]
US 20170083338A1 · Burger et al. · 2017 [cited by applicant]
US 20170091107A1 · Peterson et al. · 2017 [cited by applicant]
US 20170126687A1 · Martinelli · 2017 [cited by applicant]
US 20170126738A1 · Wilkerson et al. · 2017 [cited by applicant]
US 20170177367A1 · DeHon · 2017 [cited by applicant]
US 20170177368A1 · DeHon et al. · 2017 [cited by applicant]
US 20170192986A1 · Isherwood et al. · 2017 [cited by applicant]
US 20170220806A1 · Munoz et al. · 2017 [cited by applicant]
US 20170235840A1 · Bester et al. · 2017 [cited by applicant]
US 20170286119A1 · Al Sheikh et al. · 2017 [cited by applicant]
US 20170286151A1 · Landers et al. · 2017 [cited by applicant]
US 20170293563A1 · DeHon et al. · 2017 [cited by applicant]
US 20170308480A1 · Wilson · 2017 [cited by applicant]
US 20170329961A1 · Shanbhogue et al. · 2017 [cited by applicant]
US 20180011708A1 · DeHon · 2018 [cited by applicant]
US 20180046579A1 · Greenspan et al. · 2018 [cited by applicant]
US 20180082055A1 · Fleming et al. · 2018 [cited by applicant]
US 20180121650A1 · Brown · 2018 [cited by applicant]
US 20180143890A1 · Ogawa et al. · 2018 [cited by applicant]
US 20180189062A1 · Baghsorkhi et al. · 2018 [cited by applicant]
US 20180276085A1 · Mitkar et al. · 2018 [cited by applicant]
US 20180302443A1 · Weiss et al. · 2018 [cited by applicant]
US 20180336031A1 · DeHon et al. · 2018 [cited by applicant]
US 20180336032A1 · DeHon et al. · 2018 [cited by applicant]
US 20180336033A1 · DeHon · 2018 [cited by applicant]
US 20180341490A1 · DeHon · 2018 [cited by applicant]
US 20190034665A1 · Chiricescu et al. · 2019 [cited by applicant]
US 20190141059A1 · Shimizu et al. · 2019 [cited by applicant]
US 20190155606A1 · Rotem et al. · 2019 [cited by applicant]
US 20190171457A1 · DeHon et al. · 2019 [cited by applicant]
US 20190205244A1 · Smith · 2019 [cited by applicant]
US 20190213322A1 · DeHon et al. · 2019 [cited by applicant]
US 20190236272A1 · Piatt · 2019 [cited by applicant]
US 20190243655A1 · Milburn et al. · 2019 [cited by applicant]
US 20190243768A1 · Doshi et al. · 2019 [cited by applicant]
US 20190354675A1 · Gan et al. · 2019 [cited by applicant]
US 20190384604A1 · DeHon et al. · 2019 [cited by applicant]
US 20190392146A1 · Gezalov et al. · 2019 [cited by applicant]
US 20190392147A1 · Gezalov et al. · 2019 [cited by applicant]
US 20200089500A1 · DeHon · 2020 [cited by applicant]
US 20200125502A1 · Durham et al. · 2020 [cited by applicant]
US 20200201576A1 · Yudanov et al. · 2020 [cited by applicant]
US 20200387374A1 · DeHon · 2020 [cited by applicant]
US 20200387384A1 · Huang · 2020 [cited by applicant]
US 20210004231A1 · DeHon · 2021 [cited by applicant]
US 20210026934A1 · Boling et al. · 2021 [cited by applicant]
US 20210042100A1 · Boling et al. · 2021 [cited by applicant]
US 20210055954A1 · Milburn et al. · 2021 [cited by applicant]
US 20210073375A1 · Milburn et al. · 2021 [cited by applicant]
US 20210075797A1 · Gan et al. · 2021 [cited by applicant]
US 20210255890A1 · Milburn et al. · 2021 [cited by applicant]
US 20210406028A1 · Boling et al. · 2021 [cited by applicant]
US 20210406137A1 · Sutherland et al. · 2021 [cited by applicant]
US 20220012329A1 · Boling et al. · 2022 [cited by applicant]
US 20220043654A1 · DeHon et al. · 2022 [cited by applicant]
US 20220050904A1 · Sullivan et al. · 2022 [cited by applicant]
US 20220076733A1 · Yudanov · 2022 [cited by examiner]
US 20220092173A1 · Sutherland et al. · 2022 [cited by applicant]
US 20220121738A1 · DeHon · 2022 [cited by examiner]
US 20220129343A1 · Milburn et al. · 2022 [cited by applicant]
US 20220198014A1 · Boling et al. · 2022 [cited by applicant]
US 20220300583A1 · Boling et al. · 2022 [cited by applicant]
US 20220309134A1 · Boling et al. · 2022 [cited by applicant]
US 20220374415A1 · Boling et al. · 2022 [cited by applicant]
US 20220398312A1 · Sutherland et al. · 2022 [cited by applicant]
US 20230054942A1 · Milburn et al. · 2023 [cited by applicant]
CN 101558388A · 2009 [cited by applicant]
CN 102160033A · 2011 [cited by applicant]
CN 103282889A · 2013 [cited by applicant]
CN 104657500A · 2015 [cited by applicant]
CN 104794067A · 2015 [cited by applicant]
GB 2519608A · 2015 [cited by applicant]
JP 2013242633A · 2013 [cited by applicant]
TW 201333722A · 2013 [cited by applicant]
TW 201729068A · 2017 [cited by applicant]
TW 201737675A · 2017 [cited by applicant]
WO WO9203779A1 · 1992 [cited by applicant]
WO WO2010028316A1 · 2010 [cited by applicant]
WO WO2015047295A1 · 2015 [cited by applicant]