Optimized Virtual Storage for Data Efficiency

Introduction

Imagine a storage system that adapts to data patterns, enhancing the efficiency of virtual storage allocation and providing a new level of flexibility. This patented system offers a streamlined approach to managing virtual volumes, ensuring that specific data patterns receive the exact amount of storage they need—no more, no less. With businesses and technology providers managing vast volumes of virtualized data, this innovation is built to handle complex demands with ease and intelligence.

Addressing a Growing Challenge: Managing Virtual Storage Efficiency

As organizations rely increasingly on virtualized environments for data storage, the complexity of managing storage assignments continues to rise. Virtual volumes must accommodate diverse data patterns while maximizing storage space, but traditional systems often lack the nuanced control needed for efficient allocation. Without the capability to dynamically adjust storage based on data patterns, organizations face underutilized space, excessive costs, and limitations in flexibility. This technology offers a solution by introducing a dynamic, pattern-specific control over storage assignments, allowing users to maximize storage efficiency while optimizing data access.

Advanced Control for Pattern-Based Data Storage

This storage system enables real-time control over the assignment of storage areas to virtual volumes based on specific data patterns. By recognizing and adapting to these patterns, the system ensures that each virtual volume receives the optimal storage allocation required for its data type. Whether handling repetitive, high-frequency data or unique, low-frequency files, this technology adjusts storage space according to actual data needs. This flexibility reduces waste and enhances storage availability for critical operations, offering a smart, automated solution to data management.

Key Benefits for IT and Data-Driven Industries

For cloud computing and enterprise IT sectors, this storage assignment system allows for scalable and efficient data management, cutting down on unnecessary storage costs and resource usage. Virtualization providers benefit from a more adaptable solution that enhances their infrastructure’s capacity and reliability. Data-driven organizations, especially those in finance, healthcare, and technology, gain a powerful tool to streamline their storage allocation processes, boosting efficiency and operational speed. The technology is also highly compatible with existing storage platforms, making integration easy for businesses seeking immediate value.

Invest in Smarter, More Efficient Storage

Licensing this virtual storage assignment system allows your organization to advance its data infrastructure with intelligence and flexibility. By implementing a system that automatically adjusts storage based on specific data needs, you can reduce costs, improve operational agility, and enhance data management precision. This technology is a valuable asset for organizations committed to high-performance, cost-effective storage solutions, and it stands as a forward-thinking approach to managing the demands of modern data storage.

A storage system comprises a storage medium including a plurality of physical storage areas. The storage system controls a host computer to recognize a logical volume having a plurality of virtual storage areas, reads the data from the physical storage area assigned to the virtual storage area of the logical volume, determines whether or not the read data includes only the specific pattern data, and cancels the assignment of the physical storage area to the virtual storage area if the read data includes only the specific pattern data.

What is claimed is:

1. A storage system being coupled to a computer, the storage system comprising:

a plurality of storage devices configuring a plurality of logical volumes which make up a pool; and
a controller configured to:
manage a plurality of storage regions provided by the pool, each logical volume of the pool including storage regions of the plurality of storage regions;
provide a plurality of virtual volumes, each of which is associated with the pool and has a plurality of virtual storage regions, a storage region of the plurality of storage regions being allocated to a virtual storage region of the plurality of virtual storage regions in accordance with a write command from the computer, and
send a predetermined data pattern to the computer when the controller receives a read request from the computer to a virtual storage region to which a storage region is not allocated,

wherein, upon receipt of a first command specifying a first virtual volume of the plurality of virtual volumes, the controller is configured to:

examine specific storage regions in the pool, which are storage regions allocated to the first virtual volume, of the plurality of storage regions, to determine whether data stored in the specific storage regions matches the predetermined data pattern; and
if data stored in a first storage region allocated to a first virtual storage region of the first virtual volume matches the predetermined data pattern, cancel the allocation of the first storage region to the first virtual storage region,
wherein, upon receipt of the first command specifying the first virtual volume, the controller is configured to not examine storage regions in the pool, which are allocated to a second virtual volume of the plurality of virtual volumes which is different from the first virtual volume, of the plurality of storage regions.

2. A storage system according to claim 1,

wherein the predetermined data pattern is a zero data pattern.

3. A storage system according to claim 1,

wherein the controller is configured to further provide a physical volume by the plurality of storage devices, and
wherein the controller is configured to examine each storage region allocated to a virtual storage region of the first virtual volume to determine if data matches the predetermined data pattern after data of the physical volume is copied to the first virtual volume.
4. A storage system according to claim 1, wherein the controller is configured to examine each storage region allocated to a virtual storage region of the first virtual volume to determine if data matches the predetermined data pattern when the first virtual volume is designated by a user.
5. A storage system according to claim 1, wherein the storage devices are hard disk drives.

6. A method performed by a controller in a storage system that is coupled to a computer and includes a plurality of storage devices configuring a plurality of logical volumes which make up a pool, the method comprising the steps of:

managing a plurality of storage regions provided by the pool, each logical volume of the pool including storage regions of the plurality of storage regions;
providing a plurality of virtual volumes, each of which is associated with the pool and has a plurality of virtual storage regions, a storage region of the plurality of storage regions being allocated to a virtual storage region of the plurality of virtual storage regions for storing data of a write command from the computer;
sending a predetermined data pattern to the computer when the controller receives a read request from the computer to a virtual storage region to which a storage region is not allocated;
receiving a first command specifying a first virtual volume of the plurality of virtual volumes;
examining specific storage regions in the pool, which are storage regions allocated to the first virtual volume, of the plurality of storage regions, to determine whether data stored in the specific storage regions matches the predetermined data pattern;
if data stored in a first storage region allocated to a first virtual storage region of the first virtual volume matches the predetermined data pattern, de-allocating the allocation of the first storage region to the first virtual storage region; and
upon receipt of the first command specifying the first virtual volume, not examining storage regions in the pool, which are allocated to a second virtual volume of the plurality of virtual volumes, of the plurality of storage regions.

7. A method according to claim 6,

wherein the predetermined data pattern is a zero data pattern.

8. A method according to claim 6, further comprising the step of:

providing a physical volume by the plurality of storage devices,
wherein the step of examining specific storage regions allocated to a virtual storage region of the first virtual volume to determine whether or not data matches the predetermined data pattern is performed after data of the physical volume is copied to the first virtual volume.

9. A method according to claim 6, further comprising the step of:

examining each storage region allocated to a virtual storage region of specified virtual volume designated by a user to determine whether or not data matches the predetermined data pattern is performed when the first virtual volume is designated by a user.
10. A method according to claim 6, wherein the storage devices are hard disk drives.

11. A non-transitory computer readable storage medium contained in a storage system that is coupled to a computer and includes a plurality of storage devices configuring a plurality of logical volumes which make up a pool, the computer readable storage medium comprising:

code for managing and a plurality of storage regions provided by the pool, each logical volume of the pool including storage regions of the plurality of storage regions;
code for providing a plurality of virtual volumes, each of which is associated with the pool and has a plurality of virtual storage regions to which a storage region of the plurality of storage regions is allocated in accordance with a write command from the computer;
code for sending a predetermined data pattern to the computer when the controller receives a read request from the computer to a virtual storage region to which a storage region is not allocated;
code for receiving a first command specifying a first virtual volume of the plurality of virtual volumes;
code for examining specific storage regions in the pool, which are storage regions allocated to the first virtual volume, of the plurality of storage regions, to determine whether data stored in the specific storage regions matches the predetermined data pattern; and
code for canceling, if data stored in a first storage region allocated to a first virtual storage region of the first specified virtual volume matches the predetermined data pattern, the allocation of the first storage region to the first virtual storage region,
wherein, upon receipt of the first command specifying the first specified virtual volume, storage regions in the pool, which are allocated to a second virtual volume of the plurality of virtual volumes, of the plurality of storage regions, are not examined.

12. A non-transitory computer readable storage medium according to claim 11,

wherein the predetermined data pattern is a zero data pattern.

13. A non-transitory computer readable storage medium according to claim 11,

wherein a physical volume is provided by the plurality of storage devices, and
wherein the non-transitory computer readable storage medium further comprises code for examining each storage region allocated to a virtual storage region of the first virtual volume to determine if data matches the predetermined data pattern after data of the physical volume is copied to the first virtual volume.
14. A non-transitory computer readable medium according to claim 11, further comprising code for examining each storage region allocated to a virtual storage region of the first virtual volume to determine if data matches the predetermined data pattern when the first virtual volume is designated by a user.
15. A non-transitory computer readable storage medium according to claim 11, wherein the storage devices are hard disk drives.

16. A storage system being coupled to a computer, the storage system comprising:

a plurality of storage devices configuring a plurality of logical volumes which make up a pool, and

a controller configured to:

manage a plurality of storage regions provided by the pool, each logical volume of the pool including storage regions of the plurality of storage regions;
provide a plurality of virtual volumes, each of which is associated with the pool and has a plurality of virtual storage regions to which a storage region of the plurality of storage regions is allocated in accordance with a write command from the computer; and
send a predetermined data pattern to the computer when the controller receives a read request from the computer to a virtual storage region to which a storage region is not allocated,

wherein, upon receipt of a first command specifying a first virtual volume of the plurality of virtual volumes, the controller is configured to:

examine first storage regions in the pool, which are storage regions allocated to the first virtual volume, of the plurality of storage regions, to determine whether data stored in the first storage regions matches the predetermined data pattern; and
if data stored in a first storage region allocated to a first virtual storage region of the first virtual volume matches the predetermined data pattern, de-allocate the allocation of the first storage region to the first virtual storage region,
wherein, upon receipt of the first command specifying the first virtual volume, the controller is configured to not examine second storage regions, which are allocated to a second virtual volume of the plurality of virtual volumes, of the plurality of storage regions.
17. A storage system according to claim 16, wherein the controller is configured to examine each first storage region allocated to a virtual storage region of the first virtual volume to determine whether or not data matches the predetermined data pattern when the first virtual volume is designated by a user.

18. A storage system according to claim 16, wherein the controller is configured to further provide a physical volume with the plurality of storage devices, and

wherein the controller is configured to examine each first storage region allocated to a virtual storage region of the first virtual volume to determine whether or not data matches the predetermined data pattern after data of the physical volume is copied to the first virtual volume.
19. A storage system according to claim 16, wherein the predetermined data pattern is a zero data pattern.
20. A storage system according to claim 16, wherein the storage devices are hard disk drives.

21. A storage system being coupled to a computer, the storage system comprising:

a plurality of storage devices configuring a plurality of logical volumes which make up a pool, and

a controller configured to:

manage a plurality of storage regions provided by the pool, each logical volume of the pool including storage regions of the plurality of storage regions;
provide a plurality of virtual volumes, each of which is associated with the pool and has a plurality of virtual storage regions, a storage region of the plurality of storage regions being allocated to a virtual storage region of the plurality of virtual storage regions for storing data of a write command from the computer;
send a predetermined data pattern to the computer when the controller receives a read request from the computer to a virtual storage region to which a storage region is not allocated,

wherein, upon receipt of a first command specifying a virtual volume of the plurality of virtual volumes, the controller is configured to:

examine specific storage regions in the pool, which are storage regions allocated to the specified virtual volume, of the plurality of storage regions, to determine whether data stored in the specific storage regions matches the predetermined data pattern; and
if data stored in a certain storage region allocated to a certain virtual storage region of the specified virtual volume matches the predetermined data pattern, cancel the allocation of the certain storage region to the certain virtual storage region,
wherein, upon receipt of the first command specifying the specified virtual volume, the controller is configured to not examine storage regions in the pool, which are not allocated to the specified virtual volume, of the plurality of storage regions.
22. A storage system according to claim 21, wherein the controller is configured to examine each storage region allocated to a virtual storage region of the specified virtual volume to determine whether or not data matches the predetermined data pattern when the specified virtual volume is designated by a user.

23. A storage system according to claim 21,

wherein the controller is configured to further provide a physical volume with the plurality of storage devices, and
wherein the controller is configured to examine each storage region allocated to a virtual storage region of the specified virtual volume to determine whether or not data matches the predetermined data pattern after data of the physical volume is copied to the specified virtual volume.
24. A storage system according to claim 21, wherein the predetermined data pattern is a zero data pattern.
25. A storage system according to claim 21, wherein the storage devices are hard disk drives.

26. A storage system being coupled to a computer, the storage system comprising:

a plurality of storage devices configuring a plurality of logical volumes which make up a pool; and

a controller configured to:

manage a plurality of storage regions provided by the pool, each logical volume of the pool including storage regions of the plurality of storage regions, a plurality of virtual volumes, each of which is associated with the pool and include a first virtual volume having a plurality of first virtual storage regions and a second virtual volume having a plurality of second virtual storage regions, a first storage region of the plurality of storage regions which is allocated to at least one of the first virtual storage regions of the plurality of first virtual storage regions in accordance with a first write command from the computer, a second storage region of the plurality of storage regions which is allocated to at least one of the second virtual storage regions of the plurality of second virtual storage regions in accordance with a second write command from the computer; and
send a predetermined data pattern to the computer when the controller receives a read request from the computer to a virtual storage region to which a storage region is not allocated,

wherein, upon receipt of a first command specifying the first virtual volume of the plurality of virtual volumes, the controller is configured to:

examine the first storage region in the pool to determine whether data stored in the first storage region matches the predetermined data pattern; and
if data stored in the first storage region matches the predetermined data pattern, cancel the allocation of the first storage region to the at least one first virtual storage region,
wherein, upon receipt of the first command specifying the first virtual volume of the plurality of virtual volumes, the controller is configured to not examine the second storage region to determine whether data stored in the second storage region matches the predetermined data pattern.

27. A storage system according to claim 26,

wherein, upon receipt of a second command specifying the second virtual volume of the plurality of virtual volumes, the controller is configured to:

examine the second storage region to determine whether data stored in the second storage region matches the predetermined data pattern; and
if data stored in the second storage region matches the predetermined data pattern, cancel the allocation of the second storage region to the at least one second virtual storage region,
wherein, upon receipt of the second command specifying the second virtual volume of the plurality of virtual volumes, the controller is configured to not examine the first storage region to determine whether data stored in the first storage region matches the predetermined data pattern.

28. A storage system according to claim 26,

wherein the predetermined data pattern is a zero data pattern.

29. A storage system according to claim 26,

wherein the controller is configured to further provide a physical volume by the plurality of storage devices, and
wherein the controller is configured to examine each storage region allocated to a virtual storage region of the first virtual volume to determine if data matches the predetermined data pattern after data of the physical volume is copied to the first virtual volume.
30. A storage system according to claim 26, wherein the controller is configured to examine each storage region allocated to a virtual storage region of the first virtual volume to determine if data matches the predetermined data pattern when the first virtual volume is designated by a user.
31. A storage system according to claim 26, wherein the storage devices are hard disk drives.

Share

Title

Storage system for controlling assignment of storage area to virtual volume storing specific pattern data

Inventor(s)

Daisuke Orikasa, Yutaka Takata, Shintaro Inoue

Assignee(s)

Hitachi Ltd

Patent #

8793461

Patent Date

July 29, 2014

Inquire about this intellectual property

Learn more about "Optimized Virtual Storage for Data Efficiency"