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