# US 2024/0201884 A1 · Methods for handling storage devices with different zone sizes and devices thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2024/0201884 A1
- Document ID: US20240201884A1
- Status: Published application
- Kind: A1
- Application number: 18/588,112
- Filed: 2024-02-27
- Published: 2024-06-20
- Earliest claimed: 2020-04-24
- Assignees: NetApp, Inc.
- Applicants: NetApp, Inc.
- Inventors: Rohit Shankar SINGH; Douglas P. Doucette; Abhijeet Prakash Gole; Sushilkumar Gangadharan
- Web page: https://patentgrep.com/patent/US20240201884A1

## CPC

- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/0659: {Command handling arrangements, e.g. command buffers, queues, command scheduling}
- G06F 3/0685: {Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The disclosed technology relates determining a first subset of a plurality drives having a first zone size and a second subset of the plurality of drives having a second zone size different from the first zone size, within a redundant array of independent disks (RAID) group. A prevailing zone size between the first zone size and the second zone size is determined. One or more logical zones within the determined first subset of the plurality of drives and the determined second subset of the plurality of drives for a received input-output operation is reserved based on the determined prevailing zone size. The received input-output operation is completed within the reserved one or more logical zones within the determined first subset of the plurality of drives and the determined second subset of the plurality of drives

## Claims

### Claim 1

A method implemented by one or more computing devices and comprising:
selecting a prevailing zone size for a redundant array of independent disks (RAID) group comprising a plurality of zoned namespace (ZNS) drives;
in response to an input-output operation, reserving one or more of:
a plurality of logical zones within each ZNS drive of a first subset of the ZNS drives, when a first zone size of each ZNS drive of the first subset of the ZNS drives is smaller than the prevailing zone size;
a logical zone in each ZNS drive of a second subset of the ZNS drives, when a second zone size of each ZNS drive of the second subset of the ZNS drives is larger than the prevailing zone size; and
a logical zone in each ZNS drive of the remaining ZNS drives not in the first subset of the ZNS drives or the second subset of the ZNS drives; and
completing the input-output operation by storing data associated with the input-output operation across one or more of the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives, the logical zone within each ZNS drive of the second subset of the ZNS drives, and the logical zone within each ZNS drive not in the first subset or the second subset.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives are collectively at least as large as the prevailing zone size.

### Claim 3 (depends on 1)

The method of claim 1, wherein at least one of the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives maps to a physical zone that straddles multiple data block ranges that each correspond to the prevailing zone size.

### Claim 4 (depends on 1)

The method of claim 1, wherein none of the ZNS drives is in the first subset of the ZNS drives or none of the ZNS drives is in the second subset of the ZNS drives.

### Claim 5 (depends on 1)

The method of claim 1, further comprising copying one or more physical data blocks from a previous version of the logical zone in one or more ZNS drives of the second subset of the ZNS drives to thereby fill in a remaining portion of the logical zone.

### Claim 6 (depends on 1)

The method of claim 1, wherein each of the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives corresponds to a first physical zone that comprises a smaller number of physical data blocks than a second physical zone associated with the logical zone within each ZNS drive of the second subset of the ZNS drives or a third physical zone associated with the logical zone within each ZNS drive not in the first subset of the ZNS drives or the second subset of the ZNS drives.

### Claim 7 (depends on 1)

The method as set forth in claim 1, wherein the prevailing zone size comprises a most common zone size among the plurality of ZNS drives within the RAID group.

### Claim 8

A non-transitory machine-readable medium having stored thereon instructions comprising machine executable code that, when executed by a machine, causes the machine to:
select a prevailing zone size for a redundant array of independent disks (RAID) group comprising zoned namespace (ZNS) drives;
in response to an input-output operation, reserve:
1) a plurality of logical zones within each ZNS drive of a first subset of the ZNS drives, wherein a first zone size of each ZNS drive of the first subset of the ZNS drives is smaller than the prevailing zone size and a logical zone within each ZNS drive not in the first subset of the ZNS drives, wherein a third zone size of each ZNS drive not in the first subset of the ZNS drives is equal to the prevailing zone size; or
2) a logical zone within each ZNS drive of a second subset of the ZNS drives, wherein a second zone size of each ZNS drive of the second subset of the ZNS drive is equal to or larger than the prevailing zone size and a logical zone within each ZNS drive not in the second subset of the ZNS drives, wherein a fourth zone size of each ZNS drive not in the second subset of the ZNS drives is equal to the prevailing zone size; and
complete the input-output operation by 1) storing data associated with the input-output operation across the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives and the logical zone within each ZNS drive not in the first subset of the ZNS drives or 2) the logical zone within each ZNS drive of the second subset of the ZNS drives and the logical zone within each ZNS drive not in the second subset of the ZNS drives.

### Claim 9 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives are collectively at least as large as the prevailing zone size.

### Claim 10 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein at least one of the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives maps to a physical zone that straddles multiple data block ranges that each correspond to the prevailing zone size.

### Claim 11 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the machine executable code, when executed by the machine, further causes the machine to copy one or more physical data blocks from a previous version of the logical zone in one or more ZNS drives of the second subset of the ZNS drives to thereby fill in a remaining portion of the logical zone.

### Claim 12 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein each of the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives corresponds to a first physical zone that comprises a smaller number of physical data blocks than a third physical zone associated with the logical zone within each ZNS drive of the second subset of the ZNS drives, where the third zone size is equal to the prevailing zone size and wherein a second physical zone associated with the logical zone within each ZNS drive of the second subset of the ZNS drives is larger than a fourth physical zone size associated with the logical zone within each ZNS drive of the first subset of the ZNS drives where the fourth zone size is equal to the prevailing zone size.

### Claim 13 (depends on 8)

The non-transitory machine-readable medium of claim 8, wherein the prevailing zone size comprises a most common zone size among the ZNS drives within the RAID group.

### Claim 14

A computing device, comprising one or more processors coupled to memory and configured to execute instructions stored in the memory to cause the computing device to:
select a prevailing zone size for a redundant array of independent disks (RAID) group comprising zoned namespace (ZNS) drives;
in response to an input-output operation, reserve:
a plurality of logical zones within each ZNS drive of a first subset of the ZNS drives, wherein a first zone size of each ZNS drive of the first subset of the ZNS drives is smaller than the prevailing zone size;
a logical zone in each ZNS drive of a second subset of the ZNS drives, wherein a second zone size of each ZNS drive of the second subset of the ZNS drive is larger than the prevailing zone size; and
a logical zone in each ZNS drive of the remaining ZNS drives not in the first subset of the ZNS drives or the second subset of the ZNS drives; and
complete the input-output operation by striping data associated with the input-output operation across the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives, the logical zone within each ZNS drive of the second subset of the ZNS drives, and the logical zone within each ZNS drive not in the first subset of the ZNS drives or the second subset of the ZNS drives.

### Claim 15 (depends on 14)

The computing device of claim 14, wherein the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives are collectively at least as large as the prevailing zone size.

### Claim 16 (depends on 14)

The computing device of claim 14, wherein at least one of the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives maps to a physical zone that straddles multiple data block ranges that each correspond to the prevailing zone size.

### Claim 17 (depends on 14)

The computing device of claim 14, wherein none of the ZNS drives is in the first subset of the ZNS drives or none of the ZNS drives is in the second subset of the ZNS drives.

### Claim 18 (depends on 14)

The computing device of claim 14, wherein the one or more processors are further configured to execute the instructions to further cause the computing device to copy one or more physical data blocks from a previous version of the logical zone in one or more ZNS drives of the second subset of the ZNS drives to thereby fill in a remaining portion of the logical zone.

### Claim 19 (depends on 14)

The computing device of claim 14, wherein each of the plurality of logical zones within each ZNS drive of the first subset of the ZNS drives corresponds to a first physical zone that comprises a smaller number of physical data blocks than a second physical zone associated with the logical zone within each ZNS drive of the second subset of the ZNS drives or a third physical zone associated with the logical zone within each ZNS drive not in the first subset of the ZNS drives or the second subset of the ZNS drives.

### Claim 20 (depends on 14)

The computing device of claim 14, wherein the prevailing zone size comprises a most common zone size among the ZNS drives within the RAID group.
