用于在分布式码字存储系统中定位故障管芯的计数器的制造方法

文档序号:8380839阅读:378来源:国知局
用于在分布式码字存储系统中定位故障管芯的计数器的制造方法
【技术领域】
[0001]本公开通常涉及电子领域。尤其,某些实施例通常涉及在分布式码字存储系统中用于定位故障管芯的计数器
【背景技术】
[0002]通常地,用于在计算系统中存储数据的存储器可以是易失性的(用于存储易失性信息)或非易失性的(用于存储持续性信息)。存储在易失性存储器中的易失性数据结构通常用于暂时的或中间的信息,该信息被要求在程序的运行时间期间支持程序的功能性。另一方面,存储在非易失性存储器中的持续性数据结构在程序的运行时间之外是可用的且可以是重复使用的。此外,在用户或编程员决定使该数据持续之前,新数据通常首先被生成为易失性数据。例如,编程员或用户可导致在可由处理器直接访问的易失性主存储器中的易失性结构的映射(即,实例化)。在另一方面,持续性数据结构在像附连到输入/输出(I/o或10)总线的旋转盘的非易失性存储设备,或像闪存的基于非易失性存储器的设备上被实例化。
[0003]当在处理器中增强计算能力时,一个关注点是存储器可由处理器访问的速度。例如,为了处理数据,处理器可能需要首先从存储器中获取数据。在完成数据处理之后,结果可能需要被存储在存储器中。因此,存储器的访问速度可直接影响整体系统性能。
[0004]另一个重要的考虑是电能消耗。例如,在依赖电池电源的移动计算设备中,考虑到该设备在移动时操作,降低电能消耗是非常重要的。因为过量的电能消耗可增加成本(例如,由于额外的电能使用,增加的冷却要求等),缩短部件寿命,限制设备可被使用的位置等,能量消耗对于非移动计算设备来说也是重要的。
[0005]硬盘驱动器提供一个相对低成本的存储方案且被用于许多计算设备以提供非易失性存储。然而,因为磁盘驱动器需要以一个相对高的速度旋转磁盘且相对于旋转的磁盘移动磁头以读/写数据,所以当与闪存比较时,磁盘驱动器使用大量的电能。该物理移动产生热量且增加电能消耗。为了这个目的,某些较高端移动设备正向非易失性的闪存设备迀移。
[0006]附图的简要说明
[0007]参考附图提供详细的说明。在这些图中,附图标记的最左边数字标识首次出现该附图标记的图。在不同的图中使用相同的附图标记来标示类似的或相同的项目。
[0008]图1和5-7阐明可用于实施在此讨论的各实施例的计算系统的实施例的框图。
[0009]图2依据一个实施例阐明一个分布式码字架构。
[0010]图3依据一个实施例阐明一种故障管芯检测方法的流程图。
[0011]图4依据一个实施例阐明一个SSD的各部件的框图。
[0012]详细说明
[0013]接下来的说明中,阐明了许多具体细节以便提供各实施例的透彻的理解。然而,没有该详细说明,各实施例也可被实施。在其他情况下,为了不模糊特定的实施例,众所周知的方法,程序,部件,和电路未被详细描述。而且,实施例的各方面可使用多种手段执行,例如半导体集成电路(“硬件”),组成一个或多个程序的计算机可读指令(“软件”),或硬件和软件的某种组合。就本公开而言,提及“逻辑”应该意味着硬件,软件,固件,或其某种组入口 O
[0014]至于非易失性存储器(NVM)比如NAND,NOR,或三维交叉点存储器(或其他非易失性存储器技术比如记忆电阻器(“存储器电阻器”的混成词),电阻随机存取存储器,相变存储器(PCM),旋转力矩转移随机存取存储器(STTRAM)等),纠错码(ECC)可被用于保护数据以防原始比特错误,例如表示为原始比特错误率(RBER),其通常指的是读操作期间部分数据位的失败。分布在多个存储器管芯中的大型ECC码字可被用于某些实现中,例如,因为更大的ECC码字大小通常提供对RBER的更好的恢复力。至于致命的ECC错误(例如,阻碍进程前进的ECC错误),用于从该致命的ECC错误中恢复的重试流可包括具有高RBER的管芯的定位。使用XOR管芯(例如,在NVM设备的RAID (独立磁盘冗余阵列)配置的情况下)或在标记那些比特为擦除之后完成解码,该管芯中的码字比特然后可被重建。
[0015]此外,定位具有高RBER的管芯能在穷举搜索的基础上被完成。该搜索影响重试流的延迟且可证明是在满足系统中的服务质量(QoS)过程中的瓶颈。代替失败时随机地选择一个管芯,例如在读比特的基础上对该失败的管芯进行有根据的推测更有效。
[0016]为了这个目的,某些实施例提供使用计数器技术以在分布式码字存储系统中定位故障管芯。例如,一个不好的管芯可在首次尝试中且以非常高的概率被识别,而不是必须执行穷举搜索。在一个实施例中,从该管芯中读取的比特分别被计算(例如,通过使用一个或多个计数器)出O和/或I的数量(例如,每个管芯至少一个计数器以计算出O的数量和/或计算出I的数量,尽管每个管芯可使用更多的计数器,例如以计算O和I这两者的数量)。这些计数然后被用于定位故障管芯,正如将在此进一步讨论的。
[0017]另外,在此讨论的技术可被用于非易失性存储器的任何分布式码字方案,且虽然某些实施例结合具有3D交叉点存储器的SSD (固态驱动器)进行讨论,但是实施例不限于3D交叉点存储器技术且可被扩展到其他非易失性存储器技术比如NOR存储器,记忆电阻器,电阻随机存取存储器,相变存储器(PCM),旋转力矩转移随机存取存储器(STTRAM),NAND等。此外,QoS可以是一个重要性能参数,且故障管芯的快速检测帮助提高ECC错误发生后的重试流路径中的QoS。另外,0/1的计数是相对有效的和/或低开销的技术,该技术可导致重大系统性能提高(例如,当与穷举搜索方法比较时)。
[0018]尤其,各种ECC方案可用于非易失性存储器存储。这些方案可包括在一个非易失性存储器管芯中存储一个ECC码字或跨多个管芯分布一个ECC码字。在单个管芯中存储一ECC码字有其优势,特别对NAND闪存来说,因为如果一个单个部分要求来自多个管芯的读操作,系统的QoS不能被满足。然而,对三维交叉点存储器来说,这种限制被超越了,且跨多个管芯存储一 ECC码字是可行的。例如,对于三维交叉点存储器,一个码字可跨多个管芯分布。三维指的是该管芯中的二维和跨管芯的第三维。该跨管芯部件通常对NAND闪存来说是不可得的,因为跨芯的分布式码字将必须从所有管芯中读取,且这导致数量减少的通道或更少的并行性,这依次减少NAND闪存的吞吐量。然而,码字依然可跨多个管芯分布,以稍微降低读操作效率的方式使用NAND闪存(例如,以提供冗余等)。在跨多个管芯存储单个码字允许更大的码字大小,且也利用跨管芯的RBER差异来提供更高的对RBER的恢复力。
[0019]然而,存储单个码字或分布式码字的方案有它们自己的缺点。除了延迟命中和更高的解码复杂性之外,定位具有高RBER的管芯也是个问题。如果ECC致命错误,定位高RBER管芯或异常值(如我们将称它为向前,这通常指的是具有跟随着该高RBER管芯的问题的下一个管芯)变得重要。一旦识别出该异常值,XOR管芯(例如,RAID的)复原可被用于重建该异常值中的码字比特以重试解码。对可能不支持XOR的基于李德所罗门(Reed-Solomon)的分布式码字方案来说,重试解码期间,异常值中的码字比特可被声明为擦除。因此,这样的重试机制需要异常值识别。
[0020]此外,穷举搜索通常包括选择任何管芯当作异常值且重试解码过程。如果解码失败,另一个管芯然后被选择为异常值,且该搜索继续直至一个成功的解码结果;和如果所有管芯被穷举为正标记的异常值,复原退出。如此,穷举搜索可以有一个非常大的延迟影响。
[0021]为了这个目的,一个实施例使用从该非易失性存储器管芯中读取的比特以确定一个可能的候选作为失败的管芯。管芯的失败通常证明它们自身为字线短路或断路。这样的失败将导致正读取的比特全部为O或全部为I。因为存储在介质中的数据可能是代码源,O和I发生的概率是一半或百分之五十。因此,读取所有的O或所有的I是罕见的事件且有k个O或I被读取的概率是2Λ因此,如果从管芯中读取出k比特且如果它们都是O或1,这已经表明该管芯很可能已经转坏(或该管芯中读取的字线)。然后这被用作参照一些实施例讨论的坏管芯检测方案的基础。
[0022]在此讨论的技术可被提供于各种计算系统(例如,包括非移动计算设备比如台式机,工作站,服务器,托架系统等;和/或移动计算设备比如智能手机,手写板,UMPC (超级移动个人电脑),膝上型电脑,超极本?计算设备,智能手表,智能眼镜等),包括参照图1-7所讨论的那些。尤其,依据一实施例,图1阐明一计算系统100的框图。该系统100可包括一个或多个处理器102-1至102-N(通常在此称为“多个处理器102”或“处理器102”)。处理器102可通过互连或总线104通信。每个处理器可包括各种部件,为清楚起见,其中的一些仅参照处理器102-1进行讨论。相应地,剩余的处理器102-2至102-N中的每个可包括与参照处理器102-1所讨论相同或相似的部件。
[0023]在一个实施例中,处理器102-1可包括一个或多个处理器核心106-1至106-M (在此称为“多个核心106”,或更通常称为“核心106”),缓存108 (在各实施例中,这可为共享缓存或私有缓存),和/或路由器110。处理器核心106可在单一集成电路(IC)芯片上被实施。此外,该芯片可包括一个或多个共享和/或私有缓存(例如缓存108),总线或互连(例如总线或互连112),存储控制器(例如参照图5-7所讨论的那些),或其他部件。
[0024]在一个实施例中,路由器110可被用于在处理器102-1和/或系统100的各部件之间通信。此
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1