[ILUG] Highpoint Sata RAID
Rick Moen
rick at linuxmafia.com
Fri Mar 25 19:24:02 GMT 2005
I wrote:
> Intel's "product brief" for the SRCS16 at
> http://www.intel.com/design/servers/raid/srcs16/ reveals that it's
> based on a trio of Silicon Image 3112A SATA chips, assisted by an i80302
> dedicated I/O processor using 64MB of ECC SDRAM. Neat little card, and
> it could be a good performer, but its use of SiI 3112A suggests
> hardware-accelerated fakeraid.
On reflection, I'm not at all sure of that. There's an ambiguity that's
been bothering me for a while, that seems relevant.
Please pardon a brief, big-picture digression for a moment: My
understanding for a long time has been that, fundamentally, drivers get
written to support _chipsets_. E.g., back in the day, you might have
thought you were configuring XFree86 for a Hercules model this-or-that
video card, but you were picking, in effect, an underlying XFree86 3.x
server for the Tseng Labs ET-4000 chip, on which the Hercules card was
based. Driver authors might have to
tweak for BIOS idiosyncracies, but, to a first approximation, their
drivers aim at chipsets. Thus, researching Linux driver support for
hardware, generally, involves identifying the chipsets involved, then
finding out what drivers exist for those chipsets.
A couple of years ago, I created my "Serial ATA for Linux" page[1], even
though I was far from the best person to do so, because information
resources were badly needed, and there was nothing around. As I found
out about SATA chipets, and drivers for SATA chipsets, I added them.
As I heard about rebranded cards, and cards from manfacturer A that used
manufacturer B's chipset -- on Usenet, in the linux-ide and linux-raid
mailing list archives, or elsewhere -- I added those, cross-referencing
them to the driver(s) likely to work on it.
The first card to throw me for a loop was an Intel card, the SRCS14L
Serial ATA RAID Controller. Documentation described this a four-port
PCI card with an Intel GC80303 dedicated I/O processor and the
obligatory accompanying 64MB of ECC SDRAM. SATA functions are processed
by a pair of Silicon Image SiI3112A chips. The latter fact would seem
to suggest that one would use the sata_sil or siimage drivers (for
Silicon Image) -- but the Intel docs claim that one should use the
standard open-source "gdth" driver.[2]
WTF? Now, I'm confused.
FYI, the "gdth" driver was developed years ago for ICP Vortex chipsets
used (originally) on SCSI RAID cards. Those were and are genuine
hardware RAID. The German firm ICP Vortex was later bought and digested
by Intel; thus, many ICP Vortex-based cards from Intel have used "gdth".
Anyhow, my point: I'd always assumed that, to a first approximation,
knowing the chipset tells you what sort of driver to look for. Here we
have a card whose fundamental chipset appears to be Silicon Image 3112A,
with the i80303 (XScale RISC family, I think) chip merely providing XOR
acceleration features -- and yet it uses a Linux driver designed for ICP
Vortex.
My page, reflecting my confusion on this matter, still suggests that a
driver for SiI might work, too. My current estimation is that this is
wrong -- that the SiI chips face towards the drives and that some other
chip of the ICP Vortex family faces towards the PCI bus, and thus must be
talked to by any driver.
I guess my conclusion is that arriving at the _relevant_ chipset
information (for driver-determination purposes) may in some cases be
difficult. E.g., your "Intel SRCS16" card is probably, on reflection,
likewise compatible with the "gdth" driver and is probably genuine
hardware RAID. Apologies if my page, in waffling on the SiI vs ICP
matter, was misleading: I do what I can, working from poor information
resources.
[1] "Serial ATA" on http://linuxmafia.com/kb/Hardware/
[2] And that, despite the SiI chips, that this is genuine hardware RAID,
not fakeraid. That's perfectly credible, and not the issue here.
More information about the ILUG
mailing list