Systems and methods for generating dynamic super blocks
First Claim
1. A method for generating dynamic super blocks for a non-volatile memory, the non-volatile memory comprising a plurality of physical blocks and each physical block comprising a plurality of physical pages, the method comprising:
- determining that at least one physical page of one of the physical blocks is not suitable for storing data in an original mode, but is suitable for storing data in a mode that has a lower capacity than the original mode, wherein the at least one determined page is mapped to a first block that requires its physical pages to store data in the original mode;
remapping the at least one determined page from the first block to a dynamic super block, wherein the dynamic super block is a block that requires its physical pages to store data in the mode that has a lower capacity than the original mode, and wherein a number of physical pages mapped to the dynamic super block increases as additional determined pages are remapped to the dynamic super block; and
accessing the at least one physical page mapped to the dynamic super block in the mode that has a lower capacity than the original mode.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for generating dynamic super blocks from one or more grown bad blocks of a non-volatile memory (“NVM”). In some embodiments, a dynamic super block can be formed by striping together a subset of memory locations of grown bad blocks from one or more dies of a NVM. The subset of memory locations may be selected based on at least one reliability measurement of the subset of memory locations. In some embodiments, in response to detecting one or more access failures in a portion of the dynamic super block, the NVM interface can retire at least a portion of the dynamic super block. In some embodiments, the NVM interface can reconstruct a new dynamic super block from the dynamic super block by progressively increasing the size of the new dynamic super block.
41 Citations
25 Claims
-
1. A method for generating dynamic super blocks for a non-volatile memory, the non-volatile memory comprising a plurality of physical blocks and each physical block comprising a plurality of physical pages, the method comprising:
-
determining that at least one physical page of one of the physical blocks is not suitable for storing data in an original mode, but is suitable for storing data in a mode that has a lower capacity than the original mode, wherein the at least one determined page is mapped to a first block that requires its physical pages to store data in the original mode; remapping the at least one determined page from the first block to a dynamic super block, wherein the dynamic super block is a block that requires its physical pages to store data in the mode that has a lower capacity than the original mode, and wherein a number of physical pages mapped to the dynamic super block increases as additional determined pages are remapped to the dynamic super block; and accessing the at least one physical page mapped to the dynamic super block in the mode that has a lower capacity than the original mode. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A memory interface for accessing a non-volatile memory, the non-volatile memory comprising a plurality of dies, each die comprising a plurality of physical blocks, the memory interface comprising:
a bus controller operative to communicate with the non-volatile memory; and
control circuitry operative to;determine that a block of a die of the plurality of dies is not suitable for storing data in a multi-level cell (“
MLC”
) mode, wherein the determined block is mapped to a first block that requires its data to be stored in the MLC mode; andremap the determined block from the first block to a dynamic single level cell (“
SLC”
) super block, wherein the dynamic SLC super block is a block that requires its data to be stored in a SLC mode that has a lower capacity than the MLC mode, and wherein a number of physical blocks mapped to the dynamic SLC super block increases as additional determined blocks are remapped to the dynamic SLC super block.- View Dependent Claims (9, 10, 11, 12, 13, 14)
-
15. A method for managing grown bad blocks of a non-volatile memory, the method comprising:
-
selecting at least a subset of memory locations of multiple grown bad blocks of the non-volatile memory to form a dynamic super block; detecting that the dynamic super block needs to be erased; preparing the dynamic super block for reprogramming; and reconstructing a new dynamic super block from the dynamic super block by progressively increasing the size of the new dynamic super block. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification