After reviewing several different NAS devices, it’s time for a change of pace. And what a change of pace it is – we have an embedded SATA RAID controller. It supports an amazing array of RAID levels and options ... and yet requires no drivers. It works on any SATA controller and any OS. Let’s play!
Introduction
Most RAID controllers follow a pretty well defined formula:
- Grab a cheap basic CPU;
- Grab a few ports for connections to disk drives (SAS, SATA, SCSI, IDE);
- [Optional] Get some RAM chips (increase price by 300% if RAID controller has RAM);
- Design a PCB to support the CPU, RAM if needed and disk drives;
- Plug the PCB into the inside of a PC or server (PCI, PCI-X and PCI-Express are the current generations);
- Write a BIOS, firmware and drivers as necessary;
- [Apparently optional] Debug the BIOS, firmware and drivers so it actually works.
It’s been a pretty successful formula for any number of companies - and it’s also the basis for most of the world’s x86 and x64 servers (HP, IBM, Dell and all their competitors all do RAID controllers this way in their main servers).
Then along comes an upstart with a new plan, something that changes the game completely. Meet the Addonics 5 Port HPM-XA RAID controller.
Meet the Addonics 5 Port HPM-XA
The HPM-XA is designed to connect up to 5 SATA hard disks or DVD drives to a single SATA port.
This is the “System” version – it’s mounted on a normal expansion slot bracket. It uses a floppy drive power connector rather than drawing power from a PCI or PCI Express slot; it attaches to one of the motherboard internal SATA ports; and it connects to up to 5 SATA disk drives (or DVD drives).

The “Enclosure” version is mounted on a bracket suitable for screwing into the back of an external case (the “SCSI-1” form factor), and provides an eSATA port to connect to your computer’s eSATA port. It then connects to up to 5 SATA disks in the enclosure.

Apart from their host connectivity, the units are identical; we’ll focus on the System version as that’s the one we got the chance to use.
The controller has more jumper pins than you can poke a stick at. 10 pins provide activity LEDs and a further 10 provide error status. 12 pins form a jumper block that configures the RAID level, whether that RAID level is controlled by software or by the controller itself, automatic rebuild to a hot spare and whether a failed disk produces an error beep.
As for a choice of RAID levels, the Addonics controller does not disappoint.
- With 2 disks we can run RAID 0 or RAID 1.
- With 3 disks we can run RAID 3 or RAID 5.
- With 4 disks we can run RAID 3, RAID 3 with a spare disk, RAID 5, RAID 5 with a spare disk or RAID 10.
- With 5 disks we can run RAID 3, RAID 3 with a spare disk, RAID 5, RAID 5 with a spare disk or RAID 10 with a spare disk.
The controller also supports some less common functionality, such as:
- Clone mode – in which writing to the disk writes to all of the disks – a three, four or even 5 disk mirror.
- JBOD mode – in which the disks are concatenated (the risk of data loss with RAID 0 without the performance benefits).
- Port Multiplier mode, which works with Silicon Image controllers (such as the quite common SiI3124 and SiI3132 controllers) and makes the disks appear as individual disks so you can create other configurations using your computer’s operating system.
Test Platform
We’re going to use only one platform for this set of tests to minimise any variations:
- Intel DG945CLF2 Atom 330 board
- 2GB of DDR 2RAM
- 1 x 500GB Samsung (7200rpm, 8MB cache) drive for the OS – HD501J – on SATA port 1
- Addonics 5 Port HPM-XA RAID Controller on SATA port 2
- 5 x 250GB Western Digital and Seagate 2.5” disks (5400rpm, 8MB cache)
- Windows Server 2008 R2 x64 Standard Edition
For performance testing we’ve used:
- ATTO 2.34
- HD Tach 3.0.4.0
- HD Tune Pro 3.50
Performance Baseline - 1 x 250GB on SATA port 2
There are two things we’re looking at here.
Firstly, we need to understand the level of performance we get from a single data disk without the Addonics controller in place. Any extra hardware between the SATA controller and the disk will result in increased latency (the time to get to a piece of data) and potentially lower throughput (the amount of data that can be read or written in a given time period).
Secondly, this will give us the appropriate data to determine how much impact the Addonics controller has on latency and throughput.
The single disk is rated at 14 ms of latency (the time to move the head halfway across the disk surface and settle in place) and spins at 5400rpm for a rotational latency of 5.6 ms.
With that in mind, here’s ATTO’s perspective on performance of the single disk:

Note the gradual increase in performance up to its maximum of 64 MBps for read and 64 MBps for write. ATTO uses only the first 256MB of the disk for its tests, which has two implications:
- Latency is markedly reduced because the head does not have far to move;
- Throughput is increased because the outer edge of the disk passes under the disk head faster than the inner edge (and density of the data is unchanged).
HD Tach gives us a good overview of the sequential (in order) performance of the disk, as well as giving us the burst rate (maximum rate at which data can be retrieved from the disk drive cache).

The single disk performs surprisingly well for a disk that spins slower and is optimised for low power use. The smooth curve also means we shouldn’t have to worry too much about strange results being caused by the disk, only the controller. The burst rate of XX MBps is not a class leader, but it’s a good starting point. We also get a clear idea of the access times for reading data – XX ms on average.
HD Tune Pro lets us dive deeper into the performance characteristics across the whole disk. We see the blue line for throughput; each yellow dot represents the access time for a request to that location on the disk. Higher times are from “further away” across the disk surface – where the head has moved further to get to the right place.

HD Tune Pro also has the ability to test random access to the disk. Here we see the random access results.

We can calculate the minimum number of IOPS (Input/Output Per Second) that the disk can guarantee. Normally this is based on a 4KB or 8KB block of data. If we know it takes 50 ms to move the head to the right track, and for the right part of the disk to spin under the head, then the disk can only guarantee 20 operations every second. According to Seagate the total latency is 5.6 ms (spin) + 14 ms (seek):
IOPS = 1000 / (5.6 + 14) = 1000 / 19.6 = 51
So the disk drive can guarantee 51 IOPS - which does not preclude it from delivering 25% more than that in this particular test. The following table gives you some idea of what various types of disks can guarantee, performance-wise. Again, this is the minimum level of performance:
| Disk Drive | Latency (Seek and Rotational) | IOPS |
| 5,400 rpm Laptop drive (2.5” Momentus 5400.6) | 19.6 ms | 51 |
| 7,200 rpm Desktop Drive (3.5” Barracuda 7200.12) | 12.8 ms | 78 |
| 10,000 rpm SAS Server Drive (2.5” Savvio 10K.3) | 6.6 ms | 151 |
| 15,000 rpm SAS 2 Server Drive (2.5” Savvio 15K.2) | 5.2 ms | 192 |
All of these are far outclassed by SSD:
| Disk Drive | Latency (Read) | IOPS (Read) | Latency (Write) | IOPS (Write) |
| SATA Mainstream SSD (Intel X25-M) | 0.03 ms | 35,000 | 0.15 ms | 6,600 |
| Fibre Channel Enterprise SSD (BitMicro E-Disk Altima) | 0.03 ms | 55,000 | 0.1 ms | 10,000 |
Addonics Controller Overhead - 1 x 250GB on Port 0
Let’s run through the same battery of tests, but this time using the Addonics RAID controller. We should get a good idea of the overhead from the extra components.
First ATTO:

Notice that the performance is almost identical. There's no significant reduction in sequential throughput when we insert the RAID controller between the motherboard and the disk.
HD Tach shows a similar story:

Latency has increased by about 0.2 ms - that's 200 micro-seconds. That's almost nothing even in computer terms.
HD Tune Pro also demonstrates the same results:


The Addonics controller is not increasing the latency of the requests significantly. Throughput is also effectively identical with less than 1% separating one result from the other.
Addonics Controller – 2 Disk RAID 0
Let’s up the ante and see what the Addonics controller can do with two disks.
Theoretically a perfect RAID 0 set would provide double the throughput of a single disk, and depending on the number of requests outstanding, anywhere from the same latency to half that of the single disk. Unfortunately, perfection is too lofty a goal.
Let’s see what ATTO makes of our two disk RAID 0 set:

Throughput for smaller blocks is unchanged, but for larger blocks is up by nearly 100%, exactly as we would hope. It seems the smaller requests are being satisfied by only 1 disk and the larger requests by both. The stripe size is unknown but from the results above it seems to be 8KB (4KB per disk) or 16KB (8KB per disk).
HDTach shows a similar result. Compared to the single disk environment, throughput is up across the board, but the latency is almost unchanged.

HDTune shows us two key points. Firstly, random IO and latency are not improved with the RAID 0 set, indicating perhaps that the RAID controller does not control the disks independently.

Sequential IO is the big winner.

Addonics Controller – 2 Disk RAID 1
Let’s switch our two disk arrangement from "performance" to "resiliency".
Theoretically a perfect RAID 1 set would provide double the throughput of a single disk for reads (and as low as half for writes), and depending on the number of requests outstanding, anywhere from the same latency to half that of the single disk.
Let’s see what ATTO makes of our two disk RAID 1 set:

Latency hasn’t changed, but the throughput dropped back to that of a single disk.
HDTach shows a similar result. Compared to the single disk environment, neither latency nor throughput has been affected (in either direction, positive or negative). We've gained resilience but there's no performance advantage.

Consistency is a wonderful thing. HDTune demonstrates clearly that there is no performance advantage to the RAID 1 environment, but at least we've managed resiliency.

Without the label in the drop down list, you'd be hard pressed trying to figure out which of the two results was the single disk and which was the RAID 1 set.

Addonics Controller – 3 Disk RAID 5
RAID 5 can be problematic for RAID controllers, as it often requires that the RAID controller read the disks before it writes updates. This can make RAID 5 quite slow, if the controller does not cache writes.
Theoretically a perfect 3 disk RAID 5 set would provide 2x - 2.5x the (read) throughput of a single disk, and depending on the number of requests outstanding, anywhere from the same latency to half that of the single disk. Again, nothing is perfect and the Addonics RAID controller has the disadvantage of having no write cache.
Let’s see what ATTO makes of our three disk RAID 5 set:

The ATTO result for the 3 disk RAID 5 set are astonishing. The read and write performance matches that of the 2 disk RAID 0 - we're not seeing the expected RAID 5 write penalty.
HDTach shows a similar result. Compared to the single disk environment, throughput is up across the board, but the latency is unchanged, and we've achieved the extra performance without risking data loss from a drive failure.

HDTune shows us more of the same – but with a small twist. Firstly, random IO is slightly degraded with the RAID 5 set:

HD Tune has measured an increase in latency of about 16-20%. Not a bad result, but it could be better and performance does drop as a result. The key seems to be a number of significantly longer latencies (the yellow dots at the very top of the sequential graph below. There's no obvious cause for this that we could find.

Addonics Controller – 4 Disk RAID 10
It’s time to ratchet up the pressure on the Addonics RAID controller. RAID 10 on a fully fledged RAID controller can provide the read throughput of RAID 0, the write throughput of RAID 0, and is commonly used to provide high speed random access to data (databases, mail servers and high speed file servers often use RAID 10).
Theoretically a perfect 4 disk RAID 10 set would provide 4 times the (read) throughput of a single disk, twice the throughput for writes and depending on the number and type of requests outstanding, anywhere from the same latency to ½ to ¼ that of the single disk.
ATTO makes short work of our four disk RAID 10 set:

Latency hasn’t changed, but the throughput was disappointing, matching only the 2 disk RAID 0 set. This again indicates that the RAID controller uses only 1 of the two disks in each mirror for reading, rather than both.
HDTach shows a similar result. Compared to the single disk environment, throughput is up across the board, but the latency is unchanged. It’s just not as good as it could be, especially as the 3 disk RAID 5 set provides similar performance and latency.

HDTune shows us similar results to the 3 disk RAID 5 set. Again there is slight degradation in the latency, but we still achieve reasonable throughput.

Sequential IO again shows us some longer latencies that affect not only the measurement of latency, but also the amount of data the array can transfer.

Addonics Controller – 5 Disk RAID 5
The Holy Grail for this RAID controller is the 5 disk RAID 5. Given what we’ve seen from the other configurations, this might be the best result set of all.
If we assume that the performance characteristics continue, we have more disks (so more throughput) and we're using RAID 5 (which seems to give us RAID 0 style throughput). So specifically, we should get better throughput than either of the 4 disk RAID 10 and 3 disk RAID 5 solutions and the latency should not increase.
ATTO shows us that we might be on to a winner:

Latency hasn’t changed, but the throughput was excellent, at more than three times the throughput of the single disk for the larger tests.
HDTach shows a similar result. Compared to the single disk environment, throughput is up across the board, but the latency is up significantly. Interestingly, the array delivers more than 110MBps across the entire array, instead of dropping off towards the end. For a cheap RAID controller, this is pretty impressive. In fact - the shape of the curve is so strange, we ran the same test multiple times to check the result.

HDTune shows us similar results to the 3 disk RAID 5 set, but on steroids. Again there is a significant increase in the latency, with some operations taking up to 350ms to complete, but we still achieve acceptable throughput.

Sequential IO is again a winner, never dropping below 100MBps, and demonstrating the same strange increase in performance at the ends of the disks:

Atom + Addonics – Cheap Low Power NAS?
We couldn’t resist the opportunity to run the Atom board, with its 5 SATA disks, through our NAS stress tests. With an operating system installed on a CompactFlash card (and attached to the IDE controller) or a USB flash drive, we would be able to fit two of the Addonics controllers and put 10 disks (20 TB!) on the Atom board.
With the existing Windows 2008 R2 installation, we run our normal usage tests:
| Source | Target | Data Set | Bytes Per Second | Megabytes Per Minute | %age of PC to PC |
| PC | NAS | Small Files | 3,176,464 | 181.8 | 11.8 % |
| PC | NAS | Large Files | 41,188,472 | 2,356.8 | 63.5 % |
| NAS | PC | Small Files | 2,821,077 | 161.4 | 10.5 % |
| NAS | PC | Large Files | 31,315,814 |
1,791.9 | 48.3 % |
And then we run the stress tests:
| Source | Target | Data Set | Bytes Per Second | Megabytes Per Minute | %age of PC to PC |
| NAS | NAS | Small Files | 1,888,298 | 108.0 | 7.0 % |
| NAS | NAS | Large Files | 23,226,629 | 1329.0 | 35.8 % |
All we can say is wow. The Atom beats our current performance title holder, the Intel SS4200 NAS for two of the tests, and handily beats out the Netgear ReadyNAS and LaCie 2big network in another three of the six. And this is with no tuning and no customised light-weight operating system.
Don't forget that this is not a completely fair test - the Atom is using five 5,400 rpm low power notebook disks, and many of the competition are using two or four 7,200 rpm desktop drives.
Niggles and Idiosyncrasies
The 5 Port HPM-XA is not without its foibles.
For starters, changing the RAID level is a royal pain. The jumpers supplied with the controller are the traditional large jumpers, but lack the pull tab that would make removal and insertion easier in the confined space. Levering out the jumpers is made more complicated by the buzzer situated on one side of the jumper set, and the pins for the drive status LEDs on the other.
Furthermore, the procedure for changing the RAID level requires 3 or more power on and power off cycles. The first resets the controller, the second sets the RAID level, and the third is to "lock" the RAID level by disabling further unexpected changes. While this does reduce the chances of someone accidentally reconfiguring the adapter, the combination of the fiddly jumpers and the complicated reset sequence made reviewing the controller difficult.
Ideally the jumpers could be replaced with DIP switches or a combination of jumpers and a rotary dial to select the RAID level. Even relocating the jumpers alongside the LED outputs would improve matters.
More worrying however was the lack of feedback from the onboard buzzer when a drive was deliberately removed from the array while it was running. The loss of the disk was sounded by a series of beeps for the first 3-5 seconds, and followed up 30 seconds later with another round. There was no sound after that. If a disk fails in the middle of the night, you're relying on the LEDs to alert you of the failure.
An embedded RAID controller needs to be more proactive about alerting. Beep every 30 seconds to a minute until the disk is replaced. Even better - play a siren sound every minute. Because six beeps at 3am is not enough.
Finally the LEDs - the activity LEDs are the reverse of normal drive LEDs. The default state is ON, not off, and activity is shown by briefly flickering the LED off. This matches the behaviour expected for hot swap drive bays, but might confuse a person the first time they see it. It would have been nice to see this mentioned in the two pages of documentation. The rows of pins for the LEDs are excellent, however, for dual-color LEDs. One cable with 3 wires can show power, activity and failure on a single LED light.
Conclusion
The Addonics RAID controller is not going to replace a thousand dollar server RAID controller with onboard memory and backup battery. It’s not suitable for enterprise storage (manageability and latency). But it's not intended to fulfil that role.
It does, however, produce throughput suitable for home and SOHO uses, for example in a NAS and it’s a cheap way of adding lots of disks to a storage PC or Media Center PC without the hassles of finding, changing or installing drivers or management tools.
I know of nothing that matches its flexibility and performance at the price. For the purposes above, and at the low price of just $138, the Addonics 5 port HPM-XA has no competition.
The Addonics range is stocked by TechBuy and they also offer some bundled options - all you need to add storage to your desktop:
- The System version of the RAID Controller: $138.65
- The Enclosure version of the RAID controller: $138.65
- The Home Theatre 4TB Storage Bundle - the System controller, a chassis that fits 5 disks in 3 drive bays, and five 1TB disks for 4TB of failure tolerant disk space: $919.65
- The Home Theatre 8TB Storage Bundle - the System controller, a chassis that fits 5 disks in 3 drive bays, and five 2TB disks for 8TB of failure tolerant disk space: $1,772.15
-
|70.114.239.xxx |2009-12-30 06:46:59 outcast2k - product review gaps?good start on covering some of the basics. some other detais that would be good to know:
1) how long does a RAID rebuild take?
2) how do you tell how far a rebuild has left?
3) how do you tell which disk failed?
4) does the software UI handle 2+ HDM-XA's in the system?
5) how do you recover the RAID if the HDM-XA itself has failed and needs to be replaced?
6) what's the biggest sized drives supported? 2TB?
-
|219.90.134.xxx |2010-03-07 23:17:32 TERRABYTEONE - ?? 3132 pciex1 card max output is 190mb/seciv tested this.. etc..
sil 3132 pci-e x1 card )(addtronics one) or jmb 363 or highpoint 4 port x1 2300 raid card.
max oot put is 190mb sec total.. and if using 2 ports its 95mb/sec..
tested this using 4x volir wd 300g hdd
(they get each 109mb/sec)
so if using both e-sata ports.. transfer maxes out at 190mb.sec..
if using 4 hdd in raid 0 etc... max output for 4x vr 300 on intel on-board raid (x48 chipset) 500+mb/sec..
on sil using this product is.. 90mb/sec.
als tryed 4x 1.5 tb 7200.11 hdd..max out at 90mb/sec
also tryed raid 5.. 90mb/sec.
2tb hdd supported. but hardware or nonhardware raid the sil raid gear does not support partitions bigger than 2tb.(old design)
to get 6 tb hdd spac out of in i raid 0 (4x 1.5tb)
i hd to make 4 partitions .. the software is limited in what size to make. it..it was tricky.. i had to make partitin/volumns 2+ then delet and recreat smaller ones. in aparticular order.
they need to update thar raid cards. (chan...


Thanks for the great write up!