IP Library › Granted Patent US 12,619,498
Granted Patent B2
US 12,619,498 · App. 18/676,886 · Granted May 5, 2026

Data storage device and method for transaction recovery using extra timeout

Inventors: Eyal Hamo (Naharia, IL); Sagi Taragan (Ramat Ishay, IL); Michael Edry (Haifa, IL)
Assignee: Sandisk Technologies, Inc.
G06F11/1415G06F2201/805
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,619,498
App. No.
18/676,886
Granted
May 5, 2026
Kind
B2
Abstract

A data storage device and method are disclosed for transaction recovery using extra timeout. In one embodiment, a data storage device is provided comprising a memory and one or more processors. The one or more processors, individually or in combination, are configured to: receive a command from a host, wherein the command is associated with a timeout window; begin processing the command; and after beginning processing the command but prior to expiration of the timeout window: determine that the command will not be completed prior to expiration of the timeout window; and send a request to the host for an extension of the timeout window. Other embodiments are provided.

Claims (43)

1 . A data storage device comprising:

a memory; and

one or more processors, individually or in combination, configured to:

receive a command from a host, wherein the command is associated with a timeout window;

begin processing the command; and

after beginning processing the command but prior to expiration of the timeout window:

determine that the command will not be completed prior to expiration of the timeout window;

send a request to the host for an extension of the timeout window; and

perform a data-storage-device-initiated reset prior to expiration of the extension of the timeout window.

2 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to:

receive an acknowledgment from the host that the request has been granted.

3 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to:

receive a command from the host to reset the data storage device in response to the request not being granted.

4 . The data storage device of claim 1 , wherein the request sent to the host specifies an amount of time for the extension.

5 . The data storage device of claim 1 , wherein the host determines an amount of time for the extension.

6 . The data storage device of claim 1 , wherein information about the timeout window is provided to the data storage device by the host.

7 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to:

continue processing the command irrespective of whether a response to the request was received by the host.

8 . The data storage device of claim 1 , wherein the command will not be completed prior to expiration of the timeout window due to a high volume of commands or an internal background operation task that overloads the data storage device and prevents the command from being completed prior to expiration of the timeout window.

9 . The data storage device of claim 1 , wherein the command will not be completed prior to expiration of the timeout window due a lack of available memory that leads to the controller freeing more space in the memory by relocating data.

10 . The data storage device of claim 1 , wherein the data storage device begins processing the command without performing a handshake with the host to confirm that processing of the command should begin.

11 . The data storage device of claim 1 , wherein the data storage device begins processing the command without first determining that the command will be able to be completed prior to expiration of the timeout window.

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

13 . A method comprising:

performing in a data storage device comprising a memory:

receiving a command from a host, wherein the command is to be completed prior to an expiration of a predetermined period of time;

beginning processing the command without knowing whether the command will be completed prior to the expiration of the predetermined period of time;

after beginning processing the command, determining that the command will not be completed prior to the expiration of the predetermined period of time due to a delay caused by an issue internal to the data storage device that was unknown before beginning processing the command;

in response to determining that the command will not be completed prior to the expiration of the predetermined period of time, sending a request to the host to add additional time to the predetermined period of time, wherein the additional time is to resolve the issue internal to the data storage device that is causing the delay; and

without waiting for a response to the request from the host, continuing to process the command.

14 . The method of claim 13 , wherein the request is sent by raising an exception bit on a communication line with the host.

15 . The method of claim 13 , wherein the request is sent by toggling a communication line with the host.

16 . The method of claim 13 , wherein information about the predetermined period of time is provided to the data storage device by the host.

17 . The method of claim 13 , wherein the command will not be completed prior to expiration of the predetermined period of time due to a high volume of commands or an internal background operation task that overloads the data storage device and prevents the command from being completed prior to expiration of the predetermined period of time.

18 . The method of claim 13 , wherein the command will not be completed prior to expiration of the predetermined period of time due to a lack of available memory that leads to the data storage device freeing more space in the memory by relocating data.

19 . A data storage device comprising:

a memory; and

means for:

receiving a command from a host, wherein the command is to be completed prior to an expiration of a predetermined period of time;

beginning processing the command without knowing whether the command will be completed prior to the expiration of the predetermined period of time;

after beginning processing the command, determining that the command will not be completed prior to the expiration of the predetermined period of time due to a delay caused by an issue internal to the data storage device that was unknown before beginning processing the command;

in response to determining that the command will not be completed prior to the expiration of the predetermined period of time, sending a request to the host to add additional time to the predetermined period of time, wherein the additional time is to resolve the issue internal to the data storage device that is causing the delay; and

without waiting for a response to the request from the host, continuing to process the command.

Assignments (4)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2024
From: SANDISK TECHNOLOGIES LLC
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 069796/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: HAMO, EYAL; TARAGAN, SAGI; EDRY, MICHAEL
To: SANDISK TECHNOLOGIES LLC
Reel/Frame 067557/0169 →
Continuity (1)
Related Publication 20250370875A1 · Dec 4, 2025
References Cited (14)
US 9697152B1 · Riedy · 2017 [cited by examiner]
US 10958702B1 · Yang · 2021 [cited by examiner]
US 11409468B2 · Muthiah · 2022 [cited by applicant]
US 11805067B1 · Balasubramanian · 2023 [cited by examiner]
US 20050216664A1 · Taninaka et al. · 2005 [cited by applicant]
US 20120005404A1 · Raz et al. · 2012 [cited by applicant]
US 20140068725A1 · Zhang · 2014 [cited by examiner]
US 20170322726A1 · Walker et al. · 2017 [cited by applicant]
US 20190079676A1 · Seo et al. · 2019 [cited by applicant]
US 20190089383A1 · Funaoka · 2019 [cited by examiner]
US 20190384528A1 · Grosz · 2019 [cited by examiner]
US 20200371578A1 · Murali · 2020 [cited by examiner]
US 20230239380A1 · Crowder · 2023 [cited by examiner]
US 20240264936A1 · Kragel · 2024 [cited by examiner]