2

For PC RAMs, when a manufacturer say they produce a 4GB memory bank, they are producing a memory bank with 4,294,967,296 bytes (4 GiB). The same applies to CPU cache, i.e. a CPU with 2MB L3 cache means 2,097,152 bytes (2 MiB) of L3 cache.

For hard drives, flash drives (USB drives, SSDs, eMMCs and UFSs) and optical discs (CDs, DVDs and BDs), manufacturers use powers of 103 for B, KB, MB and GB, so a 4GB USB drive has roughly 4,000,000,000 bytes.

According to my observation, Android phone manufaturers use the latter kind of units when advertising RAM. That does not sound reasonable to me because PCs' RAMs aren't advertised that way.

Edit: I am an experienced Android user. I have investigated the kernel and made sure that other components' sharing RAM does not affect my observation.

1

tl:dr: Android memory is more in line with hard disk memory and uses the SI or decimal standards unlike PC memory. Standards support this


Basing my answer on What is the advantage to using a factor of 1024 instead of 1000 for disk size units? - Software Engineering Stack Exchange and bringing out only the key aspects. Details can be referred in that question

  • In the case of PC's, quoting from the accepted answer binary addressing was adopted

It is kind of convenience and optimization for getting the most usable, addressable space between the two considerations of addressing and physical platter size

The disk drive industry followed a different pattern. Industry practice, more thoroughly documented at Timeline of binary prefixes and continuing today, is to specify hard drives using SI prefixes and symbols in their SI or "decimal" interpretation. Unlike binary-addressed computer main memory, there is nothing in a disk drive that influences it to have a total capacity easily expressed using a power of 1024.

(Emphasis Supplied)

That explains in brief the reasons for binary and SI


Evolution of Mobile Phones and Standards

So, likely reasons :

  • SI standards were automatically applied to mobile memory as they were more viewed as storage elements rather than computational requirements

  • Fact that memory was / is not based on platters (see accepted answer ) , adopting binary system made no sense . Instead of having separate nomenclature for storage and RAM, SI units were adopted for both. But in the case of PC's legacy continued, though one could argue that it is incorrect. Mac OS since has since version 10.6 (Mountain Lion in 2011) shown hard drive size using decimal prefixes and continues to do so

  • By 1998

IEC introduces unambiguous prefixes for binary multiples (KiB, MiB, GiB etc.), reserving kB, MB, GB and so on for their decimal sense

  • By 2001 Linux Kernel (used in Android) adopted IEC standards
  • 1
    I like the point which states perhaps " SI standards were automatically applied to mobile memory as they were more viewed as storage elements rather than computational requirements", it could explain the "theory of conspiracy by manufacturers sticking to SI probably it was an added advantage to marketing RAM – xavier_fakerat Jul 20 '17 at 6:11
0

According to Wikipedia:

The use of gigabyte may be ambiguous. Hard disk capacities as described and marketed by drive manufacturers use the standard metric definition of the gigabyte. Therefore, one gigabyte is 1 000 000 000 bytes(GB).

This is true even for phone manufacturers, in fact just as rjknight pointed out, The RAM marketing strategy is similar to the "hard drive maker conspiracy" story is driven by the fact that manufacturers have no real incentive to switch to binary prefixes, because that would make their drives (RAM in this case) look "smaller".


AFAICT, using the mebibyte (MiB), gibibyte (GiB) and so on, is a more accurate way of presenting the volume of data stored in these quantities.

In depth

The gibibyte or binary gigabyte is a multiple of the unit byte for digital information . The binary prefix gibi means 2^30 , therefore one gibibyte is equal to 1 073 741 824 bytes = 1024 mebibytes .

These other binary prefixes (kibi, mebi, tebi, etc.) were introduced in an attempt to reduce such confusion, but these prefixes have yet to see widespread adoption.

In PC 2GB of ram refers to gibibytes, not gigabytes. RAM comes in allocation in powers of 2 due to architecture. Memory addressing is done in binary form, this implies it is going to be a power of two.

So, since writing memory addresses in binary always results in a binary number, RAM developers have (almost) always stuck to creating RAM in units of powers of 2, combining individual chips which are (almost) always combining to powers of 2.

Here is another explanation:

RAM is addressable by an index called an address . The most efficient way to construct this address is as a binary number which corresponds to the physical area on the chip where the byte or word of memory is accessed from. As a matter of efficiency its expensive to check this address for validity (does the address really correspond to a real address?) for every access. The only way to restrict the address range without having to check the value is to allow for every possible combination of bits, but set the exact number of valid bits that are supported for the RAM chip. But that means your range has to be a power of 2.


Mobile phones

RAM that is used in smartphones is technically DRAM, with the D standing for dynamic. The structure of DRAM is such that each capacitor on the RAM board stores a bit, and the capacitors leak charge and require constant “refreshing”; thus the “dynamic” nature of the RAM. It also means that the contents of the DRAM module can be changed quickly and easily to store different files.

And as expected, the exact number of bytes in a DRAM module is always an integral power of two.

Conclusion

This is is more like a business idea, that takes advantage of confusion regarding the common usage of "gigabyte" instead of "gibibytes" much like ISPs advertise 8Mbps (= 1MBps) as 8MBps, so it needs awareness from end users or customers.

It seems most manufacturers hide under metric system or SI units to "advertise" to the unsuspecting consumers, although in real terms the say what they don't mean.

Acknowledgements

  • You said the RAMs in mobile phones are DRAMs, but that makes no difference because PC RAMs are also DRAMs. Also your PC won't fail if you install banks with different capacities, making the total RAM not a integral power of 2. – iBug Jul 31 '17 at 1:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.