Method for enhanced block management
AssigneeIntel Corporation
InventorsMichael A. Rothman, Vincent J. Zimmer
Life of this patent
Estimating the term…
Abstract
A method and apparatus is described herein for managing bad blocks/sectors in a nonvolatile memory. Upon detecting an input/output fault to a target block in a nonvolatile memory, the target block is remapped to a spare block, if the block is predicted as a bad block. Remapping is done for blocks used to store code both in serial execution code sequences and code sequences utilizing address translation. The remapping of bad blocks/sectors in nonvolatile memory allows nonvolatile memory in computer systems to be robust and resilient in handling bad blocks.
Claims16
An apparatus comprising:
- a nonvolatile memory erasable in blocks including,
- a preceding block to store code;
- a target block to store code;
- and
- a replacement block to store code;
- and
- logic to insert preceding pad bits in the preceding block to remap the target block to the replacement block, in response to the target block being identified as a bad block,
- wherein the target block is identified as a bad block if accessing the target block results in N I/O faults, N being any positive integer.
A system comprising:
- a flash memory including,
- a predicted bad block of a plurality of blocks, and
- logic to insert a first reference to a replacement block in a first pad field of a preceding block, which precedes the predicted bad block, and insert a second reference to a subsequent block, which succeeds the predicted bad block, in a second pad field of the replacement block;
- and
- a processing element to execute code stored in the replacement block instead of the predicted bad block in response to the first reference to the replacement block in the first pad field of the preceding block.
A method comprising:
- detecting an I/O fault, upon an access to a target sector of a nonvolatile memory;
- determining if the target sector is predicted as a bad sector;
- and
- inserting a jump instruction in a pad field of a first sector immediately preceding the target sector to jump execution over the target sector to a replacement sector, which immediately follows the target sector, in response to determining the target sector is predicted as a bad sector,
- wherein the target sector is determined to be predicted as a bad sector in response to a predefined number of I/O faults to the target sector.
A method comprising,
- detecting a bad sector of a nonvolatile memory, the nonvolatile memory including a preceding sector prior to the bad sector, a continuation sector subsequent to the bad sector, and a spare sector, wherein the preceding sector, the bad sector, and the continuation sector are to store code in an execute in place (XiP) code sequence;
- and
- in response to detecting the bad sector migrating data stored in the bad sector to spare sector;
- patching a pad field of the preceding sector to point to the spare sector;
- and
- patching a pad field of the spare sector to point to the continuation sector.
Dependencies are inferred from the claim text.