IP Library Granted Patent US 11,538,539
Granted Patent B2
US 11,538,539 · App. 16/928,737 · Granted Dec 27, 2022

Method and system involving degradation of non-volatile memory based on write commands and drive-writes

Inventors: Jay Sarkar (San Jose, CA); Cory Peterson (Rochester, MI); Amir Sanayei (San Jose, CA); Vidyabhushan Mohan (San Jose, CA); Yao Zhang (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
G11C16/349G06F3/0616G06F3/0619G06F3/0679G06F12/0246G06N5/04G06N7/005G11C29/52G11C2029/0401
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 11,538,539
App. No.
16/928,737
Granted
Dec 27, 2022
Kind
B2
Abstract

Systems and methods for solid-state storage drive-level failure prediction and health metric are described. A plurality of host-write commands are received at a solid-state storage device. A number of drive-writes per day based on the on the plurality of host-write commands is determined. An aggregated amount of degradation to one or more internal non-volatile memory components based on the number of drive-writes per day is determined. Using a machine-learned model, a probability of failure value based on a set of parameter data and the aggregated amount of degradation to the non-volatile memory component is generated. An alert is generated, based on the probability of failure value or degradation threshold.

Claims (109)

1. A data storage system, comprising:

a non-volatile memory component; and

one or more controllers configured to cause:

obtaining a plurality of write commands;

determining, based on the plurality of write commands, a number of drive-writes per period;

determining, based on the number of drive-writes per period, an amount of degradation to the non-volatile memory component;

generating, based on a machine-learned model, a probability of failure value, which is based on data associated with input parameters for the machine-learned model and the amount of degradation to the non-volatile memory component;

determining whether the probability of failure value satisfies one of a first threshold probability of failure value and a second threshold probability of failure value;

generating, based on determining that the probability of failure value satisfies one of the first and second threshold probability of failure values, an alert; and

in response to the alert generated based on determining that the probability of failure value satisfies the first threshold probability of failure value, obtaining a reduced number of write commands from a host,

wherein:

the amount of degradation to the non-volatile memory component comprises a throughput acceleration coefficient;

the data storage system is configured to determine the throughput acceleration coefficient based on a ratio between the number of drive-writes per period and a drive-writes per period specification;

the data storage system is further configured to determine the number of drive-writes per period based on the plurality of write commands and a total amount of data written to the non-volatile memory component; and

the drive-writes per period specification is a pre-determined number of drive-writes per period for the non-volatile memory component.

2. The data storage system of claim 1 , wherein:

the data storage system is further configured to determine the throughput acceleration coefficient by dividing the number of drive-writes per period by the drive-writes per period specification;

the data storage system is further configured to determine the number of drive-writes per period, based on the plurality of write commands, the total amount of data written to the non-volatile memory component, and a data storage capacity of the non-volatile memory component; and

the drive-writes per period specification is the pre-determined number of drive-writes per period for the non-volatile memory component to handle in order for the data storage system to operate for a given period of time.

3. The data storage system of claim 1 , wherein the data associated with the input parameters for the machine-learned model comprises:

non-volatile memory translation layer management events data;

controller initiated data movement for non-volatile memory endurance management event data;

non-volatile memory defect density data;

controller initiated data movement in non-volatile memory event data;

controller initiated data movement in non-volatile memory for managing defragmentation of the non-volatile memory event data;

non-volatile memory bit error rate data;

controller initiated non-volatile memory erase or rewrite operation management data; and

controller initiated event for non-volatile memory data movement and correction in response to errors data.

4. The data storage system of claim 1 , wherein the data storage system is further configured to generate the alert in response to the probability of failure value satisfying a threshold probability of failure value.

5. The data storage system of claim 1 , wherein the machine-learned model is associated with the following operations:

identifying combinations of input parameter values of the machine-learned model, the combinations capable of resulting in a non-volatile memory component failure;

ranking a set of parameters of the machine-learned model between a high ranking and a low ranking, the ranking associated with the identifying; and

selecting, from the set of parameters, the input parameters for the machine-learned model based on the high ranking.

6. The data storage system of claim 5 , wherein the machine-learned model is further associated with the following operations:

generating or modifying a set of weights to apply to input parameter values of the machine-learned model based on the ranking;

predicting a likelihood of the data storage system failing based on the ranking; and

classifying the data storage system as a failing data storage system, a failed data storage system, or a surviving data storage system.

7. The data storage system of claim 1 , wherein:

the machine-learned model is associated with training using training data from a population of data storage systems;

the population of data storage systems includes a first set of data storage systems that has failed and a second set of data storage systems that has not failed; and

the training data comprises data related to the first set of data storage systems from a first time stress is applied to the first set of data storage systems until the first set of data storage systems has failed.

8. The data storage system of claim 7 , wherein:

the machine-learned model is associated with training using an unseen data set;

the unseen data set is data from a third set of data storage systems;

the third set of data storage systems is different from the first set of data storage systems and the second set of data storage systems;

responsive to the unseen data set being provided to the machine-learned model, the unseen data set is provided in a same order of time as the unseen data set is generated; and

responsive to the unseen data set being provided to the machine-learned model, the unseen data set is provided from a first instance of time that the unseen data set is generated until a last instance of time that the unseen data set is generated.

9. The data storage system of claim 1 , wherein in response to the alert generated based on determining that the probability of failure value satisfies the second threshold probability of failure value, the one or more controllers are configured to cause no further writes from the host to the data storage system.

10. A method, comprising:

obtaining a plurality of write commands at a data storage device;

determining, based on the plurality of write commands, a number of drive-writes per period;

determining, based on the number of drive-writes per period, an amount of degradation to a non-volatile memory component of the data storage device;

generating, based on a machine-learned model, a probability of failure value, which is based on data associated with input parameters for the machine-learned model and the amount of degradation to the non-volatile memory component;

determining whether the probability of failure value satisfies one of a first threshold probability of failure value and a second threshold probability of failure value;

generating, based on determining that the probability of failure value satisfies one of the first and second threshold probability of failure values, an alert; and

in response to the alert generated based on determining that the probability of failure value satisfies the first threshold probability of failure value, obtaining a reduced number of write commands from a host,

wherein:

the amount of degradation to the non-volatile memory component comprises a throughput acceleration coefficient;

the throughput acceleration coefficient is determined based on a ratio between the number of drive-writes per period and a drive-writes per period specification;

the number of drive-writes per period is determined based on the plurality of write commands and a total amount of data written to the non-volatile memory component; and

the drive-writes per period specification is a pre-determined number of drive-writes per period for the non-volatile memory component.

11. The method of claim 10 , wherein:

the throughput acceleration coefficient is determined by dividing the number of drive-writes per period by the drive-writes per period specification;

the number of drive-writes per period is determined based on the plurality of write commands, the total amount of data written to the non-volatile memory component, and a data storage capacity of the non-volatile memory component; and

the drive-writes per period specification is the pre-determined number of drive-writes per period for the non-volatile memory component to handle in order for the data storage device to operate for a given period of time.

12. The method of claim 10 , wherein the alert is generated in response to the probability of failure value satisfying a threshold probability of failure value.

13. The method of claim 10 , wherein the machine-learned model is associated with the following operations:

identifying combinations of input parameter values of the machine-learned model, the combinations capable of resulting in a non-volatile memory component failure;

ranking a set of parameters of the machine-learned model;

generating or modifying a set of weights to apply to input parameter values of the machine-learned model based on the ranking;

predicting a likelihood of the data storage device failing based on the ranking; and

classifying the data storage device as a failing data storage device, a failed data storage device, or a surviving data storage device.

14. The method of claim 10 , wherein in response to the alert generated based on determining that the probability of failure value satisfies the second threshold probability of failure value, no further writes are made from the host to the data storage system.

15. An apparatus, comprising:

means for obtaining a plurality of write commands;

means for determining, based on the plurality of write commands, a number of drive-writes per period;

means for determining, based on the number of drive-writes per period, an amount of degradation to a non-volatile memory component,

wherein the amount of degradation to the non-volatile memory component comprises a throughput acceleration coefficient;

means for generating, based on a machine-learned model, a probability of failure value, which is based on data associated with input parameters for the machine-learned model and the amount of degradation to the non-volatile memory component;

means for determining whether the probability of failure value satisfies one of a first threshold probability of failure value and a second threshold probability of failure value;

means for generating, based on determining that the probability of failure value satisfies one of the first and second threshold probability of failure values, an alert;

means for, in response to the alert generated based on determining that the probability of failure value satisfies the first threshold probability of failure value, obtaining a reduced number of write commands from a host;

means for determining the throughput acceleration coefficient based on a ratio between the number of drive-writes per period and a drive-writes per period specification; and

means for determining the number of drive-writes per period based on the plurality of write commands and a total amount of data written to the non-volatile memory component,

wherein the drive-writes per period specification is a pre-determined number of drive-writes per period for the non-volatile memory component.

16. The apparatus of claim 15 , wherein:

the means for determining the throughput acceleration coefficient comprises means for determining the throughput acceleration coefficient by dividing the number of drive-writes per period by the drive-writes per period specification;

the means for determining the number of drive-writes per period comprises means for determining the number of drive-writes per period based on the plurality of write commands, the total amount of data written to the non-volatile memory component, and a data storage capacity of the non-volatile memory component; and

the drive-writes per period specification is the pre-determined number of drive-writes per period for the non-volatile memory component to handle in order for the apparatus to operate for a given period of time.

17. The apparatus of claim 15 , wherein the machine-learned model is associated with the following operations:

identifying combinations of input parameter values of the machine-learned model, the combinations capable of resulting in a non-volatile memory component failure;

ranking a set of parameters of the machine-learned model;

generating or modifying a set of weights to apply to input parameter values of the machine-learned model based on the ranking

predicting a likelihood of the apparatus failing based on the ranking; and

classifying the apparatus as a failing data storage system, a failed data storage system, or a surviving data storage system.

18. The apparatus of claim 15 , wherein the data associated with the input parameters comprises:

non-volatile memory translation layer management events data;

controller initiated data movement for non-volatile memory endurance management event data;

non-volatile memory defect density data;

controller initiated data movement in non-volatile memory event data;

controller initiated data movement in non-volatile memory for managing defragmentation of the non-volatile memory event data;

non-volatile memory bit error rate data;

controller initiated non-volatile memory erase or rewrite operation management data; and

controller initiated event for non-volatile memory data movement and correction in response to errors data.

19. The apparatus of claim 15 , wherein:

the machine-learned model is associated with training using training data from a population of data storage systems;

the population of data storage systems includes a first set of data storage systems that has failed and a second set of data storage systems that has not failed; and

the training data comprises data related to the first set of data storage systems from a first time stress is applied to the first set of data storage systems until the first set of data storage systems has failed.

20. The apparatus of claim 15 , further comprising: means for, in response to the alert generated based on determining that the probability of failure value satisfies the second threshold probability of failure value, obtaining no further writes from the host.

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 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2020
From: SARKAR, JAY; PETERSON, CORY; SANAYEI, AMIR; MOHAN, BHUSHAN; ZHANG, YAO
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053207/0948 →