用于非易失性存储器的耐久性感知纠错码(ecc)保护的制作方法

文档序号:8227548阅读:458来源:国知局
用于非易失性存储器的耐久性感知纠错码(ecc)保护的制作方法
【专利说明】
【背景技术】
[0001]存储器由于许多原因而在操作期间经历错误。存在纠错码(ECC)方案来处理在存储器中出现的错误并且提高短期可靠性(例如,单错纠正和双错检测(SECDED)方案)。
[0002]一些非易失性存储器具有有限的写周期。具有有限写周期的一些非易失性存储器能够采用仅在写操作期间改变它们的值的位被写回并且对特定写未改变它们的值的位保持不被触及(并且从而,写操作对那些位不造成进一步损耗)这样的方式执行写。一些系统实现损耗减少方案,其可以延长非易失性存储器的寿命(即,延迟非易失性存储器的磨损)。
[0003]现有的非易失性存储器实现损耗减少但未能考虑对短期可靠性的影响(例如,ECC机制),或提出错误检测/纠正机制但未能考虑对非易失性存储器的寿命时间的影响。
【附图说明】
[0004]下列描述包括对附图的论述,附图具有通过本发明的实施例的实现的示例的方式而给出的说明。附图应通过示例而非限制的方式来理解。如本文使用的,对一个或多个“实施例”的引用要理解为描述在本发明的至少一个实现中包括的特定特征、结构或特性。从而,在本文出现的例如“在一个实施例中”或“在备选实施例中”等短语描述本发明的各种实施例和实现,并且不一定全部都指相同的实施例。然而,它们也不一定互相排斥。在下面的描述和权利要求中,可使用术语“耦合”和它的派生词。术语“耦合”在本文可指直接接触(物理、电、磁、光,等)的两个或以上的元件,或指彼此未直接接触但仍彼此交互的两个或以上的元件。
[0005]图1是根据一个实施例要存储在非易失性存储器上的内容的框图,该内容包括元数据和ECC位,用于在提供错误保护的同时减少非易失性存储器的损耗。
[0006]图2是根据一个实施例用于对数据编码(其包括计算元数据位、ECC位、第二元数据位和第二 ECC位)的过程的流程图。
[0007]图3是根据一个实施例对于数据位的元数据编码方案的框图。
[0008]图4是根据一个实施例对于ECC位的元数据编码方案的框图。
[0009]图5是根据一个实施例的过程的流程图,该过程包括基于元数据位、ECC位、第二元数据位和第二 ECC位来重新生成原始数据。
[0010]图6是根据一个实施例的存储器子系统的框图。
[0011 ] 图7是根据一个实施例具有耐久性感知ECC保护(endurance-aware ECCprotect1n)的计算系统的框图。
[0012]图8是根据一个实施例具有耐久性感知ECC保护的移动装置的实施例的框图。
【具体实施方式】
[0013]本发明的实施例涉及用于耐久性感知纠错的设备、系统和方法。耐久性感知纠错减少非易失性存储器技术中的损耗同时提供ECC保护来实现提高的长期可靠性同时维持短期可靠性。如本文使用的“ECC保护”指纠错和/或错误检测。“损耗减少”指减少非易失性存储器的损耗(例如,减少写入非易失性存储器的位的数量)和/或均衡损耗(例如,使写入非易失性存储器的存储器单元的次数更均衡)。损耗减少可以根据损耗减少算法通过修改写入非易失性存储器的位并且提供用于使原始位从修改的位恢复的一些机制而实现。用于从修改的位恢复原始位的一个机制是计算识别对原始位做出的修改的元数据并且存储该元数据(例如,其中修改的数据在非易失性存储器中,或在独立位点和/或独立装置中)。损耗减少方案的两个示例在下文关于图3和4论述。
[0014]耐久性感知ECC保护可以在非易失性存储器技术中使用来减少非易失性存储器的损耗同时提供ECC保护。
[0015]一个实施例对数据位和ECC位两者实现损耗减少,并且包括第二级ECC保护。该第二级ECC保护可以扩展ECC机制以除数据位外还涵盖所有生成的元数据位。可能的损耗减少和ECC方案的一些示例在下文进一步详细描述,但实现的特定损耗减少和ECC方案可以包括有损耗减少和ECC保护的能力来实现针对错误的期望保护并且延长非易失性存储器的寿命的任何方案。
[0016]在一个实施例中,损耗减少技术牵涉单个数据字内(例如,32位字、64位字内或具有其他大小的字内的其他)的位(例如,数据位)的旋转。一个这样的实施例可以基于一个或多个写计数器,如下文描述的。
[0017]根据一个实施例,不同类型的内容利用不同的损耗减少技术。例如,数据位利用一个损耗减少技术,并且ECC位利用不同的损耗减少技术。对于数据位的损耗减少技术可以对数据位的行为来定制,并且对ECC位的损耗减少技术可以对ECC位的行为来定制。例如,数据位的小的子集可以在连续访问(access)期间改变值,而ECC位可随着大部分连续访问而改变。在一个这样的示例中,旋转机制可以用于执行数据位的旋转,而“翻转”机制可以用于对ECC位执行倒置(invers1n)。旋转机制在下文关于图3更详细描述,并且翻转机制在下文关于图4更详细描述。在一个实施例中,对数据位和ECC位实现不同的损耗减少机制导致非易失性存储器的寿命时间大大提高。
[0018]在下面的描述中,论述许多细节来提供对本发明的实施例的更全面论述。本发明的实施例可在没有这些具体细节的情况下实践,这对于本领域内技术人员将是明显的。在其他实例中,众所周知的结构和装置以框图的形式而未详细地示出,以便避免混淆本发明的实施例。
[0019]注意在实施例的对应图中,信号用线条表示。一些线条可较粗,用于指示更多组成的信号通路,并且/或在一个或多个末端具有箭头,用于指示主要信息流方向。这样的指示不意在为限制性的。相反,这些线条结合一个或多个示范性实施例来使用以便于更容易理解电路或逻辑单元。任何表示的信号,如由设计需要或偏好所指定的,实际上可包括一个或多个信号,其可在任一方向上行进并且可用任何适合类型的信号方案实现。
[0020]图1是根据一个实施例要存储在非易失性存储器上的内容的框图,该内容包括元数据和ECC位,用于减少非易失性存储器的损耗同时提供错误保护。
[0021]本发明的实施例包括利用元数据位和ECC方案的扩展来提供期望的ECC保护级别的损耗减少技术。如在图1中图示的,要存储在存储器中的内容100包括数据位102、元数据位104、ECC位106、第二元数据位108和第二 ECC位110。数据位102是在写请求中接收并且在接收它们后根据损耗减少算法来修改的数据。元数据位104指示对数据位102做出的任何损耗减少修改,并且在接收对存储器位点(在非易失性存储器中该数据存储在该位点处)的读请求时能够恢复原始数据位。对数据位102做出的修改可以包括根据任何损耗减少技术(例如,旋转、倒置、旋转和倒置的组合或任何其他损耗减少技术)做出的修改;不同损耗减少技术可需要不同数量的元数据位104。尽管图示两个元数据位104,可使用一个元数据位或多个元数据位。额外的元数据位可提供提高的损耗减少,但可能增加存储开销。
[0022]ECC位106对数据位102和元数据位104提供错误保护。可以使用任何ECC方案(例如,实现SECDED、4EC5ED或其他级别的ECC保护的ECC方案)。尽管图示八个ECC位106,任何数量的ECC位可以用于实现期望的ECC方案(例如,一个ECC位或多个ECC位)。根据损耗减少算法来修改ECC位106。应用于ECC位106的损耗减少技术可与应用于数据位102的损耗减少技术相同或不同。应用不同的损耗减少技术可以通过对要存储在这些位中的不同类型的内容的写模式定制每个技术而实现提高的损耗减少。
[0023]元数据位108指示对ECC位106做出的修改。尽管图示两个元数据位108,可使用一个或多个元数据位108。
[0024]因为元数据位108指示对ECC位106的修改,ECC位106未提供对元数据位108的ECC保护。这是因为如果元数据位108从ECC位106来计算,则它将在ECC位中触发某些修改来实现损耗均衡(wear-leveling)。从而,对元数据位108使用ECC位106可能违反保护级别。
[0025]针对第二级ECC保护,提供ECC位110以用于保护元数据位108。尽管图示单个ECC位,可使用一个ECC位或多个ECC位。例如,可以使用如图示的单个奇偶校验位,或对于利用超过两个元数据位的系统和/或实现其他级别的ECC保护的系统,可以采用使用额外ECC位的更复杂保护机制。
[0026]在存在64个数据位的图示实施例中,内容100实现SE⑶ED (72,64)保护,同时实现损耗减少。两个元数据位104的引入可以容纳在ECC方案中,其中对编码和解码逻辑进行微小改变而无需额外保护位。根据元数据位104的数量和ECC保护级别,实现可以包括更少或额外ECC位。
[0027]具有损耗减少的SECDED保护可以使用旋转方案(其中两个“旋转位”104指示对数据位102执行的旋转)和翻转方案(其中两个“翻转位”108指示ECC位106的倒置)来实现。其他实施例可以实现损耗减少方案的其他变化形式。例如,实施例可以对数据位102实现翻转方案并且对ECC位106实现旋转方案、对于数据位102和ECC位106两者实现相同方案或实现任何其他损耗减少方案。对于损耗减少的旋转和翻转方案在下文更详细描述。
[0028]元数据位104和108以及ECC位106和110可以连同数据位102 —起存储在非易失性存储器中,或可以独立存储在不同位点和/或装置中。在元数据位和/或ECC位独立于数据而被存储的实施例中,可以与数据并行地或相继地访问独立存储的位。在一个这样的实施例中,如果ECC位存储在存储器中而没有耐久性限制(例如,存储在存储器中而没有有限数量的写周期),实现不包括对于ECC位的元数据位。由于硬件要求降低和调度访问的简易度增加,与数据位一起存储元数据位和ECC位的实现可以更简单和/或更成本有效。
[0029]独立存储元数据位可以实现将元数据位的单个集映射到存储器中的多个字。例如,元数据位104可以独立于数据位102存储并且除指示对存储在非易失性存储器中的其他数据位的修改外还指示对数据位102做出的修改。将元数据位的单个集映射到存储器中的多个
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1