关于一个存储单元的容量的大小是多少,网上有人说是1bit,有人说是8bit。此篇用来给我自己一个满意的答案,也分享给需要的同学。先直接给出结论,解燃眉之疑惑:
L-Bank中的基本存储单元的容量是若干个Bit,对于SDRAM,就是芯片的位宽。而每个Bit则是存放于单独的存储体中的,这些存储体是内存最小的存储单元。用硬盘中的簇与扇区来理解内存中的存储形式,扇区是硬盘最小的存储单元,而簇包含多个扇区,是数据交换的基本单位。类比,一个存储体是最小的存储单元,一个L-Bank中的存储单元包含多个存储体,是数据交换的基本单位。
组织DRAM Cell的方式,使得可以存储字节,而不仅仅是单个比特(从最小存储单元→基本存储单元)。每个基本储存单元的容量=数据线的位数(DQ0-DQn)。【这里就是数据总线的位宽,因为一个Rank上的存储颗粒共用地址线。】
【 如果上面这段总结没看懂,请先看我关于模组结构的博客,然后再阅读本篇剩余的内容。连接:http://t.csdn.cn/YNoQK】
1 bit 数据的读写
为了读取某特定Cell存储的值,必须先读取整行。同样,如果要改变一个Cell的值,必须整行读取,然后再重新写回。以8行8列的存储阵列为例,读取并输出一个特定Cell中的数据二进制1时的步骤:
- 位线预充电,充电到大约DRAN供电电压的一半;
- 内存控制器将行地址加载到地址针脚上,并选通行地址缓存器(低电平),该步骤一旦开始,就会触发一整个读取周期。位线此时已经断离预充电电路,然后行地址被解码,解码器(decoder)拿到3bit地址,对应的字线被选中,整行Cell的值被锁存到感应放大器中。
【因为整行Cell中,存储了1的电容器会部分放电,存储了0的电容器会部分充电,所以读取一整行是一个破坏性的操作。】