CN106548809A - 处理缺陷非易失性存储器 - Google Patents

处理缺陷非易失性存储器 Download PDF

Info

Publication number
CN106548809A
CN106548809A CN201510723965.8A CN201510723965A CN106548809A CN 106548809 A CN106548809 A CN 106548809A CN 201510723965 A CN201510723965 A CN 201510723965A CN 106548809 A CN106548809 A CN 106548809A
Authority
CN
China
Prior art keywords
address
nvm
sector
memory section
main
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.)
Withdrawn
Application number
CN201510723965.8A
Other languages
English (en)
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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor 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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Priority to CN201510723965.8A priority Critical patent/CN106548809A/zh
Priority to US15/235,084 priority patent/US9710347B2/en
Publication of CN106548809A publication Critical patent/CN106548809A/zh
Withdrawn 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares
    • 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/0403Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals during or with feedback to manufacture
    • 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
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

一种处理缺陷非易失性存储器,非易失性存储器(NVM)系统具有包括多个存储器段的主NVM扇区、用于保存恢复记录的冗余NVM扇区、具有适于保存主地址和替换地址对的多个存储器区域的地址匹配电路、以及NVM控制器。NVM控制器被配置为确定主NVM扇区的第一存储器段是否不再可用,并因此(i)在冗余NVM扇区中创建用于存储的恢复记录,所述恢复记录包括第一存储器段的地址和与第一存储器段关联的数据,以及(ii)向地址匹配电路增加一对主地址和替换地址对,其中主地址是第一存储器段的地址且替换地址识别与第一存储器段关联的数据的替换位置。

Description

处理缺陷非易失性存储器
背景技术
本发明涉及非易失性存储器(NVM),并且更具体地,涉及用于处理缺陷非易失性存储器(NVM)段的技术。
图1是被配置为用于64位处理系统(未示出)的传统NVM系统100的一部分的简化框图,换言之,处理系统具有64位宽的数据总线。NVM系统100包括主NVM扇区101、冗余NVM扇区102和NVM控制器103。NVM控制器103控制用于主NVM扇区和冗余NVM扇区101和102的操作(例如,写,读,擦除)。主NVM扇区101包括被组织为16行105和8列106的128个64位存储器段104。冗余NVM扇区102类似地包括被组织为16行108和8列109的128个64位存储器段107。一行105中的每个存储器段104与该行105中的所有其他存储器段104共享公共的字线(未示出)。类似的,一列106中的每个存储器段104与该列106中的所有其他存储器段104共享公共的位线(未示出)。
每个存储器段104和107保存一个数据总线宽度的数据,或者64位。因此,每行105和108保存512位数据,或64字节(使用8位字节)。那么,每个扇区101和102保存1024字节,也称为一千字节。
在一种传统的实现中,NVM扇区101和102在字节级可写(换言之,可编程)和可读,但是仅在扇区级可擦除。换言之,读单位和写单位的大小不同于擦除单位的大小。注意,通常写单位的大小也可以不同于读单位的大小。注意,可以将一个或多个扇区的组称为模块。
在NVM系统100的一种传统实现中,如果NVM控制器103确定:由于例如存储器段104(6)(2)在写或擦除操作后验证操作失败,那么例如存储器段104(6)(2)是有缺陷的,则整个扇区101被标记为坏扇区并因此不再可用。相反,NVM控制器103用冗余扇区102替换坏扇区101,其中,NVM控制器103将打算用于坏扇区101内的任何存储器段104的操作重定向到冗余扇区102内的存储器段107。
在NVM系统100的可选的传统实现中,如果段104(6)(2)被确定为有缺陷,那么相应的行105(6)被标记为坏行,并且使用冗余NVM扇区102中诸如行108(4)的相应的行108替换包含坏段104(6)(2)的行105(6)。
在NVM系统100的又一可选的传统实现中,如果段104(6)(2)被确定为有缺陷,那么相应的列106(2)被标记为坏列,并且使用冗余NVM扇区102中诸如列109(3)的相应的列109替换坏段104(6)(2)的列106(2)。
注意,例如,可以通过使用熔丝元件或多路选择器将坏主行105的字线或坏主列106的位线重定向到相应的冗余行108或列109来实现重定向。因此,例如,如果冗余行108(4)替换了坏行105(6),那么定向到例如坏行105(6)中的存储器段104(6)(4)的读和写请求将被物理地发送到相应的冗余存储器段107(4)(4)。
附图说明
从下面的具体实施方式、所附权利要求和附图中,本发明的其他方面、特征和优点将更变得加明显,其中相同的附图标记表示类似的或相同的元件。注意,图中的元件并非按比例绘制。
图1是传统的非易失性存储器(NVM)系统的一部分的简化框图。
图2是根据本发明的一个实施例的NVM系统的示例性部分的简化框图。
图3是例如在工厂测试期间或者图2那部分的常规操作期间发生的初始错误检测和纠正的方法的流程图。
图4是针对上电后图2的NVM系统的那部分的初始化的方法的流程图。
图5是针对由图2的NVM系统的那部分执行的读操作的方法的流程图。
图6是针对由图2的NVM系统的那部分执行的写操作的方法的流程图。
图7是与图2的那部分部分地重叠的针对图2的NVM系统的不同的示例性部分的简化框图;以及
图8是针对图7的NVM系统的那部分的压缩方法的流程图。
具体实施方式
在此公开了本发明的详细的说明性实施例。然而,在此公开的特定结构性和功能性细节仅仅是代表性的,目的是为了描述本发明的示例实施例。本发明的实施例可以实现为很多其他形式而不应被视为仅限于这里所提出的实施例。进一步地,在此使用的术语仅仅是为了描述具体实施例而非意在限制本发明的示例实施例。
如在此所使用的,单数形式的“一个”和“该”也意在包括复数形式,除非上下文清楚地指示并非如此。进一步应当理解的是,术语“包括”、“具有”、“包含”表明存在所述的特征、步骤或组件,但并不排除存在或增加一个或多个其他特征、步骤或组件。还应注意,在一些可选实现中,提到的功能/动作可以不按照图中提出的顺序发生。
本发明提出一种更有效的NVM修复系统和方法,其在段级而非如现有技术中的在行或列甚至扇区级补偿缺陷的主NVM扇区。如在下面的示例性描述中进一步详述的,这使得能够使用更少的冗余NVM扇区。
图2是根据本发明的一个实施例的电子处理设备(未示出)中的NVM系统200的一部分的简化框图。注意,如在此所使用的,NVM系统指的是使用NVM存储器的系统以及也可包括易失性存储器的系统。NVM系统200包括NVM控制器201、主NVM扇区202、冗余NVM扇区203、(易失性)地址匹配电路204、(易失性)随机存取存储器(RAM)205和多路选择器206。NVM系统200可包括与主NVM扇区202类似的其他主NVM扇区和/或与冗余NVM扇区203类似的其他冗余NVM扇区。
NVM控制器201分别经由数据路径202a、203a、204a、205a和210a与电子设备的主NVM扇区202、冗余NVM扇区203、地址匹配电路204、RAM205和其他组件(未示出)通信。注意,尽管被示为双端链路,多种数据路径中的两个或更多个数据路径可被实现为NVM系统200的共享(例如,64位宽)数据总线。注意,NVM控制器201可被实现为分立的实体,或者可选地,例如,可由NVM系统200的(i)另一设备控制器和/或(ii)不同逻辑电路实现其功能。
NVM控制器201使用冗余NVM扇区203、地址匹配电路204和RAM205以在段级处理主NVM扇区202中的缺陷段。对于主NVM扇区202中的每个缺陷段207,RAM 205保存本应保存在缺陷段207中的数据,地址匹配电路204将缺陷主段207的地址映射到相应的RAM地址。冗余NVM扇区203保存用于在电子设备已经断电又开机之后对易失性地址匹配电路204和易失性RAM 205进行重编程的信息。
与图1中的主NVM扇区101类似,主NVM扇区202包括被组织为16行和8列的128个64位存储器段207。注意,尽管每个存储器段207保存64位,但任何具体的存储器段207的内容可在字节级可读和/或可写。换言之,NVM控制器201可直接访问读和/或写主NVM扇区202的任意存储器段207的任意八字节。注意,在可选实施例中,最小可寻址大小可小于或大于8比特字节。
主NVM扇区202的一行中的所有存储器段207可共享公共字线(未示出),类似地,主NVM扇区202的一列中的所有存储器段207可共享公共位线(未示出)和感测放大器(未示出)。NVM系统200可被组织为使得主NVM扇区202与其他NVM扇区(包括其他主NVM扇区和/或诸如冗余NVM扇区203的冗余NVM扇区)共享字线、位线和/或感测放大器。
地址匹配电路204包括适于保存主地址和替换RAM地址对的64个存储器区209。每个主地址是主NVM扇区202中缺陷存储器段207的地址,且相应的替换RAM地址是RAM 205中对应的缓存记录的地址。取决于主地址和替换RAM地址的位长度,每个存储器区209的大小将根据不同的实现而变化。地址匹配电路204可使用内容可寻址存储器(CAM)来实现以保存和查找主地址和RAM地址。地址匹配电路204也可使用寄存器阵列和相应的并行比较器(未示出)来实现。
RAM 205包括可用作主NVM扇区202中多达64个缺陷存储器段207的快速存取替换的64个64位存储器段210。换言之,RAM存储器段210可用于保存本应由主NVM扇区202中的存储器段207(如果存储器段207为可用存储器段的话)保存的数据。
当NVM控制器201向地址匹配电路204提供地址时,地址匹配电路204确定所提供的地址是否是如二进制输出204b所指示的所保存的主地址中的一个。响应于确定所提供的地址与主地址匹配,地址匹配电路204还经由信号路径204a向NVM控制器201提供相应的替换RAM地址。NVM控制器201使用替换RAM地址来读取并输出保存在相应的RAM存储器段210中的数据。在可选实现中,地址匹配电路204(i)向NVM控制器201提供二进制输出204b,以及(ii)直接向RAM 205提供替换RAM地址以读取和输出保存在相应的RAM存储器段210中的数据。
冗余NVM扇区203与主NVM扇区202基本类似并且类似地包括被组织为16行和8列的128个存储器段208,其中每个存储器段208为64位。冗余NVM扇区203保存用于主NVM扇区202中的坏存储器段207的恢复记录。每个恢复记录至少包括(例如,8位)主NVM扇区202中的坏存储器段207的主地址、打算保存在其中的多达64位的数据,以及如地址匹配电路204所保存的相应的(例如,8位)替换RAM地址。
典型地,每个恢复记录还包括指示记录是否仍然有效的一位有效性标识。有效性标识默认设置为有效并可被编程以指示无效状态。
如前面关于图1的现有技术的描述,在某些实现中,非易失性主扇区和冗余扇区202和203仅在扇区级可擦除。假设,例如,主NVM扇区202具有两个缺陷段并且冗余NVM扇区203具有与这两个缺陷段对应的两个记录。如果要用新数据对主NVM扇区202的任意部分重新编程,那么必须擦除整个主NVM扇区202然后重新编程。注意,作为主NVM扇区202擦除的一部分,将向冗余NVM扇区203增加用于两个缺陷段的两个新的恢复记录并且旧的恢复记录将被标记为无效。随后,当写请求指向那些缺陷段时,将向冗余NVM扇区203增加两个额外的新的恢复记录并且较旧的恢复记录将被标记为无效。注意,用于新的恢复记录的未编程有效性标识的默认状态为有效。
注意,由于冗余NVM扇区203所保存的恢复记录可包括多于64位的信息,任何具体的恢复记录可占据多于一个的存储器段208。注意,如果NVM控制器201确定冗余NVM扇区203的存储器段208本身是坏的,那么该存储器段208的相应有效性标识可被设置为无效以避免使用该存储器单元。注意,可使用诸如多位标识的其他的、更复杂的方案来解决标识位本身可能的缺陷。
NVM系统200可被配置为在(i)工厂初始测试期间、(ii)设备上电期间、和/或(iii)正常操作期间运行时检测和处理缺陷。初始工厂测试可包括,例如,写和擦除的一个或多个测试周期。如下面所述的,不同操作模式中的处理方法具有一些共同特征,但也可不同。
图3是例如在图2的NVM系统200的工厂测试或正常操作期间可能发生的初始错误检测和处理的方法300的流程图。方法300开始于对一组一个或多个存储器段207执行写或擦除操作(步骤301)。注意,由于擦除操作擦除整个主NVM扇区202,因此它涉及多个存储器段207。
接下来,NVM控制器201读回诸如存储器段207(6)(2)的目标存储器段207中的数据,以验证成功的写或擦除(步骤302)。特别地,写验证包括读回所编程数据和验证存储器段207被正确地编程,擦除验证包括读数据和验证存储器段207被正确地擦除。如果验证成功(步骤303),那么(i)如果还有其他存储器段207待验证(步骤304),那么方法移动到下一存储器段207(步骤305)并返回步骤302以及(ii)如果没有其他存储器段207更验证(步骤304),那么程序结束(步骤306)。
如果验证失败(步骤303),那么NVM控制器201分配RAM205中诸如存储器段210(7)(2)的替换存储器段210(步骤307),向替换存储器段210写入适当的数据(步骤308),向诸如在存储器段208(5)(3)处的冗余NVM扇区203增加相应的恢复记录——(步骤309),用相应的主地址和替换地址在诸如存储器区域209(8)(1)处编程地址匹配电路204(步骤310),然后返回方法300的步骤304。
注意,冗余NVM扇区203中的恢复记录包括(i)坏存储器段207的地址,(ii)例如所分配的对应的RAM存储器段210的地址的替换地址,诸如,RAM存储器段210(7)(2),以及(iii)打算用于坏存储器段207的数据。注意,在可选实施例中,可通过跳过对相应的RAM存储器段210的编程和/或对地址匹配电路204的编程对方法300进行修改,以使得仅在冗余NVM扇区203中的相应的恢复记录中保存的信息为主NVM扇区202中的坏存储器段207的地址和RAM 205中的替换地址。如果,例如(i)电子处理设备将在方法300结束后断电或(ii)如果直到下一次设备上电后,即RAM 205和地址匹配电路204将被初始化时,才会有对坏存储器段207的读请求,该可替换实施例可能是有用的。
注意,写验证和/或擦除验证可跳过对已经被指定为坏存储器段的存储器段207的验证,或者忽略其结果。
正常操作期间,如果NVM控制器201通过例如写或擦除验证失败确定之前被指定为好的存储器段207现在变坏了,那么如上所述的NVM控制器201因此向冗余NVM扇区203、地址匹配电路204和RAM 205增加相应的记录。
图4是针对上电(步骤401)后图2的NVM系统200的初始化的方法400的流程图。由于地址匹配电路204和RAM 205是易失性设备,当NVM系统200断电时它们将丢失它们的信息。设备上电(401)之后,NVM控制器201通过分析非空记录的有效性标识的状态在冗余NVM扇区203中查找有效记录并读取该记录的内容的其余部分(步骤402)。然后,NVM控制器201(i)用坏存储器段207的主地址和相应的替换RAM存储器段210的地址对地址匹配电路204中的存储器区域209编程(步骤403)以及(ii)用打算保存在坏存储器段207中的数据对相应的RAM存储器段210编程(步骤404)。如果有其他有效的恢复记录(步骤405),那么方法返回步骤402,如果没有(步骤405),那么方法结束(步骤406)。
图5是针对由图2的NVM系统200执行的读操作的方法500的流程图。当另一设备组件(未示出)请求读取保存在具体存储器段207中的数据时,该请求经由路径201a被提供给NVM控制器201(步骤501)。NVM控制器201将请求的参考地址提供给(i)主NVM扇区202,其将相应的数据经由路径202b输出到多路选择器206的第二输入(步骤502)和(ii)地址匹配电路204(步骤503)。
如果地址匹配电路204具有匹配地址(步骤504)(指示相应的存储器段207是坏的),那么,(i)经由路径204b(步骤505)将例如1的“找到匹配”值——提供到多路选择器206的选择器输入,(ii)相应的RAM存储器段的替换地址被取回并提供到RAM205(步骤506),(iii)RAM205经由路径205b将替换地址处的RAM存储器段中的数据提供到多路选择器206的第一输入(步骤507),以及(iv)多路选择器206经由路径206a输出从RAM 205接收到的数据(步骤508)。
另一方面,如果地址匹配电路204没有匹配地址(步骤504)(指示相应的存储器段207是好的),那么,(i)经由路径204b将例如0的“未找到匹配”值提供到多路选择器206的选择器输入(步骤509)以及(ii)多路选择器206经由路径206a输出经由路径202b在第二输入处从主NVM扇区202接收到的数据(步骤510)。
图6是针对由图2的NVM系统200执行的写操作的方法600的流程图。当另一设备组件请求对主NVM扇区202的存储器段207写入时,该请求经由路径201a被提供给NVM控制器201(步骤601)。NVM控制器201将存储器段207的地址提供给地址匹配电路204(步骤602)。如果没有匹配(步骤603)(指示相应的存储器段207是好的),那么存储器段207如所请求的被编程(步骤604)。另一方面,如果地址匹配电路204找到了匹配(步骤603)(指示所请求的存储器段207是坏的),那么NVM控制器201(i)如上所述,用写请求的新数据在冗余NVM扇区203中创建新的记录(步骤605)以及(ii)用写请求的新数据更新相应的RAM存储器段210的内容(步骤606)。注意,当擦除主NVM扇区202时可使用类似的方法。特别地,由地址匹配电路204检查存储器扇区207的地址以进行匹配,并且对于任何匹配地址,(i)将相应的新的恢复记录增加到冗余NVM扇区203以及(ii)更新相应的RAM存储器段210的内容。
NVM控制器201可通过对记录的有效性标识编程将冗余NVM扇区203之前的相应记录附加地标记为无效。NVM控制器201可通过在冗余NVM扇区203中的所有记录中查找所请求的存储器片段207的地址来找到之前的相应的记录。
随着时间的推移,由于主NVM扇区202被擦除和新的数据被反复地写到主NVM扇区202的任何坏存储器段207,冗余NVM扇区203中被标记为无效的存储器段208的数目逐渐增长。这些无效的存储器段208代表冗余NVM扇区203中之前使用过的存储,它们在冗余NVM扇区203被擦除之后(回忆一下,存储器段208不是单个可擦除的)可重新变得可用。在预定阈值处或之下,如下面所述的,可执行冗余扇区压缩。阈值可以是,例如,冗余NVM扇区203的未被使用的一定数目的存储器段208(例如,被擦除且未被预编程)并且因此可以用作新的恢复记录。因为对没有或只有很少无效记录的扇区执行压缩方法可能很浪费,所以执行压缩也可取决于冗余NVM扇区203中无效记录的数目和/或百分比。阈值和数目或百分比的数字由NVM控制器201维护并且例如可保存在冗余NVM扇区203自身中、在与冗余NVM扇区203关联的头中或者在由NVM控制器201用来保存其固件的固件NVM扇区(未示出)中。
图7是与图2的NVM系统200的一部分部分重叠的示例性部分700的简化框图。部分700包括图2的NVM控制器201和冗余NVM扇区203以及另一冗余NVM扇区701。冗余NVM扇区701经由路径701a连接到NVM控制器201并且初始是干净的,或者换言之,初始被擦除或未被编程。
图8是对于图7的NVM系统的部分700的压缩方法800的流程图。如果NVM控制器201确定对冗余NVM扇区203的压缩是授权的(步骤801),例如,如果冗余NVM扇区203中可用存储器段208的数目低于第一预定阈值且冗余NVM扇区203包含多于无效记录的第二预定阈值,那么NVM控制器201将有效记录从冗余NVM扇区203复制到干净的冗余NVM扇区701的新记录中(步骤802),而不复制无效记录,从而实现压缩。然后冗余NVM扇区203被擦除(步骤803)并且它自身变成一个可被NVM控制器201使用的干净的冗余NVM扇区。然后方法结束(步骤804)。另一方面,如果在步骤801,NVM控制器201确定压缩是未授权的,那么方法结束(步骤804)。注意,然后可对下一冗余NVM扇区执行方法800。
应当注意的是,图2和7的NVM系统可具有按照与所述示例性扇区相同的方式操作的其他的主NVM扇区和冗余NVM扇区。根据本发明,可替换实施例可具有以任何适当方式操作的任何适当数目的主NVM扇区和冗余NVM扇区。
在第一可替换实施例中,省略了RAM 205。在该可替换实施例中,由地址匹配电路204的存储器区域209保存的主地址和替换地址分别是坏存储器段207的地址和冗余NVM扇区203中相应恢复记录的地址。冗余NVM扇区203中的每个记录不再需要保存相应的RAM地址,并且替换地,保存它自己的地址,这可允许更简单的操作。注意,因为从RAM存储器读数据通常比从NVM记录读数据要快,所以该实施例可能比具有RAM的实施例操作更慢。
一旦第一可替换实施例上电,通过读取冗余NVM扇区203中的有效记录,向地址匹配电路204填充坏存储器段207的地址和相应的恢复记录地址。可从恢复记录自身或者在恢复记录不包括其自己地址的实现中通过确定恢复记录的地址来获取相应的恢复记录地址。响应于对给定参考地址的读请求,如果地址匹配电路204找到匹配地址,那么地址匹配电路204向NVM控制器201提供相应的恢复记录的替换地址,NVM控制器201输出替换地址处的恢复记录中所保存的数据。如果NVM控制器201确定新的存储器段207是坏的,那么在冗余NVM扇区203中创建相应的记录,并根据以上描述用相应的主地址和替换地址对地址匹配电路204编程。
已经描述的本发明的实施例中,其中每个主NVM扇区的存储器段的大小与每个冗余NVM扇区的存储器段的大小相同,也与NVM系统的数据总线宽度相同。在这样的实施例中,典型地使用冗余NVM存储器扇区的两个存储器段来保存用于主NVM扇区中的一个缺陷存储器段的恢复记录。然而,本发明并非限于此。在一些可替换实施例中,一个或多个主NVM扇区和/或冗余NVM扇区的存储器段的大小可能不同于相应的NVM系统的数据总线宽度。例如,在恢复记录与冗余存储器段对齐的一个实施例中,每个冗余NVM扇区的存储器段的大小等于(i)主NVM扇区存储器段、(ii)主NVM扇区存储器段地址、(iii)替换地址和(iv)状态标识的大小之和。
已经描述了具有特定大小并特定布置的模块、扇区、存储器段、字和字节的本发明的实施例。但是应当注意,那些大小和布置是示例性的。可替换实现可能具有小于或大于八位的字节。可替换实现可能具有任意适当尺寸并任意适当布置的存储器模块、扇区、和/或存储器段。注意,本发明的可替换实施例可能对于主NVM扇区和冗余NVM扇区具有不同的扇区大小。
已经描述了地址匹配电路具有特定数目的存储器段的本发明的示例性实施例。但是本发明并不限于此。可替换实施例可包括具有任意适当数目的存储器段的一个或多个地址匹配电路。
已经描述了RAM具有特定数目的存储器段的本发明示例性实施例。但是本发明并不限于此。可替换实施例可包括具有任意适当数目的存储器段的一个或多个RAM模块。典型地,NVM系统中的RAM模块会具有和NVM系统的相应的地址匹配电路中的存储器模块一样多的存储器段。
已经描述了数据总线宽度为64位的本发明的示例性实施例。但是本发明并不限于此。在本发明的可替换实施例中,访问存储器的数据总线的宽度可以是任意适当数目的位,大于或小于64。相应地,这些可替换实施例的NVM扇区中的存储器段的大小将与各可替换的数据总线宽度对应。
将进一步理解,本领域技术人员可对为了阐述本发明的本质而描述和说明的那些部件的细节、材料和布置进行各种改变而不背离以下权利要求中所表达的本发明的范围。
尽管按照特定的顺序使用标记对以下方法权利要求中的步骤进行了叙述,但是除非权利要求叙述另有暗示实现那些步骤中的一些或全部的特定顺序,否则不必认为那些步骤被限定为按那个特定顺序实现。

Claims (12)

1.一种非易失性存储器NVM系统,包括:
第一主NVM扇区,包括多个存储器段,每个存储器段具有地址并适于保存与所述存储器段关联的数据;
地址匹配电路,包括多个存储器区域,每个存储器区域适于保存主地址和替换地址,其中:
所述主地址是所述第一主NVM扇区中的缺陷存储器段的地址;
所述替换地址识别保存与所述缺陷存储器段关联的数据的所述NVM系统中的替换位置;以及
当所述NVM系统接收到对所述第一主NVM扇区中请求的存储器段的读请求时,所述NVM系统通过确定所清求的存储器段的地址是否与所述地址匹配电路所保存的主地址匹配,来确定所请求的存储器段是否是有缺陷的,从而:
如果所述NVM系统确定所清求的存储器段是有缺陷的,那么(i)所述地址匹配电路提供相应的保存的替换地址用于匹配主地址并且(ii)所述NVM系统输出保存在所述相应的替换地址处的数据;以及
否则,所述NVM系统输出保存在所请求的存储器段中的数据;以及
NVM控制器,与所述第一主NVM扇区、第一冗余NVM扇区和所述地址匹配电路通信。
2.如权利要求1所述的NVM系统,进一步包括适于保存多个恢复记录的第一冗余NVM扇区,其中每个恢复记录包括:
所述第一主NVM扇区的相应的缺陷存储器段的地址;以及
与所述缺陷存储器段关联的数据。
3.如权利要求2所述的NVM系统,其中,对于所述第一冗余NVM中的每个恢复记录,所述NVM系统适于用(i)所述第一主NVM扇区的相应的缺陷存储器段的地址作为所述主地址和(ii)相应的替换地址作为所述替换地址,对所述地址匹配电路的相应的存储器区域编程。
4.如权利要求2所述的NVM系统,其中:
每个恢复记录能够由所述第一冗余NVM扇区中的地址寻址;
用于每个恢复记录的相应的替换地址是所述第一冗余NVM扇区中所述恢复记录的地址,以及
每个恢复记录进一步包括用于所述缺陷存储器段的替换地址。
5.如权利要求4所述的NVM系统,其中:
所述地址匹配电路的存储器区域是易失性存储器区域;
所述NVM系统适于在所述NVM系统上电过程期间用(i)所述第一主NVM扇区的相应的缺陷存储器段的地址作为所述主地址和(ii)所述相应的替换地址作为所述替换地址,对所述地址匹配电路的相应的存储器区域编程。
6.如权利要求4所述的NVM系统,其中:
每个恢复记录进一步包括有效性标识;
所述有效性标识默认被设置为有效;以及
如果新数据与所述第一主NVM扇区的相应的缺陷存储器段关联,那么:
所述NVM系统将相应的恢复记录的有效性标识设置为无效;以及
所述NVM系统增加与所述第一主NVM扇区的所述缺陷存储器段对应且包括所述新数据的新的恢复记录。
7.如权利要求6所述的NVM系统,其中:
所述第一冗余NVM扇区能够按扇区擦除;
所述第一冗余NVM扇区包括多个存储器段,所述多个存储器段包括(i)用恢复记录编程了的编程子集和(ii)未用恢复记录编程的未编程子集;
所述NVM系统进一步包括第二冗余NVM扇区,所述第二冗余NVM扇区包括多个未编程存储器段;以及
所述NVM系统适于压缩所述第一冗余NVM扇区,其中压缩包括:
确定所述未编程子集的大小小于阈值;
将所述第一冗余NVM扇区的有效恢复记录复制到所述第二冗余NVM扇区;以及
擦除所述第一冗余NVM扇区。
8.如权利要求4所述的NVM系统,其中:
所述NVM系统进一步包括随机存取存储器RAM模块,所述随机存取存储器模块包括多个存储器段;
所述RAM模块的每个存储器段能够由地址寻址并适于保存与所述第一主NVM扇区的相应的缺陷存储器段关联的数据;
对于所述第一冗余NVM扇区的每个恢复记录,用于所述相应的缺陷存储器段的替换地址是所述RAM模块的相应的存储器段的地址;以及
对于所述地址匹配电路的每个主地址,所述替换地址是所述RAM模块的相应的存储器段的地址。
9.如权利要求2所述的NVM系统,其中所述NVM系统适于:
将数据写入所述第一主NVM扇区的第一存储器段;
对写入所述第一存储器段的所述数据执行验证;以及
如果所述验证失败,那么:
确定所述第一存储器段是有缺陷的;
向所述第一冗余NVM扇区增加相应的恢复记录,所述恢复记录包括所述第一存储器段的地址、所述数据和替换地址;
用所述第一存储器段的地址作为所述主地址和所述替换地址作为所述替换地址对所述地址匹配电路的相应的存储器区域编程;以及
将所述数据保存在所述替换地址。
10.如权利要求2所述的NVM系统,其中所述NVM系统适于:
擦除所述第一主NVM扇区;
对所述第一主NVM扇区的擦除执行验证;以及
如果对第一存储器段验证失败,那么:
确定所述第一存储器段是有缺陷的;
向所述第一冗余NVM扇区增加相应的恢复记录,所述恢复记录包括所述第一存储器段的地址和替换地址;以及
用所述第一存储器段的地址作为所述主地址和所述替换地址作为所述替换地址对所述地址匹配电路的相应的存储器区域编程。
11.如权利要求1所述的NVM系统,其中:
所述NVM系统进一步包括随机存取存储器RAM模块,所述随机存取存储器模块包括多个存储器段;
所述RAM模块的每个存储器段能够由地址寻址并适于保存与所述第一主NVM扇区的相应的缺陷存储器段关联的数据;以及
对于所述地址匹配电路的每个主地址,所述替换地址是所述RAM模块的相应的存储器段的地址。
12.如权利要求11所述的NVM系统,其中:
所述地址匹配电路提供匹配输出以指示所请求的存储器段的地址是否与保存的主地址匹配;
所述NVM系统进一步包括由所述匹配输出控制并被连接以从(i)所述第一主NVM扇区和(ii)所述RAM模块接收数据的多路选择器;以及
响应于所述读请求:
如果所述匹配输出指示匹配,那么所述多路选择器输出所述RAM模块中所述替换地址处的数据;以及
如果所述匹配输出指示不匹配,那么所述多路选择器输出所述第一主NVM扇区中所请求的地址处的数据。
CN201510723965.8A 2015-09-22 2015-09-22 处理缺陷非易失性存储器 Withdrawn CN106548809A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510723965.8A CN106548809A (zh) 2015-09-22 2015-09-22 处理缺陷非易失性存储器
US15/235,084 US9710347B2 (en) 2015-09-22 2016-08-11 Handling defective non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510723965.8A CN106548809A (zh) 2015-09-22 2015-09-22 处理缺陷非易失性存储器

Publications (1)

Publication Number Publication Date
CN106548809A true CN106548809A (zh) 2017-03-29

Family

ID=58282369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510723965.8A Withdrawn CN106548809A (zh) 2015-09-22 2015-09-22 处理缺陷非易失性存储器

Country Status (2)

Country Link
US (1) US9710347B2 (zh)
CN (1) CN106548809A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908506A (zh) * 2017-09-28 2018-04-13 芯海科技(深圳)股份有限公司 一种存储器坏点管理的实现方法
CN108735268A (zh) * 2017-04-19 2018-11-02 恩智浦美国有限公司 非易失性存储器修复电路

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351413B1 (en) * 1999-04-21 2002-02-26 Stmicroelectronics S.Rll. Nonvolatile memory device, in particular a flash-EEPROM
US6484271B1 (en) * 1999-09-16 2002-11-19 Koninklijke Philips Electronics N.V. Memory redundancy techniques
US20030035322A1 (en) * 2001-08-09 2003-02-20 Multi Level Memory Technology, Inc. Flash memory array partitioning architectures
US20050190615A1 (en) * 2004-03-01 2005-09-01 Linde Reed A. Memory defect detection and self-repair technique

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4376300A (en) * 1981-01-02 1983-03-08 Intel Corporation Memory system employing mostly good memories
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
US5349558A (en) 1993-08-26 1994-09-20 Advanced Micro Devices, Inc. Sector-based redundancy architecture
EP0741415A1 (en) * 1995-05-05 1996-11-06 STMicroelectronics S.r.l. Flash-EEPROM memory with contactless memory cells
US6910152B2 (en) 1998-08-28 2005-06-21 Micron Technology, Inc. Device and method for repairing a semiconductor memory
US20040123181A1 (en) 2002-12-20 2004-06-24 Moon Nathan I. Self-repair of memory arrays using preallocated redundancy (PAR) architecture
US7216277B1 (en) 2003-11-18 2007-05-08 Xilinx, Inc. Self-repairing redundancy for memory blocks in programmable logic devices
KR100689706B1 (ko) 2004-11-01 2007-03-08 삼성전자주식회사 반도체 메모리 장치의 리던던시 회로 및 리페어 방법
US7359261B1 (en) 2005-05-23 2008-04-15 Marvell International Ltd. Memory repair system and method
US7650528B2 (en) 2007-06-07 2010-01-19 Texas Instruments Incorporated Fuse farm redundancy method and system
US7949913B2 (en) 2007-08-14 2011-05-24 Dell Products L.P. Method for creating a memory defect map and optimizing performance using the memory defect map
US8947957B2 (en) 2010-09-22 2015-02-03 Taiwan Semiconductor Manufacturing Company, Ltd. Built-in self repair for memory
US8527839B2 (en) 2011-01-31 2013-09-03 Macronix International Co., Ltd. On-the-fly repair method for memory
KR20120122549A (ko) 2011-04-29 2012-11-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 리페어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6351413B1 (en) * 1999-04-21 2002-02-26 Stmicroelectronics S.Rll. Nonvolatile memory device, in particular a flash-EEPROM
US6484271B1 (en) * 1999-09-16 2002-11-19 Koninklijke Philips Electronics N.V. Memory redundancy techniques
US20030035322A1 (en) * 2001-08-09 2003-02-20 Multi Level Memory Technology, Inc. Flash memory array partitioning architectures
US20050190615A1 (en) * 2004-03-01 2005-09-01 Linde Reed A. Memory defect detection and self-repair technique

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108735268A (zh) * 2017-04-19 2018-11-02 恩智浦美国有限公司 非易失性存储器修复电路
CN108735268B (zh) * 2017-04-19 2024-01-30 恩智浦美国有限公司 非易失性存储器修复电路
CN107908506A (zh) * 2017-09-28 2018-04-13 芯海科技(深圳)股份有限公司 一种存储器坏点管理的实现方法

Also Published As

Publication number Publication date
US9710347B2 (en) 2017-07-18
US20170083418A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
KR100906519B1 (ko) 비-휘발성 메모리 시스템에서 사용불가능한 블록을관리하기 위한 방법 및 장치
CN101779194B (zh) 用于存储器的错误校正
US7447066B2 (en) Memory with retargetable memory cell redundancy
KR101498009B1 (ko) 비휘발성 메모리 시스템에서 결함 블록 분리
US7277336B2 (en) Method and apparatus for improving yield in semiconductor devices by guaranteeing health of redundancy information
US20060158933A1 (en) NAND flash memory device having security redundancy block and method for repairing the same
US20100095055A1 (en) Memory system for data storage and retrieval
US9177668B2 (en) Method and apparatus for bit cell repair
US7366946B2 (en) ROM redundancy in ROM embedded DRAM
US7859900B2 (en) Built-in self-repair method for NAND flash memory and system thereof
JPH03167644A (ja) 半導体メモリにおいて欠陥を取り扱うデバイスと方法
KR20040101222A (ko) 섹터 포인터들을 활용하는 메모리 맵핑 장치
KR20030043691A (ko) 플래시 디바이스에서 부분적으로 소거된 유닛을 검출하는방법
US20100146239A1 (en) Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
KR101468432B1 (ko) 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술
US20170154681A1 (en) Memory control method and apparatus
CN106548809A (zh) 处理缺陷非易失性存储器
US9177672B2 (en) Methods of operating memory involving identifiers indicating repair of a memory cell
CN108665941A (zh) 基于nand闪存的列修复方法、装置和nand存储设备
CN112908401A (zh) 内存修复电路、内存模块及内存修复方法
JP2004145964A (ja) 半導体メモリ、半導体メモリ製造方法、メモリカードおよび半導体メモリ制御方法
US10475520B2 (en) Memory circuit including at least one marking cell and method of operating said memory circuit
TW202422562A (zh) 操作記憶體裝置之方法及其記憶體裝置
CN114371816A (zh) 一种数据存储方法及电子设备
JPH10320998A (ja) メモリ回路の製造方法および集積回路

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Texas in the United States

Applicant after: NXP America Co Ltd

Address before: Texas in the United States

Applicant before: Fisical Semiconductor Inc.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20170329