CN116013396A - 存储器装置、电子装置和存储器装置的操作方法 - Google Patents
存储器装置、电子装置和存储器装置的操作方法 Download PDFInfo
- Publication number
- CN116013396A CN116013396A CN202210890699.8A CN202210890699A CN116013396A CN 116013396 A CN116013396 A CN 116013396A CN 202210890699 A CN202210890699 A CN 202210890699A CN 116013396 A CN116013396 A CN 116013396A
- Authority
- CN
- China
- Prior art keywords
- data
- volatile memory
- test
- bit
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Abstract
提供了一种存储器装置、电子装置和操作存储器装置的方法。所述存储器装置包括:易失性存储器,包括多个存储器单元、多条字线和多条位线,所述易失性存储器被配置为:基于从主机接收的第一读取命令和地址提供存储在所述多个存储器单元之中的目标存储器单元中的输出数据;恢复逻辑电路,被配置为:提供指示所述多条位线之中的第一位线和第二位线的提示数据,缺陷单元连接到第一位线,正常单元连接到第二位线;以及纠错电路,被配置为:通过基于输出数据和提示数据纠正输出数据中的错误而生成纠正的数据,并且将纠正的数据提供给主机。
Description
本申请要求于2021年10月21日在韩国知识产权局提交的第10-2021-0141366号韩国专利申请的优先权,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开涉及一种电子装置,更具体地,涉及一种存储器装置、电子装置和存储器装置的操作方法。
背景技术
半导体存储器装置可被分类为非易失性存储器装置(诸如,闪存装置)或易失性存储器装置(诸如,DRAM)。易失性存储器装置(诸如,DRAM)可用作系统存储器并且可相对便宜。此外,在易失性半导体存储器装置(诸如,DRAM)中,为了增加集成度而减小了制程大小(process scale)。随着制程大小减小,位错误率(bit error rate)会增加并且良率会降低。因此,需要一种以低成本检查和纠正“对半导体存储器装置的错误的响应”的方法。
发明内容
一个或多个实施例提供一种能够基于1位错误纠正2位错误的存储器装置、电子装置和存储器装置的操作方法。
根据实例实施例的一方面,一种存储器装置包括:易失性存储器,包括多个存储器单元、多条字线和多条位线,所述易失性存储器被配置为:基于从主机接收的第一读取命令和地址,提供存储在所述多个存储器单元之中的目标存储器单元中的输出数据;恢复逻辑电路,被配置为:提供指示所述多条位线之中的第一位线和第二位线的提示数据,缺陷单元连接到第一位线,正常单元连接到第二位线;以及纠错电路(ECC),被配置为:通过基于输出数据和提示数据纠正输出数据中的错误而生成纠正的数据,并将纠正的数据提供给主机。
根据示例实施例的一方面,一种电子装置包括:应用处理器,被配置为输出第一读取命令和地址;缓冲器,包括多个易失性存储器、被配置为从所述多个易失性存储器之中选择与地址对应的易失性存储器的复用器、被配置为纠正通过根据第一读取命令执行的读取操作从易失性存储器读取的输出数据中发生的错误的ECC;以及恢复逻辑电路,被配置为:提供指示第一位线和第二位线的提示数据,坏单元分别连接到第一位线,正常单元连接到第二位线。ECC还被配置为:基于与选择的易失性存储器对应的第一提示数据和输出数据来纠正错误,并且将纠正的数据提供给应用处理器。
根据示例实施例的一方面,一种操作存储器装置的方法包括:接收从主机接收的读取命令和地址;读取存储在多个易失性存储器之中的与地址对应的易失性存储器中的数据;检测从易失性存储器读取的数据中的2位错误;基于与易失性存储器对应的提示数据和从易失性存储器读取的数据来纠正2位错误,以获得纠正的数据;以及将纠正的数据提供给主机。
根据示例实施例的一方面,一种存储器装置包括:易失性存储器,包括多个存储器单元、多条字线和多条位线;恢复逻辑电路,所被配置为提供提示数据;以及ECC:被配置为请求恢复逻辑电路基于在从易失性存储器读取的数据中发生的2位错误来生成提示数据,并且基于从恢复逻辑电路提供的提示数据来纠正从易失性存储器读取的数据的错误。提示数据具有第一值和第二值,第一值指示多条位线之中发生2位错误的缺陷单元连接到的第一位线,第二值指示多条位线之中的正常单元连接到的第二位线。恢复逻辑电路还被配置为:将第一写入命令、第一测试模式数据和地址传送到易失性存储器,并且将第二读取命令和地址传送到易失性存储器以临时存储从易失性存储器输出的第一测试数据;将第二写入命令、第二测试模式数据和地址传送到易失性存储器,并且将第三读取命令和地址传送到易失性存储器以临时存储从易失性存储器输出的第二测试数据;对第一测试数据和第二测试数据执行异或运算;以及作为异或运算的结果,将具有至少一个第一值的结果数据作为提示数据临时存储。
附图说明
根据以下结合附图对实施例的描述,以上和其他方面将更加清楚,在附图中:
图1是用于描述根据实施例的电子装置的示图;
图2是用于解释根据实施例的易失性存储器的示图;
图3是用于解释根据实施例的存储器单元的示图;
图4是用于解释根据实施例的纠错数据的示意图;
图5是用于详细描述根据实施例的纠错数据的示图;
图6是示出根据实施例的操作存储器装置的方法的流程图;
图7是示出根据实施例的硬缺陷测试的流程图;
图8是示出根据实施例的软缺陷测试的流程图;
图9A、图9B和图9C是用于解释根据实施例的提示数据的示图;
图10是用于解释根据实施例的ECC解码器的示图;
图11A、图11B和图11C是用于解释根据实施例的提示数据应用器的操作的示图;
图12是用于解释根据另一实施例的电子装置的视图;
图13是用于解释根据另一实施例的电子装置的视图;
图14是示出使用Shmoo条件根据内部电压和时钟的频率生成的错误趋势的示图;
图15是用于解释在每个段的地址中可能发生的错误现象的示图;
图16是用于解释根据另一实施例的提示数据的示图;以及
图17是用于解释根据实施例的通用闪存存储(UFS)系统的示图。
具体实施方式
在下文中,将参照附图详细描述实施例。在此描述的实施例是示例实施例,因此,本公开不限于此,并且可以以各种其他形式实现。以下描述中提供的每个实施例不排除与在此也提供的或在此未提供但与本公开一致的另一示例或另一实施例的一个或多个特征相关联。诸如“……中的至少一个”的表述在一列元素之后时,修饰整列元素,而不修饰该列中的单个元素。例如,表述“a、b和c中的至少一个”应被理解为仅包括a、仅包括b、仅包括c、包括a和b两者、包括a和c两者、包括b和c两者或包括a、b和c全部。
图1是用于描述根据实施例的电子装置的示图。
参照图1,根据实施例的电子装置可包括主机50和存储器装置100。
主机50可以是能够处理数据的装置(诸如,中央处理器(CPU)、处理器、微处理器或应用处理器(AP))。主机50可执行操作系统(OS)和/或各种应用。例如,根据实施例的电子装置可被实现为移动装置,在这种情况下,主机50可被实现为AP或片上系统(SoC)。因此,主机50可被嵌入移动装置中。
主机50可将请求信号发送给存储器装置100并且从存储器装置100接收对命令的响应信号。例如,请求信号可请求存储器装置100执行特定操作。例如,主机50可将读取请求信号和地址发送给存储器装置100,存储器装置100可接收读取请求信号和地址,并且读取存储在与地址对应的存储器区域中的数据。读取请求信号是用于请求读取存储在存储器装置100中的数据的信号,并且可被称为读取命令。作为另一示例,主机50可将写入请求信号、数据和地址发送给存储器装置100,存储器装置100可接收写入请求信号、数据和地址,并且将数据存储在与地址对应的存储器区域中。写入请求信号是请求将数据存储在存储器装置100中的信号,并且可被称为写入命令。
主机50可将用于驱动存储器装置100的内部电压和时钟提供给存储器装置100。
存储器装置100可响应于来自主机50的请求信号而存储数据或读取存储的数据。存储器装置100可包括多个组件。组件可以以硬件形式、以软件形式或以硬件和软件形式在存储器装置100中实现。硬件形式的组件包括电路(诸如,用于实现以下更详细描述的特定功能的晶体管、电容器、逻辑门和其他电路元件)。本说明书中的组件可被称为元件。参照图1,例如,存储器装置100可包括易失性存储器110、纠错码(ECC)引擎(或称为纠错电路)120和恢复逻辑电路130。
易失性存储器110可仅在接收电力时操作。易失性存储器110可仅在被供应电力时,临时存储从主机50提供的数据或者将存储的数据提供给主机50。易失性存储器110可作为缓冲存储器操作。例如,易失性存储器110可被实现为动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。然而,实施例不限于此。
在一个实施例中,响应于从恢复逻辑电路130输出的测试控制信号,易失性存储器110可将第一测试模式数据(test pattern data)写入连接到目标字线的存储器单元,读取存储在连接到目标字线的存储器单元中的第一测试数据,将第二测试模式数据写入连接到目标字线的存储器单元,并且读取存储在连接到目标字线的存储器单元中的第二测试数据。目标字线可以是在读取操作期间生成错误的坏单元的字线。
ECC引擎120可对存储在易失性存储器110中的数据执行ECC操作。在一个实施例中,ECC引擎120可针对从主机50接收的数据生成奇偶校验位,并将包括数据和奇偶校验位的码字发送给易失性存储器110。ECC引擎120可纠正包括在一个单元(例如,一个码字)中的一位的错误。根据实施例的ECC引擎120可被实现为单错误纠正和双错误检测(SECDED)电路。
在一个实施例中,ECC引擎120可包括ECC编码器121和ECC解码器122。
ECC编码器121可执行ECC编码操作。ECC编码器121可针对从主机50接收的数据生成奇偶校验位。例如,ECC编码器121可接收64位数据和b'00000000位,并且使用异或(XOR)数组运算(array operation)生成奇偶校验位。b'00000000位是用于生成64位数据的奇偶校验位的位。为了生成64位数据的奇偶校验位,可使用其他特定位来代替b'00000000位。
ECC解码器122可执行ECC解码操作。ECC解码器122可使用从易失性存储器110传送的输出数据生成校验子数据。此外,ECC解码器122可通过使用校验子数据来计算包括在易失性存储器110中的存储器单元之中的坏单元的位置(即,错误位位置)。然后,ECC解码器122可纠正与错误位位置对应的数据的位值并且输出已纠错的数据。例如,可通过对与错误位位置对应的数据的位值进行取反(或反转),来纠正与错误位位置对应的数据的位值。
在一个实施例中,ECC解码器122可检测从易失性存储器110传送的输出数据中的2位错误。当ECC引擎120被实现为SECDED电路时,ECC解码器122无法检测2位错误。因此,ECC解码器122可访问提示数据(hint data)缓冲器132。当与在其中数据具有2位错误的存储器区域对应的提示数据未存储在提示数据缓冲器132中时,ECC解码器122可将请求生成提示数据的提示数据请求信号发送给恢复逻辑电路130。当与在其中数据具有2位错误的存储器区域的对应的提示数据存储在提示数据缓冲器132中时,ECC解码器122可基于存储在提示数据缓冲器132中的提示数据来纠正2位错误之中的至少一个错误。稍后将参照图11A至11C描述纠正2位错误之中的至少一个错误的具体实施例。
当从易失性存储器110传送的数据中发生2位错误时,恢复逻辑电路130可生成指示2位错误的位置的提示数据。恢复逻辑电路130可存储生成的提示数据。当从易失性存储器110传送的数据中发生2位错误时,恢复逻辑电路130可将存储的提示数据提供给ECC解码器122。这里,2位错误的位置可与包括在易失性存储器110中的多条位线之中的发生2位错误的存储器单元连接到的每条位线对应。
在一个实施例中,恢复逻辑电路130可包括恢复控制器131、提示数据缓冲器132和测试数据缓冲器133。
恢复控制器131可生成提示数据。具体地,恢复控制器131可响应于从ECC解码器122接收的数据生成请求信号而将测试控制信号发送给易失性存储器110。测试控制信号可命令易失性存储器110进入测试模式。此外,恢复控制器131可将第一测试模式数据和第二测试模式数据顺序地传送到易失性存储器110。当易失性存储器110在测试模式下将第一测试数据和第二测试数据顺序地传送到恢复逻辑电路130时,恢复控制器131可将第一测试数据和第二测试数据存储在测试数据缓冲器133中。恢复控制器131可使用第一测试数据和第二测试数据执行XOR运算,并将包括特定位值的结果数据作为提示数据存储在提示数据缓冲器132中。
提示数据缓冲器132可临时存储与易失性存储器110对应的提示数据。例如,存储器装置100可包括多个易失性存储器110,并且提示数据缓冲器132可存储与每个易失性存储器对应的提示数据。在一个实施例中,可以以表形式的数据结构管理多个提示数据。
测试数据缓冲器133可在易失性存储器110的测试模式下临时存储第一测试数据和第二测试数据。测试数据缓冲器133还可存储将在易失性存储器110的测试模式下使用的第一测试模式数据和第二测试模式数据。测试数据缓冲器133可在执行测试模式之前临时存储从易失性存储器110输出的输出数据DATA_OUT(未示出)和地址。
图2是用于解释根据实施例的易失性存储器的示图。
参照图2,根据实施例的易失性存储器200可在写入操作期间接收命令CMD、地址ADDR、时钟CLK和输入数据DATA_IN(未示出)。例如,易失性存储器200可接收命令进行写入的命令CMD、地址ADDR和输入数据DATA_IN,并且可将输入数据DATA_IN存储在存储器单元阵列210中与地址ADDR对应的存储器单元区域中。存储器单元区域可以是包括一个或多个存储器单元的存储器区域。
根据实施例的易失性存储器200可在读取操作期间接收命令CMD、地址ADDR和时钟CLK。例如,易失性存储器200可接收命令进行读取的命令CMD和地址ADDR,读取存储在与地址ADDR对应的存储器单元区域中的数据,并将读取的数据作为输出数据DATA_OUT输出。
在一个实施例中,易失性存储器200可包括存储器单元阵列210、列解码器220、行解码器230、写入驱动器/感测放大器240、输入/输出(I/O)电路250和控制逻辑260。
存储器单元阵列210可包括多个存储器单元211。多个存储器单元211可以以规则的间隔布置。多个存储器单元211可通过多条字线WL和多条位线BL定义。具体地,多个存储器单元211可位于多条字线WL和多条位线BL的交叉点处。也就是说,多个存储器单元211中的每个可连接到多条字线WL中的至少一条字线并且可连接到多条位线BL中的至少一条位线。
列解码器220可通过多条位线BL连接到存储器单元阵列210。列解码器220可基于列地址CA从多条位线BL之中选择至少一条位线。
行解码器230可通过多条字线WL连接到存储器单元阵列210。行解码器230可基于行地址RA激活多条字线WL之中的至少一条字线。也就是说,行解码器230可从多条字线WL中选择至少一条字线。因此,可从多个存储器单元211之中选择连接到激活的字线的存储器单元。
写入驱动器/感测放大器240可将从I/O电路250发送的输入数据DATA_IN发送给列解码器220。可选择地,写入驱动器/感测放大器240可放大从列解码器220发送的数据,并将输出数据DATA_OUT发送给I/O电路250。写入驱动器/感测放大器240可根据控制信号CTR的逻辑电平作为写入驱动器或感测放大器操作。例如,写入驱动器/感测放大器240可在写入操作期间基于输入数据DATA_IN将电流和/或电压施加到多条位线BL,使得值可被输入到多个存储器单元211之中的连接到激活的字线的存储器单元。写入驱动器/感测放大器240可在读取操作期间检测通过多条位线BL接收的电流和/或电压,并且识别存储在多个存储器单元211之中的连接到激活的字线的存储器单元中的值。识别的值可作为输出数据DATA_OUT输出。
根据一个实施例,列解码器220和写入驱动器/感测放大器240可被实现为一个列驱动器。列驱动器可根据列地址CA从多条位线BL中选择位线,并且可根据控制信号CTR的逻辑电平作为写入驱动器或感测放大器操作。
I/O电路250可将输入数据DATA_IN发送给写入驱动器/感测放大器240。或者,I/O电路250可输出从写入驱动器/感测放大器240发送的输出数据DATA_OUT。
控制逻辑260可接收命令CMD、地址ADDR和时钟CLK,并且可生成行地址RA、列地址CA和控制信号CTR。例如,控制逻辑260可通过对命令CMD进行解码而识别读取命令,并且生成行地址RA、列地址CA和控制信号CTR以从存储器单元阵列210读取输出数据DATA_OUT。此外,控制逻辑260可通过对命令CMD进行解码而识别写入命令,并且生成行地址RA、列地址CA和控制信号CTR以将输入数据DATA_IN写入到存储器单元阵列210。
作为一个示例,输入数据DATA_IN可以是由图1中示出的主机50提供的数据。作为另一示例,输入数据DATA_IN可以是第一测试模式数据。作为另一示例,输入数据DATA_IN可以是第二测试模式数据。
作为一个示例,输出数据DATA_OUT可以是将被提供给图1中示出的主机50的数据。作为另一示例,输出数据DATA_OUT可以是第一测试数据。作为另一示例,输出数据DATA_OUT可以是第二测试数据。
在一个实施例中,控制逻辑260可输出行地址RA、列地址CA和控制信号CTR,以在测试模式下将第一测试模式数据存储在连接到目标字线的存储器单元中。此外,控制逻辑260可输出行地址RA、列地址CA和控制信号CTR,以在测试模式下读取存储在连接到目标字线的存储器单元中的第一测试数据。第一测试模式数据可以是用于将第一值存储在连接到目标字线的存储器单元中的数据。也就是说,第一测试模式数据的所有位值可以是第一值。第一值可以是例如逻辑高电平“Fh”或“1b”。第一测试数据可以是存储在连接到目标字线的存储器单元中的数据。当坏单元被包括在目标字线中并且第一测试模式数据的所有位值都是第一值时,第一测试数据可具有至少一个第二值。第二值是错误位,并且可以是逻辑低电平“0h”或“0b”。然而,实施例不限于此,第一值可以是逻辑低电平,并且第二值可以是逻辑高电平。
在一个实施例中,在读取第一测试数据之后,控制逻辑260可输出行地址RA、列地址CA和控制信号CTR,以在测试模式下将第二测试模式数据存储在连接到目标字线的存储器单元中。此外,控制逻辑260可输出行地址RA、列地址CA和控制信号CTR,以在测试模式下读取存储在连接到目标字线的存储器单元中的第二测试数据。第二测试模式数据可以是用于将第二值存储在连接到目标字线的存储器单元中的数据。也就是说,第二测试模式数据的所有位值可以是第二值。当第一值是逻辑高电平“Fh”或“1b”时,第二值可以是逻辑低电平“0h”或“0b”。第二测试数据可以是存储在连接到目标字线的存储器单元中的数据。当坏单元被包括在目标字线中并且第二测试模式数据的所有位值都是第二值时,第二测试数据可具有至少一个第一值。在这种情况下,第一值可以是错误位的值。
图3是用于解释根据实施例的存储器单元的实施例的示图。
参照图3,图3中示出的易失性存储器300可包括存储器单元MC。当图3中示出的易失性存储器300被实现为SRAM时,存储器单元MC可以是包括六个晶体管的SRAM单元。存储器单元MC可被称为6T SRAM单元。然而,实施例不限于此,并且当图3中示出的易失性存储器300被实现为DRAM时,存储器单元MC可以是包括一个晶体管和一个电容器的DRAM单元。在下文中,为了方便,假设存储器单元MC是SRAM单元。
存储器单元MC可包括第一PMOS晶体管P1、第二PMOS晶体管P2以及第一NMOS晶体管至第四NMOS晶体管N1、N2、N3和N4。第一PMOS晶体管P1和第二PMOS晶体管P2可分别连接在电源电压VDD线与第一节点A和第二节点B之间。第一NMOS晶体管N1和第二NMOS晶体管N2可分别连接在接地电压VSS线与第一节点A和第二节点B之间。第一节点A可连接到第二PMOS晶体管P2和第二NMOS晶体管N2中的每个的栅极。第二节点B可连接到第一PMOS晶体管P1和第一NMOS晶体管N1中的每个的栅极。第一节点A和第二节点B可通过第三NMOS晶体管N3和第四NMOS晶体管N4分别连接到位线BL和互补位线/BL。第三NMOS晶体管N3和第四NMOS晶体管N4的栅极可连接到字线WL。第三NMOS晶体管N3和第四NMOS晶体管N4可被称为存取晶体管或通过晶体管。
存储器单元MC可将数据和互补数据存储在第一节点A和第二节点B中,并且保持锁存状态。具体地,当在写入操作中使能字线WL时,传送到位线BL和互补位线/BL的数据和互补数据可通过第三NMOS晶体管N3和第四NMOS晶体管N4锁存在第一节点A和第二节点B中。另一方面,当在读取操作中使能字线WL时,在存储器单元MC中,锁存在第一节点A和第二节点B中的数据可通过第三NMOS晶体管N3和第四NMOS晶体管N4传送到位线BL和互补位线/BL。
在一个实施例中,存储器单元MC可包括第一反相器和第二反相器。第一反相器可包括第一PMOS晶体管P1和第一NMOS晶体管N1。第二反相器可包括第二PMOS晶体管P2和第二NMOS晶体管N2。
图4是用于解释根据实施例的纠错数据的实施例的示意图。具体地,图4示示例性地示出包括在存储器装置中的存储器单元阵列和ECC解码器。
参照图4,在图4中示出的存储器装置400中,存储器单元阵列可包括正常区域410和奇偶校验区域420。正常区域410是存储从主机50提供的数据DATA的区域,并且奇偶校验区域420是存储与数据DATA对应的奇偶校验位的区域。
响应于从主机50发送的读取命令,ECC解码器430可接收数据DATA和奇偶校验位。数据DATA和奇偶校验位PARITY BIT可构成一个码字。例如,128位数据DATA和8位奇偶校验位PARITY BIT可构成一个码字。在本说明书中,数据DATA和奇偶校验位PARITY BIT可被称为读取数据或输出数据DATA_OUT。
ECC解码器430可基于码字计算包括在数据DATA中的错误位的位置,纠正错误位,并且生成纠正的数据CDATA。纠正的数据CDATA可被发送给主机50。
图5是用于详细描述根据实施例的纠错数据的实施例的示图。
参照图5,存储器装置500可支持X8模式。X8模式可以是通过八个数据输入/输出引脚DQ0至DQ7输入/输出与多个正常块511至518的一个单元对应的数据的模式。ECC引擎560可执行ECC操作以纠正包括在与正常区域510的一个单元对应的数据位中的错误位。作为一个实施例,存储器单元的一个单元可包括128个存储器单元,并且数据位的一个单元可包括128个位。
正常区域510可与图4中示出的正常区域410对应。正常区域510可包括多个正常块511至518。以行和列布置的多个存储器单元可布置在多个正常块511至518中的每个中。因为存储在多个正常块511至518中的每个的存储器单元中的数据通过对应的数据输入/输出引脚DQ0至DQ7被输入/输出,所以在下文中,多个正常单元块511至518将分别被称为DQ0单元块511至DQ7单元块518。
DQ0单元块511至DQ7单元块518中的每个单元块的行可包括例如8K字线WL,并且列可包括例如1K位线。连接到字线WL和位线的交叉点的存储器单元可被配置为SRAM单元。然而,实施例不限于此,存储器单元可包括DRAM单元。
可通过行地址RA0至RAm访问DQ0单元块511至DQ7单元块518的字线WL,并且通过列地址CA0至CAn访问位线。可通过行解码器(R/D)530对行地址RA0至RAm进行解码,并且可通过解码的行地址RA0至RAm选择字线WL。可通过列解码器(C/D)540对列地址CA0进行解码。列解码器540可对列地址CA0至CAn进行解码以生成用于选择位线的列选择信号CSL0至CSL127。为了支持表示可访问位线的列位置的最大数量的突发长度,可同时访问与突发长度对应的位线。例如,突发长度可以是16。
因此,位线可连接到与128个列选择信号CSL0至CSL127中的每个连接的列选择器550,并且16条位线可通过一个列选择器550同时被选择。每个列选择器550可包括16个开关,并且可通过列选择信号CSL0至CSL127接通。通过128个列选择信号CSL0至CSL127切换(或开关)的列选择器550可构成列选择电路。
在DQ0单元块511中,多个存储器单元可连接到通过行地址RA0至RAm访问的字线WL。连接到字线WL的多个存储器单元中的16个存储器单元可通过连接到CSL0列选择信号的列选择器550被选择,以被连接到第一数据线GIO[0:15]。第一数据线GIO[0:15]可具有16位。
此外,在DQ1单元块512中,连接到字线WL的多个存储器单元中的16个存储器单元可通过连接到CSL0列选择信号的列选择器550被选择,以被连接到第二数据线GIO[16:31]。在剩余DQ2单元块513至DQ7单元块518中的每个单元块中,连接到字线WL的多个存储器单元中的16个存储器单元通过连接到CSL0列选择信号的列选择器550被选择,以被连接到相应的第三数据线GIO[32:47]、第四数据线GIO[48:63]、第五数据线GIO[64:79]、第六数据线GIO[80:95]、第七数据线GIO[96:111]和第八数据线GIO[112:127]。
在写入操作的情况下,可将待写入DQ0单元块511至DQ7单元块518中的数据传送到第一数据线至第八数据线GIO[0:127]。通过第一数据线至第八数据线GIO[0:127]中的每条数据线,将被分别写入DQ0单元块511至DQ7单元块518中的第一突发数据至第八突发数据,总共128位数据(Data[0:127]),可被接收。接收的128位数据(Data[0:127])可被写入到连接到字线WL的多个存储器单元之中的通过连接到特定列选择信号(例如,CSL0列选择信号)的列选择器550选择的DQ0单元块511至DQ7单元块518中的每个的16个存储器单元中。
当在DQ0单元块511至DQ7单元块518中连接到一条字线WL的存储器单元之中存在一个坏单元时,ECC单元阵列520可用于纠正从缺陷单元(或称为,故障单元、坏单元)读取的数据。例如,在通过连接到字线WL和CSL0列选择信号的列选择器550选择的DQ0单元块511至DQ7单元块518的存储器单元之中,DQ0单元块511中可存在一个缺陷单元。缺陷单元可以是DQ1单元块512至DQ7单元块518中的通过连接到字线WL和CSL0列选择信号的列选择器550选择的存储器单元中的任何一个,而不是DQ0单元块511的缺陷单元。ECC单元阵列520可通过ECC引擎560控制,并且可用于检测和纠正DQ0单元块511至DQ75单元块518的缺陷单元。
与DQ0单元块511至DQ7单元块518类似,ECC单元阵列520可配置有8K字线。与DQ0单元块511至DQ7单元块518不同,ECC单元阵列520可包括8条位线。连接到ECC单元阵列520的字线WL和位线的交叉点的存储器单元也可被配置为SRAM单元。
在ECC单元阵列520中,八条位线可连接到奇偶校验数据线ECCP[0:7]。存储在DQ0单元块511至DQ7单元块518的缺陷单元中的数据DATA[0:127]的奇偶校验位可被发送给奇偶校验数据线ECCP[0:7]。奇偶校验位可通过奇偶校验数据线ECCP[0:7]被存储在ECC单元阵列520中的八个存储器单元中并从ECC单元阵列520中的八个存储器单元被读取。在这种情况下,ECC单元阵列520的八个存储器单元可连接到与缺陷单元的字线WL相同的字线WL。
ECC引擎560可检测并纠正DQ0单元块511至DQ7单元块518的坏单元。在写入操作中,ECC引擎560可生成数据DATA[0:127]的奇偶校验位,并将奇偶校验位发送给奇偶校验数据线ECCP[0:7]。奇偶校验数据线ECCP[0:7]上的奇偶校验位可被存储在ECC单元阵列520的连接到坏单元的字线WL的存储器单元中。在读取操作中,ECC引擎560可接收发送给第一数据线至第八数据线GIO[0:127]的数据和发送给奇偶校验数据线ECCP[0:7]的数据。传送到第一数据线至第八数据线GIO[0:127]的数据可以是从DQ0单元块511至DQ7单元块518中的连接到缺陷单元的字线WL的存储器单元读取的数据,并且传送到奇偶校验数据线ECCP[0:7]的数据可以是从ECC单元阵列520中的连接到对应字线WL的存储器单元读取的奇偶校验位。
在一个实施例中,ECC引擎560可使用传送到第一数据线至第八数据线GIO[0:127]和奇偶校验数据线ECCP[0:7]的码字来检测和纠正由于坏单元导致的错误位。这里,错误位可以是例如1位的错误。ECC引擎560可接收传送到第一数据线到第八数据线GIO[0:127]和奇偶校验数据线ECCP[0:7]的数据,生成校验子数据,计算坏单元的位置(即,错误位的位置),纠正与错误位的位置对应的数据,并且输出纠正的数据。
在一个实施例中,ECC引擎560可使用传送到第一数据线到第八数据线GIO[0:127]和奇偶校验数据线ECCP[0:7]的数据来检测由于坏单元导致的2位错误。然而,ECC引擎560可能无法仅使用传送到第一数据线至第八数据线GIO[0:127]和奇偶校验数据线ECCP[0:7]的码字来纠正2位错误。在这种情况下,ECC引擎560可基于存储在恢复逻辑电路130中的提示数据来纠正2位错误中的至少一个错误位。
图6是示出根据实施例的操作存储器装置的方法的流程图。
参照图1、图2、图5和图6,在操作S100中,存储器装置100从主机50接收读取命令和地址。
在操作S200中,易失性存储器110执行读取操作。例如,控制逻辑260接收命令进行读取的命令CMD、地址ADDR和时钟CLK,通过对命令CMD进行解码而识别读取命令,并且输出行地址RA、列地址CA和控制信号CTR。列解码器220、行解码器230、写入驱动器/感测放大器240和I/O电路250中的每个进行操作,使得存储在连接到目标字线的存储器单元中的数据可作为输出数据DATA_OUT输出到易失性存储器110或200的外部。
在操作S300中,ECC引擎120确定输出数据DATA_OUT是否为2位故障。2位故障可指示输出数据DATA_OUT具有2位的错误。例如,ECC解码器122通过执行解码操作来检测输出数据DATA_OUT中的2位错误。
当在输出数据DATA_OUT中发生2位错误时(S300,是),在操作S400中,ECC解码器122访问提示数据缓冲器132。在操作S500中,ECC解码器122确定提示数据是否存储在提示数据缓冲器132中。
当与通过主机50传送的地址ADDR对应的提示数据未存储在提示数据缓冲器132中时(S500,是),在操作S600中,ECC引擎120备份原始数据。ECC解码器122可临时存储输出数据DATA_OUT。可选择地,ECC解码器122可将输出数据DATA_OUT发送给恢复逻辑电路130,并且恢复逻辑电路130可临时存储输出数据DATA_OUT。原始数据可以是存储在连接到目标字线的存储器单元中的数据。例如,原始数据可以是输出数据DATA_OUT。
在操作S700中,恢复逻辑电路130执行测试操作。例如,ECC解码器122将提示数据请求信号发送给恢复逻辑电路130。恢复控制器131响应于提示数据请求信号将测试控制信号发送给易失性存储器110。恢复控制器131控制易失性存储器110对第一测试模式数据执行写入操作并对第一测试数据执行读取操作。恢复控制器131控制易失性存储器110对第二测试模式数据执行写入操作并对第二测试数据执行读取操作。
在操作S800中,恢复逻辑电路130更新提示信息。提示信息是由提示数据指示的信息,并且可以是指示正常单元的位置和坏单元的位置的信息。例如,恢复控制器131通过对第一测试数据和第二测试数据执行XOR运算来生成指示坏单元的位置的提示数据,并将提示数据存储在提示数据缓冲器132中。
在操作S900中,恢复逻辑电路130重写原始数据。在这种情况下,重写可以是将原始数据存储在先前存储原始数据的存储器单元区域中。例如,恢复控制器131将写入命令、地址ADDR和原始数据传送到易失性存储器110,并且易失性存储器110将原始数据存储在与地址ADDR对应的存储器单元区域中。存储在与地址ADDR对应的存储单元区域中的第二测试数据被替换为原始数据。然后再次执行操作S200。
当与通过主机50传送的地址ADDR对应的提示数据被存储在提示数据缓冲器132中时(S500,否),在操作S1000中,ECC引擎120获取提示信息。例如,ECC解码器122访问提示数据缓冲器132以接收提示数据。在执行操作S1000之后,执行操作S1200。
当输出数据DATA_OUT中未发生2位错误时(S300,否),在操作S1100中,ECC引擎120确定输出数据DATA_OUT是否为1位故障。1位故障可指示输出数据DATA_OUT具有1位的错误。例如,ECC解码器122检测输出数据DATA_OUT中的1位错误。
在操作S1200,ECC引擎120对输出数据DATA_OUT执行ECC解码操作。例如,ECC解码器122纠正具有1位错误的输出数据DATA_OUT中的错误位。作为另一示例,ECC解码器122可基于提示数据纠正输出数据DATA_OUT中的2位错误之中的至少一个错误。
在操作S1300中,ECC引擎120可将纠正的数据发送给主机50。
图7是示出根据实施例的硬缺陷测试的流程图。
硬缺陷测试可以是用于在易失性存储器110以相对高的内部电压或低时钟频率操作时检测坏单元的测试。硬缺陷测试可被称为第一测试操作。
参照图1和7,在操作S2000中,恢复逻辑电路130设置硬缺陷测试电压的电平和硬缺陷测试时钟的频率。例如,恢复逻辑电路130将请求改变内部电压和时钟的频率的设置请求信号发送给主机50,并且主机50响应于设置请求信号将具有硬缺陷测试电压电平的第一内部电压和具有硬缺陷测试时钟频率的第一时钟发送给存储器装置100。在一个实施例中,硬缺陷测试电压可具有比在稳定状态下在易失性存储器110中使用的内部电压的电平高的电平。硬缺陷测试时钟的频率可具有比在稳定状态下易失性存储器110中使用的时钟的频率小的频率。
在操作S2100中,易失性存储器110在恢复逻辑电路130的控制下将第一测试模式数据写入目标字线。例如,恢复控制器131将写入命令、地址和第一测试模式数据传送到易失性存储器110,并且第一测试模式数据存储在连接到目标字线的存储器单元中。
在操作S2200中,易失性存储器110在恢复逻辑电路130的控制下读取第一测试数据,并且恢复逻辑电路130缓冲读取的第一测试数据。例如,恢复控制器131将读取命令和地址传送到易失性存储器110,并且易失性存储器110输出第一测试数据。恢复控制器131将第一测试数据临时存储在测试数据缓冲器133。
在操作S2300中,易失性存储器110在恢复逻辑电路130的控制下将第二测试模式数据写入目标字线。
在操作S2400中,易失性存储器110在恢复逻辑电路130的控制下读取第二测试数据,并且恢复逻辑电路130缓冲读取的第二测试数据。
在操作S2500中,恢复逻辑电路130使用第一测试数据和第二测试数据执行XOR运算。
在操作S2600中,恢复逻辑电路130检查由XOR运算生成的结果数据的所有值是否都是特定值,例如“0h”。
当结果数据具有至少一个第一值(例如,“Fh”或“1b”)时(S2600,否),在操作S2700中,恢复逻辑电路130将结果数据存储为提示数据。例如,恢复控制器131将结果数据临时存储在提示数据缓冲器132中。
当结果数据的所有值都是第二值(例如,“0h”)时(S2600,是),可确定在易失性存储器110中没有发生硬缺陷。在操作S2800中,恢复逻辑电路130设置软缺陷测试电压的电平和软缺陷测试时钟的频率。例如,恢复逻辑电路130将请求改变内部电压和时钟的频率的设置请求信号发送给主机50,并且主机50响应于设置请求信号将具有软缺陷测试电压电平的第二内部电压和具有软缺陷测试时钟频率的第二时钟发送给存储器装置100。在一个实施例中,软缺陷测试电压可具有比在稳定状态下在易失性存储器110中使用的内部电压的电平低的电平。软缺陷测试时钟可具有比在稳定状态下易失性存储器110中使用的时钟的频率大的频率。根据一个实施例,恢复逻辑电路130可仅设置软缺陷测试电压或仅设置软缺陷测试时钟。
在操作S2900中,恢复逻辑电路130执行软缺陷测试。稍后将参照图8描述软缺陷测试。
图8是示出根据实施例的软缺陷测试的流程图。
软缺陷测试可以是用于在易失性存储器110以相对低的内部电压或高时钟频率操作时检测坏单元的测试。软缺陷测试可被称为第二测试操作。
参照图1和图8,在操作S2910至S2960中执行的操作可与在以上参照图7描述的在操作S2100至S2600中执行的操作相同。也就是说,在操作S2910写入第一测试模式数据,在操作S2920读取并缓冲第一测试数据,在操作S2930写入第二测试模式数据,在操作S2940读取并缓冲第二测试数据,并且在操作S2950对第一测试数据和第二测试数据进行异或。在操作S2960中,恢复逻辑电路130检查由XOR运算生成的结果数据的所有值是否都是第二值(例如,“0h”)。
当结果数据具有至少一个第一值(例如,“Fh”)时(S2960,否),在操作S2970中,恢复逻辑电路130将结果数据存储为提示数据。
如果结果数据的值都是第二值(例如,“0h”)(S2960,是),则在操作S2980中,恢复逻辑电路130调整软缺陷测试电压的电平和软缺陷测试时钟的频率。例如,恢复逻辑电路130将请求改变内部电压和时钟的频率的设置请求信号发送给主机50,并且主机50响应于设置请求信号而将具有比第二内部电压(参照图7)的电平的低的电平的第三内部电压和具有比第二时钟的频率高的频率的第三时钟发送给存储器装置100。根据一个实施例,恢复逻辑电路130可仅调整软缺陷测试电压或仅调整软缺陷测试时钟。在执行操作S2980之后,执行操作S2910,并且重复执行操作S2910至S2960和S2980,直到结果数据具有至少一个第一值(例如,“Fh”)。
图9A至图9C是用于解释根据实施例的提示数据的示图。
参照图9A,提示数据可被管理为提示表或位图的数据结构。当输出数据DATA_OUT中发生2位错误时,提示数据可具有关于特定段(SEG)的每条位线的第一值或第二值。这里,特定段可指示特定易失性存储器(例如,图1中示出的易失性存储器110)。如果在存储器装置100中包括多于一个易失性存储器110,则可存在两个或更多个段。位线的数量可以是例如136。然而,实施例不限于此。在下文中,假设位线的数量是136(BL编号0至135)。在一个实施例中,第一值(例如,“1b”)可指示相应的位线中已发生错误,并且第二值(例如,“0b”)可指示相应的位线正常。然而,实施例不限于此。参照图9A,例如,当坏单元分别存在于位线6和位线71中时,位线6和位线71的提示数据的值可以是“1b”,并且剩余位线的提示数据的值可以是“0b”。然而,实施例不限于此。在下文中,为了方便,假设坏单元分别存在于位线6和位线71中。
即使在输出数据DATA_OUT中发生2位错误,提示数据也可针对发生错误的两条位线中的任何一条具有第一值。参照图9B,例如,即使坏单元分别出现在位线6和位线71中,位线6的提示数据的值可以是“0b”,位线71的提示数据的值可以是“1b”,并且剩余位线的提示数据的值可以是“0b”。参照图9C,例如,即使坏单元分别出现在位线6和位线71中,位线6的提示数据的值可以是“1b”,位线71的提示数据的值可以是“0b”,并且剩余位线的提示数据的值可以是“0b”。
图10是用于解释根据实施例的ECC解码器的示图。
参照图1、图5和图10,ECC解码器600可与图1中示出的ECC解码器122对应。ECC解码器600可接收传送到第一数据线至第八数据线GIO[0:127]的数据DATA[0:127]和传送到奇偶校验数据线CCP[0:7]的奇偶校验位PARITY BIT[0:7]。数据DATA[0:127]和奇偶校验位PARITY BIT[0:7]可构成作为一个码字的输出数据DATA_OUT。ECC解码器600可从恢复逻辑电路130接收提示数据HD[0:135]。ECC解码器600可通过基于输出数据DATA_OUT和提示数据HD[0:135]纠正错误位,来输出纠正的数据CDATA[0:127]。
在一个实施例中,ECC解码器600可包括提示数据应用器610、校验子生成器620、系数计算器630、1位错误检测器640和纠错器650。
提示数据应用器610对输出数据DATA_OUT(例如,数据DATA[0:127]和奇偶校验位PARITY BIT[0:7])和提示数据HD[0:135]执行XOR运算,以输出至少一个错误位被纠正的数据。至少一个错误位被纠正的数据可被发送给校验子生成器620。校验子生成器620可接收128位数据DATA[0:127]和奇偶校验位PARITY BIT[0:7],并且使用XOR数组运算生成校验子数据。系数计算器630可通过使用校验子数据来计算错误位置方程的系数。例如,系数计算器630可通过执行关键方程算法来计算错误位置方程的系数。在一个实施例中,系数计算器630可包括关键方程求解器,关键方程求解器通过使用伯利坎普-梅西(Berlekamp-Massey)算法、逐步(Step-By-Step,SBS)算法、欧几里德(Euclidean)算法或改进型欧几里德(modified Euclidean)算法来生成错误位置方程。错误位置方程可以是基于错误位的位置的倒数(reciprocal)的方程。错误位置方程可被称为错误位置多项式。在一个实施例中,用于1位纠错的错误位置方程可在下面的等式1中示出。
等式1:
S1x+1=0
在等式1中,“S1”是第一校验子(或第一部分校验子),并且“x”是未知数。
在另一实施例中,用于2位纠错的错误位置方程可以是包括第一校验子和第二校验子作为系数的二次方程。
1位错误检测器640可通过使用校验子数据来计算错误位的位置。例如,1位错误检测器640可计算(例如,通过执行钱氏(chien)搜索算法等)错误位置方程的至少一个根(或者解),并且根的倒数可以是2位错误位置。纠错器650可基于1位错误检测器640的检测结果来确定错误位的位置。例如,纠错器650可通过执行错误评估算法来确定错误位的位置。纠错器650可通过根据确定的错误位的位置信息对发生错误的位的值进行取反来纠正错误,并且可输出纠正的数据CDATA。
图11A至11C是用于解释根据实施例的提示数据应用器的操作的示图。
在下面的描述中,作为示例,位线的数量是136,并且在由数据DATA[0:127]和奇偶校验位PARITY BIT[[0:7]构成的码字Codeword[0:135]中发生2位错误,并且假设位于码字Codeword[0:135]中的第6位线BL6和第71位线BL71中的单元是坏单元。
参照图9A和图11A,在图11A中,第0位线BL0至第135位线BL135之中的第6位线BL6和第71位线BL71的提示数据HD[0:135]的值可以是“1b”,并且剩余位线的提示数据HD[0:135]的值可以是“0b”。提示数据应用器610可对码字Codeword[0:135]和提示数据HD[0:135]执行XOR运算。在这种情况下,用于第6位线BL6和第71位线BL71的码字Codeword[0:135]的位值被取反。图11A示出的操作数据ED[0:135]可以是其中发生在码字Codeword[0:135]中的所有错误都被纠正的数据。
参照图9B和图11B,在图11B中,第0位线BL0至第135位线BL135中的第71位线BL71的提示数据HD[0:135]的值可以是“1b”,并且剩余位线的提示数据HD[0:135]的值可以是“0b”。提示数据应用器610可对码字Codeword[0:135]和提示数据HD[0:135]执行XOR运算。在这种情况下,第71位线BL71的码字Codeword[0:135]的位值被取反,并且第6位线BL6的码字Codeword[0:135]的位值不被取反。图11B中示出的操作数据ED[0:135]可以是包括与第六位线BL6对应的错误位的数据。也就是说,操作数据ED[0:135]可以是包括1位的错误的Codeword[0:135]。因为图11B示出的操作数据ED[0:135]是包括1位的错误的码字Codeword[0:135],所以图11B中示出的操作数据ED[0:135]中的1位错误通过校验子生成器620、系数计算器630、1位错误检测器640和纠错器650被纠正。
参照图9C和图11C,在图11C中,第0位线BL0至第135位线BL135中的第6位线BL6的提示数据HD[0:135]的值可以是“1b”,并且剩余位线的提示数据HD[0:135]的值可以是“0b”。提示数据应用器610可对码字Codeword[0:135]和提示数据HD[0:135]执行XOR运算。在这种情况下,第6位线BL6的码字Codeword[0:135]的位值被取反,并且第71位线BL71的码字Codeword[0:135]的位值不被取反。图11C中示出的操作数据ED[0:135]是包括与第71位线BL71对应的错误位的数据,并且可被视为包括1位的错误的码字Codeword[0:135]。在图11C中示出的操作数据ED[0:135]中,1位错误可通过校验子生成器620、系数计算器630、1位错误检测器640和纠错器650被纠正。
图12是用于解释根据另一实施例的电子装置的视图。
参照图12,电子装置可以执行图1中示出的电子装置的操作。
根据实施例的电子装置可包括主机50和存储器装置100'。主机50与图1中示出的主机相同。存储器装置100'可包括多个易失性存储器110、ECC引擎120、恢复逻辑电路130和复用器140。多个易失性存储器110中的每个可具有与连续地址对应的存储器区域。复用器140可从多个易失性存储器110之中选择与从主机50接收的地址对应的一个或多个易失性存储器110。
图13是用于解释根据实施例的电子装置的视图。
参照图13,根据另一实施例的电子装置可执行图1或图12中示出的电子装置的操作。
根据实施例的电子装置可包括应用处理器1410、时钟生成器1420、电源1430、缓冲器1440、恢复逻辑电路1450和非易失性存储器1460。应用处理器1410、时钟生成器1420、电源1430、缓冲器1440、恢复逻辑电路1450和非易失性存储器(NVM)1460可通过总线彼此通信。
应用处理器1410可控制时钟生成器1420、电源1430、缓冲器1440、恢复逻辑电路1450和非易失性存储器1460。应用处理器1410可执行图1中示出的主机50执行的操作。在一个实施例中,应用处理器1410可将读取命令和地址发送给缓冲器1440。在这种情况下,地址可与在第一SRAM至第nSRAM 1443_1、1443_2、……、1443_n中的任何一个中提供的存储区域对应。n可以是2或更大的整数。
时钟生成器1420可生成用于驱动缓冲器1440的时钟。此外,时钟生成器1420可生成用于驱动非易失性存储器1460的时钟。
电源1430可生成内部电压。
缓冲器1440可与图1中示出的存储器装置100或图12中示出的存储器装置100'对应。在一个实施例中,缓冲器1440可包括ECC引擎1441、复用器(MUX)1442和第一SRAM至第nSRAM 1443_1、1443_2、……、1443_n。ECC引擎1441与以上参照图1、图4、图5、图10和图11A至图11C描述的ECC引擎相同。复用器1442可执行与以上参照图12描述的操作相同的操作。第一SRAM至第n SRAM 1443_1、1443_2、……、1443_n可与以上参照图12描述的多个易失性存储器110对应。当应用处理器1410将读取命令和地址传送到缓冲器1440时,在第一SRAM至第n SRAM 1443_1、1443_2、……、1443_n之中,具有与地址对应的存储器区域的SRAM(例如,第一SRAM 1443_1)响应于读取命令而读取存储的数据,并输出数据。从SRAM(例如,第一SRAM1443_1)输出的数据通过复用器1442传送到ECC引擎1441。ECC引擎1441可纠正从SRAM(例如,第一SRAM 1443_1)输出的数据中的错误并输出纠正的数据。ECC引擎1441可检测从SRAM(例如,第一SRAM 1443_1)输出的数据中的2位错误。在这种情况下,ECC引擎1441可访问恢复逻辑电路1450并检查与SRAM(例如,第一SRAM 1443_1)对应的提示数据是否存储在恢复逻辑电路1450中。当与SRAM(例如,第一SRAM 1443_1)对应的提示数据存储在恢复逻辑电路1450中时,ECC引擎1441可基于提示数据纠正具有2位的错误的数据。
恢复逻辑电路1450可执行如上参照图1描述的操作。当ECC引擎1441在从SRAM(例如,第一SRAM 1443_1)输出的数据中检测到2位错误时,恢复逻辑电路1450可生成与SRAM(例如,第一SRAM 1443_1)对应的提示数据。为此,恢复逻辑电路1450可控制缓冲器1440顺序地对第一测试模式数据执行写入操作、对第一测试数据执行读取操作、对第二测试模式数据执行写入操作和对第二测试数据执行读取操作。
非易失性存储器1460可在应用处理器1410的控制下操作。具体地,非易失性存储器1460可从应用处理器1410接收命令和地址,并且可访问存储器单元之中通过地址选择的存储器单元。非易失性存储器1460可对通过地址选择的存储器单元执行由命令指示的操作。在一个实施例中,命令可以是作为输入/输出命令的编程命令、读取命令或擦除命令,由命令指示的操作(或与命令对应的操作)可以是例如编程操作(或写入操作)、读取操作或擦除操作。作为示例,非易失性存储器1460可以是例如闪存。闪存可包括例如NAND闪存、NOR闪存等。当非易失性存储器1460包括闪存时,闪存可包括2D NAND存储器阵列或3D(或垂直)NAND(VNAND)存储器阵列。然而,实施例不限于此。
在一个实施例中,当电子装置正常断电时,应用处理器1410可控制恢复逻辑电路1450和非易失性存储器1460将提示数据临时存储在非易失性存储器1460中。
图14是示出使用Shmoo(什穆)条件根据内部电压和时钟频率生成的错误趋势的示图。
在根据实施例的电子装置中,可生成各种内部电压和时钟频率。例如,可选择性地生成第一内部电压至第五内部电压IV1、IV2、IV3、IV4和IV5。可选择性地生成第一时钟频率至第五时钟频率CF1、CF2、CF3、CF4和CF5。然而,实施例不限于此。在下文中,为了方便,假设各种内部电压和时钟频率分别是第一内部电压至第五内部电压IV1、IV2、IV3、IV4和IV5以及第一时钟频率至第五时钟频率CF1、CF2、CF3、CF4和CF5。此外,假设第(i+1)内部电压(i是小于或等于4的自然数)的电平高于第i内部电压的电平。假设第(i+1)时钟频率大于第i时钟频率。
在相同时钟频率下,随着内部电压越高,出现坏单元的概率可降低。例如,坏单元可在第五时钟频率CF5下在第一内部电压至第四内部电压IV1、IV2、IV3和IV4下出现,并且坏单元可不在第五内部电压IV5下出现。然而,实施例不限于此。在相同的内部电压下,随着时钟频率增大,出现坏单元的概率可增大。例如,在第一内部电压IV1下,可不在第一时钟频率CF1下产生缺陷单元,但可从第二时钟频率CF2产生缺陷单元。然而,实施例不限于此。总之,随着时钟频率越低并且内部电压越高,出现坏单元的概率减小。
图15是用于解释在每个段的地址中可能发生的错误现象的示图。
参照图15,段:第(k-1)SEG、第(k)SEG和第(k+1)SEG(其中,k是大于或等于2的整数)可与图12中示出的多个易失性存储器110或图13中示出的第一SRAM至第n SRAM1443_1、1443_2、……、1443_n对应。参照图13和15,例如,第(k-1)段(第(k-1)SEG)可与第一SRAM1443_1对应,第k段(第(k)SEG)可与第二SRAM 1443_2对应,并且第(k+1)段(第(k+1)SEG)可与第三SRAM对应。对于连续的段:第(k-1)SEG、第(k)SEG、第(k+1)SEG,地址的值可以是连续的。
用户将测试数据(例如,具有值“Fh”的数据)写入到段:第(k-1)SEG、第(k)SEG、第(k+1)SEG中,单元可被检查。对于2位的错误,在一个段的特定列中连续发生位翻转,但是该错误不影响其他段。例如,假设在与第k段(第(k)SEG)的地址0对应的列中连续发生位翻转。在这种情况下,在第k段(第(k)SEG)中发生的错误不影响第(k-1)段(第(k-1)SEG)和第(k+1)段(第(k+1)SEG)。
图16是用于解释根据实施例的提示数据的示图。
参照图16,可为图12中示出的多个易失性存储器110、图13中示出的第一SRAM至第n SRAM 1443_1、1443_2、……、1443_n或图15中示出的段(例如,第(k-1)SEG、第(k)SEG、第(k+1)SEG)中的每个生成并存储根据实施例的提示数据。参照图13和16,例如,第一提示数据可以是第(k-1)段(第(k-1)SEG)的提示数据,并且第(k-1)段(第(k-1)SEG)可与第一SRAM1443_1对应。此外,第二提示数据可以是第k段(第(k)SEG)的提示数据,并且第k段(第(k)SEG)可与第二SRAM 1443_2对应。并且,第三提示数据是第(k+1)段(第(k+1)SEG)的提示数据,并且第(k+1)段(第(k+1)SEG)可与第三SRAM对应。然而,实施例不限于此。在下文中,假设第一提示数据是第一SRAM 1443_1的提示数据,第二提示数据是第二SRAM 1443_2的提示数据,并且第三提示数据是第三SRAM的提示数据。
第一提示数据的值可以是第二值。这表示第一SRAM 1443_1仅包括正常单元,并且在第一SRAM 1443_1中可不发生2位错误。
当坏单元分别发生在第二SRAM 1443_2的第6位线和第71位线中时,第6位线和第71位线的第二提示数据的值可以是“1b”,并且剩余位线的提示数据的值可以是“0b”。
当坏单元分别发生在第三SRAM的第二位线和剩余位线之中的一条位线(例如,第三位线)中时,第二位线的第三提示数据的值或所述一条位线(例如,第三位线)的第三提示数据的值可以是“1b”。例如,第二位线的第三提示数据的值可以是“1b”,并且剩余位线的提示数据的值可以是“0b”。
图17是用于解释根据实施例的通用闪存存储(UFS)系统的示图。
参照图17,UFS系统1000可以是符合由联合电子设备工程委员会(JEDEC)发布的UFS标准的系统。UFS系统1000可包括UFS主机1100、UFS装置1200和UFS接口1300。
UFS主机1100和UFS装置1200可通过UFS接口1300互连。当图1的主机50是AP时,UFS主机1100可被实现为与AP对应的一部分。
UFS主机1100可包括UFS主机控制器1110、应用1120、UFS驱动器1130、主机存储器1140和UFS互连(UIC)层1150。UFS装置1200可包括UFS装置控制器1210、非易失性存储装置(即,存储器)1220、存储装置接口(I/F)1230、装置存储器1240、UIC层1250、和调节器1260。非易失性存储器1220可由多个存储器单元1221构成,并且每个存储器单元1221可包括具有2D结构或3D结构的V-NAND闪存,但可包括其他类型的非易失性存储器(例如,PRAM和/或RRAM)。UFS装置控制器1210和非易失性存储器1220可通过存储装置接口1230彼此连接。存储装置接口1230可被实现为符合标准协议(诸如,toggle或ONFI)。装置存储器1240可与图1中示出的存储器装置100对应。
应用1120可表示想要与UFS装置1200通信以使用UFS装置1200的功能的程序。应用1120可为了UFS装置1200的输入/输出,将输入-输出请求发送给UFS驱动器1130。输入-输出请求可以是数据的读取请求、写入请求和/或丢弃请求,但不一定限于此。
UFS驱动器1130可通过UFS主机控制器接口(HCI)来管理UFS主机控制器1110。UFS驱动器1130可将由应用1120生成的输入-输出请求转换成由UFS标准定义的UFS命令,并将转换的UFS命令发送给UFS主机控制器1110。一个输入-输出请求可被转换成多个UFS命令。UFS命令基本上可以是由SCSI标准定义的命令,但是它也可以是专用于UFS标准的命令。
UFS主机控制器1110可通过UIC层1150和UFS接口1300,将由UFS驱动器1130转换的UFS命令发送给UFS装置1200的UIC层1250。在该处理中,UFS主机控制器1110的UFS主机寄存器1111可用作命令队列(CQ)。
UFS主机1100侧的UIC层1150可包括MIPI M-PHY 1151和MIPI Unipro 1152,并且UFS装置1200侧的UIC层1250还可包括MIPI M-PHY 1251和MIPI Unipro 1252。
UFS接口1300可包括用于发送参考时钟REF_CLK的线、用于发送UFS装置1200的硬件复位信号RESET_n的线、用于传送差分输入信号对DIN_T和DIN_C的一对线、和用于发送差分输出信号对DOUT_T和DOUT_C的一对线。
从UFS主机1100提供给UFS装置1200的参考时钟的频率值可以是以下四个值之一:19.2MHz、26MHz、38.4MHz和52MHz,但不限于此。UFS主机1100可在操作期间(也就是说,在UFS主机1100与UFS装置1200之间执行数据发送/接收时)改变参考时钟的频率值。UFS装置1200可使用锁相环(PLL)等从UFS主机1100提供的参考时钟生成各种频率的时钟。此外,UFS主机1100可通过参考时钟的频率值来设置UFS主机1100与UFS装置1200之间的数据速率值。也就是说,可根据参考时钟的频率值来确定数据速率的值。
UFS接口101可支持多个通道,并且每个通道可被实现为差分对。例如,UFS接口可包括一个或多个接收通道和一个或多个发送通道。发送差分输入信号对DIN_T和DIN_C的一对线可构成接收通道。发送差分输出信号对DOUT_T和DOUT_C的一对线可构成发送通道。尽管在图17中示出一个发送通道和一个接收通道,但是可改变发送通道和接收通道的数量。
接收通道和发射通道可以以串行通信方法来发送数据,并且UFS主机1100与UFS装置1200之间的全双工通信通过其中接收通道和发送通道是分开的结构是可行的。也就是说,UFS装置1200可通过发送通道将数据发送给UFS主机1100,同时通过接收通道从UFS主机1100接收数据。此外,控制数据(诸如,从UFS主机1100到UFS装置1200的命令)和UFS主机1100意图存储在UFS装置1200的非易失性存储器1220中或从UFS装置1200的非易失性存储器1220读取的用户数据可通过同一通道来发送。因此,除了该对接收通道和该对发送通道之外,不需要为UFS主机1100与UFS装置1200之间的数据传输进一步提供单独的通道。
UFS装置1200的UFS装置控制器1210可控制UFS装置1200的总体操作。UFS装置控制器1210可通过作为逻辑数据存储单元的逻辑单元(LU)1211(第0逻辑单元至第N-1逻辑单元)来管理非易失性存储器1220。LU 1211的数量可以是8,但不限于此。UFS装置控制器1210可包括闪存转换层(FTL),并且可使用FTL的地址映射信息将逻辑数据地址(例如,从UFS主机1100发送的逻辑块地址(LBA))转换为物理数据地址(例如,物理块地址(PBA))。用于在UFS系统1000中存储用户数据的逻辑块可具有在预设范围内的大小。例如,逻辑块的最小大小可被设置为4K字节。
当来自UFS主机1100的命令通过UIC层1250被输入到UFS装置1200时,UFS装置控制器1210可根据输入的命令来执行操作,并且当操作完成时向UFS主机1100发送完成响应。
作为一个示例,当UFS主机1100意图将用户数据存储在UFS装置1200中时,UFS主机1100可将数据存储命令发送给UFS装置1200。一旦从UFS装置1200接收到指示用户数据准备好传送的响应,UFS主机1100可将用户数据发送给UFS装置1200。UFS装置控制器1210可将接收的用户数据临时存储在装置存储器1240中,并且基于FTL的地址映射信息将临时存储在装置存储器1240中的用户数据存储在非易失性存储器1220的选择的位置中。
作为另一示例,当UFS主机1100想要读取存储在UFS装置1200中的用户数据时,UFS主机1100可将数据读取命令发送给UFS装置1200。接收到命令的UFS装置控制器1210可基于数据读取命令来从非易失性存储器1220读取用户数据并将读取的用户数据临时存储在装置存储器1240中。在该读取处理中,UFS装置控制器1210可使用内置纠错码(ECC)引擎来检测和纠正读取的用户数据中的错误。具体地,ECC引擎可生成待写入非易失性存储器1220的输入数据的奇偶校验位,并且生成的奇偶校验位可与输入数据一起存储在非易失性存储器1220中。当从非易失性存储器1220读取数据时,ECC引擎可使用与读取的数据一起从非易失性存储器1220读取的奇偶校验位纠正读取的数据中的错误,并输出纠错的读取的数据。
此外,UFS装置控制器1210可将临时存储在装置存储器1240中的用户数据发送给UFS主机1100。此外,UFS装置控制器1210还可包括高级加密标准(AES)引擎。AES引擎可使用对称密钥算法对输入到UFS装置控制器1210的数据执行加密操作和解密操作中的至少一者。
UFS主机1100可将待发送给UFS装置1200的命令顺序地存储在UFS主机寄存器1111中,该UFS主机寄存器1111可用于形成命令队列,并且可按该顺序将命令发送给UFS装置1200。此时,即使UFS装置1200仍然在处理先前发送的命令(也就是说,即使在UFS装置1200通知先前发送的命令的处理已经完成之前),UFS主机1100也可将命令队列中等待的下一命令发送给UFS装置1200,因此,UFS装置1200在处理先前发送的命令的同时还可从UFS主机1100接收下一命令。可被存储在这样的命令队列中的命令的最大数量(队列深度)可以是例如32。此外,命令队列可被实现为循环队列类型,循环队列类型通过头指针和尾指针分别指示存储在队列中的命令序列的开始和结束。
多个存储器单元1221中的每个可包括存储器单元阵列和用于控制存储器单元阵列的操作的控制电路。存储器单元阵列可包括二维存储器单元阵列或三维存储器单元阵列。存储器单元阵列包括多个存储器单元,并且每个存储器单元可以是存储一位信息的单层单元(SLC),但是可以是存储两位或更多位的信息的单元(例如,多层单元(MLC)、三层单元(TLC)或四层单元(QLC))。三维存储器单元阵列可包括被垂直定向使得至少一个存储器单元位于另一存储器单元的顶部上的垂直NAND串。
VCC、VCCQ、VCCQ2等可作为电源电压被输入到UFS装置1200。VCC是UFS装置1200的主电源电压,并且可具有约2.4V至约3.6V的值。VCCQ是用于供应低范围电压的电源电压,主要用于UFS装置控制器1210,并且可以具有约1.14V至约1.26V的值。VCCQ2是用于供应比VCC低但比VCCQ高的电压的电源电压,主要用于输入/输出接口(诸如,MIPI M-PHY 1251),并且可具有约1.7V至约1.95V的值。电源电压可通过调节器1260提供给UFS装置1200的每个组件。调节器1260可被实现为分别连接到上述电源电压中的不同电源电压的一组单元调节器。
虽然已经具体示出和描述了实施例的各方面,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可在其中进行形式和细节上的各种改变。
Claims (20)
1.一种存储器装置,包括:
易失性存储器,包括多个存储器单元、多条字线和多条位线,所述易失性存储器被配置为:基于从主机接收的第一读取命令和地址提供存储在所述多个存储器单元之中的目标存储器单元中的输出数据;
恢复逻辑电路,被配置为:提供指示所述多条位线之中的第一位线和第二位线的提示数据,缺陷单元连接到第一位线,正常单元连接到第二位线;以及
纠错电路,被配置为:通过基于输出数据和提示数据纠正输出数据中的错误而生成纠正的数据,并且将纠正的数据提供给主机。
2.根据权利要求1所述的存储器装置,其中,恢复逻辑电路包括:
恢复控制器,被配置为:控制易失性存储器将测试模式数据存储在目标存储器单元中,控制易失性存储器读取测试数据,并且基于从易失性存储器提供的测试数据来生成提示数据;
提示数据缓冲器,被配置为:临时存储提示数据;以及
测试数据缓冲器,被配置为:临时存储测试数据。
3.根据权利要求2所述的存储器装置,其中,恢复控制器还被配置为:
将第一写入命令、第一测试模式数据和地址传送到易失性存储器;
将第二读取命令和地址传送到易失性存储器;
将从易失性存储器输出的第一测试数据存储在测试数据缓冲器中;
将第二写入命令、第二测试模式数据和地址传送到易失性存储器;
将第三读取命令和地址传送到易失性存储器;以及
将从易失性存储器输出的第二测试数据存储在测试数据缓冲器中。
4.根据权利要求3所述的存储器装置,其中,恢复控制器还被配置为:
对第一测试数据和第二测试数据执行异或运算;以及
根据异或运算的结果将第一结果数据作为提示数据存储在提示数据缓冲器中,第一结果数据的至少一个位具有第一值。
5.根据权利要求4所述的存储器装置,其中,恢复控制器还被配置为:
基于由异或运算生成的第二结果数据的所有值都是与第一值不同的第二值,将用于改变用于操作易失性存储器的内部电压和时钟频率中的任何一者或任何组合的设置请求信号发送给主机;以及
基于内部电压和时钟频率中的任何一者或任何组合根据设置请求信号改变,控制易失性存储器基于第一测试模式数据执行写入操作、基于第一测试数据执行读取操作、基于第二测试模式数据执行写入操作、以及基于第二测试数据执行读取操作。
6.根据权利要求5所述的存储器装置,其中,恢复控制器还被配置为:基于第二结果数据的所有值都是第二值,请求主机生成具有比内部电压的电平低的电平的减小的内部电压。
7.根据权利要求5所述的存储器装置,其中,恢复控制器还被配置为:基于第二结果数据的所有值都是第二值,请求主机生成具有比时钟频率大的增大的时钟频率的时钟。
8.根据权利要求2所述的存储器装置,其中,恢复控制器经还被配置为:
将输出数据备份到测试数据缓冲器,并控制易失性存储器将测试模式数据存储在目标存储器单元中;以及
在提示数据被生成之后,控制易失性存储器将备份的输出数据存储在目标存储器单元中。
9.根据权利要求1至权利要求7中的任意一项权利要求所述的存储器装置,其中,纠错电路还被配置为:
针对从主机接收的数据生成奇偶校验位;
使用提示数据纠正输出数据;
将纠正的数据发送给主机;
输出至少一个错误位通过对输出数据和提示数据执行异或运算被纠正的数据;
基于至少一个错误位被纠正的数据生成校验子数据;
基于校验子数据计算基于错误位的位置的倒数的错误位置方程的系数;
通过使用校验子数据和错误位置方程的系数计算至少一个错误位被纠正的数据中的错误位的位置;
通过对错误位的值进行取反来纠正错误;以及
输出纠正的数据。
10.一种电子装置,包括:
应用处理器,被配置为:输出第一读取命令和地址;
缓冲器,包括多个易失性存储器、被配置为从所述多个易失性存储器之中选择与地址对应的易失性存储器的复用器、被配置为纠正通过根据第一读取命令执行的读取操作从易失性存储器读取的输出数据中发生的错误的纠错电路;以及
恢复逻辑电路,被配置为:提供指示第一位线和第二位线的提示数据,坏单元分别连接到第一位线,正常单元连接到第二位线,
其中,纠错电路还被配置为:基于与选择的易失性存储器对应的第一提示数据和输出数据来纠正错误,并且将纠正的数据提供给应用处理器。
11.根据权利要求10所述的电子装置,其中,恢复逻辑电路包括:
恢复控制器,被配置为:控制将测试模式数据存储在选择的易失性存储器中,控制从选择的易失性存储器读取测试数据,并且基于从选择的易失性存储器提供的测试数据生成第一提示数据;
提示数据缓冲器,被配置为:临时存储第一提示数据;以及
测试数据缓冲器,被配置为:临时存储测试数据。
12.根据权利要求11所述的电子装置,其中,恢复控制器还被配置为:
将第一写入命令、第一测试模式数据和地址传送到选择的易失性存储器;
将第二读取命令和地址传送到选择的易失性存储器;
将从选择的易失性存储器输出的第一测试数据存储在测试数据缓冲器中;
将第二写入命令、第二测试模式数据和地址传送到选择的易失性存储器;
将第三读取命令和地址传送到选择的易失性存储器;以及
将从选择的易失性存储器输出的第二测试数据存储在测试数据缓冲器中。
13.根据权利要求12所述的电子装置,其中,恢复控制器还被配置为:
对第一测试数据和第二测试数据执行异或运算;以及
将根据异或运算的结果的具有至少一个第一值的第一结果数据作为提示数据存储在提示数据缓冲器中。
14.根据权利要求13所述的电子装置,还包括:电源,被配置为:提供内部电压
其中,应用处理器还被配置为:基于设置请求信号来控制电源,以降低内部电压的电平,并且
其中,恢复控制器还被配置为:
基于通过异或运算生成的第二结果数据的所有值都是与第一值不同的第二值,将设置请求信号发送给应用处理器;以及
基于内部电压的电平被改变,控制选择的易失性存储器基于第一测试模式数据执行写入操作、基于第一测试数据执行读取操作、基于第二测试模式数据执行写入操作、以及基于第二测试数据执行读取操作。
15.根据权利要求13所述的电子装置,还包括:时钟生成器,被配置为:提供时钟,
其中,应用处理器还被配置为:基于设置请求信号来控制时钟生成器增大时钟的时钟频率,并且
其中,恢复控制器还被配置为:
基于通过异或运算生成的第二结果数据的所有值都是与第一值不同的第二值,将设置请求信号发送给应用处理器;以及
基于时钟频率被改变,控制选择的易失性存储器基于第一测试模式数据执行写入操作、基于第一测试数据执行读取操作、基于第二测试模式数据执行写入操作、以及基于第二测试数据执行读取操作。
16.根据权利要求11所述的电子装置,其中,恢复控制器还被配置为:
在将输出数据备份到测试数据缓冲器之后,控制选择的易失性存储器存储测试模式数据;以及
在生成提示数据之后,控制选择的易失性存储器将存储在测试数据缓冲器中的输出数据存储在目标存储器单元中。
17.根据权利要求10所述的电子装置,其中,纠错电路还被配置为:
针对从应用处理器接收的数据生成奇偶校验位;
使用第一提示数据纠正输出数据;
将纠正的数据发送给应用处理器;
输出至少一个错误位通过对输出数据和提示数据执行异或运算被纠正的数据;
基于至少一个错误位被纠正的数据生成校验子数据;
基于校验子数据计算基于错误位的位置的倒数的错误位置方程的系数;
通过使用校验子数据和错误位置方程的系数计算至少一个错误位被纠正的数据中的错误位的位置;
通过基于所述位置对错误位的值进行取反来纠正错误;以及
输出纠正的数据。
18.一种操作存储器装置的方法,所述方法包括:
从主机接收读取命令和地址;
读取存储在多个易失性存储器之中的与地址对应的易失性存储器中的数据;
检测从易失性存储器读取的数据中的2位错误;
基于与易失性存储器对应的提示数据和从易失性存储器读取的数据来纠正2位错误,以获得纠正的数据;以及
将纠正的数据提供给主机。
19.根据权利要求18所述的方法,还包括:
在检测到2位错误之后,备份从易失性存储器读取的数据;
将第一测试模式数据、第一写入命令和地址传送到易失性存储器,以将第一测试模式数据存储在易失性存储器中;
将第二读取命令和地址传送到易失性存储器以从易失性存储器获取第一测试数据;
将第二测试模式数据、第二写入命令和地址传送到易失性存储器,以将第二测试模式数据存储在易失性存储器中;
将第三读取命令和地址传送到易失性存储器以从易失性存储器获取第二测试数据;
通过对第一测试数据和第二测试数据执行异或运算来生成结果数据;以及
根据结果数据的值生成提示数据。
20.根据权利要求19所述的方法,其中,纠正2位错误步骤包括:
输出至少一个错误位通过对从易失性存储器读取的数据和提示数据执行异或运算被纠正的数据;
基于至少一个错误位被纠正的数据生成校验子数据;
基于校验子数据计算基于错误位的位置的倒数的错误位置方程的系数;
通过使用校验子数据和错误位置方程的系数计算至少一个错误位被纠正的数据中的错误位的位置;
通过基于所述位置对错误位的值进行取反来纠正错误;以及
输出纠正的数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0141366 | 2021-10-21 | ||
KR1020210141366A KR102387463B1 (ko) | 2021-10-21 | 2021-10-21 | 메모리 장치, 전자 장치 및 메모리 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116013396A true CN116013396A (zh) | 2023-04-25 |
Family
ID=81212202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210890699.8A Pending CN116013396A (zh) | 2021-10-21 | 2022-07-27 | 存储器装置、电子装置和存储器装置的操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230126954A1 (zh) |
EP (1) | EP4170660A1 (zh) |
KR (1) | KR102387463B1 (zh) |
CN (1) | CN116013396A (zh) |
TW (1) | TW202318432A (zh) |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5195098A (en) * | 1991-05-10 | 1993-03-16 | Echelon Corporation | Binary data error correction using hint signal |
US5761220A (en) * | 1994-09-19 | 1998-06-02 | Cirrus Logic, Inc. | Minimum latency asynchronous data path controller in a digital recording system |
KR100833600B1 (ko) * | 2006-08-25 | 2008-05-30 | 삼성전자주식회사 | 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치 |
KR101300036B1 (ko) * | 2006-11-24 | 2013-08-29 | 삼성전자주식회사 | 메모리 세팅 조건을 결정하는 메모리 테스트 장치 및 그방법 |
US8117519B2 (en) * | 2008-01-15 | 2012-02-14 | Micron Technology, Inc. | Memory apparatus and method using erasure error correction to reduce power consumption |
US9459955B2 (en) * | 2012-05-24 | 2016-10-04 | Sandisk Technologies Llc | System and method to scramble data based on a scramble key |
US9146807B2 (en) * | 2012-12-04 | 2015-09-29 | Sandisk Technologies Inc. | Bad column handling in flash memory |
US8898544B2 (en) * | 2012-12-11 | 2014-11-25 | International Business Machines Corporation | DRAM error detection, evaluation, and correction |
KR101862379B1 (ko) * | 2013-04-19 | 2018-07-05 | 삼성전자주식회사 | Ecc 동작과 리던던시 리페어 동작을 공유하는 메모리 장치 |
US9262263B2 (en) * | 2013-11-25 | 2016-02-16 | Qualcomm Incorporated | Bit recovery system |
US9780809B2 (en) * | 2015-04-30 | 2017-10-03 | Sandisk Technologies Llc | Tracking and use of tracked bit values for encoding and decoding data in unreliable memory |
US9484114B1 (en) * | 2015-07-29 | 2016-11-01 | Sandisk Technologies Llc | Decoding data using bit line defect information |
US9710329B2 (en) * | 2015-09-30 | 2017-07-18 | Sandisk Technologies Llc | Error correction based on historical bit error data |
FR3044817B1 (fr) * | 2015-12-02 | 2017-12-22 | St Microelectronics Rousset | Procede de gestion d'une ligne de bits defectueuse du plan memoire d'une memoire non volatile et dispositif de memoire correspondant |
US9823964B2 (en) * | 2015-12-08 | 2017-11-21 | Nvidia Corporation | Method for memory scrub of DRAM with internal error correcting code (ECC) bits during either memory activate and/or precharge operation |
US20190081640A1 (en) * | 2017-09-08 | 2019-03-14 | Intel Corporation | Faulty word line and faulty bit line information in error correcting coding |
KR20210026487A (ko) * | 2019-08-30 | 2021-03-10 | 삼성전자주식회사 | 휘발성 메모리 장치의 리페어 제어 방법 및 이를 수행하는 스토리지 장치 |
KR20210092391A (ko) * | 2020-01-16 | 2021-07-26 | 삼성전자주식회사 | 반도체 메모리 장치의 에러 정정 회로 및 반도체 메모리 장치 |
KR20210109085A (ko) * | 2020-02-26 | 2021-09-06 | 삼성전자주식회사 | 메모리 장치에 대한 테스트 방법, 메모리 장치를 테스트하는 테스트 장치의 동작 방법, 및 셀프-테스트 기능을 구비한 메모리 장치 |
JP7442386B2 (ja) | 2020-05-14 | 2024-03-04 | 東京エレクトロン株式会社 | 基板処理装置 |
KR20220102793A (ko) * | 2021-01-14 | 2022-07-21 | 에스케이하이닉스 주식회사 | 메모리 |
US11610640B1 (en) * | 2021-08-30 | 2023-03-21 | Taiwan Semiconductor Manufacturing Company Limited | Method for error correction coding with multiple hash groupings and device for performing the same |
-
2021
- 2021-10-21 KR KR1020210141366A patent/KR102387463B1/ko active IP Right Grant
-
2022
- 2022-04-29 US US17/733,559 patent/US20230126954A1/en active Pending
- 2022-06-02 EP EP22176963.1A patent/EP4170660A1/en active Pending
- 2022-07-27 CN CN202210890699.8A patent/CN116013396A/zh active Pending
- 2022-07-27 TW TW111128054A patent/TW202318432A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US20230126954A1 (en) | 2023-04-27 |
TW202318432A (zh) | 2023-05-01 |
EP4170660A1 (en) | 2023-04-26 |
KR102387463B1 (ko) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11239960B2 (en) | Characterization of in-chip error correction circuits and related semiconductor memory devices/memory systems | |
CN107799155B (zh) | 包括列冗余的存储装置 | |
KR102258140B1 (ko) | 반도체 메모리 장치의 에러 정정 회로, 반도체 메모리 장치 및 메모리 시스템 | |
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US10228990B2 (en) | Variable-term error metrics adjustment | |
US9368234B2 (en) | Nonvolatile memory device and method of operating the same | |
KR20160066019A (ko) | 데이터 메모리 디바이스 및 인터페이스 에러 검출 및 처리 논리를 갖는 제어기 | |
KR20100093739A (ko) | 비휘발성 메모리 장치의 읽기 방법 | |
TWI786707B (zh) | 用於半導體記憶體的錯誤更正寫碼與資料匯流反轉的裝置與方法 | |
KR102479483B1 (ko) | 메모리 시스템 및 이의 동작 방법 | |
US11461039B2 (en) | Nonvolatile memory that stores temperature information therein | |
KR20190113438A (ko) | 메모리 장치 및 그것의 동작방법 | |
US10133645B2 (en) | Data recovery in three dimensional non-volatile memory array after word line short | |
KR20200065298A (ko) | 메모리 시스템 및 그것의 동작방법 | |
US9703628B2 (en) | Memory device and system including the same | |
KR20210099895A (ko) | 메모리 시스템 및 그것의 동작방법 | |
US11003544B2 (en) | Memory system and method of operating the same | |
US10748638B2 (en) | Memory controller and memory system having the same | |
CN114627957A (zh) | 存储器装置和包括该存储器装置的存储器系统 | |
US11082068B2 (en) | Error correction circuit, memory controller having error correction circuit, and memory system having memory controller | |
JP2022047393A (ja) | メモリシステム、半導体記憶装置及びデータ読み出し方法 | |
KR20180134120A (ko) | 반도체시스템 | |
KR102387463B1 (ko) | 메모리 장치, 전자 장치 및 메모리 장치의 동작 방법 | |
TWI808098B (zh) | 用於支持錯誤更正碼的裝置及其測試方法 | |
KR102290032B1 (ko) | 컬럼 리던던시를 포함하는 메모리 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |