[NTLUG:Discuss] RE: true hardware/intelligent ATA RAID -- FRAID cards can get good desktop performance

Bryan J. Smith b.j.smith at ieee.org
Thu Jul 22 06:42:42 CDT 2004


Kevin Brannen wrote:  
> I've had good performance out of the Adaptec 1200a, which is a low
> end RAID card.

It's not a RAID card, it's  a FRAID (Free RAID) card.  It is nothing
more than a regular ATA controller and 0 other hardware on-board.

There is 0 intelligence on-board.  It uses a 16-bit BIOS setup and then
a 100% software-based 32/64-bit driver in the OS.

> It only supports RAID 0, 1, 0/1, & JBOD;

FRAID cards are very capable of good performance with RAID-0.  That's
because you're not copying any extra data over your system bus and
interleaving over two ATA channels.  You'd do the same with the OS'
software RAID, although both Linux's LVM and NT's LDM will yield
_better_ performance.

Once you start doing RAID-1 or RAID-0+1, then you're pushing 2x the data
over your system bus and you start getting inefficiency.  Depending on
the FRAID software, many do not offer read interleaving like Linux's MD
or NT's LDM or most intelligent RAID cards.

And if you do lots of writes, _never_ do FRAID/software RAID-5. 
RAIDCore likes to show off its _read_ RAID-5 performance (which is like
RAID-0 minus 1 disk at reads), but you _kill_ your systems
CPU-memory-I/O interconnect with 3x+ the traffic.  It's not just the
XORs, but the fact that you must copy _all_ data into the main CPU
to calculate the XORs -- that's just killer, especially as you add
more and more disks!

It's far, far better to do RAID-5 with an intelligent RAID controller.
You push the same amount of data into I/O like it wasn't RAID at all.

I cover this in my 2004 April Sys Admin article, which includes an
"efficiency table."  If you get Sys Admin, read it to find out more.

> but it supports ATA/100 disks.

3Ware uses FPGA (field programmable gate arrays) for its ASIC and
ATA controllers in the Escalade.  When UltraDMA/133 was introduced with
48-bit addressing, they released firmware updates.

For the 6000 series (ATA-4, UltraATA/66), this allowed new, 48-bit
addressing for disks (more than 133GB/128GiB).

For the 7000 series (originally ATA-5, UltraDMA/100), this allowed 
not only the new, 48-bit addressing for disks, but boosted the ATA
controller speed to UltraATA/133 (mode 6, 133MBps) as well.

All 3Ware Escalade 7000+ cards are 64-bit PCI, and the models with a 6
at the end are 0.5GBps (64-bit x 66MHz) capable.  Even never PCI-X
models capable of 1.0GBps (64-bit x 133Mz) have recently been
introduced.

> Note!  I've only used it under ms-win2k in a RAID 1 configuration.

Of course.  Because FRAID cards only have _binary_ kernel drivers from
the vendor, if at all.  Why?  Because 100% of the RAID logic is in the
driver.  So that code is _licensed_ from a 3rd party, one that will
_not_ let it become GPL.

As all the reviews and GPL ataraid + reverse engineered vendor
specification { hptraid, pdcraid, silraid } drivers say, use the native
software RAID of the OS since it is much faster.

> For a card in the $55-$75 range,

That's pretty expensive for nothing more than a "regular" ATA controller.
Understand you're paying a premium for a Windows software driver -- the
software driver license from a 3rd party.  0 goes to hardware hardware.

Again, it's _nothing_ more than a ATA chip, that's it.  When your system
boots, the 16-bit BIOS "hides" the real disk configuration.  The second
the 32/64-bit kernel boots, it sees the disks "raw" and there must be a
software driver to understand the organization.

If not, the system panics.

For $100, I'd go with a 3Ware Escalade 7006-2 (UltraDMA/133) or 8006-2
(SerialATA/150).  You get a 64-bit ASIC, 1MB of 0 wait state SRAM,
command queuing, sector remapping and many other goodies the FRAID
software drivers can't do, because _only_ hardware can.

Understand with FRAID the system is _still_ talking to the "raw" ATA
controller at _all_ times.  With intelligent RAID, your system talks to
the on-board intelligence (ASIC or microcontroller) and _never_, _ever_
the actual disks themselves.

> I'd really like to find out if Linux will support it (found a few hits
> on Google that say yes, and a few that say there were problems with it).

FRAID vendors release kernel-version specific, binary-only drivers if
you're lucky.

There is a vendor-independent, GPL ataraid "core" driver in the Linux kernel
that replaces the 3rd party licensed code in most drivers.  It must then
be paired with vendor-specific drivers that _attempt_ to understand the
organization used by the various FRAID cards -- the hptraid for HPT, pdcraid
for Promise FastTrak (not the SuperTrak, which is real, intelligent hardware
using a i960+DRAM) and silraid for SiliconImage.

Note I say "attempt" as they are _not_ supported by the vendor.
So the use of these drivers is _not_ recommended if you can avoid it.
The vendors regularly change disk organization, which means using these
drivers can _toast_ all your data.

Using the OS' underlying software RAID is not only safer, but faster too.
Especially for RAID-0 (reads/writes) and RAID-1 (reads).

Not my words, but the reviewers (including Rick Moen) as well as some
commentary I've seen in the drivers themselves at times.


-- 
     Linux Enthusiasts call me anti-Linux.
   Windows Enthusisats call me anti-Microsoft.
 They both must be correct because I have over a
decade of experience with both in mission critical
environments, resulting in a bigotry dedicated to
 mitigating risk and focusing on technologies ...
           not products or vendors
--------------------------------------------------
Bryan J. Smith, E.I.            b.j.smith at ieee.org





More information about the Discuss mailing list