Hacker News new | ask | show | jobs
by reliabilityguy 21 hours ago
> Okay then refresh the whole thing and not just a single row whenever TRR is triggered.

How would you refresh the whole DRAM? Refresh is simply reading the row and writing it back, it is sequential in nature.

> Or interleave activations with refreshes. Say, after every 5 activations, refresh the next row in the refresh cycle.

It makes zero sense. Refresh is disturbance in itself. You are entering a recursion here where the mere act of refreshing increases the counter values of victim rows making refresh even more frequent. At the end you have DRAM that you cannot read from or write to at all because it’s always refreshes itself.

> I'm not a DRAM expert

Yes

2 comments

> It makes zero sense. Refresh is disturbance in itself. You are entering a recursion here where the mere act of refreshing increases the counter values of victim rows making refresh even more frequent. At the end you have DRAM that you cannot read from or write to at all because it’s always refreshes itself.

That's not how infinite sequences work.

If each refresh causes 1/n more refreshes, then your total time spend on extras is is 1/(n-1) of your original number.

So even if you had an extreme 5:1 ratio, 100 accesses would cause 20 additional accesses which would cause 4 additional accesses which would cause 1 additional access. It would be fine.

> At the end you have DRAM that you cannot read from or write to at all because it’s always refreshes itself.

Be so kind as to run the math on this for me? There must be something that I'm missing, because it looks like you're describing a system in which a refresh causes so much disturbance that another refresh is immediately required. Such a system seems incapable of reliably storing a byte and reading it back. The colloquial term for such a system is "unreliable garbage".

> you're describing a system in which a refresh causes so much disturbance that another refresh is immediately required.

Well, if you need to refresh a bunch of rows after any other read, you will spend more time refreshing things rather doing useful work.