经虚拟化错误校正码nand的制作方法

文档序号:6479981阅读:138来源:国知局
专利名称:经虚拟化错误校正码nand的制作方法
经虚拟化错误校正码NAND
背景技术
当今的通信装置继续变得更加复杂及多样以提供增加的功能性。这些装置支持需要较高容量存储器(明确地说通过多芯片封装设计提供)的多媒体。通信链路、总线、芯片到芯片互连件及存储媒体可在高等级的内在信号/存储故障的情况下操作。预期这些通信装置并入有错误检测及校正机制。ECC (错误校正码)已移入到存储器存储结构中但需要额外改进。


关于本发明的标的物在本说明书的结论部分中明确地指出且清晰地主张。然而, 结合阅读附图来参考以下详细说明可最佳理解本发明的组织及操作方法两者以及其目的、 特征及优点。图1图解说明根据本发明的并入有经虚拟化ECC NAND控制器以执行ECC算法且管理主机处理器与NAND存储器堆栈之间的数据传送的无线架构;图2图解说明主机处理器/存储器接口,其中经虚拟化ECC NAND控制器提供执行 ECC算法及管理到NAND存储器堆栈的数据传送两者的功能块;及图3展示经虚拟化ECC NAND控制器的进一步细节。应了解,为简洁及清晰图解说明起见,图中所图解说明的元件未必按比例绘制。例如,为清晰起见,可相对于其它元件夸大元件中的一些元件的尺寸。此外,在认为适当之处, 重复参考编号来指示图中对应或类似的元件。
具体实施例方式在下文详细说明中阐明了大量特定细节以提供对本发明的充分理解。然而,所属领域的技术人员将了解在没有这些特定细节的情况下可实践本发明。在其它实例中,未详细描述众所周知的方法、程序、组件及电路,以使本发明不会被掩盖。图1中所图解说明的实施例展示通信装置10,根据本发明其可能包含具有服务多个NAND快闪装置的经虚拟化ECC NAND控制器的非易失性存储器。本发明不局限于无线通信实施例且其它非无线应用也可使用本发明。如此无线实施例中所展示,通信装置10包含一个或一个以上天线结构14以允许无线电与其它空中激活通信装置通信。如此,通信装置 10可操作为蜂窝式装置或在例如以下无线网络中操作的装置无线保真(Wi-Fi)、WiMax、 移动WiMax、宽带码分多址(WCDMA)及全球移动通信系统(GSM)网络,但本发明并不局限于仅在这些网络中操作。并置于通信装置10的相同平台中的无线电子系统提供以不同频带在RF/位置空间中与网络中的其它装置通信的能力。所述实施例图解说明将天线结构14耦合到收发器12以容纳调制/解调。一般来说,模拟前端收发器12可以是独立射频(RF)离散或集成模拟电路,或收发器12可嵌入有具有一个或一个以上处理器核心16及18的主机中央处理单元(CPU) 20。所述多个核心允许跨越所述核心分担处理工作负载且处置基带功能及应用功能。数据及指令可通过存储器接口观在CPU与存储器存储装置之间传送。系统存储器22可包含易失性存储器及非易失性存储器两者,例如NAND存储器结构对。请注意,所述易失性及非易失性存储器可单独封装,或另一选择是,在堆栈过程中加以组合。明确地说,可将多个NAND存储器结构置于多芯片封装(MCP)中以减小板上的占用面积。因此,系统存储器22的各种实施例展示可通过混合存储器装置与配置而以不同方式布置存储器装置来利用通信产品内的有限空间,且可使用各种封装选项来找出低功率与高可靠性的正确组合。在现有技术中,在NAND存储器内部执行ECC (错误校正码)算法仅限于提供仅可适合于所述单个存储器装置的错误检测及校正机制。更新固定主机平台来支持新NAND技术将在ECC需要、页大小、地址能力、新命令集合规范等方面付出昂贵成本。进一步限制,所述ECC算法为技术特有的。例如,单电平单元技术(SLC)与多电平单元技术(MLC)之间的改变将使使用中的ECC算法失效。另外,具有不同产品收缩等级的替换存储器将使得对现有ECC算法的修改成为必须。且内部并入有ECC的当前存储器装置基于快闪与ECC算法逻辑的组合裸片面积而强加成本惩罚。为克服这些缺点且根据本发明,图2中所图解说明的架构允许单个经虚拟化 ECCNAND控制器沈服务多个NAND存储器结构,即,“原始”存储器堆栈M。术语“原始”暗指NAND存储器装置不在内部实施ECC算法。主机CPU 20将经虚拟化ECCNAND控制器沈及原始NAND存储器结构作为单个存储器系统来驱动,而不管其内部的原始NAND存储器的数目如何。此外,与现有技术的堆栈式架构相比减小了功率消耗,因为此解决方案可一次选择一个NAND。经虚拟化ECC NAND控制器沈包含与主机CPU 20交换信号的协议接口 30、 用以实施ECC算法的ECC引擎32及管理存储器堆栈M的NAND接口 34。经虚拟化ECC NAND控制器沈充当从主机NAND接口到原始NAND记忆堆栈的桥接器,且给主机提供正确ECC算法以用于系统存储器中所提供的原始NAND。主机侧以其标准 NAND接口、地址空间、命令集合、页大小、ECC等操作,且经虚拟化ECC NAND控制器沈使主机侧适应被并入到存储器堆栈中的特定原始NAND。通过从NAND堆栈中的个别NAND存储器装置中去除ECC功能性且将所述功能性并入于ECC NAND控制器沈中,可实现多种特征。在ECC NAND控制器沈处于NAND存储器装置外部的情形下,主机侧实现准许主机将系统作为单个NAND芯片驱动的经虚拟化地址空间,即使存储系统中有多个NAND存储器装置。因此,主机CPU20自由地管理接口处的更多芯片。换句话说,在主机CPU 20管理接口处的一个芯片的情况下,经虚拟化ECC NAND控制器沈可管理堆栈式存储器中的NAND存储器装置。现有技术产品将ECC连同数据管理算法(例如,快闪翻译层(FTL)、损耗均衡、坏块管理等)一起实施到共用集成电路中。相反,图中所呈现的架构将ECC与数据管理算法分离。经虚拟化ECC NAND控制器沈仅实施ECC算法且不实施任何其它数据管理算法。此允许主机CPU 20在数据页、元数据面积方面维持对经虚拟化存储器的全面控制且允许经虚拟化ECC NAND控制器沈提供较好的ECC引擎。在将经虚拟化ECC NAND控制器沈用作从主机NAND接口到原始NAND存储器堆栈的桥接器中,主机平台可管理与原始NAND的页大小不同的页大小。此外,经虚拟化ECC NAND控制器沈将主机平台与存储器堆栈隔离,从而允许主机CPU 20使用原始NAND不支持的一些命令。在一个实施例中,主机CPU 20可具有比经虚拟化ECC NAND中的物理存储器装置的命令集合大的命令集合,而在另一实施例中,与经虚拟化ECC NAND内部的命令集合相比,所述主机的命令集合可以是减小的命令集合。在任一实施例中,ECC NAND控制器沈内的逻辑使主机CPU20的命令集合适应物理存储器装置的命令集合。所述主机平台可使用基本NAND命令集合且经虚拟化NAND控制器沈可使用经扩展的新命令集合。图3展示允许主机CPU 20经由协议规范中未改变的电连接介接到协议接口 30,从而允许所述主机通信到具有大的无错误地址空间的单个存储器系统。换句话说,此架构允许主机CPU 20作为标准NAND接口提供与存储器堆栈M的数据交换,从而保持虚拟命令集合及地址空间。同时且在不给主机平台添加内部逻辑的情况下,ECC NAND沈提供ECC功能以通过校正原始NAND中的位错误来增加数据交换的总体可靠性。寻址是虚拟化的,因为主机 CPU 20将所连接的存储器装置当作单个NAND芯片那样来驱动,而经虚拟化ECC NAND控制器沈朝向堆栈的选定NAND重新引导数据。因此,单个经虚拟化ECC NAND控制器沈管理 NAND快闪存储器堆栈且执行ECC算法。此外,此在主机CPU 20与存储器堆栈M之间具有经虚拟化ECC NAND控制器沈的架构使得单个NAND装置的使用可适应能够使用不同芯片启用(CE)引脚来管理一组NAND 存储器的主机。在一个实施例中,所述主机接口通过使用CE信号选择性地驱动不同的快闪存储器,尽管经虚拟化ECC NAND由较高密度的单个NAND芯片构成。经虚拟化ECC NAND 控制器26的内部逻辑将来自主机CPU 20的请求(其断言所述CE中的一者)转译成寻址 NAND阵列的一部分的操作,从而在选定NAND存储器装置本身支持的地址循环中编码所述请求。应注意,主机CPU 20可具有低于原始NAND存储器装置所需循环数目的地址循环数目。同样,所述主机平台可管理与原始NAND存储器装置的页大小不同的页大小,且甚至使用所述存储器装置不支持的一些命令,例如多平面操作或高速缓冲存储器操作。例如,如果原始NAND存储器装置不支持多平面操作,那么经虚拟化ECC NAND控制器沈可通过两个通道仿真这些命令。如果原始NAND存储器装置不支持高速缓冲存储器操作,那么经虚拟化ECC NAND控制器沈可借助内部乒乓缓冲器等仿真所述命令。此外, 如果所述主机平台需要与原始NAND存储器装置的页大小不同的页大小,那么经虚拟化ECC NAND控制器沈提供具有与真实物理块不同的页大小及页数目的经虚拟化物理块。 协议接口 30为经虚拟化ECC NAND控制器沈的使用标准NAND通信协议与主机CPU 20通信的部分。协议接口 30解释任何所接收的命令且进一步引导对主机所传送的任何数据的存储。此外,协议接口 30管理NAND就绪/忙信号以计及ECC算法等待时间。协议接口 30包含内部缓冲器36以存储主机CPU 20在编程操作期间所传送的数据。遵循确认命令,协议接口 30将忙信号设定为低以避免任一种类的数据操作朝向经虚拟化ECC NAND控制器26。适当挑选缓冲器36的大小以减小因ECC计算而引入的等待时间。在缓冲器大小合适的情况下,主机CPU 20可在不等待先前快闪编程操作结束的情况下在写入操作期间开始发送新页。此时序优点在顺序读取操作期间是有益的,且因此在ECC引擎32计算当前页上的冗余时,可从原始NAND检索下一页。ECC引擎32为经虚拟化ECC NAND控制器沈用实施ECC算法(其计算主机CPU 20所发送的数据上的冗余)的部分。所述ECC算法用于检测及校正原始信息在存储、写入到堆栈式存储器M或从堆栈式存储器M读取期间偶然发生的错误。所述ECC算法可实施多级、循环、错误校正、可变长度数字码以校正多个随机错误模式。如此,ECC引擎32可实施 BCH码或里德-所罗门算法。在写入操作期间,所述ECC算法计算主机所发送的数据上的冗余。一旦计算出,便将所述冗余添加到主机数据且传送到NAND快闪页缓冲器。在读取操作期间,ECC引擎32重新计算来自原始NAND的数据上的冗余以用于与先前存储于快闪存储器中的旧冗余值进行比较。如果两个冗余相等,那么所述数据为正确的且允许将其从协议接口缓冲器传送到主机CPU 20。然而,如果两个冗余不相等,那么ECC引擎32校正数据位的错误,之后才可将数据传送到主机CPU 20。如果错误数目高于ECC校正能力,那么用信号通知主机CPU 20读取失败。NAND接口 ;34为经虚拟化ECC NAND控制器沈的用以通过重新加工先前从主机CPU 20接收的命令及地址两者而与原始NAND通信的部分。因此,在写入操作中,数据是从协议接口缓冲器传送到选定快闪存储器。以此功能,NAND接口 34解码地址以将所接收的数据重新引导到选定NAND,且将数据加ECC冗余的新有效负载发送到堆栈式存储器M中的选定原始NAND。在此操作期间,所述忙信号保持低且在原始NAND编程操作结束时转变为高信号电平。在读取操作期间,NAND接口 34将数据从选定原始NAND传送到协议接口 30中的缓冲器36。同时,ECC引擎32处理数据以计算相关的奇偶性以用于与从快闪存储器读取的冗余相比较,且如果需要,那么执行位校正。当协议接口 30具有一个芯片启用引脚且NAND接口 34具有一个以上芯片启用引脚时,对地址进行解码以朝向存储器堆栈的选定原始NAND存储器装置重新引导数据。另一方面,当协议接口 30具有比NAND接口 34多的芯片启用引脚时,对所述地址进行解码以将数据重新引导到原始NAND的正确部分,此取决于哪一芯片启用为低。通过使用经虚拟化ECC NAND控制器沈在NAND快闪存储器堆栈外部执行ECC算法,就技术及存储器装置数目来说,可确保灵活的存储器系统解决方案。事实上,经虚拟化 ECC NAND控制器沈可继续操作,而不论存储器堆栈M中所包含的非易失性存储器是SLC 及/或MLC。此外,经虚拟化ECC NAND控制器沈能够管理多个快闪NAND装置且甚至适应具有不同收缩等级的存储器装置。还应注意,经虚拟化ECC NAND控制器沈内的ECC校正能力的改变并不影响快闪NAND设计。此外,由于通过图3中展示的架构所图解说明的解决方案可一次选择一个NAND存储器装置,因此与传统堆栈式架构相比减小了功率消耗。由于新存储器技术增加了单个单元中所存储的位数目,因此也增加了读取、写入及保持错误的几率。此使得使用更完整ECC算法(其具有增加的校正本领的代码)成为必须。为解决这些技术困难,应了解到目前为止,本发明的所呈现的实施例提供其中单个控制器管理NAND快闪存储器堆栈连同执行ECC算法的架构。此架构允许主机CPU使用标准 NAND协议驱动具有大的无错误地址空间的单个存储器系统。通过将ECC校正能力置于外部控制器中,可在不必改变快闪遮蔽的情况下促进ECC算法的改变。所述外部控制器还准许针对控制器及NAND存储器使用不同技术,且允许存储器装置具有不同的收缩等级。尽管本文已图解说明且描述了本发明的某些特征,然而所属领域的技术人员现在将能想出许多修改、替代、改变及等效形式。因此,应了解,所附权利要求书既定涵盖归属于本发明的真正精神内的所有此等修改及改变。
权利要求
1.一种用以耦合到主机的存储系统,其包括第一及第二 NAND存储器装置,其位于所述存储系统中;及控制器,其在所述第一及第二 NAND存储器装置外部,所述控制器给所述主机导出经虚拟化地址空间以允许所述主机将所述存储系统作为单个NAND芯片来驱动,即使所述存储系统包含多个NAND存储器装置。
2.根据权利要求1所述的存储系统,其中所述控制器实施错误校正码(ECC)算法且不实施损耗均衡及坏块管理的数据管理算法。
3.根据权利要求2所述的存储系统,其中所述控制器包含协议接口电路,所述协议接口电路具有缓冲器以减小因所述ECC算法的计算而引入的等待时间。
4.根据权利要求3所述的存储系统,其中所述协议接口电路管理去往所述主机处理器的NAND就绪/忙信号以计及ECC算法等待时间。
5.根据权利要求1所述的存储系统,其中所述控制器管理所述第一NAND存储器装置的与所述主机的页大小不同的页大小。
6.根据权利要求1所述的存储系统,其中所述控制器调适由所述主机发出的所述第一及第二 NAND存储器装置不支持的命令。
7.根据权利要求1所述的存储系统,其中所述控制器为非易失性存储器装置,其将从所述主机处理器接收的数据重新引导到选定NAND存储器装置。
8.一种用以与存储系统中的NAND存储器介接的控制器,其包括协议接口电路,其用以与主机处理器交换信号;ECC引擎,其用以实施ECC算法;及NAND接口,其用以管理所述NAND存储器,其中由所述主机处理器发出的NAND存储器不支持的命令在所述控制器中被仿真。
9.根据权利要求8所述的控制器,其中所述控制器为从主机NAND接口到所述NAND存储器的桥接器,其给所述主机处理器选择ECC算法以用于所述存储系统中所提供的所述 NAND存储器。
10.根据权利要求8所述的控制器,其中所述控制器管理来自所述主机处理器的与所述NAND存储器的页大小不同的页大小。
11.根据权利要求8所述的控制器,其中所述控制器将单个NAND接口呈现给所述主机处理器,所述单个NAND接口去除归因于可用地址输入循环的对所述NAND存储器中的可用快闪数目的限制。
12.根据权利要求8所述的控制器,其中所述控制器包含协议接口电路,所述协议接口电路具有缓冲器以将数据传送到所述主机处理器,所述缓冲器具有读取第二数据页的缓冲能力以使顺序读取操作中的ECC算法执行并行化。
13.根据权利要求12所述的控制器,其中所述协议接口电路管理去往所述主机处理器的NAND就绪/忙信号以计及ECC算法等待时间。
14.一种管理不在内部实施ECC算法的NAND存储器装置堆栈的方法,其包括使用控制器装置的协议接口块来与主机处理器交换信号,所述协议接口块允许所述主机处理器与大的无错误地址空间通信;由嵌入于所述控制器装置中的ECC引擎块实施ECC算法;及由嵌入于所述控制器装置中的NAND协议块重新加工从所述主机处理器接收的命令及地址两者以管理到所述NAND存储器装置堆栈的数据传送。
15.根据权利要求14所述的方法,其进一步包含由所述协议接口块解释从所述主机处理器接收的命令以引导对来自所述主机处理器的数据的存储。
16.根据权利要求14所述的方法,其进一步包含加载所述协议接口块中的缓冲器,所述缓冲器具有读取第二数据页的缓冲能力以使顺序读取操作中的ECC算法执行并行化。
17.一种包含多个NAND存储器装置的无线通信系统,其包括收发器;处理器,其具有第一及第二处理器核心,其中所述处理器耦合到所述收发器;及ECC控制器,其具有嵌入式NAND接口块,其用以接收命令及地址且与所述处理器交换信号;ECC引擎,其用以实施ECC算法;及NAND接口电路,其用以重新加工从主机处理器接收的命令及地址两者以引导与所述多个NAND存储器装置的数据传送。
18.根据权利要求17所述的无线通信系统,其中所述ECC控制器进一步包含协议接口电路,所述协议接口电路具有缓冲器以减小因所述ECC算法的计算而引入的等待时间。
19.根据权利要求17所述的无线通信系统,其中所述ECC控制器允许所述处理器将所述多个NAND存储器装置作为单个NAND芯片来驱动,同时所述ECC控制器将从所述处理器接收的数据重新引导到选定NAND存储器装置。
20.根据权利要求17所述的无线通信系统,其中所述ECC控制器允许所述处理器管理与所述多个NAND存储器装置的页大小不同的页大小。
全文摘要
本发明揭示一种单个经虚拟化ECC NAND控制器,其执行ECC算法且管理NAND快闪存储器堆栈。所述经虚拟化ECC NAND控制器允许主机处理器将所述快闪存储器装置堆栈作为单个NAND芯片来驱动,同时所述控制器将数据重新引导到所述堆栈中的选定NAND存储器装置。
文档编号G06F13/16GK102272730SQ200880131514
公开日2011年12月7日 申请日期2008年10月9日 优先权日2008年10月9日
发明者乔瓦尼·坎帕尔多, 克劳迪奥·贾乔, 奥尔内拉·维塔莱, 安东尼诺·波利奥, 曼努埃拉·斯科尼亚米利奥, 费代里科·蒂齐亚尼, 达尼洛·卡拉乔, 马西莫·亚库洛 申请人:美光科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1