SATA controller Re: [Open-graphics] YAPI (Yet Another Product
Idea)
Jeff Garzik
jeff at garzik.org
Fri Feb 9 19:36:40 EST 2007
James Richard Tyrer wrote:
> Dieter wrote:
>>>> Am I correct in thinking that a SATA controller would be easier and
>>>> faster to
>>>> design than a graphics/video controller, and that it would cost
>>>> significantly
>>>> less to get an ASIC fabbed?
>>> Is it anything more than a parallel to serial and serial to parallel
>>> converter. a DMA controller, and the line transceiver?
>>
>> The SATA controller is involved in NCQ.
>
> The DMA controller needs to be able to handle this. So, you have to
> program the DMA controller when you make an access request and the DMA
> controller has to respond to tags it receives from the disk.
Yes.
>> I suspect it is involved in error detection/correction?
>
> I think that that would still be handled by the disk's controller.
SATA is just like ethernet. You have a PHYsical layer -- the SATA ports
on each side of the links -- that must be managed. The SATA controller
(really the SATA PHY) performs error correction per the SATA specification.
>> It might be involved in handling port multipliers?
>
> Intel claims their chip [31244] allows simultaneous port access to the 4
> ports and has published a Linux driver to do this.
He's talking about something different. A port multiplier somewhat like
an ethernet switch: it allows many devices to be plugged into a single
SATA port.
WRT Linux drivers, you can find support for 31244 and many other chips
in drivers/ata/* in the current Linux kernel.
> So, exactly what is the problem? Apparently, there is no standard for
> programing the DMA controller or for simultaneous port access. :-( OTHO,
> Intel has published standards for NCQ communication with the disk. :-)
Look at AHCI. The 31244 is a lame first generation attempt at a SATA
controller. The 31244's NCQ and 64-bit addressing implementations have
fundamental flaws.
Jeff
More information about the Open-graphics
mailing list