Storage accounts for a significant amount of a data center's ever increasing power budget. As a consequence, energy consumption has joined performance and reliability as a dominant metric in storage system design. In this paper, we show that the structure of an erasure code-which is generally used to provide data reliability--can be exploited to save power in a storage system. We define a novel technique in power-aware systems called poweraware coding and present generic techniques for reading, writing and activating devices in a power-aware, erasurecoded storage system. While our techniques have an effect on energy consumption, fault tolerance and performance, we focus on a few examples that illustrate the tradeoff between power efficiency and fault tolerance. Finally, we discuss open problems in the space of poweraware coding.
Kevin M. Greenan, Darrell D. E. Long, Ethan L. Mil