比特错误阈值和重映射存储装置的制作方法

文档序号:6605038阅读:109来源:国知局
专利名称:比特错误阈值和重映射存储装置的制作方法
技术领域
所公开的本发明主题涉及对存储装置的重映射。
背景技术
存储装置用于多种电子设备,例如计算机、蜂窝电话、PDA、数据记录器和导航设 备,这里只给出一些示例。在这种电子设备中,可以采用多种类型的非易失性存储装置,例 如NAND或NOR闪存、SRAM、DRAM和相变存储器,这里只给出一些示例。一般而言,可以使用 写入或编程处理在这种存储装置中存储信息,并可以使用读取处理来获取存储的信息。这种非易失性存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对 这种存储单元进行存取时可能发生读取和/或写入错误的可能性增大。虽然随后可以在存 储装置内校正此类错误,但是随着例如错误数目的增长,这种错误校正可能变得很困难或 不可能了。

发明内容
在实施例中,存储装置可以包括随时间缓慢劣化的存储单元,这可能导致在对该 存储装置进行读取时出现一个或多个错误的可能性增大。从系统的角度来看,可以确定是 否继续使用这种易于出错的单元。该确定可以至少部分基于错误数量与错误阈值的比较, 该阈值可以例如在存储装置的设计期间确定。如果不继续使用特定存储单元,则可以以保 持整个存储装置容量的方式选择替代存储单元。例如,实现该实施例的方法可以包括确定比特错误率和/或比特错误数目,所述 比特错误率和/或比特错误数目与从存储器的特定部分读取的表示信息的信号相关联;将 所述比特错误率和/或比特错误数目与错误阈值进行比较;以及至少部分地根据所述比较 来确定是否停用所述存储器的所述特定部分。


参照以下附图,描述非限制性和非穷尽实施例,在附图中,相似参考数字指代相似 部分,除非有特别说明。图1是根据实施例的存储器配置的示意图;图2是根据实施例的存储器读取处理的流程图;图3是根据实施例的矢量重映射表的示意图;图4是根据实施例的存储系统的示意框图;图5是根据实施例的计算系统和存储装置的示意框图。
具体实施例方式在本说明书中,对“一个实施例”或“实施例”的引述意味着,结合该实施例描述的 具体特征、结构或特点包括在所要求保护的主题的至少一个实施例中。因此,在本说明书中
4多处出现的短语“在一个实施例中”或“在实施例中”不一定全部是指同一实施例。此外, 具体特征、结构或特点可以结合在一个或更多实施例中。在实施例中,存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对这 种存储装置进行读取时可能发生一个或多个错误的可能性增大。例如,可以使用纠错码 (ECC)或其他此类算法,在计算系统内的若干区域内纠正这种错误。从系统角度来看,可 以确定是否要继续使用这种易出错的单元。如下要详细说明的,这种确定可以至少部分地 基于此类错误的数目与错误阈值的比较,其中错误阈值可以在例如存储装置的设计阶段定 义。如果要中断对特定的存储单元的使用,则可以按照保持存储装置总容量的方式来选择 替代的存储单元。因此,在一个实施例中,保持存储装置的大小容量的处理包括将易出错的存储位 置重映射到正常工作的存储位置,而不损失总的系统存储空间(例如,存储装置容量)。这 种重映射可以至少部分地基于与因从易出错的存储位置进行读取而发生错误的量和/或 频率有关的信息。这里,存储位置是指例如可以使用标识这种存储位置和/或部分的地址, 经由读取和/或写入处理来访问的存储装置的一部分。如下要详细说明的,例如,ECC解码 器可以用于确定与读取存储器特定部分相关联的比特错误率和/或比特错误数目。随后, 可以将比特错误率和/或比特错误数目与错误阈值相比较,例如该错误阈值可以包括到对 接受错误数目的实质性限制。根据这种比较的结果,可以决定是否停用产生错误的存储器 的特定部分,例如中断对其的使用。在特定实施例中,停用存储装置的一部分的处理可以包括将代表存储在存储装 置的要停用的一部分中的数据的信号传送到存储装置的另一部分。在一种实施方式中,可 以将代表从存储装置的停用部分重定位的数据的信号移动到存储装置的备用部分。例如, 这种存储器备用部分可以包括存储装置中初始没有被识别或考虑作为存储装置的整个容 量的一部分的物理位置,如下要详细说明的。停用存储装置的一部分的处理还可以包括将 存储装置的要停用部分的地址重映射成对应于存储装置的新的备用部分的地址。当然,这 些处理仅仅是示例,本发明要保护的主题不限于此。在一个实施例中,例如上述处理可以涉及包括相变存储(PCM)器件的存储装置。 因此,随着PCM老化,由PCM的部分产生的比特错误率和/或比特错误数目可能增大。在一 定程度上,可以使用例如ECC解码器和/或其他纠错算法来纠正这些错误。但是,错误数目 可能增大,超出了这些纠错技术的能力。因此,希望在指示这种存储器部分已经或正开始产 生过量错误时,就停用这种存储器部分。例如上述的实施例可以允许成功使用涉及到相对不可靠技术的存储装置,例如当 前被忽视的具有较低可靠测试结果的管芯(die)或PCM管芯。此外,这些实施例可以将存 储装置的寿命延长到其大多数存储单元的寿命,而不是其相对少量的存储单元的寿命。图1是根据实施例的存储器配置的示意图。存储装置100可以划分成主存储器 110和备用存储器120。存储装置100可以包括例如NAND或NOR闪存、SRAM、DRAM或PCM, 这里只给出一些示例。存储装置100可以包括具有这种主和备用存储器部分以及/或者一 个或多个其他存储器部分的用户可寻址存储空间,这些存储器部分可以是或不是彼此邻接 的,可以驻留或不驻留在单个装置中。主存储器Iio和备用存储器120可以包括可独立寻 址的空间,这些空间可通过例如读取、写入和/或擦除处理来访问。
5
根据实施例,存储装置100的一个或多个部分可以存储表示由存储装置100的特 定状态表达的数据和/或信息的信号。例如,可以通过影响或改变存储装置100的一部分 的状态,将数据和/或信息表示为二进制信息(例如,1和0),来在存储装置100的该部分 中“存储”表示数据和/或信息的电子信号。这样,在特定实施方式中,改变存储器的一部 分的状态来存储表示数据和/或信息的信号,这构成了将存储装置100变换到不同的状态 或事物。存储装置100可以配置为初始包括与存储装置100的全部可用容量对应的主存储 器110。这种初始配置可以额外地包括备用存储器120,在确定存储装置容量时,不需要包 括备用存储器120。但是,如果主存储器的部分变得不可用或例如在读取/写入处理期间造 成过量的错误,则可以使用备用存储器120来替代主存储器110的部分。在一种实施方式 中,包括存储装置100的存储系统可以使处理器或存储装置100中存储的数据的其他外部 请求方从特定请求地址范围接收无错误的数据,即使这种地址范围的一部分包括被停用的 主存储器。在这种情况下,例如可以从主存储器和(代替被停用主存储器的)备用存储器 二者读取数据块,而无需请求方的知识。当然,这种存储器配置仅仅是示例,本发明要保护 的主题不限于此。图2是根据实施例的存储器读取处理200的流程图。在框205,例如可以通过系 统应用来发起读取处理以读取表示在存储装置的一部分中存储的信息的信号,所述系统应 用提供了一个或多个读取地址,以便分别标识要从中读取存储数据的一个或更多个存储位 置。例如利用奇偶校验读取数据,ECC硬件和/或软件可以用于校验和/或纠正所读取的 数据中的错误。随后,在框210,将初始读取的数据与正确的读取数据进行比较,由此确定 在存储器读取处理中出现的错误的数目。例如,这种错误的数目可以被表示为比特错误率 (BER),BER可以包括错误比特的数目与所读取比特的总数目之间的比率。在框220,将源自 读取表示存储装置的一部分的信息的信号的BER或错误数目与错误阈值进行比较,错误阈 值包括表示最大可接受BER或最大可接受错误数目的数值,例如,大于该数值将不能成功 地校正额外的错误;这种错误阈值可以包括表示针对特定存储装置(例如图1所示的存储 装置100)可接受的BER或错误数目的实质上限的数目。在这种错误阈值处或以下,ECC硬 件和/或软件能够校正读取错误。但是在这种错误阈值以上则不能纠正所有读取错误的可 能性相对较大。在框230,至少部分地基于对于存储器的一部分的读取是否造成了过多的错误来 确定是否停用存储装置的一部分。如果这种错误的数目等于或低于错误阈值,则读取处理 200可以进行到框240,在框240,例如可以将所读取的数据提供给请求该读取数据的应用。 另一方面,如果这种错误的数目大于错误阈值,则读取处理可以进行到框250,在框250,例 如处理可以开始停用导致过多错误的存储器的一部分。在特定实施方式中,可以将初始存 储在这种易出错存储器部分中的数据移到已知具有功能和/或健全的另一个存储器部分。 这种新存储器部分可以包括备用存储器的一部分,例如图1所示的备用存储器120。在框 260,可以重映射用于标识数据的原始存储位置的一个或多个存储器地址,以便标识数据被 重定位的新存储器部分。在一个实施方式中,重映射可以包括分配新地址以便例如通过矢 量对应于原始地址,从而可以将对于原始地址的调用重定向到指定了重定位数据的位置的 新地址。如下详细所述,有关这种重映射地址的信息可以被保持在矢量重映射表中。在重映射存储器的易出错部分之后,读取处理200可以进行到框240,其中将所读取的数据提供 给例如请求所读取的数据的应用。当然,这种存储器读取处理仅仅是示例,本发明要保护的 主题不限于此。图3是根据实施例的矢量重映射表300的示意图。在其他实施方式中,表300中 包括的信息不需要以表的形式格式化;例如,这种信息可以包括数组或用于组织这种信息 的其他方式。可以由例如图1所示的存储装置100的存储装置中存储的一个或更多个信 号来表示这种信息。栏310可以包括原始地址340的列表,例如addrl,addr2, addr3等; 状态栏320可以包括与栏310中列出的对应原始地址是否已经重映射有关的信息;以及栏 330可以包括对应于栏310中列出的原始地址340的重映射地址350的列表,例如addrl,, addr2,,addr3,等。在一种实施方式中,原始地址340可以包括应用和/或系统发出的读取请求中包 括的一个或多个地址,该应用和/或系统询问存储装置100中在该一个或多个地址处存储 的信息。状态栏320可以包括描述了原始地址340是否已被重映射的元数据。如果已发生 了这种重映射,则栏330可以包括对应于原始地址340的重映射地址350。为通过根据图1 的示例来示出,addrl,addr5,addr7和addr8已经被分别重映射至addrl,,addr5,,addr7, 和addr8,,而addr2,addr3,addr4和addr6还未被重映射。这里,还未被重映射的原始地 址不具有栏330中对应的重映射地址。在另一实施方式中,因为重映射地址350的存在可 能足以指示例如对于特定原始地址340是否已发生了重映射,所以表300不需要包括状态 栏320。当然,这种矢量重映射表的实施方式仅仅是示例,本发明要保护的主题不限于此。图4是根据实施例的存储系统400的框图。控制器410可以被配置为接收读取请 求405,该读取请求405包括指定了存储装置425中要读取数据的位置的地址。存储装置 425可以包括主存储器420和备用存储器430,例如如上所述的。控制器410可以确定读取 请求405是否包含已被重映射的地址。根据该确定,控制器410可以将读取请求405定向至 主存储器420或备用存储器430,以读取数据。例如,如果读取请求405的地址还未被重映 射,则控制器410可以将读取请求转发给主存储器420,而如果该地址已被重映射,则控制 器410可以修改读取请求405,以包括可以定向至备用存储器430的重映射地址。随后,主 存储器420或备用存储器430可以将读取数据435提供给错误检测块440,错误检测块440 可以包括例如错误计数器和/或ECC解码器。在一个实施例中,可以将包括ECC解码器的 错误检测块440放置在存储装置425的管芯元件中。在另一实施例中,可以在系统级,例如 在应用中,提供包括ECC解码器的错误检测块440。错误检测块440可以检测和/或校正读 取数据435中存在的任何错误,并可以将检测到的错误表达成BER或比特错误数目。因此, 错误检测块440可以将校正后的读取数据445提供给例如应用和/或主机系统等引入读取 请求405的实体。错误检测块440也可以向比较引擎450提供与读取数据435中存在的错 误的数目有关的信息。在错误检测块440包括放置在存储装置425的管芯元件中的ECC解 码器的情况下,这种错误信息对于系统级的比较引擎应用而言是可访问的。在一种实施方 式中,例如,ECC解码器可以包括比较引擎450可访问的错误信息寄存器,比较引擎450可 以将检测到的错误的数目与错误阈值比较。如上所述,该错误阈值可以包括对可接受的BER或错误数目的限制。比较引擎450 可以将该比较的结果460提供给控制器410。至少部分地基于该比较结果,控制器410可以确定是否停用存储装置425的特定部分。如果该比较指示存储装置425的特定部分在例如 读取处理期间已造成了过量的比特错误数目,则控制器410可以发起停用存储器的易出错 部分的处理。这种停用处理可以包括将存储器的被停用部分中存储的数据重定位至存储 器的另一部分。例如,可以将数据从主存储器420的特定部分中移动到备用存储器430。因 此,控制器410可以将标识存储器的被停用部分的地址修改为标识要包含重定位数据的存 储器的新部分的地址。例如,这种存储器停用处理相对于引入读取请求405的应用和/或 主机系统可以无缝出现。当然,存储系统的这种实施方式仅仅是示例,本发明要保护的主题 不限于此。图5是计算系统500的示例实施例的示意图,计算系统500包括存储装置510,存 储装置510可以划分成主部分和备用部分,例如如上所述的。计算装置504可以代表可配 置为管理存储装置510的任何设备、装置和/或机器。存储装置510可以包括存储器控制 器515和存储器522。作为示例但非限制性地,计算装置504可以包括一个或多个计算设 备和/或平台,例如台式计算机、膝上型计算机、工作站、服务器设备等;一个或多个个人计 算或通信装置或设备,例如个人数字助理、移动通信设备等;计算系统和/或关联的服务提 供商功能装置,例如数据库或数据存储服务提供商/系统;以及/或者其任意组合。应该认识到,可以通过使用或包括硬件、固件、软件或其任意组合,来实现系统500 中所示的多种装置的全部或一部分、以及这里进一步描述的处理和方法。因此,作为示例但 非限制性地,计算装置504可以包括至少一个处理单元520,通过总线540操作性地耦合 至存储器522 ;以及主机或存储器控制器515。处理单元520代表可配置为执行数据计算 过程或处理的至少一部分的一个或多个电路。作为示例但非限制性地,处理单元520可以 包括一个或多个处理器、控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可 编程逻辑器件、现场可编程门阵列等、以及其任意组合。处理单元520可以与存储器控制器 515通信,以处理例如读取、写入和/或擦除等存储器相关操作,以及如上所述的存储器分 区处理。处理单元520可以包括配置为与存储器控制器515通信的操作系统。这种操作系 统例如可以生成要经由总线540发送至存储器控制器515的命令。这种命令可以包括例如 如下指令对存储器522的至少一部分进行分区;将一个或多个属性与特定部分相关联;以 及至少部分地基于要编程和存储的数据的类型对特定分区进行编程。存储器522代表任何数据存储机构。例如,存储器522可以包括可寻址存储器,其 中物理存储位置可以与特定地址相关联。因此,通过指定与存储位置相关联的地址可以访 问这种存储位置以便进行读取/写入处理。存储器522可以包括例如主存储器524和/或 次存储器526。在特定实施例中,如上所述,存储器522可以包括至少部分地基于存储器的 一个或多个属性和/或存储器管理处理而被分区的存储器。主存储器524可以包括例如随 机存取存储器、只读存储器等。虽然该示例中示出了主存储器524是与处理单元520分离 的,但是应该理解,主存储器524的全部或部分可以提供在处理单元520内或者与处理单元 520协同定位/耦合。次存储器526可以包括例如与主存储器相同或类似类型的存储器、以及/或者一 个或多个数据存储装置或系统,例如盘驱动器、光盘驱动器、磁带驱动器、固态存储器驱动 器等。在特定实施方式中,次存储器526可以是操作性地能容纳计算机可读介质528,或者 可配置为与计算机可读介质528耦合。计算机可读介质528可以包括例如能够携带针对系
8统500中一个或多个装置的数据、代码和/或指令的任何介质、和/或使得这些数据、代码 和/或指令可访问的任何介质。计算装置504可以包括例如输入/输出532。输入/输出532可以代表可配置为 接受或引入人类和/或机器输入的一个或多个装置或特征、和/或可配置为传递或提供人 类和/或机器输出的一个或多个装置或特征。作为示例但非限制性地,输入/输出设备532 可以包括操作性配置的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。在以上详细描述中,给出了多种特定细节,以提供对本发明要保护的主题的全面 理解。但是,本领域技术人员会理解,可以在不需要这些特定细节的情况下实施本发明要保 护的主题。此外,没有具体描述普通技术人员已知的方法、装置或系统,以避免使本发明要 保护的主题不清楚。以上详细描述的一些部分是从存储在专用设备或专用计算装置或平台的存储器 内、对二进制数字信号的操作的算法或符号化表示方面来呈现的。在本特定说明书的上 下文中,术语专用设备等包括编程为执行根据来自程序软件的指令的特定操作的通用计算 机。算法描述或符号化表示是信号处理或相关领域普通技术人员用来将其工作的实质内容 传递给其他技术人员的技术的示例。这里以及一般而言,算法被认为是引导至所需结果的 操作或类似信号处理的前后一致的序列。在该情况下,操作或处理包括对物理量的物理操 作。典型地,虽然不是必需的,这种量可以采用能够被存储、传送、组合、比较或处理的电或 磁信号的形式。已经多次证明了,主要由于普遍使用,很方便将此类信号引用为比特、数据、 值、元素、符号、字符、术语、号码、数字等。但是,应该理解,这些或类似术语全部要与合适的 物理量关联,并仅仅是方便的标签。除非专门声明,从以下论述中明显可见,在本说明书描 述中,使用“处理”、“计算”、“运算”、“确定”等术语是指例如专用计算机或类似专用电子计 算设备的专用设备的动作或处理。因此,在本说明书的上下文中,专用计算机或类似专用电 子计算设备能够操作或变换典型地以电或磁物理量表示的信号,这些电或磁物理量在该专 用计算机或类似专用电子计算设备的存储器、寄存器、或其他信息存储装置、传输装置或显 示装置内。这里使用的术语“和”、“和/或”和“或”可以包括多种含义,这至少部分地取决于 其所应用的上下文。典型地,如果用于关联列表,例如A、B或C,则“和/或”和“或”表示 A、B和C,这里是包含性含义,以及A、B或C,这里是排他性含义。本说明书中对“一个实施 例”或“实施例”的引述意味着,结合该实施例描述的具体特征、结构或特点包括在所要求保 护的主题的至少一个实施例中。因此,在本说明书中多处出现的短语“在一个实施例中”或 “在实施例中”不一定全部是指同一实施例。此外,具体特征、结构或特点可以结合在一个 或更多实施例中。这里描述的实施例可以包括使用数字信号进行操作的机器、装置、引擎或 设备。这种信号可以包括电信号、光信号、电磁信号或在位置之间提供信息的任何形式的能 量。虽然示出并描述了当前认为的示例实施例,但是本领域技术人员会理解,在不背 离本发明要保护的主题的前提下,可以进行多种其他修改并替换等同物。此外,在不背离这 里所述的中心思想的前提下,可以进行多种修改来使特定情况适应本发明要保护的主题的 教义。因此,本发明要保护的主题不限于公开的特定实施例,而是也可以包括在所附权利要 求及其等同物范围内的所有实施例。
9
权利要求
一种方法,包括确定比特错误率和/或比特错误数目,所述比特错误率和/或比特错误数目与从存储器的特定部分读取的表示信息的信号相关联;将所述比特错误率和/或比特错误数目与错误阈值进行比较;以及至少部分地根据所述比较来确定是否停用所述存储器的所述特定部分。
2.根据权利要求1所述的方法,其中停用所述存储器的所述特定部分包括 将由来自所述存储器的所述特定部分的信号表示的所述信息重定位到所述存储器的另一部分。
3.根据权利要求2所述的方法,其中所述存储器的另一部分包括备用存储器区域。
4.根据权利要求1所述的方法,其中所述存储器包括相变存储装置。
5.根据权利要求2所述的方法,还包括将所述存储器的所述特定部分的地址重映射到所述存储器的所述另一部分。
6.根据权利要求1所述的方法,其中所述比特错误率和/或比特错误数目至少部分地 受所述存储器的物理劣化影响。
7.一种设备,包括 可寻址存储器;错误计数器,用于确定比特错误率和/或比特错误数目,所述比特错误率和/或比特错 误数目与从所述可寻址存储器的特定部分读取的表示信息的信号相关联;比较引擎,用于将所述比特错误率和/或比特错误数目与错误阈值进行比较;以及 控制器,用于至少部分地根据所述比较来确定是否停用所述可寻址存储器的所述特定 部分。
8.根据权利要求7所述的设备,其中所述控制器还适于将由来自所述可寻址存储器的 所述特定部分的信号表示的所述信息重定位到所述可寻址存储器的另一部分。
9.根据权利要求8所述的设备,其中所述可寻址存储器的所述另一部分包括备用存储 器区域。
10.根据权利要求7所述的设备,其中所述可寻址存储器包括相变存储装置。
11.根据权利要求8所述的设备,其中所述控制器还适于将所述可寻址存储器的所述 特定部分的地址重映射到所述可寻址存储器的所述另一部分。
12.根据权利要求7所述的设备,其中所述比特错误率和/或比特错误数目至少部分地 受所述存储器的物理劣化的影响。
13.一种设备,包括用于确定比特错误率和/或比特错误数目的装置,所述比特错误率和/或比特错误数 目与从存储器的特定部分读取的表示信息的信号相关联;用于将所述比特错误率和/或比特错误数目与错误阈值进行比较的装置;以及 用于至少部分地根据所述比较来确定是否停用所述存储器的所述特定部分的装置。
14.根据权利要求13所述的设备,其中停用所述存储器的所述特定部分包括 将由来自所述存储器的特定部分的信号表示的所述信息重定位到所述存储器的另一部分的装置。
15.根据权利要求14所述的设备,还包括将所述存储器的所述特定部分的地址重映射到所述存储器的所述另一部分的装置。
16.根据权利要求13所述的设备,其中所述比特错误率和/或比特错误数目至少部分 地受所述存储器的物理劣化的影响。
17.一种制品,包括存储介质,包括存储于其上的机器可读指令,如果由专用计算设备执行所述机器可读 指令,所述机器可读指令适于使所述专用计算设备能够执行以下操作确定比特错误率和/或比特错误数目,所述比特错误率和/或比特错误数目与从存储 器的特定部分读取的表示信息的信号相关联;将所述比特错误率和/或比特错误数目与错误阈值进行比较;以及至少部分地根据所述比较来确定是否停用所述存储器的所述特定部分。
18.根据权利要求17所述的制品,其中如果由专用计算设备执行所述机器可读指令, 所述机器可读指令还适于使所述专用计算设备执行以下操作通过将由来自所述存储器的所述特定部分的所述信息重定位到所述存储器的另一部 分,来停用所述存储器的所述特定部分。
19.根据权利要求17所述的制品,其中所述存储器包括相变存储装置。
20.根据权利要求18所述的制品,其中如果由所述专用计算设备执行所述机器可读指令,所述机器可读指令还适于使所述专 用计算设备执行以下操作将由所述存储器的所述特定部分的地址重映射到所述存储器的所述另一部分。
全文摘要
本发明提供了比特错误阈值和重映射存储装置,涉及对存储装置的重映射。
文档编号G06F11/10GK101937373SQ20101021415
公开日2011年1月5日 申请日期2010年6月24日 优先权日2009年6月30日
发明者古尔吉拉特·比林, 斯蒂芬·鲍尔斯 申请人:恒忆有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1