用于使DRAM和MRAM访问交错的存储器控制器和方法.pdf

上传人:狗** 文档编号:5331701 上传时间:2019-01-05 格式:PDF 页数:23 大小:4.64MB
返回 下载 相关 举报
摘要
申请专利号:

CN201180066332.4

申请日:

2011.12.16

公开号:

CN103354939A

公开日:

2013.10.16

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G11C 16/04申请日:20111216|||公开

IPC分类号:

G11C16/04

主分类号:

G11C16/04

申请人:

艾沃思宾技术公司

发明人:

S·M·阿拉姆; T·安德烈; D·古戈尔

地址:

美国亚利桑那

优先权:

2010.12.17 US 61/424,355

专利代理机构:

中国国际贸易促进委员会专利商标事务所 11038

代理人:

郭思宇

PDF下载: PDF下载
内容摘要

描述了用于使不同等待时间和页面尺寸的易失性和非易失性存储器交错的存储器控制和方法,其中,单个DDR3存储器控制器与许多存储器模块通信,其至少包括与例如动态随机存取存储器(DRAM)的易失性存储器集成在不同序列或通道中的例如自旋扭矩磁随机存取存储器的非易失性存储器。

权利要求书

权利要求书
1.  一种存储器系统,包括:
存储器,包括:
多个易失性存储器组,包括第一部分和第二部分;以及
至少一个非易失性存储器组,包括与第一部分和第二部分以序列或列之一配置的至少一个第三部分;以及
耦合到易失性存储器组和非易失性存储器组的存储器控制器,被配置为:
使激活、读、写和预充电操作对第一部分、第二部分和第三部分的应用同步。

2.  根据权利要求1的存储器系统,其中,非易失性存储器组是ST-MRAM存储器组。

3.  根据权利要求1的存储器系统,其中,易失性存储器组是DRAM存储器组。

4.  根据权利要求1的存储器系统,其中,多个非易失性存储器组是ST-MRAM存储器组以及多个易失性存储器组是DRAM存储器组。

5.  根据权利要求1的存储器系统,其中,存储器控制器包括可编程寄存器,该可编程寄存器被配置为:
存储与在易失性存储器中不同的非易失性存储器激活和预充电操作等待时间和页面尺寸。

6.  根据权利要求1的存储器系统,其中,存储器控制器包括可编程寄存器,该可编程寄存器被配置为:
存储非易失性存储器序列地址。

7.  根据权利要求1的存储器系统,其中,存储器控制器包括存储器访问排序器,该存储器访问排序器被配置为:
在来自激活操作队列的易失性激活操作之前发起非易失性激活操作;
当发布易失性存储器访问操作时延迟非易失性读/写操作;
在在非易失性存储器中发起预充电操作之前将比易失性读/写操作更多的非易失性读/写操作排队;
在易失性预充电操作之前发起非易失性预充电操作。

8.  根据权利要求7的存储器系统,其中存储器访问排序器还被配置为:
针对一个页面,当全页面访问从易失性和非易失性存储器二者都被请求时,执行多个非易失性存储器读/写操作,该多个非易失性存储器读/写操作的数目不同于多个易失性存储器读/写操作的数目。

9.  根据权利要求1的存储器系统,其中,存储器访问排序器还被配置为:
在易失性存储器组和非易失性存储器组二者中发起激活操作;
在易失性存储器组和非易失性存储器组二者中发起读/写操作;
在从非易失性存储器组访问读数据之前,从易失性存储器组访问读数据并向其提供写数据。

10.  根据权利要求1的存储器系统,其中,存储器访问排序器还被配置为:
在易失性存储器组和非易失性存储器组二者中发起激活操作;
在易失性存储器组和非易失性存储器组二者中或仅在易失性存储器组中发起读/写操作;
从易失性存储器组访问读数据或向其提供写数据;
在易失性存储器组和非易失性存储器组二者中或仅在非易失性存储器组中发起读/写操作;以及
从非易失性存储器组访问读数据或向其提供写数据。

11.  根据权利要求1的存储器系统,其中,至少一个非易失性存储器组包括第四部分,并且第一部分和第三部分包括第一序列并且第二部分和第四部分包括第二序列,存储器系统还包括具有耦合到第一部分的第一线和耦合到第三部分的第二线的第一数据总线、以及具有耦合到第二部分的第三线和耦合到第四部分的第四线的第二数据总 线,其中,存储器访问排序器还被配置为:
在不同的时间,从第一部分在第一数据总线的第一线上、以及从第三部分在第一数据总线的第二线上访问或提供第一数据;以及
在不同的时间,从第二部分在第二数据总线的第三线上、以及从第四部分在第二数据总线的第四线上访问或提供第二数据。

12.  根据权利要求11的存储器系统,其中,存储器控制器包括可编程寄存器,可编程寄存器被配置为:
存储第二线和第四线的通道地址。

13.  一种使易失性存储器和非易失性存储器访问交错的方法,包含包括第一部分和第二部分的多个易失性存储器组,以及包括与第一部分和第二部分以序列或列之一配置的至少第三部分的至少一个非易失性存储器组,该方法包括;
使激活、读、写和预充电操作对第一部分、第二部分和第三部分的应用同步。

14.  根据权利要求13的方法,其中,每个存储器组包括多个存储器单元,每个存储器单元具有自由层,并且同步步骤包括:
通过提供通过存储器单元的电流以改变自由层的极化方向来对每个存储器单元进行编程。

15.  根据权利要求13的方法,其中,同步步骤包括:
在易失性和非易失性存储器组二者中发起激活操作;
在易失性和非易失性存储器组二者中发起读/写操作;
从易失性存储器组访问读数据或向其提供写数据;以及
随后,从非易失性存储器组访问读数据或向其提供写数据。

16.  根据权利要求13的方法,其中,同步步骤包括:
在易失性和非易失性存储器组二者中发起激活操作;
在易失性和非易失性存储器组二者中发起读/写操作;
从易失性存储器组访问读数据或向其提供写数据;
在读取步骤之后,在易失性存储器组中发起读/写操作;以及
随后,从易失性存储器组和非易失性存储器组二者访问读数据或 向其提供写数据。

17.  根据权利要求13的方法,其中,同步步骤包括:
在易失性和非易失性存储器组二者中发起激活操作;
仅在易失性存储器组中发起读/写操作;
从易失性存储器组访问读数据或向其提供写数据;
在读取步骤之后,在易失性和非易失性存储器组二者中发起读/写操作;以及
随后,从易失性存储器组和非易失性存储器组二者访问读数据或向其提供写数据。

18.  根据权利要求13的存储器,还包括:
在从非易失性存储器读取数据或向其写入数据之前,在数据线上从易失性存储器读取数据或在数据线上向易失性存储器写入数据。

19.  一种使易失性存储器和非易失性存储器访问交错的方法,包括:
a)接收激活操作发起命令;
b)确定序列地址是否等于非易失性存储器序列地址;
c)如果步骤b)为否,则在易失性存储器组中发起激活操作;
d)将易失性存储器等待时间计数器复位为A;
e)如果A不等于易失性存储器等待时间,则将A增量并重复步骤e);
f)如果A等于易失性存储器等待时间,则执行易失性存储器读/写操作;
g)发起易失性存储器预充电操作;
h)将易失性存储器预充电等待时间计数器复位为B;
i)如果B不等于易失性存储器预充电等待时间,则将B增量并重复步骤i)直至B等于易失性存储器预充电等待时间;
j)如果步骤b)为是,则在非易失性存储器序列中发起激活操作;
k)将非易失性存储器激活等待时间计数器复位为C;
l)如果C不等于非易失性存储器等待时间,则将C增量并重复 步骤l);
m)如果C等于非易失性存储器等待时间,则执行非易失性存储器读/写操作;
n)发起非易失性存储器预充电操作;
o)将非易失性存储器预充电等待时间计数器D复位;以及
p)如果D不等于非易失性存储器预充电等待时间,则将D增量并重复步骤p)直至D等于非易失性存储器预充电等待时间。

20.  一种使易失性存储器和非易失性存储器访问交错的方法,包括:
a)在易失性存储器序列和非易失性存储器序列中发起激活操作;
b)将易失性存储器激活等待时间计数器复位为A;
c)如果A不等于易失性存储器激活等待时间,则将A增量并重复步骤c);
d)如果A等于易失性存储器,则执行易失性存储器读/写操作;
e)发起易失性存储器预充电操作;
f)将易失性存储器预充电等待时间计数器复位为B;
g)如果B不等于易失性存储器预充电等待时间,则将B增量并重复步骤g)直至B等于易失性存储器预充电等待时间;
h)在步骤a)之后,将非易失性存储器激活等待时间计数器复位为C;
i)如果C不等于非易失性存储器等待时间,则将C增量并重复步骤i);
j)如果C等于非易失性存储器等待时间,则执行非易失性存储器读/写操作;
k)发起非易失性存储器预充电操作;
l)将非易失性存储器预充电等待时间计数器复位为D;以及
m)如果D不等于非易失性存储器预充电等待时间,则将D增量并重复步骤m)直至D等于非易失性存储器预充电等待时间。

21.  一种使易失性存储器和非易失性存储器访问交错的方法,包 括:
a)在非易失性存储器和易失性存储器中发起激活操作;
b)将非易失性存储器激活等待时间计数器设置成C;
c)将非易失性存储器已激活标志设置成NO;
d)如果C不等于非易失性存储器激活等待时间,则将C增量并重复步骤d);
e)如果C等于非易失性存储器激活等待时间,则将非易失性存储器已激活标志设置成YES;
f)在步骤a)之后,将易失性存储器激活等待时间计数器设置成A;
g)如果A不等于易失性存储器激活等待时间,则将A增量并重复步骤g);
h)如果A等于易失性存储器激活等待时间,则发起读/写操作;
i)如果非易失性存储器已激活标志是NO,则将易失性存储器的数据总线部分识别为有效并仅对易失性存储器完成读/写操作,
j)如果非易失性存储器已激活标志是YES,则将非易失性存储器和易失性存储器的数据总线部分识别为有效并完成易失性存储器和非易失性存储器二者的读/写操作;
k)如果存在更多未决的读/写操作,则发起读/写操作并从步骤i)开始重复;
l)如果不再有未决的读/写操作,则在非易失性存储器和易失性存储器中发起预充电操作;
m)将易失性存储器预充电等待时间计数器复位为B;
n)如果B不等于易失性存储器预充电等待时间,则将B增量并重复步骤n)直至B等于易失性存储器预充电等待时间;
o)在步骤l)之后,将非易失性存储器预充电等待时间计数器复位为D;
p)如果D不等于非易失性预充电等待时间,则将D增量并重复步骤p)直至D等于非易失性预充电等待时间。

说明书

说明书用于使DRAM和MRAM访问交错的存储器控制器和方法
技术领域
在本文中描述的示例性实施例一般地涉及存储器控制器,并且更具体地涉及存储器系统和方法,其包括用于使具有不同等待时间和页面尺寸的同步动态随机存取存储器(SDRAM)和自旋扭矩磁性随机存取存储器(ST-MRAM)交错的存储器控制器。
背景技术
计算机的速度很大部分由处理器的速度和在处理器与存储器之间快速地移动数据的能力确定。从存储器进行的数据传输已随着处理器与存储器之间的多通道或多路径的使用而增加。
等待时间指的是在存储器与处理器之间传送数据时的延迟,并且通常按时钟循环来测量。该处理器通常比存储器更快,因此其必须当存储器的适当段在数据能够被传送回到处理器之前被定位并被读取时延迟(等待)。存储在存储器中的数据以组定义。一个序列是在第一方向上(列)的多个组,并且一个通道是在第二方向上(行)的多个组。用于访问存储器的过程包括行和列识别所需的多个时钟循环及读或写指令。SDRAM与具有同步接口的系统总线同步,并且因此在对控制输入进行响应之前等待时钟信号且因此与计算机的系统总线同步。
存储器控制器管理到和来自存储器的数据的流动。其可以是单独芯片或被集成到另一芯片例如处理器中。用于数据传输的带宽可以包括一行的数千个位。双倍数据速率(DDR)存储器控制器驱动存储器,其中,在存储器时钟的上升和下降访问上传输数据。此DDR存储器控制器允许在不增加时钟速率或不增加总线宽度的情况下向存储器双倍传输数据。DDR2使最小读或写单元加倍至四个连续字。DDR3将 最小读或写单元再次加倍至八个连续字。这在不必改变内部操作的时钟速率、仅仅是宽度的情况下提供了带宽和外部总线速率的另一加倍。此增加的读或写单元的不利方面是等待时间的增加。
虽然访问SDRAM的存储器控制器和方法是已知的,且访问例如ST-MRAM的其他类型的存储器的存储器控制器和方法是已知的,但并不知晓描述单个存储器控制器对SDRAM和ST-MRAM二者访问和交错。ST-MRAM利用替换方法以便对磁性隧道结(MTJ)元件进行编程,其具有进一步简化MRAM存储单元并降低写功率的潜力。不同于其中借助于外场来执行编程的常规MRAM,ST-MRAM编程是通过驱动电流直接地通过MTJ以改变自由层的极化方向来实现的。
DDR3ST-MRAM具有比DDR3DRAM更长的激活和预充电操作等待时间。在激活操作期间,从存储器阵列读取一页数据并存储在本地数据仓库锁存器中以用于到本地数据仓库锁存器的后续读和写操作。激活操作可以由激活命令或执行相同操作的任何其他命令发起。在预充电操作期间,来自本地数据仓库锁存器的数据被写回到存储器阵列,并且作为结果,该页在没有新的激活操作的情况下被认为是关闭或不可访问的。预充电操作可以由预充电或自动-预充电命令或执行相同操作的任何其他命令发起。除激活和预充电操作等待时间之外,ST-MRAM的页面尺寸(例如512位)小于DRAM的页面尺寸(达到16k位)。因此,ST-MRAM中的打开页面在ST-MRAM芯片中的本地数据仓库锁存器中具有较少数量的位。由于页面尺寸差异,在对ST-MRAM的激活操作之后读或写整个页面的读和写操作(响应于读或写命令的操作,从或向本地数据仓库锁存器读或写较小组的数据位,例如128位)的数目小于DRAM的操作的数目。当系统使用DDR3ST-MRAM和DRAM(由于存储器的高密度或来自ST-MRAM存储器部分要求的非易失性)二者时,将需要两个或更多存储器控制器以管理ST-MRAM和DRAM中的不同等待时间和页面尺寸。除现有DDR3DRAM通道之外,DDR3ST-MRAM还将需要与其自己的存储器控制器相关联的专用通道(更多地址、数据、控制引脚和路由)。
相应地,期望的是提供用于在序列或通道级上使由SDRAM和ST-MRAM组成的存储器交错并减少其等待时间的存储器控制器和方法。此外,根据结合附图及前述技术领域和背景技术进行的后续详细描述和所附权利要求,示例性实施例的其他期望特征和特性将变得显而易见。
发明内容
提出了用于单独编程的激活和预充电等待时间以及用于非易失性存储器的页面尺寸的使易失性和非易失性存储器访问交错的设备和方法。
一种存储器系统包括:存储器,包括包括第一部分和第二部分的多个易失性存储器组;以及至少一个非易失性存储器组,包括与第一部分和第二部分以序列或列中的一个配置的至少第三部分;以及存储器控制器,被耦合到易失性存储器组和非易失性存储器组,并被配置成使激活、读、写和预充电操作对第一、第二和第三部分的应用同步。
使易失性和非易失性存储器访问交错的第一示例性方法包括包括第一部分和第二部分的多个易失性存储器组以及至少一个非易失性存储器组,该非易失性存储器组包括与第一部分和第二部分以序列或列中的一个配置的至少第三部分,该方法包括使激活、读、写和预充电操作对第一、第二和第三部分的应用同步。
使易失性和非易失性存储器访问交错的第二示例性方法包括a)接收激活操作发起命令;b)确定序列地址是否等于非易失性存储器序列地址;c)如果步骤b)为否,则在易失性存储器序列中发起激活操作;d)将易失性存储器等待时间计数器复位为A;e)如果A不等于易失性存储器等待时间,则增量A并重复步骤e);f)如果A等于易失性存储器等待时间,则执行易失性存储器读/写操作;g)发起易失性存储器预充电操作;h)将易失性存储器预充电等待时间计数器复位为B;i)如果B不等于易失性存储器预充电等待时间,则增量B并重复步骤i)直至B等于易失性存储器预充电等待时间;j)如果步 骤b)为是,则在非易失性存储器序列中发起激活操作;k)将非易失性存储器激活等待时间计数器复位为C;l)如果C不等于非易失性存储器等待时间,则增量C并重复步骤l);m)如果C等于非易失性存储器等待时间,则执行非易失性存储器读/写操作;n)发起非易失性存储器预充电操作;o)将非易失性存储器预充电等待时间计数器复位为D;以及p)如果D不等于非易失性存储器预充电等待时间,则增量D并重复步骤p)直至D等于非易失性存储器预充电等待时间。
使易失性和非易失性存储器访问交错的第三示例性方法包括使易失性和非易失性存储器访问交错,包括a)在易失性存储器序列和非易失性存储器序列中发起激活操作;b)将易失性存储器激活等待时间计数器复位为A;c)如果A不等于易失性存储器激活等待时间,则增量A并重复步骤c);d)如果A等于易失性存储器,执行易失性存储器读/写操作;e)发起易失性存储器预充电操作;f)将易失性存储器预充电等待时间计数器复位为B;g)如果B不等于易失性存储器预充电等待时间,则增量B并重复步骤g)直至B等于易失性存储器预充电等待时间;h)在步骤a)之后,将非易失性存储器激活等待时间计数器复位为C;i)如果C不等于非易失性存储器等待时间,则增量C并重复步骤i);j)如果C等于非易失性存储器等待时间,则执行非易失性存储器读/写操作;k)发起非易失性存储器预充电操作;l)将非易失性存储器预充电等待时间计数器复位为D;以及m)如果D不等于非易失性存储器预充电等待时间,则增量D并重复m)直至D等于非易失性存储器预充电等待时间。
使易失性和非易失性存储器访问交错的第四示例性方法包括a)在非易失性存储器和易失性存储器中发起激活操作;b)将非易失性存储器激活等待时间计数器设置成C;c)将非易失性存储器已激活标志设置成NO;d)如果C不等于非易失性存储器激活等待时间,则增量C并重复步骤d);e)如果C等于非易失性存储器激活等待时间,则将非易失性存储器已激活标志设置成YES;f)在步骤a)之后,将易失性存储器激活等待时间计数器设置成A;g)如果A不等于易失 性存储器激活等待时间,则增量A并重复步骤g);h)如果A等于易失性存储器激活等待时间,则发起读/写操作;i)如果非易失性存储器已激活标志是NO,则将易失性存储器的数据总线部分识别为有效并完成仅用于易失性存储器的读/写操作;j)如果非易失性存储器已激活标志是YES,则将非易失性存储器和易失性存储器的数据总线部分识别为有效并完成易失性和非易失性存储器二者的读/写操作;k)如果存在未决的更多读/写操作,则发起读/写操作并从步骤i)开始重复;l)如果不再有未决的读/写操作,则在非易失性存储器和易失性存储器中发起预充电操作;m)将易失性存储器预充电等待时间计数器复位为B;n)如果B不等于易失性存储器预充电等待时间,则增量B并重复步骤n)直至B等于易失性存储器预充电等待时间;o)在步骤l)之后,将非易失性存储器预充电等待时间计数器复位为D;p)如果D不等于非易失性预充电等待时间,则增量D并重复步骤p)直至D等于非易失性预充电等待时间。
附图说明
下面将结合以下附图来描述本发明,其中,相似的附图标记表示相似的元件,并且
图1是根据第一示例性实施例的处理器与存储器之间的存储器控制器的方框图;
图2是为其配置第一示例性实施例的第一示例性方法的流程图;
图3是为其配置第二示例性实施例的第一示例性方法的流程图;
图4是根据第二示例性实施例的处理器与存储器之间的存储器控制器的方框图;
图5是根据第三示例性实施例的处理器与存储器之间的存储器控制器的方框图;
图6是为其配置第二和第三示例性实施例的第三示例性方法的流程图;以及
图7是根据示例性实施例的存储器控制器的方框图。
具体实施方式
以下详细描述本质上仅仅是说明性的,并且并不意图限制本主题或本申请的实施例和此类实施例的使用。在本文中被描述为示例性的任何实施方式不一定被理解为相比于其他实施方式而言是优选的或有利的。此外,不存在受到在前述技术领域、背景技术、发明内容和以下详细描述中提出的任何明示或默示理论的束缚的意图。
描述了存储器互连系统和方法,其中,主机芯片或可独立应用的芯片中的单个DDR3存储器控制器与许多存储器模块通信,所述许多存储器模块包括与动态随机存取存储器(DRAM)集成在不同的序列或通道中的至少一个自旋扭矩磁随机存取存储器(ST-MRAM)。虽然根据DRAM和ST-MRAM描述了示例性实施例,但该实施例将包括存储器系统,该存储器系统包括具有不同等待时间和页面尺寸的任何不同类型的存储器,例如易失性和非易失性存储器。
根据第一实施例,ST-MRAM与DRAM序列交错,其中,一序列的ST-MRAM芯片与来自另一DRAM芯片序列的那些DRAM芯片共享地址和数据总线。为每个序列提供了单独的芯片选择(CS)线。在用于DRAM和ST-MRAM两个序列的CS为高的情况下,可以同时地在DRAM和ST-MRAM二者中发起用于一个地址的激活操作。DRAM序列中的激活操作将比在ST-MRAM序列中更早地完成。因此,存储器控制器通过一旦DRAM激活操作完成就断言适当的CS信号而仅在DRAM序列中发起读或写操作。ST-MRAM序列中的激活操作在此时间期间可以正在进行中。稍后当ST-MRAM的激活操作完成时,发起对ST-MRAM序列的读或写操作。这使得能够在没有由于较长等待时间ST-MRAM而引起的减慢的情况下实现无缝DRAM访问。DDR3存储器控制器包括用于激活和预充电等待时间及用于ST-MRAM的页面尺寸的可编程寄存器。存储器控制器还包括用于ST-MRAM的序列地址的可编程寄存器。可以在运行时间期间通过软件对这些寄存器进行编程。当DDR3存储器控制器从主机芯片接收到 存储器访问命令时,其将存储器地址的序列地址部分与ST-MRAM可编程序列地址寄存器相比较。如果序列地址指示ST-MRAM存储器访问,则控制器从可编程寄存器检索激活、预充电等待时间以及页面尺寸。控制器的硬件实施方式还将包含与DRAM分开的用于ST-MRAM的激活和预充电超时计数器,以指示相应的存储器激活和预充电完成的时间。
根据存储器互连系统的第二和第三实施例,ST-MRAM数据通道与DRAM交错,其中,数据总线的仅一部分被连接到ST-MRAM,而其余部分被连接到DRAM。地址总线被与ST-MRAM和DRAM二者共享。CS控制信号对于第二实施例而言可以是共享的,或者对于第三实施例而言可以是分开的。对于第二和第三两个实施例而言,在CS为高的情况下,可以同时地在DRAM和ST-MRAM二者中发起用于一个地址的激活操作。DRAM中的激活操作将比在ST-MRAM中更早地完成。随后,存储器控制器在共享CS信号的情况下在DRAM和ST-MRAM二者中发起读或写操作。被连接到DRAM的那部分数据总线将提供正确的读数据,而被连接到ST-MRAM的那部分数据总线将不会提供正确的读数据,因为ST-MRAM中的激活操作尚未完成。存储器控制器将忽视来自ST-MRAM的那部分数据,而仅将DRAM的数据总线用于有效数据。来自ST-MRAM的那部分数据稍后在ST-MRAM激活操作完成之后被读取。
DDR3存储器控制器包括用于激活和预充电等待时间及用于ST-MRAM的页面尺寸的可编程寄存器。存储器控制器还包括用于ST-MRAM的数据通道地址的可编程寄存器。可以在运行时间期间通过软件对这些寄存器进行编程。当DDDR3存储器控制器从主机芯片接收到存储器访问命令时,其从用于连接有ST-MRAM的数据通道的上述可编程寄存器检索激活、预充电等待时间和页面尺寸。数据通道的其余部分遵循DRAM等待时间和页面尺寸。控制器的硬件实施方式还将包含与DRAM分开的用于ST-MRAM的激活和PRECHAGE超时计数器,以指示相应的存储器激活和预充电完成的时间。
对于在本文中描述的存储器互连系统的任何实施例而言,DDR3存储器控制器还包含用于将来自主机芯片的存储器命令排队的队列。存储器命令可以由于其独有的序列或通道地址而被分类到DRAM和ST-MRAM存储器访问。用于存储器控制器的操作方法包括以下操作排队和发起算法:(a)ST-MRAM激活操作可以从激活操作的队列中比DRAM激活操作更早地被发起,(b)控制器中的ST-MRAM激活操作忙碌标志(由超时计数器提供)将ST-MRAM读/写操作排队,同时DRAM存储器访问操作可被发起,(c)在在ST-MRAM中发起预充电操作以关闭开放行之前,ST-MRAM中的更多读/写操作被排成队。由于ST-MRAM中的较长激活和预充电操作等待时间,排队算法等待并将更高数目(高于DRAM的)的读/写操作排队以保证在关闭开放行之前不存在用于已开放ST-MRAM行的未决读/写操作;因此,ST-MRAM预充电操作不如DRAM预充电操作那么频繁,(d)在ST-MRAM和DRAM预充电操作的系列中,可以更早地发起ST-MRAM预充电操作以隐藏较长的等待时间;(e)当从ST-MRAM和DRAM请求全页面访问时,由于与DRAM的页面尺寸差异,用于开放页面的ST-MRAM存储器读/写操作被执行不同的次数。
在本文中可以根据功能和/或逻辑块部件并参考可以由各种计算部件或设备执行的操作、处理任务以及功能的符号表示来描述技术和工艺。此类操作、任务以及功能有时被称为计算机执行的、计算机化的、软件实现的或计算机实现的。实际上,一个或多个处理器设备可以通过操作表示系统存储器中的存储器位置处的数据位的电信号来执行所述操作、任务和功能以及信号的其他处理。其中保持数据位的存储器位置是具有对应于该数据位的特定电、磁、光、电阻或有机性质的物理位置。应认识到的是图中所示的各种时钟部件可以用被配置成执行指定功能的任何数目的硬件、软件和/或固件部件来实现。例如,系统或部件的实施例可以采用各种集成电路部件,例如存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其他控制器件的控制下执行多种功能。
为了简短起见,在本文中可能未详细地描述与数据处理有关的常规技术以及某些系统和子系统(及其单独操作部件)的其他功能方面。此外,包含在本文中的各种图中所示的连接线意图表示各种元件之间的示例性功能关系和/或物理耦合。应注意的是在本主题的实施例中可以存在许多替换或附加功能关系或物理连接。
图1是包括使数据传输在处理器104与存储器106之间交错的存储器控制器102的存储器系统100的第一示例性实施例的方框图。存储器控制器102和处理器104可以存在于同一芯片108上,并且其可以存在于单独芯片(未示出)上。存储器106包括第一序列112的易失性存储器114,优选地为DRAM,以及将磁隧道结用于数据存储的第二序列116的非易失性存储器118,优选地为ST-MRAM。易失性存储器114包括多个易失性存储器元件122,每个易失性存储器元件122包括多个易失性存储器组124。非易失性存储器118包括至少一个非易失性存储器元件126,每个非易失性存储器元件126包括多个非易失性存储器组128。
第一和第二CS线路132、133分别地从存储器控制器102向每个易失性存储器元件122提供第一和第二CS信号,并且第一和第二CS线路134、135分别地从存储器控制器102向每个非易失性存储器元件126提供第一和第二CS信号。在另一实施例(未示出)中,第一和第二CS线路132、133可以是从存储器控制器102到每个易失性存储器元件122的同一个CS线路,并且第一和第二CS线路134、135可以是从存储器控制器102到每个非易失性存储器元件126的同一个CS线路。第一地址/数据总线136将存储器控制器102耦合到易失性存储器元件122中的一个和非易失性存储器元件126中的一个。同样地,第二地址/数据总线138将存储器控制器102耦合到易失性存储器元件122中的一个和非易失性存储器元件126中的一个。虽然仅示出了两个地址/数据总线136、138,但应理解的是多个地址/数据总线中的每一个耦合一对易失性和非易失性存储器元件122、126中的每一个。
非易失性存储器118与易失性存储器114序列交错,其中,非易 失性存储器芯片的序列与来自易失性存储器芯片的另一序列的那些共享地址和数据总线。为每个序列提供了单独的CS线132、134。在用于两个序列的CS为高的情况下,可以同时地在易失性存储器114和非易失存储器118二者中发起用于一个地址的激活操作。易失性存储器序列112中的激活操作将比在非易失性存储器序列116中的更早地完成。因此,存储器控制器102通过一旦易失性存储器激活操作完成就断言CS信号而仅在易失性存储器序列112中发起读或写操作。非易失性存储器序列116中的激活操作在此时间期间可以正在进行中。稍后当非易失性存储器的激活操作完成时,发起非易失性存储器序列116中的读或写操作。这使得能够没有由于较长等待时间非易失性存储器而引起的减慢的情况下实现无缝易失性存储器访问。
图2、3和6是图示出适合于使用存储器控制器以便使DRAM和MRAM访问交错的方法200、300、600的示例性实施例的流程图。结合方法200、300、600执行的各种任务可以由软件、硬件、固件或其任何组合来执行。出于说明性目的,方法200、300的以下描述可以参考上文结合图1所述的元件,并且方法600的描述可以参考随后结合图4和5所述的元件。实际上,可以由所述系统的不同元件,例如,处理器、显示器元件或数据通信部件来执行方法200、300、600的各部分。应认识到的是方法200、300、600可以包括任何数目的附加或替换任务,图2、3、6中所示的任务不需要按照所示顺序来执行,并且可以将方法200、300、600集成到具有在本文中未详细描述的附加功能的更全面的程序或过程中。此外,可以将图1、4、5中所示的任务中的一个或多个从方法200、300、600的实施例省略,只要预定的总体功能保持完整即可。
参考图2,用于单个激活操作、后面是图1的实施例的读/写和预充电操作的操作的第一示例性方法200的流程图,包括通过发布激活命令发起激活操作202,确定序列地址是否等于ST-MRAM地址204。如果不是,则向DRAM序列发布激活命令206,DRAM序列在DRAM序列中发起激活操作,并且将DRAM激活等待时间计数器A复位 208。如果DRAM激活等待时间计数器A不等于DRAM激活等待时间210,则将DRAM激活等待时间计数器A增量212。如果DRAM激活等待时间计数器A等于DRAM激活等待时间210,则发布214DRAM读/写命令以发起DRAM读/写操作,发布216DRAM预充电命令以发起DRAM预充电操作,并且将DRAM预充电等待时间计数器B复位218。如果DRAM预充电等待时间计数器B不等于DRAM预充电等待时间220,则将DRAM预充电等待时间计数器B增量222。如果是,则过程200完成。
返回参考步骤204,如果序列地址等于ST-MRAM地址204,则向ST-MRAM序列发布224激活命令以在ST-MRAM序列中发起激活操作,并且将ST-MRAM激活等待时间计数器C复位226。如果ST-MRAM激活等待时间计数器C不等于ST-MRAM激活等待时间228,则将ST-MRAM ACTIVAT等待时间计数器C增量230。如果ST-MRAM激活等待时间计数器C确实等于ST-MRAM激活等待时间228,则发布232ST-MRAM读/写命令以在ST-MRAM中发起读/写操作,发布234ST-MRAM预充电命令以在ST-MRAM中发起预充电操作,并将ST-MRAM预充电等待时间计数器D复位236。如果ST-MRAM预充电等待时间计数器D不等于ST-MRAM预充电等待时间238,则将ST-MRAM预充电等待时间计数器D增量240。如果ST-MRAM预充电等待时间计数器D确实等于ST-MRAM预充电等待时间238,则过程200完成。
参考图3,是用于同时发布激活命令的操作的第二示例性方法300的流程图,同时发布激活命令的操作用于同时发起激活操作、后面是对图1的实施例的交错DRAM和ST-MRAM二者的读/写和预充电操作。方法300包括向DRAM和ST-MRAM序列发布302激活命令以在DRAM和ST-MRAM序列二者中发起激活操作。将DRAM激活等待时间计数器A复位304,并且如果DRAM激活等待时间计数器A不等于DRAM激活等待时间306,则将DRAM激活等待时间计数器A增量308。如果DRAM激活等待时间计数器A确实等于DRAM 激活等待时间306,则发布310DRAM读/写命令以发起DRAM读/写操作,发布312DRAM预充电命令以发起DRAM预充电操作,并将DRAM预充电等待时间计数器B复位314。如果DRAM预充电等待时间计数器B不等于DRAM预充电等待时间316,则将DRAM预充电等待时间计数器B增量318。
返回参考步骤302,当发布激活命令时,将ST-MRAM激活等待时间计数器C复位320。如果ST-MRAM激活等待时间计数器C不等于ST-MRAM激活等待时间322,则将ST-MRAM激活等待时间计数器C增量324。如果ST-MRAM激活等待时间计数器C确实等于ST-MRAM激活等待时间322,则发布326ST-MRAM读/写命令以发起ST-MRAM读/写操作,发布328ST-MRAM预充电命令以发起ST-MRAM预充电操作,并将ST-MRAM预充电等待时间计数器D复位330。如果ST-MRAM预充电等待时间计数器D不等于ST-MRAM预充电等待时间332,则将ST-MRAM预充电等待时间计数器D增量334。当ST-MRAM预充电等待时间计数器D等于ST-MRAM预充电等待时间332时,并且当DRAM预充电等待时间计数器B等于DRAM预充电等待时间316时,该过程完成。
图3的这种方法图示出用于同时激活操作的激活命令的同时发布作为示例。激活操作还可以接连地发起。还可以针对同时的预充电操作同时地发布到DRAM和ST-MRAM二者的预充电或自动-预充电命令。
图4是包括使数据传输在处理器404与存储器406之间交错的存储器控制器402的存储器系统400的第二示例性实施例的方框图。存储器控制器402和处理器404可以存在于同一芯片408上,并且其可以存在于单独芯片(未示出)上。存储器406包括多个易失性存储器元件414,优选地DRAM,以及使用磁隧道结以用于数据存储的至少一个非易失性存储器元件418,优选地ST-MRAM。易失性存储器414包括多个易失性存储器元件422,每个易失性存储器元件包括多个易失性存储器组424。非易失性存储器包括至少一个非易失性存储器元 件426,每个非易失性存储器元件包括多个非易失性存储器组428。
CS线432从存储器控制器402向每个易失性存储器元件422和每个非易失性存储器元件426提供CS信号。地址总线437将存储器控制器402耦合到每个易失性存储器元件422和每个非易失性存储器元件426。第一数据线439将存储器控制器402耦合到易失性存储器元件424中的一个且第二数据线440将存储器控制器402耦合到非易失性存储器元件426中的一个。虽然仅示出了两个数据线439、440,但应理解的是多个数据线中的每一个分别地耦合易失性和非易失性存储器元件424、426中的每一个。
在操作中,第一数据总线439被连接到易失性存储器414,而第二部分440被连接到非易失性存储器418。地址总线437被非易失性存储器418和易失性存储器414二者共享。CS线432被耦合到易失性存储器414和非易失性存储器418。在CS为高的情况下,可以同时地在易失性存储器414和非易失性存储器418二者中发起用于一个地址的激活操作。易失性存储器414中的激活操作将比在非易失性存储器418中的更早地完成。随后,存储器控制器402在易失性存储器414和非易失性存储器418二者中发起读或写操作。被连接到易失性存储器414的数据总线439将提供正确的读数据,而被连接到非易失性存储器418的数据总线440将不会提供正确的读数据,因为非易失性存储器418中的激活操作尚未完成。存储器控制器402将忽视来自非易失性存储器418的那部分数据且仅使用易失性存储器414的数据总线439用于有效数据。在非易失性存储器激活操作完成之后读取来自非易失性存储器418的数据。
图5是包括使数据传输在处理器504与存储器506之间交错的存储器控制器502的存储器系统500的第三示例性实施例的方框图。存储器控制器502和处理器504可以存在于同一芯片508上,并且其可以存在于单独芯片(未示出)上。存储器506包括多个易失性存储器元件514,优选地为DRAM,以及使用磁隧道结以用于数据存储的至少一个非易失性存储器元件518,优选地为ST-MRAM。易失性存储 器514包括多个易失性存储器元件522,每个易失性存储器元件包括多个易失性存储器组524。非易失性存储器包括多个非易失性存储器元件526,每个非易失性存储器元件包括多个非易失性存储器组528。
第一CS线532从存储器控制器502向每个易失性存储器元件522提供第一CS信号,并且第二CS线533从存储器控制器502向每个非易失性存储器元件526提供第二CS信号。地址总线537将存储器控制器502耦合到每个易失性存储器元件522和每个非易失性存储器元件526。第一数据线539将存储器控制器502耦合到易失性存储器元件522中的一个且第二数据线540将存储器控制器502耦合到非易失性存储器元件526中的一个。虽然仅示出了两个数据总线539、540,但应理解的是多个数据总线中的每一个分别地耦合易失性和非易失性存储器元件522、526中的每一个。
在操作中,数据总线539的第一部分与易失性存储器514耦合,并且数据总线540的第二部分耦合到非易失性存储器518。地址总线537被非易失性存储器518和易失性存储器514二者共享。第一CS线532被与易失性存储器514耦合且第二CS线533被耦合到非易失性存储器518。在两个CS线532、533上的CS信号为高的情况下,可以同时地在易失性存储器514和非易失性存储器518二者中发起用于一个地址的激活操作。易失性存储器514中的激活操作将比在非易失性存储器518中的更早地完成。随后,存储器控制器502通过断言CS线路532和533二者来在易失性存储器514和非易失性存储器518二者中或通过断言CS线532而仅在易失性存储器514中发起读或写操作。被连接到易失性存储器514的那部分数据总线将提供正确的读数据,而被连接到非易失性存储器518的那部分数据总线将不会提供正确的读数据,因为非易失性存储器518中的激活操作尚未完成。存储器控制器502将忽视来自非易失性存储器518的那部分数据且仅将易失性存储器514的数据总线用于有效数据。在非易失存储器518激活操作完成之后,读取来自非易失性存储器518的那部分数据。在访问来自非易失性存储器518的那部分数据的同时,存储器控制器502 通过断言CS线532和533二者而在易失性存储器514和非易失性存储器518二者中或者通过断言CS线533而仅在非易失性存储器518中发起读或写操作。被连接到非易失性存储器518的那部分数据总线540将提供正确的读数据。
参考图6,是用于同时发起激活命令的操作第二示例性方法600的流程图,后面是对图4和5的实施例的交错DRAM和ST-MRAM二者的读/写和预充电命令,包括向DRAM和ST-MRAM通道发布602激活命令以在DRAM和ST-MRAM二者中发起激活操作。响应于此,在步骤604中,将ST-MRAM激活等待时间计数器C复位并将ST-MRAM_激活D标志设置成NO(否)。如果ST-MRAM激活等待时间计数器C不等于ST-MRAM激活等待时间606,则将ST-MRAM激活等待时间计数器C增量608。如果ST-MRAM激活等待时间计数器C等于ST-MRAM激活等待时间606,则将ST-MRAM_已激活标志设置成YES(是)610。
将DRAM激活等待时间计数器A复位612,并且如果不等于DRAM激活等待时间614,则将DRAM激活等待时间计数器增量616。如果DRAM激活等待时间计数器A等于DRAM激活等待时间614,则发布617读/写命令以发起读/写操作。如果ST-MRAM_已激活标志不是YES618,则响应于最近发布的读/写命令617将DRAM的数据总线部分设置为有效620,并重复步骤617。如果在步骤618中,ST-MRAM_已激活D标志是YES,则响应于最近发布的读/写命令617将DRAM和ST-MRAM二者的数据总线部分设置为有效622。如果存在用于激活命令602的未决的更多读/写命令624,则重复步骤617,但是如果为NO,则发布预充电命令626以同时地在DRAM和ST-MRAM中发起预充电操作并发起步骤628和634。在步骤628中,将DRAM预充电等待时间计数器B复位,并且如果DRAM预充电等待时间计数器B不等于DRAM预充电等待时间,则将DRAM预充电等待时间计数器B增量632。如果DRAM预充电等待时间计数器B等于DRAM预充电等待时间630。在步骤634中,将ST-MRAM 预充电等待时间计数器D复位,并且如果不等于ST-MRAM预充电等待时间,则将其增量638。当ST-MRAM预充电等待时间计数器D等于ST-MRAM预充电等待时间636时,并且当DRAM预充电等待时间计数器B等于DRAM预充电等待时间630时,该过程完成。
耦合在处理器104与存储器106之间的存储器系统700的存储器控制器702包括可编程寄存器ST-MRAM定时寄存器704以单独地对用于ST-MRAM的激活和预充电等待时间进行编程。在DRAM定时寄存器706中对DRAM定时等待时间进行编程。存储器控制器702还包括ST-MRAM通道/序列地址寄存器708以对哪个序列或通道地址ST-MRAM被连接进行编程。存储器控制器还包括可编程寄存器ST-MRAM页面尺寸寄存器712以与DRAM分开地对用于ST-MRAM的页面尺寸进行编程。在DRAM页面尺寸寄存器714中对DRAM页面尺寸进行编程。可以通过软件在运行时间期间对上述寄存器进行编程,或者可以在系统启动时间期间从另一非易失性存储器源或熔丝(fuse)加载。
存储器控制器702还可以包括ST-MRAM通道/序列地址映射逻辑716,其在从主机芯片718的任何输入存储器访问中将序列或通道地址解码以识别该访问是否是对于ST-MRAM的。当DDR3存储器控制器702从主机芯片718接收到存储器访问命令时,在图1中所示的序列交错的情况下,其将存储器地址的序列地址部分与非易失性存储器可编程ST-MRAM通道/序列地址寄存器708相比较。如果序列地址指示非易失性存储器访问,则存储器控制器702从可编程ST-MRAM定时寄存器704和ST-MRAM页面尺寸寄存器712检索激活、预充电等待时间和页面尺寸。在图4和5中所示的通道交错的情况下,当DDR3存储器控制器702从主机芯片718接收到存储器访问命令时,其将存储器地址的通道地址部分与非易失性存储器可编程ST-MRAM通道/序列地址寄存器708相比较。如果通道地址指示非易失性存储器访问,则存储器控制器702从可编程ST-MRAM定时寄存器704和ST-MRAM页面尺寸寄存器712检索激活、预充电等待时间 和页面尺寸。
存储器控制器702的硬件实施方式还将包含用于非易失性存储器而不是易失性存储器的被耦合到用于ST-MRAM720的激活和预充电超时计数器的ST-MRAM活动(Live)激活和预充电地址寄存器728以指示何时相应的非易失性存储器激活和预充电完成。用于易失性存储器的被耦合到用于DRAM724的激活和预充电超时计数器的单独DRAM活动激活和预充电地址寄存器722指示相应的易失性存储器激活和预充电何时完成。因此,单独地管理用于非易失性和易失性存储器的不同等待时间以增加存储器系统的带宽。
存储器控制器702的硬件实施方式还包含存储器访问排序器726,其将来自主机芯片718的存储器访问命令排队并发布易失性和非易失性存储器命令以发起用于增加的带宽的易失性和非易失性存储器操作。存储器命令和关联操作由于其独有的序列或通道地址可以被分类到DRAM(易失性)和ST-MRAM(非易失性)存储器访问中。存储器访问排序器726实现了用于存储器控制器的操作方法,其包括以下操作排队和发起算法:(a)ST-MRAM激活操作可以从激活操作的队列中比DRAM激活操作更早地被发起,(b)控制器中的ST-MRAM激活操作忙碌标志(由超时计数器提供)将ST-MRAM读/写操作排队,同时DRAM存储器访问操作可被发起,(c)在在ST-MRAM中发起预充电操作以关闭开放行之前,使ST-MRAM中的更多读/写操作排成队。由于ST-MRAM中的较长激活和预充电操作等待时间,排队算法等待并将更高数目(高于DRAM)的读/写操作排队以保证在关闭开放行之前在已开放ST-MRAM行中没有未决读/写操作;因此,ST-MRAM预充电操作不如DRAM预充电操作那么频繁,(d)在ST-MRAM和DRAM预充电操作的序列中,可以更早地发起ST-MRAM预充电操作以隐藏较长的等待时间;(e)当从ST-MRAM和DRAM请求全页面访问时,,用于一个开放页面的ST-MRAM存储器读/写操作由于与DRAM的页面尺寸差异被执行不同的次数。
可以使用有限状态机和逻辑电路来完成用于存储器访问排序器726、ST-MRAM活动激活和预充电地址寄存器728、用于ST-MRAM的激活和预充电超时计数器720、DRAM活动激活和预充电地址寄存器722以及用于DRAM的激活和预充电超时计数器724的硬件实施方式。存储器控制器702可以包含其他块。
处理器104可以用通用目的的处理器、内容可访问存储器、数字信号处理器、专用集成电路、现场可编程门阵列、任何适当的可编程逻辑器件、离散门或晶体管逻辑、离散硬件部件或被设计成执行本文所述功能的任何组合来实施或实现。处理器器件可以实现为微处理器、控制器、微控制器或状态机。此外,处理器器件可以实现为计算设备的组合,例如数字信号处理器和微处理器、多个微处理器、与数字信号处理器核相结合的一个或多个微处理器或任何其他此类配置的组合。
虽然在本文中公开的所述示例性实施例针对各种存储器结构,但本发明不一定局限于示例性实施例,该示例性实施例图示出可适用于多种半导体器件的本发明的发明方面。因此,上文公开的特定实施例仅仅是说明性的,并且不应将其理解为对本发明的限制,因为可以以对于受益于本文中的讲授内容的本领域的技术人员而言显而易见的不同但等价的方式来修改和实施本发明。因此,先前的描述并不意图使本发明局限于所阐述的特定形式,相反,意图覆盖可以包括在由所附权利要求定义的本发明的精神和范围内的此类替换、修改和等价物,因此本领域的技术人员应理解的是其可以在不脱离采取其最宽泛形式的本发明的精神和范围的情况下进行各种变更、置换和更改。
上文已相对于特定实施例描述了益处、其他优点以及问题的解决方案。然而,不应将该益处、优点、问题的解决方案以及可以促使任何益处、优点或解决方案发生或变得更加明显的任何元素理解为任何或所有权利要求的关键、所需或必不可少的特征或元素。在本文中所使用的术语“包括”、“包含”或其任何其他变体意图覆盖非排他性包括,使得包括一列元件的过程、方法、制品或设备不仅包括该元件,而且 可以包括未明确列出或此类过程、方法、制品或设备所固有的其他元件。
虽然在前述详细描述中已提出了至少一个示例性实施例,但应认识到的是存在许多的变体。还应认识到的是示例性实施例仅仅是示例,并且并不意图以任何方式限制本发明的范围、可适用性或配置。相反,前述详细描述将为本领域的技术人员提供用于实现本发明的示例性实施例的方便指导方针,应理解的是在不脱离如在所附权利要求中所阐述的本发明的范围的情况下可以对在示例性实施例中描述的元件的功能和布置方面进行各种改变。

用于使DRAM和MRAM访问交错的存储器控制器和方法.pdf_第1页
第1页 / 共23页
用于使DRAM和MRAM访问交错的存储器控制器和方法.pdf_第2页
第2页 / 共23页
用于使DRAM和MRAM访问交错的存储器控制器和方法.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《用于使DRAM和MRAM访问交错的存储器控制器和方法.pdf》由会员分享,可在线阅读,更多相关《用于使DRAM和MRAM访问交错的存储器控制器和方法.pdf(23页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103354939 A (43)申请公布日 2013.10.16 CN 103354939 A *CN103354939A* (21)申请号 201180066332.4 (22)申请日 2011.12.16 61/424,355 2010.12.17 US G11C 16/04(2006.01) (71)申请人 艾沃思宾技术公司 地址 美国亚利桑那 (72)发明人 SM阿拉姆 T安德烈 D古戈尔 (74)专利代理机构 中国国际贸易促进委员会专 利商标事务所 11038 代理人 郭思宇 (54) 发明名称 用于使 DRAM 和 MRAM 访问交错的存储器控制 器和方法。

2、 (57) 摘要 描述了用于使不同等待时间和页面尺寸的易 失性和非易失性存储器交错的存储器控制和方 法, 其中, 单个 DDR3 存储器控制器与许多存储器 模块通信, 其至少包括与例如动态随机存取存储 器 (DRAM) 的易失性存储器集成在不同序列或通 道中的例如自旋扭矩磁随机存取存储器的非易失 性存储器。 (30)优先权数据 (85)PCT申请进入国家阶段日 2013.07.30 (86)PCT申请的申请数据 PCT/US2011/065571 2011.12.16 (87)PCT申请的公布数据 WO2012/083211 EN 2012.06.21 (51)Int.Cl. 权利要求书 4 。

3、页 说明书 11 页 附图 7 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书4页 说明书11页 附图7页 (10)申请公布号 CN 103354939 A CN 103354939 A *CN103354939A* 1/4 页 2 1. 一种存储器系统, 包括 : 存储器, 包括 : 多个易失性存储器组, 包括第一部分和第二部分 ; 以及 至少一个非易失性存储器组, 包括与第一部分和第二部分以序列或列之一配置的至少 一个第三部分 ; 以及 耦合到易失性存储器组和非易失性存储器组的存储器控制器, 被配置为 : 使激活、 读、 写和预充电操作对第一部分、 第二部分和第。

4、三部分的应用同步。 2. 根据权利要求 1 的存储器系统, 其中, 非易失性存储器组是 ST-MRAM 存储器组。 3. 根据权利要求 1 的存储器系统, 其中, 易失性存储器组是 DRAM 存储器组。 4.根据权利要求1的存储器系统, 其中, 多个非易失性存储器组是ST-MRAM存储器组以 及多个易失性存储器组是 DRAM 存储器组。 5. 根据权利要求 1 的存储器系统, 其中, 存储器控制器包括可编程寄存器, 该可编程寄 存器被配置为 : 存储与在易失性存储器中不同的非易失性存储器激活和预充电操作等待时间和页面 尺寸。 6. 根据权利要求 1 的存储器系统, 其中, 存储器控制器包括可编。

5、程寄存器, 该可编程寄 存器被配置为 : 存储非易失性存储器序列地址。 7. 根据权利要求 1 的存储器系统, 其中, 存储器控制器包括存储器访问排序器, 该存储 器访问排序器被配置为 : 在来自激活操作队列的易失性激活操作之前发起非易失性激活操作 ; 当发布易失性存储器访问操作时延迟非易失性读 / 写操作 ; 在在非易失性存储器中发起预充电操作之前将比易失性读 / 写操作更多的非易失性 读 / 写操作排队 ; 在易失性预充电操作之前发起非易失性预充电操作。 8. 根据权利要求 7 的存储器系统, 其中存储器访问排序器还被配置为 : 针对一个页面, 当全页面访问从易失性和非易失性存储器二者都被。

6、请求时, 执行多个 非易失性存储器读 / 写操作, 该多个非易失性存储器读 / 写操作的数目不同于多个易失性 存储器读 / 写操作的数目。 9. 根据权利要求 1 的存储器系统, 其中, 存储器访问排序器还被配置为 : 在易失性存储器组和非易失性存储器组二者中发起激活操作 ; 在易失性存储器组和非易失性存储器组二者中发起读 / 写操作 ; 在从非易失性存储器组访问读数据之前, 从易失性存储器组访问读数据并向其提供写 数据。 10. 根据权利要求 1 的存储器系统, 其中, 存储器访问排序器还被配置为 : 在易失性存储器组和非易失性存储器组二者中发起激活操作 ; 在易失性存储器组和非易失性存储器。

7、组二者中或仅在易失性存储器组中发起读 / 写 操作 ; 从易失性存储器组访问读数据或向其提供写数据 ; 权 利 要 求 书 CN 103354939 A 2 2/4 页 3 在易失性存储器组和非易失性存储器组二者中或仅在非易失性存储器组中发起读 / 写操作 ; 以及 从非易失性存储器组访问读数据或向其提供写数据。 11. 根据权利要求 1 的存储器系统, 其中, 至少一个非易失性存储器组包括第四部分, 并且第一部分和第三部分包括第一序列并且第二部分和第四部分包括第二序列, 存储器系 统还包括具有耦合到第一部分的第一线和耦合到第三部分的第二线的第一数据总线、 以及 具有耦合到第二部分的第三线和耦。

8、合到第四部分的第四线的第二数据总线, 其中, 存储器 访问排序器还被配置为 : 在不同的时间, 从第一部分在第一数据总线的第一线上、 以及从第三部分在第一数据 总线的第二线上访问或提供第一数据 ; 以及 在不同的时间, 从第二部分在第二数据总线的第三线上、 以及从第四部分在第二数据 总线的第四线上访问或提供第二数据。 12. 根据权利要求 11 的存储器系统, 其中, 存储器控制器包括可编程寄存器, 可编程寄 存器被配置为 : 存储第二线和第四线的通道地址。 13. 一种使易失性存储器和非易失性存储器访问交错的方法, 包含包括第一部分和第 二部分的多个易失性存储器组, 以及包括与第一部分和第二。

9、部分以序列或列之一配置的至 少第三部分的至少一个非易失性存储器组, 该方法包括 ; 使激活、 读、 写和预充电操作对第一部分、 第二部分和第三部分的应用同步。 14. 根据权利要求 13 的方法, 其中, 每个存储器组包括多个存储器单元, 每个存储器单 元具有自由层, 并且同步步骤包括 : 通过提供通过存储器单元的电流以改变自由层的极化方向来对每个存储器单元进行 编程。 15. 根据权利要求 13 的方法, 其中, 同步步骤包括 : 在易失性和非易失性存储器组二者中发起激活操作 ; 在易失性和非易失性存储器组二者中发起读 / 写操作 ; 从易失性存储器组访问读数据或向其提供写数据 ; 以及 随。

10、后, 从非易失性存储器组访问读数据或向其提供写数据。 16. 根据权利要求 13 的方法, 其中, 同步步骤包括 : 在易失性和非易失性存储器组二者中发起激活操作 ; 在易失性和非易失性存储器组二者中发起读 / 写操作 ; 从易失性存储器组访问读数据或向其提供写数据 ; 在读取步骤之后, 在易失性存储器组中发起读 / 写操作 ; 以及 随后, 从易失性存储器组和非易失性存储器组二者访问读数据或向其提供写数据。 17. 根据权利要求 13 的方法, 其中, 同步步骤包括 : 在易失性和非易失性存储器组二者中发起激活操作 ; 仅在易失性存储器组中发起读 / 写操作 ; 从易失性存储器组访问读数据或。

11、向其提供写数据 ; 在读取步骤之后, 在易失性和非易失性存储器组二者中发起读 / 写操作 ; 以及 权 利 要 求 书 CN 103354939 A 3 3/4 页 4 随后, 从易失性存储器组和非易失性存储器组二者访问读数据或向其提供写数据。 18. 根据权利要求 13 的存储器, 还包括 : 在从非易失性存储器读取数据或向其写入数据之前, 在数据线上从易失性存储器读取 数据或在数据线上向易失性存储器写入数据。 19. 一种使易失性存储器和非易失性存储器访问交错的方法, 包括 : a) 接收激活操作发起命令 ; b) 确定序列地址是否等于非易失性存储器序列地址 ; c) 如果步骤 b) 为否。

12、, 则在易失性存储器组中发起激活操作 ; d) 将易失性存储器等待时间计数器复位为 A ; e) 如果 A 不等于易失性存储器等待时间, 则将 A 增量并重复步骤 e) ; f) 如果 A 等于易失性存储器等待时间, 则执行易失性存储器读 / 写操作 ; g) 发起易失性存储器预充电操作 ; h) 将易失性存储器预充电等待时间计数器复位为 B ; i) 如果 B 不等于易失性存储器预充电等待时间, 则将 B 增量并重复步骤 i) 直至 B 等于 易失性存储器预充电等待时间 ; j) 如果步骤 b) 为是, 则在非易失性存储器序列中发起激活操作 ; k) 将非易失性存储器激活等待时间计数器复位为。

13、 C ; l) 如果 C 不等于非易失性存储器等待时间, 则将 C 增量并重复步骤 l) ; m) 如果 C 等于非易失性存储器等待时间, 则执行非易失性存储器读 / 写操作 ; n) 发起非易失性存储器预充电操作 ; o) 将非易失性存储器预充电等待时间计数器 D 复位 ; 以及 p) 如果 D 不等于非易失性存储器预充电等待时间, 则将 D 增量并重复步骤 p) 直至 D 等 于非易失性存储器预充电等待时间。 20. 一种使易失性存储器和非易失性存储器访问交错的方法, 包括 : a) 在易失性存储器序列和非易失性存储器序列中发起激活操作 ; b) 将易失性存储器激活等待时间计数器复位为 A。

14、 ; c) 如果 A 不等于易失性存储器激活等待时间, 则将 A 增量并重复步骤 c) ; d) 如果 A 等于易失性存储器, 则执行易失性存储器读 / 写操作 ; e) 发起易失性存储器预充电操作 ; f) 将易失性存储器预充电等待时间计数器复位为 B ; g) 如果 B 不等于易失性存储器预充电等待时间, 则将 B 增量并重复步骤 g) 直至 B 等于 易失性存储器预充电等待时间 ; h) 在步骤 a) 之后, 将非易失性存储器激活等待时间计数器复位为 C ; i) 如果 C 不等于非易失性存储器等待时间, 则将 C 增量并重复步骤 i) ; j) 如果 C 等于非易失性存储器等待时间, 。

15、则执行非易失性存储器读 / 写操作 ; k) 发起非易失性存储器预充电操作 ; l) 将非易失性存储器预充电等待时间计数器复位为 D ; 以及 m) 如果 D 不等于非易失性存储器预充电等待时间, 则将 D 增量并重复步骤 m) 直至 D 等 于非易失性存储器预充电等待时间。 权 利 要 求 书 CN 103354939 A 4 4/4 页 5 21. 一种使易失性存储器和非易失性存储器访问交错的方法, 包括 : a) 在非易失性存储器和易失性存储器中发起激活操作 ; b) 将非易失性存储器激活等待时间计数器设置成 C ; c) 将非易失性存储器已激活标志设置成 NO ; d) 如果 C 不等。

16、于非易失性存储器激活等待时间, 则将 C 增量并重复步骤 d) ; e) 如果 C 等于非易失性存储器激活等待时间, 则将非易失性存储器已激活标志设置成 YES ; f) 在步骤 a) 之后, 将易失性存储器激活等待时间计数器设置成 A ; g) 如果 A 不等于易失性存储器激活等待时间, 则将 A 增量并重复步骤 g) ; h) 如果 A 等于易失性存储器激活等待时间, 则发起读 / 写操作 ; i) 如果非易失性存储器已激活标志是 NO, 则将易失性存储器的数据总线部分识别为有 效并仅对易失性存储器完成读 / 写操作, j) 如果非易失性存储器已激活标志是 YES, 则将非易失性存储器和易。

17、失性存储器的数 据总线部分识别为有效并完成易失性存储器和非易失性存储器二者的读 / 写操作 ; k) 如果存在更多未决的读 / 写操作, 则发起读 / 写操作并从步骤 i) 开始重复 ; l) 如果不再有未决的读 / 写操作, 则在非易失性存储器和易失性存储器中发起预充电 操作 ; m) 将易失性存储器预充电等待时间计数器复位为 B ; n) 如果 B 不等于易失性存储器预充电等待时间, 则将 B 增量并重复步骤 n) 直至 B 等于 易失性存储器预充电等待时间 ; o) 在步骤 l) 之后, 将非易失性存储器预充电等待时间计数器复位为 D ; p) 如果 D 不等于非易失性预充电等待时间, 。

18、则将 D 增量并重复步骤 p) 直至 D 等于非易 失性预充电等待时间。 权 利 要 求 书 CN 103354939 A 5 1/11 页 6 用于使 DRAM 和 MRAM 访问交错的存储器控制器和方法 技术领域 0001 在本文中描述的示例性实施例一般地涉及存储器控制器, 并且更具体地涉及存储 器系统和方法, 其包括用于使具有不同等待时间和页面尺寸的同步动态随机存取存储器 (SDRAM) 和自旋扭矩磁性随机存取存储器 (ST-MRAM) 交错的存储器控制器。 背景技术 0002 计算机的速度很大部分由处理器的速度和在处理器与存储器之间快速地移动数 据的能力确定。 从存储器进行的数据传输已。

19、随着处理器与存储器之间的多通道或多路径的 使用而增加。 0003 等待时间指的是在存储器与处理器之间传送数据时的延迟, 并且通常按时钟循环 来测量。该处理器通常比存储器更快, 因此其必须当存储器的适当段在数据能够被传送回 到处理器之前被定位并被读取时延迟 (等待) 。存储在存储器中的数据以组定义。一个序列 是在第一方向上 (列) 的多个组, 并且一个通道是在第二方向上 (行) 的多个组。用于访问存 储器的过程包括行和列识别所需的多个时钟循环及读或写指令。SDRAM 与具有同步接口的 系统总线同步, 并且因此在对控制输入进行响应之前等待时钟信号且因此与计算机的系统 总线同步。 0004 存储器控。

20、制器管理到和来自存储器的数据的流动。 其可以是单独芯片或被集成到 另一芯片例如处理器中。用于数据传输的带宽可以包括一行的数千个位。双倍数据速率 (DDR) 存储器控制器驱动存储器, 其中, 在存储器时钟的上升和下降访问上传输数据。 此DDR 存储器控制器允许在不增加时钟速率或不增加总线宽度的情况下向存储器双倍传输数据。 DDR2 使最小读或写单元加倍至四个连续字。DDR3 将最小读或写单元再次加倍至八个连续 字。这在不必改变内部操作的时钟速率、 仅仅是宽度的情况下提供了带宽和外部总线速率 的另一加倍。此增加的读或写单元的不利方面是等待时间的增加。 0005 虽然访问 SDRAM 的存储器控制器。

21、和方法是已知的, 且访问例如 ST-MRAM 的其他类 型的存储器的存储器控制器和方法是已知的, 但并不知晓描述单个存储器控制器对 SDRAM 和 ST-MRAM 二者访问和交错。ST-MRAM 利用替换方法以便对磁性隧道结 (MTJ) 元件进行编 程, 其具有进一步简化 MRAM 存储单元并降低写功率的潜力。不同于其中借助于外场来执行 编程的常规 MRAM, ST-MRAM 编程是通过驱动电流直接地通过 MTJ 以改变自由层的极化方向 来实现的。 0006 DDR3ST-MRAM 具有比 DDR3DRAM 更长的激活和预充电操作等待时间。在激活操作 期间, 从存储器阵列读取一页数据并存储在本。

22、地数据仓库锁存器中以用于到本地数据仓库 锁存器的后续读和写操作。激活操作可以由激活命令或执行相同操作的任何其他命令发 起。在预充电操作期间, 来自本地数据仓库锁存器的数据被写回到存储器阵列, 并且作为 结果, 该页在没有新的激活操作的情况下被认为是关闭或不可访问的。预充电操作可以由 预充电或自动 - 预充电命令或执行相同操作的任何其他命令发起。除激活和预充电操作 等待时间之外, ST-MRAM 的页面尺寸 (例如 512 位) 小于 DRAM 的页面尺寸 (达到 16k 位) 。因 说 明 书 CN 103354939 A 6 2/11 页 7 此, ST-MRAM 中的打开页面在 ST-MR。

23、AM 芯片中的本地数据仓库锁存器中具有较少数量的位。 由于页面尺寸差异, 在对 ST-MRAM 的激活操作之后读或写整个页面的读和写操作 (响应于 读或写命令的操作, 从或向本地数据仓库锁存器读或写较小组的数据位, 例如 128 位) 的数 目小于 DRAM 的操作的数目。当系统使用 DDR3ST-MRAM 和 DRAM(由于存储器的高密度或来 自 ST-MRAM 存储器部分要求的非易失性) 二者时, 将需要两个或更多存储器控制器以管理 ST-MRAM 和 DRAM 中的不同等待时间和页面尺寸。除现有 DDR3DRAM 通道之外, DDR3ST-MRAM 还将需要与其自己的存储器控制器相关联的。

24、专用通道 (更多地址、 数据、 控制引脚和路由) 。 0007 相应地, 期望的是提供用于在序列或通道级上使由 SDRAM 和 ST-MRAM 组成的存储 器交错并减少其等待时间的存储器控制器和方法。此外, 根据结合附图及前述技术领域和 背景技术进行的后续详细描述和所附权利要求, 示例性实施例的其他期望特征和特性将变 得显而易见。 发明内容 0008 提出了用于单独编程的激活和预充电等待时间以及用于非易失性存储器的页面 尺寸的使易失性和非易失性存储器访问交错的设备和方法。 0009 一种存储器系统包括 : 存储器, 包括包括第一部分和第二部分的多个易失性存储 器组 ; 以及至少一个非易失性存储。

25、器组, 包括与第一部分和第二部分以序列或列中的一个 配置的至少第三部分 ; 以及存储器控制器, 被耦合到易失性存储器组和非易失性存储器组, 并被配置成使激活、 读、 写和预充电操作对第一、 第二和第三部分的应用同步。 0010 使易失性和非易失性存储器访问交错的第一示例性方法包括包括第一部分和第 二部分的多个易失性存储器组以及至少一个非易失性存储器组, 该非易失性存储器组包括 与第一部分和第二部分以序列或列中的一个配置的至少第三部分, 该方法包括使激活、 读、 写和预充电操作对第一、 第二和第三部分的应用同步。 0011 使易失性和非易失性存储器访问交错的第二示例性方法包括 a) 接收激活操作。

26、发 起命令 ; b) 确定序列地址是否等于非易失性存储器序列地址 ; c) 如果步骤 b) 为否, 则在易 失性存储器序列中发起激活操作 ; d) 将易失性存储器等待时间计数器复位为 A ; e) 如果 A 不等于易失性存储器等待时间, 则增量 A 并重复步骤 e) ; f) 如果 A 等于易失性存储器等待 时间, 则执行易失性存储器读 / 写操作 ; g) 发起易失性存储器预充电操作 ; h) 将易失性存储 器预充电等待时间计数器复位为 B ; i) 如果 B 不等于易失性存储器预充电等待时间, 则增量 B 并重复步骤 i) 直至 B 等于易失性存储器预充电等待时间 ; j) 如果步骤 b)。

27、 为是, 则在非易 失性存储器序列中发起激活操作 ; k) 将非易失性存储器激活等待时间计数器复位为 C ; l) 如果 C 不等于非易失性存储器等待时间, 则增量 C 并重复步骤 l) ; m) 如果 C 等于非易失性 存储器等待时间, 则执行非易失性存储器读 / 写操作 ; n) 发起非易失性存储器预充电操作 ; o) 将非易失性存储器预充电等待时间计数器复位为 D ; 以及 p) 如果 D 不等于非易失性存储 器预充电等待时间, 则增量 D 并重复步骤 p) 直至 D 等于非易失性存储器预充电等待时间。 0012 使易失性和非易失性存储器访问交错的第三示例性方法包括使易失性和非易失 性存。

28、储器访问交错, 包括 a) 在易失性存储器序列和非易失性存储器序列中发起激活操作 ; b) 将易失性存储器激活等待时间计数器复位为 A ; c) 如果 A 不等于易失性存储器激活等待 时间, 则增量A并重复步骤c) ; d) 如果A等于易失性存储器, 执行易失性存储器读/写操作 ; 说 明 书 CN 103354939 A 7 3/11 页 8 e) 发起易失性存储器预充电操作 ; f) 将易失性存储器预充电等待时间计数器复位为 B ; g) 如果 B 不等于易失性存储器预充电等待时间, 则增量 B 并重复步骤 g) 直至 B 等于易失性存 储器预充电等待时间 ; h) 在步骤 a) 之后, 。

29、将非易失性存储器激活等待时间计数器复位为 C ; i) 如果 C 不等于非易失性存储器等待时间, 则增量 C 并重复步骤 i) ; j) 如果 C 等于非易失 性存储器等待时间, 则执行非易失性存储器读 / 写操作 ; k) 发起非易失性存储器预充电操 作 ; l) 将非易失性存储器预充电等待时间计数器复位为 D ; 以及 m) 如果 D 不等于非易失性 存储器预充电等待时间, 则增量 D 并重复 m) 直至 D 等于非易失性存储器预充电等待时间。 0013 使易失性和非易失性存储器访问交错的第四示例性方法包括 a) 在非易失性存储 器和易失性存储器中发起激活操作 ; b) 将非易失性存储器激。

30、活等待时间计数器设置成 C ; c) 将非易失性存储器已激活标志设置成 NO ; d) 如果 C 不等于非易失性存储器激活等待时 间, 则增量 C 并重复步骤 d) ; e) 如果 C 等于非易失性存储器激活等待时间, 则将非易失性存 储器已激活标志设置成 YES ; f) 在步骤 a) 之后, 将易失性存储器激活等待时间计数器设置 成 A ; g) 如果 A 不等于易失性存储器激活等待时间, 则增量 A 并重复步骤 g) ; h) 如果 A 等于 易失性存储器激活等待时间, 则发起读 / 写操作 ; i) 如果非易失性存储器已激活标志是 NO, 则将易失性存储器的数据总线部分识别为有效并完成。

31、仅用于易失性存储器的读 / 写操作 ; j) 如果非易失性存储器已激活标志是 YES, 则将非易失性存储器和易失性存储器的数据总 线部分识别为有效并完成易失性和非易失性存储器二者的读 / 写操作 ; k) 如果存在未决的 更多读 / 写操作, 则发起读 / 写操作并从步骤 i) 开始重复 ; l) 如果不再有未决的读 / 写操 作, 则在非易失性存储器和易失性存储器中发起预充电操作 ; m) 将易失性存储器预充电等 待时间计数器复位为 B ; n) 如果 B 不等于易失性存储器预充电等待时间, 则增量 B 并重复步 骤 n) 直至 B 等于易失性存储器预充电等待时间 ; o) 在步骤 l) 之。

32、后, 将非易失性存储器预 充电等待时间计数器复位为 D ; p) 如果 D 不等于非易失性预充电等待时间, 则增量 D 并重复 步骤 p) 直至 D 等于非易失性预充电等待时间。 附图说明 0014 下面将结合以下附图来描述本发明, 其中, 相似的附图标记表示相似的元件, 并且 0015 图 1 是根据第一示例性实施例的处理器与存储器之间的存储器控制器的方框图 ; 0016 图 2 是为其配置第一示例性实施例的第一示例性方法的流程图 ; 0017 图 3 是为其配置第二示例性实施例的第一示例性方法的流程图 ; 0018 图 4 是根据第二示例性实施例的处理器与存储器之间的存储器控制器的方框图 。

33、; 0019 图 5 是根据第三示例性实施例的处理器与存储器之间的存储器控制器的方框图 ; 0020 图 6 是为其配置第二和第三示例性实施例的第三示例性方法的流程图 ; 以及 0021 图 7 是根据示例性实施例的存储器控制器的方框图。 具体实施方式 0022 以下详细描述本质上仅仅是说明性的, 并且并不意图限制本主题或本申请的实施 例和此类实施例的使用。 在本文中被描述为示例性的任何实施方式不一定被理解为相比于 其他实施方式而言是优选的或有利的。此外, 不存在受到在前述技术领域、 背景技术、 发明 内容和以下详细描述中提出的任何明示或默示理论的束缚的意图。 说 明 书 CN 1033549。

34、39 A 8 4/11 页 9 0023 描述了存储器互连系统和方法, 其中, 主机芯片或可独立应用的芯片中的单个 DDR3 存储器控制器与许多存储器模块通信, 所述许多存储器模块包括与动态随机存取存储 器 (DRAM) 集成在不同的序列或通道中的至少一个自旋扭矩磁随机存取存储器 (ST-MRAM) 。 虽然根据 DRAM 和 ST-MRAM 描述了示例性实施例, 但该实施例将包括存储器系统, 该存储器 系统包括具有不同等待时间和页面尺寸的任何不同类型的存储器, 例如易失性和非易失性 存储器。 0024 根据第一实施例, ST-MRAM 与 DRAM 序列交错, 其中, 一序列的 ST-MRA。

35、M 芯片与来自 另一 DRAM 芯片序列的那些 DRAM 芯片共享地址和数据总线。为每个序列提供了单独的芯片 选择 (CS) 线。在用于 DRAM 和 ST-MRAM 两个序列的 CS 为高的情况下, 可以同时地在 DRAM 和 ST-MRAM 二者中发起用于一个地址的激活操作。DRAM 序列中的激活操作将比在 ST-MRAM 序 列中更早地完成。因此, 存储器控制器通过一旦 DRAM 激活操作完成就断言适当的 CS 信号 而仅在DRAM序列中发起读或写操作。 ST-MRAM序列中的激活操作在此时间期间可以正在进 行中。稍后当 ST-MRAM 的激活操作完成时, 发起对 ST-MRAM 序列的。

36、读或写操作。这使得能 够在没有由于较长等待时间 ST-MRAM 而引起的减慢的情况下实现无缝 DRAM 访问。DDR3 存 储器控制器包括用于激活和预充电等待时间及用于 ST-MRAM 的页面尺寸的可编程寄存器。 存储器控制器还包括用于 ST-MRAM 的序列地址的可编程寄存器。可以在运行时间期间通过 软件对这些寄存器进行编程。当 DDR3 存储器控制器从主机芯片接收到存储器访问命令时, 其将存储器地址的序列地址部分与 ST-MRAM 可编程序列地址寄存器相比较。如果序列地址 指示 ST-MRAM 存储器访问, 则控制器从可编程寄存器检索激活、 预充电等待时间以及页面 尺寸。控制器的硬件实施方。

37、式还将包含与 DRAM 分开的用于 ST-MRAM 的激活和预充电超时 计数器, 以指示相应的存储器激活和预充电完成的时间。 0025 根据存储器互连系统的第二和第三实施例, ST-MRAM 数据通道与 DRAM 交错, 其中, 数据总线的仅一部分被连接到ST-MRAM, 而其余部分被连接到DRAM。 地址总线被与ST-MRAM 和 DRAM 二者共享。CS 控制信号对于第二实施例而言可以是共享的, 或者对于第三实施例 而言可以是分开的。对于第二和第三两个实施例而言, 在 CS 为高的情况下, 可以同时地在 DRAM和ST-MRAM二者中发起用于一个地址的激活操作。 DRAM中的激活操作将比在。

38、ST-MRAM 中更早地完成。 随后, 存储器控制器在共享CS信号的情况下在DRAM和ST-MRAM二者中发起 读或写操作。被连接到 DRAM 的那部分数据总线将提供正确的读数据, 而被连接到 ST-MRAM 的那部分数据总线将不会提供正确的读数据, 因为 ST-MRAM 中的激活操作尚未完成。存储 器控制器将忽视来自 ST-MRAM 的那部分数据, 而仅将 DRAM 的数据总线用于有效数据。来自 ST-MRAM 的那部分数据稍后在 ST-MRAM 激活操作完成之后被读取。 0026 DDR3 存储器控制器包括用于激活和预充电等待时间及用于 ST-MRAM 的页面尺寸 的可编程寄存器。存储器控。

39、制器还包括用于 ST-MRAM 的数据通道地址的可编程寄存器。可 以在运行时间期间通过软件对这些寄存器进行编程。当 DDDR3 存储器控制器从主机芯片接 收到存储器访问命令时, 其从用于连接有 ST-MRAM 的数据通道的上述可编程寄存器检索激 活、 预充电等待时间和页面尺寸。数据通道的其余部分遵循 DRAM 等待时间和页面尺寸。控 制器的硬件实施方式还将包含与 DRAM 分开的用于 ST-MRAM 的激活和 PRECHAGE 超时计数 器, 以指示相应的存储器激活和预充电完成的时间。 0027 对于在本文中描述的存储器互连系统的任何实施例而言, DDR3 存储器控制器还包 说 明 书 CN 。

40、103354939 A 9 5/11 页 10 含用于将来自主机芯片的存储器命令排队的队列。 存储器命令可以由于其独有的序列或通 道地址而被分类到 DRAM 和 ST-MRAM 存储器访问。用于存储器控制器的操作方法包括以下 操作排队和发起算法 :(a) ST-MRAM 激活操作可以从激活操作的队列中比 DRAM 激活操作更 早地被发起,(b) 控制器中的 ST-MRAM 激活操作忙碌标志 (由超时计数器提供) 将 ST-MRAM 读 / 写操作排队, 同时 DRAM 存储器访问操作可被发起,(c) 在在 ST-MRAM 中发起预充电操 作以关闭开放行之前, ST-MRAM 中的更多读 / 写。

41、操作被排成队。由于 ST-MRAM 中的较长激 活和预充电操作等待时间, 排队算法等待并将更高数目 (高于 DRAM 的) 的读 / 写操作排队以 保证在关闭开放行之前不存在用于已开放 ST-MRAM 行的未决读 / 写操作 ; 因此, ST-MRAM 预 充电操作不如 DRAM 预充电操作那么频繁,(d) 在 ST-MRAM 和 DRAM 预充电操作的系列中, 可 以更早地发起 ST-MRAM 预充电操作以隐藏较长的等待时间 ;(e) 当从 ST-MRAM 和 DRAM 请求 全页面访问时, 由于与 DRAM 的页面尺寸差异, 用于开放页面的 ST-MRAM 存储器读 / 写操作 被执行不同。

42、的次数。 0028 在本文中可以根据功能和 / 或逻辑块部件并参考可以由各种计算部件或设备执 行的操作、 处理任务以及功能的符号表示来描述技术和工艺。 此类操作、 任务以及功能有时 被称为计算机执行的、 计算机化的、 软件实现的或计算机实现的。实际上, 一个或多个处理 器设备可以通过操作表示系统存储器中的存储器位置处的数据位的电信号来执行所述操 作、 任务和功能以及信号的其他处理。其中保持数据位的存储器位置是具有对应于该数据 位的特定电、 磁、 光、 电阻或有机性质的物理位置。应认识到的是图中所示的各种时钟部件 可以用被配置成执行指定功能的任何数目的硬件、 软件和 / 或固件部件来实现。例如,。

43、 系统 或部件的实施例可以采用各种集成电路部件, 例如存储器元件、 数字信号处理元件、 逻辑元 件、 查找表等, 其可以在一个或多个微处理器或其他控制器件的控制下执行多种功能。 0029 为了简短起见, 在本文中可能未详细地描述与数据处理有关的常规技术以及某些 系统和子系统 (及其单独操作部件) 的其他功能方面。此外, 包含在本文中的各种图中所示 的连接线意图表示各种元件之间的示例性功能关系和 / 或物理耦合。应注意的是在本主题 的实施例中可以存在许多替换或附加功能关系或物理连接。 0030 图 1 是包括使数据传输在处理器 104 与存储器 106 之间交错的存储器控制器 102 的存储器系。

44、统 100 的第一示例性实施例的方框图。存储器控制器 102 和处理器 104 可以存 在于同一芯片 108 上, 并且其可以存在于单独芯片 (未示出) 上。存储器 106 包括第一序列 112 的易失性存储器 114, 优选地为 DRAM, 以及将磁隧道结用于数据存储的第二序列 116 的 非易失性存储器 118, 优选地为 ST-MRAM。易失性存储器 114 包括多个易失性存储器元件 122, 每个易失性存储器元件 122 包括多个易失性存储器组 124。非易失性存储器 118 包括 至少一个非易失性存储器元件 126, 每个非易失性存储器元件 126 包括多个非易失性存储 器组 128。

45、。 0031 第一和第二 CS 线路 132、 133 分别地从存储器控制器 102 向每个易失性存储器元 件 122 提供第一和第二 CS 信号, 并且第一和第二 CS 线路 134、 135 分别地从存储器控制器 102 向每个非易失性存储器元件 126 提供第一和第二 CS 信号。在另一实施例 (未示出) 中, 第一和第二 CS 线路 132、 133 可以是从存储器控制器 102 到每个易失性存储器元件 122 的 同一个 CS 线路, 并且第一和第二 CS 线路 134、 135 可以是从存储器控制器 102 到每个非易 失性存储器元件 126 的同一个 CS 线路。第一地址 / 数。

46、据总线 136 将存储器控制器 102 耦 说 明 书 CN 103354939 A 10 6/11 页 11 合到易失性存储器元件 122 中的一个和非易失性存储器元件 126 中的一个。同样地, 第二 地址 / 数据总线 138 将存储器控制器 102 耦合到易失性存储器元件 122 中的一个和非易失 性存储器元件 126 中的一个。虽然仅示出了两个地址 / 数据总线 136、 138, 但应理解的是 多个地址/数据总线中的每一个耦合一对易失性和非易失性存储器元件122、 126中的每一 个。 0032 非易失性存储器118与易失性存储器114序列交错, 其中, 非易失性存储器芯片的 序列。

47、与来自易失性存储器芯片的另一序列的那些共享地址和数据总线。 为每个序列提供了 单独的 CS 线 132、 134。在用于两个序列的 CS 为高的情况下, 可以同时地在易失性存储器 114 和非易失存储器 118 二者中发起用于一个地址的激活操作。易失性存储器序列 112 中 的激活操作将比在非易失性存储器序列 116 中的更早地完成。因此, 存储器控制器 102 通 过一旦易失性存储器激活操作完成就断言 CS 信号而仅在易失性存储器序列 112 中发起读 或写操作。非易失性存储器序列 116 中的激活操作在此时间期间可以正在进行中。稍后当 非易失性存储器的激活操作完成时, 发起非易失性存储器序。

48、列 116 中的读或写操作。这使 得能够没有由于较长等待时间非易失性存储器而引起的减慢的情况下实现无缝易失性存 储器访问。 0033 图 2、 3 和 6 是图示出适合于使用存储器控制器以便使 DRAM 和 MRAM 访问交错的方 法 200、 300、 600 的示例性实施例的流程图。结合方法 200、 300、 600 执行的各种任务可以由 软件、 硬件、 固件或其任何组合来执行。出于说明性目的, 方法 200、 300 的以下描述可以参 考上文结合图 1 所述的元件, 并且方法 600 的描述可以参考随后结合图 4 和 5 所述的元件。 实际上, 可以由所述系统的不同元件, 例如, 处理。

49、器、 显示器元件或数据通信部件来执行方 法 200、 300、 600 的各部分。应认识到的是方法 200、 300、 600 可以包括任何数目的附加或替 换任务, 图 2、 3、 6 中所示的任务不需要按照所示顺序来执行, 并且可以将方法 200、 300、 600 集成到具有在本文中未详细描述的附加功能的更全面的程序或过程中。此外, 可以将图 1、 4、 5 中所示的任务中的一个或多个从方法 200、 300、 600 的实施例省略, 只要预定的总体功 能保持完整即可。 0034 参考图 2, 用于单个激活操作、 后面是图 1 的实施例的读 / 写和预充电操作的操作 的第一示例性方法 200 的流程图, 包括通过发布激活命令发起激活操作 202, 确定序列地址 是否等于ST-MRAM地址204。 如果不是, 则向DRAM序列发布激活命令206, DRAM序列在DRAM 序列中发起激活操作, 并且将 DRAM 激活等待时间计数器 A 复位 208。如果 DRAM 激活等待时 间计数器 A 不等于 DRAM 激活等待时间 210, 则将 DRAM 激活等待时间计数器 A 增量 212。如 果 DRAM 激活等待时间计数器 A 等于DRAM 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1