跟踪存储器件内的错误数据的系统和方法

文档序号:6349692阅读:146来源:国知局
专利名称:跟踪存储器件内的错误数据的系统和方法
技术领域
本公开关于计算机存储器系统,更具体地,关于对数据存储器件的错误检测和错误位置跟踪。
背景技术
错误检测和校正处理帮助维持存储器存储器件和通信信道内的数据完整性。例如,纠错码(ECC)通常用于计算机存储器子系统中的故障检测。ECC包括识别存储器中存储的数据的一个或多个错误的冗余数据。例如,“软”错误通常由电传输干扰引起,而“硬”错误可能是由于存储器器件。随着日益缩小的存储器件电路和更低的工作电压,存在增加错误识别和校正处理
中的准确性和效率的需要。

发明内容
公开了识别和校正错误的改善的系统和方法。可以执行大量纠错码操作,其每个识别存储器的一区域的一组错误位置。该组错误位置可以与先前的错误位置相比较,并且可以发起适当的动作。该组错误位置可以以保持错误位置信息的方式、诸如经由校验和(checksum)而被编码。可以为每个纠错码操作确定与该组错误位置相关联的校验和。可以比较两个或多个校验和以识别趋势。可以基于校验和比较结果或者通过评估检测的趋势来发起解决此错误的动作。例如,随时间相同的校验和可能表示未恶化的位的硬故障。如果确定错误随着时间而移动位置,则该错误很可能可归因于传输干扰而不是硬件缺陷。只要总ECC计数未改变,就可以管理这样的错误。如果错误位于字线的一端,则可以识别诸如破裂字线的字线缺陷。


图I是可以用于跟踪错误数据的数据存储器件的框图;图2是可以与用于跟踪数据存储器件相关联的错误数据的系统的框图;图3例示第一组纠错码操作的结果;图4例示第二组纠错码操作的结果;图5例示第三组纠错码操作的结果;图6例示跟踪错误数据的方法的流程图;图7例示跟踪和存储错误数据的方法的流程图;图8例示跟踪和评估错误数据的方法的流程图;图9例示识别和校正错误数据的方法的流程图;以及图10例示识别由经过多个纠错码操作产生的错误指示的趋势的方法的流程图。
具体实施例方式参考图1,绘出了可以用于跟踪错误数据的数据存储器件的示例实施例并且概括地指定为100。数据存储器件1000包括耦接到存储器阵列104的控制器102。控制器102被配置为跟踪和比较与从存储器件阵列104读取的数据对应的错误位置数据并且可以基于这些比较而发起动作。存储器阵列104可以包括非易失性存储器,诸如闪存。存储器阵列104包括代表性存储器区106,其包括存储的数据110。存储器区106可以是字线、存储器块或者存储器页。字线可以包括在存储器阵列104内的行方向上的线。存储器块可以包括可擦除的存储器的最小单位。存储器页可以包括可写的存储器的最小单位。数据110包括与存储的数据110内的各个位置118相关联的可检测的错误114。控制器112可以被配置为经由返回从存储器阵列104读取的数据112的逻辑通信链接来访问存储器阵列104以读取数据110。控制器102的错误检测模块108可以被配置
为响应于读取数据110而检测多个错误11并检测错误位置118。例如,错误检测模块108可以包括纠错码(ECC)引擎。控制器102可以另外包括校验和发生器120。该校验和发生器120可以基于错误位置数据118产生校验和。例如,校验和发生器120可以输出分别在第一和第二纠错码(ECC)操作期间由错误检测模块108产生的错误位置数据118的第一校验和124和第二校验和126。第一校验和124和第二校验和126每个可以是基于与相应纠错码操作的多个错误的每个相关联的多个位置。校验和发生器120可以替换地包括多输入签名寄存器(MISR)。MISR的并入可以降低硬件要求。校验和发生器120的另一例子可以包括基于多项式的电路。基于多项式的电路可以包括线性反馈移位寄存器(LFSR)或者组合逻辑。校验和发生器的另一例子是具有起着累积加法器的作用的加法器和累加器的电路。校验和发生器120可以是ECC引擎的部分。第一校验和124和第二校验和126可以被存储在存储器阵列104的日志文件122中。例如,控制器102可以存储对于存储器阵列104的每个区域的随时间产生的校验和。控制器102可以将第一校验和124和第二校验和126的每个与不同的时间戳逻辑地相关联。例如,时间戳可以对应于其间产生了校验和的纠错码操作。在操作期间,控制器102可以从存储器阵列104的日志文件122提取第一校验和124和第二校验和126。控制器102还可以将第一校验和124与第二校验和126相比较并可以至少部分地基于第一校验和124与第二校验和126的比较而发起与存储器区域106相关联的动作。动作的例子可以包括移动数据、发起读擦除(read scrub)、刷新数据、指定数据块为坏的数据、监视数据以及校正多个错误中的错误,如将关于图3-10描述的。图I因此例示了用于对各个纠错码操作产生的每个是基于与多个错误的每个相关联的多个位置的校验和。第一校验和124和第二校验和126被比较以有效跟踪和校正错误数据。尽管错误检测模块108和校验和发生器120被例示为分离的元件,但是错误检测模块108和校验和发生器120可以位于相同的元件处(例如ECC)。此外,尽管第一校验和124和第二校验和126被描述为从日志文件122中提取,但是在其他实施例中,第一校验和124和第二校验和126中的一个或多个可以不从日志文件122提取,如将关于图2描述的。参考图2,绘出了可以用于跟踪与存储器件相关联的错误数据的系统的示例实施例,并且将其概括地指定为200。该系统200可以包括耦接到存储器阵列204的控制器202。控制器202还耦接到主机计算设备250。控制器202和存储器阵列204可以是可移除数据存储器件的组件。控制器202被配置为通过将从数据读操作得到的错误位置信息与从先前的读操作保存的错误位置信息相比较而跟踪存储器阵列204的情况。例如,存储器阵列204的日志文件216可以包括校验和历史218。存储器阵列204包括第一存储器区206和第二存储器区208。第一存储器区206具有表不存储器阵列204的一页或一块。控制器202包括错误检测模块220。错误检测模块220可以被配置为响应于从存储器阵列204读取的数据212而检测多个错误214和错误位置222。错误检测模块220可以包括ECC引擎。控制器202还包括被配置为接收错误位置222和产生校验和226的校验和发生器224。校验和发生器224可以包括MISR或者另一基于多项式的电路。例如,可以使用LFSR或者组合逻辑来实现基于多项式的电路。在多个纠错码操作期间,校验和发生器224可以产生与存储器阵列204的具体区域对应的多个校验和。校验和输出可以被存储在日志文件216的校验和历史218中并且稍后被提取作为一个或多个先前校验和。每个检验和(例如校验和226和先前校验和234)可以基于相应纠错码操作的与多个错误的每个相关联的多个位置。控制器202还包括耦接到错误检测模块220的处理器240。处理器240可以发起将校验和226存储到存储器阵列204内的日志文件216,并可以发起从存储器阵列204内的日志文件216提取先前的检验和234。处理器240包括校验和分析模块228,其被配置为将校验和226与先前校验和234相比较。处理器240还包括动作选择模块230。动作选择模块230被配置为基于校验和226与先前校验和234的比较自动发起多个可用动作232。动作的例子包括移动数据、发起读擦除、刷新数据、指定数据块为坏的数据、监视数据以及校正一个或多个错误。作为例子,校验和分析模块228可以由处理器240执行以提取和比较校验和226和先前校验和234。校验和分析模块228还可以被配置为基于比较识别结果。例如,校验和分析模块228可以从比较中识别错误是不相关的、随机的和归因于干扰的。在另一例子中,校验和分析模块228可以识别错误在类似的位置处并且很可能是硬错误。动作选择模块230可以由处理器240执行以接收来自校验和分析模块228的结果并选择性地发起动作。图2因此例示了用于跟踪与存储器件相关联的错误和关于此错误选择性地采取动作的系统200。系统200使能够进行有效和准确的错误跟踪和校正。图3例示了指示坏的存储元件的第一和第二纠错码操作的结果的例子。可以在不同的时间对字线或者从存储器读取的数据、诸如图I的数据110进行纠错码操作。数据302是在第一纠错码操作期间可以被评估的错误位置数据的例子。例如,数据302可以是由图I的错误检测模块108产生的错误位置信息118或者由图2的错误检测模块222产生的错误位置信息222。数据302包括与存储器中的存储元件对应的存储器元件位置306、308、310、312、314、316、318、320和322。作为例子,错误350与位置308相关联,错误352与位置316相关联。数据302可以由校验和发生器342、诸如图I的校验和发生器120接收。校验和发生器342可以基于与错误350、352相关联的位置308、316产生校验和344,诸如图I的第一校验和124。如所示,校验和344等于二进制“1011”,这等于十进制“II”。可以在第二纠错码操作期间评估数据304。数据304包括位位置324、326、328、330、332、334、336、338和340。错误354与位置326相关联,错误356与位置334相关联。数据304可以由校验和发生器346、诸如图I的校验和发生器120接收。校验和发生器346可以基于与错误354、356相关联的位置326、334产生校验和348、诸如图I的第一校验和124。如所示,校验和348等于二进制“1011”,这等于十进制“II”。在370,可以将校验和344、348相比较以识别坏的存储元件,因为数据302和数据304中的错误在相同的位置中。可以通过校验和346等于校验和342来指示坏的存储器件。例如,基于错误350、352、354、356在第一和第二纠错码操作的数据302、304内具有相同的
相对位置308、316、326、334,错误350、352、354、356可以被确定为是硬错误。图3因此例示了用于确定错误350、352、354、356以及相关联的位置308、316、326、334的第一和第二纠错码操作。可以将基于错误位置308、316、326、334计算的校验和344、348相比较以确定错误308、316、326、334的位置在两个纠错码操作中相同。错误350、352、354,356的相同的相对位置可以指示存在硬错误。图4例示指示随机错误的第一和第二纠错码操作的结果的例子。可以在不同的时间对数据元素、诸如图I的数据110进行纠错码操作。数据402可以在第一纠错码操作期间被评估。例如,数据402可以是由图I的错误检测模块108产生的错误位置信息118或者由图2的错误检测模块220产生的错误位置信息222。数据402包括与存储器中的存储元件对应的位位置406、408、410、412、414、416、418、420和422。错误450与位置408相关联,错误452与位置410相关联,错误454与位置416相关联。数据402可以由校验和发生器442、诸如图I的校验和发生器120接收。校验和发生器442可以基于与错误450、452和454相关联的位置408、410和416产生校验和444,诸如图I的第一校验和124。如所示,校验和444具有二进制值“1100”,这对应于十进制值“12”。可以在第二纠错码操作期间评估数据404。数据404包括位位置424、426、428、430、432、434、436、438和440。错误456与位置424相关联,错误458与位置430相关联。数据404可以由校验和发生器446、诸如图I的校验和发生器120接收。校验和发生器446可以基于与错误456、458相关联的位置424、430产生校验和448、诸如图I的第一校验和124。如所示,校验和448具有二进制值“0100”,这对应于十进制值“4”。在470,可以将校验和444、448相比较以将错误识别为随机的。校验和444的十进制值“12”和校验和448的十进制值“4”之间的偏差可能指示不相关的随机错误。基于错误450、452、454、456在第一和第二纠错码操作的数据402、404内具有不同的相对位置408、416、426、434,错误450、452、454、456可以被确定为是随机错误。图4因此例示了用于确定错误450、452、454、456以及相关联的位置408、416、426、434的第一和第二纠错码操作。可以将基于错误位置408、416、426、434计算的校验和444、448相比较以确定错误408、416、426、434的位置在两个纠错码操作中不同。图5例示第一和第二纠错码操作的结果的例子。第一和第二纠错码操作指示在数据502的一端部分附近的错误550、552、554的位置类似地分布到错误558、560、530,它们位于数据504的一端部分附近。可以在不同时间对字线或者从存储器读取的其他数据、诸如图I的数据110进行纠错码操作。可以在第一纠错码操作期间评估数据502。例如,数据502可以是由图I的错误检测模块108产生的错误位置信息118或者由图2的错误检测模块220产生的错误位置信息222。数据502包括与存储器中的存储元件对应的存储器元件位置 506、508、510、512、514、516、518、520 和 522。错误 510 与位置 506 相关联,错误 552与位置508相关联。第三错误554位于位置512,第四错误556位于位置516。数据502可以由校验和发生器442、诸如图I的校验和发生器120接收。校验和发生器542可以基于与错误550、552、554和556相关联的位置506、508、512和516产生校验和544,诸如图I的第一校验和124。如所示,校验和544具有二进制值“1110”,这对应于十进制值“14”。可以在第二纠错码操作期间评估数据504。数据504包括位位置524、526、528、530、532、534、536、538和540。错误558与位置524相关联,错误560与位置526相关联。
错误562与位置530相关联,错误564与位置540相关联。数据504可以由校验和发生器546、诸如图I的校验和发生器120接收。校验和发生器546可以基于与错误558、560、562和564相关联的位置524、526、530和540产生校验和548、诸如图I的第一校验和124。如所示,校验和548具有二进制值“1101”,这对应于十进制值“13”。在570,可以将校验和544、548相比较以识别坏的字线。校验和544、548两者包括相对大的值。大多数错误存在于字线的同一端。如在第一和第二纠错码操作期间评估的,基于数据504的类似位置的错误558、560、562,数据502,错误550、552、554可以被确定为与坏的字线相关联。图5因此例示用于确定错误550、552、554、556、558、560、562和564以及相关联的位置506、508、512、516、524、526、530和540的第一和第二纠错码操作。基于错误位置506、508、512、516、524、526、530和540计算校验和544、548,并且可以将它们相比较以确定在两个纠错码操作中,错误550、552、554、558、560和562的位置集中在数据502、504的类似部分中。错误 550、552、554、558、560 和 562 的相同的相对位置 506、508、512、524、526 和 530可以指示存在由坏的字线导致的硬错误。本领域技术人员将认识到,为了易于说明而简化了图3-5。图3-5不是一定要示出除了其他参数之外的准确值或者数据字大小。因而实施例不限于这些例示的例子。图6例示跟踪错误数据的方法600的流程图。图6的方法600可以由访问存储器的计算系统、诸如图I的控制器102或者图2的控制器202进行。在602,可以进行纠错码操作以识别多个错误和分别与多个错误的每个相关联的多个位置。例如,图I的控制器102可以从存储器阵列104提取数据110。数据110可以被提供给错误检测模块108。可以产生控制信号以致使错误检测模块108在第一时间进行第一纠错码操作以识别分别与各位置相关联的错误114。在604,可以基于与多个错误的每个相关联的多个位置产生校验和。为了例示,图I的校验和发生器120可以接收位置数据118并基于与检测的错误114相关联的位置产生第一校验和124。在606,可以从存储器阵列提取第二校验和。为了例示,第二校验和可以是图2的先前校验和234。第二校验和可以对应于来自与第一检验和相同的存储器区域的先前数据读操作。在608,可以比较第一校验和与第二校验和。例如,图I的控制器102可以将第一校验和124与第二校验和126相比较。在另一例子中,图2的校验和分析模块228可以将校验和226与先前校验和234相比较。在610,可以确定第一校验和与第二校验和之间的差是否小。例如,图I的控制器102可以确定第一校验和124和第二校验和126之间的差是否小。当在620确定的第一校验和与第二校验和之间的差小时,可以评估位置信息。例如,图I的控制器102可以基于错误的位置确定第一校验和124和第二校验和126之间的差。如图3所示,第一纠错码操作中错误350的位置308可以与第二纠错码操作中错误354的位置326相同。或者,如图4所示,第一纠错码操作中的错误450的位置408可以与第二
纠错码操作中的错误456的位置424不同。确定第一校验和与第二校验和之间的差是否小可以包括将该差与阈值相比较。可以基于具体校验和产生类型的位置编码属性来设置该阈值。在612,可以评估位置信息以识别可能的坏的字线。例如,可以确定错误始终集中出现在字线一端附近。使用图5来例示,第一纠错码操作中的错误550、552、554的位置506、508、512可以类似于第二纠错码操作中的与错误558、560、562相关联的位置524、526、530。错误重复地出现在字线的一端处可以指示坏的字线。在614,存储器区域可以被识别为具有缺陷的存储元件。例如,图I的控制器102可以将存储器区域106识别为具有在存储的数据串内的有缺陷的单元。如图3所示,错误重复地出现在具体存储器位置处可以指示坏的存储器单元。在616,可以监视数据内的位置。例如,图I的控制器102可以监视与检测到的错误114对应的位置来发现将来的错误出现。在618,可以确定第一校验和与第二校验和之间的差是否大。例如,图I的控制器102可以确定第一校验和124和第二校验和126之间的差是否大。确定该差是否大可以包括将该差与阈值相比较。阈值可以基于具体校验和产生类型的位置编码的属性来设置。当在618第一校验和与第二校验和之间的确定的差大时,在620,可以评估位置信息以确定多个错误中的错误是否是随机的。例如,图I的控制器102可以基于第一校验和124和第二校验和126之间的差确定检测到的错误114是随机的。在622,响应于确定错误是随机的,可以不发起动作。在624,可以存储第一校验和。例如,图2的控制器102可以将第一校验和124存储在存储器阵列104的日志文件122内。图6因此例示用于跟踪错误数据的方法600。产生并比较第一校验和与第二校验和。基于检测到的错误在字线或者其他数据串中的位置来产生校验和。检验和比较可以确定校验和之间的差是大还是小。小的差可以指示有缺陷的存储元件,而大的差可以指示随机错误。如果检测到的错误被确定为是随机的,则可以确定不采取动作。图7例示跟踪和存储错误数据的方法700的流程图。图7的方法700可以由访问存储器的计算系统、诸如图I的控制器102或者图2的控制器202来进行。在702,可以在第一时间进行第一纠错码操作以识别分别与多个第一位置相关联的多个第一错误。例如,多个第一位置的位置包括页或块在非易失性数据存储器件内的位位置。可以在非易失性数据存储器件内的控制器处进行第一纠错码操作。例如,图2的控制器202可以从存储器阵列204提取数据212。数据212可以被提供给错误检测模块220。可以产生控制信号以致使错误检测模块220在第一时间进行第一纠错码操作以识别分别与多个第一位置相关联的错误214。在704,可以在第二时间进行第二纠错码操作以识别分别与多个第二位置相关联的多个第二错误。为了例示,图2的控制器202可以再次从存储器阵列204提取数据。该数据可以被提供给错误检测模块220。可以产生控制信号以致使错误检测模块220在第二时间进行第二纠错码操作以识别分别与多个第二位置相关联的错误。在706,与多个第一位置相关的第一数据和与多个第二位置相关的第二数据可以
被存储到非易失性数据存储器件内的存储器阵列的日志文件中。第一数据可以包括多个第一位置的第一校验和,第二数据可以包括多个第二位置的第二校验和。例如,图2的控制器202可以将校验和历史数据218存储在存储器阵列204的日志文件216内。图7因此例示了进行第一纠错码操作和第二纠错码操作的方法700。每个操作可以识别与位置相关联的错误。与位置相关的数据可以被存储在存储器内用于有效地识别错误来进行校正。图8例示跟踪和评估错误数据的方法800的流程图。图8的方法800可以由计算系统、诸如图I的控制器102或者图2的控制器202来执行。在802,可以接收第一纠错码操作的与多个第一错误位置相关联的第一校验和。第一纠错码操作可以与校正存储器阵列的区域内的错误相关联。还可以接收第二纠错码操作的与多个第二错误位置相关联的第二校验和。例如,图2的控制器202可以接收来自存储器阵列204的日志文件216的第一校验和226和先前校验和234。在804,可以将第一校验和与第二校验和相比较。例如,图2的校验和分析模块228可以将校验和226与先前校验和234相比较。在806,可以确定存储器阵列的区域内的错误是否是随机的。为了例示,图2的校验和分析模块228可以评估检验和数据226以确定错误是否是随机的。在808,响应于确定错误是随机的,可以不发起动作。在810,可以基于比较的结果发起对存储器阵列的区域的动作。可以进行基于第一校验和与第二校验和的比较的多个可用动作之一。例如,图2的动作选择模块230可以移动数据212,发起读擦除,刷新数据,指定数据212的块为坏的,监视数据212或者发起校正错误214的动作。图8因此例示包括接收第一和第二纠错码操作的与错误位置相关联的校验和的方法800的流程图。可以比较校验和以确定错误是否是随机的。在错误不是随机的情况下,可以发起校正动作。图9例示跟踪和解决错误数据的方法900的流程图。图9的方法900可以由计算系统、诸如图2的控制器102或者图2的控制器202执行。在902,可以从存储器提取第一校验和。第一校验和可以与存储器区域的第一组错误位置相关联。第一组错误位置的错误位置可以包括页或块在非易失性数据存储器件内的位位置。例如,图I的控制器102可以从存储器阵列114的日志文件122提取第一校验和124。第一校验和124可以与存储器区域106的错误位置相关联。
在904,可以将第一校验和与与存储器区域的第二组错误位置相关联的第二校验和相比较。例如,图2的校验和分析模块228可以将校验和226与先前校验和234相比较。在906,可以基于比较的结果针对存储器区域发起动作。例如,图2的动作选择模块230可以基于数据的结果发起动作。当第一校验和与第二校验和之间的确定的差小时,可以发起第一动作。为了例示,小的确定的差可以指示类似的错误位置。当第一校验和与第二校验和之间的确定的差大时,可以发起第二动作。在一个例子中,大的确定的差可以指示大的错误位置差。在908,可以进行多个可用动作之一。例如,图2的动作选择模块230可以发起致使控制器202移动数据212、指定数据212的块为坏的、监视数据212、进行读擦除、刷新数据或者执行促进错误214的校正的处理的动作。图9例示识别和校正错误的方法900的流程图。提取并比较与错误位置相关联的校验和。可以基于比较的结果发起校正错误的动作。图10例示跟踪和解决错误数据的方法1000的流程图。图10的方法1000可以由计算系统、诸如图I的控制器102或者图2的控制器202进行。在1002,可以接收第一纠错码操作的与多个第一错误位置相关联的第一校验和。例如,图2的校验和分析模块228可以接收来自校验和发生器224的校验和226。在1004,可以接收第二纠错码操作的与多个第二错误位置相关联的第二校验和。例如,图2的控制器202可以从存储器阵列204的日志文件216提取先前校验和234。在1006,可以将第一校验和与第二校验和相比较。例如,图2的校验和分析模块228可以将校验和226与先前校验和234相比较。在1008,可以基于比较的结果针对存储器区域发起动作。例如,图2的动作选择模块230可以基于数据的结果发起动作。在1010,可以接收第三纠错码操作的与多个第三错误位置相关联的第三校验和。还可以接收第四纠错码操作的与多个第四错误位置相关联的第四检验和。例如,图2的校验和分析模块228可以从存储器阵列204的日志文件216的校验和历史218提取第三和第四校验和。在1012,第一校验和、第二校验和、第三检验和和第四检验和可以用于识别趋势。为了例示,图2的校验和分析模块228可以分析从校验和历史218提取的校验和以识别趋势。例如,校验和分析模块240可以确定多个错误总是出现在或者集中在相同的相对位置。在1014,可以基于趋势发起动作。例如,图2的动作选择模块230可以移动数据、发起读擦除、指定数据块为坏的、监视数据或者发起校正错误的动作。图10例示识别由经过一系列纠错码操作产生的错误指示的趋势的流程图。识别的趋势可以用于发起适当的校正动作。公开的实施例的各方面可以通过评估错误的位置而不仅仅是错误的总数而增加错误识别准确性。因此,即使当错误的总数保持恒定时,处理也可以识别移动了位置的错误。公开的实施例的其他方面可以使用基于伴随每个读操作发生的ECC校正的数据来跟踪错误。跟踪的错误数据可以包括错误位置和错误的数量两者。跟踪的错误数量可以用于监视磨损和缺陷,而错误位置数据可以促进干扰检测。
公开的实施例的其他方面可以基于一个或多个错误位置产生多个检验和。例如,可以为存储器中的每页收集四个校验和。校验和可以被确定且被包括在跟踪日志文件内。尽管在此绘出的各个组件被例示为块组件并以一般术语来描述,但是这样的组件可以包括一个或多个微处理器、状态机或者被配置为使图I的数据错误检测模块108和校验和发生器120、和图2的错误检测模块220、校验和发生器224、校验和分析模块228和动作选择模块230进行归属于这样的组件的具体功能的其他电路、或其组合。例如,图I的错误检测模块108、校验和发生器120或其两者可以表示物理组件,诸如硬件控制器、状态机、逻辑电路或者使得图I的数据存储器件100能够跟踪错误数据的其他结构。数据存储器件100可以是被配置为选择性地耦接到一个或多个外部设备的便携式设备。但是,在其他实施例中,数据存储器件100可以附连于或者嵌入在一个或多个主机
设备内,诸如在便携式通信设备的外壳内。例如,数据存储器件100可以在包装的装置内,诸如无线电话、个人数字助理(PDA)、游戏设备或控制台、便携式导航设备或者使用内部非易失性存储器的其他设备内。在一个具体实施例中,数据存储器件100包括非易失性存储器,诸如闪存(例如NAND、N0R、多级单元(MLC)、划分的位线NOR(DINOR)、AND、高电容耦合比(HiCR)、不对称无接触晶体管(ACT)、或其他闪存)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、一次可编程存储器(OTP)、或任何其他类型的存储器。在此所述的实施例的例示意图提供对各种实施例的一般理解。可以利用并从本公开得出其他实施例,使得可以进行结构和逻辑替换和改变而不脱离本公开的范围。本公开意图覆盖各个实施例的任意及所有随后的适应及变化。因而,本公开和附图将被认为是例示性的而非限制性的。以上公开的主题将被认为是例示的而非限制的,并且所附权利要求意图覆盖所有这样的修改、改进和其他实施例,它们落在本公开的范围内。因此,达法律允许的最大程度,本发明的范围将由以下权利要求及其等效物的最宽可允许解释来确定,并且不应受以上详细描述的限制或限定。
权利要求
1.一种跟踪错误数据的方法,该方法包括 接收从存储器阵列读取的数据; 对接收的数据进行错误检测操作以识别多个错误和多个位置,其中所述多个错误的每个错误与所述多个位置的相应位置相关联; 基于与所述多个错误的每个相关联的多个位置产生校验和;以及 将所述校验和存储在存储器阵列中。
2.如权利要求I的方法,还包括存储基于在第一时间进行的第一错误检测操作的第一校验和以及存储基于在第二时间进行的第二错误检测操作的第二校验和。
3.如权利要求2的方法,其中第一错误检测操作是第一纠错码操作,以及第二错误检测操作是第二纠错码操作。
4.如权利要求2的方法,还包括将第一校验和与第二校验和相比较。
5.如权利要求4的方法,还包括基于第一校验和与第二校验和的比较来比较多个可用动作之一。
6.如权利要求5的方法,其中所述多个可用动作包括以下的至少一个移动数据、发起读擦除、刷新数据、指定数据的块为坏的数据、监视数据以及发起校正所述多个错误中的错误的动作。
7.如权利要求4的方法,还包括当第一校验和与第二校验和之间的确定的差小时发起第一动作,并且当第一校验和与第二校验和之间的确定的差大时发起第二动作。
8.如权利要求4的方法,还包括当第一校验和与第二校验和之间的确定的差小时评估由第一校验和与第二校验和中的至少一个表示的位置信息以表示存储器阵列中的可能坏的字线。
9.如权利要求8的方法,其中基于指示基本上所有多个错误发生在可能坏的字线的一端处的位置信息来识别该可能坏的字线。
10.如权利要求4的方法,还包括响应于确定第一校验和与第二校验和之间的差大,确定所述多个错误中的错误是否是随机的。
11.如权利要求10的方法,还包括响应于确定该错误是随机的,不发起动作。
12.如权利要求I的方法,其中所述多个位置的位置包括存储器阵列的区域。
13.如权利要求I的方法,其中该存储器阵列的区域包括页或块的位位置。
14.一种跟踪错误数据的方法,该方法包括 在第一时间进行第一纠错码操作以识别与多个第一位置相关联的多个第一错误; 在第二时间进行第二纠错码操作以识别与多个第二位置相关联的多个第二错误;以及 将与该多个第一位置相关的第一数据以及与该多个第二位置相关的第二数据存储到数据存储器件内的存储器阵列的日志文件中。
15.如权利要求14的方法,其中该多个第一位置的位置包括页或块在数据存储器件内的位位置。
16.如权利要求14的方法,其中在该数据存储器件内的控制器处进行该第一纠错码操作。
17.如权利要求14的方法,其中第一数据包括该多个第一位置的第一校验和以及第二数据包括该多个第二位置的第二校验和。
18.—种跟踪错误数据的方法,包括 接收第一纠错码操作的与多个第一错误位置相关联的第一校验和; 接收第二纠错码操作的与多个第二错误位置相关联的第二校验和; 将第一校验和与第二校验和相比较;以及 基于比较的结果发起对存储器阵列的区域的动作。
19.如权利要求18的方法,其中第一纠错码操作与校正该存储器阵列的区域内的错误相关联。
20.如权利要求18的方法,还包括基于第一校验和与第二校验和的比较进行多个可用动作之一。
21.如权利要求20的方法,其中所述多个可用动作包括以下的至少一个移动数据、进行读擦除、刷新数据、指定数据的块为坏的数据、监视数据以及发起校正所述多个错误中的错误的动作。
22.如权利要求18的方法,还包括响应于确定所述存储器阵列的区域内的错误是随机的,不发起动作。
23.如权利要求18的方法,还包括接收第三纠错码操作的与多个第三错误位置相关联的第三校验和以及第四纠错码操作的与多个第四错误位置相关联的第四检验和,并使用第一校验和、第二校验和、第三检验和和第四检验和来识别趋势。
24.如权利要求23的方法,还包括基于该趋势发起动作。
25.—种跟踪错误数据的方法,该方法包括 接收来自存储器的第一校验和,该第一校验和与存储器区域的第一组错误位置相关联; 将该第一校验和与第二校验和相比较,该第二校验和与存储器区域的第二组错误位置相关联;以及 基于比较的结果发起针对该存储器区域的动作。
26.如权利要求25的方法,其中该动作包括以下的至少一个移动数据、指定数据的块为坏的数据、进行读擦除、刷新数据、监视数据以及校正所述多个错误中的错误。
27.如权利要求25的方法,还包括当第一校验和与第二校验和之间的确定的差小时发起第一动作,以及当第一校验和与第二校验和之间的确定的差大时发起第二动作。
28.如权利要求25的方法,第一组错误位置的错误位置包括页或块在数据存储器件的存储器区域内的位位置。
29.一种装置,包括 存储器阵列; 错误检测模块,耦接到该存储器阵列,其中响应于从该存储器阵列读取的数据,由该错误检测模块检测多个位置和多个错误;以及 处理器,被配置为将基于与多个错误的每个相关联的多个位置的校验和与先前校验和相比较,其中该处理器还被配置为基于该检验和与该先前校验和的比较而发起多个可用动作的中至少一个。
30.如权利要求29的装置,其中该处理器还被配置为发起该校验和在存储器阵列中的存储。
31.如权利要求29的装置,其中该错误检测模块包括在耦接于存储器阵列的控制器处的纠错码(ECC)引擎,其中该控制器和该存储器阵列是可移除数据存储器件的组件。
32.如权利要求31的装置,其中该控制器包括耦接到该ECC引擎的处理器。
33.如权利要求31的装置,其中该检验和由ECC引擎、多输入签名寄存器、累积加法器和基于多项式的电路中的至少一个产生。
34.一种装置,包括 存储器,包括存储器阵列的存储器区域;以及 控制器,被配置为访问该存储器,并提取对从多个存储器区域的至少一个读取的第一数据的第一纠错码操作的与多个第一错误位置相关联的第一校验和以及对从多个存储器区域的至少一个读取的第二数据的第二纠错码操作的与多个第二错误位置相关联的第二校验和,以将该第一校验和与该第二校验和相比较,并至少部分地基于该第一校验和与该第二校验和的比较来发起与所述多个存储器区域的至少一个相关联的动作。
35.如权利要求34的装置,其中该存储器包括非易失性存储器。
36.如权利要求34的装置,其该存储器包括闪存。
37.如权利要求34的装置,其中该控制器还被配置为将该第一校验和与该第二校验和存储在该存储器阵列内。
全文摘要
公开了跟踪错误数据的系统和方法。方法包括接收第一纠错码操作的与错误位置相关联的第一校验和,以及接收第二纠错码操作的与错误位置相关联的第二校验和。将第一校验和与第二校验和相比较,并且基于比较结果对存储器阵列的区域发起动作。
文档编号G06F11/00GK102804146SQ201080027385
公开日2012年11月28日 申请日期2010年6月23日 优先权日2009年6月29日
发明者M.A.德阿布里厄, S.斯卡拉 申请人:桑迪士克科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1