《存储存储器重映射信息的非易失性存储器.pdf》由会员分享,可在线阅读,更多相关《存储存储器重映射信息的非易失性存储器.pdf(24页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101937374A43申请公布日20110105CN101937374ACN101937374A21申请号201010219745922申请日2010062912/494,99420090630USG06F11/1020060171申请人恒忆有限责任公司地址瑞士罗尔72发明人吉尔吉拉特比林斯蒂芬鲍尔斯马克林万德塞缪尔戴维波斯特74专利代理机构中科专利商标代理有限责任公司11021代理人杨静54发明名称存储存储器重映射信息的非易失性存储器57摘要一种系统,包括控制器,将表示关于存储装置的重映射信息的数字信号存储到内容可寻址存储器CAM,其中所述控制器适于如果所述CAM中存储的。
2、所述重映射信息被更新,则将所述CAM中存储的所述重映射信息的至少一部分存储到非易失性可离散寻址的存储器中。30优先权数据51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书12页附图9页CN101937375A1/2页21一种系统,包括控制器,将表示关于存储装置的重映射信息的数字信号存储到内容可寻址存储器CAM,其中所述控制器适于如果所述CAM中存储的所述重映射信息被更新,则将所述CAM中存储的所述重映射信息的至少一部分存储到非易失性可离散寻址的存储器中。2根据权利要求1所述的系统,还包括纠错编码ECC解码器,接收从所述存储装置读取的表示数据的数字信号,并确定与所。
3、读取的表示所述数据的信号相关联的比特错误率和/或比特错误数目,其中所述控制器适于至少部分地基于所述比特错误率和/或所述比特错误数目是否达到或超过错误阈值,存储所述重映射信息。3根据权利要求1所述的系统,其中所述非易失性可离散寻址的存储器包括相变存储器PCM。4根据权利要求1所述的系统,其中所述重映射信息包括一个或多个重映射地址表。5根据权利要求1所述的系统,其中所述非易失性可离散寻址的存储器能够在定向至所述存储装置的读取/写入处理期间,在运行中以新的重映射信息来更新。6根据权利要求1所述的系统,其中所述CAM以及所述非易失性可离散寻址的存储器实质上彼此同步。7根据权利要求1所述的系统,其中所述。
4、非易失性可离散寻址的存储器包括第二CAM。8一种方法,包括确定与从存储装置读取的表示数据的数字信号相关联的比特错误率和/或比特错误数目;以及在非易失性可离散寻址的存储器中存储表示关于所述存储装置的重映射信息的数字信号,其中所述重映射信息至少部分地基于所述比特错误率和/或所述比特错误数目是否达到或超过错误阈值。9根据权利要求8所述的方法,其中所述非易失性可离散寻址的存储器包括相变存储器PCM。10根据权利要求8所述的方法,其中所述重映射信息包括一个或多个重映射地址表。11根据权利要求8所述的方法,其中所述非易失性可离散寻址的存储器能够在定向至所述存储装置的读取/写入处理期间,在运行中以新的重映射。
5、信息来更新。12根据权利要求8所述的方法,其中所述非易失性可离散寻址的存储器包括内容可寻址存储器CAM。13根据权利要求10所述的方法,其中所述存储装置包括主存储器部分和备用存储器部分,所述重映射地址对应于所述备用存储器部分中的存储位置。14根据权利要求8所述的方法,其中所述存储还包括将所述重映射信息写入所述非易失性可离散寻址的存储器的一部分,所述一部分的大小实质上与所述重映射信息的大小相同。15一种系统,包括主机,从/向存储装置读取/写入,并执行一个或多个应用;纠错编码ECC解码器,接收从所述存储装置读取的表示数据的数字信号,并确定与所权利要求书CN101937374ACN101937375。
6、A2/2页3读取的表示所述数据的信号相关联的比特错误率和/或比特错误数目;以及重映射控制器,至少部分地基于所述比特错误率和/或所述比特错误数目是否达到或超过错误阈值,将表示所述存储装置的重映射地址的数字信号存储到内容可寻址存储器CAM,其中所述CAM包括相变存储器PCM。16根据权利要求15所述的系统,其中所述CAM适于接收表示读取地址的数字信号并发送表示信号的数字信号,所述信号至少部分地响应于所述读取地址是否对应于所述CAM中存储的所述重映射地址。17根据权利要求16所述的系统,还包括选择部分,选择所述读取地址或所述重映射地址,以用作要从所述存储装置进行读取的地址,其中,所述选择至少部分地基。
7、于所述信号。18根据权利要求15所述的系统,其中所述存储装置包括主存储器部分和备用存储器部分,所述重映射地址对应于所述备用存储器部分中的存储位置。19根据权利要求18所述的系统,其中所述存储装置还包括所述ECC解码器和相变存储器部分。20根据权利要求15所述的系统,其中所述比特错误率和/或所述比特错误数目至少部分地响应于所述存储器的物理劣化。权利要求书CN101937374ACN101937375A1/12页4存储存储器重映射信息的非易失性存储器技术领域0001所公开的本发明主题涉及对存储装置的重映射。背景技术0002存储装置用于多种电子设备,例如计算机、蜂窝电话、PDA、数据记录器和导航设备。
8、这里只给出一些示例。在这种电子设备中,可以采用多种类型的非易失性存储装置,例如NAND或NOR闪存、SRAM、DRAM和相变存储器这里只给出一些示例。一般而言,可以使用写入或编程处理在这种存储装置中存储信息,并可以使用读取处理来获取存储的信息。0003这种非易失性存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对这种存储单元进行存取时可能发生读取和/或写入错误的可能性增大。错误也可能由制造缺陷和/或边际存储装置构造这里只给出一些示例造成。虽然随后可以在存储装置内校正此类错误,但是随着例如错误数目的增长,这种错误校正可能变得很困难或不可能了。发明内容0004为了解决上述技术问题,例如,本。
9、发明提供了一种系统,包括控制器,将表示关于存储装置的重映射信息的数字信号存储到内容可寻址存储器CAM,其中所述控制器适于如果所述CAM中存储的所述重映射信息被更新,则将所述CAM中存储的所述重映射信息的至少一部分存储到非易失性可离散寻址的存储器中。附图说明0005参照以下附图,描述非限制性和非穷尽实施例,在附图中,相同参考数字指代相同部分,除非有特别说明。0006图1是根据实施例的存储器配置的示意图;0007图2是根据实施例的存储器读取处理的流程图;0008图3是根据另一实施例的存储器读取处理的流程图;0009图4是根据实施例的计算系统和存储装置的示意框图;0010图5是根据实施例的存储器读取。
10、处理的流程图;0011图6是根据另一实施例的存储器读取处理的流程图;0012图7是根据实施例的矢量重映射表的示意图;0013图8是根据实施例的存储系统的示意框图;0014图9是根据实施例的计算系统和存储装置的示意框图。具体实施方式0015在本说明书中,对“一个实施例”或“实施例”的引述意味着,结合该实施例描述的具体特征、结构或特点包括在所要求保护的主题的至少一个实施例中。因此,在本说明书中多处出现的短语“在一个实施例中”或“在实施例中”不一定全部是指同一实施例。此外,说明书CN101937374ACN101937375A2/12页5具体特征、结构或特点可以结合在一个或更多实施例中。0016在实。
11、施例中,关于存储装置的重映射信息可以保持在非易失性可离散寻址的存储器中。这种重映射信息可以包括重映射矢量,重映射矢量提供重映射地址,以作为例如针对存储装置的读取/写入请求的一部分,替代由处理器提供的地址。这里,可离散寻址的存储器可以包括存储单元,例如,这种存储单元不需要每次都成块和/或成扇区地写入,而是可以单独地被寻址或者以相对较小的组来成组地被寻址。例如,向NOR闪存类型的存储器写入数据可以包括向存储单元的较大块写入,即使要写入的数据只需要一个或两个存储单元大小的存储空间。在另一示例中,向相变存储器PCM写入诸如重映射信息等数据,这可以包括只向与要写入的数据的存储大小基本上匹配的多个存储单元。
12、写入。0017在这种非易失性可离散寻址的存储器中保持重映射信息,这可以提供对要重映射的存储器的特定区域的粒度更细的控制。例如,这种非易失性可离散寻址的存储器可以允许离散寻址,以在存储空间的相对较小的部分中存储重映射矢量。相反,不可离散寻址的存储器可以使用块和/或扇区寻址,从而仅对单个重映射矢量的存储可能占用存储装置的相对较大部分。此外,使用块和/或扇区寻址的存储器可以包括擦除处理,以为后续的写入处理准备存储块和/或扇区,这造成了相比于可离散寻址的存储器,需要更大量的写入时间。因此,在非易失性可离散寻址的存储器中存储和保持重映射信息可以提供提高存储装置的存储空间利用率以及减少写入处理所需的时间的。
13、途径。在一种实施方式中,在非易失性可离散寻址的存储器中保持重映射信息可以允许使用这种重映射信息所相关的易失性存储装置,这是因为这种非易失性存储器即使在下电POWERDOWN期间也可以存储重映射信息。因此,在非易失性可离散寻址的存储器中存储和保持重映射信息可以允许以更大的灵活性来选择存储器类型,例如NAND或NOR闪存、SRAM、DRAM和PCM这里只给出一些示例。0018在一种实施方式中,重映射信息所相关的存储装置可以在物理上包括非易失性可离散寻址的存储器,以便单个晶元DIE或集成电路芯片包括存储装置和非易失性可离散寻址的存储器两者。但是,在这种实施方式中,存储装置可以与非易失性可离散寻址的存。
14、储器不同,以便可以通过处理器和/或存储器控制器分离地访问该存储装置和非易失性可离散寻址的存储器。例如,用于存储关于存储装置的重映射信息的非易失性可离散寻址的存储器可以驻留在存储装置上,但是依然与这种存储装置不同。继续参照该示例,这种存储装置可以包括具有多个存储器晶元的存储模块可以经由单个处理器和/或存储器控制器访问存储器晶元,可以通过分离的单个处理器和/或存储器控制器访问非易失性可离散寻址的存储器。当然,在非易失性可离散寻址的存储器上保持重映射信息的这些细节和优点仅仅是示例,本发明要求保护的主题不限于此。0019例如,相比于在存储装置内保持重映射信息,在非易失性可离散寻址的存储器上存储和保持关。
15、于存储装置的重映射信息也可以减少等待时间以及/或者提高对可用存储器容量的利用。在一种实施方式中,可以在运行中ONTHEFLY生成重映射信息,例如在由处理器发起的读取/写入处理等运行时间处理期间,其中对从存储装置读取的数据进行错误校验,如下所述。在另一实施方式中,可以由系统执行初始化处理,以包括对存储装置的易出错部分进行扫描。再次,在非易失性可离散寻址的存储器上保持重映射信息的这些细节和优点仅仅是示例,本发明要求保护的主题不限于此。0020在实施例中,存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对这说明书CN101937374ACN101937375A3/12页6种存储装置进行例如读。
16、取时可能发生一个或多个错误的可能性增大。存储装置也可以包括由其制造导致的缺陷和/或边际功能存储单元。例如,可以使用纠错码ECC或其他此类技术,在计算系统内的若干区域内纠正这种错误。从系统角度来看,可以确定是否要继续使用这种易出错的单元。如下要详细说明的,这种确定可以至少部分地基于此类错误的数目与错误阈值的比较,其中错误阈值可以在例如存储装置的设计阶段定义。在一种实施方式中,可以在特定存储单元展示出过量错误之前,中断对这些单元的使用。换言之,如果易出错的存储单元产生的错误数目接近错误阈值,则可以中断对这种存储单元的使用。例如,为了确定可以中断对存储单元的使用,不需要达到该阈值。因此,观察错误的数。
17、目接近错误阈值,这可以是预测特定的存储单元可能很快产生太多错误的途径,从而可以例如在易出错的存储单元实际上开始临界地发生故障之前,停止对这些易出错存储单元的使用。如果要中断对特定的存储单元的使用,则可以按照保持存储装置总容量的方式来选择替代的存储单元。0021因此,在一个实施例中,保持存储装置的尺寸容量的处理包括将易出错的存储位置重映射到正常工作的存储位置,而不损失总的系统存储空间例如,存储装置容量。这种重映射可以至少部分地基于与因从易出错的存储位置进行读取而发生错误的量和/或频率有关的信息。这里,存储位置是指例如可以使用标识存储位置和/或部分的一个或多个地址,经由读取和/或写入处理来访问的存。
18、储装置的一部分。如下要详细说明的,例如,ECC引擎可以用于确定与读取存储器特定部分相关联的比特错误率和/或比特错误数目。随后,可以将比特错误率和/或比特错误数目与错误阈值相比较,例如该错误阈值可以包括到可接受错误数目的实质性限制。根据这种比较的结果,可以决定是否停用RETIRE产生错误的存储器的特定部分,例如中断对其的使用。0022在特定实施例中,停用存储装置的一部分的处理可以包括将存储在存储装置的要停用的一部分中的、代表数据的数字信号移动到存储装置的另一部分。在一种实施方式中,可以将从存储装置的停用部分迁出的代表数据的数字信号移动到存储装置的备用部分。例如,这种存储器备用部分可以包括存储装置。
19、中初始没有识别或考虑为存储装置的整个容量的一部分的物理位置,如下要详细说明的。停用存储装置的一部分的处理也可以包括将存储装置的要停用部分的地址重映射成对应于存储装置的新的备用部分的地址。这种重映射的地址可以例如如上所述存储在非易失性可离散寻址的存储器中。当然,这些处理仅仅是示例,本发明要保护的主题不限于此。0023在一个实施例中,例如上述处理可以涉及包括器件的存储装置。因此,随着PCM老化,由PCM的部分产生的比特错误率和/或比特错误数目可能增大。在一定程度上,可以使用例如ECC引擎和/或其他纠错技术来纠正这些错误。但是,错误数目可能增大,超出了这些纠错技术的能力。因此,希望在指示这种存储部分。
20、已经或正开始产生过量错误的趋势时,就停用这种存储部分。0024例如上述实施例可能允许对存储装置的成功使用涉及到相对不可靠的技术。例如,使用本文描述的实施例,可以利用先前认为是不可用的晶元。此外,这些实施例可能将存储装置的寿命延长到其大多数存储单元的寿命,而不是其相对少量的存储单元的寿命。0025图1是根据实施例的存储器配置的示意图。存储装置100可以划分成主存储器110和备用存储器120。存储装置100可以包括例如NAND或NOR闪存、SRAM、DRAM和PCM这里说明书CN101937374ACN101937375A4/12页7只给出一些示例。存储装置100包括具有这种主和备用存储部分以及/。
21、或者一个或多个其他存储部分的用户可寻址存储空间,这些存储部分可以是或不是彼此邻接的,可以驻留或不驻留在单个装置中。主存储器110和备用存储器120可以包括可独立寻址的空间,这些空间可通过例如读取、写入和/或擦除处理来访问。0026根据实施例,存储装置100的一个或多个部分可以存储表示由存储装置100的特定状态表达的数据和/或信息的信号。例如,可以通过影响或改变存储装置100的一部分的状态,将数据和/或信息表示为二进制信息例如,1和0,来在存储装置100的该部分中“存储”表示数据和/或信息的电子信号。这样,在特定实施方式中,改变存储器的一部分的状态来存储表示数据和/或信息的信号,这构成了将存储装。
22、置100变换到不同的状态或事物。0027存储装置100可以配置为初始包括与存储装置100的全部可用容量对应的主存储器110。这种初始配置可以额外地包括备用存储器120,在确定存储装置容量时,不需要包括备用存储器120。但是,如果主存储器的部分变得不可用或例如在读取/写入处理期间造成过量的错误,则可以使用备用存储器120来替代主存储器110的部分。当然,这种存储器配置的细节仅仅是示例,本发明要保护的主题不限于此。0028图2是根据实施例的存储器读取/写入处理200的流程图。在方块220,例如可以由处理器执行的系统应用发起对存储装置的一部分进行读取或写入的读取/写入处理,该系统应用提供一个或多个读。
23、取/写入地址,来分别标识要读取或写入所存储数据的一个或多个存储位置。开始于方框230,这种读取/写入地址可以将数据读取/写入处理沿着先前选择的数据路径定向,该数据路径是至少部分地基于读取/写入地址是否对应于已被停用的存储位置而选择的。在本示例中,存储装置可以包括主存储器部分和备用存储器部分,例如图1所示的存储装置100。在特定实施例中,备用存储器部分可以用于替代被停用的主存储器部分。在这种存储位置还未停用的情况下,在方框240,数据路径可以将数据读取/写入处理定向至主存储器部分中对应于由处理器传输的地址的位置。这种定向可以由适当地切换的硬件切换组件来执行,例如由复用器来执行。例如,可以向硬件切。
24、换组件施加信号,以选择引向至对应于由处理器传输的地址的主存储器部分的数据路径。由硬件切换组件选择的其他数据路径可以包括引向至存储装置的不同部分例如备用存储器部分的各个单独数据路径。0029由此,在方框250,由处理器传输的读取/写入地址可以用于从存储装置的主存储器部分读取或向其写入。随后,在方框260,从存储装置的读取地址读取的数据可以被提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。在向存储装置写入数据的情况下,可以执行后续的读取处理来验证成功的写入操作该读取的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。0030在已经停用了存储位置的情。
25、况下,在方框245,数据路径可以将数据读取/写入处理定向至备用存储器部分中的位置,而不是对应于由处理器传输的地址的存储位置。这种路径定向可以由适当地切换的硬件切换组件来执行,例如由复用器来执行。具体而言,可以向硬件切换组件施加信号,以选择引向至对应于由处理器传输的地址的备用存储器部分的数据路径。由硬件切换组件选择的其他数据路径可以包括引向至存储装置的不同部分例如主存储器部分和/或其他备用存储器部分的各个单独数据路径。说明书CN101937374ACN101937375A5/12页80031由此,在方框255,由处理器传输的读取/写入地址虽然原始是定向至主存储器部分的地址,但是可以重定向至存储装。
26、置的备用存储器部分。随后,在方框260,从备用存储器部分读出或向其写入的数据可以被提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。在向存储装置写入数据的情况下,可以执行后续的读取处理来验证成功的写入操作该读取的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。当然,这种存储器读取处理的细节仅仅是示例,本发明要保护的主题不限于此。0032图3是根据实施例的存储器读取/写入处理300的流程图。在方框310,例如可以由系统应用发起对存储装置的一部分进行读取或写入的读取/写入处理,该系统应用提供一个或多个读取/写入地址,来分别标识要读取或写入所存储数据。
27、的一个或多个存储位置。例如对读取的数据进行奇偶校验的ECC硬件和/或软件可以用于校验和/或校正读取的数据中的错误。随后,如在方框320,将初始读取的数据与校正后的读取数据相比较,以确定存储器读取/写入处理中已发生的错误数目。该错误数目可以表达成比特错误率BER,这可以包括例如错误比特的数目与读取的比特的总数目之比。从存储装置的一部分读取而造成的BER或错误数目可以与错误阈值相比较,该错误阈值可以包括表示可接受的最大BER或可接受的最大错误数目的值,例如,超出该值的额外错误可能无法被成功校正。该错误阈值可以包括表示对例如图1所示的存储装置100等特定存储装置而言可校正的错误的BER或错误数目的实。
28、质性上限的数目。在该错误阈值处或以下,ECC硬件和/或软件能够校正读取错误。但是在该错误阈值以上,可能无法校正所有读取错误的可能性相对较高。0033在方框330,至少部分地基于从存储器的一部分的读取是否造成过多错误,来决定是否停用该存储器部分。如果错误数目处于或在错误阈值以下,则可以决定不停用该存储器部分,读取/写入处理300可以前进至方框335。在此,可以向硬件切换组件提供信号,以将针对读取/写入处理而传输数据的路由或路径定向至原始主存储器部分。接着,在方框340,例如,可以将读取的数据提供给应用,该应用请求将读取的数据或写入的数据写入到原始主存储器部分中。0034另一方面,如果该错误数目在。
29、错误阈值以上,则可以决定停用存储器的一部分,读取/写入处理300可以前进至方框350,在此,例如,处理可以开始停用这种导致过多错误的存储器部分。在特定实施方式中,可以通过向硬件切换组件提供信号,以将用于读取/写入处理的数据路由定向至原始主存储器部分,来再次读取存储在要停用的存储器部分中的数据。接着,在方框360,可以向硬件切换组件提供信号,以将用于后续读取/写入处理的数据路由定向至用于替代原始主存储器部分的备用存储器部分。接着,在方框340,例如,可以将读取的数据提供给应用,该应用请求将读取的数据或写入的数据写入到备用存储器部分中。当然,这种存储器读取处理的细节仅仅是示例,本发明要保护的主题不。
30、限于此。0035图4是示出了包括存储装置455的计算系统400的实施例的示意图,存储装置445可以划分成主部分450和备用部分460,例如如参照图1所描述的。计算系统400可以代表可配置为管理存储装置455的任何设备、设备和/或机器。作为示例但非限制性地,计算系统400可以包括一个或多个计算设备和/或平台,例如台式计算机、膝上型计算机、工作站、服务器设备等;一个或多个个人计算或通信装置或设备,例如个人数字助理、移动通信设备等;计算系统和/或关联的服务提供商功能装置,例如数据库或数据存储服务提供商/说明书CN101937374ACN101937375A6/12页9系统;以及/或者其任意组合。00。
31、36应该认识到,可以通过使用或包括硬件、固件、软件或其任意组合,来实现计算系统40中所示的多种装置的全部或一部分、以及这里进一步描述的处理和方法。因此,作为示例但非限制性地,计算系统400可以包括至少一个处理单元410,通过硬件切换组件470操作性地耦合至存储器455;存储器控制器435;以及错误检测和存储器停用确定组件440以下为方便起见,称为“错误检测组件”。处理单元410可以代表可配置为执行数据计算过程或处理的至少一部分的一个或多个电路。作为示例但非限制性地,处理单元410可以包括一个或多个处理器、控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可编程逻辑器件、现场可编程门阵列。
32、等、以及其任意组合。处理单元410可以与存储器控制器435通信,以处理例如读取、写入和/或擦除等存储器相关操作。处理单元410可以包括配置为与存储器控制器435通信的操作系统。这种操作系统例如可以生成要经由地址输出端口415和/或数据读取/写入端口420发送至存储器控制器435的命令。这种命令可以包括例如与存储器455对应的存储地址。0037计算系统400可以包括例如输入/输出部分480,输入/输出部分480可以代表可配置为接收或引入人类和/或机器输入的一个或多个装置或特征、可配置为传递或提供人类和/或机器输出的一个或多个装置或特征。作为示例但非限制性地,输入/输出部分480可以包括操作性配置。
33、的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。0038存储器控制器435可以包括非易失性可离散寻址的存储器430,来保持用于经由硬件切换组件470在引向至存储器455的多个部分的多条数据路径475中进行选择的信息。在一个实施例中,可离散寻址的存储器可以包括PCM。例如,这种信息可以包括与选择特定数据路径474的特定存储器选择值相关联的存储地址的表;如果处理单元410提供地址作为读取/写入操作的一部分,则可以使用非易失性可离散寻址的存储器430来将该地址与选择至存储器的特定数据路径的特定存储器选择值相关联。这里,例如,可以进行选择,以挑选至主存储器450或备用存储器460的数据路径。。
34、如上所述,该选择可以至少部分地基于与读取/写入操作中提供的地址相关联的存储器455的位置是否已被停用。为了通过具体示例示出,处理单元410可以提供地址作为读取操作的一部分。由存储器控制器435接收该地址,然后将该地址与非易失性可离散寻址的存储器430中保持的特定的存储器选择值相关联。如下说明的,这种存储器选择值可以是至少部分地基于由错误检测组件440提供的信息而已经建立的。然后,可以将这种存储器选择值提供给硬件切换组件470,以在多条数据路径475中选择至存储器的一条数据路径。在本具体实例中,该地址对应于存储器455中先前已停用的位置。因此,寄存器430可以将该地址与如下存储器选择值相关联如果。
35、将该存储器选择值提供给硬件切换组件470,则可以选择引向至备用存储器460中的位置的数据路径。虽然图4示出了两条数据路径来代表多条数据路径475,但是应该注意,可以有任意数目的数据路径。此外,硬件切换组件470不必局限于每次选择一条数据路径。类似地,可以存在包括有至存储器455的任意部分的任意数目的数据路径的组合,其中存储器455可以包括例如封装在一起或单独封装的一个或多个存储器件。存储器455可以代表任何的数据存储机构。存储器455可以包括例如盘驱动、光盘驱动、磁带驱动、固态存储驱动等。因此,这里描述的配置仅仅是示例,本发明要保护的主题不限于此。0039如上所述,例如PCM等非易失性可离散寻。
36、址的存储器430可以至少部分地基于由说明书CN101937374ACN101937375A7/12页10错误检测组件440提供的信息,来建立和保持信息。在一个实施例中,可以将从存储器455读取的数据提供给错误检测组件440,错误检测组件440可以检查错误,以确定与读取存储器455的特定部分相关联的比特错误率和/或比特错误数目。然后,可以将该错误信息提供给存储器控制器435,存储器控制器435可以将比特错误率和/或比特错误数目与例如错误阈值相比较。可以根据该比较的结果,决定是否停用存储器的该特定部分。因此,可以将存储器的该特定部分的地址与如下存储器选择值相关联如果将该存储器选择值提供给硬件切换组。
37、件470,则可以用于选择至存储器的合适部分的数据路径。如上所述,非易失性可离散寻址的存储器430可以保持与特定的存储地址相关联的存储器选择值。0040如图4所示,计算系统400可以包括硬件部分490,该硬件部分490包括例如存储器控制器435、非易失性可离散寻址的存储器430、硬件切换组件470和/或存储器455。在特定实施例中,停用存储装置的一部分以及/或者确定是否从/向主或备用存储器读取/写入,可以包括对于可以发出读取/写入指令的处理单元410而言透明的处理。因此,处理器单元410不需要接收或处理从产生错误的存储器特定部分读取的数据。而是,可以由错误检测组件440拦截和检测这些错误,然后将。
38、错误信息提供给存储器控制器435,如上所述。随后,存储器控制器435可以确定是否应该停用存储器455的特定部分,其中可以例如在硬件部分490内,在无处理单元410参与的情况下进行这种确定。此外,存储器控制器435可以至少部分地基于表示非易失性可离散寻址的存储器430中存储的信息的信号,来确定是否从/向主或备用存储器读取/写入。再次,可以在硬件部分490内,在无处理单元410参与的情况下进行这种确定。因此,如上所述,处理器不必承担例如在处理读取/写入指令时重新组织和/或利用存储器映射进行工作的软件处理。当然,这种处理仅仅是示例,本发明要保护的主题不限于此。0041图5是根据实施例的存储器读取/写。
39、入处理500的流程图。在方框505,例如可以由系统应用发起对存储装置的一部分进行读取或写入的读取/写入处理,该系统应用提供一个或多个读取/写入地址,来分别标识要读取或写入所存储数据的一个或多个存储位置。在方框510,可以将一个或多个读取/写入地址提供给例如内容可寻找存储器CAM,在这种情况下,可以搜索与所提供的读取/写入地址相对应的可能的重映射地址。在一种实施方式中,CAM可以包括例如PCM等非易失性可离散寻址的存储器。这种CAM可以存储对将原始地址与对应的重映射地址相关联的数据库和/或表进行表示的数字信号。因此,通过搜索这种CAM,在方框530,可以确定输入的原始读取/写入地址是否与CAM中。
40、存储器的对应的重映射地址相关联。如果不是其中,对于与特定的读取/写入地址相关联的重映射地址的搜索返回了空结果,则读取/写入处理500可以前进至方框540,在此可以输出原始读取/写入地址。因此,在方框550,可以使用该原始读取/写入地址来从或向存储装置读取或写入。随后,在方框560,从或向存储装置的原始读取/写入地址读取或写入的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类错误校正技术。0042另一方面,如果在方块530确定输入的原始读取/写入地址具有对应的重映射地址,则读取/写入处理500可以前进至方框545,在此可以传输对应于特定的原始读取/写入地址的重映射地址。因此,。
41、在方框555,可以使用重映射的读取/写入地址来从或向存储装置读取或写入。在一种实施方式中,如果利用重映射地址,则可以读取或写入存储装置的备用部分,但是这种限定仅仅是示例。随后,在方框560,从或向存储装置的重映射读取/写说明书CN101937374ACN101937375A8/12页11入地址读取或写入的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类错误校正技术。当然,这种存储器读取/写入处理的细节仅仅是示例,本发明要保护的主题不限于此。0043图6是根据实施例的存储器读取处理600的流程图。在方框605,例如可以由系统应用发起对存储装置的一部分中存储的信息进行表示的信号。
42、进行读取的读取处理,该系统应用提供一个或多个读取地址,来分别标识要读取表示数据的所存储的信号的一个或多个存储位置。例如对读取的数据进行奇偶校验的ECC硬件和/或软件可以用于校验和/或校正读取的数据中的错误。随后,如在方框610,将初始读取的数据与校正后的读取数据相比较,以确定存储器读取处理中已发生的错误数目。该错误数目可以表达成比特错误率BER,这可以包括例如错误比特的数目与读取的比特的总数目之比。在方框620,从存储装置的一部分读取而造成的BER或错误数目可以与错误阈值相比较,该错误阈值可以包括表示可接受的最大BER或可接受的最大错误数目的值,例如,超出该值的额外错误可能无法被成功校正。该错。
43、误阈值可以包括表示对例如图1所示的存储装置100等特定存储装置而言可接受的错误的BER或错误数目的实质性上限的数目。在该错误阈值处或以下,ECC硬件和/或软件能够校正读取错误。但是在该错误阈值以上,可能无法校正至少一些读取错误的可能性相对较高。0044在方框630,至少部分地基于从存储器的一部分的读取是否造成过多错误,来决定是否停用该存储器部分。如果错误数目处于或在错误阈值以下,则读取处理600可以前进至方框640,在此,例如可以向请求所读取的数据的应用提供所读取的数据。另一方面,如果该错误数目在错误阈值以上,则读取处理600可以前进至方框650,在此,例如,处理可以开始停用这种导致过多错误的。
44、存储器部分。在特定实施方式中,可以将这种易出错的存储器部分中初始存储的数据移动到已知是工作的和/或状态良好的另一存储器部分。这种新的存储器部分可以包括例如图1所示的备用存储器120等备用存储器的一部分。在方框660,可以将标识数据的原始存储位置的存储地址或多个存储地址重映射为标识数据迁移至的新的存储器部分。在一种实施方式中,重映射可以包括分配新地址,以经由例如矢量与原始地址相对应,以便可以将对原始地址的调用重定向至指定了被迁移数据的位置的新地址。然后,在方框670,可以将关于这种重映射地址的信息提供给CAM,以更新CAM中存储的重映射信息,其中如下详细描述的,这种信息可以存储为矢量重映射表。在。
45、方框680,响应于将一个或多个重映射地址提供给CAM,也可以将更新后的信息提供给诸如PCM等非易失性可离散寻址的存储器。例如,存储器控制器可以将表示关于存储装置的重映射信息的数字信号提供给CAM,其中,如果更新了CAM中存储的重映射信息,则该存储器控制器可以将CAM中存储的重映射信息的至少一部分拷贝到非易失性可离散寻址的存储器中。在一种实施方式中,可以在运行中,例如在由处理器发起的读取/写入处理等运行时间处理期间,将这种更新后的信息提供给非易失性可离散寻址的存储器。在另一实施方式中,可以由系统执行初始化处理,包括对存储装置的易出错部分进行扫描。0045在一种特定实施方式中,如下进一步详细描述的。
46、,可以利用CAM中存储的重映射信息和/或其他内容,周期性地更新PCM或其他非易失性可离散寻址的存储器。在对存储器的易出错部分进行重映射之后,读取处理600可以前进至方框640,其中例如可以将所读取的数据提供给请求所读取的数据的应用。当然,这种存储器读取处理的细节仅仅是示例,说明书CN101937374ACN101937375A9/12页12本发明要保护的主题不限于此。0046图7是根据实施例的矢量重映射表700的示意图。在其他实施方式中,表700中包括的信息不需要以表的形式格式化;例如,这种信息可以包括阵列或用于组织这种信息的其他方式。这种信息以及关于该信息的组织,可以在例如PCM等非易失性可。
47、离散寻址的存储器中存储为表示这种信息的数字信号。栏710可以包括原始地址740的列表,例如ADDR1,ADDR2,ADDR3等;状态栏720可以包括与栏710中列出的对应原始地址是否已经重映射有关的信息;以及栏730可以包括对应于栏710中列出的原始地址740的重映射地址750的列表,例如ADDR1,ADDR2,ADDR3等。0047在一种实施方式中,原始地址740可以包括应用和/或系统发出的读取/写入请求中包括的一个或多个地址,该应用和/或系统询问存储装置100中在该一个或多个地址处存储的信息。状态栏720可以包括描述了原始地址740是否已被重映射的元数据。如果已发生了这种重映射,则栏730。
48、可以包括对应于原始地址740的重映射地址750。为通过根据图1的示例来示出,ADDR1,ADDR5,ADDR7和ADDR8已经被分别重映射至ADDR1,ADDR5,ADDR7和ADDR8,而ADDR2,ADDR3,ADDR4和ADDR6还未被重映射。这里,还未被重映射的原始地址不具有栏730中对应的重映射地址。在另一实施方式中,因为重映射地址750的存在可能足以指示例如对于特定原始地址740是否已发生了重映射,所以表700不需要包括状态栏720。当然,这种矢量重映射表和存储重映射信息的其他格式的细节仅仅是示例,本发明要保护的主题不限于此。0048图8是根据实施例的存储系统800的框图。控制器8。
49、10可以配置为接收指示了读取请求805的一个或多个信号,该读取请求805包括指定了存储装置825中要读取数据的位置的地址。存储装置825可以包括主存储器820和备用存储器830,例如如上所述的。伴随读取请求输入的地址可以途经通过CAM815,在此将地址与CAM815中存储的内容相比较,CAM815可以包括与原始地址相关联的重映射地址。在一个特定实施方式中,进行重映射处理,而不需要在系统级由用户生成的特定指令和/或信号,以使伴随读取请求输入的地址可以始终包括原始地址。仅仅在CAM搜索之后,就可以将该地址与其关联的重映射地址相关联。换言之,CAM815可以提供从原始地址空间到重映射地址空间的转换。这样,控制器810可以确定读取请求805是否包含已被重映射的地址。根据该确定,控制器810可以将读取请求805定向至主存储器820或备用存储器830,以读取数据。例如,如果读取请求805的地址还未被重映射,则控制器810可以将读取请求转发给主存储器820,而如果该地址已被重映射,则控制器810可以修改读取请求805,以包括可以定向至备用存储器830的重映射地址。随后,主存储器820或备用存储器830可以将读取的数据835提供给错误检测块840,错误检测块840可以包括例如错误计数器和/或ECC解码器。在一个实施例中,可以将包括ECC解码器的错误检测块840放置在存储装置825的晶。