原创 关于DDR的rank,bank和大小计算的问题

2009-7-1 10:32 12822 9 9 分类: MCU/ 嵌入式

关于DDR的rank,bank和大小计算的问题,网上有不少。但是看了半天相当一部分都是互抄的,而且还都


不正确。无奈之下,我只好从jedec上down一些原始资料来研究,并在这里写一下自己的理解。
要搞清楚DDR,首先要搞清楚SDRAM(内存颗粒),DDR就是将这些颗粒集成在一起,再加一个控制器而已


。对于SDRAM,我想大家都应该知道行、列、bank的概念(不知道搜一下,一大把),三个概念可以形象


地比喻成立体空间的三维空间坐标,这样我们就不难理解SDRAM容量计算以及访问方式了。了解了SDRAM之


后,就可以研究DDR了,DDR比SDRAM多了rank这个概念,在讲rank之前,我们先了解一下DDR数据存取,以


64bits数据线为例,CPU每次从内存里面存读数据都是一次61bits,而我们知道内存颗粒(SDRAM)一般没


有64bits数据线的,大多为8bits或4bits。那么为了凑够CPU访问所需的64bits该怎么办呢?当然是大伙


一起凑了,即数据位扩展了。如果每个颗粒是8bits位宽,那么就需要8个颗粒凑在一起,这八个颗粒组成


一个新的家庭,它的名字就叫rank。一条内存条上有多少个rank,就表示有多少个这样的家庭,而在这个


家庭内部,其实就是8片并在一起的SDRAM,这些SDRAM就是前面提到的三维立体空间的载体,也就是说


bank这个概念对于DDR来说就是指的颗粒(SDRAM)上的bank,这也就不难理解计算内存的公式应该为
内存大小=2^(row bits+column bits)*bank*bus width of memory chip in bytes*rank
而对于大家熟悉的side,指的是内存条颗粒分布在几面,这点与rank之间没有必然的联系,只是结构上的


布局问题。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条