IP Library Granted Patent US 12,443,533
Granted Patent B2
US 12,443,533 · App. 17/815,516 · Granted Oct 14, 2025

Adaptive address tracking

Inventor: David Andrew Roberts (Wellesley, MA)
Assignee: Micron Technology, Inc.
G06F12/0862G06F12/0891G06F2212/6026
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,443,533
App. No.
17/815,516
Granted
Oct 14, 2025
Kind
B2
Abstract

Described apparatuses and methods track access metadata pertaining to activity within respective address ranges. The access metadata can be used to inform prefetch operations within the respective address ranges. The prefetch operations may involve deriving access patterns from access metadata covering the respective ranges. Suitable address range sizes for accurate pattern detection, however, can vary significantly from region to region of the address space based on, inter alia, workloads produced by programs utilizing the regions. Advantageously, the described apparatuses and methods can adapt the address ranges covered by the access metadata for improved prefetch performance. A data structure may be used to manage the address ranges in which access metadata are tracked. The address ranges can be adapted to improve prefetch performance through low-overhead operations implemented within the data structure. The data structure can encode hierarchical relationships that ensure the resulting address ranges are distinct.

Claims (84)

1. An apparatus comprising:

at least one memory configured to store a data structure and a dataset, the dataset comprising multiple entries including access metadata corresponding to memory accesses for an address space, each entry of the multiple entries covering a respective address range of a set of address ranges covered by the access metadata; and

logic coupled to the at least one memory and configured to:

maintain the data structure within the at least one memory, the data structure comprising multiple nodes distributed across multiple levels, each respective level of the multiple levels corresponding to entries of the dataset having a respective range size of multiple range sizes, the multiple levels including a first level corresponding to a first range size and a second level corresponding to a second range size smaller than the first range size, each respective entry of the multiple entries associated with a respective node of the multiple nodes at a level of the multiple levels that corresponds to the respective address range covered by the access metadata of the respective entry;

split a node of the first level of the data structure into two or more nodes of the second level of the data structure based on access metadata covering the respective address range of the node; and

split an entry of the multiple entries into two or more entries of the dataset, the entry covering the respective address range of the node, the two or more entries covering two or more non-overlapping address ranges contained by the respective address range of the node,

one or more nodes of the multiple nodes including at least one node tag configured to uniquely identify at least one node within a respective level of the multiple levels of the data structure, the one or more nodes and the at least one node at different levels of the multiple levels of the data structure; and

another node of the multiple nodes including coverage data pertaining to access metadata for an address range of the set of address ranges, the coverage data comprising a reference to another entry of the multiple entries of the dataset, and the other entry including the access metadata for the address range.

2. The apparatus of claim 1 , wherein the logic is configured to:

modify the data structure to adjust the set of address ranges based, at least in part, on utility metrics of the access metadata; and

propagate modifications of the data structure to the dataset.

3. The apparatus of claim 2 , wherein the logic is configured to:

propagate the modifications of the data structure by reconfiguring the set of address ranges covered by respective entries of the dataset that include access metadata to correspond with the adjusted set of address ranges of the data structure.

4. The apparatus of claim 1 , wherein:

the coverage data comprises the access metadata for the address range.

5. The apparatus of claim 1 , wherein:

the data structure is separate from the dataset;

the at least one memory comprises a first memory and a second memory;

the first memory is configured to store the data structure; and

the second memory is configured to store the dataset.

6. The apparatus of claim 1 , wherein:

the multiple nodes include a particular node;

the particular node is part of the first level of the multiple levels; and

the particular node includes at least two of a next valid indicator, a next pointer, an entry valid indicator, or an entry pointer.

7. The apparatus of claim 1 , wherein:

the multiple levels include a third level corresponding to a third range size smaller than the second range size.

8. The apparatus of claim 7 , wherein:

the second level comprises a particular node that references a child structure of the third level, the child structure including two or more other nodes corresponding to the third range size.

9. The apparatus of claim 1 , wherein:

the apparatus comprises a memory device; and

the memory device includes the at least one memory and the logic.

10. The apparatus of claim 1 , wherein the logic is configured to:

add a particular node to the second level of the multiple levels of the data structure in response to a determination that a specified address is not covered by the multiple entries of the dataset, the particular node configured to represent an address range that includes the specified address; and

create a particular entry of the multiple entries of the dataset to cover the address range represented by the particular node.

11. The apparatus of claim 1 , wherein:

the two or more nodes include a first node of the second level and a second node of the second level;

the two or more non-overlapping address ranges include a first address range corresponding to the first node and a second address range corresponding to the second node;

the two or more entries include a first entry corresponding to the first node and a second entry corresponding to the second node; and

the logic is configured to:

update first access metadata stored in the first entry based on memory accesses pertaining to the first address range; and

update second access metadata stored in the second entry based on memory accesses pertaining to the second address range.

12. The apparatus of claim 1 , wherein the logic is configured to:

merge two or more other nodes of the second level of the data structure into a particular node of the first level of the data structure based on access metadata covering two or more other non-overlapping address ranges of the two or more other nodes, the particular node corresponding to a respective address range that spans the two or more other non-overlapping address ranges; and

merge two or more other entries of the dataset into a particular entry of the dataset, the particular entry covering the respective address range of the particular node.

13. The apparatus of claim 1 , wherein:

each respective entry of the multiple entries comprises an indication of the respective address range covered by the access metadata of the respective entry; and

the access metadata comprises at least one of access statistics, access pattern statistics, access history, access sequences, access frequency metadata, access time metadata, access pattern metadata, stride patterns, correlation patterns, delta sequences, access modeling metadata, machine learning modeling metadata, or machine learning feature data.

14. The apparatus of claim 1 , wherein the logic is configured to:

provide, to a prefetcher, access metadata of a particular entry of the dataset, the prefetcher configured to prefetch data within a particular address range covered by the particular entry into a cache memory based, at least in part, on the provided access metadata; and

set a metric of the particular entry based, at least in part, on prefetch performance within the particular address range covered by the particular entry.

15. A method comprising:

storing in at least one memory a dataset comprising multiple entries including access metadata corresponding to memory accesses for an address space, each entry of the multiple entries covering a respective address range of a set of address ranges covered by the access metadata;

maintaining a data structure within the at least one memory, the data structure comprising multiple nodes distributed across multiple levels, each respective level of the multiple levels corresponding to entries of the dataset having a respective range size of multiple range sizes, the multiple levels including a first level corresponding to a first range size and a second level corresponding to a second range size smaller than the first range size, each respective entry of the multiple entries associated with a respective node of the multiple nodes at a level of the multiple levels that corresponds to the respective address range covered by the access metadata of the respective entry;

splitting a node of the first level of the data structure into two or more nodes of the second level of the data structure based on access metadata covering the respective address range of the node; and

splitting an entry of the multiple entries into two or more entries of the dataset, the entry covering the respective address range of the node, the two or more entries covering two or more non-overlapping address ranges contained by the respective address range of the node,

one or more nodes of the multiple nodes including at least one node tag configured to uniquely identify at least one node within a respective level of the multiple levels of the data structure, the one or more nodes and the at least one node at different levels of the multiple levels of the data structure; and

another node of the multiple nodes including coverage data pertaining to access metadata for an address range of the set of address ranges, the coverage data comprising a reference to another entry of the multiple entries of the dataset, and the other entry including the access metadata for the address range.

16. The method of claim 15 , further comprising:

determining that a specified address is outside of the set of address ranges covered by the dataset;

mapping a second node of the second level of the data structure to a second tag corresponding to a second portion of the specified address, the second node defining a second address range of the second range size that covers the specified address;

mapping a first node of the first level of the data structure to a first tag corresponding to a first portion of the specified address, the first node referencing the second node; and

associating a designated entry of the dataset with the second node, the designated entry configured to cover the second address range.

17. The method of claim 15 , further comprising:

identifying a particular entry of the dataset having a metric below a threshold, the identified particular entry covering a particular address range of the first range size and being referenced by a designated node within the first level of the data structure;

creating a group of nodes within the second level of the data structure, each node of the group of nodes covering a respective portion of the particular address range covered by the designated node;

replicating access metadata of the identified particular entry within entries corresponding to respective nodes of the group of nodes; and

configuring the designated node to reference the group of nodes created within the second level of the data structure.

18. The method of claim 15 , further comprising:

identifying a particular entry of the dataset having a metric below a threshold, the identified particular entry covering a particular address range of the second range size and being referenced by a particular node within the second level of the data structure;

invalidating the identified particular entry; and

removing the particular node from the data structure.

19. The method of claim 15 , further comprising:

maintaining copies of the multiple entries of the dataset within nodes of the data structure, wherein:

each node of the second level of the data structure comprises a copy of a given entry for the second range size; and

each node of the first level of the data structure comprises one of:

a copy of a given entry for the first range size, or

a reference to a child structure comprising one or more nodes of the second level of the data structure.

20. A system comprising:

means for storing in at least one memory a dataset comprising multiple entries including access metadata corresponding to memory accesses for an address space, each entry of the multiple entries covering a respective address range of a set of address ranges covered by the access metadata;

means for maintaining a data structure within the at least one memory, the data structure comprising multiple nodes distributed across multiple levels, each respective level of the multiple levels corresponding to entries of the dataset having a respective range size of multiple range sizes, the multiple levels including a first level corresponding to a first range size and a second level corresponding to a second range size smaller than the first range size, each respective entry of the multiple entries associated with a respective node of the multiple nodes at a level of the multiple levels that corresponds to the respective address range covered by the access metadata of the respective entry;

means for splitting a node of the first level of the data structure into two or more nodes of the second level of the data structure based on access metadata covering the respective address range of the node; and

means for splitting an entry of the multiple entries into two or more entries of the dataset, the entry covering the respective address range of the node, the two or more entries covering two or more non-overlapping address ranges contained by the respective address range of the node,

one or more nodes of the multiple nodes including at least one node tag configured to uniquely identify at least one node within a respective level of the multiple levels of the data structure, the one or more nodes and the at least one node at different levels of the multiple levels of the data structure; and

another node of the multiple nodes including coverage data pertaining to access metadata for an address range of the set of address ranges, the coverage data comprising a reference to another entry of the multiple entries of the dataset, and the other entry including the access metadata for the address range.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2022
From: ROBERTS, DAVID ANDREW
To: MICRON TECHNOLOGY, INC.
Reel/Frame 060647/0399 →
Continuity (2)
Continuation 16928932 · Jul 14, 2020
Related Publication 20230052043A1 · Feb 16, 2023
References Cited (174)
US 5652858A · Okada · 1997 [imported from a related ]
US 5721874A · Carnevale · 1998 [imported from a related ]
US 5790823A · Puzak · 1998 [imported from a related ]
US 5809566A · Charney · 1998 [imported from a related ]
US 6557079B1 · Mason, Jr. · 2003 [imported from a related ]
US 6560676B1 · Nishimoto · 2003 [imported from a related ]
US 6571318B1 · Sander · 2003 [imported from a related ]
US 6728840B1 · Shatil · 2004 [imported from a related ]
US 7333994B2 · Glover et al. · 2008 [cited by applicant]
US 7434004B1 · Spracklen · 2008 [imported from a related ]
US 7774550B2 · Nomura · 2010 [imported from a related ]
US 7873791B1 · Yu · 2011 [imported from a related ]
US 9110677B2 · Ravimohan · 2015 [imported from a related ]
US 9129033B1 · Jenkins et al. · 2015 [cited by applicant]
US 9767028B2 · Cheng · 2017 [imported from a related ]
US 9769030B1 · Ramalingam · 2017 [imported from a related ]
US 9886385B1 · Huberty · 2018 [imported from a related ]
US 9904624B1 · Huberty · 2018 [imported from a related ]
US 9971694B1 · Meier · 2018 [imported from a related ]
US 10001927B1 · Trachtman · 2018 [cited by examiner]
US 10101934B1 · Ben-moshe et al. · 2018 [cited by applicant]
US 10180905B1 · Meier · 2019 [imported from a related ]
US 10310980B2 · Kalwitz · 2019 [cited by applicant]
US 10331567B1 · Meier · 2019 [imported from a related ]
US 10346309B1 · Hakewill · 2019 [imported from a related ]
US 10452551B2 · Venkatesh · 2019 [imported from a related ]
US 11294808B2 · Roberts · 2022 [imported from a related ]
US 11507516B2 · Roberts et al. · 2022 [cited by applicant]
US 11693775B2 · Roberts et al. · 2023 [cited by applicant]
US 20020087800A1 · Abdallah · 2002 [imported from a related ]
US 20040049642A1 · Liang · 2004 [imported from a related ]
US 20040123043A1 · Rotithor · 2004 [imported from a related ]
US 20050081014A1 · Tran · 2005 [imported from a related ]
US 20060053256A1 · Moyer · 2006 [imported from a related ]
US 20060179238A1 · Griswell, Jr. · 2006 [imported from a related ]
US 20060179239A1 · Fluhr · 2006 [imported from a related ]
US 20060248279A1 · Al-Sukhni · 2006 [imported from a related ]
US 20060248280A1 · Al-Sukhni · 2006 [imported from a related ]
US 20060248281A1 · Al-Sukhni · 2006 [imported from a related ]
US 20070005934A1 · Rotithor · 2007 [imported from a related ]
US 20070043908A1 · Diefendorff · 2007 [imported from a related ]
US 20080005466A1 · Lubbers · 2008 [imported from a related ]
US 20080209130A1 · Kegel · 2008 [imported from a related ]
US 20090006813A1 · Singhal · 2009 [imported from a related ]
US 20090063777A1 · Usui · 2009 [imported from a related ]
US 20090172293A1 · Sun · 2009 [imported from a related ]
US 20090287884A1 · Toyoshima et al. · 2009 [cited by applicant]
US 20100211745A1 · Jeddeloh · 2010 [imported from a related ]
US 20100228941A1 · Koob · 2010 [imported from a related ]
US 20100306222A1 · Freedman · 2010 [cited by examiner]
US 20110093654A1 · Roberts et al. · 2011 [cited by applicant]
US 20110173398A1 · Boyle · 2011 [imported from a related ]
US 20110219208A1 · Asaad · 2011 [imported from a related ]
US 20120054443A1 · Nakra · 2012 [cited by applicant]
US 20120124318A1 · Bivens · 2012 [imported from a related ]
US 20120144125A1 · Greiner · 2012 [imported from a related ]
US 20120278560A1 · Benzion · 2012 [cited by examiner]
US 20130013867A1 · Manne · 2013 [imported from a related ]
US 20130138892A1 · Loh · 2013 [imported from a related ]
US 20130166831A1 · Atkisson et al. · 2013 [cited by applicant]
US 20130166874A1 · Auernhammer · 2013 [imported from a related ]
US 20130185475A1 · Talagala et al. · 2013 [cited by applicant]
US 20130185508A1 · Talagala et al. · 2013 [cited by applicant]
US 20130185515A1 · Sassone · 2013 [imported from a related ]
US 20130238861A1 · Manne · 2013 [imported from a related ]
US 20140028693A1 · Wang · 2014 [imported from a related ]
US 20140149678A1 · Chaudhary · 2014 [imported from a related ]
US 20140181415A1 · Loh · 2014 [imported from a related ]
US 20140379994A1 · Yoshikawa · 2014 [imported from a related ]
US 20150113223A1 · Brown et al. · 2015 [cited by applicant]
US 20150121011A1 · Huang · 2015 [cited by applicant]
US 20150143057A1 · Pavlou · 2015 [imported from a related ]
US 20150234663A1 · Chishti · 2015 [imported from a related ]
US 20150234746A1 · Jo · 2015 [imported from a related ]
US 20150269027A1 · Wan · 2015 [cited by applicant]
US 20150356014A1 · Sathish · 2015 [imported from a related ]
US 20160019157A1 · Palacharla et al. · 2016 [cited by applicant]
US 20160055088A1 · Zhang · 2016 [imported from a related ]
US 20160062894A1 · Schwetman, Jr. · 2016 [imported from a related ]
US 20160154750A1 · Park · 2016 [imported from a related ]
US 20160227236A1 · Matsumoto · 2016 [imported from a related ]
US 20160335177A1 · Huang et al. · 2016 [cited by applicant]
US 20160364146A1 · Kuttner · 2016 [imported from a related ]
US 20160371187A1 · Roberts · 2016 [imported from a related ]
US 20160378668A1 · Roberts · 2016 [imported from a related ]
US 20170116118A1 · Artieri · 2017 [imported from a related ]
US 20170142217A1 · Misra · 2017 [imported from a related ]
US 20170192887A1 · Herdrich · 2017 [imported from a related ]
US 20170212837A1 · Breternitz · 2017 [cited by examiner]
US 20170242626A1 · O'krafka et al. · 2017 [cited by applicant]
US 20170286305A1 · Kalwitz · 2017 [cited by examiner]
US 20170300416A1 · Yamamura · 2017 [imported from a related ]
US 20170344880A1 · Nekuii · 2017 [imported from a related ]
US 20180018266A1 · Jones, III · 2018 [imported from a related ]
US 20180024836A1 · Gschwind · 2018 [imported from a related ]
US 20180089087A1 · Chang · 2018 [imported from a related ]
US 20180285278A1 · Appu · 2018 [imported from a related ]
US 20180341592A1 · Drerup · 2018 [imported from a related ]
US 20180349288A1 · Vakharwala · 2018 [imported from a related ]
US 20190004944A1 · Widder et al. · 2019 [cited by applicant]
US 20190057300A1 · Mathuriya · 2019 [imported from a related ]
US 20190087341A1 · Pugsley · 2019 [imported from a related ]
US 20190258579A1 · Carey · 2019 [imported from a related ]
US 20190317901A1 · Kachare · 2019 [imported from a related ]
US 20190324932A1 · Srinivas · 2019 [imported from a related ]
US 20200004685A1 · Guim Bernat · 2020 [imported from a related ]
US 20200081848A1 · Bae · 2020 [imported from a related ]
US 20200349080A1 · Radi · 2020 [imported from a related ]
US 20210034528A1 · Karve · 2021 [imported from a related ]
US 20210034529A1 · Karve · 2021 [imported from a related ]
US 20210073133A1 · Sharon · 2021 [imported from a related ]
US 20210089457A1 · Park · 2021 [imported from a related ]
US 20210365376A1 · Roberts · 2021 [imported from a related ]
US 20210390053A1 · Roberts · 2021 [imported from a related ]
US 20220019530A1 · Roberts · 2022 [imported from a related ]
US 20220019537A1 · Roberts · 2022 [cited by applicant]
US 20220058132A1 · Roberts · 2022 [imported from a related ]
US 20220179785A1 · Tan et al. · 2022 [cited by applicant]
US 20220222180A1 · Roberts · 2022 [imported from a related ]
US 20230088638A1 · Roberts · 2023 [cited by applicant]
US 20230169011A1 · Roberts et al. · 2023 [cited by applicant]
CN 102696010A · 2012 [cited by applicant]
CN 102968294A · 2013 [cited by applicant]
CN 106462495A · 2017 [cited by applicant]
CN 110688062A · 2020 [cited by applicant]
CN 110727403A · 2020 [cited by applicant]
KR 20170028228 · 2017 [imported from a related ]
WO WO2021236800 · 2021 [imported from a related ]
WO WO2021257281 · 2021 [imported from a related ]
“Final Office Action”, U.S. Appl. No. 16/937,671, Nov. 16, 2021, 16 pages. [imported from a related ]
“Notice of Allowance”, U.S. Appl. No. 16/880,248, Nov. 24, 2021, 6 pages. [imported from a related ]
“Final Office Action”, U.S. Appl. No. 16/901,890, Sep. 27, 2021, 29 pages. [imported from a related ]
“Advisory Action”, U.S. Appl. No. 16/901,890, Dec. 6, 2021, 3 pages. [imported from a related ]
“Non-Final Office Action”, U.S. Appl. No. 16/901,890, Jul. 9, 2021, 26 pages. [imported from a related ]
“Non-Final Office Action”, U.S. Appl. No. 16/880,248, Jul. 9, 2021, 15 pages. [imported from a related ]
Salkhordeh, et al., “ReCA: An Efficient Reconfigurable Cache Architecture for Storage Systems with Online Workload Characterization”, May 3, 2018, 14 pages. [imported from a related ]
Zhang, et al., “A Self-Tuning Cache Architecture for Embedded Systems”, May 2004, pp. 407-425. [imported from a related ]
Madan, et al., “Optimizing Communication and Capacity in a 3D Stacked Reconfigurable Cache Hierarchy”, Jan. 2008, pp. 262-273. [imported from a related ]
“Non-Final Office Action”, U.S. Appl. No. 16/937,671, Jun. 23, 2021, 14 pages. [imported from a related ]
“Non-Final Office Action”, U.S. Appl. No. 16/928,932, Jun. 28, 2021, 20 pages. [imported from a related ]
“International Search Report and Written Opinion”, Application No. PCT/US2021/035535, Sep. 10, 2021, 10 pages. [imported from a related ]
“International Search Report and Written Opinion”, Application No. PCT/US2021/033210, Sep. 3, 2021, 10 pages. [imported from a related ]
Pursuant to MPEP § 2001.6(b) the applicant brings the following co-pending application to the Examiner's attention: U.S. Appl. No. 16/937,671. [imported from a related ]
“Non-Final Office Action”, U.S. Appl. No. 16/901,890, Feb. 17, 2022, 33 pages. [imported from a related ]
Nesbit, et al., “AC/DC: An Adaptive Data Cache Prefetcher”, University of Wisconsin—Madison; Department of Electrical and Computer Engineering; In Proceedings of the 13th International Conference on Parallel Architectur… [imported from a related ]
Shi, et al., “Dynamic Page Size Adjustment in Operating System”, IEEE; 2016 International Conference on Information System and Artificial Intelligence, 2016, 5 pages. [imported from a related ]
Hashemi, et al., “Learning Memory Access Patterns”, retrieved from https://arxiv.org/pdf/1803.02329.pdf on Jan. 27, 2020, Mar. 6, 2018, 15 pages. [imported from a related ]
“Radix Tree”, retrieved from https://en.wikipedia.org/wiki/Radix_tree on Jan. 27, 2020, 8 pages. [imported from a related ]
“Notice of Allowance”, U.S. Appl. No. 16/997,811, Jul. 13, 2022, 9 pages. [imported from a related ]
Huang, et al., “Open Prefetch—Let There Be Industry-Competitive Prefetching in RISC-V Processors”, Institute of Computing Technology (ICT); Chinese Academy of Sciences (CAS); Retrieved from https://content.riscv.org/wp-… [imported from a related ]
Rothman, et al., “Sector Cache Design and Performance”, Report No. UCB/CSD-99-1034; Computer Science Division (EECS); University of California, Jan. 1999, 63 pages. [imported from a related ]
Gervasi, “Overcoming System Memory Challenges with Persistent Memory and NVDIMM-P”, JEDEC Server Forum 2017, Jan. 2017, 14 pages. [imported from a related ]
Bakhshalipour, et al., “Domino Temporal Data Prefetcher”, Proceedings of the 24th International Symposium on High-Performance Architecture (HPCA); Department of Computer Engineering, Sharif University of Technology; Sch… [imported from a related ]
“Notice of Allowance”, U.S. Appl. No. 16/937,671, Apr. 13, 2022, 21 pages. [imported from a related ]
“Final Office Action”, U.S. Appl. No. 16/901,890, Jun. 10, 2022, 35 pages. [imported from a related ]
“International Preliminary Report on Patentability”, Application No. PCT/US2021/033210, Nov. 17, 2022, 7 pages. [cited by applicant]
“International Preliminary Report on Patentability”, Application No. PCT/US2021/035535, Dec. 13, 2022, 7 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 17/657,922, Oct. 6, 2022, 29 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 16/901,890, Nov. 9, 2022, 37 pages. [cited by applicant]
“Final Office Action”, U.S. Appl. No. 16/928,932, Nov. 18, 2021, 21 pages. [cited by applicant]
“Notice of Allowance”, U.S. Appl. No. 16/928,932, Mar. 22, 2022, 9 pages. [cited by applicant]
Nesbit, et al., “AC/DC: An Adaptive Data Cache Prefetcher”, Jan. 2004, 11 pages. [cited by applicant]
Shi, et al., “Dynamic Page Size Adjustment in Operating System”, IEEE; 2016 International Conference on Information System and Artificial Intelligence, Jun. 2016, 5 pages. [cited by applicant]
“Final Office Action”, U.S. Appl. No. 16/901,890, Feb. 24, 2023, 29 pages. [cited by applicant]
“Notice of Allowance”, U.S. Appl. No. 17/657,922, Feb. 23, 2023, 5 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 17/820,531, Jan. 2, 2024, 14 pages. [cited by applicant]
“Extended European Search Report”, EP Application No. 21808234.5, May 22, 2024, 7 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 18/057,628, Jun. 7, 2024, 18 pages. [cited by applicant]
“Final Office Action”, U.S. Appl. No. 17/820,531, Sep. 20, 2024, 18 pages. [cited by applicant]
“Foreign Office Action”, CN Application No. 202110838429.8, Aug. 9, 2024, 8 pages. [cited by applicant]
“Final Office Action”, U.S. Appl. No. 18/057,628, Dec. 9, 2024, 22 pages. [cited by applicant]
“Foreign Office Action”, CN Application No. 202110771649.3, Sep. 24, 2024, 13 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 18/057,628, May 6, 2025, 26 pages. [cited by applicant]
“Notice of Allowance”, U.S. Appl. No. 17/820,531, Jul. 15, 2025, 9 pages. [cited by applicant]