Sunday, March 15, 2009

As delivered the Overo Earth computer comes with 256-Meg of DDR RAM memory and 256-Meg Flash non-volatile memory. For most embedded applications this is a vast amount of memory! On the other hand - if you are looking to use the device in a more-general purpose application such as a very very tiny desktop machine you will need more non-volatile memory for the storage of applications and application data files.

I know, it was once stated that most people would generally only need about 10 megs of storage and 640K of RAM, but consider the source of that statement - Bill Gates himself (code bloat extrodinare) at the 1986 Chicago Computer Show! I beg to differ (as I did in 1986) that memory requirements will only grow and should not be limited to some hasty decision from others who would think computer technologies will not advance. Oh well - gotta get off this soap box!!! I degress!

I am using a Micro-SD card (very very very tiny non-volatile memory storage device) to store my uboot, Linux kernel and the Linux filesystem. The specific card I am using is the A-Data 8-Gigabyte Class-6 Micro-SDHC card. The specifications for this uSDHC card are pretty good - not the fastest but respectable for the amount of storage afforded by the device.

Now, before you start quoting that SD cards have a limited life you may want to check on the current SD card memory capabilities. Most of the current SD and SDHC cards can write over one million times to the same memory cell (unit of storage) before there is the posibility of the memory cell not retaining the bit setting. Most current non-volatile memory devices now use a form of virtual addressing which allows the device to "balance" the use of the memory cells by translating the requested physical memory location into a virtual memory mapped location on the device. This ability to perform translation allows the device to balance the write operations on the device in such a way as to spread the write operations across the device more evenly thereby extending the useful life of the device.

One advantage I have found to running the computer system from the uSDHC card instead of the built-in non-volatile flash memory is if something goes horribly wrong with the information contained on the uSDHC card I can always boot up the system from the factory installed operating system contained in the built-in non-volatile flash memory! This is a very handy capability as there have been times during the learning curve of building the operating system for the Overo computer where I have actually had to use this capability to recover from some boo-boos (I like to refer to my stupid mistakes as such).

Currently, the uboot (initial bootup software), the Linux kernel (version 2.6.29-RC2) and the Linux filesystem along with various Linux applications and an x-windows environment comsume less than 1-gig of storage on the uSDHC card. The remaining free space is over 7-gigs of space which is a pretty respectable amount of storage space - even by todays standards.