Quote:
Originally Posted by mromblad
the problem is that flash rom for one is not anything comparable in speed to RAM, plus i heard something about a write limit on flash memory that would prevent it from being useful.
|
People keep saying its not possible,but from what I have looked at,they are way off. The fact is,an sd card is much faster than a hard disk. In fact,the sandisk microSD cards work well with Vistas ReadyBoost. The reason windows can use hard disk space as ram is becuase it pages out pages that are not being used. In fact,windows mobile does the same thing,but with some signifigant differences.
Windows mobile manages memory by deciding which pages to release and which pages to "page out". The problem is,since you dont have hard disk space,you cant page out to a hard disk,and flash would wear out. Therefore WM manages its memory by releasing pages that it does not immediatly need. Some pages contain things like data structures that are not in the rom,but instead created at runtime. Others contain program code that is loaded from ROM. The former are never released unless the program is terminated (which WM will do under certain circumstances) and the latter are released more readily becuase they can be easily reloaded from the ROM.
To "use the flash card as RAM" would really entail creating a copy of the pages that cannot be released on the flash card. Now,when that program is not being used,rather than having the choice of killing the program to release the memory,or leaving the program running,you could release those pages,being able to reload them rapidly from the sdcard.
There is of course a performance hit here. Vista for instance works similarly,pages are swapped out to disk. And ones that are "not immediatly needed" are released. A program that needs that data,generates a page miss,and the page has to be reloaded. So long as this does not happen to often,things are ok. You will notice that in a system that has too little memory the disk is accessed constantly and things get very slow.
Vista can use a flash drive to speed up the process. A copy of the pages is also kept on the flash device. (in addition to the hard disk) Rather than read it from the disk,it reads it from the flash drive which has much better random seek times than a hard disk. (the disk is kept in case the flash drive is unplugged,which otherwise could lead to very bad things happening)
Readyboost trys to avoid constant writing to the same area of the card to avoid wearing out the flash card. Something similar should be possible with the a WM device as well. In short,it should be possible to use the flash drive to free more RAM. (some ram is already freed by releasing things that are stored in rom,as stated earlier) Its not exactly "adding more ram" but as far as the end user is concerned its has a similar effect.