Patent ID: 8885415

Claim:
A system comprising: a read module configured to perform a first read operation to determine a state of a memory cell, and in response to a first failure to decode data read from the memory cell in the first read operation, perform (i) a second read operation and (ii) a third read operation to determine the state of the memory cell, wherein the memory cell has (i) a first threshold voltage in response to being programmed to a first state and (i) a second threshold voltage in response to being programmed to a second state; a reference voltage module configured to select: for the first read operation, a first reference voltage between (i) the first threshold voltage and (ii) the second threshold voltage; for the second read operation, a second reference voltage (i) less than the first reference voltage and (ii) greater than the first threshold voltage; and for the third read operation, a third reference voltage (i) greater than the first reference voltage and (ii) less than the second threshold voltage; a voltage selection module configured to select a first voltage adjacent to the first threshold voltage; a voltage incrementing module configured to increment the first voltage by a predetermined amount until the first voltage increases to a midpoint of (i) the first threshold voltage and (ii) the second threshold voltage; and a parameter generation module configured to generate a parameter for each incremented value of the first voltage, wherein the parameter for an incremented value of the first voltage indicates a statistical certainty regarding an actual state of the memory cell, and wherein the reference voltage module is configured to select one of the incremented values of the first voltage having a highest value of the statistical certainty as the second reference voltage.