0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈DDR内存技术原理2

jf_78858299 来源:CSDN 作者:奇小葩 2023-02-15 15:30 次阅读

4

DDR的时序参数

4.1 Row Active Command

在进行数据的读写前,Controller 需要先发送 Row Active Command,打开 DRAM Memory Array 中的指定的 Row。Row Active Command 的时序如下图所示:

图片

tRCD:RAS-to-CAS Delay(tRCD),内存行地址传输到列地址的延迟时间。

Row Active Command 通过地址总线指明需要打开某一个 Bank 的某一个 Row。DRAM 在接收到该 Command 后,会打开该 Row 的 Wordline,将其存储的数据读取到 Sense Amplifiers 中,这一时间定义为 tRCD(RCD for Row Address to Column Address Delay)。DRAM 在完成 Row Sense 阶段后,Controller 就可以发送 Read 或 Write Command 进行数据的读写了。这也意味着,Controller 在发送 Row Active Command 后,需要等待 tRCD 时间才能接着发送 Read 或者 Write Command 进行数据的读写。

tRAS: Row Active Time,内存行地址选通延迟

由于 DRAM 的特性,Row 中的数据在被读取到 Sense Amplifiers 后,需要进行 Restore 的操作。Restore 操作可以和数据的读取同时进行,即在这个阶段,Controller 可能发送了 Read Command 进行数据读取。

DRAM 接收到 Row Active Command 到完成 Row Restore 操作所需要的时间定义为 tRAS(RAS for Row Address Strobe)。

Controller 在发出一个 Row Active Command 后,必须要等待 tRAS 时间后,才可以发起另一次的 Precharge 和 Row Access。

4.2 Column Read Command

Controller 发送 Row Active Command 并等待 tRCD 时间后,再发送 Column Write Command 进行数据写入。数据 Burst Length 为 8 时的 Column Write Command 时序如下图所示:

图片

tCWD/tCL/tCWL:内存CAS延迟时间

Column Write Command 通过地址总线 A[0:9] 指明需要写入数据的 Column 的起始地址。Controller 在发送完 Write Command 后,需要等待 tCWD (CWD for Column Write Delay) 时间后,才可以发送待写入的数据。tCWD 在一些描述中也称为 tCWL(CWL for Column Write Latency)

tWR(WR for Write Recovery)

DRAM 接收完数据后,需要一定的时间将数据写入到 DRAM Cells 中,这个时间定义为 tWR(WR for Write Recovery)。该值说明在一个激活的bank中完成有效的写操作及预充电前,必须等待多少个时钟周期。这段必须的时钟周期用来确保在预充电发生前,写缓冲中的数据可以被写进内存单元中。同样的,过低的tWD虽然提高了系统性能,但可能导致数据还未被正确写入到内存单元中,就发生了预充电操作,会导致数据的丢失及损坏。

4.3 Precharge Command

要访问 DRAM Cell 中的数据,需要先进行 Precharge 操作。相应地,在 Controller 发送 Row Active Command 访问一个具体的 Row 前, Controller 需要发送 Precharge Command 对该 Row 所在的 Bank 进行 Precharge 操作。下面的时序图描述了 Controller 访问一个 Row 后,执行 Precharge,然后再访问另一个 Row 的流程。

图片

DRAM 执行 Precharge Command 所需要的时间定义为 tRP(RP for Row Precharge)。Controller 在发送一个 Row Active Command 后,需要等待 tRC(RC for Row Cycle)时间后,才能发送第二个 Row Active Command 进行另一个 Row 的访问。

从时序图上我们可以看到,tRC = tRAS + tRP,tRC 时间决定了访问 DRAM 不同 Row 的性能。在实际的产品中,通常会通过降低 tRC 耗时或者在一个 Row Cycle 执行尽可能多数据读写等方式来优化性能。

4.4 Row Refresh Command

一般情况下,为了保证 DRAM 数据的有效性,Controller 每隔 tREFI(REFI for Refresh Interval) 时间就需要发送一个 Row Refresh Command 给 DRAM,进行 Row 刷新操作。DRAM 在接收到 Row Refresh Command 后,会根据内部 Refresh Counter 的值,对所有 Bank 的一个或者多个 Row 进行刷新操作。

DRAM 刷新的操作与 Active + Precharge Command 组合类似,差别在于 Refresh Command 是对 DRAM 所有 Bank 同时进行操作的。下图为 DRAM Row Refresh Command 的时序图:

图片

DRAM 完成刷新操作所需的时间定义为 tRFC(RFC for Refresh Cycle)。

tRFC 包含两个部分的时间,一是完成刷新操作所需要的时间,由于 DRAM Refresh 是同时对所有 Bank 进行的,刷新操作会比单个 Row 的 Active + Precharge 操作需要更长的时间;tRFC 的另一部分时间则是为了降低平均功耗而引入的延时,DRAM Refresh 操作所消耗的电流会比单个 Row 的 Active + Precharge 操作要大的多,tRFC 中引入额外的时延可以限制 Refresh 操作的频率。

4.5 Read Cycle

一个完整的 Burst Length 的 Read Cycle 如下图所示:

图片

下面是DDR常见的一些参数及定义如下:

图片

上述的 DRAM Timing 中的一部分参数可以编程设定,例如 tCAS、tAL、Burst Length 等。这些参数通常是在 Host 初始化时,通过 Controller 发起 Load Mode Register Command 写入到 DRAM 的 Mode Register 中。DRAM 完成初始化后,就会按照设定的参数运行。

5

性能分析

在学习完DDR的基本操作和时序参数之后,我们就看看性能的影响。当频率和位宽固定后,带宽也就不可更改,但是在内存的工作周期内,不可能总处于数据传输的状态,因为要有命令、寻址等必要的过程。那么这些操作占用的时间越短,内存工作的效率就越高,性能也就越好。

对于我们来说,最好的方法是提高频率,但是提高频率会受多方面的影响,还有什么办法提高内存访问采取速度。

**·多通道: **现代内存控制器从北桥移入CPU内部,而内存控制器都可以同时操作多个通道。比如现在的笔记本开始支持双通道、三通道,如果数据分布在不同通道的内存条上,内存控制器就可以不用管上面的这些延迟时序,同时可以读取它们,速度可以增加两倍,甚至三倍。

·交织方式(Interleaving): 同一块内存分布到不同的通道中去,这样无论Cache命中与否都可以同时存取,多通道的技术才能发挥更大的用处。

·超频内存: 也就是提升DDR的频率来增加速度

6

总结

对于DDR的读写以及一些时序参数的原理性知识后,下一步就进入到DDR的驱动调式,主要是对于一款控制器,我们该如何去调试DDR。其实对于DDR的调试,主要的读写的控制,都是由DDR的控制器完成了,我们主要是通过MRS模式/EMRS模式来完成对于DDR参数的配置,而对于MRS模式的使用,已经集成到DDR控制器中完成了,我们只需要根据控制器手册配置相应的寄存器就可以完成对于DDR调试。

7

参考文档

DRAM Memory-Access Protocol

DRAM Timing

DDR2_SDRAM操作时序

本文转自:https://blog.csdn.net/u012489236

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DRAM
    +关注

    关注

    40

    文章

    2316

    浏览量

    183593
  • 晶体管
    +关注

    关注

    77

    文章

    9702

    浏览量

    138430
  • bit
    bit
    +关注

    关注

    0

    文章

    48

    浏览量

    32024
收藏 人收藏

    评论

    相关推荐

    DDR内存条对比分析

    DDR内存条经历了DDR内存条、DDR2内存条、DDR
    发表于 12-29 14:21 3760次阅读

    什么是DDRDDR内存的演进之路

    DDR内存技术标准最大的不同就是,虽然同是采用了在时钟的上升/下降沿同时进行数据传输的基本方式,但DDR2内存却拥有两倍以上于上一代
    发表于 10-26 16:37

    DDR2内存传输标准

    DDR2内存传输标准         DDR2可以看作是DDR技术标准的一种升级和扩展:
    发表于 04-26 18:05 920次阅读
    <b class='flag-5'>DDR2</b><b class='flag-5'>内存</b>传输标准

    什么是DDR SDRAM内存

    什么是DDR SDRAM内存 DDR是一种继SDRAM后产生的内存技术DDR,英文原意为“D
    发表于 12-17 11:15 1879次阅读

    DDR2的定义

    DDR2的定义:     DDR2(Double Data Rate 2) SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代内存
    发表于 12-17 16:26 865次阅读

    DDR2内存传输标准

    DDR2内存传输标准 DDR2可以看作是DDR技术标准的一种升级和扩展:DDR的核心频率
    发表于 12-24 14:53 683次阅读

    DDR2,DDR2是什么意思

    DDR2,DDR2是什么意思 DDR2(Double Data Rate 2) SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代
    发表于 03-24 16:06 1454次阅读

    DDR2内存疯狂演绎 2G版冲破350元

    DDR2内存疯狂演绎 2G版冲破350元近一年间,市场主流的DDR2内存一直演绎着疯狂,在200元与300元之间几经反复。近日,
    发表于 04-13 09:29 527次阅读

    DDR2DDR3内存的创新电源方案

    从那时起,采用DDR2、甚至最新的DDR3 SDRAM的新设计让DDR SDRAM技术黯然失色。DDR
    发表于 07-11 11:17 5524次阅读
    <b class='flag-5'>DDR2</b>和<b class='flag-5'>DDR</b>3<b class='flag-5'>内存</b>的创新电源方案

    SD-DDR-DDR2内存条标准尺寸

    SD-DDR-DDR2内存条标准尺寸
    发表于 09-13 15:19 163次下载
    SD-<b class='flag-5'>DDR-DDR2</b><b class='flag-5'>内存</b>条标准尺寸

    DDR4和DDR3内存都有哪些区别?

    3是目前使用最为广泛的计算机内存标准,它已经服务了计算机用户多年。但是,DDR4内存随着技术的进步,成为了更好的内存选择。本文将详细介绍
    的头像 发表于 10-30 09:22 1.1w次阅读

    如何选择DDR内存DDR3与DDR4内存区别

    随着技术的不断进步,计算机内存技术也在不断发展。DDR(Double Data Rate)内存条作为计算机的重要组成部分,其性能直接影响到电
    的头像 发表于 11-20 14:24 1615次阅读

    DDR内存的工作原理与结构

    电子设备的内存技术。以下是对DDR内存的工作原理与结构的介绍: 一、工作原理 时钟同步 :DDR内存
    的头像 发表于 11-20 14:32 563次阅读

    DDR5内存的工作原理详解 DDR5和DDR4的主要区别

    的数据传输速率、更大的容量和更低的功耗。 2. DDR5内存工作原理 DDR5内存的工作原理基于双倍数据速率
    的头像 发表于 11-22 15:38 1278次阅读

    DDR5内存DDR4内存性能差异

    DDR5内存DDR4内存性能差异 随着技术的发展,内存技术
    的头像 发表于 11-29 14:58 493次阅读