Stochastic block allocation for improved wear leveling
First Claim
1. A method for super block allocation of a plurality of super blocks of a non-volatile memory (“
- NVM”
), said NVM including multiple integrated circuits each having multiple blocks, for wear leveling, the method comprising;
selecting, at a first time period, a set of super blocks, each super block comprising a plurality of blocks from corresponding integrated circuits, from the plurality of super blocks that satisfy a pre-determined threshold of a total distribution of the number of cycles of the plurality of super blocks;
allocating, at a second time period, a super block of the set of super blocks for wear leveling, wherein the super block is stochastically selected from the set of super blocks, wherein the stochastic selection of the super block is a non-deterministic selection, and wherein the second time period occurs after the first time period; and
performing wear leveling on the NVM using the allocated super block.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for stochastic block allocation for improved wear leveling for a system having non-volatile memory (“NVM”). The system can probabilistically allocate a block or super block for wear leveling based on statistics associated with the block or super block. In some embodiments, the system can select a set of blocks or super blocks based on a pre-determined threshold of a number of cycles (e.g., erase cycles and/or write cycles). The block or super block can then be selected from the set of super blocks. In other embodiments, the system can use a fully stochastic approach by selecting a block or super block based on a biased random variable. The biased random variable may be generated based in part on the number of cycles associated with each block or super block of the NVM.
-
Citations
19 Claims
-
1. A method for super block allocation of a plurality of super blocks of a non-volatile memory (“
- NVM”
), said NVM including multiple integrated circuits each having multiple blocks, for wear leveling, the method comprising;selecting, at a first time period, a set of super blocks, each super block comprising a plurality of blocks from corresponding integrated circuits, from the plurality of super blocks that satisfy a pre-determined threshold of a total distribution of the number of cycles of the plurality of super blocks; allocating, at a second time period, a super block of the set of super blocks for wear leveling, wherein the super block is stochastically selected from the set of super blocks, wherein the stochastic selection of the super block is a non-deterministic selection, and wherein the second time period occurs after the first time period; and performing wear leveling on the NVM using the allocated super block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
- NVM”
-
13. A system comprising:
-
a non-volatile memory (“
NVM”
), said NVM including multiple integrated circuits each having multiple blocks, comprising a plurality of super blocks, each super block comprising a plurality of blocks from corresponding integrated circuits;a bus controller operative to communicate with the NVM; and
control circuitry operative to;determine whether a lower-cycled block needs to be allocated for wear leveling; in response to determining that a lower-cycled super block needs to be allocated for wear leveling, select, at a first time period, a set of super blocks, wherein each super block of the set of super blocks has a number of cycles that is within a pre-determined range of the number of cycles of a lowest-cycled block of the plurality of super blocks; and allocate, at a second time period, a super block of the set of super blocks for wear leveling, wherein the super block is stochastically selected from the set of super blocks wherein the stochastic selection of the super block is a non-deterministic selection, and wherein the second time period occurs after the first time period. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
Specification