top | item 37749550

(no title)

arc-in-space | 2 years ago

Trillions of cycles, what? How can that be?

Maybe I'm confusing something, but to reach a trillion cycles in, say, a year, would take overwriting all your memory 30 times a millisecond. That doesn't sound right?

Or is that trillions of any writes and erases?

discuss

order

Cort3z|2 years ago

DDR ram is refreshed every 64ms (varies by DDR generation and specific chips). Branch Education has an excellent video on this named "How does computer memory work?"[1]. It would still take an exceedingly long time to reach a trillion, but it's still pretty frequent.

[1](https://www.youtube.com/watch?v=7J7X7aZvMXQ)

xnorswap|2 years ago

1 trillion * 64ms is over 2000 years, I think it's unlikely that there's any DDR RAM that old.

mastax|2 years ago

Persistent memory doesn't need to be refreshed though so that's irrelevant.

thereddaikon|2 years ago

This type of memory wouldn't need refresh so you can cut out all of those writes.

jepler|2 years ago

If you have to design for pathological workloads, absolutely you can write to a location in main memory 30 times per millisecond.

Lots of non-pathological workloads might write to a memory location every millisecond, such as a game with a 4-pass renderer running at 240Hz.

mattclarkdotnet|2 years ago

Even at 1GHz, a trillion (10^12) writes is only 1000 seconds of work for a modern CPU. OK latency is a thing, so multiply by 10 and it takes a day. This is for DRAM where cells are individually addressed. For flash with wear levelling the numbers of course get bigger.

jandrese|2 years ago

In practice a memory location being written to that heavily will never escape the cache unless you are doing something exceptionally weird.

pezezin|2 years ago

Modern DRAM doesn't address individual cells. For both DDR4 and DDR5 the minimum burst length is 64 bytes, the width of a cache line of most CPUs.

Etherlord87|2 years ago

I started to think about flipping a single bit in some process a million times per frame inside some loop, but that could only be done in cache…

Still if you only changed the state of the memory once per frame, you would do it in RAM, not in cache. At 1000 FPS (we should consider the worst scenario even if rare) that's 3 hours of playing a game to reach 10 800 000 reads/writes.

Now question is what happens if that bit gets damaged, perhaps the memory just disables it as damaged, and uses another bit for this memory address from now on. Perhaps it makes the ultra ram slower over time as more bits (sectors) get damaged?

tus666|2 years ago

Lifetime of microeletronics is often quoted at around 30 years. So that's once a millisecond. For a refresh cycle that does not seem extraordinary.

tromp|2 years ago

I was thinking of overwriting just a few words of memory over and over again, which DRAM can endure for decades.

pmontra|2 years ago

The clock frequency is GHz, which is a trillion cycles per seconds. There is at least one cache layer between the CPU and the RAM but we are in the same ballpark. And yet it's OK for the typical lifetime of our computers.

benjijay|2 years ago

GHz is Billion, not Trillion