深入理解DDR:DDR基本原理
创作时间:
作者:
@小白创作中心
深入理解DDR:DDR基本原理
引用
1
来源
1.
https://aijishu.com/a/1060000000489649
现代的SoC中,基本是以DDR为核心,整个系统的瓶颈也大多出在DDR,系统的主要目标也是合理的利用DDR,使得DDR效率最高,同时能满足各个组件的需求。所以,对DDR的了解和掌握,是芯片进阶和成为芯片架构必不可少的知识。作者以前虽然不断碎片化的了解和学习过DDR,但是还是不够系统,所以最近希望系统的再把DDR的知识点梳理一下。
先从最基本的原理开始。
什么是DDR
DDR(Double Data Rate)是指双倍数据速率同步动态随机存取内存(Double Data Rate Synchronous Dynamic Random Access Memory,简称DDR SDRAM)。它是一种用于计算机和其他电子设备的内存技术,旨在提高数据传输速率和系统性能。
DDR的核心技术在于:
- 时钟同步:DDR内存是同步的,这意味着数据传输与系统时钟同步。时钟信号用于协调内存控制器和内存模块之间的数据传输。
- 双倍数据速率:与传统的SDR内存相比,DDR内存能够在每个时钟周期的上升沿和下降沿各传输一次数据。这种双倍数据速率的机制使得DDR内存的数据传输速率是SDR内存的两倍。
SDR:在每个时钟周期的上升沿传输一次数据。
DDR:在每个时钟周期的上升沿和下降沿各传输一次数据。 - 预取架构:DDR内存采用了预取架构,可以在一个时钟周期内处理更多的数据。例如,DDR3内存通常预取8位数据,而DDR4内存预取16位数据。
DDR 分为三个主要类别,每个类别都有独特的功能,可帮助设计人员满足其目标片上系统 (SoC) 的功耗、性能和面积要求。下图显示了不同的 DDR 类别及其目标应用场景。
DDR的基本原理
我们先从最基本的组成单元来看。
DDR内存的基本单元是存储单元(Memory Cell),这些存储单元组成了存储阵列,构成了DDR内存的核心部分。
- 电容和晶体管:每个存储单元由一个电容和一个晶体管(通常是MOSFET)组成。电容用于存储电荷,表示数据的“0”或“1”状态;晶体管用于控制电容的充电和放电。
- 位线(Bit Line)和字线(Word Line):位线用于读取或写入数据,字线用于选择特定的存储单元。
存储单元和存储整列就是组成DDR的基本单元,所有复杂的DDR都是由基本的单元组成的。可以看到单个存储单元的结构非常简单,每一个基本单元由一个电容和一个晶体管构成(又称1T1C结构)。电容中存储电荷量的多寡,用于表示“0”和“1”。而晶体管,则用来控制电容的充放电。
由于电容会存在漏电现象。所以,必须在数据改变或断电前,进行周期性“动态”充电,保持电势。否则,就会丢失数据。因此,DRAM才被称为“动态”随机存储器。
所以DDR的基本操作有以下三种: - 读操作:当需要读取数据时,字线激活,对应的晶体管导通,电容上的电荷通过位线传输到读出放大器(Sense Amplifier)。读出放大器将微弱的电信号放大,然后输出为标准的逻辑电平。
- 写操作:当需要写入数据时,字线激活,对应的晶体管导通,位线上施加相应的电压,使电容充电或放电,从而存储数据。
- 刷新:由于电容会逐渐泄漏电荷,需要定期刷新存储单元,以保持数据的准确性。刷新操作通常由内存控制器自动管理。
另外一种我们常见的存储单元是SRAM,这个是芯片设计中必不可少的单元。SRAM的基本单元如下所示:
SRAM(静态随机存取存储器)的基本单元由至少六个场效应晶体管组成。其中,四个场效应晶体管(M1, M2, M3, M4)构成两个交叉耦合的反相器,这两个反相器共同形成一个锁存器(触发器)。另外两个场效应晶体管(M5, M6)作为控制开关,用于连接位线(Bit Line),以便进行读写操作。通过这些场效应管的协同工作,SRAM能够在通电时稳定地锁住二进制数0和1。因此,SRAM被称为“静态随机存储器”。
DDR和SRAM的基本单元对比如下:
可以看到,DRAM cell比SRAM cell 结构简单很多,使用的晶体管也少很多。晶体管就是面积,当容量扩大到KB,MB,GB级别的时候,这个差别就非常大了。所以SRAM一般都是比较昂贵的,DDR就便宜很多,
主要是出于成本考虑,虽然DRAM有各种缺点,但是人家便宜量大,适合量产和商用。所以SRAM主要用在Cache,偏上缓存,一个芯片放上64MB, 128MB就已经很豪横了。但是DDR现在都是4GB, 8GB,16GB起步了。这也是DDR成为主存的主要原因。
在AI芯片初期,大模型还没出来,当时的趋势是放大量的片上SRAM,以减少对DDR的使用,但是当大模型出来之后,这条路就走不通了,因为即使放上128MB的SRAM, 对于大模型动辄几GB的参数来说,都是杯水车薪。采用速度更高的存储,如HBM;提高访问速度这些才是唯一出路。
DDR的组织结构
我们平时说的DDR颗粒也是一种芯片:
也就是我们说的内存颗粒,而多个内存颗粒组成内存模组或者内存条,就是计算机里面使用的内存了。
如果以内存颗粒,也就是chip为分界点,那么板级的概念是:Channel,DIMM, Rank
而Chip内部就是微观的概念是:Bank,Row,Column,Page,以及最小的Memory Cell。
从大到小的组织层级如下:
这里chip就是内存颗粒了。比如一个Intel I7 CPU连接两个channel的DDR连接图如下:
这里,Intel I7 CPU内部有内存控制器, 内存条在外部:
Memory Controller
- 负责管理内存的读写操作,包括地址生成、时序控制、刷新管理等。
Channel - 内存控制器与内存模块之间的一条独立的通信路径。每个通道可以独立地进行读写操作,提高内存的并行处理能力。一个Channel对应一个内存控制器,有几个channel,CPU内部就必须有几个控制器。
DIMM: - 双列直插式内存模块,是最常见的内存模块类型之一。DIMM由多个内存芯片组成,安装在主板上的内存插槽中。
- DIMM的位宽是指每次数据传输的宽度,通常为64位(对于大多数服务器和台式机)。为了满足64位的数据传输要求,DIMM上的芯片数量和规格需要匹配。芯片规格有x4、x8和x16三种,分别提供4位、8位和16位的数据宽度,其中x16规格较少使用。为了达到64位的数据宽度,使用x4规格时需要16个芯片,使用x8规格时需要8个芯片,使用x16规格时需要4个芯片。DIMM可以是单面的(Single-Sided DIMM),所有芯片分布在DIMM的一侧,例如使用8个x8芯片;也可以是双面的(Double-Sided DIMM),芯片分布在DIMM的两侧,例如使用16个x4芯片,每侧8个。
- 还有其他内存模块:SO-DIMM:小型双列直插式内存模块,常用于笔记本电脑和小型设备。UDIMM:无缓冲双列直插式内存模块,直接与内存控制器通信。RDIMM:注册双列直插式内存模块,通过寄存器与内存控制器通信,适用于服务器。LRDIMM:负载减少双列直插式内存模块,通过缓冲器减少内存控制器的负载,适用于高性能服务器。
Rank - 定义:Rank是内存模块中的一个独立的存储区域,可以独立地响应内存控制器的命令。Rank是DIMM中的一个独立的存储区域,可以独立地响应内存控制器的命令。一个DIMM可以包含一个或多个Rank。
- 组成:一个Rank由多个内存芯片(Chips)组成,这些芯片并联在一起,共享同一组地址和控制信号。每个Rank需要提供64位的数据宽度,因此,使用x8规格的芯片时,一个Rank需要8个芯片。
- 为了和逻辑BANK相区分,也经常把RANK称为Physical BANK(物理BANK),简写为P-BANK。逻辑Bank,简写为L-BANK。
Chip - 定义:芯片是内存模块中的最小物理单位,包含存储阵列和控制逻辑。
- 组成:每个芯片包含多个银行(Banks)。
- 存储阵列:每个芯片包含多个存储单元的存储阵列。
- 控制逻辑:包括地址解码器、读出放大器、写驱动器、时序控制器等。
- I/O接口:用于与外部设备(如内存控制器)进行数据传输。
Bank - 定义:Bank是内存芯片中的一组存储阵列,可以独立地进行行激活和列访问操作。一个芯片可以包含多个Bank。Bank就是之前提到的Memory Array
- 数量:DDR3内存通常有8个银行,DDR4内存通常有16个银行,DDR5内存则更多。
行(Row)和列(Column) - 定义:存储单元按照行和列的二维数组排列,形成存储阵列。
- 行激活:行地址被发送到内存芯片,激活相应的行(页)。
- 列访问:行激活后,列地址被发送到内存芯片,选择特定的列。
页(Page) - 定义:行的另一种称呼,指的是一行存储单元。
一种DDR层次结构示意图如下所示
System | +-- Memory Controller | | | +-- Channel 1 | | | | | +-- DIMM 1 | | | | | | | +-- Rank 1 | | | | | | | | | +-- Chip 1 | | | | | | | | | | | +-- Bank 0 | | | | | +-- Bank 1 | | | | | ... | | | | | +-- Bank 7 (DDR3) / Bank 15 (DDR4) | | | | | | | | | +-- Chip 2 | | | | | | | | | | | +-- Bank 0 | | | | | +-- Bank 1 | | | | | ... | | | | | +-- Bank 7 (DDR3) / Bank 15 (DDR4) | | | | ... | | | | +-- Chip N | | | | | | | | | +-- Bank 0 | | | | +-- Bank 1 | | | | ... | | | | +-- Bank 7 (DDR3) / Bank 15 (DDR4) | | | | | | | +-- Rank 2 | | | ... | | | | | +-- DIMM 2 | | | | | +-- Rank 1 | | | ... | | | +-- Channel 2 | ... | +-- Other Components
下图可以很好的解释这些层次结构的关系:
热门推荐
木耳的生长环境是什么?哪些地方条件最适合木耳生长?
丹参和三七通血管,哪个会更好?能不能长期食用?一文科普答案
如何查询房屋抵押状态?查询过程中有哪些便捷的方法和渠道?
如何查询房屋抵押状态?这种查询方式有哪些途径?
如何应对全球经济波动?这种应对策略对国家经济有什么影响?
盘点方大同写给好友的经典歌曲:从陈奕迅到薛凯琪的15首佳作
什么是金银花茶
猎豹高速奔跑后为何必须躺平?散热缺陷是如何演化出来的
常常吃药、长年吃药、吃很多药?老年人,当心药物性肝损伤
经济合同纠纷起诉找仲裁还是法院?一文详解两者优劣与费用标准
电脑突然无法开机怎么解决?六个具体的原因及解决方法
电脑显示异常怎么办?从显卡驱动到硬件检测的全面解决方案
红毛丹的营养价值:一种热带水果的健康密码
遇到癫痫发作,请您这么做
壬水和戊土的关系:五行学说中的相生相克
“早C晚A”水果搭配 从内而外滋养肌肤
相亲约在哪里见面好?第一次相亲地点选择指南
营造温馨和谐的家庭环境,促进孩子健康成长
什么样的顶账房不可以买?一文详解顶账房购买风险与房屋优先购买权
10 种为大脑充电的方法,让你保持高效的学习力
寒假尾声:家长应如何平衡孩子的学习与娱乐?
风险需求如何识别产品
康熙帝的儿子们:各自命运的荣辱兴衰
美国本科毕业后读MBA的路径与选择
廉洁小故事:古代清官的光辉典范
纳米氧化镁将在能源领域掀起一场革命
装修增项与漏项大揭秘:省钱必备实用技巧汇总
解锁视觉语言:如何高效学习并运用图像描述技巧
拧不开瓶盖、手抖、说话不清……这些“小问题”竟是渐冻症的信号?
出现蛋白尿,饮食要注意