Method and apparatus for SAS speed adjustment
First Claim
1. A method for maintaining reliable communication between a command initiator and a target device, comprising:
- detecting, by the command initiator, an error corresponding to the target device;
determining, by the command initiator, that the error corresponds to one of a protocol error, a drive detected error, and a target device timeout;
performing, by the command initiator, a downshift evaluation for a path between the command initiator and the target device, the downshift evaluation comprising;
identifying the target device and the path between the target device and the command initiator;
determining if a time stamp is at a location in a memory, wherein the location in the memory is designated by a pointer, wherein the memory corresponds to the path and the target device;
in response to determining that a time stamp is at the location in the memory, reading the time stamp from the location in the memory;
comparing the time stamp to the current time in order to determine if the difference is less than a predetermined value;
if the difference between the time stamp and the current time is not less than the predetermined value, forgoing transmission speed downshift, andif the difference between the time stamp and the current time is less than the predetermined value, requiring transmission speed downshift;
in response to performing the downshift evaluation for the path,maintaining a transmission speed of the path if the downshift evaluation determines that forgoing transmission speed downshift is required for the path; and
reducing the transmission speed of the path if the downshift evaluation determines that transmission speed downshift is required for the path;
logging the downshift evaluation result; and
reporting any transmission speed change for the path to a user.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for maintaining reliable communication between a command initiator and a target device is provided. After the command initiator detects an error corresponding to the target device and a path between the command initiator and the target device, the command initiator performs a downshift evaluation. The initiator maintains a transmission speed if the downshift evaluation determines that forgoing a transmission speed downshift is required, and reduces the transmission speed if the downshift evaluation determines that transmission speed downshift is required. The command initiator then logs the downshift evaluation result and reports any transmission speed change to a user.
-
Citations
18 Claims
-
1. A method for maintaining reliable communication between a command initiator and a target device, comprising:
-
detecting, by the command initiator, an error corresponding to the target device; determining, by the command initiator, that the error corresponds to one of a protocol error, a drive detected error, and a target device timeout; performing, by the command initiator, a downshift evaluation for a path between the command initiator and the target device, the downshift evaluation comprising; identifying the target device and the path between the target device and the command initiator; determining if a time stamp is at a location in a memory, wherein the location in the memory is designated by a pointer, wherein the memory corresponds to the path and the target device; in response to determining that a time stamp is at the location in the memory, reading the time stamp from the location in the memory; comparing the time stamp to the current time in order to determine if the difference is less than a predetermined value; if the difference between the time stamp and the current time is not less than the predetermined value, forgoing transmission speed downshift, and if the difference between the time stamp and the current time is less than the predetermined value, requiring transmission speed downshift; in response to performing the downshift evaluation for the path, maintaining a transmission speed of the path if the downshift evaluation determines that forgoing transmission speed downshift is required for the path; and reducing the transmission speed of the path if the downshift evaluation determines that transmission speed downshift is required for the path; logging the downshift evaluation result; and reporting any transmission speed change for the path to a user. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for maintaining reliable communication between a command initiator and a target device, comprising:
-
a command initiator comprising; a memory; a target device; and a path, coupled to the command initiator and the target device, wherein the path provides communication between the command initiator and the target device, wherein the command initiator identifies the target device and the path between the target device and the command initiator, wherein after the command initiator identifies the target device and the path, the command initiator reads a time stamp from a location in the memory, wherein the memory corresponds to the path and the target device, wherein a pointer identifies the location of the time stamp, wherein the command initiator detects an error corresponding to the target device, wherein the command initiator determines that the error corresponds to one of a protocol error, a drive detected error, and a target device timeout, wherein the command initiator performs a downshift evaluation for the path, and in response to performing the downshift evaluation, the command initiator maintains the transmission speed of the path if the downshift evaluation determines that forgoing a transmission speed downshift is required for the path and the command initiator reduces the transmission speed of the path if the downshift evaluation determines that a transmission speed downshift is required for the path, wherein the command initiator logs the downshift evaluation result and reports any transmission speed change to a user. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for providing reliable point-to-point communications between an adjustable transmitter PHY and a non-adjustable receiver PHY, comprising:
-
transmitting first data from the transmitter to the receiver, wherein a path couples the transmitter to the receiver; detecting an error corresponding to the path and the receiver, by the transmitter, after transmitting the first data from the transmitter to the receiver; in response to the transmitter detecting the error corresponding to the path and the receiver, performing, by the transmitter, a downshift evaluation; determining if the downshift evaluation requires a downshift, and in response; maintaining a path transmission speed if the downshift evaluation does not require a reduction in transmission speed; and reducing the path transmission speed to a next lower path transmission speed if the downshift evaluation requires a reduction in transmission speed, if a lower path transmission speed is available; logging the downshift evaluation result; reporting any transmission speed change to a user; waiting for a timer to expire; in response to the timer expiring, performing, by the transmitter, an upshift evaluation for the path between the transmitter and the receiver; determining if the upshift evaluation requires an increase in transmission speed, and in response; maintaining path transmission speed if the upshift evaluation does not require an increase in transmission speed; and increasing the path transmission speed to a next higher path transmission speed if the upshift evaluation requires an increase in transmission speed, if a higher path transmission speed is available; logging the upshift evaluation result; and reporting any transmission speed change to a user. - View Dependent Claims (17, 18)
-
Specification