Opportunistic Memory Systems In Presence Of Hardware Variability