精华内容
下载资源
问答
  • DRAM原理

    千次阅读 多人点赞 2019-11-20 16:11:35
    原理层面上看,一个最简单的,存储一个 Bit 信息的 DRAM Storage Cell 的结构如下图所示: 由以下 4 个部分组成: Storage Capacitor,即存储电容,它通过存储在其中的电荷的多和少,或者说电容两端...

    1. Storage Capacitor

     

    DRAM Storage Cell 使用 Storage Capacitor 来存储 Bit 信息。

    从原理层面上看,一个最简单的,存储一个 Bit 信息的 DRAM Storage Cell 的结构如下图所示:

     

    由以下 4 个部分组成:

    • Storage Capacitor,即存储电容,它通过存储在其中的电荷的多和少,或者说电容两端电压差的高和低,来表示逻辑上的 1 和 0。
    • Access Transistor,即访问晶体管,它的导通和截止,决定了允许或禁止对 Storage Capacitor 所存储的信息的读取和改写。
    • Wordline,即字线,它决定了 Access Transistor 的导通或者截止。
    • Bitline,即位线,它是外界访问 Storage Capacitor 的唯一通道,当 Access Transistor 导通后,外界可以通过 Bitline 对 Storage Capacitor 进行读取或者写入操作。

    Storage Capacitor 的 Common 端接在 Vcc/2。
    当 Storage Capacitor 存储的信息为 1 时,另一端电压为 Vcc,此时其所存储的电荷

    Q = +Vcc/2 / C

    当 Storage Capacitor 存储的信息为 0 时,另一端电压为 0,此时其所存储的电荷

    Q = -Vcc/2 / C

    1.1 数据读写原理

    从上面的结构图上分析,我们可以很容易的推测出 DRAM Storage Cell 的数据读写流程:

    1. 读数据时,Wordline 设为逻辑高电平,打开 Access Transistor,然后读取 Bitline 上的状态
    2. 写数据时,先把要写入的电平状态设定到 Bitline 上,然后打开 Access Transistor,通过 Bitline 改变 Storage Capacitor 内部的状态。

    然而,在具体实现上,如果按照上面的流程对 DRAM Storage Cell 进行读写,会遇到以下的问题:

    1. 外界的逻辑电平与 Storage Capacitor 的电平不匹配
      由于 Bitline 的电容值比 Storage Capacitor 要大的多(通常为 10 倍以上),当 Access Transistor 导通后,如果 Storage Capacitor 存储的信息为 1 时,Bitline 电压变化非常小。外界电路无法直接通过 Bitline 来读取 Storage Capacitor 所存储的信息。

    2. 进行一次读取操作后,Storage Capacitor 存储的电荷会变化
      在进行一次读取操作的过程中,Access Transistor 导通后,由于 Bitline 和 Storage Capacitor 端的电压不一致,会导致 Storage Capacitor 中存储的电荷量被改变。最终可能会导致在下一次读取操作过程中,无法正确的判断 Storage Capacitor 内存储的信息。

    3. 由于 Capacitor 的物理特性,即使不进行读写操作,其所存储的电荷都会慢慢变少
      这个特性要求 DRAM 在没有读写操作时,也要主动对 Storage Capacitor 进行电荷恢复的操作。

    为解决上述的问题,DRAM 在设计上,引入了 Differential Sense Amplifier。

    2. Differential Sense Amplifier

    Differential Sense Amplifier 包含 Sensing Circuit 和 Voltage Equalization Circuit 两个主要部分。它主要的功能就是将 Storage Capacitor 存储的信息转换为逻辑 1 或者 0 所对应的电压,并且呈现到 Bitline 上。同时,在完成一次读取操作后,通过 Bitline 将 Storage Capacitor 中的电荷恢复到读取之前的状态。

     

    在后面的小节中,我们通过完整的数据读取和写入过程,来了解 Differential Sense Amplifier 工作原理。

    2.1 Read Operation

    一个完整的 Read Operation 包含了,Precharge、Access、Sense、Restore 四个阶段。后续的小节中,将描述从 Storage Capacitor 读取 Bit 1 的完整过程。

    2.1.1 Precharge

    在这个阶段,首先会通过控制 EQ 信号,让 Te1、Te2、Te3 晶体管处于导通状态,将 Bitline 和 /Bitline 线上的电压稳定在 Vref 上, Vref = Vcc/2。然后进入到下一个阶段。

    2.1.2 Access

    经过 Precharge 阶段, Bitline 和 /Bitline 线上的电压已经稳定在 Vref 上了,此时,通过控制 Wordline 信号,将 Ta 晶体管导通。Storage Capacitor 中存储正电荷会流向 Bitline,继而将 Bitline 的电压拉升到 Vref+。然后进入到下一个阶段。

    2.1.3 Sense

    由于在 Access 阶段,Bitline 的电压被拉升到 Vref+,Tn2 会比 Tn1 更具导通性,Tp1 则会比 Tp2 更具导通性。
    此时,SAN (Sense-Amplifier N-Fet Control) 会被设定为逻辑 0 的电压,SAP (Sense-Amplifier P-Fet Control) 则会被设定为逻辑 1 的电压,即 Vcc。由于 Tn2 会比 Tn1 更具导通性,/Bitline 上的电压会更快被 SAN 拉到逻辑 0 电压,同理,Bitline 上的电压也会更快被 SAP 拉到逻辑 1 电压。接着 Tp1 和 Tn2 进入导通状态,Tp2 和 Tn1 进入截止状态。
    最后,Bitline 和 /Bitline 的电压都进入稳定状态,正确的呈现了 Storage Capacitor 所存储的信息 Bit。

    2.1.4 Restore

    在完成 Sense 阶段的操作后,Bitline 线处于稳定的逻辑 1 电压 Vcc,此时 Bitline 会对 Storage Capacitor 进行充电。经过特定的时间后,Storage Capacitor 的电荷就可以恢复到读取操作前的状态。

    最后,通过 CSL 信号,让 Tc1 和 Tc2 进入导通状态,外界就可以从 Bitline 上读取到具体的信息。

    2.1.5 Timing

    整个 Read Operation 的时序如下图所示,其中的 Vcc 即为逻辑 1 所对应的电压,Gnd 为逻辑 0。

    3. Write Operation

    Write Operation 的前期流程和 Read Operation 是一样的,执行 Precharge、Access、Sense 和 Restore 操作。差异在于,在 Restore 阶段后,还会进行 Write Recovery 操作。

    3.1 Write Recovery

    在 Write Recovery 阶段时,通过控制 WE (Write Enable) 信号,让 Tw1 和 Tw2 进入导通状态。此时,Bitline 会被 input 拉到逻辑 0 电平,/Bitline 则会被 /input 拉到逻辑 1 电平。
    经过特定的时间后,当 Storage Capacitor 的电荷被 Discharge 到 0 状态时,就可以通过控制 Wordline,将 Storage Capacitor 的 Access Transistor 截止,写入 0 的操作就完成了。

    4. 参考资料

    1. Memory Systems - Cache Dram and Disk

    DRAM 原理 2 :DRAM Memory Organization

    作者:codingbelief 发布于:2016-6-14 22:43 分类:基础技术

    在 DRAM Storage Cell 章节中,介绍了单个 Cell 的结构。在本章节中,将介绍 DRAM 中 Cells 的组织方式。

    为了更清晰的描述 Cells 的组织方式,我们先对上一章节中的 DRAM Storage Cell 进行抽象,最后得到新的结构图,如下:

     

     

     

    1. Memory Array

    DRAM 在设计上,将所有的 Cells 以特定的方式组成一个 Memory Array。本小节将介绍 DRAM 中是如何将 Cells 以 特定形式的 Memory Array 组织起来的。

    首先,我们在不考虑形式的情况下,最简单的组织方式,就是在一个 Bitline 上,挂接更多的 Cells,如下图所示:

    然而,在实际制造过程中,我们并不会无限制的在 Bitline 上挂接 Cells。因为 Bitline 挂接越多的 Cells,Bitline 的长度就会越长,也就意味着 Bitline 的电容值会更大,这会导致 Bitline 的信号边沿速率下降(电平从高变低或者从低变高的速率),最终导致性能的下降。为此,我们需要限制一条 Bitline 上挂接的 Cells 的总数,将更多的 Cells 挂接到其他的 Bitline 上去。

    从 Cell 的结构图中,我们可以发现,在一个 Cell 的结构中,有两条 Bitline,它们在功能上是完全等价的,因此,我们可以把 Cells 分摊到不同的 Bitline 上,以减小 Bitline 的长度。然后,Cells 的组织方式就变成了如下的形式:

    当两条 Bitline 都挂接了足够多的 Cells 后,如果还需要继续拓展,那么就只能增加 Bitline 了,增加后的结构图如下:

    从图中我们可以看到,增加 Bitline 后,Sense Amplifier、Read Latch 和 Write Driver 的数量也相应的增加了,这意味着成本、功耗、芯片体积都会随着增加。由于这个原因,在实际的设计中,会优先考虑增加 Bitline 上挂接的 Cells 的数量,避免增加 Bitline 的数量,这也意味着,一般情况下 Wordline 的数量会比 Bitline 多很多。

    上图中,呈现了一个由 16 个 Cells 组成的 Memory Array。其中的控制信号有 8 个 Wordline、2 个 CSL、2 个 WE,一次进行 1 个 Bit 的读写操,也就是可以理解为一个 8 x 2 x 1 的 Memory Array。

    如果把 2 个 CSL 和 2 个 WE 合并成 1 个 CSL 和 1 个 WE,如下图所示。此时,这个 Memory Array 就有 8 Wordline、1 个 CSL、1 个 WE,一次可以进行 2 个 Bit 的读写操作,也就是成为了 8 x 1 x 2 的 Memory Array。

    按照上述的过程,不断的增加 Cells 的数量,最终可以得到一个 m x n x w 的 Memory Array,如下图所示

    其中,m 为 Wordline 的数量、n 为 CSL 和 WE 控制信号的数量、w 则为一次可以进行读写操作的 Bits。
    在实际的应用中,我们通常以 Rows x Columns x Data Width 来描述一个 Memory Array。后续的小节中,将对这几个定义进行介绍。

    1.1 Data Width

    Memory Array 的 Data Width 是指对该 Array 进行一次读写操作所访问的 Bit 位数。这个位数与 CSL 和 WE 控制线的组织方式有关。

    1.2 Rows

    DRAM Memory 中的 Row 与 Wordline 是一一对应的,一个 Row 本质上就是所有接在同一根 Wordline 上的 Cells,如下图所示。

    DRAM 在进行数据读写时,选中某一 Row,实质上就是控制该 Row 所对应的 Wordline,打开 Cells,并将 Cells 上的数据缓存到 Sense Amplifiers 上。

    Row Size

    一个 Row 的 Size 即为一个 Row 上面的 Cells 的数量。其中一个 Cell 存储 1 个 Bit 的信息,也就是说,Row Size 即为一个 Row 所存储的 Bit 位数。

    1.3 Columns

    Column 是 Memory Array 中可寻址的最小单元。一个 Row 中有 n 个 Column,其中 n = Row Size / Data Width。下图是 Row Size 为 32,Data Width 为 8 时,Column 的示例。

    Column Size

    一个 Column 的 Size 即为该 Column 上所包含的 Cells 的数量,与 Data Width 相同。Column Size 和 Data Width 在本质上是一样的,也是与 CSL 和 WE 控制线的组织方式有关(参考 Memory Array 小节中关于 CSL 的描述)。

    2. Memory Bank

    随着 Bitline 数量的不断增加,Wordline 上面挂接的 Cells 也会越来越多,Wordline 会越来越长,继而也会导致电容变大,边沿速率变慢,性能变差。因此,一个 Memory Array 也不能无限制的扩大。

    为了在不减损性能的基础上进一步增加容量,DRAM 在设计上将多个 Memory Array 堆叠到一起,如下图所示:

    其中的每一个 Memory Array 称为一个 Bank,每一个 Bank 的 Rows、Columns、Data Width 都是一样的。在 DRAM 的数据访问时,只有一个 Bank 会被激活,进行数据的读写操作。

    以下是一个 DRAM Memory Organization 的例子:

     

       
    Banks 4
    Rows / Bank 16K
    Columns / Row 1024
    Column Size 16 Bits
    展开全文
  • DRAM 原理 1 :DRAM Storage Cell

    千次阅读 2018-04-03 15:29:45
    http://www.wowotech.net/basic_tech/307.html相关文章:DRAM 原理 2 :DRAM Memory OrganizationDRAM 原理 3 :DRAM DeviceDRAM 原理 4 :DRAM TimingDRAM 原理 5 :DRAM Devices Organization1. Storage ...

    http://www.wowotech.net/basic_tech/307.html

    相关文章:

    DRAM 原理 2 :DRAM Memory Organization

    DRAM 原理 3 :DRAM Device

    DRAM 原理 4 :DRAM Timing

    DRAM 原理 5 :DRAM Devices Organization

    1. Storage Capacitor


    DRAM Storage Cell 使用 Storage Capacitor 来存储 Bit 信息。

    从原理层面上看,一个最简单的,存储一个 Bit 信息的 DRAM Storage Cell 的结构如下图所示:

    由以下 4 个部分组成:

    • Storage Capacitor,即存储电容,它通过存储在其中的电荷的多和少,或者说电容两端电压差的高和低,来表示逻辑上的 1 和 0。
    • Access Transistor,即访问晶体管,它的导通和截止,决定了允许或禁止对 Storage Capacitor 所存储的信息的读取和改写。
    • Wordline,即字线,它决定了 Access Transistor 的导通或者截止。
    • Bitline,即位线,它是外界访问 Storage Capacitor 的唯一通道,当 Access Transistor 导通后,外界可以通过 Bitline 对 Storage Capacitor 进行读取或者写入操作。

    Storage Capacitor 的 Common 端接在 Vcc/2。
    当 Storage Capacitor 存储的信息为 1 时,另一端电压为 Vcc,此时其所存储的电荷

    Q = +Vcc/2 / C

    当 Storage Capacitor 存储的信息为 0 时,另一端电压为 0,此时其所存储的电荷

    Q = -Vcc/2 / C

    1.1 数据读写原理

    从上面的结构图上分析,我们可以很容易的推测出 DRAM Storage Cell 的数据读写流程:

    1. 读数据时,Wordline 设为逻辑高电平,打开 Access Transistor,然后读取 Bitline 上的状态
    2. 写数据时,先把要写入的电平状态设定到 Bitline 上,然后打开 Access Transistor,通过 Bitline 改变 Storage Capacitor 内部的状态。

    然而,在具体实现上,如果按照上面的流程对 DRAM Storage Cell 进行读写,会遇到以下的问题:

    1. 外界的逻辑电平与 Storage Capacitor 的电平不匹配
      由于 Bitline 的电容值比 Storage Capacitor 要大的多(通常为 10 倍以上),当 Access Transistor 导通后,如果 Storage Capacitor 存储的信息为 1 时,Bitline 电压变化非常小。外界电路无法直接通过 Bitline 来读取 Storage Capacitor 所存储的信息。

    2. 进行一次读取操作后,Storage Capacitor 存储的电荷会变化
      在进行一次读取操作的过程中,Access Transistor 导通后,由于 Bitline 和 Storage Capacitor 端的电压不一致,会导致 Storage Capacitor 中存储的电荷量被改变。最终可能会导致在下一次读取操作过程中,无法正确的判断 Storage Capacitor 内存储的信息。

    3. 由于 Capacitor 的物理特性,即使不进行读写操作,其所存储的电荷都会慢慢变少
      这个特性要求 DRAM 在没有读写操作时,也要主动对 Storage Capacitor 进行电荷恢复的操作。

    为解决上述的问题,DRAM 在设计上,引入了 Differential Sense Amplifier。

    2. Differential Sense Amplifier

    Differential Sense Amplifier 包含 Sensing Circuit 和 Voltage Equalization Circuit 两个主要部分。它主要的功能就是将 Storage Capacitor 存储的信息转换为逻辑 1 或者 0 所对应的电压,并且呈现到 Bitline 上。同时,在完成一次读取操作后,通过 Bitline 将 Storage Capacitor 中的电荷恢复到读取之前的状态。

    在后面的小节中,我们通过完整的数据读取和写入过程,来了解 Differential Sense Amplifier 工作原理。

    2.1 Read Operation

    一个完整的 Read Operation 包含了,Precharge、Access、Sense、Restore 四个阶段。后续的小节中,将描述从 Storage Capacitor 读取 Bit 1 的完整过程。

    2.1.1 Precharge

    在这个阶段,首先会通过控制 EQ 信号,让 Te1、Te2、Te3 晶体管处于导通状态,将 Bitline 和 /Bitline 线上的电压稳定在 Vref 上, Vref = Vcc/2。然后进入到下一个阶段。

    2.1.2 Access

    经过 Precharge 阶段, Bitline 和 /Bitline 线上的电压已经稳定在 Vref 上了,此时,通过控制 Wordline 信号,将 Ta 晶体管导通。Storage Capacitor 中存储正电荷会流向 Bitline,继而将 Bitline 的电压拉升到 Vref+。然后进入到下一个阶段。

    2.1.3 Sense

    由于在 Access 阶段,Bitline 的电压被拉升到 Vref+,Tn2 会比 Tn1 更具导通性,Tp1 则会比 Tp2 更具导通性。
    此时,SAN (Sense-Amplifier N-Fet Control) 会被设定为逻辑 0 的电压,SAP (Sense-Amplifier P-Fet Control) 则会被设定为逻辑 1 的电压,即 Vcc。由于 Tn2 会比 Tn1 更具导通性,/Bitline 上的电压会更快被 SAN 拉到逻辑 0 电压,同理,Bitline 上的电压也会更快被 SAP 拉到逻辑 1 电压。接着 Tp1 和 Tn2 进入导通状态,Tp2 和 Tn1 进入截止状态。
    最后,Bitline 和 /Bitline 的电压都进入稳定状态,正确的呈现了 Storage Capacitor 所存储的信息 Bit。

    2.1.4 Restore

    在完成 Sense 阶段的操作后,Bitline 线处于稳定的逻辑 1 电压 Vcc,此时 Bitline 会对 Storage Capacitor 进行充电。经过特定的时间后,Storage Capacitor 的电荷就可以恢复到读取操作前的状态。

    最后,通过 CSL 信号,让 Tc1 和 Tc2 进入导通状态,外界就可以从 Bitline 上读取到具体的信息。

    2.1.5 Timing

    整个 Read Operation 的时序如下图所示,其中的 Vcc 即为逻辑 1 所对应的电压,Gnd 为逻辑 0。

    3. Write Operation

    Write Operation 的前期流程和 Read Operation 是一样的,执行 Precharge、Access、Sense 和 Restore 操作。差异在于,在 Restore 阶段后,还会进行 Write Recovery 操作。

    3.1 Write Recovery

    在 Write Recovery 阶段时,通过控制 WE (Write Enable) 信号,让 Tw1 和 Tw2 进入导通状态。此时,Bitline 会被 input 拉到逻辑 0 电平,/Bitline 则会被 /input 拉到逻辑 1 电平。
    经过特定的时间后,当 Storage Capacitor 的电荷被 Discharge 到 0 状态时,就可以通过控制 Wordline,将 Storage Capacitor 的 Access Transistor 截止,写入 0 的操作就完成了。

    4. 参考资料

    1. Memory Systems - Cache Dram and Disk

    展开全文
  • DRAM 原理 4 :DRAM Timing

    千次阅读 2018-04-03 15:32:45
    http://www.wowotech.net/basic_tech/330.html在 DRAM Device 章节中,我们简单介绍了 SDRAM 的 Active、...相关文章:DRAM 原理 1 :DRAM Storage CellDRAM 原理 2 :DRAM Memory OrganizationDRAM 原理 3 :D...

    http://www.wowotech.net/basic_tech/330.html

    在 DRAM Device 章节中,我们简单介绍了 SDRAM 的 Active、Read、Write 等的操作,在本中,我们将详细的介绍各个操作的时序。


    相关文章:

    DRAM 原理 1 :DRAM Storage Cell

    DRAM 原理 2 :DRAM Memory Organization

    DRAM 原理 3 :DRAM Device

    DRAM 原理 5 :DRAM Devices Organization


    +

    1. Overview

    如上图所示,SDRAM 的相关操作在内部大概可以分为以下的几个阶段:

    1. Command transport and decode

      在这个阶段,Host 端会通过 Command Bus 和 Address Bus 将具体的 Command 以及相应参数传递给 SDRAM。SDRAM 接收并解析 Command,接着驱动内部模块进行相应的操作。

    2. In bank data movement

      在这个阶段,SDRAM 主要是将 Memory Array 中的数据从 DRAM Cells 中读出到 Sense Amplifiers,或者将数据从 Sense Amplifiers 写入到 DRAM Cells。

    3. In device data movement

      这个阶段中,数据将通过 IO 电路缓存到 Read Latchs 或者通过 IO 电路和 Write Drivers 更新到 Sense Amplifiers。

    4. System data transport

      在这个阶段,进行读数据操作时,SDRAM 会将数据输出到数据总线上,进行写数据操作时,则是 Host 端的 Controller 将数据输出到总线上。

    在上述的四个阶段中,每个阶段都会有一定的耗时,例如数据从 DRAM Cells 搬运到 Read Latchs 的操作需要一定的时间,因此在一个具体的操作需要按照一定时序进行。

    同时,由于内部的一些部件可能会被多个操作使用,例如读数据和写数据都需要用到部分 IO 电路,因此多个不同的操作通常不能同时进行,也需要遵守一定的时序。

    此外,某些操作会消耗很大的电流,为了满足 SDRAM 设计上的功耗指标,可能会限制某一些操作的执行频率。

    基于上面的几点限制,SDRAM Controller 在发出 Command 时,需要遵守一定的时序和规则,这些时序和规则由相应的 SDRAM 标准定义。在后续的小节中,我们将对各个 Command 的时序进行详细的介绍。

    2. 时序图例

    后续的小节中,我们将通过下图类似的时序图,来描述各个 Command 的详细时序。

    上图中,Clock 信号是由 SDRAM Controller 发出的,用于和 DRAM 之间的同步。在 DDRx 中,Clock 信号是一组差分信号,在本文中为了简化描述,将只画出其中的 Positive Clock。

    Controller 与 DRAM 之间的交互,都是以 Controller 发起一个 Command 开始的。从 Controller 发出一个 Command 到 DRAM 接收并解析该 Command 所需要的时间定义为 tCMD,不同类型的 Command 的 tCMD 都是相同的。

    DRAM 在成功解析 Command 后,就会根据 Command 在内部进行相应的操作。从 Controller 发出 Command 到 DRAM 执行完 Command 所对应的操作所需要的时间定义为 tParam。不同类型的 Command 的 tParam 可能不一样,相同 Command 的 tParam 由于 Command 参数的不同也可能会不一样。


    +

    NOTE:
    各种 Command 的定义和内部操作细节可以参考前面的几篇文章,本文将主要关注时序方面的细节。


    3. Row Active Command

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

    Row Active Command 可以分为两个阶段:

    3.1 Row Sense

    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 进行数据的读写。

    3.2 Row Restore

    由于 DRAM 的特性,Row 中的数据在被读取到 Sense Amplifiers 后,需要进行 Restore 的操作(细节请参考 DRAM Storage Cell 文中的描述)。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. Column Read Command

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

    Column Read Command 通过地址总线 A[0:9] 指明需要读取的 Column 的起始地址。DRAM 在接收到该 Command 后,会将数据从 Sense Amplifiers 中通过 IO 电路搬运到数据总线上。

    DRAM 从接收到 Command 到第一组数据从数据总线上输出的时间称为 tCAS(CAS for Column Address Strobe),也称为 tCL(CL for CAS Latency),这一时间可以通过 mode register 进行配置,通常为 3~5 个时钟周期。

    DRAM 在接收到 Column Read Command 的 tCAS 时间后,会通过数据总线,将 n 个 Column 的数据逐个发送给 Controller,其中 n 由 mode register 中的 burst length 决定,通常可以将 burst length 设定为 2、4 或者 8。

    开始发送第一个 Column 数据,到最后一个 Column 数据的时间定义为 tBurst。

    5. Column Write Command

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

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

    tCWD 在不同类型的 SDRAM 标准有所不同:

    Memory TypetCWD
    SDRAM0 cycles
    DDR SDRAM1 cycle
    DDR2 SDRAMtCAS - 1 cycle
    DDR3 SDRAMprogrammable

    DRAM 接收完数据后,需要一定的时间将数据写入到 DRAM Cells 中,这个时间定义为 tWR(WR for Write Recovery)。

    6. Precharge Command

    在 DRAM Storage Cell 章节中,我们了解到,要访问 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 执行尽可能多数据读写等方式来优化性能。

    NOTE:
    在一个 Row Cycle 中,发送 Row Active Command 打开一个 Row 后,Controller 可以发起多个 Read 或者 Write Command 进行一个 Row 内的数据访问。这种情况下,由于不用进行 Row 切换,数据访问的性能会比需要切换 Row 的情况好。
    在一些产品上,DRAM Controller 会利用这一特性,对 CPU 发起的内存访问进行调度,在不影响数据有效性的情况下,将同一个 Row 上的数据访问汇聚到一直起执行,以提供整体访问性能。

    7. 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 操作的频率。

    NOTE:
    在 DDR3 SDRAM 上,tRFC 最小的值大概为 110ns,tRC 则为 52.5ns。

    8. Read Cycle

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

    9. Read Command With Auto Precharge

    DRAM 还可以支持 Auto Precharge 机制。在 Read Command 中的地址线 A10 设为 1 时,就可以触发 Auto Precharge。此时 DRAM 会在完成 Read Command 后的合适的时机,在内部自动执行 Precharge 操作。

    Read Command With Auto Precharge 的时序如下图所示:

    Auto Precharge 机制的引入,可以降低 Controller 实现的复杂度,进而在功耗和性能上带来改善。

    NOTE:
    Write Command 也支持 Auto Precharge 机制,参考下一小节的时序图。

    10. Additive Latency

    在 DDR2 中,又引入了 Additive Latency 机制,即 AL。通过 AL 机制,Controller 可以在发送完 Active Command 后紧接着就发送 Read 或者 Write Command,而后 DRAM 会在合适的时机(延时 tAL 时间)执行 Read 或者 Write Command。时序如下图所示:

    Additive Latency 机制同样是降低了 Controller 实现的复杂度,在功耗和性能上带来改善。

    11. DRAM Timing 设定

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

    NOTE:
    初始化和参数设定过程不在本文中详细描述,感兴趣的同学可以参考具体 CPU 和 DRAM 芯片的 Datasheet。

    12. 参考资料

    1. Memory Systems - Cache Dram and Disk
    2. High Performance Dram System Design Constraints and Considerations

    展开全文
  • DRAM原理-Storage Cell

    2020-12-31 00:22:59
    DRAM原理-Storage Cell1. Storage Capacitor1.1 数据读写原理2. Differential Sense Amplifier2.1 Read Operation2.1.1 Precharge2.1.2 Access2.1.3 Sense2.1.4 Restore2.1.5 Timing3. Write Operation3.1 Write ...

    1. Storage Capacitor

    DRAM Storage Cell 使用 Storage Capacitor 来存储 Bit 信息。

    从原理层面上看,一个最简单的,存储一个 Bit 信息的 DRAM Storage Cell 的结构如下图所示:
    在这里插入图片描述
    由以下 4 个部分组成:

    Storage Capacitor,即存储电容,它通过存储在其中的电荷的多和少,或者说电容两端电压差的高和低,来表示逻辑上的 1 和 0。
    Access Transistor,即访问晶体管,它的导通和截止,决定了允许或禁止对 Storage Capacitor 所存储的信息的读取和改写。
    Wordline,即字线,它决定了 Access Transistor 的导通或者截止。
    Bitline,即位线,它是外界访问 Storage Capacitor 的唯一通道,当 Access Transistor 导通后,外界可以通过 Bitline 对 Storage Capacitor 进行读取或者写入操作。
    Storage Capacitor 的 Common 端接在 Vcc/2。
    当 Storage Capacitor 存储的信息为 1 时,另一端电压为 Vcc,此时其所存储的电荷

    Q = +Vcc/2 / C

    当 Storage Capacitor 存储的信息为 0 时,另一端电压为 0,此时其所存储的电荷

    Q = -Vcc/2 / C

    1.1 数据读写原理

    从上面的结构图上分析,我们可以很容易的推测出 DRAM Storage Cell 的数据读写流程:

    1. 读数据时,Wordline 设为逻辑高电平,打开 Access Transistor,然后读取 Bitline 上的状态
    2. 写数据时,先把要写入的电平状态设定到 Bitline 上,然后打开 Access Transistor,通过 Bitline 改变 Storage Capacitor 内部的状态。

    然而,在具体实现上,如果按照上面的流程对 DRAM Storage Cell 进行读写,会遇到以下的问题:

    1. 外界的逻辑电平与 Storage Capacitor 的电平不匹配
      由于 Bitline 的电容值比 Storage Capacitor 要大的多(通常为 10 倍以上),当 Access Transistor 导通后,如果 Storage Capacitor 存储的信息为 1 时,Bitline 电压变化非常小。外界电路无法直接通过 Bitline 来读取 Storage Capacitor 所存储的信息。
    2. 进行一次读取操作后,Storage Capacitor 存储的电荷会变化
      在进行一次读取操作的过程中,Access Transistor 导通后,由于 Bitline 和 Storage Capacitor 端的电压不一致,会导致 Storage Capacitor 中存储的电荷量被改变。最终可能会导致在下一次读取操作过程中,无法正确的判断 Storage Capacitor 内存储的信息。
    3. 由于 Capacitor 的物理特性,即使不进行读写操作,其所存储的电荷都会慢慢变少
      这个特性要求 DRAM 在没有读写操作时,也要主动对 Storage Capacitor 进行电荷恢复的操作。

    为解决上述的问题,DRAM 在设计上,引入了 Differential Sense Amplifier。

    2. Differential Sense Amplifier

    Differential Sense Amplifier 包含 Sensing Circuit 和 Voltage Equalization Circuit 两个主要部分。它主要的功能就是将 Storage Capacitor 存储的信息转换为逻辑 1 或者 0 所对应的电压,并且呈现到 Bitline 上。同时,在完成一次读取操作后,通过 Bitline 将 Storage Capacitor 中的电荷恢复到读取之前的状态。

    在这里插入图片描述

    在后面的小节中,我们通过完整的数据读取和写入过程,来了解 Differential Sense Amplifier 工作原理。

    2.1 Read Operation

    一个完整的 Read Operation 包含了,Precharge、Access、Sense、Restore 四个阶段。后续的小节中,将描述从 Storage Capacitor 读取 Bit 1 的完整过程。

    2.1.1 Precharge

    在这个阶段,首先会通过控制 EQ 信号,让 Te1、Te2、Te3 晶体管处于导通状态,将 Bitline 和 /Bitline 线上的电压稳定在 Vref 上, Vref = Vcc/2。然后进入到下一个阶段。

    在这里插入图片描述

    2.1.2 Access

    经过 Precharge 阶段, Bitline 和 /Bitline 线上的电压已经稳定在 Vref 上了,此时,通过控制 Wordline 信号,将 Ta 晶体管导通。Storage Capacitor 中存储正电荷会流向 Bitline,继而将 Bitline 的电压拉升到 Vref+。然后进入到下一个阶段。

    在这里插入图片描述

    2.1.3 Sense

    由于在 Access 阶段,Bitline 的电压被拉升到 Vref+,Tn2 会比 Tn1 更具导通性,Tp1 则会比 Tp2 更具导通性。
    此时,SAN (Sense-Amplifier N-Fet Control) 会被设定为逻辑 0 的电压,SAP (Sense-Amplifier P-Fet Control) 则会被设定为逻辑 1 的电压,即 Vcc。由于 Tn2 会比 Tn1 更具导通性,/Bitline 上的电压会更快被 SAN 拉到逻辑 0 电压,同理,Bitline 上的电压也会更快被 SAP 拉到逻辑 1 电压。接着 Tp1 和 Tn2 进入导通状态,Tp2 和 Tn1 进入截止状态。
    最后,Bitline 和 /Bitline 的电压都进入稳定状态,正确的呈现了 Storage Capacitor 所存储的信息 Bit。

    在这里插入图片描述

    2.1.4 Restore

    在完成 Sense 阶段的操作后,Bitline 线处于稳定的逻辑 1 电压 Vcc,此时 Bitline 会对 Storage Capacitor 进行充电。经过特定的时间后,Storage Capacitor 的电荷就可以恢复到读取操作前的状态。

    在这里插入图片描述

    最后,通过 CSL 信号,让 Tc1 和 Tc2 进入导通状态,外界就可以从 Bitline 上读取到具体的信息。

    2.1.5 Timing

    整个 Read Operation 的时序如下图所示,其中的 Vcc 即为逻辑 1 所对应的电压,Gnd 为逻辑 0。

    在这里插入图片描述

    3. Write Operation

    Write Operation 的前期流程和 Read Operation 是一样的,执行 Precharge、Access、Sense 和 Restore 操作。差异在于,在 Restore 阶段后,还会进行 Write Recovery 操作。

    3.1 Write Recovery

    在 Write Recovery 阶段时,通过控制 WE (Write Enable) 信号,让 Tw1 和 Tw2 进入导通状态。此时,Bitline 会被 input 拉到逻辑 0 电平,/Bitline 则会被 /input 拉到逻辑 1 电平。
    经过特定的时间后,当 Storage Capacitor 的电荷被 Discharge 到 0 状态时,就可以通过控制 Wordline,将 Storage Capacitor 的 Access Transistor 截止,写入 0 的操作就完成了。

    展开全文
  • DRAM 原理 3 :DRAM Device

    千次阅读 2018-04-03 15:31:54
    http://www.wowotech.net/basic_tech/321.html在前面的文章中,介绍了 DRAM Cell 和 Memory Array。 本文则以 SDR SDRAM 为例,描述 DRAM Device 与 Host 端的接口,以及其内部的其他...相关文章:DRAM 原理 1 :...
  • http://www.wowotech.net/basic_tech/343.html随着系统对内存容量、带宽、性能等方面的需求提高,系统会接入多个 DRAM Devices。...相关文章:DRAM 原理 1 :DRAM Storage CellDRAM 原理 2 :DRAM Memory ...
  • http://www.wowotech.net/basic_tech/309.html在 DRAM ...为了更清晰的描述 Cells 的组织方式,我们先对上一章节中的 DRAM Storage Cell 进行抽象,最后得到新的结构图,如下:相关文章:DRAM 原理 1 :DRAM ...
  • DRAM模块原理

    2020-11-12 17:31:53
    DRAM 的英文全称是"Dynamic RAM",翻译成中文就是"动态随机存储器"。。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM 必须隔一段时间刷新(refresh)一次。如果存储单元没有被刷新,数据就会丢失。 DRAM用于...
  • DRAM工作原理

    2012-10-30 20:37:55
    DRAM的基本知识 通俗易懂 看了就知道了
  • DRAM 内存原理

    千次阅读 2017-04-30 13:44:30
    一、RAM介绍ROM(Read Only Memory)只读存储器。断电后信息不丢失,如计算机启动用的BIOS芯片。存取速度很低,(较RAM而言)且不能改写。...RAM分为SRAM(静态随机存储器)和DRAM(动态随机存储器)两大
  • DRAM原理设计

    2018-01-12 11:08:00
    这里就针对系统中的内存,此处选用DRAM来进行说明,讲述下基本的原理设计,主要分为以下几个部分: (1)DRAM芯片引用 256Mb大小SDRAM:K4S560432E (2)DRAM引脚类型 A0-A12:地址总线 DQ0-DQ15:数据总线 ...
  • DRAM刷新电路原理

    千次阅读 2018-06-03 13:13:00
    原文:DRAM的电路模型及工作原理 DRAM(Dynamic Random Access Memory) 即动态随机存取存储器,它和 SRAM(静态随机存取存储器)一样都是常见的系统内存,也就是说我们个人电脑里的内存条通常都是DRAM。但是DRAM...
  • SRAM和DRAM工作原理介绍

    千次阅读 2020-10-23 20:24:26
    这篇博客介绍了一下SRAM和DRAM的工作原理,希望能和大家一起努力,共同进步~
  • 计算机组成原理例题Tag内容描述:1、1.说明SRAM的组成结构:与DRAM相比在电路组成上有什么不同? P902.DRAM存储器为什么要刷新?DRAM存储器采用何种方式刷新? P903.清华版教材P126习题中第四题 P924.设有一个1MB容量的...
  • 深入解析内存原理DRAM的基本原理

    千次阅读 2019-11-25 16:34:32
    前面我们知道了在一个简单的SRAM 芯片...DRAM 相对于SRAM 来说更加复杂,因为在DRAM存储数据的过程中需要对于存储的信息不停的刷新,这也是它们之间最大的不同。 1. 多路寻址技术 最早、最简单也是最重要的一款D...
  • 计算机组成原理第三章 第3讲 DRAM存储器DRAM存储器 * * 3.3 DRAM存储器 一、DRAM存储位元的记忆原理 SRAM存储器的存储位元是锁存器,它具有两个稳定的状态。 DRAM存储器的存储位元是由一个MOS晶体管和电容器组成的...
  • DRAM存储原理——Cell Storage

    千次阅读 2020-04-03 09:11:32
    DRAM全称动态随机存储器,Dynamic random access memory. 关于存储器,主要分为两大类。 一.易失性存储器RAM,又分为动态随机存储器DRAM和静态随机存储器SRAM; 二.非易失性存储器,比如磁带,光盘,以及我们后...
  • 本文主要内容:SRAM和DRAM的组成原理、高速缓冲存储器的组成原理、微型计算机中存储器的组成结构、存储器与CPU的连接及内存条的组成、高速缓冲存储器的工作原理
  • 存储器之存储器扩展和高级DRAM上一讲已经为大家介绍了MOS型读写存储器中的两种,即SRAM和DRAM存储器,这两种存储器是组成高速缓存Cache和内存的基本存储器,所以本部分将为大家介绍如何利用SRAM和DRAM存储器构建更大...
  • DRAM内存原理(一)内存基础

    万次阅读 2014-12-08 08:38:49
    DRAM 即动态内存,其基本单位是由一个晶体管和一个电容器组成。请看下图:  图只是DRAM一个基本单位的结构示意图:电容器的状态决定了这个DRAM单位的逻辑状态是1还是0,但是电容的被利用的这个特性也是它的...
  • 内存基本知识
  • DRAM的结构原理剖析

    千次阅读 2019-10-23 18:27:43
    These repeated row activations can be caused by repeatedly accessing a pair of DRAM locations that are in different rows of the same bank of DRAM. Knowing the DRAM address mapping is useful because ...
  • DRAM内存原理(二)结构和功能

    万次阅读 2014-12-08 09:03:22
    内存最基本的单位是内存“细胞”——也就是我们前面展示给大家DRAM基本单元示意图所示的部分,下面我们对这个部分通称为DRAM基本单元。每个DRAM基本单元代表一个“位”——Bit(也就是一个比特),并且有一个由列...
  • ③SRAM芯片需要有片选端CS,DRAM芯片可以不设CS,而用行选通信号RAS、列计算机组成原理教师用书130选通CAS兼作片选信号。④SRAM芯片的地址线直接与容量相关,而DRAM芯片常采用了地址复用技术,以减少地址线的数量。8.有...
  • SRAM与DRAM之存储原理

    千次阅读 2020-08-06 09:29:07
    SRAM的存储原理是靠双稳态电路存储器中最小的存储单元就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储单元,可以存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元
  • DRAM内存原理(三)带宽问题

    千次阅读 2014-12-08 09:31:03
    DRAM 写缓存的数据通道。具有高速前端总线( FSB = 200MHz )和写缓存, CPU 可以从芯片组的缓存中持续不断的得到信息,从而得以不间断的工作。芯片组只要在内存总线未饱和的情况下,专心缓存同主内存之间的数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,495
精华内容 4,198
关键字:

dram原理