'OS drive' storage performance benchmarks done

Post Reply
tkaiser
Posts: 773
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 25 times
Contact:

'OS drive' storage performance benchmarks done

Post by tkaiser »

I compared performance of a bunch of good SD cards, Hardkernel's orange eMMC modules and some ok-ish consumer SSDs on SATA and USB3 ports: https://forum.armbian.com/topic/6496-od ... ment-49856

Main focus was random IO performance with small block sizes since this is what's important for 'OS drive' performance. The measurements were done to be able to identify the right storage approach where to put the rootfs on.

IMO it's worth to keep in mind that
* it's 2018 now and we can buy great performing SD cards (A1 performance class)
* the eMMC interface on RK3399/N1 is insanely fast, same goes for Hardkernel's orange eMMC modules -- the combination of both is just awesome
* N1's SATA implementation has its own limitations
* cheap SSDs perform crappy, all HDDs perform even more crappy when it's about random IO

On the N1 it's pretty challenging to get an SSD outperforming eMMC storage when it's about the 'OS drive' use case though I'm fully aware that users won't care believing into 'SATA is always better', 'every SSD is great' and other common misbeliefs :)

I think we'll later see N1 users struggling with the following issues:
* Looking at for the use case 100% irrelevant sequential performance numbers, then comparing SD cards and a HDD and choosing the HDD to 'boot from SATA' which will result in magnitudes lower OS performance compared to running off a good A1 rated SD card (eMMC or a good SSD of course even better)
* buying cheap SSDs and getting crappy or even fake ones (I still believe 2018 will be the year when this counterfeit crap we know from CF/SD cards and USB pendrives will arrive at the 'SSD' product category)
* Wearing out the SATA connectors on the board in short time since average users are not aware that internal SATA connectors are more fragile than eg. an eSATA connector rated for 5,000 matings

We'll see. At least some facts are available for those who care.

User avatar
odroid
Site Admin
Posts: 39555
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 2683 times
Been thanked: 1482 times
Contact:

Re: 'OS drive' storage performance benchmarks done

Post by odroid »

Nice and useful analysis to choose a right OS storage.

There seems to be room to increase the SD host controller clock source PLL configuration to have 10~20% more transfer rate for the decent A1 rated UHS capable SD cards.
But we have a big concern about the compatibility issue with some untested cards or less proven brands/models.
I believe 60~70MB/sec of sequential access speed is okay-ish since very few ARM boards have supported the UHS mode.
Additionally, I don't like to see "mmc:crc error" message anymore. ;)


BTW, we will change the SATA connectors to more durable one.

tkaiser
Posts: 773
Joined: Mon Nov 09, 2015 12:30 am
languages_spoken: english
ODROIDs: C1+, C2, XU4, HC1
Has thanked: 2 times
Been thanked: 25 times
Contact:

Re: 'OS drive' storage performance benchmarks done

Post by tkaiser »

odroid wrote:There seems to be room to increase the SD host controller clock source PLL configuration to have 10~20% more transfer rate for the decent A1 rated UHS capable SD cards.
Please not. As you said: 'reliability first'. Maximum sequential transfer speeds are close to irrelevant on the rootfs anyway. And 10-20% performance increase with sequential storage performance is nothing any user will be able to 'feel'. Slightly higher clocks might result in a minimum improvement wrt random IO but then we're talking about real world tasks 'speeding up' by maybe 1% or even less.

BTW: I tried really hard to get some 'crappy' SSDs for comparison but to no avail. One customer tried out a bunch of KingSpec SATA SSDs a while ago but when I asked to borrow one they said they all went to the trash already. Became slow as hell after few months, then failed, then replaced on warranty and the same story again. I could borrow a 60GB KingDian from a friend but would've to backup and restore his Windows installation which I clearly try to avoid. So I asked him for CrystalDiskMark numbers and there's no need to test such crap any more: sequential write performance as low as 50MB/s and random IO performance below A1 SD card level. Though it would still be interesting to test with mediocre or even crappy SSDs to educate N1 users to better put the rootfs on eMMC and use such SSDs only for stuff where (random) performance doesn't matter. But then HDDs are often the way better choice anyway :)

Post Reply

Return to “Hardware and peripherals”

Who is online

Users browsing this forum: Google [Bot] and 2 guests