IP Library › Granted Patent US 11,971,789
Granted Patent B2
US 11,971,789 · App. 17/002,768 · Granted Apr 30, 2024

Systems, methods, and apparatus for crash recovery in storage devices

Inventor: Melky Arputharaja Siluvainathan (San Jose, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F11/1471G06F3/0607G06F3/0658G06F11/1441G06F21/57G06F3/0679
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,971,789
App. No.
17/002,768
Granted
Apr 30, 2024
Kind
B2
Abstract

A method of operating a storage device may include establishing a connection between a host and the storage device, detecting a crash of the storage device, suspending, based on detecting the crash, processing commands from the host through the connection, recovering from the crash of the storage device, and resuming, based on recovering from the crash, processing commands from the host through the connection. The method may further include notifying the host of the crash based on detecting the crash of the storage device. Notifying the host may include sending an asynchronous event notification to the host through the connection. Notifying the host may include asserting a controller status indicator. The method may further include receiving a reset from the host, and resetting a storage interface based on receiving the reset from the host. The method may further include maintaining the connection through a communication interlace.

Claims (55)

1. A method of operating a storage device comprising:

establishing a connection between a host and the storage device;

detecting a crash of the storage device;

suspending, based on detecting the crash, processing commands, via a processor of the storage device, from the host through the connection;

recovering from the crash of the storage device, wherein recovering from the crash of the storage device includes:

masking an event of a first type;

initiating a first reset operation of the processor of the storage device;

transferring, by the processor of the storage device, data from a first medium of the storage device to a second medium of the storage device; and

initiating a second reset operation of the processor of the storage device; and

resuming, based on recovering from the crash, processing commands from the host through the connection, including executing the masked event of a first type.

2. The method of claim 1 , further comprising notifying the host of the crash based on detecting the crash of the storage device.

3. The method of claim 2 , wherein notifying the host comprises sending an asynchronous event notification to the host through the connection.

4. The method of claim 2 , wherein notifying the host comprises asserting a controller status indicator.

5. The method of claim 2 , further comprising:

receiving a third reset operation from the host; and

resetting a storage interface based on receiving the third reset operation from the host.

6. The method of claim 5 , wherein:

the third reset operation comprises a controller reset; and

resetting the storage interface comprises resetting a controller in the storage interface.

7. The method of claim 1 , further comprising maintaining the connection through a communication interface.

8. The method of claim 7 , wherein recovering from the crash comprises enabling a host reset of the communication interface.

9. The method of claim 1 , wherein recovering from the crash of the storage device further comprises partially restarting the processor of the storage device and storing crash dump data using the partially restarted processor of the storage device.

10. The method of claim 9 , wherein recovering from the crash of the storage device further comprises:

resetting a storage media module; and

storing the crash dump data in the storage media module.

11. The method of claim 1 , wherein recovering from the crash of the storage device further includes processing an event of a second type at a storage interface.

12. The method of claim 11 , wherein the event of the second type is associated with maintaining the connection.

13. The method of claim 12 , wherein the event of the second type is one of a port-level reset, a function-level reset, a control transaction, or a memory transaction.

14. A storage device comprising:

a storage media module;

a communication interface arranged to provide a connection between the storage device and a host; and

recovery logic configured to:

perform a crash recovery process based on detecting a crash of the storage device;

maintain the connection based on the crash recovery process, wherein the crash recovery process includes:

masking an event of a first type;

initiating a first reset operation of a processor of the storage device;

transferring, by the processor of the storage device, data from a first medium of the storage device to a second medium of the storage device; and

initiating a second reset operation of the processor of the storage device; and

resume, based on recovering from the crash, via the processor of the storage device, processing commands from the host through the connection, including executing the masked event of a first type.

15. The storage device of claim 14 , further comprising a storage interface coupled between the communication interface and the storage media module.

16. The storage device of claim 15 , wherein the storage interface is configured to reset based on a reset event from the host.

17. The storage device of claim 14 , wherein the recovery logic is further configured to notify the host of the crash of the storage device.

18. A method comprising:

maintaining a connection between a storage device and a host through a communication interface;

detecting a crash at the storage device;

notifying the host of the crash through the connection; and

recovering from the crash of the storage device, including:

masking an event of a first type, based on detecting the crash;

initiating a first reset operation of a processor of the storage device;

transferring, by the processor of the storage device, data from a first medium of the storage device to a second medium of the storage device; and

initiating a second reset operation of the processor of the storage device; and

resuming, based on recovering from the crash, via the processor of the storage device, processing commands from the host through the connection, including executing the masked event of a first type.

19. The method of claim 18 , the recovering from the crash of the storage device further comprising:

partially restarting the processor of the storage device; and

saving crash dump data using the processor of the storage device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2023
From: SILUVAINATHAN, MELKY ARPUTHARAJA
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 064121/0096 →
Continuity (2)
Provisional Application 63039976 · Jun 16, 2020
Related Publication 20210390022A1 · Dec 16, 2021
Cited By (1)
US 12,748,654