📜 ⬆️ ⬇️

RAM, ROM, NAND, NOR - what do these capital letters mean ...

I was asked to write an article about the differences between RAM , ROM , NAND , and NOR . Since the answer to this question is not difficult and less controversial than my next planned article, I will go through the least resistance and tell about it first.

Why do I want to tell about it?

When you buy a WM- based device, you will see the amount of RAM and ROM advertised on the web pages. I want to provide you with enough information for you to make the right and informed choice.
')
RAM vs ROM

All abbreviations about which we will speak here refer to the type of memory. Memory is used to store data on your device. Phone numbers, pictures, programs, music, etc. etc. - all this requires memory. Ignoring outdated technologies that no one uses now, as well as such rare and exotic ones that are not intended for the mass market yet, there are two types of memory: RAM and ROM . Their similarity is that they are designed to store data. But their main differences are in the speed of work and energy consumed.

RAM : very fast, but consumes enough energy.
ROM : much slower, but more energy efficient.

But, more significantly, RAM needs constant power to store data, while ROM does not. In other words, if your battery runs out of power, the data in the RAM will be lost, but not in the ROM .

How is it used?

Before the advent of WM5 , this was a difficult issue. With Persistent Storage , everything has become much easier.

ROM is the storage location. All programs and OS , which represent the software on the device, are stored in ROM . Your data is also stored in ROM . Both SD and CF memory cards are ROM storage. In fact, your device was implanted with an SD card that you cannot remove.

RAM is the place where programs are executed . When you turn on your device, programs from ROM are loaded into RAM and already there, in RAM , they work. When you listen to music, some of the composition is loaded from ROM to RAM , played back, unloaded back, and loads the next part, etc. When you read an email, the text is loaded from ROM to RAM and displayed on the screen. When you move to the next letter, the old text is unloaded from memory and the new text is loaded. Turning back to the previous letter, it will again be loaded from ROM to RAM . Note translator: the process of loading and unloading data is described formally, to simplify the model, but the essence remains the same.

So, generally speaking, the amount of available RAM determines the amount of simultaneously loaded data. And the amount of ROM - how much data you can store on your device.

How much memory do I need?

Due to the nature of the hardware limitations, the amount of memory is clearly regulated. Deviations are rare. Basically, the amount of memory is not less than 32Mb and increases, remaining a multiple of two. 32MB, 64MB, 128MB, 256MB, etc.

A “typical” WM5 device will have 64MB of RAM . 32MB of RAM will only be appropriate if the device uses the " NOR " ROM (more on this later). Due to the high power consumption, there is a “flip side of the coin” with too much RAM . And, for this reason, 128MB of RAM is unlikely, but it is possible for certain “professional use” devices.

So, a “typical” WM5 device will have 64MB of RAM . There are no other limitations, besides the cost, to have more RAM . However, if you can afford it, then more RAM will never be superfluous.

There are many different versions of WM5 - Smartphone, PocketPC, PocketPC Phone Edition, and their variations. The language of the operating system also affects the choice of memory size (for example, Asian fonts occupy a large amount of memory). But, a rough rule of thumb can be formulated as follows: the software of your device will take about 32MB. So, if you buy a typical device with 64MB ROM , then you can store about 32MB of your own data. If you have a 128MB ROM - you can store about 96MB of your data.

You do not need to throw me angry letters if you buy a device with 64MB of ROM and you only have 30MB free. All devices are different, so the amount of available memory is also different.

We need to find a compromise. Other things being equal, I would prefer a device with 32MB of RAM and 128MB of ROM , compared to a device that has 64MB of RAM and 64MB of ROM . But I would like 64MB RAM and 256MB ROM :-). Of course, the latter would have cost significantly more.

See how all this is marketed by marketers. Some say: “We provide 64Mb ROM ”, others say “30Mb available for user data”. They mean the same thing, but talk about it in different words. Although, due to the nature of marketing, I am sure that they would prefer to talk about the big numbers :-).

What about other capital letters?

Now let's go to NAND and NOR . These are the two main types of ROM . They are, to a large extent, used in the same way, and everything I said about ROM is true for both of them. So, you can not care about which of these types of memory you have. But I will tell you about them anyway.

NOR : faster reading, slower writing.
NAND : slower reading, faster writing.

This is all relative. Both types are significantly slower than RAM . There is one very important difference in these technologies. NOR allows you to do something that we call “performing on the spot” ( XIP ). Remember what we said at the beginning. To execute a program, you first load it into RAM , and then you execute it from there. NOR allows you to execute a program directly from ROM without loading it into RAM in advance. This means that you can have a system with less RAM . Notice that this only works for programs . You cannot "perform on the spot" an image or sound file. Inability to XIP , NAND compensates for its cost ( NAND is usually cheaper.)

Since NAND is faster to write, and NOR to read, the ideal system should have 64MB NOR and 64MB NAND . Then all programs would be stored in the NOR , and user data would be stored in NAND . Since all the programs would be executed “on-site”, there would be no need for 64MB of RAM , which would reduce its volume to 32Mb while saving the precious charge of your battery. “Running onsite” would also mean faster loading of programs, since there would be no need to load the program into RAM before execution. Such a device would be just a fairy tale!

By the way, SD and CF memory cards are based on NAND . Thus, there is no possibility for “executing on-site” the programs stored on them.

There is much more that I could tell about, but then it would be a rather long narration. So, I put the point here.

- Related articles:

Source: https://habr.com/ru/post/30945/


All Articles