SATA Port Multipliers in FreeBSD (6.3)

Daan Vreeken Daan at vehosting.nl
Fri Mar 6 05:10:54 PST 2009


On Friday 06 March 2009 13:43:35 Christopher Key wrote:
> Daan Vreeken wrote:
> > Hi Christopher,
> >
> > On Thursday 05 March 2009 15:25:35 Christopher Key wrote:
> >> Hello,
> >>
> >> I'm looking to substantially expand the storage on my FreeBSD 6.3 home
> >> media server.  With regards hardware, the simplest way to attach large
> >> numbers of drives seem to be to use SATA port multipliers, but I've been
> >> unable to find any consensus on their level of support in FreeBSD.  I'm
> >> currently looking at a RocketRAID 2314 and SiI3726 based port
> >> multipliers.  Has any had any experience with this combination?
> >
> > The Sil3726 works very well if you run a recent enough version of
> > FreeBSD. We use the device in a custom storage appliance. I don't know
> > the RocketRAID 2314 though. You need a SATA 2.0 controller for Port
> > Multipliers to work.
>
> I'm pretty sure the RocketRAID 2314 is a SATA 2.0 controller.  I've
> references in places to it supporting port multipliers, but have been
> unable to to find any further details on quite what this means.  To be
> honest, I don't fully understand how the ATA system fits together.
> HighPoint offer a FreeBSD driver, but I don't know whether this replaces
> functionality within FreeBSD, or is an additional requirement.  Nor do I
> know whether port multiplier support is the responsibility of the ATA
> driver, the ATA controller, both or either, nor whether the ATA
> controller being a RAID card in JBOD mode affects anything.  I was
> thinking that for the RR2314 to work with port multipliers whilst it was
> doing hardware RAID, it must fully understand how to address drives
> behind a port multiplier and might do the same in JBOD mode, simply
> presenting the ATA driver with a list of drives.  Whether this is valid
> reasoning, I've no idea.

If the RR2314 controller really does RAID in hardware, then the OS would only 
see the resulting big 'disks', without needing to know where they came from 
and if they are behind Port Multipliers or not.
I suspect (but I'm not sure here) that RAID on the RR2314 is implemented by 
the driver instead of the hardware.
In that case, the OS (or at least the vendor's own driver) needs to know how 
to handle Port Multipliers.

The current state of Port Multipliers in FreeBSD (at least, in the version 
we're using on our appliance here) is that it is working very well, but lacks 
some features. Hot-plugging disks for example doesn't work. All disks need to 
be present when the system is power up. For us this isn't a problem.

> > FreeBSD has (experimental) support for Port Multipliers since the
> > following commit :
...
> > On Thursday 10 April 2008 15:05:05 Søren Schmidt wrote:
> >> sos         2008-04-10 13:05:05 UTC
>
> Thanks, I've found the relevent revision in SVN,
> http://svn.freebsd.org/viewvc/base?view=revision&revision=178067
>
> I'll read through the diffs to see if I can get a better idea of how
> everything works.

I you would like to know more about the technical details, I would recommend 
reading the 'Port Multiplier' part of the SATA 2 spec, which can be found 
here :
	http://cvs.codeyard.net/svn/SiI24/doc/pm_1_1_Gold.pdf

Or you could read this summary on sata-io.org :
	http://www.sata-io.org/portmultiplier.asp


Regards,
-- 
Daan Vreeken
VEHosting
http://VEHosting.nl
tel: +31-(0)40-7113050 / +31-(0)6-46210825
KvK nr: 17174380


More information about the freebsd-questions mailing list