maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Nokia N800 (https://talk.maemo.org/forumdisplay.php?f=25)
-   -   test your sd card read speeds on n800 (https://talk.maemo.org/showthread.php?t=8947)

robmiller 2007-08-17 18:27

test your sd card read speeds on n800
 
I've compiled hdparm ( http://sourceforge.net/projects/hdparm/ ) v 7.5 as found on my gentoo distribution for the n800 latest firmware and placed it on http://www.janerob.com/rob/n800/ . it's not a .deb, it is a binary arm executable -- just download and run in an xterm (and I guess you just have to trust me that its not going to turn your n800 into a spam shipping ddos daemon, or re-compile yourself if you like).

I have 2 sdhc cards purchased from www.7dayshop.com, with the following results:

sdhc 8GB - Class 6 - Kingston
Code:

Nokia-N800-26:~# ./hdparm -Tt /dev/mmcblk0p1

/dev/mmcblk0p1:
 Timing cached reads:  240 MB in  2.00 seconds = 119.87 MB/sec
 Timing buffered disk reads:  38 MB in  3.12 seconds =  12.20 MB/sec

sdhc 4GB - High Speed Class 4 (118x)
Code:

Nokia-N800-26:~# ./hdparm -Tt /dev/mmcblk1p1

/dev/mmcblk1p1:
 Timing cached reads:  244 MB in  2.00 seconds = 122.03 MB/sec
 Timing buffered disk reads:  38 MB in  3.09 seconds =  12.28 MB/sec

both of those were the 3rd of 3 runs as suggested by the hdparm manpage, over ssh to the n800. clearly as others have written the class 6 isn't worth it, at least for reads on the n800.

please post your own card details and numbers so I can make better choices next time.

oh yes, I'm using the updated kernel from http://intr.overt.org/4.2007.26-mmc-kernel/
Code:

Nokia-N800-26:~# cat /proc/version
Linux version 2.6.18-omap1 (maemo@ubuntu-maemo) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #2 Sun Jul 22 11:29:39 PDT 2007

and boot off of the 8gb card in the internal slot.

anyone suggest a preferred write speed tester?

rob.

joe.rock 2007-08-17 19:23

Re: test your sd card read speeds on n800
 
0 is a Ridata 2gb labeled "PRO 150X"
1 is a 4 gig PNY that came labeled class 4 or something like that.

/dev/mmcblk1p1:
Timing cached reads: 236 MB in 2.01 seconds = 117.66 MB/sec
Timing buffered disk reads: 18 MB in 3.28 seconds = 5.48 MB/sec

/dev/mmcblk0p1:
Timing cached reads: 240 MB in 2.01 seconds = 119.69 MB/sec
Timing buffered disk reads: 18 MB in 3.15 seconds = 5.72 MB/sec

Milhouse 2007-08-18 02:18

Re: test your sd card read speeds on n800
 
joe.rock - you need to state which firmware/kernel you are using.... judging bye your slow SDHC performance it looks like stock 4.2007.26-8 but could be due to your card not supporting high speed mode.

Milhouse 2007-08-18 02:31

Re: test your sd card read speeds on n800
 
Firmware: Stock 4.2007.26-8

Internal slot, Transcend 4GB Class 2 SDHC
Code:

/home/user # ./hdparm -Tt /dev/mmcblk0p1

/dev/mmcblk0p1:
 Timing cached reads:  240 MB in  2.00 seconds = 119.80 MB/sec
 Timing buffered disk reads:  16 MB in  3.22 seconds =  4.97 MB/sec

External slot, Transcend 4GB Class 2 SDHC
Code:

/home/user # ./hdparm -Tt /dev/mmcblk1p1

/dev/mmcblk1p1:
 Timing cached reads:  238 MB in  2.01 seconds = 118.13 MB/sec
 Timing buffered disk reads:  16 MB in  3.01 seconds =  5.32 MB/sec


Milhouse 2007-08-18 02:47

Re: test your sd card read speeds on n800
 
Firmware: High speed community 4.2007.26-8 kernel

Internal slot, Transcend 4GB Class 2 SDHC (48Mhz, wide bus), FAT32
Code:

/home/user # ./hdparm -Tt /dev/mmcblk0p1

/dev/mmcblk0p1:
 Timing cached reads:  228 MB in  2.00 seconds = 113.92 MB/sec
 Timing buffered disk reads:  24 MB in  3.21 seconds =  7.48 MB/sec

I have an ext2 second partition on the internal card which interestingly gives better performance:

Code:

/home/user # ./hdparm -Tt /dev/mmcblk0p2

/dev/mmcblk0p2:
 Timing cached reads:  220 MB in  2.00 seconds = 109.73 MB/sec
 Timing buffered disk reads:  30 MB in  3.03 seconds =  9.91 MB/sec

External slot, Transcend 4GB Class 2 SDHC (48Mhz, wide bus), FAT32
Code:

/home/user # ./hdparm -Tt /dev/mmcblk1p1

/dev/mmcblk1p1:
 Timing cached reads:  224 MB in  2.01 seconds = 111.44 MB/sec
 Timing buffered disk reads:  24 MB in  3.18 seconds =  7.54 MB/sec


penguinbait 2007-08-18 03:36

Re: test your sd card read speeds on n800
 
sdhc 8GB - Class 6 - Kingston

Code:
Nokia-N800-26:~# ./hdparm -Tt /dev/mmcblk0p1

/dev/mmcblk1p2:
Timing cached reads: 242 MB in 2.00 seconds = 120.25 MB/sec
Timing buffered disk reads: 38 MB in 3.04 seconds = 12.50 MB/sec

updated kernel listed in this post

mounted on /usr/local

robmiller 2007-08-19 07:28

Re: test your sd card read speeds on n800
 
so seems like class 4 is worth it over class 2, if you are using the updated kernel.

rob.

tolou 2007-08-19 08:39

Re: test your sd card read speeds on n800
 
Testing internal Flash gives me a respectable result.
Code:

/dev/mtdblock4:
 Timing cached reads:  206 MB in  2.00 seconds = 102.83 MB/sec
 Timing buffered disk reads:  42 MB in  3.08 seconds =  13.66 MB/sec

How could that be? We all know that booting from mmc is boosting read performance.
Still on 51-6 with the SDHC kernel although I'm only running non-SDHC cards still.

Milhouse 2007-08-19 08:46

Re: test your sd card read speeds on n800
 
There's no difference between a Class 4 and a Class 6 card... perhaps the N800 becomes the bottleneck at around that speed.

Before declaring that Class 4 is faster than Class 2 I think we need to see more Class 2 results from manufacturers other than Transcend. :)

In previous tests with dd my Transcend 8GB SDHC C2 cards achieved a transfer rate of 11.5MB/s... I didn't bother posting the 8GB results here as when testing with hdparm, the 8GB card turned in the same results as the 4GB card which I had already posted (ie. 7.5MB/s). This surprised me, and I'm not sure why my Transcend cards are now slower than they appeared to be in the past - maybe dd isn't accurate, or maybe hdparm isn't accurate...

The fact that I obtained two different results for the same card when accessing different partitions (and filesystems) suggests that hdparm isn't testing the raw performance of the card at all. Instead it appears to be testing the performance of the filesystem. Different block sizes in a VFAT partition may thus play a role in determining the figures returned by hdparm, and I'm sceptical about it's accuracy compared to dd.

fanoush 2007-08-19 08:50

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by tolou (Post 69609)
How could that be? We all know that booting from mmc is boosting read performance.

jffs2 filesystem is compressed and has big overhead. By using device you are reading compressed data blocks directly. Try to read/write files. dd and time commands may be better for this, examples can be found in this forum.

daihard 2007-08-19 10:03

Re: test your sd card read speeds on n800
 
Firmware: 4.2007.26-8
Kernel: 2.6.18-omap1 (stock)
Card: SanDisk SDHC (4GB)

Code:

Nokia-N800-26:/home/user/bin# ./hdparm -Tt /dev/mmcblk0p1

/dev/mmcblk0p1:
 Timing cached reads:  222 MB in  2.01 seconds = 110.62 MB/sec
 Timing buffered disk reads:  18 MB in  3.13 seconds =  5.76 MB/sec

I guess it's time to update the kernel, huh.

robmiller 2007-08-19 11:50

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by Milhouse (Post 69611)
Before declaring that Class 4 is faster than Class 2 I think we need to see more Class 2 results from manufacturers other than Transcend. :)

good idea :)
Quote:

The fact that I obtained two different results for the same card when accessing different partitions (and filesystems) suggests that hdparm isn't testing the raw performance of the card at all. Instead it appears to be testing the performance of the filesystem. Different block sizes in a VFAT partition may thus play a role in determining the figures returned by hdparm, and I'm sceptical about it's accuracy compared to dd.
hdparm uses the linux ioctls for reading blocks off disks, as I expect the filesystem layer does. it's written by the developer/maintainer of the (e)ide linux driver, and the man page is explicit about 'without any filesystem overhead' for the -t test. nonetheless, 'formatted filesystem' doesn't equal 'fdisk parameters' and I don't see hdparm or anything else yet as the ideal benchmark for this. I think others have posted here about logic in the cards to re-map memory blocks as they die, so there's probably a lot inside these black boxes that we won't be able to know about. there's also the point that both the benchmarking tools and the memory cards are 'imagining' a system of heads and spinning platters.

wonder if dd uses the same ioctls as well? how big were your dd tests?

both my cards are single partition ext2 filesystems tho, so can't do much testing on these different aspects. and I'm not that keen to dd a big block of data into the middle of either of them :)

rob.

robmiller 2007-08-19 12:00

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by tolou (Post 69609)
Testing internal Flash gives me a respectable result.
Code:

/dev/mtdblock4:
 Timing cached reads:  206 MB in  2.00 seconds = 102.83 MB/sec
 Timing buffered disk reads:  42 MB in  3.08 seconds =  13.66 MB/sec

How could that be? We all know that booting from mmc is boosting read performance.
Still on 51-6 with the SDHC kernel although I'm only running non-SDHC cards still.

perhaps the the sd card i/o is dispatched off to a separate bit of circuitry, while the internal flash and ram could be sharing access hardware (address and data lines)? just a guess of course...

rob.

Milhouse 2007-08-19 12:40

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by robmiller (Post 69628)
wonder if dd uses the same ioctls as well? how big were your dd tests?

About 240MB - benchmarking a dd *read* is non destructive.

Here's a link to the thread with my tests when using dd.

jbenny 2007-08-21 21:24

Re: test your sd card read speeds on n800
 
I have the official SDHC firmware. Like others, I am getting about 5.5MB/S buffered read speeds on both internal and external slots. The internal card is an older SanDisk 1GB SD. The external is the A-Data 8GB SDHC that I just bought. This is a Class 2 card, but it performs like a Class 6 in a card reader in my PC. In my N800, both cards are performing about the same. Obviously, there is a severe bottleneck in the N800.

penguinbait 2007-08-25 05:50

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by penguinbait (Post 69377)
sdhc 8GB - Class 6 - Kingston

Code:
Nokia-N800-26:~# ./hdparm -Tt /dev/mmcblk0p1

/dev/mmcblk1p2:
Timing cached reads: 242 MB in 2.00 seconds = 120.25 MB/sec
Timing buffered disk reads: 38 MB in 3.04 seconds = 12.50 MB/sec

updated kernel listed in this post

mounted on /usr/local

Ran again, 2GB Kingston MMCMobile, VFAT (setup inside winxp)

mmc0 is mounted on /media/mmc1

then I created a 1GB ext2 filesystem on a file in /media/mmc1
/media/mmc1/1GB_file

then mount -o loop to /usr/local

mount -o loop /media/mmc1/1GB_file /usr/local


/dev/loop0:
Timing cached reads: 216 MB in 2.01 seconds = 107.24 MB/sec
Timing buffered disk reads: 30 MB in 3.01 seconds = 9.98 MB/sec
Nokia-N800-26:~# ./hdparm -Tt /dev/loop0

/dev/loop0:
Timing cached reads: 234 MB in 2.01 seconds = 116.25 MB/sec
Timing buffered disk reads: 52 MB in 3.01 seconds = 17.30 MB/sec
Nokia-N800-26:~# ./hdparm -Tt /dev/loop0

/dev/loop0:
Timing cached reads: 242 MB in 2.00 seconds = 120.85 MB/sec
Timing buffered disk reads: 52 MB in 3.14 seconds = 16.56 MB/sec

Check this out, kinda interesting?

robmiller 2007-08-25 08:42

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by jbenny (Post 70172)
I have the official SDHC firmware. ... Obviously, there is a severe bottleneck in the N800.

yes, the bottleneck is in the firmware which does not implement the full speed the hardware is capable of. the view seems to be that this was probably done to ensure the widest compatibility for non-techy users. if you're concerned about measuring and getting the fastest speeds from your card then you have probably moved out of the initial target audience and should consider using the kernel with the speed enhancements.

rob.

robmiller 2007-08-25 12:49

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by penguinbait (Post 71015)
Ran again, 2GB Kingston MMCMobile, VFAT (setup inside winxp)

mmc0 is mounted on /media/mmc1

then I created a 1GB ext2 filesystem on a file in /media/mmc1
/media/mmc1/1GB_file
...
/dev/loop0:
Timing cached reads: 234 MB in 2.01 seconds = 116.25 MB/sec
Timing buffered disk reads: 52 MB in 3.01 seconds = 17.30 MB/sec
Nokia-N800-26:~# ./hdparm -Tt /dev/loop0
....

Check this out, kinda interesting?

it does seem like we can get different speeds from different regions of the card, tho really not clear what effect the ext2 on top of vfat has here :) also, what class is the MMCMobile?

I do think Milhouse/Fanoush are right - dd and their 240mb read tests will probably give a more accurate picture of card speed overall than the hdparm 2sec/3sec tests.

ideally we'd all think to do dd write tests when we first get the cards before reformatting them and loading up all our goodies.

rob.

niv 2008-01-26 01:56

Re: test your sd card read speeds on n800
 
A-DATA Turbo 8GB Secure Digital High-Capacity(SDHC) Flash Card Model TurboSD SDHC 8G - Retail (Class 6)
http://www.newegg.com/product/produc...82E16820211180
/dev/mmcblk1p1:
Timing cached reads: 186 MB in 2.00 seconds = 92.80 MB/sec
Timing buffered disk reads: 14 MB in 3.18 seconds = 4.40 MB/sec

second card:
/dev/mmcblk0p1:
Timing cached reads: 194 MB in 2.02 seconds = 96.26 MB/sec
Timing buffered disk reads: 14 MB in 3.10 seconds = 4.51 MB/sec

Munk 2008-05-08 05:50

Re: test your sd card read speeds on n800
 
/dev/mmcblk1p1:
Timing cached reads: 194 MB in 2.00 seconds = 96.42 MB/sec
Timing buffered disk reads: 10 MB in 3.18 seconds = 3.14 MB/sec

/dev/mmcblk1p2:
Timing cached reads: 192 MB in 2.02 seconds = 95.27 MB/sec
Timing buffered disk reads: 14 MB in 3.03 seconds = 4.62 MB/sec


OK, so why is my benchmark so darn slow!?! On my N810 I have a 4Gig Class 6 SD brand card. I have dual boot installed and currently booted into my SD card.

This has prompted me to look for the 48MHz mmc hack and I've installed the "Modified initfs with onscreen boot menu and usb network recovery" from http://fanoush.wz.cz/maemo/ which I thought had the 48MHz hack in there. When I got into "About" I see that I have version 2.2007.51-3 but on Fanoush's website it says "2.2007.50-2" so do I not have it installed then? If so, how am I dual booting?

I'm confused, any help would be great. Basically, I'm sick of how damn slow everything loads and was hoping that by having a faster SD card, booting from it, getting away from the jffs2 OS, and launching programs from my SD card, everything would load 25% faster or better.

qwerty12 2008-05-08 06:11

Re: test your sd card read speeds on n800
 
The 48Mhz sd hack is in the kernel. It is also noted, in OS2008, you have to turn off the cpufreq to get it to the full speed.

Munk 2008-05-08 06:45

Re: test your sd card read speeds on n800
 
Thanks for the reply qwerty12. So that sucks then about the cpu freq down for sd speed. So with all of the hacks you have on your NIT, what speed is your sd card with this benchmark?

Is there a program where I could toggle the cpu in favor of sd speed? Maybe an auto throttling background task?

qwerty12 2008-05-08 06:53

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by Munk (Post 179146)
Thanks for the reply qwerty12. So that sucks then about the cpu freq down for sd speed. So with all of the hacks you have on your NIT, what speed is your sd card with this benchmark?

Is there a program where I could toggle the cpu in favor of sd speed? Maybe an auto throttling background task?

I wish I had all those hacks back :). I'm still recovering from flashing.

You would have to flash Fanoush's kernel (either from his website or the one in the rotation thread if you like rotation too, fanoush's one, not jott's one)

Then you can echo these as root:
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

That will make the cpu run at it's full speed and bring the battery down.

To bring it back to normal;
echo 165000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

I just received a class 2 8GB SD card so after hacking, I'll post the speed of it :)

Munk 2008-05-09 22:08

Re: test your sd card read speeds on n800
 
qwerty12,

Man, you have made a happier person with information. The whole device is snappier and more usable at this point thanks to the speed up. I'm leaving the system in the faster speed because it really hasn't diminished my battery life much at all from a normal days use. But, the speed difference is there and makes things a little more pleasant. Thanks again. The NIT also just seems to run aplications faster such as my emulators and normal web browsing. Maybe it's a placebo but I'm think that since the unit doesn't auto-throttle the processor, it just allows a smoother/faster day to day operation.

Here are my new results after running the two command lines from Xterm:

/dev/mmcblk1p1:
Timing cached reads: 204MB in 2.01 seconds = 101.25 MB/sec
Timing buffered disk reads: 26 MB in 3.00 seconds = 8.66 MB/sec
/dev/mmcblk1p2:
Timing cached reads: 200MB in 2.00 seconds = 99.95 MB/sec
Timing buffered disk reads: 38 MB in 3.00 seconds = 12.66 MB/sec


My old numbers (For reference):
/dev/mmcblk1p1:
Timing cached reads: 194 MB in 2.00 seconds = 96.42 MB/sec
Timing buffered disk reads: 10 MB in 3.18 seconds = 3.14 MB/sec
/dev/mmcblk1p2:
Timing cached reads: 192 MB in 2.02 seconds = 95.27 MB/sec
Timing buffered disk reads: 14 MB in 3.03 seconds = 4.62 MB/sec

joepagiii 2008-05-09 23:25

Re: test your sd card read speeds on n800
 
not totally related....but sorta is....i tested using hdtac the internal drive on the n800...only got 5 mb/s but whence on an external reader the same card got 20.2 mb/s my version on the about product is 2.2007.51-3 didnt run the hdparm yet

Munk 2008-05-10 02:28

Re: test your sd card read speeds on n800
 
Quote:

Originally Posted by joepagiii (Post 179839)
only got 5 mb/s but whence on an external reader the same card got 20.2 mb/s my version on the about product is 2.2007.51-3 didnt run the hdparm yet

That looks like a good setup. When you do get hdparm on your device and test it, please post what you find. I would like to know if it reports these same smoking speeds.


All times are GMT. The time now is 13:49.

vBulletin® Version 3.8.8