Patent ID: 8069307

Claim:
A method for managing memory comprising: receiving metadata for data blocks in a nonvolatile memory of a portable device from the portable device on an external host, the metadata includes an erase count or a listing of blocks in the memory that do not satisfy performance criteria and identifies initial error correction code (ECC) algorithm assigned to the data blocks in the nonvolatile memory, wherein the initial ECC algorithm corrects data errors in one or more data blocks; determining, using the external host, one or more bad data blocks in the nonvolatile memory of the portable device based, at least in part, on the erase count or the listing of blocks in the memory that do not satisfy performance criteria; assigning, to the one or more bad data blocks by the external host, subsequent ECC algorithm having a strength greater than the initial ECC algorithm by modifying at least a portion of the received metadata; and transmitting at least the modified portion of the received metadata that identifies the subsequent ECC algorithm to a memory controller of the portable device, the memory controller operable to execute the subsequent ECC algorithms on the one or more bad blocks of the nonvolatile memory of the portable device.