• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

RAM, ROM, What?

pdragon

Android Enthusiast
Oct 15, 2009
395
19
www.foresightweb.net
People throw technical terms around during discussions here, which is not unexpected and is encouraged! But new users may be confused and occasionally little arguments start over semantics. Here's some clarification to hopefully help people better understand how their phone works and communicate better the issues they're having. If people wish to help me clarify better, I'd appreciate it. :)

ROM - Read Only Memory
While the term has changed a bit from it's original meaning, it's essentially computer memory that does not require power to store it's data (non-volitile). In the sense of a smartphone like the Hero, it's the Internal Memory where the OS is stored. From what I've gathered, the Internal Memory is just Flash Memory (a special type of ROM) partitioned into two parts, one for the OS and the rest for apps to use. So, the OS partition essentially is true ROM, unless you root the phone. The software that groups like xda-developers make available are called ROMs because they're a ROM Image. It's why you see games for emulators called ROMs because the games were originally taken from true ROM cartridges.

For the Hero this size is 512MB.

The sdcard is a larger capacity external Flash Memory card.

In a normal computer, ROM in the form of an EEPROM chip is where the BIOS is stored.

RAM - Random Access Memory
This is where current processes that are running are stored and keep the data they need immediately available to them. This is the memory you see when you run any of the Task Managers showing you currently running apps and the available memory. It's a completely different part of the phone from the Internal Memory discussed above. Data stored in RAM requires constant power and does not survive a power cycle of the phone (volitile).
For the Hero this is 288MB.

Root
This is the term being thrown around for modifying a smartphone to put custom software on it that normally wouldn't be allowed through means included with the phone (Android Market or an .apk file for a non-Market app). "Root" is the common term chosen because, in a Unix environment, the "root" user has complete and total control of the entire operating system of the computer. So, "rooting" the phone means taking complete control over its operating system. This is usually done by means of finding a flaw somewhere in the phone's firmware to allow access to the restricted Internal Memory where the OS resides. You then install a custom ROM (see above) to let you use your phone from then on.

Android is a bit more unique than any of the previous smartphones in that you don't really need "approval" from a higher power (ex, the Apple store) to install an app that hasn't made it onto the Market. Just uncheck the box Settings -> Application settings -> Unknown sources and you're free to install any .apk file you wish. So Android phones are more like a regular computer in that you're free to install whatever software you want from whichever source you want. Just be careful of where you get apps from outside of official Market sources. Also like a regular computer, you could open yourself up to having your personal data stolen.

Rooting still gives some advantages for power users, but for normal or even intermediate users, you probably don't need to root the phone to enjoy it as much as you'd have needed to for previous smartphones.
For further discussion, please see our Developer Forums.

Tethering
This is the term used for using your phone as an Internet access point to allow an attached computer to access the Internet. It turns your phone into a mobile modem. Please don't discuss Tethering here. See the thread Does Tethering work? to discuss this further.
 
People keep throwing these terms around and causing a great deal of confusion and occasionally little arguments start over semantics. Here's some clarification to hopefully help people better understand how their phone works and communicate better the issues they're having. If people wish to help me clarify better, I'd appreciate it. :)

ROM - Read Only Memory
While the term has changed a bit from it's original meaning, it's essentially computer memory that does not require power to store it's data (non-volitile). In the sense of a smartphone like the Hero, it's the Internal Memory where the OS is stored. From what I've gathered, the Internal Memory is just Flash Memory (a special type of ROM) partitioned into two parts, one for the OS and the rest for apps to use. So, the OS partition essentially is true ROM, unless you root the phone. The software that groups like xda-developers make available are called ROMs because they're a ROM Image. It's why you see games for emulators called ROMs because the games were originally taken from true ROM cartridges.

For the Hero this size is 512MB.

The sdcard is a larger capacity external Flash Memory card.

In a normal computer, ROM in the form of an EEPROM chip is where the BIOS is stored.

RAM - Random Access Memory
This is where current processes that are running are stored and keep the data they need immediately available to them. This is the memory you see when you run any of the Task Managers showing you currently running apps and the available memory. It's a completely different part of the phone from the Internal Memory discussed above. Data stored in RAM requires constant power and does not survive a power cycle of the phone (volitile).
For the Hero this is 288MB.
thanks for the education buddy!
 
Upvote 0
No you are right and this is why it is important to have a task manager app so you can preserve battery life. Android is awesome at managing the RAM for the many different apps and processes running but for any mobile device battery life is at a premium so we must take that into consideration before speed. Some people advocate against a task manager just because linux manages RAM so well. That is grrrreat for a desktop computer. With no juice you have no RAM so there.
 
Upvote 0
Actually, that may not technically be true. I believe the power supplied to RAM is constant throughout the whole chip at all times, despite whether it has data or not. So more apps running would not cause a higher power drain due to RAM, but more due to higher CPU usage. And background tasks don't necessarily have to be using the CPU to reside in memory. Using linux as an example, run the "top" command next time you're at a command prompt. You'll see plenty of programs resident in RAM not using any CPU cycles.

So, again, because of the way the Linux kernel works, you really don't need to constantly be using Task Killers to make the phone run more efficiently. From some things I've been reading, killing tasks that may be writing to Internal Memory may be causing some of the lost free space issues because you're killing the task before it had time to to properly allocate/unallocate it's used space. That may leave space marked as used that's actually not in use anymore.

Now, if apps are being run from the sdcard (which they hopefully will be able to at some point) and/or reading/writing data to it constantly, that could possibly cause additional power use.
 
  • Like
Reactions: funkylogik
Upvote 0
Actually, that may not technically be true. I believe the power supplied to RAM is constant throughout the whole chip at all times, despite whether it has data or not. So more apps running would not cause a higher power drain due to RAM, but more due to higher CPU usage. And background tasks don't necessarily have to be using the CPU to reside in memory. Using linux as an example, run the "top" command next time you're at a command prompt. You'll see plenty of programs resident in RAM not using any CPU cycles.

So, again, because of the way the Linux kernel works, you really don't need to constantly be using Task Killers to make the phone run more efficiently. From some things I've been reading, killing tasks that may be writing to Internal Memory may be causing some of the lost free space issues because you're killing the task before it had time to to properly allocate/unallocate it's used space. That may leave space marked as used that's actually not in use anymore.

Now, if apps are being run from the sdcard (which they hopefully will be able to at some point) and/or reading/writing data to it constantly, that could possibly cause additional power use.

I completely agree... I'm of the non-task killer camp and believe that if your phone is running slow then you should find the actual problem app and uninstall it, rather than manually babysitting it with task killers. This is only my assumption, but killing tasks left and right will eventually lead to some sort of data corruption and system instabilities.
 
Upvote 0
I completely agree... I'm of the non-task killer camp and believe that if your phone is running slow then you should find the actual problem app and uninstall it, rather than manually babysitting it with task killers. This is only my assumption, but killing tasks left and right will eventually lead to some sort of data corruption and system instabilities.


Now what about in the case of say like Sprint Navigation running? I have never used that program, and honestly i dont know why anyone would. Google maps is more than sufficient, for myself at least. I digress. everytime i check my task manager, that damn program is running, and everytime i kill it. Im strating to think its like 'peep' and 'footprints' and just wont die. :mad:
 
Upvote 0
I see both sides now. We don't need to kill programs if they are using no CPU, I understand the science behind the ram chip and power I overlooked that before. The prospect of killing something before it can finish its task is murder on the system stability. I do have issues and I am sure others do as well with programs starting up on their own.

Always after using Handcent SMS my active tasks list has the native messaging app, sprint nav and a couple others that are out of place. I am going to stop using the task kill widget for now and monitor the cpu use of each of those random apps.

I believe the spare parts settings app has the measurement tool needed to track the cpu cycles.
 
Upvote 0
I just wanted to thank everyone but pdragon especially. It is because of these threads that I have been able to expand my limited knowledge of my new device. Technology is changing so quickly. So it is wonderful to learn to fully utilize and envision future uses for my device vs planning my next purchase. Lord knows I cannot afford to keep up. Anyways this was just a long winded thank you.:)
 
Upvote 0
I was holding at 70Mb of 'Available space' (ROM) for a while, and have dropped to 52Mb in a matter of days. I haven't really installed any apps recently...certainly not 20Mb worth, anyway.

What's the best way to try recovering some of this space? Uninstalling apps barely seems to make a small dent, and I also deleted all SMS threads in Handcent which had no effect.


sleepy
 
Upvote 0
I was holding at 70Mb of 'Available space' (ROM) for a while, and have dropped to 52Mb in a matter of days. I haven't really installed any apps recently...certainly not 20Mb worth, anyway.

What's the best way to try recovering some of this space? Uninstalling apps barely seems to make a small dent, and I also deleted all SMS threads in Handcent which had no effect.


sleepy

are you using bluetooth?

if the phone is in a connecting state when you shut off the phone, when it starts up again it shows less free space. theres a video showing it happening multiple times in a row, i think the worst one it did was lose 13MB on one restart.
 
Upvote 0
Have you tried rebooting the phone after uninstalling & clearing SMS history?
<sigh>

I'm rather disappointed in myself for not thinking of this on my own. Upon reading your post and rebooting my phone, I regained 9Mb of ROM...went from 54Mb to 63Mb. Thanks! I'm still curious as to where the other 9Mb went, but am not holding my breath that I'll ever find out. ;)

are you using bluetooth?
No. Heck, I've never even turned the Bluetooth service on...partially because I don't have a BT headset, and then I read about the 'BT eats ROM' bug, and am really not getting one now! :p


sleepy
 
Upvote 0
@Pdragon: quite often I see people confused about the actual ROM values their phones report. For example, the HTC Magic has 512MB of ROM (and 288MB RAM), but I see users saying "I only see xMB, but I'm supposed to have 512MB! Where is it?"

Your original post alludes to this where you say "From what I've gathered, the Internal Memory is just Flash Memory (a special type of ROM) partitioned into two parts, one for the OS and the rest for apps to use."

It might be helpful to clarify that if people are seeing less than the 512 MB of ROM, it's because of this partitioning, and give an example.

For example, on my HTC Magic when I run Useful Switchers, I can see that I have 180MB of 295MB available from my internal memory (ROM). So I can assume that the partition for the OS is 217MB, and the partition for apps is 295MB.
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones