DWELL TIMERS FOR SERIAL ATTACHED SMALL COMPUTER SYSTEM INTERFACE DEVICES
Methods and structure for dwell timers in Serial Attached Small Computer System Interface (SAS) devices. An exemplary system includes a SAS end device. The SAS end device includes a physical link (PHY) operable to receive an OPEN Address Frame (OAF) from a coupled SAS device. The SAS end device also includes a controller. The controller is able to determine that the end device is presently unable to service a connection, and to wait a period of time for a dwell timer to expire. The controller is also able to service the connection by sending an OPEN_ACCEPT response if the end device becomes able to service the connection before the dwell timer expires, and to send an OPEN_REJECT (RETRY) response if the end device does not become able to service the connection before the dwell timer expires.
1 . A system comprising:
a Serial Attached Small Computer System Interface end device, comprising:
a physical link operable to receive an OPEN Address Frame from a coupled Serial Attached Small Computer System Interface device;
a controller operable to determine that the end device is presently unable to service a connection, to wait a period of time for a dwell timer to expire, to service the connection by sending an OPEN_ACCEPT response if the end device becomes able to service the connection before the dwell timer expires, and to send an OPEN_REJECT (RETRY) response if the end device does not become able to service the connection before the dwell timer expires.
2 . The system of claim 1 , wherein:
the period of the dwell timer is based on an Arbitration Wait Time indicated in the OPEN Address Frame.
3 . The system of claim 2 , wherein:
the period of the dwell timer is proportional to the Arbitration Wait Time.
4 . The system of claim 1 , wherein:
the period of the dwell timer is between about one hundred nanoseconds and about one microsecond.
5 . The system of claim 1 , wherein:
the controller is further operable to review the OPEN Address Frame to identify a device that sourced the OPEN Address Frame, and to set the period of the dwell timer based on a number of intervening expanders between the end device and the device that sourced the OPEN Address Frame.
6 . The system of claim 1 , wherein:
the controller is further operable to identify the period of the dwell timer by consulting a programmable register at the end device.
7 . The system of claim 1 , wherein:
the end device further comprises a receive buffer operable to store data for the physical link; and
wherein the controller is further operable to determine that the end device is presently unable to service the connection because the receive buffer is full.
8 . A method comprising:
receiving an OPEN Address Frame at a physical link of a Serial Attached Small Computer System Interface end device, wherein the OPEN Address Frame has been sent from a coupled Serial Attached Small Computer System Interface device;
determining that the end device is presently unable to service a connection;
waiting a period of time for a dwell timer to expire;
servicing the connection by sending an OPEN_ACCEPT response if the end device becomes able to service the connection before the dwell timer expires; and
sending an OPEN_REJECT (RETRY) response if the end device does not become able to service the connection before the dwell timer expires.
9 . The method of claim 8 , wherein:
the period of the dwell timer is based on an Arbitration Wait Time indicated in the OPEN Address Frame.
10 . The method of claim 9 , wherein:
the period of the dwell timer is proportional to the Arbitration Wait Time.
11 . The method of claim 8 , wherein:
the period of the dwell timer is between about one hundred nanoseconds and about one microsecond.
12 . The method of claim 8 , further comprising:
reviewing the OPEN Address Frame to identify a device that sourced the OPEN Address Frame; and
setting the period of the dwell timer based on a number of intervening expanders between the end device and the device that sourced the OPEN Address Frame.
13 . The method of claim 8 , further comprising:
identifying the period of the dwell timer by consulting a programmable register at the end device.
14 . The method of claim 8 , wherein:
the end device further comprises a receive buffer operable to store data for the physical link; and the method further comprises:
determining that the end device is presently unable to service the connection because the receive buffer is full.
15 . A system comprising:
a Serial Attached Small Computer System Interface end device, comprising:
a means for receiving an OPEN Address Frame from a coupled Serial Attached Small Computer System Interface device;
a means for determining that the end device is presently unable to service a connection, waiting a period of time for a dwell timer to expire, servicing the connection by sending an OPEN_ACCEPT response if the end device becomes able to service the connection before the dwell timer expires, and sending an OPEN_REJECT (RETRY) response if the end device does not become able to service the connection before the dwell timer expires.
16 . The system of claim 15 , wherein:
the period of the dwell timer is based on an Arbitration Wait Time indicated in the OPEN Address Frame.
17 . The system of claim 16 , wherein:
the period of the dwell timer is proportional to the Arbitration Wait Time.
18 . The system of claim 15 , wherein:
the period of the dwell timer is between about one hundred nanoseconds and about one microsecond.
19 . The system of claim 15 , wherein:
the means for determining is further for reviewing the OPEN Address Frame to identify a device that sourced the OPEN Address Frame, and setting the period of the dwell timer based on a number of intervening expanders between the end device and the device that sourced the OPEN Address Frame.
20 . The system of claim 15 , wherein:
the means for determining is further for identifying the period of the dwell timer by consulting a programmable register at the end device.