CN101937374A - 存储存储器重映射信息的非易失性存储器 - Google Patents

存储存储器重映射信息的非易失性存储器 Download PDF

Info

Publication number
CN101937374A
CN101937374A CN2010102197459A CN201010219745A CN101937374A CN 101937374 A CN101937374 A CN 101937374A CN 2010102197459 A CN2010102197459 A CN 2010102197459A CN 201010219745 A CN201010219745 A CN 201010219745A CN 101937374 A CN101937374 A CN 101937374A
Authority
CN
China
Prior art keywords
memory
storer
storage
address
read
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.)
Granted
Application number
CN2010102197459A
Other languages
English (en)
Other versions
CN101937374B (zh
Inventor
吉尔吉拉特·比林
斯蒂芬·鲍尔斯
马克·林万德
塞缪尔·戴维·波斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Numonyx BV Amsterdam Rolle Branch
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Numonyx BV Amsterdam Rolle Branch filed Critical Numonyx BV Amsterdam Rolle Branch
Publication of CN101937374A publication Critical patent/CN101937374A/zh
Application granted granted Critical
Publication of CN101937374B publication Critical patent/CN101937374B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

一种系统,包括:控制器,将表示关于存储装置的重映射信息的数字信号存储到内容可寻址存储器CAM,其中所述控制器适于:如果所述CAM中存储的所述重映射信息被更新,则将所述CAM中存储的所述重映射信息的至少一部分存储到非易失性可离散寻址的存储器中。

Description

存储存储器重映射信息的非易失性存储器
技术领域
所公开的本发明主题涉及对存储装置的重映射。
背景技术
存储装置用于多种电子设备,例如计算机、蜂窝电话、PDA、数据记录器和导航设备(这里只给出一些示例)。在这种电子设备中,可以采用多种类型的非易失性存储装置,例如NAND或NOR闪存、SRAM、DRAM和相变存储器(这里只给出一些示例)。一般而言,可以使用写入或编程处理在这种存储装置中存储信息,并可以使用读取处理来获取存储的信息。
这种非易失性存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对这种存储单元进行存取时可能发生读取和/或写入错误的可能性增大。错误也可能由制造缺陷和/或边际存储装置构造(这里只给出一些示例)造成。虽然随后可以在存储装置内校正此类错误,但是随着例如错误数目的增长,这种错误校正可能变得很困难或不可能了。
发明内容
为了解决上述技术问题,例如,本发明提供了一种系统,包括:控制器,将表示关于存储装置的重映射信息的数字信号存储到内容可寻址存储器CAM,其中所述控制器适于:如果所述CAM中存储的所述重映射信息被更新,则将所述CAM中存储的所述重映射信息的至少一部分存储到非易失性可离散寻址的存储器中。
附图说明
参照以下附图,描述非限制性和非穷尽实施例,在附图中,相同参考数字指代相同部分,除非有特别说明。
图1是根据实施例的存储器配置的示意图;
图2是根据实施例的存储器读取处理的流程图;
图3是根据另一实施例的存储器读取处理的流程图;
图4是根据实施例的计算系统和存储装置的示意框图;
图5是根据实施例的存储器读取处理的流程图;
图6是根据另一实施例的存储器读取处理的流程图;
图7是根据实施例的矢量重映射表的示意图;
图8是根据实施例的存储系统的示意框图;
图9是根据实施例的计算系统和存储装置的示意框图。
具体实施方式
在本说明书中,对“一个实施例”或“实施例”的引述意味着,结合该实施例描述的具体特征、结构或特点包括在所要求保护的主题的至少一个实施例中。因此,在本说明书中多处出现的短语“在一个实施例中”或“在实施例中”不一定全部是指同一实施例。此外,具体特征、结构或特点可以结合在一个或更多实施例中。
在实施例中,关于存储装置的重映射信息可以保持在非易失性可离散寻址的存储器中。这种重映射信息可以包括重映射矢量,重映射矢量提供重映射地址,以作为例如针对存储装置的读取/写入请求的一部分,替代由处理器提供的地址。这里,可离散寻址的存储器可以包括存储单元,例如,这种存储单元不需要每次都成块和/或成扇区地写入,而是可以单独地被寻址或者以相对较小的组来成组地被寻址。例如,向NOR闪存类型的存储器写入数据可以包括向存储单元的较大块写入,即使要写入的数据只需要一个或两个存储单元大小的存储空间。在另一示例中,向相变存储器(PCM)写入诸如重映射信息等数据,这可以包括只向与要写入的数据的存储大小基本上匹配的多个存储单元写入。
在这种非易失性可离散寻址的存储器中保持重映射信息,这可以提供对要重映射的存储器的特定区域的粒度更细的控制。例如,这种非易失性可离散寻址的存储器可以允许离散寻址,以在存储空间的相对较小的部分中存储重映射矢量。相反,不可离散寻址的存储器可以使用块和/或扇区寻址,从而仅对单个重映射矢量的存储可能占用存储装置的相对较大部分。此外,使用块和/或扇区寻址的存储器可以包括擦除处理,以为后续的写入处理准备存储块和/或扇区,这造成了相比于可离散寻址的存储器,需要更大量的写入时间。因此,在非易失性可离散寻址的存储器中存储和保持重映射信息可以提供提高存储装置的存储空间利用率以及减少写入处理所需的时间的途径。在一种实施方式中,在非易失性可离散寻址的存储器中保持重映射信息可以允许使用这种重映射信息所相关的易失性存储装置,这是因为这种非易失性存储器即使在下电(power down)期间也可以存储重映射信息。因此,在非易失性可离散寻址的存储器中存储和保持重映射信息可以允许以更大的灵活性来选择存储器类型,例如NAND或NOR闪存、SRAM、DRAM和PCM(这里只给出一些示例)。
在一种实施方式中,重映射信息所相关的存储装置可以在物理上包括非易失性可离散寻址的存储器,以便单个晶元(die)或集成电路芯片包括存储装置和非易失性可离散寻址的存储器两者。但是,在这种实施方式中,存储装置可以与非易失性可离散寻址的存储器不同,以便可以通过处理器和/或存储器控制器分离地访问该存储装置和非易失性可离散寻址的存储器。例如,用于存储关于存储装置的重映射信息的非易失性可离散寻址的存储器可以驻留在存储装置上,但是依然与这种存储装置不同。继续参照该示例,这种存储装置可以包括具有多个存储器晶元的存储模块:可以经由单个处理器和/或存储器控制器访问存储器晶元,可以通过分离的单个处理器和/或存储器控制器访问非易失性可离散寻址的存储器。当然,在非易失性可离散寻址的存储器上保持重映射信息的这些细节和优点仅仅是示例,本发明要求保护的主题不限于此。
例如,相比于在存储装置内保持重映射信息,在非易失性可离散寻址的存储器上存储和保持关于存储装置的重映射信息也可以减少等待时间以及/或者提高对可用存储器容量的利用。在一种实施方式中,可以在运行中(on the fly)生成重映射信息,例如在由处理器发起的读取/写入处理等运行时间处理期间,其中对从存储装置读取的数据进行错误校验,如下所述。在另一实施方式中,可以由系统执行初始化处理,以包括对存储装置的易出错部分进行扫描。再次,在非易失性可离散寻址的存储器上保持重映射信息的这些细节和优点仅仅是示例,本发明要求保护的主题不限于此。
在实施例中,存储装置可以包括存储单元,存储单元随时间慢慢劣化,导致在对这种存储装置进行例如读取时可能发生一个或多个错误的可能性增大。存储装置也可以包括由其制造导致的缺陷和/或边际功能存储单元。例如,可以使用纠错码(ECC)或其他此类技术,在计算系统内的若干区域内纠正这种错误。从系统角度来看,可以确定是否要继续使用这种易出错的单元。如下要详细说明的,这种确定可以至少部分地基于此类错误的数目与错误阈值的比较,其中错误阈值可以在例如存储装置的设计阶段定义。在一种实施方式中,可以在特定存储单元展示出过量错误之前,中断对这些单元的使用。换言之,如果易出错的存储单元产生的错误数目接近错误阈值,则可以中断对这种存储单元的使用。例如,为了确定可以中断对存储单元的使用,不需要达到该阈值。因此,观察错误的数目接近错误阈值,这可以是预测特定的存储单元可能很快产生太多错误的途径,从而可以例如在易出错的存储单元实际上开始临界地发生故障之前,停止对这些易出错存储单元的使用。如果要中断对特定的存储单元的使用,则可以按照保持存储装置总容量的方式来选择替代的存储单元。
因此,在一个实施例中,保持存储装置的尺寸容量的处理包括:将易出错的存储位置重映射到正常工作的存储位置,而不损失总的系统存储空间(例如,存储装置容量)。这种重映射可以至少部分地基于与因从易出错的存储位置进行读取而发生错误的量和/或频率有关的信息。这里,存储位置是指例如可以使用标识存储位置和/或部分的一个或多个地址,经由读取和/或写入处理来访问的存储装置的一部分。如下要详细说明的,例如,ECC引擎可以用于确定与读取存储器特定部分相关联的比特错误率和/或比特错误数目。随后,可以将比特错误率和/或比特错误数目与错误阈值相比较,例如该错误阈值可以包括到可接受错误数目的实质性限制。根据这种比较的结果,可以决定是否停用(retire)产生错误的存储器的特定部分,例如中断对其的使用。
在特定实施例中,停用存储装置的一部分的处理可以包括:将存储在存储装置的要停用的一部分中的、代表数据的数字信号移动到存储装置的另一部分。在一种实施方式中,可以将从存储装置的停用部分迁出的代表数据的数字信号移动到存储装置的备用部分。例如,这种存储器备用部分可以包括存储装置中初始没有识别或考虑为存储装置的整个容量的一部分的物理位置,如下要详细说明的。停用存储装置的一部分的处理也可以包括:将存储装置的要停用部分的地址重映射成对应于存储装置的新的备用部分的地址。这种重映射的地址可以例如如上所述存储在非易失性可离散寻址的存储器中。当然,这些处理仅仅是示例,本发明要保护的主题不限于此。
在一个实施例中,例如上述处理可以涉及包括器件的存储装置。因此,随着PCM老化,由PCM的部分产生的比特错误率和/或比特错误数目可能增大。在一定程度上,可以使用例如ECC引擎和/或其他纠错技术来纠正这些错误。但是,错误数目可能增大,超出了这些纠错技术的能力。因此,希望在指示这种存储部分已经或正开始产生过量错误的趋势时,就停用这种存储部分。
例如上述实施例可能允许对存储装置的成功使用涉及到相对不可靠的技术。例如,使用本文描述的实施例,可以利用先前认为是不可用的晶元。此外,这些实施例可能将存储装置的寿命延长到其大多数存储单元的寿命,而不是其相对少量的存储单元的寿命。
图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的流程图。在方块220,例如可以由处理器执行的系统应用发起对存储装置的一部分进行读取或写入的读取/写入处理,该系统应用提供一个或多个读取/写入地址,来分别标识要读取或写入所存储数据的一个或多个存储位置。开始于方框230,这种读取/写入地址可以将数据读取/写入处理沿着先前选择的数据路径定向,该数据路径是至少部分地基于读取/写入地址是否对应于已被停用的存储位置而选择的。在本示例中,存储装置可以包括主存储器部分和备用存储器部分,例如图1所示的存储装置100。在特定实施例中,备用存储器部分可以用于替代被停用的主存储器部分。在这种存储位置还未停用的情况下,在方框240,数据路径可以将数据读取/写入处理定向至主存储器部分中对应于由处理器传输的地址的位置。这种定向可以由适当地切换的硬件切换组件来执行,例如由复用器来执行。例如,可以向硬件切换组件施加信号,以选择引向至对应于由处理器传输的地址的主存储器部分的数据路径。由硬件切换组件选择的其他数据路径可以包括引向至存储装置的不同部分(例如备用存储器部分)的各个单独数据路径。
由此,在方框250,由处理器传输的读取/写入地址可以用于从存储装置的主存储器部分读取或向其写入。随后,在方框260,从存储装置的读取地址读取的数据可以被提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。在向存储装置写入数据的情况下,可以执行后续的读取处理来验证成功的写入操作:该读取的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。
在已经停用了存储位置的情况下,在方框245,数据路径可以将数据读取/写入处理定向至备用存储器部分中的位置,而不是对应于由处理器传输的地址的存储位置。这种路径定向可以由适当地切换的硬件切换组件来执行,例如由复用器来执行。具体而言,可以向硬件切换组件施加信号,以选择引向至对应于由处理器传输的地址的备用存储器部分的数据路径。由硬件切换组件选择的其他数据路径可以包括引向至存储装置的不同部分(例如主存储器部分和/或其他备用存储器部分)的各个单独数据路径。
由此,在方框255,由处理器传输的读取/写入地址虽然原始是定向至主存储器部分的地址,但是可以重定向至存储装置的备用存储器部分。随后,在方框260,从备用存储器部分读出或向其写入的数据可以被提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。在向存储装置写入数据的情况下,可以执行后续的读取处理来验证成功的写入操作:该读取的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类纠错技术。当然,这种存储器读取处理的细节仅仅是示例,本发明要保护的主题不限于此。
图3是根据实施例的存储器读取/写入处理300的流程图。在方框310,例如可以由系统应用发起对存储装置的一部分进行读取或写入的读取/写入处理,该系统应用提供一个或多个读取/写入地址,来分别标识要读取或写入所存储数据的一个或多个存储位置。例如对读取的数据进行奇偶校验的ECC硬件和/或软件可以用于校验和/或校正读取的数据中的错误。随后,如在方框320,将初始读取的数据与校正后的读取数据相比较,以确定存储器读取/写入处理中已发生的错误数目。该错误数目可以表达成比特错误率(BER),这可以包括例如错误比特的数目与读取的比特的总数目之比。从存储装置的一部分读取而造成的BER或错误数目可以与错误阈值相比较,该错误阈值可以包括表示可接受的最大BER或可接受的最大错误数目的值,例如,超出该值的额外错误可能无法被成功校正。该错误阈值可以包括表示对例如图1所示的存储装置100等特定存储装置而言可校正的错误的BER或错误数目的实质性上限的数目。在该错误阈值处或以下,ECC硬件和/或软件能够校正读取错误。但是在该错误阈值以上,可能无法校正所有读取错误的可能性相对较高。
在方框330,至少部分地基于从存储器的一部分的读取是否造成过多错误,来决定是否停用该存储器部分。如果错误数目处于或在错误阈值以下,则可以决定不停用该存储器部分,读取/写入处理300可以前进至方框335。在此,可以向硬件切换组件提供信号,以将针对读取/写入处理而传输数据的路由或路径定向至原始主存储器部分。接着,在方框340,例如,可以将读取的数据提供给应用,该应用请求将读取的数据或写入的数据写入到原始主存储器部分中。
另一方面,如果该错误数目在错误阈值以上,则可以决定停用存储器的一部分,读取/写入处理300可以前进至方框350,在此,例如,处理可以开始停用这种导致过多错误的存储器部分。在特定实施方式中,可以通过向硬件切换组件提供信号,以将用于读取/写入处理的数据路由定向至原始主存储器部分,来再次读取存储在要停用的存储器部分中的数据。接着,在方框360,可以向硬件切换组件提供信号,以将用于后续读取/写入处理的数据路由定向至用于替代原始主存储器部分的备用存储器部分。接着,在方框340,例如,可以将读取的数据提供给应用,该应用请求将读取的数据或写入的数据写入到备用存储器部分中。当然,这种存储器读取处理的细节仅仅是示例,本发明要保护的主题不限于此。
图4是示出了包括存储装置455的计算系统400的实施例的示意图,存储装置445可以划分成主部分450和备用部分460,例如如参照图1所描述的。计算系统400可以代表可配置为管理存储装置455的任何设备、设备和/或机器。作为示例但非限制性地,计算系统400可以包括:一个或多个计算设备和/或平台,例如台式计算机、膝上型计算机、工作站、服务器设备等;一个或多个个人计算或通信装置或设备,例如个人数字助理、移动通信设备等;计算系统和/或关联的服务提供商功能装置,例如数据库或数据存储服务提供商/系统;以及/或者其任意组合。
应该认识到,可以通过使用或包括硬件、固件、软件或其任意组合,来实现计算系统40中所示的多种装置的全部或一部分、以及这里进一步描述的处理和方法。因此,作为示例但非限制性地,计算系统400可以包括:至少一个处理单元410,通过硬件切换组件470操作性地耦合至存储器455;存储器控制器435;以及错误检测和存储器停用确定组件440(以下为方便起见,称为“错误检测组件”)。处理单元410可以代表可配置为执行数据计算过程或处理的至少一部分的一个或多个电路。作为示例但非限制性地,处理单元410可以包括一个或多个处理器、控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可编程逻辑器件、现场可编程门阵列等、以及其任意组合。处理单元410可以与存储器控制器435通信,以处理例如读取、写入和/或擦除等存储器相关操作。处理单元410可以包括配置为与存储器控制器435通信的操作系统。这种操作系统例如可以生成要经由地址输出端口415和/或数据读取/写入端口420发送至存储器控制器435的命令。这种命令可以包括例如与存储器455对应的存储地址。
计算系统400可以包括例如输入/输出部分480,输入/输出部分480可以代表可配置为接收或引入人类和/或机器输入的一个或多个装置或特征、可配置为传递或提供人类和/或机器输出的一个或多个装置或特征。作为示例但非限制性地,输入/输出部分480可以包括操作性配置的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。
存储器控制器435可以包括非易失性可离散寻址的存储器430,来保持用于经由硬件切换组件470在引向至存储器455的多个部分的多条数据路径475中进行选择的信息。在一个实施例中,可离散寻址的存储器可以包括PCM。例如,这种信息可以包括与选择特定数据路径474的特定存储器选择值相关联的存储地址的表;如果处理单元410提供地址作为读取/写入操作的一部分,则可以使用非易失性可离散寻址的存储器430来将该地址与选择至存储器的特定数据路径的特定存储器选择值相关联。这里,例如,可以进行选择,以挑选至主存储器450或备用存储器460的数据路径。如上所述,该选择可以至少部分地基于与读取/写入操作中提供的地址相关联的存储器455的位置是否已被停用。为了通过具体示例示出,处理单元410可以提供地址作为读取操作的一部分。由存储器控制器435接收该地址,然后将该地址与非易失性可离散寻址的存储器430中保持的特定的存储器选择值相关联。如下说明的,这种存储器选择值可以是至少部分地基于由错误检测组件440提供的信息而已经建立的。然后,可以将这种存储器选择值提供给硬件切换组件470,以在多条数据路径475中选择至存储器的一条数据路径。在本具体实例中,该地址对应于存储器455中先前已停用的位置。因此,寄存器430可以将该地址与如下存储器选择值相关联:如果将该存储器选择值提供给硬件切换组件470,则可以选择引向至备用存储器460中的位置的数据路径。虽然图4示出了两条数据路径来代表多条数据路径475,但是应该注意,可以有任意数目的数据路径。此外,硬件切换组件470不必局限于每次选择一条数据路径。类似地,可以存在包括有至存储器455的任意部分的任意数目的数据路径的组合,其中存储器455可以包括例如封装在一起或单独封装的一个或多个存储器件。存储器455可以代表任何的数据存储机构。存储器455可以包括例如盘驱动、光盘驱动、磁带驱动、固态存储驱动等。因此,这里描述的配置仅仅是示例,本发明要保护的主题不限于此。
如上所述,例如PCM等非易失性可离散寻址的存储器430可以至少部分地基于由错误检测组件440提供的信息,来建立和保持信息。在一个实施例中,可以将从存储器455读取的数据提供给错误检测组件440,错误检测组件440可以检查错误,以确定与读取存储器455的特定部分相关联的比特错误率和/或比特错误数目。然后,可以将该错误信息提供给存储器控制器435,存储器控制器435可以将比特错误率和/或比特错误数目与例如错误阈值相比较。可以根据该比较的结果,决定是否停用存储器的该特定部分。因此,可以将存储器的该特定部分的地址与如下存储器选择值相关联:如果将该存储器选择值提供给硬件切换组件470,则可以用于选择至存储器的合适部分的数据路径。如上所述,非易失性可离散寻址的存储器430可以保持与特定的存储地址相关联的存储器选择值。
如图4所示,计算系统400可以包括硬件部分490,该硬件部分490包括例如存储器控制器435、非易失性可离散寻址的存储器430、硬件切换组件470和/或存储器455。在特定实施例中,停用存储装置的一部分以及/或者确定是否从/向主或备用存储器读取/写入,可以包括对于可以发出读取/写入指令的处理单元410而言透明的处理。因此,处理器单元410不需要接收或处理从产生错误的存储器特定部分读取的数据。而是,可以由错误检测组件440拦截和检测这些错误,然后将错误信息提供给存储器控制器435,如上所述。随后,存储器控制器435可以确定是否应该停用存储器455的特定部分,其中可以例如在硬件部分490内,在无处理单元410参与的情况下进行这种确定。此外,存储器控制器435可以至少部分地基于表示非易失性可离散寻址的存储器430中存储的信息的信号,来确定是否从/向主或备用存储器读取/写入。再次,可以在硬件部分490内,在无处理单元410参与的情况下进行这种确定。因此,如上所述,处理器不必承担例如在处理读取/写入指令时重新组织和/或利用存储器映射进行工作的软件处理。当然,这种处理仅仅是示例,本发明要保护的主题不限于此。
图5是根据实施例的存储器读取/写入处理500的流程图。在方框505,例如可以由系统应用发起对存储装置的一部分进行读取或写入的读取/写入处理,该系统应用提供一个或多个读取/写入地址,来分别标识要读取或写入所存储数据的一个或多个存储位置。在方框510,可以将一个或多个读取/写入地址提供给例如内容可寻找存储器(CAM),在这种情况下,可以搜索与所提供的读取/写入地址相对应的可能的重映射地址。在一种实施方式中,CAM可以包括例如PCM等非易失性可离散寻址的存储器。这种CAM可以存储对将原始地址与对应的重映射地址相关联的数据库和/或表进行表示的数字信号。因此,通过搜索这种CAM,在方框530,可以确定输入的原始读取/写入地址是否与CAM中存储器的对应的重映射地址相关联。如果不是(其中,对于与特定的读取/写入地址相关联的重映射地址的搜索返回了空结果),则读取/写入处理500可以前进至方框540,在此可以输出原始读取/写入地址。因此,在方框550,可以使用该原始读取/写入地址来从或向存储装置读取或写入。随后,在方框560,从或向存储装置的原始读取/写入地址读取或写入的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类错误校正技术。
另一方面,如果在方块530确定输入的原始读取/写入地址具有对应的重映射地址,则读取/写入处理500可以前进至方框545,在此可以传输对应于特定的原始读取/写入地址的重映射地址。因此,在方框555,可以使用重映射的读取/写入地址来从或向存储装置读取或写入。在一种实施方式中,如果利用重映射地址,则可以读取或写入存储装置的备用部分,但是这种限定仅仅是示例。随后,在方框560,从或向存储装置的重映射读取/写入地址读取或写入的数据可以提供给错误校验硬件和/或软件,例如ECC解码器和/或其他此类错误校正技术。当然,这种存储器读取/写入处理的细节仅仅是示例,本发明要保护的主题不限于此。
图6是根据实施例的存储器读取处理600的流程图。在方框605,例如可以由系统应用发起对存储装置的一部分中存储的信息进行表示的信号进行读取的读取处理,该系统应用提供一个或多个读取地址,来分别标识要读取表示数据的所存储的信号的一个或多个存储位置。例如对读取的数据进行奇偶校验的ECC硬件和/或软件可以用于校验和/或校正读取的数据中的错误。随后,如在方框610,将初始读取的数据与校正后的读取数据相比较,以确定存储器读取处理中已发生的错误数目。该错误数目可以表达成比特错误率(BER),这可以包括例如错误比特的数目与读取的比特的总数目之比。在方框620,从存储装置的一部分读取而造成的BER或错误数目可以与错误阈值相比较,该错误阈值可以包括表示可接受的最大BER或可接受的最大错误数目的值,例如,超出该值的额外错误可能无法被成功校正。该错误阈值可以包括表示对例如图1所示的存储装置100等特定存储装置而言可接受的错误的BER或错误数目的实质性上限的数目。在该错误阈值处或以下,ECC硬件和/或软件能够校正读取错误。但是在该错误阈值以上,可能无法校正至少一些读取错误的可能性相对较高。
在方框630,至少部分地基于从存储器的一部分的读取是否造成过多错误,来决定是否停用该存储器部分。如果错误数目处于或在错误阈值以下,则读取处理600可以前进至方框640,在此,例如可以向请求所读取的数据的应用提供所读取的数据。另一方面,如果该错误数目在错误阈值以上,则读取处理600可以前进至方框650,在此,例如,处理可以开始停用这种导致过多错误的存储器部分。在特定实施方式中,可以将这种易出错的存储器部分中初始存储的数据移动到已知是工作的和/或状态良好的另一存储器部分。这种新的存储器部分可以包括例如图1所示的备用存储器120等备用存储器的一部分。在方框660,可以将标识数据的原始存储位置的存储地址或多个存储地址重映射为标识数据迁移至的新的存储器部分。在一种实施方式中,重映射可以包括:分配新地址,以经由例如矢量与原始地址相对应,以便可以将对原始地址的调用重定向至指定了被迁移数据的位置的新地址。然后,在方框670,可以将关于这种重映射地址的信息提供给CAM,以更新CAM中存储的重映射信息,其中如下详细描述的,这种信息可以存储为矢量重映射表。在方框680,响应于将一个或多个重映射地址提供给CAM,也可以将更新后的信息提供给诸如PCM等非易失性可离散寻址的存储器。例如,存储器控制器可以将表示关于存储装置的重映射信息的数字信号提供给CAM,其中,如果更新了CAM中存储的重映射信息,则该存储器控制器可以将CAM中存储的重映射信息的至少一部分拷贝到非易失性可离散寻址的存储器中。在一种实施方式中,可以在运行中,例如在由处理器发起的读取/写入处理等运行时间处理期间,将这种更新后的信息提供给非易失性可离散寻址的存储器。在另一实施方式中,可以由系统执行初始化处理,包括对存储装置的易出错部分进行扫描。
在一种特定实施方式中,如下进一步详细描述的,可以利用CAM中存储的重映射信息和/或其他内容,周期性地更新PCM或其他非易失性可离散寻址的存储器。在对存储器的易出错部分进行重映射之后,读取处理600可以前进至方框640,其中例如可以将所读取的数据提供给请求所读取的数据的应用。当然,这种存储器读取处理的细节仅仅是示例,本发明要保护的主题不限于此。
图7是根据实施例的矢量重映射表700的示意图。在其他实施方式中,表700中包括的信息不需要以表的形式格式化;例如,这种信息可以包括阵列或用于组织这种信息的其他方式。这种信息以及关于该信息的组织,可以在例如PCM等非易失性可离散寻址的存储器中存储为表示这种信息的数字信号。栏710可以包括原始地址740的列表,例如addr1,addr2,addr3等;状态栏720可以包括与栏710中列出的对应原始地址是否已经重映射有关的信息;以及栏730可以包括对应于栏710中列出的原始地址740的重映射地址750的列表,例如addr1’,addr2’,addr3’等。
在一种实施方式中,原始地址740可以包括应用和/或系统发出的读取/写入请求中包括的一个或多个地址,该应用和/或系统询问存储装置100中在该一个或多个地址处存储的信息。状态栏720可以包括描述了原始地址740是否已被重映射的元数据。如果已发生了这种重映射,则栏730可以包括对应于原始地址740的重映射地址750。为通过根据图1的示例来示出,addr1,addr5,addr7和addr8已经被分别重映射至addr1’,addr5’,addr7’和addr8’,而addr2,addr3,addr4和addr6还未被重映射。这里,还未被重映射的原始地址不具有栏730中对应的重映射地址。在另一实施方式中,因为重映射地址750的存在可能足以指示例如对于特定原始地址740是否已发生了重映射,所以表700不需要包括状态栏720。当然,这种矢量重映射表和存储重映射信息的其他格式的细节仅仅是示例,本发明要保护的主题不限于此。
图8是根据实施例的存储系统800的框图。控制器810可以配置为接收指示了读取请求805的一个或多个信号,该读取请求805包括指定了存储装置825中要读取数据的位置的地址。存储装置825可以包括主存储器820和备用存储器830,例如如上所述的。伴随读取请求输入的地址可以途经通过CAM 815,在此将地址与CAM 815中存储的内容相比较,CAM 815可以包括与原始地址相关联的重映射地址。在一个特定实施方式中,进行重映射处理,而不需要在系统级由用户生成的特定指令和/或信号,以使伴随读取请求输入的地址可以始终包括原始地址。仅仅在CAM搜索之后,就可以将该地址与其关联的重映射地址相关联。换言之,CAM 815可以提供从原始地址空间到重映射地址空间的转换。这样,控制器810可以确定读取请求805是否包含已被重映射的地址。根据该确定,控制器810可以将读取请求805定向至主存储器820或备用存储器830,以读取数据。例如,如果读取请求805的地址还未被重映射,则控制器810可以将读取请求转发给主存储器820,而如果该地址已被重映射,则控制器810可以修改读取请求805,以包括可以定向至备用存储器830的重映射地址。随后,主存储器820或备用存储器830可以将读取的数据835提供给错误检测块840,错误检测块840可以包括例如错误计数器和/或ECC解码器。在一个实施例中,可以将包括ECC解码器的错误检测块840放置在存储装置825的晶元元件中。在另一实施例中,可以在系统级,例如在应用中,提供包括ECC解码器的错误检测块840。错误检测块840可以检测和/或校正读取数据835中存在的任何错误,并可以将检测到的错误表达成BER或比特错误数目。因此,错误检测块840可以将校正后的读取数据845提供给例如应用和/或主机系统等引入读取请求805的实体。错误检测块840也可以向比较引擎850提供与读取数据835中存在的错误的数目有关的信息。在错误检测块840包括放置在存储装置825的晶元元件中的ECC解码器的情况下,这种错误信息对于系统级的比较引擎应用而言是可访问的。在一种实施方式中,例如,ECC解码器可以包括比较引擎850进行访问而可用的错误信息寄存器,比较引擎850可以将检测到的错误的数目与错误阈值比较。
如上所述,该错误阈值可以包括对可接受的BER或错误数目的限制。比较引擎850可以将该比较的结果860提供给控制器810。至少部分地基于该比较结果,控制器810可以确定是否停用存储装置825的特定部分。如果该比较指示存储装置825的特定部分在例如读取处理期间已造成了过量的比特错误,则控制器810可以发起停用存储器的易出错部分的处理。这种停用处理可以包括:将存储器的被停用部分中存储的数据迁移至存储器的另一部分。例如,可以将表示数据的数字信号从主存储器820的特定部分中移动到存储在备用存储器830中。因此,控制器810可以将标识存储器的被停用部分的地址修改为标识要包含所迁移数据的存储器的新部分的地址。然后,这种修改后的重映射地址可以写入CAM 815,在此如上所述,可以将该地址与原始地址相关联。例如,这种存储器停用处理可以是相对于引入读取请求805的应用和/或主机系统而无缝进行的。在一种实施方式中,可以时常地、非经常地、周期性地、以及/或者在每次以新的重映射信息更新CAM 815时,更新例如PCM等非易失性可离散寻址的存储器818。在一个实施例中,可以在运行中,例如在由读取请求805发起的读取处理等运行时间处理期间,更新非易失性可离散寻址的存储器818。在实质上针对CAM 815的每次更新来更新非易失性可离散寻址的存储器818的情况下,非易失性可离散寻址的存储器和CAM两者可以是实质上彼此同步的。即,每个这种存储器可以包含实质上类似的重映射信息。这种同步性在如下期间非常有用:在存储系统800的电能供应中断,其中易失性的CAM 815会丢失重映射信息,而非易失性可离散寻址的存储器818可以保留该信息。当然,存储系统的这种实施方式仅仅是示例,本发明要保护的主题不限于此。
图9是计算系统900的示例实施例的示意图,计算系统900包括存储装置910,存储装置910可以划分成主部分和备用部分,例如如上所述的。计算装置904可以代表可配置为管理存储装置910的任何设备、设备和/或机器。存储装置910可以包括存储器控制器915和存储器922。作为示例但非限制性地,计算装置904可以包括:一个或多个计算设备和/或平台,例如台式计算机、膝上型计算机、工作站、服务器设备等;一个或多个个人计算或通信装置或设备,例如个人数字助理、移动通信设备等;计算系统和/或关联的服务提供商功能装置,例如数据库或数据存储服务提供商/系统;以及/或者其任意组合。
应该认识到,可以通过使用或包括硬件、固件、软件或其任意组合,来实现系统900中所示的多种装置的全部或一部分、以及这里进一步描述的处理和方法。因此,作为示例但非限制性地,计算装置904可以包括:至少一个处理单元920,通过总线940操作性地耦合至存储器922;以及主机或存储器控制器915。处理单元920代表可配置为执行数据计算过程或处理的至少一部分的一个或多个电路。作为示例但非限制性地,处理单元920可以包括一个或多个处理器、控制器、微处理器、微控制器、专用集成电路、数字信号处理器、可编程逻辑器件、现场可编程门阵列等、以及其任意组合。处理单元920可以与存储器控制器915通信,以处理例如读取、写入和/或擦除等存储器相关操作,以及如上所述的存储器分区处理。处理单元920可以包括配置为与存储器控制器915通信的操作系统。这种操作系统例如可以生成要经由总线940发送至存储器控制器915的命令。这种命令可以包括例如如下指令:对存储器922的至少一部分进行分区;将一个或多个属性与特定部分相关联;以及至少部分地基于要编程和存储的数据的类型对特定分区进行编程。
存储器922代表任何数据存储机构。存储器922可以包括例如主存储器924和/或次存储器926。在特定实施例中,如上所述,存储器922可以包括至少部分地基于存储器的一个或多个属性和/或存储器管理处理而被分区的存储器。主存储器924可以包括例如随机存取存储器、只读存储器等。虽然该示例中示出了主存储器924是与处理单元920分离的,但是应该理解,主存储器924的全部或部分可以提供在处理单元920内或者与处理单元920协同定位/耦合。
次存储器926可以包括例如与主存储器相同或类似类型的存储器、以及/或者一个或多个数据存储装置或系统,例如盘驱动、光盘驱动、磁带驱动、固态存储器驱动等。在特定实施方式中,次存储器926可以是操作性地能容纳计算机可读介质928,或者可配置为与计算机可读介质928耦合。计算机可读介质928可以包括例如能够携带针对系统900中一个或多个装置的数据、代码和/或指令的任何介质、和/或使得这些数据、代码和/或指令可访问的任何介质。
计算装置904可以包括例如输入/输出932,输入/输出932可以代表可配置为接受或引入人类和/或机器输入的一个或多个装置或特征、可配置为传递或提供人类和/或机器输出的一个或多个装置或特征。作为示例但非限制性地,输入/输出设备932可以包括操作性配置的显示器、扬声器、键盘、鼠标、轨迹球、触摸屏、数据端口等。
在以上详细描述中,给出了多种特定细节,以提供对本发明要保护的主题的全面理解。但是,本领域技术人员会理解,可以在不需要这些特定细节的情况下实施本发明要保护的主题。在其他情况下,没有具体描述普通技术人员已知的方法、装置或系统,以避免使本发明要保护的主题不清楚。
以上详细描述的一些部分是从存储在专用设备或专用计算装置或平台的存储器内、对二进制数字信号的操作的算法或符号化表示方面来呈现的。在本特定说明书的上下文中,属于专用设备等包括只要编程为执行根据来自程序软件的指令的特定操作的通用计算机。算法描述或符号化表示是信号处理或相关领域普通技术人员用来将其工作的实质内容传递给其他技术人员的技术的示例。这里以及一般而言,算法被认为是引导至所需结果的操作或类似信号处理的前后一致的序列。在该情况下,操作或处理包括对物理量的物理操作。典型地,虽然不是必需的,这种量可以采用能够被存储、传送、组合、比较或处理的电或磁信号的形式。已经多次证明了,主要由于普遍使用,很方便将此类信号引用为比特、数据、值、元素、符号、字符、术语、号码、数字等。但是,应该理解,这些或类似术语全部要与合适的物理量关联,并仅仅是方便的标签。除非专门声明,从以下论述中明显可见,在本说明书描述中,使用“处理”、“计算”、“运算”、“确定”等术语是指例如专用计算机或类似专用电子计算设备的专用设备的动作或处理。在一个示例中,这种专用计算机或类似专用电子计算设备可以包括利用执行一个或多个特定功能的指令编程的通用计算机。因此,在本说明书的上下文中,专用计算机或类似专用电子计算设备能够操作或变换典型地以电或磁物理量表示的信号,这些电或磁物理量在该专用计算机或类似专用电子计算设备的存储器、寄存器、或其他信息存储装置、传输装置或显示装置内。
这里使用的属于“和”、“和/或”和“或”可以包括多种含义,这至少部分地取决于其所应用的上下文。典型地,如果用于关联列表,例如A、B或C,则“和/或”和“或”表示A、B和C,这里是包含性含义,以及A、B或C,这里是排他性含义。本说明书中对“一个实施例”或“实施例”的引述意味着,结合该实施例描述的具体特征、结构或特点包括在所要求保护的主题的至少一个实施例中。因此,在本说明书中多处出现的短语“在一个实施例中”或“在实施例中”不一定全部是指同一实施例。此外,具体特征、结构或特点可以结合在一个或更多实施例中。这里描述的实施例可以包括使用数字信号进行操作的机器、装置、引擎或设备。这种信号可以包括电信号、光信号、电磁信号或在位置之间提供信息的任何形式的能量。
虽然示出并描述了当前认为的示例实施例,但是本领域技术人员会理解,在不背离本发明要保护的主题的前提下,可以进行多种其他修改并替换等同物。此外,在不背离这里所述的中心思想的前提下,可以进行多种修改来使特定情况适应本发明要保护的主题的教义。因此,本发明要保护的主题不限于公开的特定实施例,而是也可以包括在所附权利要求及其等同物范围内的所有实施例。

Claims (20)

1.一种系统,包括:
控制器,将表示关于存储装置的重映射信息的数字信号存储到内容可寻址存储器CAM,其中所述控制器适于:如果所述CAM中存储的所述重映射信息被更新,则将所述CAM中存储的所述重映射信息的至少一部分存储到非易失性可离散寻址的存储器中。
2.根据权利要求1所述的系统,还包括:
纠错编码ECC解码器,接收从所述存储装置读取的表示数据的数字信号,并确定与所读取的表示所述数据的信号相关联的比特错误率和/或比特错误数目,
其中所述控制器适于:至少部分地基于所述比特错误率和/或所述比特错误数目是否达到或超过错误阈值,存储所述重映射信息。
3.根据权利要求1所述的系统,其中所述非易失性可离散寻址的存储器包括相变存储器PCM。
4.根据权利要求1所述的系统,其中所述重映射信息包括一个或多个重映射地址表。
5.根据权利要求1所述的系统,其中所述非易失性可离散寻址的存储器能够在定向至所述存储装置的读取/写入处理期间,在运行中以新的重映射信息来更新。
6.根据权利要求1所述的系统,其中所述CAM以及所述非易失性可离散寻址的存储器实质上彼此同步。
7.根据权利要求1所述的系统,其中所述非易失性可离散寻址的存储器包括第二CAM。
8.一种方法,包括:
确定与从存储装置读取的表示数据的数字信号相关联的比特错误率和/或比特错误数目;以及
在非易失性可离散寻址的存储器中存储表示关于所述存储装置的重映射信息的数字信号,其中所述重映射信息至少部分地基于所述比特错误率和/或所述比特错误数目是否达到或超过错误阈值。
9.根据权利要求8所述的方法,其中所述非易失性可离散寻址的存储器包括相变存储器PCM。
10.根据权利要求8所述的方法,其中所述重映射信息包括一个或多个重映射地址表。
11.根据权利要求8所述的方法,其中所述非易失性可离散寻址的存储器能够在定向至所述存储装置的读取/写入处理期间,在运行中以新的重映射信息来更新。
12.根据权利要求8所述的方法,其中所述非易失性可离散寻址的存储器包括内容可寻址存储器CAM。
13.根据权利要求10所述的方法,其中所述存储装置包括主存储器部分和备用存储器部分,
所述重映射地址对应于所述备用存储器部分中的存储位置。
14.根据权利要求8所述的方法,其中所述存储还包括:将所述重映射信息写入所述非易失性可离散寻址的存储器的一部分,所述一部分的大小实质上与所述重映射信息的大小相同。
15.一种系统,包括:
主机,从/向存储装置读取/写入,并执行一个或多个应用;
纠错编码ECC解码器,接收从所述存储装置读取的表示数据的数字信号,并确定与所读取的表示所述数据的信号相关联的比特错误率和/或比特错误数目;以及
重映射控制器,至少部分地基于所述比特错误率和/或所述比特错误数目是否达到或超过错误阈值,将表示所述存储装置的重映射地址的数字信号存储到内容可寻址存储器CAM,其中所述CAM包括相变存储器PCM。
16.根据权利要求15所述的系统,其中所述CAM适于:接收表示读取地址的数字信号并发送表示信号的数字信号,所述信号至少部分地响应于所述读取地址是否对应于所述CAM中存储的所述重映射地址。
17.根据权利要求16所述的系统,还包括:
选择部分,选择所述读取地址或所述重映射地址,以用作要从所述存储装置进行读取的地址,其中,所述选择至少部分地基于所述信号。
18.根据权利要求15所述的系统,其中所述存储装置包括主存储器部分和备用存储器部分,
所述重映射地址对应于所述备用存储器部分中的存储位置。
19.根据权利要求18所述的系统,其中所述存储装置还包括所述ECC解码器和相变存储器部分。
20.根据权利要求15所述的系统,其中所述比特错误率和/或所述比特错误数目至少部分地响应于所述存储器的物理劣化。
CN201010219745.9A 2009-06-30 2010-06-29 存储存储器重映射信息的非易失性存储器 Active CN101937374B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/494,994 US8412987B2 (en) 2009-06-30 2009-06-30 Non-volatile memory to store memory remap information
US12/494,994 2009-06-30

Publications (2)

Publication Number Publication Date
CN101937374A true CN101937374A (zh) 2011-01-05
CN101937374B CN101937374B (zh) 2015-07-01

Family

ID=43299312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010219745.9A Active CN101937374B (zh) 2009-06-30 2010-06-29 存储存储器重映射信息的非易失性存储器

Country Status (6)

Country Link
US (1) US8412987B2 (zh)
JP (1) JP5996838B2 (zh)
KR (1) KR101647845B1 (zh)
CN (1) CN101937374B (zh)
DE (1) DE102010030745B4 (zh)
TW (1) TWI484330B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103076996A (zh) * 2013-01-08 2013-05-01 深圳市硅格半导体有限公司 Pcram控制方法及系统
CN105339909A (zh) * 2013-05-29 2016-02-17 微软技术许可有限责任公司 存储系统和有别名的存储器
CN105874434A (zh) * 2014-01-02 2016-08-17 高通股份有限公司 比特重映射系统
CN108630269A (zh) * 2012-12-06 2018-10-09 美光科技公司 基于错误校正而设定默认读取信号
CN109767801A (zh) * 2017-11-10 2019-05-17 爱思开海力士有限公司 存储器控制器、包括其的半导体存储系统以及驱动方法
CN110021333A (zh) * 2017-11-23 2019-07-16 三星电子株式会社 存储器装置和存储器系统
CN110462592A (zh) * 2017-03-29 2019-11-15 美光科技公司 用于多维存储器的选择性错误率信息
CN110910807A (zh) * 2018-09-17 2020-03-24 苹果公司 用于像素内存储器显示器的有缺陷的存储器的校正
CN111694690A (zh) * 2019-03-15 2020-09-22 英韧科技(上海)有限公司 具有内存映射的纠错码架构的系统和方法
CN113297014A (zh) * 2020-02-22 2021-08-24 北京希姆计算科技有限公司 待测内存容量的识别方法及装置、电子设备及存储介质
WO2021196661A1 (zh) * 2020-04-01 2021-10-07 长鑫存储技术有限公司 读写方法及存储器装置
WO2021196621A1 (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 (198)

* Cited by examiner, † Cited by third party
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
WO2011159805A2 (en) * 2010-06-15 2011-12-22 Fusion-Io, Inc. Apparatus, system, and method for providing error correction
US8533538B2 (en) * 2010-06-28 2013-09-10 Intel Corporation Method and apparatus for training a memory signal via an error signal of a memory
US9003247B2 (en) * 2011-04-28 2015-04-07 Hewlett-Packard Development Company, L.P. Remapping data with pointer
US20120311262A1 (en) * 2011-06-01 2012-12-06 International Business Machines Corporation Memory cell presetting for improved memory performance
US8996955B2 (en) 2011-11-16 2015-03-31 HGST Netherlands B.V. Techniques for storing data in stuck and unstable memory cells
CN102567213B (zh) * 2011-11-30 2014-09-24 华中科技大学 相变存储器的写均衡方法
US9070483B2 (en) 2012-10-10 2015-06-30 HGST Netherlands B.V. Encoding and decoding redundant bits to accommodate memory cells having stuck-at faults
US9274884B2 (en) 2012-10-10 2016-03-01 HGST Netherlands B.V. Encoding and decoding data to accommodate memory cells having stuck-at faults
US8943388B2 (en) 2012-12-12 2015-01-27 HGST Netherlands B.V. Techniques for encoding and decoding using a combinatorial number system
US8812934B2 (en) 2012-12-12 2014-08-19 HGST Netherlands B.V. Techniques for storing bits in memory cells having stuck-at faults
KR101545512B1 (ko) * 2012-12-26 2015-08-24 성균관대학교산학협력단 반도체 메모리 장치, 검증 독출 방법 및 시스템
KR102025193B1 (ko) * 2013-02-19 2019-09-25 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법, 메모리 컨트롤러를 포함하는 메모리 시스템
US9349476B2 (en) * 2013-02-21 2016-05-24 Sandisk Technologies Inc. Methods, systems, and computer readable media for early detection of potential flash failures using an adaptive system level algorithm based on flash program verify
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US20140282478A1 (en) * 2013-03-15 2014-09-18 Silicon Graphics International Corp. Tcp server bootloader
US10198314B2 (en) * 2013-05-23 2019-02-05 Rambus Inc. Memory device with in-system repair capability
JP6102515B2 (ja) * 2013-05-24 2017-03-29 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US9274715B2 (en) * 2013-08-02 2016-03-01 Qualcomm Incorporated Methods and apparatuses for in-system field repair and recovery from memory failures
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) * 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
KR20150084244A (ko) * 2014-01-13 2015-07-22 삼성전자주식회사 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법
US9299457B2 (en) 2014-02-23 2016-03-29 Qualcomm Incorporated Kernel masking of DRAM defects
US20150270015A1 (en) * 2014-03-19 2015-09-24 Micron Technology, Inc. Memory mapping
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9292380B2 (en) 2014-04-06 2016-03-22 Freescale Semiconductor,Inc. Memory access scheme for system on chip
US20150286529A1 (en) * 2014-04-08 2015-10-08 Micron Technology, Inc. Memory device having controller with local memory
KR20150130888A (ko) * 2014-05-14 2015-11-24 에스케이하이닉스 주식회사 셀프 리페어 동작을 수행하는 반도체 메모리 장치
KR102321501B1 (ko) * 2014-05-14 2021-11-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 스토리지 장치의 동작 방법
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
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
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
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
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
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
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
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
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
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
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
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
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
US9582212B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device
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
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
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US9558064B2 (en) * 2015-01-28 2017-01-31 Micron Technology, Inc. Estimating an error rate associated with memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
WO2016126474A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016126478A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for memory device as a store for program instructions
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
US10522212B2 (en) 2015-03-10 2019-12-31 Micron Technology, Inc. Apparatuses and methods for shift decisions
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
CN107430874B (zh) 2015-03-12 2021-02-02 美光科技公司 用于数据移动的设备及方法
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
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
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
US10228990B2 (en) * 2015-11-12 2019-03-12 Sandisk Technologies Llc Variable-term error metrics adjustment
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
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US10732856B2 (en) 2016-03-03 2020-08-04 Sandisk Technologies Llc Erase health metric to rank memory portions
US10432232B2 (en) * 2016-03-04 2019-10-01 Sandisk Technologies Llc Multi-type parity bit generation for encoding and decoding
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US9679661B1 (en) * 2016-06-28 2017-06-13 Sandisk Technologies Llc Non-volatile storage system with self-test for read performance enhancement feature setup
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US9672940B1 (en) 2016-08-18 2017-06-06 Sandisk Technologies Llc Non-volatile memory with fast read process
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
KR20190001417A (ko) * 2017-06-27 2019-01-04 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
KR102326659B1 (ko) * 2017-07-19 2021-11-16 삼성전자주식회사 비휘발성 메모리의 ecc 제어 방법 및 이를 수행하는 메모리 시스템
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US10795810B2 (en) * 2018-09-10 2020-10-06 Micron Technology, Inc. Wear-leveling scheme for memory subsystems
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11436071B2 (en) * 2019-08-28 2022-09-06 Micron Technology, Inc. Error control for content-addressable memory
KR20210051803A (ko) 2019-10-31 2021-05-10 에스케이하이닉스 주식회사 메모리 시스템 및 컨트롤러
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
DE102020202632A1 (de) 2020-03-02 2021-09-02 Robert Bosch Gesellschaft mit beschränkter Haftung Inferenzberechnung für neuronale Netzwerke mit Schutz gegen Speicherfehler
CN113495675B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US11656938B2 (en) * 2020-09-28 2023-05-23 Micron Technology, Inc. Preemptive read verification after hardware write back

Citations (4)

* Cited by examiner, † Cited by third party
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
CN1504896A (zh) * 2002-10-28 2004-06-16 三因迪斯克公司 在非易失性存储器系统中执行块高速缓冲存储的方法和装置
US20060149902A1 (en) * 2005-01-06 2006-07-06 Samsung Electronics Co., Ltd. Apparatus and method for storing data in nonvolatile cache memory considering update ratio
US20090063914A1 (en) * 2007-08-27 2009-03-05 Comtech Aha Corporation Content-Addressable Memories and State Machines for Performing Three-Byte Matches and Secondary Matches, and for Providing Error Protection

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4335459A (en) 1980-05-20 1982-06-15 Miller Richard L Single chip random access memory with increased yield and reliability
JP2617026B2 (ja) 1989-12-22 1997-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 障害余裕性メモリ・システム
JP2575557B2 (ja) 1990-11-13 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション スーパーコンピユータシステム
US5418796A (en) 1991-03-26 1995-05-23 International Business Machines Corporation Synergistic multiple bit error correction for memory of array chips
KR970008188B1 (ko) 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5465262A (en) 1994-01-28 1995-11-07 International Business Machines Corporation Method and structure for providing error correction code and automatic parity sensing
JPH0916479A (ja) * 1995-06-29 1997-01-17 Fuji Electric Co Ltd 多機能保護リレー
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5867642A (en) 1995-08-10 1999-02-02 Dell Usa, L.P. System and method to coherently and dynamically remap an at-risk memory area by simultaneously writing two memory areas
JPH09128302A (ja) * 1995-11-01 1997-05-16 Fujitsu Ltd 不揮発性メモリへのデータアクセス方法
US5764878A (en) 1996-02-07 1998-06-09 Lsi Logic Corporation Built-in self repair system for embedded memories
US5706292A (en) 1996-04-25 1998-01-06 Micron Technology, Inc. Layout for a semiconductor memory device having redundant elements
US6006306A (en) * 1997-07-02 1999-12-21 Xylan Corporation Integrated circuit with stage-implemented content-addressable memory cell
TW446955B (en) 1998-10-30 2001-07-21 Siemens Ag The read/write memory with self-testing device and its associated test method
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
US6651202B1 (en) 1999-01-26 2003-11-18 Lsi Logic Corporation Built-in self repair circuitry utilizing permanent record of defects
AU7313600A (en) 1999-09-17 2001-04-24 Hitachi Limited Storage where the number of error corrections is recorded
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
US6848070B1 (en) 1999-11-24 2005-01-25 Intel Corporation Error correcting code scheme
JP4165990B2 (ja) * 1999-12-20 2008-10-15 Tdk株式会社 メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリへのデータの書き込み方法
US6236602B1 (en) * 2000-05-25 2001-05-22 Robert Patti Dynamic configuration of storage arrays
US6941505B2 (en) 2000-09-12 2005-09-06 Hitachi, Ltd. Data processing system and data processing method
US6525966B1 (en) * 2000-12-06 2003-02-25 Advanced Micro Devices, Inc. Method and apparatus for adjusting on-chip current reference for EEPROM sensing
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
US7120068B2 (en) 2002-07-29 2006-10-10 Micron Technology, Inc. Column/row redundancy architecture using latches programmed from a look up table
US6907505B2 (en) * 2002-07-31 2005-06-14 Hewlett-Packard Development Company, L.P. Immediately available, statically allocated, full-logical-unit copy with a transient, snapshot-copy-like intermediate stage
DE60222891T2 (de) * 2002-08-13 2008-07-24 Stmicroelectronics S.R.L., Agrate Brianza Nichtflüchtige Speichervorrichtung und Selbstreparatur-Verfahren
US20050120265A1 (en) 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
DE102004027423A1 (de) 2004-06-04 2006-07-20 Infineon Technologies Ag Speicherschaltung mit redundanten Speicherbereichen
KR100622349B1 (ko) 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
US7519875B2 (en) 2004-08-20 2009-04-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and apparatus for enabling a user to determine whether a defective location in a memory device has been remapped to a redundant memory portion
US7644323B2 (en) 2004-11-30 2010-01-05 Industrial Technology Research Institute Method and apparatus of build-in self-diagnosis and repair in a memory with syndrome identification
JP2006179101A (ja) 2004-12-22 2006-07-06 Fujitsu Ltd 半導体記憶装置
US7346815B2 (en) 2005-03-31 2008-03-18 Intel Corporation Mechanism for implementing redundancy to mask failing SRAM
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US20070006048A1 (en) 2005-06-29 2007-01-04 Intel Corporation Method and apparatus for predicting memory failure in a memory system
US7233054B1 (en) 2005-11-29 2007-06-19 Korea Institute Of Science And Technology Phase change material and non-volatile memory device using the same
EP1881505A1 (en) * 2006-07-20 2008-01-23 STMicroelectronics S.r.l. Memory device with embedded microprocessor for autonomously searching and repairing failures
US7757135B2 (en) 2006-09-11 2010-07-13 Mentor Graphics Corporation Method and apparatus for storing and distributing memory repair information
US7661004B2 (en) 2006-10-30 2010-02-09 Research In Motion Limited Automatic power-up portable electronic device based on time-dependent event
WO2008061558A1 (en) * 2006-11-21 2008-05-29 Freescale Semiconductor, Inc. Memory system with ecc-unit and further processing arrangement
JP4301301B2 (ja) * 2007-02-05 2009-07-22 ソニー株式会社 不揮発性半導体記憶装置およびその管理方法
US7515469B1 (en) * 2007-09-27 2009-04-07 Atmel Corporation Column redundancy RAM for dynamic bit replacement in FLASH memory
US20090132876A1 (en) 2007-11-19 2009-05-21 Ronald Ernest Freking Maintaining Error Statistics Concurrently Across Multiple Memory Ranks
US8195978B2 (en) 2008-05-16 2012-06-05 Fusion-IO. Inc. Apparatus, system, and method for detecting and replacing failed data storage
KR20100016987A (ko) * 2008-08-05 2010-02-16 삼성전자주식회사 상 변화 메모리를 포함하는 컴퓨팅 시스템
KR101019986B1 (ko) 2008-10-10 2011-03-09 주식회사 하이닉스반도체 성장 방식에 의해 형성되는 콘택 구조를 절연시키는 절연막을 포함하는 상변화 메모리 소자, 이를 포함하는 반도체 소자, 및 그들의 제조방법
US7996736B2 (en) 2008-10-26 2011-08-09 Sandisk 3D Llc Bad page marking strategy for fast readout in memory
US7908530B2 (en) 2009-03-16 2011-03-15 Faraday Technology Corp. Memory module and on-line build-in self-test method thereof for enhancing memory system reliability

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
CN1504896A (zh) * 2002-10-28 2004-06-16 三因迪斯克公司 在非易失性存储器系统中执行块高速缓冲存储的方法和装置
US20060149902A1 (en) * 2005-01-06 2006-07-06 Samsung Electronics Co., Ltd. Apparatus and method for storing data in nonvolatile cache memory considering update ratio
US20090063914A1 (en) * 2007-08-27 2009-03-05 Comtech Aha Corporation Content-Addressable Memories and State Machines for Performing Three-Byte Matches and Secondary Matches, and for Providing Error Protection

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108630269A (zh) * 2012-12-06 2018-10-09 美光科技公司 基于错误校正而设定默认读取信号
CN103076996B (zh) * 2013-01-08 2016-08-03 深圳市硅格半导体有限公司 Pcram控制方法及系统
CN103076996A (zh) * 2013-01-08 2013-05-01 深圳市硅格半导体有限公司 Pcram控制方法及系统
CN105339909A (zh) * 2013-05-29 2016-02-17 微软技术许可有限责任公司 存储系统和有别名的存储器
CN105339909B (zh) * 2013-05-29 2018-08-24 微软技术许可有限责任公司 存储系统和有别名的存储器
US10216437B2 (en) 2013-05-29 2019-02-26 Microsoft Technology Licensing, Llc Storage systems and aliased memory
CN105874434A (zh) * 2014-01-02 2016-08-17 高通股份有限公司 比特重映射系统
CN110462592A (zh) * 2017-03-29 2019-11-15 美光科技公司 用于多维存储器的选择性错误率信息
CN109767801B (zh) * 2017-11-10 2023-02-24 爱思开海力士有限公司 存储器控制器、包括其的半导体存储系统以及驱动方法
CN109767801A (zh) * 2017-11-10 2019-05-17 爱思开海力士有限公司 存储器控制器、包括其的半导体存储系统以及驱动方法
CN110021333B (zh) * 2017-11-23 2023-07-04 三星电子株式会社 存储器装置和存储器系统
CN110021333A (zh) * 2017-11-23 2019-07-16 三星电子株式会社 存储器装置和存储器系统
CN110910807B (zh) * 2018-09-17 2023-05-12 苹果公司 用于像素内存储器显示器的有缺陷的存储器的校正
CN110910807A (zh) * 2018-09-17 2020-03-24 苹果公司 用于像素内存储器显示器的有缺陷的存储器的校正
CN111694690A (zh) * 2019-03-15 2020-09-22 英韧科技(上海)有限公司 具有内存映射的纠错码架构的系统和方法
CN113297014A (zh) * 2020-02-22 2021-08-24 北京希姆计算科技有限公司 待测内存容量的识别方法及装置、电子设备及存储介质
CN113297014B (zh) * 2020-02-22 2024-03-08 广州希姆半导体科技有限公司 待测内存容量的识别方法及装置、电子设备及存储介质
WO2021196621A1 (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
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
WO2021196661A1 (zh) * 2020-04-01 2021-10-07 长鑫存储技术有限公司 读写方法及存储器装置

Also Published As

Publication number Publication date
KR20110001882A (ko) 2011-01-06
US8412987B2 (en) 2013-04-02
TW201126329A (en) 2011-08-01
KR101647845B1 (ko) 2016-08-11
JP5996838B2 (ja) 2016-09-21
TWI484330B (zh) 2015-05-11
DE102010030745A1 (de) 2011-01-05
US20100332895A1 (en) 2010-12-30
CN101937374B (zh) 2015-07-01
JP2011040051A (ja) 2011-02-24
DE102010030745B4 (de) 2015-02-19

Similar Documents

Publication Publication Date Title
CN101937374A (zh) 存储存储器重映射信息的非易失性存储器
CN101937725A (zh) 比特错误阈值和内容可寻址存储器以寻址重映射存储装置
CN101937373A (zh) 比特错误阈值和重映射存储装置
US8799717B2 (en) Hardwired remapped memory
KR101343262B1 (ko) 동시 판독 및 기록 메모리 동작을 수행하는 방법 및 장치
CN103793182A (zh) 可扩展存储保护
CN102549554A (zh) 基于条带的存储器操作
JP5364807B2 (ja) メモリコントローラ及び不揮発性記憶装置
US9003153B2 (en) Method of storing blocks of data in a plurality of memory devices in a redundant manner, a memory controller and a memory system
CN103853582A (zh) 闪存更新方法以及闪存控制器
US8572466B2 (en) Apparatuses, systems, devices, and methods of replacing at least partially non-functional portions of memory
WO2013090520A1 (en) Dynamic error handling using parity and redundant rows
US20170154656A1 (en) Data programming method and memory storage device
US8161334B1 (en) Externally maintained remap information
CN107515731A (zh) 一种基于固态盘的进化存储系统及其工作方法
CN103678162B (zh) 系统数据储存方法、存储器控制器与存储器储存装置
US20130036259A1 (en) Solid state drive and data storing method thereof
US8533549B2 (en) Memory system and computer system
US10735030B2 (en) Re-encoding data associated with failed memory devices
US20130124778A1 (en) Method of storing host data and meta data in a nand memory, a memory controller and a memory system
US20090138656A1 (en) Method of skipping synchronization process for initialization of RAID1 device
US20220130464A1 (en) Memory device supporting interleaved operations and memory system including the same
KR20110074644A (ko) 불휘발성 반도체 메모리 장치
CN103389943A (zh) 控制装置、存储装置及存储控制方法
JP2008102693A (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICRON TECHNOLOGY, INC.

Free format text: FORMER OWNER: NUMONYX B.V.

Effective date: 20120528

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20120528

Address after: Ada van

Applicant after: Micron Technology, INC.

Address before: Swiss Rolle

Applicant before: Numonyx B.v.

C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: Ada van

Applicant after: Micron Technology, Inc.

Address before: Ada van

Applicant before: Micron Technology, INC.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: MICRON TECHNOLOGY, INC. TO: MICRON TECHNOLOGY, INC.

C14 Grant of patent or utility model
GR01 Patent grant