* SATA and full-duplex?
@ 2009-09-27 14:02 David Balažic
2009-09-27 19:21 ` Robert Hancock
0 siblings, 1 reply; 2+ messages in thread
From: David Balažic @ 2009-09-27 14:02 UTC (permalink / raw)
To: linux-ide
Hi!
In a discussion with a friend the question whether SATA support full
duplex has come up.
While there is some info on the web that explains that SATA does not
support it, unlike SAS, the firend claims that SATA does not support
full-duplex in the sense "the same line can transfer data in both
directions", but it does support sending data over the transmit pair
and receiving over the receive pair at the same time.
An example is : in NCQ setup, the drive is sending data as a response
to READ command and during that the host send another queued command
to the same drive.
Is this possible and supported by SATA ?
(I'm interested in SATA support as a standard, not as much about
current Linux support)
Regards,
David
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: SATA and full-duplex?
2009-09-27 14:02 SATA and full-duplex? David Balažic
@ 2009-09-27 19:21 ` Robert Hancock
0 siblings, 0 replies; 2+ messages in thread
From: Robert Hancock @ 2009-09-27 19:21 UTC (permalink / raw)
To: David Balažic; +Cc: linux-ide
On 09/27/2009 08:02 AM, David Balažic wrote:
> Hi!
>
> In a discussion with a friend the question whether SATA support full
> duplex has come up.
>
> While there is some info on the web that explains that SATA does not
> support it, unlike SAS, the firend claims that SATA does not support
> full-duplex in the sense "the same line can transfer data in both
> directions", but it does support sending data over the transmit pair
> and receiving over the receive pair at the same time.
>
> An example is : in NCQ setup, the drive is sending data as a response
> to READ command and during that the host send another queued command
> to the same drive.
>
> Is this possible and supported by SATA ?
> (I'm interested in SATA support as a standard, not as much about
> current Linux support)
Well, at the low level FISes can be sent in both directions at once on
the link. It's somewhat limited when this can happen, though, and
transferring actual data in both directions at the same time isn't
possible. The particular case you mentioned also isn't supposed to
happen: "The FPDMA Data Phase is defined as the period from reception of
a DMA Setup FIS until either the associated transfer count is exhausted
or the ERR bit in the shadow Status register is set. During this period
the host may not issue new commands to the device nor may the device
signal new command completions to the host." Once a transfer starts, it
has to either finish or fail without anything else happening in the
interim. Basically the actual data transfers over the SATA link are
"single-threaded".
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-09-27 19:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-27 14:02 SATA and full-duplex? David Balažic
2009-09-27 19:21 ` Robert Hancock
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).