Living with NVS on your Treo 650

A guide to a stable Treo 650
By TealPoint Software

Technology never stops marching forward. When it changes, it often goes in directions we didn’t predict. Today, we have more computing power on our wrists than a 60’s era Apollo lander. Yet, where are the flying cars, ubiquitous video phones, and personal robots we were promised?

PalmOS continues to evolve in much the same way. After the unveiling of the much-ballyhooed PalmOS Cobalt last year, no such devices have come to market. Instead, we’ve seen a resurgence of development in the older PalmOS Garnet; the “OS of choice”–it seems–of PalmOne and other handheld manufacturers. The most significant upgrade to PalmOS Garnet is the recent addition of the new non-volatile file system, a.k.a. “NVFS”.

Introducing NVS

Anyone who’s had a PalmOS handheld for a few years knows the feeling: “Syncxiety”–the nervousness of carrying around un-synced critical data. Indeed, the susceptibility of these devices to data loss has long been their Achilles’ heel, preventing their widespread acceptance amongst much of the general public.

NVFS addresses these problems by allowing data to be stored in non-volatile flash memory (or a hard drive) instead of normal RAM. Not only is flash memory immune to amnesia, but it is cheaper and requires less power than RAM chips, allowing handhelds to have greater storage capacity and longer battery life.

How it works

NVFS couldn’t legitimately wear the badge of “system”, however, if the situation were all that simple. Indeed, NVFS is impressively complex, for flash memory is far too sluggish to be used as normal operating memory. Instead, NVFS devices also have a standard RAM memory area known as the “DBCache.”

The DBCache provides 10 Megabytes of temporary storage for applications and data. When you launch an application or open a file, NVFS copies that file’s data to the DBCache and copies it back only when you are done making changes. It even leaves the copy of the data in the cache to speed up future access, removing it only when more space is needed for new files.

Shortcomings

Conceptually, NVFS is pretty simple, but some of the bugs are still being ironed out. Understanding how NVFS works can help when running software that hasn’t been tweaked to workaround some of the quirks in the system.

The majority of problems occur when NVFS performs one particular maintenance operation. As mentioned above, NVFS tries to keep a copy of every file accessed (since the last soft reset). Thus, as you use your device, the DBCache starts to fill up with these file copies. When the DBCache gets to be about 9 Megabytes full, the system performs a “purge” operation, erasing files from the temporary RAM buffer to make more room for new files.

Problems sometimes occur when NVFS erases files or applications that are still in use. When this occurs, you may get some corruption, data loss, or even crashes. Some of this nastiness occurs due to applications that store or use data in unusual ways. In many instances, however, you get crashes simply because early implementations of NVFS weren’t very smart about detecting whether an app or file was still “in use” and deleted apps indiscriminately unless they had been specially modified to prevent this. In both cases, working around the problem is possible but requires a fair amount of Holmes-level sleuthing on the part of the developer.

Solutions

If you own a Tungsten T5, Treo 650, or LifeDrive, the first step is to make sure you have the most up-to-date version of NVFS available. Early implementations under PalmOS 5.4.5 were the most unstable, while 5.4.8 is the most recent as of this writing. Check your version number under the Launcher’s “Version” menu, then check the web site of your device manufacturer (or cell phone carrier) for any system updates that may be available. As of this writing, the Tungsten T5 1.1 Update is available at

http://www.palmone.com/us/support/downloads/tungstent5/tungstent5update.html

and a various Treo650 and LifeDrive updates are available here:

http://www.palminfocenter.com/view_story.asp?IDy13

If still you run into problems, the next step is to identify the offending program(s), and to replace or disable them as necessary. This is often not as simple as it seems. As problems occur mainly when the DBCache is purged, you often get crashes when a large file operation causes the RAM buffer to fill up. This usually happens when running a backup program, file manager, movie player, or other application that accesses large blocks of data. Even when crashes consistenly occur within a particular program, however, that app is often entirely innocent of the crime.

Instead, crashes are usually due to a previously-installed background app that needs to be patched to work properly with NVFS. Look for hacks, drivers, or any program that can pop open a window or otherwise activate itself while you are inside another application. These background apps may even seem to work properly when you try them, only to stealthily cause crashes at a much later time when another app’s data usage causes the DBCache to be purged.

To diagnose these problems, try using a tool like the “shuffle memory” feature in TealMover. This menu item forces the DBCache to purge all data at will, which will likely cause active background applications to instantly crash if they need to be patched for NVFS compatibility. By selectively turning on and off suspect background apps and purging the cache, you should be able to methodically narrow down your list of suspects.

If you find a problem, check its developer for an updated copy of the program. Earlier this year, we released updated versions of TealMaster, TealLock, and TealScript with special NVFS-compatibility patches. As other developers are also generally aware of NVFS issues, most first-rate companies should have updated versions of their products available by now.

Related Links

Click here to download free trials of TealPoint applications!

Click here to discuss this article on mytreo.net!

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Technorati
  • Live
  • YahooMyWeb

2 Responses to “Living with NVS on your Treo 650”

  1. Was this an article or an infomercial? ;) The info was fine, but if not, why weren’t “other” brands of software to work with NVRS (or even manage it) listed, hm?

  2. Wow, hits the nail on the head! Thanks!

Leave a Reply

Logged in as . Logout »