CN105723344A - 用于非易失性ram差错重映射的方法和装置 - Google Patents

用于非易失性ram差错重映射的方法和装置 Download PDF

Info

Publication number
CN105723344A
CN105723344A CN201480059917.7A CN201480059917A CN105723344A CN 105723344 A CN105723344 A CN 105723344A CN 201480059917 A CN201480059917 A CN 201480059917A CN 105723344 A CN105723344 A CN 105723344A
Authority
CN
China
Prior art keywords
page
page address
memory
storage
processor
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
Application number
CN201480059917.7A
Other languages
English (en)
Inventor
D·T·程
J·P·金
S·H·康
T·金
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN105723344A publication Critical patent/CN105723344A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • 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
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7209Validity control, e.g. using flags, time stamps or sequence numbers

Abstract

一种包括非易失性单元阵列和重映射器的存储器模块。页映射表被存储在非易失性单元阵列中,并包括旧页地址至新页地址的映射。重映射器被配置成将参引旧页地址的存储器操作引导至该旧页地址所映射到的新页地址。该映射在存储器单元被确定为处于故障状态时被创建。

Description

用于非易失性RAM差错重映射的方法和装置
公开领域
本发明涉及非易失性存储器。
背景技术
非易失性(NV)随机存取存储器(RAM)被预期在许多应用中取代常规的动态随机存取存储器(DRAM)。NVRAM可利用自旋、磁性、和改变存储器单元的其他形式的相位或结构。
NVRAM面对的一个问题是由有限耐久性导致的单元故障。当执行读操作时,在重复的编程操作上改变存储器单元的相位或结构的物理应力可随时间减少感测到的电压或电流电平,这可导致读差错。存储器单元的整合的耐受性分布可由正态分布来表示,其中该整合中的一些存储器单元可比其他一些存储器单元要早得多地发生故障。
纠错码(ECC)电路可与NVRAM协同使用,但是出于成本原因,此类码通常被设计成基于原始(未校正的)比特差错是当存储器单元开始耗损时发生的随机事件的假设来保证纠错率。因此,一旦特定的存储器单元已经达到其耐受限制并开始故障,该单元就将随着其连贯的故障而加重ECC电路纠错能力的负担。该现象被称为累积差错,并且不再被建模为随机事件。
一种解决方案是设计ECC电路以纠正累积差错,但这种方式可能不是期望的,因为需要更多奇偶校验位。另一种解决方案将是简单地标记NVRAM中的故障单元以使它们不被使用。此种办法在NAND闪存存储器中使用。然而,该办法将在任何存在坏单元的地方创造孔洞,并且由于RAM操作的速度,以及还有对RAM存储器要物理毗连的要求,该办法仅适于本质上不是随机存取的相对慢的存储器。
概述
本发明的各实施例涉及用于非易失性RAM差错重映射的系统和方法。
在一实施例中,一种方法包括当处理器执行读操作以读取非易失性存储器中的页时检测该非易失性存储器的存储器单元中的差错,该页具有页地址并包括该存储器单元;在该非易失性存储器的表格中存储具有该存储器单元的存储器位置以及关于该存储器单元的检测到的差错的累积数目的条目;以及倘若检测到的差错的累积数目超过预定阈值,则将参引该页地址对该非易失性存储器的存储器操作引导至该非易失性存储器中的新页地址。
在另一实施例中,一种装置包括处理器和存储器。存储器包括非易失性(NV)单元阵列;耦合至该NV单元阵列的纠错码(ECC)电路;以及映射页地址的重映射器。处理器耦合至存储器,其中当该处理器针对非易失性存储器中的页执行读操作时,该处理器响应于ECC电路在NV单元阵列的存储器单元中检测到差错而在该NV单元中的表格中存储条目,该条目具有该存储器单元的存储器位置和该存储器单元的检测到的差错的累积数目,该页包括该存储器单元并具有页地址。倘若检测到的差错的累积数目超过预定阈值,则该处理器配置重映射器以将参引该页地址对该NV单元阵列的存储器操作引导至该NV单元阵列中的新页地址。
在另一实施例中,一种其上存储有指令的非瞬态计算机可读存储介质,该指令在由至少一个处理器执行时使一系统执行一种方法,该方法包括:在非易失性存储器中存储页映射表,该页映射表具有一组条目,每个条目具有第一字段和第二字段;以及基于该页映射表来配置非易失性存储器中的重映射器,该重映射器将参引与页映射表中的条目中的第一字段匹配的页地址的存储器操作引导至与该条目中的第二字段匹配的页地址。
在另一实施例中,一种设备包括处理器;用于检错的装置,该用于检错的装置在该处理器执行读操作以读取非易失性存储器中的页时检测该非易失性存储器的存储器单元中的差错,该页具有页地址并包括该存储器单元;用于存储的装置,该用于存储的装置在该非易失性存储器的表格中存储具有该存储器单元的存储器位置以及关于该存储器单元的检测到的差错的累积数目的条目;以及用于重映射的装置,该用于重映射的装置在倘若检测到的差错的累积数目超过预定阈值的情况下将参引该页地址对该非易失性存储器的存储器操作引导至该非易失性存储器中的新页地址。
附图简述
给出附图以帮助对本发明实施例进行描述,且提供附图仅用于解说实施例而非对其进行限定。
图1解说了一实施例在其中找到应用的系统。
图2是解说根据一实施例的过程的流程图。
图3解说了根据一实施例的页地址的映射。
图4解说了根据一实施例的重映射器。
图5解说了各实施例可在其中找到应用的无线通信系统。
详细描述
本发明的各方面在以下针对本发明具体实施例的描述和有关附图中被公开。可以设计替换实施例而不会脱离本发明的范围。另外,本发明中众所周知的元素将不被详细描述或将被省去以免湮没本发明的相关细节。
术语“本发明的实施例”并不要求本发明的所有实施例都包括所讨论的特征、优点、或工作模式。
本文中所使用的术语仅出于描述特定实施例的目的,而并不旨在限定本发明的实施例。如本文所使用的,单数形式的“一”、“某”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”、“具有”、“包含”和/或“含有”在本文中使用时指明所陈述的特征、整数、步骤、操作、元素、和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或其群组的存在或添加。
此外,许多实施例是根据将由例如计算设备的元件执行的动作序列来描述的。将认识到,专门电路(例如,专用集成电路(ASIC))、执行程序指令的一个或多个处理器、或这两者的组合可以执行本文中所描述的各种动作。另外,本文描述的动作序列可被认为是完全体现在任何形式的计算机可读存储介质内,其内存储有一经执行就将使相关联的处理器执行本文所描述的功能性的相应计算机指令集。因此,本发明的各种方面可以用数种不同形式来体现,所有这些形式都已被构想落在所要求保护的主题内容的范围内。另外,对于本文描述的每个实施例,任何此类实施例的对应形式可在本文中被描述为例如“被配置成执行所描述的动作的逻辑”。
图1解说了一实施例在其中找到应用的系统100。系统100包括存储器模块102和子系统104。子系统104可以是片上系统,或者它可以包括多个芯片和互连。存储器模块102包括NV单元阵列106、ECC电路108、和重映射器110。NV单元阵列106包括多个存储器单元,其中存储器单元130是简化表示。NV单元阵列106、ECC电路108、和重映射器110可在一个或多个芯片上实现。ECC电路108藉由阵列总线112耦合至NV单元阵列106。
子系统104包括处理器114(例如,中央处理单元或应用处理器)、静态随机存取存储器(SRAM)116、只读存储器(ROM)118、RAM控制器120、和存储器存储控制器122。这些组件藉由系统总线122通信。子系统104可包括更多组件,并且这些组件中的一些或所有组件可在一个或多个芯片上被集成在一起。存储器存储控制器122向其他类型的存储(诸如举例而言,闪存存储器126)提供通信。RAM控制器120藉由RAM总线128从和向存储器模块102提供接口信号。
在一实施例中,当存储器单元故障时,该差错被纠正并且与故障的存储器单元相关联的页被重写至新页。旧页不再被使用并且对它的进一步参引被重新映射至新页。例如,存储器单元130被示意性地示为包含在页132中。如果存储器单元130被检测为处于故障状态,则页132被重新映射至新页,例如页134。该过程被进一步如下解释,其中在各实施例的描述中,将包含故障存储器单元的页称为旧页,并且它将被映射的页称为新页是方便的。
当处理器114对NV单元阵列106执行读操作以检索页并在存储器单元中检测到比特差错时,ECC电路108纠正该差错以使处理器114具有正确的比特值可用,并且ECC电路108在NV单元阵列106中存储指示存储器单元位置的差错状态。差错状态还可包括已经检测到存储器单元的差错的累积次数。在图1中,差错状态被指示为差错状态表138中的条目136,并包括用于标识与该差错状态条目136相关联的存储器单元的位置(物理地址)的字段142,以及用于存储检测到的针对该存储器单元的差错的累积数目的字段144。
可被视为外部主处理器的处理器114读取差错状态表以确定存储器单元是否处于故障状态,即,存储器单元是否应被声明为已故障(坏)。处理器114可以周期性地或根据算法检测差错状态表138,或者处理器114可在每当执行读操作时检查差错状态表138。
如果字段144中的累积检测到的差错的数目超过某个预定阈值,则差错状态表138的差错状态条目136中指示的存储器单元可被声明为已坏。一旦存储器单元已经被声明为处于故障状态,则差错状态表138中其相关联的差错状态可被更新以反映它已经被声明为处于故障状态,或其差错状态条目可被删除或忽略。
当存储器单元被声明为已坏时,处理器114可能已经因先前的读操作而使其相关联的页处于本地系统存储器(例如,SRAM116)中,或者若非如此,则处理器114可以执行读操作以将该页纳入本地系统存储器。无论如何,ECC电路108可能已经纠正了被声明为已坏的存储器单元的比特差错,并且处理器114将在其本地存储器中具有检索到的页的正确内容。
此外,当存储器单元被声明为已坏时,处理器114配置(编程)重映射器110以使将来对包含该已坏的存储器单元的页地址的参引被透明地引导至新页地址。一旦重映射器110被配置(编程),处理器114随后就用在其系统存储器中的旧页的经纠正版本来执行写操作。旧页的经纠正内容现在以对处理器114完全透明的方式被写入新页。旧页已经被重映射不能使用,并且参引旧页地址的将来存储器操作被引导至新页地址。
处理器114还用以上讨论的映射信息来更新页映射表140。页映射表140包括条目,诸如条目146,其包括用于两个页地址的字段:字段148和150。字段148存储旧页地址而字段150存储新页地址。这两个地址之间的对应关系(关联性)定义了条目146中存储的映射。
对于一些实施例,在上电期间,存储器模块102中的序列发生器147通过检索页映射表140的内容并将该内容存储在重映射器110中来执行表复制。序列发生器147可在软件、固件的控制下操作,或者它可以是硬线连接的。页映射表140的字段148和150的组织可与图4中示出的重映射器110寄存器文件406i_page_addr和p_page_addr(i_页_地址和p_页_地址)相同,这将在稍后更详细地讨论。这允许在序列发生器147是简单的硬件序列发生器的情形中执行表复制。以此方式,包含故障存储器单元的所有页在上电后被映射不能使用。在预定时间限制内执行表复制,在此之后,处理器114和SOC104内的其他组件能利用存储器模块102。
在另一实施例中,在从闪存存储器126检索引导软件后,处理器114执行存储在ROM118、SRAM116或两者中的引导软件。处理器114在执行该引导软件时执行从页映射表140至重映射器110的表复制。对于此种实施例,序列发生器147不再需要。
有了存储在页映射表140中的映射信息,在页映射表140被存储在NV单元阵列106中的情况下,如上所述的表复制实现了存储器模块102的便携性以使它可容易地被移动或在不同设备间共享。
图2是解说根据一实施例的上述过程的流程图。当在NV单元阵列106中的存储器单元中检测到差错时(202),ECC电路108纠正该差错(204)以使处理器114具有相关联页的正确内容。ECC电路108在差错状态表138中存储标识存储器单元的位置和检测到的差错的累积数目的差错状态条目(206)。如果该存储器单元的差错状态条目不是新创建的,则检测到的差错的累积数目简单地为1。如果差错状态条目先前已经被创建,则先前存储的检测到的差错的累积数目递增1。
基于存储在差错状态条目中的信息(可周期性地或在执行读操作时检查),处理器114可声明存储器单元要处于故障状态(208)。处理器114用新映射来配置重映射器110以将与故障存储器单元相关联的页地址映射至新页地址(210)。处理器114将经纠正的页内容写入其原始页地址,但是因为重映射器110已经配置有新映射,经纠正的页内容被写入到新页地址(212)。处理器114用新映射来更新NV单元阵列106中的页映射表140(214)。
当系统执行引导时(216),处理器114访问存储在存储器模块102的NV单元阵列106中的页映射表140并根据存储在页映射表140中的数据来配置重映射器110(218)。
上述用于检测存储器单元故障并用新映射来配置重映射器110的实施例在正被本领域消费者使用的系统100的上下文中讨论。然而,上述动作还可在制造或测试点处执行。例如,工厂测试员能以与上述相同的方式来标记差错,并且工厂测试员能如上所述地执行页映射表140的更新。
当执行本地存储器(诸如举例而言,SRAM116或ROM118)中存储的指令时,处理器114能执行由框208、210、212、214和218表示的上述动作。因此,SRAM116和ROM118是存储指令的计算机可读介质的示例,该指令使得在由处理器114执行时执行包括参照框208、210、212、214和218指示和讨论的动作的过程。对于一些实施例,由框206指示的动作可由ECC电路108、或由处理器114在程序控制下执行。
图3解说了由重映射器110实现的页地址的映射。标记为302并标题为“中间页”的左列表示作为重映射器110的输入提供的页地址。标记为304并标题为“物理页”的右列表示作为重映射器110的输出提供的页地址。对于一些实施例,与地址相关联的页地址可以是该地址的上部23比特。图3中的箭头指示该映射,其中宽箭头表示身份映射,将各框映射至毗连页地址。单独标记的箭头306、308、310、312和314分别表示页地址0、5、15、127和511至物理页列304中的较高地址的映射。因此,在由图3表示的实施例中,中间页列302中的较高地址被保留。
图4解说了重映射器110的更详细视图。出于注释简明起见,图4中出现的术语“i_pageaddr”和“p_pageaddr”分别表示中间页地址和物理页地址。在图4的特定实施例中,页地址用23比特表示。作为重映射器110的输入提供的中间页地址扇出至一排比较器,该排比较器比较输入中间页地址和因先前关于图2讨论的过程而已经在重映射器110中配置的各个中间页地址。为了易于解说,仅示出了两排比较器(标记为402和404),但在实践中将有显著更多。
可物理上为单个寄存器文件的部分的寄存器文件406和408存储映射。例如,寄存器文件406存储它被映射到的中间页地址和物理页地址,并且该映射与比较器402相关联。如果比较器402指示输入中间页地址与存储在寄存器文件406中的中间页地址匹配,则比较器402向选择逻辑提供指示匹配的信号。该选择逻辑向复用器414的选择端口412提供指示该匹配的输出信号。复用器414随后提供存储在寄存器文件中的物理页地址作为输出,该物理页地址与存在匹配的比较器402相关联。如果没有比较器排提供匹配,则复用器414简单地传播输入中间页地址作为输出。图4的特定实施例中没有采用算术或移位功能。
图5解说了各实施例可在其中找到应用的无线通信系统。图5解说了包括基站504A、504B和504C的无线通信网络502。图5示出了标记为506的通信设备,该通信设备可以是移动通信设备,诸如蜂窝电话(例如,智能电话)、平板电脑、或适用于蜂窝电话网络的一些其他种类的通信设备,诸如计算机或计算机系统。通信设备506无需是移动的。在图5的特定示例中,通信设备506位于与基站504C相关联的蜂窝小区内。箭头508和510分别示意性地表示供通信设备506与基站504C进行通信的上行链路信道和下行链路信道。
例如,各实施例可以用在与通信设备506相关联、或与基站504C相关联、或与这两者相关联的数据处理系统内。图5仅仅解说了其中可以采用本文中所描述的实施例的众多应用的一个应用。
本领域技术人员将领会,信息和信号可使用各种不同技术和技艺中的任何一种来表示。例如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
此外,本领域技术人员将领会,结合本文中所公开的实施例描述的各种解说性逻辑块、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。
结合本文中所公开的实施例描述的方法、序列和/或算法可直接在硬件中、在由处理器执行的软件模块中、或者在这两者的组合中体现。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM或者本领域中所知的任何其他形式的存储介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读写信息。在替换方案中,存储介质可以被整合到处理器。
相应地,本发明的实施例可包括计算机可读介质,该计算机可读介质体现用于非易失性RAM差错重映射的方法。相应地,本发明并不限于所解说的示例且任何用于执行文本所描述的功能性的手段均被包括在本发明的实施例中。
尽管上述公开示出了本发明的解说性实施例,但是应当注意到,在其中可作出各种更换和改动而不会脱离如所附权利要求定义的本发明的范围。根据本文中所描述的本发明实施例的方法权利要求的功能、步骤和/或动作不必按任何特定次序来执行。此外,尽管本发明的要素可能是以单数来描述或主张权利的,但是复数也是已料想了的,除非显式地声明了限定于单数。

Claims (20)

1.一种方法,包括:
当处理器执行读操作以读取非易失性存储器中的页时检测所述非易失性存储器的存储器单元中的差错,所述页具有页地址并包括所述存储器单元;
在所述非易失性存储器的表格中存储具有所述存储器单元的存储器位置以及关于所述存储器单元的检测到的差错的累积数目的条目;以及
倘若检测到的差错的累积数目超过预定阈值,则将参引所述页地址对所述非易失性存储器的存储器操作引导至所述非易失性存储器中的新页地址。
2.如权利要求1所述的方法,其特征在于,所述引导存储器操作的步骤进一步包括:
配置所述非易失性存储器中的重映射器以将参引所述页地址的存储器操作引导至所述新页地址。
3.如权利要求2所述的方法,进一步包括:
纠正所述页以提供经纠正页;以及
执行存储器写操作以将所述经纠正页写入所述非易失性存储器,所述写操作参引所述页地址。
4.如权利要求2所述的方法,进一步包括:
在所述非易失性存储器中的页映射表中存储指示所述页地址和所述新页地址的映射。
5.如权利要求4所述的方法,进一步包括:
将所述页映射存储在系统存储器中;以及
基于所存储的页映射表来配置重映射器,所述重映射器将参引所述页地址的存储器操作引导至所述新页地址。
6.如权利要求1所述的方法,进一步包括:
在所述非易失性存储器中的页映射表中存储指示所述页地址和所述新页地址的映射。
7.一种其上存储有指令的非瞬态计算机可读存储介质,所述指令在由至少一个处理器执行时使一系统执行一种方法,所述方法包括:
在非易失性存储器中存储页映射表,所述页映射表具有一组条目,每个条目具有第一字段和第二字段;以及
基于所述页映射表来配置所述非易失性存储器中的重映射器,所述重映射器将参引与所述页映射表中的条目中的所述第一字段匹配的页地址的存储器操作引导至与所述条目中的所述第二字段匹配的页地址。
8.如权利要求7所述的非瞬态计算机可读存储介质,所述存储的步骤进一步包括:
基于在所述非易失性存储器中的页上执行的读操作来检测所述非易失性存储器中的存储器单元中的差错,所述页具有旧页地址并包括所述存储器单元;以及
在所述页映射表中存储新条目,所述新条目的所述第一字段具有匹配所述旧页地址的值而所述新条目的所述第二字段具有匹配新页地址的值。
9.如权利要求8所述的非瞬态计算机可读存储介质,其特征在于,所述方法进一步包括:
在所述非易失性存储器中存储具有一组条目的差错状态表,所述差错状态表中的每个条目具有指示存储器单元位置的第一字段和指示与所述存储器单元位置相关联的检测到的差错的累积数目的第二字段。
10.如权利要求9所述的非瞬态计算机可读存储介质,其特征在于,所述在所述页映射表中存储所述新条目的步骤仅在所述差错状态表中的条目的所述第二字段具有超过预定阈值的值,且所述差错状态表中的所述条目的所述第一字段指示所述存储器单元的存储器位置时才执行。
11.如权利要求10所述的非瞬态计算机可读存储介质,其特征在于,所述方法进一步包括:
执行所述页的经纠正版本的存储操作,所述存储操作参引所述旧页地址。
12.一种装置,包括:
存储器,包括:
非易失性(NV)单元阵列;
耦合至所述NV单元阵列的纠错码(ECC)电路;以及
重映射器,用以映射页地址;以及
耦合至所述存储器的处理器,当所述处理器针对所述非易失性存储器中的页执行读操作时,所述处理器响应于所述ECC电路在所述NV单元阵列中检测到差错而在所述NV单元中的表格中存储条目,所述条目具有所述存储器单元的存储器位置和针对所述存储器单元的检测到的差错的累积数目,所述页包括所述存储器单元并具有页地址;以及倘若所述检测到的差错的累积数目超过预定阈值,则所述处理器配置所述重映射器以将参引所述页地址对所述NV单元阵列的存储器操作引导至所述NV单元阵列中的新页地址。
13.如权利要求12所述的装置,其特征在于,
所述ECC电路用以纠正所述页以提供经纠正页;以及
所述处理器用以执行存储器写操作以将所述经纠正页写入所述非易失性单元阵列,所述写操作参引所述页地址。
14.如权利要求13所述的装置,其特征在于,所述处理器用以在所述NV单元阵列中的页映射表中存储指示所述页地址和所述新页地址的映射。
15.如权利要求14所述的装置,其特征在于,进一步包括:
耦合至所述处理器的系统存储器,所述处理器用以将所述页映射表存储到系统存储器中,并且所述处理器用以基于所存储的页映射表来配置所述重映射器以使所述重映射器将参引所述页地址的存储器操作引导至所述新页地址。
16.如权利要求12所述的装置,其特征在于,所述处理器用以在所述NV单元阵列中的页映射表中存储指示所述页地址和所述新页地址的映射。
17.如权利要求12所述的装置,其特征在于,所述非易失性存储器和所述处理器在选自由蜂窝电话、计算机和基站构成的组中的设备中。
18.一种设备,包括:
处理器;
用于检错的装置,所述用于检错的装置在所述处理器执行读操作以读取非易失性存储器中的页时检测所述非易失性存储器的存储器单元中的差错,所述页具有页地址并包括所述存储器单元;
用于存储的装置,所述用于存储的装置用以在所述非易失性存储器的表格中存储具有所述存储器单元的存储器位置以及关于所述存储器单元的检测到的差错的累积数目的条目;以及
用于重映射的装置,所述用于重映射的装置用以在倘若所述检测到的差错的累积数目超过预定阈值的情况下将参引所述页地址对所述非易失性存储器的存储器操作引导至所述非易失性存储器中的新页地址。
19.如权利要求18所述的设备,其特征在于,所述处理器配置所述用于重映射的装置以将参引所述页地址的存储器操作引导至所述新页地址。
20.如权利要求19所述的设备,其特征在于,
所述用于检错的装置用以纠正所述页以提供经纠正页;以及
所述处理器用以执行存储器写操作以将所述经纠正页写入所述NV存储器,所述写操作参引所述页地址。
CN201480059917.7A 2013-11-01 2014-10-31 用于非易失性ram差错重映射的方法和装置 Pending CN105723344A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/070,480 US9372750B2 (en) 2013-11-01 2013-11-01 Method and apparatus for non-volatile RAM error re-mapping
US14/070,480 2013-11-01
PCT/US2014/063532 WO2015066529A1 (en) 2013-11-01 2014-10-31 Method and apparatus for non-volatile ram error re-mapping

Publications (1)

Publication Number Publication Date
CN105723344A true CN105723344A (zh) 2016-06-29

Family

ID=51901016

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480059917.7A Pending CN105723344A (zh) 2013-11-01 2014-10-31 用于非易失性ram差错重映射的方法和装置

Country Status (6)

Country Link
US (1) US9372750B2 (zh)
EP (1) EP3063628A1 (zh)
JP (1) JP2016540288A (zh)
KR (1) KR101675075B1 (zh)
CN (1) CN105723344A (zh)
WO (1) WO2015066529A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107799156A (zh) * 2016-09-01 2018-03-13 三星电子株式会社 具有纠错的半导体存储器设备及操作其的方法
CN108173768A (zh) * 2016-12-07 2018-06-15 北京京东尚科信息技术有限公司 用于在网关处基于网关配置路由服务的方法和装置
CN113495671A (zh) * 2020-04-01 2021-10-12 长鑫存储技术有限公司 读写方法及存储器装置
US11869615B2 (en) 2020-04-01 2024-01-09 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
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 (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9299457B2 (en) * 2014-02-23 2016-03-29 Qualcomm Incorporated Kernel masking of DRAM defects
US9323607B2 (en) * 2014-04-29 2016-04-26 Seagate Technology Llc Data recovery once ECC fails to correct the data
US9858140B2 (en) 2014-11-03 2018-01-02 Intel Corporation Memory corruption detection
US9804920B2 (en) * 2014-11-20 2017-10-31 Samsung Electronics Co., Ltd. Rank and page remapping logic in a volatile memory
US10073727B2 (en) 2015-03-02 2018-09-11 Intel Corporation Heap management for memory corruption detection
US9619313B2 (en) 2015-06-19 2017-04-11 Intel Corporation Memory write protection for memory corruption detection architectures
US9652375B2 (en) * 2015-06-22 2017-05-16 Intel Corporation Multiple chunk support for memory corruption detection architectures
US10169128B1 (en) * 2016-06-06 2019-01-01 Crossbar, Inc. Reduced write status error polling for non-volatile resistive memory device
US10191791B2 (en) 2016-07-02 2019-01-29 Intel Corporation Enhanced address space layout randomization
KR20180012009A (ko) * 2016-07-26 2018-02-05 에스케이하이닉스 주식회사 데이터 맵핑을 수행하는 반도체 장치 및 시스템
US10223018B2 (en) * 2017-04-19 2019-03-05 Sandisk Technologies Llc Bad page and bad block management in memory
US11151006B2 (en) * 2018-07-02 2021-10-19 Samsung Electronics Co., Ltd. HBM RAS cache architecture
US10810097B2 (en) * 2018-11-07 2020-10-20 Micron Technology, Inc. Client-assisted phase-based media scrubbing
CN113495670B (zh) * 2020-04-01 2024-03-26 长鑫存储技术有限公司 读写方法及存储器装置
CN113495675B (zh) 2020-04-01 2023-08-11 长鑫存储技术有限公司 读写方法及存储器装置
EP3964941B1 (en) 2020-04-01 2024-02-28 Changxin Memory Technologies, Inc. Read-write method and memory device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119245A (en) * 1997-08-06 2000-09-12 Oki Electric Industry Co., Ltd. Semiconductor storage device and method of controlling it
US20080301529A1 (en) * 2007-06-01 2008-12-04 Carol Spanel Apparatus and method for distinguishing single bit errors in memory modules
CN102541667A (zh) * 2010-09-21 2012-07-04 国际商业机器公司 用散列函数区分存储系统中随机和重复差错的方法和系统
US20120324299A1 (en) * 2009-07-29 2012-12-20 Stec, Inc. Flash storage wear leveling device and method
CN103377136A (zh) * 2012-04-13 2013-10-30 株式会社日立制作所 存储器的管理方法、存储装置及搭载了该存储装置的计算机

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7313600A (en) * 1999-09-17 2001-04-24 Hitachi Limited Storage where the number of error corrections is recorded
JP2004206615A (ja) * 2002-12-26 2004-07-22 Matsushita Electric Ind Co Ltd 記憶装置
US7058782B2 (en) * 2003-07-31 2006-06-06 International Business Machines Corporation Method and apparatus for coordinating dynamic memory deallocation with a redundant bit line steering mechanism
KR100882841B1 (ko) * 2007-06-19 2009-02-10 삼성전자주식회사 읽기 디스터번스로 인한 비트 에러를 검출할 수 있는메모리 시스템 및 그것의 읽기 방법
JP4489127B2 (ja) * 2008-02-29 2010-06-23 株式会社東芝 半導体記憶装置
WO2009124320A1 (en) * 2008-04-05 2009-10-08 Fusion Multisystems, Inc. Apparatus, system, and method for bad block remapping
TWI381390B (zh) * 2008-04-10 2013-01-01 Phison Electronics Corp 快閃記憶體的損壞區塊辨識方法、儲存系統及其控制器
US7954021B2 (en) * 2009-10-23 2011-05-31 International Business Machines Corporation Solid state drive with flash sparing
US8473809B2 (en) 2009-11-20 2013-06-25 Sandisk Technologies Inc. Data coding for improved ECC efficiency
US8589766B2 (en) * 2010-02-24 2013-11-19 Apple Inc. Codeword remapping schemes for non-volatile memories
US8201024B2 (en) * 2010-05-17 2012-06-12 Microsoft Corporation Managing memory faults
US8560919B2 (en) * 2010-10-22 2013-10-15 Sandisk Technologies Inc. System and method of interleaving data according to an adjustable parameter
US8458514B2 (en) 2010-12-10 2013-06-04 Microsoft Corporation Memory management to accommodate non-maskable failures
TWI436211B (zh) * 2011-11-02 2014-05-01 Phison Electronics Corp 區塊管理方法、記憶體控制器與記憶體儲存裝置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119245A (en) * 1997-08-06 2000-09-12 Oki Electric Industry Co., Ltd. Semiconductor storage device and method of controlling it
US20080301529A1 (en) * 2007-06-01 2008-12-04 Carol Spanel Apparatus and method for distinguishing single bit errors in memory modules
US20120324299A1 (en) * 2009-07-29 2012-12-20 Stec, Inc. Flash storage wear leveling device and method
CN102541667A (zh) * 2010-09-21 2012-07-04 国际商业机器公司 用散列函数区分存储系统中随机和重复差错的方法和系统
CN103377136A (zh) * 2012-04-13 2013-10-30 株式会社日立制作所 存储器的管理方法、存储装置及搭载了该存储装置的计算机

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107799156A (zh) * 2016-09-01 2018-03-13 三星电子株式会社 具有纠错的半导体存储器设备及操作其的方法
CN107799156B (zh) * 2016-09-01 2023-03-28 三星电子株式会社 具有纠错的半导体存储器设备及操作其的方法
CN108173768A (zh) * 2016-12-07 2018-06-15 北京京东尚科信息技术有限公司 用于在网关处基于网关配置路由服务的方法和装置
CN113495671A (zh) * 2020-04-01 2021-10-12 长鑫存储技术有限公司 读写方法及存储器装置
CN113495671B (zh) * 2020-04-01 2023-10-17 长鑫存储技术有限公司 读写方法及存储器装置
US11869615B2 (en) 2020-04-01 2024-01-09 Changxin Memory Technologies, Inc. Method for reading and writing and memory device
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
KR20160082245A (ko) 2016-07-08
KR101675075B1 (ko) 2016-11-22
EP3063628A1 (en) 2016-09-07
JP2016540288A (ja) 2016-12-22
US20150127972A1 (en) 2015-05-07
US9372750B2 (en) 2016-06-21
WO2015066529A1 (en) 2015-05-07

Similar Documents

Publication Publication Date Title
CN105723344A (zh) 用于非易失性ram差错重映射的方法和装置
TWI555023B (zh) 快閃記憶體更新方法以及快閃記憶體控制器
US8892814B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US9274888B2 (en) Method and apparatus for multiple-bit DRAM error recovery
US8806301B2 (en) Data writing method for a flash memory, and controller and storage system using the same
US10613943B2 (en) Method and system for improving open block data reliability
US9122498B2 (en) Firmware code loading method, memory controller and memory storage apparatus
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
US20120311402A1 (en) Data reading method, memory controller, and memory storage device
US9058256B2 (en) Data writing method, memory controller and memory storage apparatus
US8392797B2 (en) Error correcting controller, flash memory chip system, and error correcting method thereof
US9563508B2 (en) Memory management method, memory control circuit unit and memory storage apparatus
US9652330B2 (en) Method for data management and memory storage device and memory control circuit unit
US20120144267A1 (en) Data reading method, memory storage apparatus, and controller thereof
US20130024604A1 (en) Data writing method, memory controller, and memory storage apparatus
US9063888B2 (en) Program code loading and accessing method, memory controller, and memory storage apparatus
US9552287B2 (en) Data management method, memory controller and embedded memory storage apparatus using the same
US9396804B1 (en) Memory programming method, memory control circuit unit and memory storage apparatus
TWI616807B (zh) 資料寫入方法以及儲存控制器
US9223688B2 (en) Data storing method and memory controller and memory storage device using the same
US9501397B2 (en) Data writing method, memory controller, and memory storage apparatus
US10289334B2 (en) Valid data merging method, memory controller and memory storage apparatus
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
CN108108118B (zh) 数据写入方法以及存储控制器
CN117519574A (zh) 存储器管理方法、存储器控制器及存储器存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160629

WD01 Invention patent application deemed withdrawn after publication