IP Library › Granted Patent US 12,405,857
Granted Patent B2
US 12,405,857 · App. 18/209,613 · Granted Sep 2, 2025

Methods and systems for raid protection in zoned solid-state drives

Inventors: Abhijeet Prakash Gole (Cupertino, CA); Sourav Sen (Cupertino, CA); Mark Smith (Cupertino, CA); Daniel Wang-Woei Ting (Palo Alto, CA)
Assignee: NETAPP, INC.
G06F11/1076G06F3/0619G06F3/0644G06F3/0689G06F12/10G06F2212/657
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,405,857
App. No.
18/209,613
Filed
Jun 14, 2023
Granted
Sep 2, 2025
Kind
B2
Art Unit
2111
USPC
714/764
Abstract

Methods and systems for a storage environment are provided. One method includes splitting storage of a plurality of zoned solid-state drives (ZNS SSDs) into a plurality of physical zones (PZones) across a plurality of independent media units of each ZNS SSD, the PZones visible to a first tier RAID (redundant array of independent disks) layer; generating a plurality of RAID zones (RZones), each RZone having a plurality of PZones; presenting one or more RZones to a second tier RAID layer by the first tier RAID layer for processing read and write requests using the plurality of ZNS SSDs; and utilizing, by the first tier RAID layer, a parity PZone at each ZNS SSD for storing parity information corresponding to data written in one or more PZone corresponding to a RZone presented to the second tier RAID layer and storing the parity information in a single parity ZNS SSD.

Claims (48)

1. A method executed by one or more processor, comprising;

presenting a plurality of physical zones (PZones) to a first tier RAID (redundant array of independent disks) layer, and a plurality of RAID zones (RZones) to a second tier RAID layer, the PZones based on storage space of a plurality of zoned solid-state drives (ZNS SSDs) of a storage subsystem and each RZone having a plurality of PZones;

translating, by a zone translation layer, a logical block address (“LBA”) of a RZone specified by a read request into a LBA of a corresponding PZone that stores data for the read request; and

utilizing, by the first tier RAID layer, the LBA of the PZone to retrieve data for the read request.

2. The method of claim 1 , further comprising:

in response to an error in reading a portion of the data associated with the read request, reconstructing the portion of the data from parity information corresponding to the portion of the data stored in a parity ZNS SSD.

3. The method of claim 1 , further comprising:

in response to an error in reading a portion of the data associated with the read request, reconstructing the portion of the data from parity information corresponding to the portion of the data stored in a parity zone of one of the ZNS SSDs, when the parity information is unavailable from a parity ZNS SSD.

4. The method of claim 1 , further comprising:

generating the plurality of PZones across a plurality of independent media units of each ZNS SSD.

5. The method of claim 1 , further comprising:

interfacing, by the ZTL, with the first tier RAID layer and the second tier RAID layer to process the read request.

6. The method of claim 1 , further comprising:

receiving, by the second tier RAID layer, the read request and providing, by the second tier RAID layer, the LBA of the RZone to the ZTL.

7. The method of claim 1 , further comprising:

providing, by the ZTL, the LBA of the PZone to the first tier RAID layer for retrieving the data.

8. A non-transitory, machine-readable storage medium having stored thereon instructions for performing a method, comprising machine executable code which when executed by at least one machine, causes the machine to:

present a plurality of physical zones (PZones) to a first tier RAID (redundant array of independent disks) layer, and a plurality of RAID zones (RZones) to a second tier RAID layer, the PZones based on storage space of a plurality of zoned solid-state drives (ZNS SSDs) of a storage subsystem and each RZone having a plurality of PZones;

translate, by a zone translation layer, a logical block address (“LBA”) of a RZone specified by a read request into a LBA of a corresponding PZone that stores data for the read request; and

utilize, by the first tier RAID layer, the LBA of the PZone to retrieve data for the read request.

9. The non-transitory, machine-readable storage medium of claim 8 , wherein the machine executable code which when executed by at least one machine, further causes the machine to:

in response to an error in reading a portion of the data associated with the read request, reconstruct the portion of the data from parity information corresponding to the portion of the data stored in a parity ZNS SSD.

10. The non-transitory, machine-readable storage medium of claim 8 , wherein the machine executable code which when executed by at least one machine, further causes the machine to:

in response to an error in reading a portion of the data associated with the read request, reconstructing the portion of the data from parity information corresponding to the portion of the data stored in a parity zone of one of the ZNS SSDs, when the parity information is unavailable from a parity ZNS SSD.

11. The non-transitory, machine-readable storage medium of claim 8 , wherein the machine executable code which when executed by at least one machine, further causes the machine to:

generate the plurality of PZones across a plurality of independent media units of each ZNS SSD.

12. The non-transitory, machine-readable storage medium of claim 8 , wherein the machine executable code which when executed by at least one machine, further causes the machine to:

interface, by the ZTL, with the first tier RAID layer and the second tier RAID layer to process the read request.

13. The non-transitory, machine-readable storage medium of claim 8 , wherein the machine executable code which when executed by at least one machine, further causes the machine to:

receive, by the second tier RAID layer, the read request and providing, by the second tier RAID layer, the LBA of the RZone to the ZTL.

14. A system, comprising:

a memory containing machine readable medium comprising machine executable code having stored thereon instructions; and

a processor module coupled to the memory, the processor module configured to execute the machine executable code to:

present a plurality of physical zones (PZones) to a first tier RAID (redundant array of independent disks) layer, and a plurality of RAID zones (RZones) to a second tier RAID layer, the PZones based on storage space of a plurality of zoned solid-state drives (ZNS SSDs) of a storage subsystem and each RZone having a plurality of PZones;

translate, by a zone translation layer, a logical block address (“LBA”) of a RZone specified by a read request into a LBA of a corresponding PZone that stores data for the read request; and

utilize, by the first tier RAID layer, the LBA of the PZone to retrieve data for the read request.

15. The system of claim 14 , wherein the machine executable code further causes to:

in response to an error in reading a portion of the data associated with the read request, reconstruct the portion of the data from parity information corresponding to the portion of the data stored in a parity ZNS SSD.

16. The system of claim 14 , wherein the machine executable code further causes to:

in response to an error in reading a portion of the data associated with the read request, reconstructing the portion of the data from parity information corresponding to the portion of the data stored in a parity zone of one of the ZNS SSDs, when the parity information is unavailable from a parity ZNS SSD.

17. The system of claim 14 , wherein the machine executable code further causes to:

generate the plurality of PZones across a plurality of independent media units of each ZNS SSD.

18. The system of claim 17 , wherein the machine executable code further causes to:

interface, by the ZTL, with the first tier RAID layer and the second tier RAID layer to process the read request.

19. The system of claim 14 , wherein the machine executable code further causes to:

receive, by the second tier RAID layer, the read request and providing, by the second tier RAID layer, the LBA of the RZone to the ZTL.

20. The system of claim 19 , wherein the machine executable code further causes to:

provide, by the ZTL, the LBA of the PZone to the first tier RAID layer for retrieving the data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
From: GOLE, ABHIJEET PRAKASH; SEN, SOURAV; SMITH, MARK; TING, DANIEL WANG-WOEI
To: NETAPP, INC.
Reel/Frame 063945/0696 →
Continuity (3)
Continuation 17727511 · Apr 22, 2022
Continuation 17192606 · Mar 4, 2021
Related Publication 20230325279A1 · Oct 12, 2023
References Cited (183)
US 5664187A · Burkes et al. · 1997 [cited by applicant]
US 6101615A · Lyons · 2000 [cited by applicant]
US 8074021B1 · Miller et al. · 2011 [cited by applicant]
US 8463991B2 · Colgrove et al. · 2013 [cited by applicant]
US 8549222B1 · Kleiman et al. · 2013 [cited by applicant]
US 8775868B2 · Colgrove et al. · 2014 [cited by applicant]
US 8832373B2 · Colgrove et al. · 2014 [cited by applicant]
US 8850108B1 · Hayes et al. · 2014 [cited by applicant]
US 8862820B2 · Colgrove et al. · 2014 [cited by applicant]
US 9003144B1 · Hayes et al. · 2015 [cited by applicant]
US 9021297B1 · Hayes et al. · 2015 [cited by applicant]
US 9134917B2 · Kimmel et al. · 2015 [cited by applicant]
US 9201600B1 · Hayes et al. · 2015 [cited by applicant]
US 9218244B1 · Hayes et al. · 2015 [cited by applicant]
US 9229808B2 · Colgrove et al. · 2016 [cited by applicant]
US 9244769B2 · Colgrove et al. · 2016 [cited by applicant]
US 9367243B1 · Hayes et al. · 2016 [cited by applicant]
US 9483346B2 · Davis et al. · 2016 [cited by applicant]
US 9495255B2 · Davis et al. · 2016 [cited by applicant]
US 9525738B2 · Hayes et al. · 2016 [cited by applicant]
US 9563506B2 · Hayes et al. · 2017 [cited by applicant]
US 9588842B1 · Sanvido et al. · 2017 [cited by applicant]
US 9594633B2 · Colgrove et al. · 2017 [cited by applicant]
US 9672125B2 · Botes et al. · 2017 [cited by applicant]
US 9672905B1 · Gold et al. · 2017 [cited by applicant]
US 9798477B2 · Botes et al. · 2017 [cited by applicant]
US 9880899B2 · Davis et al. · 2018 [cited by applicant]
US 9934089B2 · Hayes et al. · 2018 [cited by applicant]
US 9967342B2 · Colgrove et al. · 2018 [cited by applicant]
US 10095701B1 · Faibish et al. · 2018 [cited by applicant]
US 10180879B1 · Colgrove et al. · 2019 [cited by applicant]
US 10248516B1 · Sanvido et al. · 2019 [cited by applicant]
US 10303547B2 · Hayes et al. · 2019 [cited by applicant]
US 10353777B2 · Bernat et al. · 2019 [cited by applicant]
US 10372506B2 · Baptist et al. · 2019 [cited by applicant]
US 10379763B2 · Colgrove et al. · 2019 [cited by applicant]
US 10387247B2 · Baptist et al. · 2019 [cited by applicant]
US 10387250B2 · Resch et al. · 2019 [cited by applicant]
US 10387256B2 · Dhuse et al. · 2019 [cited by applicant]
US 10402266B1 · Kirkpatrick et al. · 2019 [cited by applicant]
US 10417092B2 · Brennan et al. · 2019 [cited by applicant]
US 10432233B1 · Colgrove et al. · 2019 [cited by applicant]
US 10437673B2 · Baptist et al. · 2019 [cited by applicant]
US 10437678B2 · Resch · 2019 [cited by applicant]
US 10452289B1 · Colgrove et al. · 2019 [cited by applicant]
US 10467107B1 · Abrol et al. · 2019 [cited by applicant]
US 10489256B2 · Hayes et al. · 2019 [cited by applicant]
US 10503598B2 · Trichardt et al. · 2019 [cited by applicant]
US 10521120B1 · Miller et al. · 2019 [cited by applicant]
US 10530862B2 · Isely et al. · 2020 [cited by applicant]
US 10534661B2 · Resch · 2020 [cited by applicant]
US 10572176B2 · Davis et al. · 2020 [cited by applicant]
US 10579450B2 · Khadiwala et al. · 2020 [cited by applicant]
US 10606700B2 · Alnafoosi et al. · 2020 [cited by applicant]
US 10613974B2 · Dreier et al. · 2020 [cited by applicant]
US 10656871B2 · Peake · 2020 [cited by applicant]
US 10657000B2 · Resch · 2020 [cited by applicant]
US 10671480B2 · Hayes et al. · 2020 [cited by applicant]
US RE48222E · Colgrove et al. · 2020 [cited by applicant]
US 10776200B2 · McVay et al. · 2020 [cited by applicant]
US 10776204B2 · Resch et al. · 2020 [cited by applicant]
US 10810083B1 · Colgrove et al. · 2020 [cited by applicant]
US 10817375B2 · Colgrove et al. · 2020 [cited by applicant]
US 10838834B1 · Sanvido et al. · 2020 [cited by applicant]
US 10860424B1 · Dhuse et al. · 2020 [cited by applicant]
US 10891192B1 · Brennan et al. · 2021 [cited by applicant]
US RE48448E · Colgrove et al. · 2021 [cited by applicant]
US 11269778B1 · Kanteti · 2022 [cited by applicant]
US 11340987B1 · Gole · 2022 [cited by examiner]
US 11442646B2 · Agarwal · 2022 [cited by applicant]
US 11698836B2 · Gole · 2023 [cited by examiner]
US 11709734B2 · Kaynak et al. · 2023 [cited by applicant]
US 11789611B2 · Singh et al. · 2023 [cited by applicant]
US 11797377B2 · Gole · 2023 [cited by applicant]
US 11803329B2 · Doucette et al. · 2023 [cited by applicant]
US 11816359B2 · Gole et al. · 2023 [cited by applicant]
US 11861195B2 · Gorobets et al. · 2024 [cited by applicant]
US 11861231B2 · Gole et al. · 2024 [cited by applicant]
US 12242337B2 · Gole · 2025 [cited by applicant]
US 20060129873A1 · Hafner et al. · 2006 [cited by applicant]
US 20060242539A1 · Kang et al. · 2006 [cited by applicant]
US 20100332401A1 · Prahlad et al. · 2010 [cited by applicant]
US 20120084506A1 · Colgrove et al. · 2012 [cited by applicant]
US 20120151118A1 · Flynn et al. · 2012 [cited by applicant]
US 20120198152A1 · Terry · 2012 [cited by examiner]
US 20130151646A1 · Chidambaram et al. · 2013 [cited by applicant]
US 20140281227A1 · Herron et al. · 2014 [cited by applicant]
US 20150169244A1 · Asnaashari et al. · 2015 [cited by applicant]
US 20150199151A1 · Klemm et al. · 2015 [cited by applicant]
US 20160239397A1 · Thomas · 2016 [cited by examiner]
US 20160313943A1 · Hashimoto et al. · 2016 [cited by applicant]
US 20160342470A1 · Cudak et al. · 2016 [cited by applicant]
US 20170124345A1 · Christiansen et al. · 2017 [cited by applicant]
US 20170220264A1 · Sokolov et al. · 2017 [cited by applicant]
US 20190004964A1 · Kanno · 2019 [cited by applicant]
US 20190018788A1 · Yoshida et al. · 2019 [cited by applicant]
US 20190087111A1 · Lingarajappa · 2019 [cited by examiner]
US 20190114096A1 · Trika · 2019 [cited by examiner]
US 20190278663A1 · Mehta et al. · 2019 [cited by applicant]
US 20200089407A1 · Baca et al. · 2020 [cited by applicant]
US 20200394112A1 · Gupta et al. · 2020 [cited by applicant]
US 20200409589A1 · Bennett et al. · 2020 [cited by applicant]
US 20200409601A1 · Helmick et al. · 2020 [cited by applicant]
US 20210026717A1 · Krasner et al. · 2021 [cited by applicant]
US 20210081273A1 · Helmick · 2021 [cited by examiner]
US 20210081330A1 · Bennett et al. · 2021 [cited by applicant]
US 20210132827A1 · Helmick et al. · 2021 [cited by applicant]
US 20210132860A1 · Kou et al. · 2021 [cited by applicant]
US 20210303188A1 · Bazarsky et al. · 2021 [cited by applicant]
US 20210326048A1 · Karr · 2021 [cited by applicant]
US 20210334006A1 · Singh et al. · 2021 [cited by applicant]
US 20210334041A1 · Bennett · 2021 [cited by examiner]
US 20210397517A1 · Sharma · 2021 [cited by examiner]
US 20220027051A1 · Kant et al. · 2022 [cited by applicant]
US 20220137844A1 · Goss et al. · 2022 [cited by applicant]
US 20220197553A1 · Benhanokh et al. · 2022 [cited by applicant]
US 20220227051A1 · Regehly · 2022 [cited by applicant]
US 20220229596A1 · Jung · 2022 [cited by applicant]
US 20220244869A1 · Kanteti · 2022 [cited by applicant]
US 20220291838A1 · Gorobets et al. · 2022 [cited by applicant]
US 20230022758A1 · Sears et al. · 2023 [cited by applicant]
US 20230082636A1 · Zhu et al. · 2023 [cited by applicant]
US 20230333740A1 · Singh et al. · 2023 [cited by applicant]
US 20230350858A1 · Karr et al. · 2023 [cited by applicant]
US 20240028262A1 · Gole et al. · 2024 [cited by applicant]
US 20240045760A1 · Gole · 2024 [cited by applicant]
US 20250060911A1 · Gole et al. · 2025 [cited by applicant]
EP 1343087A2 · 2003 [cited by applicant]
A. A. McEwan and I. Mir, “An Embedded FTL for SSD RAID,” 2015 Euromicro Conference on Digital System Design, Madeira, Portugal, 2015, pp. 575-582, doi: 10.1109/DSD.2015.39. keywords: {Ash;Reliability;Arrays;Metadata;Har… [cited by examiner]
Dholakia A., et al., “A New Intra-disk Redundancy Scheme for High-Reliability RAID Storage Systems in the Presence of Unrecoverable Errors,” ACM Transactions on Storage, May 2008, vol. 4 (1), Article 1,42 pages. [cited by applicant]
European Search Report for Application No. EP22157793 mailed on Jul. 19, 2022, 16 pages. [cited by applicant]
International Preliminary Report on Patentability for Application No. PCT/US2021/028879, mailed on Oct. 25, 2022, 6 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/028879, mailed on Aug. 5, 2021, 8 pages. [cited by applicant]
International Search Report and Written Opinion for Patent Application No. PCT/US2022/049431, mailed on Mar. 3, 2023, 13 pages. [cited by applicant]
Mao B., et al., “HPDA: A Hybrid Parity-Based Disk Array for Enhanced Performance and reliability,” ACM Transactions on Storage (TOS), vol. 8(1), Publication [online), Feb. 2012 [retrieved Apr. 4, 2016]. Retrieved from t… [cited by applicant]
Mao B., et al., “HPDA: A Hybrid Parity-Based Disk Array for Enhanced Performance and Reliability,” Retrieved from Internet URL: https://www.researchgate.net/publication/224140602, May 2020; 13 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7 .3 Data Protection Online Backup and Recovery Guide,” Feb. 22, 2011, Part No. 210-05212_A0, 432 pages. [cited by applicant]
NetApp, Inc., “Data [email protected] Active/Active Configuration Guide,” Jun. 16, 2011, Part No. 210-05247_ A0, 214 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Archive and Compliance Management Guide,” Mar. 4, 2010, Part No. 210-04827_A0, 180 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Block Access Management Guide for iSCSI and FC,” Mar. 4, 2010, Part No. 210-04752_B0, 202 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Data Protection Tape Backup and Recovery Guide,” Jan. 15, 2010, Part No. 210-04762_A0, 142 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Documentation Roadmap,” Jul. 9, 2008, Part No. 210-04229_A0, 8 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 File Access and Protocols Management Guide,” Sep. 10, 2009, Part No. 210-04505_B0, 382 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 MultiStore Management Guide,” Mar. 4, 2010, Part No. 210-04855_A0, 144 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Network Management Guide,” Jan. 15, 2010, Part No. 210-04757_A0, 222 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Software Setup Guide,” Nov. 4, 2010, Part No. 210-05045_A0, 116 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Storage Efficiency Management Guide,” Mar. 4, 2010, Part No. 210-04856_A0, 76 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Storage Management Guide, ” May 3, 2012, Part No. 210-04766_B0, 356 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 System Administration Guide,” Nov. 11, 2010, Part No. 210-05043_A0, 350 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3 Upgrade Guide,” Nov. 11, 2010, Part No. 210-05042_A0, 200 pages. [cited by applicant]
NetApp, Inc., “Data ONTAP7.3.7 Release Notes,” May 31, 2012, Part No. 215-06916_A0, 182 pages. [cited by applicant]
NetApp, Inc., “Date ONTAP7.3 Core Commands Quick Reference,” Jun. 2008, Part No. 215-03893 A0, 1 page. [cited by applicant]
NetApp, Inc., “Notices,” 2010, Part No. 215-05705_A0, 46 pages. [cited by applicant]
NetApp, Inc., “V-Series Systems Hardware Maintenance Guide,” Jul. 2006, Part No. 210-00975_A0, 202 pages. [cited by applicant]
NetApp, Inc., “V-Series Systems Implementation Guide for Hitachi Storage,” Dec. 2009, Part No. 210-04694_A0, 66 pages. [cited by applicant]
NetApp, Inc., “V-Series Systems Installation Requirements and Reference Guide,” Oct. 2010, Part No. 210-05064_A0, 214 pages. [cited by applicant]
NetApp, Inc., “V-Series Systems MetroCluster Guide,” Jul. 2009, Part No. 210-04515_A0, 80 pages. [cited by applicant]
Non-Final Office Action mailed on Feb. 16, 2023 for U.S. Appl. No. 17/650,940, filed Feb. 14, 2022, 24 pages. [cited by applicant]
Non-Final Office Action mailed on Apr. 18, 2023 for U.S. Appl. No. 17/456,012, filed Nov. 22, 2021, 34 bages. [cited by applicant]
Non-Final Office Action mailed on Mar. 30, 2023 for U.S. Appl. No. 17/494,684, filed Oct. 5, 2021, 8 pages. [cited by applicant]
Non-Final Office Action mailed on May 15, 2023 for U.S. Appl. No. 17/650,936, filed Feb. 14, 2022, 19 pages. [cited by applicant]
Notice of Allowance mailed on Apr. 14, 2023 for U.S. Appl. No. 17/727,511, filed Apr. 22, 2022, 2 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 1, 2023 for U.S. Appl. No. 17/727,511, filed Apr. 22, 2022,2 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 16, 2023 for U.S. Appl. No. 16/858,019, filed Apr. 24, 2020, 10 pages. [cited by applicant]
Notice of Allowance mailed on Mar. 1, 2023 for U.S. Appl. No. 17/727,511, filed Apr. 22, 2022, 15 pages. [cited by applicant]
Notice of Allowance mailed on May 24, 2023 for U.S. Appl. No. 17/727,511, filed Apr. 22, 2022, 2 pages. [cited by applicant]
Notice of Allowance mailed on Dec. 20, 2022 for U.S. Appl. No. 16/858,019, filed Apr. 24, 2020, 11 pages. [cited by applicant]
Notice of Allowance mailed on Dec. 14, 2022 for U.S. Appl. No. 17/727,511, filed Apr. 22, 2022 , 12 pages. [cited by applicant]
NVM Express Base Specification, Mar. 9, 2020, Revision 1.4a; NVM Express Workgroup, 405 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 30, 2023 for U.S. Appl. No. 17/456,012, filed Nov. 22, 2021, 10 pages. [cited by applicant]
U.S. Appl. No. 17/727,511, filed Apr. 22, 2022. [cited by applicant]
U.S. Appl. No. 17/192,606, filed Mar. 4, 2021. [cited by applicant]
Non-Final Office Action mailed on May 22, 2024 for U.S. Appl. No. 18/377,441, filed Oct. 6, 2023, 10 pages. [cited by applicant]
Non-Final Office Action mailed on Sep. 19, 2024 for U.S. Appl. No. 18/343,149, filed Jun. 28, 2023, 16 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 13, 2024 for U.S. Appl. No. 18/377,441, filed Oct. 6, 2023, 05 pages. [cited by applicant]
Notice of Allowance mailed on Jul. 19, 2023 for U.S. Appl. No. 17/650,940, filed Feb. 14, 2022, 9 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 26, 2023 for U.S. Appl. No. 17/494,684, filed Oct. 5, 2021, 8 pages. [cited by applicant]
Notice of Allowance mailed on Jul. 5, 2024 for U.S. Appl. No. 18/474,988, filed Sep. 26, 2023, 02 pages. [cited by applicant]
Notice of Allowance mailed on Jun. 26, 2024 for U.S. Appl. No. 18/474,988, filed Sep. 26, 2023, 08 pages. [cited by applicant]
Corrected Notice of Allowance mailed on Feb. 4, 2025 for U.S. Appl. No. 18/343,149, filed Jun. 28, 2023, 15 pages. [cited by applicant]
Notice of Allowance mailed on Feb. 21, 2025 for U.S. Appl. No. 18/343,149, filed Jun. 28, 2023, 11 pages. [cited by applicant]
Notice of Allowance mailed on Jan. 31, 2025 for U.S. Appl. No. 18/377,441, filed Oct. 6, 2023, 02 pages. [cited by applicant]
Notice of Allowance mailed on Mar. 12, 2025 for U.S. Appl. No. 18/343,149, filed Jun. 28, 2023, 11 pages. [cited by applicant]