In most cases, both the eMMC flash and RAM are soldered on single board computers, but we’ve previously boards with eMMC flash modules that allows to optionally add storage of various capacity and speed. But today I learned something similar exists for RAM chips with a socket that allows you to clip a BGA chip to change RAM capacity.
The BGA socket is simply soldered on the board instead of the RAM chip itself, and as demonstrated on the MangoPi MQ Pro board, you could then insert the chip on the board instead of soldering it.
Those are the specifications of the “DDR3x16-96” socket used above:
- Materials
- Socket base: LCP (liquid crystal polymers)
- Contacts: BeCu (Beryllium Copper), selective Au-Au flash over Ni plating
- Insulation resistance – 1000 MOhm or more at DC 100V
- Dielectric withstanding voltage – 100V AC for one minute
- Contact resistance – 50 mOhm max, at 10mA and 20mV max (initial)
- Operating temperature – -50°C to +150°C
- Life span – 10,000 times (mechanical)
- Operation force – < 2.0 kg max
You’ll find the PCB pattern and those specs on the PDF document released by MangoPi. It appears the socket is designed to go through several insertion/removal cycle with a 10,000 times life span, but it’s unclear how hard is it to remove. But once inserted, it looks firmly in place.
This type of socket has a name, as Tom Fleet explains on Twitter, it is called an “interposer”, and one of the main manufacturers of such sockets is Samtec. The model used in the board is “JRS DDR3x16-96” according to the PDF released by MangoPi, but I was unable to find it anywhere.
While it looks neat, I’m not convinced we’ll see barebone single board computers where users can insert their own eMMC flash and RAM any time soon, since it would likely add to the overall costs. A more likely use would be for board vendors wanting to test RAM chips from various vendors and of different capacities.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
This is awesome! I don’t understand what manages to keep the chip in place though.
I don’t imagine seeing this on SBCs any time soon either, because right now most of them just hard-code the DDR timing parameters in a blob provided with the boot loader. Supporting various timings requires more complex training code and even to retrieve the supported settings from an I2C flash that’s usually found on the memory stick. In this case it’s simpler for the board’s maker to use a SODIMM socket and suggest the customer to buy their own RAM sticks.
Yeah, I don’t see these ever becoming popular, but….that doesn’t stop me from wishing they did! Would be quite frankly wonderful to be able to easily swap the RAM-chips out on some of my old SBCs for bigger ones, even if it also required flashing an I2C EEPROM with new settings for them.
I’ll have to remember these sockets, so I can at least use them in my own designs.
> In this case it’s simpler for the board’s maker to use a SODIMM socket
Since you are speaking of ‘board’… which kind of SoC or CPU should go on that board then?
At least those from the ‘Android e-waste’ category all lack (SO-)DIMM support for obvious reasons.
In most cases, a single Linux image is used for boards with various RAM capacities (e.g. 1GB, 2GB, 4GB…). So is the only problem here is with using RAM chips from different IC vendors? If the board vendors offered a short RAM compatibility list, would that work?
from the photos, it looks like the chip needs pins. pins and sockets. friction.
Given the overall amount of engineering required to select the material for each individual solder ball on a chip (yes some really do go that far) many ICs come with the solder balls already in place, sort of like pins on older chips, the socket is probably latching onto that like an old ZIF socket (old style CPU socket).
I wonder if this makes board manufactures lower their price, since having more SKUs doesn’t affect production ( since all are socketed )
I would like to see slightly larger boards with SO-DIMM slots.
Can Pico-ITX fit 2x SO-DIMM slots? I found a few with only 1, but they should be vertically stackable…
I’ve found the JRS manufacturer web:
http://en.icsocket-jrs.com/wproducts_content-164128.html
But there aren’t more information there.
I’d expect to see this appear on user-serviceable electronics such as Fairphone.
Right to Repair legislation might incorporate replaceable RAM.
Yeah, already looking forward to Fairphone users setting up a VM for an antique OS environment to be able to install the SoC vendor’s BSP to adjust the DDR timing parameters or to tweak memory timing algorithms to finally compile a new firmware BLOB. But maybe Fairphone uses a SoC where DRAM initialization is open sourced so it’s just fiddling around in u-boot?
The average DDR chips lacks SPD and the average ‘Android e-waste’ ARM SoC lacks capabilities or even contacts to make use of SPD and as such SO-DIMMs aren’t possible as well.
What’s needed is a high speed extend bus SDcard that can run at full board memory speeds.
Click it in fit heatsink off you go . A very small SSD.
That would be pointless. Sure, SD Express does support 4xPCIe-lanes in an SD-card package, but that’s just the bus — it says nothing about actual achievable read/write-speeds, latencies or sustained performance. Besides which, those cards would cost a fricking arm and a leg!
No, if you want a small SSD, an M.2 NVMe is BY FAR a more realistic option.
That’s what’s Bios and standards are for .
I’ve worked with Samtec before and they’re a great manufacturer. We needed a custom socket for a hobby project (500to 1K volume) and they had factory engineers call me to work out the specs. We ended up buying them as well. Probably the second best support after Microchip.
I don’t understand how ram will help my small block Chevrolet
I will be using these sockets in my designs.
It’ll definitely make it easier and quicker to test several types of RAM.
However, I may even switch out ICs on SBCs I already purchased, in order to upgrade the RAM (definitely something one will want on a Raspi, unless it’s located in a shaking environment).