1. A non-volatile memory system comprising: non-volatile memory; and a controller comprising a plurality of write modules to write data into the non-volatile memory and a plurality of read modules to read the data from the non-volatile memory, wherein the plurality of write modules comprises: an unreliable storage location identifier module configured to: identify a plurality of memory elements of the non-volatile memory to store the data; and determine which memory elements of the plurality of memory elements are identified in the non-volatile memory system as unreliable; and a tracking module configured to track logic values of bits of the data to be stored in the identified unreliable memory elements; and wherein the plurality of read modules comprises: a log likelihood ratio module configured to assign log likelihood ratio values to the bits of data stored in the identified unreliable memory elements based on the tracked logic values.