WM Memory architecture paper

All,

Please take a look at the attached regarding WM Memory.  If you have comments please send them over to me @ Luis.Llamas@Symbol.com

Peter Arcuri
I'm presuming the flash

I'm presuming the flash memory would only be 64MB, and not 128 like MC70 & MC9090. In this case, wouldn't there be a shortage of capacity to adequately house windows and application files? What other differences/limitations will there be with upgraded units versus those with WM5.0 from out of the box

It's important that we know early in the game to curtail false expectations that customer/partners will soon frabricate. 

Anyone aware of the person/team working on WM5.0 upgrade for MC50 and MC9060? Perhaps we can ping them with some questions and get a FAQ going.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Kjell Lloyd
Are you sure about this, don

Are you sure about this, don't you need the faster NAND flash for this on the MC50?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Kjell Lloyd
Ok, didn't know that this was

Ok, didn't know that this was possible. How will the performence be on Read/Write, I belive the solution will be some kind of RAM Cache disk?

What will happen with Application partition, sounds like that will be the new Persistence Storage then?

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Robert Galvin
Chuck Bolen will be

Chuck Bolen will be discussing this topic on the SEVT call today. Please see the following link for call details:

https://devcentral.symbol.com/shwmessage.aspx?ForumID=100&MessageID=2965

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Luis Llamas Mar...
Hopefully it worked now.

Hopefully it worked now.
Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Luis Llamas Mar...
Couldn't add the attachment,

Couldn't add the attachment, but I was able to paste the content into the body.  It lost some of the formatting, but the content is there.  Sorry for the inconvenience.

[View in HTML]

----------------------------------------------------------------------------

Mobile Computing Division Technology Spotlight Windows Mobile™ 5.0 Memory Architecture

With Windows Mobile™ 5.0 (WM 5.0), Microsoft® made an architectural shift to a persistent storage model driving hardware architectures to require more non-volatile Flash memory and less volatile RAM. This paper explains the rationale and benefits, and provides insight on memory needs for typical applications. While the personal computing paradigm has conditioned us to expect more and more RAM for application usage and performance, this paper establishes that 128 MB of Flash and 64 MB of RAM is more than enough for the vast majority of – if not all – WM 5.0 based mobile computing applications.

Memory Architecture Overview

Basically, there are two types of components that constitute a handheld mobile computer’s memory architecture:

  1. ـ Non-volatile storage that stores the Operating System image and other standard software that comes loaded on the device; typically referred to as the ROM, or Flash ROM; it does not draw battery power when suspended or idle, and draws the same power regardless of memory capacity.
  2. ـ Volatile storage used to store data temporarily during program execution; typically referred to as the RAM; draws power even when in suspend or idle mode to preserve the data – in fact, this accounts for the largest consumption of battery power when a mobile computer is in suspend mode; data is lost in the event that the battery becomes fully drained; as the RAM capacity increases, the system consumes more power.

The Paradigm Shift to Persistent Storage

Prior versions of Windows Mobile™ (2003 and before) required applications to not only use RAM for execution but also to temporarily store application/user data in a RAM-based object store. It required applications to then write data onto non-volatile storage periodically to avoid loss of data. This required significant RAM capacity – typically 64 MB to 128 MB – with the potential loss of mission critical data due to loss of power.

Windows Mobile™ 5.0 (WM 5.0) introduced the persistent storage model, giving way to the need for larger RAM footprints. In this model, non-volatile Flash memory is used for storing standard software and application/user data, and RAM is used only for temporary data and faster execution of application code. Thus, RAM is used strictly as system memory rather than as both system memory and a data storage medium. Since all data residing on a Windows Mobile™ 5.0 device is saved in non-volatile Flash, it is protected from loss even if the battery is fully drained. This configuration is similar to the way a desktop computer works, with RAM being used for temporary storage and a hard disk for persistent storage.

Symbol Technologies, Inc. One Symbol Plaza Holtsville, NY 11742-1300 t: 1.631.738.2400 f: 1.631.738.4164 www.symbol.com © 2006 Symbol Technologies, Inc. All rights reserved. Rev. 1 May 2006 Page 1 of 4 Mobile Computing Division Technology Spotlight Windows Mobile™ 5.0 Memory Architecture

Impact on Memory Due to the Persistent Storage Model:

Microsoft indicates that minimizing RAM footprint is important due to the following reasons:

  1. ـ The WM 5.0 operating system can only address 32 MB of RAM per application.
  2. ـ The vast majority of customers using devices configured with earlier versions of Windows Mobile and 128 MB RAM were only using a fraction of the RAM – and some switched down to a 64 MB RAM configuration to save power as well as cost.
  3. ـ The total suspend time duration is reduced by ~50% with 128 MB RAM configuration – compared with 64 MB RAM.

Hence, given the increased emphasis on non-volatile Flash and reduced need for RAM in WM 5.0 based systems, and the benefits of a smaller RAM footprint (primarily power / battery life), Microsoft itself states that the most common configuration for WM 5.0 based devices is 128 MB Flash and 64 MB of RAM – even though WM 5.0 will work on systems with only 64 MB of Flash and 32 MB of RAM. Most WM 5.0 OEMs have followed Microsoft’s advice and limited their offerings to 64 MB RAM.

How do Applications use RAM?

Application use RAM in any of the following ways:

  1. ـ Page Pool: Executable code is paged into "page pool" to execute since RAM is typically faster than Flash memory. It is important to understand that RAM use is independent of the actual size of the executable (.exe) file and the page pool Managed by operating system itself.
  2. ـ Heaps and Stacks: used to store local variables for applications and it is limited to 32MB in most cases. Generally applications use less than 2MB.
  3. ـ Memory Mapped Files/RAM Disk: Typically used for temporary file storage which is, by definition, volatile and it is lost on a cold boot or power fault.
  4. ـ Run Multiple Applications: Since each application will use one or more of the previously described uses of RAM, multiple application running will require more RAM.

The following tables depict typical applications and their use of RAM.


Typical Database Application

Free Memory After Boot (device dependent)

40 MB

Application Buffers, etc.

6 MB

Data Base Engine (separate process)

5 MB

Data Base Cache

2 MB

Total

13 MB

Free RAM after App runs

27 MB

Symbol Technologies, Inc. One Symbol Plaza Holtsville, NY 11742-1300 t: 1.631.738.2400 f: 1.631.738.4164 www.symbol.com © 2006 Symbol Technologies, Inc. All rights reserved. Rev. 1 May 2006 Page 2 of 4 Mobile Computing Division Technology Spotlight Windows Mobile™ 5.0 Memory Architecture


Typical WM 5.0 Applications RAM Needs

Calculator

44 KB

Media Player (2 minute Music Video, 1.4M)

3 MB

Pocket Streets (Nassau Map 5.8M)

1.8 MB

Pocket IE (www.symbol.com)

1.75 MB

Macromedia Flash 7.0

10 MB

Myths about Additional RAM

The following statements are typical "myths" about having additional RAM available for applications:

  1. ـ More RAM will increase performance: performance benefits can be achieved by proper adjustments of page pool size, which is independent from the RAM availability.
  2. ـ Large Executables require More RAM: The operating system takes care of all applications use of the page pool to execute, storing the large files in flash memory instead, and minimizing the applications need of RAM.
  3. ـ Large Databases require more RAM: It is poor practice to store databases in RAM, since it is lost if power fails or the device is cold booted. Instead, large filed such as databases should be stored in Flash or removable media to ensure persistence.
  4. ـ Applications can allocate large memory blocks: Windows CE™ virtual memory limit restricts the amount of memory an application can address to 32MB. For uses where the device is running a single application, more than that amount is actually unavailable. For multiple applications running, as indicated above, more than 32MB can be addressed by the system, but good programming practices make it unnecessary.

Summary

The advantage of a persistent storage model is that it provides protection from critical data loss that was possible in versions of Windows Mobile™ prior to WM 5.0. WM 5.0 devices with 128 MB of Flash and 64 MB of RAM will perform well for the vast majority of – if not all – business applications and will provide an extended battery life in suspend mode. To take full advantage of a persistent storage model and to prevent performance degradation of your applications, we recommend consulting the Microsoft paper referenced below.

Symbol Technologies’ WM 5.0 products have been designed in such a way that RAM use is significantly reduced by using a fixed page pool size of about 6 MB per application, as Microsoft recommends. Please be sure to use the latest Symbol release of the WM 5.0 OS image to guarantee optimal performance. You can download the latest OS image for your specific model Symbol mobile computer via http://Devzone.Symbol.com free of charge1 .

1 Subject to terms and conditions clearly specified in the EULA of your Windows Mobile™ 5.0 product

Symbol Technologies, Inc. One Symbol Plaza Holtsville, NY 11742-1300 t: 1.631.738.2400 f: 1.631.738.4164 www.symbol.com © 2006 Symbol Technologies, Inc. All rights reserved. Rev. 1 May 2006 Page 3 of 4 Mobile Computing Division Technology Spotlight Windows Mobile™ 5.0 Memory Architecture

Additional References

Microsoft Paper: "Effective Memory, Storage, and Power Management in Windows Mobile 5.0"

This Microsoft paper contains a wealth of information about Windows Mobile 5.0 architecture – benefits and challenges, as well as guidelines for writing applications. It can be accessed via:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcge...

Symbol Technologies, Inc. One Symbol Plaza Holtsville, NY 11742-1300 t: 1.631.738.2400 f: 1.631.738.4164 www.symbol.com © 2006 Symbol Technologies, Inc. All rights reserved. Rev. 1 May 2006 Page 4 of 4

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Richard Hector
Question, when/if an MC50

Question, when/if an MC50 (WM03) is upgraded to WM05, would it gain the persistent storage benefit? And all other (non-hardware related) beneifts of WM05
Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Richard Baker
Am I missing the attachment?

Am I missing the attachment? I don't see it in the post...

 

Regaards,

rick

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


DIANA Melick
Rick: I have it also. I saved

Rick: I have it also. I saved it under a slightly different name, so I could find it in my computer files. I am attaching it (hopefully!). But the entire text is exactly the same. All comments, insights, etc go back to Luis Llamas.

Wishing you a wonderful weekend! Diana

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Charles Brugger
I don't see any attachments.

I don't see any attachments.
Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


joseph boriotti
Yes, WM 5.0 on the MC50 will

Yes, WM 5.0 on the MC50 will use the persistent storage model.

Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Alan Epshteyn
The MC50 upgrade, as well as

The MC50 upgrade, as well as our other upgrade devices, will use NOR flash for the persistent store.  Since the NOR flash, will also house the kernel, the amount left over for the persistent store will be smaller (~20MB) than what our new WM5 devices have (64 MB). 
Vote: 
Vote up!
Vote down!

Points: 0

You voted ‘up’


Log in to post comments