A storage device comprising: a server; a plurality of hard disk drives, each hard disk drive having an active state when a platter in the hard disk drive is spinning and a non active state when the platter is not spinning and wherein the plurality of hard disk drives are arranged logically into groups and any two groups are arranged to be either disjoint or to collide fully, each group comprising a plurality of hard disk drives capable of being in an active state concurrently without violating power constraints and cooling constraints; an interconnect fabric connecting the hard disk drives and the server; a power supply system provisioned to provide insufficient power for operating all of the hard disk drives in an active state concurrently; a cooling system provisioned to provide insufficient cooling for operating all of the hard disk drives in an active state concurrently; and a control mechanism arranged to reorder a plurality of read operations into sets of operations operating on the same group of hard disk drives, schedule sets of operations in an order which increases throughput of the storage device by minimizing switching between groups and dynamically control which of the plurality of hard drives are in an active state according to the ordered sets of operations in order that power constraints and cooling constraints are not violated, wherein the power constraints and the cooling constraints limit how many hard disk drives can be active at any one time, two groups collide fully if each hard disk drive of the first group is in a cooling and a power domain of one of the hard disk drives in the second group and two groups are disjoint if any hard disk drive within the first group is not in the same cooling or power domain as a hard disk drive in the second group. a server; a plurality of hard disk drives, each hard disk drive having an active state when a platter in the hard disk drive is spinning and a non active state when the platter is not spinning and wherein the plurality of hard disk drives are arranged logically into groups and any two groups are arranged to be either disjoint or to collide fully, each group comprising a plurality of hard disk drives capable of being in an active state concurrently without violating power constraints and cooling constraints; an interconnect fabric connecting the hard disk drives and the server; a power supply system provisioned to provide insufficient power for operating all of the hard disk drives in an active state concurrently; a cooling system provisioned to provide insufficient cooling for operating all of the hard disk drives in an active state concurrently; and a control mechanism arranged to reorder a plurality of read operations into sets of operations operating on the same group of hard disk drives, schedule sets of operations in an order which increases throughput of the storage device by minimizing switching between groups and dynamically control which of the plurality of hard drives are in an active state according to the ordered sets of operations in order that power constraints and cooling constraints are not violated, wherein the power constraints and the cooling constraints limit how many hard disk drives can be active at any one time, two groups collide fully if each hard disk drive of the first group is in a cooling and a power domain of one of the hard disk drives in the second group and two groups are disjoint if any hard disk drive within the first group is not in the same cooling or power domain as a hard disk drive in the second group.