Method for enhanced block management
First Claim
Patent Images
1. 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.
1 Assignment
0 Petitions
Accused Products
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.
-
Citations
16 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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. - View Dependent Claims (10, 11, 12)
-
-
13. 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. - View Dependent Claims (15)
-
-
14. 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. - View Dependent Claims (16)
- and
Specification