[DDR5 Jedec] 读操作 Read Command 精讲

2024-06-13 23:36

本文主要是介绍[DDR5 Jedec] 读操作 Read Command 精讲,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

依公知及经验整理,原创保护,禁止转载。

专栏 《深入理解DDR》

Read

读取命令也可以视为列读取命令。当与正确的bank地址和列地址结合使用时,通过激活命令(行访问)移动到检测放大器中的数据, 现在被推送到数据总线上。 DRAM 通常包括一个“读取和自动预充电”命令,该命令执行列读取,然后关闭/预充电行。这样,就不需要发出单独的预充电命令。如果需要访问同一行,但需要访问不同的列,则根本不会发出预充电,并且该行将保持打开状态。要使用 read 命令,CS 和 CAS 被拉低,而 RAS 和 WE 被拉高。

在这里插入图片描述
图. 高亮显示Active 和 读操作
图中黄色高亮的行, 是 Active 操作对象。紫色高亮的列, 是读操作的对象。

1.1 Read 过程

在这里插入图片描述
图. 读操作

上图是 BL 为 8 的一组 Read 操作。分为两步骤

  1. Act 命令线激活 bank 某一行
  2. 第二步是 RDA(Read 自动预充电读取), 当连续读长度达到 BL(8)后, 读完成, 并自动预充电。

地址位寄存器以及“读取”或“写入”命令用于选择用于突发操作的列。此步骤是 CAS 或列地址选通。由于每个组只有一个感应放大器,因此在移动到第二个行之前必须停用第一个行。这是使用 PRECHARGE 命令完成的。还有其他方便的命令替代品,如 RDA(使用自动预充电读取)和 WRA(使用自动预充电写入)命令,它们会自动处理激活和停用。

在这里插入图片描述
图 完整的 Burst Length 的 Read Cycle

1.2 Read 时序

Read 时序分三类参数, 分别是 读取时序,时钟到DS (data strobe) 关系,DS 到 Data 的关系

读取时序

参数功能
CL (CAS Latency)CAS 是 Column-Address-Strobe,即当列地址出现在行上时。CL 是内部 READ 命令与输出数据第一位之间的延迟(以时钟周期为单位)。
AL (Additive Latency)使用 AL,设备允许在 ACTIVATE 命令之后立即发出 READ 命令
RL (Read Latency)总体读取延迟
tCCD_S & tCCD_L与Bank访问同一Bank组内的银行相比,访问不同bank group 之间的时间延迟更少。对不同bank group 的访问命令需要间隔的tCCD_S(短时间)延迟,而同一bank group 内的访问命令要间隔tCCD_L(长时间)延迟。

在这里插入图片描述
图:对不同Bank Group的连续读取。(来源:美光数据表)

在这里插入图片描述
图:tCCD_S 和 tCCD_L 的图示(来源:美光数据表)

tDQSCK (MIN/MAX)描述数据选通边沿相对于时钟CK_t的允许范围
tDQSCK是上升频闪边沿相对于CK_t的实际位置
tQSH描述数据选通高脉冲宽度
tQSL数据选通低脉冲宽度。

在这里插入图片描述
图:CK-DQS 和 DQS-DQ 关系图示(来源:美光数据表)

参考

1https://www.systemverilog.io/design/ddr4-basics/#read

在这里插入图片描述

免责声明

一. 本博客及动态出现的信息,均仅供参考。本人将尽力以求所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性。本人对有关资料所引致的错误、不确或遗漏,概不负任何法律责任(包括侵权责任、合同责任和其它责任)。

二. 任何透过本博客及动态的网页或链接及得到的资讯、产品及服务,本人概不负责,亦不负任何法律责任。

三. 本博客及动态使用的信息,网页或链接(图片)可能由于本人疏忽未标明作者和出处,如有侵权,请立即与本人取得联系。

四. 本博客及动态支持保护知识产权,任何单位或个人认为本博客及动态中的网页或链接内容可能涉嫌侵犯其知识产权,应该及时向本人提出,并提供侵权情况证明。本人会依法尽快删除相关内容或断开相关链接。

五. 本博客内容仅供学习交流,禁止商用。

六. 阅读并使用本博客及动态包括其提供的网页链接及资源时,即代表您已阅读并同意本免责声明的全部内容。如有异议,请立刻关闭本网页并屏蔽本人动态并停止使用。

这篇关于[DDR5 Jedec] 读操作 Read Command 精讲的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1058745

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允

PyCharm接入DeepSeek实现AI编程的操作流程

《PyCharm接入DeepSeek实现AI编程的操作流程》DeepSeek是一家专注于人工智能技术研发的公司,致力于开发高性能、低成本的AI模型,接下来,我们把DeepSeek接入到PyCharm中... 目录引言效果演示创建API key在PyCharm中下载Continue插件配置Continue引言