Patent ID: 9152496
Filing Date: 2015-10-06
Classification: G06F,G11C

Abstract:
1. A method comprising: configuring a flash memory controller to be connected to a first flash memory device to facilitate executing flash memory access operations on a first subset of data associated with the first flash memory device; analyzing a block of data, comprising the first subset of data and error correction information associated with the first subset of data, as the block of data is being read from the first flash memory device and transferred to a buffer to facilitate detecting and correcting one or more erroneous bits of data in the first subset of data based at least in part on the error correction information; storing the first subset of data and the error correction information in the buffer after the analyzing of the block of data; correcting the one or more erroneous bits of data in the first subset of data based at least in part on the error correction information while the first subset of data and the error correction information are stored in the buffer to produce a first subset of corrected data, based at least in part on results obtained from the analyzing of the first subset of data and the error correction information, wherein, to facilitate the correcting of the one or more erroneous bits of data in the first subset of data while the first subset of data and the error correction information are stored in the buffer, the buffer has a storage size that is sufficient to simultaneously store the first subset of data and the error correction information of the block of data when the block of data is transferred to the buffer, wherein the error correction information is a set of redundant bytes of data, wherein the set of redundant bytes of data was generated in connection with a write operation to write the first subset of data to the first flash memory device, associated with the first subset of data, and stored with the first subset of data in the first flash memory device during the write operation, and is usable to facilitate the correcting of the one or more erroneous bits of data; and transferring the first subset of corrected data as an output from the buffer.