Subject: RE: SATA-II directions
To: Jonathan A. Kollasch <jakllsch@kollasch.net>
From: De Zeurkous <zeurkous@nichten.info>
List: tech-kern
Date: 07/22/2007 19:02:34
Haai,

On Sun, July 22, 2007 18:36, Jonathan A. Kollasch wrote:
> Hi,
>
> I've been hacking on a Silicon Image 3124, 3132, 3531 driver.  My
> implementation relies on ata(4), like ahcisata(4).  But this
> may not be the best all-around solution.

Agreed.

>
> Direct your attention now to OpenBSD's ahci(4), sili(4), and atascsi(4).
> They support NCQ and ATAPI already.  On the other hand, I'm not sure if
> this would allow for SMART and whatnot to be used.
>
> Anyone think porting these would be a good idea?
>
> Or, would writing a proper SATA framework be much better?

A proper storage framework would be much better:

wd* at atabus? channel? device?
ed* at edc? drive ?
sd* at atapibus? drive?
sd* at scsibus? target? lun?

hdd* at wd?
hdd* at ed?
hdd* at sd?

In this scenario, hdd(4) would have support for all possible features that
may appear in more than one drive class. Naturally, for clarity, the
current device naming conventions should prevail in luserspace; this is
easily accomplished by having hdd(4) bind to device nodes according to the
class of the disk it is bound to. Note that I'm specifically proposing
'hdd' instead of 'hd' to emphasize the distinction between classless
(i.e., 'hdd' ) and classful (i.e., 'sd') device(s). A similar scheme
should be employed for other storage classes where necessary.

Baai,

De Zeurkous
-----------

Friggin' Machines!



>
> 	Jonathan Kollasch
>