CN110879759B - 控制器及其操作方法 - Google Patents

控制器及其操作方法 Download PDF

Info

Publication number
CN110879759B
CN110879759B CN201910485078.XA CN201910485078A CN110879759B CN 110879759 B CN110879759 B CN 110879759B CN 201910485078 A CN201910485078 A CN 201910485078A CN 110879759 B CN110879759 B CN 110879759B
Authority
CN
China
Prior art keywords
block
error correction
data
memory
memory block
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
CN201910485078.XA
Other languages
English (en)
Other versions
CN110879759A (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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN110879759A publication Critical patent/CN110879759A/zh
Application granted granted Critical
Publication of CN110879759B publication Critical patent/CN110879759B/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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Abstract

本发明公开一种用于控制半导体存储器装置的操作的控制器,该控制器包括错误校正块和块管理器。错误校正块可对从半导体存储器装置接收的读取数据执行错误校正操作。块管理器可分析错误校正操作的结果,并且基于读取数据中包括的多个错误校正单位之中已出现错误校正失败的错误校正单位的数量,对存储读取数据的目标存储块选择性地执行缺陷处理。

Description

控制器及其操作方法
相关申请的交叉引用
本申请要求于2018年9月6日提交的申请号为10-2018-0106736的韩国专利申请的优先权,其全部公开内容通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,且更特别地,涉及一种控制器和操作控制器的方法。
背景技术
存储器装置可具有二维(2D)结构,其中串被水平地布置在半导体衬底上。可选地,存储器装置可具有三维(3D)结构,其中串被垂直地堆叠在半导体衬底上。随着2D结构达到其物理比例极限,半导体制造商正在生产具有3D结构的存储器装置,其中该3D结构包括垂直堆叠在半导体衬底上的多个存储器单元。控制器控制具有2D或3D结构的存储器装置的操作。
发明内容
本公开的各个实施例涉及一种可有效地使用半导体存储器装置的存储块的控制器。
本公开的各个实施例涉及一种可有效地使用半导体存储器装置的存储块的控制器的操作方法。
本公开的实施例可提供一种用于控制半导体存储器装置的操作的控制器。控制器可包括错误校正块和块管理器。错误校正块可被配置成对从半导体存储器装置接收的读取数据执行错误校正操作。块管理器可被配置成分析错误校正操作的结果,并且基于读取数据中包括的多个错误校正单位之中已出现错误校正失败的错误校正单位的数量,对存储读取数据的目标存储块选择性地执行缺陷处理。
在实施例中,当错误校正失败已出现在多个错误校正单位中的两个或更多个中时,块管理器可对目标存储块执行缺陷处理。
在实施例中,块管理器被配置成当错误校正失败已出现在多个错误校正单位中的一个中时,不对目标存储块执行缺陷处理。
在实施例中,块管理器被配置成当错误校正失败已出现在多个错误校正单位中的一个中时,对读取数据执行恢复操作并使用读取数据执行读取回收操作。
在实施例中,块管理器可包括错误校正结果分析器、数据备份处理器、坏块寄存器和坏块信息存储装置。错误校正结果分析器可被配置成分析错误校正操作的结果,并且生成第一检测数据或第二检测数据,其中第一检测数据指示错误校正失败已出现在一个错误校正单位中,第二检测数据指示错误校正失败已出现在两个或更多错误校正单位中。数据备份处理器可被配置成响应于第一检测数据和第二检测数据中的任意一个,生成用于与读取数据相关的数据备份处理的备份控制信号。坏块寄存器可被配置成响应于第二检测数据生成与目标存储块有关的坏块信息。坏块信息存储装置可被配置成存储坏块信息。
在实施例中,控制器可进一步包括命令生成器,该命令生成器被配置成生成用于控制半导体存储器装置的操作的命令。命令生成器可响应于备份控制信号生成用于与读取数据相关的数据备份操作的命令。
在实施例中,块管理器可进一步包括块测试执行组件。块测试执行组件可被配置成响应于第一检测数据生成用于对目标存储块的块测试操作的块测试控制信号。
在实施例中,命令生成器可响应于块测试控制信号生成用于测试目标存储块的命令。
在实施例中,控制器可进一步包括被配置成存储读取数据的缓冲存储器。
在实施例中,块管理器可进一步包括弱块信息存储装置和块测试执行组件。弱块信息存储装置可被配置成响应于第一检测数据将目标存储块登记为弱块。块测试执行组件可被配置成基于从弱块信息存储装置提供的弱块信息生成用于对弱块执行测试操作的块测试控制信号。
在实施例中,弱块信息存储装置可在半导体存储器装置的空闲时间期间将弱块信息传输到块测试执行组件。
本公开的实施例可提供一种操作用于控制半导体存储器装置的控制器的方法。该方法可包括:从半导体存储器装置接收读取数据;对读取数据执行错误校正操作;以及分析错误校正操作的结果,并且基于读取数据中包括的多个错误校正单位之中已出现错误校正失败的错误校正单位的数量,对存储读取数据的目标存储块选择性地执行缺陷处理。
在实施例中,分析错误校正操作的结果并对目标存储块选择性地执行缺陷处理可包括:确定读取数据中包括的多个错误校正单位中的每一个中的错误校正是否已成功,并且当确定错误校正失败已出现时,确定错误校正失败是否已出现在两个或更多个错误校正单位中。
在实施例中,分析错误校正操作的结果并对目标存储块选择性地执行缺陷处理可进一步包括:当确定错误校正失败已出现在两个或更多个错误校正单位中时,对目标存储块执行缺陷处理。
在实施例中,对目标存储块选择性地执行缺陷处理可包括:对读取数据执行恢复操作;使用恢复的读取数据将目标存储块的数据存储在另外的存储块中;更新与目标存储块相关的映射表;并且将目标存储块登记在坏块信息存储装置中。
在实施例中,该方法可进一步包括:当错误校正失败已出现在一个错误校正单位中时,对读取数据执行恢复操作,并且对读取数据执行读取回收操作。
在实施例中,该方法可进一步包括:当错误校正失败已出现在一个错误校正单位中时,对读取数据执行恢复操作,将目标存储块的数据存储在另外的存储块中,并且对目标存储块执行缺陷测试。
在实施例中,对目标存储块执行缺陷测试可包括:对目标存储块执行擦除操作;将测试数据编程到目标存储块,并读取所编程数据,然后确定错误校正失败是否已出现在所编程数据中。
在实施例中,该方法可进一步包括:当读取所编程数据并且错误校正失败已出现在所编程数据中时,对目标存储块执行缺陷处理。
在实施例中,该方法可进一步包括:当错误校正失败已出现在一个错误校正单位中时,对读取数据执行恢复操作,将目标存储块的数据存储在另外的存储块中,并且将目标存储块登记为弱块。
本公开的实施例可提供一种包括半导体存储器装置和控制器的存储器系统。半导体存储器装置可包括多个存储块。控制器可被配置成对从多个存储块之中的目标存储块接收的读取数据执行错误校正操作,该读取数据包括多个数据组块;确定多个数据组块之中已出现错误校正失败的数据组块的数量;并且当确定数据组块的数量大于阈值时,将目标存储块作为坏块处理。
附图说明
图1是示出存储器系统的框图。
图2是示出图1的半导体存储器装置的框图。
图3是示出图2的存储器单元阵列的示例的示图。
图4是示出可以是图3中的存储块BLK1至BLKz中的任意一个的示例性存储块BLKa的电路图。
图5是示出可以是图3中的存储块BLK1至BLKz中的任意一个的示例性存储块BLKb的电路图。
图6是示出可以是图2的存储器单元阵列110中的存储块BLK1至BLKz中的任意一个的示例性存储块BLKc的电路图。
图7是示出根据本公开的实施例的控制器的框图。
图8是示出存储块与物理页面之间的关系的示图。
图9是示出编程数据与组块之间的关系的示图。
图10是示出图2中的存储块BLK1至BLKz的存储块的结构的电路图。
图11A至图11D是示出根据图10中的存储块的结构将数据编程到每一个存储器单元的进程的示图。
图12A至图12D是示出根据图10中的存储块的结构将数据编程到每一个存储器单元的进程的示图。
图13是示出当由于存储块中的缺陷而出现位错误时单独的组块中的错误校正失败的方面的示图。
图14是示出当由于存储块中的缺陷而出现位错误时单独的组块中的错误校正失败的方面的示图。
图15是示出根据本公开的实施例的块管理器的框图。
图16是示出根据本公开的实施例的操作控制器的方法的流程图。
图17是示出图16中的步骤S160的示例的流程图。
图18是示出图17中的步骤S250的示例的流程图。
图19是示出图18中的步骤S253和S255的操作的示图。
图20是示出图17中的步骤S290的示例的流程图。
图21是示出图20中的读取回收操作的示图。
图22是示出图17中的步骤S290的示例的流程图。
图23是示出根据本公开的实施例的块管理器的框图。
图24是示出图16中的步骤S160的示例的流程图。
图25是示出图24中的步骤S380的示例的流程图。
图26是示出根据本公开的实施例的块管理器的框图。
图27是示出图16中的步骤S160的示例的流程图。
图28是示出图26中的块测试执行装置的操作的流程图。
图29是示出包括半导体存储器装置和控制器的存储器系统的框图。
图30是示出图29中的存储器系统的应用示例的框图。
图31是示出包括参照图30描述的存储器系统的计算系统的框图。
具体实施方式
在结合附图详细描述的实施例的上下文中提出了本公开的优点和特征以及实现这些优点和特征的方法。然而,本公开的元件和特征可被配置或布置成不同于本文示出和描述的元件和特征。因此,本发明不限于以下实施例;相反,本发明涵盖可以是所公开的实施例的变型或修改的其它实施例。因此,提供本实施例以便使本公开彻底且全面,并且将本公开的技术实质充分地传达给本领域的技术人员。而且,在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
还应注意的是,在本说明书中,“连接/联接”不仅指一个组件直接地联接另一组件,而且还指通过一个或多个中间组件间接地联接另一组件。在说明书中,除非上下文另有明确说明,否则当元件被称为“包括”或“包含”组件时,这种短语不排除包括或添加一个或多个其它组件。
将参照附图详细描述根据本公开的实施例。在不同附图中始终使用相同的附图标记来表示相同或相似的组件。可省略公知的配置和功能的细节以避免不必要地模糊本公开的方面和特征。
图1是示出存储器系统1000的框图。
参照图1,存储器系统1000包括半导体存储器装置100和控制器200。进一步地,存储器系统1000与主机300通信。半导体存储器装置100包括存储器单元阵列110,该存储器单元阵列110包括多个存储块BLK1、BLK2、……、BLKz。控制器200控制半导体存储器装置100的全部操作。进一步地,控制器200响应于从主机300接收的命令来控制半导体存储器装置100的操作。
控制器200可包括错误校正块210和块管理器220。错误校正块210对从半导体存储器装置100接收的数据执行错误校正操作。块管理器220可基于错误校正块210的错误校正操作的结果,对存储器单元阵列110中的多个存储块BLK1、BLK2、……、BLKz中的至少一个执行缺陷处理。
图2是示出图1的半导体存储器装置100的框图。
参照图2,半导体存储器装置100包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140、电压生成器150、列解码器160和输入/输出接口170。
存储器单元阵列110包括多个存储块BLK1至BLKz。存储块BLK1至BLKz可通过字线WL联接到地址解码器120。存储块BLK1至BLKz可通过位线BLe1至BLek和BLo1至BLok联接到读取和写入电路130。存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元,并且可被实施成具有垂直沟道结构的非易失性存储器单元。存储器单元阵列110可被实施成具有二维(2D)结构的存储器单元阵列。在实施例中,存储器单元阵列110可被实施成具有三维(3D)结构的存储器单元阵列。存储器单元阵列110中的存储器单元的每一个可存储至少一位数据。在实施例中,存储器单元阵列110中的存储器单元中的每一个可以是存储1位数据的单层单元(SLC)。在实施例中,存储器单元阵列110中的存储器单元中的每一个可以是存储2位数据的多层单元(MLC)。在实施例中,存储器单元阵列110中的存储器单元中的每一个可以是存储3位数据的三层单元(TLC)。在实施例中,存储器单元阵列110中的存储器单元中的每一个可以是存储4位数据的四层单元(QLC)。在各个实施例中,存储器单元阵列110可包括多个存储器单元,该多个存储器单元中的每一个存储5位或更多位的数据。
地址解码器120、读取和写入电路130、电压生成器150、列解码器160和输入/输出接口170作为用于操作存储器单元阵列110的外围电路来操作。地址解码器120通过字线WL联接到存储器单元阵列110。地址解码器120可在控制逻辑140的控制下操作。地址解码器120通过设置在半导体存储器装置100中的输入/输出缓冲器(未示出)接收地址。
地址解码器120可对接收到的地址之中的块地址进行解码。地址解码器120基于解码的块地址来选择至少一个存储块。当在读取操作期间执行读取电压施加操作时,地址解码器120可将由电压生成器150生成的读取电压Vread施加到被选择的存储块的被选择的字线,并且可将通过电压Vpass施加到剩余字线,即施加到未被选择的字线。在编程验证操作期间,地址解码器120可将由电压生成器150生成的验证电压施加到被选择的存储块的被选择的字线,并且可将通过电压Vpass施加到未被选择的字线。地址解码器120可对接收到的地址之中的列地址进行解码。
半导体存储器装置100的读取和编程操作的每一个都基于页面来执行。响应于对读取和编程操作的请求而接收的地址可包括块地址、行地址和列地址。地址解码器120可根据块地址和行地址来选择一个存储块和一个字线。地址解码器120可包括块解码器、行解码器、地址缓冲器等。
读取和写入电路130包括通过位线BLe1至BLek和BLo1至BLok联接到存储器单元阵列110的多个页面缓冲器PB1至PBk。响应于从控制逻辑140接收的控制信号,读取和写入电路130的页面缓冲器PB1至PBk可根据输入数据选择性地预充电位线BLe1至BLek或BLo1至BLok,以便将数据存储在存储器单元中,或者可感测位线BLe1至BLek或BLo1至BLok的电压,以便从存储器单元中读取数据。
在读取操作和编程验证操作期间,读取和写入电路130可通过感测节点感测根据相应的存储器单元的编程状态流动的电流量的变化,并且在连续地向联接到存储器单元的位线供应感测电流的同时将感测到的电流变化锁存为感测数据,以便感测存储器单元的阈值电压。
由读取和写入电路130读取的数据可通过列解码器160和输入/输出接口170输出到控制器200。
控制逻辑140联接到地址解码器120、读取和写入电路130以及电压生成器150。进一步地,控制逻辑140可控制列解码器160和输入/输出接口170的操作。
控制逻辑140可接收用于半导体存储器装置100的命令CMD和控制信号CTRL。在图2中,示出了其中命令CMD和控制信号CTRL不通过输入/输出接口170而直接传输到控制逻辑140的配置。然而,半导体存储器装置100的配置不限于此,命令CMD和控制信号CTRL可经由输入/输出接口170传输到控制逻辑140。控制逻辑140可响应于控制信号CTRL来控制半导体存储器装置100的整体操作。而且,控制逻辑140可控制读取和写入电路130,从而执行对存储器单元阵列110的读取操作和写入操作。
电压生成器150可响应于从控制逻辑140输出的控制信号,生成读取操作所需的读取电压Vread和通过电压Vpass。电压生成器150可包括接收内部供给电压以生成具有各种电压电平的多个电压的多个泵浦电容器,并且可在控制逻辑140的控制下,通过选择性地启用多个泵浦电容器来生成多个电压。
图3是示出图2的存储器单元阵列110的示例的示图。
参照图3,存储器单元阵列110可包括多个存储块BLK1至BLKz。每一个存储块可具有三维(3D)结构。每一个存储块包括堆叠在衬底上的多个存储器单元。这种存储器单元沿正X(+X)方向、正Y(+Y)方向和正Z(+Z)方向布置。以下将参照图4和图5详细地描述每一个存储块的结构。
图4是示出可以是图3中的存储块BLK1至BLKz中的任意一个的示例性存储块BLKa的电路图。
参照图4,存储块BLKa可包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,m个单元串沿行方向(即正(+)X方向)布置。在图4中,两个单元串被示为沿列方向(即正(+)Y方向)布置。然而,该示图是为了清楚起见;将理解的是,可在列方向上布置三个或更多个单元串。而且,可以看出的是,图4所示的位线BL1至BLm分别对应于图2所示的位线BLe1、BLo1、……、BLek和BLok。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可分别具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可为每一个单元串设置用于提供沟道层的柱(pillar)。在实施例中,可为每一个单元串设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每一个单元串的源极选择晶体管SST连接在共源线CSL与存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图4中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可共同联接到单个源极选择线。
每一个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可被划分成第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp顺序地布置在负(-)Z方向上,并且串联连接在源极选择晶体管SST和管道晶体管PT之间。第(p+1)至第n存储器单元MCp+1至MCn顺序地布置在+Z方向上,并且串联连接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第(p+1)至第n存储器单元MCp+1至MCn通过管道晶体管PT而彼此联接。每一个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每一个单元串的管道晶体管PT的栅极联接到管线PL。
每一个单元串的漏极选择晶体管DST连接在相应的位线和存储器单元MCp+1至MCn之间。行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
布置在列方向上的单元串联接到在列方向上延伸的位线。在图4中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
布置在行方向上的单元串中的、联接到相同字线的存储器单元构成单个页面。例如,在第一行中的单元串CS11至CS1m之中的、联接到第一字线WL1的存储器单元构成单个页面。在第二行中的单元串CS21至CS2m之中的、联接到第一字线WL1的存储器单元构成单个另外的页面。可通过选择漏极选择线DSL1和DSL2中的任意一个来选择布置在单个行的方向上的单元串。可通过选择字线WL1至WLn中的任意一个来从被选择的单元串中选择单个页面。
在实施例中,可设置偶数编号的位线和奇数编号的位线,代替第一至第m位线BL1至BLm。进一步地,布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可分别联接到偶数编号的位线,布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可分别联接到奇数编号的位线。例如,可设置图2的偶数编号的位线BLe1、BLe2、BLe3、……、BLek和奇数编号的位线BLo1、BLo2、BLo3、……、BLok。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可用作虚设存储器单元。例如,设置虚设存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,设置虚设存储器单元以减少漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。随着设置更多的虚设存储器单元,提高了存储块BLKa的操作的可靠性,但增加了存储块BLKa的大小。随着设置更少的虚设存储器单元,存储块BLKa的大小减小,但存储块BLKa的操作的可靠性可能劣化。
为了有效地控制虚设存储器单元,每一个虚设存储器单元可具有所需的阈值电压。在执行存储块BLKa的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在已执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到联接到各个虚设存储器单元的虚设字线的电压,因此虚设存储器单元可具有所需的阈值电压。
图5是示出可以是图3中的存储块BLK1至BLKz中的任意一个的示例性存储块BLKb的电路图。
参照图5,存储块BLKb可包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿正Z(+Z)方向延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个可包括堆叠在衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST,其中该衬底在存储块BLKb的下方。
每一个单元串的源极选择晶体管SST连接在共源线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可共同联接到单个源极选择线。
每一个单元串中的第一至第n存储器单元MC1至MCn串联连接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每一个单元串的漏极选择晶体管DST连接在相应的位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21'至CS2m'的漏极选择晶体管联接到第二漏极选择线DSL2。
因此,除从每一个单元串排除管道晶体管PT之外,图5的存储块BLKb具有与图4的存储块BLKa的电路相似的等效电路。
在实施例中,可设置偶数编号的位线和奇数编号的位线,代替第一至第m位线BL1至BLm。进一步地,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号的单元串可分别联接到偶数编号的位线,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号的单元串可分别联接到奇数编号的位线。例如,可设置图2的偶数编号的位线BLe1、BLe2、BLe3、……、BLek和奇数编号的位线BLo1、BLo2、BLo3、……、BLok。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可用作虚设存储器单元。例如,设置虚设存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,设置虚设存储器单元以减少漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着设置更多的虚设存储器单元,提高了存储块BLKb的操作的可靠性,但增加了存储块BLKb的大小。随着设置更少的存储器单元,存储块BLKb的大小减小,但存储块BLKb的操作的可靠性可能劣化。
为了有效地控制虚设存储器单元,每一个虚设存储器单元可具有所需的阈值电压。在执行存储块BLKb的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在已执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到联接到各个虚设存储器单元的虚设字线的电压,因此虚设存储器单元可具有所需的阈值电压。
图6是示出可以是图2的存储器单元阵列110中的存储块BLK1至BLKz中的任意一个的示例性存储块BLKc的电路图。
参照图6,存储块BLKc可包括多个单元串CS1至CSm。多个单元串CS1至CSm可分别联接到多个位线BL1至BLm。单元串CS1至CSm中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可在每一个单元串中设置用于提供沟道层的柱。在实施例中,可在每一个单元串中设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每一个单元串的源极选择晶体管SST联接在共源线CSL和存储器单元MC1至MCn之间。
每一个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
每一个单元串的漏极选择晶体管DST联接在相应的位线和存储器单元MC1至MCn之间。
联接到相同字线的存储器单元可构成单个页面。可通过选择漏极选择线DSL来选择单元串CS1至CSm。可通过选择字线WL1至WLn中的任意一个从被选择的单元串中选择一个页面。
在其它实施例中,可设置偶数编号的位线和奇数编号的位线代替第一至第m位线BL1至BLm。在单元串CS1至CSm之中,偶数编号的单元串可分别联接到偶数编号的位线,并且奇数编号的单元串可分别联接到奇数编号的位线。例如,可设置图2的偶数编号的位线BLe1、BLe2、BLe3、……、BLek和奇数编号的位线BLo1、BLo2、BLo3、……、BLok。
图7是示出根据本公开的实施例的例如图1的控制器200的控制器的详细配置的框图。
参照图7,控制器200可包括错误校正块210、块管理器220、命令生成器230和缓冲存储器240。命令生成器230可生成用于控制半导体存储器装置100的编程操作的编程命令WCMD或用于控制半导体存储器装置100的读取操作的读取命令RCMD。另外,命令生成器230可生成用于控制半导体存储器装置100的擦除操作的擦除命令。
在示例中,在编程操作期间,命令生成器230可生成用于将编程数据WDATA编程到存储器单元阵列110的第i存储块BLKi的第j物理页面PAGEj的编程命令WCMD。生成的编程命令WCMD可传输到半导体存储器装置100。进一步地,存储在缓冲存储器240中的编程数据WDATA可传输到半导体存储器装置100。半导体存储器装置100可响应于接收的编程命令WCMD,将编程数据WDATA编程到存储器单元阵列110的第i存储块BLKi的第j物理页面PAGEj。
在读取操作期间,命令生成器230可生成用于读取存储在存储器单元阵列110的第i存储块BLKi的第j物理页面PAGEj中的数据的读取命令RCMD。生成的读取命令RCMD可传输到半导体存储器装置100。半导体存储器装置100可响应于接收的读取命令RCMD,读取存储在存储器单元阵列110的第i存储块BLKi的第j物理页面PAGEj中的数据。所读取的数据作为读取数据RDATA传输到控制器200。传输到控制器200的读取数据RDATA存储在缓冲存储器240中。
错误校正块210可使用错误校正码(ECC)来检测并校正存储在缓冲存储器240中的读取数据RDATA中的错误。读取数据RDATA可包括多个组块,并且可基于组块来执行错误检测和校正操作。对于每一个组块,当错误位的数量小于或等于参考值时,错误校正块210可校正相应组块中的错误。相反,对于每一个组块,当错误位的数量大于参考值时,错误校正块210不校正相应组块中的错误。错误校正块210将读取数据RDATA中的多个组块的各段错误校正结果数据RSLT传输到块管理器220。
块管理器220可基于从错误校正块210接收的错误校正结果数据RSLT,对存储读取数据RDATA的存储块BLKi执行缺陷处理。详细地,当在读取数据RDATA中包括的两个或更多个组块中出现错误校正失败(即,错误校正失败或ECC失败)时,块管理器220对其中存储读取数据RDATA的存储块BLKi执行缺陷处理。稍后将参照图16至图25描述块管理器220对存储块BLKi执行缺陷处理的详细操作。
图8是示出存储块BLKi与物理页面之间的关系的示图。
参照图8,存储块BLKi包括多个物理页面PAGE1至PAGEm。因为基于页面执行数据编程操作或数据读取操作,所以在编程操作或读取操作中指定作为操作目标的存储块BLKi和物理页面PAGEj。
图9是示出编程数据WDATA与组块之间的关系的示图。
参照图9,编程数据WDATA从控制器200传输到半导体存储器装置100。编程数据WDATA包括多个组块CHK1至CHK4。编程数据WDATA可以是待编程到存储块BLKi的物理页面PAGEj的数据。每一个组块可以是错误校正块210的“错误校正单位”。虽然通过示例的方式示出了编程数据WDATA中包括四个组块的实施例,但本公开不限于此。也就是说,如果有必要,编程数据WDATA中可包括不同数量的组块。
图10是示出图2中的存储块BLK1至BLKz的存储块的结构的电路图。参照图10,每一个存储块包括联接在位线BLe1至BLek和BLo1至BLok与共源线CSL之间的多个串STe1至STek和STo1至STok。也就是说,串STe1至STok分别联接到相应的位线BLe1至BLok,并且共同联接到共源线CSL。每一个串(例如,STe1)可包括源极选择晶体管SST、多个存储器单元C1e1至Cne1以及漏极选择晶体管DST。漏极选择晶体管DST的漏极联接到相应的位线BLe1。源极选择晶体管SST的源极联接到共源线CSL。存储器单元C1e1至Cne1串联联接在选择晶体管SST与DST之间。源极选择晶体管SST的栅极联接到源极选择线SSL。存储器单元C1e1至Cne1的栅极分别联接到字线WL1至WLn。漏极选择晶体管DST的栅极联接到漏极选择线DSL。
可将包括在半导体存储器装置100的存储块中的存储器单元划分为物理页面单位或逻辑页面单位。例如,联接到一字线(例如,WL1)的存储器单元C1e1至C1ek和C1o1至C1ok构成一个物理页面PAGE1。而且,联接到一字线(例如,WL1)的偶数编号的存储器单元C1e1至C1ek可构成一个偶数编号的物理页面,并且奇数编号的存储器单元C1o1至C1ok可构成一个奇数编号的物理页面。这种页面(或偶数编号的页面和奇数编号的页面)可以是执行编程操作或读取操作的基本单位。
重新参照图2,读取和写入电路130可包括通过位线BLe1至BLek和BLo1至BLok联接到存储器单元阵列110的多个页面缓冲器PB1至PBk。页面缓冲器PB1至PBk可根据输入数据选择性地预充电位线BLe1至BLek或BLo1至BLok,以便将数据存储在存储器单元C1e1至C1ek或C1o1至C1ok中。页面缓冲器PB1至PBk可感测位线BLe1至BLek或BLo1至BLok的电压,以便从存储器单元C1e1至C1ek或C1o1至C1ok中读取数据。
例如,在编程操作期间,当待存储在存储器单元C1e1中的编程数据(例如,数据“0”)被输入到页面缓冲器PB1时,页面缓冲器PB1将编程允许电压(例如,接地电压)施加到待存储编程数据的存储器单元C1e1的位线BLe1。因此,由于在编程操作期间施加到字线WL1的编程电压和施加到位线BLe1的编程允许电压,存储器单元C1e1的阈值电压增加。进一步地,在编程操作期间,当待存储在存储器单元C1e1中的擦除数据(例如,数据“1”)被输入到页面缓冲器PB1时,页面缓冲器PB1将编程禁止电压(例如,电源电压)施加到待存储擦除数据的存储器单元C1e1的位线BLe1。因此,即使在编程操作期间将编程电压Vpgm施加到字线WL1,由于施加到位线BLe1的编程禁止电压,存储器单元C1e1的阈值电压也不会增加。因为阈值电压变化,所以不同的数据段可存储在相应的存储器单元中。
在读取操作期间,读取和写入电路130可对从偶数编号的位线BLe1至BLek和奇数编号的位线BLo1至Blok之中所有选择的位线(例如,BLe1至BLek)进行预充电,并且可对所有未选择的位线(例如,BLo1至BLok)进行放电。进一步地,当读取电压施加到被选择的字线WL1时,存储编程数据的存储器单元的位线保持在预充电状态,并且存储擦除数据的存储器单元的位线被放电。读取和写入电路130可感测位线BLe1至BLek的电压的变化,并且可锁存与感测结果相对应的存储器单元的数据。
列解码器160可响应于从控制逻辑140输出的列地址信号,选择包括在读取和写入电路130中的页面缓冲器PB1至PBk。也就是说,列解码器160响应于列地址信号将待存储在存储器单元中的数据顺序地传输到页面缓冲器PB1至PBk。进一步地,列解码器160响应于列地址信号顺序地选择页面缓冲器PB1至PBk,使得锁存在页面缓冲器PB1至PBk中的存储器单元的数据通过读取操作输出到页面缓冲器的外部。
以这种方式,当对联接到偶数编号的位线BLe1至BLek的存储器单元C1e1至C1ek执行编程操作或读取操作时,不选择奇数编号的位线BLo1至BLok。进一步地,当对联接到奇数编号的位线BLo1至BLok的存储器单元C1o1至C1ok执行编程操作或读取操作时,不选择偶数编号的位线BLe1至BLek。
图11A至图11D是示出根据存储块的结构将数据编程到每一个存储器单元的进程的示图。编程数据WDATA包括第一至第四组块CHK1至CHK4。而且,第j物理页面PAGEj包括第一至第k偶数编号的存储器单元Cje1至CjeK和第一至第k奇数编号的存储器单元Cjo1至Cjok。详细地,在图11A至图11D中,示出了以下实施例:第一和第二组块CHK1和CHK2存储在第j物理页面PAGEj的偶数编号的存储器单元Cje1至Cjek中,并且第三和第四组块CHK3和CHK4存储在第j物理页面PAGEj的奇数编号的存储器单元Cjo1至Cjok中。
参照图11A,作为示例示出了存储编程数据WDATA中包括的第一组块CHK1的数据的存储器单元。第一组块CHK1可包括第一至第p位C1B1至C1Bp。第一组块CHK1的位C1B1至C1Bp可分别被编程到联接到偶数编号的位线BLe1至BLek之中的第一至第p偶数编号的位线BLe1至BLep的第一至第p偶数编号的存储器单元Cje1至Cjep。
参照图11B,作为示例示出了存储编程数据WDATA中包括的第二组块CHK2的数据的存储器单元。第二组块CHK2可包括第一至第p位C2B1至C2Bp。第二组块CHK2的位C2B1至C2Bp可分别被编程到联接到偶数编号的位线BLe1至BLek之中的第q至第k偶数编号的位线BLeq至BLek的第q至第k偶数编号的存储器单元Cjeq至Cjek。此处,第q偶数编号的存储器单元Cjeq是布置在第p偶数编号的存储器单元Cjep之后的偶数编号的存储器单元。因此,第一组块CHK1和第二组块CHK2的位被编程到物理页面PAGEj的存储器单元之中的偶数编号的存储器单元Cje1至Cjek。
参照图11C,作为示例示出了存储编程数据WDATA中包括的第三组块CHK3的数据的存储器单元。第三组块CHK3可包括第一至第p位C3B1至C3Bp。第三组块CHK3的位C3B1至C3Bp可分别被编程到联接到奇数编号的位线BLo1至BLok之中的第一至第p奇数编号的位线BLo1至BLop的第一至第p奇数编号的存储器单元Cjo1至Cjop。
参照图11D,作为示例示出了存储编程数据WDATA中包括的第四组块CHK4的数据的存储器单元。第四组块CHK4可包括第一至第p位C4B1至C4Bp。第四组块CHK4的位C4B1至C4Bp可分别被编程到联接到奇数编号的位线BLo1至BLok之中的联接到第q至第k奇数编号的位线BLoq至BLok的第q至第k奇数编号的存储器单元Cjoq至Cjok。此处,第q奇数编号的存储器单元Cjoq是布置在第p奇数编号的存储器单元Cjop之后的奇数编号的存储器单元。因此,第三组块CHK3和第四组块CHK4的位分别被编程到物理页面PAGEj的存储器单元之中的奇数编号的存储器单元Cjo1至Cjok。
图12A至图12D是示出根据存储块的结构将数据编程到每一个存储器单元的进程的示图。详细地,在图12A至图12D中,示出了以下实施例:第一和第三组块CHK1和CHK3存储在第j物理页面PAGEj的偶数编号的存储器单元Cje1至CjeK中,并且第二和第四组块CHK2和CHK4存储在第j物理页面PAGEj的奇数编号的存储器单元Cjo1至Cjok中。
参照图12A,作为示例示出了存储编程数据WDATA中包括的第一组块CHK1的数据的存储器单元。第一组块CHK1可包括第一至第p位C1B1至C1Bp。第一组块CHK1的位C1B1至C1Bp可分别被编程到联接到偶数编号的位线BLe1至BLek之中的第一至第p偶数编号的位线BLe1至BLep的第一至第p偶数编号的存储器单元Cje1至Cjep。
参照图12B,作为示例示出了存储编程数据WDATA中包括的第三组块CHK3的数据的存储器单元。第三组块CHK3可包括第一至第p位C3B1至C3Bp。第三组块CHK3的位C3B1至C3Bp可分别被编程到联接到偶数编号的位线BLe1至BLek之中的第q至第k偶数编号的位线BLeq至BLek的第q至第k偶数编号的存储器单元Cjeq至Cjek。此处,第q偶数编号的存储器单元Cjeq是布置在第p偶数编号的存储器单元Cjep之后的偶数编号的存储器单元。因此,第一组块CHK1和第三组块CHK3的位分别被编程到物理页面PAGEj的存储器单元之中的偶数编号的存储器单元Cje1至Cjek。
参照图12C,作为示例示出了存储编程数据WDATA中包括的第二组块CHK2的数据的存储器单元。第二组块CHK2可包括第一至第p位C2B1至C2Bp。第二组块CHK2的位C2B1至C2Bp可分别被编程到联接到奇数编号的位线BLo1至BLok之中的第一至第p奇数编号的位线BLo1至BLop的第一至第p奇数编号的存储器单元Cjo1至Cjop。
参照图12D,作为示例示出了存储编程数据WDATA中包括的第四组块CHK4的数据的存储器单元。第四组块CHK4可包括第一至第p位C4B1至C4Bp。第四组块CHK4的位C4B1至C4Bp可分别被编程到联接到奇数编号的位线BLo1至BLok之中的第q至第k奇数编号的位线BLoq至BLok的第q至第k奇数编号的存储器单元Cjoq至Cjok。此处,第q奇数编号的存储器单元Cjoq是布置在第p奇数编号的存储器单元Cjop之后的奇数编号的存储器单元。因此,第二组块CHK2和第四组块CHK4的位分别被编程到物理页面PAGEj的存储器单元之中的奇数编号的存储器单元Cjo1至Cjok。
示出了图11A至图11D和图12A至图12D以说明其中各个组块的数据段被编程到偶数编号的存储器单元或奇数编号的存储器单元的示例。与那些示例不同,可使用各种方案将编程数据WDATA中包括的组块的位数据编程到偶数编号的存储器单元或奇数编号的存储器单元。
图13是示出当由于存储块中的缺陷而出现位错误时单独的组块中的错误校正失败的方面的示图。详细地,图13示出了实施例中因为出现位错误而导致的读取数据RDATA的错误校正失败,在该实施例中,如图11A至图11D所示,第一和第二组块CHK1和CHK2的数据被编程到偶数编号的存储器单元Cje1至Cjek,并且第三和第四组块CHK3和CHK4的数据被编程到奇数编号的存储器单元Cjo1至Cjok。
由于存储块中的缺陷而出现的位错误可能导致物理页面PAGEj中连续定位的存储器单元中的位错误。在图13中,描述了在连续定位的第h偶数编号的存储器单元Cjeh至第i奇数编号的存储器单元Cjoi中出现位错误的状态。即,已出现位错误的存储器单元Cjeh至Cjoi由阴影线表示。此处,第i奇数编号的存储器单元Cjoi位于图11A至图11D所示的第q偶数编号的存储器单元Cjeq的左侧。
在这种情况下,存储在已出现位错误的存储器单元Cjeh至Cjoi中的数据包括在第一组块CHK1或第三组块CHK3中。当已出现的位错误的数量相对较小时,对第一和第三组块CHK1和CHK3的数据的错误校正操作可成功。然而,如图13所示,当第一和第三组块CHK1和CHK3中的每一个中包括的位错误的数量大于由图7的错误校正块210可校正的位错误的数量时,对第一和第三组块CHK1和CHK3的数据的错误校正将会失败(即,ECC失败)。错误校正已失败的组块由阴影线表示。
图14是示出当由于存储块中的缺陷而出现位错误时单独的组块中的错误校正失败的方面的示图。详细地,图14示出了实施例中因为出现位错误而导致的读取数据RDATA的错误校正失败,在该实施例中,如图12A至图12D所示,第一和第三组块CHK1和CHK3的数据被编程到偶数编号的存储器单元Cje1至Cjek,并且第二和第四组块CHK2和CHK4的数据被编程到奇数编号的存储器单元Cjo1至Cjok。
由于存储块中的缺陷而出现的位错误可能导致物理页面PAGEj中连续定位的存储器单元中的位错误。在图14中,描述了在连续定位的第h偶数编号的存储器单元Cjeh到第i奇数编号的存储器单元Cjoi中出现位错误的状态。此处,第i奇数编号的存储器单元Cjoi位于图12A至图12D所示的第q偶数编号的存储器单元Cjeq的左侧。
在这种情况下,存储在已出现位错误的存储器单元Cjeh至Cjoi中的数据包括在第一组块CHK1或第二组块CHK2中。当已出现的位错误的数量相对较小时,对第一和第二组块CHK1和CHK2的数据的错误校正操作可成功。然而,如图14所示,当第一和第二组块CHK1和CHK2中的每一个中包括的位错误的数量大于由图7的错误校正块210可校正的位错误的数量时,对第一和第二组块CHK1和CHK2的数据的错误校正将会失败(即,ECC失败)。
如上所述,在偶数编号的存储器单元和奇数编号的存储器单元单独操作的结构中,当由于存储块中的缺陷而出现位错误时,在至少两个组块中出现错误校正失败(即,ECC失败)。其原因在于连续定位的存储器单元被配置成存储不同组块的数据段。可以看出的是,当仅在一个组块中出现错误校正失败时,很可能已出现除了存储块中的缺陷之外的原因所导致的位错误。例如,当在编程数据WDATA从控制器200传输到半导体存储器装置100的操作中或者在读取数据RDATA从半导体存储器装置100传输到控制器200的操作中出现错误时,可能仅在一个组块中出现错误校正失败。然而,这种位错误与存储块中的缺陷无关。
通常,当在读取数据的至少一个组块中出现错误校正失败时,将编程了相应读取数据、即目标数据的存储块作为坏块处理。然而,当仅在一个组块中出现错误校正失败时,如上述情况,很可能出现了除了存储块中的缺陷之外的原因所导致的位错误。
因此,根据本公开的实施例,通过区分以下两种情况来执行坏块处理操作:作为错误校正的结果而仅在读取数据中的多个组块之中的一个组块中出现错误校正失败的情况,以及作为错误校正的结果而在读取数据中的多个组块之中的两个或更多个组块中出现错误校正失败的情况。
在实施例中,当在两个或更多个组块中出现错误校正失败时,立即将相应的存储块作为坏块处理。相反,当仅在一个组块中出现错误校正失败时,继续使用相应的存储块,因为很可能不是由于存储块中的物理缺陷而出现位错误。
在实施例中,当在两个或更多个组块中出现错误校正失败时,可立即将相应的存储块作为坏块处理。然而,当仅在一个组块中出现错误校正失败时,可执行附加的缺陷测试,而不立即将存储块作为坏块处理,在这种情况下,可基于附加的缺陷测试的结果将相应的存储块作为坏块处理。
因此,根据本公开的实施例,仅在出现错误校正失败,而失败的原因实际上是由于存储块中的物理缺陷的可能性很大时,才将相应的存储块作为坏块处理,因此使存储器单元阵列110中的存储块能够被更有效地使用。
图15是示出根据本公开的实施例的块管理器220a的框图。图15的块管理器220a是图7的块管理器220的示例。
参照图15,块管理器220a可包括错误校正结果分析器221、坏块寄存器223、数据备份处理器225和坏块信息存储装置227。
错误校正结果分析器221从错误校正块210接收错误校正结果数据RSLT。错误校正结果数据RSLT可包括指示对读取数据RDATA中包括的多个组块CHK1至CHK4中的每一个的错误校正操作是已成功还是已失败的信息。当在错误校正结果数据RSLT中检测到错误校正失败时,错误校正结果分析器221将检测结果传输到坏块寄存器223和数据备份处理器225。详细地,当错误校正操作仅在多个组块中的一个中失败时,错误校正结果分析器221将第一检测数据DET1传输到坏块寄存器223和数据备份处理器225。当错误校正操作在多个组块中的两个或更多个中失败时,错误校正结果分析器221将第二检测数据DET2传输到坏块寄存器223和数据备份处理器225。
坏块寄存器223响应于第二检测数据DET2对存储读取数据RDATA的存储块执行缺陷处理。因此,坏块信息BBI传输到坏块信息存储装置227。坏块信息存储装置227响应于接收的坏块信息BBI将相应的存储块登记为坏块。在示例中,坏块信息存储装置227可存储包括坏块的地址的坏块列表。在这种情况下,坏块信息存储装置227可基于接收的坏块信息BBI将存储读取数据RDATA的存储块添加到坏块列表中。
数据备份处理器225可生成用于与读取数据RDATA相关的数据备份处理的备份控制信号BUCTR,并且可将备份控制信号BUCTR传输到命令生成器230。命令生成器230可基于所接收的备份控制信号BUCTR生成用于数据备份操作的命令。稍后将参照图17至图19描述基于数据备份处理器225的控制的图7的半导体存储器装置100的备份操作。
图16是示出根据本公开的实施例的操作例如图7的控制器200的控制器的方法的流程图。
参照图16,该方法包括步骤S110、S130、S150和S160。步骤S110可包括将用于目标存储块的读取命令传输到半导体存储器装置。步骤S130可包括接收与读取命令相对应的读取数据。步骤S150可包括对读取数据执行错误校正操作。步骤S160可包括基于错误校正操作的结果对目标存储块执行缺陷处理。
在步骤S110中,图15的命令生成器230生成用于读取存储在特定位置(例如,BLKi或PAGEj)的数据的读取命令RCMD,并且将生成的读取命令RCMD传输到半导体存储器装置100。此处,可将作为读取操作的目标的存储块BLKi称为“目标存储块”。响应于在步骤S110中传输的读取命令RCMD,半导体存储器装置100可对目标存储块BLKi的物理页面PAGEj执行读取操作。
此后,半导体存储器装置100将作为读取操作的结果的读取数据RDATA传输到控制器200。在步骤S130中,控制器200可接收读取数据,并且可将读取数据存储在缓冲存储器240中。
此后,在步骤S150中,错误校正块210对读取数据RDATA执行错误校正操作。将在错误校正操作之后生成的错误校正结果数据RSLT传输到块管理器220a。然后,在步骤S160中,块管理器220a基于错误校正结果数据RSLT对目标存储块执行缺陷处理。具体地,在步骤S160中,块管理器220a可分析错误校正结果数据RSLT,并且可区分仅在一个组块中出现错误校正失败的情况和在两个或更多个组块中出现错误校正失败的情况,以单独地执行坏块处理操作。
下面参照图17和图24描述步骤S160的示例。
图17是示出图16中的步骤S160的示例的流程图。
参照图17,基于错误校正操作的结果对目标存储块执行缺陷处理的步骤S160包括步骤S210、步骤S220、步骤S230、步骤S240、步骤S270和步骤S290。步骤S210可包括确定或检查读取数据RDATA中的多个错误校正单位中的每一个中的错误校正是否已成功。步骤S220可包括确定是否已出现错误校正失败。步骤S230可包括确定错误校正失败是否已出现在两个或更多个错误校正单位中。当确定已在两个或更多个错误校正单位中出现错误校正失败(S230,是)时,可执行步骤S250。步骤S250可包括对目标存储块执行缺陷处理。相反,当确定错误校正失败未出现在两个或更多个错误校正单位中(S230,否)时,可执行步骤S270和步骤S290。步骤S270可包括对读取数据执行恢复操作。步骤S290可包括执行读取回收操作。
在步骤S210中,图15的错误校正结果分析器221可对从错误校正块210接收的错误校正结果数据RSLT进行分析。进一步地,错误校正结果分析器221可检查读取数据RDATA中的多个组块CHK1至CHK4中的每一个中的错误校正是否已成功。
此后,在步骤S220中,错误校正结果分析器221确定读取数据RDATA中是否已出现错误校正失败。当确定读取数据RDATA中未出现错误校正失败(S220,否)时,可认为已正常读取了读取数据RDATA,因此终止步骤S160。
当确定已出现了错误校正失败(S220,是)时,在步骤S230中,错误校正结果分析器221确定错误校正失败是否已出现在两个或更多个错误校正单位中。术语“错误校正单位”可表示上面参照图9至图14描述的组块。
当确定在两个或更多个错误校正单位中已出现错误校正失败(S230,是)时,在步骤S250中,对目标存储块执行缺陷处理。详细地,错误校正结果分析器221将第二检测数据DET2传输到坏块寄存器223和数据备份处理器225。坏块寄存器223和数据备份处理器225可响应于接收的第二检测数据DET2对目标存储块执行缺陷处理操作。稍后将参照图18描述缺陷处理操作的详细配置。
相反,当确定错误校正失败未出现在两个或更多个错误校正单位中(S230,否)时,可认为仅在一个错误校正单位中出现了错误校正失败。错误校正结果分析器221将第一检测数据DET1传输到数据备份处理器225。
在步骤S270中,数据备份处理器225响应于接收的第一检测数据DET1对读取数据执行恢复操作。在步骤S270中执行的恢复操作可包括恢复无法由错误校正块校正的数据的操作。例如,在步骤S270中,可使用芯片猎杀方案来恢复读取数据。在其它实施例中,可通过除芯片猎杀方案之外的各种方案来恢复在错误校正中已失败的读取数据。数据备份处理器225可将用于生成数据恢复操作所需的命令的控制信号传输到命令生成器230。命令生成器230可响应于从数据备份处理器225输出的控制信号生成用于恢复读取数据RDATA的命令。
在步骤S270中,可将恢复的数据传输到主机300。
在步骤S290中,使用恢复的读取数据执行读取回收操作。稍后将参照图19或图21详细描述在步骤S290中执行的读取回收操作。
在图17中,示出了以下实施例:当确定错误校正失败未出现在两个或更多个错误校正单位中(S230,否)时,即当在一个错误校正单位中出现了错误校正失败时,执行步骤S270和S290。在其它实施例中,可既不执行步骤S270也不执行S290。在这种情况下,当确定错误校正失败仅已出现在一个错误校正单位中(S230,否)时,可将相应的读取数据的读取失败消息传输到主机300,之后可终止操作。在该实施例中,即使当确定错误校正失败仅已出现在一个错误校正单位中(S230,否)时,也不对目标存储块执行缺陷处理。
图18是示出图17中的步骤S250的示例的流程图。参照图18,对目标存储块执行缺陷处理的步骤S250可包括步骤S251、步骤S253、步骤S255和步骤S257。步骤S251可包括对读取数据执行恢复操作。步骤S253可包括使用恢复的读取数据将目标存储块的数据存储在另外的存储块中。步骤S255可包括更新与目标存储块相关的映射表。步骤S257可包括将目标存储块登记在图15的坏块信息存储装置227中。
在步骤S251中,数据备份处理器225响应于接收的第二检测数据DET2对读取数据执行恢复操作。在步骤S251中,可执行与在图17的步骤S270中执行的数据恢复操作基本相同的操作。
为了对目标存储块执行缺陷处理,在步骤S253中,将存储在目标存储块中的数据存储在另外的存储块中。详细地,数据备份处理器225可生成用于将目标存储块的数据备份到另外的存储块的备份控制信号BUCTR,并且可将备份控制信号BUCTR传输到命令生成器230。命令生成器230可响应于备份控制信号BUCTR,生成用于将目标存储块的数据移动到另外的存储块的命令。
在步骤S255中,更新与目标存储块相关的映射表。当在步骤S253中将目标存储块的数据存储在另外的存储块中时,在步骤S255中,将与相应数据的逻辑地址相关的物理地址从目标存储块的块地址更新到数据被备份到的另外的存储块的块地址。
在步骤S257中,将目标存储块登记在坏块信息存储装置227中。因为在步骤S253和S255中将目标存储块的数据复制到了另外的存储块并在映射表中更新了相应数据的物理地址,所以可通过将目标存储块登记为坏块来将该目标存储块处理为不再使用。
图19是示出图18中的步骤S253和S255的操作的示图。
在图19中,示出了目标存储块BLKi和另外的存储块BLKn。当错误校正失败出现在目标存储块BLKi的物理页面PAGEj中存储的数据RDATA中的两个或更多个错误校正单位、即组块中时,在步骤S253中,将目标存储块BLKi中存储的数据同样地存储在另外的存储块BLKn中。存储错误校正已失败的读取数据RDATA的物理页面PAGEj由阴影线表示。在目标存储块BLKi的多个物理页面PAGE1至PAGEm中存储的数据段之中,物理页面PAGEj中存储的数据是错误校正已失败的数据,因此将步骤S251中恢复的读取数据RDATA'存储在另外的存储块BLKn中。当目标存储块BLKi的数据存储在另外的存储块BLKn中时,在步骤S255中,更新数据的映射表。详细地,将相应数据的物理地址从目标存储块BLKi的地址改变为另外的存储块BLKn的地址。
图20是示出图17中的步骤S290的示例的流程图。图21是示出图20中的读取回收操作的示图。一起参照图20和图21进行以下描述。
参照图20,对读取数据RDATA执行读取回收操作的步骤S290包括步骤S291和步骤S293。步骤S291可包括将恢复的读取数据RDATA'存储在另外的物理页面中。步骤S293可包括使目标存储块的读取数据无效。
在步骤S291中,将恢复的读取数据RDATA'存储在另外的存储块BLKn的物理页面PAGEh中。读取数据RDATA'可以是在图17的步骤S270中恢复的数据。虽然在图21中示出了将恢复的读取数据RDATA'存储在另外的存储块BLKn中的实施例,但本公开不限于此。例如,可将恢复的读取数据RDATA'存储在目标存储块BLKi中。在这种情况下,可将恢复的读取数据RDATA'存储在与物理页面PAGEj不同的另外的空闲物理页面中。
此后,在步骤S293中,使目标存储块BLKi的读取数据无效。也就是说,其中存储读取数据RDATA的物理页面PAGEj的数据可以是无效的。在步骤S293中,可更新与相应的数据相关的映射表。也就是说,可将与读取数据RDATA相关的映射表的物理地址从指示物理页面PAGEj的地址改变为指示存储恢复的读取数据RDATA'的物理页面PAGEh的地址。
可基于页面执行图20和图21所示的步骤S290中的读取回收操作。然而,本公开不限于此。如稍后将参照图22描述的,可基于块执行步骤S290中的读取回收操作。
图22是示出图17中的步骤S290的示例的流程图。参照图22,执行读取回收操作的步骤S290可包括步骤S292和步骤S294。步骤S292可包括使用恢复的读取数据将目标存储块的数据存储在另外的存储块中。步骤S294可包括使目标存储块中包括的整个数据无效并将目标存储块设置为空闲块。
可以与图19所示的基本相同的方式执行步骤S292的操作。也就是说,可将目标存储块BLKi中存储的数据同样存储在另外的存储块BLKn中,但是,可将恢复的读取数据RDATA'而非错误校正已失败的读取数据RDATA存储在另外的存储块BLKn中。
在步骤S294中,可使目标存储块BLKi的整个数据无效。因此,可将目标存储块BLKi设置为空闲块。此后,可对目标存储块执行擦除操作,使目标存储块用于存储另外的数据。
图23是示出根据本公开的实施例的块管理器220b的框图。图23的块管理器220b是图7的块管理器220的示例。
参照图23,块管理器220b可包括错误校正结果分析器221、坏块寄存器223、数据备份处理器225、坏块信息存储装置227和块测试执行组件(块测试执行装置)229。除了块管理器220b进一步包括块测试执行装置229之外,图23的块管理器220b具有与图15的块管理器220a基本相同的配置。因此,此处省略了对错误校正结果分析器221、坏块寄存器223、数据备份处理器225和坏块信息存储装置227的描述。
当在错误校正结果数据RSLT中检测到错误校正失败时,错误校正结果分析器221将检测结果传输到坏块寄存器223、数据备份处理器225和块测试执行装置229。详细地,当错误校正操作仅在多个组块中的一个中失败时,错误校正结果分析器221将第一检测数据DET1传输到坏块寄存器223、数据备份处理器225和块测试执行装置229。相反,当错误校正操作在多个组块中的两个或更多个中失败时,错误校正结果分析器221将第二检测数据DET2传输到坏块寄存器223和数据备份处理器225。
坏块寄存器223响应于第二检测数据DET2对存储读取数据RDATA的存储块执行缺陷处理。数据备份处理器225可生成用于与读取数据RDATA相关的数据备份处理的备份控制信号BUCTR,并且可将备份控制信号BUCTR传输到命令生成器230。
块测试执行装置229可响应于第一检测数据DET1生成用于对存储读取数据RDATA的目标存储块执行块测试操作的块测试控制信号BTCTR。进一步地,块测试执行装置229可将块测试控制信号BTCTR传输到命令生成器230。命令生成器230可响应于块测试控制信号BTCTR生成用于对目标存储块执行块测试操作的命令。稍后将参照图25详细地描述对目标存储块执行的块测试操作。
图24是示出图16中的步骤S160的示例的流程图。
参照图24,基于错误校正操作的结果对目标存储块执行缺陷处理的步骤S160包括步骤S310、步骤S320、步骤S330、步骤S350和步骤S360至步骤S380。步骤S310可包括检查读取数据RDATA中的多个错误校正单位中的每一个中的错误校正是否已成功。步骤S320可包括确定是否已出现错误校正失败。步骤S330可包括确定错误校正失败是否已出现在两个或更多个错误校正单位中。当确定错误校正失败已出现在两个或更多个错误校正单位中(S330,是)时,步骤S350可包括对目标存储块执行缺陷处理。图24的步骤S310、S320、S330和S350可以与图17的步骤S210、S220、S230和S250基本相同的方式配置。因此,此处省略了对这些步骤的描述。
相反,当确定错误校正失败未出现在两个或更多个错误校正单位中(S330,否)时,可执行步骤S360至步骤S380。步骤S360可包括对读取数据执行恢复操作。步骤S370可包括将目标存储块的数据存储在另外的存储块中。步骤S380可包括对目标存储块执行缺陷测试。图24的步骤S360可以与图17的步骤S270基本相同的方式来执行。因此,此处省略对步骤S360的描述。
在步骤S370中,可将目标存储块的数据存储在另外的存储块中。其原因在于在步骤S380中对目标存储块执行缺陷测试。在步骤S370中,如上参照图19所述,可将目标存储块BLKi的数据存储在另外的存储块BLKn中。
此后,在步骤S380中对目标存储块执行缺陷测试。稍后将参照图25描述步骤S380的详细配置。
参照图24所示的实施例,当错误校正失败已出现在物理页面PAGEj的读取数据RDATA中包括的多个错误校正单位中的两个或更多个中时,在步骤S350中,立即对目标存储块执行缺陷处理。然而,当错误校正失败仅已出现在多个错误校正单位中的一个中时,在步骤S380中,对目标存储块BLKi执行缺陷测试,而不立即对目标存储块BLKi执行缺陷处理,然后确定是否对目标存储块BLKi执行缺陷处理。因此,根据本公开的实施例,仅在出现错误校正失败,而失败实际上是由于存储块中的物理缺陷所导致的可能性很大时,才将相应的存储块作为坏块处理,因此使存储器单元阵列110中的存储块能够被更有效地使用。
图25是示出图24中的步骤S380的示例的流程图。
参照图25,对目标存储块执行缺陷测试的步骤S380包括步骤S381、步骤S383、步骤S385和步骤S387。步骤S381可包括对目标存储块执行擦除操作。步骤S383可包括将测试数据编程到目标存储块。步骤S385可包括确定错误校正失败是否已出现在编程的测试数据中。步骤S387可包括当错误校正失败已出现在编程的测试数据中(S385,是)时,对目标存储块执行缺陷处理。
因为在步骤S370将目标存储块的数据存储在另外的存储块中,所以可在步骤S381擦除目标存储块以进行测试操作。此后,在步骤S383中将测试数据编程到目标存储块。测试数据可以是虚拟数据,或者可以是测试目标存储块BLKi是否存在缺陷所需的任意数据。
此后,在步骤S385中,确定是否已出现错误校正失败。在步骤S385中,可通过读取编程的测试数据来执行错误校正操作。
当未出现错误校正失败时,可确定目标存储块中不存在物理缺陷。因此,终止对目标存储块执行的缺陷测试步骤S380。
当已出现错误校正失败时,因为在目标存储块中已重复出现错误校正失败,所以可确定目标存储块中存在物理缺陷。因此,在步骤S387中,对目标存储块执行缺陷处理。可以与图24的步骤S350基本相同的方式执行步骤S387。
图26是示出根据本公开的实施例的块管理器220c的框图。图26的块管理器220c是图7的块管理器220的示例。
参照图26,块管理器220c可包括错误校正结果分析器221、坏块寄存器223、数据备份处理器225、坏块信息存储装置227、弱块信息存储装置231和块测试执行组件(块测试执行装置)233。除了块管理器220c进一步包括弱块信息存储装置231和块测试执行装置233之外,图26的块管理器220c具有与图15的块管理器220a基本相同的配置。因此,此处省略了对错误校正结果分析器221、坏块寄存器223、数据备份处理器225和坏块信息存储装置227的描述。
当在错误校正结果数据RSLT中检测到错误校正失败时,错误校正结果分析器221将检测结果传输到坏块寄存器223、数据备份处理器225和弱块信息存储装置231。详细地,当错误校正操作仅在多个组块中的一个中已失败时,错误校正结果分析器221将第一检测数据DET1传输到弱块信息存储装置231。弱块信息存储装置231基于接收的第一检测数据DET1将相应的存储块确定为弱块,并且存储与确定的弱块有关的信息。弱块信息存储装置231可存储与多个弱块有关的信息。弱块信息存储装置231可在特定时间将弱块信息WBI传输到块测试执行装置233。例如,在操作请求未从主机300传输到控制器200并且存储器系统1000处于空闲状态时,或者在半导体存储器装置100处于空闲状态时,弱块信息存储装置231可将弱块信息WBI传输到块测试执行装置233。在这种情况下,块测试执行装置233可在空闲时间期间基于弱块信息WBI对弱块执行块测试操作。
当错误校正操作已在多个组块中的两个或更多个中失败时,将第二检测数据DET2传输到坏块寄存器223和数据备份处理器225。
坏块寄存器223响应于第二检测数据DET2对存储读取数据RDATA的存储块执行缺陷处理。数据备份处理器225可生成用于与读取数据RDATA相关的数据备份处理的备份控制信号BUCTR,并且可将备份控制信号BUCTR传输到命令生成器230。
块测试执行装置233可响应于从弱块信息存储装置231提供的弱块信息WBI,生成用于对弱块执行块测试操作的块测试控制信号BTCTR。进一步地,块测试执行装置233可将块测试控制信号BTCTR传输到命令生成器230。命令生成器230可响应于块测试控制信号BTCTR生成用于对弱块执行块测试操作的命令。稍后将参照图28描述对弱块执行的块测试操作。
图27是示出图16中的步骤S160的示例的流程图。
参照图27,基于错误校正操作的结果对目标存储块执行缺陷处理的步骤S160包括步骤S410、步骤S420、步骤S430、步骤S450、步骤S460、步骤S470和步骤S480。步骤S410可包括检查读取数据RDATA中的多个错误校正单位中的每一个中的错误校正是否已成功。步骤S420可包括确定是否已出现错误校正失败。步骤S430可包括确定错误校正失败是否已出现在两个或更多个错误校正单位中。当确定错误校正失败已出现在两个或更多个错误校正单位中(S430,是)时,步骤S450可包括对目标存储块执行缺陷处理。图27的步骤S410、S420、S430和S450可以与图24的步骤S310、S320、S330和S350基本相同的方式配置。因此,此处省略了对这些步骤的描述。
相反,当错误校正失败未出现在两个或更多个错误校正单位(S430,否)时,可执行步骤S460至步骤S480。步骤S460可包括对读取数据执行恢复操作。步骤S470可包括将目标存储块的数据存储在另外的存储块中。步骤S480可包括将目标存储块登记为弱块。图27的步骤S460和S470可以与图24的步骤S360和S370基本相同的方式配置。因此,此处省略了对步骤S460和S470的描述。
在步骤S480中,将目标存储块登记为弱块。其原因在于在存储器系统1000或半导体存储器装置100的空闲时间期间以批处理方式测试登记的弱块。因此,在步骤S480中,可将错误校正失败已出现在一个错误校正单位中的目标存储块确定为弱块,然后可将该弱块登记在弱块信息存储装置231中。与图24所示的实施例不同,在图27的实施例中不立即对目标存储块执行缺陷测试。如上所述,可在操作请求未从主机300传输到控制器200,然后半导体存储器装置100处于空闲状态时,对弱块执行块测试操作。稍后将参照图28描述对弱块执行的缺陷测试操作。
参照图27所示的实施例,当错误校正失败已出现在物理页面PAGEj的读取数据RDATA中包括的多个错误校正单位中的两个或更多个时,在步骤S450中,立即对目标存储块执行缺陷处理。然而,当错误校正失败仅已出现在多个错误校正单位中的一个中时,在步骤S480中,将目标存储块BLKi登记为疑似具有缺陷的弱块,而不立即对目标存储块BLKi执行缺陷处理,从而随后可执行缺陷测试操作。因此,根据本公开的实施例,仅在出现错误校正失败,而失败实际上是由于存储块中的物理缺陷所导致的可能性很大时,才将相应的存储块作为坏块处理,因此使存储器单元阵列110中的存储块能够被更有效地使用。
图28是示出图26中的块测试执行装置233的操作的流程图。
参照图28,在存储器系统1000的空闲时间期间对弱块执行缺陷测试操作的操作包括步骤S390、步骤S391、步骤S393、步骤S395、步骤S397和步骤S398。步骤S390可包括从弱块信息存储装置231接收弱块信息WBI。步骤S391可包括对与接收的弱块信息相对应的弱块执行擦除操作。步骤S393可包括将测试数据编程到弱块。步骤S395可包括确定错误校正失败是否已出现在编程的测试数据中。当错误校正失败已出现在编程的测试数据中(S395,是)时,可执行步骤S397和步骤S398。步骤S398可包括对相应的弱块执行缺陷处理。步骤S398可包括确定是否已完成对所有弱块的测试操作。
因为在步骤S370中已经将每一个弱块的数据存储在另外的存储块中,所以可在步骤S391中擦除弱块以进行测试操作。此后,在步骤S393中,将测试数据编程到弱块。
此后,在步骤S395中,确定是否已出现错误校正失败。在步骤S395中,可通过读取编程的测试数据来执行错误校正操作。
当未出现错误校正失败时,可确定弱块中不存在物理缺陷。因此,终止对相应的弱块执行的缺陷测试步骤,并且在步骤S398中,确定是否存在作为测试目标的另一弱块。
当已出现错误校正失败时,因为在相应的弱块中已重复出现错误校正失败,所以可确定弱块中存在物理缺陷。因此,在步骤S397中,对相应的弱块执行缺陷处理。可以与图27的步骤S450基本相同的方式执行步骤S397。
当在步骤S398中确定已完成对所有弱块的测试操作时,该进程终止。相反,当确定存在待执行测试操作的另外的弱块(S398,否)时,进程继续进行到接收与另外的弱块有关的弱块信息WBI的步骤S390。此后,可重复执行步骤S391至S398。
根据图26至图28所示的实施例,当在读取操作期间错误校正失败仅已出现在一个错误校正单位中时,可将相应的存储块登记为弱块。此后,在存储器系统1000的空闲时间期间,可以批量方式对登记的弱块执行测试操作。
图29是示出包括半导体存储器装置100和控制器200的存储器系统1000的框图。
参照图29,存储器系统1000包括半导体存储器装置100和控制器200。
半导体存储器装置100可与参照图2描述的半导体存储器装置具有相同的配置和操作。控制器200可具有与上面参照图1和图7描述的控制器200相同的配置和操作。因此,此处省略对这种配置和操作的描述。
控制器200联接到主机和半导体存储器装置100。控制器200可响应于来自主机的请求来访问半导体存储器装置100。例如,控制器200可控制半导体存储器装置100的读取操作、写入操作、擦除操作和后台操作。控制器200可提供半导体存储器装置100与主机之间的接口。控制器200可运行用于控制半导体存储器装置100的固件。
控制器200包括随机存取存储器(RAM)1110、处理器1120、主机接口1130、存储器接口1140和错误校正块1150。RAM 1110可被用作处理器1120的工作存储器、半导体存储器装置100和主机之间的高速缓冲存储器以及半导体存储器装置100和主机之间的缓冲存储器中的至少一个。RAM 1110可用作图7的缓冲存储器240。处理器1120控制控制器200的全部操作。处理器1120可通过运行固件来执行图7的块管理器220和命令生成器230的功能。
主机接口1130包括用于在主机和控制器200之间执行数据交换的协议。在实施例中,控制器200可通过诸如以下的各种接口协议中的至少一种与主机通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议、高级技术附件(ATA)协议、串行-ATA协议、并行-ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议以及私有协议。
存储器接口1140与半导体存储器装置100接口连接。例如,存储器接口可包括NAND接口或NOR接口。
错误校正块1150可使用错误校正码(ECC)来检测并校正从半导体存储器装置100接收到的数据中的错误。图29的错误校正块1150可以是与图7的错误校正块210基本相同的组件。
控制器200和半导体存储器装置100可被集成在单个半导体装置中。在实施例中,控制器200和半导体存储器装置100可被集成到单个半导体装置中以形成诸如以下的存储卡:个人计算机存储卡国际协会(PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(例如,SM或SMC)、记忆棒、多媒体卡(例如,MMC、RS-MMC或微型MMC)、SD卡(例如,SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
在另一实施例中,控制器200和半导体存储器装置100可被集成到单个半导体装置中以形成固态驱动器(SSD)。SSD包括被配置成将数据存储在半导体存储器中的存储装置。当存储器系统1000被用作SSD时,可显著提高联接到存储器系统1000的主机的运行速度。
在实施例中,存储器系统1000可被设置为诸如以下的电子装置的各种元件中的一种:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、游戏机、导航装置、黑盒、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境下发送/接收信息的装置、形成家庭网络的各种装置之一、形成计算机网络的各种电子装置之一、形成远程信息处理网络的各种电子装置之一、RFID装置、或形成计算系统的各种元件之一。
在实施例中,半导体存储器装置100或存储器系统1000可被嵌入在各种类型的封装中。例如,半导体存储器装置100或存储器系统1000可被封装为堆叠式封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、窝伏尔组件中的管芯、晶片形式的管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外型集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。
图30是示出图29的存储器系统1000的应用示例2000的框图。
参照图30,存储器系统2000包括半导体存储器装置2100和控制器2200。半导体存储器装置2100包括多个半导体存储器芯片。半导体存储器芯片被划分成多个组。
在图30中,示出了多个组中的每一个通过第一至第k通道CH1至CHk中相应的一个与控制器2200通信。每一个半导体存储器芯片可具有与上面参照图2描述的半导体存储器装置100相同的配置和操作。
每一个组通过一个公共通道与控制器2200通信。控制器2200与上面参照图29所述的控制器200具有相同的配置,并且被配置成通过多个通通道CH1至CHk控制半导体存储器装置2100的多个存储器芯片。
在图30中,已经进行了描述,使得多个半导体存储器芯片联接到单个通道。然而,将理解的是,可将存储器系统2000修改成使得单个半导体存储器芯片联接到单个通道。
图31是示出包括参照图30描述的存储器系统2000的计算系统3000的框图。
参照图31,计算系统3000包括中央处理单元(CPU)3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500和存储器系统2000。
存储器系统2000通过系统总线3500电联接到CPU 3100、RAM 3200、用户接口3300和电源3400。通过用户接口3300提供或通过CPU 3100处理的数据可被存储在存储器系统2000中。
在图31中,示出了半导体存储器装置2100通过控制器2200联接到系统总线3500。然而,半导体存储器装置2100可直接联接到系统总线3500。此处,控制器2200的功能可由CPU 3100和RAM 3200执行。
在图31中,示出了设置参照图30描述的存储器系统2000。然而,存储器系统2000可由参照图29描述的存储器系统1000替代。在实施例中,计算系统3000可包括参照图29描述的存储器系统1000和参照图30描述的存储器系统2000两者。
根据本公开的实施例,提供了一种可有效地使用半导体存储器装置的存储块的控制器。
根据本公开的实施例,提供了一种操作可有效地使用半导体存储器装置的存储块的控制器的方法。
虽然已经示出和描述了本公开的各个实施例,但本领域技术人员根据本公开将理解,可进行各种修改、添加和替换。因此,本发明的范围不限于所公开的实施例。相反,本发明由所附权利要求及其等同物限定。

Claims (15)

1.一种用于控制半导体存储器装置的操作的控制器,所述半导体存储器装置具有多个存储块,所述控制器包括:
错误校正块,对从所述半导体存储器装置接收的读取数据执行错误校正操作,所述读取数据被存储在所述多个存储块之中的目标存储块中;以及
块管理器,分析所述错误校正操作的结果,并且基于所述读取数据中包括的多个错误校正单位之中已出现错误校正失败的错误校正单位的数量,对存储所述读取数据的所述目标存储块选择性地执行缺陷处理,
其中当所述错误校正失败已出现在所述多个错误校正单位中的两个或更多个中时,所述块管理器对所述目标存储块执行所述缺陷处理,
其中当所述错误校正失败已出现在所述多个错误校正单位中的一个中时,所述块管理器不对所述目标存储块执行所述缺陷处理,
其中对所述目标存储块的缺陷处理包括将所述目标存储块登记为坏块,并且
其中当所述错误校正失败已出现在所述多个错误校正单位中的一个中时,所述块管理器对所述读取数据执行恢复操作并使用所述读取数据执行读取回收操作。
2.根据权利要求1所述的控制器,其中所述块管理器包括:
错误校正结果分析器,分析所述错误校正操作的结果,并且生成第一检测数据或第二检测数据,其中所述第一检测数据指示所述错误校正失败已出现在一个错误校正单位中,所述第二检测数据指示所述错误校正失败已出现在两个或更多个错误校正单位中;
数据备份处理器,响应于所述第一检测数据和所述第二检测数据中的任意一个,生成用于与所述读取数据有关的数据备份处理的备份控制信号;
坏块寄存器,响应于所述第二检测数据生成与所述目标存储块有关的坏块信息;以及
坏块信息存储装置,存储所述坏块信息。
3.根据权利要求2所述的控制器,进一步包括:
命令生成器,生成用于控制所述半导体存储器装置的操作的命令,
其中所述命令生成器响应于所述备份控制信号生成用于与所述读取数据有关的数据备份操作的命令。
4.根据权利要求3所述的控制器,其中所述块管理器进一步包括:
块测试执行组件,响应于所述第一检测数据生成用于对所述目标存储块的块测试操作的块测试控制信号。
5.根据权利要求4所述的控制器,其中所述命令生成器响应于所述块测试控制信号生成用于测试所述目标存储块的命令。
6.根据权利要求5所述的控制器,进一步包括:
缓冲存储器,存储所述读取数据。
7.根据权利要求3所述的控制器,其中所述块管理器进一步包括:
弱块信息存储装置,响应于所述第一检测数据将所述目标存储块登记为弱块;以及
块测试执行组件,基于从所述弱块信息存储装置提供的弱块信息生成用于对所述弱块执行测试操作的块测试控制信号。
8.根据权利要求7所述的控制器,其中所述弱块信息存储装置在所述半导体存储器装置的空闲时间期间将所述弱块信息传输到所述块测试执行组件。
9.一种操作用于控制半导体存储器装置的控制器的方法,所述方法包括:
从所述半导体存储器装置接收读取数据;
对所述读取数据执行错误校正操作;并且
分析所述错误校正操作的结果,并且基于所述读取数据中包括的多个错误校正单位之中已出现错误校正失败的错误校正单位的数量,对存储所述读取数据的目标存储块选择性地执行缺陷处理,
其中分析所述错误校正操作的结果并对所述目标存储块选择性地执行缺陷处理包括:
确定所述读取数据中包括的所述多个错误校正单位中的每一个中的错误校正是否已成功;
当确定所述错误校正失败已出现时,确定所述错误校正失败是否已出现在所述多个错误校正单位中的两个或更多个错误校正单位中,或者所述错误校正失败是否已出现在所述多个错误校正单元中的一个错误校正单位中;并且
当确定所述错误校正失败已出现在两个或更多个错误校正单位中时,对所述目标存储块执行缺陷处理,
其中,对所述目标存储块的缺陷处理包括将所述目标存储块登记为坏块。
10.根据权利要求9所述的方法,其中对所述目标存储块选择性地执行缺陷处理包括:
对所述读取数据执行恢复操作;
使用所恢复的读取数据将所述目标存储块的数据存储在另外的存储块中;
更新与所述目标存储块相关的映射表;并且
将所述目标存储块登记在坏块信息存储装置中。
11.根据权利要求9所述的方法,进一步包括:当所述错误校正失败已出现在一个错误校正单位中时:
对所述读取数据执行恢复操作;并且
对所述读取数据执行读取回收操作。
12.根据权利要求9所述的方法,进一步包括:当所述错误校正失败已出现在一个错误校正单位中时:
对所述读取数据执行恢复操作;
将所述目标存储块的数据存储在另外的存储块中;并且
对所述目标存储块执行缺陷测试。
13.根据权利要求12所述的方法,其中对所述目标存储块执行所述缺陷测试包括:
对所述目标存储块执行擦除操作;
将测试数据编程到所述目标存储块;并且
读取所编程的数据,然后确定错误校正失败是否已出现在所编程的数据中。
14.根据权利要求13所述的方法,进一步包括:
当读取所编程的数据并且所述错误校正失败已出现在所编程的数据中时,对所述目标存储块执行缺陷处理。
15.根据权利要求9所述的方法,进一步包括:当所述错误校正失败已出现在一个错误校正单位中时:
对所述读取数据执行恢复操作;
将所述目标存储块的数据存储在另外的存储块中;并且
将所述目标存储块登记为弱块。
CN201910485078.XA 2018-09-06 2019-06-05 控制器及其操作方法 Active CN110879759B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180106736A KR20200028255A (ko) 2018-09-06 2018-09-06 컨트롤러 및 그 동작 방법
KR10-2018-0106736 2018-09-06

Publications (2)

Publication Number Publication Date
CN110879759A CN110879759A (zh) 2020-03-13
CN110879759B true CN110879759B (zh) 2023-08-18

Family

ID=69720801

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910485078.XA Active CN110879759B (zh) 2018-09-06 2019-06-05 控制器及其操作方法

Country Status (3)

Country Link
US (1) US11048584B2 (zh)
KR (1) KR20200028255A (zh)
CN (1) CN110879759B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114203228B (zh) * 2020-09-18 2023-09-15 长鑫存储技术有限公司 存储器
JP2022124738A (ja) * 2021-02-16 2022-08-26 キオクシア株式会社 不揮発性半導体記憶装置及びその動作方法
WO2022204928A1 (en) * 2021-03-30 2022-10-06 Yangtze Memory Technologies Co., Ltd. Memory controller with read error handling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923512A (zh) * 2009-05-29 2010-12-22 晶天电子(深圳)有限公司 两层、三层闪存装置、智能存储开关和两层、三层控制器
CA2714784A1 (en) * 2009-09-17 2011-03-17 Royal Canadian Mint/Monnaie Royale Canadienne Message storage and transfer system
CN102637461A (zh) * 2012-03-07 2012-08-15 山东华芯半导体有限公司 支持坏块闪存扫描的启动方法
CN107943712A (zh) * 2016-10-12 2018-04-20 三星电子株式会社 控制存储器设备的回收的方法、存储设备及其操作方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU7313600A (en) * 1999-09-17 2001-04-24 Hitachi Limited Storage where the number of error corrections is recorded
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
KR101979734B1 (ko) * 2012-08-07 2019-05-17 삼성전자 주식회사 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법
KR102110767B1 (ko) * 2013-12-24 2020-06-09 삼성전자 주식회사 메모리 컨트롤러 구동방법 및 메모리 컨트롤러
KR102178137B1 (ko) * 2014-08-26 2020-11-12 삼성전자주식회사 반도체 메모리 장치, 이의 에러 정정 방법 및 이를 포함하는 메모리 시스템
US20160072529A1 (en) * 2014-09-10 2016-03-10 Kabushiki Kaisha Toshiba Storage device and memory control method
KR20170001777A (ko) * 2015-06-25 2017-01-05 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법
KR102385138B1 (ko) * 2015-10-08 2022-04-12 삼성전자주식회사 정정 불가능한 ecc 오류를 갖는 데이터를 복구하도록 구성되는 raid 컨트롤러 장치 및 스토리지 장치
KR20170052066A (ko) * 2015-11-03 2017-05-12 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US10133627B2 (en) * 2015-12-11 2018-11-20 SK Hynix Inc. Memory device controller with mirrored command and operating method thereof
KR20170075065A (ko) * 2015-12-22 2017-07-03 에스케이하이닉스 주식회사 메모리 시스템 동작 방법
US10410738B2 (en) * 2016-03-15 2019-09-10 Toshiba Memory Corporation Memory system and control method
KR20180005584A (ko) 2016-07-05 2018-01-16 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 에러 판정 방법
KR20180089104A (ko) * 2017-01-31 2018-08-08 에스케이하이닉스 주식회사 메모리 모듈, 이를 포함하는 메모리 시스템 및 이의 에러 정정 방법
KR20190051570A (ko) * 2017-11-07 2019-05-15 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101923512A (zh) * 2009-05-29 2010-12-22 晶天电子(深圳)有限公司 两层、三层闪存装置、智能存储开关和两层、三层控制器
CA2714784A1 (en) * 2009-09-17 2011-03-17 Royal Canadian Mint/Monnaie Royale Canadienne Message storage and transfer system
CN102637461A (zh) * 2012-03-07 2012-08-15 山东华芯半导体有限公司 支持坏块闪存扫描的启动方法
CN107943712A (zh) * 2016-10-12 2018-04-20 三星电子株式会社 控制存储器设备的回收的方法、存储设备及其操作方法

Also Published As

Publication number Publication date
US20200081775A1 (en) 2020-03-12
US11048584B2 (en) 2021-06-29
CN110879759A (zh) 2020-03-13
KR20200028255A (ko) 2020-03-16

Similar Documents

Publication Publication Date Title
US10580503B2 (en) Semiconductor memory device and method of operating the same
CN109754840B (zh) 半导体存储器装置及其操作方法
CN110111832B (zh) 半导体存储器装置及其操作方法
CN110879759B (zh) 控制器及其操作方法
CN109979513B (zh) 半导体存储器装置及其操作方法
CN109215713B (zh) 存储器系统和操作半导体存储器装置的方法
US20180129559A1 (en) Semiconductor memory device, controller, and operating methods thereof
US11693595B2 (en) Method of operating host and memory system connected thereto
US20220156145A1 (en) Controller and method of operating the same
US10937511B2 (en) Semiconductor memory device, memory system including controller, and method of operating controller
KR102606009B1 (ko) 캐시 버퍼 및 이를 포함하는 반도체 메모리 장치
KR102452512B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR20210103234A (ko) 컨트롤러 및 그 동작 방법
US11847340B2 (en) Host, memory system communicating with the host, and computing system including the host and memory system
US11145338B2 (en) Semiconductor memory device and method of operating the same
US11514988B2 (en) Controller and method of operating under sudden power interruption
KR20190028999A (ko) 반도체 메모리 장치 및 그 동작 방법
US20220171561A1 (en) Memory system and operating method thereof
KR20220052157A (ko) 반도체 메모리 장치 및 그 동작 방법

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