|
|
||||
Re: MiniSD card into RAM?
Your head isn't the only one that question has caked, I've heard it addressed several times in this forum, but don't think anyone has really figured it out yet. Sorry I couldn't be more help to you, but if you find out the answer let us all know & you could be Wideawake's new best friend.
__________________
I'm old school PPCGeeks, been a member since ground zero '06. Where's the love?
I was a member back when Wideawake was just Awake... |
|
||||
Re: MiniSD card into RAM?
I posted this same question a few months
ago. And I only got one response and was told it couldnt be done. But I hope that someone may have figured out how to do it and share it with us. |
|
||||
Re: MiniSD card into RAM?
Well, It seems like it should be totally pheasible.
Sadly, I have NO experience in trying to implement something like this, but I suppose it would be worth the look-see sometime when I am feeling adventerous. |
|
||||
Re: MiniSD card into RAM?
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.
|
This post has been thanked 1 times. |
|
||||
Re: MiniSD card into RAM?
Quote:
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. |
|
||||
Re: MiniSD card into RAM?
well, bored at work, I decided to do more research on this topic, and the xda site pretty much dissected the whole.
From what I can understand, everyone has concluded just as you've said. the memory card is not as fast. But why is this a problem? we are talking more RAM, not paging file. I think someone already has a hack of sorts to set a page file for the ROM anyway. We are talking readyboost (readyspeed? whatever MS calls it) type RAM. if a freaking vista computer can do that with a USB flash drive... Whats so bad about a mobile phone's card reader? But I'll try not to compare 2 complewtely different systems of operation. Besides, If cards actually wear down and such after so many deletes... I think, so be it. I'll shell out 5 bucks every few months to have an extra 64mb of RAM on my phone. that's another 900MB of storage. |
|
||||
Re: MiniSD card into RAM?
Quote:
The fact is,Im not making this up or speculating. Your PC already does exactly that. Your PC uses virtual memory,which in essence makes your hard disk act like RAM. The reason this works is that memory references in a program tend to cluster together within a small region. The basic way this works is that you divide the memory into pages. As you run the program,the memory is accessed. If the program tries to access a page that is not in physical memory,then the page that is needed is loaded ,usually replacing a page that has not been used for awhile. Consider it this way. Suppose your storage device can be accessed at a rate of 10MB per second(100ns per access). Now suppose your ram can be accessed at a rate of 1GB per second(1ns per access). Eveyrone here says,it wont work because your program would run 100 times slower. That is not true however. Suppose that your program makes 100,000 memory locations located near each other before it has to access a location in another page (100us). If the page is in memory,all is good. If that page is not in physical memory,then it must load the page from its storage device. Lets say a page is 1k. It takes about a 100 microseconds to load the page. Therefore there is an extra 100us added to the time for 100,000 memory accesses. Since takes about 100us to access 100,000 memory locations from physical memory,the effective time to access 100,000 memory locations is 200us. Therefore even though the storage device is 10x slower,the effective speed of the virtual memory system is only half as slow as physical memory. In effect,your 10MB/sec storage device acts like 500MB/s memory. The real question here,is how many page misses will you get. If there are too many,things dont work well at all. This depends on the kind of programs that you are running,and also on how much real memory and virtual memory you have. (You cant push it to far,or things get really slow) It is known that in most applications this system works very well and in fact,most modern operating systems do this. (Windows,OS X, Linux,Solaris) On an interesting side note,this is also how cache memory in your cpu works. Instead of a hard disk and a DDR-2 ram, you have very fast on die memory,and somewhat slower DDR-2 ram. Effectivly,the DDR-2 ram can run close to the 3Ghz speed of the cpu instead of the 800mhz speed of the ram. You of course take something of a performance hit,but its not that bad. |
![]() |
|
|
|