《用于使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 。