On Coding for Nonvolatile Memories