CN109542666B - 用于支持纠错码的装置及其测试方法 - Google Patents

用于支持纠错码的装置及其测试方法 Download PDF

Info

Publication number
CN109542666B
CN109542666B CN201811106617.6A CN201811106617A CN109542666B CN 109542666 B CN109542666 B CN 109542666B CN 201811106617 A CN201811106617 A CN 201811106617A CN 109542666 B CN109542666 B CN 109542666B
Authority
CN
China
Prior art keywords
data
memory
bit
error
test mode
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
CN201811106617.6A
Other languages
English (en)
Other versions
CN109542666A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020180020017A external-priority patent/KR102661931B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN109542666A publication Critical patent/CN109542666A/zh
Application granted granted Critical
Publication of CN109542666B publication Critical patent/CN109542666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • 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/46Test trigger logic
    • 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
    • G11C29/36Data generation devices, e.g. data inverters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

公开一种用于支持纠错码的装置及其测试方法。一种根据本发明构思的示例实施例的用于支持用于存储器测试的测试模式的装置可包括:存储器,被配置为接收并存储写入数据,并且从存储的写入数据输出读取数据;纠错码(ECC)引擎,被配置为通过对输入数据进行编码来生成写入数据,并且当N是正整数时,通过校正包括在接收数据中的N位或更少位的错误位来生成输出数据;错误插入电路,被配置为在正常模式下将读取数据作为接收数据提供给ECC引擎,并且在测试模式下将通过使读取数据的小于N位的至少一个位反相而获得的数据作为接收数据提供给ECC引擎。

Description

用于支持纠错码的装置及其测试方法
本申请要求于2017年9月21日提交到韩国知识产权局的第10-2017-0121878号韩国专利申请和于2018年2月20日提交到韩国知识产权局的第10-2018-0020017号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本发明构思涉及用于支持纠错码的装置,更具体地讲,涉及用于支持纠错码的装置和/或其测试方法。
背景技术
纠错码(ECC)系统可用于校正在已经通过噪声通道(noisy channel)的数据中发生的错误。例如,ECC系统可用于校正在通过通信通道接收的数据中发生的错误,或者可用于校正在从存储器读取的数据中发生的错误。根据ECC系统,可生成冗余被添加到原始数据的码字,并且可通过校正已经通过噪声通道的数据中的错误来恢复原始数据。ECC系统可具有可校正的错误量,并且可校正的错误量越大,用于实现ECC系统的资源越多,添加到ECC的冗余也会增加。因此,在噪声通道中可能发生的错误的量可受限于能够由给定的ECC系统校正的错误量的范围。例如,如果噪声通道是ECC系统中的存储器,则可需要验证可在存储器中发生的错误的量是否在能够通过给定的ECC系统校正的错误量的范围内。
发明内容
本发明构思提供用于支持纠错码(ECC)的装置,更具体地讲,提供用于容易地确定噪声通道是否具有可由ECC系统校正的错误量的范围的用于支持ECC的装置和/或其测试方法。
根据示例实施例,一种用于支持用于存储器测试的测试模式的装置,所述装置可包括:存储器,被配置为接收并存储写入数据,并且从存储的写入数据输出读取数据;纠错码(ECC)引擎,被配置为通过对输入数据进行编码来生成写入数据,并且当N是正整数时,通过校正包括在接收数据中的N位或更少位的错误位来生成输出数据;错误插入电路,被配置为:在正常模式下将读取数据作为接收数据提供给ECC引擎,并且在测试模式下将通过使读取数据的小于N位的至少一个位反相而获得的数据作为接收数据提供给ECC引擎。
根据示例实施例,一种用于支持用于存储器测试的测试模式的装置,所述装置可包括:存储器,被配置为接收并存储写入数据,并且从存储的写入数据输出读取数据;纠错码(ECC)引擎,被配置为通过对输入数据进行编码来生成编码的数据,并且当N是正整数时,通过校正包括在读取数据中的N位或更少位的错误位来生成输出数据;错误插入电路,被配置为在正常模式下将编码的数据作为写入数据提供给存储器,并且在测试模式下将通过使编码的数据的小于N位的至少一个位反相获得的数据作为写入数据提供给存储器。
根据示例实施例,一种测试包括纠错码(ECC)引擎和存储器的装置的方法,所述装置被配置为当N是正整数时校正N位或更少的错误位,所述方法可包括:由ECC引擎通过对输入数据进行编码来生成写入数据;将写入数据写入存储器中,读取写入数据,并输出读取数据;由ECC引擎通过校正读取数据的错误来生成输出数据,其中,写入写入数据的步骤和输出读取数据的步骤包括:使写入数据和读取数据中的至少一个中的少于N位的至少一个位反相。
附图说明
通过以下结合附图进行的详细描述,本发明构思的示例实施例将被更清楚地理解,其中:
图1是根据本发明构思的示例实施例的用于支持纠错码(ECC)的装置的框图;
图2A和图2B是示出根据本发明构思的示例实施例的图1的装置的示例的框图;
图3A和图3B是示出根据本发明构思的示例实施例的图1的错误插入电路的示例的框图;
图4是根据本发明构思的示例实施例的在测试模式下的图2A的写入数据的示例的示图;
图5是示出根据本发明构思的示例实施例的测试用于支持ECC的装置的方法的流程图;
图6A和图6B是示出根据本发明构思的示例实施例的测试用于支持ECC的装置的方法的流程图;
图7A至图7C是示出根据本发明构思的示例实施例的位选择电路的示例的框图;
图8是示出根据本发明构思的示例实施例的测试用于支持ECC的装置的方法的流程图;
图9是示出根据本发明构思的示例实施例的图8的操作S80的示例的流程图;
图10是示出根据本发明构思的示例实施例的用于支持ECC的装置的示例的框图;
图11是示出根据本发明构思的示例实施例的用于支持ECC的装置的示例的框图。
具体实施方式
图1是根据本发明构思的示例实施例的用于支持纠错码(ECC)的装置10的框图。更详细地讲,图1示出包括作为ECC系统中的噪声通道的存储器300的装置10。如图1中所示,装置10可包括ECC引擎100、错误插入电路200和存储器300。
装置10可以是包括用于存储输入数据D_IN并使用存储的数据作为输出数据D_OUT的存储器300的任何装置。在一些示例实施例中,装置10可以是,但不限于,片上系统(SoC)(诸如,应用处理器(AP))。在一些示例实施例中,装置10可以是,但不限于,用于存储输入数据D_IN并根据外部命令输出输出数据D_OUT的半导体存储器装置(诸如,动态随机存取存储器(DRAM)、闪存等)。在一些示例实施例中,装置10可以是,但不限于,用于存储输入数据D_IN并响应于主机请求而输出输出数据D_OUT的存储器系统(诸如,固态驱动器(SSD)、存储卡等)。
ECC引擎100可通过对输入数据D_IN进行编码来生成编码的数据D_ENC,并且可通过对接收数据D_RX进行解码来生成输出数据D_OUT。装置10中的存储器300可以是噪声通道。例如,但不限于,由于在存储器300中存储数据的存储器单元中的缺陷,和/或由于设置在存储器300中的写入数据D_WR移动的路径或从存储器300输出的读取数据D_RD移动的路径中的缺陷,可发生噪声。装置10可包括ECC引擎100,ECC引擎100可通过将冗余添加到将被存储在存储器300中的输入数据D_IN来生成编码的数据D_ENC,并且可通过基于从存储器300接收的接收数据D_RX中的冗余校正错误来生成输出数据D_OUT。在一些示例实施例中,编码的数据D_ENC可以以码字为单位提供给存储器300,其中,码字包括输入数据D_IN的一部分(或从输入数据D_IN生成的数据)和冗余。
ECC引擎100可以以各种方式执行编码和解码。例如,ECC引擎100可基于,但不限于,诸如,AN码、BCH码、汉明码、极化码、Turbo码等的ECC来执行编码和解码。在一些示例实施例中,ECC引擎100可包括处理器和用于存储由处理器执行的指令的存储器,或者在一些示例实施例中,ECC引擎100可包括通过逻辑综合(logic synthesis)设计的逻辑电路。
ECC引擎100可具有可校正的错误量。例如,当根据2位校正ECC系统设计ECC引擎100时,ECC引擎100可检测并校正接收数据D_RX中的小于或等于2位的错误(例如,1位错误和2位错误)。在一些示例实施例中,ECC引擎100可检测接收数据D_RX中的错误的量超过可由ECC引擎100校正的错误的量,或者可生成指示错误校正是不可能的信号。
随着可由ECC引擎100校正的错误量增加,添加到输入数据D_IN以生成编码的数据D_ENC的冗余可增加,并且用于存储输入数据D_IN的存储器300的存储容量可减小。此外,随着可由ECC引擎100校正的错误的量增加,由ECC引擎100所消耗的资源(诸如,面积、功率和/或时间)可增加。因此,ECC引擎100可被设计为具有基于噪声通道确定的可校正的错误量(即,在存储器300中发生的位错误率(bit error rate,BER))。例如,当存储器300的期望的BER为0.2并且由ECC引擎100处理的数据单元是10位数据单元时,ECC引擎100的可校正错误量可被设计为2位或更多位。当ECC引擎100具有N位可校正错误量(N>0)时,ECC系统可被称为N位校正ECC系统,ECC引擎100可被称为N位校正ECC引擎100。
错误插入电路200可根据模式信号C_MODE,在ECC引擎100与存储器300之间,选择性地插入错误。如图1中所示,错误插入电路200可从ECC引擎100接收编码的数据D_ENC,并将写入数据D_WR提供给存储器300。错误插入电路200还可从存储器300接收读取数据D_RD,并将接收数据D_RX提供给ECC引擎100。模式信号C_MODE可指示装置10的模式,装置10可根据模式信号C_MODE在正常模式和测试模式下操作。错误插入电路200可包括处理器和用于存储由处理器执行的指令的存储器,或者在一些示例实施例中,可包括通过逻辑综合设计的逻辑电路。
错误插入电路200可包括至少一个位错误电路(bit error circuit)BE。位错误电路BE可接收指示一个位的值的输入信号IN,并可输出指示一个位的值的输出信号OUT。如图1中所示,位错误电路BE可包括反相器INV和开关SW,输出信号OUT可以与输入信号IN相同,或者可以与通过使输入信号IN反相获得的信号相同。在一些示例实施例中,可基于输入到错误插入电路200的模式信号C_MODE来控制位错误电路BE的开关SW。例如,当模式信号C_MODE指示正常模式时,开关SW可被控制使得输出信号OUT与输入信号IN一致。例如,当模式信号C_MODE指示测试模式时,开关SW可被控制使得输出信号OUT与通过使输入信号IN反相获得的信号一致。当与输入信号IN一致的输出信号OUT输出时,位错误电路BE可被表示为被去激活,当通过使输入信号IN反相获得的输出信号OUT输出时,位错误电路BE可被表示为被激活。
错误插入电路200可在测试模式下使用位错误电路BE将错误插入到由错误插入电路200接收的数据中。在一些示例实施例中,错误插入电路200可响应于模式信号C_MODE指示测试模式,通过将至少一个位错误插入到由ECC引擎100提供的编码的数据D_ENC中,来生成写入数据D_WR,如下面参照图2A所述。在一些示例实施例中,错误插入电路200还可响应于模式信号C_MODE指示测试模式,通过将至少一个位错误插入到从存储器300提供的读取数据D_RD中,来生成接收数据D_RX,如下面参照图2B所述。此外,在一些示例实施例中,错误插入电路200可响应于模式信号C_MODE指示测试模式,将至少一个位错误分别插入到编码的数据D_ENC和读取数据D_RD中。
这样,可在测试模式下通过错误插入电路200插入至少一个位错误,从而可将存储器300验证为可接受的或有缺陷的。导致存储器300中的错误的缺陷不仅可包括在存储器300的制造过程期间发生的初始缺陷,而且还包括在当存储器300或包括存储器300的装置10被出货和/或使用时的时间段期间发生的后续缺陷。因此,在存储器300或装置10的制造过程期间,可从可由ECC引擎100校正的错误量验证存储器300是否具有特定的错误容限(error margin)。例如,当ECC引擎100对应于3位校正ECC系统时,存储器300可被制造为具有1位错误容限。因此,即使由于存储器300中的缺陷而发生1位错误,存储器300也可正常使用。因此,在存储器300或装置10的制造过程中,存储器300可被测试,以便出货仅具有2位错误或更少位错误的存储器300(即,具有1位错误容限的存储器300)。也就是说,存储器300或装置10可在制造过程期间被测试,使得即使在装置10被用户使用时发生1位错误,也能够通过用于3位校正的ECC引擎100来校正错误,以在装置10中不引起问题。
错误插入电路200可通过插入与存储器300的错误容限对应的错误量来人为地减少可由ECC引擎100校正的ECC系统的错误量。例如,当装置10包括3位校正ECC引擎100并且错误插入电路200插入1位错误时,那么存储器300可始终被认为包含1位错误,因此,装置10可对应于2位ECC系统。此外,如图1中所示,在测试模式下,错误插入电路200可使用简单结构的位错误电路BE在ECC引擎100与存储器300之间插入错误。可根据通过ECC引擎100的错误校正是否成功,来确定存储器300或装置10的接受或故障。例如,当存储器300被制造为具有1位错误容限时,错误插入电路200可在测试模式下插入1位错误,并确定ECC引擎100是否成功校正错误,以测试存储器300或装置10。因此,可在包括存储器300和支持ECC的装置10中容易地验证存储器300,因此,装置10的生产率可被提高。虽然图1示出作为噪声通道的存储器300的示例,但是将理解,根据本发明构思的示例实施例可容易地验证从可通过具有其他噪声的通道(例如,通信通道)预测的错误量提供额外容限的ECC系统。
存储器300可接收并存储写入数据D_WR,并且可从存储的写入数据D_WR输出读取数据D_RD。存储器300可包括用于存储数据的多个存储器单元。在一些示例实施例中,存储器300可包括非易失性存储器(例如,电可擦除可编程只读存储器(EEPROM)、闪存、相变随机存取存储器(PRAM)、电阻随机存取存储器(RRAM)、纳米浮动栅存储器(NFGM)、聚合物随机存取存储器(polymer random access memory,PoRAM)、磁随机存取存储器(MRAM)或铁电随机存取存储器(FRAM))。在一些示例实施例中,存储器300可包括易失性存储器(例如,DRAM、静态RAM、移动DRAM、双倍数据速率同步DRAM(DDR SDRAM)、低功率DDR(LPDDR)SDRAM、图形DDR(GDDR)SDRAM或rambus DRAM(RDRAM))。
图2A和图2B是示出根据本发明构思的示例实施例的图1的装置10的示例的框图。如上面参考图1所述,图2A的装置10a和图2B的装置10b均可根据从外部提供的模式信号C_MODE支持正常模式和测试模式。在下文中,在图2A和图2B中,与图1中的参考标号相同的参考标号表示相同的元件,因此,在此将不再给出其详细描述。
参照图2A,装置10a可包括ECC引擎100a、错误插入电路200a和存储器300a。错误插入电路200a可在正常模式下将从ECC引擎100a提供的编码的数据D_ENC作为写入数据D_WR提供给存储器300a,和/或可在测试模式下将通过将至少一个位错误插入到编码的数据D_ENC中而生成的写入数据D_WR提供给存储器300a。ECC引擎100a可接收从存储器300a输出的读取数据D_RD,因此,在测试模式下,图1的读取数据D_RD和接收数据D_RX可彼此一致。
在测试模式下,输入数据D_IN可被存储在存储器300a中,然后,可从自存储器300a输出的读取数据D_RD生成输出数据D_OUT。例如,在将相同的输入数据D_IN顺序地存储在整个存储器300a中的操作被执行之后,可从自整个存储器300a顺序地输出的读取数据D_RD生成输出数据D_OUT。在一些示例实施例中,输入数据D_IN可以与由ECC引擎100a生成的输出数据D_OUT进行比较,并且当输入数据D_IN和输出数据D_OUT彼此不一致时,存储器300a可被确定为有缺陷的。在一些示例实施例中,当ECC引擎100a不能校正读取数据D_RD的错误(即,读取数据D_RD中的错误超过可由ECC引擎100a校正的错误量)时,ECC引擎100a可输出指示其的信号。此外,可根据从ECC引擎100a输出的信号,确定存储器300a是有缺陷的。
错误插入电路200a可在测试模式下改变插入的至少一个位错误的位置。例如,错误插入电路200a可将通过将至少一个位错误插入到编码的数据D_ENC中而生成的写入数据D_WR写入到存储器300a的特定区域中,并且可通过读取存储在存储器300a的特定区域中的数据来输出读取数据D_RD。接下来,错误插入电路200a可将包括插入到与之前的相同编码的数据D_ENC中的先前位置不同的位置的至少一个位错误的写入数据D_WR写入在与存储器300a的先前区域相同的区域中,并且可读取存储在与存储器300a的先前区域相同的区域中的数据,从而输出读取数据D_RD。当在由错误插入电路200a插入的位错误的位置中发生实际上由存储器300a引起的实际的位错误时,由错误插入电路200a插入的位错误不能用作存储器300a的错误容限。因此,在改变针对相同的区域和相同的编码的数据D_ENC插入位错误的位置的同时,可重复写入生成的写入数据D_WR并输出读取数据D_RD的操作。稍后下面将参照图3A和图3B以及图4描述通过错误插入电路200b改变位错误的位置的示例。
参照图2B,装置10b可包括ECC引擎100b、错误插入电路200b和存储器300b。错误插入电路200b可在正常模式下将从存储器300b提供的读取数据D_RD作为接收数据D_RX提供给ECC引擎100b,和/或可在测试模式下将通过将至少一个位错误插入到读取数据D_RD中而生成的接收数据D_RX提供给ECC引擎100b。存储器300b可接收从ECC引擎100b输出的写入数据D_WR。根据图2B的示例,在测试模式下,图1的编码的数据D_ENC和写入数据D_WR可彼此一致。
如上面参照图2B所述,错误插入电路200b可在测试模式下改变插入的至少一个位错误的位置。例如,错误插入电路200b可将接收数据D_RX提供给ECC引擎100b,其中,通过将至少一个位错误插入到通过读取写入数据D_WR被写入的区域而输出的读取数据D_RD中来生成该接收数据D_RX。此后,错误插入电路200b可向ECC引擎100b提供包括至少一个位错误的接收数据D_RX,其中,在与先前位置不同的位置将该至少一个位错误插入到通过读取与之前相同的区域而输出的读取数据D_RD中。在图2A的装置10a中,可通过根据位错误的位置将写入数据D_WR多次写入到相同的区域并多次读取写入数据,来多次输出读取数据D_RD。然而,在图2B的装置10b中,可通过将写入数据D_WR一次写入到相同的区域并多次读取写入的数据,来多次输出读取数据D_RD。此外,如稍后下面将参照图6B所述,可在图2B的装置10b中执行一次针对存储器300b的相同的区域的读取操作。
在下文中,将主要参照错误插入电路200a在测试模式下将通过将位错误插入到编码的数据D_ENC中而生成的写入数据D_WR存储在存储器300a中的示例,来描述本发明构思的示例实施例,但本发明构思的示例实施例不限于此。本发明构思的示例实施例还可应用于包括图2B的装置10b和图2A的错误插入电路200a和图2B的错误插入电路200b的全部的装置。
图3A和图3B是示出根据本发明构思的示例实施例的图1的错误插入电路200的示例的框图。更详细地讲,图3A和图3B示出图2A的错误插入电路200a的示例。如上面参照图2A所述,图3A的错误插入电路200a'和图3B的错误插入电路200a"可在测试模式下将至少一个位错误插入到n位的编码的数据D_ENC(即,D_ENC[n:1])中,以生成n位写入数据D_WR(即,D_WR[n:1])(n>0)。在下文中,将参照图2A描述图3A和图3B,在此将不再给出图3A和图3B的重复描述。
参照图3A,错误插入电路200a'可包括位选择电路210'和m个位错误电路220'(n>m>0)。m个位错误电路220'可包括多个位错误电路BE1至BEm。位选择电路210'可接收模式信号C_MODE,并且可将选择信号SEL的多达m位分别提供给m个位错误电路220'。响应于模式信号C_MODE指示正常模式,位选择电路210'可生成选择信号SEL,使得所有m个位错误电路220'被去激活(即,编码的数据D_ENC的位信号被直接输出作为写入数据D_WR的位信号)。另一方面,响应于模式信号C_MODE指示测试模式,位选择电路210'可生成选择信号SEL,使得m个位错误电路220'中的至少一个被激活(即,通过使编码的数据D_ENC的位信号反相获得的位信号被输出作为写入数据D_WR的位信号)。
如图3A中所示,m个位错误电路220'可布置为与编码的数据D_ENC的n位之中的m位对应。图3A中所示的m个位错误电路220'的布置仅是示例性的,与图3A中所示出的不同,例如,m个位错误电路220'可按从编码的数据D_ENC的最高有效位(MSB)的连续的m位D_ENC[n:n-m+1]布置,或者可按从编码的数据D_ENC的MSB的连续的m位D_ENC[m:1]布置。
位选择电路210'可在测试模式下同时激活m个位错误电路220'之中的与存储器300a的错误容限对应的位数的位错误电路。例如,如果存储器300a所要求的错误容限是一位,则位选择电路210'可激活m个位错误电路220'中的一个位错误电路。此外,位选择电路210'可改变将被激活的位错误电路。例如,位选择电路210'可生成选择信号SEL,使得当将相同的编码的数据D_ENC连续K次写入存储器300a的相同的区域中时,不同的K个位错误电路被激活。如稍后下面参照图4所述,可基于ECC引擎100a的可校正的位的数量和存储器300a的错误容限,来确定从相同的编码的数据D_ENC生成的写入数据D_WR被写入到存储器300a的相同的区域中的次数K。
参照图3B,错误插入电路200a"可包括位选择电路210"和n个位错误电路200a"。也就是说,错误插入电路200a"可包括分别与编码的数据D_ENC的n个位对应的n个位错误电路220"。n个位错误电路220"可包括多个位错误电路BE1至BEn。位选择电路210"可接收模式信号C_MODE,并且可将选择信号SEL的n位分别提供给n个位错误电路220"。响应于模式信号C_MODE指示正常模式,位选择电路210"可生成选择信号SEL,使得所有的n个位错误电路220"被去激活。另一方面,响应于模式信号C_MODE指示测试模式,位选择电路210"可生成选择信号SEL,使得n个位错误电路220"中的至少一个被激活。
图4是根据本发明构思的示例实施例的在测试模式下的图2A的写入数据D_WR的示例的示图。更详细地讲,图4示出从相同的编码的数据D_ENC生成并连续写入图2A的存储器300a中的写入数据D_WR。在图4的示例中,图2A的ECC引擎100a可对应于2位校正ECC系统,存储器300a中要求的错误容限可以是1位。因此,错误插入电路200a可通过使编码的数据D_ENC中的1位反相,来生成插入1位错误的写入数据D_WR。在图4中,阴影部分表示被错误插入电路200a反相的位。在下文中,将参照图2A描述图4。
可基于ECC引擎100a的可校正的位的数量和存储器300a的错误容限,来确定从相同的编码的数据D_ENC生成的写入数据D_WR被写入到存储器300a的相同的区域中的次数K。如图4的示例中所示,当N是2并且存储器300a的错误容限是1位时,输出包括由于存储器300a中的缺陷引起的两个或更多个实际的位错误(real bit error)的读取数据D_RD的存储器300a可被确定为有缺陷的。当由于错误插入电路200a引起的位错误被插入到与由于存储器300a中的缺陷引起的实际的位错误相同的位置时,由于实际的位错误通过插入的位错误被校正,或者插入的位错误和实际的位错误作为一个位错误被包括在读取数据D_RD中,因此,插入位错误的影响可由于读取数据D_RD包括比实际的位错误更少的位错误而被消除。因此,在ECC引擎100a处理读取数据D_RD的过程中,读取数据D_RD的错误可被正常地校正,并且将被确定为有缺陷的存储器300a可被确定为可接受。为了防止由错误插入电路200a插入的位错误布置在与实际的位错误相同的位置中,错误插入电路200a可改变插入位错误的位置。在图4的示例中,为了确定输出包括两个实际的位错误的读取数据D_RD的存储器300a是有缺陷的,错误插入电路200a可在三个不同位置顺序地生成包括位错误的写入数据D_WR。
参照图4,写入数据D_WR可包括x位数量的数据位D1至Dx和y位数量的奇偶校验位P1至Py(n=x+y),错误插入电路200a可通过使数据位的第一数据位D1反相来插入位错误。通过使来自编码的数据D_ENC的第一数据位D1反相获得的写入数据D_WR可被写入存储器300a中,并且可通过读取存储在写入数据D_WR被写入的存储器300a的区域中的数据,将读取数据D_RD提供给ECC引擎100a。
然后,错误插入电路200a可通过使数据位的第三数据位D3反相来插入位错误。通过使来自编码的数据D_ENC的第三数据位D3反相获得的写入数据D_WR可被写入存储器300a中,并且可通过读取存储在写入数据D_WR被写入的存储器300a的区域中的数据,将读取数据D_RD提供给ECC引擎100a。
最后,错误插入电路200a可通过使数据位的第五数据位D5反相来插入位错误。通过使来自编码的数据D_ENC的第五数据位D5反相获得的写入数据D_WR可被写入存储器300a中,并且可通过读取存储在写入数据D_WR被写入的存储器300a的区域中的数据,将读取数据D_RD提供给ECC引擎100a。将理解,图4中插入位错误的位置仅是示例,位错误可被插入到任意的三个不同位置中。
当N位校正ECC引擎100a被使用,并且存储器300a的错误容限是1位时,作为针对存储器300a的相同的区域的写入和读取操作的重复次数K可以与N+1一致。在一些示例实施例中,如果写入数据或读取数据的位数相对较大(即,如果由ECC引擎100a处理的数据的单元的大小相对较大),则插入在不同位置的所有位错误不可能位于与实际的位错误相同的位置。因此,错误插入电路200a可执行少于三次(例如,两次)写入和读取操作,而不是执行三次写入和读取操作。例如,在图4的示例中,不可能在第一数据位D1和第三数据位D3二者中均存在实际的位错误,从而可通过仅执行两次写入和读取操作来缩短存储器300a或装置10a的测试时间。
图5是示出根据本发明构思的示例实施例的测试用于支持ECC的装置的方法的流程图。更详细地讲,图5示出在测试模式下测试图2A的装置10a的方法。在下文中,将参照图2A描述图5。
在操作S110中,可执行初始化操作。例如,如图5中所示,变量i可被设置为1,并且变量i可指示被执行以在编码的数据D_ENC中的不同位置插入位错误的操作的次数(即,执行后续一系列操作(S121至S126)的次数)。
在操作S121中,可执行使编码的数据D_ENC的至少一个位反相的操作。例如,响应于模式信号C_MODE指示测试模式,错误插入电路200a可通过使编码的数据D_ENC的至少一个位反相来生成写入数据D_WR。
可在操作S122中执行将写入数据D_WR写入到存储器300a的操作,并且可在操作S123中执行从存储器300a读取写入的数据的操作。可通过读取存储在写入数据D_WR被写入的存储器300a的区域中的数据,来从存储器300a输出读取数据D_RD。
在操作S124中,可校正读取数据D_RD的错误。例如,ECC引擎100a可从存储器300a接收读取数据D_RD,并且可校正读取数据D_RD中的错误。然后,在操作S125中,可确定错误校正是否成功。例如,ECC引擎100a可具有可校正位的数量,因此,包含超过可校正位的数量的错误的读取数据D_RD的错误校正可能失败。如果错误校正失败,则可随后执行操作S130,并且可在操作S130中执行确定存储器300a是有缺陷的操作。另一方面,如果错误校正成功,则可随后执行操作S126。
在操作S126中,可确定变量i是否等于K。也就是说,可确定写入和读取操作是否已经执行了K次。如上面参考图4所述,可基于ECC引擎100a的可校正错误量和存储器300a的错误容限来确定K。如果变量i等于K,则随后可执行操作S140,并且可在操作S140中执行确定存储器300a是可接受的操作。另一方面,如果变量i不等于K,则在操作S127中,变量i可增加1,然后可随后执行操作S121。在操作S121中,与先前反相的位的位置不同的位置的位可被反相。
图6A和6B是示出根据本发明构思的示例实施例的测试用于支持ECC的装置的方法的流程图。更详细地讲,图6A和图6B示出在测试模式下测试图2B的装置10b的方法。在下文中,将参照图2B描述图6A和图6B。此外,与图2B中附图标号相同的附图标号表示相同的元件,因此,在此将不再给出图6A和图6B的重复描述。
参照图6A,在操作S210中,可执行初始化操作。例如,如图6A中所示,变量i可被设置为1,变量i可指示被执行以在读取数据D_RD中的不同位置插入位错误的操作的次数(即,执行一系列操作(S231至S235)的次数)。
在操作S220中,写入数据D_WR可被写入。如图6A中所示,用于验证存储器300b的特定区域的写入数据D_WR可被写入一次,并且如稍后下面所述,可重复通过读取存储的写入数据D_WR来输出读取数据D_RD的操作。这样,与图5的示例相比,可在图6A和图6B的示例中,减少写入操作的次数,因此,测试存储器300b所花费的时间可相对缩短。
在操作S231中,可读取存储的写入数据D_WR。可通过读取存储在写入数据D_WR被写入的存储器300b的区域中的数据,来从存储器300b输出读取数据D_RD。
在操作S232中,可使读取数据D_RD的至少一个位反相。例如,响应于模式信号C_MODE指示测试模式,错误插入电路200b可通过使读取数据D_RD的至少一个位反相来生成接收数据D_RX。
在操作S233中,可校正接收数据D_RX的错误。例如,ECC引擎100b可从错误插入电路200b接收接收数据D_RX,并且可校正接收数据D_RX中的错误。然后,在操作S234中,可确定错误校正是否成功。例如,ECC引擎100b可具有可校正位的数量,因此,包含超过可校正位的数量的错误的接收数据D_RX的错误校正可能失败。如果错误校正失败,则可随后执行操作S240,并且可在操作S240中执行确定存储器300b是有缺陷的操作。另一方面,如果错误校正成功,则可随后执行操作S235。
在操作S235中,可确定变量i是否等于K。也就是说,可确定读取操作是否已经执行了K次。如上面参照图4所述,可基于ECC引擎100b的可校正错误量和存储器300b的错误容限来确定K。如果变量i等于K,则可随后执行操作S250,并且可在操作S250中执行确定存储器300b是可接受的操作。另一方面,如果变量i不等于K,则在操作S236中,变量i可增加1,然后可随后执行操作S231。在操作S231中,与先前反相的位的位置不同的位置的位可被反相。
参照图6B,与图6A的示例相比,写入数据D_WR的写入操作可执行一次,以验证存储器300b的特定区域,并且存储的写入数据D_WR的读取操作也可执行一次。也就是说,由于通过重复地读取存储的写入数据D_WR而输出的读取数据D_RD是相同的,因此,可重复仅通过错误插入电路200b改变读取数据D_RD中的位错误的位置的操作。
如图6B中所示,图6B的操作可以与图6A的相应操作相同或相似。然而,如果在图6B的操作S235'中变量i不等于K,则在操作S236'中变量i可增加1,并且可在操作S236'之后执行操作S232'而不是执行操作S231'。因此,操作S220'中写入写入数据D_WR的操作以及操作S231'中读取写入的数据的操作均可被执行一次,并且可在操作S232'中重复使读取数据D_RD的至少一个位反相的操作。因此,与图6A的示例相比,根据图6B的示例,存储器300b的读取操作的次数可被减少。
图7A至7C是示出根据本发明构思的示例实施例的位选择电路的示例的框图。如上面参照图3A和图3B所述,图7A至图7C的位选择电路210a、位选择电路210b和位选择电路210c可接收模式信号C_MODE,并可输出选择信号SEL。在下文中,将参考图1描述图7A至图7C,在此将不再给出图7A至图7C的重复描述。
参照图7A,位选择电路210a可包括位模式211。位选择电路210a可响应于模式信号C_MODE指示测试模式而生成选择信号SEL,使得在根据位模式211的位置,插入位错误。例如,如上面参照图4所述,当位错误被插入在三个不同位置中时,位模式211可包括三种不同的模式。
参照图7B,位选择电路210b可包括随机数生成器212。响应于模式信号C_MODE指示测试模式,位选择电路210b可生成选择信号SEL,使得在根据由随机数生成器212生成的随机数的位置,插入位错误。在一些示例实施例中,随机数生成器212可以是伪随机数生成器。
参照图7C,位选择电路210c还可接收指示测试模式的设置信息的设置信号C_SET。例如,设置信号C_SET可从自图1中的装置10的外部接收的信号来生成,并且可包括位选择电路210c的设置信息。在一些示例实施例中,设置信号C_SET可确定针对存储器300的相同的区域的错误校正操作的次数(即,K)。例如,如果ECC引擎100的可校正错误量是固定的,则K可根据设置信号C_SET来改变,以调节存储器300的错误容限。此外,如上面参照图4所述,为了缩短测试时间,例如,K可根据设置信号C_SETE来改变,以等于或小于与ECC引擎100的可校正错误量对应的次数。
图8是示出根据本发明构思的示例实施例的测试用于支持ECC的装置的方法的流程图。例如,图8的方法可表示在测试模式下测试图1的装置10的方法。在图8中,图1中的编码的数据D_ENC和写入数据D_WR可被统称为写入数据,并且读取数据D_RD和接收数据D_RX可被统称为读取数据。例如,通过将错误插入到图1中的编码的数据D_ENC中来生成写入数据D_WR可被称为将错误插入到写入数据中,通过将错误插入到读取数据D_RD中来生成接收数据D_RX可被称为将错误插入到读取数据中。在下文中,将参照图1来描述图8。
在操作S20中,可通过对输入数据进行编码来生成写入数据。例如,图1的ECC引擎100可通过向输入数据D_IN添加冗余来生成写入数据。
在操作S40中,可将写入数据写入存储器300中,并且可从存储器300输出读取数据。例如,可将写入数据写入存储器300的特定区域中,并且可通过读取存储在写入数据被写入的区域中的数据来输出读取数据。错误插入电路200可将错误插入到将被写入存储器300中的数据(即,写入数据)中,或者可将错误插入到从存储器300读取的数据(即,读取数据)中。此外,在一些示例实施例中,错误插入电路200可将错误插入到写入数据和读取数据两者中。如图8中所示,操作S40可包括操作S42。
在操作S42中,写入数据和/或读取数据中的至少一个位可被反相。例如,错误插入电路200可包括位错误电路BE,并且可通过激活至少一个位错误电路BE来使写入数据和/或读取数据的至少一个位反相。去激活的位错误电路BE可输出输入的位信号。
在操作S60中,可通过校正读取数据的错误来生成输出数据D_OUT。例如,图1的ECC引擎100可通过校正读取数据的错误来生成输出数据D_OUT。
在操作S80中,可检测存储器300的缺陷。在一些示例实施例中,如上面参照图5等所述,可根据操作S60中错误校正是否成功来检测存储器300中的缺陷。在一些示例实施例中,如稍后下面参照图9所述,可基于在操作S60中生成的输出数据来检测存储器300中的缺陷。
图9是示出根据本发明构思的示例实施例的图8的操作S80的示例的流程图。如上面参照图8所述,可检测存储器的缺陷。如图9中所示,操作S80'可包括多个操作S82、S84和S86,并且可参照图1和图8描述图9。
在一些示例实施例中,可通过在图1的装置10外部将输入数据D_IN提供给装置10并接收输出数据D_OUT的测试装置来执行操作S80'。测试装置可使用模式信号C_MODE将装置10设置为测试模式。可将输入数据D_IN提供给设置在测试模式下的装置10,并接收与提供的输入数据D_IN对应的输出数据D_OUT。
在操作S82中,可确定输入数据D_IN和输出数据D_OUT是否彼此一致。例如,测试装置可确定提供给装置10的输入数据D_IN和对应的输出数据D_OUT是否彼此一致。在通过编码处理将输入数据D_IN存储在存储器300中之后,可从从存储器300读取的数据接收错误校正的输出数据D_OUT,并且测试装置可将输入数据D_IN与输出数据D_OUT进行比较。如上面参照附图所述,错误可被插入到从输入数据D_IN编码的数据中,并且错误可被插入到从存储器300读取的数据中。
不管插入的错误,如果输入数据D_IN和输出数据D_OUT彼此一致,则存储器300可被确定为具有足够的错误容限,并且在操作S84中存储器300被确定为可接受的。另一方面,如果输入数据D_IN和输出数据D_OUT彼此不一致,则存储器300可被确定为具有不足的错误容限,并且在操作S86中存储器300可被确定为有缺陷。
图10是示出根据本发明构思的示例实施例的用于支持ECC的装置的示例的框图。更详细地讲,图10示出包括作为噪声通道的单元阵列21的存储器装置20。
存储器装置20可接收命令CMD和地址ADDR,并且可接收或发送数据DATA。例如,存储器装置20可从存储器控制器接收命令CMD(诸如,写入命令、读取命令等)以及与命令CMD对应的地址ADDR。此外,存储器装置20可从存储器控制器接收数据DATA(即,输入数据)或者将数据DATA(即,输出数据)提供给存储器控制器。虽然图10分别示出命令CMD、地址ADDR和数据DATA,但是在一些示例实施例中,命令CMD、地址ADDR和数据DATA中的至少两个可通过相同的通道发送。如图10中所示,存储器装置20可包括单元阵列21、读/写电路22、错误插入电路23、ECC引擎24、行解码器25_1、列解码器25_2、地址寄存器26_1、数据寄存器26_2、控制逻辑27和输入/输出电路28。
单元阵列21可包括多个存储器单元并且可存储数据。由于包括在单元阵列21中的缺陷,可能发生通过读/写电路22从单元阵列21读取的数据与在单元阵列21中写入的数据不同的错误。为了校正错误,ECC引擎24可通过对与写入命令CMD一起接收的数据DATA(即,输入数据)进行编码来生成数据,并且可响应于读取命令CMD生成通过校正从单元阵列21读取的数据中的错误而生成的数据DATA(即,输出数据)。
错误插入电路23可从输入/输出电路28接收模式信号C_MODE,并且可响应于模式信号C_MODE指示测试模式,将错误插入到在读/写电路22与ECC引擎24之间传输的数据中。此外,错误插入电路23可改变将被插入的错误的位置。由错误插入电路23插入的错误量可对应于单元阵列21的错误容限。因此,可容易地验证单元阵列21是否具有足够的错误容限,因此,存储器装置20中的缺陷可被容易地检测。
行解码器25_1可根据从地址寄存器26_1提供的行地址激活连接到单元阵列21的多条字线中的至少一条字线。列解码器25_2可根据从地址寄存器26_1提供的列地址来选择从连接到激活的字线的存储器单元输出的信号中的一些信号。
地址寄存器26_1可从输入/输出电路28接收并存储地址ADDR。数据寄存器26_2可存储从输入/输出电路28接收的数据,并且可将存储的数据提供给ECC引擎24。此外,数据寄存器26_2可存储从ECC引擎24接收的数据,并且可将存储的数据提供给输入/输出电路28。
控制逻辑27可根据由输入/输出电路28接收的命令CMD来生成用于存储器装置20的操作的控制信号,并且控制信号可被分别提供给包括在存储器装置20中的组件。
输入/输出电路28可从存储器装置20的外部接收命令CMD、地址ADDR和数据DATA,并输出数据DATA。在一些示例实施例中,输入/输出电路28可对命令CMD进行解码,并将解码的结果提供给控制逻辑27。
图11是示出根据本发明构思的示例实施例的用于支持ECC的装置的示例的框图。更详细地讲,图11示出包括作为噪声通道的存储器装置32的存储器系统30以及与其通信的主机40。
存储器系统30可经由接口50与主机40通信。存储器系统30和主机40彼此通信的接口50可使用电信号和/或光信号,并且可通过以下方式实现,但不限于以下方式:串行高级技术附件(SATA)接口、SATA快速(SATAe)接口、串行连接小型计算机系统接口(SAS)、外围组件互连快速(PCIe)接口、非易失性存储器(NVMe)接口、高级主机控制器接口(AHCI)或其组合。
在一些示例实施例中,存储器系统30可通过可移除地连接到主机40来与主机40通信。存储器装置32可以是作为电阻存储器的非易失性存储器,存储器系统30可被称为作为储存系统。例如,存储器系统30可通过以下方式实现,但不限于以下方式:固态驱动器或固态硬盘(SSD)、嵌入式SSD(eSSD)、多媒体卡(MMC)、嵌入式多媒体卡(eMMC)等。
如图11中所示,存储器系统30可包括控制器31和至少一个存储器装置32。至少一个存储器装置32可从控制器31接收命令CMD和地址ADDR,并且可接收或发送数据DATA。
控制器31可响应于通过接口50从主机40接收的请求来控制至少一个存储器装置32。例如,控制器31可响应于写入请求将与写入请求一起接收的数据写入至少一个存储器装置32中,或者可响应于读取请求将存储在至少一个存储器装置32中的数据提供给主机40。如图11中所示,控制器31可包括错误插入电路31_1和ECC引擎31_2。
在一些示例实施例中,错误插入电路31_1可将错误插入到通过ECC引擎31_2在测试模式下对来自主机40的请求写入的数据进行编码而获得的数据中,并且可将错误插入的数据作为写入数据提供给至少一个存储器装置32。在一些示例实施例中,响应于在测试模式下主机40的读取请求,错误插入电路31_1可将错误插入从至少一个存储器装置32读取的数据中,并且可将错误插入的数据提供给ECC引擎31_2。此外,错误插入电路31_1可改变将被插入的错误的位置。由错误插入电路31_1插入的错误量可对应于至少一个存储器装置32的错误容限。因此,可容易地验证至少一个存储器装置32是否具有足够的错误容限。
虽然已经参照本发明构思的示例实施例具体示出并描述了本发明构思,但是将理解,在不脱离权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。

Claims (20)

1.一种用于支持用于存储器测试的测试模式的装置,所述装置包括:
存储器,被配置为:接收并存储写入数据,并且从存储的写入数据输出读取数据;
纠错码ECC引擎,在正常模式和测试模式下,被配置为:通过对输入数据进行编码来生成写入数据以将写入数据输出到存储器,并且通过校正包括在接收数据中的N位或更少位的错误来生成输出数据,其中,N是正整数;
错误插入电路,被配置为:在正常模式下将从存储器提供的读取数据作为接收数据提供给ECC引擎,并且在测试模式下将通过使从存储器提供的读取数据的小于N位的至少一个位反相而获得的数据作为接收数据提供给ECC引擎。
2.根据权利要求1所述的装置,其中,错误插入电路还被配置为:在测试模式下,改变从存储器连续输出K次的读取数据中的所述至少一个位的位置,其中,K是等于或大于2的整数。
3.根据权利要求2所述的装置,其中,错误插入电路还被配置为:在测试模式下,改变所述至少一个位的位置使得从存储器连续输出K次的读取数据中反相的位的位置彼此不同。
4.根据权利要求2所述的装置,其中,当存储器的错误容限是1位时,K等于N+1。
5.根据权利要求2所述的装置,其中,K等于或小于N,并且K基于由ECC引擎处理的数据的大小来确定。
6.根据权利要求2所述的装置,其中,错误插入电路还被配置为:根据从装置的外部接收的设置信号来确定K。
7.根据权利要求2所述的装置,其中,错误插入电路还被配置为:根据K个位模式改变所述至少一个位的位置。
8.根据权利要求2所述的装置,其中,错误插入电路还被配置为:根据每次读取错误插入电路时生成的随机数来改变所述至少一个位的位置。
9.根据权利要求1所述的装置,其中,错误插入电路还被配置为:在测试模式下使读取数据的一个位反相。
10.根据权利要求1所述的装置,其中,存储器包括单元阵列,其中,单元阵列包括多个存储器单元,
所述装置是被配置为响应于外部地接收的命令和地址来接收输入数据或输出输出数据的存储器装置。
11.根据权利要求1所述的装置,其中,存储器是被配置为接收命令和地址的存储器装置,
所述装置是被配置为响应于外部地接收的请求来接收输入数据或输出输出数据的存储器系统。
12.一种用于支持用于存储器测试的测试模式的装置,所述装置包括:
存储器,被配置为:接收并存储写入数据,并且从存储的写入数据输出读取数据;
纠错码ECC引擎,在正常模式和测试模式下,被配置为:通过对输入数据进行编码来生成编码的数据,并且通过校正包括在从存储器输出的读取数据中的N位或更少位的错误来生成输出数据,其中,N是正整数;
错误插入电路,被配置为:在正常模式下将从ECC引擎提供的编码的数据作为写入数据提供给存储器,并且在测试模式下将通过使从ECC引擎提供的编码的数据的小于N位的至少一个位反相而获得的数据作为写入数据提供给存储器。
13.根据权利要求12所述的装置,其中,错误插入电路还被配置为:在测试模式下,改变在存储器中连续写入K次的编码的数据中的所述至少一个位的位置,其中,K是等于或大于2的整数。
14.根据权利要求13所述的装置,其中,错误插入电路还被配置为:在测试模式下,改变所述至少一个位的位置使得在存储器中连续写入K次的编码的数据中的反相的位的位置彼此不同。
15.一种测试包括纠错码ECC引擎和存储器的装置的方法,所述装置被配置为当N是正整数时校正N位或更少位的错误,所述方法包括:
在正常模式和测试模式下,由ECC引擎通过对输入数据进行编码来生成写入数据;
在正常模式和测试模式下,将写入数据写入存储器中,从存储器读取写入数据以输出读取数据;
在正常模式和测试模式下,由ECC引擎通过校正读取数据的错误来生成输出数据,其中,
写入写入数据的步骤和输出读取数据的步骤包括:在测试模式下,使写入数据和读取数据中的至少一个中的少于N位的至少一个位反相。
16.根据权利要求15所述的方法,其中,使所述至少一个位反相的步骤包括:
使读取数据中的小于N位的至少一个位反相;
改变从存储器连续输出K次的读取数据中的所述至少一个位的位置,其中,K是等于或大于2的整数。
17.根据权利要求15所述的方法,其中,使所述至少一个位反相的步骤包括:
使写入数据中的小于N位的至少一个位反相;
改变在存储器中连续写入K次的写入数据中的所述至少一个位的位置,其中,K是等于或大于2的整数。
18.根据权利要求15所述的方法,还包括:
基于输入数据和输出数据检测存储器的缺陷。
19.根据权利要求15所述的方法,其中,生成输出数据的步骤包括:由ECC引擎检测读取数据中的错误位的校正是否成功,并且
基于校正是否成功来检测存储器的缺陷。
20.根据权利要求15所述的方法,还包括:
接收指示测试模式的设置信息的设置信号,
在测试模式下执行使所述至少一个位反相的操作。
CN201811106617.6A 2017-09-21 2018-09-21 用于支持纠错码的装置及其测试方法 Active CN109542666B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20170121878 2017-09-21
KR10-2017-0121878 2017-09-21
KR1020180020017A KR102661931B1 (ko) 2017-09-21 2018-02-20 오류 정정 코드를 지원하는 장치 및 그것의 테스트 방법
KR10-2018-0020017 2018-02-20

Publications (2)

Publication Number Publication Date
CN109542666A CN109542666A (zh) 2019-03-29
CN109542666B true CN109542666B (zh) 2024-06-18

Family

ID=65527092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811106617.6A Active CN109542666B (zh) 2017-09-21 2018-09-21 用于支持纠错码的装置及其测试方法

Country Status (3)

Country Link
US (1) US10803971B2 (zh)
CN (1) CN109542666B (zh)
DE (1) DE102018122826A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706950B1 (en) * 2018-06-19 2020-07-07 Cadence Design Systems, Inc. Testing for memory error correction code logic
US11182244B2 (en) 2018-10-16 2021-11-23 Micron Technology, Inc. Error correction management for a memory device
CN110444247A (zh) * 2019-07-31 2019-11-12 至誉科技(武汉)有限公司 存储设备写错误纠错能力的测试装置
CN110459259A (zh) * 2019-07-31 2019-11-15 至誉科技(武汉)有限公司 存储设备写错误纠错能力的测试方法、系统及存储介质
FR3100346B1 (fr) * 2019-09-04 2022-07-15 St Microelectronics Rousset Détection d'erreurs
US11144203B2 (en) 2019-12-03 2021-10-12 Micron Technology, Inc. Selectively operable memory device
US11468962B2 (en) 2021-03-03 2022-10-11 Micron Technology, Inc. Performing memory testing using error correction code values
US20230335210A1 (en) * 2022-04-14 2023-10-19 Nxp B.V. Memory-read verification
US11940872B2 (en) * 2022-04-21 2024-03-26 Analog Devices International Unlimited Company Error correction code validation
CN117112287A (zh) * 2023-09-07 2023-11-24 上海合芯数字科技有限公司 备用校验纠错方法、装置、服务器及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106297895A (zh) * 2015-06-29 2017-01-04 三星电子株式会社 纠错电路、半导体存储器装置及其控制方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004030527A (ja) 2002-06-28 2004-01-29 Fujitsu Ltd 記憶制御装置、および記憶制御方法
US7069494B2 (en) 2003-04-17 2006-06-27 International Business Machines Corporation Application of special ECC matrix for solving stuck bit faults in an ECC protected mechanism
JP3940713B2 (ja) * 2003-09-01 2007-07-04 株式会社東芝 半導体装置
US7376887B2 (en) * 2003-12-22 2008-05-20 International Business Machines Corporation Method for fast ECC memory testing by software including ECC check byte
JP4041076B2 (ja) 2004-02-27 2008-01-30 株式会社東芝 データ記憶システム
JP2005310313A (ja) 2004-04-23 2005-11-04 Toshiba Corp 半導体記憶装置
KR100856129B1 (ko) * 2006-12-29 2008-09-03 삼성전자주식회사 오정정 확률을 줄이는 에러 정정 회로, 그 방법 및 상기회로를 구비하는 반도체 메모리 장치
US8255758B2 (en) 2008-01-21 2012-08-28 Apple Inc. Decoding of error correction code using partial bit inversion
US8301972B2 (en) 2009-05-27 2012-10-30 Seagate Technology Llc Apparatus for correcting single bit insertion or deletion in a data payload with a checksum corrector
US8612828B2 (en) 2009-12-22 2013-12-17 Intel Corporation Error correction mechanisms for 8-bit memory devices
US8914687B2 (en) * 2011-04-15 2014-12-16 Advanced Micro Devices, Inc. Providing test coverage of integrated ECC logic en embedded memory
US8509003B2 (en) 2011-09-20 2013-08-13 Taiwan Semiconductor Manufacturing Co., Ltd. Read architecture for MRAM
US8576617B2 (en) 2011-11-10 2013-11-05 Qualcomm Incorporated Circuit and method for generating a reference level for a magnetic random access memory element
US8693273B2 (en) 2012-01-06 2014-04-08 Headway Technologies, Inc. Reference averaging for MRAM sense amplifiers
US9444496B2 (en) 2012-04-04 2016-09-13 University Of Southern California Correctable parity protected memory
US8644060B2 (en) 2012-06-07 2014-02-04 Avalanche Technology, Inc. Method of sensing data of a magnetic random access memories (MRAM)
US9043674B2 (en) 2012-12-26 2015-05-26 Intel Corporation Error detection and correction apparatus and method
DE102013211077B4 (de) * 2013-06-13 2015-09-24 Infineon Technologies Ag Verfahren zum Testen eines Speichers und Speichersystem
KR102354350B1 (ko) 2015-05-18 2022-01-21 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US9842021B2 (en) * 2015-08-28 2017-12-12 Intel Corporation Memory device check bit read mode
US9910090B2 (en) * 2016-03-08 2018-03-06 International Business Machines Corporation Bypassing an encoded latch on a chip during a test-pattern scan
US9923579B2 (en) * 2016-03-08 2018-03-20 International Business Machines Corporation Clock path technique for using on-chip circuitry to generate a correct encode pattern to test the on-chip circuitry
US10191799B2 (en) * 2016-12-29 2019-01-29 Sandisk Technologies Llc BER model evaluation
US10572343B2 (en) * 2017-01-19 2020-02-25 Intel Corporation Targeted aliasing single error correction (SEC) code
US10389379B2 (en) * 2017-05-12 2019-08-20 Qualcomm Incorporated Error correcting code testing
EP3454216B1 (en) * 2017-09-08 2020-11-18 Nxp B.V. Method for protecting unauthorized data access from a memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106297895A (zh) * 2015-06-29 2017-01-04 三星电子株式会社 纠错电路、半导体存储器装置及其控制方法

Also Published As

Publication number Publication date
US10803971B2 (en) 2020-10-13
CN109542666A (zh) 2019-03-29
US20190088349A1 (en) 2019-03-21
DE102018122826A1 (de) 2019-03-21

Similar Documents

Publication Publication Date Title
CN109542666B (zh) 用于支持纠错码的装置及其测试方法
KR101750662B1 (ko) 데이터 에러 교정용 회로, 장치, 및 방법
US11164651B2 (en) Semiconductor devices and semiconductor systems including the same
US9201718B2 (en) Data recovery in a solid state storage system
US8321765B2 (en) Method of reading data in non-volatile memory device
KR100842680B1 (ko) 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
US10824523B2 (en) Data storage device and operating method thereof
US20090319864A1 (en) Method and apparatus for dynamically configurable multi level error correction
TWI808098B (zh) 用於支持錯誤更正碼的裝置及其測試方法
US20130318418A1 (en) Adaptive error correction for phase change memory
US10114693B2 (en) Memory systems and electronic systems performing an adaptive error correction operation with pre-checked error rate, and methods of operating the memory systems
US10162703B2 (en) Methods of correcting data errors and semiconductor devices used therein
US10579472B2 (en) Semiconductor devices
KR20180038339A (ko) 셀어레이 불량 테스트 방법 및 이를 수행하는 반도체장치
US20080082870A1 (en) Parallel bit test device and method using error correcting code
US10514980B2 (en) Encoding method and memory storage apparatus using the same
KR102333140B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US10917111B2 (en) Error correction code unit and error correction method
US20170344422A1 (en) Semiconductor devices and semiconductor systems
US10379786B2 (en) Semiconductor devices
KR20170143084A (ko) 반도체장치 및 반도체시스템
US11921578B2 (en) Error correction methods and semiconductor devices and semiconductor systems using the error correction methods and the semiconductor devices
US10014073B2 (en) Semiconductor devices
KR20180027656A (ko) 반도체장치 및 반도체시스템
CN116340049A (zh) 存储器系统及操作存储器系统的方法

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