首页> 中国专利> 用于分层存储器体系结构的存储器装置

用于分层存储器体系结构的存储器装置

摘要

提供一种分层存储器装置,该分层存储器装置具有不同存储器规格的多个接口,并且该分层存储器装置包括相变存储器(PCM)。输入端口和输出端口将串行链分层或分层树结构中的分层存储器装置与他存储器连接起来。标准非分层存储器装置也能够附着到分层存储器装置的输出端口上。

著录项

  • 公开/公告号CN101923447A

    专利类型发明专利

  • 公开/公告日2010-12-22

    原文格式PDF

  • 申请/专利权人 S·艾勒特;M·莱因万德;

    申请/专利号CN200910171261.9

  • 发明设计人 S·艾勒特;M·莱因万德;

    申请日2009-08-27

  • 分类号G06F3/06(20060101);

  • 代理机构11283 北京润平知识产权代理有限公司;

  • 代理人周建秋;王凤桐

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 01:39:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-05-06

    专利权的转移 IPC(主分类):G06F3/06 变更前: 变更后: 登记生效日:20150414 申请日:20090827

    专利申请权、专利权的转移

  • 2013-04-24

    授权

    授权

  • 2011-03-23

    实质审查的生效 IPC(主分类):G06F3/06 申请日:20090827

    实质审查的生效

  • 2010-12-22

    公开

    公开

说明书

技术领域

本发明涉及存储领域,尤其涉及一种分层存储器装置。

背景技术

利用当前的微处理器,在CPU和/或核心逻辑与系统存储器之间的数据处理变成了系统性能的瓶颈。由于系统级总线的本征电容,当传送二进制数据时大量的功率在处理器的输入/输出接口处被消耗。考虑到改善系统性能,造成总线等待时间的同时进行的功率和定时优化是很关键的设计制约。在接口处需要对大容量存储的存储器装置进行另外的改进。

发明内容

本发明提供一种分层存储器装置,该分层存储器装置包括:相变存储器(PCM);具有不同的存储器规格(format)的多个接口;以及输入端口和输出端口,用于连接串行链分层或分层树结构中的分层存储器装置,其中标准非分层存储器装置附着(attach)到所述分层存储器装置的输出端口。

本发明还提供一种用于存储器子系统中的分层存储器装置,该分层存储器装置包括:相变存储器(PCM);以及处理器核心,用于执行均匀磨损、高速缓存、错误检测和校正、及数据操作的算法,从而管理性能和可靠性;其中所述分层存储器装置可配置为作为IO映射的装置、存储器映射的装置、或存储器映射的IO装置来运行。

本发明还提供一种具有缓冲存储器的分层存储器装置,该分层存储器装置包括:相变存储器(PCM)阵列;RAM接口(随机存取存储器接口);NAND接口(与非接口),用于提取命令信息以基于所述命令来调整所述NAND接口与所述缓冲存储器之间的数据速率;网络接口,用于支持信令速率和通过通信链接进行的数据分组传输;存储接口;以及外围接口。

本发明还提供一种封装的存储器装置,该存储器装置包括:分层存储器,具有相变存储器(PCM)阵列和用于处理不同的存储器规格的包括NAND接口的多个接口;以及第一NAND装置和第二NAND装置,连接到所述分层存储器装置的输出端口。

本发明还提供一种封装的存储器装置,该存储器装置包括:第一分层存储器和第二分层存储器,每个分层存储器具有相变存储器(PCM)阵列、和用于处理不同的存储器规格的多个接口、以及链接到NAND装置的输出端口。

本发明还提供一种封装的存储器装置,该存储器装置包括:第一分层存储器和第二分层存储器,每个分层存储器具有相变存储器(PCM)阵列、用于处理不同的存储器规格的多个接口、以及输出端口;第一NAND装置和第二NAND装置,连接到所述第一分层存储器的输出端口;以及第三NAND装置和第四NAND装置,连接到所述第二分层存储器的输出端口。

附图说明

在说明书的结论部分特别地指出和清楚地声明了本发明的主题。然而,当和以下附图一起阅读时,可以参考下面的详细描述来更好地理解关于本发明的组织结构和操作方法及其目的、特征和优点。其中:

图1是根据本发明的可以被用作分层(hierarchical)体系结构中的存储器存储的分层存储器装置;

图2是根据本发明的各种分层存储器配置的示意图;

图3示出了根据本发明的各种组合中的配备有NAND(与非)和RAM的分层存储器;以及

图4示出了封装的装置,该封装的装置可以安装在基底上的方块上,之后该封装的装置可以被凸起以创建芯片尺寸封装(CSP)或球栅阵列(BallGrid Array,BGA)作为最终封装。

可以理解,为了进行简明清楚的说明,附图中示出的元件不必要按照尺寸绘制。例如,为了清楚,一些元件的尺寸可以相对于其它元件被放大。而且,在合适处,附图中重复的附图标记指示对应的或类似的元件。

具体实施方式

在下面的详细描述中,列举了一些特定的细节以提供对本发明的透彻的理解。然而,对于本领域的技术人员来说,可以理解,可以在没有这些特定细节的情况下实施本发明。在其它示例中,没有详细描述公知的方法、步骤、组件和电路,以避免使本发明不明确。

应该理解,术语“耦合”和“连接”以及其派生词不是彼此的同义词。而是,在特定的实施方式中,“连接”可以被用于指示两个或多个元件彼此直接物理或电接触。“耦合”可以被用于指示两个或多个元件彼此直接或间接(有其它元件介于其间)物理或电接触,和/或两个或多个元件彼此协作或交互(例如以原因与后果的关系)。

在图1中示出的体系结构显示了根据本发明的分层存储器装置100,该分层存储器装置100包括多个接口和处理器核心148以便于与分层排列中的其它存储装置进行通信。总线104提供到多处理接口的连接,该多处理接口允许在处理器、可以被附着的任何I/O以及混合的存储器类型之间进行通信。经由总线104提供的高速通信支持直接的写入,并提供高速总线事务处理。总线104中的信号使用各种信令方法。作为这些信令的方法示例,总线104可以提供端信号或使用射电(gunning)收发逻辑(GTL)信令技术的信号,所述射电收发逻辑信令技术具有通过接收机使用参考等级的差分输入缓冲器从而确定信号是逻辑0还是逻辑1,然而本发明的范围不局限于这些示例,也可以使用其它信令方法。

存储器装置100包括RAM(随机存取存储器)接口130、与非(NAND)接口132、网络接口134、存储接口136和外围接口138。RAM接口130使用接口电路来提供主机控制器与存储器装置100之间的通信,所述接口电路选择地以越来越高的多个基本读取速率进行操作。例如,RAM接口130可以提供数据的串行输入,或者可替换地,通过同步接口提供更高的带宽,所述同步接口在响应于控制输入(同步动态随机存取存储器(SDRAM))之前等待时钟信号。

RAM接口130还可以作为双倍数据速率随机存取存储器(DDR RAM)或下一代DDR2来接收数据。在DDR2中,总线以存储器单元速度的两倍的速度被计时,从而DDR2能够有效地以DDR总线速度的两倍速度来操作。RAM接口130还可以提供双倍数据速率三同步动态随机存取存储器(DDR3SDRAM),该DDR3SDRAM以DDR2的数据速率的两倍的数据速率来传输数据,从而能够达到比早期的存储器技术更高的数据速率和更高的峰值速率。存储器装置100还可以适应于DDR4,所述DDR4以1.2伏特操作输入/输出(I/O)。分层存储器装置100还支持降低功率的接口,诸如低功率双倍数据速率(LPDDR)和具有更低的供电电压的LPDDR2。

NAND接口132对操作进行控制以支持将NAND存储器连接到主机处理器从而提供更低的带宽、更长的等待时间,和提供设计的简单性以及相对于RAM接口130减少的引线个数。存储器块140接收数据以支持NAND闪存,所述NAND闪存可以被用于大容量存储应用。在操作以支持NAND闪存时,存储器装置100执行三种基本操作,称为读取页面(page)、对页面编程和擦除时钟。为了支持NAND配置,存储器块140包括一组块和页面,其中每个页面具有存储用户数据的数据部分和存储与用户数据相关联的元(meta)数据(诸如ECC信息)的备用部分。

命令和操作信息被提取以控制NAND接口132、以及基于命令和地址来调整NAND接口与缓冲存储器142之间的数据输入和/或输出。数据可以从NAND接口132被输出到错误检测与配置114中的错误校正逻辑,以用于对数据执行错误校正。利用集成能力,存储器装置100可以用作多核NAND管理子系统或自动计算子系统。

网络接口134提供对以太网、无限宽带(InfiniBand)、和802.11的支持。以太网是使用载波监听多路访问/冲突检测(CSMA/CD)来处理同时发生的请求的局域网(LAN)接口。CSMA/CD协议提供对共享信道的公平访问,从而使得连接的站点获得使用网络的机会。在每次分组传输之后,接下来CSMA/CD协议确定哪个站点被授予权限使用以太网信道。以太网协议规定了用于构建框架的规则,在该框架中规定了目的地址和源地址。

网络接口134支持被定义为无限宽带的点对点双向串行链接,该点对点双向串行链接将主机处理器与诸如磁盘的高速外围设备连接在一起。该接口可以支持多种信令速率和链接。网络接口134也可以支持802.11通信链接。

存储接口136支持工业和嵌入式应用。存储接口136支持串行ATA(SATA)存储接口,该SATA存储接口允许主机总线与大容量存储装置之间的通信。SATA接口利用四个电线中最小的电线来驱动电缆以创建点对点连接。由存储接口136支持的另一个接口是串行连接SCSI(SAS),该SAS是将存储器装置100链接到磁盘驱动的点对点串行接口。SAS可以被用于使得不同大小和不同类型的多个装置能够使用电缆被同时连接到存储器装置100。并行SCSI接口(PSI,又叫做SCSI)是SCSI家族中的接口设备中的一种,该PSI接口可以被存储器装置100支持。光纤信道协议(FCP)是在光纤信道(FC)上的SCSI的接口协议。FC驱动是双端口的并且包括本地命令队列(Native Command Queuing,NCQ),该技术允许单个硬盘在内部优化所接收到的读取和写入命令被执行的顺序。

当存储控制器正进行事务处理时,另外的逻辑和寄存器标识和记录各种使用形式参数,诸如地点和队列信息。存储控制器包括用于标识和调整存储访问的逻辑。主机控制器可以读取该寄存器信息并调整其发送事务处理到存储装置的方法。可替换地,主机控制器可以读取寄存器信息并将微码发送到存储装置。

外围接口138可以被用于用电设备、服务器和工业应用;作为用于链接安装在主板上的外围的主板级互连以及作为用于附加板(add-in board)的扩展卡接口。例如,快捷外设部件互联(PCI Express或PCIe)允许“信道分组”,其中多个路径被接合到单个装置配对以提供更高的带宽。可以在上电时期间“协商”路径的数目或者可以在操作期间明确定义路径的数目。

为了控制存储器操作,分层存储器装置100包括集成了计数器/定时器的微控制器(uC)核心148;在其它处理功能中定义可配置I/O端口和选择功率降低模式的中断结构。例如,uC 148可以包括操作模式以启动安全性功能部件,所述安全性功能部件管理对程序存储器的位置的内容的访问请求。在启动了安全性的情况下,同时发生的编程(也就是使用从存储器的其它区域执行的指令来对存储器的一个区域进行编程)可以在预定的安全条件下被启动。

专用于存储配置信息的存储器阵列150可以被制造商或者用户加载,所述配置信息特定用于外围存储装置100。由uC核心148执行的软件将配置数据应用到被提供给主机的外围存储器装置100、附着的外围装置和其它存储装置。

uC核心148和命令队列144一起解译命令组并发出存储器命令。内部控制器处理操作定时并检验对诸如写入命令、读取命令和刷新命令的存储器命令的校正的执行。另外,在该结构中可以支持诸如“状态读取”、“复制”、“移动”、或“错误校正”的命令的主机。控制器提供状态块146,所述状态块146的寄存器传递关于状态的传达信息和对存储器操作期间可能发生的任何错误的报告。状态寄存器输出可以被读取以在命令操作期间监控过程的进行、或者报告存储器操作的结果。

在发出编程命令时缓冲存储器142保持可以作为一组被传输到存储器块140的一些消息,并且还缓冲从存储器块读取的大量数据。在对一个页面编程的方式下,以及在程序和校验过程完成之后,可以执行对下一个页面的编程和校验过程。读取命令执行以从存储器单元将数据读取到缓冲存储器,该数据然后再被传输出去。应该注意,编程可以在通过主机接口传输所有的数据之前开始。对于图2中示出的分层结构来说更显然,数据可以通过具有几级缓冲的分层而被传播下去,直到足够多的信息被传输到目的地以用于开始进行编程。

存储器块140可以具有多个存储体(bank)结构以提供分割代码和存储器阵列中的数据空间的灵活性。双向操作允许从一个存储体执行代码,而其它存储体可以被编程或擦除。当在一个存储体中编程或擦除时,在其它库中可以进行读取操作。在一个实施方式中,存储器阵列是相变存储器(PCM)阵列,也被称作相变随机存取存储器(PRAM或PCRAM)、双向通用存储器(OUM)或硫系化合物随机存储存储器(C-RAM)。在另一个实施方式中,存储器阵列可以是磁性随机存取存储器(MRAM)单元,其中磁性存储元件由位于行和列的交点处的两个铁磁板(未示出)形成、并由磁隧道结(MTJ)装置(未示出)选择。在再一个实施方式中,存储器阵列可以是铁电随机存储存储器(FRAM)单元。

分层存储器装置100可以包括集成到分成存储器装置中的主机接口逻辑。主机接口逻辑可以执行下述功能中的一些或者全部:与主机处理器进行通信;将分层存储器的多个树(tree)集合起来;均匀磨损(wear leveling),报废坏的存储器扇区;为性能和可靠性管理提供存储器使用的统计跟踪;以及利用分层存储器树中的内容可寻址存储器。

标记为地址和扇区平移110的块表示通过经由总线104接收地址信息来在分层存储器装置100内寻址,所述总线104可以被用于访问在分层中的各个位置处所附着的存储器装置。当NAND地址信息被分层存储器装置100接收到时,当NAND地址信息通过分层树时可以发生或者可以不发生地址重新映射。分层存储器装置100经由发现过程、以及将“长”地址与“短”地址关联的内部查找表知道附着的存储器装置的类型。长地址包括到目的端口的完整的路标,例如“0”可以表示左边的端口,“1”可以表示右边的端口。短的地址可以被用于装置间的通信,其包括用于更低的树的有效端口的顺序列表。

均匀磨损112将擦除散布在管理的存储器块上,并迫使具有低循环计数的块间断地移动,并允许高循环的数据被置于低循环的块内。大部分块不循环,但高循环计数的块最有可能出现故障和均匀磨损硬件,并且在擦除算法期间微码将高循环计数块与低循环计数块的地址进行交换。注意,对于终端用户来说所有的地址交换是透明的。

可配置的错误校正代码(ECC)引擎114提供错误检测和校正方案。错误检测和校正方案对与写入精确度和可重复性相关联的问题进行补偿。错误校正代码确保每个数据信号符合构造的特定规则、且在接收到的信号中对该构造的偏离可以被自动检测和校正。从而,可配置的ECC引擎114监控、确定和防止存储器比特错误。

压缩和解压缩块116将输入数据组压缩成占更小的存储器比特的存储的数据组。当访问存储的数据时,该数据被解压缩并返还给主机。应该注意,压缩可以是无损的,从而确保读取的数据与先前写入的数据相同。另一方面,有损的压缩可以实现更高级别的压缩,但是可能数据中有变化。有损压缩可以适合于视频数据的存储,其中在数据形式中的较小变化不会造成用户体验上的明显降级。

高速缓存管理块118在分层存储器树中操作以基于访问模式提供信息存储位置的优化,例如在最高性能、最稳健的存储器中存储“热点(hot)”数据;在较便宜的、较低性能的、不太稳健的存储器中存储“非热点”数据。

数据操作块152有利地散布具有更慢状态的存储器的背景时间预处理扇区,从而在前台操作期间这些状态可以被快速转换。通常,写入存储状态“1”的存储器状态比存储状态“0”需要更长的时间。在这些情况下,处理数据的优点是有更少的比特转换成更低的状态。在数据被处理以反转数据的情况下,存储另外的比特以指示被反转的数据,从而优化性能。对于可以使用类似技术的可靠性管理来说,存在类似的情形(例如“0”比“1”需要更高的比特错误速率)。

存储器划分管理块120可以提供存储器划分选项以在维持软件可重复使用性、系统可靠性和设计灵活性的同时保护不同的核心和分区上的存储器。划分允许使用非易失性媒介的上层软件层分割可用的存储器空间以存储不同类型的数据或代码。分层存储器装置100提供划分逻辑可寻址空间的可能性从而使装置适用于不同的使用模型、且使用模型本身在系统的生命周期期间的变换。

图2示出了多个分层存储器装置100,该分层存储器装置100连接在具有附加存储器存储的各种配置中。图中显示了合适排列的装置100允许一连串存储器装置,并使存储器的附着装置能够伸入到具有有限引线个数的处理器控制器。分层存储器装置100将系统开放为大容量存储器存储并使分层存储器体系结构能够具有主要由实际物理约束来限制的存储器容量。

为了对短的链接通信提供更高的总I/O带宽,芯片间总线可以是双向的,即,所述总线可以是独立总线,该独立总线具有以向上的方向提供信号的一个总线、和以向下的方向提供信号的一个总线。除了同时双向信令,低压差分信令(LVDS)可以被用作芯片间通信的信令协议和用于链接到通用闪存(UFS)的LVDS存储器。

分层存储器装置100位于处理器和存储器存储装置之间,可以具有不同的存储机制和不同的接口规格(format)。分层存储器装置100提供接口以适应不同的存储器规格,诸如具有随机存取读取的NOR、提供页面访问的NAND和允许DDR的RAM。分层存储器100可以附着到主机控制器上,或者在可替换的实施方式中,如果存储控制器功能被集成到存储器装置100中,则分层存储器100可以直接附着到主机上。

图中显示了分层存储器装置连接在树分层204中,其中每个分层存储器装置100在其上行流端口和多个下行流端口中的一个下行流端口之间切换业务。这一配置将往返路程等待时间最小化到树的最低层,同时以一些附加的互联的成本为代价。图中还显示了分层存储器装置100连接在串行链接(daisy-chain)206中。在串行链接分层中,每个节点解译业务以确定业务是用于本地节点还是用于下行流/上行流节点。在下行流/上行流业务以最小等待时间通过分层存储器装置的同时,通过采取合适的动作,用于本地节点的业务被执行动作。另外,混合配置可以将分层的不同变化组合起来。例如,可以有利的创建具有四个终端节点的三层的树,其中16个装置深的串行链接附着到每个终端节点上。

在分层存储器子系统中,标准的非分层存储器装置208可以被附着到分层存储器装置100上。例如,多层单元(MLC)NAND存储器可以被附着到分层PCM存储器的树上。在该实例中,PCM可以被用于促进非常大密度的NAND的链接,同时也用于通过高速缓存读取和合并/高速缓存写入来减少在NAND存储器上的压力情况。尽管很少读取和相对很少对NAND存储器进行写入,但是可以合并对NAND存储器的写入从而仅仅是写入发生的包括写入完整的数据块。使用PCM代替易失性RAM来用于在分层存储器装置100中进行高速缓存,简化了功率损失恢复问题并防止了数据损失。PCM存储器也可以执行ECC从而不会通过多个写入操作来累积NAND写入错误。

不考虑主机接口,有多种方式,其中分层存储器子系统对于系统而言可以是逻辑上的。在这些方法中,是IO映射的、存储器映射的、以及存储器映射的IO。作为IO映射的装置,子系统对于主机和主机软件而言是基于扇区的装置。在这种类型的装置中,所有的变换和映射(诸如扇区到页面的映射)都由主机处理。通常,信息在原子(atomic)扇区,例如该原子扇区长度可以在512比特到8千比特或者更大之间。通常,IO映射的装置通过IO装置驱动器被处理,只要在该子系统和相关联的接口中存在硬件等待时间,所述IO装置驱动器就在子系统和相关联的接口中导致另外的软件等待时间。

作为存储器映射的装置,子系统对于主机和主机软件而言是平面的(flat)存储器映射。通常,存储器映射的装置由于存储器消除了操作系统等待时间而被直接访问。类似于IO映射的接口,子系统对于主机和主机软件而言是基于扇区的装置。而且,分层存储器装置100可以用作存储器映射的装置。存储器映射的装置可以帮助消除IO装置驱动器和控制器逻辑延迟。

图3示出了根据本发明的以各种配置与非易失性存储器组合的分层存储器100。在封装302中,分层存储器100的输出端口连接两个NAND存储器方块,以在固态驱动(SSD)设计中提供具有特定实用性的存储器组合。SSD数据存储装置使用固态存储器以存储永久性数据,其中可以通过使用多个封装302来添加NAND存储器从而增加SSD的密度。图中还显示了封装304在相同的总线上将分层存储器100与RAM合并,其中两个NAND存储器方块被连接到分层存储器100的后方的输出端口上。

封装306显示了至少两个分层存储器方块和RAM一起耦合在前方并将一些后方的NAND端口提供给可以被附着的密集NAND堆叠。可替换地,封装308示出了两个或更多分层存储器方块、一个或多个RAM以及密集NAND堆栈可以被组合,所述密集NAND堆栈可以被附着到分层存储器NAND端口上。

图4示出了封装302、304、306和308,其将方块安装在基底上,所述基底然后可以被凸起以创建芯片尺寸封装(CSP)或球栅阵列封装(BGA)作为最终封装。方块可以被并排置于基底上,或者可以使用芯片堆叠(diestack)技术将较小的方块安装到较大的上面以使两个线能够连结在一起。为了帮助互连,方块可以包括穿透硅通道(thru-silicon vias)和芯片到芯片连结(die-to-die bonding)。在图中所示的实施方式中,两个分层存储器装置100被包括在NAND装置402的堆叠中。RAM方块也可以被包括在堆叠中。为了在给定大小的覆盖区(footprint)中进一步提高可用的存储器密度和存储器带宽,可以使用层叠封装(PoP)来垂直连接多个封装,诸如具有分层存储器的NAND堆叠封装。

到现在为止很显然,本发明的实施方式通过使用本发明的功能部件的分层数据存储来允许增加的存储器存储效率。通过提供具有主机接口的分层存储器装置,这些装置可以被连接到主机系统上。在分层结构和存储控制器内,一些诸如均匀磨损的算法、高速缓存、错误检测和校正、坏页面管理、坏时钟管理和数据操作,用于管理性能和可靠性以及提供用于存储器分层的最佳存储容量。从而,通过在一个存储器存储系统中合并一个或多个分层存储器装置来提供分层存储器结构。

虽然这里示出和描述了本发明的一些功能部件,但是对于本领域技术人员来说可以做出许多修改、替换、改变和等价变换。因此,应该理解,所附的权利要求意在覆盖本发明的真实范围内的所有这样的修改和改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号