Should PS_REQ, PS_ACK be extended type?

Gerry.Houlder at seagate.com Gerry.Houlder at seagate.com
Mon Feb 9 08:18:13 PST 2009


* From the T10 Reflector (t10 at t10.org), posted by:
* Gerry.Houlder at seagate.com
*
I have received inquiries from folks looking at implementing the new PS_REQ
(x), PS_ACK, and PS_NAK primitives. They have pointed out that all other
cases in SAS where primitives use a request/ response model, the primitives
are the single type.
Use of the extended type primitive for request/ response cases causes a
number of implementation issues.
(a) How does the receiving end differentiate between a single PS_REQ (x)
that has idle dwords between them and possible multiple PS_REQ (x)
primitives where some of the duplicates are lost? There are no rules about
how often PS_REQ (x) can be sent.
(b) Similar race condition issues can arise when multiple PS_REQ (x) have
been sent and the sending end has to match up PS_NAK and PS_ACK responses
with the appropriate SP_REQ (x).
It has been suggested that it is simpler to use single type PS_REQ (x),
PS_NAK, and PS_ACK. If we are concerned about missing a request or
response, the function can be retried after the 1 msec timeout expires for
a couple of times before giving up. This would allow these primitives to
use similar generation/ detection logic as other request/ response
primitives used in SAS (this logic is often in hardware).
Please discuss this subject with appropraite hardware designers ar your
company. I ask that this subject be covered in the Protocol WG as part of
discussion of the intergration of proposals 08-015, 08-206, et. al.
*
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at t10.org



More information about the T10 mailing list