1. A method of recovery of bits in a flash memory device, the method comprising: in the flash memory device with a controller: determining N bits of data for recovery; selecting, based on at least one aspect of the flash memory device, potential bit patterns of the N bits, the potential bit patterns being smaller in number than 2 N ; and iteratively determining whether the potential bit patterns enable recovery of at least some of the N bits.