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

news2024/9/23 7:25:32

        对于开发人员来说,需要根据实际场景和使用的需要,使用不同厂家,不同型号的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2156976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis 返回 Map 对象

一、场景介绍 假设有如下一张学生表: CREATE TABLE student (id int NOT NULL AUTO_INCREMENT COMMENT 主键,name varchar(100) NOT NULL COMMENT 姓名,gender varchar(10) NOT NULL COMMENT 性别,grade int NOT NULL COMMENT 年级,PRIMARY KEY (id) ) ENGINEInnoD…

LeetCode讲解篇之238. 除自身以外数组的乘积

文章目录 题目描述题解思路题解代码 题目描述 题解思路 对于该题,我们可以先使用一个循环记录所有非零元素的乘积结果和非零元素的个数 如果非零元素个数为0,则非零元素的乘积除以数组对应位置的数字就是除自身以外的数组的乘积如果非零元素个数为1&am…

新质农业——水肥一体化技术

橙蜂智能公司致力于提供先进的人工智能和物联网解决方案,帮助企业优化运营并实现技术潜能。公司主要服务包括AI数字人、AI翻译、埃域知识库、大模型服务等。其核心价值观为创新、客户至上、质量、合作和可持续发展。 橙蜂智农的智慧农业产品涵盖了多方面的功能&…

【人工智能学习】8_人工智能其他通用技术

知识图谱 在看影视剧或小说时,若其中的人物很多、人物关系复杂,我们一般会用画人物关系图谱来辅助理解人物关系。那什么是知识图谱呢? 知识是人类对信息进行处理之后的认识和理解;对数据和信息的凝练、总结后的成果。 将信息转…

MySQL-排名函数ROW_NUMBER(),RANK(),DENSE_RANK()函数的异同

MySQL-排名函数ROW_NUMBER(),RANK(),DENSE_RANK()函数的异同 前言 假设有如下表结构与数据,class_id表示班级,需求:现在要按照班级分组,每个班级的学生进行年龄从小到大排序 一、ROW_NUMBER()函数 ROW_NUM…

YOLO航拍车辆和行人识别

YOLO航拍车辆和行人识别 图片数量9695,标注为xml和txt格式; class:car,pedestrian,truck,bus 用于yolo,Python,目标检测,机器学习,人工智能,深度学…

软件测试分类篇(下)

目录 一、按照测试阶段分类 1. 单元测试 2. 集成测试 3. 系统测试 3.1 冒烟测试 3.2 回归测试 4. 验收测试 二、按照是否手工测试分类 1. 手工测试 2. 自动化测试 3. 手工测试和自动化测试的优缺点 三、按照实施组织分类 1. α测试(Alpha Testing) 2. β测试(Beta…

图像放大效果示例【JavaScript】

实现效果&#xff1a; 当鼠标悬停在小图&#xff08;缩略图&#xff09;上时&#xff0c;大图&#xff08;预览图&#xff09;会随之更新为相应的小图&#xff0c;并高亮当前悬浮的小图的父元素。 代码&#xff1a; 1. HTML部分 <!DOCTYPE html> <html lang"z…

Nginx简介;Nginx安装

一&#xff0c;Nginx简介 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;在BSD-like 协议下发行。是一个高性能的HTTP和反向代理web服务器 &#xff0c;同时也提供了IMAP/POP3/SMTP服务。 其特点是占有内存少…

OpenCV特征检测(8)检测图像中圆形的函数HoughCircles()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在灰度图像中使用霍夫变换查找圆形。 该函数使用霍夫变换的一种修改版本在灰度图像中查找圆形。 例子&#xff1a; #include <opencv2/imgp…

【解密 Kotlin 扩展函数】扩展函数的创建(十六)

导读大纲 1.1 为第三方的类添加方法: 扩展函数 1.1 为第三方的类添加方法: 扩展函数 Kotlin 的主题之一是与现有代码的平滑集成 即使是纯 Kotlin 项目,也是构建在 Java 库之上的 如 JDK、Android 框架和其他第三方框架 而当你将 Kotlin 集成到 Java 项目中时 你还要处理尚未或不…

Ubuntu清理内存导致的一系列错误及解决方法

文章目录 火狐浏览器和pycharm消失打不开 安不上 卸不掉后记 火狐浏览器和pycharm消失 打不开 安不上 卸不掉 清理内存后&#xff0c;火狐和pycharm的图标都消失了&#xff0c;在终端输入Firefox显示无法打开 应当先snap install firefox&#xff0c;然而snap install firefo…

【排序算法】插入排序_直接插入排序、希尔排序

文章目录 直接插入排序直接插入排序的基本思想直接插入排序的过程插入排序算法的C代码举例分析插入排序的复杂度分析插入排序的优点 希尔排序希尔排序&#xff08;Shell Sort&#xff09;详解希尔排序的步骤&#xff1a;希尔排序的过程示例&#xff1a;希尔排序的C语言实现举例…

啥?Bing搜索古早BUG至今未改?

首先&#xff0c;大家先看下面的一个数学公式。 Γ ( z ) ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)∫0∞​tz−1e−tdt. 看不懂&#xff1f;没关系&#xff0c;因为我也看不懂 这不是谈论的重点。 当你把鼠标光标移到公式的最开头&…

netflix是什么样的企业文化

netflix是什么样的企业文化 Netflix的企业文化以其“自由与责任”而闻名&#xff0c;这种文化理念在业界被广泛誉为管理的“黄金法则”。《奈飞文化手册》自2009年面世以来&#xff0c;便迅速成为全球企业管理的典范&#xff0c;吸引了超过1500万次的在线阅读与下载。Netflix的…

【C++篇】引领C++模板初体验:泛型编程的力量与妙用

文章目录 C模板编程前言第一章: 初始模板与函数模版1.1 什么是泛型编程&#xff1f;1.1.1 为什么要有泛型编程&#xff1f;1.1.1 泛型编程的优势 1.2 函数模板的基础1.2.1 什么是函数模板&#xff1f;1.2.2 函数模板的定义格式1.2.3 示例&#xff1a;通用的交换函数输出示例&am…

【网络】高级IO——Reactor版TCP服务器

目录 1.什么是Reactor 1.1.餐厅里的Reactor模式 2.Reactor的由来 2.1.单 Reactor 单进程 / 线程 2.2.单 Reactor 多线程 / 多进程 2.3.多 Reactor 多进程 / 线程 3.实现单 Reactor 单进程版本的TCP服务器 3.1.Connection类 3.2.TcpServer类 3.3.Connection的真正用处 …

深蓝学院-- 量产自动驾驶中的规划控制算法 小鹏

文章目录 0. 前言1.发展现状2.行车功能中难点问题及解决思路问题1&#xff1a;车道居中辅助&#xff0c;画龙&#xff0c;蛇行问题。问题2&#xff1a;外界环境扰动以及传感器信息缺失下的横向控制难点问题3&#xff1a;大坡度平稳停车 3. 泊车功能中难点问题及解决思路问题1&a…

Spring AOP - 配置文件方式实现

目录 AOP基础概念 示例1&#xff1a;模拟在com.text包及子包项下所有类名称以ServiceImpl结尾的类的所有方法执行前、执行后、执行正常后返回值、执行过程中出异常的情况 示例2&#xff1a;统计com.text包及子包项下所有类名称以DaoImpl结尾的类的所有方法执行时长情况 AOP基…

汽车总线之---- CAN FD总线

CAN FD 最高可支持8M/s的通信速率&#xff0c;从传统CAN到CAN FD的转换是很容易实施和推广的。 CAN FD报文的帧&#xff1a;标准帧&#xff0c;扩展帧 CAN FD 标准帧结构 CAN FD 报文的标准帧与CAN 报文的标准帧的区别 CAN FD 报文的标准帧与CAN FD报文的扩展帧的区别&…