By using this site, you agree to our Privacy Policy and our Terms of Use. Close
Pemalite said:
vivster said:
Yo, bros! I need a little bit of help here.

I think I can tackle most on this one
https://gamrconnect.vgchartz.com/post.php?id=9144439

But I'm a bit stumped on this one.
https://gamrconnect.vgchartz.com/post.php?id=9144445

The problem is I'm not too familiar with the exact data flow between storage, RAM and VRAM while playing a game. Using an SSD as RAM or VRAM sounds a bit silly to me. That thing about decompression in the GPU sounds plausible but it feels like something that would be done in hardware and as such wouldn't have much of a performance impact.

Does the VRAM even stream data directly from the storage? Seems like something I would load in RAM first based on predicting what I will need for the game.

Memory storage typically goes from Largest(Cheapest per byte)+Slowest to the Smallest+Fastest. - This is because the fastest memories are damn expensive (I.E. L1/L2/L3 caches) so we can't make entire systems out of the stuff.
I.E. [Hard Drive/SSD, Terabytes @1-10GB/s Microseconds]  ---> [RAM, Gigabytes @32-1024GB/s. Nanoseconds] ---> [Cache, Megabytes @ 200-2048GB/s. Nanoseconds]

So we hide that by having tiers of memory sizes and speeds in order to try and get around that issue efficiently... Then we implement various technologies like "branch prediction" so that we can predict the data ahead of time and move them up the memory hierarchy to reduce the impact of accessing slower memories even further.

There are instances where the data isn't going to be in VRAM or Caches and that data will be accessed from the base storage, but this is a last-resort.

We have actually be using hard drives for "Ram" going back a quarter of a century or more, it's actually not a new technology... Though it was called "Virtual Memory". - Or a "Swapfile" - And was used when a program/game wanted to reduce it's Ram consumption or when Ram became full... Otherwise you would get an out-of-memory error and a crash.

Now SSD's aren't doing anything new or differently here, the Swapfile/Virtual Memory still exists... But it's not going to be restricted to mechanical hard drive transfer rates or latencies so there is a big uptick in performance... However, it's still orders of magnitude slower than Ram and still has orders of magnitude inferior latency... Thus the need for Ram still exists and will continue to exist.

The one issue I have is that if developers next-gen start relying on the SSD as a "Scratch Pad" for memory transactions we will start to see allot of arbitrary writes to storage, which means that the NAND wear could be significant, which may potentially create reliability implications for the next-gen consoles... But that is just a hypothetical on my behalf, I am sure Sony and Microsoft have put allot of thought into that aspect and worked around it to various degrees.

So in short... Yes, SSD's can act as "Ram". - But you wouldn't want to replace Ram with it.

My thoughts exactly.

Just by comparison, the SSD in the PS5 is supposed to be about as fast (well, as much bandwidth) as a single channel DDR2-800 DIMM while the one in the XSX about as fast as a single DIMM of DDR-533. Dual Channel DDR4-3200 already has about ten times the bandwidth over those SSD, the GDDR6 in those consoles more like 100 times as much. These are fest SSD, no doubt about that, but against volatile memory, they're sluggish as hell. 

So if they need to use the SSD as RAM, then whatever it needs to load will get choked to death. It's okay as a temporary Swap file for virtual memory, which like you said has been done practically since the inception of Windows 3.x and EMM386, but as a permanent solution, it's just inadequate.

Last edited by Bofferbrauer2 - on 05 May 2020