IP Library › Granted Patent US 12,346,561
Granted Patent B2
US 12,346,561 · App. 18/343,149 · Granted Jul 1, 2025

Methods for handling input-output operations in zoned storage systems and devices thereof

Inventors: Rohit Shankar Singh (Cary, NC); Douglas P. Doucette (San Diego, CA); Abhijeet Prakash Gole (Cupertino, CA); Prathamesh Deshpande (Folsom, CA)
Assignee: NetApp, Inc.
G06F3/0608G06F3/0631G06F3/0679
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,346,561
App. No.
18/343,149
Granted
Jul 1, 2025
Kind
B2
Abstract

The disclosed technology relates to managing input-output operation in a zoned storage system includes identifying a first physical zone and a second physical zone within a zoned namespace solid-state drive associated with a logical zone to perform a received write operation. Data to be written in the received write operation is temporarily staged in a zone random write area associated with the identified second physical zone. Based a storage threshold of the zone random write area, a determination is made regarding when to transfer temporarily staged data to be written area to the identified second physical zone. When the storage threshold of the zone random write area determined to have exceeded, temporarily staged data to be written is transferred to the identified second physical zone.

Claims (28)

1. A method implemented by one or more processors, the method comprising:

identifying a first physical zone and a second physical zone that are within a zoned namespace solid-state drive and mapped in a stored mapping data structure to a logical zone extracted from a read request;

determining whether the read request is referenced to a first location within the second physical zone that is before an indicator that indicates a current position within the second physical zone at which destaged data is to be committed when destaged from a zone random write area;

determining whether the read request is referenced to a second location that is after the zone random write area, when the read request is not referenced to the first location and, when the read request is not referenced to the second location, whether read data responsive to the read request has been written to the zone random write area; and

servicing the read request from the second physical zone when the read request is referenced to the first location.

2. The method as set forth in claim 1 , further comprising servicing the read request from the first physical zone when the read request is referenced to the second location.

3. The method as set forth in claim 1 , further comprising servicing the read request from the first physical zone when the read data has not been written to the zone random write area.

4. A non-transitory machine-readable medium having stored thereon instructions comprising machine executable code that, when executed by at least one machine, causes the machine to:

identify a first physical zone and a second physical zone that are within a zoned namespace solid-state drive and mapped in a stored mapping data structure to a logical zone extracted from a read request;

determine whether the read request is referenced to a first location within the second physical zone that is before an indicator that indicates a current position within the second physical zone at which destaged data is to be committed when destaged from a zone random write area;

service the read request from the second physical zone when the read request is referenced to the first location;

determine whether the read request is referenced to a second location that is after the zone random write area, when the read request is not referenced to the first location and, when the read request is not referenced to the second location, whether read data responsive to the read request has been written to the zone random write area; and

service the read request from the first physical zone when the read data has not been written to the zone random write area.

5. The non-transitory machine-readable medium as set forth in claim 4 , wherein the machine executable code, when executed by the at least one machine, further causes the machine to service the read request from the first physical zone when the read request is referenced to the second location that is after the zone random write area.

6. The non-transitory machine-readable medium as set forth in claim 4 , wherein the machine executable code, when executed by the at least one machine, further causes the machine to service the read request from the second physical zone when the read data has been written to the zone random write area.

7. A computing device, comprising:

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

one or more processors coupled to the memory and configured to execute the machine executable code to cause the one or more processors to:

identify a first physical zone and a second physical zone that are within a zoned namespace solid-state drive and mapped in a stored mapping data structure to a logical zone extracted from a read request, wherein the first physical zone comprises a copy of an older version of data and the second physical zone comprises another copy of a newer version of the data;

determine whether the read request is referenced to a first location within the second physical zone that is before an indicator that indicates a current position within the second physical zone at which destaged data is to be committed when destaged from a zone random write area; and

service a write operation in parallel with servicing the read request from the second physical zone when the read request is referenced to the first location.

8. The computing device as set forth in claim 7 , wherein the one or more processors are further configured to execute the machine executable code to further cause the one or more processors to determine whether the read request is referenced to a second location that is after the zone random write area, when the read request is not referenced to the first location.

9. The computing device as set forth in claim 8 , wherein the one or more processors are further configured to execute the machine executable code to further cause the one or more processors to service the read request from the first physical zone when the read request is referenced to the second location.

10. The computing device as set forth in claim 8 , wherein the one or more processors are further configured to execute the machine executable code to further cause the one or more processors to determine whether read data responsive to the read request has been written to the zone random write area when the read request is not referenced to the second location.

11. The computing device as set forth in claim 10 , wherein the one or more processors are further configured to execute the machine executable code to further cause the one or more processors to service the read request from the second physical zone when the read data has been written to the zone random write area.

12. The computing device as set forth in claim 10 , wherein the one or more processors are further configured to execute the machine executable code to further cause the one or more processors to service the read request from the first physical zone when the read data has not been written to the zone random write area.

13. The computing device as set forth in claim 10 , wherein the one or more processors are further configured to execute the machine executable code to further cause the one or more processors to consult a stored zone random write area data structure to determine whether the read data has been written to the zone random write area.

14. The method as set forth in claim 1 , further comprising servicing the read request from the second physical zone when the read data has been written to the zone random write area.

Continuity (2)
Continuation 16858019 · Apr 24, 2020
Related Publication 20230333740A1 · Oct 19, 2023
References Cited (186)
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 et al. · 2022 [cited by applicant]
US 11442646B2 · Agarwal · 2022 [cited by applicant]
US 11698836B2 · Gole et al. · 2023 [cited by applicant]
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 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 et al. · 2012 [cited by applicant]
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 et al. · 2016 [cited by applicant]
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 applicant]
US 20190114096A1 · Trika · 2019 [cited by applicant]
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 et al. · 2021 [cited by applicant]
US 20210081330A1 · Bennett · 2021 [cited by examiner]
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 examiner]
US 20210334006A1 · Singh et al. · 2021 [cited by applicant]
US 20210334041A1 · Bennett et al. · 2021 [cited by applicant]
US 20210397517A1 · Sharma et al. · 2021 [cited by applicant]
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 20230107466A1 · Gole · 2023 [cited by applicant]
US 20230161500A1 · Doucette et al. · 2023 [cited by applicant]
US 20230195382A1 · Gole et al. · 2023 [cited by applicant]
US 20230195383A1 · Gole et al. · 2023 [cited by applicant]
US 20230325279A1 · Gole 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]
Notice of Allowance mailed Aug. 16, 2023 for U.S. Appl. No. 17/494,684, filed Oct. 5, 2021, 02 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]
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]
Notice of Allowance mailed on Oct. 10, 2023 for U.S. Appl. No. 17/650,940, filed Feb. 14, 2022, 2 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 13, 2023 for U.S. Appl. No. 16/858,019, filed Apr. 24, 2020, 03 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 20, 2023 for U.S. Appl. No. 17/456,012, filed Nov. 22, 2021, 02 bages. [cited by applicant]
Notice of Allowance mailed on Sep. 20, 2023 for U.S. Appl. No. 17/494,584, filed Oct. 5, 2021, 02 pages. [cited by applicant]
Notice of Allowance mailed on Sep. 20, 2023 for U.S. Appl. No. 17/650,936, filed Feb. 14, 2022, 02 pages. [cited by applicant]
Notice of Allowance mailed on Aug. 9, 2023 for U.S. Appl. No. 17/650,936, filed Feb. 14, 2022, 05 bages. [cited by applicant]
Notice of Allowance mailed on Aug. 3, 2023 for U.S. Appl. No. 17/494,684, filed Oct. 5, 2021, 02 pages. [cited by applicant]
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 Nov. 3, 2022, 7 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/US2021/028879, dated Aug. 5, 2021, 9 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 for Co-pending U.S. Appl. No. 17/650,940, dated Feb. 16, 2023, 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 pages. [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 for Co-pending U.S. Appl. No. 17/192,606, dated Jan. 28, 2022. [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 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 Jul. 20, 2023 for U.S. Appl. No. 16/858,019, filed Apr. 24, 2020, 3 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 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 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 on co-pending U.S. Appl. No. 16/858,019, dated Dec. 20, 2022, 11 pages. [cited by applicant]
Notice of Allowance on co-pending U.S. Appl. No. 17/727,511, dated Dec. 14, 2022, 12 pages. [cited by applicant]
NVM Express Base Specification, Mar. 9, 2020, Revision 1.4a; NVM Express Workgroup, 405 pages. [cited by applicant]
McEwan A.A., et al., “An Embedded FTL for SSD RAID,” 2015 Euromicro Conference on Digital System Design, 2015, pp. 575-582. [cited by applicant]