IP Library Granted Patent US 12,045,508
Granted Patent B2
US 12,045,508 · App. 17/752,305 · Granted Jul 23, 2024

Data storage device and method for device-initiated hibernation

Inventors: Judah Gamliel Hahn (Ofra, IL); Ariel Navon (Revava, IL); Shay Benisty (Beer Sheva, IL)
Assignee: Sandisk Technologies, Inc.
G06F3/0659G06F3/0607G06F3/0656G06F3/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 12,045,508
App. No.
17/752,305
Granted
Jul 23, 2024
Kind
B2
Abstract

A data storage device and method for device-initiated hibernation are provided. In one embodiment, the data storage device comprises a non-volatile memory and a controller. The controller is configured to: receive, from a host during a set-up phase of a hibernation process, a plurality of write commands with a current state of a volatile memory in the host; store the plurality of write commands in a queue, wherein the plurality of write commands are not executed during the set-up phase of the hibernation process; receive a trigger from the host to perform an execution phase of the hibernation process; and in response to receiving the trigger, execute the plurality of write commands to store the current state of the host's volatile memory in the non-volatile memory of the data storage device. Other embodiments are possible, and each of the embodiments can be used alone or together in combination.

Claims (34)

1. A data storage device comprising:

a non-volatile memory; and

one or more processors configured to:

receive, from a host during a set-up phase of a hibernation process, a plurality of write commands with a current state of a volatile memory in the host;

store the plurality of write commands in a queue, wherein the plurality of write commands is not executed during the set-up phase of the hibernation process;

receive a trigger from the host to perform an execution phase of the hibernation process; and

in response to receiving the trigger, execute the plurality of write commands to store the current state of the host's volatile memory in the non-volatile memory of the data storage device.

2. The data storage device of claim 1 , wherein the queue comprises a controller memory buffer (CMB).

3. The data storage device of claim 1 , wherein the one or more processors are further configured to send a single completion interrupt back to the host in response to the plurality of write commands having been executed, rather than sending an individual completion interrupt after each write command of the plurality of write commands has been completed.

4. The data storage device of claim 1 , wherein the one or more processors are further configured to store an indicator in a completion queue to indicate that the plurality of write commands has been executed.

5. The data storage device of claim 1 , wherein the one or more processors are further configured to inform the host that the plurality of write commands has been executed using a sideband signal.

6. The data storage device of claim 1 , wherein the trigger comprises a command from the host.

7. The data storage device of claim 1 , wherein the trigger is provided in a sideband signal from the host.

8. The data storage device of claim 1 , wherein the trigger is provided in a power loss notification (PLN) signal.

9. The data storage device of claim 1 , wherein the trigger comprises a doorbell.

10. The data storage device of claim 1 , wherein the trigger comprises a pre-determined sequence of commands.

11. The data storage device of claim 1 , wherein the one or more processors are further configured to compress the plurality of write commands into a single command that is logically equivalent to the plurality of write commands.

12. The data storage device of claim 1 , wherein the one or more processors are further configured to encrypt a data payload of each write command of the plurality of write commands on a per-command basis using a key-per input-output (IO) process.

13. The data storage device of claim 1 , wherein the non-volatile memory comprises a three-dimensional memory.

14. A data storage device comprising:

a non-volatile memory;

means for queuing a plurality of write commands during a set-up phase of a hibernation process of a host, wherein the plurality of write commands comprises a snapshot of a host system memory; and

means for performing an execution phase of the hibernation process to store the snapshot of the host system memory in the non-volatile memory in response to an instruction from the host.

15. A method comprising:

performing the following in a data storage device comprising a non-volatile memory:

receiving, from a host during a set-up phase of a hibernation process, a plurality of write commands with a current state of a volatile memory in the host;

storing the plurality of write commands in a queue, wherein the plurality of write commands is not executed during the set-up phase of the hibernation process;

receiving a trigger from the host to perform an execution phase of the hibernation process; and

in response to receiving the trigger, executing the plurality of write commands to store the current state of the host's volatile memory in the non-volatile memory of the data storage device.

16. The method of claim 15 , wherein the queue comprises a controller memory buffer (CMB).

17. The method of claim 15 , further comprising sending a single completion interrupt back to the host in response to the plurality of write commands having been executed, rather than sending an individual completion interrupt after each write command of the plurality of write commands has been completed.

18. The method of claim 15 , further comprising storing an indicator in a completion queue to indicate that the plurality of write commands has been executed.

19. The method of claim 15 , further comprising informing the host that the plurality of write commands has been executed using a sideband signal.

20. The method of claim 15 , wherein the trigger comprises a command from the host.

Assignments (8)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2022
From: HAHN, JUDAH GAMLIEL; NAVON, ARIEL; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060006/0066 →
Continuity (1)
Related Publication 20230384971A1 · Nov 30, 2023