IP Library Granted Patent US 7,360,119
Granted Patent B1
US 7,360,119 · App. 10/795,183 · Granted Apr 15, 2008

Method and apparatus for handling SAS/SATA communication deadlock

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 7,360,119
App. No.
10/795,183
Granted
Apr 15, 2008
Kind
B1
Abstract

Broadly speaking, a method and apparatus is provided for identifying and responding to a deadlock condition in a SAS/SATA communication process. More specifically, an initiator device involved in the SAS/SATA communication process is defined to recognize a received error signal as an indication of a potential communication deadlock condition. The initiator device is further defined to promptly respond to the received error signal with a course of action for recovering from the communication deadlock condition.

Claims (55)

1. A method for identifying and responding to a deadlock condition in an electronic communication process, comprising:

performing an electronic communication process between an initiator device and a target device through an expander device;

receiving an error signal at the initiator device from the expander device;

operating the initiator device to recognize the error signal as an indication of a potential deadlock condition; and

operating the initiator device to respond to the potential deadlock condition by instructing the expander device to send a reset command to the target device.

2. A method for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 1 , wherein the electronic communication process is performed in accordance with a Serial Attached SCSI (SAS) protocol, the error signal being represented as a <SATA_ERROR> primitive.

3. A method for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 1 , further comprising:

restarting the electronic communication process between the initiator device and the target device through the expander device.

4. A method for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 1 , wherein operating the initiator device to respond to the potential deadlock condition includes operating the initiator device to send a command to the target device through the expander device, the command being defined to cause the target device to provide a response that is indicative of a status of the target device.

5. A method for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 4 , wherein a proper response by the target device to the command is indicative of a satisfactory status of the target device.

6. A method for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 5 , further comprising:

continuing the electronic communication process between the initiator device and the target device through the expander device from a communication state existing when the error signal was received by the initiator device.

7. A method for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 4 , wherein an improper response by the target device to the command verifies a presence of a deadlock condition.

8. A method for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 7 , further comprising:

operating the initiator device to instruct the expander device to send a reset command to the target device; and

restarting the electronic communication process between the initiator device and the target device through the expander device.

9. An initiator device configured to identify and respond to a deadlock condition during an electronic communication process, comprising:

circuitry configured to enable communication with a target device through an expander device;

circuitry configured to receive an error signal from the expander device;

circuitry configured to recognize the error signal as an indication of a potential deadlock condition; and

circuitry configured to respond to the potential deadlock condition by instructing the expander device to send a reset command to the target device.

10. An initiator device configured to identify and respond to a deadlock condition during an electronic communication process as recited in claim 9 , further comprising:

circuitry configured to restart the electronic communication process between the initiator device and the target device through the expander device.

11. An initiator device configured to identify and respond to a deadlock condition during an electronic communication process as recited in claim 9 , wherein the circuitry configured to respond to the potential deadlock condition includes circuitry configured to send a command to the target device through the expander device, the command being defined to cause the target device to provide a response that is indicative of a status of the target device.

12. An initiator device configured to identify and respond to a deadlock condition during an electronic communication process as recited in claim 11 , further comprising:

circuitry configured to recognize a proper response by the target device to the command; and

circuitry configured to continue the electronic communication process between the initiator device and the target device through the expander device from a communication state corresponding to receipt of the error signal by the initiator device.

13. An initiator device configured to identify and respond to a deadlock condition during an electronic communication process as recited in claim 11 , further comprising:

circuitry configured to recognize an improper response by the target device to the command;

circuitry configured to instruct the expander device to send a reset command to the target device; and

circuitry configured to restart the electronic communication process between the initiator device and the target device through the expander device.

14. A computer readable media containing program instructions for identifying and responding to a deadlock condition in an electronic communication process, comprising:

program instructions for performing an electronic communication process between an initiator device and a target device through an expander device;

program instructions for receiving an error signal at the initiator device from the expander device;

program instructions for operating the initiator device to recognize the error signal as an indication of a potential deadlock condition; and

program instructions for operating the initiator device to respond to the potential deadlock condition by instructing the expander device to send a reset command to the target device.

15. A computer readable media containing program instructions for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 14 , wherein the program instructions for operating the initiator device to respond to the potential deadlock condition include program instructions for restarting the electronic communication process between the initiator device and the target device through the expander device.

16. A computer readable media containing program instructions for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 14 , wherein the program instructions for operating the initiator device to respond to the potential deadlock condition includes program instructions for operating the initiator device to send a command to the target device through the expander device, the command being defined to cause the target device to provide a response that is indicative of a status of the target device.

17. A computer readable media containing program instructions for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 16 , further comprising:

program instructions for recognizing a proper response by the target device to the command as being indicative of a satisfactory status of the target device; and

program instructions for continuing the electronic communication process between the initiator device and the target device through the expander device from a communication state existing when the error signal was received by the initiator device.

18. A computer readable media containing program instructions for identifying and responding to a deadlock condition in an electronic communication process as recited in claim 16 , further comprising:

program instructions for recognizing an improper response by the target device to the command as being verification of a presence of a deadlock condition;

program instructions for operating the initiator device to instruct the expander device to send a reset command to the target device; and

program instructions for restarting the electronic communication process between the initiator device and the target device through the expander device.

19. A method for identifying and responding to a deadlock condition in an electronic communication process, comprising:

performing an electronic communication process between an initiator device and a target device through an expander device;

receiving an error signal at the initiator device from the expander device;

operating the initiator device to recognize the error signal as an indication of a potential deadlock condition; and

in response to initiator device recognition of the potential deadlock condition, operating the initiator device to send a command to the target device through the expander device, the command being defined to cause the target device to provide a response that is indicative of a status of the target device.

20. An initiator device configured to identify and respond to a deadlock condition during an electronic communication process, comprising:

circuitry configured to enable communication with a target device through an expander device;

circuitry configured to receive an error signal from the expander device;

circuitry configured to recognize the error signal as an indication of a potential deadlock condition; and

circuitry configured to respond to the potential deadlock condition by sending a command to the target device through the expander device, the command being defined to cause the target device to provide a response that is indicative of a status of the target device.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Mar 9, 2022
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059358/0001 →
RELEASE OF SECURITY INTEREST Recorded Feb 25, 2022
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
Reel/Frame 059333/0222 →
SECURITY INTEREST Recorded Sep 18, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 047103/0206 →
SECURITY INTEREST Recorded Jun 25, 2018
From: MICROCHIP TECHNOLOGY INCORPORATED; SILICON STORAGE TECHNOLOGY, INC.; ATMEL CORPORATION; MICROSEMI CORPORATION; MICROSEMI STORAGE SOLUTIONS, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 046426/0001 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2013
From: ADAPTEC, INC.
To: PMC-SIERRA, INC.
Reel/Frame 030899/0567 →