External RAM through USB
Is it possible to mount RAM cards externally and connect them through USB to my computer? I assume it's possible, but I haven't seen such a RAM --> USB converter after hours of search. All my RAM slots are taken up, and I'd love to use two more which I have lying around.
41 Answer
USB is a peripheral. This means there's software and hardware layers between the CPU and a USB device.
Hardware layers: CPU <-> PCIe bus <-> USB controller <-> USB device
Software layers: Hardware <-> OS Kernel <-> USB bus driver <-> Device-specific device driver <-> Application
RAM works like this:
[ CPU <-> CPU cache <-> MMU ] <-> RAM
and everything in brackets is actually part of the CPU so it's superfast.
But most importantly, RAM is visible to the CPU without having to talk to a controller. It's just there.
Getting data in and out of a USB device always involves asking the controller to talk to a device and move packets of data. USB works more like a network adapter than RAM.
So you can get a bunch of RAM, connect it to a USB controller, and have it work like a super fast storage device, but not RAM.
Some busses have DMA capability and can directly read and write RAM. This includes PCIe. PCIe is available on your motherboard's expansion slots, and it's also available via Thunderbolt, which is part of the new USB 4.0 standard.
Other DMA-capable busses include Firewire and PCMCIA.
Technically, you can read and write to the video RAM on PCIe video cards. So it is possible. I am unsure of the state of getting graphics cards working over Thunderbolt, this may or may not have happened yet.
As far as just plain RAM attached to PCIe or Thunderbolt, no one has done that yet.