CN104699577A - 用于在分布式码字存储系统中定位故障管芯的计数器 - Google Patents

用于在分布式码字存储系统中定位故障管芯的计数器 Download PDF

Info

Publication number
CN104699577A
CN104699577A CN201410810777.4A CN201410810777A CN104699577A CN 104699577 A CN104699577 A CN 104699577A CN 201410810777 A CN201410810777 A CN 201410810777A CN 104699577 A CN104699577 A CN 104699577A
Authority
CN
China
Prior art keywords
memory
memory dice
tube core
dice
code word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410810777.4A
Other languages
English (en)
Other versions
CN104699577B (zh
Inventor
R·H·莫特瓦尼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104699577A publication Critical patent/CN104699577A/zh
Application granted granted Critical
Publication of CN104699577B publication Critical patent/CN104699577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

描述了与使用于在分布式码字存储系统中定位故障管芯的计数器相关的方法和装置。在一实施例中,第一逻辑确定多个值。该多个值中的每个对应于比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的一部分中读取的。第二逻辑至少部分地基于该多个存储器管芯的多个值的比较,在该多个存储器管芯中确定一个或多个候选作为故障管芯。其他实施例也被公开且要求保护。

Description

用于在分布式码字存储系统中定位故障管芯的计数器
技术领域
本公开通常涉及电子领域。尤其,某些实施例通常涉及在分布式码字存储系统中用于定位故障管芯的计数器
背景技术
通常地,用于在计算系统中存储数据的存储器可以是易失性的(用于存储易失性信息)或非易失性的(用于存储持续性信息)。存储在易失性存储器中的易失性数据结构通常用于暂时的或中间的信息,该信息被要求在程序的运行时间期间支持程序的功能性。另一方面,存储在非易失性存储器中的持续性数据结构在程序的运行时间之外是可用的且可以是重复使用的。此外,在用户或编程员决定使该数据持续之前,新数据通常首先被生成为易失性数据。例如,编程员或用户可导致在可由处理器直接访问的易失性主存储器中的易失性结构的映射(即,实例化)。在另一方面,持续性数据结构在像附连到输入/输出(I/O或IO)总线的旋转盘的非易失性存储设备,或像闪存的基于非易失性存储器的设备上被实例化。
当在处理器中增强计算能力时,一个关注点是存储器可由处理器访问的速度。例如,为了处理数据,处理器可能需要首先从存储器中获取数据。在完成数据处理之后,结果可能需要被存储在存储器中。因此,存储器的访问速度可直接影响整体系统性能。
另一个重要的考虑是电能消耗。例如,在依赖电池电源的移动计算设备中,考虑到该设备在移动时操作,降低电能消耗是非常重要的。因为过量的电能消耗可增加成本(例如,由于额外的电能使用,增加的冷却要求等),缩短部件寿命,限制设备可被使用的位置等,能量消耗对于非移动计算设备来说也是重要的。
硬盘驱动器提供一个相对低成本的存储方案且被用于许多计算设备以提供非易失性存储。然而,因为磁盘驱动器需要以一个相对高的速度旋转磁盘且相对于旋转的磁盘移动磁头以读/写数据,所以当与闪存比较时,磁盘驱动器使用大量的电能。该物理移动产生热量且增加电能消耗。为了这个目的,某些较高端移动设备正向非易失性的闪存设备迁移。
附图的简要说明
参考附图提供详细的说明。在这些图中,附图标记的最左边数字标识首次出现该附图标记的图。在不同的图中使用相同的附图标记来标示类似的或相同的项目。
图1和5-7阐明可用于实施在此讨论的各实施例的计算系统的实施例的框图。
图2依据一个实施例阐明一个分布式码字架构。
图3依据一个实施例阐明一种故障管芯检测方法的流程图。
图4依据一个实施例阐明一个SSD的各部件的框图。
详细说明
接下来的说明中,阐明了许多具体细节以便提供各实施例的透彻的理解。然而,没有该详细说明,各实施例也可被实施。在其他情况下,为了不模糊特定的实施例,众所周知的方法,程序,部件,和电路未被详细描述。而且,实施例的各方面可使用多种手段执行,例如半导体集成电路(“硬件”),组成一个或多个程序的计算机可读指令(“软件”),或硬件和软件的某种组合。就本公开而言,提及“逻辑”应该意味着硬件,软件,固件,或其某种组合。
至于非易失性存储器(NVM)比如NAND,NOR,或三维交叉点存储器(或其他非易失性存储器技术比如记忆电阻器(“存储器电阻器”的混成词),电阻随机存取存储器,相变存储器(PCM),旋转力矩转移随机存取存储器(STTRAM)等),纠错码(ECC)可被用于保护数据以防原始比特错误,例如表示为原始比特错误率(RBER),其通常指的是读操作期间部分数据位的失败。分布在多个存储器管芯中的大型ECC码字可被用于某些实现中,例如,因为更大的ECC码字大小通常提供对RBER的更好的恢复力。至于致命的ECC错误(例如,阻碍进程前进的ECC错误),用于从该致命的ECC错误中恢复的重试流可包括具有高RBER的管芯的定位。使用XOR管芯(例如,在NVM设备的RAID(独立磁盘冗余阵列)配置的情况下)或在标记那些比特为擦除之后完成解码,该管芯中的码字比特然后可被重建。
此外,定位具有高RBER的管芯能在穷举搜索的基础上被完成。该搜索影响重试流的延迟且可证明是在满足系统中的服务质量(QoS)过程中的瓶颈。代替失败时随机地选择一个管芯,例如在读比特的基础上对该失败的管芯进行有根据的推测更有效。
为了这个目的,某些实施例提供使用计数器技术以在分布式码字存储系统中定位故障管芯。例如,一个不好的管芯可在首次尝试中且以非常高的概率被识别,而不是必须执行穷举搜索。在一个实施例中,从该管芯中读取的比特分别被计算(例如,通过使用一个或多个计数器)出0和/或1的数量(例如,每个管芯至少一个计数器以计算出0的数量和/或计算出1的数量,尽管每个管芯可使用更多的计数器,例如以计算0和1这两者的数量)。这些计数然后被用于定位故障管芯,正如将在此进一步讨论的。
另外,在此讨论的技术可被用于非易失性存储器的任何分布式码字方案,且虽然某些实施例结合具有3D交叉点存储器的SSD(固态驱动器)进行讨论,但是实施例不限于3D交叉点存储器技术且可被扩展到其他非易失性存储器技术比如NOR存储器,记忆电阻器,电阻随机存取存储器,相变存储器(PCM),旋转力矩转移随机存取存储器(STTRAM),NAND等。此外,QoS可以是一个重要性能参数,且故障管芯的快速检测帮助提高ECC错误发生后的重试流路径中的QoS。另外,0/1的计数是相对有效的和/或低开销的技术,该技术可导致重大系统性能提高(例如,当与穷举搜索方法比较时)。
尤其,各种ECC方案可用于非易失性存储器存储。这些方案可包括在一个非易失性存储器管芯中存储一个ECC码字或跨多个管芯分布一个ECC码字。在单个管芯中存储一ECC码字有其优势,特别对NAND闪存来说,因为如果一个单个部分要求来自多个管芯的读操作,系统的QoS不能被满足。然而,对三维交叉点存储器来说,这种限制被超越了,且跨多个管芯存储一ECC码字是可行的。例如,对于三维交叉点存储器,一个码字可跨多个管芯分布。三维指的是该管芯中的二维和跨管芯的第三维。该跨管芯部件通常对NAND闪存来说是不可得的,因为跨芯的分布式码字将必须从所有管芯中读取,且这导致数量减少的通道或更少的并行性,这依次减少NAND闪存的吞吐量。然而,码字依然可跨多个管芯分布,以稍微降低读操作效率的方式使用NAND闪存(例如,以提供冗余等)。在跨多个管芯存储单个码字允许更大的码字大小,且也利用跨管芯的RBER差异来提供更高的对RBER的恢复力。
然而,存储单个码字或分布式码字的方案有它们自己的缺点。除了延迟命中和更高的解码复杂性之外,定位具有高RBER的管芯也是个问题。如果ECC致命错误,定位高RBER管芯或异常值(如我们将称它为向前,这通常指的是具有跟随着该高RBER管芯的问题的下一个管芯)变得重要。一旦识别出该异常值,XOR管芯(例如,RAID的)复原可被用于重建该异常值中的码字比特以重试解码。对可能不支持XOR的基于李德所罗门(Reed-Solomon)的分布式码字方案来说,重试解码期间,异常值中的码字比特可被声明为擦除。因此,这样的重试机制需要异常值识别。
此外,穷举搜索通常包括选择任何管芯当作异常值且重试解码过程。如果解码失败,另一个管芯然后被选择为异常值,且该搜索继续直至一个成功的解码结果;和如果所有管芯被穷举为正标记的异常值,复原退出。如此,穷举搜索可以有一个非常大的延迟影响。
为了这个目的,一个实施例使用从该非易失性存储器管芯中读取的比特以确定一个可能的候选作为失败的管芯。管芯的失败通常证明它们自身为字线短路或断路。这样的失败将导致正读取的比特全部为0或全部为1。因为存储在介质中的数据可能是代码源,0和1发生的概率是一半或百分之五十。因此,读取所有的0或所有的1是罕见的事件且有k个0或1被读取的概率是2-k。因此,如果从管芯中读取出k比特且如果它们都是0或1,这已经表明该管芯很可能已经转坏(或该管芯中读取的字线)。然后这被用作参照一些实施例讨论的坏管芯检测方案的基础。
在此讨论的技术可被提供于各种计算系统(例如,包括非移动计算设备比如台式机,工作站,服务器,托架系统等;和/或移动计算设备比如智能手机,手写板,UMPC(超级移动个人电脑),膝上型电脑,超极本TM计算设备,智能手表,智能眼镜等),包括参照图1-7所讨论的那些。尤其,依据一实施例,图1阐明一计算系统100的框图。该系统100可包括一个或多个处理器102-1至102-N(通常在此称为“多个处理器102”或“处理器102”)。处理器102可通过互连或总线104通信。每个处理器可包括各种部件,为清楚起见,其中的一些仅参照处理器102-1进行讨论。相应地,剩余的处理器102-2至102-N中的每个可包括与参照处理器102-1所讨论相同或相似的部件。
在一个实施例中,处理器102-1可包括一个或多个处理器核心106-1至106-M(在此称为“多个核心106”,或更通常称为“核心106”),缓存108(在各实施例中,这可为共享缓存或私有缓存),和/或路由器110。处理器核心106可在单一集成电路(IC)芯片上被实施。此外,该芯片可包括一个或多个共享和/或私有缓存(例如缓存108),总线或互连(例如总线或互连112),存储控制器(例如参照图5-7所讨论的那些),或其他部件。
在一个实施例中,路由器110可被用于在处理器102-1和/或系统100的各部件之间通信。此外,处理器102-1可包括多于一个的路由器110。另外,许多路由器110可处于通信中,从而实现处理器102-1内部或外部的各部件之间的数据路由。
缓存108可存储数据(例如,包括指令),这些数据被处理器102-1的一个或多个部件使用,比如核心106。例如,缓存108可本地缓存存储器114中的数据,以被处理器102的部件更快地访问。如图1所示,存储器114可通过互连104与处理器102通信。在一个实施例中,缓存108(其可被共享)可具有多种级别,例如,缓存108可为中级缓存和/或最末级缓存(LLC)。每个核心106还可包括级别1(L1)缓存(116-1)(通常在此称为“L1缓存116”)。处理器102-1的各部件可通过总线(例如总线112),和/或存储控制器或集线器与缓存108直接通信。
如图1所示,存储器114可通过存储控制器120与系统100的其他部件耦合。即使存储控制器120被显示成在互连104和存储器114之间耦合,存储控制器120可位于系统100中的别处。例如,在一些实施例中,存储控制器120或它的部分可被提供在一个处理器102中。在一些实施例中,系统100还可包括控制访问一个或多个非易失性存储设备(包括一个或多个SSD 130)的逻辑(例如,固态存储控制器逻辑125),其中在一些实施例中,该一个或多个NVM设备可被提供在同一个集成电路管芯上。
此外,即使在图1中逻辑125被显示成与互连104直接耦合,逻辑125可选择性地通过存储总线/互连(比如SATA(串行高级技术附件)总线,外设部件互连(PCI)(或PCI高速(PCIe)接口)等)与系统100的一个或多个其他部件通信(例如其中存储总线通过像总线桥,芯片集(比如参照图5-6所讨论的)等之类的某种其他逻辑耦合到互连104)。另外,在各实施例中,逻辑125可被并入存储控制器逻辑(比如参照图1和5-7所讨论的那些)或被提供在同一个集成电路设备上。
此外,逻辑125可被耦合到(或者可选择性地包括,例如,如图1所示)一个或多个计数器150(以计数从形成SSD 130的管芯中读取的0和1)和排序器逻辑152(以由计数器150排序计数值,正如将在此参照图2-3所进一步讨论的)。系统100还可包括耦合到逻辑125的一个或多个传感器(未示出)以提供信息(例如,以一个或多个比特或信号的形式)来指示由一个或多个传感器检测到的值的或状态。可提供传感器接近系统100(或在此讨论的其他计算系统比如像参照包括5-7的其他图所讨论的那些)的部件,包括核心106,互连104或112,处理器102外部的部件,SSD,SSD总线,SATA总线,逻辑125等,以感应影响系统/平台的电能/热性能的各因素的变化,比如温度,操作频率,操作电压,电能消耗,和/或核内通信活动等。
图2依据一个实施例阐明一个分布式码字方案。尤其,图2阐明存储在SSD130的多个管芯中的数据。另外,虽然一些实施例参照具有3D交叉点存储闪存的SSD(固态驱动器)讨论,实施例不限于3D交叉点存储技术且可与其他非易失性存储技术一起使用,比如NOR存储器,记忆电阻器,电阻随机存取存储器,相变存储器(PCM),旋转力矩转移随机存取存储器(STTRAM),NAND等。
如图2所示,(例如李德所罗门(RS))码字被分布在10个管芯上。例如,每个RS码编码256B的用户数据至310B的RS码字,其可纠正24个符号错误。10B的空间依然是可得的,且这被元数据共享。在图2中,EDC指的是错误检测码,这包括每个管芯上0.5B的空间。此外,即使参照图2讨论了特定的字节大小,每个管芯中其他(例如,不相等)字节大小可被使用(例如,通过缩放该可得的空间(例如基于百分比))。
图3依据一个实施例阐明一种故障管芯检测方案的流程图。随着码字比特从每个管芯中读取,该坏管芯检测方案使用0和/或1的(例如,最大)数量的运行计数(例如,使用计数器150,其包括每个管芯中用于从每个管芯中读取的0的数量的一个计数器,和/或每个管芯中用于从每个管芯中读取的1的数量的另一个计数器)。在从每个管芯中读取出k比特之后,由排序器逻辑152完成计数的比较,该排序器逻辑152排序计数值以确定出处于正确顺序的顶部和/或底部条目(即,根据正以升序或降序进行的排序来分别识别具有最多1和/或最多0的管芯,反之亦然)。
例如,如果排序器逻辑152按升序基于1的数量排序计数值,顶部结果是故障管芯的最可能候选(例如,因为如在此所讨论的,具有所有/最多1(或0)的管芯可能是故障的),底部结果将是具有最少1(例如,最多0)的管芯,且也是潜在故障管芯。这些确定的候选然后被用于按顺序标记潜在坏管芯。或者,如果排序器逻辑152按升序基于0的数量排序计数值,顶部排序结果是具有最多/所有0比特的故障管芯的最可能候选,而底部排序结果将是具有最多/所有1比特的故障管芯的最可能候选。因此,排序器逻辑152可执行各种排序操作,例如,按升序/降序,和/或基于从部分存储器管芯中读取的比特中0和/或1的计数。
此外,当顶部和底部排序结果/条目被认为是一些实施例中故障管芯检测的顶部候选时(例如,其中按照从每个管芯部分中读取的1的数量和/或0的数量进行排序),下一个条目(在排序次序上紧跟着顶部和底部排序结果/条目)可被用于确定下一个可能的故障管芯。根据实现,可对每个字线或管芯的其他部分(例如存储体等)进行计数。为了将来的访问,排序条目/结果也可被存储在存储器(比如在此参照图1-7讨论的任何存储设备)。
因此,一些实施例考虑到将具有最大错误计数的管芯标记为故障管芯。例如,让我们考虑一下,我们将数到32比特且基于计数为10个管芯做决定。好管芯将有50%的0和1,且检测到全为0或1的概率为2-32=2.3e-10。具有字线短路或断路的故障管芯将以1的概率具有全部0或全部1。这为检测故障管芯提供了一种健壮的技术。
图4依据一个实施例阐明一个SSD的各部件的框图。如图4所示,SSD 130包括控制器逻辑482(这依次包括一个或多个处理器核心或处理器484和存储控制器逻辑486),随机存取存储器(RAM)488,固件存储器490,和一个或多个存储器模块或管芯492-1至492-n(这可包括3D交叉点存储器,NAND,NOR,或其他类型的非易失性存储器)。存储器模块492-1至492-n通过一个或多个存储器通道或总线被耦合至存储控制器逻辑486。SSD 130还通过接口(比如SATA,PCIe(外设部件互连高速)等接口)与逻辑125通信。参照图2-3讨论的一个或多个操作可由图4中的一个或多个部件执行(例如,处理器484和/或控制器482可促使从存储器模块492-1至492-n的读操作的执行,以促使读取的1和0的数量的计数)。图2-3中的一个或多个操作也可编程入固件490。
图5依据一个实施例阐明一计算系统500的框图。该计算系统500可包括通过互连网络(或总线)504通信的一个或多个中央处理单元(CPU)502或处理器。处理器502可包括通用处理器,网络处理器(其处理通过计算机网络503通信的数据),应用程序处理器(比如用于手机,智能手机等的那些),或其他类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。各种类型的计算机网络503可被使用,包括有线的(例如,以太网,千兆比特,光纤等)或无线的网络(比如蜂窝,3G(第3代手机技术或第3代无线格式(UWCC)),5G,低功耗嵌入式(LPE)等)。此外,处理器502可具有单核或多核设计。采用多核设计的处理器502可将不同类型的处理器核心集成在同一个集成电路(IC)管芯上。采用多核设计的处理器502还可被实现为对称或不对称的多处理器。
在一个实施例中,一个或多个处理器502可与图1中的处理器102相同或相似。例如,一个或多个处理器502可包括一个或多个核心106和/或缓存108。参照图1-4讨论的操作还可被系统500的一个或多个部件执行。
芯片集506也可与互连网络504通信。芯片集506可包括一图形和存储控制集线器(GMCH)508。GMCH 508可包括与存储器114通信的存储控制器510(其可与实施例的图1中的存储控制器120相同或相似)。存储器114可存储数据,包括由CPU 502或包含在计算系统500中的任何其他设备执行的指令序列。系统500还包括逻辑125和SSD 130(在各实施例中,其可通过总线522(比如所图示的),通过其他互连(比如504)耦合到系统500,其中逻辑125被并入芯片集506等)。在一个实施例中,存储器114可包括一个或多个易失性存储(或存储器)设备,比如随机存取存储器(RAM),动态RAM(DRAM),同步DRAM(SDRAM),静态RAM(SRAM),或其他类型的存储设备。非易失性存储器也可被使用,比如硬盘,闪存,PCM,3D交叉点存储器,电阻随机存取存储器,记忆电阻器,和STTRAM。附加设备可通过互连网络504通信,比如多CPU和/或多系统存储器。
GMCH 508还可包括与图形加速器516通信的图形接口514。在一个实施例中,图形接口514可通过加速图形接口(AGP)或外设部件互连(PCI)(或PCI高速(PCIe)接口)与图形加速器516通信。在一个实施例中,显示器517(比如平板显示器,触摸屏等)可通过例如信号转换器与图形接口514通信,该信号转换器将存储在诸如视频存储器或系统存储器之类的存储设备中的图像的数字表示转换成由显示器解译且显示的显示信号。在被显示器517解译和随后在其上被显示之前,由显示设备产生的显示信号可通过各控制设备。
集线器接口518可允许GMCH 508和输入/输出控制集线器(ICH)520通信。ICH 520可提供一接口至与计算系统500通信的I/O设备。ICH 520可通过外设桥(或控制器)524与总线522通信,比如外设部件互连(PCI)桥,通用串行总线(USB)控制器,或其他类型的外设桥或控制器。桥524可在CPU 502和外设设备之间提供数据路径。其他类型的拓扑结构可被使用。多总线也可与ICH 520通信,例如,通过多桥或控制器。此外,在各实施例中,与ICH 520通信的其他外设可包括集成驱动器电子设备(IDE)或小型计算机系统接口(SCSI)硬盘驱动器,USB端口,键盘,鼠标,并行端口,串行端口,软磁盘驱动器,数字输出支持(例如,数字视频接口(DVI)),或其他设备。
总线522可与音频设备526,一个或多个磁盘驱动器528,和网络接口设备530(它可与计算机网络503通信,例如通过有线的或无线的接口)通信。如所示的,网络接口设备530可耦合至天线531以便与网络503无线地(例如,通过电气与电子工程师协会(IEEE)802.11接口(包括IEEE 802.11a/b/g/n等),蜂窝接口,3G,5G,LPE等)通信。其他设备可通过总线522通信。在一些实施例中,各部件(比如网络接口设备530)也可与GMCH 508通信。另外,处理器502和GMCH 508可被组合以形成单一芯片。此外,在其他实施例中,图形加速器516可被包括在GMCH 508中。
此外,计算系统500可包括易失性和/或非易失性存储器(或存储)。例如,非易失性存储器可包括以下的一个或多个:只读存储器(ROM),可编程只读存储器(PROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),磁盘驱动器(例如,528),软磁盘,光盘只读存储器(CD-ROM),数字多用盘(DVD),闪存,磁光盘,或其他类型的能够存储电子数据(例如,包括指令)的非易失性机器可读介质。
图6依据一个实施例阐明以点对点(PtP)配置进行布置的计算系统600。尤其,图6显示了其中处理器,存储器和输入/输出设备由多个点对点接口互连的系统。参照图1-5讨论的操作可由系统600的一个或多个部件执行。
如图6所示,系统600可包括多个处理器,为清楚起见,仅显示其中的两个处理器602和604。处理器602和604可每个都包括本地存储控制集线器(MCH)606和608,以实现与存储器610和612的通信。存储器610和/或612可存储多种数据,比如参照图1和/或5的存储器114讨论的那些。在一些实施例中,MCH 606和608还可包括存储控制器120。另外,系统600包括逻辑125和SSD 130(在各实施例中,它们可通过比如所示的总线640/644耦合至系统600,通过其他点对点连接耦合至处理器602/604或芯片集620,其中逻辑125被并入芯片集620等)。
在一实施例中,处理器602和604可以是参照图5讨论的处理器502中的一个。处理器602和604可通过分别使用PtP接口电路616和618的点对点(PtP)接口614交换数据。处理器602和604还可每个都通过各自的PtP接口622和624与芯片集620交换数据,PtP接口622和624使用点对点接口电路626,628,630和632。芯片集620可通过高性能图形接口636,例如使用PtP接口电路637,进一步与高性能图形电路634交换数据。正如参照图5所讨论的,在一些实施例中,图形接口636可被耦合至显示设备(例如,显示器517)。
如图6所示,图1的一个或多个核心106和/或缓存108可位于处理器602和604中。然而,其他实施例可存在于图6的系统600内的其他电路,逻辑单元或设备中。另外,其他实施例可分布遍及图6所示的多个电路,逻辑单元或设备。
芯片集620可使用PtP接口电路641与总线640通信。总线640可具有与之通信的一个或多个设备,比如总线桥642和I/O设备643。通过总线644,总线桥642可与其他设备通信,比如键盘/鼠标645,通信设备646(比如调制解调器,网络接口设备,或可与计算机网络503通信的其他通信设备,正如参照例如网络接口设备530所讨论的,包括通过天线531),音频I/O设备,和/或数据存储设备648。数据存储设备648可存储可由处理器602和/或604执行的代码649。
在一些实施例中,在此讨论的一个或多个部件可被体现为芯片上系统(SOC)设备。图7依据一实施例阐明一SOC封装的框图。如图7所示,SOC 702包括一个或多个中央处理单元(CPU)核心720,一个或多个图形处理器单元(GPU)核心730,输入/输出(I/O)接口740,和存储控制器742。SOC封装702的各部件可被耦合至互连或总线,比如参照其他图在此所讨论的。SOC封装702还可包括更多或更少的部件,比如参照其他图在此所讨论的那些。此外,SOC封装702的每个部件可包括一个或多个其他部件,例如参照其他图在此所讨论的。在一个实施例中,SOC封装702(和其组件)被提供在一个或多个集成电路(IC)管芯上,例如,其被封装到单个半导体设备上。
如图7所示,SOC封装702通过存储控制器742被耦合至存储器760(它可与参照其他图在此讨论的存储器相似或相同)。在一实施例中,存储器760(或它的一部分)可被集成在SOC封装702上。
I/O接口740可被耦合至一个或多个I/O设备770,例如,通过互连和/或总线,比如参照其他图在此所讨论的。I/O设备770可包括键盘,鼠标,触摸板,显示器,图像/视频捕获设备(比如相机或摄录像机/录像机),触摸屏,扬声器或类似物中的一个或多个。另外,一个实施例中,SOC封装702可包括/集成逻辑125。或者,逻辑125可被提供在SOC封装702的外部(即,作为一个独立的逻辑)。
以下的例子涉及进一步的实施例。例1包括一装置,该装置包括:第一逻辑,用于确定多个值,其中该多个值中的每个对应于比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的一部分中读取的;和第二逻辑,用于至少部分地基于该多个存储器管芯的多个值的比较,在该多个存储器管芯中确定一个或多个候选作为故障管芯。例2包括例1的装置,其中该第一逻辑包括用于该多个存储器管芯中的每个的至少一个计数器,以计算出比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的该部分中读取的。例3包括例1的装置,其中该第二逻辑用于至少部分地基于该多个存储器管芯的多个值的排序,在该多个存储器管芯中确定一个或多个候选作为故障管芯。例4包括例3的装置,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的顶部结果中的一个或多个。例5包括例3的装置,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的底部结果中的一个或多个。例6包括例1的装置,其中该部分包括字线或存储体。例7包括例1的装置,其中该多个存储器管芯中的每个的该部分用于存储至少部分码字。例8包括例7的装置,其中该码字包括李德所罗门(RS)码字。例9包括例1的装置,其中该多个存储器管芯中的每个的该部分用于存储相等部分的码字。例10包括例9的装置,其中该码字包括RS码字。例11包括例1的装置,其中非易失性存储设备包括该多个存储器管芯。例12包括例11的装置,其中该非易失性存储设备包括以下的一个或多个:固态设备,相变存储器,3D(三维)交叉点存储器,电阻随机存取存储器,记忆电阻器存储器,和旋转力矩转移随机存取存储器。例13包括例1的装置,其中第一逻辑,第二逻辑,该多个存储器管芯,和处理器核心中的一个或多个在同一个集成电路管芯上。
例14包括一种方法,该方法包括:确定多个值,其中该多个值中的每个对应于比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的一部分中读取的;和至少部分地基于该多个存储器管芯的多个值的比较,在该多个存储器管芯中确定一个或多个候选作为故障管芯。例15包括例14的方法,其中确定该多个值包括计算出比特中0的数量或1的数量,该比特是从该多个存储器管芯中的每个的该部分中读取的。例16包括例14的方法,其中在该多个存储器管芯中确定该一个或多个候选作为故障管芯是至少部分地基于该多个存储器管芯的多个值的排序来执行的。例17包括例16的方法,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的顶部结果中的一个或多个。例18包括例16的方法,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的底部结果中的一个或多个。例19包括例14的方法,其中该部分包括字线或存储体。例20包括例14的方法,其中该多个存储器管芯中的每个的该部分存储至少部分码字。例21包括例14的方法,其中该多个存储器管芯中的每个的该部分存储相等部分的码字。例22包括例14的方法,其中该多个存储器管芯被包含在以下的一个或多个中:固态设备,相变存储器,3D(三维)交叉点存储器,电阻随机存取存储器,记忆电阻器存储器,和旋转力矩转移随机存取存储器。
例23包括一计算机可读介质,该计算机可读介质包括一个或多个指令,当该指令在处理器上被执行时,配置该处理器执行一个或多个操作,以进行:确定多个值,其中该多个值中的每个对应于比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的一部分中读取的;和至少部分地基于该多个存储器管芯的多个值的比较,在该多个存储器管芯中确定一个或多个候选作为故障管芯。例24包括例23的计算机可读介质,进一步包括一个或多个指令,当该指令在处理器上被执行时,配置该处理器执行一个或多个操作以通过计算出比特中0的数量或1的数量来促使该多个值的确定,该比特是从该多个存储器管芯中的每个的该部分中读取的。例25包括例23的计算机可读介质,进一步包括一个或多个指令,当该指令在处理器上被执行时,配置该处理器执行一个或多个操作以至少部分地基于该多个存储器管芯的多个值的排序,在该多个存储器管芯中促使一个或多个候选作为故障管芯的确定。
例26包括一计算机可读介质,该计算机可读介质包括一个或多个指令,当该指令在处理器上被执行时,配置该处理器执行例14-22中任何一个示例的一个或多个操作。例27包括一个装置,该装置包括用于执行在例14-22的任何一个中所阐述的方法的设备。例28包括一个装置,该装置包括用于执行在任何一个前述的示例中所述的方法的设备。例29包括一个机器可读存储器,该机器可读存储器包括机器可读指令,当被执行时,用于实施在任何一个前述的示例中所阐述的方法或实现在任何一个前述的示例中所阐述的装置。
例30包括一个系统,该系统包括:多个存储器管芯;和至少一个处理器核心,用于访问该多个存储器管芯;第一逻辑,用于确定多个值,其中该多个值中的每个对应于比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的一部分中读取的;和第二逻辑,用于至少部分地基于该多个存储器管芯的多个值的比较,在该多个存储器管芯中确定一个或多个候选作为故障管芯。例31包括例30的系统,其中该第一逻辑包括用于该多个存储器管芯中的每个的至少一个计数器,以计算出比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的该部分中读取的。例32包括例30的系统,其中该第二逻辑用于至少部分地基于该多个存储器管芯的多个值的排序,在该多个存储器管芯中确定一个或多个候选作为故障管芯。例33包括例32的系统,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的顶部结果中的一个或多个。例34包括例32的系统,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的底部结果中的一个或多个。例35包括例30的系统,其中该部分包括字线或存储体。例36包括例30的系统,其中该多个存储器管芯中的每个的该部分用于存储至少部分码字。例37包括例36的系统,其中该码字包括李德所罗门(RS)码字。例38包括例30的系统,其中该多个存储器管芯中的每个的该部分用于存储相等部分的码字。例39包括例38的系统,其中该码字包括RS码字。例40包括例30的系统,其中非易失性存储设备包括该多个存储器管芯。例41包括例40的系统,其中该非易失性存储设备包括以下的一个或多个:固态设备,相变存储器,3D(三维)交叉点存储器,电阻随机存取存储器,记忆电阻器存储器,和旋转力矩转移随机存取存储器。例42包括例30的系统,其中第一逻辑,第二逻辑,该多个存储器管芯,和至少一个处理器核心中的一个或多个在同一个集成电路管芯上。
在各实施例中,例如参照图1-7在此讨论的操作,可被实现为硬件(例如电路),软件,固件,微代码,或它们的组合,其可被提供为计算机程序产品,例如,包括已经在其上存储了指令(或软件程序)的有形的(例如,非临时性的)机器可读或计算机可读介质,该指令(或软件程序)用于对计算机编程以执行在此讨论的过程。术语“逻辑”还可包括(以示例的方式)软件,硬件,或软件与硬件的组合。机器可读介质可包括存储设备,比如参照图1-7讨论的那些。
此外,这种有形的计算机可读介质可被当作计算机程序产品下载,其中以数据信号的方式(比如,在载波或其他传输介质中)经由通信链路(例如,总线,调制解调器,或网络连接),该程序可从远程计算机(例如,服务器)传输到请求计算机(例如,客户端)。
在说明书中,提及“一个实施例”或“一实施例”意味着结合该实施例描述的特定特征,结构或特性可被包括在至少一个实施方式中。在说明书中的各处出现的短语“在一个实施例中”可以或可以不全部指代同一个实施例。
在说明书和权利要求书中,还可以使用术语“耦合”和“连接”及其派生词。在一些实施例中,“连接”可用于表明两个或多个元件彼此之间处于直接的物理接触或电气接触。“耦合”可表示两个或多个元件处于直接的物理接触或电气接触。然而,“耦合”还可表示两个或多个元件彼此之间可不直接接触,但仍可以互相合作或交互。
因此,虽然实施例已经用特定于结构特征和/或方法动作的语言进行了描述,将被理解的是,要求保护的主题可不限于描述的特定特征或动作。更确切地说,该特定特征和动作被公开为实施该要求保护的主题的示例形式。

Claims (24)

1.一种使用用于在分布式码字存储系统中定位故障管芯的计数器的装置,该装置包括:
第一逻辑,用于确定多个值,其中该多个值中的每个对应于比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的一部分中读取的;和
第二逻辑,用于至少部分地基于该多个存储器管芯的多个值的比较,在该多个存储器管芯中确定一个或多个候选作为故障管芯。
2.权利要求1的该装置,其中该第一逻辑包括用于该多个存储器管芯中的每个的至少一个计数器,以计算出比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的该部分中读取的。
3.权利要求1的该装置,其中该第二逻辑用于至少部分地基于该多个存储器管芯的多个值的排序,在该多个存储器管芯中确定该一个或多个候选作为故障管芯。
4.权利要求3的该装置,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的顶部结果中的一个或多个。
5.权利要求3的该装置,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的底部结果中的一个或多个。
6.权利要求1的该装置,其中该部分包括字线或存储体。
7.权利要求1的该装置,其中该多个存储器管芯中的每个的该部分用于存储至少部分码字。
8.权利要求7的该装置,其中该码字包括李德所罗门(RS)码字。
9.权利要求1的该装置,其中该多个存储器管芯中的每个的该部分用于存储相等部分的码字。
10.权利要求9的该装置,其中该码字包括RS码字。
11.权利要求1的该装置,其中非易失性存储设备包括该多个存储器管芯。
12.权利要求11的该装置,其中该非易失性存储设备包括以下的一个或多个:固态设备,相变存储器,3D(三维)交叉点存储器,电阻随机存取存储器,记忆电阻器存储器,和旋转力矩转移随机存取存储器。
13.权利要求1的该装置,其中第一逻辑,第二逻辑,该多个存储器管芯,和处理器核心中的一个或多个在同一个集成电路管芯上。
14.一种使用用于在分布式码字存储系统中定位故障管芯的计数器的方法,该方法包括:
确定多个值,其中该多个值中的每个对应于比特中0的数量或1的数量,该比特是从多个存储器管芯中的每个的一部分中读取的;和
至少部分地基于该多个存储器管芯的多个值的比较,在该多个存储器管芯中确定一个或多个候选作为故障管芯。
15.权利要求14的该方法,其中确定该多个值包括计算出比特中0的数量或1的数量,该比特是从该多个存储器管芯中的每个的该部分中读取的。
16.权利要求14的该方法,其中在该多个存储器管芯中确定该一个或多个候选作为故障管芯是至少部分地基于该多个存储器管芯的多个值的排序来执行的。
17.权利要求16的该方法,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的顶部结果中的一个或多个。
18.权利要求16的该方法,其中该一个或多个候选是对该多个存储器管芯的多个值进行排序的底部结果中的一个或多个。
19.权利要求14的该方法,其中该部分包括字线或存储体。
20.权利要求14的该方法,其中该多个存储器管芯中的每个的该部分存储至少部分码字。
21.权利要求14的该方法,其中该多个存储器管芯中的每个的该部分存储相等部分的码字。
22.权利要求14的该方法,其中该多个存储器管芯被包含在以下的一个或多个中:固态设备、相变存储器、3D(三维)交叉点存储器、电阻随机存取存储器、记忆电阻器存储器、和旋转力矩转移随机存取存储器。
23.一种计算机可读介质,包括一个或多个指令,当该指令在处理器上被执行时,配置该处理器执行权利要求14至22中任何一项的一个或多个操作。
24.一种装置,包括用于执行权利要求14至22中任何一项中所述的方法的设备。
CN201410810777.4A 2013-12-06 2014-11-05 用于在分布式码字存储系统中定位故障管芯的计数器 Active CN104699577B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/099,551 US9911509B2 (en) 2013-12-06 2013-12-06 Counter to locate faulty die in a distributed codeword storage system
US14/099551 2013-12-06

Publications (2)

Publication Number Publication Date
CN104699577A true CN104699577A (zh) 2015-06-10
CN104699577B CN104699577B (zh) 2018-05-29

Family

ID=53271857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410810777.4A Active CN104699577B (zh) 2013-12-06 2014-11-05 用于在分布式码字存储系统中定位故障管芯的计数器

Country Status (3)

Country Link
US (1) US9911509B2 (zh)
CN (1) CN104699577B (zh)
TW (1) TWI569277B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815174A (zh) * 2015-11-30 2017-06-09 大唐移动通信设备有限公司 数据访问控制方法及节点控制器
CN109215728A (zh) * 2017-07-01 2019-01-15 英特尔公司 用于分布式存储器危险检测和错误恢复的存储器电路和方法
CN110322920A (zh) * 2018-03-28 2019-10-11 爱思开海力士有限公司 控制器及控制器的操作方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10276259B2 (en) * 2017-07-05 2019-04-30 Winbond Electronics Corp. Memory testing method and memory apparatus therefor
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
US11734094B2 (en) * 2020-08-19 2023-08-22 Micron Technology, Inc. Memory component quality statistics
US11741043B2 (en) 2021-01-29 2023-08-29 The Trustees Of Dartmouth College Multi-core processing and memory arrangement

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5267242A (en) * 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US20020133769A1 (en) * 2001-03-15 2002-09-19 Cowles Timothy B. Circuit and method for test and repair
CN101178943A (zh) * 2006-11-07 2008-05-14 旺宏电子股份有限公司 存储器及其读取错误检测方法
CN101310342A (zh) * 2006-04-06 2008-11-19 爱德万测试株式会社 测试装置以及测试方法
US20090274245A1 (en) * 2008-05-02 2009-11-05 Micron Technology, Inc. Apparatus and methods having majority bit detection
US20120266050A1 (en) * 2009-12-17 2012-10-18 International Business Machines Corporation Data Management in Solid State Storage Devices
CN103348330A (zh) * 2010-12-01 2013-10-09 Lsi公司 采用独立硅元件的动态较高级冗余模式管理

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359261B1 (en) 2005-05-23 2008-04-15 Marvell International Ltd. Memory repair system and method
US20080282120A1 (en) * 2007-05-11 2008-11-13 Macronix International Co., Ltd. Memory structure, repair system and method for testing the same
JP2009146487A (ja) * 2007-12-12 2009-07-02 Renesas Technology Corp 半導体集積回路
US8719648B2 (en) * 2011-07-27 2014-05-06 International Business Machines Corporation Interleaving of memory repair data compression and fuse programming operations in single fusebay architecture
WO2013089715A1 (en) * 2011-12-14 2013-06-20 Intel Corporation Storage of codeword portions
US9037943B2 (en) * 2012-10-26 2015-05-19 Intel Corporation Identification of non-volatile memory die for use in remedial action
US8959407B2 (en) * 2012-11-28 2015-02-17 Intel Corporation Scaling factors for hard decision reads of codewords distributed across die
US9146807B2 (en) * 2012-12-04 2015-09-29 Sandisk Technologies Inc. Bad column handling in flash memory

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5267242A (en) * 1991-09-05 1993-11-30 International Business Machines Corporation Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing
US20020133769A1 (en) * 2001-03-15 2002-09-19 Cowles Timothy B. Circuit and method for test and repair
CN101310342A (zh) * 2006-04-06 2008-11-19 爱德万测试株式会社 测试装置以及测试方法
CN101178943A (zh) * 2006-11-07 2008-05-14 旺宏电子股份有限公司 存储器及其读取错误检测方法
US20090274245A1 (en) * 2008-05-02 2009-11-05 Micron Technology, Inc. Apparatus and methods having majority bit detection
US20120266050A1 (en) * 2009-12-17 2012-10-18 International Business Machines Corporation Data Management in Solid State Storage Devices
CN103348330A (zh) * 2010-12-01 2013-10-09 Lsi公司 采用独立硅元件的动态较高级冗余模式管理

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815174A (zh) * 2015-11-30 2017-06-09 大唐移动通信设备有限公司 数据访问控制方法及节点控制器
CN106815174B (zh) * 2015-11-30 2019-07-30 大唐移动通信设备有限公司 数据访问控制方法及节点控制器
CN109215728A (zh) * 2017-07-01 2019-01-15 英特尔公司 用于分布式存储器危险检测和错误恢复的存储器电路和方法
CN109215728B (zh) * 2017-07-01 2024-05-03 太浩研究有限公司 用于分布式存储器危险检测和错误恢复的存储器电路和方法
CN110322920A (zh) * 2018-03-28 2019-10-11 爱思开海力士有限公司 控制器及控制器的操作方法

Also Published As

Publication number Publication date
TW201532059A (zh) 2015-08-16
TWI569277B (zh) 2017-02-01
US20150162100A1 (en) 2015-06-11
US9911509B2 (en) 2018-03-06
CN104699577B (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
CN104699577A (zh) 用于在分布式码字存储系统中定位故障管芯的计数器
US9292382B2 (en) Codewords that span pages of memory
US9921914B2 (en) Redundant array of independent disks (RAID) write hole solutions
CN103793182A (zh) 可扩展存储保护
CN104798047A (zh) 错误检测和校正装置及方法
CN107683464B (zh) 存储器设备中的自适应纠错
CN104246708A (zh) 针对nand闪存上数据的存储的架构
CN103699337A (zh) 一种基于独立磁盘冗余阵列raid的写控制方法及系统
CN103534688A (zh) 数据恢复方法、存储设备和存储系统
US11928025B2 (en) Memory device protection
CN105378690A (zh) 存储器节点差错校正
KR101728291B1 (ko) 비휘발성 메모리 내의 중복 정보의 관리
CN113687978A (zh) 用于存储阵列控制器的数据处理方法
CN106708445A (zh) 链路选择方法及装置
US11749343B2 (en) Memory management device, system and method
Wu et al. LFPR: A lazy fast predictive repair strategy for mobile distributed erasure coded cluster
US11249841B2 (en) Preventing read disturbance accumulation in a cache memory
CN111381997A (zh) 一种raid重建方法及装置
US20240086090A1 (en) Memory channel disablement
US11960770B2 (en) Access request management using sub-commands
US20230214119A1 (en) Data stripe protection
JP2019083082A (ja) フラッシュメモリモジュール及びフラッシュメモリ
CN101996685B (zh) 存储器管理数据的差错控制方法及差错控制器
WO2022125101A1 (en) Distributed ecc scheme in memory controllers
CN117170575A (zh) 用于数据保护及恢复的存储器地址转译

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant