 |
 |
 |
The PalmOne LifeDrive, Tungsten T5 and Treo 650
Flash Memory and Hard Drives! and What it all Means to You |
Battery ran down on your new LifeDrive? No problem. Changing batteries
on your Treo 650 and got distracted for an hour? You're safe. Your data will still be there, all of it, thanks to
a new feature in PalmOne's latest handhelds, known technically as NVFS (Non-Volatile File System). On the Treo 650
and Tungsten T5, this is implemented using Flash memory. On the PalmOne LifeDrive, a 4GB hard drive provides the
real-time backup capabilities.
NVFS - What is it? What does it mean?
- NV - Non Volatile
- it won't evaporate when it loses power
- FS - File System
- data is stored in a file system exactly as it is on an SD Card or memory stick
Add it up and you get all of your data stored in a place
that won't be erased when your battery runs down or is removed. How long will
your data persist? Forever - it's non-volatile...
As mentioned above, NVFS is the technical term for this new system. On the Tungsten T5 and Treo 650 box, you will see it described
simply as, for example, "256MB OF FLASH MEMORY." On the LifeDrive, it is actually a hard drive, so for LifeDrive-style devices, it is
described as, for example, "4GB hard drive".
So, if this new system is non-volatile, that must mean my current pda is... volatile? Yep, as we all have probably experienced
at least once in our lives, most PDAs will forget everything you ever told them once the battery runs completely down. This is a huge
turn-off for new users who are used to having things saved on a hard drive that never forgets... if they go on vacation and forget
to charge their device while they're gone, it's a shocker to find everything wiped clean.
The NVFS system essentially backs up the system at all times to flash memory or hard drive, so even if the battery runs completely down,
the data remains. It really is much more like a traditional computer, where every file is saved to the hard drive in the system, as opposed to RAM that needs to be kept
alive by the battery.
Another advantage of this is that data is not at risk when changing batteries. For example, the Treo 650, with a removable battery,
is very safe. There is no "60 second window" to change batteries like there was on old battery-operated devices. The data is safe
even with the battery removed for long periods of time.
Cool things about NVFS
Since the NVFS acts like a big internal file system, you can actually store files in it just like an SD card or hard drive.
The Tungsten T5 has a huge 155MB partition of the NAND Flash that appears as a storage card on the device, like
having an SD card built in. The LifeDrive has gigantic multi-gigabyte partitions that can be used just like a regular hard drive.
|
 |
The Tungsten T5, Treo 650 and LifeDrive have a hidden "built in" storage partition that holds all of the standard data
like address book entries and datebook entries - what you would normally think of as the "internal RAM" of the device.
Since this internal storage is also a standard file system, you can store files on it without converting them to a
funky "palm database" format.
|
|
AcidImage, for example, shows this internal volume on the Tungsten T5 as "BUILTIN", while it shows the larger 155MB
storage area as "INTERNAL". This may be a bit confusing, since they are both built in, and they are both internal,
and they both behave exactly the same. The only difference is, the "BUILTIN" area is equivilent to the amount of
"storage heap" your device has - that is, the BUILTIN area is shared with all of your other applications, like the
address book, date book, etc., so you don't really want to fill this all the way up. When you check the Free Space
from the "Info..." menu selection in the program launcher, it will tell you how much space is free in the "BUILTIN"
partition of the NAND Flash or hard drive.
Confused? If not, read on!!!
|
How It Really Works
|
Normally, on a Palm OS handheld, all "internal" databases are stored in regular RAM,
and that RAM is kept alive by the battery, even when the device is off. With NVFS,
internal databases are stored in the NAND Flash or hard drive - but since they can't be accessed directly,
they have to be loaded into RAM first.
The NVFS takes care of loading data from the NAND Flash into a RAM buffer when needed.
The RAM buffer available for user data is about 10 megabytes. When something from
internal storage is needed, the NVFS system loads that into a part of that 10 megabyte RAM buffer. If
the information is modified, then the NVFS system writes that buffer back
to the NVFS. This writing is done when a database is closed, and also whenever
the device goes into sleep mode, to make sure everything is saved in case the battery runs all the way down.
This style of storage system can get confusing when talking about how much "RAM" the device has. A Tungsten T5 for example has
256MB of NAND Flash, and 32MB of RAM. You won't hear anything about the 32MB of RAM, since all of it
is used to store system data and the RAM buffer. Instead, the T5 literature says things like
"55 MB of program memory, 160MB internal drive". What this really means is that 55MB of the internal
NAND Flash is set aside to store your "storage heap" databases, and 160MB of that NAND Flash is set
aside to act like a memory card. What about the other 41MB of the NAND Flash? It is used to store
other system files and the ROM image (compressed).
So in addition to all of this NAND Flash, there is 32MB of RAM in there, but it is already accounted for.
Half of it is taken up by the ROM image after it is decompressed from NAND (recall that the NAND flash
can't be accessed directly, so anything in use must be stored in this 32MB of RAM). Another 6MB of this
RAM is taken up by the "Dynamic Heap" - the working area used by active programs. And the remaning 10MB
is used to swap data in and out from the 55MB virtual "storage heap" stored in NAND.
|
NVFS Test
In general, if you are dealing with small sets of data, the 10 megabyte cache should be plenty of space to make these devices run at full speed.
However, if you're dealing with data larger than 10 megabytes, things might be slow, or not work at all. In all of our simple tests, the T5 performed
very quickly and the speed felt really great.
We ran a quick test, running a few slideshows with AcidImage, and loading up some JPEG backgrounds with AcidSolitaire and AcidFreecell on a T5.
The speed overall was great, whether the backgrounds were being loaded from an external card, or from an internal NVFS volume. Copying images
from an SD card to an internal NVFS volume with AcidImage was also quick.
|
Still not confused? How about this...
One side effect of the NVFS system is that, although your T5 may claim to have 55 megabytes of memory free, you can't use all of it at once.
If an application tries to access more than 10MB of data at one time, it will find itself out of memory.
This can be really confusing - a Tungsten T5
with 55MB free can get an out of memory error before a Tungsten T3 with 12 megabytes free if an application tries to open up 12 megabytes worth of
databases all at once. In general, the 10MB RAM data cache should
be more than enough for most uses, but for hugely memory-intensive applications, the 55MB of memory that appears to be free could be misleading.
|
How does this affect Red Mercury apps?
All versions of AcidImage, including AcidImage Basic, have been updated to access all sections of NVFS, including
the hidden internal volume. As stated above, this "BUILTIN" area should be used sparingly, but it is used by the PalmOne
builtin applications to store data, so AcidImage gives you access to it as well.
AcidFreecell and AcidSolitaire will now scan all of the NVFS for JPEG backgrounds if you checkmark "Scan All Volumes".
This includes any images stored internally on NVFS, for example, from the Treo 650 built-in camera.
The updated versions are available for download and are a free update to registered users.
Enjoy your NVFS!
Back to Red Mercury
|
 |