Difference between IDE and SCSI ??
lowen at pari.edu
Tue Feb 5 21:45:19 UTC 2008
On Tuesday 05 February 2008, William Case wrote:
> Where and how does this emulation take place? Or, I assume Libata is a
> driver in the kernel. No matter how it might be compiled, it would be
> in a machine language (binary) format. Is it written in assembly and
> run by the CPU, or does SCSI code have its own set of machine code that
> can be used for emulation? By the controller? My understanding is that
> assembly code only applies to the CPU and the GPU.
The libata code sits between the kernel's internal SCSI subsystem and the
actual ATA hardware and translates the kernel's SCSI API (not the same as
actual SCSI commands, just the kernel's API that is normally used to
interface to SCSI host adapters to send the SCSI command) into commands for
the various ATA controllers. At least that is my high-level understanding of
Alan Cox can comment much better on exactly how libata does its job and
exactly what that job is.
More information about the fedora-list