Log in

View Full Version : Why Many New Devices Are Coming with 128 MB Flash ROM and 64 MB of RAM


Jason Dunn
11-26-2004, 11:30 PM
Ever wondered why many of the new high-end Pocket PCs come with twice as much Flash ROM as RAM? Here's why: Flash ROM, while slower than RAM, is permanent storage – meaning that if your device loses power, the apps/data in Flash ROM are still safe. Current Pocket PCs still use RAM for database and registry storage, so losing power will still put you in a world of hurt. If you look at the way Windows Mobile Smartphones work you can see where this might all be headed: everything will be in Flash ROM, and devices can come out of a battery-dead state without a hiccup.<!><br /><br />When I got my X50 for testing, I installed several applications into Flash ROM, and they all worked without a hitch. From a freshly hard reset device, I had 62.76 MB of RAM available and 89.65 MB of ROM. 29.24 MB of RAM storage was free, and 24.88 MB of program RAM was free after connecting via ActiveSync. Did you know that ActiveSync uses 0.03 MB of storage RAM when it syncs? I know I didn't! :-)<br /><br />Here's what I installed, and the amount of system RAM free after each install:<br /><br />DinarSoft HandyMenu - 29.24 MB<br />DinarSoft MemMaid - 29.21 MB<br />Warfare Inc. - 29.21 MB<br />SkyForce - 29.21 MB<br />FlexWallet 2005 - 29.21 MB<br />LandWare Movie Guide - 29.13 MB<br />Xrgomics TenGO - 28.33 MB<br />Sprite Backup - 28.07 MB<br />Sprite Space Detective - 28.06 MB<br />WebIS Mail 2 - 28.01 MB<br />Spb Pocket Plus - 26.60 MB (this was forced into main RAM)<br />Spb Time - 26.42 MB<br />Spb Imageer - 26.10 MB<br />Spb Finance - 26.05 MB<br />Pocket Skype Beta 0.9 - 26.00 MB<br />Lextionary - 25.99 MB<br />WorldMate Pro - 25.98 MB<br />PDAmill Anthelion - 25.98 MB<br />ScaryBear Software Superlist - 25.98 MB<br />RCX Columbia Encyclopedia - 25.98 MB<br /><br />I was particularly surprised to see that an input program such as TenGo worked - they normally have to be installed in RAM because of problems loading software from Flash ROM after a soft reset. I was able to install all those apps and barely touch the system RAM.<br /><br />Mind you, this doesn't mean I wouldn't welcome a device with 128 MB of RAM. I don't use GPS, which I've heard takes up gobs of RAM, but I have seen 30 MB of RAM used up when playing a VGA-sized video - so it seems that 64 MB isn't quite enough for all scenarios, yet that's what several major OEMs are giving us in their high-end devices. :? <br /><br />The moral of the story? If you install everything possible into Flash ROM, you'll have quite a bit of RAM left over. Never install to main RAM unless you have no choice, and be sure to email any developer that has an app that doesn't work properly from Flash ROM.

PR.
11-27-2004, 12:23 AM
Perhaps WM2005 will make more use of the flashram...

Hence why all the new WM2003SE devices (that would have been running WM2005 had it not been for the delay) have more Flashram than normal...

R K
11-27-2004, 12:35 AM
I don't know why so many people are opposed to it, but I liked the Flash ROM idea, ever since the iPAQ H5450 came out with the whopping 20MB of FlashROM.
I think this model of memory management makes a lot of sense, and it's always been this way too. Take the RAM vs HDD example for instance. Imagine how expensive computers would be if we had to pay for systems with 80GB of RAM.

Right now, I take full advantage of Flash ROM by installing all my apps to it, and then I make a final Registry and system file backups. With this method, I can recover from a hard-reset or battery drain within seconds. All I need to do is to restore the Registry and Windows directory backups and I'm done.

fireflyrsmr
11-27-2004, 01:07 AM
along the same lines - does anyone understand why the new machines have all the different clock speeds on the cpu? is it just marketing or is there some engineering reason for a 520 mhz machine when 600+ is possible.

R K
11-27-2004, 01:09 AM
My only guess would be battery life and/or cost.

whydidnt
11-27-2004, 01:09 AM
I like the Flash RAM concept, but MS needs to refine the OS a little more before I consider it a good alternative to system RAM. Too many system files (not to mention important DB's like contacts, etc.) have to to reside in RAM, and I do notice slow downs from time-to-time with my 4705 when almost all my RAM is gone...despite the fact that I've installed most everything I can on Storage RAM.

I think the best solution today, for me, is 96 or 128 MB system memory and 128+ Flash RAM. - Makes me think - as cheap as flash is getting, why don't we have 512 or even 1 GB of internal Flash.

Reminds me of the old Bare Naked Ladies Song - "If I had a million dollars" - I would build the Perfect PPC - iPAQ 4150 size with sliding keyboard, VGA, 128 MB RAM, 1 GB FLASH, built in WiFi, Bluetooth + plus GSM/GPRS/EDGE.

If OQO can cram a whole PC into that little thing my device certainly sould be do-able with todays technology. :twisted:

Jonathan1
11-27-2004, 01:31 AM
Why? Simple. OEM are stupid.

ricksfiona
11-27-2004, 01:54 AM
64MB of RAM doesn't work for me... I need absolute performance and running some of my applications in ROM would definitely slow things down.

Now that Pocket PC Techs offers a 64MB upgrade to make the Dell X50v have a total of 128MB of RAM, it's the perfect machine for now... And it's still cheaper than the runner up HP hx4705.

surur
11-27-2004, 02:08 AM
Does no-one use the My Documents synchronised folder? Mine is 19.6 Mb big. If I only had 64Mb ram I would be pushing things as soon as I run tom-tom.

Also as you said, losing power will "still put you in a world of hurt". Imagine a less experienced used, forced to install all his apps into ROM due to the small ram, now under the impression that he is safe from power loss, suddenly discovering his my documents folder has been wiped, all his customisations and short cuts has been vamped, today screen plug-ins gone, and now he has to delete his rom programs to re-install cleanly again (to restore his short cuts and registry settings)

Remember, most of these programs installed in ROM defaults to storing their data in RAM!

The only difference between installing in ROM and RAM is the size of the back-up file. You still have to back up, and you still have to restore. ROM is slower than ram, and your programs will start up slower.

They may have included a lot of ROM, but have not educated the user as to the implications, or implemented methods so it made more sense. Sure you can do some tweaks yourself, like move your IE cache or avantgo (and make your machine less stable), but should Dell not have changed the OS so you dont have to be an expert to ameliorate the disadvantages from Dell's setup.

Until the OS is properly rethought (how does ms-smartphone use ram?) adding gobs of rom does not add much at all. I'd rather have 128Mb ram thank you.

Thats why Ive ordered my Loox 720...

Surur

Jason Dunn
11-27-2004, 02:35 AM
Ok Surur, thank you for expressing your opinion. :lol: Such creative use of bolding! I fully agree with you that Microsoft has done a very poor job of optimizing the OS to use Flash ROM - on the Pocket PC side at least, which is why I mentioned the Smartphone as being what might come next.

(thankfully, some OEMs are doing 128 MB of RAM, so you have that option)

Paundskumm
11-27-2004, 02:39 AM
OK, stupid question, but how do I install to the flash ROM instead of RAM.

I've got a new XDA IIs and its supposed to have 96 megs of flash ROM so I'd rather not waste it.

Is it that "storage" bit on the installer instead of "main memory"?

Thanks.

(Oh, don't worry, I've backed up the RAM as well as all my contact details)

Arqentus
11-27-2004, 02:41 AM
I'm coming from a pc background, so in my eye's rom / flash = storage, and all the rest ( ram ) is for the program's themself. My conclussion is the same as Jason's ... 64 is enouf ...

After installing a lot of stuff on it, this is my layout: Storage 14mb ( free 9, in usage 5 ), program 47 ( used 15 mb, free 31 mb ). And to be honest, the reason why my storage take's up so much space is becouse wm2003 is refusing me to move it any smaller ( forcing me to keep those extra mb's wasted :( After a softreset i regain memory up to 36mb free ... not bad. And i havent even bothered tweaking the memory ( like removing the wifi program that take's up 2mb of ram and is always there ).

But i installed a small appl called smallmenu plus, that give's me the option to close any task's still active ( and i have the nice habbit of closing those suckers every time i finish with a program &amp; it doesent need to stay in memory ).

For instance, TomTom route navigation only uses 7 or 8mb. Maybe i'm fortuned that i live in a small country but i have yet to see any program using more then that ...

Arqentus
11-27-2004, 02:43 AM
OK, stupid question, but how do I install to the flash ROM instead of RAM.

I've got a new XDA IIs and its supposed to have 96 megs of flash ROM so I'd rather not waste it.

Is it that "storage" bit on the installer instead of "main memory"?

Thanks.

(Oh, don't worry, I've backed up the RAM as well as all my contact details)

Yep ... pick "do you want to install to default location" and answer no. Then you get a drop down list with "Main Memory" aka Ram, Storage ( aka the Rom in the device, SD storage or CF storage ( aka memory in your expansion slot's ).

WyattEarp
11-27-2004, 03:20 AM
I've been installing programs to FLashROM from the first PPC I had; the iPAQ 3870 w/48MB and 20MB of it user-accessible. I always thought this was the best way and was one of the reasons I chose it. The biggest problem I have noticed is that some programs do take a performance hit but most of them that I have used aren't really noticeable.

It's also a shame that there are PPC manufactures out there have used FlashROM that you can not actually run programs from. It would also be nice to see a PPC with 128MB of user-accessible FlashROM and not just a protion of it.

CEGiven
11-27-2004, 04:29 AM
I know there's a considerable difference between RAM and an SD card, but I can't help but wonder why PDA's come with such tiny (comparatively) amounts of RAM. If I can get 1Gb for about $65 imagine what large vendors could get due to economies of scale. I'd gladly pay $100 for 1Gb of RAM. That's because of the large number of programs that insist on being in RAM versus a storage card.

Or maybe another solution would be for vendors to wise up and use storage cards more often. The best vendor I've seen is Softmaker, which allows you not only to install to a storage card, but they even let you choose the sunbdirectory on the storage card! That's how it should be done.

Everyone else defaults to the root. Then I have to move the folder, tweak all the regisitry entries, and modify the shortcut link. And don't even get me started on the brain-dead behaviour of ActiveSync. Thank goodness for programs like MightSync (which needs some work, but does make things better).

But back to the idea of having a safe place that will survive a hard reset. I was installing some GPS software the other day (new toy! Woot! :) ) and of course sent it to my SD. Big mistake, the fat monster wants to be in memory. No amount of uninstalling, reinstalling, registry tweaking, or soft resets would help (it turned out to be something different altogether). I eventually did a hard reset to eleminate any crud I may have introduced. By having a Sprite backup on my SD as an executable, I didn't spend 7 hours reloading my iPAQ (I know because I learned the hard way how long it takes). The 4155 comes with a special version of Sprite that can create an executable version of the backup. Man that was beautiful!

Of course, SD cards can go-south. So as a backup of the backup, I copy the .EXE to my hard drive. But even beyond that, I keep a text file (on laptop and SD card) that has the exact sequence of programs to load, and all the settings that I made. Hopefully things will never get to that point.

NeilE
11-27-2004, 06:43 AM
I know there's a considerable difference between RAM and an SD card, but I can't help but wonder why PDA's come with such tiny (comparatively) amounts of RAM.

Price and battery life :) RAM is comparatively expensive, and it eats a freaking large amount of battery power. I forget the exact battery numbers, but one of our hardware guys showed me once and adding more RAM drastically reduces the available juice in your PDA.

Neil

Ripper014
11-27-2004, 07:44 AM
Ok.. so explain to me why I need so much rom, again... when a flash card does effectively the same thing. I do not agree this accessment... you can replace rom with a flash card... you can not make up for loss of ram without butchering your device and voiding your warranty. GIVE ME THE RAM...

And while we are at it... I also do not understand the concept of a touchpad on a PocketPC... I thought the whole display area is effectively a touchpad...

Someone has really got to explain to me what Hp is thinking... not only with the Hx4700 but the rest of their current line... and Dell... well I can't blame them they are just probably following Hp's lead... Thank god for the Loox... Asus... and Toshiba....

trapper
11-27-2004, 08:29 AM
Someone has really got to explain to me what Hp is thinking... not only with the Hx4700 but the rest of their current line... and Dell...

Why can't they at least give us a 128MB RAM option. 128MB ROM is great and really should be standard but high end systems need more RAM. I wonder how many are waiting until HP/Dell to come out with 128MB RAM VGA systems? $650 for a 64MB system is ridiculous. 64MB has only been standard now for 4+ years.

mr_Ray
11-27-2004, 10:55 AM
The problem here is that the "ROM is better" arguement works only in theory, and has more "what-ifs" than a meeting of the alternative history society.

IF we were starting fresh, and IF MS had implemented it right, and IF the publishers allowed better ROM installs and IF people were informed as to how to use it and IF apps like SIPs worked correctly from ROM and IF system DBs could be stored in RAM... IF IF IF IF IF.

Back in the real world though:
Activesync shared my documents are stored in RAM (big!)
System data is stored in RAM and you can't move it.
Start menu shortcuts are stored in RAM.
System config (date, user info today screen info) is stored in RAM.
The registry is stored in RAM.
Shared DLLs etc are stored in RAM.
Many apps such as today plugins, SIPs work only in RAM
Many apps store large amounts of data only in RAM no matter where you install, if you can even choose install path (eg PI, tomtom, etc)
Vast majority of users don't know what ROM is, and just go with default install.
Every OEM calls 'ROM' something different making instructions etc difficult.

Unless pretty much EVERY one of the above issues (and probably a few more I can't remember) are resolved, you still need proper backups/restores. It's all well and good saying "yeah if everything was perfect more ROM would be better", but we live in the real world where things are very different. As is, right now, more RAM is much much better.

I don't buy the battery life thing as an arguement against 128MB RAM. My PPC has 128MB RAM, and depending on what I'm using my PPC for I get anywhere from 6-14 hours continuous usage.
ROM storage can be expanded in very large amounts via SD/CF cards. I don't think I'm too unusual with a combined additional 1.5GB there. Who here has the ability to add an extra 256MB of RAM if they need it? You can add ROM til the cows come home, but unless you go with a one off small but expensive PPCTechs 2x upgrade, they RAM you buy is the RAM've got til the end.

High ROM/Low RAM configs are, imo, only ideal for the ivory tower guys in the here and now.

surur
11-27-2004, 12:55 PM
Ever wondered why many of the new high-end Pocket PCs come with twice as much Flash ROM as RAM? Here's why: Flash ROM, while slower than RAM, is permanent storage – meaning that if your device loses power, your data is still safe.

I agree completely with mr_Ray, which is why Jason's statement is so misleading. Your data is only safe if you save your DATA in ROM.

Jason then goes on to explain how he stored his PROGRAMS in ROM. Storing programs in rom does not make your data any safer (and these programs often default to saving your data in RAM), and does not make your programs any safer, as you lose your shortcuts and registry settings.

To actually make use of the large rom require quite a bit of skill and customisation. Why Jason can defend such a backward move is not really clear. It may be because he knows a lot we dont about the next pocketpc OS, where the current setup would hopefully make sense. If he does he should just say so e.g. "I know the current ROM/RAM split is currently useless, but I know in the future you WILL appreciate it. I cant say more, but you know NDA's" Instead we get poor justifications about the current (very little) benefits of the Dell setup.

Of course, with the trend towards not providing upgrades to the next OS (which has also been "explained" in the past), it makes very poor sense to buy a pocketpc with upgradability to a future OS in mind.

Regarding my bold words, I practice :)

Surur

Deslock
11-27-2004, 02:24 PM
Here's why: Flash ROM, while slower than RAM, is permanent storage – meaning that if your device loses power, your data is still safe.
As many have pointed out, that doesn't really make sense. With the current PPC setup, if you lose power to RAM, and you lose your registry, PIM data, and various other system files. Someone else suggested that the primary reason was battery life (more RAM requires more power) but I believe the difference in power consumption for 64 vs 128 MB is not drastic.

Maybe it's a simple marketing/sales/cost decision? Dell and HP might've found that the cost increase for adding RAM (which is now more expensive than flash) would drive up the price, lowering sales and profits. Likewise, maybe adding a higher-end model with more memory wouldn't have been cost effective because it would mean manufacturing smaller volumes of two units instead of one large volume of one unit. Another possibility is that WM2005 needs that much flash memory for upgrading and cost prevented Dell/HP from having 128 RAM/128 flash. (Though this idea is suspect since many handheld makers have not offered an upgrade path in the past... but who knows? Maybe next year will be different) Again, that's all specualtion.
Here's what I installed, and the amount of system RAM free after each install:

DinarSoft HandyMenu - 29.24 MB
DinarSoft MemMaid - 29.21 MB
Warfare Inc. - 29.21 MB
SkyForce - 29.21 MB
FlexWallet 2005 - 29.21 MB
LandWare Movie Guide - 29.13 MB
Xrgomics TenGO - 28.33 MB
Sprite Backup - 28.07 MB
Sprite Space Detective - 28.06 MB
WebIS Mail 2 - 28.01 MB

Spb Pocket Plus - 26.60 MB (this was forced into main RAM)
Spb Time - 26.42 MB
Spb Imageer - 26.10 MB
Spb Finance - 26.05 MB
Pocket Skype Beta 0.9 - 26.00 MB
Lextionary - 25.99 MB
WorldMate Pro - 25.98 MB
PDAmill Anthelion - 25.98 MB
ScaryBear Software Superlist - 25.98 MB
RCX Columbia Encyclopedia - 25.98 MB

That's all well and good, but it's fairly easy to run through the memory on a 64MB unit even with nothing installed to RAM. Open a few webpages while reading some documents, viewing/editing images, and playing music in the background and you have a good chance of seeing out-of-memory errors. Unfortunately, even if I install nothing to RAM, I can't seem to get more than 40-50 MB free (thanks to PIM data, Windows' memory management, and general Windows' overhead). This is after messing with the slider and running various hacks (Tweaks2k2 and others) to move DLLs and temporary files out of RAM (which has the side effect of making PPC run even slower than it does out of the box).

Craig Horlacher
11-27-2004, 05:27 PM
I skimmed through the replies and didn't see what I think is the best argument for the 128MB RAM instead of 128MB flash rom. It's sort of been talked about but I'd like to summerizie.

You're limited forever to the ram it comes with and some stuff has to be installed there. The flash rom on the other had is just another "disk" where you can put stuff but a well trained monkey could stick in a cf or sd card and add a ton of memory. With prices the way they are this is very cheap too.

I waited and tried for quite a while before I got my toshiba e830. Man, if you live in the US it's not fun to try to get. It was worth it for me. I love it. The hp, besides having a very questionable replacment for the direction pad (someone was smoking crack when they came up with that idea! I'm sorry to any 4700 owners but that's got to be bad). For me 480x640 and 128MB of ram were two requirements. Another reqirement for me is always a jog dial. The button lock is a good touch.

So anyway, I've got lots of RAM to work with, 24MB of user writable internal flash area - which is more than enough for important data I want to back up, a 1GB cf card, and a 1GB sd card. Life is good!

Sure, I gave up the 600MHz processor and the 16MB angry graphics subsystem but my games work great and betaplayer still pushes mad frames!

JvanEkris
11-27-2004, 05:52 PM
I skimmed through the replies and didn't see what I think is the best argument for the 128MB RAM instead of 128MB flash rom. Well,

Problem is that some applications (like Textmaker and Planmaker) require an awfull lot of RAM. I do not know if beter designed software reduces this strain, but it is a challenge to get those applications running. My experience on the Hx4700 is that when the HP security-application runs, i lose 6 MB of RAM. That is 20 % of you program memory!!!! Sometimes it has a memory leak, and i end up with a "out-of-memory" report after a soft reset. 64 Mb goes extremely fast at such a moment.

One other part is that in a standard installation is that applications are minimized. Several small applications running in the background will fill up this memory extremely fast, resulting in memory problems.

I have to disagree with Jason on one point. Activesync has a much larger footprint than 0,3 Mb. It is huge (around 10Mb if you synchronize databases as well). Both TimeTTracker and MySportTraining use this sync and my RAM evaporates before my eyes. Since ActiveSync reguraly does a messy cleanup, this memory stays allocated until yhou kill te process by hand......

Another point is that parts are used as storage that are initiated by the OS itself. I lose 5Mb just on stuff the OS dumps in RAM.

64Mb is OK if everything is well-build and is conservative in RAM usage. But the practice is that a lot of applications, including standard delivered applications like ActiveSync and HP-Security tools, are extremely sloppy with this, resulting in memory problems.

Jaap

surur
11-27-2004, 06:45 PM
We are hearing very little refutation to the multiple reasoned arguments why progress means 128Mb ram, not 128Mb rom. Remember the 16Mb compaq, and the 32MB Jornada? There is no argument that at one time 64MB RAM was good enough, but certainly 128MB ram is better, and has more value than extra rom.

So where's all the counter arguments? Or is it just that a Dell is cheaper?

Surur

Jason Dunn
11-27-2004, 06:53 PM
I agree completely with mr_Ray, which is why Jason's statement is so misleading. Your data is only safe if you save your DATA in ROM.

Misleading? Whoa! Slow down there - let's look at what I actually said (and I'll bold it for your added convenience):

"Current Pocket PCs still use RAM for database and registry storage, so losing power will still put you in a world of hurt. If you look at the way Windows Mobile Smartphones work you can see where this might all be headed: everything will be in Flash ROM, and devices can come out of a battery-dead state without a hiccup."

So I confirmed that all current Pocket PCs CANNOT lose power and still retain user data, and I merely hypothisized at where we might be headed given how much ROM they gave us. I don't know where you're getting me being "misleading", but I find that very insulting. :?

Jason then goes on to explain how he stored his PROGRAMS in ROM. Storing programs in rom does not make your data any safer

When did I say that it did? The entire point of my article was merely to point out that I was able to successfully install 99% of my software into ROM and it worked great - leaving the bulk of my system RAM for executing programs. I was addressing the primary concern people have that want 128 MB RAM devices: "I won't have enough space to intall all my apps in 64 MB, I need 128 MB".

That's all I was trying to say - my topic wasn't the safety and security of your data, it was strictly addressing the issue of space for programs. Please re-read my article again if you're still confused - don't put words in my mouth.

Jason Dunn
11-27-2004, 06:59 PM
Unless pretty much EVERY one of the above issues (and probably a few more I can't remember) are resolved, you still need proper backups/restores.

Ok, I seem to have really given off the wrong impression with my article, and I see where I did it: my original article said that "data stored in Flash ROM is safe", but you and several other people took that to mean that I meant that because Pocket PCs have Flash ROM, all a person's data was safe. That's certainly not what I meant - I edited my article to be a bit more clear on that. I was simply trying to point out, for people that didn't know how it worked, how Flash ROM worked. It doesn't need power - things stored in it are safe. That's all.

Until 100% of the user's data, registry, and programs are stored in Flash ROM, yes, you'll continue to need to have backups. I wasn't disputing that at all, so there's no ivory tower here - I was only talking about the availability of storage to install programs, pure and simple.

Jason Dunn
11-27-2004, 07:05 PM
As many have pointed out, that doesn't really make sense. With the current PPC setup, if you lose power to RAM, and you lose your registry, PIM data, and various other system files.

This is a misinterpretation of my statement.

FACT: Anything stored in Flash ROM will stay there even if the device loses power.

That's all I was saying. I've edited my original statement to make it clear. But just so there's no confusion on where I stand:

FACT: The current design of the Pocket PC operating system, which puts almost all user data in RAM, means that all the Flash ROM in the world won't save you from losing data/apps/settings stored in RAM if/when the device loses power.

I hope this puts this issue to rest. :?

Hugh Nano
11-27-2004, 07:22 PM
Having just ordered an x50v, this was an interesting and timely article for me. Thank you, Jason.

Two questions:

1. How much of a performance hit does installing applications in FlashROM vs. RAM incur? I'm thinking of installing TextMaker, and looking forward to having it in memory rather than on a CF card (and thus running appreciably faster), as I am forced to run it on my old memory-sparse iPAQ 3650. Just wondering whether I should be looking at installing it to RAM or FlashROM.

2. Is there a way (probably a hack) to point the My Documents folder to FlashROM instead of RAM?

One comment:

I agree with you, Jason, that this is the way things should go. As FlashROM memory speeds improve, using FlashROM instead of RAM would provide a greater degree of safety and, I imagine, save on battery life. Too bad we're not quite there yet!

KH
11-27-2004, 07:30 PM
Jason, I think your points were well put to start with, and there may be folks that haven't considered ROM for program store. (Ahem, this is the model I use, so of course I would agree!)

I believe there were some studies that showed that in general higher amounts of RAM = faster battery drain. That RAM has to be kept 'live' even when powered off, after all. Given that there has been a drive towards increasing battery life it would make sense to avoid drains when possible, and I think the added ROM does that while still increasing storage.

I have traditionally installed programs on external cards, CF or SD, but have worried about reliability and in some cases security. I have dual cards on my 4705 (LOVE this device) but have intalled most programs and references in the ROM (exception being Wikipedia of course!) and reserved the cards for media and more transient files. I have installed a few more performance sensitive items in RAM without doing any experimentation to determine whether it really made a difference.

This works well for my uses, which include real-time note taking with Calligrapher, ebooks, music and video, a lot of photo-viewing, directory lookups and and basic office apps. I may do a memory upgrade at some point, but it will be for run-time performance of executing apps, not to install more applications.

KH
11-27-2004, 07:33 PM
A point I forgot to make - I like the quicker back ups. ROM is almost static and only needs to be copied rarely, and the dynamic data updates are smaller and faster this way.

Craig Horlacher
11-27-2004, 07:43 PM
Wow, this thread is nuts!

Just wanted to say, I thought your artical was very good Jason. It is a great subject. So many people I talk to don't have a clue how pocket pc's handle memory and don't understand the difference between having the 128MB ram or flash rom. I was glad you brought it up and showed how you have mananged to work very well with 64MB of ram on your pocket pc.

surur
11-27-2004, 08:03 PM
Ever wondered why many of the new high-end Pocket PCs come with twice as much Flash ROM as RAM? Here's why: Flash ROM, while slower than RAM, is permanent storage – meaning that if your device loses power, the apps/data in Flash ROM are still safe.


Jason, the misleading part is in this very first line. Do you know for a fact that this was the intention of HP and Dell i.e. did they increase the Rom and decrease the Ram to increase user data security (a positive) or just to increase their profit margin while providing little benifit to the consumer (a negative).

What you have done in your article is demonstrate that the limitations of 64MB ram can be overcome. I dont see how you made the leap from there to the benign intention of the OEM's. One could even say you put a positive spin on it.

Maybe a better headline would have been "Stuck with 64Mb ram. Dont worry, most of your apps will work from ROM"

Surur

Jason Dunn
11-27-2004, 08:50 PM
1. How much of a performance hit does installing applications in FlashROM vs. RAM incur?

I've been installing apps into ROM for quite some time, and I've never noticed any significant performance hit. That said, I've never installed TextMaker or an app that size (isn't the EXE several MB?). That's really what makes it fast or slow: the EXE needs to be copied over into RAM in order to be run. If it's a 200 KB EXE file, that happens very quickly. If it's a 5 MB EXE...not so fast. ;-)

One of the things I hope to see in next generation Pocket PCs is much faster Flash ROM so this becomes less of an issue.

Janak Parekh
11-27-2004, 09:43 PM
One of the things I hope to see in next generation Pocket PCs is much faster Flash ROM so this becomes less of an issue.
As it stands, flash ROM is much faster than a CF or SD card, so Hugh, consider the performance somewhere in between. ;)

--janak

ctmagnus
11-27-2004, 11:12 PM
A point I forgot to make - I like the quicker back ups. ROM is almost static and only needs to be copied rarely, and the dynamic data updates are smaller and faster this way.

afaict, that's the only advantage to devices having so much ROM. My last Sprite backup was ~22MB and if all the programs I installed had gone to ROM instead of RAM, the backup would have been much smaller.

mr_Ray
11-27-2004, 11:17 PM
For the record, my post was in no way bashing storing apps in ROM - A quick check shows me with about 10MB of apps in RAM, 28MB of apps in the built-in ROM, and about 300MB of apps on SD (though to be fair a large chunk of that is tomtom data and a few large games).

For storing apps ROM is generally every bit as good as RAM. Just how few apps are there that really slow you down when in ROM?

More ROM - great! More ROM at the expense of RAM on a WM2k3 device - someone should be fired. With a gun. Multiple times. And their children. And the family dog.

Just stating that AS THINGS STAND, RAM is vastly more useful and critical. There is no excuse at all for shipping a high end flagship product with 64MB RAM. To be honest we really should be seeing 64MB budget models, 128MB standard, and 256MB RAM at the uber-high end. Dell &amp; HP shipping out 'top-of-the-line' products with 64MB of RAM is just retarded.

KevinK
11-28-2004, 12:38 AM
Having just ordered an x50v, this was an interesting and timely article for me. Thank you, Jason.
2. Is there a way (probably a hack) to point the My Documents folder to FlashROM instead of RAM?

I reiterate this person's question. As a longtime PPC user and a contributor to the community, I still don't know how to do this! I think it's a registry hack (which I don't like to do), but I don't know.

-Kevin

Jason Dunn
11-28-2004, 12:42 AM
Just stating that AS THINGS STAND, RAM is vastly more useful and critical. There is no excuse at all for shipping a high end flagship product with 64MB RAM. To be honest we really should be seeing 64MB budget models, 128MB standard, and 256MB RAM at the uber-high end. Dell &amp; HP shipping out 'top-of-the-line' products with 64MB of RAM is just retarded.

I'm curious: why? I'll keep an open mind, but if you have 128 MB of ROM and a big storage card, why do you need 256 MB of RAM? I agree that the high-end devices like the X50v should have 128 MB of RAM, but 256 MB seems excessive given the cost and battery drain it would entail.

BTW, everyone here is assuming that the prices for RAM and ROM are the same - I'd be shocked if that were the case. I've asked Leonard Wesson from Pocket PC Techs for some clarification on this point...

If there were a 256 MB Pocket PC on the market, hell, of COURSE I'd want to get it, but I think many people here are being naive about what it will cost to get a device like that.

surur
11-28-2004, 01:30 AM
BTW, everyone here is assuming that the prices for RAM and ROM are the same - I'd be shocked if that were the case. I've asked Leonard Wesson from Pocket PC Techs for some clarification on this point...

If there were a 256 MB Pocket PC on the market, h-ll, of COURSE I'd want to get it, but I think many people here are being naive about what it will cost to get a device like that.

The cost explanation is one I can accept, but that has no place in a flag ship product. Also of course its never sold as such. It doesn't make much sense to make a product with high-end features (fast processor, vga screen, consumer IR) and then skimp on the memory.

Of note that the Loox 720 is $ 50 cheaper than the Hx4700 on expansys usa, while the Dell is $50 cheaper than the Loox. Clearly the memory setup does not explain the cost difference between the three units.

http://www.expansys-usa.com/d_pocketpc.asp

As to the question of why more RAM, a better question is why not? Why not install all your files in the same location? I keep Note notes on my patients on a daily basis, some which stay for 6-9 months. These files get quite big, and I would see around a 100 over a year. I would prefer to keep these in volatile RAM, so as to better protect them with passwords. Currently I have to move them around and actively manage them, which get tedious. When I download PDF's I have to delete them later, so as not to fill up my RAM. When I buy an e-book I have to move it to my sd card. Why should I have to do all of this?

In the end its all about convenience (and paying a reasonable amount for this of course).

Surur

BTW Jason, I bet you have at least a GIG of memory on your desktop, maybe even two.

disconnected
11-28-2004, 02:36 AM
I try to install almost everything to the file store or SD card except for Today screen plugins and the few apps that insist on being in RAM, but even the apps not installed to RAM seem to put things in the Windows folder, and the OS itself puts things in RAM so there is nothing like 64 MB actually available. Also, whether because of poor programming technique or some other reason, most apps do not release all the RAM they were using when you close them (really close, as in "stop all running programs" in settings). You have to do a soft reset to get the RAM back. If I have bluetooth and Mapopolis running, that uses up most of the available RAM pretty quickly. With the 5500 I never had to worry about it so this definitely feels like a step backward.

Arqentus
11-28-2004, 04:21 AM
FACT: The current design of the Pocket PC operating system, which puts almost all user data in RAM, means that all the Flash ROM in the world won't save you from losing data/apps/settings stored in RAM if/when the device loses power.

A relist of a quote people need to look more closely to. I marked in bold what is very important.

Will WM2005 come out next year. Yes

Will WM2005 move away from the GAPI / GDI setup to a DirectX/OpenGl set. Yes. ( now this is already a major move on MS there part ).

Will Dell bring out a WM2005 upgrade. 99% chance they will. Will it be Free, now that's the question people need to ask, not IF it will be released, but Will it be free. The miljoen dollar question.

Now why did i bring WM2005 into this ram/rom questioneering. Becouse this will be the hot pateto. It's clear that MS is moving to all data as ROM storage, and RAM as exection space for programs. It's been confirmed several time's that MS is moving to this.

Now, the only major upgrade of the mobiel os system has been almost 2 year's ago ( wm2003se is just a servicepack with some small extra's ). So it's clear that WM2005 will be another major "upgrade". Sinds we know MS there desire to move to the above mentioned ram/rom system, it's a very high chance that WM2005 will move contact etc data, that now is stored in ram, to the rom part.

This debate is sparkt by the hx4700 &amp; x50v both being high end models yet have a strange 64/128 ram/rom layout. Now, the question you need to ask is, why do the 2 biggest pocket pc manufacture's release pocket pc's with large rom's yet stay away from a memory upgrade.

Doesent it stand to logic, that becouse of the rather large &amp; more intimet relation's with MS then the more smaller manufacture's ( fugi, toshiba etc ), that they are in possesion of information and or beta's of wm2005 already.

Knowing MS, they may even remove the storage feature making the ram only for executing programs, and thuse forcing the other program makers to upgrade there programs to make the WM2005 compatible ( and move there database's etc to rom instait of perma ram storage ). It's not the first time MS pull one like this.

This is my theorie on the 64/128 memory question. The fact that for the people who ( follow what MS most likely will force on people ) the rom storage methode, we already see that expect those few 1% exeption programs, that the move will work, and that the need for 128mb is low.

But for me ( who install's on rom/flash card), 64mb is workable ( dare i say perfect ), and i have yet to see any program i use give me trouble.

DinarSoft
11-28-2004, 04:35 AM
Well, looking at this discussion from a different angle. It’s not all that bad.
All the annoying misbehaviour or missing functionality in the OS gives people like us (developers) a chance to step in to provide solutions.
And that’s what we make a living from :D

Just a thought.

However, if the OS is not missing all those functions we would've had found other ideas for programs :D

Paundskumm
11-28-2004, 04:42 AM
OK, I admit I've been lurking these pages for years without much contribution (I used to contribute more years ago at brighthand with my old Casio E-100 but life is just too busy).

I also share Jason's hometown (Calgary) although I've been living elsewhere for some time (Hong Kong now for over a decade) so you can call me biased.

But I can say that Jason's little article happen to co-incide with my buying a new black O2 XDA-IIs (upgraded from an XDA-II... yeah, probably not worth it but hey, its cool and its black and its my cash so neh).

Now one of the differences, other than being black, WIFI, quad-band v. tri-band, slightly better battery, and built in thumbpad keyboard is that the Flash ROM was boosted to 96MB from 64MB. RAM remains the same at 128MB. I used to backup over 50MB of programs stored in RAM which ate up half my RAM in the old XDA II. So for the first time, I tried installing into Flash ROM instead given that there is 43MB free on the XDA IIs. So far, works fine (yes, I backup the RAM as well).

So, from this point of view, Jason's article helped me out (just by reminding me this could be done) plus the guy who reminded me to save to Storage. So I've got only about 13MB of RAM used for storage and over 100MB to run stuff (hope this will make it faster...).

Come on guys, its just a fricken brick with silicon... have fun with it and don't burst an aertery over it. And thanks to Jason and they guy who answered my simple question so quickly.

Anthony

Deslock
11-28-2004, 05:33 AM
This is a misinterpretation of my statement.
I posted a direct quote from you that was not taken out of context (at least for what you'd originally posted... now that you've gone back and changed it, your post's meaning is different).

In any case, the important thing in this thread (IMHO) is to learn something new, answer questions, and possibly find information about WM2005, which sounds exciting. I hpope what Arqentus posted ends up being true.

How much of a performance hit does installing applications in FlashROM vs. RAM incur?

I've been installing apps into ROM for quite some time, and I've never noticed any significant performance hit. That said, I've never installed TextMaker or an app that size (isn't the EXE several MB?).
I also suggest searching the Brighthand forums... you can find plenty of information about how much of a performance hit various apps take by being installed to flash. The quick answer is that most apps will run just fine from flash, but many apps do not.

One of the things I hope to see in next generation Pocket PCs is much faster Flash ROM so this becomes less of an issue.
As it stands, flash ROM is much faster than a CF or SD card, so Hugh, consider the performance somewhere in between.
I've read a lot of posts claiming that flash is slow compared to modern SD/CF cards, though it depends on exactly how the memory is being used and what speed memory you have. Of course, flash/SD/CF all suck compared to RAM.

CESkins
11-28-2004, 07:54 AM
I recall reading an article about a future WinCE OS implementation of "executing programs in place". In short, rather than transferring an application's executable and other files to "RAM" from "storage" (which is basically the same RAM used for running apps except just conveniently partitioned) in order to run the app, the files will just be accessed where they are. Essentially what was formerly storage RAM becomes executable RAM. This has the potential if properly implemented to drastically reduce the amount of RAM required for running programs. If MS implements "execute in place" in WinCE2005, then the need for more than 64 MB of RAM will be negligible with certain exceptions (as Doug pointed out in some of his posts in a number of threads). I find it really redundant and wasteful of precious RAM that a program which already resides there has to be recopied just to execute.

As far as storing apps are concerned, I personally prefer to install everything that I can to RAM because of its speed leaving my SD/CF cards for data (video clips, photoalbums, e-books, music, etc) and apps with large databases (such as Skyscape's e-books and their reader software). As Jason pointed out, 128 MB of Flash ROM gives plenty of non-volatile memory for app storage...with some tradeoff in speed. I was very pleased to see such a large file store on my x50v because I have been burned by SD card file/data corruption multiple times on my 4150 (using some of the more reputable cards such as Lexar's). Thnigs got so bad that I was walking around with 2 SD cards (1 in the PDA and 1 in the case) with identical info for when (not if) the data would get corrupted. The large Flash ROM storage on the x50v put that nightmare to rest. Also the presence of a CF slot (which I have found to be more reliable than SD) didn't hurt either. Personally, I feel that both memory configs (128/64 MB Flash/RAM vs 64/128) have their strengths and weaknesses. I am just pleased that we have a choice. Personally, I went with a Loox b/c I want the extra RAM and can always increase my storage space with flash cards. I like surur have many large data files and use Textmaker and Planmaker. Both of these apps are resource intensive and the more RAM you have the better. Now I no longer have to worry about the "out-of-memory" message or Textmaker just simply refusing to start because resources were so low. :D

bowang130
11-28-2004, 09:06 AM
Hrm... Now I wonder what is ram used for? lets see, if I run textmaker, 3 ie windows, msn, planmaker, dictionary, acrobat document and my ti89 emulator at the same time 64 megs of ram is simply not enough, note it doesn't matter where the programs are installed, it will still use ram when it runs right? isn't that what ram is for in a computer anyways? Now you might ask why do I need to open so many things at one time, that's over kill. Well when you actually do work on a computer you need everything open so that you can do research, make calculations and do your report at the same time. Isn't that *THE* reason why everyone got a pocket pc, for the multitasking capabilities, or else you should just get a palm for cheaper.

mr_Ray
11-28-2004, 10:07 AM
I'm curious: why? I'll keep an open mind, but if you have 128 MB of ROM and a big storage card, why do you need 256 MB of RAM? I agree that the high-end devices like the X50v should have 128 MB of RAM, but 256 MB seems excessive given the cost and battery drain it would entail.

BTW, everyone here is assuming that the prices for RAM and ROM are the same - I'd be shocked if that were the case. I've asked Leonard Wesson from Pocket PC Techs for some clarification on this point...

If there were a 256 MB Pocket PC on the market, h-ll, of COURSE I'd want to get it, but I think many people here are being naive about what it will cost to get a device like that.
Well I think I'll start off by turning the question around. Why more ROM instead of more RAM? Why is 256MB excessive, but 64MB isn't excessively cut down for the professional user?

Possible benefits of less RAM that I've got from this thread are price, backup size, and battery life.
Price - At these small amounts - 64/128MB - price really isn't much of an issue. check out the prices of the new VGA devices. No direct link between RAM and price. If we were talking differences of a 1GB/2GB, sure you'll notice it in your pocket. Not at this level, though. RAM although more expensive than ROM, is still dirt cheap. Budget 128MB graphics cards are almost given away, and they also include GPUs, fans, heatsinks, circuitboards, and lots of other stuff.

Backup size - nowadays they're almost giving away 1GB SD cards. Is this difference between a 2 and a 22MB backup really significant?

Battery life - the Loox720 has a smaller battery than the hx4700, but 2x the RAM. Yet both units get essentially the same battery life. Fair enough the screen on the hx4700 is a bit bigger too, but there's no noticable difference here.

If 64MB RAM was acceptable for the here-nd-now, why is every other WM2003 utility some form of memory/app manager? Sure most of us here probably store most of our apps in ROM, but RAM is still used for so many other memory-gobbling purposes, and when it's gone, it's gone.

It's all well and good saying WM2005 *might* bring this, it *might* do that, but...
(1) How many of these PPCs are gonig to see that upgrade?
(2) How about the fact that they currently have WM2003, which lives and breathes RAM and treats ROM as the ginger haired stepkid?
If the past year or so has taught us anything about PPCs, it's that you buy for today, not some vague possibility in the future that depends on both MS &amp; your OEM to be kind and give you an upgrade path.

surur
11-28-2004, 10:50 AM
FACT: The current design of the Pocket PC operating system, which puts almost all user data in RAM, means that all the Flash ROM in the world won't save you from losing data/apps/settings stored in RAM if/when the device loses power.

Will WM2005 come out next year. Yes

Will Dell bring out a WM2005 upgrade. 99% chance they will. Will it be Free, now that's the question people need to ask, not IF it will be released, but Will it be free. The miljoen dollar question.


Agentus, you are WAAYYY too optimistic. If many companies would not even release the "service pack WM2003SE" AT ALL, not even to mention for free, I think your confidence in Dell is severely misplaced. Remember many of the pundits that support the 64/128Mb split were also there supporting the decision of the OEM's to treat our pocketpc's as disposable appliances.

If there is one thing I have leaned from the WM2003SE debacle is that is better to have jam today than jam tomorrow. If the OEM's found it supposedly so difficult to adapt WM2003SE, a minor upgrade, to run on our very similar devices, imagine how they will complain about implementing a whole new paradigm. Remember HP would not even upgrade their CURRENT model the HP6300 to WM2003SE. It also has a large 64MB rom available. It will NEVER get WM2005.

Remember, the new mantra is New OS, New Hardware. Dont bet on an upgrade, even for a fee.

Surur

Arqentus
11-28-2004, 01:51 PM
Agentus, you are WAAYYY too optimistic. If many companies would not even release the "service pack WM2003SE" AT ALL, not even to mention for free, I think your confidence in Dell is severely misplaced. Remember many of the pundits that support the 64/128Mb split were also there supporting the decision of the OEM's to treat our pocketpc's as disposable appliances.

I understand your sceptism to my optimize ( hey this has a ring to it ;) ).

Problem is, WM2003SE is not a major upgrade. When you see what it brings to the table, it's just a service patch with some extra options ( like better landscape support ). This is the reason why many manufacture's also don't bother providing it.

Let's be honest, does WM2003SE really bring much new for device's running WM2003 ... i don't think so. It has no major speed upgrade, it doesent access the WMMX in the PXA270 cpu's. It doesent use the 2700g GPU. It's a bit of bugfixes with landscape support.

WM2005 on the other hand has already rather large new things ( atleased from what we hear ). Also, you need to look at it in the right timeframe. It's expected to come out during Q1/Q2 2005, as far as i know, there is no major ppc cycle of new product's. There is no PXA280 cpu during that timeframe, no new gpu's, no new type of vga screens etc expected, so what we have now hx4700, x50v, loox720, a730 is designed to last a year atleased before they all start with a new cycle of ppc's.

I don't like to speculate widout some fact's to support my idears. That's why i'm so sure about WM2005 for x50v &amp; hx4700. Dell can't affort not to release WM2005 becouse the x50v is sevearly limited becouse the gpu hasent the right os support. The fallback from bad press can hurt them, and they know it.

This is my theorie why i'm so optimistic. I don't just take everything for granted, but i look at how the technology evolve's, combined with possible event's. That's why i'm so sure there will be a WM2005 upgrade for the x50v &amp; the hx4700. But like i said before, the question we need to ask, will it be free ... HP ... i don't think so ... Dell ... little change here also. Other manufacture's ... no idear.

Pony99CA
11-28-2004, 02:53 PM
I was particularly surprised to see that an input program such as TenGo worked - they normally have to be installed in RAM because of problems loading software from Flash ROM after a soft reset.
It's not that surprising really. Remember that the operating system itself is installed in Flash ROM. :-D

The problem with software not running after a soft reset typically applies to memory cards, not Flash ROM, I believe. Memory cards need some initialization during the boot process, and that doesn't always seem to be done when the startup programs are run. That initialization either doesn't need to be done for Flash ROM or is forced to be done first, otherwise the OS itself wouldn't run.

Steve

Pony99CA
11-28-2004, 03:18 PM
Problem is, WM2003SE is not a major upgrade. When you see what it brings to the table, it's just a service patch with some extra options ( like better landscape support ). This is the reason why many manufacture's also don't bother providing it.
That's just ridiculous on a couple of levels.

First, I think the upgrade is a major one. I won't detail the reasons here but you can see my rationale in the editorial I wrote (http://thoughts.svpocketpc.com#THOUGHT_WM2003SE_FEATURES) about it.

Second, I disagree that's the reason manufacturers didn't offer the upgrade. HP claimed that was the reason, but I think my editorial refuted that and the other reasons they offered up.

I believe the simple reason is that they decided that any money they made selling upgrades wouldn't cover their development and support costs. As Dell is a low-cost provider, I can accept that reasoning from them, but HP is considered the Cadillac of Pocket PCs, often charging more for their products, and they should provide better support.

Let's be honest, does WM2003SE really bring much new for device's running WM2003 ... i don't think so. It has no major speed upgrade, it doesent access the WMMX in the PXA270 cpu's. It doesent use the 2700g GPU. It's a bit of bugfixes with landscape support.
Those are hardware techno-geek things. Landscape and VGA support are things users can see and easily understand. That's why WM 2003 SE is bigger than you give it credit for.

Anyway, this thread really isn't about WM 2003 SE, so I'll stop here.

I don't like to speculate widout some fact's to support my idears. That's why i'm so sure about WM2005 for x50v &amp; hx4700. Dell can't affort not to release WM2005 becouse the x50v is sevearly limited becouse the gpu hasent the right os support. The fallback from bad press can hurt them, and they know it.
I don't think your ideas are supported by the facts. Look at the bad press HP got from not releasing an upgrade to WM 2003 SE. If they get away with that with what you claim is a maintenance release, why do you think they'll provide upgrades to a bigger release (which will likely have larger development and support costs)?

As for Dell, again, they try to be a low-cost provider. Additional development and support costs increase the price, something they probably won't like.

I hope HP and Dell will release upgrades for their newer (and older :-)) lines of Pocket PCs, but if you're expecting them to, you could be sorely disappointed (as many owners of iPAQ 2210s, 4150s, 4350s, 5150s and 5550s were).

Steve

Pony99CA
11-28-2004, 03:28 PM
One problem that I didn't see mentioned about Flash ROM could prevent it from being used for all data. Specifically, my understanding is that Flash ROM has a limited number of writes (I seem to recall 100,000) before it dies.

While that may seem like a lot, if you write to a specific byte every 15 minutes, you'll hit 100,000 writes in under 3 years. Many of us probably will replace a Pocket PC before that, but I know people who are still using iPAQ 3600s today, so it could be an issue for those types of users.

Steve

Dave Beauvais
11-28-2004, 10:21 PM
One problem that I didn't see mentioned about Flash ROM could prevent it from being used for all data. Specifically, my understanding is that Flash ROM has a limited number of writes (I seem to recall 100,000) before it dies.
Ya know, I've wondered about that, as well. I did do a quick Google search and found several references to Intel StrataFlash having a guaranteed life of 100,000 write/erase cycles per block. (I believe StrataFlash is what almost all the newer Pocket PCs use now.) It'll likely last much longer than that, but they guarantee at least 100,000 writes or erasures. There were several pages I found that discourage the use of flash media for boot devices, OS storage, etc. -- applications where the number of write cycles is likely to be excessively high. Reading isn't the problem, only writing; the number of reads is essentially unlimited for all practical purposes.

DinarSoft
11-28-2004, 10:23 PM
One problem that I didn't see mentioned about Flash ROM could prevent it from being used for all data. Specifically, my understanding is that Flash ROM has a limited number of writes (I seem to recall 100,000) before it dies.

This is correct, however it's the number of "writes" that counts.
Installaing an app. in the Flash ROM is one write and no matter how many times you run it, all are considered "reads" (unless the program has its own configuration file that keeps writing to it)

surur
11-28-2004, 10:52 PM
(unless the program has its own configuration file that keeps writing to it)

This is certainly possible, e.g. a log file for a wifi scanner or network card. Despite the assurances regarding reliability I think quite a few people have now started to see file system corruption on their flash drives, and some people have even had to reformat their flash stores.

I'm not so sure now that flash drives should be trusted with anything important any more.

Surur

Janak Parekh
11-28-2004, 11:06 PM
While that may seem like a lot, if you write to a specific byte every 15 minutes, you'll hit 100,000 writes in under 3 years. Many of us probably will replace a Pocket PC before that, but I know people who are still using iPAQ 3600s today, so it could be an issue for those types of users.
You mean 15 minutes, 24 hours a day, 7 days a week, right? ;) That doesn't match the usage profile for most types of flash memory. Reduce it down to something like (at a high end) 12 hours, and you have more reasonable usage patterns, so even as a worst-case scenario you're seeing 5 or more years. I've also read that flash file systems do clever memory management so that writes are distributed all over the medium, even if it's referring to the same file, to reduce wear on the memory.

Additionally, if a developer were to target a flash-centric platform, they would presumably buffer data in RAM before committing it, much like what is done on desktops, to reduce the write overhead.

This is certainly possible, e.g. a log file for a wifi scanner or network card. Despite the assurances regarding reliability I think quite a few people have now started to see file system corruption on their flash drives, and some people have even had to reformat their flash stores.
Hang on. Apart from Sandisk SD memory, I'd like to see evidence of systemic flash failure. It's extremely rare. By this measure, RAM and hard drives are just as unsafe -- I see both commonly failing as part of my consulting work. I am aware that older Pocket PCs had an issue if you filled up the flash store completely, but I haven't seen that for newer devices.

Let me just add one thing to this discussion, BTW: if you want to see an example of how flash memory is superior to RAM, try out a Smartphone 2003 device.
If you turn off the device, it turns off -- completely, with no battery drain. To "soft reset" the device, just turn it off and turn it back on, and everything works fine, and you've lost no data.
While it's off, you can pull out the battery and leave it out if you like. Or, if the battery drains, there is no difference in functionality. If the device crashes and you power-cycle, there is no chance of losing your information.
The only time you lose info is if you do a "hard reset", which formats the flash memory clean.
Memory management is extremely simple. RAM is for currently-running programs only. There's no "split" or slider bar. In short, MS has implemented it extremely well, and performance is decent, much better than SD on the same device (admittedly, I haven't done any precise benchmarks, and it'd be difficult to compare against Pocket PC due to platform differences anyway). I can't speculate about what will happen on Pocket PCs, but if something similar is implemented, the conveniences would be noticeable. It's also very good for the average end-user, as the notion of storage more closely matches their expectations.

Other platforms are doing this, too: Palm is moving over to non-volatile flash storage on all their newer devices (albeit with a memory overhead, which I'm hoping Windows Mobile devices like the Smartphone don't suffer from). It certainly seems to be a trend, and not just a decision by a few OEMs.

--janak

Jason Dunn
11-28-2004, 11:59 PM
Well I think I'll start off by turning the question around. Why more ROM instead of more RAM? Why is 256MB excessive, but 64MB isn't excessively cut down for the professional user?

Because Flash ROM is permanent storage that requires no battery power to maintain the data. Ask yourself which you'd rather have in your desktop computer: 80 GB of RAM and no ability to save your data if the power went out, or an 80 GB hard drive to store your data on. 80 GB of RAM would be fun, but only until the power went out. :-(

Pocket PCs are undergoing a slow but steady evolution towards what we already know and accept in the desktop workd: RAM is for program execution, not permanent storage. Flash ROM/hard drives are for permanent storage. That's the way things SHOULD work, but obviously we couldn't get there right out of the gate back in 2000. If you're not a Smartphone owner, this probably doesn't make any sense to you, but try to keep an open mind.

If you continue to believe that RAM is where everything should be stored, then this conversation will go nowhere, and I can see why you want 256 MB of RAM. More RAM = more storage in your mind, but that's not the place I'm coming from. To me, Flash ROM = storage. The sooner we can get the whole OS in there (registry, My Documents, etc.) the better, but for now installing apps into Flash ROM and leaving RAM for program execution and sync'd document storage is the best we can do.

As to why the OEMs aren't giving us 128 MB of RAM, I don't know. Price? Battery life? I'm not sure. Would I like to see it? Sure! Will we see it? It doesn't seem so for now. Everyone has to remember as well it's not like this is a desktop computer - the OEMs have to mass-produce each model, and they all have to be the same to realize cost savings. I'd LOVE to see a 128 MB version of the X50v from Dell, but I'm betting it would be cost prohibitive for them to release identical units other than the RAM allocation.

You never actually answered my question though: why do you need 256 MB of RAM? What programs require that much space for execution? Or are you just thinking about that as being storage space, and hence more is better?

Janak Parekh
11-29-2004, 12:21 AM
If you're not a Smartphone owner, this probably doesn't make any sense to you, but try to keep an open mind.
Add me to this list. When I bought my i600, I had quite a hard time grasping the design decisions that were made in the Smartphone OS. Having used it for a few weeks, it's a lot more useful and workable than I first thought it would be.

I haven't encountered that many spontaneous "hard resets" on my Pocket PCs, but I did encounter enough (one with my 3870, one with my 3650) that I can now appreciate what a flash-based storage mechanism would have done for me at the time (especially because I was on the road when using my 3870). If anything, the reason I think we're seeing more flash now is because the price of flash is steadily decreasing. Back in the Pocket PC 2000 ERA, flash ROM was so expensive that only the iPAQ used it (as opposed to the Casio E-125 and HP 548); this is no longer the case. IMHO, flash ROM will enable our Pocket PCs to become one step closer to truly independent devices.

--janak

disconnected
11-29-2004, 01:41 AM
I didn't know that about Smartphones, but it sounds good. The problem on the PPC is that the "slow and steady evolution" currently means slow for the OS (just look at all that stuff in the Windows folder of RAM) and steady for the hardware (or fast, in the case of the 4700). I'm grateful for Tweaks2k2, but I shouldn't have to search for every possible 100kb of RAM savings just to be able to run my normal apps. HP even includes Dockware with the 4700, but you really couldn't use it without the Tweaks2k2 hack to move the picture folder to SD.

mr_Ray
11-29-2004, 01:54 AM
Because Flash ROM is permanent storage that requires no battery power to maintain the data. Ask yourself which you'd rather have in your desktop computer: 80 GB of RAM and no ability to save your data if the power went out, or an 80 GB hard drive to store your data on. 80 GB of RAM would be fun, but only until the power went out. :-(
True, but there's a very real difference between 128MB and 80GB. :)
I'm not arguing with any of what you are saying on a *theoretical* basis, just on the today *practical* basis.
Of course ideally static data will only be stored in ROM, but that just isn't the current state of play.


Pocket PCs are undergoing a slow but steady evolution towards what we already know and accept in the desktop workd: RAM is for program execution, not permanent storage.
Exactly. Just starting a slow progression. IE, right now we're a long way away, so still need heaps of RAM. :)
Flash ROM/hard drives are for permanent storage. That's the way things SHOULD work, but obviously we couldn't get there right out of the gate back in 2000. If you're not a Smartphone owner, this probably doesn't make any sense to you, but try to keep an open mind.

Yup, I agree. However in PPC land that's the distant future, and I'd like a PPC that works to it's best potential right now. :)

If you continue to believe that RAM is where everything should be stored, then this conversation will go nowhere, and I can see why you want 256 MB of RAM.
Probably the root of the disagreement. I don't think it's where it SHOULD be stored, but it is a fact that it's where a lot of it IS stored. There's a lot you can do to alleviate this such as coercing apps into ROM storage, but that's only a small part of the battle. I'm just saying that until that battle is won, we need that RAM. :)
More RAM = more storage in your mind, but that's not the place I'm coming from. To me, Flash ROM = storage. The sooner we can get the whole OS in there (registry, My Documents, etc.) the better, but for now installing apps into Flash ROM and leaving RAM for program execution and sync'd document storage is the best we can do.

The best we can do, but with sync'd docs, large footprint apps, bad windows memory management, etc that best is often not good enough with a teeny tiny 64MB.

As to why the OEMs aren't giving us 128 MB of RAM, I don't know. Price? Battery life? I'm not sure. Would I like to see it? Sure! Will we see it? It doesn't seem so for now. Everyone has to remember as well it's not like this is a desktop computer - the OEMs have to mass-produce each model, and they all have to be the same to realize cost savings. I'd LOVE to see a 128 MB version of the X50v from Dell, but I'm betting it would be cost prohibitive for them to release identical units other than the RAM allocation.

Well not really. The X50 already comes in models different enough that some are VGA some are QVGA. The new HP 2xxx series gives some 64MB and a 128/128MB model, so that doesn't seem to be a problem.

You never actually answered my question though: why do you need 256 MB of RAM? What programs require that much space for execution? Or are you just thinking about that as being storage space, and hence more is better?
Well partly storage for the sync'd mydocs - let's face it, 256MB RAM PPCs are more likely than a better activestink. :wink:
I can't get PIE to work reliably with it's cache in ROM so that has to stick around in RAM and bandwidth is anj issue, meaning generous cache.
Other than that, it's great to be able to have open several large footprint apps (I like big spreadsheets in Planmaker!!) without having to manually look after closing apps.
With my 2210 I spent too much time worrying about having enoguh RAM free (and I didn't have apps installed in RAM!). My Loox720 frees me up from that to a large extent. I'd just like free RAM to be a non-issue, and since there's no OS/software solution visible from Microsoft, all we can do is chuck more RAM at the problem.

Edit: Wow, didn't mean to write that much. heh

Jason Dunn
11-29-2004, 01:58 AM
I'd just like free RAM to be a non-issue, and since there's no OS/software solution visible from Microsoft, all we can do is chuck more RAM at the problem.

I agree 100% and understand where you're coming from now. :D

surur
11-29-2004, 01:59 AM
Maybe some-one should explain the ram/rom setup and execution in a smartphone?

In the end though it all hinges on 2 things:

1) will WM2005 implement those changes making rom pure storage and ram pure execution?

2) will currently released pocketpc's be upgraded to the new OS ?

Now I could barely believe 1), but I'm extremely sceptical about 2). Remember the Motorola Mpx, which was supposed have the revolutionary memory split as described. It never came about, and now people are struggling with barely 10Mb free for program execution. Maybe the Mpx has been delayed so it could receive the wm2005. But probably is was designed with Wm2005 in mind, but it never came along.

Like i said earlier, jam today is better than jam tomorrow.

Surur

bowang130
11-29-2004, 06:20 AM
This thread is very funny in the sense that each side of the seemingly 1 argument is argueing for 2 different but both equally true points.

First: people supporting the new 64mb ram/128mb rom models are saying that ram should only be used for active programs like a computer and rom usage will save battery and won't be lost when the battery dies. Now that is true.

Second: people supporting 128mb ram are saying that 64mb ram is simply not enough to run all the programs that people needs on their ppc and that doesn't matter where the program is actually installed in. That is also true.

But the fact of the matter is that rom can be added easily and cheaply, don't tell me you never added atleast 256mb with a flash card, however, ram cannot be added easily and cheaply. None of this justifies the major companies' decision to skimp out on the ram and still up the price. If they feel that more ram drains battery quicker they should have a better battery. What the companies should do is give as a ppc with a decent amount of ram/battery and gives us the option of installing the OS on our own to wherever we want, making the device infinitely expandable, just like PCs, living up to its name: pocket pc.

mr_Ray
11-29-2004, 07:29 AM
I'd just like free RAM to be a non-issue, and since there's no OS/software solution visible from Microsoft, all we can do is chuck more RAM at the problem.

I agree 100% and understand where you're coming from now. :D
Excellent! :) :)

bnycastro
11-30-2004, 10:38 AM
Firstly, I would like to thank everyone for a very informative thread.

Personally I try to install everything into my SD card never knew that RAM was still being used to store some of the stuff anyway... so that's were my memory goes :roll: if PPC OS worked like SP OS it would be better (if you can turn off your device/loose battery power and not loose data I'm all for it). My question is will all the applications have to be re-written to accomodate this type of memory system? Also when can we expect WM2005? I don't want to buy a WM2003SE device then be told a week or month later that WM2005 is out, is better, more stable, but I can't upgrade my 'new' device for whatever reason. Also MS needs to tell application developers if in case developers need to re-write their apps again for WM2005.

I'm in the DARK here!!!

Jason Dunn
11-30-2004, 03:49 PM
Also when can we expect WM2005? I don't want to buy a WM2003SE device then be told a week or month later that WM2005 is out, is better, more stable, but I can't upgrade my 'new' device for whatever reason.

Considering that 2003 SE devices are still being announced, I think you can rest assured that WM 2005 (or whatever it's called) won't be out a month from now... ;-)

bnycastro
12-01-2004, 02:38 PM
So do we know anything about the next version of the OS? What are the changes we can erxpect and when can we expect this? I know this thread was supposed to be about memory formats on these new devices. But someone has brought up an theory that this memory formats may be a foreshadowing of what the next OS would look like and stuff. As of now I feel that WM2K3SE doesn't really bring that much more to the table from WM2K3FE but gadget lust is really getting to me and I might just get an i-mate JAM (running WM2K3SE but having the old memory format 64MB RAM and 64MB ROM) now I've never used a PPCPE device ever and would like to know if this memory config is adequate for PPCPE... or would I be doing soft resets all the time because of memory errors and such... as I understand RAM would also be used to run the PHONE component of the device, then would 64MB RAM be enough as I usually load alot of stuff on my PPC (mainly today plugins and utilities then games on my SD cards) which reading from previous posts should be in RAM and not on an SD Card. Would you guys who know more about PPC memory usage recommend getting a PPCPE device still with a 64MB RAM/ROM config? TIA for any advice.

Talon
12-03-2004, 06:47 PM
OK I'm going to avoid giving my opinions on what memory combination is best for a PDA, I did that subject to death 6 months ago.

On the pros / cons of the different types of memory:

Flash comes in two types NAND and NOR. For both types the data is retained when the power is off and writting is significantly slower than reading, we're talking orders of magnitude slower here.

NOR flash is more expensive than RAM but you can run programs out of NOR, since it is slower than RAM there is a performance hit in doing this but you don't have to wait for the program to be copied into RAM.
NOR flash is the only type of flash Intel make, their parts typically have a life of 100,000 writes, basic error correction will extend this to over 1 million. Other manufacturers are slightly cheaper and have lives of up to 1 million writes without the need for error correction. However since Intel produce the CPU in most PDAs they thend to work out deals to also use their flash.

NAND flash is a lot cheaper than NOR, around the same a basic low power SDRAM but it must be read / written to in blocks, programs must be copied into RAM (and error checked) before use.
For small random transfers NAND is slower than NOR due to it's block based nature. For large transfers it is faster than NOR since once the trasnfer is started the devices tend to be faster. With basic error correction NAND can also be used for 1 million writes.
And CF or SD card wil have NAND flash in it but due to the limitations of the interface plug in flash will always be slower.
Non-intel CPUs can talk directly to NAND flash, intel CPUs can't since intel want to sell their own non-NAND flash.

On the limited write life issue, this isn't really an issue. Any half decent device driver will do wear leveling. You may erase and write the same file 500 times but each time it will be stored in a different part of the flash. So in order to hit the maximum number of cycles you don't have to write 1 bit 100,000 times, you need to write the whole device 100,000 times. In practice the system is rarely perfect so call it the equivlent of filling the device 50,000 times. Add an extra 0 if there is some basic error detection / correction and bad sector flagging built in.
Assuming competent software engineers (reasonable since MS don't supply these drivers) flash device life is not an issue.

RAM also comes in flavours, in order of increasing cost and decreasing power consumption they are SDRAM, lower power SDRAM and mobile SDRAM.
While phone applications will often use the mobile SDRAM most PDAs (at least last time I checked) will use the low power SDRAM.
When running RAM does take more power than flash but it's not much compaired with the display backlight or CPU (especially intel ones), the two things that really eat up battery life.
The real killer with RAM is that it uses power when the PDA is switched "off". Doubling the RAM will double the rate at which the battery goes down when the unit is off. If someone charges something up and then leaves it switched off for a week they expect it to remain fully charged. In order to maintain the same standby time the battery has to get a lot bigger.
Plus you know that little backup battery, well PPC requires that that is enough to maintain the RAM for 72 hours. Doubling the size of that makes the unit bigger and adds cost.

So yes, Flash rather than RAM is a slight performance hit but it is fairly cost neutural (unless you use mobile SDRAM in which case it's a cost saving) and has a huge impact on your products standby time.
And ultimatly this is the way MS are pushing the market, if the PDA manufacturers don't want to see their software costs go up they don't have much choice but to follow.

gibson042
12-03-2004, 08:24 PM
If I read you correctly, then only two things will give us the abundant memory that we need/want: a switch to the Smartphone (and PC) philosophy of RAM reserved for program execution, or a revolutionary breakthrough in battery technology. Since the former essentially eliminates battery drain while the device is not in use (a double benefit!) and the latter is extremely unlikely, our only real hope is for Microsoft to wake up and abandon the stupid, stupid idea of using always-on volatile RAM to store inactive programs and important files.

Flash is cheap, and I think that there are very few among us would not be happy with a 64 MB SDRAM + 256 MB Flash configuration if the RAM was only used for executing programs. The unhappy ones are probably so because of GPS calculations, and they would probably be willing to pay $100-$200 more for 128 MB + 1 GB. I know I would, at least, if only Microsoft wizened up.

Talon
12-03-2004, 08:38 PM
Close.

MS do want to move away from storing programs in RAM. They are the ones pushing PDA manufacturers for more flash and no more than 64M of RAM. It's the market that wants more RAM because that's always solved their storage problems in the past, a glance at this board is enough to show you how many people think more RAM is the solution to all their PDA problems.

Secondly GPS calculations don't need much RAM at all. GPS type programs need lots of memory because they try to hold large maps in RAM. A street map for a large area is going to eat memory. If you install the program into RAM (the "traditional" method) then how you handle the map doesn't matter since it's already in RAM. With the program in flash you don't need the whole map but it is still all copied into RAM. If the program was written so that there were several maps with different levels of detail as you zoomed in and only the area in view was loaded from flash then GPS programs wouldn't need any more memory than normal apps. The down side it that your application just got a bit more complex and your map file stored in flash is a little bigger.

Hx4700
12-04-2004, 02:37 AM
And while we are at it... I also do not understand the concept of a touchpad on a PocketPC... I thought the whole display area is effectively a touchpad...
The screen is pixel oriented for a sharp point and the the touchpad is finger oriented. I know some calculators make larger squares for finger use, but you can't do drag and drop/ highlighting/ etc with you fingers in Pocket Excel :lol:
You can in 'cursor' mode with the touchpad.
Well, you get my idea...
Ron...

ipaqgeek
12-04-2004, 07:33 AM
A DIFFERENT USE FOR ROM - TO SHADOW THE RAM IN CERTAIN SITUATIONS

I know I'm late in the game on this discussion, but I've been peddling an idea for some time that strikes at the heart of this matter - and even solves it.

I see the usefulness and the need for lots of ROM, but I don't think it's used correctly. Sure it can be used like a ROM drive to store programs - but that's not where it's real potential lies. If used as I describe below it could actually be able to facilitate the use of tons of RAM, but until it's used as I suggest we will always have a problem with RAM.

WHAT ARE THE TWO PROBLEMS WITH RAM?
. (1) RAM eats up batteries when your PDA is off. If you upgraded from 64Mb RAM to 128Mb RAM you won't see much of a difference in the on-state battery life, but your soft-off time (the amount of time your RAM can retain its contents while the PDA is off) will be cut in half. RAM consumes electricity when your PDA is off - it does this just to retain it's contents. That's why we don't have PDA's with 256Mb of RAM.
. (2) RAM is volatile - you will lose the contents if you totally run out of battery power. In otherwords, if you drain the batteries one day and then forget to plug in your 256Mb PDA that night then you could lose everything that you had in RAM. Again, that's why they don't make PDA's with 256Mb of RAM.

HERE'S THE SOLUTION:
This solution should allow you to have as much as 1 Gb of RAM without the pitfalls mentioned above. Have the PDA automatically copy the RAM into ROM when the power level gets too low, or when the PDA is typically not in use, then turn off the RAM. Of course, this is only useful for when the power is off - but that's when RAM does its damage (sucks battery power and loses its contents).

Here's how it works:
. (1) The system automatically backs up all the RAM into ROM when the power gets critically low.
. (2) If the PDA is still on, you are welcome to run it until the batteries go completely dead. This could give you additional of operating time (the PDA normally shuts off while there is still a fair amount of battery power). After you charge it back up, the ROM refreshes the RAM with the backup copy.

It also works like this:
. (1) The system automatically backs up all the RAM into ROM when the PDA is normally not in use (for example between 9:00pm and 7:00am). It can also run a program in the background to determine when this is.
. (2) The system then turns off the RAM during this "non-use" time period.
. (3) The system then turns on the RAM and refreshes it with the ROM contents say, maybe 30 minutes before typical use starts. If it is manually turned on at any time the ROM immediately refreshes the contents.

It can also work like this:
. (1) There is a save-battery button you can press, that when pressed the system dumps the RAM into the ROM, and turns everything off including the RAM.
. (2) when the PDA is powered back on the contents are refreshed back into RAM.

NOTE: This method would require the RAM to multiplex the data into as many streams as possible when communicating with the ROM, allowing the ROM to read and write very quickly (example: 64 streams would be 64x faster, taking 10 seconds to write a Gig of RAM instead of 10 minutes). That is how solid state IDE drives work (which incidentally are much much faster than spinning hard drives, but they are also far more complex than this solution would need to be.

bnycastro
12-04-2004, 10:03 AM
when do you think it will work like a PC were the ROM is for storage and the RAM would be just for running things. If it were setup like this would this affect performance, I mean would it be like a PC were you have to wait for it to start up let's say 1 minute or something or would we still get instant on?

Wouldn't it be better if it worked this way? that way when the device is off no power is consumed by RAM and all your DATA is safe and sound in the ROM? Longer standby time and safer data... now with the os as it is, is this possible or will the os have to be completely re-written to enable this?

ipaqgeek
12-04-2004, 05:17 PM
when do you think it will work like a PC were the ROM is for storage and the RAM would be just for running things. If it were setup like this would this affect performance, I mean would it be like a PC were you have to wait for it to start up let's say 1 minute or something or would we still get instant on?

Wouldn't it be better if it worked this way? that way when the device is off no power is consumed by RAM and all your DATA is safe and sound in the ROM? Longer standby time and safer data... now with the os as it is, is this possible or will the os have to be completely re-written to enable this?

My suggestion is that they'd break up the ROM into two user-defined partitions:
. (1) Storage ROM - which is how the ROM is currently used, and
. (2) Shadow ROM - which is reserved solely for backing up the RAM to save battery life and protect you from loosing data in the event of a total power loss. It would be totally inaccesible to use as storage use.

I think this could be done without an OS change or hardware change. You'd only need a program running in the background that monitored battery life and typical usage, and backs up and restores the RAM when needed. But the battery-save mode (turns off power to the RAM) would probably be done by a hard reset and I don't know if PDA's currently have the ability to do that through software.

If it were set up this way, I'd see no reason to use Storage ROM to store programs, unless somebody just wanted to free up more RAM - but they can do that by running programs from a storage card. It seems like they could do without a Storage ROM partition altogether.

The one hardware change that would be useful (but not necessary) is to reconfigure the ROM so that the RAM multiplexes the backup to ROM, in order to accelerate the backup process. This isn't necessary but it would really help.

Talon
12-04-2004, 06:48 PM
NOTE: This method would require the RAM to multiplex the data into as many streams as possible when communicating with the ROM, allowing the ROM to read and write very quickly (example: 64 streams would be 64x faster, taking 10 seconds to write a Gig of RAM instead of 10 minutes).

Unfortunatly not the case. You could run one stream of data per flash device but no more. Waiting for the flash to erase and then writting data to it will be the slowest part of the operation, the devices don't let you erase multiple sectors at once unless you want to wipe the whole device. Either way you can't write mulpitle sectors at once.
Current state of the art devices are around the 512MByte size so unless you want a lot of extra cost by having 64 more parts than you need I think you'll be stuck with the basic write speed of the device.
If you used NOR flash you would be looking at around 32MByte per part so splitting it into 4 streams would be reasonable but the cost for the flash would also be between 2 and 4 times as high.


But otherwise a good idea. I know some people have looked into doing something very similar to this on devices with 512MB of flash. IIRC the plan was to simply dump the ram into flash every time the device switched off (either due to low battery or the user pressing the key) and then read it back on startup. The problem was that this ended up breaking MS requirments on how fast the device wakes up when you switch it on.
A fall back was to copy the data info flash when the user pressed the off key but still keep the ram powered up. That way the device acted normally but if the power ran out it could still restore the contents of the ram once the battery was recharged. I think this ended up on the "future enhancment - low priority" list. In other words not going to happen unless a big customer asks for it.


That is how solid state IDE drives work (which incidentally are much much faster than spinning hard drives, but they are also far more complex than this solution would need to be.
Actually if you are using nand flash you automatically need to use a filesystem with error checking and correcting and bad block verification. One of the reason the parts are so cheap is that they do ship parts with bad blocks or block which may fail far earlier than expected. Exactly the same as for magnetic drives.

bnycastro
12-05-2004, 03:05 AM
Backing up RAM would be a good idea but I was thinking more in the lines of (as I have posted) a normal desktop PC. I store everything in the HDD and use RAM to run it (is this right?). Can the OS be at it's present state do this? As I understand many things are still put in RAM (ie databases and registry) even if you install to storage rom or a flash card. Then the OS is not ready for PC like memory config. IMO if a PPC had a PC like mem config it would be better. PPCs would be more secure in terms of battery and data. The question is. Is MS headed in this direction, and as such the bigger OEMs are slowly introducing a new mem config so that when the OS is ready the hardware is ready? or is it just a plain old case of the OEMs not being able to fully grasp how users think and actually use the device (most everybody just installs in main memory uh... RAM!) If they want to introduce this new config they should educate users properly. I mean a File Store of 90mb is a heck of a big deal apps and files can be put there etc etc and they are all safe from powerloss; and this is what the OEMs are saying 'your data is secure with our device'. Is it really so? but some of the vital sh*t still gets installed into RAM no matter what you do (i.e. registry and dlls) and these are required by the apps but these are not safe from powerloss! So wtf is it for? Just a screwed up way to charge more for a device? I think files and apps on an SD card are just as secure as apps in file store (unless you get lousy SD cards).
Also activesync the software that makes windows seamlessly synchronize (or so they say...) with your device is not even optimized to take advantage of this enormous ROM case in point, My Documents sync only looks at My Documents in RAM! You can't assign it to other folders or drives (permanent or flash) so what good is it? If you have to manually browse your device to sync up your files? You're no better when you had 3mb of File Store and placed your documents there to keep it safe (ok an exageration) but what I'm saying is: IMO this new RAM/ROM thing might just be a marketing scheme... so OEMs can charge more for something that cheap flash memory cards are already doing. I hope I'm wrong and this new config has something more to it.

ipaqgeek
12-05-2004, 03:26 AM
NOTE: This method would require the RAM to multiplex the data into as many streams as possible when communicating with the ROM, allowing the ROM to read and write very quickly (example: 64 streams would be 64x faster, taking 10 seconds to write a Gig of RAM instead of 10 minutes).

Unfortunatly not the case. You could run one stream of data per flash device but no more. Waiting for the flash to erase and then writting data to it will be the slowest part of the operation, the devices don't let you erase multiple sectors at once unless you want to wipe the whole device. Either way you can't write mulpitle sectors at once.

A few things:
. (1) Are you referring to EEPROM's instead of Flash ROM's? There's a big difference. Unlike E^2 devices the whole FlashROM can be completely erased in 1 second, and you can erase individual sectors instead of only the whole chip.
. (2) The latest batch of Flash memories are clocking in at about 12 MB/s. Two years ago it was 3 MB/s. I don't know how they are doubling speeds every year (I only suggested that they are muxing writes because design rules are only shrinking fast enough to allows speed doubling every 3 years, not every 1 year), but at this current rate the speeds will be 48 MB/s in two years (12x2x2=48 ). That's smoking. And that's the speed just for conventional flash memories with Random access writes, we don't even need that.
. (3) This would not be conventional FlashROM using Random Access Writes. Instead it's sequential address writing from the first data-word to the last data-word - so you don't even need address multiplexing, and distributing simultaneous writes accross different sectors of the die would be much much much easier (not to mention you can replace all your address pins with parallel data pins).
. (4) You also would not need to simultaneously read and write (nowadays all Flash memories simultaneously read and write), further simplifying the design and speeding up the write operation.
. (5) You can compress the RAM contents on the fly as you are reading and writing them, so you'd need maybe only half as much ROM as RAM. Depending on the speed of your processor this could also cut your backup process time in half.

So making the above assumptions, conservatively I'd say within 2 years 24 MB/s should be standard write speed (with the cutting edge at 48 MB/s). Multiply that by 2 because we are doing sequential addressing writes, and multiply it by two again because we aren't reading and writing at the same time, and multiply it by two again because we are compressing the RAM at a rate of about 2:1 with a speedy processor, and we'll have effective backup speeds at 24x2x2x2 = 200 Mb/s.


I know some people have looked into doing something very similar to this on devices with 512MB of flash. IIRC the plan was to simply dump the ram into flash every time the device switched off (either due to low battery or the user pressing the key) and then read it back on startup. The problem was that this ended up breaking MS requirments on how fast the device wakes up when you switch it on.
A fall back was to copy the data info flash when the user pressed the off key but still keep the ram powered up. That way the device acted normally but if the power ran out it could still restore the contents of the ram once the battery was recharged. I think this ended up on the "future enhancment - low priority" list. In other words not going to happen unless a big customer asks for it.

Yeah, I figured they have thought of this and the technology wasn't ready yet, but as I show in my numbers above, it's time has arrived. We don't need to wait 2 years for 200 MB/s, we can implement this technology on a small level right now (for example: shadow only registry settings and other critical data in the RAM with just 4 MB of ROM).


That is how solid state IDE drives work (which incidentally are much much faster than spinning hard drives, but they are also far more complex than this solution would need to be.
Actually if you are using nand flash you automatically need to use a filesystem with error checking and correcting and bad block verification. One of the reason the parts are so cheap is that they do ship parts with bad blocks or block which may fail far earlier than expected. Exactly the same as for magnetic drives.

I thought the manufacturer just blew a bunch of fuses after they tested them, in order to replace bad sectors with redundant good ones. That's how they did it last time I worked in the industry (4 years ago). That way you don't need any on-die error checking - it's all fixed in what they call 'fuse repair'.

ipaqgeek
12-05-2004, 04:00 AM
Backing up RAM would be a good idea but I was thinking more in the lines of (as I have posted) a normal desktop PC. I store everything in the HDD and use RAM to run it (is this right?). Can the OS be at it's present state do this? As I understand many things are still put in RAM (ie databases and registry) even if you install to storage rom or a flash card. Then the OS is not ready for PC like memory config. IMO if a PPC had a PC like mem config it would be better. PPCs would be more secure in terms of battery and data. The question is. Is MS headed in this direction, and as such the bigger OEMs are slowly introducing a new mem config so that when the OS is ready the hardware is ready? or is it just a plain old case of the OEMs not being able to fully grasp how users think and actually use the device (most everybody just installs in main memory uh... RAM!) If they want to introduce this new config they should educate users properly. I mean a File Store of 90mb is a heck of a big deal apps and files can be put there etc etc and they are all safe from powerloss; and this is what the OEMs are saying 'your data is secure with our device'. Is it really so? but some of the vital sh*t still gets installed into RAM no matter what you do (i.e. registry and dlls) and these are required by the apps but these are not safe from powerloss! So wtf is it for? Just a screwed up way to charge more for a device? I think files and apps on an SD card are just as secure as apps in file store (unless you get lousy SD cards).
Also activesync the software that makes windows seamlessly synchronize (or so they say...) with your device is not even optimized to take advantage of this enormous ROM case in point, My Documents sync only looks at My Documents in RAM! You can't assign it to other folders or drives (permanent or flash) so what good is it? If you have to manually browse your device to sync up your files? You're no better when you had 3mb of File Store and placed your documents there to keep it safe (ok an exageration) but what I'm saying is: IMO this new RAM/ROM thing might just be a marketing scheme... so OEMs can charge more for something that cheap flash memory cards are already doing. I hope I'm wrong and this new config has something more to it.

I'm not sure if the OS is to blame. It's bad mojo to write a program that writes temporary data to ROM. It's okay to write it to a hard disk, because a hard disk has unlimited writes, but FlashROM doesn't (as has been mentioned here previously). It does however have enough that programers ought to be able to temporarily store some things in there like user settings, but even the registry can get abused by programs (some writing to it every couple minutes). But I expect that the OS may be rigged to prevent programs from writing temporary stuff to the ROM drive, in order to prevent Flash-bit-burnout.

One solution, and I think this can be done in the OS, is to distribute writes accross the FlashROM so the same old bits don't get 'hammered' (Flash based Solid State Disks do this to increase thier lifetime). That would further slow down the ROM though - but this could be good since the performance cost would discourage programmers from abusing the ROM for temporary data.

Like I said previously, they should create a Shadow ROM partition, even if it is only 4 MB, that can only be written to when the PDA is turned off (to prevent bit burnout). Programmers could then put all user settings there, and the registry could automatically get backup up there. Eventually over a few years this would evolve until the whole RAM would be shadowed by the ROM.

Talon
12-05-2004, 07:49 AM
(1) Are you referring to EEPROM's instead of Flash ROM's? There's a big difference. Unlike E^2 devices the whole FlashROM can be completely erased in 1 second, and you can erase individual sectors instead of only the whole chip.

Same thing in many ways, FLASH is just EEPROM with sector based erase logic and a bit of marketing spin. In either case the erase &amp; write times are very slow for a CPU running at 100's MHz.

(2) The latest batch of Flash memories are clocking in at about 12 MB/s. Two years ago it was 3 MB/s.

Partly because the sectors are bigger, since the erase is done on a sector by sector basis but each sector is all erased in parallel a bigger sector gives a a faster erase / write time. Nand flash acess times aren't too slow, 50ns for a cycle once you have initiated the transfer, normally 8 bits wide but you can get 16 bit versions. There is a significant latancy to start transfers, again larger sectors help here. Since with NAND flash you read or write a whole sector at a time the latency is averaged over the sector size, as the sectors get bigger the maximum bandwidth goes up without having to speed up any of the device operation.
(3) This would not be conventional FlashROM using Random Access Writes. Instead it's sequential address writing from the first data-word to the last data-word - so you don't even need address multiplexing, and distributing simultaneous writes accross different sectors of the die would be much much much easier (not to mention you can replace all your address pins with parallel data pins).
That would be called NAND flash. No address lines, the address is latched in on the data lines. But you still can't do simultaneous writes on the same die, one write per chip.

(4) You also would not need to simultaneously read and write (nowadays all Flash memories simultaneously read and write)

Read the small print. They split the chip into two sections, you can read one while writing the other or vica versa. Where that split is is fixed when the chip is built, it's basically two flash chips on one die.
Also that is only for NOR flash not NAND.
All FLASH types let you suspend an erase / write so that you can read data during the cycle. This is not simultaneous, you are pausing one function while you do something else, you have to restart it afterwards.

(5) You can compress the RAM contents on the fly as you are reading and writing them, so you'd need maybe only half as much ROM as RAM. Depending on the speed of your processor this could also cut your backup process time in half.

There I agree with you, some basic on the fly compression is a good idea. Since the flash is the bottleneck you should have plenty of free RAM and CPU to do the compression.


I know some people have looked into doing something very similar to this on devices with 512MB of flash...

Yeah, I figured they have thought of this and the technology wasn't ready yet.


You misunderstood me. The product exists, it's been shipping for 2 years, we just didn't add the automatic RAM backup into flash for the reasons I gave.


Actually if you are using nand flash you automatically need to use a filesystem with error checking and correcting and bad block verification. One of the reason the parts are so cheap is that they do ship parts with bad blocks or block which may fail far earlier than expected. Exactly the same as for magnetic drives.

I thought the manufacturer just blew a bunch of fuses after they tested them, in order to replace bad sectors with redundant good ones. That's how they did it last time I worked in the industry (4 years ago). That way you don't need any on-die error checking - it's all fixed in what they call 'fuse repair'.

True for NOR FLASH, SDRAM, CPLDs and FPGAs. Not true for NAND flash.
To quote the samsung datasheet on their website:
<font size=-1>1. The device may include invalid blocks when first shipped. Additional invalid blocks may develop while being used. The number of valid blocks is presented
with both cases of invalid blocks considered. Invalid blocks are defined as blocks that contain one or more bad bits. Do not erase or program
factory-marked bad blocks. Refer to the attached technical notes for appropriate management of invalid blocks.
2. The 1st block, which is placed on 00h block address, is guaranteed to be a valid block, does not require Error Correction up to 1K program/erase
cycles.
* : Each K9K4G08U0M has a maximum 80 invalid blocks.
</font>

AMD did ship some 100% good NAND flash for a while but the extra cost didn't justify it, you still needed to have a file system to even out the wear on the device so adding a bit of error correction was easy enough. Most companies will spend an extra week on the software if it cuts the cost of every unit they ship.

See either Samsung or Toshibas web sites for more details on device sizes, capabilities etc.. as far as I know they are the only two people who make the stuff right now.

ipaqgeek
12-05-2004, 10:14 AM
That would be called NAND flash. No address lines, the address is latched in on the data lines.

Maybe I'm not making myself clear. Even with NAND you need an address, whether it is latched on the data lines or on their own address pins. With my proposal NO ADDRESS IS EVER NEEDED. You are simply doing a core-dump of the RAM into ROM, and then a core dump of ROM back into RAM. There is no random access. It requires no address muxing. The writing process is therefore greatly simplified and accelerated. As far as I know E^2 and FlashROMs have never been used this way.


... you still can't do simultaneous writes on the same die, one write per chip.

Sure you can. You'd do it similar to SOC, where you essentially put the circuits of as many dies as possible onto a single die. Obviously you already knew that, but I'm guessing you thought I meant to do this with normal Flash which would be a real headache when it comes to the Address muxing, but my Shadow ROM works quite different. For a 512 MB Flash you break it into 32 individual circuits of 16Mb. Throw a bus on the front and mux out the data streams (not muxing the addresses, because there are no addresses) with some SRAM cache on the front to integrate the sub-dies altogether and you increased your speed by 32X.

Now you'd have a heck of a time doing this with standard flash because it requires address multiplexing and you'd have to repeat the address muxing logic to each subdie, but with my proposal it's just a core-dump of data in, and a core-dump out so there's no redundant logic needed between all the sub-die - and therefore it's very doable.


All FLASH types let you suspend an erase / write so that you can read data during the cycle. This is not simultaneous, you are pausing one function while you do something else, you have to restart it afterwards.


Exactly. There is no suspending / pausing of data in my proposal because the Shadow ROM never needs to read and write at the same time, so there is a performance gain.



Yeah, I figured they have thought of this and the technologywasn't ready yet.
You misunderstood me. The product exists, it's been shipping for 2 years, we just didn't add the automatic RAM backup into flash for the reasons I gave.

No, you misunderstood me. The Shadow ROM I'm proposing doesn't operate the same way you're talking about. It's just a core-dump of memory. No address muxing needed of any kind. Also no need to suspend read for write, or suspend write for read. We're talking about a major simplification of the peripheral logic circuitry. It can be made to go much faster with less silicon because the logic required to simply transfer core dumps in and out is so minimal.


AMD did ship some 100% good NAND flash for a while but the extra cost didn't justify it, you still needed to have a file system to even out the wear on the device so adding a bit of error correction was easy enough. Most companies will spend an extra week on the software if it cuts the cost of every unit they ship.


Very interesting. I guess it makes sense that it would have built-in error checking, seeing that it has a limited number of writes. If I recall correctly, Flash chips normally work faster after a few months of use, but they can also go the other direction - it can get worse.

Talon
12-05-2004, 08:09 PM
Even with NAND you need an address, whether it is latched on the data lines or on their own address pins. With my proposal NO ADDRESS IS EVER NEEDED. You are simply doing a core-dump of the RAM into ROM, and then a core dump of ROM back into RAM. There is no random access. It requires no address muxing. The writing process is therefore greatly simplified and accelerated. As far as I know E^2 and FlashROMs have never been used this way.


Serial EEPROMS work that way. I suppose you could put 32 in parallel on the same die to get the effect you are talking about.


For a 512 MB Flash you break it into 32 individual circuits of 16Mb. Throw a bus on the front and mux out the data streams (not muxing the addresses, because there are no addresses) with some SRAM cache on the front to integrate the sub-dies altogether and you increased your speed by 32X.


OK, I see what you mean. However I'm not sure if the PDA market alone is sufficent to cover the cost of developing a whole new type of memory chip which is so inflexible in it's use. You would need more markets to make such a device cheap enough to use, phone based systems are using the expensive mobile SDRAM to cut down power but probably wou'd have space for extra devices like this.
Also with your idea there would be no way to even out the wear, you would be writing the whole RAM into the whole flash each time. That may or may not be a life time issue.
Finally this backup flash would have to be in addition to any filestore flash, you would need to have two types of flash in the system. Generally it's a lot cheaper (and smaller) to just use one type and make it large enough for both uses.


Basically technically it sounds like a good idea but I don't think the economics are there to support it unless there are other markets or things move in a different direction.


The Shadow ROM I'm proposing doesn't operate the same way you're talking about. It's just a core-dump of memory. No address muxing needed of any kind. [....]. We're talking about a major simplification of the peripheral logic circuitry. It can be made to go much faster with less silicon because the logic required to simply transfer core dumps in and out is so minimal.


The extra logic around a large flash die is tiny next to the size of the storage array. It may simplify the logic part of the design to remove it but it will have virtually no impact on cost.
Also the logic is not the slow point in the device, it's the flash array.
The only way the logic becomes the slow point is if you build enough sram in the device to buffer the maximum amount of data you want to store at one time (in this case the whole flash array). And even then you still have to wait for the flash access to finish before it's safe to switch the power off.
Fast SRAM is very expensive so adding that much just isn't an option.
For comparison a 512MByte NAND flash will have 2kbits of sram buffer.


Very interesting. I guess it makes sense that it would have built-in error checking, seeing that it has a limited number of writes. If I recall correctly, Flash chips normally work faster after a few months of use, but they can also go the other direction - it can get worse.
You name it, they can do it. I've seen them output the wrong data unless read at 1/2 the rated speed. If you programmed them with the same data a second time they worked correctly. That was due to the internal erase timing being too optimistic and not fully erasing the cells, some cells were still half programed and the sense amplifiers needed longer to stabalise. That took a while to track down.

Pete Wilson
12-08-2004, 07:52 PM
For those of you who never knew it, the Newton solved these issues.

My MP 2100 has 4MB RAM (and it was an upgrade from 1MB) but lots of Flash.

I left it unplugged for a year. I plugged it in, turned it on, pulled up a note recording a serial # in five clicks.

While everything is in Flash, code is paged into RAM on a tiny method / object basis, so execution speed is not greatly hampered by having large programs in Flash.

The OS and Apps are written in an object oriented environment that allows easy extension and modification by just replacing the portion of a system that you need to modify, meaning you use minimal RAM for additional functionality.

Someday, I hope my iPAQ is as good as my MessagePad from 1996.

ipaqgeek
12-11-2004, 10:35 PM
I responded to this a couple of days ago, but it looks like my response never got posted.

1) You simply cannot have large volumes of RAM in a PDA (greater than 128Mb) because it drains the battery too quickly while the PDA is off. For example: if you use up the battery, then that night if forget to plug in your PDA with 256Mb DRAM then you could loose everything stored in RAM - registry settings, preferences, program setups, etc.

2) FlashROM is vastly inferior to RAM when it comes to speed, robustness and lifetime, making it unsuitable as a memory from which to run programs.

I do NOT see how this situation can improve at all over the next 5-10 years unless a totally different memory scheme is developed. As far as I know, my "Core-Dump FlashROM" solution is the only one that viably resolves these two issues. To summarize it, that solution is to store everything in RAM, and core-dump the RAM contents back and forth from FlashROM a couple of times per day as determined by a memory management program while the PDA is turned off, during which times all power is shut off to the RAM.

What's more, this solution could be partially implemented on all existing hardware with just a memory management program by partitioning off a small part of the FlashROM, maybe only 1Mb to be dedicated for doing this for the registry and other user and program settings. Although this wouldn't allow you to shut off power to the RAM, it would however protect your most valuable data.

For full implementation which would enable GB and larger RAM capacities, it will require a new kind of FlashROM - similar to Serial E^2 but even simpler, designed in a massively parrallel fashion without the need for any address multiplexing. There have been no arguments suggested so far that are show-stoppers to this solution (see below).

If anyone else has some solutions please provide them.. but what we have sucks, and I see no other way to solve the two problems I pointed out above.

However I'm not sure if the PDA market alone is sufficent to cover the cost of developing a whole new type of memory chip which is so inflexible in it's use.
Inflexible? We're talking about essentially turning RAM into a nonvolatile memory. This is the mother-lode of all memory qualities and features. This is what MRAM, OUM, FRAM, etc. have been unsuccessfully trying to do, but if the right person caught the vision they could spit this out of their fabs in 12 months and it would do everything those other technologies are attempting: RAM like performance with non-volatile properties.

mobile phones... probably wou'd have space for extra devices like this.
We're not talking a lot of hardware. A couple of extra chips.
Also with your idea there would be no way to even out the wear, you would be writing the whole RAM into the whole flash each time. That may or may not be a life time issue.
You're writing to each bit no more than a few times/day. That puts your lifetime in the range of 100's of years.
Finally this backup flash would have to be in addition to any filestore flash, you would need to have two types of flash in the system.
No you wouldnt, you'd only need Core-dump-FlashROM, which makes RAM act like a non-volatile memory. You wouldn't need anything else. Filestore would be in RAM with everything else, and core-dumped to FlashROM at strategic time intervals.
Basically technically it sounds like a good idea but I don't think the economics are there to support it unless there are other markets or things move in a different direction.

See above. It serves EVERY mobile market.
The extra logic around a large flash die is tiny next to the size of the storage array. It may simplify the logic part of the design to remove it but it will have virtually no impact on cost.

I'm sure you'd agree how wrong that statement is if you thought about it. Chip cost is driven almost entirely by yield, and yield is influenced by chip complexity more than any other factor because the design rules are locked in. If design rules are followed then nearly all array yield problems can be fixed via process changes - not so with periphery yield problems, and that's where the complexity is, and with Core-Dump-FlashROM there is very little periphery, and no expected timing issues.

Also the logic is not the slow point in the device, it's the flash array.

Yes, you're right, nearly all the speed benefit comes from massively muxing out the data streams, so much so that you wouldn't need much SRAM.
I've seen them output the wrong data unless read at 1/2 the rated speed. If you programmed them with the same data a second time they worked correctly. That was due to the internal erase timing being too optimistic and not fully erasing the cells, some cells were still half programed and the sense amplifiers needed longer to stabalise. That took a while to track down.
Ughhh. You're bringing back bad memories. I left that industry 5 years ago because I got tired of being the point man for tracking down such problems, and they don't pay enough for that kind of work. I paid my dues for nearly a dozen years as a Yield / Process Integration Engineer, and nothing could make me go back to it. I hope you've been able to work your way into management, because you can't do the real troubleshooting for long before you burn out like I did after a dozen years of it.

abarry
01-05-2005, 07:37 AM
What is the advantage of storing programs in RAM? Would it slow down the PPC? Why not use the storage card instead?

What is the default installation folder? Is this the same as RAM? If I choose not to use it I am given the option of Main Memory (is this ROM?) or Storage (what's this?) besides the storae card.

Please enlighten me.

Thanks

Atul

DinarSoft
01-05-2005, 07:47 AM
What is the advantage of storing programs in RAM? Would it slow down the PPC? Why not use the storage card instead?

What is the default installation folder? Is this the same as RAM? If I choose not to use it I am given the option of Main Memory (is this ROM?) or Storage (what's this?) besides the storae card.

Please enlighten me.

Thanks

Atul

The advantage from having a program in the main memory will be the loading time (it will load faster).
However having less RAM available will slow down the whole device.

Some programs also need to be installed in RAM (if they are set to start with the system).
External cards tend to take some time to boot (when you soft reset) and in some devices the system takes less time to boot than the external card and that makes the system unable to run programs from the external card right after booting (this happens with some devices/cards and only is a problem for programs you want to start with the system)


Your default installation path (main memory) will direct the programs to be installed in "\Program Files" (which is RAM).

Main memory is RAM
storage is ROM (built-in-storage)