Patent ID: 7975209

Claim:
A non-volatile memory system, comprising: a set of non-volatile storage elements; managing circuitry in communication with the set of non-volatile storage elements, the managing circuitry reads information from the set of storage elements by: reading a set of user data from the set of non-volatile storage elements; detecting one or more errors associated with the set of user data; and iteratively decoding the user data using reliability metrics for portions of the set of user data, the decoding includes simulating annealing for one or more portions of user data to cause a change in one or more of the corresponding reliability metrics; wherein simulating annealing includes guiding the simulated annealing based on a predetermined characterization of the set of non-volatile storage elements; and wherein the predetermined characterization of the set of non-volatile storage elements includes a predetermined characterization of shifts in threshold voltage of the set of non-volatile storage elements.