IP Library Granted Patent US 10,891,179
Granted Patent B2
US 10,891,179 · App. 16/167,254 · Granted Jan 12, 2021

Data storage device with deadlock recovery capabilities

Inventors: Kapil Sundrani (Bangalore, IN); Srinivasa Rao Paidi (Bangalore, IN)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F11/0757G06F11/0793G06F11/141G06F11/1443H04L69/326H04L69/40G06F2201/81G06F2201/825
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 10,891,179
App. No.
16/167,254
Granted
Jan 12, 2021
Kind
B2
Abstract

Aspects of the disclosure provide a data storage device that includes a non-volatile memory and a controller. The controller includes a memory and a processor. The processor is configured to determine whether there is a deadlock in a communication link between the data storage apparatus and a host; and transmit, when there is a deadlock in the communication link between the data storage apparatus and the host, a recovery command to the host to re-establish a link layer connection between the data storage apparatus and the host.

Claims (37)

1. A data storage apparatus comprising:

a non-volatile memory (NVM); and

a controller coupled to the NVM, the controller comprising:

a memory;

a processor coupled to the memory, the processor configured to:

determine whether there is a deadlock in a communication link between the data storage apparatus and a host; and

transmit, when there is a deadlock in the communication link between the data storage apparatus and the host, a recovery command to the host to re-establish a link layer connection between the data storage apparatus and the host, wherein the recovery command is constructed using a transport layer of the communication link.

2. The data storage apparatus of claim 1 , wherein determining whether there is a deadlock in the communication link between the data storage apparatus and the host includes using a timer to determine whether time has expired.

3. The data storage apparatus of claim 1 , wherein determining whether there is a deadlock in the communication link between the data storage apparatus and the host includes using a timer to determine whether a timer value is equal or greater than a threshold value.

4. The data storage apparatus of claim 1 , wherein determining whether there is a deadlock in the communication link between the data storage apparatus and the host includes determining whether there is a deadlock at the link layer of the communication link.

5. The data storage apparatus of claim 1 , wherein the recovery command includes a Frame Information Structure (FIS).

6. The data storage apparatus of claim 1 , wherein the communication link between the data storage apparatus and the host, uses an application layer, a command layer, the transport layer, the link layer, a PHY layer and a physical layer.

7. The data storage apparatus of claim 1 , wherein the controller further includes a buffer coupled to the processor.

8. The data storage apparatus of claim 7 , wherein during an operation of the data storage apparatus, the buffer includes a plurality of data to be transmitted to the host, the plurality of data is maintained in the buffer when the link layer connection is re-established between the data storage apparatus and the host.

9. The data storage apparatus of claim 1 , wherein the processor is further configured to receive a particular recovery command from the host.

10. The data storage apparatus of claim 9 , wherein the particular recovery command causes the data storage apparatus to re-establish a link layer connection with the host.

11. A method for operating a data storage apparatus, comprising:

determining whether there is a deadlock in a communication link between the data storage apparatus and a host; and

transmitting, when there is a deadlock in the communication link between the data storage apparatus and the host, a recovery command to the host to re-establish a link layer connection between the data storage apparatus and the host, wherein the recovery command is constructed by a processor of the data storage apparatus using a transport layer of the communication link.

12. The method of claim 11 , wherein the recovery command includes a Vendor Unique (VU) Frame Information Structure (FIS).

13. The method of claim 11 , wherein the recovery command is an indication that the data storage apparatus has detected a deadlock in the communication link between the data storage apparatus and the host.

14. The method of claim 11 , further comprising transmitting a command in response to a prior command that was received prior to receiving the recovery command.

15. The method of claim 11 , wherein receiving the recovery command includes processing the recovery command up to the link layer.

16. The method of claim 11 , wherein receiving the recovery command includes processing the recovery command up to the transport layer.

17. An apparatus for operating a data storage device comprising:

means for non-volatile storing of data; and

means for controlling the means for non-volatile storing of data, comprising:

means for storing data; and

means for processing data coupled to the means for storing data, wherein the means for processing data is configured to:

determine whether there is a deadlock at a link layer of a communication link between the data storage device and a host; and

transmit to the host, when there is a deadlock in the communication link between the data storage device and the host, a recovery command to re-establish a link layer connection between the data storage device and the host; and

a buffer coupled to the means for processing data,

wherein the buffer is configured to store a plurality of data to be transmitted to the host, and

wherein when a deadlock in the communication link between the data storage apparatus and the host has occurred and the link layer connection is re-established between the data storage device and the host, the buffer is configured to maintain storing data that has not been transmitted to the host.

18. The apparatus of claim 17 , wherein determining whether there is a deadlock in the communication link between the data storage device and the host, includes using a countdown clock to determine whether time has expired.

19. The apparatus of claim 17 , wherein determining whether there is a deadlock in the communication link between the data storage device and the host, includes using a timer to determine whether a timer value is equal or greater than a threshold value.

20. The apparatus of claim 17 , wherein determining whether there is a deadlock in a communication link between the data storage device and the host, includes determining whether a buffer utilization rate of the buffer is equal or above a certain value.

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 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2018
From: SUNDRANI, KAPIL; PAIDI, SRINIVASA RAO
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 047268/0032 →
Cited By (1)
US 12,632,181