1
\$\begingroup\$

I'm surprised to see no Single-Board Computer including Raspberry PI has memory modules for allow for flexible amount of memory (e.g. this review). And I have not found such discussions via web search, for PI I've found only that post on PI site Improve RAM with a laptop's memory module:

No, not possible. The Pi does not have a memory socket of any description - memory is soldered to the board.

No comments why, no comments whether it is in plans. I understand form factor is not large and it is densely packed already, but as amount of DRAM is important to many (IMO), why none of producers make at least one model with a removable SO-DIMM module? Any particular technical challenges?

\$\endgroup\$
27
  • 4
    \$\begingroup\$ Why does the reason has to be technical? It may purely be a business desicion on what to focus. But of course there can be technical challenges. For example customers complaining that their memory module does not work or that the board now costs too much and it has a memory socket that makes it larger and they don't need it. If you need more memory, chanses are you are expecting too much and should have bought something else to begin with, or the estimation how much memory was done wrong or not done at all before purchasing it. \$\endgroup\$
    – Justme
    Nov 24, 2021 at 5:22
  • 1
    \$\begingroup\$ Why are you surprised? The RasPi is based on SOCs that are meant for set top boxes. The earlier versions had the ram as PoP (package on package) which meant the dram sat on top of the cpu. The 4 has a separate dram chip - this is why they can offer different memory sizes. As for sodimm, the chip might not designed to drive multiple drams on a sodimm nor that amount of memory. Also another socket adds unreliability to the system. The sdcard socket is bad enough! You need to stop applying what you think is rational technical logic - most of the decisions are cost driven. \$\endgroup\$
    – Kartman
    Nov 24, 2021 at 6:30
  • 6
    \$\begingroup\$ Most of these small ARM processors use LPDDR instead of DDR, so no SODIMM support. \$\endgroup\$ Nov 24, 2021 at 6:44
  • 1
    \$\begingroup\$ You could probably socket LPDDR, but I have never seen that done. \$\endgroup\$ Nov 24, 2021 at 8:28
  • 1
    \$\begingroup\$ More area, more power, more cost. It beats the very fundamental features of an embedded system i.e., low cost, low power, compact in nature. \$\endgroup\$
    – Mitu Raj
    Nov 24, 2021 at 9:12

4 Answers 4

3
\$\begingroup\$

Largest technical challenge is the lack of infrastructure.

Many SoCs support only LPDDR memories and do not support standard DDR memories, so there are no existing sockets or memory modules you could use to add memory.

\$\endgroup\$
0
3
\$\begingroup\$

The Broadcom BCM58712 SoC chip used in the Raspberry Pi 4 supports up to 8G of DDR-4 2133/2400 memory, so probably the issue is a lack of perceived market.

\$\endgroup\$
5
  • \$\begingroup\$ Going to the link you posted, I was able to find "72-bit wide DDR3/3L/4 memory controller with error correction coding (ECC) (64b data, 8b ECC) up to DDR4-2400" and no mentioning of 8GB limit. 64-bits AFAIK support magnitudes more RAM than 8GB \$\endgroup\$ Nov 24, 2021 at 6:32
  • 3
    \$\begingroup\$ Doesn't the Pi 4 use the BCM2711? \$\endgroup\$ Nov 24, 2021 at 6:40
  • 3
    \$\begingroup\$ Martian, the address and data busses for DDR are separate from each other. The address bus is not 64 bits. If you reflect upon it a little bit you will see that 64 bits of address is preposterous. Also, the way DRAM addressing works is kind of convoluted. There are row addresses and column addresses and also bank addresses. The memory controller is responsible for translating memory access into appropriate signaling on the DDR bus to specify the address and read or write the data. \$\endgroup\$
    – user57037
    Nov 24, 2021 at 8:13
  • \$\begingroup\$ @mkeith, I recall asking another related question and in answer or comments reading that memory is not DRAM only, that 64 bits are also for "hard drives", etc. Is it correct BTW? I mentioned bits because I wanted to imply that in specs nothing prevents more than 8GB addressing. \$\endgroup\$ Nov 24, 2021 at 8:22
  • 2
    \$\begingroup\$ Well, the DRAM memory will be accessed by a DRAM memory interface. That interface will not access any other memory type. It is very specialized. There will be a separate interface for other memory types (for example SDIO or something similar for SD cards). I am speaking in very general terms here. Not familiar with which interfaces are actually on the BCM7811. Here is more about DDR4: systemverilog.io/ddr4-basics \$\endgroup\$
    – user57037
    Nov 24, 2021 at 8:27
3
\$\begingroup\$

It depends what your definition of "SBC" is. There are plenty of embedded systems that have socketed RAM. Different SoCs will support different RAM types. In the case of the RasPi, as has been pointed out in the comments, the SoC is a consumer chip and hence it would be far more cost effective to have soldered RAM on the same board (not to mention the actual PHYs). This is a commercial choice which is as, or more even more important than, "technical" choices, when you're building millions of units.

An example of an "SBC" supporting DDR4 SODIMMs from Solid Run. Does this meet your criteria?

enter image description here

\$\endgroup\$
4
  • \$\begingroup\$ It is offered for $500 compared to PI of $50. I'm surprised middle range if empty. What is the cheapest SoC supporting DDR4 (DDR3)? How more expensive is it compared to SoC used in PI? \$\endgroup\$ Nov 24, 2021 at 20:22
  • 2
    \$\begingroup\$ @Martian2020 - I don't have that info to hand, a lot depends on volume and there are many, many SoCs out there! Problem for non-x86 boards is there is little consumer demand for a general purpose computer that doesn't run Windows; the general public does not (knowingly) run Linux. $500 is nothing for an industrial grade system. The secret to RasPi's success is combining the cost/volume of a consumer SoC with fantastic software support. \$\endgroup\$
    – awjlogan
    Nov 24, 2021 at 20:54
  • \$\begingroup\$ IMO significant % of consumers run MacOS, new M1 ARM devices are user friendly (AFAIK same as were x86 ones, though not used M1 myself). Is it much difficult to re-build e.g. Ubuntu for ARM based board? \$\endgroup\$ Nov 25, 2021 at 3:01
  • \$\begingroup\$ @Martian2020 - sure, I'm using an M1, it's superb. Apple don't make their SoCs available though, and also they've invested massively in their software story. It's very easy to install Linux on Arm (RasPi's OS is derived from Debian), and almost all embedded systems use Linux underneath. The problem is that there isn't enough demand for a general purpose computing SoC at the moment - it's mostly consumer or industrial embedded systems. \$\endgroup\$
    – awjlogan
    Nov 25, 2021 at 7:34
2
\$\begingroup\$

The following provides related info:

Apacer Launches 32-Bit SODIMM for Arm & RISC-V Systems:

Apacer has announced a lineup of 32-bit SO-DIMMs designed for systems based on processors featuring Arm, RISC, or RISC-V architectures. The memory modules will enable SoC developers to take advantage of capacity and performance flexibility offered by modular memory solutions.

Memory organization is a bit different between x86 and Arm/RISC-V based systems. The former typically feature one or more 64-bit memory interfaces to connect one or more 64-bit memory modules (or just a set of DRAM chips) in a bid to maximize raw memory bandwidth and capacity. By contrast, Arm or RISC-V powered SoCs use one or more 16-bit memory interfaces for granularity, power, and efficiency (to maximize channel utilization and effective memory bandwidth) reasons. Since the vast majority of Arm or RISC-V based systems are either mobile or special purpose, most of the memory subsystems are custom-designed with only a handful of SoCs featuring “wide” memory interfaces. As a result, most of them cannot use industry-standard 64-bit DIMMs and rely on soldered down memory.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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