Methods and structure for assuring correct data order in SATA transmissions over a SAS wide port
First Claim
1. A SAS/SATA controller for coupling a host system to one or more SATA devices via a SAS wide port, the SAS/SATA controller comprising:
- a plurality of link layer processing elements collectively coupled to the SAS wide port wherein each link layer processing element is associated with connection status information regarding any SATA device communicatively coupled thereto;
a plurality of receive buffers each associated with a corresponding link layer processing element of the plurality of link layer processing elements wherein each receive buffer is associated with receive status information regarding one or more received frames stored therein; and
a transmission controller, coupled to the plurality of link layer processing elements and coupled to the plurality of receive buffers, to controllably prevent transmissions of frames from an identified SATA device wherein the transmission controller is adapted to use the receive status information of each receive buffer such that at any particular point in time only one receive buffer of the plurality of receive buffers stores any frames received from the identified SATA device.
10 Assignments
0 Petitions
Accused Products
Abstract
Methods and associated structure to assure correct order in delivery of SATA frames over a SAS wide port. In one aspect hereof, new connection requests from a SATA device are rejected until prior frames residing in receive buffers of the SAS/SATA controller are properly processed. In another aspect, when a device is already connected to the controller, the SAS/SATA controller may prevent return of a receiver ready primitive in response to a transmitter ready primitive until previously received frames are removed from the receive buffers.
72 Citations
20 Claims
-
1. A SAS/SATA controller for coupling a host system to one or more SATA devices via a SAS wide port, the SAS/SATA controller comprising:
-
a plurality of link layer processing elements collectively coupled to the SAS wide port wherein each link layer processing element is associated with connection status information regarding any SATA device communicatively coupled thereto;
a plurality of receive buffers each associated with a corresponding link layer processing element of the plurality of link layer processing elements wherein each receive buffer is associated with receive status information regarding one or more received frames stored therein; and
a transmission controller, coupled to the plurality of link layer processing elements and coupled to the plurality of receive buffers, to controllably prevent transmissions of frames from an identified SATA device wherein the transmission controller is adapted to use the receive status information of each receive buffer such that at any particular point in time only one receive buffer of the plurality of receive buffers stores any frames received from the identified SATA device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a host system;
a SAS/SATA controller within the host system;
a SATA device; and
a SAS expander coupled between the SAS/SATA controller and the SATA device, wherein the SAS expander is coupled to the SAS/SATA controller via a SAS wide port, and wherein the SAS/SATA controller further comprises;
a plurality of link layer processing elements coupling the SAS/SATA controller to the SAS wide port;
a plurality of receive buffers each associated with a corresponding link layer processing element of the plurality of link layer processing elements; and
a transmission blocker to prevent frame transmission from an identified SATA device using status information associated with each receive buffer such that at any particular point in time only one receive buffer of the plurality of receive buffers stores any frames received from the identified SATA device. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method operable in a SAS/SATA controller adapted for coupling to a SATA device via a SAS wide port comprising multiple links and the controller having multiple receive buffers each associated with a corresponding one of the multiple links, the method comprising:
-
receiving a frame from a transmitting SATA device via a link layer processing element coupled to the SAS wide port;
storing the received frame in a receive buffer associated with the link layer processing element;
blocking frame transmissions from the transmitting SATA device such that at any particular point in time only one receive buffer of the plurality of receive buffers stores any frames received from the transmitting SATA device. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification