IP Library › Granted Patent US 8,411,519
Granted Patent B2
US 8,411,519 · App. 12/842,477 · Granted Apr 2, 2013

Selective retirement of blocks

Inventors: Matthew Byom (Campbell, CA); Daniel J. Post (Campbell, CA); Vadim Khmelnitsky (Foster City, CA)
Assignee: Apple Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,411,519
App. No.
12/842,477
Granted
Apr 2, 2013
Kind
B2
Abstract

Systems and methods are provided for selectively retiring blocks based on refresh events of those blocks. In addition to refresh events, other criteria may be applied in making a decision whether to retire a block. By applying the criteria, the system is able to selectively retire blocks that may otherwise continue to be refreshed.

Claims (47)

1. A method for selectively retiring blocks comprising:

monitoring blocks that experience refresh events;

adding blocks that experience refresh events to a list;

maintaining characteristics associated with the blocks in the list;

applying at least two different criteria to the blocks in the list to determine if any one or more of the blocks should be retired; and

retiring any blocks that meet the at least two criteria.

2. The method of claim 1 , wherein each of the at least two different criteria has a respective threshold, the method further comprising:

adjusting at least one of the thresholds for the at least two criteria.

3. The method of claim 1 , wherein the characteristics comprise refresh count information.

4. The method of claim 1 , wherein the characteristics comprise timing information.

5. A system comprising a processor and non-volatile memory, the processor operative to:

monitor a number of times a superblock has been refreshed;

determine if the superblock has refreshed at least a predetermined number of times during a given period of time;

if the superblock has refreshed at least the predetermined number of times during the given period of time, determine a physical block within the superblock that is responsible for causing the superblock to experience refresh events; and

retire the physical block.

6. The system of claim 5 , wherein the processor is further operative to substantially immediately retire the physical block.

7. The system of claim 5 , wherein the processor is further operative to access a lookup table to obtain the predetermined number based on the given period of time.

8. The system of claim 5 , wherein the processor is further operative to maintain timing information on the superblock.

9. A method for selectively retiring blocks comprising:

providing a plurality of superblocks, each superblock comprising a physical block from two or more planes of physical blocks;

maintaining, for each superblock, a counter of the number of times the superblock is refreshed;

updating the counter for a given superblock when the given superblock is refreshed;

determining if the given superblock has refreshed more than a predetermined number of times within a predetermined period of time; and

retiring at least one physical block included as part of the given superblock if it is determined that the given superblock has refreshed more than the predetermined number of times within the predetermined period of time.

10. The method of claim 9 , further comprising maintaining a timestamp of each refresh event.

11. The method of claim 9 , wherein said determining is performed substantially immediately after the given block is refreshed.

12. The method of claim 9 , wherein retiring the given superblock comprises retiring at least one of the physical blocks included in the given superblock.

13. A method for selectively retiring blocks, comprising:

refreshing a superblock, the superblock comprising physical blocks from two or more planes of physical blocks;

programming the physical blocks;

reading, after the physical blocks are programmed, back the data to check for an error;

determining whether the error exceeds a refresh threshold; and

in response to determining that the error exceeds the refresh threshold:

determining which physical block in the physical blocks is responsible for causing the physical blocks to exceed the refresh threshold; and

retiring the responsible physical block.

14. The method of claim 13 , further comprising replacing the retired block with a spare block.

15. The method of claim 13 , wherein the reading is performed substantially immediately after the superblock is programmed with data.

16. The method of claim 13 , wherein the refresh threshold includes a predetermined number of bit flips less than a number that cannot be corrected by an error correction code.

17. The method of claim 13 , wherein the error is selected from the group consisting of raw bit error rate error, modulated error rate, signal-to-noise ratio, parity data, or any combination thereof.

18. A method for selectively retiring blocks, comprising:

providing a plurality of blocks that are arranged in a plurality of planes;

maintaining a list of potential blocks suitable for retirement;

determining if a given block in the list has been refreshed over N number of times, N being an number greater than zero;

determining if a percentage of retired blocks in the plane of the given block is less than Q percentage, Q being a number greater than zero; and

retiring the given block if the given block has been refreshed over N number of times and the percentage of retired blocks in the plane of the given block is less than Q percentage.

19. The method of claim 18 , further comprising changing the number N based on characteristics of the plurality of the blocks.

20. The method of claim 18 , further comprising changing the percentage Q based on characteristics of the plurality of blocks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2010
From: BYOM, MATTHEW; POST, DANIEL; KHMELNITSKY, VADIM
To: APPLE INC.
Reel/Frame 024734/0020 →
Continuity (2)
Provisional Application 61351381 · Jun 4, 2010
Related Publication 20110302445A1 · Dec 8, 2011