半导体存储器装置、控制器、存储器系统及其操作方法

文档序号:70724 发布日期:2021-10-01 浏览:24次 >En<

阅读说明:本技术 半导体存储器装置、控制器、存储器系统及其操作方法 (Semiconductor memory device, controller, memory system and operating method thereof ) 是由 金珍燮 于 2020-10-15 设计创作,主要内容包括:本技术包括一种操作控制器的方法,该控制器控制包括多个存储块的半导体存储器装置。该方法包括:从主机接收针对多个存储块之中的任意一个存储块中包括的数据的读取请求;并且控制半导体存储器装置以使用读取历史表读取与该读取请求相对应的数据。该读取历史表包括分别用于针对该任意一个存储块的多个读取通过操作的读取电压。(The present technology includes a method of operating a controller that controls a semiconductor memory device including a plurality of memory blocks. The method comprises the following steps: receiving a read request for data included in any one of a plurality of memory blocks from a host; and controls the semiconductor memory apparatus to read data corresponding to the read request using the read history table. The read history table includes read voltages respectively used for a plurality of read pass operations for the arbitrary one of the memory blocks.)

半导体存储器装置、控制器、存储器系统及其操作方法

相关申请的交叉引用

本申请要求于2020年3月31日提交的申请号为10-2020-0038751的韩国专利申请的优先权,其通过引用整体并入本文。

技术领域

本公开涉及一种电子装置,并且更特别地,涉及一种半导体存储器装置、控制器以及操作包括半导体存储器装置和控制器的存储器系统的方法。

背景技术

半导体存储器装置可以以将串水平地布置在半导体衬底上的二维结构形成,或者以将串垂直地堆叠在半导体衬底上的三维结构形成。将三维存储器装置设计成克服二维存储器装置的集成限制,并因此可以包括垂直堆叠在半导体衬底上的多个存储器单元。

发明内容

本公开的实施例提供一种具有提高的读取性能的半导体存储器装置、控制器以及操作包括半导体存储器装置和控制器的存储器系统的方法。

可以通过根据本公开的实施例的操作控制器的方法来控制包括多个存储块的半导体存储器装置。该方法包括:从主机接收针对多个存储块之中的选择存储块中的数据的读取请求;并且控制半导体存储器装置以使用读取历史表读取与该读取请求相对应的数据。读取历史表包括对选择存储块先前成功的读取操作中使用的读取电压。

可以通过根据本公开的实施例的操作控制器的方法来控制包括多个存储块的半导体存储器装置。该方法包括:从主机接收针对多个存储块之中的选择存储块中包括的数据的读取请求,控制半导体存储器装置以使用读取历史表来读取与该读取请求相对应的数据,并且控制半导体存储器装置以使用附加读取方法来执行读取操作,并且当使用读取历史表的读取数据的错误校正失败时,根据使用附加读取方法的读取操作的结果来更新读取历史表。读取历史表包括对选择存储块先前成功的读取通过操作中使用的读取电压。

在实施例中,控制半导体存储器装置以使用附加读取方法来执行读取操作并且更新读取历史表可以包括使用读取重试表来控制半导体存储器装置的读取操作。

在实施例中,控制半导体存储器装置以使用附加读取方法来执行读取操作并且更新读取历史表可以包括使用最佳读取电压搜索方法来控制半导体存储器装置的读取操作。

根据本公开的实施例的控制器控制包括多个存储块的半导体存储器装置。该控制器包括读取历史表存储装置、读取电压控制器和错误校正块。读取历史表存储装置存储读取历史表,该读取历史表包括分别用于对多个存储块之中的选择存储块的第一读取通过操作和第二读取通过操作的第一读取电压和第二读取电压。读取电压控制器基于读取历史表来调整用于半导体存储器装置的读取操作的读取电压。错误校正块对从半导体存储器装置接收的并且对应于从主机接收的读取请求的第一数据执行错误校正操作。当对该第一数据的错误校正操作失败时,读取电压控制器控制半导体存储器装置以从第一读取电压和第二读取电压之中选择最近更新的第一读取电压,并且基于该第一读取电压执行与读取请求相对应的读取操作。

一种控制器的操作方法包括:控制存储器装置以执行第一读取操作,分别利用多个最近成功的读取电压来多次读取数据。多个最近成功的读取电压被保持在组中。该操作方法进一步包括:当第一读取操作失败时,控制存储器装置以执行第二读取操作,利用与最近成功的读取电压中的每一个都不同的读取电压来读取数据,以及当第一读取操作成功或第二读取操作成功时,根据第一读取操作或第二读取操作的成功读取电压来更新该组。

本技术可以提高半导体存储器装置、控制器以及包括半导体存储器装置和控制器的存储器系统的读取性能。

附图说明

图1是示出根据本公开的实施例的包括控制器的存储器系统的框图。

图2是示出根据本公开的实施例的半导体存储器装置的框图。

图3是示出图2的存储器单元阵列的实施例的示图。

图4是示出图3的存储块BLK1至BLKz中的任意一个存储块BLKa的电路图。

图5是示出图3的存储块BLK1至BLKz中的任意一个存储块BLKb的另一实施例的电路图。

图6是示出图2的存储器单元阵列的存储块BLK1至BLKz中的任意一个存储块BLKc的实施例的电路图。

图7是示出根据实施例的操作控制器的方法的流程图。

图8是更详细地示出图7的操作方法的流程图。

图9A、图9B和图9C是用于描述针对包括单层单元(SLC)的存储块而参考读取历史表(RHT)执行读取操作的实施例的示图。

图10是示出根据本公开的另一实施例的包括控制器的存储器系统的框图。

图11是示出根据图10的实施例的操作控制器的方法的流程图。

图12是更详细地示出图11的操作方法的流程图。

图13A、图13B、图13C和图13D是示例性地描述RHT的更新的示图。

图14是示出根据本公开的又一实施例的包括控制器的存储器系统的框图。

图15是示出根据图14的实施例的操作控制器的方法的流程图。

图16是更详细地示出图15的操作方法的流程图。

图17是用于描述图16的步骤S315和S325的示图。

图18A是示出根据本公开的又一实施例的包括控制器的存储器系统的框图。

图18B是示出根据图18A的实施例的操作控制器的方法的流程图。

图19A、图19B和图19C是示出根据本公开的实施例的RHT的示图。

图20是用于描述图19C所示的RHT的示图。

图21是示出多层单元(MLC)的阈值电压分布的示图。

图22是示出用于包括MLC的存储块的RHT的示例的示图。

图23是示出包括图1、图10、图14或图18A的控制器的存储器系统的框图。

图24是示出图23的存储器系统的应用示例的框图。

图25是示出包括参照图24描述的存储器系统的计算系统的框图。

具体实施方式

提供特定的结构和功能描述仅是为了描述本公开的实施例。但是,本发明可以以各种方式实施并且可以以各种形式配置。因此,本发明不限于任何所公开的实施例,也不限于本文提供的任何具体细节。而且,在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。当在本文中使用时,术语“实施例”不一定指所有实施例。

图1是示出根据本公开的实施例的包括控制器的存储器系统的框图。

参照图1,存储器系统1000包括半导体存储器装置100和控制器200。另外,存储器系统1000与主机通信。半导体存储器装置100和控制器200中的每一个可以被设置为一个芯片、一个封装和/或一个装置。可选地,可以将存储器系统1000设置为一个存储装置。

控制器200控制半导体存储器装置100的全部操作。另外,控制器200基于从主机接收的命令来控制半导体存储器装置100的操作。

半导体存储器装置100响应于控制器200的控制而操作。半导体存储器装置100包括具有多个存储块的存储器单元阵列。在实施例中,半导体存储器装置100可以是闪速存储器装置。

控制器200可以从主机接收写入请求、读取请求等,并且基于所接收的请求来控制半导体存储器装置100。更具体地,控制器200可以生成用于控制半导体存储器装置100的操作的命令,并且将该命令传输到半导体存储器装置100。

半导体存储器装置100被配置为从控制器200接收命令和地址,并且访问存储器单元阵列中的由该地址选择的区域。也就是说,半导体存储器装置100对由地址选择的区域执行与命令相对应的内部操作。

例如,半导体存储器装置100可执行编程操作、读取操作和擦除操作。在编程操作期间,半导体存储器装置100可以将数据编程在由地址选择的区域之中。在读取操作期间,半导体存储器装置100可以从由地址选择的区域中读取数据。在擦除操作期间,存储器装置100可以擦除由地址选择的区域中存储的数据。

控制器200包括读取电压控制器210、错误校正块230和读取历史表(RHT)存储装置250。

读取电压控制器210可以管理和调整用于读取半导体存储器装置100中存储的数据的读取电压。例如,当从半导体存储器装置100读取的数据未被错误校正块230校正时,读取电压控制器210可以调整用于半导体存储器装置100的读取操作的至少一个读取电压。根据本公开,读取电压控制器210可以基于RHT存储装置250中存储的RHT来调整用于半导体存储器装置100的读取操作的读取电压。

错误校正块230被配置为通过使用错误校正码(ECC)来检测和校正从半导体存储器装置100接收的数据的错误。读取电压控制器210可以根据错误校正块230的错误检测结果来控制读取电压,并且可以控制半导体存储器装置100以执行重新读取。例如,错误校正块230可以针对待存储在半导体存储器装置100中的数据而生成ECC。所生成的ECC可以与数据一起被存储在半导体存储器装置100中。此后,错误校正块230可以基于所存储的ECC来检测并校正从半导体存储器装置100读取的数据的错误。例如,错误校正块230具有设定的错误校正能力。将包括超过错误校正块230的错误校正能力的错误位(或失败位)的数据称为“不可校正ECC(UECC)数据”。当从半导体存储器装置100读取的数据是UECC数据时,读取电压控制器210可以通过调整读取电压来控制半导体存储器装置100以再次执行读取操作。

RHT存储装置250可以存储RHT。RHT可以包括在先前读取操作中使用的读取电压。例如,RHT可以包括关于在先前读取操作中成功的读取电压(读取通过的电压)的信息。这样的读取通过的电压可能已经被施加到不包括错误的正常数据,或者已经被施加到具有错误但在错误校正块230的校正能力之内的数据。

当从半导体存储器装置100读取的数据未被错误校正块230校正时,读取电压控制器210可以调整在半导体存储器装置100中使用的读取电压。例如,读取电压控制器210可以基于RHT存储装置250中存储的RHT来调整读取电压。也就是说,由于基于先前读取通过的读取电压来调整读取电平,并且使用调整后的读取电平来读取数据,所以可以由错误校正块230校正读取数据的错误的概率可能增加。

根据本公开,RHT存储装置250中存储的RHT包括在先前成功的读取操作中使用的读取电压,读取电压中的每一个被顺序地添加到RHT。也就是说,根据本公开的RHT包括在最近成功的读取操作中使用的读取电压以及在紧接先前的成功的读取操作中使用的读取电压。因此,RHT可以以执行读取操作的顺序来存储在至少两次读取通过的读取操作中使用的读取电压。在读取操作期间,当从半导体存储器装置100重复地接收到UECC数据时,即每当错误校正块230重复地未能校正从半导体存储器装置100接收的读取数据中的错误时,读取电压控制器210以参考基于时间的顺序存储在RHT中的读取电压来调整半导体存储器装置100的读取电压。例如,当针对从半导体存储器装置100接收的读取数据发生错误校正失败时,读取电压控制器210将RHT的电压之中的在最近读取通过的读取操作中使用的读取电压设置为半导体存储器装置100的读取电压。半导体存储器装置100基于所设置的读取电压再次执行读取操作。此后,如果并且当使用最近读取通过的电压对从半导体存储器装置100接收的读取数据进行错误校正失败时,读取电压控制器210将RHT的电压之中的在该最近读取通过的读取操作之前的读取通过的读取操作中使用的读取电压设置为半导体存储器装置100的读取电压。

也就是说,根据根据本公开的实施例的控制器200,当针对相同的数据重复地发生错误校正失败时,通过从最近读取通过的电压开始顺序地施加在先前读取通过的读取操作中使用的读取电压,调整半导体存储器装置100的读取电压。因此,施加了在先前读取通过的读取操作中使用的一个或多个读取电压,并因此提高了成功地读取当前数据的概率。因此,提高了存储器系统1000的性能。

图2是示出根据本公开的实施例的半导体存储器装置的框图。

参照图2,半导体存储器装置100包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150。

存储器单元阵列110包括通过字线WL连接到地址解码器120的多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路130。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是可以配置有垂直沟道结构的非易失性存储器单元。存储器单元阵列110可以被配置为二维结构或三维结构。存储器单元阵列中的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列110中的多个存储器单元中的每一个可以是存储一位数据的单层单元(SLC)、存储两位数据的多层单元(MLC)、存储三位数据的三层单元或存储四位数据的四层单元。更进一步,存储器单元阵列110可以包括每个存储五位或更多位数据的多个存储器单元。

地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150作为驱动存储器单元阵列110的外围电路进行操作。地址解码器120通过字线WL连接到存储器单元阵列110。地址解码器120被配置为响应于控制逻辑140的控制而操作。地址解码器120通过半导体存储器装置100内部的输入/输出缓冲器(未示出)接收地址。当向半导体存储器装置100供电时,外围电路可以读取CAM块中存储的信息,并且外围电路可以控制存储器单元阵列以在根据所读取的信息而设置的条件下执行存储器单元的数据输入/输出操作。

地址解码器120被配置为对所接收的地址中的块地址进行解码。地址解码器120根据经解码的块地址选择至少一个存储块。另外,在读取操作期间,地址解码器120在读取电压施加操作的时间,将在电压生成器150中生成的读取电压Vread施加到所选择的存储块的所选择的字线,并且将通过电压Vpass施加到剩余的未选择的字线。另外,在编程验证操作期间,地址解码器120将在电压生成器150中生成的验证电压施加到所选择的存储块的所选择的字线,并且将通过电压Vpass施加到剩余的未选择的字线。

地址解码器120被配置为对所接收的地址的列地址进行解码。地址解码器120将经解码的列地址传输到读取和写入电路130。

以页面为单位执行对半导体存储器装置100的读取操作和编程操作。在请求读取操作和编程操作的时间所接收的地址包括块地址、行地址和列地址。地址解码器120根据块地址和行地址选择一个存储块和一个字线。列地址由地址解码器120进行解码,并且被提供到读取和写入电路130。在本说明书中,连接到一个字线的存储器单元可以被称为“物理页面”。

地址解码器120可以包括块解码器、行解码器、列解码器和地址缓冲器等。

读取和写入电路130包括多个页面缓冲器PB1至PBm。读取和写入电路130可以在存储器单元阵列110的读取操作期间作为“读取电路”进行操作,并且可以在存储器单元阵列110的写入操作期间作为“写入电路”进行操作。多个页面缓冲器PB1至PBm通过位线BL1至BLm联接到存储器单元阵列110。在读取操作和编程验证操作期间,为了感测存储器单元的阈值电压,多个页面缓冲器PB1至PBm在连续地向连接到存储器单元的位线供应感测电流的同时,通过感测节点来感测根据相应存储器单元的编程状态的流过的电流量的改变,并且将所感测到的改变锁存为感测数据。读取和写入电路130响应于从控制逻辑140输出的页面缓冲器控制信号而操作。

在读取操作期间,读取和写入电路130感测存储器单元的数据,临时存储读取数据,并且将数据DATA输出到半导体存储器装置100的输入/输出缓冲器(未示出)。在实施例中,除了页面缓冲器(或页面寄存器)之外,读取和写入电路130还可以包括列选择电路等。

控制逻辑140连接到地址解码器120、读取和写入电路130和电压生成器150。控制逻辑140通过半导体存储器装置100的输入/输出缓冲器(未示出)接收命令CMD和控制信号CTRL。控制逻辑140可以被配置为响应于控制信号CTRL而控制半导体存储器装置100的全部操作。另外,控制逻辑140输出用于调整多个页面缓冲器PB1至PBm的感测节点预充电电位电平的控制信号。控制逻辑140可以控制读取和写入电路130以执行存储器单元阵列110的读取操作。

响应于从控制逻辑140输出的控制信号,电压生成器150在读取操作期间生成读取电压Vread和通过电压Vpass。为了生成具有各种电压电平的多个电压,电压生成器150可以包括接收内部电源电压的多个泵浦电容器,并且通过响应于控制逻辑140的控制而选择性地激活多个泵浦电容器来生成多个电压。

地址解码器120、读取和写入电路130和电压生成器150可以用于对存储器单元阵列110执行读取操作、写入操作和擦除操作。这些组件基于控制逻辑140的控制来对存储器单元阵列110执行读取操作、写入操作和擦除操作。

图3是示出图2的存储器单元阵列的实施例的示图。

参照图3,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块可以具有三维结构。每个存储块包括堆叠在衬底上的多个存储器单元。这样的多个存储器单元沿+X方向、+Y方向和+Z方向布置。参照图4和图5更详细地描述每个存储块的结构。

图4是示出图2的存储块BLK1至BLKz中的任意一个存储块BLKa的电路图。

参照图4,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,多个单元串CS11至CS1m和单元串CS21至CS2m中的每一个可以形成为“U”形。在存储块BLKa中,在行方向(即,+X方向)上布置m个单元串。在图4中,在列方向(即,+Y方向)上布置两个单元串。然而,这是为了清楚起见;可以在列方向上布置三个或更多个单元串。

多个单元串CS11至CS1m和单元串CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。

选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以具有类似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可以包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可以在每个单元串中设置用于提供沟道层的柱。根据本公开的实施例,可以在每个单元串中设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。

每个单元串的源极选择晶体管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中的奇数编号的单元串可以分别连接到奇数位线。

在实施例中,第一至第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方向延伸。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括堆叠在存储块BLKb下面的衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn和至少一个漏极选择晶体管DST。

每个单元串的源极选择晶体管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'中的奇数编号的单元串可以分别连接到奇数位线。

在实施例中,第一至第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中的偶数编号的单元串可以分别连接到偶数位线,并且奇数编号的单元串可以分别连接到奇数位线。

图7是示出根据实施例的操作控制器的方法的流程图。

参照图7,根据本公开的实施例的操作控制器200的方法包括:从主机接收读取请求(S100),并且使用RHT来控制半导体存储器装置的读取操作(S200)。

在步骤S100中,存储器系统1000从主机接收读取请求。更具体地,存储器系统1000的控制器200从主机接收读取请求。控制器200可以从主机与读取请求一起接收存储读取数据的逻辑地址。控制器200可以将所接收的逻辑地址转换为物理地址。在步骤S200中,控制器200可以控制半导体存储器装置100以基于所转换的物理地址来读取与所接收的读取请求相对应的数据。

在步骤S200中,控制器200可以通过使用RHT存储装置250中存储的RHT来控制半导体存储器装置的读取操作。下面参照图8至图9C描述步骤S200的细节。

图8是更详细地示出图7的操作方法的流程图。参照图8,示出图7的步骤S200的详细配置。也就是说,根据本公开的实施例,图7的步骤S200包括图8所示的步骤S210、S220、S230、S240、S250和S260。

控制器210控制半导体存储器装置100以执行与从主机接收的读取请求相对应的读取操作(S210)。为此,控制器200可以将读取命令和与其对应的物理地址传送到半导体存储器装置100。半导体存储器装置100可以基于当前设置的读取电压,对与所接收的物理地址相对应的页面执行读取操作,并且将读取数据传送到控制器200。

在步骤S220中,控制器200的错误校正块230对从半导体存储器装置100接收的读取数据执行错误校正操作。当作为错误校正的结果,错误校正成功(S220:否)时,可以将读取数据传送到主机,并且可以结束读取操作。

当确定错误校正失败(S220:是)时,读取电压控制器210参考RHT存储装置250中存储的RHT中包括的读取电压(S230)。在步骤S230中,将当前在半导体存储器装置100中设置的读取电压与RHT中包括的读取电压之中最后的读取电压进行比较。

当在半导体存储器装置中设置的读取电压不是RHT中的读取电压之中最后的读取电压(S240:否)时,该方法进行到步骤S250。在步骤S250中,基于RHT中包括的读取电压的更新顺序,确定待用于下一读取操作的读取电压。随着作为在步骤S220中确定的结果而错误校正失败重复,在步骤S250中,通过从RHT中的读取电压之中从最近更新的读取电压到最早更新的读取电压的顺序选择读取电压,确定待用于下一读取操作的读取电压。下面参照图9A至图9C描述在步骤S250中确定读取电压的方法的具体示例。

在步骤S260中,读取电压控制器210控制半导体存储器装置以将所确定的读取电压用于读取操作。在步骤S260中,读取电压控制器210可以使用设置参数命令来设置用于半导体存储器装置100的读取操作的读取电压。此后,该方法再次进行到步骤S210,并且控制半导体存储器装置100以执行与从主机接收的读取请求相对应的读取操作。

作为在步骤S240中确定的结果,当在半导体存储器装置中设置的读取电压是RHT中包括的读取电压之中最后的读取电压时(S240:是),这意为使用RHT中存储的所有读取电压都发生了错误校正失败。因此,在这种情况下,读取操作结束。

图9A、图9B和图9C是用于描述针对包括单层单元(SLC)的存储块而参照RHT执行读取操作的实施例的示图。首先,参照图9A,示出包括SLC的阈值电压分布和用于读取SLC的读取电压的RHT。在下文中,另外还参照图8进行描述。

SLC具有擦除状态E和编程状态P1中的任意一种作为阈值电压状态。RHT包括针对半导体存储器装置100中包括的多个存储块BLK1至BLKz中的每一个的三个读取电压。在图9A至图9C中,为了方便,仅示出多个存储块BLK1至BLKz之中包括待读取页面的第i存储块BLKi的读取电压。图9A至图9C所示的阈值电压分布是待读取页面中包括的存储器单元的阈值电压分布。参照RHT,示出分别对应于多个读取操作R1_t1、R1_t2和R1_t3的读取电压VR1”、VR1'和VR1。RHT中包括的多个读取操作R1_t1、R1_t2和R1_t3是三个最近的读取操作。更具体地说,读取操作R1_t1指示最近读取通过的读取操作,即最近更新的读取电压。因此,在对第i存储块BLKi的最近读取通过的读取操作中使用的读取电压为VR1”。

读取操作R1_t2指示第二最近读取通过的读取操作。因此,对于第i存储块BLKi,在读取操作R1_t1之前的最近读取通过的读取操作中使用的读取电压为VR1'。也就是说,读取电压VR1'是三个读取电压VR1”、VR1'和VR1之中的在RHT中第二个进行更新的读取电压。

最后,读取操作R1_t3指示第三最近读取通过的读取操作。因此,对于第i存储块BLKi,在读取操作R1_t2之前的最近读取通过的读取操作中使用的读取电压为VR1。也就是说,读取电压VR1是三个读取电压VR1”、VR1'和VR1之中的在RHT中最初更新的读取电压。

总之,在对第i存储块BLKi的最近三个读取通过的读取操作之中,在第一个执行的读取操作R1_t3中使用了读取电压VR1,在下一读取通过的读取操作R1_t2中使用了读取电压VR',并且在最近执行的读取通过的读取操作R1_t1中使用了读取电压VR”。

每当重复执行步骤S250时,按RHT上方箭头方向指示的顺序选择读取电压。也就是说,当在步骤S220中最初发生针对读取数据的错误校正失败时,在此后执行的步骤S250中,将在最近执行的读取通过的读取操作R1_t1中使用的读取电压VR1”确定为待在下一读取操作中使用的读取电压。参照图9A,读取电压VR1”是存在于擦除状态E和编程状态P1之间的谷中的读取电压,并且是生成最少错误的读取电压。因此,根据图9A所示的阈值电压分布,作为基于在最初错误校正失败之后选择的读取电压VR1”执行读取操作的结果,对读取数据的错误校正可能会成功(S220:是)。如果成功,则读取操作结束。

图9B示出不同于图9A的阈值电压分布。图9B所示的RHT与图9A所示的RHT相同。当在步骤S220中最初发生针对读取数据的错误校正失败时,如上所述,在此后执行的步骤S250中,可以将在最近执行的读取通过的读取操作R1_t1中使用的读取电压VR1”确定为待在下一读取操作中使用的读取电压。参照图9B,读取电压VR1”与擦除状态E和编程状态P1之间的谷明显分开,并且是输出相对大量错误的读取电压。因此,根据图9B所示的阈值电压分布,作为在错误校正失败之后基于所选择的电压VR1”执行读取操作的结果,对读取数据的错误校正可能再次失败(S220:是)。因此,参考RHT(S230),并且确定当前在半导体存储器装置100中设置的读取电压VR1”是否是RHT的最后的读取电压VR1(S240)。RHT的最后的读取电压可以是在RHT中的读取电压VR1”、VR1'和VR1之中在最初的读取通过的读取操作R1_t3期间使用的读取电压VR1。因为当前在半导体存储器装置100中设置的读取电压VR1”与RHT的最后的读取电压VR1不同,所以该方法进行到步骤S250以确定待在下一读取操作中使用的读取电压。在步骤S250中,现在可以将在第二个读取通过的读取操作R1_t2中使用的读取电压VR'确定为待在下一读取操作中使用的读取电压。参照图9B,读取电压VR1'存在于擦除状态E和编程状态P1之间的谷中,并且是生成最少错误的读取电压。因此,根据图9B所示的阈值电压分布,作为基于在第二个错误校正失败之后选择的电压VR1'执行读取操作的结果,对读取数据的错误校正可能成功(S220:是)。如果成功,则读取操作结束。

图9C示出不同于图9A或图9B的阈值电压分布。图9C所示的RHT与图9A和图9B所示的RHT相同。如上所述,当在步骤S220中最初发生针对读取数据的错误校正失败时,如上所述,在此后执行的步骤S250中,可以将在最近执行的读取通过的读取操作R1_t1中使用的读取电压VR1”确定为待在下一读取操作中使用的读取电压。参照图9C,作为通过读取电压VR1”执行读取操作的结果,对读取数据的错误校正可能失败。当如上所述发生第二个错误校正失败时,在此后执行的步骤S250中,可以将在第二个执行的读取通过的读取操作R1_t2中使用的读取电压VR1'确定为待在下一读取操作中使用的读取电压。参照图9C,作为通过读取电压VR1'执行读取操作的结果,对读取数据的错误校正可能失败。当发生第三个错误校正失败时,在此后执行的步骤S250中,可以将RHT中包括的读取操作R1_t1,R1_t2和R1_t3之中在最初执行的读取通过的读取操作R1_t3中使用的读取电压VR1确定为待在下一读取操作中使用的读取电压。参照图9C,作为通过读取电压VR1执行读取操作的结果,对读取数据的错误校正可能失败。

因此,作为后续步骤S240的确定的结果,因为当前在半导体存储器装置100中设置的读取电压与RHT中的最后的读取电压VR1相同,因此读取操作结束。这意为即使顺序地使用RHT中的所有读取电压重复地执行读取操作,错误校正也失败了。因此,可以认为与从主机接收的读取请求相对应的读取操作已经最终失败。

如上所述,根据本公开的实施例,RHT存储装置中存储的RHT包括在先前读取通过的读取操作中使用的读取电压。每当在读取操作期间重复发生错误校正失败时,控制器控制半导体存储器装置100以在RHT中的多个读取电压之中从最近更新的读取电压VR1”到最初更新的读取电压VR1顺序地进行选择以在半导体存储器装置100的读取操作中使用读取电压。因此,因为在读取操作中从最近读取通过的操作中使用的读取电压VR1”开始顺序地使用读取电压,所以增加了成功进行错误校正的概率。因此,提高了包括半导体存储器装置100和控制器200的存储器系统的性能。

图9A至图9C所示的RHT包括用于每个存储块的三个读取电压VR1”、VR'和VR1。这意为RHT中包括用于三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3的读取电压。在本说明书中,将RHT中包括的读取电压的数量,并因此将读取操作重试的次数定义为“RHT的深度”。在图9A至图9C所示的实施例中,RHT包括3个读取电压,分别对应于三个读取通过的读取操作,因此RHT的深度为3。然而,这仅是示例,并且可以根据需要而不同地确定RHT的深度。当RHT的深度增加时,在RHT中存储与更多读取通过的读取操作相对应的读取电压。因此,在可以提高读取性能的同时,增加用于存储RHT的RHT存储装置250的容量。另一方面,当RHT的深度降低时,在RHT中包括与更少读取通过的读取操作相对应的读取电压。因此,尽管需要更少的RHT存储装置250的容量,但是读取性能可能会有所降低。因此,可以在考虑到这种权衡的情况下设置RHT的深度。

图10是示出根据本公开的另一实施例的包括控制器的存储器系统的框图。

参照图10,存储器系统1001包括半导体存储器装置100和控制器201。图10的半导体存储器装置100与参照图1和图2描述的半导体存储器装置100相同或基本相同。

控制器201包括读取电压控制器210、错误校正块230、RHT存储装置250和读取重试表存储装置270。除了控制器201进一步包括读取重试表存储装置270之外,图10中所示的控制器201与图1中所示的控制器200相同或基本相同。

读取重试表存储装置270存储读取重试表(RRT)。RRT包括设定数量的读取电压,该数量可以预先确定。当针对相同数据的错误校正失败重复发生时,读取电压控制器210通过顺序地施加RRT中存储的读取电压来重复读取操作。RRT和使用该RRT的读取操作在本公开的技术领域中是公知的,因此省略对其的描述。

基于根据本公开的另一实施例的控制器201,当发生对读取数据的错误校正失败时,读取电压控制器210首先使用RHT执行读取操作,然而,当使用RHT中的所有读取电压重复发生错误校正失败时,读取电压控制器210可以使用RRT执行读取操作。下面参照图11至图13D描述根据本公开的另一实施例的操作控制器201的方法。

图11是示出根据图10的实施例的操作控制器的方法的流程图。

参照图11,根据图10的实施例的操作控制器201的方法包括:从主机接收读取请求(S100),使用RHT控制半导体存储器装置的读取操作(S200),并且使用RTT控制半导体存储器装置的读取操作并更新RHT(S300)。

在步骤S100中,存储器系统1000从主机接收读取请求。更具体地,存储器系统1000的控制器201从主机接收读取请求。控制器201可以从主机与读取请求一起接收存储读取数据的逻辑地址。控制器201可以将所接收的逻辑地址转换为物理地址。在步骤S200和S300中,控制器201可以控制半导体存储器装置100以基于转换后的物理地址来读取与所接收的读取请求相对应的数据。

在步骤S200中,控制器201可以使用RHT存储装置250中存储的RHT来控制半导体存储器装置的读取操作。步骤S200可以包括图8所示的步骤S210、S220、S230、S240、S250和S260。也就是说,可以与参照图8至图9C描述的步骤相同或基本相同地执行图11的步骤S200。

作为在步骤S200中重复执行读取操作的结果,当针对读取数据的错误校正重复地失败时,可以执行使用附加读取方法的读取操作。在图11的实施例中,附加读取方法可以是使用RRT的读取方法。

根据图11的实施例,将步骤S300作为附加读取方法来执行。更具体地,当作为使用RHT中所有的读取电压VR1”、VR1'和VR1执行读取操作的结果,错误校正失败时,步骤S200结束,并且执行步骤S300。当在执行步骤S200的同时,针对读取数据的错误校正成功时,读取操作可以结束,并且可以不执行步骤S300。在下文中,参照图12更详细地进行描述。

图12是更详细地示出图11的操作方法的流程图。

参照图12,当使用RHT中包括的读取电压的读取操作失败时,参考RRT确定待在下一读取操作中使用的读取电压(S310)。在这种情况下,可以将RRT的第一读取电压确定为待在下一读取操作中使用的读取电压。

此后,控制半导体存储器装置以在读取操作中使用所确定的读取电压(S320)。在步骤S320中,读取电压控制器210可以使用设置参数命令来设置在半导体存储器装置100的读取操作使用的读取电压。

此后,控制半导体存储器装置100以执行与从主机接收的读取请求相对应的读取操作(S330)。因此,可以使用RRT中的第一读取电压来执行读取操作。

在步骤S340中,确定针对待从半导体存储器装置100接收的读取数据是否发生错误校正失败(S230)。当错误校正失败(S340:是)时,确定在读取操作中当前使用的读取电压是否是RRT中的最后的读取电压(S350)。因为使用当前RRT的第一读取电压执行读取操作(S350:否),所以该方法进行到步骤S310以确定RRT中的作为待在下一读取操作中使用的读取电压的第二读取电压,并且重复地执行读取操作(S310)。因此,当错误校正失败重复时,可以使用RRT中的直到最后的读取电压的所有读取电压来执行读取操作。

当确定错误校正成功(S340:否)时,可以将错误校正数据传送到主机。在这种情况下,基于在当前读取操作中使用的读取电压来更新RHT(S360)。错误校正成功意为当前执行的读取操作是现在的最近读取通过的读取操作。因此,将当前读取操作中使用的读取电压添加到RHT中,作为最近成功的读取电压。所更新的RHT可以用于与来自主机的下一读取请求相对应的读取操作中。

图13A、图13B、图13C和图13D是示例性地描述RHT的更新的示图。在初始状态下,RHT可以不包括任何读取电压。

参照图13A,通过来自主机的第一请求,在第i存储块BLKi中包括的第一页面的读取操作中使用读取电压VR1。读取电压VR1可以是RRT中包括的电压。由于根据读取电压VR1的读取数据成功地进行了错误校正(S340:否),可以将读取通过中使用的读取电压更新到RHT中,表示为RHT_0(S360)。

参照图13B,可以通过来自主机的第二请求来执行对第i存储块BLKi中包括的第二页面的读取操作。在这种情况下,首先根据图11的步骤S200,使用先前更新的RHT_0来控制半导体存储器装置的读取操作。根据图13B的阈值电压分布,当使用图13A的RHT_0中包括的读取电压VR1来执行读取操作时,可能发生错误校正失败。因此,进程进行到图11的步骤S300,以使用RRT来控制半导体存储器装置的读取操作。

在图13B的示例中,假设在RRT中的多个读取电压之中包括读取电压VR1a。在使用RRT中包括的多个读取电压重复地执行读取操作的进程中,可以通过读取电压VR1a来执行读取操作。因此,在图12的步骤S340中,错误校正可能成功(S340:否)。由于根据读取电压VR1a的读取数据成功地进行了错误校正,因此可以将读取通过中使用的读取电压更新到RHT_0中(S360)。因此,基于在当前读取操作中使用的读取电压VR1a来更新RHT。更具体地,将读取电压VR1a添加到图13A所示的RHT_0以生成更新的RHT,表示为RHT_a。参考所更新的RHT(RHT_a),包括在最近执行的读取通过的读取操作R1_t1中使用的读取电压VR1a和在该读取操作R1_t1之前执行的读取通过的读取操作R1_t2中使用的读取电压VR1,即在图13A中使用的读取电压VR1。

参照图13C,可以通过来自主机的第三请求来执行对第i存储块BLKi中包括的第三页面的读取操作。在这种情况下,首先根据图11的步骤S200,使用先前更新的RHT_a来控制半导体存储器装置的读取操作。在步骤S200中,可以使用图13B的RHT_a中包括的读取电压VR1a和VR1顺序地执行读取操作。根据图13C的阈值电压分布,当使用RHT_a中包括的读取电压VR1a和VR1执行读取操作时,可能重复地发生错误校正失败。因此,进程进行到图11的步骤S300,以使用RRT来控制半导体存储器装置的读取操作。

在图13C的示例中,假设在RRT中包括的多个读取电压之中包括读取电压VR1b。在使用RRT中包括的多个读取电压重复地执行读取操作的进程中,可以通过读取电压VR1b来执行读取操作。因此,在图12的步骤S340中,错误校正可能成功(S340:否)。由于根据读取电压VR1b的读取数据成功地进行了错误校正,因此可以将在读取通过中使用的读取电压更新到RHT_a中。因此,基于在当前读取操作中使用的读取电压VR1b来更新RHT。更具体地,将读取电压VR1b添加到图13B所示的RHT_a以生成更新的RHT,表示为RHT_b。参考所更新的RHT(RHT_b),包括在最近执行的读取通过的读取操作R1_t1中使用的读取电压VR1b和在第一个执行的读取通过的读取操作R1_t3中使用的读取电压VR1。

参照图13C,因为RHT_b的深度为3,所以该RHT_b中包括用于第i存储块BLKi的三个读取电压VR1b、VR1a和VR1。

参照图13D,可以通过来自主机的第四请求来执行对第i存储块BLKi中包括的第四页面的读取操作。在这种情况下,首先根据图11的步骤S200,使用先前更新的RHT_b来控制半导体存储器装置的读取操作。在步骤S200中,可以使用图13C的RHT_b中包括的读取电压VR1b、VR1a和VR1顺序地执行读取操作。根据图13C的阈值电压分布,当使用RHT_b中包括的读取电压VR1b、VR1a和VR1执行读取操作时,可能重复地发生错误校正失败。因此,进程进行到图11的步骤S300,以使用RRT来控制半导体存储器装置的读取操作。

在图13D的示例中,假设在RRT中包括的多个读取电压之中包括读取电压VR1c。在使用RRT中包括的多个读取电压重复地执行读取操作的进程中,可以通过读取电压VR1c来执行读取操作。因此,在图12的步骤S340中,错误校正可能成功(S340:否)。由于根据读取电压VR1c的读取数据成功地进了错误校正,因此可以将在读取通过中使用的读取电压更新到RHT_b中。因此,基于在当前读取操作中使用的读取电压VR1c来更新RHT。更具体地,将读取电压VR1c添加到图13C所示的RHT_b以生成更新的RHT,表示为RHT_c。

RHT的最大深度可以是3,在这种情况下,因为RHT_b的深度为3,为了添加新的读取电压VR1c,需要移除当前处于RHT_b中的三个读取电压VR1b、VR1a、VR1中的一个。在本公开的实施例中,移除最早更新的读取电压,即读取电压VR1。因此,所更新的RHT_c包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1c、VR1b和VR1a。

图14是示出根据本公开的又一实施例的包括控制器的存储器系统的框图。

参照图14,存储器系统1002包括半导体存储器装置100和控制器202。该图14的半导体存储器装置100与参照图1和图2描述的半导体存储器装置100相同或基本相同。

控制器202包括读取电压控制器210、错误校正块230、RHT存储装置250和最佳读取电压搜索组件280。除了控制器202进一步包括最佳读取电压搜索组件280之外,图14中所示的控制器202与图1中所示的控制器200相同或基本相同。

最佳读取电压搜索组件280基于待读取页面的存储器单元的阈值电压分布来搜索最佳读取电压。更具体地,最佳读取电压搜索组件280控制半导体存储器装置以基于多个参考读取电压来重复地执行读取操作,分析对应于多个参考读取电压的数据,并且搜索两个相邻阈值电压状态之间的谷。下面参照图16至图17描述最佳读取电压搜索组件280的最佳读取电压搜索方法。

图15是示出根据图14的实施例的操作控制器的方法的流程图。

参照图15,根据图14的实施例的操作控制器202的方法包括:从主机接收读取请求(S100),使用RHT控制半导体存储器装置的读取操作(S200),并且使用最佳读取电压搜索方法来控制半导体存储器装置的读取操作,并且更新RHT(S301)。

在步骤S100中,存储器系统1000从主机接收读取请求。更具体地,存储器系统1000的控制器200从主机接收读取请求。控制器202可以从主机与读取请求一起接收存储读取数据的逻辑地址。控制器202可以将所接收的逻辑地址转换为物理地址。在步骤S200和S301中,控制器202可以控制半导体存储器装置100以基于转换后的物理地址来读取与所接收的读取请求相对应的数据。

在步骤S200中,控制器202可以使用RHT存储装置250中存储的RHT来控制半导体存储器装置的读取操作。步骤S200可以包括图8所示的步骤S210、S220、S230、S240、S250和S260。也就是说,可以与参照图8至图9C描述的步骤相同或基本相同地执行图15的步骤S200。

作为在步骤S200中重复执行读取操作的结果,当针对读取数据的错误校正多次失败时(例如,使用RHT中的所有读取电压之后),可以执行使用附加读取方法的读取操作。在图15的实施例中,附加读取方法可以是使用最佳读取电压搜索方法的读取方法。

根据图15的实施例,将步骤S301作为附加读取方法来执行。更具体地,根据最佳读取电压搜索组件280的控制,半导体存储器装置100基于多个参考读取电压重复地执行读取操作。基于根据多个参考读取电压的多个读取结果来确定与阈值电压分布的谷相对应的最佳读取电压,并且基于所确定的最佳读取电压来执行读取操作。

参照图16和图17更详细地描述步骤S301的具体实施例。

图16是更详细地示出图15的操作方法的流程图。图17是用于描述图16的步骤S315和S325的示图。在下文中,一起参照图16和图17描述根据本公开的实施例的操作控制器的方法。

参照图16,当使用RHT中包括的读取电压的读取操作失败时,最佳读取电压搜索组件280控制半导体存储器装置100以基于多个参考读取电压VR1_1至VR1_7执行读取操作(S315)。更具体地,最佳读取电压搜索组件280可以生成与多个参考读取电压VR1_1至VR1_7相对应的读取命令,将读取命令传送到半导体存储器装置100,并且接收基于多个参考读取电压VR1_1至VR1_7的读取结果。根据图17所示的示例,基于擦除状态E和编程状态P1之间的多个参考读取电压VR1_1至VR1_7来执行读取操作。可以将作为由参考读取电压VR1_1至VR1_7中的每一个执行的读取操作的结果的读取数据传送到控制器202。

此后,最佳读取电压搜索组件280基于多个读取结果来确定与阈值电压分布的谷相对应的最佳读取电压(S325)。在图17所示的示例中,在由多个参考读取电压VR1_1至VR1_7之中的第一参考读取电压VR1_1读取的数据中包括的为1的位的数量(该数量表示为N_B1)可以是在图17的阈值电压分布中阈值电压小于第一参考读取电压VR1_1的存储器单元的数量。在由多个参考读取电压VR1_1至VR1_7之中的第二参考读取电压VR1_2读取的数据中包括的为1的位的数量(该数量表示为N_B2)可以是在图17的阈值电压分布中阈值电压小于第二参考读取电压VR1_2的存储器单元的数量。因此,可以通过从N_B1减去N_B2来获得具有处于第一参考读取电压VR1_1和第二参考读取电压VR1_2之间的阈值电压的存储器单元的数量。以这种方式,最佳读取电压搜索组件280可以计算由多个参考读取电压VR1_1至VR1_7定义的多个区段中的每一个中包括的存储器单元的数量。此后,最佳读取电压搜索组件280可以确定包括最少数量的存储器单元的、位于VR1_3和VR1_4之间以及VR1_4和VR1_5之间的区段,并且可以将共同包括在这样的区段中的第四参考读取电压VR1_4确定为最佳读取电压。

此后,控制器202控制半导体存储器装置100以基于所确定的最佳读取电压来执行读取操作(S335)。在步骤S335中,读取电压控制器210可以使用设置参数命令将所确定的最佳读取电压设置为在半导体存储器装置100的读取操作中使用的读取电压。另外,在步骤S335中,控制器202可以将与从主机接收的读取请求相对应的读取命令传送到半导体存储器装置100。半导体存储器装置100可以响应于所接收的读取命令来执行读取操作。在步骤S335中,半导体存储器装置100可以基于所确定的最佳读取电压(例如,VR1_4)执行读取操作,并且将读取数据传送到控制器202。

控制器202的错误校正块230对从半导体存储器装置100接收的读取数据执行错误校正操作。当对来自半导体存储器装置的读取数据的错误校正失败(S345:是)时,读取操作可能结束。

当对来自半导体存储器装置的读取数据的错误校正成功(S345:否)时,可以将错误校正后的数据传送到主机。而且,在这种情况下,基于当前读取操作中使用的读取电压,即VR1_4,更新RHT(S355)。错误校正成功意为当前执行的读取操作是现在的最近读取通过的读取操作。因此,将当前读取操作中使用的读取电压(例如,VR1_4)添加到RHT中,作为最近成功的读取电压。所更新的RHT可以用于与来自主机的下一读取请求相对应的读取操作中。

图18A是示出根据本公开的又一实施例的包括控制器的存储器系统的框图。

参照图18A,存储器系统1003包括半导体存储器装置100和控制器203。该图18A的半导体存储器装置100与参照图1和图2描述的半导体存储器装置100相同或基本相同。

控制器203包括读取电压控制器210、错误校正块230、RHT存储装置250、RRT存储装置270和最佳读取电压搜索组件280。除了控制器203进一步包括RRT存储装置270和最佳读取电压搜索组件280之外,该图18A中所示的控制器203与图1中所示的控制器200相同或基本相同。

图18A的RRT存储装置270可以与参照图10描述的RRT存储装置270相同或基本相同。而且,图18A的最佳读取电压搜索组件280可以与参照图14描述的最佳读取电压搜索组件280相同或基本相同。因此,此处省略了对RRT存储装置270和最佳读取电压搜索组件280的描述。

图18B是示出根据图18A的实施例的操作控制器的方法的流程图。

参照图18B,根据图18A的实施例的操作控制器203的方法包括:从主机接收读取请求(S100),使用RHT控制半导体存储器装置的读取操作(S200),使用RRT控制半导体存储器装置的读取操作并更新RHT(S300),并且使用最佳读取电压搜索方法来控制半导体存储器装置的读取操作,并且更新RHT(S301)。

在步骤S100中,存储器系统1000从主机接收读取请求。更具体地,存储器系统1000的控制器200从主机接收读取请求。控制器203可以从主机与读取请求一起接收存储读取数据的逻辑地址。控制器203可以将所接收的逻辑地址转换为物理地址。在步骤S200、S300和S301中,控制器203可以控制半导体存储器装置100以基于转换后的物理地址来读取与所接收的读取请求相对应的数据。

在步骤S200中,控制器203可以使用RHT存储装置250中存储的RHT来控制半导体存储器装置的读取操作。步骤S200可以包括图8所示的步骤S210、S220、S230、S240、S250和S260。也就是说,可以与参照图8至图9C描述的步骤相同或基本相同地执行图18B的步骤S200。

作为通过步骤S200重复执行读取操作的结果,当针对读取数据的错误校正重复地失败时,执行步骤S300。更具体地,当在使用RHT中包括的所有读取电压VR1”、VR1'和VR1尝试读取数据的进程中发生错误校正失败时,步骤S200结束,并且执行步骤S300。当针对读取数据的错误校正成功时,读取操作可以结束,并且可以不执行步骤S300。也就是说,可以与参照图12至图13D所描述的相同或基本相同地执行图18B的步骤S300。

作为在步骤S300中根据RRT重复地执行读取操作的结果,当针对读取数据的错误校正重复地失败时,执行步骤S301。更具体地,根据最佳读取电压搜索组件280的控制,半导体存储器装置100基于多个参考读取电压重复地执行读取操作。基于根据多个参考读取电压的多个读取结果来确定与阈值电压分布的谷值相对应的最佳读取电压,并且基于所确定的最佳读取电压来执行读取操作。步骤S301可以包括图16所示的步骤S315、S325、S335、S345和S355。也就是说,图18B的步骤S301可以与参照图16和图17所描述的相同或基本相同地执行。

图19A、图19B和图19C是示出根据本公开的实施例的RHT的示图。

首先,参照图19A,示出包括用于存储块BLK1至BLKz中的每一个的读取电压的RHT。在图19A的实施例中,RHT的深度为3。因此,对于存储块BLK1至BLKz中的每一个,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压。更具体地,针对第一存储块BLK1,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_a1、VR1_b1和VR1_c1。另外,针对第二存储块BLK2,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_a2、VR1_b2和VR1_c2。以这种方式,针对第z存储块BLKz,在RHT中存储在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_az、VR1_bz和VR1_cz。如上所述,图19A所示的RHT的深度为3。但是,这仅是示例;考虑到上述权衡,RHT可能是不同的深度。

参照图19B,示出包括用于存储块BLK1至BLKz中的每一个中包括的页面P1至Pn的读取电压的RHT。在图19B的实施例中,RHT的深度为3。因此,对于存储块BLK1至BLKz中的每一个的页面P1至Pn中的每一个,在RHT中存储在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压。更具体地,针对第一存储块BLK1的第一页面P1,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_a11、VR1_b11、VR1_c11。另外,针对第一存储块BLK1的第二页面P2,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_a21、VR1_b21、VR1_c21。以这种方式,针对第一存储块BLK1的第n页面Pn,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_an1、VR1_bn1和VR1_cn1。针对其他存储块BLK2至BLKz中包括的页面P1至Pn中的每一个,RHT可以包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压。图19B所示的RHT的深度为3,这是示例。如先前所述,RHT可以具有任何合适的深度。

当RHT包括用于存储块中包括的多个页面P1至Pn中的每一个的读取电压时,提高了存储器系统1000、1001、1002和1003的性能,但是,增加了RHT存储装置250的容量。因此,可以对存储块中包括的多个页面P1至Pn进行分组以在RHT中包括用于每个组的读取电压。

参照图19C,示出包括用于存储块BLK1至BLKz中的每一个中包括的页面组GR1至GRk的读取电压的RHT。一个页面组可以包括多个页面。在图19C的实施例中,RHT的深度为3。因此,对于存储块BLK1至BLKz中的每一个的页面组GR1至GRk中的每一个,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压。更具体地,针对第一存储块BLK1的第一页面GR1,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_a11、VR1_b11和VR1_c11。另外,针对第一存储块BLK1的第二页面GR2,RHT包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_a21、VR1_b21和VR1_c21。以这种方式,针对第一存储块BLK1的第k页面组GRk,RHT包括在三个最近通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压VR1_ak1、VR1_bk1和VR1_ck1。针对其他存储块BLK2至BLKz中包括的页面组GR1至GRk中的每一个,RHT可以包括在三个最近读取通过的读取操作R1_t1、R1_t2和R1_t3中使用的读取电压。如上所述,作为图19C所示的RHT的深度,3是示例,RHT可以是任何合适深度的。

图20是用于描述图19C所示的RHT的示图。参照图20,半导体存储器装置100的存储器单元阵列110中包括的多个存储块BLK1至BLKz中的每一个包括第一至第n页面Page 1至Page n。可以将第一至第n页面Page 1至Page n分组为第一至第k页面组GR1至GRk。在图20的示例中,第一至第k页面组GR1至GRk中的每一个包括8个页面,但是本公开不限于此。一个页面组可以包括任何合适数量的页面。

图21是示出多层单元(MLC)的阈值电压分布的示图。根据MLC,可以将两位数据存储在一个存储器单元中。为了存储两位数据,存储器单元的阈值电压属于擦除状态E、第一编程状态P1、第二编程状态P2和第三编程状态P3中的任意一个。第一读取电压VR1、第二读取电压VR2和第三读取电压VR3用于区分MLC的阈值电压。根据本公开的实施例,可以针对在读取MLC中使用的第一读取电压VR1至第三读取电压VR3中的每一个来使用RHT。

图22是示出用于包括MLC的存储块的RHT的示例的示图。

参照图22,示出包括用于存储块BLK1至BLKz中的每一个的第一至第三读取电压的RHT_MLC。在图22的实施例中,RHT的深度为2。因此,对于存储块BLK1至BLKz中的每一个,RHT包括在两个最近读取通过的读取操作中使用的读取电压。更具体地,对于MLC的读取操作,如图21所示,可以分别使用第一读取电压VR1至第三读取电压VR3执行子读取操作。第一子读取操作是用于将擦除状态E和第一编程状态P1彼此区分开的子读取操作,第二子读取操作是用于将第一编程状态P1和第二编程状态P2彼此区分开的子读取操作,并且第三子读取操作是用于将第二编程状态P2和第三编程状态P3彼此区分开的子读取操作。

在图22的RHT_MLC中,RHT包括在针对第一存储块BLK1的两个最近读取通过的第一子读取操作R1_t1和R1_t2中使用的读取电压VR1_a1和VR1_b1。另外,RHT包括在针对第一存储块BLK1的两个最近读取通过的第二子读取操作R2_t1和R2_t2中使用的读取电压VR2_a1和VR2_b1。另外,RHT包括在针对第一存储块BLK1的两个最近读取通过的第三子读取操作R3_t1和R3_t2中使用的读取电压VR3_a1和VR3_b1。这同样适用于其他存储块BLK2至BLKz。

图22示出用于每存储器单元存储2位数据的MLC的RHT_MLC,但是本公开不限于此。特别地,根据本公开的实施例的RHT和使用RHT的读取操作可以应用于三层单元(TLC)、四层单元(QLC)或存储5位或更多位数据的存储器单元。

图23是示出包括图1、图10、图14或图18A的控制器的存储器系统的框图。

参照图23,存储器系统1000包括半导体存储器装置1100和控制器1200。半导体存储器装置1100可以是参照图2描述的半导体存储器装置。

控制器1200连接到主机(Host)和半导体存储器装置1100。控制器1200被配置为响应于来自主机(Host)的请求来访问半导体存储器装置1100。例如,控制器1200被配置为控制半导体存储器装置1100的读取操作、写入操作、擦除操作和后台操作。控制器1200被配置为提供半导体存储器装置1100和主机之间的接口。控制器1200被配置为驱动用于控制半导体存储器装置1100的固件。控制器1200可以是参照图1、图10、图14或图18A描述的控制器200、201、202或203。

控制器1200包括随机存取存储器(RAM)1210、处理器1220、主机接口1230、存储器接口1240和错误校正块1250。RAM 1210可以用作处理器1220的操作存储器、半导体存储器装置100和主机之间的高速缓存存储器以及半导体存储器装置1100和主机之间的缓冲存储器中的任意一种。处理器1220控制控制器1200的全部操作。另外,控制器1200可以临时存储在写入操作期间由主机提供的编程数据。

主机接口1230包括用于在主机和控制器1200之间执行数据交换的协议。在实施例中,控制器1200被配置为通过诸如以下的各种接口协议中的至少一种与主机通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议和/或私有协议。

存储器接口1240与半导体存储器装置1100接口连接。例如,存储器接口可包括NAND接口或NOR接口。

错误校正块1250被配置为通过使用错误校正码(ECC)来检测和校正从半导体存储器装置1100接收的数据的错误。处理器1220可以根据错误校正块1250的错误检测结果来控制读取电压,并且控制半导体存储器装置1100以执行重新读取。在实施例中,错误校正块可以被设置为控制器1200的组件。

控制器1200和半导体存储器装置1100可以集成到一个半导体装置中。在实施例中,控制器1200和半导体存储器装置1100可以集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(SM和SMC)、记忆棒、多媒体卡(MMC、RS-MMC或微型MMC)、SD卡(SD、迷你SD、微型SD和SDHC)和/或通用闪存(UFS)等。

控制器1200和半导体存储器装置1100可以集成到一个半导体器装置中以形成半导体驱动器(固态驱动器(SSD))。半导体驱动器(SSD)包括被配置成将数据存储在半导体存储器中的存储装置。当将存储器系统1000用作半导体驱动器(SSD)时,显著提高了连接到该存储器系统1000的主机的操作速度。

作为另一示例,存储器系统1000被设置为诸如以下的电子装置的各种组件中的一个:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航装置、黑匣子、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境中传输和接收信息的装置、构成家庭网络的各种电子装置之一、构成计算机网络的各种电子装置之一、构成远程信息处理网络的各种电子装置之一、RFID装置或配置计算系统的各种组件之一。

在实施例中,半导体存储器装置1100或存储器系统1000可以被安装为各种类型的封装。例如,半导体存储器装置1100或存储器系统1000可以以诸如以下的方法封装和安装:堆叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、窝伏尔组件中的管芯(die in waffle pack)、晶圆形式管芯(die inwafer form)、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形(SOIC)、收缩型小外形封装(SSOP)、薄型小外形(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。

图24是示出图23的存储器系统的应用示例的框图。

参照图24,存储器系统2000包括半导体存储器装置2100和控制器2200。半导体存储器装置2100包括多个半导体存储器芯片。将多个半导体存储器芯片分成多个组,例如k个组。

在图24中,k个组分别通过第一至第k通道CH1至CHk与控制器2200通信。每个半导体存储器芯片类似于参照图2描述的半导体存储器装置1100中的一个进行配置和操作。

每个组被配置为通过一个公共通道与控制器2200通信。控制器2200与参照图17描述的控制器1200类似地配置,并且被配置为通过多个通道CH1至CHk控制半导体存储器装置2100的多个存储器芯片。

图25是示出包括参照图24描述的存储器系统的计算系统的框图。

计算系统3000包括中央处理装置3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500和存储器系统2000。

存储器系统2000通过系统总线3500电连接到中央处理装置3100、RAM 3200、用户接口3300和电源3400。将通过用户接口3300提供或由中央处理装置3100处理的数据存储在存储器系统2000中。

在图25中,半导体存储器装置2100通过控制器2200连接到系统总线3500。然而,半导体存储器装置2100可以被配置为直接连接到系统总线3500。控制器2200的功能由中央处理装置3100和RAM 3200执行。

在图25中,提供了参照图24描述的存储器系统2000。然而,存储器系统2000可以利用参照图23描述的存储器系统1000来替换。在实施例中,计算系统3000可以被配置为包括参照图23和图24描述的存储器系统1000和2000。

本文公开的实施例仅是被呈现以描述本公开的技术内容并帮助对其进行理解的特定示例。然而,所公开的实施例并不旨在限制本发明的范围。对于本公开所属领域的技术人员而言显而易见的是,可以在本发明的精神和范围内对任何所公开的实施例进行各种修改。

48页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:放电电路及存储器的放电控制电路系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!