The age of big data has placed an unprecedented demand on the data storage devices to be ultra dense and ultra reliable. To meet the growing demands of this dual goal, advanced error correction techniques must now be developed. In this talk, we present a comprehensive combinatorial machinery of graph-based codes, with a particular focus on non-binary designs, which are ideally suited for new multilevel Flash memories and multidimensional HDD devices. We demonstrate that the oft-adopted AWGN modeling assumption is inadequate for modern storage channels. The guiding principle of the proposed methodology is to succinctly exploit the underlying operational characteristics of the physical channel, including asymmetry and memory, to identify the error-prone structures that do matter. Our methodology encompasses code designs for a variety of storage channels with state of the art performance, subsumes existing methods for symmetric channels, and leads to highly accurate and ultra fast sampling-based performance prediction methods.