View Single Post
Old 01-31-2009, 01:58 AM   #18
webmasterpdx
New Member
 
Join Date: Jan 2009
Model: 9530
PIN: N/A
Carrier: verizon
Posts: 6
Lightbulb I'm working on a solution....maybe

However there maybe some gotchas.
I was told by some of the experts (I'm assuming they work for blackberry) incorrect information.

First, I was told that there is 1GB internal RAM (I take that to mean 1GBytes internal RAM not flash). This is incorrect.
I believe now that there is 128MBytes of flash and 876Mbytes of RAM (note that the figures may not be exact due to definitions of M being 1024 or 1000 and maybe not exactly the values involved).
This seems to match what I see in the memory Options on the storm.

I'm assuming that apps and the OS reside in the flash, but RAM is used for running processes, etc.... i.e. when you run an app, it gets loaded into RAM and runs from there (at least partly). Note also that there are 2 types of flash....NOR flash from which you can execute code and NAND flash which is more like a DISK and from which you cannot directly execute code.

Now, I know how to install apps into the SD card (nand flash). Then when someone clicks on the icon shown by running my future app, it'll load the app into internal memory, save it and launch it. Now, if the app can be forced to be stored in RAM, then this isn't a problem. However, if the app is forced to be stored in flash, I can't do it that way as flash has a limited number of times that you can write it....before it no longer works, and setting things up to maximize flash life is very complex (wear-levelling algorithm).

Another approach is to store the apps in SD flash and to load them as run and to "cache" them in the internal flash so the most commonly used apps are stored internally, but will get swapped out when memory runs low. This still suffers from the flash lifecycle problems, but will result in less writes to flash.

Another approach is to let the user manually load apps to the internal flash manually by just selecting them and selecting load. Note there is already a program that already does this from aerize.com.

Note that for what I want to do and for aerize.com's version, you can only install into SD card and swap from there. You CANNOT move apps from internal flash to the SD Card as you don't have access to the code bytes (there is no API to support that).

Now, I'm still confused as I don't know if my idea of what internal memory is made up of is correct or not. I have a post to the developer forum at blackberry.com to determine that. I sure hope I can store an app in RAM. It's already in ram when I load it into the OS, but then I have to save it (it's this save that may store it in flash). If I can run it without the save, then I can bypass the flash.

I hope this clears things up a bit.
Offline   Reply With Quote