CN109582615B - 一种ddr3控制*** - Google Patents
一种ddr3控制*** Download PDFInfo
- Publication number
- CN109582615B CN109582615B CN201811426464.3A CN201811426464A CN109582615B CN 109582615 B CN109582615 B CN 109582615B CN 201811426464 A CN201811426464 A CN 201811426464A CN 109582615 B CN109582615 B CN 109582615B
- Authority
- CN
- China
- Prior art keywords
- command
- current
- ddr3
- read
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
本发明公开了本发明一种DDR3控制***,包括DDR3控制器,所述控制器通过PHY模块连接至DDR3存储器,所述PHY模块输出串行化命令给所述DDR3存储器,所述DDR3存储器的操作命令包括ACTIVATE激活命令、READ读取命令、WRITE写入命令、NOP空操作命令、PRECHARGE预充电命令和REFRESH刷新命令,其中,如图1中虚线框所示,所述DDR3控制器包括命令仲裁模块、命令解析模块以及PHY接口模块,所述命令仲裁模块用于仲裁用户读写DDR3存储器的请求以及定时刷新DDR3的请求,并生成新的命令,所述命令解析模块接收所述命令仲裁模块输出的命令,所述命令解析模块计算出当前执行命令的种类以及对应时标并按时标方式组织形成执行命令,所述PHY接口将所述执行命令适配成PHY模块需要的命令形式。确保工作的可靠节约资源。
Description
技术领域
本发明涉及芯片存储设计技术领域,特别是一种DDR3控制***。
背景技术
随着半导体技术的发展,存储器技术也得到飞速发展,其中DDR3内存颗粒以其大容量、高速、运行稳定等优点成为目前存储器的主流。DDR3内存颗粒增加了许多新的技术。例如:引入飞跃(FLY_BY)的拓扑结构,提高信号的完整性;提供写入均衡(Write Leveling)和读取均衡(Read Leveling)机制,用以补偿FLY_BY结构带来的数据、时钟信号和选通信号之间的偏斜;增加ZQ校准引脚校准片内终结电阻(ODT)和输出驱动器。
DDR3控制器主要完成对DDR3内存颗粒的数据读写,包括DDR3控制器和DDR3物理层(PHY)两部分。通常采用基于FPGA的DDR3控制器进行,但是在此过程中,软核实现时使用LUT逻辑资源较多。
发明内容
本发明所要达到的目的就是提供一种DDR3控制***,确保工作的可靠稳定性,又易于满足逻辑电路的时序约束要求,节约资源。
为了达到上述目的,本发明采用如下技术方案:一种DDR3控制***,包括DDR3控制器,所述控制器通过PHY模块连接至DDR3存储器,所述PHY模块输出串行化命令给所述DDR3存储器,所述DDR3存储器的操作命令包括ACTIVATE激活命令、READ读取命令、WRITE写入命令、NOP空操作命令、PRECHARGE预充电命令和REFRESH刷新命令,其中,所述DDR3控制器包括命令仲裁模块、命令解析模块以及PHY接口模块,所述命令仲裁模块用于仲裁用户读写DDR3存储器的请求以及定时刷新DDR3的请求,并生成新的命令,所述命令解析模块接收所述命令仲裁模块输出的命令,所述命令解析模块计算出当前执行命令的种类以及对应时标并按时标方式组织形成执行命令,所述PHY接口将所述执行命令适配成PHY模块需要的命令形式。
进一步的,所述命令仲裁模块生成新的命令中包括4比特的指示信号,所述4比特的指示信号为ACT指示信号、PRE指示信号、REF指示信号以及R/W指示信号。
进一步的,ACT指示信号为1,表示当前读写命令含有ACTIVATE激活命令,否则,REF指示信号为1,表示当前命令为REFRESH刷新命令,否则当前命令为不含ACTIVATE激活命令的读写命令,PRE指示信号用于指示当前的读写命令是否需要带AUTO-PRECHARGE,R/W指示信号指示高读低写。
进一步的,所述指示信号产生的规则为:ACT指示信号:当前命令为REFRESH刷新命令或者当前读写命令带有AUTO-PRECHARGE时,下一个读写命令必须带有激活命令,即下一个读写命令中ACT指示信号置高;PRE指示信号:当前命令为刷新命令或者下一个读写命令非同一BANK存储的同一行或者后续没有读写命令,则PRE指示信号置高;REF指示信号:当前仲裁的是刷新命令请求时,则REF指示信号置高;R/W指示信号:直接使用当前命令的读写指示。
进一步的,所述命令仲裁模块生成新的命令中还包括ADDR_DATA、BANK、ROW和COL信号,ADDR_DATA表示写入DDR3存储器的数据的读地址,BANK、ROW和COL为DDR3存储器的地址。
进一步的,所述命令解析模块收到命令仲裁模块送过来的命令,计算出当前命令的种类及对应时标,当前命令计算完成后需要锁存状态信息供下次计算使用。
进一步的,需要锁存记录的状态信息包括:按BANK记录当前ACTIVATE命令的时标;按BANK记录当前READ/WRITE命令的R/W指示信号;当前READ/WRITE命令的时标;当前READ/WRITE命令的R/W指示信号;当前READ/WRITE命令的BANK信号;当前READ/WRITE命令的ROW信号;当前READ/WRITE命令的PRECHARGE时标。
进一步的,根据数据总线的情况来决定当前READ/WRITE命令的时标,从而推断第一组ACTIVATE的时标;根据ACTIVATE命令的3种限制,来决定当前ACTIVATE的时标,从而推断第二组ACTIVATE的时标,通过第一组ACTIVATE的时标与第二组ACTIVATE的时标取出最大组,其对应值的READ/WRETE时标为当前命令产生的最终DDR3存储器时标命令。
进一步的,根据ACTIVATE命令的3种限制为:当前bank的前一个PRECHARGE时标加上PRECHARGE命令周期tRP,就为当前的ACTIVATE时标;按时标存储各命令的RAM的读地址加上4个周期,就为当前的ACTIVATE时标;四个ACTIVATE命令之间的窗口大小tFAW限制算出的时标,就为当前的ACTIVATE时标。
进一步的,按时标方式组织执行命令指:以DDR3存储器接口时钟的1/4频率产生操作命令,一次产生4个命令,将READ/WRITE命令放置在4n的位置,将ACTIVATE命令放置在4n+2的位置,将NOP命令放置在4n+1和4n+3的位置,REFRESH命令放置在ACTIVATE命令所在的位置,其中n为自然数。
采用上述技术方案后,本发明具有如下优点:通过DDR3控制器将用户命令翻译为控制器操作命令,采用时标的方式,按照1:4速率并行产生执行命令的方法,并按照时隙进行组织,确保工作的可靠稳定性,又易于满足逻辑电路的时序约束要求,节约资源。
附图说明
下面结合附图对本发明作进一步说明:
图1为本发明DDR3控制***实施例的框架示意图;
图2为本发明DDR3控制***实施例中时隙划分示意图;
图3为本发明DDR3控制***实施例中命令初步解析示意图。
具体实施方式
实施例:
如图1所示,本发明一种DDR3控制***,包括DDR3控制器,所述控制器通过PHY模块连接至DDR3存储器,所述PHY模块输出串行化命令给所述DDR3存储器,所述DDR3存储器的操作命令包括ACTIVATE激活命令、READ读取命令、WRITE写入命令、NOP空操作命令、PRECHARGE预充电命令和REFRESH刷新命令,其中,如图1中虚线框所示,所述DDR3控制器包括命令仲裁模块、命令解析模块以及PHY接口模块,所述命令仲裁模块用于仲裁用户读写DDR3存储器的请求以及定时刷新DDR3的请求,并生成新的命令,所述命令解析模块接收所述命令仲裁模块输出的命令,所述命令解析模块计算出当前执行命令的种类以及对应时标并按时标方式组织形成执行命令,所述PHY接口将所述执行命令适配成PHY模块需要的命令形式。
本实施例汇中,其中预充电命令有读写自带PRECHARGE和独立PRECHARGE两种。本发明中PRECHARGE采用READ_WITH_AUTO_PRECHARGE和WRITE_WITH_AUTO_PRECHARGE实现,不单独实施PRECHARGE命令,同时BANK切换时主动关闭当前BANK,即操作新的BANK时必须带有ACTIVATE命令。本发明适用于DDR3器件的burst length(BL)参数为8的情况。当连续读或写同一BANK同一行时,DDR3命令总线上,每4个时钟周期出现一个READ/WRITE命令,当出现读写切换、行列地址冲突时,命令间隔会更大。ACTIVATE命令与READ/WRITE命令的时标由tRCD确定,ACTIVATE命令应先于READ/WRITE命令给出。
本发明利用上述操作特性,以DDR3接口时钟的1/4频率产生操作命令,一次产生4个命令。如图2所示,命令的排布情况为,将READ/WRITE命令放置在4n(n=0、1、2、3…)的位置,将ACTIVATE命令放置在4n+2的位置,将NOP命令放置在4n+1和4n+3的位置,REFRESH命令放置在ACTIVATE所在的位置。
在本实施例中,命令仲裁模块用于仲裁用户读写DDR3存储器的请求和定时刷新DDR3存储器的请求,从而产生新的命令,所述命令仲裁模块生成新的命令中包括4比特的指示信号,所述4比特的指示信号为ACT指示信号、PRE指示信号、REF指示信号以及R/W指示信号。
4比特信号的定义为:ACT指示信号为1,表示当前读写命令含有ACTIVATE激活命令,否则,REF指示信号为1,表示当前命令为REFRESH刷新命令,否则当前命令为不含ACTIVATE激活命令的读写命令,PRE指示信号用于指示当前的读写命令是否需要带AUTO-PRECHARGE,R/W指示信号指示高读低写。
所述4比特信号的指示信号产生的规则为:ACT指示信号:当前命令为REFRESH刷新命令或者当前读写命令带有AUTO-PRECHARGE时,下一个读写命令必须带有激活命令,即下一个读写命令中ACT指示信号置高;PRE指示信号:当前命令为刷新命令或者下一个读写命令非同一BANK存储的同一行或者后续没有读写命令,则PRE指示信号置高;REF指示信号:当前仲裁的是刷新命令请求时,则REF指示信号置高;R/W指示信号:直接使用当前命令的读写指示。
在本实施例中,所述命令仲裁模块生成新的命令中还包括ADDR_DATA、BANK、ROW和COL信号,ADDR_DATA表示写入DDR3存储器的数据的读地址,BANK、ROW和COL为DDR3存储器的地址。
所述命令解析模块收到命令仲裁模块送过来的命令,计算出当前命令的种类及对应时标。当前命令计算完成后需要锁存状态信息供下次计算使用。
命令解析模块收到命令仲裁模块送过来的命令,计算出当前命令的种类及对应时标。初始上电或者解复位后,所有BANK的状态是确定的,可以直接生成当前命令时标。而后续的当前命令时标计算需要用到上一次命令的时标信息,所以,当前命令计算完成后需要锁存各种信息供下次计算使用。需要记录的信息有:按BANK记录当前ACTIVATE命令的时标;按BANK记录当前READ/WRITE命令的R/W指示信号;当前READ/WRITE命令的时标;当前READ/WRITE命令的R/W指示信号;当前READ/WRITE命令的BANK信号;当前READ/WRITE命令的ROW信号;当前READ/WRITE命令的PRECHARGE时标。
在本实施例中,根据数据总线的情况来决定当前READ/WRITE命令的时标,从而推断第一组ACTIVATE的时标;根据ACTIVATE命令的3种限制,来决定当前ACTIVATE的时标,从而推断第二组ACTIVATE的时标,通过第一组ACTIVATE的时标与第二组ACTIVATE的时标取出最大组,其对应值的READ/WRETE时标为当前命令产生的最终DDR3存储器时标命令。REFRESH命令的时标只要大于最后一次的PRECHARGE命令完成的时标即可。
具体的,根据数据总线的情况来决定当前READ/WRITE命令的时标,从而推断ACTIVATE的时标。具体的推断公式如下表:
根据ACTIVATE命令的3种限制,来决定当前ACTIVATE的时标,从而推断READ/WRITE的时标。根据ACTIVATE命令的3种限制为:当前bank的前一个PRECHARGE时标加上PRECHARGE命令周期tRP,就为当前的ACTIVATE时标;按时标存储各命令的RAM的读地址加上4个周期,就为当前的ACTIVATE时标;四个ACTIVATE命令之间的窗口大小tFAW限制算出的时标,就为当前的ACTIVATE时标。
PHY接口模块将命令解析模块按时标方式组织的命令适配成DDR3PHY模块需要的接口形式。PHY模块将4个并行的命令串行化送给DDR3存储器。
通过DDR3控制器将用户命令翻译为控制器操作命令,采用时标的方式,按照1:4速率并行产生执行命令的方法,并按照时隙进行组织,确保工作的可靠稳定性,又易于满足逻辑电路的时序约束要求,节约资源。
除上述优选实施例外,本发明还有其他的实施方式,本领域技术人员可以根据本发明作出各种改变和变形,只要不脱离本发明的精神,均应属于本发明所附权利要求所定义的范围。
Claims (9)
1.一种DDR3控制***,包括DDR3控制器,所述控制器通过PHY模块连接至DDR3存储器,所述PHY模块输出串行化命令给所述DDR3存储器,所述DDR3存储器的操作命令包括ACTIVATE激活命令、READ读取命令、WRITE写入命令、NOP空操作命令、PRECHARGE预充电命令和REFRESH刷新命令,其特征在于,所述DDR3控制器包括命令仲裁模块、命令解析模块以及PHY接口模块,所述命令仲裁模块用于仲裁用户读写DDR3存储器的请求以及定时刷新DDR3的请求,并生成新的命令,所述命令解析模块接收所述命令仲裁模块输出的命令,所述命令解析模块计算出当前执行命令的种类以及对应时标并按时标方式组织形成执行命令,所述PHY接口将所述执行命令适配成PHY模块需要的命令形式;
所述按时标方式组织的执行命令指:以DDR3存储器接口时钟的1/4频率产生操作命令,一次产生4个命令,将READ/WRITE命令放置在4n的位置,
将ACTIVATE命令放置在4n+2的位置,将NOP命令放置在4n+1和4n+3的位置,REFRESH命令放置在ACTIVATE命令所在的位置,其中n为自然数。
2.根据权利要求1所述的DDR3控制***,其特征在于,所述命令仲裁模块生成新的命令中包括4比特的指示信号,所述4比特的指示信号为ACT指示信号、PRE指示信号、REF指示信号以及R/W指示信号。
3.根据权利要求2所述的DDR3控制***,其特征在于,ACT指示信号为1,表示当前读写命令含有ACTIVATE激活命令,否则,REF指示信号为1,表示当前命令为REFRESH刷新命令,否则当前命令为不含ACTIVATE激活命令的读写命令,PRE指示信号用于指示当前的读写命令是否需要带AUTO-PRECHARGE,R/W指示信号指示高读低写。
4.根据权利要求3所述的DDR3控制***,其特征在于,所述指示信号产生的规则为:ACT指示信号:当前命令为REFRESH刷新命令或者当前读写命令带有AUTO-PRECHARGE时,下一个读写命令必须带有激活命令,即下一个读写命令中ACT指示信号置高;PRE指示信号:当前命令为刷新命令或者下一个读写命令非同一BANK存储的同一行或者后续没有读写命令,则PRE指示信号置高;REF指示信号:当前仲裁的是刷新命令请求时,则REF指示信号置高;R/W指示信号:直接使用当前命令的读写指示。
5.根据权利要求2所述的DDR3控制***,其特征在于,所述命令仲裁模块生成新的命令中还包括ADDR_DATA、BANK、ROW和COL信号,ADDR_DATA表示写入DDR3存储器的数据的读地址,BANK、ROW和COL为DDR3存储器的地址。
6.根据权利要求5所述的DDR3控制***,其特征在于,所述命令解析模块收到命令仲裁模块送过来的命令,计算出当前命令的种类及对应时标,当前命令计算完成后需要锁存状态信息供下次计算使用。
7.根据权利要求6所述的DDR3控制***,其特征在于,需要锁存记录的状态信息包括:按BANK记录当前ACTIVATE命令的时标;按BANK记录当前READ/WRITE命令的R/W指示信号;当前READ/WRITE命令的时标;当前READ/WRITE命令的R/W指示信号;当前READ/WRITE命令的BANK信号;当前READ/WRITE命令的ROW信号;当前READ/WRITE命令的PRECHARGE时标。
8.根据权利要求6所述的DDR3控制***,其特征在于,根据数据总线的情况来决定当前READ/WRITE命令的时标,从而推断第一组ACTIVATE的时标;根据ACTIVATE命令的3种限制,来决定当前ACTIVATE的时标,从而推断第二组ACTIVATE的时标,通过第一组ACTIVATE的时标与第二组ACTIVATE的时标取出最大组,其对应值的READ/WRETE时标为当前命令产生的最终DDR3存储器时标命令。
9.根据权利要求8所述的DDR3控制***,其特征在于,根据ACTIVATE命令的3种限制为:当前bank的前一个PRECHARGE时标加上PRECHARGE命令周期tRP,就为当前的ACTIVATE时标;按时标存储各命令的RAM的读地址加上4个周期,就为当前的ACTIVATE时标;四个ACTIVATE命令之间的窗口大小tFAW限制算出的时标,就为当前的ACTIVATE时标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811426464.3A CN109582615B (zh) | 2018-11-27 | 2018-11-27 | 一种ddr3控制*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811426464.3A CN109582615B (zh) | 2018-11-27 | 2018-11-27 | 一种ddr3控制*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582615A CN109582615A (zh) | 2019-04-05 |
CN109582615B true CN109582615B (zh) | 2022-04-12 |
Family
ID=65924391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811426464.3A Active CN109582615B (zh) | 2018-11-27 | 2018-11-27 | 一种ddr3控制*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582615B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146252A (ja) * | 2008-12-18 | 2010-07-01 | Nec Engineering Ltd | Ddrメモリコントローラ |
CN101788963A (zh) * | 2010-03-18 | 2010-07-28 | 烽火通信科技股份有限公司 | Dram存储控制方法及装置 |
CN102708059A (zh) * | 2012-05-10 | 2012-10-03 | Ut斯达康通讯有限公司 | 提高sdram数据传输效率的方法 |
CN102945213A (zh) * | 2012-09-24 | 2013-02-27 | 无锡众志和达存储技术股份有限公司 | 一种基于fpga的乱序内存控制器及其实现方法 |
CN103092785A (zh) * | 2013-02-08 | 2013-05-08 | 豪威科技(上海)有限公司 | Ddr2 sdram控制器 |
CN105677594A (zh) * | 2016-01-20 | 2016-06-15 | 中国人民解放军国防科学技术大学 | Ddr3接口中的fpga设备的复位、读写校准方法及设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7757040B2 (en) * | 2007-01-30 | 2010-07-13 | International Business Machines Corporation | Memory command and address conversion between an XDR interface and a double data rate interface |
US9293188B2 (en) * | 2014-02-03 | 2016-03-22 | Advanced Micro Devices, Inc. | Memory and memory controller for high reliability operation and method |
-
2018
- 2018-11-27 CN CN201811426464.3A patent/CN109582615B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146252A (ja) * | 2008-12-18 | 2010-07-01 | Nec Engineering Ltd | Ddrメモリコントローラ |
CN101788963A (zh) * | 2010-03-18 | 2010-07-28 | 烽火通信科技股份有限公司 | Dram存储控制方法及装置 |
CN102708059A (zh) * | 2012-05-10 | 2012-10-03 | Ut斯达康通讯有限公司 | 提高sdram数据传输效率的方法 |
CN102945213A (zh) * | 2012-09-24 | 2013-02-27 | 无锡众志和达存储技术股份有限公司 | 一种基于fpga的乱序内存控制器及其实现方法 |
CN103092785A (zh) * | 2013-02-08 | 2013-05-08 | 豪威科技(上海)有限公司 | Ddr2 sdram控制器 |
CN105677594A (zh) * | 2016-01-20 | 2016-06-15 | 中国人民解放军国防科学技术大学 | Ddr3接口中的fpga设备的复位、读写校准方法及设备 |
Non-Patent Citations (2)
Title |
---|
基于FPGA的DDR3多端口读写存储管理设计;吴连慧等;《单片机与嵌入式***应用》;20150101(第01期);全文 * |
基于FPGA的双倍速率动态存储器设计;张锋等;《四川理工学院学报(自然科学版)》;20090420(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109582615A (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7778099B2 (en) | Semiconductor memory, memory system, and memory access control method | |
US11200106B2 (en) | Data integrity for persistent memory systems and the like | |
US20190043571A1 (en) | Memory preset adjustment based on adaptive calibration | |
KR101893895B1 (ko) | 메모리 시스템 및 그 동작 제어 방법 | |
JP2843481B2 (ja) | リフレッシュアドレステスト回路を備えた半導体メモリ装置 | |
US10957413B2 (en) | Shared error check and correct logic for multiple data banks | |
KR100546362B1 (ko) | 메모리 클럭 신호의 주파수를 선택적으로 가변시키는메모리 컨트롤러 및 이를 이용한 메모리의 데이터 독출동작 제어방법 | |
CN104810043A (zh) | 突发长度控制电路 | |
EP4141872A1 (en) | Memory controller and memory system including the same | |
EP1858022A2 (en) | Semiconductor memory and operating method of same | |
US6374371B1 (en) | Method and apparatus for monitoring component latency drifts | |
US20240203475A1 (en) | Semiconductor memory device and memory system including the same | |
US6144617A (en) | Synchronous semiconductor storage device | |
CN112612596B (zh) | 命令调度方法、装置、设备和存储介质 | |
US7042777B2 (en) | Memory device with non-variable write latency | |
CN109582615B (zh) | 一种ddr3控制*** | |
US8639879B2 (en) | Sorting movable memory hierarchies in a computer system | |
KR20210103069A (ko) | 메모리 테스트 장치 및 이의 동작 방법 | |
US11971832B2 (en) | Methods, devices and systems for high speed transactions with nonvolatile memory on a double data rate memory bus | |
CN116955240B (zh) | 一种ddr控制器中phy电路的延时校准***及方法 | |
US11120851B1 (en) | Memory apparatus and burst read and burst write method thereof | |
US20240029777A1 (en) | Memory device and refresh method thereof | |
CN112035053A (zh) | 存储器存储装置及其运作方法 | |
Li et al. | Design and Verification of DDR3 Controller Based on FPGA | |
TW202044248A (zh) | 記憶體儲存裝置及其運作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |