Discussion

SATA Write performance

24 6759
Hi there.  I'm looking for a small form factor Linux board to use for astrophotography.  This application involves taking video at quite high speeds, leading to writes to storage at a rate of between 50 MB/s and 70 MB/s.  As the Banana Pro has a SATA interface I was thinking it would be the right choice.  However, in testing here:

http://www.mikronauts.com/banana ... hard-drive-tests/2/

...the write performance seems to top-out at 45 MB/s, quite a lot lower than one would expect.

Can anyone confirm this figure and, if it is correct, suggest a way to improve it?

Rob
It is not only at the link you gave, all other measurements show that huge and inexplicable slow writing speed which according to my own measurements never exceeds 50 MB/s.

I have spent quite some hours trying to find out the reason without finding any answer.

My guesswork: Either writes are not done by DMA or the DMA setup for writes is buggy, or the silicon has a bug.

LeMaker looks not to care and in case you need decent writing speeds you must take a board with different silicone.

tkaiser  
Edited by tkaiser at Fri Mar 20, 2015 02:29

When you increase CPU and DRAM clock and adjust kernel config you might get a little bit more than 45 MB/s SATA write speed but without appropriate cooling and especially extensive memory testing when overclocking DRAM you might risk data integrity. See also my comments on Bill's review here: http://forum.lemaker.org/forum.php?mod=viewthread&tid=14242.

The A20 SoC (it's an Allwinner thing and has nothing to do with LeMaker -- these guys just made the PCB and provided some software support) is able to saturate SATA and 2 USB BOT connections concurrently so you might get above 90 MB/s with btrfs-raid-0 containing 1 SATA and 2 USB disks. But since this setup is a bit insane I would simply use a better SoC for this purpose: Marvell's Kirkwood/Armada (used in nearly every lowend NAS) or Freescale's i.MX6 are both known to provide +100 MB/s SATA read and write easily. You won't get the Marvell stuff in SBC form factor (just the *Plug computers) but there exist some with i.MX6. Personally I would choose one of the boards supported by Igor Pečovnik's great Debian image because most of the manufacturer's SBC linux images simply suck.

In case the data you've to write is highly compressable (factor 1.5 or above) you could give btrfs with Mainline kernel on a Banana Pi/Pro a try using 2 disks. With lzo compression and a mixture of raid-0 and raid-1 you'll get write speeds in the range of ~90 MB/s and will also know when data corruption occured due to distributed checksums on both disks.

tkaiser replied at Fri Mar 20, 2015 02:27
When you increase CPU and DRAM clock and adjust kernel config you might get a little bit more than 4 ...

Your posting lacks explanation why writing speed is less than half of reading speed and I have some well founded doubts that tweaking a bit the DRAM clock will make any worthwhile improvement.

Igor's image do not help either, so the problem is still unsolved.

There still is no proof for your point that A20 is able to saturate SATA when _writing_.

tkaiser  
Edited by tkaiser at Fri Mar 20, 2015 08:21
LinAdmin replied at Fri Mar 20, 2015 07:24
Your posting lacks explanation why writing speed is less than half of reading speed and I have some well founded doubts that tweaking a bit the DRAM clock will make any worthwhile improvement


I can't give an explanation because I neither know why A20's SATA implementation or the drivers show this slow write performance nor I care. Regarding DRAM clock I tested with 2 other A20 based board and it's obvious that memory bandwidth has an impact on I/O performance: http://forum.lemaker.org/forum.php?mod=redirect&goto=findpost&ptid=12167&pid=66862. This applies not only to the PCDuino 3 nano but to every other A10/A20 based board as well (Cubietruck, all three Bananas, Olimex Lime2, Orange Pi and so on)

tkaiser  
Edited by tkaiser at Fri Mar 20, 2015 08:17
LinAdmin replied at Fri Mar 20, 2015 07:24
There still is no proof for your point that A20 is able to saturate SATA when _writing_


Misunderstanding. I wrote clearly that you won't exceed 45 MB/s write speed using SATA and I wrote also about the A20 being able to saturate 2 USB connections and one SATA connection in RAID-0 mode at the same time (which is important since people always try to compare Banana Pi with Raspberry Pi and there every I/O connection and especially two or more concurrently are limited by the one and only USB2 connection between SoC and the LAN9512/LAN9514 hub with integrated fast ethernet controller). Since in RAID-0 mode the speed of the whole array is determined by the slowest member you end up with 3 disk connections maxing out each at 30 MB/s. And this is what might be interesting for a person asking for 50-70 MB/s write speed. It's possible using more than one disk. But as written before the far better approach is to use a SBC based on an i.MX6 (and that's the only reason I mentioned Igor's image in the context of this thread).

Thanks for all of the excellent links and the detailed replies guys, they are very useful indeed.  I hadn't realised there were quite so many Shenzen flavours of Pi around.  Unfortunately I need to be able to power the board from USB and I guess that the higher performance of the Udoo et al would require more (at least, the Udoo seems to be 12 V powered).  Given that the A20 (or the drivers the A20 boards have for SATA) seem to be challenged in terms of write speed, and given that I don't want to go to the hassle of running multiple disks, I'm beginning to wonder if fitting my video stream into the 8 gig of on-board NAND that some flavours of board have might not be the simplest answer.

I will continue to browse Igor's pages for options.

Edited by RobMeades at Fri Mar 20, 2015 10:09

Actually, the Hummingboard seems to be 5V powered. Benchmarks here:

https://blog.pixxis.be/2014/12/2 ... rks-i1-i2-and-i2ex/

...suggest that with an SSD it might do the trick.

tkaiser  
Edited by tkaiser at Sat Mar 21, 2015 02:48
RobMeades replied at Fri Mar 20, 2015 10:06
Actually, the Hummingboard seems to be 5V powered. Benchmarks here:


As usual 'benchmarks without a meaning'. You get write/read SATA speeds of 85/100 MB/s with any i.MX6 based board.

tkaiser  
Edited by tkaiser at Sat Mar 21, 2015 02:48
RobMeades replied at Fri Mar 20, 2015 09:51
I'm beginning to wonder if fitting my video stream into the 8 gig of on-board NAND that some flavours of board have might not be the simplest answer.


Good luck. On the Banana Pi/Pro (or to be precise every other A20 based SBC as well) write/read speed to SD card is limited to approx. 15 MB/s. Similar limitations might apply to the NAND flash's controller. There are some boards that feature eMMC and maybe you find one that is able to write to it with more than 70 MB/s.

BTW: I wouldn't trust any benchmark for flash based storage that does not document the amount of data tested with since most flash based storage solutions suffer from throttling. They're fast as long as you only transfer small amounts of data and they become very slow if larger portions of data are being written since the controller/chips overheat and start to throttle.

You have to log in before you can reply Login | Sign Up

Points Rules