Speed Booting From Sd?


I don't think you can make any general statement here - the SD "class" ratings are based on write speed, not read (which would probably be more relevant for boot times), and are only a guaranteed minimum anyway - actual cards can vary quite a bit. It might be more productive to actually list specific cards, if not actual tested speeds.
 
Tom` said:
I don't think you can make any general statement here - the SD "class" ratings are based on write speed, not read (which would probably be more relevant for boot times), and are only a guaranteed minimum anyway - actual cards can vary quite a bit. It might be more productive to actually list specific cards, if not actual tested speeds.
I've used a 1x 2GB card and a class 6 4GB card and the difference in boot time is minimal to non-existant.
 
Last edited by a moderator:
mindlord said:
Not too bad. 5-7 seconds longer than NAND.
Which is to say "slower". So why would I want to do it, then? Is being able to swap distros quickly the only reason?
 
Last edited by a moderator:
^ Booting will be a rare thing to do sometime in the future when there is the new kernel and proper power management. ARM chips are designed to be always on ;)
 
daffy said:
mindlord said:
Not too bad. 5-7 seconds longer than NAND.
Which is to say "slower". So why would I want to do it, then? Is being able to swap distros quickly the only reason?
Well, I do it so I have a clean install for testing, and an SD install for general use and program compilation. Had to build so many things from source. I only need to boot if I've had out of memory issues, at other times, the battery life is good enough and I'm near enough to the mains. Rebooted in the time it took to write this.
Yes, I could go to an extend model, boot from NAND, most of the filesystem on SD - but then I risk loosing the benefit of a 'spare' installation when I manage to corrupt things.
 
Last edited by a moderator:
I use an SD install for several reasons.
1) NAND is a pristine install that I can use if things get mucked up to repair my main OS.
2) It's very freeing to not have to worry about mucking up my NAND.
3) If things get too broken, you're flashing an SD card, and not your NAND.
4) I can install any ipk I want without having to worry about writing to the NAND.
5) I get quite a bit of software I want without having to wait for someone to PND it for me.
6) I have plenty of room to install anything I want. 4GB is a lot of room.
7) I can install libraries and dev tools. Which means I can compile packages that aren't in the Angstrom Repos or PNDs and use them.
8) The OS is overall pretty small, so I can still put plenty of PND's I use all the time on the same card as my OS.

I know many of these reasons won't matter to people who just want to play games, but for people like me who want to blow the doors open... I think it's the best way. I have booted into the NAND maybe 10 times since I got my Pandora.
 
do you run the same image from the sd or do you boot a different distro?
 
MonkeyChops said:
do you run the same image from the sd or do you boot a different distro?
My nand is the beta HF4 (100727?), SD is HF3, so not really different. I also have a spare experimental kernel on SD. and swapfile on SD (which seems to be in play at the moment, and it's all gone very un-responsive - typed 'make' 5 hours ago...)
 
Last edited by a moderator:
MonkeyChops said:
do you run the same image from the sd or do you boot a different distro?
I run the Pandora Angstrom image HF3 on the SD card, and I update the NAND when official (non-beta) hotfixes come out. I have also run Debian Sid, and Lubuntu off the SD card as well. I ran into driver issues, but they do work, and it's not hard at all to do. If someone more talented at the kernel level stuff than I am were to give it a try... I'm sure we'd have Debian and Ubuntu images that were fully compatible with Pandora Angstrom in no time.
 
Last edited by a moderator:
My NAND is basically HF3+gcc (enough for a kernel compile), and my SD is with my tweaked out kernel and all my tweaks and experimental stuff. So for me it works well to have NAND as a rescue system (that can compile a working kernel if needed) and normally boot from SD. I have a 256M swap.bin in home that i enable if i need to compile something big that needs >256M of memory.
 
Take a look at this benchmark of fast sd-cards:
http://www.tomshardware.com/reviews/compactflash-sdhc-class-10,2574-7.html

Many cards are hit the SD-bus limits (+-20MB/s) for read-speeds, and come close while doing sequential writes, have excellent random-read-I/O, but completely suck at doing random-write-I/O. only very few cards are actually acceptable in that area... (most notably, the sandisk extreme class 10, but it looks like that card's using an out-of spec speed in that test, so the results aren't entirely valid...)

For an OS-card, that random-write-speed is going to matter. A LOT. (unless you use a log-structured FS like NILFS or logfs, that happen to neatly work around that, but you can't readily use those on the Pandora yet...)

I can't find any speed-info of the internal NAND, but it's formatted using UBIFS, which also neatly handles flash's erase-issues* (that FS can only be used on direct-acces (MTD) flash though)...

So I expect the internal NAND to be fastest for most users.


* raw flash is read to and written to in 512Byte-blocks, but can only be erased in far larger clusters. Flash-devices that are used as block-devices use an internal logical-to-physical-block(or erase-cluster)-mapping, manage a list of empty erase-clusters, and whenever you write to a non-empty block, most devices have to copy the entire erase-cluster around to another empty cluster, incorporating the changes. It then adds the old cluster to its list of available empty clusters, erasing it somewhere along the way. The modern-day good SSD's use more intelligent, but quite processing/memory-expensive ways...
Flash can, however, also be addressed directly, without that block-device-layer. The linux-kernel calls that MTD's (memory technology devices), and has a couple of filesystems designed specifically for them. They're log-structured (they write all of their new data to the end of the log), resulting in them basically not having to issue erases until the device is completely written to. UBIFS is the newest, best-performing one.
 
Toms Hardware actually has loads more benchmarks for SD cards:

http://www.tomshardware.com/charts/sdhc-memory-card-charts/benchmarks,40.html

People were recommending the Patriot LX Class 10 cards before, but those don't hold a candle to the SanDisk Extreme:

SanDisk Extreme: Read - 26.9 MB/s, Write - 24.4 MB/s
Patriot LX: Read - 19.7 MB/s, Write - 12.2 MB/s

Then as Laurencevde brought up, I/O operations are also really important. With the workstation benchmark patterns, you can see where SD cards really stand in this respect:

http://www.tomshardware.com/charts/sdhc-memory-card-charts/Workstation-Benchmark-Pattern,867.html

SanDisk extreme performs much better than it's competitors. We also see that the cards that follow behind the SanDisk Extreme are not Class 10 cards, but a Lexar Professional and a class 6 Transcend card. Class 10 cards fall way near the bottom on this benchmark.

I think what I'll probably end up doing is using a SanDisk Extreme, or some other card that performed decently well on that benchmark, as storage for my OS, and then I'll use some class 10 card with a lot of space for general file storage.

If you were impressed by the SanDisk benchmarks, then aim to get one of these (if you're worried about the product code being different on Amazon than on Tom's Hardware, as in A31 vs P31, it's just a packaging code - nothing to be concerned about):

SanDisk Extreme 4GB, $30.53 http://www.amazon.com/SanDisk-4GB-Extreme-III-SDSDX3-004G-P31/dp/B001HAM7ZI/ref=sr_1_6?s=electronics&ie=UTF8&qid=1281151383&sr=1-6
SanDisk Extreme 8GB, $47.83 http://www.amazon.com/SanDisk-High-Performance-Card-SDSDX3-008G-P31/dp/B002GEQDK4/ref=sr_1_1?s=electronics&ie=UTF8&qid=1281151383&sr=1-1
SanDisk Extreme 16GB, $90.25 http://www.amazon.com/SanDisk-16GB-Extreme-Performance-SDSDX3-016G-P31/dp/B002HFER6O/ref=sr_1_1?ie=UTF8&s=electronics&qid=1281151445&sr=8-1

If anybody finds better prices than these, please post them!
 
What I don't get is why people would need the 16GB cards.
If you need a lot of storage, put it all on a cheap class-4 16GB card. If you need speed for some applications (or an OS), put them on a 2 or 4GB super-fast card.

And with the Pandora- you can use both.

I have ordered several high-capacity low-speed cards and a few low-capacity high-speed cards. It's cheaper in the end.
 
Back
Top