How to adjust the Storage Memory and Program Memory Partitioning on the Handheld PCCESD-S-0121
Older generation Windows CE based devices rely exclusively upon internal Random Access Memory (RAM) for both system processes and personal data storage. Under Windows CE, the devices total available internal memory is considered partitionable, that is it can be divided into user definable sections. This article discusses how to adjust the internal memory partitioning and why a user may wish to make the changes to begin with, with each performing a distinct function.
Before Windows Mobile 5.0 established solid-state flash memory as a de facto part of the Windows CE storage system make-up, all consumer Windows CE devices primarily relied upon partitioned, volatile memory for both the storage of private data and for operating system processes and functions.
As Windows CE uses the same physical memory for both sets of data manipulation, a distinction is made between the operating system processing memory and the private data store. These are formally called:
Storage Memory can be considered by the user to be the equivalent to Windows CE of a hard disk, floppy drive, zip disk or rewritable CD. Although technically the analogy is inaccurate, the principle common attributes to the user of these mediums are that information can be read from it, written to it, filed and manipulate all at the discretion of the user.
Under Windows CE, when you browse the device using My Handheld PC or My Computer, it is the Storage Memory that you are viewing. Files can be created and manipulated just as they can be on any Windows PC. The My Handheld PC interface was designed to provide a familiar look to Windows users, so that no obvious distinction is needed between Storage Memory and a Hard Disk, Floppy Drive or indeed a Storage Card.
Program Memory undertakes an identical role to that most users would traditionally ascribe to RAM. This region is not something that you can physically interact with unless you are a developer, however every program you run, every task or action that you perform on the Handheld PC makes use of it with the aim of producing the desired information on the screen.
Striking the Balance
While there are some exceptions, most Handheld PC devices cannot have their internal memory (RAM) expanded. Of those that can, no H/PC device can have its RAM expanded while retaining the information stored in it. consequently, the amount of RAM that your device has currently, whether it is 2MB for a Windows CE 1.0 device or 128MB for a Windows CE .net device is the only memory figure that you have to work with.
Under Windows CE, a balance must be struck between how much of this memory is used for your own personal information in what is often called the file system, and what is used silently by the operating system. Each of the two regions is completely isolated from the other. Once memory is assigned for use as part of the Program Memory, it cannot be used to store - for example - Pocket Word documents and vice versa.
By default, most devices will ship with this allocation set at a roughly equal figure, with 50% of the total RAM set to Storage Memory and 50% set to Program memory. For most users this figure will be acceptable, particularly on newer devices. For users of older devices, with sparse amounts of RAM, it may become necessary to adjust this figure more frequently in order to to get the device to perform as required.
As a general rule, choosing how to partition the main memory should be considered along these lines:
Limitations, Issues & Tips
There are a number of things to be aware of when adjusting the memory settings on your device.
To manually set the partitioning on the Handheld PC's internal memory:Please Note: This information applies to internal RAM only. These settings have no impact upon internal FlashRAM storage areas and storage devices such as CF cards.
The slider on this screen displays an overview of the current status of your devices memory.
Information and space on the left hand side of the slider pointer is allocated to Storage Memory, Information and space to the right to Program Memory.