1.左边是一个内存条,该内存条是双通道2G内存(上下),简称为DIMM;DIMM的单面称作rank,
2.内存条上黑色的128MB内存芯片,简称为IC
3.该内存条是双面内存,正反两面共有16个IC,16*128M=2GB,它就是由rank1,rank2两个单面组成,每个面有8个IC
4.每个IC内部通常由8个bank组成,这些bank共享一个memory I/O controller,但是在每个bank内部的读写,可以并行进行
5.每个bank内部包括行地址解码器,列地址解码器,传感放大器,以及DRAM内存阵列
6.DRAM:由行列组成,每个行列交叉的单元,表示n bit,通常是8bit或者16位
7.内存读写的最小单位就是这些交叉单元
8.内存芯片=128M的计算方法
16,384 rows/bank x 1,024 columns addresses/row x 1 byte/column address x 8 stacked banks=128M
解释:
一共8 stacked banks ,每个banks包含16k页面,也就是16,384 rows/bank
每行有1k列,1,024 columns addresses/row ,每列8byte,1 byte/column address
【DRAM】
1.DRAM:动态随机存取存储器
2.组成:一个晶体管和一个电容
3.工作原理:利用电容内存储电荷的多寡来代表一个二进制比特(bit)是1还是0
4.问题:由于在现实中晶体管会有漏电电流的现象,导致电容上所存储的电荷数量并不足以正确的判别数据
解决:每秒至少动态刷新16次,否则可能会丢失 存储的内容;刷新的方法是让存储单元每次被 读取时能自我刷新
【RowHammer】
1.RowHammer背景:
利用临近内存临近单元间的耦合效应,在访问一行足够多的次数后,相邻行中DRAM单元的电容电荷更快地泄漏 如果在下一次定时刷新之前,泄露了足够多的电荷,就会使一个bit 发生翻转
2.RowHammer原理: 选择相邻行进行频繁访问,就可以修改一些critical bit RowHammer
3.分类:
single-sided rowhammer:访问与受害者行相邻的一行
double-sided rowhammer:交替访问与受害者行相邻的两行
one-location hammering:重复访问某行中的一个位置,以攻击目标行
【参考文档】
1.DRAM 内存介绍:https://blog.csdn.net/qq_39759656/article/details/81672895