Patent ID: 8848439

Claim:
A method of enhancing memory read accuracy of a multi-level cell flash memory, the method comprising: receiving, by a media controller coupled to the multi-level cell flash memory, a read request from a host device coupled to the media controller, the read request corresponding to one or more desired cells of the multi-level cell flash memory; setting, by the media controller, m threshold levels to initial values, each of the threshold levels corresponding to a cell voltage level of the multi-level cell flash memory, m a positive integer; measuring the cell voltage level of a given desired cell; iteratively, for each of the one or more desired cells of the multi-level cell flash memory, until the measured cell voltage level converges on one of the threshold levels: determining a Log-likelihood ratio (LLR) of each threshold voltage; comparing the determined LLR of each threshold voltage to the measured cell voltage level; if the measured cell voltage level does not converge on one of the m threshold level: updating, by the media controller, one or more of the m threshold levels based on a Markov decision process; remeasuring the cell voltage level; and comparing the remeasured cell voltage level to the updated m threshold levels; once the measured cell voltage level converges on one of the m threshold levels: determining a binary level corresponding to the measured cell level voltage based on the corresponding one of the m threshold levels; and providing the determined binary level as an output of the multi-level cell flash memory.