从零开始讲DDR(5)——读懂Datasheet

        对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的DDR,虽然原理上大同小异,但是还是有一些细节上的需要注意的地方,接触一个新的DDR芯片,首先就是需要找到对应的datasheet,而能都读懂datasheet,也是一个硬件工程师的必备技能。


一、基础信息

        学习阅读datasheet,最直接的方式当然是找到一个datasheet的示例,这里我采用的是MT40A1G16WBU-083E的DDR,这个名字看着就很长,但是其实每一段都有其对应的含义,阅读完本文,我们就可以做到仅仅根据名字就了解这个DDR的大致信息了。

        以上就是这块DDR的datasheet的第一页内容。首先我们从左上角的商标就可以获知这是一块来自 Micron 的DDR。

1.1 厂家

        这里我们介绍几家知名的DDR厂家:

  • Micron Technology, Inc:全球领先的半导体制造公司,专注于存储和半导体技术,特别是动态随机存取存储器(DRAM)、闪存(NAND Flash)和固态硬盘(SSD)等产品。Micron的存储解决方案广泛应用于消费电子、计算机、数据中心、网络、移动设备、汽车、工业和其他专业应用领域。
  • Samsung Electronics(三星电子):全球最大的内存芯片制造商之一,生产各种类型的存储器,包括DDR3、DDR4和DDR5。三星的内存技术领先,并且在手机、服务器、PC等市场中占据重要地位。
  • SK Hynix:韩国的另一大内存制造商,全球第二大存储芯片制造商。SK Hynix在DRAM市场占有较大份额,提供高性能的存储解决方案。
  • Kingston Technology(金士顿):金士顿是全球知名的内存模块制造商,虽然它不生产芯片,但它将各种内存芯片集成到自己的模块中,提供广泛的内存解决方案,特别是在消费市场和服务器市场中很受欢迎。

1.2 TwinDie™ 1.2V DDR4 SDRAM MT40A1G16 – 64 Meg x 16 x 16 Banks x 1 Ranks

        Micron的TwinDie™技术能够将两个独立的存储芯片封装在一个模块中,提高了内存的密度和容量,通常用于高性能应用场景,如服务器和高端计算系统。

        1.2V是DDR4的对应电压,我们使用的这块DDR就是属于DDR4类型。 

版本发行年份电压 (V)数据速率 (MHz)带宽 (MB/s)引脚数量 (DIMM)特点
DDR120002.5200 - 4001600 - 3200184DDR1是第一代双倍数据速率内存。它通过双边缘的数据传输,提供了比传统SDRAM快一倍的传输速率。
DDR220031.8400 - 8003200 - 6400240DDR2进一步提高了数据速率,优化了信号传输,支持更高的时钟频率,并通过降低电压实现了更好的功耗控制。
DDR320071.5800 - 16006400 - 12800240DDR3提供了更高的频率和带宽,并支持更大的内存模块容量。与DDR2相比,DDR3在性能和能效上都有显著提升。
DDR420141.21600 - 320012800 - 25600288DDR4在能效、数据速率和容量方面有显著提高,能够支持更大的内存模块。它的时钟频率更高,延迟优化,满足了当代计算机和服务器对高带宽的需求。
DDR520201.13200 - 640025600 - 51200288DDR5在数据速率、带宽和效率上都有极大的提升,尤其适合高性能计算、AI、大数据等对内存有极高需求的应用。DDR5还引入了更智能的电源管理和更高的能效优化。

        MT40A1G16 – 64 Meg x 16 x 16 Banks x 1 Rank 各个部分的解释:

  • 64 Meg:每个bank的存储密度为64 Mbit(兆bit)。

  • x16:数据位宽为16位(bit)。每次数据传输时,16位数据会并行传输。

  • 16 Banks:芯片包含16个独立的bank。DDR4 SDRAM中,更多的bank可以提高内存的并发访问性能。

  • 1 Rank:内存中只有1个rank。rank指的是内存模块中的独立访问的颗粒组。1个rank意味着内存条上所有颗粒是同时工作的。

        总容量计算:64 Meg×16(bit宽度)×16(banks)=16384 Mbits = 2048 MB=2 GB。MT40A1G16 这颗DDR4 SDRAM芯片的总容量为 2GB。

1.3 Description

        描述部分会给出一些关于本芯片的基本介绍:“16Gb (TwinDie™) DDR4 SDRAM 使用了美光的 8Gb DDR4 SDRAM die;通过将两个x8组合成一个x16。它的信号类似于单die的x16设计,额外增加了一个ZQ连接以实现更快的ZQ校准,并且需要一个BG1控制信号用于x8的寻址。有关未在本文档中包含的规格,请参考美光的 8Gb DDR4 SDRAM 数据手册(x8选项)。基础部件编号 MT40A1G8 的规格与TwinDie制造部件编号 MT40A1G16 相对应。”

1.4 Features

        特征部分会给出一下基本的参数信息,一般来说,对于开发人员,这部分不需要特别关注。

1.5 Options & Marking

         这部分就给出了DDR名字的组成含义,这部分可以结合DDR Part Numbers部分一起看,但是我们使用的这块DDR手册中没有这部分,我们从其他的datasheet里找一张图来暂时用一下:

        现在我们有了2个DDR的名字:MT40A1G16WBU-083E(我们现在的DDR4),MT41J256M8DA-125:K(我们刚刚为了看DDR Part Numbers引入的一块DDR3)。

NameType
Configuration
Package
Speed Grade
Temperature
Revision
MT40A1G16WBU-083EMT40A1G16WBU-083ENone
A
:B, D
:H
MT41J256M8DA-125:KMT41J256M8DA-125None:K

1.5.1 Type

        区分不同的系列,有时候相同系列的不同产品会共用一本datasheet。

1.5.2 Configuration

        配置内容,我们可以从中获知这块DDR的组成结构。不过有一个需要注意的点,以MT40A1G16WBU-083E为例,我们之前计算的DDR容量是64 Meg×16(bit宽度)×16(banks)=16384 Mbits = 2048 MB=2 GB,到这里为什么要用1G表示呢?

        这是因为1G16表示的是16根数据线16bit,对应的容量就是1G * 16 = 16Gbit = 2G Byte,与我们之前计算的是一致的。这里的1G可以有一个抽象化的理解,如果我们把整个DDR展平,那么1G就是深度,16就是数据位宽。

1.5.3 Package

        封装形式,了解就行

1.5.4 Speed Grade

        我们首先解释一下两个参数的含义:

  • CL(CAS Latency):表示内存从接收到命令到数据实际可用之间的时钟周期数。CL值越低,延迟越低,性能越好,但较高的时钟频率通常会使用较高的CL值以维持稳定性。
  • Cycle Time(也可以表示成tCK):指的是内存时钟每个周期所需的时间。单位为纳秒(ns),周期越短,内存的时钟频率越高,数据传输速度也越快。

        接下来,我们就可以查询Datasheet获取DDR的时钟频率了。

  • -083E表示:0.833ns @ CL = 16 (DDR4-2400),时钟周期为1/0.833ns = 1200MHZ
  • -125表示:tCK = 1.25ns, CL = 11,时钟周期为1/1.25ns = 800MHZ

        这是DDR内存的时钟频率(实际数据传输率是该频率的两倍,因为DDR(Double Data Rate)在时钟的上升沿和下降沿都传输数据)。 

1.5.5 Temperature & Revision

        这个我们就不关心啦

二、时序及地址信息

        针对不同的速度等级,DDR Datasheet会给出不同的时序参数信息表格:

2.1 时序关键参数解释

  • Data Rate (MT/s):数据传输速率,以每秒百万次传输(MT/s)为单位,表示DDR内存每秒可以传输的数据量。DDR4内存的典型数据速率如2400 MT/s、2666 MT/s、2933 MT/s等。我们之前提到的实际数据传输率是DDR时钟频率的两倍,因为DDR(Double Data Rate)在时钟的上升沿和下降沿都传输数据,就是指的这个速率。
  • Target tRCD-tRP-CL: 其实就是把后面的3个参数连起来的一种表示方式,单位应该是时钟周期
  • tRCD(Row to Column Delay):行到列延迟,表示激活一个内存行后,到访问该行中某一列所需的最小时钟周期数。单位为纳秒(ns)。
  • tRP(Row Precharge Time):行预充电时间,表示关闭当前正在访问的行,并准备访问另一行所需的时间。单位为纳秒(ns)。
  • CL(CAS Latency):CAS延迟,表示从发送读命令到数据实际可用之间的时钟周期数。单位为纳秒(ns)。

        tRCD、tRP、CL 的值是根据时钟周期时间(tCK)计算的。有了Target tRCD-tRP-CL后,我们就可以计算出后面的每个参数。

        例如-083E的Target tRCD-tRP-CL为16-16-16,tCK = 0.833ns,tRCD = 16 * tCK = 13.328ns,其他两个参数也是一样计算。

2.2 地址信息

参数中文解释
Configuration64 Meg x 16 x 16 banks x 1 rank每个bank有64 Mbit的存储,数据宽度为16位,共16个bank,1个rank
Bank group addressBG[1:0]2位bank组地址,表示有4个bank组
Bank count per group4每个bank组包含4个bank
Bank address in groupBA[1:0]2位bank地址,用于选择每个bank组中的具体bank
Row addressingA[15:0]16位行地址,共64K行(65536个行)
Column addressingA[9:0]10位列地址,共1K列(1024个列)
Page size1KB每个页面大小为1KB,行与列的组合决定页面大小
Data widthx16数据宽度为16位,意味着每次传输16位(2字节)数据
Rank count1该内存芯片包含1个rank
DDR5的时序测试是验证DDR5内存能否按照预期工作的重要步骤。以下是有关DDR5时序测试的方法: 1. 时序测试仪器:DDR5时序测试需要使用专业的测试仪器,例如Agilent 16800系列逻辑分析仪和Keysight 9000系列示波器等。这些仪器可以捕获内存的时序信号并分析它们是否符合标准。 2. 时序测试软件:在时序测试时,需要使用专业的测试软件,例如Cadence Sigrity PowerSI和Mentor Graphics HyperLynx等。这些软件可以模拟内存的时序信号并计算出相关的时序参数。 3. 时序测试步骤:时序测试通常包括以下步骤: - 设置测试仪器:将测试仪器连接到内存模块,并设置相应的测试参数,例如时钟频率、时序参数等。 - 执行测试:运行测试软件,模拟内存的时序信号,并记录测试结果。测试软件会计算出相关的时序参数,例如延迟、时序偏差等。 - 分析测试结果:分析测试结果以确定内存是否符合相关的时序标准。如果测试结果超出了标准规定的范围,需要调整相应的时序参数。 - 重复测试:根据需要,重复测试多次以确保测试结果的准确性和可靠性。 总之,DDR5的时序测试是验证内存能否按照预期工作的重要步骤。在测试时,需要使用专业的测试仪器和软件,并按照固定的步骤进行测试。测试结果应该符合相关的时序标准,以确保内存能够正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

apple_ttt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值