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
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)