IP Library Granted Patent US 11,809,742
Granted Patent B2
US 11,809,742 · App. 17/479,795 · Granted Nov 7, 2023

Recovery from HMB loss

Inventors: Amir Segev (Meiter, IL); Shay Benisty (Beer Sheva, IL)
Assignee: Western Digital Technologies, Inc.
G06F3/0656G06F3/0619G06F3/0659G06F3/0679G06F12/0292
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,809,742
App. No.
17/479,795
Granted
Nov 7, 2023
Kind
B2
Abstract

A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to determine that a connection to a host memory buffer (HMB) of a host device is lost, load a most recent copy of a flash translation layer (FTL) table from the memory device, generate one or more updates to the most recent copy of the FTL table, and re-enable command fetching. The controller is further configured to mark one or more commands in a command database with an error condition upon the determining. After a boot of the connection, the controller is further configured to copy the FTL tables from the memory device to the HMB, work on commands, save FTL table differences between the HMB and the memory device, and update the FTL tables in the memory device.

Claims (37)

1 . A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, the controller configured to:

determine that a connection to a host memory buffer (HMB) of a host device is lost, wherein the connection between the host device and the data storage device is rebooted, wherein the rebooting occurs responsive to a re-try limit of a command being reached, wherein re-trying the command comprises resending the command to the data storage device from the host device responsive to a re-try suggestion sent by the controller to the host device, wherein the HMB stores an updated copy of a flash translation layer (FTL) table;

load a most recent copy of a FTL table from the memory device to the controller, wherein the most recent copy of the FTL table is a previous version of the updated copy of the FTL table;

generate one or more updates to the most recent copy of the FTL table; and

re-enable command fetching.

2 . The data storage device of claim 1 , wherein the controller is further configured to disable the command fetching upon determining that the connection to the HMB of the host device is lost.

3 . The data storage device of claim 1 , wherein re-enabling the fetching comprises fetching one or more commands from the host device.

4 . The data storage device of claim 1 , wherein the memory device is a non-volatile memory device.

5 . The data storage device of claim 1 , wherein the controller is configured to store the FTL table in both HMB and the memory device.

6 . The data storage device of claim 1 , wherein the generated one or more updates are stored in the memory device.

7 . The data storage device of claim 6 , wherein the controller is configured to update a FTL table stored in the HMB with the generated one or more updates stored in the memory device upon restoration of the connection to the HMB.

8 . The data storage device of claim 1 , wherein the controller is further configured to mark one or more commands in a command database with an error condition upon the determining.

9 . The data storage device of claim 8 , wherein the error condition suggests to the host device to re-try sending the marked one or more commands to the controller to be executed, and wherein the controller is further configured to execute the marked one or more commands after the re-enabling and receiving the marked one or more commands from the host device.

10 . A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, the controller configured to:

determine that a connection between the controller and a host memory buffer (HMB) of a host device has been restored, wherein the connection between the host device and the data storage device is rebooted, and wherein the rebooting occurs responsive to a re-try limit of a command being reached, wherein re-trying the command comprises resending the command to the data storage device from the host device responsive to a re-try suggestion sent by the controller to the host device;

copy a first flash translation layer (FTL) table from the memory device to the HMB, wherein the copying occurs responsive to determining that the connection between the controller and the HMB has been restored, wherein the HMB stores a second FTL table, and wherein the first FTL table and the second FTL table are different versions; and

execute one or more commands stored in a command database.

11 . The data storage device of claim 10 , wherein the one or more commands includes one or more marked commands, and wherein the one or more marked commands comprises commands that are marked with an error condition due to an HMB loss.

12 . The data storage device of claim 11 , wherein the controller is further configured to update the second FTL table stored in the HMB with the executed one or more commands.

13 . The data storage device of claim 12 , wherein the controller is further configured to determine that the first FTL table stored in the memory device is different than the second FTL table stored in the HMB.

14 . The data storage device of claim 13 , wherein the controller is further configured to update the first FTL table stored in the memory device with the second FTL table stored in the HMB upon the determining that the first FTL table stored in the memory device is different than the second FTL table stored in the HMB.

15 . The data storage device of claim 10 , wherein the controller is further configured to determine that the second FTL table stored in the HMB is different than the first FTL table stored in the memory device.

16 . The data storage device of claim 15 , wherein the copying comprises updating the second FTL table stored in the HMB with changes from the first FTL table stored in the memory device upon determining that the second FTL table stored in the HMB is different than the first FTL table stored in the memory device.

17 . A data storage device, comprising:

memory means; and

a controller coupled to the memory means, the controller configured to:

receive a command from a host device for a first time;

send an error indication with a re-try suggestion for the command to the host device, wherein a connection between the host device and the data storage device is rebooted responsive to a re-try limit of a command being reached;

receive, after the connection is rebooted, the command from the host device for a second time in response to the sending the re-try suggestion; and

execute the command in response to receiving the command from the host device for the second time, wherein between sending the error indication and executing the command, the controller is configured to load a flash translation layer (FTL) table from the memory means.

18 . The data storage device of claim 17 , wherein the controller is further configured to determine that a connection to a host memory buffer (HMB) has been lost.

19 . The data storage device of claim 17 , wherein the controller is further configured to receive an indication for a reboot operation from the host device due to the re-try limit being reached.

20 . The data storage device of claim 19 , wherein the controller is further configured to receive a reboot command from the host device due to the indication for the reboot operation.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
RELEASE OF SECURITY INTEREST AT REEL 058426 FRAME 0815 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0679 →
SECURITY INTEREST Recorded Dec 9, 2021
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 058426/0815 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2021
From: SEGEV, AMIR; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 057541/0454 →