CN101937725A - 比特错误阈值和内容可寻址存储器以寻址重映射存储装置 - Google Patents
比特错误阈值和内容可寻址存储器以寻址重映射存储装置 Download PDFInfo
- Publication number
- CN101937725A CN101937725A CN2010102183418A CN201010218341A CN101937725A CN 101937725 A CN101937725 A CN 101937725A CN 2010102183418 A CN2010102183418 A CN 2010102183418A CN 201010218341 A CN201010218341 A CN 201010218341A CN 101937725 A CN101937725 A CN 101937725A
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- memory storage
- storage
- remaps
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0035—Evaluating degradation, retention or wearout, e.g. by counting writing cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
所公开的本发明主题涉及对存储装置的重映射。
Description
技术领域
所公开的本发明主题涉及对存储装置的重映射。
背景技术
存储装置用于多种电子设备,例如计算机、蜂窝电话、PDA、数据记录器和导航设备,这里只给出一些示例。在这种电子设备中,可以采用多种类型的非易失性存储装置,例如NAND或NOR闪存、SRAM、DRAM和相变存储器,这里只给出一些示例。一般而言,可以使用写入或编程处理在这种存储装置中存储信息,并可以使用读取处理来获取存储的信息。
这种非易失性存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对这种存储单元进行存取时可能发生读取和/或写入错误的可能性增大。虽然随后可以在存储装置内校正此类错误,但是随着例如错误数目的增长,这种错误校正可能变得很困难或不可能了。
发明内容
例如,为了解决上述技术问题,提供了一种系统,包括:纠错编码ECC解码器,接收从存储装置读取的表示数据的信号,并确定与所读取的表示所述数据的信号相关联的比特错误率和/或比特错误数目,重映射控制器,至少部分地基于所述比特错误率和/或所述比特错误的数目是否满足或超出错误阈值,将所述存储装置的重映射地址提供给内容可寻址存储器CAM。
附图说明
参照以下附图,描述非限制性和非穷尽实施例,在附图中,相同参考数字指代相同部分,除非有特别说明。
图1是根据实施例的存储器配置的示意图;
图2是根据实施例的存储器重映射处理的流程图;
图3是根据另一实施例的存储器重映射处理的流程图;
图4是根据另一实施例的矢量重映射表的示意图;
图5是根据实施例的存储系统的示意框图;
图6是根据另一实施例的存储系统的示意框图;
图7是根据实施例的计算系统和存储装置的示意框图。
具体实施方式
在本说明书中,对“一个实施例”或“实施例”的引述意味着,结合该实施例描述的具体特征、结构或特点包括在所要求保护的主题的至少一个实施例中。因此,在本说明书中多处出现的短语“在一个实施例中”或“在实施例中”不一定全部是指同一实施例。此外,具体特征、结构或特点可以结合在一个或更多实施例中。
在实施例中,存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对这种存储装置进行读取时可能发生一个或多个错误的可能性增大。例如,可以使用纠错码(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的列表,例如addr1,addr2,addr3等;状态栏420可以包括与栏410中列出的对应原始地址是否已经重映射有关的信息;以及栏430可以包括对应于栏410中列出的原始地址440的重映射地址450的列表,例如addr1’,addr2’,addr3’等。
在一种实施方式中,原始地址440可以包括应用和/或系统发出的读取请求中包括的一个或多个地址,该应用和/或系统询问存储装置100中在该一个或多个地址处存储的信息。状态栏420可以包括描述了原始地址440是否已被重映射的元数据。如果已发生了这种重映射,则栏430可以包括对应于原始地址440的重映射地址450。为通过根据图1的示例来示出,addr1,addr5,addr7和addr8已经被分别重映射至addr1’,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。因此,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协同定位/耦合。
次存储器726可以包括例如与主存储器相同或类似类型的存储器、以及/或者一个或多个数据存储装置或系统,例如盘驱动、光盘驱动、磁带驱动、固态存储器驱动等。在特定实施方式中,次存储器726可以是操作性地能容纳计算机可读介质728,或者可配置为与计算机可读介质728耦合。计算机可读介质728可以包括例如能够携带针对系统700中一个或多个装置的数据、代码和/或指令的任何介质、和/或使得这些数据、代码和/或指令可访问的任何介质。
计算装置704可以包括例如输入/输出732。输入/输出732代表可配置为接受或引入人类和/或机器输入的一个或多个装置或特征、可配置为传递或提供人类和/或机器输出的一个或多个装置或特征。作为示例但非限制性地,输入/输出设备732可以包括操作性配置的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。
在以上详细描述中,给出了多种特定细节,以提供对本发明要保护的主题的全面理解。但是,本领域技术人员会理解,可以在不需要这些特定细节的情况下实施本发明要保护的主题。在其他情况下,没有具体描述普通技术人员已知的方法、装置或系统,以避免使本发明要保护的主题不清楚。
以上详细描述的一些部分是从存储在专用设备或专用计算装置或平台的存储器内、对二进制数字信号的操作的算法或符号化表示方面来呈现的。在本特定说明书的上下文中,属于专用设备等包括只要编程为执行根据来自程序软件的指令的特定操作的通用计算机。算法描述或符号化表示是信号处理或相关领域普通技术人员用来将其工作的实质内容传递给其他技术人员的技术的示例。这里以及一般而言,算法被认为是引导至所需结果的操作或类似信号处理的前后一致的序列。在该情况下,操作或处理包括对物理量的物理操作。典型地,虽然不是必需的,这种量可以采用能够被存储、传送、组合、比较或处理的电或磁信号的形式。已经多次证明了,主要由于普遍使用,很方便将此类信号引用为比特、数据、值、元素、符号、字符、术语、号码、数字等。但是,应该理解,这些或类似术语全部要与合适的物理量关联,并仅仅是方便的标签。除非专门声明,从以下论述中明显可见,在本说明书描述中,使用“处理”、“计算”、“运算”、“确定”等术语是指例如专用计算机或类似专用电子计算设备的专用设备的动作或处理。在一个示例中,这种专用计算机或类似专用电子计算设备可以包括利用执行一个或多个特定功能的指令编程的通用计算机。因此,在本说明书的上下文中,专用计算机或类似专用电子计算设备能够操作或变换典型地以电或磁物理量表示的信号,这些电或磁物理量在该专用计算机或类似专用电子计算设备的存储器、寄存器、或其他信息存储装置、传输装置或显示装置内。
这里使用的属于“和”、“和/或”和“或”可以包括多种含义,这至少部分地取决于其所应用的上下文。典型地,如果用于关联列表,例如A、B或C,则“和/或”和“或”表示A、B和C,这里是包含性含义,以及A、B或C,这里是排他性含义。本说明书中对“一个实施例”或“实施例”的引述意味着,结合该实施例描述的具体特征、结构或特点包括在所要求保护的主题的至少一个实施例中。因此,在本说明书中多处出现的短语“在一个实施例中”或“在实施例中”不一定全部是指同一实施例。此外,具体特征、结构或特点可以结合在一个或更多实施例中。这里描述的实施例可以包括使用数字信号进行操作的机器、装置、引擎或设备。这种信号可以包括电信号、光信号、电磁信号或在位置之间提供信息的任何形式的能量。
虽然示出并描述了当前认为的示例实施例,但是本领域技术人员会理解,在不背离本发明要保护的主题的前提下,可以进行多种其他修改并替换等同物。此外,在不背离这里所述的中心思想的前提下,可以进行多种修改来使特定情况适应本发明要保护的主题的教义。因此,本发明要保护的主题不限于公开的特定实施例,而是也可以包括在所附权利要求及其等同物范围内的所有实施例。
Claims (20)
1.一种系统,包括:
纠错编码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所述的系统,其中,所述比特错误率和/或所述比特错误的数目至少部分地响应于所述存储器的物理劣化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/494,950 US20100332950A1 (en) | 2009-06-30 | 2009-06-30 | Bit error threshold and content addressable memory to address a remapped memory device |
US12/494,950 | 2009-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101937725A true CN101937725A (zh) | 2011-01-05 |
Family
ID=43382131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102183418A Pending CN101937725A (zh) | 2009-06-30 | 2010-06-28 | 比特错误阈值和内容可寻址存储器以寻址重映射存储装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20100332950A1 (zh) |
JP (1) | JP2011023099A (zh) |
KR (1) | KR20110001883A (zh) |
CN (1) | CN101937725A (zh) |
DE (1) | DE102010030750A1 (zh) |
TW (1) | TW201123196A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714857A (zh) * | 2012-06-05 | 2014-04-09 | Sk海尼克斯存储技术公司 | 使用比特误差的下边界的电力节约技术 |
CN105637490A (zh) * | 2013-09-03 | 2016-06-01 | 桑迪士克科技股份有限公司 | 用于在闪速存储器装置之间迁移数据的方法和系统 |
CN109388518A (zh) * | 2017-08-11 | 2019-02-26 | 华邦电子股份有限公司 | 数据写入方法 |
WO2021196621A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
WO2021196661A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11922023B2 (en) | 2020-04-01 | 2024-03-05 | Changxin Memory Technologies, Inc. | Read/write method and memory device |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8370712B2 (en) * | 2009-07-23 | 2013-02-05 | International Business Machines Corporation | Memory management in a non-volatile solid state memory device |
US8589760B1 (en) * | 2010-03-31 | 2013-11-19 | Sk Hynix Memory Solutions Inc. | Defect scan and manufacture test |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US9552166B2 (en) | 2014-09-02 | 2017-01-24 | Sandisk Technologies Llc. | Process and apparatus to reduce declared capacity of a storage device by deleting data |
US9563362B2 (en) | 2014-09-02 | 2017-02-07 | Sandisk Technologies Llc | Host system and process to reduce declared capacity of a storage device by trimming |
US9524112B2 (en) | 2014-09-02 | 2016-12-20 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by trimming |
US9582212B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Notification of trigger condition to reduce declared capacity of a storage device |
US9652153B2 (en) | 2014-09-02 | 2017-05-16 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses |
US9582193B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system |
US9524105B2 (en) | 2014-09-02 | 2016-12-20 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by altering an encoding format |
US9582203B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses |
US9519427B2 (en) | 2014-09-02 | 2016-12-13 | Sandisk Technologies Llc | Triggering, at a host system, a process to reduce declared capacity of a storage device |
US9582202B2 (en) * | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by moving data |
US9665311B2 (en) | 2014-09-02 | 2017-05-30 | Sandisk Technologies Llc | Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable |
US9563370B2 (en) | 2014-09-02 | 2017-02-07 | Sandisk Technologies Llc | Triggering a process to reduce declared capacity of a storage device |
US9582220B2 (en) | 2014-09-02 | 2017-02-28 | Sandisk Technologies Llc | Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system |
US9158681B1 (en) | 2014-09-02 | 2015-10-13 | Sandisk Technologies Inc. | Process and apparatus to reduce declared capacity of a storage device by conditionally trimming |
US9558064B2 (en) | 2015-01-28 | 2017-01-31 | Micron Technology, Inc. | Estimating an error rate associated with memory |
US10141955B2 (en) * | 2015-04-11 | 2018-11-27 | International Business Machines Corporation | Method and apparatus for selective and power-aware memory error protection and memory management |
US9606737B2 (en) | 2015-05-20 | 2017-03-28 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning |
US9639282B2 (en) | 2015-05-20 | 2017-05-02 | Sandisk Technologies Llc | Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices |
US9946483B2 (en) | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning |
US9946473B2 (en) | 2015-12-03 | 2018-04-17 | Sandisk Technologies Llc | Efficiently managing unmapped blocks to extend life of solid state drive |
KR20190053646A (ko) * | 2017-11-10 | 2019-05-20 | 에스케이하이닉스 주식회사 | 메모리 콘트롤러, 이를 포함하는 반도체 메모리 시스템 및 그 구동 방법 |
US11138064B2 (en) | 2018-12-13 | 2021-10-05 | Micron Technology, Inc. | Dynamic control of error management and signaling |
CN113495675B (zh) | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11709621B2 (en) * | 2020-10-09 | 2023-07-25 | Western Digital Technologies Inc. | Read threshold management and calibration |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5974564A (en) * | 1997-07-31 | 1999-10-26 | Micron Electronics, Inc. | Method for remapping defective memory bit sets to non-defective memory bit sets |
US6067262A (en) * | 1998-12-11 | 2000-05-23 | Lsi Logic Corporation | Redundancy analysis for embedded memories with built-in self test and built-in self repair |
US6467048B1 (en) * | 1999-10-07 | 2002-10-15 | Compaq Information Technologies Group, L.P. | Apparatus, method and system for using cache memory as fail-over memory |
JP4165990B2 (ja) * | 1999-12-20 | 2008-10-15 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法 |
US6236602B1 (en) * | 2000-05-25 | 2001-05-22 | Robert Patti | Dynamic configuration of storage arrays |
JP2006179101A (ja) * | 2004-12-22 | 2006-07-06 | Fujitsu Ltd | 半導体記憶装置 |
KR20100016987A (ko) * | 2008-08-05 | 2010-02-16 | 삼성전자주식회사 | 상 변화 메모리를 포함하는 컴퓨팅 시스템 |
KR101019986B1 (ko) * | 2008-10-10 | 2011-03-09 | 주식회사 하이닉스반도체 | 성장 방식에 의해 형성되는 콘택 구조를 절연시키는 절연막을 포함하는 상변화 메모리 소자, 이를 포함하는 반도체 소자, 및 그들의 제조방법 |
-
2009
- 2009-06-30 US US12/494,950 patent/US20100332950A1/en not_active Abandoned
-
2010
- 2010-05-28 KR KR1020100050121A patent/KR20110001883A/ko not_active Application Discontinuation
- 2010-06-15 TW TW099119456A patent/TW201123196A/zh unknown
- 2010-06-28 CN CN2010102183418A patent/CN101937725A/zh active Pending
- 2010-06-29 JP JP2010148359A patent/JP2011023099A/ja not_active Withdrawn
- 2010-06-30 DE DE102010030750A patent/DE102010030750A1/de not_active Withdrawn
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103714857B (zh) * | 2012-06-05 | 2017-03-01 | Sk海尼克斯存储技术公司 | 存储控制器及其电力节约方法 |
CN103714857A (zh) * | 2012-06-05 | 2014-04-09 | Sk海尼克斯存储技术公司 | 使用比特误差的下边界的电力节约技术 |
CN105637490B (zh) * | 2013-09-03 | 2019-07-05 | 桑迪士克科技有限责任公司 | 用于在闪速存储器装置之间迁移数据的方法和系统 |
CN105637490A (zh) * | 2013-09-03 | 2016-06-01 | 桑迪士克科技股份有限公司 | 用于在闪速存储器装置之间迁移数据的方法和系统 |
CN109388518B (zh) * | 2017-08-11 | 2022-05-31 | 华邦电子股份有限公司 | 数据写入方法 |
CN109388518A (zh) * | 2017-08-11 | 2019-02-26 | 华邦电子股份有限公司 | 数据写入方法 |
WO2021196621A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
WO2021196661A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113495677A (zh) * | 2020-04-01 | 2021-10-12 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
CN113495677B (zh) * | 2020-04-01 | 2023-10-10 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11869615B2 (en) | 2020-04-01 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11922023B2 (en) | 2020-04-01 | 2024-03-05 | Changxin Memory Technologies, Inc. | Read/write method and memory device |
Also Published As
Publication number | Publication date |
---|---|
KR20110001883A (ko) | 2011-01-06 |
TW201123196A (en) | 2011-07-01 |
JP2011023099A (ja) | 2011-02-03 |
US20100332950A1 (en) | 2010-12-30 |
DE102010030750A1 (de) | 2011-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937725A (zh) | 比特错误阈值和内容可寻址存储器以寻址重映射存储装置 | |
CN101937373A (zh) | 比特错误阈值和重映射存储装置 | |
CN101937374A (zh) | 存储存储器重映射信息的非易失性存储器 | |
EP2529305B1 (en) | System and method to correct data errors using a stored count of bit values | |
US9602134B2 (en) | Operating method of error correction code decoder and memory controller including the error correction code decoder | |
US8725944B2 (en) | Implementing raid in solid state memory | |
US8418026B2 (en) | Hybrid error correction coding to address uncorrectable errors | |
JP5658128B2 (ja) | Nandフラッシュ・メモリにおける確率論的多層エラー訂正のためのシステム、方法、およびコンピュータ・プログラム | |
US20160162211A1 (en) | Efficient Reduction of Read Disturb Errors | |
KR101343262B1 (ko) | 동시 판독 및 기록 메모리 동작을 수행하는 방법 및 장치 | |
US20080163031A1 (en) | Method of facilitating reliably accessing flash memory | |
US20080307270A1 (en) | Emerging bad block detection | |
KR101614556B1 (ko) | 에러 정정을 처리하는 방법과, 이의 방법을 사용하는 데이터 저장 디바이스, 호스트 디바이스, 컴퓨터 프로그램을 저장하는 컴퓨터-판독가능한 매체 및 메모리용 제어기 | |
CN110347530B (zh) | 数据存储装置及其操作方法 | |
CN105637490A (zh) | 用于在闪速存储器装置之间迁移数据的方法和系统 | |
TW201351425A (zh) | 用於解碼取決於干擾條件下之資料之系統與方法 | |
US8954816B2 (en) | Error correction coding (ECC) decode operation scheduling | |
CN103988182A (zh) | 使用奇偶校验和冗余行的动态错误处理 | |
CN104272396A (zh) | 包含错误校正码组织的设备和方法 | |
US20080072119A1 (en) | Allowable bit errors per sector in memory devices | |
CN102063342A (zh) | 一种闪存存储设备数据的管理方法及系统 | |
US8310869B2 (en) | Nonvolatile memory device, system, and programming method | |
CN106991055B (zh) | 数据搜索方法、存储器存储装置及存储器控制电路单元 | |
US20110040929A1 (en) | Method and apparatus for modifying data sequences stored in memory device | |
CN112151104B (zh) | 存储器存放装置及其动态数据修复的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110105 |