Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

All science is either physics or stamp collecting. -- Ernest Rutherford


devel / comp.arch / Re: Rowhammer and CLFLUSH

SubjectAuthor
* AMD Cache speed funnyVir Campestris
+- Re: AMD Cache speed funnyAnton Ertl
+- Re: AMD Cache speed funnyMichael S
+* Re: AMD Cache speed funnyMitchAlsup1
|`- Re: AMD Cache speed funnyMichael S
`* Re: AMD Cache speed funnyTerje Mathisen
 +- Re: AMD Cache speed funnyAnton Ertl
 `* Re: AMD Cache speed funnyMichael S
  +- Re: AMD Cache speed funnyScott Lurndal
  +* Rowhammer and CLFLUSH (was: AMD Cache speed funny)Anton Ertl
  |+* Re: Rowhammer and CLFLUSHMitchAlsup
  ||`* Re: Rowhammer and CLFLUSHEricP
  || `* Re: Rowhammer and CLFLUSHMitchAlsup
  ||  +* Re: Rowhammer and CLFLUSHEricP
  ||  |`- Re: Rowhammer and CLFLUSHEricP
  ||  `- Re: Rowhammer and CLFLUSHEricP
  |+* Re: Rowhammer and CLFLUSH (was: AMD Cache speed funny)Michael S
  ||+* Re: Rowhammer and CLFLUSHMitchAlsup
  |||`* Re: Rowhammer and CLFLUSHEricP
  ||| +* Re: Rowhammer and CLFLUSHThomas Koenig
  ||| |`- Re: Rowhammer and CLFLUSHMitchAlsup
  ||| `* Re: Rowhammer and CLFLUSHAnton Ertl
  |||  +* Re: Rowhammer and CLFLUSHMitchAlsup
  |||  |`* Re: Rowhammer and CLFLUSHAnton Ertl
  |||  | `* Re: Rowhammer and CLFLUSHMitchAlsup
  |||  |  `* Re: Rowhammer and CLFLUSHAnton Ertl
  |||  |   `- Re: Rowhammer and CLFLUSHMitchAlsup1
  |||  +* Re: Rowhammer and CLFLUSHEricP
  |||  |`* Re: Rowhammer and CLFLUSHAnton Ertl
  |||  | `- Re: Rowhammer and CLFLUSHMitchAlsup1
  |||  `* Re: Rowhammer and CLFLUSHMitchAlsup1
  |||   `* Re: Rowhammer and CLFLUSHAnton Ertl
  |||    `* Re: Rowhammer and CLFLUSHEricP
  |||     `* Re: Rowhammer and CLFLUSHMitchAlsup1
  |||      +- Re: Rowhammer and CLFLUSHAnton Ertl
  |||      `* Re: Rowhammer and CLFLUSHEricP
  |||       `* Re: Rowhammer and CLFLUSHMitchAlsup1
  |||        +- Re: Rowhammer and CLFLUSHMichael S
  |||        `* Re: Rowhammer and CLFLUSHMichael S
  |||         +* Re: Rowhammer and CLFLUSHScott Lurndal
  |||         |`- Re: Rowhammer and CLFLUSHMichael S
  |||         `* Re: Rowhammer and CLFLUSHMitchAlsup1
  |||          `* Re: Rowhammer and CLFLUSHMichael S
  |||           `* Re: Rowhammer and CLFLUSHMitchAlsup1
  |||            `* Re: Rowhammer and CLFLUSHMichael S
  |||             +* Re: Rowhammer and CLFLUSHEricP
  |||             |`* Re: Rowhammer and CLFLUSHMichael S
  |||             | `* Re: Rowhammer and CLFLUSHEricP
  |||             |  `* Re: Rowhammer and CLFLUSHMichael S
  |||             |   `- Re: Rowhammer and CLFLUSHEricP
  |||             `* Re: Rowhammer and CLFLUSHEricP
  |||              `- Re: Rowhammer and CLFLUSHMichael S
  ||+- Re: Rowhammer and CLFLUSHEricP
  ||`* Re: Rowhammer and CLFLUSH (was: AMD Cache speed funny)Anton Ertl
  || `- Re: Rowhammer and CLFLUSHMitchAlsup
  |`* Re: Rowhammer and CLFLUSHEricP
  | +- Re: Rowhammer and CLFLUSHMichael S
  | `* Re: Rowhammer and CLFLUSHChris M. Thomasson
  |  `- Re: Rowhammer and CLFLUSHChris M. Thomasson
  `* Re: AMD Cache speed funnyaph
   `* Re: AMD Cache speed funnyMichael S
    `- Re: AMD Cache speed funnyaph

Pages:123
Re: Rowhammer and CLFLUSH

<18e7bcef58033ea7356a464aeaa33d38@www.novabbs.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37188&group=comp.arch#37188

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Fri, 2 Feb 2024 19:34:25 +0000
Organization: novaBBS
Message-ID: <18e7bcef58033ea7356a464aeaa33d38@www.novabbs.com>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <6e4daf9e72082682c2fe92fa3054ccad@www.novabbs.com> <5g9vN.55388$6ePe.50431@fx42.iad>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
logging-data="1461268"; mail-complaints-to="usenet@i2pn2.org";
posting-account="t+lO0yBNO1zGxasPvGSZV1BRu71QKx+JE37DnW+83jQ";
User-Agent: Rocksolid Light
X-Rslight-Site: $2y$10$2zHk76VOCNuc1jlS/8WmyeLtKMB2N51PZ2hgZ68gQSq1DGg1IeNCC
X-Rslight-Posting-User: ebd9cd10a9ebda631fbccab5347a0f771d5a2118
X-Spam-Checker-Version: SpamAssassin 4.0.0
 by: MitchAlsup - Fri, 2 Feb 2024 19:34 UTC

EricP wrote:

> MitchAlsup wrote:
>> Anton Ertl wrote:
>>
>>
>> Rowhammer happens when you beat on the same cache line multiple times
>> {causing a charge sharing problem on the word lines. Every time you cause
>> the DRAM to precharge (deActivate) you lose the count on how many times
>> you have to bang on the same word line to disrupt the stored cells.
>>
>> So, the trick is to detect the RowHammering and insert refresh commands.

> It's not just the immediately physically adjacent rows -
> I think I read that the effect falls off for up to +-3 rows away.

My understanding is that RowHammer has to access the same row multiple times
to disrupt bits in an adjacent row. This sounds like a charge sharing problem.
A long time ago We found a problem with one manufactures SRAM when the same
row was hit >6,000 times, there was enough charge sharing that the adjacent
dynamic word decoder also fired so we had 2 or 3 word lines active at the
same time. We encountered this when a LD missed the cache and was sent down
through NorthBridge, SouthBridge, onto another bus, finally out to the device
and back, while the CPU was continuing to read the ICache every cycle.

My limited understanding of RowPress is that you should not keep the Row open
for more than a page of data transfer (about ¼ of 7.8µs DDR4 limit). My bet is
that this is a leakage issue on the bit line made sensitive by the word line.

> Also it may be data dependent - 0's bleed into adjacent 1's and 1's into 0's.

DRAMs are funny like this. Adjacent bit lines store data differently. Even
bits store 0 as 0 and 1 as 1 while odd cells store 0 as 1 and 1 as 0. They
do this so the sense amplified has a differential to sense, either the even
cell or the odd cell is asserted on the bit line pair and the sense amp then
has a differential to sense. One line goes up a little or down a little while
the other bit line stays where it is.

> And the threshold when it triggers has been changing as drams become more
> dense. In 2014 when this was first encountered it took 139K activations.
> By 2020 that was down to 4.8K.

> So figuring out how much a row has been damaged is complicated,
> and the window for detecting it is getting smaller.

Re: Rowhammer and CLFLUSH

<KWdvN.55392$6ePe.18390@fx42.iad>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37190&group=comp.arch#37190

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.swapon.de!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx42.iad.POSTED!not-for-mail
From: ThatWouldBeTelling@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <6e4daf9e72082682c2fe92fa3054ccad@www.novabbs.com> <5g9vN.55388$6ePe.50431@fx42.iad> <18e7bcef58033ea7356a464aeaa33d38@www.novabbs.com>
In-Reply-To: <18e7bcef58033ea7356a464aeaa33d38@www.novabbs.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 113
Message-ID: <KWdvN.55392$6ePe.18390@fx42.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Fri, 02 Feb 2024 22:22:34 UTC
Date: Fri, 02 Feb 2024 17:20:51 -0500
X-Received-Bytes: 5935
 by: EricP - Fri, 2 Feb 2024 22:20 UTC

MitchAlsup wrote:
> EricP wrote:
>
>> MitchAlsup wrote:
>>> Anton Ertl wrote:
>>>
>>>
>>> Rowhammer happens when you beat on the same cache line multiple times
>>> {causing a charge sharing problem on the word lines. Every time you
>>> cause
>>> the DRAM to precharge (deActivate) you lose the count on how many times
>>> you have to bang on the same word line to disrupt the stored cells.
>>>
>>> So, the trick is to detect the RowHammering and insert refresh commands.
>
>> It's not just the immediately physically adjacent rows -
>> I think I read that the effect falls off for up to +-3 rows away.
>
> My understanding is that RowHammer has to access the same row multiple
> times
> to disrupt bits in an adjacent row. This sounds like a charge sharing
> problem.

Yes, as I understand it charge migration.
I had a nice document on the root cause of Rowhammer but I can't seem to
find it again. This one is a little heavy on the semiconductor physics:

On dram rowhammer and the physics of insecurity, 2020
https://ieeexplore.ieee.org/iel7/16/9385809/09366976.pdf

"Experimental evidence points to two mechanisms for the RH disturb,
namely cell transistor subthreshold leakage and electron injection
into the p-well of the DRAM array from the hammered cell transistors
and their subsequent capture by the storage node (SN) junctions [13].

Regarding the subthreshold leakage, lower cell transistor threshold
voltages have been shown to correlate with higher susceptibility to RH.
This is consistent with crosstalk between the switching aggressor wordline
and the victim wordlines pulling up the latter sufficiently in the
potential to drain away some of the victim cell’s stored charge [14], [15].

Regarding the injected electrons from the hammered cell transistors,
the blame for these has been placed on two different origins.
The first describes a collapsing inversion layer associated with the
hammered cell transistor where a population of electrons is injected
into the p-well as the transistor’s gate turns off [16]. The second
describes electron injection from charge traps near the silicon/gate
dielectric interface of the cell select transistor [13], [17].
Several studies look into techniques for hampering the migration of
these injected electrons."

> A long time ago We found a problem with one manufactures SRAM when the same
> row was hit >6,000 times, there was enough charge sharing that the
> adjacent dynamic word decoder also fired so we had 2 or 3 word lines
> active at the same time. We encountered this when a LD missed the cache
> and was sent down
> through NorthBridge, SouthBridge, onto another bus, finally out to the
> device
> and back, while the CPU was continuing to read the ICache every cycle.

I think of this as aging: each activation ages the rows up to some distance
by amounts depending on the distance due to charge migration.

Originally it was found by activating rows immediately adjacent to the
victim but then they looked and found it further out to +-4 rows.
This effect appears to be called the Rowhammer "blast radius".

This paper is from 2023 but I'm sure I've seen mention of this effect
before but not called blast radius.

BLASTER: Characterizing the Blast Radius of Rowhammer, 2023
https://www.research-collection.ethz.ch/handle/20.500.11850/617284
https://dramsec.ethz.ch/papers/blaster.pdf

"In particular, we show for the first time that BLASTER significantly
reduces the number of necessary activations to the victim-adjacent
aggressors using other aggressor rows that are up to four rows away
from the victim."

> My limited understanding of RowPress is that you should not keep the Row
> open
> for more than a page of data transfer (about ¼ of 7.8µs DDR4 limit). My
> bet is
> that this is a leakage issue on the bit line made sensitive by the word
> line.

Yes, from what I read the factors affecting Rowhammer vulnerability are:

1) DRAM chip temperature, 2) aggressor row active time,
and 3) victim DRAM cell’s physical location.

>> Also it may be data dependent - 0's bleed into adjacent 1's and 1's
>> into 0's.
>
> DRAMs are funny like this. Adjacent bit lines store data differently. Even
> bits store 0 as 0 and 1 as 1 while odd cells store 0 as 1 and 1 as 0. They
> do this so the sense amplified has a differential to sense, either the even
> cell or the odd cell is asserted on the bit line pair and the sense amp
> then
> has a differential to sense. One line goes up a little or down a little
> while
> the other bit line stays where it is.
>
>> And the threshold when it triggers has been changing as drams become more
>> dense. In 2014 when this was first encountered it took 139K activations.
>> By 2020 that was down to 4.8K.
>
>> So figuring out how much a row has been damaged is complicated,
>> and the window for detecting it is getting smaller.

Re: Rowhammer and CLFLUSH

<WQevN.253824$Ama9.81337@fx12.iad>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37192&group=comp.arch#37192

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx12.iad.POSTED!not-for-mail
From: ThatWouldBeTelling@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <6e4daf9e72082682c2fe92fa3054ccad@www.novabbs.com> <5g9vN.55388$6ePe.50431@fx42.iad> <18e7bcef58033ea7356a464aeaa33d38@www.novabbs.com> <KWdvN.55392$6ePe.18390@fx42.iad>
In-Reply-To: <KWdvN.55392$6ePe.18390@fx42.iad>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 45
Message-ID: <WQevN.253824$Ama9.81337@fx12.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Fri, 02 Feb 2024 23:24:38 UTC
Date: Fri, 02 Feb 2024 18:24:10 -0500
X-Received-Bytes: 2921
 by: EricP - Fri, 2 Feb 2024 23:24 UTC

EricP wrote:
> MitchAlsup wrote:
>
>> A long time ago We found a problem with one manufactures SRAM when the
>> same
>> row was hit >6,000 times, there was enough charge sharing that the
>> adjacent dynamic word decoder also fired so we had 2 or 3 word lines
>> active at the same time. We encountered this when a LD missed the cache
>> and was sent down
>> through NorthBridge, SouthBridge, onto another bus, finally out to the
>> device
>> and back, while the CPU was continuing to read the ICache every cycle.
>
> I think of this as aging: each activation ages the rows up to some distance
> by amounts depending on the distance due to charge migration.
>
> Originally it was found by activating rows immediately adjacent to the
> victim but then they looked and found it further out to +-4 rows.
> This effect appears to be called the Rowhammer "blast radius".
>
> This paper is from 2023 but I'm sure I've seen mention of this effect
> before but not called blast radius.
>
> BLASTER: Characterizing the Blast Radius of Rowhammer, 2023
> https://www.research-collection.ethz.ch/handle/20.500.11850/617284
> https://dramsec.ethz.ch/papers/blaster.pdf
>
> "In particular, we show for the first time that BLASTER significantly
> reduces the number of necessary activations to the victim-adjacent
> aggressors using other aggressor rows that are up to four rows away
> from the victim."

To elaborate a bit, as I understand it this means that if a dram
has a blast radius of +-3 and we take 7 rows A B C D E F G,
and assuming the aging factor is linear, then any read or refresh
of row D resets its age to 0 but ages C&E by 3, B&F by 2, A&G by 1.
If any row age total hits 15,000 its data dies.

This is why I thought canary bits might work, because they integrate the
sum of all adjacent activates while taking blast distance into account.
As long as the canary _reliably_ dies at age 12,000 and the data at 15,000
then the dram could transparently refresh the aged-out rows.

Re: Rowhammer and CLFLUSH (was: AMD Cache speed funny)

<2024Feb3.094218@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37193&group=comp.arch#37193

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH (was: AMD Cache speed funny)
Date: Sat, 03 Feb 2024 08:42:18 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 55
Message-ID: <2024Feb3.094218@mips.complang.tuwien.ac.at>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com>
Injection-Info: dont-email.me; posting-host="0de49421a87103dab82bd5d340005276";
logging-data="3234114"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18QbHGHLvS7k+CwS6XgS4En"
Cancel-Lock: sha1:+MqBTjqpRvYBoBGIpTUcu4ETxVA=
X-newsreader: xrn 10.11
 by: Anton Ertl - Sat, 3 Feb 2024 08:42 UTC

Michael S <already5chosen@yahoo.com> writes:
>On Wed, 31 Jan 2024 17:17:21 GMT
>anton@mips.complang.tuwien.ac.at (Anton Ertl) wrote:
>> The first paper on Rowhammer already outlined how the memory
>> controller could count how often adjacent DRAM rows are accessed and
>> thus weaken the row under consideration. This approach needs a little
>> adjustment for Double Rowhammer and not immediately neighbouring rows,
>> but otherwise seems to me to be the way to go.
>
>IMHO, all thise solutions are pure fantasy, because memory controller
>does not even know which rows are physically adjacent. POC authors
>typically run lengthy tests in order to figure it out.

Given that the attackers can find out, it is just a lack of
communication between DRAM manufacturers and memory controller
manufacturers that result in that ignorance. Not a valid excuse.

There is a standardization committee (JEDEC) that documents how
various DRAM types are accessed, refreshed etc. They put information
about that (and about RAM overclocking (XMP, Expo)) in the SPD ROMs of
the DIMMs, so they can also put information about line adjacency
there.

>> With autorefresh in
>> the DRAM devices these days, the DRAM manufacturers could implement
>> this on their own, without needing to coordinate with memory
>> controller designers. But apparently they think that the customers
>> don't care, so they can save the expense.
....
>They cared enough to implement the simplest of proposed solutions - TRR.
>Yes, it was quickly found insufficient, but at least there was a
>demonstration of good intentions.

Yes. However, looking at Table III of
<https://comsec.ethz.ch/wp-content/files/blacksmith_sp22.pdf>, there
seems to be significant differences between manufacturers A and D on
one hand, and B and C on the other, with exploits taking much longer
for B and C, and failing in some cases.

One may wonder if the DRAM manufacturers could have put their
physicists to the task of identifying the conditions under which bit
flips can occur, and identify the refreshes that are at least
necessary to prevent these conditions from occuring. If they have not
done so, or if they have not implemented the resulting recommendations
(or passed them to the memory controller people), a certain amount of
blame rests on them.

Anyway, never mind the blame, looking into the future, I find it
worrying that I did not find any mention of Rowhammer protection in
the specs of DIMMs when I last looked.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Rowhammer and CLFLUSH

<2024Feb3.102814@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37194&group=comp.arch#37194

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Sat, 03 Feb 2024 09:28:14 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 71
Message-ID: <2024Feb3.102814@mips.complang.tuwien.ac.at>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad>
Injection-Info: dont-email.me; posting-host="0de49421a87103dab82bd5d340005276";
logging-data="3246356"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/6gQ2LAXjmeHBj+yz4Mg9a"
Cancel-Lock: sha1:mWtzgxh+dWMF0CmWg0h7Y+gTD6c=
X-newsreader: xrn 10.11
 by: Anton Ertl - Sat, 3 Feb 2024 09:28 UTC

EricP <ThatWouldBeTelling@thevillage.com> writes:
>MitchAlsup wrote:
>> Michael S wrote:
>>
>>> Original RH required very high hammering rate that certainly can't be
>>> achieved by playing with associativity of L3 cache.
>>
>>> Newer multiside hammering probably can do it in theory, but it would be
>>> very difficult in practice.
>>
>> The problem here is the fact that DRAMs do not use linear decoders, so
>> address X and address X+1 do not necessarily shared paired word lines.
>> The word lines could be as far as ½ the block away from each other.
>>
>> The DRAM decoders are faster and smaller when there is a grey-like-code
>> imposed on the logical-address to physical-word-line. This also happens
>> in SRAM decoders. Going back and looking at the most used logical to
>> physical mapping shows that while X and X+1 can (occasionally) be side
>> by side, X, X+1 and X+2 should never be 3 words lines in a row.
>
>A 16 Gb dram with 8kb rows has 2^21 = 2 million rows.
>So having a counter for each row is impractical.

A (say) 16-bit counter for each 8Kb row would be a 0.2% overhead.
Admittedly, if you just update the counter for a specific row and the
refresh all rows in the blast radius when a limit is reached, you
may get many more refreshes than the minimum necessary, but given that
normal programs usually do not hammer specific row ranges, the
additional refreshes may still be relatively few in non-attack
situations (and when being attacked, you prefer lower DRAM performance
to a successful attack).

Alternatively, a kind of cache could be used. Keep counts of N most
recently accessed rows, remove the row on refresh; when accessing a
row that has not been in the cache, evict the entry for the row with
the lowest count C, and set the count of the loaded row to C+1. When
a count (or ensemble of counts) reaches the limit, refresh every row.

This would take much less memory, but require finding the entry with
the lowest count. By dividing the cache into sets, this becomes more
realistic; upon reaching a limit, only the rows in the blast radius of
the lines in a set need to be refreshed.

>I was wondering if each row could have "canary" bit,
>a specially weakened bit that always flips early.
>This would also intrinsically handle the cases of effects
>falling off over the +-3 adjacent rows.
>
>Then a giant 2 million input OR gate would tell us if any row's
>canary had flipped.

Yes, doing it in analog has its charms. However, I see the following
difficulties:

* How do you measure whether a bit has flipped without refreshing it
and thus resetting the canary?

* To flip a bit in one direction, AFAIK the hammering rows have to
have a specific content. I guess with a blast radius of 4 rows on
each side, you could have 4 columns. Each row has a canary in one
of these columns and the three adjacent bits in this column are
attacker bits that have the value that is useful for effecting a bit
flip in a canary. Probably a more refined variant of this idea
would be necessary is necessary to deal with diagonal influence and
the non-uniform encoding of 0 and 1 in the DRAMs discussed somewhere
in this thread.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Rowhammer and CLFLUSH

<4e2451ce97e4d7ad93651c213b17b3f9@www.novabbs.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37195&group=comp.arch#37195

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Sat, 3 Feb 2024 17:10:30 +0000
Organization: novaBBS
Message-ID: <4e2451ce97e4d7ad93651c213b17b3f9@www.novabbs.com>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <2024Feb3.094218@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
logging-data="1561966"; mail-complaints-to="usenet@i2pn2.org";
posting-account="t+lO0yBNO1zGxasPvGSZV1BRu71QKx+JE37DnW+83jQ";
User-Agent: Rocksolid Light
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Posting-User: ebd9cd10a9ebda631fbccab5347a0f771d5a2118
X-Rslight-Site: $2y$10$xReNGV24VtIh1nGfqozP5exL4qYmquiEbDj15v7TXEA6KRLRpcMYW
 by: MitchAlsup - Sat, 3 Feb 2024 17:10 UTC

Anton Ertl wrote:

> Michael S <already5chosen@yahoo.com> writes:
>>On Wed, 31 Jan 2024 17:17:21 GMT
>>anton@mips.complang.tuwien.ac.at (Anton Ertl) wrote:
>>> The first paper on Rowhammer already outlined how the memory
>>> controller could count how often adjacent DRAM rows are accessed and
>>> thus weaken the row under consideration. This approach needs a little
>>> adjustment for Double Rowhammer and not immediately neighbouring rows,
>>> but otherwise seems to me to be the way to go.
>>
>>IMHO, all thise solutions are pure fantasy, because memory controller
>>does not even know which rows are physically adjacent. POC authors
>>typically run lengthy tests in order to figure it out.

> Given that the attackers can find out, it is just a lack of
> communication between DRAM manufacturers and memory controller
> manufacturers that result in that ignorance. Not a valid excuse.

> There is a standardization committee (JEDEC) that documents how
> various DRAM types are accessed, refreshed etc. They put information
> about that (and about RAM overclocking (XMP, Expo)) in the SPD ROMs of
> the DIMMs, so they can also put information about line adjacency
> there.

>>> With autorefresh in
>>> the DRAM devices these days, the DRAM manufacturers could implement
>>> this on their own, without needing to coordinate with memory
>>> controller designers. But apparently they think that the customers
>>> don't care, so they can save the expense.
> ....
>>They cared enough to implement the simplest of proposed solutions - TRR.
>>Yes, it was quickly found insufficient, but at least there was a
>>demonstration of good intentions.

> Yes. However, looking at Table III of
> <https://comsec.ethz.ch/wp-content/files/blacksmith_sp22.pdf>, there
> seems to be significant differences between manufacturers A and D on
> one hand, and B and C on the other, with exploits taking much longer
> for B and C, and failing in some cases.

> One may wonder if the DRAM manufacturers could have put their
> physicists to the task of identifying the conditions under which bit
> flips can occur, and identify the refreshes that are at least
> necessary to prevent these conditions from occuring. If they have not
> done so, or if they have not implemented the resulting recommendations
> (or passed them to the memory controller people), a certain amount of
> blame rests on them.

> Anyway, never mind the blame, looking into the future, I find it
> worrying that I did not find any mention of Rowhammer protection in
> the specs of DIMMs when I last looked.

My information is that they (DRAM mfgs) looked and said they could not
fix a problem that emanated from the DRAM controller.

> - anton

Re: Rowhammer and CLFLUSH

<8uuvN.322303$c3Ea.153615@fx10.iad>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37196&group=comp.arch#37196

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!newsfeed.endofthelinebbs.com!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx10.iad.POSTED!not-for-mail
From: ThatWouldBeTelling@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <6e4daf9e72082682c2fe92fa3054ccad@www.novabbs.com> <5g9vN.55388$6ePe.50431@fx42.iad> <18e7bcef58033ea7356a464aeaa33d38@www.novabbs.com>
In-Reply-To: <18e7bcef58033ea7356a464aeaa33d38@www.novabbs.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 49
Message-ID: <8uuvN.322303$c3Ea.153615@fx10.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Sat, 03 Feb 2024 17:12:36 UTC
Date: Sat, 03 Feb 2024 12:12:03 -0500
X-Received-Bytes: 3016
 by: EricP - Sat, 3 Feb 2024 17:12 UTC

MitchAlsup wrote:
> EricP wrote:
>
>> MitchAlsup wrote:
>>> Anton Ertl wrote:
>>>
>>>
>>> Rowhammer happens when you beat on the same cache line multiple times
>>> {causing a charge sharing problem on the word lines. Every time you
>>> cause
>>> the DRAM to precharge (deActivate) you lose the count on how many times
>>> you have to bang on the same word line to disrupt the stored cells.
>>>
>>> So, the trick is to detect the RowHammering and insert refresh commands.
>
>> It's not just the immediately physically adjacent rows -
>> I think I read that the effect falls off for up to +-3 rows away.
>
> My understanding is that RowHammer has to access the same row multiple
> times
> to disrupt bits in an adjacent row. This sounds like a charge sharing
> problem.
> A long time ago We found a problem with one manufactures SRAM when the same
> row was hit >6,000 times, there was enough charge sharing that the
> adjacent dynamic word decoder also fired so we had 2 or 3 word lines
> active at the same time. We encountered this when a LD missed the cache
> and was sent down
> through NorthBridge, SouthBridge, onto another bus, finally out to the
> device
> and back, while the CPU was continuing to read the ICache every cycle.
>
> My limited understanding of RowPress is that you should not keep the Row
> open
> for more than a page of data transfer (about ¼ of 7.8µs DDR4 limit). My
> bet is
> that this is a leakage issue on the bit line made sensitive by the word
> line.

Ah I see from the RowPress paper that it is different from RowHammer.
RowHammer is based on activation counts and RowPress on activation time.
Previously papers had just said that activation time correlated with
bit flips and I guess everyone just assumed it was the same mechanism.
But the RowPress paper shows it affects different bits from RowHammer.
Also RowPress and RowHammer tend to flip in different directions,
RowHammer flips 0 to 1 and RowPress 1 to 0 (taking the true and anti
cell logic states into account). Possibly one is doing electron injection
and the other hole injection.

Re: Rowhammer and CLFLUSH

<8a4ff7cf6a3d08714bab6300ecd03c5d@www.novabbs.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37197&group=comp.arch#37197

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Sat, 3 Feb 2024 17:13:23 +0000
Organization: novaBBS
Message-ID: <8a4ff7cf6a3d08714bab6300ecd03c5d@www.novabbs.com>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
logging-data="1562410"; mail-complaints-to="usenet@i2pn2.org";
posting-account="t+lO0yBNO1zGxasPvGSZV1BRu71QKx+JE37DnW+83jQ";
User-Agent: Rocksolid Light
X-Rslight-Posting-User: ebd9cd10a9ebda631fbccab5347a0f771d5a2118
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Site: $2y$10$s0hCx3Kb943acNl9d.AbS.iEAdUrizAkkyIw/t2fa4lM61h9X8zoq
 by: MitchAlsup - Sat, 3 Feb 2024 17:13 UTC

Anton Ertl wrote:

>
>>Then a giant 2 million input OR gate would tell us if any row's
>>canary had flipped.

> Yes, doing it in analog has its charms. However, I see the following
> difficulties:

> * How do you measure whether a bit has flipped without refreshing it
> and thus resetting the canary?

You know what its value should be and you raise hell when it is not as
expected. This may require 2 canary bits.

> * To flip a bit in one direction, AFAIK the hammering rows have to
> have a specific content. I guess with a blast radius of 4 rows on
> each side, you could have 4 columns. Each row has a canary in one
> of these columns and the three adjacent bits in this column are
> attacker bits that have the value that is useful for effecting a bit
> flip in a canary. Probably a more refined variant of this idea
> would be necessary is necessary to deal with diagonal influence and
> the non-uniform encoding of 0 and 1 in the DRAMs discussed somewhere
> in this thread.

> - anton

Re: Rowhammer and CLFLUSH

<2024Feb3.184531@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37198&group=comp.arch#37198

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Sat, 03 Feb 2024 17:45:31 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 32
Message-ID: <2024Feb3.184531@mips.complang.tuwien.ac.at>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <8a4ff7cf6a3d08714bab6300ecd03c5d@www.novabbs.com>
Injection-Info: dont-email.me; posting-host="0de49421a87103dab82bd5d340005276";
logging-data="3398431"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+scdjRZBQmYT/m3WW+L9Ne"
Cancel-Lock: sha1:uvZXqhTfqFGaapqpMAt2cAwW5zY=
X-newsreader: xrn 10.11
 by: Anton Ertl - Sat, 3 Feb 2024 17:45 UTC

mitchalsup@aol.com (MitchAlsup) writes:
>Anton Ertl wrote:
>
>>
>>>Then a giant 2 million input OR gate would tell us if any row's
>>>canary had flipped.
>
>> Yes, doing it in analog has its charms. However, I see the following
>> difficulties:
>
>> * How do you measure whether a bit has flipped without refreshing it
>> and thus resetting the canary?
>
>You know what its value should be and you raise hell when it is not as
>expected.

So that is about detecting Rowhammer after the fact. Yes, you could
do that when the row is refreshed. The only problem is that by then
the attacker could have extracted the secret(s) with the
Rowhammer-based attack. Better than nothing, but still not a very
attractive approach.

I prefer a solution that detects that a row might suffer a bit flip
after several more accesses, and refreshes the row befor that happens.
And I don't think that this can be implemented with an analog canary
that works like a DRAM cell; but I am not a solid-state physicist,
maybe there is a way.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Rowhammer and CLFLUSH

<7cfba92e9ca6554a7eabcab9d5890e33@www.novabbs.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37199&group=comp.arch#37199

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!.POSTED!not-for-mail
From: mitchalsup@aol.com (MitchAlsup)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Sat, 3 Feb 2024 19:10:56 +0000
Organization: novaBBS
Message-ID: <7cfba92e9ca6554a7eabcab9d5890e33@www.novabbs.com>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <8a4ff7cf6a3d08714bab6300ecd03c5d@www.novabbs.com> <2024Feb3.184531@mips.complang.tuwien.ac.at>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: i2pn2.org;
logging-data="1572484"; mail-complaints-to="usenet@i2pn2.org";
posting-account="t+lO0yBNO1zGxasPvGSZV1BRu71QKx+JE37DnW+83jQ";
User-Agent: Rocksolid Light
X-Rslight-Site: $2y$10$RXj22x5sI7yA70kVK3mlsuwM3E1KxQkKZYNW5n7x/foGZX2gmT9xu
X-Spam-Checker-Version: SpamAssassin 4.0.0
X-Rslight-Posting-User: ebd9cd10a9ebda631fbccab5347a0f771d5a2118
 by: MitchAlsup - Sat, 3 Feb 2024 19:10 UTC

Anton Ertl wrote:

> mitchalsup@aol.com (MitchAlsup) writes:
>>Anton Ertl wrote:
>>
>>>
>>>>Then a giant 2 million input OR gate would tell us if any row's
>>>>canary had flipped.
>>
>>> Yes, doing it in analog has its charms. However, I see the following
>>> difficulties:
>>
>>> * How do you measure whether a bit has flipped without refreshing it
>>> and thus resetting the canary?
>>
>>You know what its value should be and you raise hell when it is not as
>>expected.

> So that is about detecting Rowhammer after the fact. Yes, you could
> do that when the row is refreshed. The only problem is that by then
> the attacker could have extracted the secret(s) with the
> Rowhammer-based attack. Better than nothing, but still not a very
> attractive approach.

> I prefer a solution that detects that a row might suffer a bit flip
> after several more accesses, and refreshes the row before that happens.
> And I don't think that this can be implemented with an analog canary
> that works like a DRAM cell; but I am not a solid-state physicist,
> maybe there is a way.

Sooner or later, designers will have to come to the realization that
an external DRAM controller can never guarantee everything every DRAM
actually needs to retain data under all conditions, and the DRAMs
are going to have to change the interface such that requests flow
in and results flow out based on the DRAM internal controller--much
like that of a SATA disk drive.

Let us face it, the DDR-6 interface model is based on the 16K-bit
DRAM chips from about 1979: RAS and CAS, it got speed up, pipelined,
double data rated, and each step added address bits to RAS and CAS.

I suspect when this happens, the DRAMs will partition the inbound
address into 3 or 4 sections, and use each section independently
Bank-Row-Column or block-bank-row-column.

In addition each building block will be internally self timed, no
external need to refresh the bank-row, and the only non access
command in the arsenal is power-down and power-up.

You can only put so much lipstick on a pig.

> - anton

Re: Rowhammer and CLFLUSH

<%REvN.325627$c3Ea.205869@fx10.iad>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37200&group=comp.arch#37200

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.niel.me!glou.org!news.glou.org!usenet-fr.net!proxad.net!feeder1-2.proxad.net!news.mixmin.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx10.iad.POSTED!not-for-mail
From: ThatWouldBeTelling@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at>
In-Reply-To: <2024Feb3.102814@mips.complang.tuwien.ac.at>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 96
Message-ID: <%REvN.325627$c3Ea.205869@fx10.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Sun, 04 Feb 2024 05:00:43 UTC
Date: Sun, 04 Feb 2024 00:00:12 -0500
X-Received-Bytes: 5776
 by: EricP - Sun, 4 Feb 2024 05:00 UTC

Anton Ertl wrote:
> EricP <ThatWouldBeTelling@thevillage.com> writes:
>> MitchAlsup wrote:
>>> Michael S wrote:
>>>
>>>> Original RH required very high hammering rate that certainly can't be
>>>> achieved by playing with associativity of L3 cache.
>>>> Newer multiside hammering probably can do it in theory, but it would be
>>>> very difficult in practice.
>>> The problem here is the fact that DRAMs do not use linear decoders, so
>>> address X and address X+1 do not necessarily shared paired word lines.
>>> The word lines could be as far as ½ the block away from each other.
>>>
>>> The DRAM decoders are faster and smaller when there is a grey-like-code
>>> imposed on the logical-address to physical-word-line. This also happens
>>> in SRAM decoders. Going back and looking at the most used logical to
>>> physical mapping shows that while X and X+1 can (occasionally) be side
>>> by side, X, X+1 and X+2 should never be 3 words lines in a row.
>> A 16 Gb dram with 8kb rows has 2^21 = 2 million rows.
>> So having a counter for each row is impractical.
>
> A (say) 16-bit counter for each 8Kb row would be a 0.2% overhead.
> Admittedly, if you just update the counter for a specific row and the
> refresh all rows in the blast radius when a limit is reached, you
> may get many more refreshes than the minimum necessary, but given that
> normal programs usually do not hammer specific row ranges, the
> additional refreshes may still be relatively few in non-attack
> situations (and when being attacked, you prefer lower DRAM performance
> to a successful attack).

They said that the current threshold for causing flips in an immediate
neighbor is 4800 activations, but with a blast radius of +-4 that
can be in any of the 8 neighbors, so your counter threshold will have
to trigger refresh at 1/8 of that level or every 600 activations.

And as the dram features get smaller that threshold number will go down
and probably the blast radius will go up. So this could have scaling
issues in the future.

> Alternatively, a kind of cache could be used. Keep counts of N most
> recently accessed rows, remove the row on refresh; when accessing a
> row that has not been in the cache, evict the entry for the row with
> the lowest count C, and set the count of the loaded row to C+1. When
> a count (or ensemble of counts) reaches the limit, refresh every row.

That would be a CAM or assoc sram and would have to hold a large
number of entries. This would have to be in the memory controller.

> This would take much less memory, but require finding the entry with
> the lowest count. By dividing the cache into sets, this becomes more
> realistic; upon reaching a limit, only the rows in the blast radius of
> the lines in a set need to be refreshed.
>
>> I was wondering if each row could have "canary" bit,
>> a specially weakened bit that always flips early.
>> This would also intrinsically handle the cases of effects
>> falling off over the +-3 adjacent rows.
>>
>> Then a giant 2 million input OR gate would tell us if any row's
>> canary had flipped.
>
> Yes, doing it in analog has its charms. However, I see the following
> difficulties:
>
> * How do you measure whether a bit has flipped without refreshing it
> and thus resetting the canary?

The canary would have to be a little more complicated than a standard
storage cell because it has to compare the cell to the expected value
and then drive an output transistor to pull down a dynamic bit line
for a wired-OR of all the canaries in a bank.
Hopefully that would isolate the canary from its read bit line changes.

Fitting this into a dram row could be a problem.
This would all have the same height as a normal row to fit horizontally
along a dram row so it didn't bugger up the row spacing.

> * To flip a bit in one direction, AFAIK the hammering rows have to
> have a specific content. I guess with a blast radius of 4 rows on
> each side, you could have 4 columns. Each row has a canary in one
> of these columns and the three adjacent bits in this column are
> attacker bits that have the value that is useful for effecting a bit
> flip in a canary. Probably a more refined variant of this idea
> would be necessary is necessary to deal with diagonal influence and
> the non-uniform encoding of 0 and 1 in the DRAMs discussed somewhere
> in this thread.
>
> - anton

Each canary might be 3 cells with alternating patterns,
even row numbers are inited to 010 and odd rows to 101,
positioned in vertical columns. Presumably this would put
the maximum and a predictable stress on the center bit.
Since the expected value for each row is hard wired it is
easy to test if it changes.

Re: Rowhammer and CLFLUSH

<a755990f20904883e4f7367d9e591297@www.novabbs.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37209&group=comp.arch#37209

  copy link   Newsgroups: comp.arch
Date: Sun, 4 Feb 2024 21:12:57 +0000
Subject: Re: Rowhammer and CLFLUSH
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$jBhMPUbhgHKAWbJvWlPDN.lAvKzw6qOpUPZ5dDurVpRJHb9Wlsbqq
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at>
Organization: Rocksolid Light
Message-ID: <a755990f20904883e4f7367d9e591297@www.novabbs.org>
 by: MitchAlsup1 - Sun, 4 Feb 2024 21:12 UTC

Anton Ertl wrote:

> EricP <ThatWouldBeTelling@thevillage.com> writes:
>>MitchAlsup wrote:
>>> Michael S wrote:
>>>
>>>> Original RH required very high hammering rate that certainly can't be
>>>> achieved by playing with associativity of L3 cache.
>>>
>>>> Newer multiside hammering probably can do it in theory, but it would be
>>>> very difficult in practice.
>>>
>>> The problem here is the fact that DRAMs do not use linear decoders, so
>>> address X and address X+1 do not necessarily shared paired word lines.
>>> The word lines could be as far as ½ the block away from each other.
>>>
>>> The DRAM decoders are faster and smaller when there is a grey-like-code
>>> imposed on the logical-address to physical-word-line. This also happens
>>> in SRAM decoders. Going back and looking at the most used logical to
>>> physical mapping shows that while X and X+1 can (occasionally) be side
>>> by side, X, X+1 and X+2 should never be 3 words lines in a row.
>>
>>A 16 Gb dram with 8kb rows has 2^21 = 2 million rows.
>>So having a counter for each row is impractical.

> A (say) 16-bit counter for each 8Kb row would be a 0.2% overhead.

You are comparing a 16-bit incrementor and its associated flip-flop
with a single transistor divided by the number of them in a word. My
guess is that you are off by 20× (should be close to 4%)

Re: Rowhammer and CLFLUSH

<2024Feb5.100834@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37217&group=comp.arch#37217

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Mon, 05 Feb 2024 09:08:34 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 44
Message-ID: <2024Feb5.100834@mips.complang.tuwien.ac.at>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <a755990f20904883e4f7367d9e591297@www.novabbs.org>
Injection-Info: dont-email.me; posting-host="21e8e08af84274a3b4770214f7c13a8a";
logging-data="258614"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+u6HRPaSeMxlGnPhGoE4TO"
Cancel-Lock: sha1:ifPNzgiC1rNakrbNAMm8jYDqV8Y=
X-newsreader: xrn 10.11
 by: Anton Ertl - Mon, 5 Feb 2024 09:08 UTC

mitchalsup@aol.com (MitchAlsup1) writes:
>Anton Ertl wrote:
>
>> EricP <ThatWouldBeTelling@thevillage.com> writes:
>>>A 16 Gb dram with 8kb rows has 2^21 = 2 million rows.
>>>So having a counter for each row is impractical.
>
>> A (say) 16-bit counter for each 8Kb row would be a 0.2% overhead.
>
>You are comparing a 16-bit incrementor and its associated flip-flop
>with a single transistor divided by the number of them in a word.

I was thinking about counting each access only when the cache line is
accessed. Then there needs to be only one incrementor per bank, and
the counter can be stored in DRAM like the payload data.

But thinking about it again, I wonder how counters would be reset.
Maybe, when the counter reaches the limit, all lines in its blast
radius are refereshed, and the counter of the present line is reset to
0.

Another disadvantage would be that we have to make decisions about
possible rowhammering only based on one counter, and have to trigger
refreshes of all lines in the blast radius based on worst-case
scenarios (i.e., assuming that other rows in the blast radius have any
count up to the limit).

Both disadvantages lead to far more refreshes than necessary to
prevent Rowhammer, but that approach may still be good enough.

Alternatively, if you want to invest more, one could follow your idea
and have counter SRAM (maybe including counting circuitry) for each
row; each refresh of a line would increment the counters in the blast
radius by an appropriate amount, and when a counter reaches its limit,
it would trigger a refresh of that row.

>My guess is that you are off by 20× (should be close to 4%)

Even 4% is not "impractical".

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Rowhammer and CLFLUSH

<2024Feb5.103521@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37219&group=comp.arch#37219

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.swapon.de!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Mon, 05 Feb 2024 09:35:21 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 55
Message-ID: <2024Feb5.103521@mips.complang.tuwien.ac.at>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <%REvN.325627$c3Ea.205869@fx10.iad>
Injection-Info: dont-email.me; posting-host="21e8e08af84274a3b4770214f7c13a8a";
logging-data="262991"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/R6DqQLT1y7O/exiB2DuK6"
Cancel-Lock: sha1:oHvRTCuA4RRsdBMasmzeLZ7tZOM=
X-newsreader: xrn 10.11
 by: Anton Ertl - Mon, 5 Feb 2024 09:35 UTC

EricP <ThatWouldBeTelling@thevillage.com> writes:
>Anton Ertl wrote:
>> A (say) 16-bit counter for each 8Kb row would be a 0.2% overhead.
>> Admittedly, if you just update the counter for a specific row and the
>> refresh all rows in the blast radius when a limit is reached, you
>> may get many more refreshes than the minimum necessary, but given that
>> normal programs usually do not hammer specific row ranges, the
>> additional refreshes may still be relatively few in non-attack
>> situations (and when being attacked, you prefer lower DRAM performance
>> to a successful attack).
>
>They said that the current threshold for causing flips in an immediate
>neighbor is 4800 activations, but with a blast radius of +-4 that
>can be in any of the 8 neighbors, so your counter threshold will have
>to trigger refresh at 1/8 of that level or every 600 activations.

So only 10 bits of counter are necessary, reducing the overhead to
0.125%:-).

>And as the dram features get smaller that threshold number will go down
>and probably the blast radius will go up. So this could have scaling
>issues in the future.

Yes.

>> Alternatively, a kind of cache could be used. Keep counts of N most
>> recently accessed rows, remove the row on refresh; when accessing a
>> row that has not been in the cache, evict the entry for the row with
>> the lowest count C, and set the count of the loaded row to C+1. When
>> a count (or ensemble of counts) reaches the limit, refresh every row.
>
>That would be a CAM or assoc sram and would have to hold a large
>number of entries. This would have to be in the memory controller.

Possibly. Recent DRAMs also support self-refresh (to allow powering
down the connection to the memory controller); this kind of stuff
could also be on the DRAM device, avoiding all the problems that
memory controllers have with knowing the characteristics of the DRAM
device.

>> * How do you measure whether a bit has flipped without refreshing it
>> and thus resetting the canary?
>
>The canary would have to be a little more complicated than a standard
>storage cell because it has to compare the cell to the expected value

Maybe capacitative coupling (as used for flash AFAIK) could be used to
measure the contents of the canary without discharging it. There
still would be tunneling, as in Rowhammer itself, but I guess one
could account for that.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Rowhammer and CLFLUSH

<2024Feb5.104852@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37220&group=comp.arch#37220

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Mon, 05 Feb 2024 09:48:52 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 42
Message-ID: <2024Feb5.104852@mips.complang.tuwien.ac.at>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <8a4ff7cf6a3d08714bab6300ecd03c5d@www.novabbs.com> <2024Feb3.184531@mips.complang.tuwien.ac.at> <7cfba92e9ca6554a7eabcab9d5890e33@www.novabbs.com>
Injection-Info: dont-email.me; posting-host="21e8e08af84274a3b4770214f7c13a8a";
logging-data="266323"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18cai7sEOQkZJo5A/7bOWkA"
Cancel-Lock: sha1:vNXVaBFb+O8w14JzmTvWbZJc/DM=
X-newsreader: xrn 10.11
 by: Anton Ertl - Mon, 5 Feb 2024 09:48 UTC

mitchalsup@aol.com (MitchAlsup) writes:
>Sooner or later, designers will have to come to the realization that
>an external DRAM controller can never guarantee everything every DRAM
>actually needs to retain data under all conditions, and the DRAMs
>are going to have to change the interface such that requests flow
>in and results flow out based on the DRAM internal controller--much
>like that of a SATA disk drive.
>
>Let us face it, the DDR-6 interface model is based on the 16K-bit
>DRAM chips from about 1979: RAS and CAS, it got speed up, pipelined,
>double data rated, and each step added address bits to RAS and CAS.

I don't know about DDR6, but the DDR5 command interface is
significantly more complex
<https://en.wikipedia.org/wiki/DDR5#Command_encoding> than early
asynchronous DRAM.

>I suspect when this happens, the DRAMs will partition the inbound
>address into 3 or 4 sections, and use each section independently
>Bank-Row-Column or block-bank-row-column.

Looking at the commands from the link above, Activate already
transfers the row in two pieces, and the read and write are also
transferred in two pieces.

>In addition each building block will be internally self timed, no
>external need to refresh the bank-row, and the only non access
>command in the arsenal is power-down and power-up.

Self-refresh is already there, but AFAIK only used when processing is
suspended.

However, there are many commands, many more than in the 16kx1 DRAMs of
old. What would make them go in the direction of simplifying the
interface? The hardest part these days seems to be getting the high
transfer rates to work, the rest of the interface is probably
comparatively easy.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Rowhammer and CLFLUSH

<e7b060130bccc6b0391d3703b9042f2b@www.novabbs.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37234&group=comp.arch#37234

  copy link   Newsgroups: comp.arch
Date: Mon, 5 Feb 2024 22:30:19 +0000
Subject: Re: Rowhammer and CLFLUSH
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$zL/3OCdcHgOR4bFtuRVhButY92halNeYfDTQeA.RMQfyuYaMc87zm
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <8a4ff7cf6a3d08714bab6300ecd03c5d@www.novabbs.com> <2024Feb3.184531@mips.complang.tuwien.ac.at> <7cfba92e9ca6554a7eabcab9d5890e33@www.novabbs.com> <2024Feb5.104852@mips.complang.tuwien.ac.at>
Organization: Rocksolid Light
Message-ID: <e7b060130bccc6b0391d3703b9042f2b@www.novabbs.org>
 by: MitchAlsup1 - Mon, 5 Feb 2024 22:30 UTC

Anton Ertl wrote:

> mitchalsup@aol.com (MitchAlsup) writes:
>>Sooner or later, designers will have to come to the realization that
>>an external DRAM controller can never guarantee everything every DRAM
>>actually needs to retain data under all conditions, and the DRAMs
>>are going to have to change the interface such that requests flow
>>in and results flow out based on the DRAM internal controller--much
>>like that of a SATA disk drive.
>>
>>Let us face it, the DDR-6 interface model is based on the 16K-bit
>>DRAM chips from about 1979: RAS and CAS, it got speed up, pipelined,
>>double data rated, and each step added address bits to RAS and CAS.

> I don't know about DDR6, but the DDR5 command interface is
> significantly more complex
> <https://en.wikipedia.org/wiki/DDR5#Command_encoding> than early
> asynchronous DRAM.

>>I suspect when this happens, the DRAMs will partition the inbound
>>address into 3 or 4 sections, and use each section independently
>>Bank-Row-Column or block-bank-row-column.

> Looking at the commands from the link above, Activate already
> transfers the row in two pieces, and the read and write are also
> transferred in two pieces.

>>In addition each building block will be internally self timed, no
>>external need to refresh the bank-row, and the only non access
>>command in the arsenal is power-down and power-up.

> Self-refresh is already there, but AFAIK only used when processing is
> suspended.

My DRAM controller (AMD Opteron rev G) used ACTivate commands instead of
refresh commands to refresh rows in DDR2 DRAM. The timings were better.
It just did not come back and ask for data from the RASed row.

> However, there are many commands, many more than in the 16kx1 DRAMs of
> old. What would make them go in the direction of simplifying the
> interface?

Pins that are less expensive.
> The hardest part these days seems to be getting the high
> transfer rates to work, the rest of the interface is probably
> comparatively easy.

This is from DDR4 and onward where one has to control drive strength
and clock edge offsets (with a DLL) to transfer data that fast.

> - anton

Re: Rowhammer and CLFLUSH

<7IxwN.335993$c3Ea.213635@fx10.iad>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37242&group=comp.arch#37242

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.swapon.de!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx10.iad.POSTED!not-for-mail
From: ThatWouldBeTelling@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <a755990f20904883e4f7367d9e591297@www.novabbs.org> <2024Feb5.100834@mips.complang.tuwien.ac.at>
In-Reply-To: <2024Feb5.100834@mips.complang.tuwien.ac.at>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 72
Message-ID: <7IxwN.335993$c3Ea.213635@fx10.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Tue, 06 Feb 2024 21:41:23 UTC
Date: Tue, 06 Feb 2024 16:41:00 -0500
X-Received-Bytes: 4147
 by: EricP - Tue, 6 Feb 2024 21:41 UTC

Anton Ertl wrote:
> mitchalsup@aol.com (MitchAlsup1) writes:
>> Anton Ertl wrote:
>>
>>> EricP <ThatWouldBeTelling@thevillage.com> writes:
>>>> A 16 Gb dram with 8kb rows has 2^21 = 2 million rows.
>>>> So having a counter for each row is impractical.
>>> A (say) 16-bit counter for each 8Kb row would be a 0.2% overhead.
>> You are comparing a 16-bit incrementor and its associated flip-flop
>> with a single transistor divided by the number of them in a word.
>
> I was thinking about counting each access only when the cache line is
> accessed. Then there needs to be only one incrementor per bank, and
> the counter can be stored in DRAM like the payload data.

Dram row reads are destructive so a single row activate command
internally has three cycles: read, sense and redrive, restore.

The counter could be stored in the dram cells and the
N-bit incrementer integrated into the bit line sense amp latches,
such that when the activate command does its restore cycle
it writes back the incremented counter.
The incremented counter would also be available in the row buffer.

Since the next precharge can't happen for 40-50 ns we have some
time to decide what to do next.

> But thinking about it again, I wonder how counters would be reset.
> Maybe, when the counter reaches the limit, all lines in its blast
> radius are refereshed, and the counter of the present line is reset to
> 0.

On a row read if the counter hits its threshold limit the restore
cycle writes back a count of 0, otherwise the incremented counter.

The problem is with the +-4 blast radius refreshes. Each of those refreshes
ages its neighbors which we need to track, so we can't reset those counters.
This could cause a write amplification where each refresh repeatedly
triggers 4 more refreshes.

It is possible to use the counter as a state machine.
Something like...
1) For normal, periodic refreshes set count to some initial value.
2) For reads increment count and if carry-out then reset to initial value
and schedule immediate blast refresh of +-4 neighbor rows.
3) For blast row refresh increment count but don't check for overflow.
If there is a count overflow it gets detected on its next row read.

> Another disadvantage would be that we have to make decisions about
> possible rowhammering only based on one counter, and have to trigger
> refreshes of all lines in the blast radius based on worst-case
> scenarios (i.e., assuming that other rows in the blast radius have any
> count up to the limit).

Yes, unless there is a way to infer the total counts for the neighbors.
Bloom filter?
But see below.

> Both disadvantages lead to far more refreshes than necessary to
> prevent Rowhammer, but that approach may still be good enough.

Lets see how bad this is.

The single line threshold of 4800 and blast radius of 8 = 600 trigger count.
That triggers an extra 8 row refreshes, so 8/600 = 1.3% overhead.
And the whole dram is refreshed every 64 ms reseting all the counters
so the counts are not cumulative.

That overhead is only going to grow as dram density increases.

Re: Rowhammer and CLFLUSH

<50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37280&group=comp.arch#37280

  copy link   Newsgroups: comp.arch
Date: Sat, 10 Feb 2024 23:20:17 +0000
Subject: Re: Rowhammer and CLFLUSH
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$H3k9iTdtK2Pjgq0zAXhCTuNug.JvFDMTUKo8BRpg/lDNgCm/pPsA.
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <a755990f20904883e4f7367d9e591297@www.novabbs.org> <2024Feb5.100834@mips.complang.tuwien.ac.at> <7IxwN.335993$c3Ea.213635@fx10.iad>
Organization: Rocksolid Light
Message-ID: <50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org>
 by: MitchAlsup1 - Sat, 10 Feb 2024 23:20 UTC

EricP wrote:

> Anton Ertl wrote:
>> mitchalsup@aol.com (MitchAlsup1) writes:
>>> Anton Ertl wrote:

>> Both disadvantages lead to far more refreshes than necessary to
>> prevent Rowhammer, but that approach may still be good enough.

Would you rather have a few more refreshes or a few more ECC repairs ?!?
with the potential for a few ECC repair fails ?!!?

> Lets see how bad this is.

> The single line threshold of 4800 and blast radius of 8 = 600 trigger count.
> That triggers an extra 8 row refreshes, so 8/600 = 1.3% overhead.
> And the whole dram is refreshed every 64 ms reseting all the counters
> so the counts are not cumulative.

I think what RowPress tells us that waiting 60± ms and then refreshing every row
is worse for data retention than spreading the refreshes out over the 64ms max
interval rather evenly.

> That overhead is only going to grow as dram density increases.

So are all the attack vectors.

Re: Rowhammer and CLFLUSH

<3102bfa0ca138ea55724b2b52cfe7ec3@www.novabbs.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37281&group=comp.arch#37281

  copy link   Newsgroups: comp.arch
Date: Sat, 10 Feb 2024 23:24:18 +0000
Subject: Re: Rowhammer and CLFLUSH
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$VXkQDzjEqzUjfhxtHJd6TuOzMOmTvDdQdpRSyIgg7ChwwUiIdLrW2
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <%REvN.325627$c3Ea.205869@fx10.iad> <2024Feb5.103521@mips.complang.tuwien.ac.at>
Organization: Rocksolid Light
Message-ID: <3102bfa0ca138ea55724b2b52cfe7ec3@www.novabbs.org>
 by: MitchAlsup1 - Sat, 10 Feb 2024 23:24 UTC

Anton Ertl wrote:

> EricP <ThatWouldBeTelling@thevillage.com> writes:
>>Anton Ertl wrote:
>>> A (say) 16-bit counter for each 8Kb row would be a 0.2% overhead.
>>> Admittedly, if you just update the counter for a specific row and the
>>> refresh all rows in the blast radius when a limit is reached, you
>>> may get many more refreshes than the minimum necessary, but given that
>>> normal programs usually do not hammer specific row ranges, the
>>> additional refreshes may still be relatively few in non-attack
>>> situations (and when being attacked, you prefer lower DRAM performance
>>> to a successful attack).
>>
>>They said that the current threshold for causing flips in an immediate
>>neighbor is 4800 activations, but with a blast radius of +-4 that
>>can be in any of the 8 neighbors, so your counter threshold will have
>>to trigger refresh at 1/8 of that level or every 600 activations.

> So only 10 bits of counter are necessary, reducing the overhead to
> 0.125%:-).

>>And as the dram features get smaller that threshold number will go down
>>and probably the blast radius will go up. So this could have scaling
>>issues in the future.

> Yes.

If the DRAM manufactures placed a Faraday shield over the DRAM arrays
{A gound plane} the blast radius goes from a linear charge sharing issue
to a quadratic charge sharing issue. Such a ground plane is a layer of
metal with a single <never changing> voltage on it. This might change the
blast radius from 8 to 2.

{{We did this kind of things for SRAM so we could run large signal count
busses over the SRAM arrays.}}

> - anton

Re: Rowhammer and CLFLUSH

<2024Feb11.142050@mips.complang.tuwien.ac.at>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37286&group=comp.arch#37286

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.network!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: anton@mips.complang.tuwien.ac.at (Anton Ertl)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Sun, 11 Feb 2024 13:20:50 GMT
Organization: Institut fuer Computersprachen, Technische Universitaet Wien
Lines: 27
Message-ID: <2024Feb11.142050@mips.complang.tuwien.ac.at>
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <a755990f20904883e4f7367d9e591297@www.novabbs.org> <2024Feb5.100834@mips.complang.tuwien.ac.at> <7IxwN.335993$c3Ea.213635@fx10.iad> <50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org>
Injection-Info: dont-email.me; posting-host="46d3e5fb6caa810ffd50ec22ea5731f5";
logging-data="1049713"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18HJInx5bGmP5+RyTrRyqgr"
Cancel-Lock: sha1:OsYrPnLiNmAHEGTIxOVrvlDNo9w=
X-newsreader: xrn 10.11
 by: Anton Ertl - Sun, 11 Feb 2024 13:20 UTC

mitchalsup@aol.com (MitchAlsup1) writes:
>EricP wrote:
>
>> Anton Ertl wrote:
>>> mitchalsup@aol.com (MitchAlsup1) writes:
>>>> Anton Ertl wrote:
>
>>> Both disadvantages lead to far more refreshes than necessary to
>>> prevent Rowhammer, but that approach may still be good enough.
>
>Would you rather have a few more refreshes or a few more ECC repairs ?!?
>with the potential for a few ECC repair fails ?!!?

That's not the issue at hand here. The issue at hand here is whether
the relatively cheap mechanism I described has an acceptable number of
additional refreshes during normal operation, or whether a more
expensive (in terms of area) mechanism is needed to fix Rowhammer.

Concerning ECC, many computers do not have ECC memory, and for those
that have it, ECC does not reliably fix Rowhammer; if it did, the fix
would be simple: Use ECC, which is a good idea anyway, even if it
costs 25% more chips in case of DDR5 DIMMs.

- anton
--
'Anyone trying for "industrial quality" ISA should avoid undefined behavior.'
Mitch Alsup, <c17fcd89-f024-40e7-a594-88a85ac10d20o@googlegroups.com>

Re: Rowhammer and CLFLUSH

<lZ5yN.320259$PuZ9.135552@fx11.iad>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37290&group=comp.arch#37290

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!panix!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer02.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx11.iad.POSTED!not-for-mail
From: ThatWouldBeTelling@thevillage.com (EricP)
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <a755990f20904883e4f7367d9e591297@www.novabbs.org> <2024Feb5.100834@mips.complang.tuwien.ac.at> <7IxwN.335993$c3Ea.213635@fx10.iad> <50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org>
In-Reply-To: <50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Lines: 41
Message-ID: <lZ5yN.320259$PuZ9.135552@fx11.iad>
X-Complaints-To: abuse@UsenetServer.com
NNTP-Posting-Date: Sun, 11 Feb 2024 15:46:25 UTC
Date: Sun, 11 Feb 2024 10:46:02 -0500
X-Received-Bytes: 2471
 by: EricP - Sun, 11 Feb 2024 15:46 UTC

MitchAlsup1 wrote:
> EricP wrote:
>
>> Anton Ertl wrote:
>>> mitchalsup@aol.com (MitchAlsup1) writes:
>>>> Anton Ertl wrote:
>
>>> Both disadvantages lead to far more refreshes than necessary to
>>> prevent Rowhammer, but that approach may still be good enough.
>
> Would you rather have a few more refreshes or a few more ECC repairs ?!?
> with the potential for a few ECC repair fails ?!!?

I believe Rowhammer and RowPress can flip many bits at once.
Too many for SECDED.

>> Lets see how bad this is.
>
>> The single line threshold of 4800 and blast radius of 8 = 600 trigger
>> count.
>> That triggers an extra 8 row refreshes, so 8/600 = 1.3% overhead.
>> And the whole dram is refreshed every 64 ms reseting all the counters
>> so the counts are not cumulative.
>
> I think what RowPress tells us that waiting 60± ms and then refreshing
> every row
> is worse for data retention than spreading the refreshes out over the
> 64ms max
> interval rather evenly.

Would any memory controller that would do that,
refresh the whole dram in one big burst instead of periodically by row?
I would expect doing so would introduce big stalls into memory access.

64 ms / 8192 rows per block = 7.8125 us row interval.
Lets say 50 ns row refresh time.
So thats either 50 ns every 7.8 us
verses 8192*50 ns = 409.6 us memory stall every 64 ms.

Re: Rowhammer and CLFLUSH

<0a7994efbe0cc0881d3b2a5ca6a7bc96@www.novabbs.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37295&group=comp.arch#37295

  copy link   Newsgroups: comp.arch
Date: Sun, 11 Feb 2024 19:57:34 +0000
Subject: Re: Rowhammer and CLFLUSH
From: mitchalsup@aol.com (MitchAlsup1)
Newsgroups: comp.arch
X-Rslight-Site: $2y$10$O2v.mRk3UJWFNT4MXJvAG.vjpl2RxW2OfhDEwznE7SmZkWjd06k3q
X-Rslight-Posting-User: ac58ceb75ea22753186dae54d967fed894c3dce8
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
User-Agent: Rocksolid Light
References: <upb8i3$12emv$1@dont-email.me> <upcr4t$1drbk$1@dont-email.me> <20240131131353.0000688c@yahoo.com> <2024Jan31.181721@mips.complang.tuwien.ac.at> <20240131224915.000063d9@yahoo.com> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <a755990f20904883e4f7367d9e591297@www.novabbs.org> <2024Feb5.100834@mips.complang.tuwien.ac.at> <7IxwN.335993$c3Ea.213635@fx10.iad> <50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org> <lZ5yN.320259$PuZ9.135552@fx11.iad>
Organization: Rocksolid Light
Message-ID: <0a7994efbe0cc0881d3b2a5ca6a7bc96@www.novabbs.org>
 by: MitchAlsup1 - Sun, 11 Feb 2024 19:57 UTC

EricP wrote:

> MitchAlsup1 wrote:
>> EricP wrote:
>>
>>> Anton Ertl wrote:
>>>> mitchalsup@aol.com (MitchAlsup1) writes:
>>>>> Anton Ertl wrote:
>>
>>>> Both disadvantages lead to far more refreshes than necessary to
>>>> prevent Rowhammer, but that approach may still be good enough.
>>
>> Would you rather have a few more refreshes or a few more ECC repairs ?!?
>> with the potential for a few ECC repair fails ?!!?

> I believe Rowhammer and RowPress can flip many bits at once.
> Too many for SECDED.

>>> Lets see how bad this is.
>>
>>> The single line threshold of 4800 and blast radius of 8 = 600 trigger
>>> count.
>>> That triggers an extra 8 row refreshes, so 8/600 = 1.3% overhead.
>>> And the whole dram is refreshed every 64 ms reseting all the counters
>>> so the counts are not cumulative.
>>
>> I think what RowPress tells us that waiting 60± ms and then refreshing
>> every row
>> is worse for data retention than spreading the refreshes out over the
>> 64ms max
>> interval rather evenly.

> Would any memory controller that would do that,
> refresh the whole dram in one big burst instead of periodically by row?
> I would expect doing so would introduce big stalls into memory access.

> 64 ms / 8192 rows per block = 7.8125 us row interval.

My DRAM controller (Opteron RevF) had a timer set about 7µs and if the
back was active it would allow REF to slip. But on a second timer event
it would interrupt data transfer and induce 2 refreshes to catch up. In
general, this worked well as it almost never happened.

> Lets say 50 ns row refresh time.
> So thats either 50 ns every 7.8 us

A DDR5 at 6GBits/s transmits a 4096 byte page in 5µs.

When one changes page boundaries the HoB address bits are essentially
randomized by the TLB:: why not just close the row at that point ?

> verses 8192*50 ns = 409.6 us memory stall every 64 ms.

Re: Rowhammer and CLFLUSH

<20240212171426.00004318@yahoo.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37299&group=comp.arch#37299

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!news.hispagatos.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: already5chosen@yahoo.com (Michael S)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Mon, 12 Feb 2024 17:14:26 +0200
Organization: A noiseless patient Spider
Lines: 58
Message-ID: <20240212171426.00004318@yahoo.com>
References: <upb8i3$12emv$1@dont-email.me>
<upcr4t$1drbk$1@dont-email.me>
<20240131131353.0000688c@yahoo.com>
<2024Jan31.181721@mips.complang.tuwien.ac.at>
<20240131224915.000063d9@yahoo.com>
<aba96427866214c1b2981a75ecc45db7@www.novabbs.com>
<br9vN.95150$STLe.2753@fx34.iad>
<2024Feb3.102814@mips.complang.tuwien.ac.at>
<a755990f20904883e4f7367d9e591297@www.novabbs.org>
<2024Feb5.100834@mips.complang.tuwien.ac.at>
<7IxwN.335993$c3Ea.213635@fx10.iad>
<50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org>
<lZ5yN.320259$PuZ9.135552@fx11.iad>
<0a7994efbe0cc0881d3b2a5ca6a7bc96@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Injection-Info: dont-email.me; posting-host="e0893a7d17be8b104c57dff72475bddd";
logging-data="1660758"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19LOsma+aUbdfqa1tZH9EU/k/lCJ4mQ/V8="
Cancel-Lock: sha1:Ev3ki5YxB2jWhvH7yLNN3u/z25c=
X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32)
 by: Michael S - Mon, 12 Feb 2024 15:14 UTC

On Sun, 11 Feb 2024 19:57:34 +0000
mitchalsup@aol.com (MitchAlsup1) wrote:

> EricP wrote:
>
> > MitchAlsup1 wrote:
> >> EricP wrote:
> >>
> >>> Anton Ertl wrote:
> >>>> mitchalsup@aol.com (MitchAlsup1) writes:
> >>>>> Anton Ertl wrote:
> >>
> >>>> Both disadvantages lead to far more refreshes than necessary to
> >>>> prevent Rowhammer, but that approach may still be good enough.
> >>
> >> Would you rather have a few more refreshes or a few more ECC
> >> repairs ?!? with the potential for a few ECC repair fails ?!!?
>
> > I believe Rowhammer and RowPress can flip many bits at once.
> > Too many for SECDED.
>
> >>> Lets see how bad this is.
> >>
> >>> The single line threshold of 4800 and blast radius of 8 = 600
> >>> trigger count.
> >>> That triggers an extra 8 row refreshes, so 8/600 = 1.3% overhead.
> >>> And the whole dram is refreshed every 64 ms reseting all the
> >>> counters so the counts are not cumulative.
> >>
> >> I think what RowPress tells us that waiting 60± ms and then
> >> refreshing every row
> >> is worse for data retention than spreading the refreshes out over
> >> the 64ms max
> >> interval rather evenly.
>
> > Would any memory controller that would do that,
> > refresh the whole dram in one big burst instead of periodically by
> > row? I would expect doing so would introduce big stalls into memory
> > access.
>
> > 64 ms / 8192 rows per block = 7.8125 us row interval.
>
> My DRAM controller (Opteron RevF) had a timer set about 7µs and if the
> back was active it would allow REF to slip. But on a second timer
> event it would interrupt data transfer and induce 2 refreshes to
> catch up. In general, this worked well as it almost never happened.
>
> > Lets say 50 ns row refresh time.
> > So thats either 50 ns every 7.8 us
>
> A DDR5 at 6GBits/s transmits a 4096 byte page in 5µs.
>
> When one changes page boundaries the HoB address bits are essentially
> randomized by the TLB:: why not just close the row at that point ?
>
> > verses 8192*50 ns = 409.6 us memory stall every 64 ms.

Re: Rowhammer and CLFLUSH

<20240212172759.00003683@yahoo.com>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37300&group=comp.arch#37300

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!nntp.comgw.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: already5chosen@yahoo.com (Michael S)
Newsgroups: comp.arch
Subject: Re: Rowhammer and CLFLUSH
Date: Mon, 12 Feb 2024 17:27:59 +0200
Organization: A noiseless patient Spider
Lines: 68
Message-ID: <20240212172759.00003683@yahoo.com>
References: <upb8i3$12emv$1@dont-email.me>
<upcr4t$1drbk$1@dont-email.me>
<20240131131353.0000688c@yahoo.com>
<2024Jan31.181721@mips.complang.tuwien.ac.at>
<20240131224915.000063d9@yahoo.com>
<aba96427866214c1b2981a75ecc45db7@www.novabbs.com>
<br9vN.95150$STLe.2753@fx34.iad>
<2024Feb3.102814@mips.complang.tuwien.ac.at>
<a755990f20904883e4f7367d9e591297@www.novabbs.org>
<2024Feb5.100834@mips.complang.tuwien.ac.at>
<7IxwN.335993$c3Ea.213635@fx10.iad>
<50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org>
<lZ5yN.320259$PuZ9.135552@fx11.iad>
<0a7994efbe0cc0881d3b2a5ca6a7bc96@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Injection-Info: dont-email.me; posting-host="e0893a7d17be8b104c57dff72475bddd";
logging-data="1660758"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Xrp3KdHoCvT9vbr5qUde38G2ollqfp2E="
Cancel-Lock: sha1:POkBPXodv8cfdJlPgkRDms5mF1w=
X-Newsreader: Claws Mail 3.19.1 (GTK+ 2.24.33; x86_64-w64-mingw32)
 by: Michael S - Mon, 12 Feb 2024 15:27 UTC

On Sun, 11 Feb 2024 19:57:34 +0000
mitchalsup@aol.com (MitchAlsup1) wrote:

> EricP wrote:
>
> > MitchAlsup1 wrote:
> >> EricP wrote:
> >>
> >>> Anton Ertl wrote:
> >>>> mitchalsup@aol.com (MitchAlsup1) writes:
> >>>>> Anton Ertl wrote:
> >>
> >>>> Both disadvantages lead to far more refreshes than necessary to
> >>>> prevent Rowhammer, but that approach may still be good enough.
> >>
> >> Would you rather have a few more refreshes or a few more ECC
> >> repairs ?!? with the potential for a few ECC repair fails ?!!?
>
> > I believe Rowhammer and RowPress can flip many bits at once.
> > Too many for SECDED.
>
> >>> Lets see how bad this is.
> >>
> >>> The single line threshold of 4800 and blast radius of 8 = 600
> >>> trigger count.
> >>> That triggers an extra 8 row refreshes, so 8/600 = 1.3% overhead.
> >>> And the whole dram is refreshed every 64 ms reseting all the
> >>> counters so the counts are not cumulative.
> >>
> >> I think what RowPress tells us that waiting 60± ms and then
> >> refreshing every row
> >> is worse for data retention than spreading the refreshes out over
> >> the 64ms max
> >> interval rather evenly.
>
> > Would any memory controller that would do that,
> > refresh the whole dram in one big burst instead of periodically by
> > row? I would expect doing so would introduce big stalls into memory
> > access.
>
> > 64 ms / 8192 rows per block = 7.8125 us row interval.
>
> My DRAM controller (Opteron RevF) had a timer set about 7µs and if the
> back was active it would allow REF to slip. But on a second timer
> event it would interrupt data transfer and induce 2 refreshes to
> catch up. In general, this worked well as it almost never happened.
>
> > Lets say 50 ns row refresh time.
> > So thats either 50 ns every 7.8 us
>
> A DDR5 at 6GBits/s transmits a 4096 byte page in 5µs.
>

DDR5 channel is 32-bit.
4096B/(4B/T * 6e9 T/s) = 0.171 usec.
Or for more 0.204 usec for more realistic rate of 5e9 T/s

> When one changes page boundaries the HoB address bits are essentially
> randomized by the TLB:: why not just close the row at that point ?
>

Because memory controller is not aware of CPU page boundaries.
Besides, in aarch64 world 16KB pages are rather common. And in x86
world "transparent huge pages" are rather common.

> > verses 8192*50 ns = 409.6 us memory stall every 64 ms.

Re: Rowhammer and CLFLUSH

<BavyN.318401$Wp_8.273790@fx17.iad>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=37306&group=comp.arch#37306

  copy link   Newsgroups: comp.arch
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!diablo1.usenet.blueworldhosting.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!fx17.iad.POSTED!not-for-mail
X-newsreader: xrn 9.03-beta-14-64bit
Sender: scott@dragon.sl.home (Scott Lurndal)
From: scott@slp53.sl.home (Scott Lurndal)
Reply-To: slp53@pacbell.net
Subject: Re: Rowhammer and CLFLUSH
Newsgroups: comp.arch
References: <upb8i3$12emv$1@dont-email.me> <aba96427866214c1b2981a75ecc45db7@www.novabbs.com> <br9vN.95150$STLe.2753@fx34.iad> <2024Feb3.102814@mips.complang.tuwien.ac.at> <a755990f20904883e4f7367d9e591297@www.novabbs.org> <2024Feb5.100834@mips.complang.tuwien.ac.at> <7IxwN.335993$c3Ea.213635@fx10.iad> <50fb2692e7a8395b2e9ae1bbe21c3ee9@www.novabbs.org> <lZ5yN.320259$PuZ9.135552@fx11.iad> <0a7994efbe0cc0881d3b2a5ca6a7bc96@www.novabbs.org> <20240212172759.00003683@yahoo.com>
Lines: 12
Message-ID: <BavyN.318401$Wp_8.273790@fx17.iad>
X-Complaints-To: abuse@usenetserver.com
NNTP-Posting-Date: Mon, 12 Feb 2024 20:27:13 UTC
Organization: UsenetServer - www.usenetserver.com
Date: Mon, 12 Feb 2024 20:27:13 GMT
X-Received-Bytes: 1521
 by: Scott Lurndal - Mon, 12 Feb 2024 20:27 UTC

Michael S <already5chosen@yahoo.com> writes:
>On Sun, 11 Feb 2024 19:57:34 +0000
>mitchalsup@aol.com (MitchAlsup1) wrote:

>Because memory controller is not aware of CPU page boundaries.
>Besides, in aarch64 world 16KB pages are rather common. And in x86
>world "transparent huge pages" are rather common.

AArch64 supports translation granules of 4k, 16k and 64k. 4K
and 64K are the most common. While the architecture defines
16k, an implementation is free to not support it and I'm not aware of any
widespread usage.


devel / comp.arch / Re: Rowhammer and CLFLUSH

Pages:123
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor