IP Library › Granted Patent US 12,681,866
Granted Patent B2
US 12,681,866 · App. 18/374,951 · Granted Jul 14, 2026

Speculative cache invalidation for processing-in-memory instructions

Inventors: Travis Henry Boraten (Austin, TX); Jagadish B. Kotra (Austin, TX); David Andrew Werner (Austin, TX)
Assignee: Advanced Micro Devices, Inc.
G06F12/0897G06F12/0891G06F2212/1024
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,681,866
App. No.
18/374,951
Filed
Sep 29, 2023
Granted
Jul 14, 2026
Kind
B2
Art Unit
2137
USPC
711/122
Abstract

Speculative cache invalidation techniques for processing-in-memory instructions are described. In one example, a system includes a cache system including a plurality of cache levels and a cache coherence controller. The cache coherence controller is configured to perform a cache directory lookup using a cache directory. The cache directory lookup is configured to indicate whether data associated with a memory address specified by a processing-in-memory request is valid in memory. The system employs speculative evaluation logic to identify whether the data associated with the processing-in-memory request is stored in the cache system before the processing-in-memory request is transmitted to the cache coherence controller. If the data is stored in the cache system, the cache system locally invalidates or flushes the data to avoid stalling the processing-in-memory request during a cache directory lookup.

Claims (32)

1 . A system comprising:

a cache controller including a cache directory;

a processing-in-memory component; and

a cache system including a plurality of cache levels, the cache system configured to:

ensure validity, using a tag table maintained in one of the plurality of cache levels, of one or more data elements involved in executing a processing-in-memory request before the processing-in-memory request is dispatched to the cache controller or the processing-in-memory component; and

cause the cache controller to skip performing a lookup for the processing-in-memory request using the cache directory responsive to ensuring validity of the one or more data elements using the tag table.

2 . The system of claim 1 , wherein the cache system is configured to ensure the validity of the one or more data elements by invalidating the one or more data elements from the cache system.

3 . The system of claim 1 , wherein the cache system is configured to ensure the validity of the one or more data elements by flushing the one or more data elements from the cache system to memory accessible by the processing-in-memory component.

4 . The system of claim 1 , wherein the cache system ensures the validity of the one or more data elements involved in executing the processing-in-memory request by comparing a memory address for the one or more data elements to the tag table, wherein the tag table includes metadata describing data stored in the cache system.

5 . The system of claim 1 , wherein the processing-in-memory request includes a speculation bit that causes the cache controller to not transmit a cache request to flush the one or more data elements from the cache system upon receiving the processing-in-memory request.

6 . The system of claim 1 , wherein the cache directory includes a plurality of cache directory entries that indicate memory addresses that are maintained in the cache system.

7 . The system of claim 6 , wherein the plurality of cache directory entries specify, respectively, a location of respective memory addresses in a plurality of cache levels of the cache system and a status of the respective memory address.

8 . The system of claim 1 , wherein the cache system is configured to allow transmission of the processing-in-memory request to the cache controller in response to determining that the one or more data elements are valid in memory for use in executing the processing-in-memory request by the processing-in-memory component.

9 . The system of claim 1 , wherein the cache system is configured to ensure validity of one or more additional data elements involved in executing an additional processing-in-memory request before the additional processing-in-memory request is issued by a processing unit.

10 . The system of claim 9 , wherein the cache system is configured to select the one or more additional data elements involved in executing the additional processing-in-memory request based on spatial locality relative to the one or more data elements involved in executing the processing-in-memory request.

11 . A device comprising:

a cache system comprising a plurality of cache levels and configured to:

receive a processing-in-memory request to be executed by a processing-in-memory component;

ensure validity, using a tag table maintained in one of the plurality of cache levels, of one or more data elements involved in executing the processing-in-memory request before the processing-in-memory request is transmitted to a memory controller for scheduling execution at the processing-in-memory component; and

responsive to ensuring validity of the one or more data elements using the tag table maintained in the one of the plurality of cache levels, cause a cache controller coupled to the device to skip performing a lookup for the processing-in-memory request using a cache directory.

12 . The device of claim 11 , wherein the cache system ensures the validity of the one or more data elements involved in executing the processing-in-memory request by invalidating the one or more data elements from the cache system.

13 . The device of claim 11 , wherein the cache system ensures the validity of the one or more data elements involved in executing the processing-in-memory request by flushing the one or more data elements from the cache system to memory accessible by the processing-in-memory component.

14 . The device of claim 11 , wherein the cache system ensures the validity of the one or more data elements involved in executing the processing-in-memory request by comparing a memory address for the one or more data elements to the tag table, wherein the tag table includes metadata describing data stored in the cache system.

15 . The device of claim 11 , wherein transmitting the processing-in-memory request comprises routing the processing-in-memory request from a processing unit to the memory controller via the cache controller, and wherein the processing-in-memory request includes a speculation bit that causes the cache controller to not perform the lookup for the processing-in-memory request using the cache directory.

16 . The device of claim 15 , wherein the cache controller comprises a cache directory that includes a plurality of cache directory entries that indicate memory addresses that are maintained in the cache system.

17 . The device of claim 11 , wherein the cache system is further configured to ensure validity of one or more additional data elements involved in executing an additional processing-in-memory request before the additional processing-in-memory request is issued by a processing unit.

18 . The device of claim 17 , wherein the one or more additional data elements involved in executing the additional processing-in-memory request are selected based on spatial locality relative to the one or more data elements involved in executing the processing-in-memory request.

19 . A method comprising:

detecting, by a cache system comprising a plurality of cache levels, issuance of a processing-in-memory request from a processing unit core to be executed by a processing-in-memory component;

ensuring validity, by the cache system using a tag table maintained in one of the plurality of cache levels, of one or more data elements involved in executing the processing-in-memory request by invalidating or flushing the one or more data elements to memory that is accessible by the processing-in-memory component before the processing-in-memory request is dispatched to a cache controller or a memory controller of a device implementing the processing-in-memory component; and

responsive to ensuring validity of the one or more data elements using the tag table maintained in the one of the plurality of cache levels, causing the cache controller to skip performing a lookup for the processing-in-memory request using a cache directory.

20 . The method of claim 19 , wherein the plurality of cache levels are arranged in a cache hierarchy from a highest-level cache to a lowest-level cache, wherein the tag table is maintained in the lowest-level cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2023
From: BORATEN, TRAVIS HENRY; KOTRA, JAGADISH B.; WERNER, DAVID ANDREW
To: ADVANCED MICRO DEVICES, INC
Reel/Frame 065074/0823 →
Continuity (1)
Related Publication 20250110886A1 · Apr 3, 2025
References Cited (135)
US 6263406B1 · Uwano · 2001 [cited by applicant]
US 6553465B1 · Takusagawa · 2003 [cited by applicant]
US 6944746B2 · So · 2005 [cited by applicant]
US 7047393B2 · Paver · 2006 [cited by applicant]
US 8359462B1 · Khan et al. · 2013 [cited by applicant]
US 9442854B2 · Hyde et al. · 2016 [cited by applicant]
US 9575815B1 · Guthrie et al. · 2017 [cited by applicant]
US 10061588B2 · Gschwind et al. · 2018 [cited by applicant]
US 11594274B2 · Murphy et al. · 2023 [cited by applicant]
US 11625249B2 · Kotra et al. · 2023 [cited by applicant]
US 11625251B1 · Agrawal et al. · 2023 [cited by applicant]
US 11663008B2 · Lee et al. · 2023 [cited by applicant]
US 11782624B2 · Yang et al. · 2023 [cited by applicant]
US 11868777B2 · Kalamatianos et al. · 2024 [cited by applicant]
US 11921626B2 · Yoon et al. · 2024 [cited by applicant]
US 12073251B2 · Challapalle et al. · 2024 [cited by applicant]
US 12147338B2 · Kotra et al. · 2024 [cited by applicant]
US 12153926B2 · Kalamatianos et al. · 2024 [cited by applicant]
US 12160643B2 · Zhou et al. · 2024 [cited by applicant]
US 20020199066A1 · Chaudhry · 2002 [cited by examiner]
US 20060224835A1 · Blumrich · 2006 [cited by examiner]
US 20070174685A1 · Banks · 2007 [cited by applicant]
US 20080046692A1 · Michalak et al. · 2008 [cited by applicant]
US 20080244185A1 · O'Krafka et al. · 2008 [cited by applicant]
US 20080307169A1 · Averill et al. · 2008 [cited by applicant]
US 20100017649A1 · Wu et al. · 2010 [cited by applicant]
US 20100153761A1 · Nishioka · 2010 [cited by applicant]
US 20110167222A1 · Lee et al. · 2011 [cited by applicant]
US 20110242113A1 · Keall et al. · 2011 [cited by applicant]
US 20120179876A1 · Guthrie et al. · 2012 [cited by applicant]
US 20130086367A1 · Gschwind et al. · 2013 [cited by applicant]
US 20140040551A1 · Blainey · 2014 [cited by examiner]
US 20140052916A1 · Lih · 2014 [cited by examiner]
US 20140089572A1 · Koka et al. · 2014 [cited by applicant]
US 20140281405A1 · Streett et al. · 2014 [cited by applicant]
US 20160092238A1 · Codrescu et al. · 2016 [cited by applicant]
US 20160155491A1 · Roberts et al. · 2016 [cited by applicant]
US 20170060588A1 · Choi · 2017 [cited by applicant]
US 20170123915A1 · Nguyen et al. · 2017 [cited by applicant]
US 20170123987A1 · Cheng et al. · 2017 [cited by applicant]
US 20170213312A1 · Woo et al. · 2017 [cited by applicant]
US 20170262369A1 · Murphy · 2017 [cited by examiner]
US 20170344480A1 · Beard et al. · 2017 [cited by applicant]
US 20180089081A1 · Ramalingam · 2018 [cited by applicant]
US 20180188961A1 · Venkatesh et al. · 2018 [cited by applicant]
US 20180336035A1 · Choi et al. · 2018 [cited by applicant]
US 20190089081A1 · Zhang · 2019 [cited by applicant]
US 20200192757A1 · Qin et al. · 2020 [cited by applicant]
US 20200218540A1 · Kesiraju et al. · 2020 [cited by applicant]
US 20210271680A1 · Lee et al. · 2021 [cited by applicant]
US 20220076717A1 · Mathew et al. · 2022 [cited by applicant]
US 20220188117A1 · Kalamatianos et al. · 2022 [cited by applicant]
US 20220188233A1 · Kalamatianos · 2022 [cited by examiner]
US 20220206817A1 · Kotra et al. · 2022 [cited by applicant]
US 20220206855A1 · Challapalle et al. · 2022 [cited by applicant]
US 20230028952A1 · Kim · 2023 [cited by applicant]
US 20230154522A1 · Kim et al. · 2023 [cited by applicant]
US 20230244442A1 · Lee et al. · 2023 [cited by applicant]
US 20230244492A1 · Kotra et al. · 2023 [cited by applicant]
US 20240004653A1 · Alsop et al. · 2024 [cited by applicant]
US 20240126552A1 · Kalamatianos et al. · 2024 [cited by applicant]
US 20240211393A1 · Kotra et al. · 2024 [cited by applicant]
US 20240231645A1 · Zhang et al. · 2024 [cited by applicant]
US 20250110887A1 · Werner et al. · 2025 [cited by applicant]
U.S. Appl. No. 17/136,767 , “Notice of Allowance”, U.S. Appl. No. 17/136,767, Apr. 30, 2024, 18 pages. [cited by applicant]
U.S. Appl. No. 17/473,242 , “Non-Final Office Action”, U.S. Appl. No. 17/473,242, Mar. 7, 2024, 16 pages. [cited by applicant]
U.S. Appl. No. 17/853,613 , “Non-Final Office Action”, U.S. Appl. No. 17/853,613, Apr. 25, 2024, 9 pages. [cited by applicant]
U.S. Appl. No. 18/146,509 , “Non-Final Office Action”, U.S. Appl. No. 18/146,509, Apr. 3, 2024, 11 pages. [cited by applicant]
Nai, Lifeng , et al., “GraphPIM: Enabling Instruction-Level PIM Offloading in Graph Computing Frameworks”, 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA), Feb. 2017, 12 pages. [cited by applicant]
Xu, Sheng , et al., “TUPIM: A Transparent and Universal Processing-in-Memory Architecture for Unmodified Binaries”, GLSVLSI '20: Proceedings of the 2020 on Great Lakes Symposium on VLSI, Sep. 2020, 6 pages. [cited by applicant]
U.S. Appl. No. 18/146,509 , “Notice of Allowance”, U.S. Appl. No. 18/146,509, Aug. 27, 2024, 6 pages. [cited by applicant]
U.S. Appl. No. 18/298,723 , “Non-Final Office Action”, U.S. Appl. No. 18/298,723, Jun. 20, 2024, 9 pages. [cited by applicant]
U.S. Appl. No. 18/393,657 , “Notice of Allowance”, U.S. Appl. No. 18/393,657, Jul. 31, 2024, 9 pages. [cited by applicant]
“ARM946E-S Technical Reference Manual r1p1”, Arm Developer [retrieved May 17, 2023]. Retrieved from the Internet <https://developer.arm.com/documentation/ddi0201/d/programmer-s-model/cp15-register-map-summary/register-7… [cited by applicant]
“Google Project Zero”, GitHub Inc., Uplaoded by Projects by Google Project Zero [retrieved Sep. 15, 2022]. Retrieved from the Internet <https://github.com/googleprojectzero>., 3 Pages. [cited by applicant]
“HPCA 2021”, The 27th IEEE International Symposium on High-Performance Computer Architecture (HPCA-27), Seoul, South Korea [retrieved Sep. 15, 2022]. Retrieved from the Internet <https://hpca-conf.org/2021/keynotes/>., … [cited by applicant]
U.S. Appl. No. 17/123,270, , “Final Office Action”, U.S. Appl. No. 17/123,270, Nov. 23, 2021, 15 pages. [cited by applicant]
U.S. Appl. No. 17/123,270, , “Non-Final Office Action”, U.S. Appl. No. 17/123,270, Aug. 4, 2021, 14 pages. [cited by applicant]
U.S. Appl. No. 17/123,270, , “Notice of Allowance”, U.S. Appl. No. 17/123,270, Sep. 7, 2023, 7 pages. [cited by applicant]
U.S. Appl. No. 17/123,270, , “Notice of Allowance”, U.S. Appl. No. 17/123,270, Nov. 10, 2022, 7 pages. [cited by applicant]
U.S. Appl. No. 17/137,140, , “Final Office Action”, U.S. Appl. No. 17/137,140, Aug. 15, 2022, 8 pages. [cited by applicant]
U.S. Appl. No. 17/137,140, , “Non-Final Office Action”, U.S. Appl. No. 17/137,140, Mar. 9, 2022, 8 pages. [cited by applicant]
U.S. Appl. No. 17/137,140, , “Notice of Allowance”, U.S. Appl. No. 17/137,140, Dec. 8, 2022, 8 pages. [cited by applicant]
Agrawal, Varun et al., “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 17/561,112, filed Dec. 23, 2021, 25 pages. [cited by applicant]
Alsop, Jonathan et al., “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 17/853,613, filed Jun. 29, 2022, 28 pages. [cited by applicant]
Aweke, Zelalem B. et al., “ANVIL: Software-Based Protection Against Next-Generation Rowhammer Attacks”, ACM SIGPLAN Notices, vol. 51, No. 4 [retrieved Sep.1 5, 2022]. Retrieved from the Internet <http://www.seclab.cs.st… [cited by applicant]
Boraten, Travis H. et al., “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 18/192,925, filed Mar. 30, 2023, 48 pages. [cited by applicant]
Boraten, Travis H. et al., “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 18/374,969, filed Sep. 29, 2023, 51 pages. [cited by applicant]
Boraten, Travis H. , “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 18/146,904, filed Dec. 27, 2022, 53 pages. [cited by applicant]
Boyer, Michael W. et al., “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 17/719,225, filed Apr. 12, 2022, 32 pages. [cited by applicant]
Brasser, Ferdinand et al., “CAn't touch this: software-only mitigation against rowhammer attacks targeting kernel memory”, Proceedings of the 26th USENIX Conference on Security Symposium [retrieved Sep. 15, 2022]. Retri… [cited by applicant]
Cantin, J.F. et al., “Coarse-Grain Coherence Tracking: RegionScout and Region Coherence Arrays”, IEEE Micro, vol. 26, No. 1 [retrieved Oct. 16, 2022]. Retrieved from the Internet <https://pharm.ece.wisc.edu/papers/ieeem… [cited by applicant]
Gulur, Nagendra Dwarakanath et al., “Multiple sub-row buffers in DRAM: unlocking performance and energy improvement opportunities”, Proceedings of the 26th ACM international conference on Supercomputing [retrieved Sep. … [cited by applicant]
Hassan, Hasan et al., “Uncovering In-DRAM RowHammer Protection Mechanisms:A New Methodology, Custom RowHammer Patterns, and Implications”, 54th Annual IEEE/ACM International Symposium on Microarchitecture [retrieved Sep… [cited by applicant]
Jin, Xingyu et al., “Project Zero”, News and updates from the Project Zero team at Google [retrieved Sep. 15, 2022]. Retrieved from the Internet <https://googleprojectzero.blogspot.com/>., Aug. 10, 2022, 15 Pages. [cited by applicant]
Kim, Jeremie S. et al., “Revisiting RowHammer: An Experimental Analysis of Modern DRAM Devices and Mitigation Techniques”, Cornell University arXiv, arXiv.org [retrieved Sep. 15, 2022]. Retrieved from the Internet <http… [cited by applicant]
Kim, Nam Sung , “A Journey to a Commercial-Grade Function-In-Memory (FIM) Chip Development”, HPCA-2021, Keynote [retrieved May 10, 2023]. Retrieved from the Internet <https://hpca-conf.org/2021/keynotes/>., Mar. 3, 2021… [cited by applicant]
Kim, Yoongu et al., “A case for exploiting subarray-level parallelism (SALP) in DRAM”, 2012 39th Annual International Symposium on Computer Architecture (ISCA) [retrieved Sep. 15, 2022]. Retrieved from the Internet <htt… [cited by applicant]
Kim, Yoongu et al., “Flipping bits in memory without accessing them: an experimental study of DRAM disturbance errors”, ACM SIGARCH Computer Architecture News, vol. 42, No. 3 [retrieved Sep. 15, 2022]. Retrieved from th… [cited by applicant]
Konoth, Radhesh Krishnan , “ZebRAM: Comprehensive and Compatible Software Protection Against Rowhammer Attacks”, 13th USENIX Symposium on Operating Systems Design and Implementation [retrieved Sep. 15, 2022]. Retrieved … [cited by applicant]
Kotra, Jagadish B. et al., “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 18/146,509, filed Dec. 27, 2022, 48 pages. [cited by applicant]
Lee, Chulki et al., “DRAM Row hammer micro-benchmark”, GitHub, Inc. Uploaded by rowhammer-test [retrieved Sep. 15, 2022]. Retrieved from the Internet <https://github.com/google/rowhammer-test>., 3 Pages. [cited by applicant]
Lee, Eojin et al., “TWiCe: preventing row-hammering by exploiting time window counters”, Proceedings of the 46th International Symposium on Computer Architecture [retrieved Sep. 15, 2022]. Retrieved from the Internet <h… [cited by applicant]
Orosa, Lois et al., “A Deeper Look into RowHammer's Sensitivities: Experimental Analysis of Real DRAM Chips and Implications on Future Attacks and Defenses”, Cornell University arXiv, arXiv.org [retrieved Sep. 15, 2022]… [cited by applicant]
Qureshi, Moinuddin et al., “Hydra: enabling low-overhead mitigation of row-hammer at ultra-low thresholds via hybrid tracking”, Proceedings of the 49th Annual International Symposium on Computer Architecture [retrieved … [cited by applicant]
Saileshwar, Gururaj , “Randomized row-swap: mitigating Row Hammer by breaking spatial correlation between aggressor and victim rows”, Proceedings of the 27th ACM International Conference on Architectural Support for Pro… [cited by applicant]
Werner, David A. et al., “Pursuant to MPEP § 2001.06(b) the applicant brings the following co-pending application to the Examiner's attention:”, U.S. Appl. No. 18/375,018, filed Sep. 29, 2023, 54 pages. [cited by applicant]
Yağlikçi, Giray A. et al., “BlockHammer: Preventing RowHammer at Low Cost by Blacklisting Rapidly-Accessed DRAM Rows”, Cornell University arXiv, arXiv.org [retrieved Sep. 15, 2022]. Retrieved from the Internet <https://… [cited by applicant]
U.S. Appl. No. 17/136,767 , “Non-Final Office Action”, U.S. Appl. No. 17/136,767, Dec. 20, 2023, 20 pages. [cited by applicant]
U.S. Appl. No. 17/853,613 , “Final Office Action”, U.S. Appl. No. 17/853,613, Dec. 22, 2023, 5 pages. [cited by applicant]
U.S. Appl. No. 17/853,613 , “Non-Final Office Action”, U.S. Appl. No. 17/853,613, May 16, 2023, 8 pages. [cited by applicant]
Ahn, Junwhan , et al., “PIM-enabled instructions: a low-overhead, locality-aware processing-in-memory architecture”, ACM SIGARCH Computer Architecture News, vol. 43, No. 3S [retrieved Jan. 12, 2024]. Retrieved from the … [cited by applicant]
Byoung-Hak, Kim , et al., “Exploration of a PIM Design Configuration for Energy-Efficient Task Offloading”, 2019 IEEE International Symposium on Circuits and Systems (ISCAS) [retrieved Jan. 12, 2024]. Retrieved from the… [cited by applicant]
Ghose, S , et al., “Processing-in-memory: A workload-driven perspective”, IBM Journal of Research and Development, vol. 63, No. 6 [retrieved Jan. 12, 2024]. Retrieved from the Internet <https://doi.org/10.1147/JRD.2019.… [cited by applicant]
Ghose, S , et al., “Processing-in-memory: A workload-driven perspective”, IBM Journal of Research and Development, vol. 63, No. 6 [retrieved Jan. 12, 2024]. Retrieved from the Internet <https://doi.org/10.1147/JRD.2019.… [cited by applicant]
Giannoula, Christina , et al., “SynCron: Efficient Synchronization Support for Near-Data-Processing Architectures”, Cornell University, arXiv Preprint, arxiv.org [retrieved Jan. 12, 2024]. Retrieved from the Internet <h… [cited by applicant]
Giannoula, Christina , et al., “SynCron: Efficient Synchronization Support for Near-Data-Processing Architectures”, Cornell University, arXiv Preprint, arxiv.org [retrieved Jan. 12, 2024]. Retrieved from the Internet <h… [cited by applicant]
Lee, Won Jun , et al., “Design of Processing-“Inside”-Memory Optimized for DRAM Behaviors”, IEEE Access, vol. 7 [retrieved Jan. 12, 2024]. Retrieved from the Internet <https://doi.org/10.1109/ACCESS.2019.2924240>, Jun. … [cited by applicant]
Pattnaik, Ashutosh , et al., “Scheduling techniques for GPU architectures with processing-in-memory capabilities”, PACT '16: Proceedings of the 2016 International Conference on Parallel Architectures and Compilation [re… [cited by applicant]
U.S. Appl. No. 17/473,242 , “Final Office Action”, U.S. Appl. No. 17/473,242, Oct. 22, 2024, 13 pages. [cited by applicant]
U.S. Appl. No. 17/853,613 , “Final Office Action”, U.S. Appl. No. 17/853,613, Oct. 1, 2024, 7 pages. [cited by applicant]
U.S. Appl. No. 18/146,509 , “Corrected Notice of Allowability”, U.S. Appl. No. 18/146,509, Oct. 23, 2024, 2 pages. [cited by applicant]
U.S. Appl. No. 18/298,723 , “Final Office Action”, U.S. Appl. No. 18/298,723, Oct. 11, 2024, 7 pages. [cited by applicant]
U.S. Appl. No. 18/375,018 , “Non-Final Office Action”, U.S. Appl. No. 18/375,018, Oct. 9, 2024, 11 pages. [cited by applicant]
“Notice of Allowance”, U.S. Appl. No. 17/853,613, Apr. 1, 2025, 6 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 18/298,723, Mar. 19, 2025, 9 pages. [cited by applicant]
“Final Office Action”, U.S. Appl. No. 18/375,018, Apr. 15, 2025, 13 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 17/473,242, Jun. 24, 2025, 15 pages. [cited by applicant]
“Notice Of Allowance”, U.S. Appl. No. 18/298,723, Aug. 13, 2025, 8 pages. [cited by applicant]
“Non-Final Office Action”, U.S. Appl. No. 18/375,018, Sep. 10, 2025, 8 pages. [cited by applicant]
Corrected Notice of Allowability issued in U.S. Appl. No. 18/375,018, mailed Jan. 21, 2026, 2 pages. [cited by applicant]
Corrected Notice of Allowability issued in U.S. Appl. No. 18/375,018, mailed Mar. 10, 2026, 2 pages. [cited by applicant]
Final Office Action issued in U.S. Appl. No. 18/192,925, mailed Jan. 27, 2026, 25 pages. [cited by applicant]
Notice of Allowance issued in U.S. Appl. No. 18/375,018, mailed Jan. 6, 2026, 7 pages. [cited by applicant]
Non-Final Office Action issued in U.S. Appl. No. 18/192,925, mailed Apr. 22, 2026, 25 pages. [cited by applicant]