CN108735268B - 非易失性存储器修复电路 - Google Patents

非易失性存储器修复电路 Download PDF

Info

Publication number
CN108735268B
CN108735268B CN201710255450.9A CN201710255450A CN108735268B CN 108735268 B CN108735268 B CN 108735268B CN 201710255450 A CN201710255450 A CN 201710255450A CN 108735268 B CN108735268 B CN 108735268B
Authority
CN
China
Prior art keywords
memory
address
data packet
eeprom
flash
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.)
Active
Application number
CN201710255450.9A
Other languages
English (en)
Other versions
CN108735268A (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.)
NXP USA Inc
Original Assignee
NXP USA 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 NXP USA Inc filed Critical NXP USA Inc
Priority to CN201710255450.9A priority Critical patent/CN108735268B/zh
Priority to US15/593,326 priority patent/US10229025B2/en
Priority to EP18162862.9A priority patent/EP3392885B1/en
Publication of CN108735268A publication Critical patent/CN108735268A/zh
Application granted granted Critical
Publication of CN108735268B publication Critical patent/CN108735268B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/846Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by choosing redundant lines at an output stage
    • 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/0793Remedial or corrective actions
    • 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/1064Adding 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 cache or content addressable memories
    • 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/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/181Eliminating the failing redundant component
    • 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
    • G11C29/4401Indication or identification of errors, e.g. for repair for self 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/785Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
    • G11C29/789Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
    • 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/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/808Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a flexible replacement scheme
    • 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/82Solving problems relating to consistency
    • 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
    • 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/1208Error catch memory
    • 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)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本公开涉及非易失性存储器修复电路。一种集成电路包含片上闪存存储器、EEPROM、高速缓冲存储器和修复控制器。当在闪存存储器中检测到缺陷地址时,将要存储于缺陷地址的已排入数据(data slotted)由修复控制器存储于EEPROM中。高速缓冲存储器包括内容可寻址存储器(CAM),CAM检查读地址与带缺陷的存储器地址,并且如果存在匹配,则存储于EEPROM中的数据被移至高速缓冲,使得它能够代替存储于闪存存储器的有缺陷位置的数据而被输出。存储器修复系统不需要任何熔丝,闪存也不需要包含冗余的行或列。此外,缺陷地址还能够被即时检测并修复。

Description

非易失性存储器修复电路
技术领域
本发明大体涉及包含存储器装置的集成电路,并且更具体地涉及具有存储器以及修复缺陷存储器单元或者针对缺陷存储器单元进行调整的存储器修复系统的集成电路。
背景技术
半导体集成电路通常包含片上存储器,如闪存存储器。闪存存储器可能会由于例如制造工艺变动或老化而具有一些缺陷存储器单元。与丢弃该集成电路相比,提供用于修复该存储器的电路系统更具成本效益。
一种避免丢弃含有具有带缺陷的存储器单元的片上存储器的集成电路的已知技术是使用熔丝(例如,多晶硅熔丝(polyfuses)和反熔丝)以及冗余存储器扇区。典型地,存储器包含一组存储器扇区,并且每个扇区都包含一组存储器单元。存储器还包含自测电路,该自测电路测试每个存储器扇区以定位任何缺陷存储器单元。识别缺陷存储器单元的方法是众所周知的。具有一个或多个缺陷存储器单元的存储器扇区被称为故障存储器扇区。
当自测电路识别到故障存储器扇区时,使用激光器或电压源来停用对应于故障存储器扇区的熔丝。还基于熔丝的类型而使用激光器或电压源来激活对应于冗余存储器扇区的熔丝。冗余存储器扇区对应于故障存储器扇区。然后,原先要存储于故障存储器扇区中的数据作为替代被存储于冗余存储器扇区中。冗余存储器扇区从而代替了故障存储器扇区,并且这被称为修复了存储器。但是,这种技术使用了大量的资源,例如,熔丝和冗余存储器扇区。此外,激活和停用熔丝的方法容易出错,并且可能会导致存储器装置的不当操作。同样必要的是,冗余存储器扇区与故障存储器扇区是相同的存储器类型。由于熔丝的激活和停用需要外部的构件(如激光器),因而这种技术只能够在集成电路的初始测试期间(即,在工厂)实现。还存在着已停用的熔丝由于停用故障以及外部参数(如温度)的影响而被重新激活的可能性。此外,故障存储器扇区还可能具有除了少数缺陷单元外都是没有缺陷的大量存储器单元。
另一种已知的方法是使用包含一组存储器单元的修复电路,这组存储器单元被排列为一组行或一组列。存储器还包含对应的一组冗余的行或列。修复电路能够测试存储器,以检测并定位缺陷单元(即,有缺陷的存储器单元的行或列)。然后,所识别的行或列的存储器单元的数据被存储于对应的冗余行或冗余列中。但是,为了成功实现这种方法,这些组的冗余行和冗余列在结构上与存储器的这些组的行和列相似是至关重要的。此外,修复电路需要额外的处理和时间来确定缺陷存储器单元的行和列并将所识别的缺陷单元的行或列之一替换为冗余行或冗余列的对应单元。
因此,若能获得以下集成电路将是有利,该集成电路具有使用有限数量的资源不仅能够在工厂测试期间修复也能够在集成电路的寿命期间即时(on the fly)修复的存储器。
附图说明
当结合附图来阅读时,下面关于本发明的优选实施例的详细描述将会更好理解。本发明以示例的方式来示出,但并不限定于附图,在附图中,同样的附图标记指示相似的元件。
图1是根据本发明的实施例的存储器装置的示意框图。
具体实施方式
关于附图的详细描述旨在作为关于本发明的当前优选实施例的描述,而并非旨在代表本发明可以实现的唯一形式。应当理解,相同或相当的功能可以由旨在包含于本发明的精神和范围内的不同实施例来实现。如同本文所使用的,术语多路复用器已被缩写为复用器(mux)。此外,如同本文所使用的,电可擦除可编程只读存储器或“EEPROM”指的是具有每字节擦除功能的存储器”,“闪存”是只支持大块擦除的一种类型的EEPROM,而高速缓冲存储器指的是相对较小的、易失性存储器(例如,寄存器阵列)。
在一种实施例中,本发明包含具有片上闪存存储器、片上EEPROM、修复控制器和高速缓冲存储器的集成电路。闪存存储器,也称为第一非易失性存储器,被用来将第一数据包存储于具有第一地址的第一存储器段中。第一存储器段包含一组存储器单元。修复控制器连接到闪存存储器并自其处接收错误信号。错误信号指示该组存储器单元中的存储器单元有缺陷。修复控制器还基于错误信号来接收第一数据包和第一地址(即,当错误信号有效时)。EEPROM连接到修复控制器。当闪存存储器生成错误信号时,EEPROM接收并存储第一数据包和第一地址。高速缓冲存储器连接到闪存存储器和EEPROM。高速缓冲存储器在读操作期间接收来自闪存存储器的第一读地址。高速缓冲存储器还基于负载请求信号接收并存储来自EEPROM的第一数据包和第一地址,并且当在读操作期间第一读地址与第一地址相匹配时输出第一数据包。
在另一种实施例中,本发明提供一种用于修复位于集成电路芯片上的闪存存储器的方法。闪存存储器被用来将第一数据包存储于闪存存储器的具有第一地址的第一存储器段中。闪存存储器包括含有一组存储器单元的存储器段。该方法包括生成指示该组存储器单元中的存储器单元有缺陷的错误信号并将错误信号提供给修复控制器。该方法还包括由修复控制器基于错误信号来接收第一数据包和第一地址。该方法还包括由EEPROM接收来自修复控制器的第一数据包和第一地址,由此修复闪存存储器。该方法还包括基于负载请求信号将接收自EEPROM的第一数据包和第一地址存储于高速缓冲存储器中。该方法还包括高速缓冲存储器在读操作期间将第一读地址与第一地址进行比较。该方法还包括:当第一读地址与第一地址匹配时,高速缓冲存储器在读操作期间输出对应于第一地址的第一数据包。
本发明的各种实施例提供用于修复片上存储器的系统和方法。芯片包含闪存存储器、修复控制器、EEPROM和高速缓冲存储器。闪存存储器被用来将第一数据包存储于具有第一地址的第一存储器段中。第一存储器段包含一组存储器单元。当该组存储器单元中的存储器单元有缺陷时,闪存存储器生成错误信号。当第一地址处的存储器单元没有缺陷时,闪存存储器将第一数据包存储于该第一地址。但是,当第一地址处的一个或多个存储器单元有缺陷时,则第一数据包和第一地址由修复控制器基于错误信号而存储于EEPROM中。高速缓冲存储器连接到闪存存储器和EEPROM,并且基于负载请求信号接收及存储第一数据包和第一地址。在读操作期间,高速缓冲存储器接收第一读地址。当第一读地址与第一地址匹配时,高速缓冲存储器输出第一数据包。
因而,通过将EEPROM用作具有缺陷单元的(一个或多个)存储器地址的替代来修复闪存存储器。上述修复机制的一个优点在于:不存在熔丝,所以不需要执行熔丝编程。此外,EEPROM可以比闪存小得多——也就是,不需要行或列复制。另外,在读操作期间,高速缓冲存储器能够在一个闪存时钟周期中输出对应于第一地址的第一数据包。因而,片上存储器与采用常规修复机制的常规存储器装置相比在更短的时间内输出第一数据包。而且,存储器的修复并不一定只能在工厂测试阶段期间执行,所以如果随时间推移,闪存存储器单元之一由于例如老化而变为有缺陷的,则有缺陷的单元能够即时被修复。由于修复电路系统和方法不需要在自修复期间识别缺陷存储器单元的行或列,因而闪存存储器修复很快。
现在参照图1,该图示出了包含片上闪存存储器的集成电路芯片100的部分。芯片100包含闪存存储器系统102、修复控制器104、电可擦除可编程只读存储器(EEPROM)106、高速缓冲加载器108和高速缓冲存储器110。闪存存储器102(也称为“第一存储器系统”)包含闪存存储器控制器112和闪存存储器114(也称为“第一非易失性存储器”)。EEPROM 106(也称为“第二存储器系统”)包含EEPROM控制器116、EEPROM主阵列118和EEPROM修复阵列120。高速缓冲存储器110(也称为“易失性存储器”)包含第一和第二地址搜索逻辑电路122和124、地址存储器阵列126和数据存储器阵列128。第一和第二地址搜索逻辑电路122和124以及地址存储器阵列126形成内容可寻址存储器(CAM)130。高速缓冲存储器110还包含第一多路复用器132。
闪存存储器114包含多个闪存存储器扇区,图中示出了其中两个——第一存储器扇区136和第二存储器扇区138。第一闪存存储器扇区136包含第一组闪存存储器段,图中示出了其中三个——第一至第三存储器段136a-136c。第二闪存存储器扇区138包含第二组闪存存储器段,图中示出了其中三个——第四至第六存储器段138a-138c。第一和第二组闪存存储器段中的每个闪存存储器段都包含一组存储器单元(未示出)。每个闪存存储器段还存储数据包,并且该组存储器单元的每个存储器单元都存储数据包的位。第一闪存存储器扇区136存储第一组数据包,图中示出了其中三个——第一至第三数据包(DP10-DP12),而第二闪存存储器扇区138存储第二组数据包,图中示出了其中三个——第四至第六数据包(DP20-DP22)。
当闪存存储器114的缺陷存储器单元被检测到时,闪存存储器控制器112生成错误信号。包含缺陷存储器单元的闪存存储器段被称为缺陷存储器段。此外,存储于缺陷存储器段中的数据包被称为修复数据包,而缺陷存储器段的地址被称为故障地址。
闪存存储器控制器112接收闪存命令(flash command)(FLASH_CMD)、写数据(WDATA)、读地址(RADDR)和写地址(WADDR)。闪存存储器控制器112输出错误信号、命令地址(CMD_ADDR)、闪存命令(FLASH_CMD)和闪存数据(flash data)(PDATA_64BIT)。读地址(RADDR)表示从其中读出所存储的数据包的闪存存储器114中的地址。写地址(WADDR)是数据包将要存储的闪存存储器114中的地址。闪存存储器114输出存储于读地址(RADDR)的数据包作为第一数据包(DP1)。闪存命令(FLASH_CMD)包括将由闪存存储器控制器112对存储于闪存存储器114中的至少一个数据包执行的至少一条指令。闪存命令(FLASH_CMD)的示例包括程序检查命令、程序命令、全擦除命令、块擦除命令、扇区擦除命令、长字程序命令等。写数据(WDATA)包括将要存储于闪存存储器114中的至少一个数据包。当闪存存储器控制器112生成错误信号时,闪存数据(PDATA_64BIT)包括将要存储于EEPROM修复阵列120中的至少一个数据包。命令地址(CMD_ADDR)是要执行闪存命令(FLASH_CMD)处的闪存存储器114中的位置。
修复控制器104连接到闪存存储器系统102,用于接收错误信号、命令地址命中信号、闪存命令(FLASH_CMD)、闪存数据(PDATA_64BIT)和命令地址(CMD_ADDR)。修复控制器104还输出负载请求信号、EEPROM写数据(EEP_WDATA)、EEPROM地址(EEP_ADDR)和命令确认信号(CMD_ACK)。闪存存储器系统102接收命令确认信号(CMD_ACK)。EEPROM写数据(EEP_WDATA)包含待存储于EEPROM修复阵列120中的数据包。EEPROM地址(EEP_ADDR)是要存储EEPROM写数据(EEP_WDATA)的数据包处的EEPROM修复阵列120中的地址。命令确认信号(CMD_ACK)指示修复控制器104是否已经执行闪存命令(FLASH_CMD)。
EEPROM系统106连接到修复控制器104,用于接收EEPROM写数据(EEP_WDATA)和EEPROM地址(EEP_ADDR)。EEPROM系统106输出EEPROM读数据(EEP_RDATA)和EEPROM确认命令(EEP_CMD_ACK)。修复控制器104接收EEPROM读数据(EEP_RDATA)和EEPROM确认命令(EEP_CMD_ACK)。EEPROM修复阵列120包含一组EEPROM段140a-140d(共同称为“EEPROM段140”)。为了图示的目的,在图1中示出了第一至第四EEPROM段140a-140d。该组EEPROM段140的每个EEPROM段140都包含一组EEPROM存储器单元(未示出),用于存储修复数据包的位。每个EEPROM段140都存储故障地址和修复数据包中的至少一项。例如,第一EEPROM段140a存储第一故障地址,第二EEPROM段140b存储第一修复数据包,第三EEPROM段140c存储第二故障地址,而第四EEPROM段140d存储第二修复数据包。EEPROM段140的位长度不一定与第一至第三闪存存储器段136a-136c和第四至第六闪存存储器段138a-138c中的每个闪存存储器段的位长度相同。
高速缓冲加载器108连接到修复控制器104,用于接收负载请求信号,并且连接到EEPROM系统106,用于接收故障地址和修复数据包。高速缓冲加载器108输出故障地址和修复数据包,分别作为高速缓冲地址(CACHE_ADDR)和高速缓冲数据(CACHE_DATA)。
在一种实施例中,高速缓冲加载器108接收第一EEPROM段140a的地址以及该组EEPROM段140的EEPROM段140的总数量。高速缓冲加载器108然后基于第一EEPROM段140a的地址和EEPROM段140的总数量接收第一故障地址,并且随后按以下顺序接收第一修复数据包、第二故障地址和第二修复数据包。
高速缓冲存储器110连接到高速缓冲加载器108,用于接收高速缓冲地址(CACHE_ADDR)和高速缓冲数据(CACHE_DATA)并且生成读地址命中信号和命令地址命中信号。地址存储器阵列126存储高速缓冲地址(CACHE_ADDR)。数据存储器阵列128存储高速缓冲数据(CACHE_DATA)。第一和第二地址搜索逻辑电路122和124每个都包含连接到地址存储器阵列126的一组地址搜索线(未示出)。此外,第一和第二地址搜索逻辑电路122和124每个都包含一组匹配线(未示出)。该组匹配线的每个匹配线对应于存储于地址存储器阵列126中的每个地址。第一地址搜索逻辑电路122接收读地址(RADDR),并且第二地址搜索逻辑电路122接收命令地址(CMD_ADDR)。当命令地址(CMD_ADDR)或读地址(RADDR)中的任一项与存储于地址存储器阵列126中的地址匹配时,对应的匹配线输出匹配信号。基于匹配信号,第一地址搜索逻辑电路122生成读地址命中信号,而第二地址搜索逻辑电路124生成命令地址命中信号。匹配线还连接至在第一地址搜索逻辑电路122中的编码器(未示出),该编码器基于匹配信号输出选择信号。选择信号指示修复数据包存储于数据存储器阵列128中的地址。修复数据包对应于读地址(RADDR)。
第一多路复用器132连接到第一地址搜索逻辑电路122,用于接收选择信号,并且连接到数据存储器阵列128,用于接收修复数据包。此外,第一多路复用器132还基于选择信号来输出修复数据包作为第二数据包(DP2)。
第二多路复用器134连接到闪存存储器114,用于接收第一数据包(DP1),并且连接到高速缓冲存储器110,用于接收读地址命中信号和第二数据包。第二多路复用器134基于读地址命中信号而输出第一和第二数据包中的至少一项作为读数据(RDATA)。当读地址(RADDR)与故障地址不匹配时;读数据(RDATA)是存储于由读地址(RADDR)指示的闪存存储器114中的地址处的第一数据包(DP1)。当读地址(RADDR)与故障地址匹配时;读数据(RDATA)是按故障地址存储于数据存储器阵列128中的第二数据包(DP2),该故障地址被存储于地址存储器阵列126中。
在一种实施例中,闪存存储器控制器112包含对应于第一和第二组闪存存储器段136和138的闪存存储器寄存器(未示出)。闪存存储器控制器112测试第一至第三组和第四至第六组闪存存储器段136a-136c和138a-138c的每个存储器单元。闪存存储器寄存器存储对应于数据包将要存储于其中的第一和第二组闪存存储器段136和138的每个存储器单元的状态。该状态指示每个存储器单元是否包含错误并从而是否是缺陷存储器单元。
闪存存储器控制器112执行自测以识别出闪存存储器114中的受损存储器单元。闪存存储器控制器112可以被编程用于执行工厂测试、用户程序测试和用户自测这三类自测之一。在工厂测试期间,闪存存储器控制器112测试闪存存储器114的每个存储器单元。一般地,工厂测试在集成电路100被发运给客户之前执行。
用户程序测试在用户应用程序被存储于芯片100中期间执行。用户应用程序是包含存储于闪存存储器114中的一组指令的程序代码。在一种实施例中,闪存存储器控制器112在用户程序测试期间接收该组指令的第一指令作为写数据(WDATA)。然后,闪存存储器控制器112测试第一闪存存储器段136a并以其状态来更新闪存存储器寄存器。当该状态指示在第一存储器段136a中没有故障存储器单元时,闪存存储器控制器112将第一指令作为第一数据包(DP10)存储于第一闪存存储器段136a中。但是,当第一闪存存储器段136a包含故障存储器单元时,闪存存储器控制器112以指示第一闪存存储器段136a为缺陷存储器段的状态来更新闪存存储器寄存器。闪存存储器控制器112然后要么丢弃第一指令,要么测试第二闪存存储器段136b。一旦第一指令被存储于闪存存储器114中,则闪存存储器控制器112接收该组指令的第二指令,并且重复上述顺序步骤。因而,在用户程序测试中,闪存存储器控制器112仅测试该组指令(即,用户应用程序)存储于其中的闪存存储器段。因此,用户程序测试使用较少的时间和资源。
在用户自测期间,闪存存储器控制器112测试第一和第二存储器段136和138的有限数量的存储器单元,以确定在闪存存储器114中是否存在故障或缺陷存储器单元。闪存存储器控制器112按系列来测试存储器单元。在一个例子中,闪存存储器控制器112测试相间的存储器单元,即,第一存储器单元、第三存储器单元、第五存储器单元等等。在测试的后续步骤中,闪存存储器控制器112测试第二存储器单元、第四存储器单元、第六存储器单元等等。因而,闪存存储器控制器112不测试第一和第二存储器段136和138的全部存储器单元。此外,用户自测能够周期性地执行,以识别出在闪存存储器114中是否存在缺陷单元。
当闪存存储器控制器112执行工厂测试、用户程序测试和用户自测中的至少一项时,闪存存储器控制器112将对应的状态存储于闪存存储器寄存器中。该状态指示在闪存存储器114中是否存在至少一个缺陷存储器单元。
在一种实施例中,闪存存储器控制器112执行工厂测试。闪存存储器控制器112识别到第一闪存存储器段136a包含缺陷存储器单元。因而,第一闪存存储器段136a是缺陷闪存存储器段。第一闪存存储器段136a的地址(ADDR_10)被称为缺陷地址(ADDR_10)。
闪存存储器控制器112接收写地址(WADDR)以及作为闪存命令(FLASH_CMD)的数据存储命令,连同作为写数据(WDATA)的第一数据包(DP10)。在一种实施例中,写地址(WADDR)与缺陷地址(ADDR_10)匹配。因而,将要存储于该缺陷地址(ADDR_10)处的第一数据包(DP10)被称为修复数据包(DP10)。闪存存储器控制器112针对第一闪存存储器段136a的存储器单元的状态对闪存存储器寄存器进行检查,并且输出故障地址(ADDR_10)和作为闪存数据(PDATA_64BIT)的修复数据包(DP10)。此外,闪存存储器控制器112还输出错误信号。
修复控制器104接收缺陷故障地址(ADDR_10)和作为闪存数据(PDATA_64BIT)的修复数据包(DP10)。此外,修复控制器104接收错误信号,并且输出第一和第二EEPROM寄存器地址作为EEPROM地址(EEP_ADDR)。
EEPROM系统106包含用于将EEPROM修复阵列120的起始地址存储为第一EEPROM寄存器数据的第一EEPROM寄存器(未示出),以及用于存储第二EEPROM寄存器数据的第二EEPROM寄存器(未示出)。第二EEPROM寄存器数据包含在EEPROM修复阵列120中用于修复的若干EEPROM段140。第一和第二EEPROM寄存器地址是第一和第二EEPROM寄存器在EEPROM系统106中的地址。EEPROM修复阵列120接收第一和第二EEPROM寄存器地址,并且输出第一和第二EEPROM寄存器数据作为EEPROM读数据(EEP_RDATA)。修复控制器104基于EEPROM读数据(EEP_RDATA)以及故障地址(ADDR_10)的位长度及对应的第一数据包(DP10)来检查在EEPROM修复阵列120中EEPROM段140的可用性。
当EEPROM读数据(EEP_RDATA)指示在EEPROM修复阵列120中有EEPROM段140可用时,修复控制器104确定故障地址(ADDR_10)能够存储的第一EEPROM地址。此外,修复控制器104确定修复数据包(DP10)能够存储的第二EEPROM地址。当EEPROM段140的位长度不等于闪存存储器114的第一至第三闪存存储器段136a-136c和第四至第六闪存存储器段138a-138c的闪存存储器段的位长度时,修复控制器104修改修复数据包(DP10)存储过程,并生成经修改的数据(EEP_WDATA)。当EEPROM段140的位长度等于闪存存储器114的第一至第三闪存存储器段136a-136c和第四至第六闪存存储器段138a-138c的闪存段的位长度时,修复控制器104不生成经修改的数据(EEP_WDATA)。
在一个示例中,当缺陷地址(ADDR_10)的位长度为32位,修复数据包(DP10)的位长度为64位,而EEPROM段140的位长度为32位时,修复控制器104修改闪存数据(PDATA_64BIT)以生成对应于故障地址(ADDR_10)的32位的第一经修改的数据,对应于修复数据包(DP10)的前32位的第二经修改的数据以及对应于修复数据包(DP10)的后32位的第三经修改的数据。此外,修复控制器104生成存储第一至第三经修改的数据处的第一至第三EEPROM地址。此外,修复控制器104生成对应于第一至第三经修改的数据的第一至第三存储命令。当EEPROM控制器116接收到作为EEPROM系统命令(EEP_CMD)的第一存储命令、作为EEPROM地址(EEP_ADDR)的第一EEPROM地址以及作为EEPROM写数据(EEP_WDATA)的第一经修改的数据时,EEPROM控制器116将第一经修改的数据存储于EEPROM修复阵列120中的第一EEPROM地址处。同样地,EEPROM控制器116将第二经修改的数据存储于EEPROM修复阵列120中的第二EEPROM地址处,并且将第三经修改的数据存储于EEPROM修复阵列120中的第三EEPROM地址处。
在优选的示例中,缺陷地址(ADDR_10)的位长度为32位;修复数据包(DP10)的位长度为64位,并且EEPROM段140的位长度为64位。修复控制器104生成第一和第二存储命令。修复控制器104还生成第一和第二EEPROM地址。第一和第二EEPROM地址分别对应于第一EEPROM段140a和第二EEPROM段140b的地址。
修复控制器104将第一存储命令作为第一EEPROM系统命令(EEP_CMD)输出给EEPROM系统106,输出作为EEPROM写数据(EEP_WDATA)的缺陷地址(ADDR_10)以及第一EEPROM地址(EEP_ADDR)。EEPROM控制器116接收第一EEPROM系统命令(EEP_CMD)、第一EEPROM地址(EEP_ADDR)及故障地址(ADDR_10),并且将故障地址(ADDR_10)存储于EEPROM修复阵列120中的对应的EEPROM地址(EEP_ADDR)处。此外,EEPROM控制器116输出第一EEPROM确认命令(EEP_CMD_ACK)。修复控制器104接收第一EEPROM确认命令(EEP_CMD_ACK)。第一EEPROM确认命令(EEP_CMD_ACK)给修复控制器104指示,EEPROM控制器116已将故障地址(ADDR_10)成功存储于EEPROM修复阵列120中。因而,修复控制器104输出作为第二EEPROM系统命令(EEP_CMD)的第二存储命令、作为EEPROM写数据(EEP_WDATA)的修复数据包(DP10)以及第二EEPROM地址(EEP_ADDR)。EEPROM控制器116接收第二EEPROM系统命令(EEP_CMD)、第二EEPROM地址(EEP_ADDR)和修复数据包(DP10),并且将修复数据包(DP10)存储于EEPROM修复阵列120中的第二EEPROM地址(EEP_ADDR)处。EEPROM控制器116还输出第二EEPROM确认命令(EEP_CMD_ACK)。第二EEPROM确认命令(EEP_CMD_ACK)给修复控制器104指示,EEPROM控制器116已将修复数据包(DP10)成功存储于EEPROM修复阵列120中。
修复控制器104接收第二EEPROM确认命令(EEP_CMD_ACK),并且将负载请求信号和命令确认信号(CMD_ACK)分别输出到高速缓冲加载器108和闪存存储器控制器112。命令确认信号(CMD_ACK)给闪存存储器控制器112指示,修复控制器104已将故障地址(ADDR_10)和修复数据包(DP10)成功存储于EEPROM修复阵列120中。闪存存储器控制器112接收命令确认信号(CMD_ACK)并执行后续的闪存命令(FLASH_CMD)。
替换地,假使修复控制器104未能将缺陷地址(ADDR_10)和修复数据包(DP10)存储于EEPROM修复阵列120中,则修复控制器104将失败的命令确认信号(CMD_ACK)输出给闪存存储器控制器112。闪存存储器控制器112接收失败的命令确认信号(CMD_ACK)并输出错误消息。在一种实施例中,连接到闪存存储器控制器102的处理器(未示出)接收错误消息。在另一种实施例中,错误消息被显示给芯片100的用户。
高速缓冲加载器108接收来自修复控制器104的负载请求信号、来自第一EEPROM寄存器的第一EEPROM段140a的地址以及来自第二EEPROM寄存器的一组EEPROM段140的总数量。高速缓冲加载器108还接收存储于第一EEPROM段140a中的故障地址(ADDR_10)。高速缓冲加载器108将故障地址(ADDR_10)作为高速缓冲地址(CACHE_ADDR)输出给高速缓冲存储器110的地址存储器阵列126。然后,高速缓冲加载器108接收存储于第二EEPROM段140b中的修复数据包(DP10)。高速缓冲加载器108将修复数据包(DP10)作为高速缓冲数据(CACHE_DATA)输出给高速缓冲存储器110的数据存储器阵列128。
在另一种实施例中,写地址(WADDR)与故障地址(ADDR_10)不匹配。闪存存储器控制器112将修复数据包(DP10)存储于闪存存储器114中的由写地址(WADDR)指示的地址处。
在读操作期间,闪存存储器系统102接收读地址(RADDR)。在一种实施例中,读地址(RADDR)与故障地址(ADDR_10)匹配。闪存存储器114输出存储于读地址(RADDR)所指示的地址处的不准确的数据包作为第一数据包(DP1)。第一地址搜索逻辑电路122接收读地址(RADDR)并将其与存储于地址存储器阵列126中的至少一个地址进行比较。当读地址(RADDR)与故障地址(ADDR_10)匹配时,第一地址搜索逻辑电路122输出高逻辑状态处的读地址命中信号。当读地址(RADDR)与故障地址(ADDR_10)匹配时,第一地址搜索逻辑电路122还输出选择信号。该选择信号指示修复数据包(DP10)的对应于数据存储器阵列128中的读地址(RADDR)的地址。第一多路复用器132接收选择信号和修复数据包(DP10),并且输出修复数据包(DP10)作为对应于故障地址(ADDR_10)的第二数据包(DP2)。第二多路复用器134接收第二数据包(DP2)、第一数据包(DP1)以及高逻辑状态的读地址命中信号。第二多路复用器134输出第二数据包(DP2)作为读数据(RDATA)。
在另一种实施例中,读地址(RADDR)与故障地址(ADDR_10)不匹配。在一个示例中,读地址(RADDR)对应于第二闪存存储器段136b的地址。因而,闪存存储器114输出存储于读地址(RADDR)所指示的地址处的第二数据包(DP11)作为第一数据包(DP1)。第一地址搜索逻辑电路122接收读地址(RADDR),并且将读地址(RADDR)与存储于地址存储器阵列126中的至少一个地址进行比较。当读地址(RADDR)与故障地址(ADDR_10)不匹配时,第一地址搜索逻辑电路122输出低逻辑状态的读地址命中信号。此外,第一地址搜索逻辑电路122输出不准确的选择信号。第一多路复用器132输出随机数据包作为第二数据包(DP2)。第二多路复用器134接收第二数据包(DP2)、第一数据包(DP1)以及低逻辑状态的读地址命中信号。第二多路复用器134输出第一数据包(DP1)作为读数据(RDATA)。
在一种替换的实施例中,当闪存存储器系统102接收到闪存命令(FLASH_CMD)和写地址(WADDR)时,写地址(WADDR)指示闪存命令(FLASH_CMD)将要执行处的闪存存储器114中的地址。闪存存储器控制器112输出写地址(WADDR)作为命令地址(CMD_ADDR)。
在一种实施例中,写地址(WADDR)与故障地址(ADDR_10)匹配。第二地址搜索逻辑电路124接收命令地址(CMD_ADDR)并输出高逻辑状态的命令地址命中信号,因为命令地址(CMD_ADDR)与存储于地址存储器阵列126中的至少一个地址匹配。修复控制器104接收命令地址命中信号并输出命令确认信号(CMD_ACK)。命令确认信号(CMD_ACK)给闪存存储器控制器112指示,写地址(WADDR)与存储于地址存储器阵列126中的至少一个地址匹配。闪存存储器控制器112接收命令确认信号(CMD_ACK)并输出闪存命令(FLASH_CMD)。
修复控制器104接收作为命令地址(CMD_ADDR)的写地址(WADDR)以及闪存命令(FLASH_CMD)。修复控制器104将闪存命令(FLASH_CMD)修改为EEPROM系统命令(EEP_CMD),并且将命令地址(CMD_ADDR)修改为经修改的地址(EEP_ADDR)。经修改的地址(EEP_ADDR)指示第一数据包(DP10)所存储的EEPROM段140b的地址。此外,修复控制器104输出EEPROM系统命令(EEP_CMD)和经修改的地址(EEP_ADDR)。EEPROM控制器116接收EEPROM系统命令(EEP_CMD)和经修改的地址(EEP_ADDR),并且对存储于EEPROM修复阵列120中由命令地址(CMD_ADDR)指示的地址处的第一数据包(DP10)执行EEPROM系统命令(EEP_CMD)。EEPROM控制器116输出EEPROM确认命令(EEP_CMD_ACK)。EEPROM确认命令(EEP_CMD_ACK)给修复控制器104指示,EEPROM控制器116已成功执行了EEPROM系统命令(EEP_CMD)。修复控制器104接收EEPROM确认命令(EEP_CMD_ACK)并将命令确认信号(CMD_ACK)输出给闪存存储器系统102。命令确认信号(CMD_ACK)给闪存存储器系统102指示,修复控制器104已成功执行了闪存命令(FLASH_CMD)。
在另一种实施例中,写地址(WADDR)与故障地址(ADDR_10)不匹配。第二地址搜索逻辑电路124接收命令地址(CMD_ADDR)并且输出低逻辑状态的命令地址命中信号,因为命令地址(CMD_ADDR)与存储于地址存储器阵列126中的至少一个地址不匹配。修复控制器104接收命令地址命中信号并输出命令确认信号(CMD_ACK)。命令确认信号(CMD_ACK)给闪存存储器控制器112指示,写地址(WADDR)与存储于地址存储器阵列126中的至少一个地址不匹配。闪存存储器控制器112接收命令确认信号(CMD_ACK)。此外,闪存存储器控制器112对存储于闪存存储器114中由写地址(WADDR)指示的地址处的第二数据包(DP11)执行闪存命令(FLASH_CMD)。
因而,闪存存储器系统102使用EEPROM系统106来修复,该EEPROM系统106并不是与闪存存储器系统102相同类型的存储器。上述修复机制同样可以被实施用于EEPROM系统的修复。此外,在读操作期间,高速缓冲存储器110在一个闪存时钟周期内输出数据。另外,芯片100与常规的存储器装置相比具有更快的获取时间。芯片100能够使用现有的设计程序(例如,寄存器-传输级设计)来实现。芯片100使用第一和第二EEPROM段140a和140b,而不是冗余的闪存存储器扇区来修复在第一闪存存储器扇区136中的错误。因此,上述修复机制与使用冗余的闪存存储器扇区的现有技术的解决方案相比是经济的。此外,与现有技术解决方案相比,上述修复机制代替较少数量的不包括错误的存储器单元。
虽然已经示出并描述了本发明的各种实施例,但是应当清楚,本发明并不仅限定于这些实施例。本领域技术人员应当清楚没有脱离权利要求书所描述的本发明的精神和范围的众多的修改、改变、变动、替代和等效形式。

Claims (18)

1.一种存储器装置,该存储器装置作为集成电路芯片的一部分,所述存储器装置包含:
第一片上存储器系统,所述第一片上存储器系统包含用于将第一数据包存储于具有第一地址的第一存储器段中的第一非易失性存储器,其中所述第一存储器段包含一组存储器单元;
连接到所述第一片上存储器系统的修复控制器,其中所述修复控制器接收指示所述一组存储器单元的存储器单元有缺陷的错误信号,并且基于所述错误信号接收所述第一数据包和所述第一地址;
第二片上存储器系统,所述第二片上存储器系统包含连接到所述修复控制器的第二非易失性存储器,其中所述第二片上存储器系统基于所述错误信号接收并存储所述第一数据包和所述第一地址;以及
连接到所述第一片上存储器系统和第二片上存储器系统的高速缓冲存储器,所述高速缓冲存储器包括内容可寻址存储器CAM,其中:
在读操作期间,所述高速缓冲存储器接收第一读地址,当所述第一读地址与所述第一地址匹配时,所述CAM生成读地址命中信号和选择信号;以及
所述高速缓冲存储器基于负载请求信号从所述第二片上存储器系统接收并存储所述第一数据包和所述第一地址,并且当所述第一读地址与所述第一地址匹配时输出所述第一数据包。
2.根据权利要求1所述的存储器装置,其中所述高速缓冲存储器的内容可寻址存储器CAM存储所述第一地址,其中所述CAM将所述第一读地址与所述第一地址进行比较,并且当所述第一读地址与所述第一地址匹配时,所述高速缓冲存储器输出所述第一数据包。
3.根据权利要求1所述的存储器装置,其中所述高速缓冲存储器包含接收所述第一数据包和所述选择信号的第一多路复用器,并且基于所述选择信号来输出所述第一数据包。
4.根据权利要求3所述的存储器装置,还包含连接到所述第一片上存储器系统的第二多路复用器,其中:
所述第二多路复用器接收所述第一非易失性存储器的第二存储器段的第二数据包,以及来自所述第一多路复用器的所述第一数据包;以及
所述第二多路复用器基于所述读地址命中信号来输出所述第二数据包或所述第一数据包。
5.根据权利要求2所述的存储器装置,其中:
所述第一非易失性存储器是闪存存储器,并且所述第二非易失性存储器是电可擦除可编程只读存储器EEPROM。
6.根据权利要求5所述的存储器装置,其中:
所述第一片上存储器系统接收第一闪存命令和第一闪存存储器地址,并且输出所述第一闪存存储器地址;以及
所述CAM将所述第一闪存存储器地址与所述第一地址进行比较,并且当所述第一闪存存储器地址与所述第一地址匹配时输出命令地址命中信号。
7.根据权利要求6所述的存储器装置,其中所述修复控制器接收所述命令地址命中信号、所述第一闪存命令和所述第一闪存存储器地址,并且基于所述命令地址命中信号输出第一经修改的闪存命令。
8.根据权利要求7所述的存储器装置,其中当所述第二片上存储器系统存储所述第一数据包或者所述第二片上存储器系统执行所述第一经修改的闪存命令时,所述修复控制器生成所述负载请求信号。
9.根据权利要求8所述的存储器装置,其中:
所述第一和第二片上存储器系统各自还分别包含第一存储器控制器和第二存储器控制器;
所述第一存储器控制器识别出所述一组存储器单元中的所述存储器单元中的所述错误并生成所述错误信号;以及
所述第二存储器控制器对存储于所述第二非易失性存储器中的所述第一数据包执行所述第一经修改的闪存命令。
10.一种用于修复第一存储器系统的第一非易失性存储器的方法,所述第一存储器系统的第一非易失性存储器用来将第一数据包存储于其具有第一地址的第一存储器段中,其中所述第一存储器段包含一组存储器单元,所述方法包括:
生成指示所述一组存储器单元的存储器单元有缺陷的错误信号并将所述错误信号提供给修复控制器;
由所述修复控制器基于所述错误信号来接收所述第一数据包和所述第一地址;
将所述第一数据包和所述第一地址存储于第二非易失性存储器中,其中所述第二非易失性存储器从所述修复控制器接收所述第一数据包和所述第一地址;
基于接收到负载请求信号而将所述第一数据包和所述第一地址存储于高速缓冲存储器中,所述高速缓冲存储器包括内容可寻址存储器CAM,其中所述高速缓冲存储器从所述第二非易失性存储器接收所述第一数据包和所述第一地址;
在读操作期间将第一读地址与所述第一地址进行比较,在所述第一读地址与所述第一地址匹配时由所述CAM生成读地址命中信号和选择信号;以及
当所述第一读地址与所述第一地址匹配时,从所述高速缓冲存储器输出所述第一数据包,由此修复所述第一非易失性存储器。
11.根据权利要求10所述的方法,还包括将所述第一地址存储于所述CAM中,并且其中所述CAM将所述第一读地址和所述第一地址进行比较。
12.根据权利要求10所述的方法,还包括:
将所述第一数据包和所述选择信号提供给第一多路复用器;以及
由所述第一多路复用器基于所述选择信号来输出所述第一数据包。
13.根据权利要求12所述的方法,还包括:
将存储于所述第一非易失性存储器的第二存储器段中的第二数据包、来自所述第一多路复用器的所述第一数据包以及来自所述CAM的所述读地址命中信号提供给第二多路复用器;以及
由所述第二多路复用器基于所述读地址命中信号来输出所述第一数据包或者所述第二数据包。
14.根据权利要求11所述的方法,其中所述第一非易失性存储器包括闪存存储器并且所述第二非易失性存储器包括电可擦除可编程存储器EEPROM,所述方法还包括在所述读操作期间当第一闪存存储器地址与所述第一地址匹配时,通过所述CAM来生成命令地址命中信号。
15.根据权利要求14所述的方法,还包括所述修复控制器接收第一闪存命令和所述第一闪存存储器地址,并且基于所述命令地址命中信号来修改所述第一闪存命令以生成第一经修改的闪存命令。
16.根据权利要求15所述的方法,还包括由所述EEPROM的存储器控制器对存储于所述EEPROM中的所述第一数据包执行所述第一经修改的闪存命令。
17.根据权利要求16所述的方法,还包括:当所述第一数据包被存储于所述EEPROM中或者所述EEPROM执行所述第一经修改的闪存命令时,由所述修复控制器生成所述负载请求信号。
18.根据权利要求10所述的方法,其中所述第一存储器系统的存储器控制器生成所述错误信号。
CN201710255450.9A 2017-04-19 2017-04-19 非易失性存储器修复电路 Active CN108735268B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710255450.9A CN108735268B (zh) 2017-04-19 2017-04-19 非易失性存储器修复电路
US15/593,326 US10229025B2 (en) 2017-04-19 2017-05-12 Non-volatile memory repair circuit
EP18162862.9A EP3392885B1 (en) 2017-04-19 2018-03-20 Non-volatile memory repair circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710255450.9A CN108735268B (zh) 2017-04-19 2017-04-19 非易失性存储器修复电路

Publications (2)

Publication Number Publication Date
CN108735268A CN108735268A (zh) 2018-11-02
CN108735268B true CN108735268B (zh) 2024-01-30

Family

ID=61731599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710255450.9A Active CN108735268B (zh) 2017-04-19 2017-04-19 非易失性存储器修复电路

Country Status (3)

Country Link
US (1) US10229025B2 (zh)
EP (1) EP3392885B1 (zh)
CN (1) CN108735268B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11646095B2 (en) * 2020-03-06 2023-05-09 Micron Technology, Inc. Configurable soft post-package repair (SPPR) schemes
US11227652B2 (en) * 2020-03-17 2022-01-18 SK Hynix Inc. Memory device and method of operating the same
CN112667445B (zh) * 2021-01-12 2022-05-03 长鑫存储技术有限公司 封装后的内存修复方法及装置、存储介质、电子设备
US11989417B1 (en) 2022-10-31 2024-05-21 Nxp Usa, Inc. Column repair in a memory system using a repair cache

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101253576A (zh) * 2005-06-29 2008-08-27 美光科技公司 用于修复半导体存储器的设备和方法
CN101611456A (zh) * 2007-02-16 2009-12-23 爱特梅尔公司 具有用于测试快闪存储器的串行接口的嵌入式架构
CN103295648A (zh) * 2012-02-29 2013-09-11 三星电子株式会社 修复存储器单元的设备和方法及包括该设备的存储器系统
CN106133842A (zh) * 2014-04-07 2016-11-16 美光科技公司 存储器装置的软封装后修复
CN106548809A (zh) * 2015-09-22 2017-03-29 飞思卡尔半导体公司 处理缺陷非易失性存储器

Family Cites Families (35)

* 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
EP0333207B1 (en) * 1988-03-18 1997-06-11 Kabushiki Kaisha Toshiba Mask rom with spare memory cells
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
EP1047077A1 (en) 1999-04-21 2000-10-25 STMicroelectronics S.r.l. Nonvolatile memory device with double hierarchical decoding
US6484271B1 (en) * 1999-09-16 2002-11-19 Koninklijke Philips Electronics N.V. Memory redundancy techniques
US6614685B2 (en) 2001-08-09 2003-09-02 Multi Level Memory Technology Flash memory array partitioning architectures
US7073099B1 (en) * 2002-05-30 2006-07-04 Marvell International Ltd. Method and apparatus for improving memory operation and yield
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
US7177189B2 (en) 2004-03-01 2007-02-13 Intel Corporation Memory defect detection and self-repair technique
KR100624287B1 (ko) * 2004-05-11 2006-09-18 에스티마이크로일렉트로닉스 엔.브이. 낸드 플래시 메모리 소자의 리던던시 회로
KR100689706B1 (ko) * 2004-11-01 2007-03-08 삼성전자주식회사 반도체 메모리 장치의 리던던시 회로 및 리페어 방법
JP2006185535A (ja) * 2004-12-28 2006-07-13 Nec Electronics Corp 半導体記憶装置
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
US7861030B2 (en) * 2007-08-08 2010-12-28 Microchip Technology Incorporated Method and apparatus for updating data in ROM using a CAM
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
TWI336890B (en) * 2007-12-21 2011-02-01 Nat Univ Tsing Hua Built-in self-repair method for nand flash memory and system thereof
US7684267B2 (en) * 2008-06-18 2010-03-23 Sun Microsystems, Inc. Method and apparatus for memory redundancy in a microprocessor
US11119857B2 (en) * 2012-09-18 2021-09-14 Mosys, Inc. Substitute redundant memory
KR101196968B1 (ko) * 2010-04-13 2012-11-05 에스케이하이닉스 주식회사 불휘발성 메모리 소자
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
KR101178563B1 (ko) * 2011-02-28 2012-08-31 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작방법
KR20120122549A (ko) 2011-04-29 2012-11-07 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그의 리페어 방법
US8689081B2 (en) * 2011-11-28 2014-04-01 Cisco Technology, Inc. Techniques for embedded memory self repair
KR102025341B1 (ko) * 2012-12-04 2019-09-25 삼성전자 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작 방법
US9146808B1 (en) * 2013-01-24 2015-09-29 Emulex Corporation Soft error protection for content addressable memory
KR102269899B1 (ko) * 2015-01-12 2021-06-28 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR102415835B1 (ko) * 2016-01-08 2022-07-01 삼성전자주식회사 반도체 메모리 장치, 및 상기 반도체 메모리 장치를 포함하는 메모리 시스템
US10032515B2 (en) * 2016-02-26 2018-07-24 Nxp Usa, Inc. Memory repair system and method therefor
US20170255516A1 (en) * 2016-03-06 2017-09-07 Chengdu Haicun Ip Technology Llc Field-Repair System and Method of Mask-Programmed Read-Only Memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101253576A (zh) * 2005-06-29 2008-08-27 美光科技公司 用于修复半导体存储器的设备和方法
CN101611456A (zh) * 2007-02-16 2009-12-23 爱特梅尔公司 具有用于测试快闪存储器的串行接口的嵌入式架构
CN103295648A (zh) * 2012-02-29 2013-09-11 三星电子株式会社 修复存储器单元的设备和方法及包括该设备的存储器系统
CN106133842A (zh) * 2014-04-07 2016-11-16 美光科技公司 存储器装置的软封装后修复
CN106548809A (zh) * 2015-09-22 2017-03-29 飞思卡尔半导体公司 处理缺陷非易失性存储器

Also Published As

Publication number Publication date
US20180308562A1 (en) 2018-10-25
US10229025B2 (en) 2019-03-12
EP3392885B1 (en) 2020-11-11
EP3392885A1 (en) 2018-10-24
CN108735268A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
KR100712596B1 (ko) 플래시 메모리 장치의 리페어 및 트리밍 방법 및 장치
US6667918B2 (en) Self-repair of embedded memory arrays
US8015438B2 (en) Memory circuit
US7885111B2 (en) Flash memory device and method for providing initialization data
US8694855B1 (en) Error correction code technique for improving read stress endurance
EP3392885B1 (en) Non-volatile memory repair circuit
US7366946B2 (en) ROM redundancy in ROM embedded DRAM
US20060253723A1 (en) Semiconductor memory and method of correcting errors for the same
US20070136640A1 (en) Defect detection and repair in an embedded random access memory
JP2007004955A (ja) 不揮発性半導体記憶装置
TW201503145A (zh) 在nand陣列中儲存及讀取可靠資訊的方法及裝置
US9847142B2 (en) Semiconductor apparatus and repair method thereof
JP2005310313A (ja) 半導体記憶装置
US6634003B1 (en) Decoding circuit for memories with redundancy
US7518918B2 (en) Method and apparatus for repairing embedded memory in an integrated circuit
US11243828B2 (en) Semiconductor apparatus and semiconductor system including the semiconductor apparatus
CN106067326B (zh) 错误校正电路及包括其的半导体存储器件
CN109493911B (zh) 存储器控制器的操作方法、以及存储器件及其操作方法
US9064605B2 (en) Semiconductor system and method for reparing the same
KR20190075354A (ko) 메모리 장치 및 메모리 장치의 동작 방법
US20240069764A1 (en) Single-bit error indication for a memory built-in self-test
US12001305B2 (en) Resource allocation for a memory built-in self-test
US11984180B2 (en) Enabling or disabling on-die error-correcting code for a memory built-in self-test
CN106910530B (zh) 集成电路和存储器件
US20230395179A1 (en) Interrupting a memory built-in self-test

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant