当前位置: 首页 > 专利查询>英特尔公司专利>正文

非易失性存储器中的恢复算法制造技术

技术编号:15294417 阅读:92 留言:0更新日期:2017-05-11 11:13
描述了用于存储器中的恢复算法的装置、系统和方法。在一个实施例中,控制器包括逻辑用于以下的逻辑:从主机设备接收读取到存储器设备的数据行的读取请求,其中数据跨多个(N个)管芯散布并且包括跨所述多个(N个)管芯散布的纠错码(ECC);从存储器设备检索数据行;对从存储器设备检索到的数据行执行纠错码(ECC)校验;以及响应于从存储器设备检索到的数据行上的ECC校验中的错误而调用恢复算法。还公开和要求保护其它实施例。

Recovery algorithm in non-volatile memory

Apparatus, system, and method for recovery algorithms in memory. In one embodiment, the controller includes logic for the following logic: from the host device to receive data read line memory device read request, wherein the data across multiple (N) tube core spreading and includes a plurality of Cross (N) core tube error correcting codes spread (ECC); retrieval the data from the memory device; performing error correcting code from the memory device of the retrieved data line (ECC) calibration; and ECC check in response to the data retrieved from the memory device for the errors in the call recovery algorithm. Other embodiments are also disclosed and claimed.

【技术实现步骤摘要】
【国外来华专利技术】
本公开一般涉及电子器件的领域。更特别地,本专利技术的一些实施例一般地涉及用于电子设备的存储器中的恢复算法。
技术介绍
许多电子设备包括可以使用经常体现为非易失性存储器(例如闪速存储器等)的本地、快速访问存储器实现的存储器系统。在一些示例中,纠错码(ECC)可以用于保护数据以防原始位错误(RBER)。为了得到RBER多样性优点,ECC码字可以在多个管芯之上散布。ECC码字的示例可以包括BCH码、里德-所罗门码、低密度奇偶校验(LDPC)、卷积码、汉明码等。为了提供对管芯故障的弹性,RAID机制可以用于存储所有管芯的内容的XOR。相应地,改进经加密的存储器中的RBER性能的技术可以例如在用于电子设备的存储器系统中找到实用性。附图说明参照随附各图来提供详细描述。在不同图中使用相同参考数字指示类似或等同的项目。图1是依照本文所讨论的各种示例的实现非易失性存储器中的恢复算法的装置的组件的示意性框图图示。图2-3是依照本文所讨论的各种示例的实现非易失性存储器中的写入操作中的恢复算法的存储器架构的示意性框图图示。图4-5是图示了依照本文所讨论的各种实施例的实现非易失性存储器中的读取操作中的恢复算法的方法中的操作的流程图。图6-10是可以适配成实现依照本文所讨论的各种实施例的存储器恢复管理的电子设备的示意性框图图示。具体实施方式在以下描述中,阐述众多具体细节以便提供对各种实施例的透彻理解。然而,本专利技术的各种实施例可以在没有所述具体细节的情况下实践。在其它实例中,并未详细描述公知的方法、过程、组件和电路以免使本专利技术的特定实施例模糊。另外,本专利技术的实施例的各种方面可以使用各种构件来执行,诸如集成半导体电路(“硬件”)、组织成一个或多个程序的计算机可读指令(“软件”)或硬件和软件的某种组合。出于本公开的目的,对“逻辑”的引用应当意味着硬件、软件或其某种组合。图1是依照本文所讨论的各种示例的实现存储器中的恢复算法的装置的组件的示意性框图图示。参照图1,在一些实施例中,可以包括一个或多个处理器110的中央处理单元(CPU)封装100耦合到控制中枢120和本地存储器130。控制中枢120包括存储器控制器122和存储器接口124。存储器接口124通过通信总线160耦合到远程存储器140。在一些示例中,通信总线160可以实现为印刷电路板上的迹线、具有铜导线的线缆、光纤线缆、连接插座或以上的组合。存储器140可以包括控制器142和一个或多个存储器设备150。在各种实施例中,存储器设备150中的至少一些可以使用以下来实现:易失性存储器,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM);或非易失性存储器,例如相变存储器、NAND(闪速)存储器、铁电随机存取存储器(FeRAM)、基于纳米线的非易失性存储器、合并忆阻器技术的存储器、三维(3D)交叉点存储器(诸如相变存储器(PCM))、自旋转移力矩存储器(STT-RAM)、磁阻随机存取存储器(MRAM)或NAND闪速存储器。存储器140中的(一个或多个)存储器设备150的具体配置不是关键的。在其中数据跨存储器140中的存储器设备150中的多个管芯存储的一些示例中,ECC码字可以类似地跨多个管芯存储。在图2中描绘的示例中,数据可以跨存储器中的数个(N个)管芯拆分并且ECC码字的部分可以存储在每一个管芯中。N+1管芯可以用于存储N个管芯的内容的异或(XOR)。存储器中的管芯的特定数目N不是关键的。取决于存储器配置,数目N可以在2和30之间变化。在一个示例中,存储器可以配置有数目N等于18个管芯以持有数据,并且288字节BCH码字可以跨18个管芯散布,其中每个管芯存储16字节(B)的突发(burst)。第19个管芯存储18个管芯的内容的XOR。通过获取单个BCH码字的288字节的XOR来获取存储在XOR管芯中的16B突发。图4描绘了实现存储器中的恢复算法的方法的第一方面中的操作。在一些示例中,图4中所描绘的操作可以单独或与CPU封装100中的存储器控制器122中的逻辑组合地通过控制器142中的逻辑来实现。现在参照图4,在操作410处控制器142从主机设备接收读取请求,例如从存储器控制器122。读取请求可以包括针对存储在(一个或多个)存储器设备150中的数据块的逻辑地址。控制器142可以将与读取请求一起接收到的逻辑地址翻译成(一个或多个)存储器设备150中的物理地址,并且在操作415处可以从存储器检索数据。如果在操作420处不存在针对检索数据的读取错误,则控制传递到操作425并且控制器142返回从存储器检索到的数据。相比之下,如果在操作420处存在读取错误,则控制传递到操作430并且控制器142实现ECC例程以尝试校正读取错误。如果在操作435处,ECC例程在校正读取错误中成功,则控制传递到操作440并且控制器142返回从存储器检索到的数据。相比之下,如果在操作435处ECC例程在校正读取错误中不成功,则控制传递到操作445并且控制器142实现恢复算法。将参照图3和5来描述恢复算法的一个示例。参照图5,在操作510处计算第二XOR。在一个示例中,阶段“第二XOR”应当是指计算来自(一个或多个)存储器设备150中的N个管芯和XOR管芯的16字节突发的XOR。参照图2-3,在包括用于数据的N个管芯和包含数据的XOR的附加管芯(N+1)的存储器设备150中,通过取从指示为310A、310B到310(N)的相应管芯读取的数据突发和来自指示为图3中的310(N+1)的XOR管芯的突发的XOR来确定第二XOR。如果在操作515处第二XOR为零,其指示不存在读取错误,则控制传递到操作520并且从(一个或多个)设备150读取的数据被返回到发起请求的主机设备。相比之下,如果在操作515处第二XOR包括任何个1,其指示数据中存在错误,则控制传递到操作525。如果每一个管芯中的错误在不同的位置处,第二XOR将包含对应位置中的一。因此,为了试图校正错误,恢复算法实现这样的过程,所述过程后续翻转对应于第二XOR中的一的位置的数据突发中对应位置中的位,然后重新计算第二XOR。该过程可以在第二XOR的任一端处开始并且定位第二XOR中的下一个一的位置。控制然后传递到操作530,并且循环发起,所述循环遍历突发数据并且翻转突发数据中的对应位置处的位(操作535)。在操作540处,重新计算第二XOR。如果在操作545处第二XOR为零,其指示不存在读取错误,则控制传递到操作520并且将从(一个或多个)存储器设备150读取的数据返回到发起请求的主机设备。相比之下,如果在操作545处第二XOR包括任何个1,其指示数据中存在错误,则控制传递到操作550并且计数器的值(i)递增。如果在操作555处计数器的值(i)还未达到管芯的数目(N),则控制传递回到操作535。相比之下,如果在操作555处计数器的值(i)已达到管芯的数目(N),其指示循环已经循环通过存储器设备中的所有管芯,则控制传递到操作560。如果在操作560处第二XOR中存在更多的一,则控制传递回到操作525,并且定位第二XOR中的下一个一的位置。因此,操作525到560限定按照其定位第二XOR中的每一个一的循环,并且由操作535至555限定的嵌套循环限定按本文档来自技高网...
非易失性存储器中的恢复算法

【技术保护点】
一种存储器,包括:存储器设备;以及控制器,所述控制器耦合到存储器设备并且包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:从主机设备接收读取存储在存储器设备中的数据的读取请求,其中数据的部分存储在多个(N个)管芯中的每一个中,并且与数据相关联的纠错码(ECC)的部分存储在所述多个(N个)管芯中的每一个中;响应于读取请求,从存储器设备检索数据;对从存储器设备检索到的数据执行纠错码(ECC)校验;以及响应于从存储器设备检索到的数据上的ECC校验中的错误而调用恢复算法。

【技术特征摘要】
【国外来华专利技术】2014.09.23 US 14/4939561.一种存储器,包括:存储器设备;以及控制器,所述控制器耦合到存储器设备并且包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:从主机设备接收读取存储在存储器设备中的数据的读取请求,其中数据的部分存储在多个(N个)管芯中的每一个中,并且与数据相关联的纠错码(ECC)的部分存储在所述多个(N个)管芯中的每一个中;响应于读取请求,从存储器设备检索数据;对从存储器设备检索到的数据执行纠错码(ECC)校验;以及响应于从存储器设备检索到的数据上的ECC校验中的错误而调用恢复算法。2.权利要求1的存储器,其中:数据包括ECC码字;并且ECC校验包括评估对数据和ECC码执行异或(XOR)运算的结果。3.权利要求2的存储器,其中控制器还包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:从对检索自存储器设备的数据执行XOR运算的结果和检索自存储器设备的数据来计算第二XOR。4.权利要求3的存储器,其中控制器还包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:在执行第二XOR运算的结果为全零时向主机设备返回数据。5.权利要求3的存储器,其中控制器还包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于接连地:定位第二XOR中的1的位置;以及实现循环,所述循环遍历管芯以接连地:翻转对应于第二XOR中的1的位置的位置处的管芯中的位;并且重新计算第二XOR。6.权利要求5的存储器,其中控制器还包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:在第二XOR的内容为全零时向主机设备返回数据。7.权利要求5的存储器,其中控制器还包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:在第二XOR的内容包括1时向主机设备返回读取错误。8.一种电子设备,包括:处理器;以及存储器,包括:存储器设备;以及控制器,所述控制器耦合到存储器设备并且包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:从主机设备接收读取到存储器设备的数据行的读取请求,其中数据跨多个(N个)管芯散布并且包括跨所述多个(N个)管芯散布的纠错码(ECC);从存储器设备检索数据行;对从存储器设备检索到的数据行执行纠错码(ECC)校验;以及响应于从存储器设备检索到的数据行上的ECC校验中的错误而调用恢复算法。9.权利要求8的电子设备,其中:数据行包括ECC码字,ECC校验包括评估数据行和ECC码的XOR。10.权利要求9的电子设备,其中控制器还包括至少部分地包括硬件逻辑的逻辑,所述逻辑用于:从检索自存储器设备的数据行的XOR和检索自存储器设备的数据行来计算第二XOR。11.权利要求10的电子设备,其中控制器还包括至少部分地包括硬件...

【专利技术属性】
技术研发人员:RH莫特瓦尼K潘加尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1