Optimizing storage allocation in a storage system
First Claim
1. A method comprising:
- performing one or more write operations to a first portion of a first logical grouping of data;
in response to performing one or more write operations to the first portion, recording that a second portion of a second logical grouping of data no longer underlies the first portion of the first logical grouping of data;
determining whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data; and
allocating storage locations associated with the second portion of the second logical grouping of data based on the determination of whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for utilizing unmapped and unknown states in a storage system. When a first portion of a first medium is determined to be unreachable from any other mediums, the first portion of the first medium may be put into an unmapped state, and its data may be discarded and the corresponding storage locations may be freed. During replication of the first medium to a replica storage array, the state of the first portion of the first medium may be translated from the unmapped state into an unknown state on the replica storage array. If another storage array has the data of the first portion of the first medium, this data may be used to overwrite the first portion of the first medium on the replica storage array, converting the first portion of the first medium from the unknown state into the mapped state.
127 Citations
20 Claims
-
1. A method comprising:
-
performing one or more write operations to a first portion of a first logical grouping of data; in response to performing one or more write operations to the first portion, recording that a second portion of a second logical grouping of data no longer underlies the first portion of the first logical grouping of data; determining whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data; and allocating storage locations associated with the second portion of the second logical grouping of data based on the determination of whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus comprising a computer processor and a computer readable storage medium, wherein the computer readable storage medium includes computer program instructions that when executed by the computer processor cause the apparatus to carry out the steps of:
-
performing one or more write operations to a first portion of a first logical grouping of data; in response to performing one or more write operations to the first portion, recording that a second portion of a second logical grouping of data no longer underlies the first portion of the first logical grouping of data; determining whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data; and allocating storage locations associated with the second portion of the second logical grouping of data based on the determination of whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable storage medium, the computer readable storage medium including computer program instructions that when executed by a computer cause the computer to carry out the steps of:
-
performing one or more write operations to a first portion of a first logical grouping of data; in response to performing one or more write operations to the first portion, recording that a second portion of a second logical grouping of data no longer underlies the first portion of the first logical grouping of data; determining whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data; and allocating storage locations associated with the second portion of the second logical grouping of data based on the determination of whether any other logical groupings of data are mapped to the second portion of the second logical grouping of data. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification