连接海量存储器设备的分级存储结构 【技术领域】
本申请涉及存储领域。背景技术 对于当前的微处理器, CPU 和 / 或内核逻辑与系统存储器间的数据交换成为系统 性能的瓶颈。由于系统级总线的固有电容, 当传输二进制数据时, 处理器的输入 / 输出接口 处可能会消耗相当多的能量。考虑到总线延迟的同时, 功率和时钟优化是考虑改进系统性 能时的关键设计约束。海量存储器设备的接口需要额外的改进。
发明内容
本发明提供一种分级存储系统, 该分级存储系统通过处理器前侧总线与处理器耦 合, 该分级存储系统包括 : 集中器设备, 该集中器设备具有前侧总线端口和后侧端口, 该前 侧总线端口与所述处理器前侧总线相连, 其中, 在所述后侧端口外部的存储器设备中存储 的数据被接收并被存储在相变存储器阵列中, 并通过所述前侧总线端口传输到所述处理器 中。 本发明还提供一种为处理器提供存储器的分级存储结构, 该分级存储结构包括 : 第一集中器设备, 具有前侧总线端口和后侧端口, 所述前侧总线端口与所述处理器耦合 ; 以 及第二集中器设备, 具有与所述第一集中器设备的后侧端口耦合的前侧总线端口和用于与 外部存储器设备耦合的后侧端口。
本发明还提供一种分级存储系统, 该分级存储系统包括 : 集中器设备, 该集中器设 备具有前侧总线端口和后侧端口, 该前侧总线端口与处理器前侧总线相连, 其中, 在所述后 侧端口外部的存储器设备中存储的数据被接收并被存储在相变存储器阵列中, 并在通过所 述前侧总线端口传输到处理器之前由纠错码引擎模块纠正。
本发明还提供一种分级存储存储器, 该分级存储存储器包括 : 集中器设备, 用于将 前侧总线端口与处理器耦合并将后侧端口与外部存储器设备耦合, 其中所述集中器设备包 括相变存储器阵列以存储数据和纠错码从而纠正在所述处理器和所述外部存储器设备之 间传输的数据。
附图说明 在说明书的结论部分详细指出和明确声明了本发明的主旨。然而, 通过阅览附图 时参考下述的详细说明可对本发明中的配置和操作方法, 及其对象、 特征和优点进行最好 的理解, 其中 :
图 1 是示出了根据本发明的可用于访问存储器的分级存储结构的无线设备的实 施例 ;
图 2 是根据本发明的使得分级存储结构变为可能的集中器设备的示意图 ;
图 3 是在集中器设备中寻址的框图 ;
图 4 是根据本发明的 2×2 相变存储器 (PCM) 内容可寻址存储器 (CAM) 阵列的示 意图 ; 以及
图 5 示出了图 4 中的 PCM CAM 阵列的编程实例。
应认识到, 为了图解的简单明了, 图中所示的元件不必通过绘图来标度。例如, 为 了清楚起见, 一些元件的尺寸可以相对于其他元件被放大。此外, 在认为适合之处, 图中的 附图标记被重复来表示对应的或类似的元件。 具体实施方式
为了彻底理解本发明, 在下面的详细描述中, 阐述了许多具体的细节。但是, 本领 域技术人员应该懂得没有这些具体的细节时也可以实施本发明。在其他实例中, 没有详细 描述众所周知的方法、 程序、 组件和电路以免使本发明显得晦涩。
可以使用术语 “耦合” 和 “连接” 、 以及他们的派生词。应该理解的是这些术语之间 并不是同义词。而是, 在特定实施例中, “连接” 可以用于指示两个或多个元件之间是直接的 物理或电接触。 “耦合” 可以用于指示两个或多个元件之间直接或间接的 ( 它们之间具有其 他中间元件 ) 物理或电接触, 和 / 或两个或多个元件之间合作或互相作用 ( 例如处于因果 关系 )。
图 1 中所示的无线结构实施例显示了根据本发明的包括处理器的系统 10, 该处理 器与分级结构的多个存储器设备通信。虽然图中显示了一个无线通信实施例, 值得注意的 是本发明并不限于在无线环境中通信的电子设备, 其他的非无线应用可以使用本发明。
如该无线实施例所示, 系统 10 可以包括一个或多个天线结构 14 以允许无线电与 其他无线通信设备通信。同样地, 系统 10 可以用作在无线网络环境中运行的蜂窝通信设备 或设备, 无线网络例如提供基于 IEEE 802.11 规范的无线局域网 (WLAN) 基础技术的无线保 真 (Wi-Fi)、 基于 IEEE 802.16-2005 的全球微波互联接入 (WiMax) 和移动 WiMax、 宽带码分 多址 (WCDMA) 以及全球移动通信系统 (GSM) 网络, 虽然本发明并不限于仅在这些网络中运 行。配置于系统 10 的同一平台中的无线网络子系统提供与网络中的其他设备在 RF/ 位置 空间的不同频带通信的能力。应该理解的是本发明的范围不限于系统 10 可使用的通信协 议的类型、 数量或频率。
实施例举例说明了天线结构 14 和用于实现调制 / 解调的收发器 12 的耦合。 通常, 模拟前端收发器 12 可以是单机射频 (RF) 分立或集成模拟电路, 或者收发器 12 可以嵌入到 具有一个或多个处理器内核 16 和 18 的处理器 20 中。多个内核允许在内核间共享处理工 作量, 并处理基带功能和应用功能。前侧总线 (FSB)22 提供处理器和芯片组组件以及系统 存储器之间的接口。FSB 是到处理器、 存储器和 I/O 的多处理接口, 可以用于在处理器和存 储器之间提供通信或信息。FSB 信号可以使用具有差分输入缓冲器的射电收发逻辑 (GTL+) 信令技术, 通过接收器使用参考电平来确定信号是逻辑 0 还是逻辑 1, 但是本发明的范围不 限于这一方面。
一个或多个集中器设备 30 与 FSB 22 连接, 并成为访问其他存储器设备的信道。 本 发明的实施例, 如图所示, 允许集中器设备 30 与其他存储器设备串联连接。这种串联连接 通过位于集中器设备 30 后的存储器 40 和 / 或存储器 50 的布置来显示。在这种安排下, 集 中器设备 30 将 NAND( 与非 )、 RAM 和其他存储器设备与 FSB 22 分离, 从而降低了与系统级总线关联的固有电容。
实施例还示出了另一个带有与 FSB 22 相连的前侧总线端口和与总线 32 相连的后 侧端口的集中器设备 30。 该后侧端口可以被配置为通过如图中所示的半双工双向总线通信 或可以被配置为通过全双工双向总线通信。 从后侧连接的存储器到集中器设备的上行路径 不需要具有与从集中器设备到后侧连接的存储器的下行路径完全相同的带宽。 通过存储器 60 表示的多个存储器设备可以与总线 32 相连。
还示出了另一个具有与总线 32 相连的前侧总线端口和与总线 34 相连的后侧端口 的集中器设备 30。由存储器 70 描述的存储器设备与总线 34 相连。因此, 可以看出合适配 置的集中器设备 30 允许一连串存储器设备, 并使得存储器深度和处理器控制器通过有限 的引脚数连接。集中器设备 30 打开系统海量存储器, 并使得主要由实际物理约束限制的具 有存储容量的分级存储结构成为可能。
值得注意的是集中器设备 30 与易失性和非易失性存储器可以分别封装。可替换 地, 集中器设备 30 可以与易失性和非易失性存储器设备通过堆叠过程组合起来。可以通过 将集中器设备 30 与其他存储组件和计算设备一起置于多芯片封装中来减少电路板上的器 件封装。处理器 20 也可以包括在这个多芯片封装中。 集中器设备 30 位于处理器 20 与可以具有不同存储机制和不同接口格式的存储器 设备之间。 集中器设备提供接口以适应不同的存储格式, 例如, 具有随机存取阅读的 NOR、 提 供页存取的 NAND、 和允许 DDR 的 RAM。
图 2 是集中器设备 30 的框图, 如前所述, 集中器设备 30 在处理器 20 与其他类型的 与后侧端口相连的易失性和非易失性存储器之间传输数据。集中器 30 通过前侧端口获取 信息, 并提供与 FSB 22 之间的高速通信, 提供直接写入支持, 提供以两倍于时钟速率传输 数据的高速双倍数据速率 (DDR) 总线处理。DDR 多路复用器 210 与前侧总线端口 206 相连 并提供 FSB 22 与混合存储类型之间的接口, 所述混合存储类型可以包括, 例如, PCM、 MRAM、 FRAM、 SRAM、 和伪 SRAM。
为了控制存储操作, 集中器设备 30 包括页面缓冲器、 命令队列、 以及用于解释命 令集和发布存储命令的状态块 212。内部控制器管理运行时钟和检验存储器命令的正确执 行, 例如, 写入命令、 读取命令、 和刷新 (flush) 命令。另外, 例如 “状态读取” 、 “复制” 、 “移 动” 或 “纠错” 的大量的命令可以在此结构中得到支持。控制器提供状态寄存器, 状态寄存 器寄存位传输状态信息并汇报可能在存储操作中发生的任何错误。 可以读取该状态寄存器 的输出来监控命令运行过程中的进展或汇报存储操作的结果。
页面缓冲器保留将作为一组被编程到存储单元块的几个字, 并且也缓冲从存储单 元块读取的大量数据。页面缓冲器充满了在发出编程命令前即将被编程的字, 该命令之后 将页面缓冲器的数据传输到存储器阵列中的存储单元。以这种方式编程一个页面, 而且在 该程序和检验过程结束之后, 可以执行下一页的编程和检验过程。读取命令执行从存储单 元读取数据到页面缓冲器, 并且该数据接着将被传送出去。 需要注意的是, 编程可以在通过 主机接口传输所有数据之前开始。数据可以通过具有一些缓冲层的层级传输下来, 直到用 于启动编程的足够数量的信息传输到目标区。
刷新引脚 208 启动 RAM 260 的内容到 PCM 的转存, PCM 即第一存储阵列 220 和第 二存储阵列 230。另外, 带有关联地址的刷新命令将 RAM 内容转存到 PCM 存储器中 ( 通过
块 214 表示 )。刷新功能对于将 RAM 内容 “检查指向” 非易失性存储器, 和在断电的情况下 RAM 的内容自动地复制到非易失性存储器中很有用。在一些实施例中, 集中器设备 30 可以 充当前侧总线 22 的总线控制器来将 RAM 或 DRAM 的内容复制到设备 30 的层级中的非易失 性存储器中, 允许系统的其他组件断电。
配置寄存器 216 用于设置集中器设备 30 的默认操作。命令接口可用于更新配置 寄存器并改变集中器设备的行为。配置寄存器 216 用于配置存储器执行的总线访问类型并 提供可替换的操作模式。
由第一存储器阵列 220 和第二存储器阵列 230 所表示的多存储体结构提供了在存 储器阵列中划分代码和数据空间的灵活性。 双重操作允许在执行来自一个存储体中的代码 的同时, 另一个存储体被编程或擦除。 当在一个存储体中进行编程或擦除时, 可在其他存储 体中进行读取操作。在一个实施例中, 第一和第二存储器阵列是相变存储器 (PCM) 阵列, 也 可以称作相变随机存取存储器 (PRAM 或 PCRAM)、 双向通用存储器 (OUM) 或者硫族化物随机 存取存储器 (C-RAM)。PCM 单元阵列包括周期表 VI 族元素的合金, 如碲或者硒等的元素可 称为硫族或硫族材料。
硫族化物可以有利地用于相变存储器单元以提供数据保存并且保持稳定, 即便是 在非易失性存储器断电之后。以相变材料 Ge2Sb2Te5 为例, 两种或多种相位被呈现为具有用 于存储器的不同电学特性。 硫族材料可以在非晶态和晶态之间的不同中间状态之间进行电 切换, 因此带来多级别的存储能力。
在另一个实施例中, 第一和第二存储器阵列 220 和 230 可以是磁性随机存取存储 器 (MRAM) 单元, 其中磁性存储单元由两个位于行和列线交点处并被磁性隧道结 (MJT) 设备 ( 未示出 ) 选择的铁磁性板 ( 未示出 ) 构成。提供给一个方向中的行线的电流形成操作在 MRAM 单元的磁场, 将 MRAM 单元偏转成二进制状态。由于磁隧道效应, 存储器单元的电阻基 于两个板之间的场的方向而变化。
在另一实施例中, 第一和第二存储器阵列 220 和 230 可以是铁电随机存取存储器 (FRAM) 单元。晶体管电容单元 ( 未示出 ) 包括铁电材料, 其中双稳态原子被改变以形成两 种稳定的极化状态。存储单元的数据可以通过加载极化电压, 由铁电材料双极子的正或负 向定向来写入。读取控制电路探测在去除电场后仍存在的静态电极化的方向。
标记为内容可寻址存储器 (CAM)、 地址重映射、 压缩和缓存优化的区块 240 提供多 种功能。CAM 阵列可被用于存储第一存储器阵列 220 和 / 或第二存储器阵列 330 或与后侧 总线相连的存储器的缺陷行或列的地址。 在本发明的一个实施例中, CAM 由与后侧总线相连 的 NAND 存储器使用, 以在坏区块周围进行映射。CAM 在几十纳秒内访问重映射信息, 例如, 相对于需要数百纳秒或甚至微秒的时间搜索存储器以发现该映射信息。 CAM 也用于 NAND 内 容在 PCM 中缓存的情形。在这种情况下, CAM 可以用于快速确定目标内容当前是否存储在 PCM 中, 和这种情况下它们在哪儿、 它们被存储的地址的位置。
图 3 是呈现在集中器设备中寻址的框图。集中器设备 30 通过前侧总线端口 206 接收可以用于访问与分级的不同位置相连的存储器设备的地址信息。当 NAND 地址信息通 过层级树时, 可以或不可以重映射该信息。因为寻址每一个集中器设备 30 的 NAND 端口通 过发现过程知晓与后侧端口相连的存储器设备的类型。内部查找表将 “长” 地址与 “短” 地 址相关联。长地址包括到目标端口的完整路线图 (roadmap), 例如, “0” 可以表示左边的端口且 “1” 可以表示右边的端口。短地址可以用于跨设备通信并且包括低层树的有效端口的 顺序列表。
因为映射每一个集中器设备的 PCM 地址通过发现过程知晓与后面端口相连的存 储器的类型。每一个集中器设备 30 包括将 “长” 地址与 “短” 地址相关联的查找表。此外, 路线图可以用 “0” 表示左边的端口且用 “1” 表示右边的端口。短地址可以用于跨设备通信 并且包括低层树的有效端口的顺序列表。
图 4 示出了简单描述的 PCM CAM 的一部分, 为了易于图示, 将其表示为 2×2 阵列。 每一个 CAM 单元 300、 310、 320 和 330 包括两个 PCM 存储位置以匹配一个位。附图显示了一 个三态 CAM, 该三态 CAM 具有能够忽略一些位的能力, 并因此有效地提供 “不在意” 状态。每 一个单元中的两个 PCM 存储器元件可以被编程为 “开” 或编程为 “关” 。CAM 将输入模式的 每一位与存储在存储器阵列中的匹配值相比较。取决于与单元状态相关的输入 I0 和 I1 的 状态, “匹配” 线要么下拉要么不下拉, 并提供表示内部存储单元状态的静态输出。匹配线顶 端的比较电路 ( 未示出 ) 指示是否所有的输入与内容匹配。需要注意的是可以将标志位添 加到 CAM 阵列的末端以指示 1 位误差和可以用于修复的未使用的元件。
图 5 示出了图 4 中的具有编程和存储在阵列中的数据的 PCM CAM 的同一部分。在 这个例子中, CAM 单元 300 包括编程为存储 “1” 的存储位置 302 和编程为存储 “0” 的存储 位置 304。与存储位置 302 相连的在 CAM 单元 300 中的选择器设备接收搜索数据 I0, 反之 与存储位置 304 相连的选择器设备接收搜索数据 I0 的补集。CAM 单元 310 包括编程为存储 “0” 的存储位置 312 和编程为存储 “1” 的存储位置 314。与存储位置 312 相连的在 CAM 单 元 310 中的选择器设备接收标记为 I0 的搜索数据, 反之与存储位置 314 相连的选择器设备 接收搜索数据 I0 的补集。
进一步基于这个例子, CAM 单元 320 包括编程为存储 “0” 的存储位置 322 和编程 为存储 “1” 的存储位置 324。与存储位置 322 相连的在 CAM 单元 320 中的选择器设备接收 搜索数据 I1, 反之与存储位置 324 相连的选择器设备接收搜索数据 I1 的补集。 CAM 单元 330 包括编程为存储 “0” 的存储位置 332 和编程为存储 “1” 的存储位置 334。与存储位置 332 相连的在 CAM 单元 330 中的选择器设备接收标记为 I1 的搜索数据, 反之与存储位置 334 相 连的选择器设备接收搜索数据 I1 的补集。
在工作中, 匹配输出是一个输入状态和 CAM 阵列中一个 CAM 单元的两个存储元件 状态的函数。通过举例的方式, 块 300 示出了与标记为 MATCH0( 匹配 0) 的输出一起的输入 I0 和输 I0 的补集。存储器单元 300 有两个 PCM 存储元件, 即, 表示为 “元件 302” 和 “元件 304” 的存储器元件, 其可被编程为 “开” 或 “关” 。下面的表格描述了基于 I0 的状态和编程 值的 MATCH0 输出的功能 :
元件 0 元件 1 MATCH0 输出
开 关 当 I0 = 0 时匹配,
当 I0 = 1 时不匹配
关 开 当 I0 = 0 时匹配,
当 I0 = 1 时不匹配
开 开 不使用 ( 禁用匹配——
MATCH 0 将不与任何输入匹配 )
关 关 忽略输入位 I0
回到图 2 和标记为内容可寻址存储器 (CAM)、 地址重映射、 压缩和缓存优化的区块 240, 数据压缩功能可被有效的用于管理基于存储器的存储系统。 大量适于不同标准和格式 的数据压缩算法支持扩展写入带宽和存储容量。 重映射功能允许使用用于编程控制的启动 代码, 重映射由此产生新的设置, 并促使整个存储器布局改变。
在其他处理功能中, 微控制器 (uC)250 结合了计数器 / 定时器、 中断结构、 诸如通 用输入 / 输出 (GPIO) 端口 300 的可配置 I/O 端口、 以及功率降低时的可选模式。通过举 例的方式, uC 250 可以包括运行模式以激活安全特性, 该安全特性调节针对程序存储器的 位置的内容的访问请求。由于安全特性被激活, 可以在预定的安全条件下初始化并发编程 ( 即, 使用从另一个存储器区域执行的指令来编程存储器的一个区域 )。
代码存储块 270 提供对不经常改变的代码和内容的快速访问, 例如, PC 中的 BIOS 和手机中的操作系统。
可配置的纠错码 (ECC) 引擎 280 提供错误检测和纠正方案。错误检测和纠正方案 弥补了与写入操作的准确性和重复性相关的问题。 纠错码中的每一个数据信号符合特定的 结构规则, 因此通常能自动检测和纠正接收的信号中的从该结构的分离。可配置的 ECC 引 擎 280 监控、 确定和阻止存储位错误。MLC 闪存通常需要更复杂的纠错码电路, 该电路由可 配置的纠错码 (ECC) 引擎 280 控制。
NAND 主机状态机 290 控制支持将 NAND 存储器连接到后侧端口的操作, 即, 标记为 302 的后侧端口 0 或标记为 304 的后侧端口 1。 状态机提取命令和操作信息以控制内部 NAND 接口, 并基于命令和地址调整 NAND 接口和缓冲存储器间的数据输入和 / 或输出。另外, 该 状态机监控和汇报其控制的 NAND 的状态。 状态机可以将数据输出到可配置的 ECC 引擎 280 的纠错逻辑中。纠错逻辑执行数据的纠错并将结果输出回状态机。通过如通过内容可寻址 存储器的地址查找、 纠错和通过微控制器配合的控制的综合能力, 该子系统通过适当地配 置来充当多内核 NAND 管理子系统或自主式计算子系统。
现在很明显的是, 本发明的实施例通过使用本发明的特征, 使得在分级数据存储 器中提高存储器效率成为可能。通过将集中器设备的前侧端口连接和主机处理器, 诸如 NAND、 RAM 和其他存储器设备的存储器设备可与后侧端口相连。因此, 通过在存储器系统中 合并一个或多个集中器设备来提供分级存储结构。
虽然这里已经解释和描述了本发明的某些特征, 但本领域技术人员将想到许多修 改、 替换、 变化和等价物。因此, 需要理解的是附加的权利要求意在包含所有这些属于本发 明真正实质的修改和改变。