找回密码
 注册
关于网站域名变更的通知
查看: 7062|回复: 23
打印 上一主题 下一主题

关于DDR内存预充电的疑惑(附DDR2中文规范一份)

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-2-23 13:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
% n* H1 k& [& n, v1 R( t
1.我看到这样一种说法——“在数据读取完之后,为了腾出读出放大器以供同一L-Bank内其他行的寻址并传输数据,内存芯片将进行预充电的操作来关闭当前工作行。若当前寻址的存储单元是B1、R2、C6。如果接下来的寻址命令是B1、R2、C4,则不用预充电,因为读出放大器正在为这一行服务。但如果地址命令是B1、R4、C4,由于是同一L-Bank的不同行,那么就必须要先把R2关闭,才能对R4寻址。从开始关闭现有的工作行,到可以打开新的工作行之间的间隔就是tRP(Row Precharge command Period,行预充电有效周期),单位也是时钟周期数。”(http://blog.csdn.net/nju044/article/details/5348540)( k, C" ^, P7 C) c7 a
8 K( {2 V8 v6 U7 @$ p3 U
2.另外在网上下载一份DDR2操作规范,上面说“单簇预充电”就是对于某一簇(BANK)进行预充电,这一簇肯定包括很多行了,所以我理解的是,对于该簇下面所有的行都进行预充电,而不仅仅是当前行的下一行。而且我也没有找到如1中所说的单独对于一行进行预充电的说法,该操作规范如附件,供大家使用
* ^/ F0 m- O/ a$ u( n
$ g7 L5 k# X  I/ L希望前辈对这两种说法做一下分析
. \$ a0 O: b/ l. W  x2 R' ~/ |5 N+ Z4 m4 b/ b  f  p
DDR2规范中文版.pdf (2.63 MB, 下载次数: 700536)

该用户从未签到

2#
 楼主| 发表于 2012-2-23 14:14 | 只看该作者
3.補充:“在控製器的設計中,所有的讀寫命令都是不帶預充電的,因此,某一行被激活之後將一直處於激活狀態,直到用戶發送突發終止命令,此時控製器將自動產生一個預充電命令來關閉當前行。這樣,某一行被激活之後用戶便可進行連續的突發讀(寫)操作,從而節省了每次突發讀寫所需要的激活時間,提高了係統的數據吞吐率。”(http://www.autooo.net/utf8-classid48-id44023.html)
6 Z! v+ a* \) h& J& B参考1的理论,我想说,难道3不需要换行了?那么是不是内存浪费了?

该用户从未签到

3#
 楼主| 发表于 2012-2-23 14:34 | 只看该作者
看了一下DDR的英文手册,发现两种说法都是正确的,第三种可能这个人内存仅仅用了一行。。。但是有一个问题就是,在手册和时序规范中,并没有看到行地址信息,比如激活的是Bank1,当前打开的行地址是addr,且所有列的数据读取完毕,要开始读取下一行,行地址是addr+1,但是如图所示并没有看到给出行地址啊,直接就开始预充电了。。。。求解8 J& }2 Q' ~9 e0 q

1111.jpg (128.62 KB, 下载次数: 14)

1111.jpg

该用户从未签到

4#
 楼主| 发表于 2012-2-23 14:53 | 只看该作者
根据上图中红线部分,是可以看出,行地址没有给出来的都是x,除了A10,难道可以这样解释,由于在簇激活过程中已经给出了行地址,所以当预充电时候,内部自己对于addr+1地址进行预充电?

该用户从未签到

5#
 楼主| 发表于 2012-2-23 14:54 | 只看该作者
根据上图中红线部分,是可以看出,行地址没有给出来的都是x,除了A10,难道可以这样解释,由于在簇激活过程中已经给出了行地址,所以当预充电时候,内部自己对于addr+1地址进行预充电?

该用户从未签到

6#
 楼主| 发表于 2012-2-23 15:34 | 只看该作者
这样猜测吧可能更加合理一些,预充电就是对于已经激活的单个bank或者所有bank进行充电,预充电完毕之后,再发起下一行行激活命令,激活后直接对于下一行进行存取就可以了。。。。

该用户从未签到

7#
 楼主| 发表于 2012-2-23 15:37 | 只看该作者
根据真值表总结了一下,最简单的工作流程就是这样了,初始化--->空闲(可以自我刷新)---->激活bank和行---->对于激活的行进行读写操作------->预充电----->激活当前行的下一行------>进行读写操作.....
( X; i2 r  _# ?- e希望前辈指点迷津!

该用户从未签到

8#
 楼主| 发表于 2012-2-23 16:39 | 只看该作者
终于找到答案了:如下:) [' N7 o  r# S1 J2 L1 `3 x' r
预充电的作用:5 ^$ C3 S7 N5 s4 _+ T8 d/ O
原本逻辑状态为1的电容在读取操作后,会因放电而变为逻辑0。由于SDRAM的寻址具有独占性,所以在进行完读写操作后,如果要对同一L-Bank的另一行进行寻址,就要将原先操作行关闭,重新发送行/列地址。在对原先操作行进行关闭时,DRAM为了在关闭当前行时保持数据,要对存储体中原有的信息进行重写,这个充电重写和关闭操作行过程叫做预充电,发送预充电信号时,意味着先执行存储体充电,然后关闭当前L-Bank操作行。预充电中重写的操作与刷新操作(后面详细介绍)一样,只不过预充电不是定期的,而只是在读操作以后执行的。

评分

参与人数 1贡献 +10 收起 理由
admin + 10 赞一个!

查看全部评分

该用户从未签到

9#
发表于 2012-2-27 22:48 | 只看该作者
谢谢可要们

该用户从未签到

10#
发表于 2012-2-28 17:17 | 只看该作者
谢谢,学习下!!

该用户从未签到

11#
发表于 2012-7-7 22:43 | 只看该作者
学习了 谢谢分享

该用户从未签到

12#
发表于 2012-7-10 23:45 | 只看该作者
学习了,刚自己看手册了好久没看明白~

该用户从未签到

13#
发表于 2012-7-11 08:01 | 只看该作者
:):)

该用户从未签到

14#
发表于 2012-7-19 15:08 | 只看该作者
好 谢谢

该用户从未签到

15#
发表于 2012-7-24 15:49 | 只看该作者
{:soso_e113:}/ x: S/ f) J7 n
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-20 03:19 , Processed in 0.109375 second(s), 28 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表