IP Library › Granted Patent US 11,366,714
Granted Patent B2
US 11,366,714 · App. 16/716,277 · Granted Jun 21, 2022

Behavior-driven die management on solid-state drives

Inventor: Jelena Ilic (Aliso Viejo, CA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F11/0793G06F11/073G11C29/04
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,366,714
App. No.
16/716,277
Granted
Jun 21, 2022
Kind
B2
Abstract

Systems, methods, and software are disclosed herein that enhance the management of storage sub-systems with solid-state media. In various implementations, a method comprises collecting time series data indicative of an accumulation of bad blocks within dies on one or more solid-state drives. For one or more of the dies, the method includes identifying one or more behaviors of a die based at least on a portion of the time series data associated with the die and determining to retire the die based at least on one or more identified behaviors of the die. One or more of the dies on the one or more solid-state drives may then be retired accordingly.

Claims (55)

1. A method comprising:

collecting time series data indicative of an accumulation of bad blocks within dies on one or more solid-state drives;

for one or more of the dies:

identifying one or more behaviors of a die based at least on a portion of the time series data associated with the die; and

determining to retire the die based at least on one or more identified behaviors of the die; and

retiring the one or more of the dies on the one or more solid-state drives.

2. The method of claim 1 wherein each of the one or more solid-state drives comprises:

a plurality of memory devices;

a plurality of dies on each of the plurality of memory devices;

a logical subdivision of each of the plurality of dies into a plurality of blocks; and

a controller operatively coupled with the plurality of memory devices.

3. The method of claim 2 wherein retiring the one or more of the dies comprises:

receiving a retire command in the controller of a solid-state drive to retire an identified die;

relocating user data from the identified die to one or more other dies; and

marking the plurality of blocks associated with the identified die as unusable.

4. The method of claim 3 wherein identifying the one or more behaviors of the die based at least on the portion of the time series data associated with the die comprises feeding a machine learning model with at least the portion of the time series data associated with the die, resulting in an indication of one or more of a set of possible behaviors.

5. The method of claim 4 wherein determining to retire the die based at least on the one or more identified behaviors of the die comprises mapping the one or more identified behaviors to one or more of a set of commands, wherein the set of commands includes a retire command.

6. The method of claim 5 wherein the one or more of the set of possible behaviors comprises a rate of increase of bad blocks, and wherein the rate of increase of bad blocks maps to the retire command.

7. The method of claim 4 further comprising training the machine learning model on historical time series data indicative of a historical accumulation of bad blocks at a die level of operation, correlated with one or more historical behaviors at the die level of operation.

8. The method of claim 3 wherein identifying the one or more behaviors of the die based at least on the portion of the time series data associated with the die comprises determining a rate of increase of bad blocks on the die from at least the portion of the time series data associated with the die.

9. The method of claim 8 wherein determining to retire the die based at least on the one or more identified behaviors of the die comprises determining that the rate of increase of the bad blocks on the die exceeds a threshold rate of increase.

10. The method of claim 3 wherein retiring the one or more of the dies comprises sending one or more retire commands to the one or more solid-state drives.

11. A computing apparatus comprising:

one or more computer readable media;

one or more processors operatively coupled with the one or more computer readable media; and

program instructions stored on the one or more computer readable media that, when executed by the one or more processors, direct the computing apparatus to at least:

identify time series data indicative of an accumulation of bad blocks within dies on one or more memory devices;

for one or more of the dies:

identify one or more behaviors of a die based at least on a portion of the time series data associated with the die; and

determine to retire the die based at least on one or more identified behaviors of the die; and

retire the one or more of the dies.

12. The computing apparatus of claim 11 wherein:

the one or more memory devices reside on one or more solid-state drives; and

each of the one or more solid-state drives comprises:

a plurality of memory devices;

a plurality of dies on each of the plurality of memory devices;

a logical subdivision of each of the plurality of dies into a plurality of blocks; and

a controller operatively coupled with the plurality of memory devices.

13. The computing apparatus of claim 12 wherein, to identify the one or more behaviors of the die based at least on the portion of the time series data associated with the die, the program instructions direct the computing apparatus to:

input at least the portion of the time series data associated with the die to a machine learning model; and

obtain output from the machine learning model comprising an indication of one or more of a set of possible behaviors.

14. The computing apparatus of claim 13 wherein to determine to retire the die based at least on the one or more identified behaviors of the die, the program instructions direct the computing apparatus to map the one or more identified behaviors to one or more of a set of commands, wherein the set of commands includes a retire command.

15. The computing apparatus of claim 14 wherein the one or more of the set of possible behaviors comprises a rate of increase of bad blocks, and wherein the rate of increase of bad blocks maps to the retire command.

16. The computing apparatus of claim 11 wherein to identify the one or more behaviors of the die based at least on the portion of the time series data associated with the die, the program instructions direct the computing apparatus to determine a rate of increase of bad blocks on the die from at least the portion of the time series data associated with the die.

17. The computing apparatus of claim 16 wherein to determine to retire the die based at least on the one or more identified behaviors of the die, the program instructions direct the computing apparatus to determining that the rate of increase of the bad blocks on the die exceeds a threshold rate of increase.

18. A solid-state drive comprising:

a plurality of memory devices;

a plurality of dies on each of the plurality of memory devices; and

a controller coupled with the plurality of memory devices and configured to:

generate time series data indicative of an accumulation of bad blocks within the plurality of dies and write the time series data to random access memory on the controller;

in response to a panic event, write the time series data to one or more of the memory devices;

send the time series data to a supervisory node external to the solid-state drive in response to a request from the supervisory node; and

retire a subset of the plurality of dies in response to a command from the supervisory node.

19. The solid-state drive of claim 18 further comprising a host-controller interface that operatively couples the solid-state drive to a host and over which the controller receives the command from the supervisory node.

20. The solid-state drive of claim 18 further comprising a network-controller interface that operatively couples the solid-state drive to a network and over which the controller receives the command from the supervisory node.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2019
From: ILIC, JELENA
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 051298/0498 →
Continuity (1)
Related Publication 20210182188A1 · Jun 17, 2021
Cited By (1)
US 12,243,605