Method and apparatus for power-managing storage devices in a storage pool
First Claim
Patent Images
1. A method for power-managing storage devices in a storage pool, comprising:
- monitoring, by a management mechanism comprising at least a processor, after initialization, the storage pool to determine whether a storage management policy is satisfied,wherein the storage pool, after initialization, comprises a plurality of powered up storage devices that are each powered up and a powered down storage device that is powered down, wherein no data is read from the powered down storage device while the powered down storage device is powered down, and wherein no data is written to the powered down storage device while the powered down storage device is powered down,wherein the powered down storage device is powered up during initialization of the storage pool and powered down after initialization of the storage pool, andwherein monitoring the storage pool comprises;
aggregating a storage utilization level across the plurality of powered up storage devices to identify an aggregate storage utilization level of the plurality of powered up storage devices, wherein the aggregate storage utilization level identifies an amount of storage capacity used in the storage pool, anddetermining whether the aggregate storage utilization level reaches a threshold value specified by the storage management policy;
writing, while monitoring the storage pool and prior to powering up the powered down storage device, a first data block to a first powered up storage device of the plurality of powered up storage devices;
powering up the powered down storage device when the aggregate storage utilization level reaches the threshold value to add, as a second powered up storage device, the powered down storage device to the plurality of powered up storage devices;
making each of the plurality of powered up storage devices concurrently available for use after the second powered up storage device is added to the plurality of powered up storage devices;
writing, after making each of the plurality of powered up storage devices concurrently available for use, a first indirect block to the second powered up storage device,wherein the first indirect block comprises;
a reference to a location corresponding to the first data block,a checksum for the first data block;
a reference to a location corresponding to a second data block stored in one of the plurality of powered up storage devices, anda checksum for the second data block,receiving a request to write a second indirect block to the storage pool, wherein the second indirect block comprises;
a reference to a location corresponding to the first indirect block, anda checksum for the first indirect block,selecting, for the request, the first powered up storage device based on a storage utilization level of each of the plurality of powered up storage devices; and
writing, based on the selecting, the second indirect block to the first powered up storage device,wherein initializing the storage pool and powering down the powered down storage device are performed prior to powering up the powered down storage device.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for power-managing storage devices in a storage pool involves monitoring the storage pool to determine whether a storage management policy is satisfied, where the storage pool comprises a first storage device that is powered up and a second storage device that is powered down, powering up the second storage device after the storage management policy is satisfied, and making the second storage device available for use in the storage pool after the second storage device is powered up.
-
Citations
20 Claims
-
1. A method for power-managing storage devices in a storage pool, comprising:
-
monitoring, by a management mechanism comprising at least a processor, after initialization, the storage pool to determine whether a storage management policy is satisfied, wherein the storage pool, after initialization, comprises a plurality of powered up storage devices that are each powered up and a powered down storage device that is powered down, wherein no data is read from the powered down storage device while the powered down storage device is powered down, and wherein no data is written to the powered down storage device while the powered down storage device is powered down, wherein the powered down storage device is powered up during initialization of the storage pool and powered down after initialization of the storage pool, and wherein monitoring the storage pool comprises; aggregating a storage utilization level across the plurality of powered up storage devices to identify an aggregate storage utilization level of the plurality of powered up storage devices, wherein the aggregate storage utilization level identifies an amount of storage capacity used in the storage pool, and determining whether the aggregate storage utilization level reaches a threshold value specified by the storage management policy; writing, while monitoring the storage pool and prior to powering up the powered down storage device, a first data block to a first powered up storage device of the plurality of powered up storage devices; powering up the powered down storage device when the aggregate storage utilization level reaches the threshold value to add, as a second powered up storage device, the powered down storage device to the plurality of powered up storage devices; making each of the plurality of powered up storage devices concurrently available for use after the second powered up storage device is added to the plurality of powered up storage devices; writing, after making each of the plurality of powered up storage devices concurrently available for use, a first indirect block to the second powered up storage device, wherein the first indirect block comprises; a reference to a location corresponding to the first data block, a checksum for the first data block; a reference to a location corresponding to a second data block stored in one of the plurality of powered up storage devices, and a checksum for the second data block, receiving a request to write a second indirect block to the storage pool, wherein the second indirect block comprises; a reference to a location corresponding to the first indirect block, and a checksum for the first indirect block, selecting, for the request, the first powered up storage device based on a storage utilization level of each of the plurality of powered up storage devices; and writing, based on the selecting, the second indirect block to the first powered up storage device, wherein initializing the storage pool and powering down the powered down storage device are performed prior to powering up the powered down storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 19, 20)
-
-
10. A system comprising:
-
a storage pool, after initialization, comprising; a plurality of powered up storage devices that are each powered up, and a powered down storage device that is powered down; and a storage device management mechanism comprising at least a processor configured to; monitor, after the initialization, the storage pool to determine whether a storage management policy is satisfied, wherein the powered down storage device is powered up during initialization of the storage pool and powered down after initialization of the storage pool, wherein no data is read from the powered down storage device while the powered down storage device is powered down, and wherein no data is written to the powered down storage device while the powered down storage device is powered down, and wherein monitoring the storage pool comprises; aggregating a storage utilization level across the plurality of powered up storage devices to identify an aggregate storage utilization level of the plurality of powered up storage devices, wherein the aggregate storage utilization level identifies an amount of storage capacity used in the storage pool, and determining whether the aggregate storage utilization level reaches a threshold value specified by the storage management policy; write, while monitoring the storage pool and prior to powering up the powered down storage device, a first data block to a first powered up storage device of the plurality of powered up storage devices; power up the powered down storage device when the aggregate storage utilization level reaches the threshold value to add, as a second powered up storage device, the powered down storage device to the plurality of powered up storage devices; make each of the plurality of powered up storage devices concurrently available for use after the second powered up storage device is added to the plurality of powered up storage devices; write, after making each of the plurality of powered up storage devices concurrently available for use, a first indirect block to the second powered up storage device, wherein the first indirect block comprises; a reference to a location corresponding to the first data block, a checksum for the first data block, a reference to a location corresponding to a second data block stored in one of the plurality of powered up storage devices, and a checksum for the second data block, receive a request to write a second indirect block to the storage pool, wherein the second indirect block comprises; a reference to a location corresponding to the first indirect block, and a checksum for the first indirect block, select, for the request, the first powered up storage device based on a storage utilization level of each of the plurality of powered up storage devices; and write, based on the selecting, the second indirect block to the first powered up storage device, wherein initializing the storage pool and powering down the powered down storage device are performed prior to powering up the powered down storage device. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable storage medium comprising executable instructions for power-managing storage devices in a storage pool by:
-
monitoring, after initialization, the storage pool to determine whether a storage management policy is satisfied, wherein the storage pool, after initialization, comprises a plurality of powered up storage devices that are each powered up and a powered down storage device that is powered down, wherein no data is read from the powered down storage device while the powered down storage device is powered down, and wherein no data is written to the powered down storage device while the powered down storage device is powered down, wherein, during initialization of the storage pool, the plurality of powered up storage devices are powered up and the powered down storage device is powered up, wherein the powered down storage device is powered down after initialization of the storage pool, and wherein monitoring the storage pool comprises; aggregating a storage utilization level across the plurality of powered up storage devices to identify an aggregate storage utilization level of the plurality of powered up storage devices, wherein the aggregate storage utilization level identifies an amount of storage capacity used in the storage pool, and determining whether the aggregate storage utilization level reaches a threshold value specified by the storage management policy; writing, while monitoring the storage pool and prior to powering up the powered down storage device, a first data block to a first powered up storage device of the plurality of powered up storage devices; powering up the powered down storage device when the aggregate storage utilization level reaches the threshold value to add, as a second powered up storage device, the powered down storage device to the plurality of powered up storage devices; making each of the plurality of powered up storage devices concurrently available for use after the second powered up storage device is added to the plurality of powered up storage devices; writing, after making each of the plurality of powered up storage devices concurrently available for use, a first indirect block to the second powered up storage device, wherein the first indirect block comprises; a reference to a location corresponding to the first data block, a checksum for the first data block; a reference to a location corresponding to a second data block stored in one of the plurality of powered up storage devices, and a checksum for the second data block, receiving a request to write a second indirect block to the storage pool, wherein the second indirect block comprises; a reference to a location corresponding to the first indirect block, and a checksum for the first indirect block, selecting, for the request, the first powered up storage device based on a storage utilization level of each of the plurality of powered up storage devices; and writing, based on the selecting, the second indirect block to the first powered up storage device, wherein initializing the storage pool and powering down the powered down storage device are performed prior to powering up the powered down storage device.
-
Specification