Updating error correction codes for data blocks
First Claim
Patent Images
1. A method for managing memory comprising:
- receiving, by an external host, metadata for one or more data blocks in a nonvolatile memory of a portable device, the metadata identifying an initial error correction code (ECC) algorithm for each of the data blocks;
determining, by the external host, a bad data block in the nonvolatile memory of the portable device based on the received metadata, wherein the bad data block includes one or more errors, and wherein the bad data block comprises a first bad data block;
modifying the received metadata to identify, for the bad data block, a subsequent ECC algorithm having a strength greater than a strength of the initial ECC algorithm;
transmitting the modified metadata to the portable device, wherein the portable device is configured to, apply execute the subsequent ECC algorithm to correct the one or more errors in the bad data block; and
determining a second bad data block based on an associated time stamp or erase count exceeding a specified threshold, wherein the metadata identifies the associated time stamp or the erase count.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and processes may be used to retrieve metadata from a nonvolatile memory of a portable device and transmit the retrieved metadata to an external host. Metadata may be analyzed using the external host and/or at least a portion of the metadata may be modified based on the analysis. Modified metadata may be transmitted from the external host to a memory controller of the host.
-
Citations
18 Claims
-
1. A method for managing memory comprising:
-
receiving, by an external host, metadata for one or more data blocks in a nonvolatile memory of a portable device, the metadata identifying an initial error correction code (ECC) algorithm for each of the data blocks; determining, by the external host, a bad data block in the nonvolatile memory of the portable device based on the received metadata, wherein the bad data block includes one or more errors, and wherein the bad data block comprises a first bad data block; modifying the received metadata to identify, for the bad data block, a subsequent ECC algorithm having a strength greater than a strength of the initial ECC algorithm; transmitting the modified metadata to the portable device, wherein the portable device is configured to, apply execute the subsequent ECC algorithm to correct the one or more errors in the bad data block; and determining a second bad data block based on an associated time stamp or erase count exceeding a specified threshold, wherein the metadata identifies the associated time stamp or the erase count. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product encoded on a tangible, non-transitory storage medium, the product comprising computer readable instructions for causing one or more processors to perform operations comprising:
-
receiving, by an external host, metadata for one or more data blocks in a nonvolatile memory of a portable device, the metadata identifying an initial error correction code (ECC) algorithm for each of the data blocks; determining, by the external host, a bad data block in the nonvolatile memory of the portable device based on the received metadata, wherein the bad data block includes one or more errors, and wherein the bad data block comprises a first bad data block; modifying the received metadata to identify, for the bad data block, a subsequent ECC algorithm having a strength greater than a strength of the initial ECC algorithm; transmitting the modified metadata to the portable device, wherein the portable device is configured to, apply the subsequent ECC algorithm to correct the one or more errors in the bad data block; and determining a second bad data block based on an associated time stamp or erase count exceeding a specified threshold, wherein the metadata identifies the associated time stamp or the erase count. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computing device, comprising:
- one or more processors configured to;
receive metadata for one or more data blocks in a nonvolatile memory of a portable device, the metadata identifying an initial error correction code (ECC) algorithm for each of the data blocks; determine a bad data block in the nonvolatile memory of the portable device based on the received metadata, wherein the bad data block includes one or more errors, and wherein the bad data block comprises a first bad data block; modify the received metadata to identify, for the bad data block, a subsequent ECC algorithm having a strength greater than a strength of the initial ECC algorithm; transmit the modified metadata to the portable device, wherein the portable device is configured to apply the subsequent ECC algorithm to correct the one or more errors in the bad data block; and determine a second bad data block based on an associated time stamp or erase count exceeds a specified threshold, the metadata identifies the associated time stamp or the erase count. - View Dependent Claims (14, 15, 16, 17, 18)
- one or more processors configured to;
Specification