IP Library Granted Patent US 9,406,396
Granted Patent B2
US 9,406,396 · App. 14/560,698 · Granted Aug 2, 2016

Intrinsic memory block health monitoring

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 9,406,396
App. No.
14/560,698
Granted
Aug 2, 2016
Kind
B2
Abstract

A memory system or flash card may monitor the health of memory and the user data stored by detecting and storing a number of bits in error for each block. This detection can be used to determine where user data should be programmed and which blocks should be cycled. The erratic bits are detected after a programming and the listing for each block is updated. When the erratic bits exceed a threshold for a particular block, that block may be cycled or retired.

Claims (31)

1. A method for monitoring memory health, the method comprising:

executing a program operation to write data to one or more pages in a memory block;

recording a count of erratic bits for each of the one or more pages for the program operation;

comparing the count of erratic bits with a threshold; and

recycling blocks where the erratic bits exceed the threshold from the comparison.

2. The method of claim 1 wherein the recording comprises a read operation that verifies the program operation.

3. The method of claim 1 wherein the recording is stored in the memory.

4. The method of claim 1 wherein the recording is temporarily stored in random access memory for quicker access.

5. The method of claim 1 wherein the recording comprises a listing of erratic bit count for each page.

6. The method of claim 1 wherein the threshold comprises a cumulative average.

7. The method of claim 6 wherein the cumulative average is the total number of erratic bits for a plurality of the blocks divided by a total number of the plurality of the blocks.

8. The method of claim 1 wherein the memory comprises a three-dimensional (3D) memory configuration, and wherein a controller is associated with operation of the memory blocks.

9. The method of claim 1 wherein an erratic bit comprises a bit that is programmed to an incorrect state.

10. The method of claim 9 wherein the incorrect state comprises an overlapping state between two states.

11. The method of claim 1 wherein the recycling comprises replacing blocks when the erratic bit count for the block exceeds the threshold.

12. A storage device comprising:

a state machine that calculates erratic bits for a page following a program operation;

an erratic program module that records a count of the erratic bits for each page; and

a media management layer that utilizes the recorded count of the erratic bits for cycling blocks, wherein the blocks that are selected for recycling are those blocks whose cumulative erratic bit count for each page in that block exceeds a threshold.

13. The storage device of claim 12 wherein the state machine, the erratic program module, and the media management layer are part of a controller with the storage device.

14. The storage device of claim 13 wherein the program operation is received from a host device to the controller.

15. The storage device of claim 12 wherein the threshold comprises a total number of erratic bits for a plurality of the blocks divided by a total number of the plurality of the blocks.

16. The storage device of claim 12 wherein the threshold is dynamic and can be adjusted to increase or reduce the recycling of blocks.

17. The storage device of claim 12 wherein the recording of the count is to a table that is stored in the storage device.

18. A method for monitoring a health of a memory device comprising blocks for storage, the method comprising:

detecting, following a program operation, a number of error bits for each page that is part of the program operation;

recording the number of error bits for each page;

identifying a relative health of a block based on a total of the recorded number of error bits from all of the pages in the block; and

recycling blocks which have a poor relative health, wherein the relative health comprises a comparison of a number of the error bits such that more error bits results in poor relative health.

19. The method of claim 18 wherein the identifying of the relative health comprises:

comparing the recorded number of error bits with a threshold, wherein blocks under the threshold have a good relative health and blocks above the threshold have a poor relative health.

Assignments (5)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
CHANGE OF NAME Recorded May 25, 2016
From: SANDISK TECHNOLOGIES INC
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 038807/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2014
From: SEHGAL, ROHIT; YANG, NIAN NILES
To: SANDISK TECHNOLOGIES INC.
Reel/Frame 034379/0144 →