RAM, ROM, What?


Last Updated:

  1. pdragon

    pdragon Well-Known Member

    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.

    Advertisement
  2. t1jordan

    t1jordan Well-Known Member

    thanks for the education buddy!
  3. jxjones09

    jxjones09 New Member

    does that mean the more apps stored and have to run from the ram the worse the bat life would be since it has to continuously be accessed. lol now that i typed that the answer seems pretty self explanatory sorry im going to post any way maybe im wrong or theres a better explanation
  4. andy22

    andy22 Well-Known Member

    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.
  5. marctronixx

    marctronixx Moderator Moderator

    more RAM used = more power thats needed. pure and simple...
  6. pdragon

    pdragon Well-Known Member

    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.
    funkylogik likes this.
  7. JB in AZ

    JB in AZ VIP Member VIP Member

    New user to a smart phone here. For me and others, would it be possible to add to this first post what "root" and "tether" mean. I see these words frequently in this forum. Thanks! :eek:
  8. pdragon

    pdragon Well-Known Member

    Done. Good suggestion. :)
  9. JB in AZ

    JB in AZ VIP Member VIP Member

  10. kinetic

    kinetic Well-Known Member

    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.
  11. Negrito

    Negrito Well-Known Member


    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:
  12. kinetic

    kinetic Well-Known Member

    Unfortunately, since we cannot easily inspect where the inter-dependencies are with some of these Sprint apps, there's not much we can do until we have root access.
  13. andy22

    andy22 Well-Known Member

    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.
  14. jimeller

    jimeller Well-Known Member

    can you sticky this on the GSM page please?
  15. pdragon

    pdragon Well-Known Member

    Not ignoring you. Trying to see if there's a more universal FAQ option that would be more appropriate for general info like this.
  16. malibuflavor

    malibuflavor Member

    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.:)
  17. chino13

    chino13 New Member

    Newbie here,

    In the first post (BTW thanks Pdragon) you said that the RAM in the Hero is 288MB. After I kill all the apps with the task manager, it tells me that I only have 45MB available. Where is the rest of the rest of the memory being used when the phone is not running any apps.

    Thanks,

    LA
  18. pdragon

    pdragon Well-Known Member

  19. chino13

    chino13 New Member

  20. sleepyEDB

    sleepyEDB Well-Known Member

    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
  21. pdragon

    pdragon Well-Known Member

    Have you tried rebooting the phone after uninstalling & clearing SMS history?
  22. maddmatt02

    maddmatt02 Well-Known Member

    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.
  23. sleepyEDB

    sleepyEDB Well-Known Member

    <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. ;)

    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
  24. Cess

    Cess Member

    Nice write up.
  25. mjschmidt

    mjschmidt Well-Known Member

    @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.

Share This Page