高速缓存辅助的存储器检错和纠错的方法和装置.pdf

上传人:b*** 文档编号:966748 上传时间:2018-03-22 格式:PDF 页数:13 大小:594.39KB
返回 下载 相关 举报
摘要
申请专利号:

CN200780045740.5

申请日:

2007.11.08

公开号:

CN101558385A

公开日:

2009.10.14

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F11/08; G06F12/16

主分类号:

G06F11/08

申请人:

英特尔公司

发明人:

S·艾勒特

地址:

美国加利福尼亚

优先权:

2006.12.14 US 11/638,689

专利代理机构:

永新专利商标代理有限公司

代理人:

钟胜光;王 英

PDF下载: PDF下载
内容摘要

本发明提出了一种存储器以及对存储器的码字中的错误进行检测和纠正的方法。该方法包括由检错和纠错引擎对码字的比特进行检错和纠错,将错误的纠错信息存储在高速缓存中。在对同一比特的相同错误进行的第二次检测中,基于所存储的纠错信息进行纠错。

权利要求书

1、  一种对存储器内存储的码字中的错误进行检测和纠正的方法,所述方法包括:
检测并纠正所述码字的一个比特中的第一错误;
存储所述第一错误的纠错信息;
检测并纠正具有所述第一错误和第二错误的所述码字的另一个比特中的所述第二错误;以及
使用所存储的所述第一错误的纠错信息来纠正所述第一错误。

2、
  根据权利要求1所述的方法,包括:
将所述第一错误的纠错信息存储在错误高速缓存随机存取存储器(RAM)中。

3、
  根据权利要求1所述的方法,包括:
扫描所述存储器以进行错误检测;
使用所存储的纠错信息来纠正已知错误;以及
纠正新的错误,并存储所述新的错误的纠错信息。

4、
  根据权利要求1所述的方法,包括:
将所述纠错信息存储在备份存储器中。

5、
  根据权利要求1所述的方法,包括:
通过用经纠错的存储器行替换包含检测到的错误的存储器行,来对所述存储器进行持久性纠错。

6、
  一种装置,包括:
存储单元阵列;
检错和纠错引擎,用于检测码字的比特中的错误,并生成所述码字的该比特的纠错信息;以及
错误高速缓存随机存取存储器(RAM),用于存储所检测到的错误的纠错信息,并基于所存储的所述码字的该比特的纠错信息来纠正同一比特的检测到的错误。

7、
  根据权利要求6所述的装置,包括:
地址扫描引擎,用于扫描所述存储单元阵列的行以寻找错误。

8、
  根据权利要求6所述的装置,包括:
非易失性高速缓存,用于存储所述纠错信息的备份。

9、
  根据权利要求6所述的装置,包括:
持久修正算法部件,用于通过用经纠错的存储器行替换包含检测到的错误的存储器行,来修正所述存储单元阵列中的错误。

10、
  根据权利要求6所述的装置,其中所述存储单元阵列包括NOR闪存。

11、
  一种存储器系统,包括:
存储单元阵列;以及
存储器控制器,包括:
检错和纠错引擎,用于检测码字的比特中的错误,并生成所述码字的该比特的纠错信息;以及
错误高速缓存随机存取存储器(RAM),用于存储所检测到的错误的纠错信息,并基于所存储的所述码字的该比特的纠错信息来纠正同一比特的检测到的错误。

12、
  根据权利要求11所述的存储器系统,包括:
地址扫描引擎,用于扫描所述存储单元阵列的行以寻找错误。

13、
  根据权利要求11所述的存储器系统,其中所述存储器控制器包括:
非易失性高速缓存,用于存储所述纠错信息的备份。

14、
  根据权利要求11所述的存储器系统,其中所述存储器控制器包括:
持久修正算法部件,用于通过用经纠错的存储器行替换包含检测到的错误的存储器行,来修正所述存储单元阵列中的错误。

15、
  根据权利要求6所述的系统,其中,所述存储单元阵列包括NAND闪存。

16、
  一种存储器系统,包括:
基于NAND的存储单元阵列;以及
存储器控制器,包括:
检错和纠错引擎,用于检测码字的比特中的错误,并生成所述码字的该比特的纠错信息;以及
错误高速缓存随机存取存储器(RAM),用于存储所检测到的错误的纠错信息,并基于所存储的所述码字的该比特的纠错信息来纠正同一比特的检测到的错误。

17、
  根据权利要求16所述的存储器系统,包括:
地址扫描引擎,用于扫描所述存储单元阵列的行以寻找错误。

18、
  根据权利要求16所述的存储器系统,其中所述存储器控制器包括:
非易失性高速缓存,用于存储所述纠错信息的备份。

19、
  根据权利要求16所述的存储器系统,其中所述存储器控制器包括:
持久修正算法部件,用于通过用经纠错的存储器行替换包含检测到的错误的存储器行,来修正所述存储单元阵列中的错误。

说明书

高速缓存辅助的存储器检错和纠错的方法和装置
背景技术
本发明实施例概括来说涉及存储器器件。存储器器件在各种不同的系统中用来存储代码和数据。由于具有不同的访问要求,代码和数据有时存储在两个分开的存储器中。例如,通常在系统制造或者代码安装或更新的过程中,将代码以大的数据块的形式写入存储器器件。代码以随机的方式进行读取,由软件例程中的程序计数器、跳转和分支进行控制。在应用处理期间大多数数据是以块的形式写入或读取的。
直接对存储在存储器中的指令进行执行要求使这些指令在相对较短的初始访问延迟(可能是100ns)内以正确的形式可用。以这些存储器上的逻辑的能力,在将指令导出到系统以前,仅能对这些指令进行单个单元的纠错。
在许多情形下,多个单元的错误先以单个单元的错误的形式出现。稍后,在同一码字内出现第二个错误。采用传统的技术,这种多个单元的错误无法纠正,并且错误的数据将返回系统。
附图说明
在本文的结束部分将特别地指出并清楚地要求保护作为本发明的主题。然而,通过结合附图参照下面的详细说明,将会更好地理解本发明的操作组织和方法,及其目标、特征及优点,在附图中:
图1示出了根据本发明一个示例性实施例的存储器框图;
图2示出了根据本发明另一示例性实施例的存储器系统框图;
图3示出了根据本发明示例性实施例的对错误的码字进行检错和纠错的方法的流程图;以及
图4示出了根据本发明实施例的对图3的码字中的后续错误进行检错和纠错的方法的流程图。
在不同的附图中使用相同的附图符号表示相似或相同的内容。
应当理解,为了简化说明和清楚起见,图中示出的要件并不一定按比例绘出。例如,为了清楚起见,可将一些要件的大小相对于其他要件进行放大。进一步地,在适当的地方,可在附图之间重复附图标号,以表示对应的或类似的要件。
具体实施方式
在下面的说明中,阐述了许多特定细节。然而,可以理解,本发明实施例可以在没有这些特定细节的情况下进行实施。在其他实例中,没有详细示出公知的方法、结构和技术,以避免妨碍对本说明的理解。
本文提到的“一个实施例”、“实施例”、“示例性的实施例”、“各个实施例”等表示本发明中如此描述的实施例可以包括特定的特征、结构或特性,但并非每个实施例都必须包括这些特定的特征、结构或特性。另外,重复应用的短语“在一个实施例中”不一定表示同一个实施例,尽管其可以这样表示。
除非另有说明,否则,在权利要求书中用来描述一般对象的序数形容词“第一”、“第二”、“第三”等等仅仅表示所提及的是相同对象的不同实例,而不是要暗示所描述的组件必须在时间上、空间上、等级上或以任何其它方式处于指定顺序。
除非另有指明,否则,在下文的描述中,例如“处理”、“计算”、“运算”等术语指的是计算机或计算系统或类似电子计算设备的动作和/或过程,上述计算机或计算系统或类似设备将表示成物理(例如电子)量的数据进行操作和/或转换成与表示成物理量相类似的其它数据。
类似地,术语“处理器”表示对来自寄存器和/或存储器的电子数据进行处理以便将电子数据转换为能够存储在寄存器和/或存储器中的其他电子数据的任意设备或设备的部分。“计算平台”可以包括一个或多个处理器。
术语“主阵列”表示用来存储代码或数据的存储单元阵列。术语“冗余元件”表示用来修正错误的代码或数据的另外的存储器元件。术语“EDAC引擎”表示检错和纠错电路。术语“错误高速缓存RAM”表示用于存储码字中检测到的错误的易失性存储器,而术语“NV错误高速缓存”表示用于持久存储码字中检测到的错误的非易失性存储器(NV)。
先参看图1,示出了根据本发明一个示例性实施例的存储器100的框图。存储器器件100包括存储单元110的主阵列、U码(UCODE)持久修正算法部件120、EDAC引擎130、错误高速缓存RAM 140和NV错误高速缓存150,但本发明的范围不限于此。
根据本发明的该示例性实施例,存储器100可以是NOR闪存,并可以包括基于NOR的存储单元阵列,然而应当理解,本发明的范围在此方面并无限制。
根据本发明的该示例性实施例,系统105(例如,计算平台)可以访问主阵列110中包含错误的地址。如果需要,EDAC引擎130可以检测和纠正在系统所访问的地址的码字比特中的错误。EDAC引擎130可以在错误高速缓存RAM 140中存储码字比特的纠错信息。对于码字比特中进一步出现的错误,错误高速缓存RAM 140可以使用纠错信息来纠正该比特中的错误。
根据本发明的该实施例,错误高速缓存RAM可以在NV错误高速缓存150中存储比特的纠错信息。在存储器100的电源故障或者电源关闭的情形下,NV错误高速缓存可以是存储器镜像。在其他示例性实施例中,如果需要,快速读/写NV存储器可以代替错误高速缓存RAM 140。可以由U码持久修正算法120来实现对码字的持久修正。
根据本发明的实施例,U码持久修正算法120是对主阵列110中的错误进行持久修正的方法。例如,U码持久修正算法120可以在擦除算法期间内运行、在上电过程中运行,或响应于用户命令而运行,该用户命令允许设备有时间修正主阵列110中已知的错误。U码持久修正算法120可以擦除有错的行,并作为替换,写入从NV错误高速缓存150下载的修正的行。U码持久修正算法120可以有效地减小错误高速缓存RAM 140和NV错误高速缓存150所需的尺寸。
应当理解,EDAC引擎130、U码持久修正算法120以及存储器100的其他部件可以采用硬件、软件或者硬件和软件的任意需要的组合来实现,但本发明的范围不受此限制。
转到图2,示出了根据本发明另一示例性实施例的存储器系统200的框图。存储器系统200包括存储器210和存储器控制器220,但本发明的范围不限于此。存储器210可以包括主阵列215。存储器控制器220可以包括U码持久修正算法230、EDAC引擎240、错误高速缓存RAM 250和NV错误高速缓存260。
根据本发明的该示例性实施例,存储器210可以是基于NAND的闪存,主阵列215可以包括基于NAND的存储单元阵列,然而应当理解,本发明的范围在此方面并无限制。
根据本发明的该示例性实施例,地址扫描引擎205可以扫描存储器210的地址。地址扫描引擎205可以访问包含错误的地址。如果需要,存储器控制器220的EDAC引擎240可以检测和纠正码字的比特中的错误。EDAC引擎240可以在错误高速缓存RAM 250中存储码字比特的纠错信息。对该码字的比特中进一步出现的错误中,错误高速缓存RAM 250可以使用纠错信息来纠正该比特中的错误。
根据本发明的该实施例,错误高速缓存RAM 250可以在NV错误高速缓存260中存储比特的纠错信息,在存储器210的电源故障和/或电源关闭的情形下,所述NV错误高速缓存260作为存储器镜像。在其他示例性实施例中,快速读/写NV存储器可以代替错误高速缓存RAM 250。可以由U码持久修正算法230来实现对码字的持久修正。
根据本发明的实施例,U码持久修正算法230是对存储器210中的错误进行持久修正的方法。例如,U码持久修正算法230可以在擦除算法期间内运行、在上电过程中运行,或响应于用户命令而运行,该用户命令允许设备有时间修正存储器210的主阵列215中已知的错误。U码持久修正算法230可以擦除有错的行,并作为替换,写入纠错后的行。如果需要,该纠错后的行可以从NV错误高速缓存260下载。
应当理解,存储器控制器220的部件,例如EDAC引擎240、U码持久修正算法部件230以及其他部件可以采用硬件、软件或者硬件和软件任意需要的组合来实现,但本发明的范围不受此限制。
转至图3,示出了根据本发明一些实施例的对码字中一个或多个比特进行检错和纠错的方法流程图。根据本发明一些实施例,如文本框310中所示,方法可以开始于系统(例如,计算平台)对存储器主阵列包含错误的地址进行访问。
根据本发明的其他实施例,如文本框320中所示,方法可以开始于扫描引擎(未示出)对存储器主阵列包含错误的地址进行访问。在本发明任一实施例中,如文本框330中所示,EDAC引擎(例如,EDAC 130)可以检测和纠正码字(例如,码字100)的比特(例如,比特4)中的错误。EDAC引擎可以在错误高速缓存RAM中存储纠错信息(文本框340)。根据本发明示例性实施例,纠错信息可以包括错误行的地址、行中的符号位置以及包含有错比特(例如比特4)的符号的纠正值。在将期望地址(例如地址1000)的纠正的数据提供给系统后该方法结束,然而本发明的范围并不限于此。
转到图4,示出了根据本发明其他实施例对图3的码字中的后续错误进行检错和纠错的方法的流程图。根据本发明一些实施例,方法可以使用提供给系统的纠错信息来纠正码字的比特中已知的错误(如由图3的方法提供的)。如文本框410中所示,方法可以开始于系统(例如,计算平台)对存储器主阵列包含错误的地址进行访问。
根据本发明其他实施例,如文本框420中所示,方法可以开始于扫描引擎(未示出)对存储器主阵列包含错误的地址进行访问。在本发明任一实施例中,如文本框430中所示,错误高速缓存RAM(例如,错误高速缓存RAM140)可以检测和纠正码字(例如,码字100)的比特(例如,比特4)中已知的错误。EDAC引擎可以对码字的另一比特(例如,比特6)中的另一错误进行检测和纠正(文本框440)。并可以在错误高速缓存RAM中存储新的纠错信息(文本框450)。新的纠错信息可以包括错误行的地址、行中的符号位置以及包含有错比特(例如比特6)的符号的纠正值。在将所需要地址(例如地址1000)纠正的数据提供给系统后该方法结束,然而本发明的范围并不限于此。
下面给出使用图3和4的方法的实例。根据该实例,在第一天错误出现在码字3中的比特4处。EDAC检测并纠正该错误,将纠正后的数据提供给主机系统。该错误存储在错误高速缓存RAM中。在另一天,另一错误出现在码字3中的比特6处(例如,比特4的错误仍存在)。主阵列输出在比特4和6中有错误。根据本发明实施例,使用在第一天存储的信息纠正比特4的错误,使用EDAC引擎纠正比特6的错误。
可以在配置计算系统来执行该方法的计算机可读介质中实现上述技术。举例来说而非限制性地,计算机可读介质可以包括任意数量的下述各项:磁存储介质,包括磁盘和磁带存储介质;光存储介质,例如光盘介质(例如,CD-ROM,CD-R等)和数字视频光盘存储介质;全息存储器;非易失性存储器存储介质,包括基于半导体的存储单元,例如闪存、EEPROM、EPROM、ROM;铁磁数字存储器;易失性存储介质,包括寄存器、缓冲器或高速缓存、主存储器、RAM等;以及数据传输介质,包括持久和临时的计算机网络、点对点通信设备、载波传输介质、因特网等等。其他新的及各类计算机可读介质可用来存储和/或发送本申请描述的软件模块。计算系统可以有多种形式,包括但不限于大型计算机、微型计算机、服务器、工作站、个人计算机、笔记本计算机、个人数字助理、各种无线设备和嵌入式系统等等。典型的计算系统包括至少一个处理单元、相关联的存储器和若干个输入/输出(I/O)设备。计算系统根据程序来处理信息并通过I/O设备生成作为结果的输出信息。
已结合特定实施例描述了根据本发明的实现。这些实施例旨在进行说明而非限制。可以进行许多变型、修改、增加和改进。相应地,针对本申请描述的多个部件,可以将多个实例作为单个实例来进行提供。各种部件、操作和数据存储装置之间的界限是具有随意性的,在特定的说明性结构的上下文中描述了特定的操作。可以预见功能的其他分配,其也落入所附的权利要求的范围内。最后,在各种结构中作为分离部件给出的结构和功能块可以以组合的结构或部件来实现。这些以及其他变型、修改、增加和改进将落入所附的权利要求定义的本发明的范围内。

高速缓存辅助的存储器检错和纠错的方法和装置.pdf_第1页
第1页 / 共13页
高速缓存辅助的存储器检错和纠错的方法和装置.pdf_第2页
第2页 / 共13页
高速缓存辅助的存储器检错和纠错的方法和装置.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《高速缓存辅助的存储器检错和纠错的方法和装置.pdf》由会员分享,可在线阅读,更多相关《高速缓存辅助的存储器检错和纠错的方法和装置.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明提出了一种存储器以及对存储器的码字中的错误进行检测和纠正的方法。该方法包括由检错和纠错引擎对码字的比特进行检错和纠错,将错误的纠错信息存储在高速缓存中。在对同一比特的相同错误进行的第二次检测中,基于所存储的纠错信息进行纠错。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1