Method and system for power aware I/O scheduling
First Claim
1. A method for retrieving a logical block, comprising:
- receiving a request to read the logical block;
obtaining metadata associated with the logical block, wherein the metadata comprises;
a replication type used to store the logical block, andphysical block locations in a storage pool for each physical block associated with the logical block, wherein each physical block location specifies one of a plurality storage devices in the storage pool;
obtaining power state information comprising a power state for each of the plurality of storage devices specified in the physical block locations;
selecting a first set of physical block locations using the metadata, the power state information, and a power-usage selection policy;
generating a first set of I/O requests, wherein each I/O request of the set of I/O requests specifies one of the issuing the first set of I/O requests;
issuing the first set of I/O requests;
receiving a first set of physical blocks in response to the first set of I/O requests; and
constructing the logical block using the first set of physical blocks.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for retrieving a logical block, including receiving a request to read the logical block, and obtaining metadata associated with the logical block, wherein the metadata includes a replication type used to store the logical block and physical block locations in a storage pool for each physical block associated with the logical block. The method further includes obtaining power state information including a power state for the storage devices specified in the physical block locations, selecting a first set of physical block locations using the metadata, the power state information, and a power-usage selection policy, and generating I/O requests, where each I/O request specifies one of the first set of physical block locations. The method further includes issuing the I/O requests, receiving physical blocks in response to the I/O requests, and constructing the logical block using the physical blocks.
-
Citations
20 Claims
-
1. A method for retrieving a logical block, comprising:
-
receiving a request to read the logical block; obtaining metadata associated with the logical block, wherein the metadata comprises; a replication type used to store the logical block, and physical block locations in a storage pool for each physical block associated with the logical block, wherein each physical block location specifies one of a plurality storage devices in the storage pool; obtaining power state information comprising a power state for each of the plurality of storage devices specified in the physical block locations; selecting a first set of physical block locations using the metadata, the power state information, and a power-usage selection policy; generating a first set of I/O requests, wherein each I/O request of the set of I/O requests specifies one of the issuing the first set of I/O requests; issuing the first set of I/O requests; receiving a first set of physical blocks in response to the first set of I/O requests; and constructing the logical block using the first set of physical blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a storage pool comprising a plurality of storage devices; and a file system comprising; an I/O scheduler configured to; receive a request to read a logical block; obtain metadata associated with the logical block, wherein the metadata comprises;
a replication type used to store the logical block, and physical block locations in the storage pool for each physical block associated with the logical block, wherein each physical block location specifies one of the plurality of storage devices in the storage pool;obtain power state information comprising a power state for each of the plurality of storage devices specified in the physical block locations; select a first set of physical block locations using the metadata, the power state information, and a power-usage selection policy; generate a first set of I/O requests, wherein each I/O request of the first set of I/O requests specifies one of the first set of physical block locations; and issue the first set of I/O requests, wherein the file system is configured to; receive a first set of physical blocks in response to the first set of I/O requests, and constructing the logical block using the first set of physical blocks. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium comprising computer readable program code embodied therein for causing a computer system to:
-
receive a request to read a logical block; obtain metadata associated with the logical block, wherein the metadata comprises; a replication type used to store the logical block, and physical block locations in a storage pool for each physical block associated with the logical block, wherein each physical block location specifies one of a plurality of storage devices in the storage pool; obtain power state information comprising a power state for each of the plurality of storage devices specified in the physical block locations; select a first set of physical block locations using the metadata, the power state information, and a power-usage selection policy; and generate a first set of I/O requests, wherein each I/O request of the first set of I/O requests specifies one of the first set of physical block locations; issue the first set of I/O requests; receive a first set of physical blocks in response to the first set of I/O requests; and construct the logical block using the first set of physical blocks. - View Dependent Claims (18, 19, 20)
-
Specification