19

Perhaps I may be overlooking some aspect that is an important cause as to why these don't exist, but I feel that having RAM expansions through PCIe would be perfectly feasible. I know that a lot of operating systems use virtual memory and store some lower priority items on hard disks, but considering the lower speeds I feel that we could use some bonus not-quite-as-fast memory.

6Gb/s SATA ~= 800MB/s
PCIe 2.0 = 500MB/s per lane. 16 Lane ~= 8GB/s

Sure, 8GB/s isn't as fast as actual RAM, but it's 10x the speed of SATA. Why not have a PCIe board with a couple of RAM slots for use with the old RAM that you just replaced with that recent upgrade? PCIe has the benefit of being on almost every motherboard out there. One 'adapter' PCIe RAM Expansion Board would be (supposedly) compatible most PCs.

What am I missing since this hasn't been done yet?

migrated from electronics.stackexchange.com Feb 2 '13 at 3:02

This question came from our site for electronics and electrical engineering professionals, students, and enthusiasts.

13

This is a complex issue, that is highly dependent on exactly what you want to do with that RAM.

In most cases, it is cheaper and better to simply replace the motherboard with a new motherboard that supports the amount of RAM that you require. I have a motherboard here in front of me that can take 16 memory modules. The largest module available is 32-Gig. That's a total of 512 Gigabytes in a single machine. (Never mind that 16 modules of that size would cost about US$14,000, or that the MoBo also has dual 8-core CPU's on it.)

Having the RAM on the MoBo means that it is the highest speed possible. You can use it for both a RAM-Disk as well as normal program and data storage. The best of both worlds.

But in your question you keep comparing it to SATA storage, so I am thinking that you'd want to use this extra RAM as a RAM-disk and not for general CPU RAM. This is a valid use, and years ago people did have PCI cards with lots of RAM on it specifically for this purpose. Those cards looked like another disk drive, and not just more CPU RAM. Often these cards had an external power connector on them so you could give them some sort of backup power in case the main power failed.

These types of cards have largely gone away. They were obsoleted mainly by three things: 1. Motherboards now can have much more RAM on them than in the past. 2. There are more modern solid-state drives using Flash memory and PCIe (some with large RAM caches) that work better. and 3. They were just too expensive for what limited advantages it gave.

There are other reasons why you might want to have a PCIe card with lots of RAM, but all of them are applications where the card is doing something other than just storing data. Like Video cards, or data acquisition cards. These things do not apply here.

  • 2
    Interesting. I've had a similar idea floating in the back of my head. The concept was a PCIe or perhaps SATA3 based "drive" that uses inexpensive sticks of last-generation ram, for volatile-only use. Common cases would be /tmp, swap, TempDB, and similar. It should be possible to obtain SSD-like read speeds, with much faster write speeds, and by using last-gen sticks it would cost substantially less than adding more general RAM. I suppose people find SSDs good-enough in most cases. – Kevin Cathcart Feb 1 '13 at 20:14
  • @KevinCathcart But if you could put that memory on the Mobo, and not have the expense of making a PCIe card, then you could buy the latest gen RAM and still save money. And you could use that memory as /tmp space, or just more RAM, and it would be a lot faster than anything done with PCIe. – David Kessner Feb 1 '13 at 21:52
  • 2
    Sure if putting that ram on the MOBO is viable. In a non-server environment, ram slots are often very scarce, and motherboard replacements are frequently non-viable. In a server environment things are rather different. Such a device would definitely have less impact there. I'll also admit that this would work better if prices for old generation RAM dropped faster than they actually do. – Kevin Cathcart Feb 1 '13 at 22:10
  • Probably another factor deprecating RAM cards was the move from 32-bit processors to 64-bit processors. More recently, PCIe flash (usually with a DRAM cache) has taken a similar role. – Paul A. Clayton Jul 6 '15 at 11:07
  • @David - I'm sure that motherboard was very expensive though -- not to mention buying all that current gen RAM -- for the enthusiast consumer who always has last gen RAM laying around, having an "L2 RAM" card that the OS could use as swap (so it's slower, and maybe even only accessible serially, seriously not asking for much here -- but being able to reuse our old lastgen chips to speed our systems up would be great...) – BrainSlugs83 Sep 14 '15 at 15:48
10

This has been done; many years ago you could buy ISA cards (pre-PCI) with RAM on, which presented to your PC as either "extended" or "expanded" memory. This was a way to get past the 1MB limit of the original PC.

Modern PCs have a section of extra RAM attached to the video card, separate from main memory.

The reason why you don't get RAM expansion cards nowadays is that latency is a serious problem. There isn't really any provision in the OS for preferred versus non-preferred RAM, so you'd have to use it as a swap disk / pagefile.

  • 5
    you could use RAM as a (non-permanent) disk too, as well as for swap. – Brian Carlton Feb 1 '13 at 17:56
  • I remember having a 64k add-in card for my Apple IIe that doubled the available RAM to 128k. There was no separate video memory, so the add-on also enabled 80 column text and double-resolution 'graphics'. – HikeOnPast Feb 2 '13 at 0:13
  • Yep: it's not the throughput that the problem. It's the latency. – Joel Coehoorn Feb 4 '13 at 16:25
  • Yeah, those ISA cards sat right on the Processor's IO bus though -- no Northbridge / Southbridge -- it was basically as directly connected to the CPU as the onboard RAM was (at least, it was in my 286). -- I'm thinking, in a modern computer you could use PCI-e RAM as some kind of L2 RAM -- like you mention for swapping, etc. -- the OS doesn't even have to be aware of it (though, rightfully, it should). – BrainSlugs83 Sep 14 '15 at 15:59
3

Modern server systems achieve up to 75GB/sec between CPU and main memory and even mid-grade systems can support up to 768GB total DRAM capacity. Any requirement to scale beyond that with faster-than-SATA speeds is covered by FLASH PCIe solutions that boast x8 PCIe speeds and many TB of capacity without the data volatility issues associated with DRAM.

  • 2
    Nitpick: PCIe, not PCIx. They're two different standards. – Bryan Boettcher Feb 1 '13 at 23:06
  • Valid. Corrected. – HikeOnPast Feb 2 '13 at 0:08
  • Your "midgrade system" is a rack mounted server. Come on guys, we're talking enthusiast class. -- Current gen RAM is always super expensive, and we always have a bunch of last gen RAM sitting around. -- If someone built this product, they would make a damn killing... – BrainSlugs83 Sep 14 '15 at 16:01
1

Adding to pjc50's reasons, it wasn't successful with PCI cards either, see this discussion for more details.

With main memory being larger, there is also less of a need.

0

i don't see how this is not possible to get close to ram speeds from nvme's i test triple channel ddr3 in a benchmark to 22GB/s

32x pci-e bandwidth isnt far from that. but

the ram has NANO seconds of latency while the ssd would have Millaseconds but thats also not a limitation of pci-e, thats purely current affordable retail storage. there is specialty non-volatile storage that could achieve this but the with the 50k price tag, i don't think retail would see this for atleast 10-15 years.

although, if you literally used ram modules on a custom board and the motherboard firmware would allow it to detect it as memory. technically, it would work to extend memory. the underlying tech is there for it to work. "<3 pci-e"

0

The most recent incarnation of PCI RAM cards was produced by Gigabyte in 2005 and 2006 under the names i-RAM and GC-RAMDISK, respectively. They supported 4 slots totaling 4 GiB of DDR-400. The transfer rate was that of SATA, 150 Mb/s, and the latency of 0.1 ms.

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.