Systems and methods for tag information validation in wide port sas connections
Abstract
Methods and structures for validating tag information received in SAS frames by any of a plurality of ports comprising a SAS wide port. Each port may have a dedicated transport layer processing element. A tag information table is shared by all of the one or more transport layer processing elements. The tag information table is used to store information regarding a particular tag value being valid for use with a particular device and is updated when the particular tag value is no longer valid for use with the particular device. The information is initially stored in response to transmission of a frame that first uses the particular tag value with the particular device. The tag information table is updated to indicate the particular tag value is no longer valid upon receipt of an appropriate SAS frame or by a processing element external to the one or more transport layer processing elements.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A Serial Attached Small Computer System Interface controller, comprising:
a plurality of transport layer processing elements with each transport layer processing element being coupled to a corresponding port of the controller; and a storage element communicatively coupled to the transport layer processing elements and operable to share access to a table of tag values and associated device identification information with each of the transport layer processing elements, wherein each transport layer processing element is operable to validate tag information in data frames via the table.
2 . The controller of claim 1 , wherein:
each transport layer processing element further comprises: a transmit frame engine for managing transmission of frames to other devices; and a receive frame engine for managing reception of frames from other devices.
3 . The controller of claim 2 , wherein:
the transmit frame engine is operable to make a particular tag value valid by storing information in the table indicating the particular tag value is valid for use with a particular device wherein the transmit frame engine is so operable in response to transmission of a frame to the particular device using the particular tag value; and the receive frame engine is operable to verify validity of a received tag value by looking up the received tag value in the table, wherein the received tag value is provided in a received frame from a transmitting device.
4 . The controller of claim 3 , wherein:
the transmit frame engine is further operable to make the particular tag value valid by storing information in response to transmission of a SAS COMMAND frame transmitted as a SAS initiator device.
5 . The controller of claim 3 , wherein:
the transmit frame engine is further operable to make the particular tag value valid by storing information in response to transmission of a SAS XFER_RDY frame transmitted as a SAS target device.
6 . The controller of claim 3 , wherein:
the receive frame engine is operable to make invalid the particular tag value indicated as valid in the table by updating information in the table.
7 . The controller of claim 6 , wherein:
the receive frame engine is further operable to make the particular tag value invalid in response to receipt of a SAS RESP frame received in one or more of the transport layer processing elements operating as a SAS initiator device.
8 . A method operable in a Serial Attached Small Computer System Interface controller, the method comprising:
linking a plurality of transport layer processing elements of the controller to corresponding ports of the controller; and linking the transport layer processing elements to a table of tag values and associated device identification information stored in a storage element; sharing access between the transport layer processing elements to the table; and processing the table via the transport layer processing elements to validate tag information of their respective data frames.
9 . The method of claim 8 , further comprising:
managing transmission of the data frames to other devices via a transmit frame engine configured with each of the transport layer processing elements; and managing reception of the data frames from other devices via a receive frame engine configured with each of the transport layer processing elements.
10 . The method of claim 9 , further comprising:
making a particular tag value valid via a transmit frame engine by storing information in the table indicating the particular tag value is valid for use with a particular device in response to transmission of a frame to the particular device using the particular tag value; and verifying validity of a received tag value via a receive frame engine by looking up the received tag value in the table, wherein the received tag value is provided in a received frame from a transmitting device.
11 . The method of claim 10 , further comprising:
making the particular tag value valid via the transmit frame engine by storing information in response to transmission of a SAS COMMAND frame transmitted as a SAS initiator device.
12 . The method of claim 10 , further comprising:
making the particular tag value valid via the transmit frame engine by storing information in response to transmission of a SAS XFER_RDY frame transmitted as a SAS target device.
13 . The method of claim 10 , further comprising:
via the receive frame engine, making invalid the particular tag value indicated as valid in the table by updating information in the table.
14 . The method of claim 13 , further comprising:
via the receive frame engine, making the particular tag value invalid in response to receipt of a SAS RESP frame received in one or more of the transport layer processing elements operating as a SAS initiator device.
15 . A non-transitory computer readable medium comprising instruction that, when executed by a plurality of transport layer processing elements of a Serial Attached Small Computer System Interface controller, direct the processing elements to:
link to corresponding ports of the controller; and link to a table of tag values and associated device identification information stored in a storage element; share access between the transport layer processing elements to the table; and process the table to validate tag information of their respective data frames.
16 . The computer readable medium of claim 15 , further comprising instructions that direct the processing elements to:
manage transmission of the data frames to other devices via a transmit frame engine configured with each of the transport layer processing elements; and manage reception of the data frames from other devices via a receive frame engine configured with each of the transport layer processing elements.
17 . The computer readable medium of claim 16 , further comprising instructions that direct at least one of the processing elements to:
make a particular tag value valid via a transmit frame engine by storing information in the table indicating the particular tag value is valid for use with a particular device in response to transmission of a frame to the particular device using the particular tag value; and verify validity of a received tag value via a receive frame engine by looking up the received tag value in the table, wherein the received tag value is provided in a received frame from a transmitting device.
18 . The computer readable medium of claim 17 , further comprising instructions that direct said at least one of the processing elements to:
make the particular tag value valid via the transmit frame engine by storing information in response to transmission of a SAS COMMAND frame transmitted as a SAS initiator device.
19 . The computer readable medium of claim 17 , further comprising instructions that direct said at least one of the processing elements to:
make the particular tag value valid via the transmit frame engine by storing information in response to transmission of a SAS XFER_RDY frame transmitted as a SAS target device.
20 . The computer readable medium of claim 17 , further comprising instructions that direct said at least one of the processing elements to, via the receive frame engine:
make invalid the particular tag value indicated as valid in the table by updating information in the table; and make the particular tag value invalid in response to receipt of a SAS RESP frame received in one or more of the transport layer processing elements operating as a SAS initiator device.Join the waitlist — get patent alerts
Track US2014040465A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.