Storage system and data write method
US-2016011786-A1 · Jan 14, 2016 · US
US9898223B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9898223-B2 |
| Application number | US-201615082077-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 28, 2016 |
| Priority date | Mar 28, 2016 |
| Publication date | Feb 20, 2018 |
| Grant date | Feb 20, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An aggregation volume includes a plurality of sub-volumes. Advanced storage functions or operations are carried out at the aggregation volume granularity and therefore are carried out on all sub-volumes allocated in a single aggregation volume at the same time. Such organization results in a de facto consistency group for all sub-volumes associated with a single aggregation volume. To create a sub-volume the aggregation volume is logically divided into pre-defined size chunks. Each chuck can subsequently be allocated to the sub-volume. When a sub-volume is created it is allocated to a number of chunks according to a requested sub-volume size.
Opening claim text (preview).
What is claimed is: 1. A method for managing small storage volumes in a storage system comprising: creating an aggregation volume in a storage device within the storage system; partitioning the aggregation volume into a plurality of equally sized chunks; receiving a request at the storage system to create a sub-volume, the request comprising a requested sub-volume size; creating a sub-volume by allocating a number of chunks most similar to the requested sub-volume size as the sub-volume; storing a unique sub-volume meta-data data structure associated with each unique sub-volume within a sub-volume meta-data container within the storage system, each sub-volume meta-data data structure comprising: a storage system side sub-volume identifier which the storage system utilizes to identify the sub-volume, a host side sub-volume identifier which a host connected to the storage system utilizes to identify the sub-volume, and an aggregation volume pointer that locates the aggregation volume in which the sub-volume has been created; and storing a sub-volume segment data structure within a sub-volume segment container within the storage system, the sub-volume segment data structure comprising: a segment entry for each sub-volume within the aggregation volume, each segment entry comprising a size value and an offset value, wherein the size value indicates the number of chunks of the aggregation volume that were allocated to an associated sub-volume, and wherein the offset value indicates the number of chunks between the aggregation volume beginning to the associated sub-volume beginning. 2. The method of claim 1 , wherein a unique sub-volume segment data structure is associated with each unique aggregation volume. 3. The method of claim 2 , wherein the sub-volume meta-data data structure further comprises: a segment pointer that locates the segment entry of the sub-volume. 4. The method of claim 3 , further comprising: receiving a request at the storage system to decrease the sub-volume size; and decreasing the size value within the segment entry of the sub-volume. 5. The method of claim 3 , further comprising: receiving a request at the storage system to increase the sub-volume size; allocating an available additional chunk to the sub-volume. 6. The method of claim 5 , wherein the available additional chunk allocated to the sub-volume and the allocated chunks to the sub-volume are located in the same aggregation volume. 7. A computer program product for managing small storage volumes in a storage system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable by the storage system to cause the storage system to: create an aggregation volume in a storage device within the storage system; partition the aggregation volume into a plurality of equally sized chunks; receive a request to create a sub-volume, the request comprising a requested sub-volume size; create a sub-volume by allocating a number of chunks most similar to the requested sub-volume size as the sub-volume; store a unique sub-volume meta-data data structure associated with each unique sub-volume within a sub-volume meta-data container within the storage system, each sub-volume meta-data data structure comprising: a storage system side sub-volume identifier which the storage system utilizes to identify the sub-volume, a host side sub-volume identifier which a host connected to the storage system utilizes to identify the sub-volume, and an aggregation volume pointer that locates the aggregation volume in which the sub-volume has been created; and store a sub-volume segment data structure within a sub-volume segment container within the storage system, the sub-volume segment data structure comprising: a segment entry for each sub-volume within the aggregation volume, each segment entry comprising a size value and an offset value, wherein the size value indicates the number of chunks of the aggregation volume that were allocated to an associated sub-volume, and wherein the offset value indicates the number of chunks between the aggregation volume beginning to the associated sub-volume beginning. 8. The computer program product of claim 7 , wherein a unique sub-volume segment data structure is associated with each unique aggregation volume. 9. The computer program product of claim 8 , wherein the sub-volume meta-data data structure further comprises: a segment pointer that locates the segment entry of the sub-volume. 10. The computer program product of claim 9 , wherein the program instructions further cause the storage system to: receive a request to decrease the sub-volume size; and decrease the size value within the segment entry of the sub-volume. 11. The method of claim 9 , wherein the program instructions further cause the storage system to: receive a request at the storage system to increase the sub-volume size; allocate an available additional chunk within the aggregation volume to the sub-volume. 12. A storage system comprising: a plurality of storage devices and a storage controller between a computer and the plurality of storage devices, the storage controller managing storage operations of data to and from the plurality of storage devices, wherein the storage controller manages small storage volumes in the storage system, the storage controller comprising program instructions which are readable by the storage system to cause the storage system to: create an aggregation volume in a storage device within the storage system; partition the aggregation volume into a plurality of equally sized chunks; receive a request to create a sub-volume, the request comprising a requested sub-volume size; create a sub-volume by allocating a number of chunks most similar to the requested sub-volume size to the sub-volume; store a unique sub-volume meta-data data structure associated with each unique sub-volume within a sub-volume meta-data container within the storage system, each sub-volume meta-data data structure comprising: a storage system side sub-volume identifier which the storage system utilizes to identify the sub-volume, a host side sub-volume identifier which a host connected to the storage system utilizes to identify the sub-volume, and an aggregation volume pointer that locates the aggregation volume in which the sub-volume has been created; and store a sub-volume segment data structure within a sub-volume segment container within the storage system, the sub-volume segment data structure comprising: a segment entry for each sub-volume within the aggregation volume, each segment entry comprising a size value and an offset value, wherein the size value indicates the number of chunks of the aggregation volume that were allocated to an associated sub-volume, and wherein the offset value indicates the number of chunks between the aggregation volume beginning to the associated sub-volume beginning. 13. The storage system of claim 12 , wherein a unique sub-volume segment data structure is associated with each unique aggregation volume. 14. The storage system of claim 13 , wherein the sub-volume meta-data data structure further comprises: a segment pointer that locates the segment entry of the sub-volume. 15. The storage system of claim 14 , wherein the program instructions further cause the storage system to: receive a request to decrease the sub-volume size; and decrease the size value within the segment entry of the sub-volume. 16. The storage system of claim 14 , wherein the program instructions further c
in relation to data integrity, e.g. data losses, bit errors · CPC title
Point-in-time backing up or restoration of persistent data · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
Saving storage space on storage systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.