This paper addresses the problem of energy-aware memory banking for embedded data-intensive applications. As on-chip storage, we target scratch-pad memories, since they are commonly used in embedded systems as an alternative to caches, achieving a comparable performance with a higher power efficiency. The proposed technique is a dynamic programming approach. Different from previous works -- relying on the trace of memory accesses during the code execution, the main input of the proposed method is the behavioral specification of the application. An idleness analysis of the on-chip data, complementary to the dynamic programming, offers the possibility of further leakage reduction by disabling the idle banks.