IP Library Granted Patent US 10,452,468
Granted Patent B2
US 10,452,468 · App. 15/396,405 · Granted Oct 22, 2019

Method and system for managing non-volatile memory

Inventors: Sanghoon Chu (San Jose, CA); Scott Jinn (Diamond Bar, CA); Yuriy Pavlenko (Mission Viejo, CA); Kum-Jung Song (Santa Clara, CA)
Assignee: Western Digital Technologies, Inc.
G06F11/0793G06F11/076G06F11/0727G11C29/00G11C29/44G11C29/52G06F2201/81G06F2201/85G06F2201/88
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 10,452,468
App. No.
15/396,405
Granted
Oct 22, 2019
Kind
B2
Abstract

The subject technology provides for managing a data storage system. A data operation error for a data operation initiated in a first non-volatile memory die of a plurality of non-volatile memory die in the data storage system is detected. An error count for an error type of the data operation error for the first non-volatile memory die is incremented. The incremented error count satisfies a first threshold value for the error type of the data operation error is determined. The first non-volatile memory die is marked for exclusion from subsequent data operations.

Claims (73)

1. A method for managing a data storage system, the method comprising:

detecting a data operation error for a data operation initiated in a first non-volatile memory die of a plurality of non-volatile memory die in the data storage system, the data operation error corresponds to an error type of two or more error types;

incrementing an error count corresponding to the error type for the first non-volatile memory die, wherein a separate respective error count is maintained for each error type, wherein the error count for each error type of the data operation error comprises a cumulative error count for all blocks of the first non-volatile memory die;

determining the incremented error count satisfies a first threshold value corresponding to the error type of the data operation error; and

marking the first non-volatile memory die for exclusion from subsequent data operations, based on the determination.

2. The method of claim 1 , wherein the two or more error types of the data operation error comprises a program error type, a read error type, or an erase error type, and

wherein the respective error count is maintained for the first non-volatile memory die for each of the program error type, the read error type, and the erase error type, and a respective first threshold value is maintained for each of the program error type, the read error type, and the erase error type.

3. The method of claim 2 , further comprising:

determining error types corresponding to one or more data operation errors; and

incrementing the respective error count for each determined error type.

4. The method of claim 1 , further comprising selecting each respective first threshold value for each error type of the data operation error based on a state of life of the data storage system.

5. The method of claim 1 , further comprising:

incrementing a consecutive error count for the error type of the data operation error for the first non-volatile memory die;

determining the consecutive error count satisfies a second threshold value for the error type of the data operation error; and

marking the first non-volatile memory die for exclusion from subsequent data operations,

wherein the consecutive error count for the error type of the data operation error for the first non-volatile memory die is reset upon successful completion of a data operation in the first non-volatile memory die.

6. The method of claim 5 , wherein the second threshold value is less than the first threshold value.

7. A data storage system, comprising:

a plurality of storage devices, each storage device comprising a plurality of non-volatile memory die; and

a controller coupled to the plurality of storage devices, wherein the controller is configured to:

detect a data operation error for a data operation initiated in a first non-volatile memory die of the plurality of non-volatile memory die in the data storage system, the data operation error corresponds to an error type of two or more error types;

increment an error count corresponding to the error type for the first non-volatile memory die, wherein a separate respective error count is maintained for each error type, wherein the error count for each error type of the data operation error comprises a cumulative error count for all blocks of the first non-volatile memory die;

determine the incremented error count satisfies a first threshold value corresponding to the error type of the data operation error; and

mark the first non-volatile memory die for exclusion from subsequent data operations, based on the determination.

8. The data storage system of claim 7 , wherein the two or more error types comprises a program error type, a read error type, or an erase error type, and

wherein the respective error count is maintained for the first non-volatile memory die for each of the program error type, the read error type, and the erase error type, and a respective first threshold value is maintained for each of the program error type, the read error type, and the erase error type.

9. The data storage system of claim 8 , wherein the controller is further configured to:

determine error types corresponding to one or more data operation errors; and

incrementing the respective error count for each determined error type.

10. The data storage system of claim 7 , the controller is further configured to:

select each respective first threshold value for each error type of the data operation error based on a state of life of the data storage system.

11. The data storage system of claim 7 , further comprising:

incrementing a consecutive error count for the error type of the data operation error for the first non-volatile memory die;

determining the consecutive error count satisfies a second threshold value for the error type of the data operation error; and

marking the first non-volatile memory die for exclusion from subsequent data operations,

wherein the consecutive error count for the error type of the data operation error for the first non-volatile memory die is reset upon successful completion of a data operation in the first non-volatile memory die.

12. The data storage system of claim 11 , wherein the controller if further configured to:

increment a cumulative consecutive error count for the data operation error for the first non-volatile memory die, wherein the cumulative consecutive error count comprises data operation errors corresponding to the two or more error types;

determine the cumulative consecutive error count satisfies a third threshold value for the data operation error for the first non-volatile memory die; and

mark the first non-volatile memory die for exclusion from subsequent data operations,

wherein the consecutive error count for the data operation error for the first non-volatile memory die is reset upon successful completion of a data operation in the first non-volatile memory die.

13. The data storage system of claim 12 , wherein the third threshold value is less than the second threshold value, and the second threshold value is less than the first threshold value.

14. A machine-readable non-transitory media encoded with executable instructions which, when executed by a processor, cause the processor to perform operations comprising:

detecting a data operation error for a data operation initiated in a first non-volatile memory die of a plurality of non-volatile memory die in a data storage system, the data operation error corresponds to an error type of two or more error types;

incrementing an error count corresponding to the error type for the first non-volatile memory die, wherein the error count corresponding to the error type of the data operation error comprises a cumulative error count for all blocks of the first non-volatile memory die, and wherein a separate respective error count is maintained for each error type;

determining the incremented error count satisfies a first threshold value corresponding to the error type of the data operation error; and

marking the first non-volatile memory die for exclusion from subsequent data operations, based on the determination.

15. The machine-readable non-transitory media of claim 14 , wherein the two or more error types comprises a program error type, a read error type, or an erase error type, and

wherein a respective error count is maintained for the first non-volatile memory die for each of the program error type, the read error type, and the erase error type, and a respective first threshold value is maintained for each of the program error type, the read error type, and the erase error type.

16. The machine-readable non-transitory media of claim 15 , wherein the operations further comprising determining error types corresponding to one or more data operation errors; and

incrementing the respective error count for each determined error type.

17. The machine-readable non-transitory media of claim 14 , wherein the operations further comprising selecting each respective first threshold value for each error type of the data operation error based on a state of life of the data storage system.

18. The machine-readable non-transitory media of claim 14 , wherein the operations further comprising:

incrementing a consecutive error count for the data operation error for the first non-volatile memory die;

determining the consecutive error count satisfies a second threshold value for the data operation error for the first non-volatile memory die; and

marking the first non-volatile memory die for exclusion from subsequent data operations,

wherein the consecutive error count for the data operation error for the first non-volatile memory die is reset upon successful completion of a data operation in the first non-volatile memory die.

19. The machine-readable non-transitory media of claim 18 , wherein the second threshold value is less than the first threshold value.

20. A system comprising:

a plurality of non-volatile memory die;

means for detecting a data operation error for a data operation initiated in a first non-volatile memory die of the plurality of non-volatile memory die, the data operation error corresponds to an error type of two or more error types;

means for incrementing an error count corresponding to the error type of the data operation error for the first non-volatile memory die, wherein a separate respective error count is maintained for each error type, wherein the error count for each error type of the data operation error comprises a cumulative error count for all blocks of the first non-volatile memory die; and

means for determining the incremented error count satisfies a first threshold value corresponding to the error type of the data operation error.

21. The system of claim 20 , wherein the two or more error types comprises a program error type, a read error type, or an erase error type, and

wherein the respective error count is maintained for the first non-volatile memory die for each of the program error type, the read error type, and the erase error type, and a respective first threshold value is maintained for each of the program error type, the read error type, and the erase error type.

22. The system of claim 21 , further comprising means for detecting one or more data operation errors, wherein incrementing the error count comprises incrementing the respective error counts corresponding to error types of the one or more data operation errors.

23. The system of claim 20 , wherein each respective first threshold value for each error type of the data operation error is selected based on a state of life of the system.

24. The system of claim 20 , further comprising:

means for incrementing a consecutive error count for the error type of the data operation error for the first non-volatile memory die;

means for determining the consecutive error count satisfies a second threshold value for the error type of the data operation error; and

means for marking the first non-volatile memory die for exclusion from subsequent data operations,

wherein the consecutive error count for the error type of the data operation error for the first non-volatile memory die is reset upon successful completion of a data operation in the first non-volatile memory die.

25. The system of claim 24 , wherein the second threshold value is less than the first threshold value.

Assignments (10)
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 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2017
From: JINN, SCOTT; PAVLENKO, YURIY; SONG, KUM-JUNG; CHU, SANGHOON
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042170/0604 →