掌桥专利:专业的专利平台
掌桥专利
首页

半导体存储器装置及操作方法与该装置的控制器的操作方法

文献发布时间:2023-06-19 11:27:38


半导体存储器装置及操作方法与该装置的控制器的操作方法

技术领域

本公开总体上涉及电子装置,并且更具体地,涉及半导体存储器装置、控制器以及半导体存储器装置和控制器的操作方法。

背景技术

半导体存储器装置可以以其中串水平地布置于半导体基板的二维结构形成,或者可以以其中串垂直地布置于半导体基板的三维结构形成。三维半导体存储器装置是被设计为克服二维半导体存储器装置中的集成度的限制的半导体存储器装置,并且可以包括垂直层叠在半导体基板上的多个存储器单元。

控制器可以控制半导体存储器装置的操作。

发明内容

根据本公开的一个方面,提供了一种半导体存储器装置,该半导体存储器装置包括:存储器单元阵列,其包括多个存储器单元;读/写电路,其被配置为接收编程数据,并基于编程数据对多个存储器单元当中的被选存储器单元执行编程操作;位反转传感器,其被配置为从读/写电路接收编程数据,并确定在编程数据中是否已发生位反转;以及控制逻辑,其被配置为控制读/写电路的编程操作,并基于位反转传感器的确定结果来生成编程状态信息。

位反转传感器可以包括:位计数器,其被配置为对编程数据中所包括的位当中的第一位的数量进行计数;参考值储存器,其被配置为存储用于确定在编程数据中是否已发生位反转的参考值;以及比较器,其被配置为通过将第一位的数量与参考值进行比较,来生成表示在编程数据中是否已发生位反转的位反转信息。

第一位可以是编程数据中所包括的为1的位。

第一位可以是编程数据中所包括的为0的位。

参考值可以包括第一参考值和比第一参考值大的第二参考值。当第一位的数量大于第一参考值并且小于第二参考值时,比较器可以被配置为生成表示在编程数据中未发生位反转的位反转信息。

当基于编程数据的编程操作失败时,控制逻辑可以被配置为基于位反转信息来生成表示已发生与位反转无关的编程失败的编程状态信息。

参考值可以包括第一参考值和比第一参考值大的第二参考值。当第一位的数量小于或等于第一参考值时,或者当第一位的数量大于或等于第二参考值时,比较器可以被配置为生成表示在编程数据中已发生位反转的位反转信息。

控制逻辑可以被配置为基于位反转信息来生成表示已发生由位反转引起的编程失败的编程状态信息。

根据本公开的另一方面,提供了一种用于操作半导体存储器装置的方法,该方法包括:接收编程数据;确定在编程数据中是否已发生位反转;以及基于是否已发生位反转的确定结果,确定基于编程数据的编程操作是否已成功。

确定在编程数据中是否已发生位反转的步骤可以包括:对编程数据中所包括的第一位的数量进行计数;将第一位的数量与参考值进行比较;以及根据比较结果来确定在编程数据中是否已发生了位反转。

参考值可以包括第一参考值和比第一参考值大的第二参考值。基于比较结果来确定在编程数据中是否已发生位反转的步骤可以包括:当第一位的数量大于第一参考值且小于第二参考值时,确定在编程数据中未发生位反转。

基于是否已发生位反转的确定结果,确定基于编程数据的编程操作是否已成功的步骤可以包括:开始编程操作;以及确定编程操作是否已成功。

参考值可以包括第一参考值和比第一参考值大的第二参考值。基于比较结果来确定在编程数据中是否已发生了位反转的步骤可以包括:当第一位的数量小于或等于第一参考值时,或者当第一位的数量大于或等于第二参考值时,确定在编程数据中已发生位反转。

基于确定结果来确定基于编程数据的编程操作是否已成功的步骤可以包括:当第一位的数量小于或等于第一参考值时,或当第一位的数量大于或等于第二参考值时,确定编程操作已失败。

根据本公开的又一方面,提供了一种用于操作用于控制半导体存储器装置的控制器的方法,该方法包括:向半导体存储器装置传送编程数据;检查半导体存储器装置的编程状态;以及当半导体存储器装置的编程操作失败时,基于在编程数据中是否已发生位反转来控制半导体存储器装置的编程操作。

检查半导体存储器装置的编程状态的步骤可以包括:通过检查从半导体存储器装置接收的编程状态信息,确定编程操作的失败是否是由位反转引起的。

基于在编程数据中是否已发生位反转来控制半导体存储器装置的编程操作的步骤,在编程操作由于位反转而失败时可以包括:向半导体存储器装置重新传送编程数据。

基于在编程数据中是否已发生位反转来控制半导体存储器装置的编程操作的步骤,在编程操作由于位反转而失败时可以包括:将已经尝试了编程操作的物理页登记为无效页;以及通过改变编程地址来向半导体存储器装置重新传送编程数据。

基于在编程数据中是否已发生位反转来控制半导体存储器装置的编程操作的步骤,在编程操作由于位反转而失败时可以包括:将已经尝试了编程操作的平面中的全部存储器块登记为坏块;以及通过改变编程地址来向半导体存储器装置重新传送编程数据。

基于在编程数据中是否已发生位反转来控制半导体存储器装置的编程操作的步骤,在编程操作失败与位反转无关时可以包括:改变半导体存储器装置的编程参数;以及向半导体存储器装置重新传送编程数据。

附图说明

在下文中,参照附图描述示例实施方式。然而,示例实施方式可以以不同的形式实施,并且不应被解释为限于本文所阐述的实施方式。相反,提供这些实施方式以使得本领域技术人员能够实施本公开。

在附图中,为了图示清楚,可以夸大尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。贯穿全文,相似的附图标记指代相似的元件。

图1是例示了根据本公开的一个实施方式的包括控制器的储存装置的框图。

图2是例示了图1所示的半导体存储器装置的框图。

图3是例示了图2所示的存储器单元阵列的一个实施方式的图。

图4是例示了图3所示的存储器块当中的存储器块的电路图。

图5是例示了图3所示的存储器块当中的存储器块的另一实施方式的电路图。

图6是例示了图2所示的存储器单元阵列中所包括的多个存储器块当中的存储器块的一个实施方式的电路图。

图7是示意性地例示了根据本公开的一个实施方式的页缓冲器的图。

图8是例示了存储在多个页缓冲器中的数据的图。

图9是例示了图2所示的位反转传感器的一个实施方式的框图。

图10是例示了根据本公开的一个实施方式的半导体存储器装置的操作方法的流程图。

图11A是例示了根据本公开的一个实施方式的控制器的操作方法的流程图。

图11B是例示了根据本公开的另一实施方式的控制器的操作方法的流程图。

图12是例示了根据本公开的另一实施方式的半导体存储器装置的操作方法的流程图。

图13A是例示了根据本公开的一个实施方式的控制器的操作方法的流程图。

图13B是例示了根据本公开的另一实施方式的控制器的操作方法的流程图。

图14是例示了图1中所示的控制器的示例的框图。

图15是例示了图1所示的储存装置的应用示例的框图。

图16是例示了包括参照图15描述的储存装置的计算系统的框图。

具体实施方式

在本公开中,在结合附图阅读以下实施方式之后,优点、特征和用于实现它们的方法将变得更加清楚。然而,本公开可以以不同的形式来实施,并且不应被解释为限于本文所阐述的实施方式。相反,提供这些实施方式以在本公开所属领域的普通技术人员可以实施本公开的技术概念的程度上详细描述本公开。

在整个说明书中,当元件被称为“连接”或“联接”至另一元件时,该元件可以直接连接或联接至另一元件,或者按照一个或更多个中间元件置于它们之间的方式间接地连接或联接至另一元件。另外,当元件被称为“包括”组件时,除非有不同的公开内容,否则这表示该元件可以进一步包括另一组件而不是排除另一组件。

在下文中,将参照附图详细描述本公开的实施方式。相同的附图标记用于指代与其它附图中所示的相同元件。在以下描述中,可以仅描述理解根据实施方式的操作所必需的部分,并且可以省略其它部分的描述,以免使实施方式的重要概念模糊。

一些实施方式涉及具有改进的操作可靠性的半导体存储器装置、控制器及其操作方法。

图1是例示了根据本公开的一个实施方式的包括控制器200的储存装置1000的框图。

参照图1,储存装置1000包括半导体存储器装置100和控制器200。此外,储存装置1000与主机300通信。控制器200基于从主机300接收到的请求,通过向存储器装置100传送命令CMD,来控制半导体存储器装置100的总体操作。另外,控制器200向半导体存储器装置100传送与每个命令CMD相对应的数据DATA,或者从半导体存储器装置100接收与每个命令CMD相对应的数据DATA。例如,当从主机300接收到编程请求和编程数据时,控制器200向半导体存储器装置100传送与编程请求相对应的编程命令以及编程数据。在另一示例中,当从主机300接收到读取请求时,控制器200向半导体存储器装置100传送与读取请求相对应的读取命令。随后,半导体存储器装置100向控制器200传送与读取命令相对应的读取数据。

对于编程操作,编程数据从控制器200被传送给半导体存储器装置100。编程数据存储在半导体存储器装置100的页缓冲器中。页缓冲器可以包括在半导体存储器装置100的读/写电路中。稍后将参照图2描述读/写电路和页缓冲器。随后,基于页缓冲器中存储的编程数据,对半导体存储器装置100中包括的存储器单元进行编程。

在从控制器200向页缓冲器传送编程数据的过程中或者在将编程数据存储在页缓冲器中的过程中,可能发生位反转。位反转是一种数据错误,并且是指数据中包含的一些位的值被更改的现象。在示例中,当在向页缓冲器传送编程数据的过程中发生位反转时,包含错误的数据被编程在半导体存储器装置的存储器单元中。在另一示例中,当由于在半导体存储器装置的页缓冲器电路中发生缺陷而在编程数据中发生位反转时,包含错误的数据被编程在半导体存储器装置的存储器单元中。半导体存储器装置和包括该半导体存储器装置的储存器的可靠性是有问题的。

控制器200向半导体存储器装置100传送编程命令和与其对应的编程数据,以控制半导体存储器装置100的编程操作。根据本公开的实施方式的半导体存储器装置100确定在页缓冲器中所存储的编程数据中是否发生了位反转。在该过程中,半导体存储器装置100可以基于相应编程数据中包括的1的位数是否在特定范围内,来确定在接收到的编程数据中是否发生了位反转。

控制器200可以在控制器200向半导体存储器装置100传送编程数据之前执行数据随机化操作。通过数据随机化操作,传送给半导体存储器装置100的实际编程数据可以是随机化数据。1的数量和0的数量可以几乎相等地包含在随机化数据中。在示例中,在传送给半导体存储器装置100的编程数据中,1的数量可以占据总数据的大约50%。

然而,当在从控制器200向半导体存储器装置100传送编程数据的过程中发生由噪声等引起的传输错误时,或者当在页缓冲器电路中存在缺陷时,在存储于半导体存储器装置100的页缓冲器中的编程数据中1的位数和0的位数之间可能出现差异。半导体存储器装置100接收到的编程数据中所包括的1的位数可以是大于或小于总数据位数的50%的值。当存储于页缓冲器中的编程数据中所包括的1的位数没有被包括在相对于总数据位数的50%的特定范围内时,半导体存储器装置100可以确定在相应编程数据中已经发生了位反转。此外,当存储于页缓冲器中的编程数据中所包括的1的位数被包括在相对于总数据位数的50%的特定范围内时,半导体存储器装置100可以确定在相应编程数据中未发生位反转。

当确定出在编程数据中未发生位反转时,半导体存储器装置100可以存储所接收的编程数据。当确定出在编程数据中已经发生了位反转时,半导体存储器装置100可以向控制器200传送表示已经发生了位反转的信息。控制器200可以基于从半导体存储器装置100接收到的信息来执行后续操作。

例如,当在数据传输过程中发生位反转时,控制器200可以向半导体存储器装置100重新传输相同的编程数据,并且控制半导体存储器装置100以对重新传输的数据进行编程。因此,能够提高半导体存储器装置100和包括半导体存储器装置100的储存装置1000的可靠性。

在另一示例中,当在页缓冲器电路中存在缺陷时,控制器200可以将使用相应页缓冲器电路的平面中的所有存储器块登记为坏块。附加地,控制器200可以向半导体存储器装置100重新传输编程数据,以将数据编程在半导体存储器装置100的另一平面中所包括的存储器块中。

在根据本公开的实施方式的半导体存储器装置100和控制器200中,能够防止由位反转引起的编程错误。因此,能够提高半导体存储器装置100和包括该半导体存储器装置100的储存装置1000的操作可靠性。

图2是例示了图1所示的半导体存储器装置100的框图。

参照图2,半导体存储器装置100可以包括存储器单元阵列110、地址解码器120、读/写电路130、控制逻辑140、电压发生器150和位反转传感器160。

存储器单元阵列110包括多个存储器块BLK1至BLKz。多个存储器块BLK1至BLKz通过字线WL连接至地址解码器120。多个存储器块BLK1至BLKz通过位线BL1至BLm连接至读/写电路130。多个存储器块BLK1至BLKz中的每一个包括多个存储器单元。在实施方式中,多个存储器单元可以是非易失性存储器单元,并且是配置有具有垂直沟道结构的非易失性存储器单元。存储器单元阵列110可以被配置为具有二维结构的存储器单元阵列。在一些实施方式中,存储器单元阵列110可以被配置为具有三维结构的存储器单元阵列。此外,存储器单元阵列110中包括的多个存储器单元中的每一个可以存储至少1位数据。在实施方式中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储1位数据的单级单元(SLC)。在另一实施方式中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储2位数据的多级单元(MLC)。在又一实施方式中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储3位数据的三级单元(TLC)。在再一实施方式中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储4位数据的四级单元(QLC)。在一些实施方式中,存储器单元阵列110可以包括各自存储5位或更多位数据的多个存储器单元。

地址解码器120、读/写电路130、控制逻辑140和电压发生器150作为用于驱动存储器单元阵列110的外围电路而操作。地址解码器120通过字线WL连接至存储器单元阵列110。地址解码器120在控制逻辑140的控制下操作。地址解码器120通过半导体存储器装置100中的输入/输出缓冲器(未示出)来接收地址。

地址解码器120对接收到的地址当中的块地址进行解码。地址解码器120根据解码后的块地址来选择至少一个存储器块。另外,在读取操作期间的读取电压施加操作中,地址解码器120向被选存储器块的被选字线施加由电压发生器150生成的读取电压Vread,并且向其它未选字线施加由电压发生器150生成的通过电压Vpass。另外,在编程验证操作中,地址解码器120向被选存储器块的被选字线施加由电压发生器150生成的验证电压,并且向其它未选字线施加通过电压Vpass。

地址解码器120对接收到的地址当中的列地址进行解码。地址解码器120将所解码的列地址发送到读/写电路130。

半导体存储器装置100的读取操作和编程操作以页为单位执行。在针对读取操作和编程操作的请求中接收的地址包括块地址、行地址和列地址。地址解码器120根据块地址和行地址来选择一个存储器块和一条字线。列地址由地址解码器120解码,以提供给读/写电路130。

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

读/写电路130包括多个页缓冲器PB1至PBm。读/写电路130在读取操作中可以作为“读取电路”操作,并且在写入操作中可以作为“写入电路”操作。多个页缓冲器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可以被实现为硬件、软件、或者硬件和软件的组合。例如,控制逻辑140可以是根据算法操作的控制逻辑电路和/或执行控制逻辑代码的处理器。

电压发生器150响应于从控制逻辑140输出的控制信号而在读取操作中生成读取电压Vread和通过电压Vpass。为了生成具有各种电压电平的多个电压,电压发生器150可以包括用于接收内部电源电压的多个泵浦电容器,并且通过在控制逻辑140的控制下选择性地激活多个泵浦电容器来生成多个电压。如上所述,电压发生器150可以包括电荷泵,并且电荷泵可以包括上述多个泵浦电容器。根据需要,可以以各种方式设计电压发生器150中所包括的电荷泵的详细配置。

位反转传感器160可以接收存储在读/写电路130中的编程数据DATA_PGM,并且确定在编程数据DATA_PGM中是否已经发生位反转。作为确定结果,位反转传感器160向控制逻辑140传送表示在编程数据DATA_PGM中是否已经发生了位反转的位反转信息INF_BF。

编程数据DATA_PGM可以表示传送给读/写电路130的数据当中的从控制器200传送的编程数据。

地址解码器120、读/写电路130和电压发生器150可以用作用于对存储器单元阵列110执行读取操作、写入操作和擦除操作的“外围电路”。外围电路在控制逻辑140的控制下对存储器单元阵列110执行读取操作、写入操作和擦除操作。

控制逻辑140可以向控制器200传送表示半导体存储器装置100的编程操作的状态的编程状态信息INF_PS。编程状态信息INF_PS可以包括表示与从控制器200接收到的编程命令相对应的编程操作是成功还是失败的信息。当编程操作失败时,编程状态信息INF_PS可以包括表示相应编程的失败是由位反转引起的失败还是与位反转无关的普通编程失败的信息。除了表示编程操作是否已失败的数据字段以外,编程状态信息INF_PS可以附加地包括表示是否已发生位反转的数据字段。

在示例中,当从位反转传感器160传送给控制逻辑140的位反转信息INF_BF表示在编程数据DATA_PGM中已发生位反转时,控制逻辑140可以向控制器200传送表示编程操作由于位反转而失败的编程状态信息INF_PS。

在另一示例中,当从位反转传感器160传送给控制逻辑140的位反转信息INF_BF表示在编程数据DATA_PGM中未发生位反转时,可能发生普通编程失败。例如,在即使将最大编程脉冲施加到被选编程页,验证结果表示编程操作还没有完成时,编程操作可能结束,并且确定出相应编程操作已失败。在普通编程失败的情况下,控制逻辑140可以向控制器200传送表示普通编程失败而非由位反转引起的编程失败的编程状态信息INF_PS。

将在后面参照图9描述位反转传感器160的更详细的实施方式。

图3是例示了图2所示的存储器单元阵列110的一个实施方式的图。

参照图3,存储器单元阵列110可以包括多个存储器块BLK1至BLKz。每个存储器块可以具有三维结构。每个存储器块可以包括层叠在基板(未示出)上的多个存储器单元。多个存储器单元可以沿+X方向、+Y方向和+Z方向布置。将参照图4和图5更详细地描述每个存储器块的结构。

图4是例示了图3所示的存储器块BLK1至BLKz当中的任意一个存储器块BLKa的电路图。

参照图4,存储器块BLKa可以包括多个单元串CS11至CS1m和CS21至CS2m。在实施方式中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可以以“U”形状形成。在存储器块BLKa中,沿行方向(即,+X方向)布置m个单元串。图4例示了沿列方向(即,+Y方向)布置的两个单元串。然而,这是为了便于描述,并且将理解,可以沿列方向布置三个单元串。

多个单元串CS11至CS1m和CS21至CS2m中的每一个可以包括至少一个源极选择晶体管SST、第一存储器单元MC1至第n存储器单元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的源极选择晶体管可以共同连接至一条源极选择线。

每个单元串的第一存储器单元MC1至第n存储器单元MCn连接在源极选择晶体管SST与漏极选择晶体管DST之间。

第一存储器单元MC1至第n存储器单元MCn可以被划分为第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn。第一存储器单元MC1至第p存储器单元MCp沿着+Z方向的相反方向依次布置,并且串联连接在源极选择晶体管SST与管式晶体管PT之间。第(p+1)存储器单元MCp+1至第n存储器单元MCn沿+Z方向依次布置,并且串联连接在管式晶体管PT与漏极选择晶体管DST之间。第一存储器单元MC1至第p存储器单元MCp和第(p+1)存储器单元MCp+1至第n存储器单元MCn通过管式晶体管PT连接。每个单元串的第一存储器单元MC1至第n存储器单元MCn的栅极分别连接至第一字线WL1至第n字线WLn。

每个单元串的管式晶体管PT的栅极连接至管线PL。

每个单元串的漏极选择晶体管DST连接在相应位线与存储器单元MCp+1至MCn之间。沿行方向布置的单元串的漏极选择晶体管DST连接至在行方向上延伸的漏极选择线。第一行的单元串CS11至CS1m的漏极选择晶体管连接至第一漏极选择线DSL1。第二行的单元串CS21至CS2m的漏极选择晶体管连接至第二漏极选择线DSL2。

沿列方向布置的单元串的漏极选择晶体管DST连接至在列方向上延伸的位线。在图4中,第一列的单元串CS11和CS21的漏极选择晶体管DST连接至第一位线BL1。第m列的单元串CS1m和CS2m的漏极选择晶体管DST连接至第m位线BLm。

沿行方向布置的单元串中的连接至相同字线的存储器单元构成一页。例如,第一行的单元串CS11至CS1m当中的连接至第一字线WL1的存储器单元构成一页。第二行的单元串CS21至CS2m当中的连接至第一字线WL1的存储器单元构成另一页。当选择了漏极选择线DSL1和DSL2中的任何一条时,可以选择沿一个行方向布置的单元串。当选择了字线WL1至WLn中的任何一条时,可以在被选单元串中选择一页。

在另一实施方式中,可以提供偶数位线和奇数位线代替第一位线BLl至第m位线BLm。另外,沿行方向布置的单元串CS11至CS1m或CS21至CS2m当中的偶数编号单元串可以分别连接至偶数位线,并且沿行方向布置的单元串CS11至CS1m或CS21至CS2m当中的奇数编号单元串可以分别连接至奇数位线。

在实施方式中,第一存储器单元MC1至第n存储器单元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、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST。

每个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCn之间。布置在相同行的单元串的源极选择晶体管连接至相同的源极选择线。布置在第一行的单元串CS11′至CS1m′的源极选择晶体管连接至第一源极选择线SSL1。布置在第二行的单元串CS21′至CS2m′的源极选择晶体管连接至第二源极选择线SSL2。在另一实施方式中,单元串CS11′至CS1m′和CS21′至CS2m′的源极选择晶体管可以共同连接至一条源极选择线。

每个单元串的第一存储器单元MC1至第n存储器单元MCn串联连接在源极选择晶体管SST与漏极选择晶体管DST之间。第一存储器单元MC1至第n存储器单元MCn的栅极分别连接至第一字线WL1至第n字线WLn。

每个单元串的漏极选择晶体管DST连接在相应位线与存储器单元MC1至MCn之间。沿行方向布置的单元串的漏极选择晶体管连接至在行方向上延伸的漏极选择线。第一行的单元串CS11′至CS1m′的漏极选择晶体管连接至第一漏极选择线DSL1。第二行的单元串CS21′至CS2m′的漏极选择晶体管连接至第二漏极选择线DSL2。

因此,除了从图5中的每个单元串中排除了管式晶体管PT之外,图5的存储器块BLKb具有与图4的存储器块BLKa的电路类似的电路。

在另一实施方式中,可以提供偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。另外,沿行方向布置的单元串CS11'至CS1m'或CS21'至CS2m'当中的偶数编号单元串可以分别连接至偶数位线,并且沿行方向布置的单元串CS11'至CS1m'或CS21'至CS2m'当中的奇数编号单元串可以分别连接至奇数位线。

在实施方式中,第一存储器单元MC1至第n存储器单元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、第一存储器单元MC1至第n存储器单元MCn以及至少一个漏极选择晶体管DST。

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

每个单元串的源极选择晶体管SST连接在公共源极线CSL与存储器单元MC1至MCn之间。

每个单元串的第一存储器单元MC1至第n存储器单元MCn连接在源极选择晶体管SST与漏极选择晶体管DST之间。

每个单元串的漏极选择晶体管DST连接在相应位线与存储器单元MC1至MCn之间。

连接至相同字线的存储器单元构成一页。当选择了漏极选择线DSL时,单元串CS1至CSm可以被选择。当选择了字线WL1至WLn中的任何一条时,可以选择被选单元串当中的一页。

在另一实施方式中,可以提供偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。所布置的单元串CS1至CSm当中的偶数编号单元串可以分别连接至偶数位线,并且单元串CS1至CSm当中的奇数编号单元串可以分别连接至奇数位线。

图7是示意性地例示了根据本公开的一个实施方式的页缓冲器131的图。

在读取操作或编程验证操作中,通过位线BL感测存储在存储器单元中的数据或存储器单元的阈值电压。页缓冲器131可以包括用于存储这种感测结果的位线感测锁存器BSLAT 1314。另外,在编程执行操作中,位线感测锁存器1314可以用于确定施加到位线BL的编程允许电压或编程禁止电压。

页缓冲器131可以包括用于存储在编程操作中从外部输入的编程数据Data的多个数据锁存器1311、1312和1313。例如,在图6所示的实施方式中,页缓冲器131可以存储3位数据。数据锁存器LAT1 1311可以存储最高有效位(MSB),数据锁存器LAT2 1312可以存储中央有效位(CSB),数据锁存器LAT3 1313可以存储最低有效位(LSB)。数据锁存器1311、1312和1313可以保持所存储的编程数据,直到存储器单元被完全编程为止。

此外,页缓冲器131可以包括位线连接晶体管1316,位线连接晶体管1316控制位线BL到位线感测锁存器1314、数据锁存器1311、1312和1313以及高速缓存锁存器1315的连接。位线连接晶体管1316由位线连接信号PB_SENSE控制。例如,当从存储器单元读取数据时,位线连接晶体管1316可以导通以将位线BL和位线感测锁存器1314电连接。另外,当将位线感测锁存器1314中存储的数据发送到高速缓存锁存器1315时,位线连接晶体管1316可以截止。

图8是例示了存储在多个页缓冲器中的数据的图。

参照图8,读/写电路130可以包括第一页缓冲器PB1至第m页缓冲器PBm。如参照图7所描述的,每个页缓冲器可以包括多个数据锁存器1311、1312和1313。如上所述,数据锁存器LAT1 1311可以存储最高有效位(MSB),数据锁存器LAT2 1312可存储中央有效位(CSB),并且数据锁存器LAT3 1313可以存储最低有效位(LSB)。

读/写电路130的第一页缓冲器PB1至第m页缓冲器PBm中所包括的数据锁存器当中的数据锁存器LAT1可以构成第一缓冲器BFR1。最高有效位页数据DATA_MSB可以存储在第一缓冲器BFR1中。最高有效位页数据DATA_MSB可以包括m个数据位。最高有效位页数据DATA_MSB的m个数据位可以是分别存储在被选物理页中所包括的存储器单元中的最高有效位。

读/写电路130的第一页缓冲器PB1至第m页缓冲器PBm中所包括的数据锁存器当中的数据锁存器LAT2可以构成第二缓冲器BFR2。中央有效位页数据DATA_CSB可以存储在第二缓冲器BFR2中。中央有效位页数据DATA_CSB可以包括m个数据位。中央有效位页数据DATA_CSB的m个数据位可以是分别存储在被选物理页中所包括的存储器单元中的中央有效位。

读/写电路130的第一页缓冲器PB1至第m页缓冲器PBm中所包括的数据锁存器当中的数据锁存器LAT3可以构成第三缓冲器BFR3。最低有效位页数据DATA_LSB可以存储在第三缓冲器BFR3中。最低有效位页数据DATA_LSB可以包括m个数据位。最低有效位页数据DATA_LSB的m个数据位可以是分别存储在被选物理页中所包括的存储器单元中的最低有效位。

根据本公开的实施方式的半导体存储器装置100的位反转传感器160可以确定在存储于读/写电路130中的多个页数据当中的至少一个数据中是否已经发生位反转。例如,位反转传感器160可以确定在第三缓冲器BFR3中存储的最低有效位页数据DATA_LSB中是否已经发生位反转。在下文中,将在图9中描述确定在最低有效位页数据DATA_LSB中是否已经发生位反转的位反转传感器160。

图9是例示了图2所示的位反转传感器160的一个实施方式的框图。

参照图9,位反转传感器160可以包括位计数器161、参考值储存器163和比较器165。

位反转传感器160的位计数器161可以从读/写电路130接收最低有效位页数据DATA_LSB。尽管在图9所示的示例中例示了接收最低有效位页数据DATA_LSB的情况,但是根据本公开的位反转传感器160也可以接收最高有效位页数据DATA_MSB或中央有效位页数据DATA_CSB,以确定在相应数据中是否已经发生位反转。

位计数器161可以对所接收的最低有效位页数据DATA_LSB中包括的1的位数N_BIT进行计数。位计数器161可以生成所计数的1的位数N_BIT并将1的位数N_BIT传送到比较器165。在另一实施方式中,位计数器161可以对所接收的最低有效位页数据DATA_LSB中所包括的0的位数进行计数,并且将0的位数传送到比较器165。

参考值储存器163可以存储用于确定是否已发生位反转的参考值。在实施方式中,参考值储存器163可以存储第一参考值N_R1和第二参考值N_R2。在实施方式中,第一参考值N_R1和第二参考值N_R2中的每一个可以是自然数。此外,在实施方式中,第一参考值N_R1可以是比第二参考值N_R2小的值。另外,在实施方式中,第一参考值N_R1可以是比作为最低有效位页数据DATA_LSB中所包括的总位数的一半的m/2小的值。此外,第二参考值N_R2可以是比作为最低有效位页数据DATA_LSB中所包括的总位数的一半的m/2大的值。可以根据最低有效位页数据DATA_LSB中所包括的总位数或根据另一设计条件等以各种方式来确定第一参考值N_R1和第二参考值N_R2。

比较器165可以从位计数器161接收1的位数N_BIT,并且从参考值储存器163接收第一参考值N_R1和第二参考值N_R2。此外,比较器165可以通过将1的位数N_BIT与第一参考值N_R1和第二参考值N_R2中的每一个进行比较,来确定是否已经发生位反转。

例如,当1的位数N_BIT大于第一参考值N_R1并且小于第二参考值N_R2时,比较器165可以确定在最低有效位页数据DATA_LSB中没有发生位反转。此外,当1的位数N_BIT小于或等于第一参考值N_R1时,或者当1的位数N_BIT大于或等于第二参考值N_R2时,比较器165可以确定在最低有效位页数据DATA_LSB中已发生位反转。

比较器165可以基于确定结果来生成位反转信息INF_BF。位反转信息INF_BF可以包括表示在最低有效位页数据DATA_LSB中是否已经发生位反转的信息。

图10是例示了根据本公开的一个实施方式的半导体存储器装置100的操作方法的流程图。

参照图10,在步骤S110中,半导体存储器装置100可以从控制器200接收编程数据。所接收的编程数据可以存储在读/写电路130中所包括的第一缓冲器BFR1至第三缓冲器BFR3中。

在步骤S120中,位反转传感器160的位计数器161对编程数据中所包括的1的位数N_BIT进行计数。在步骤S120中,编程数据可以是图8所示的最高有效位页数据DATA_MSB、中央有效位页数据DATA_CSB和最低有效位页数据DATA_LSB中的任何一个。

在步骤S130中,位反转传感器160的比较器165确定1的位数N_BIT是否大于第一参考值N_R1并且小于第二参考值N_R2。也就是说,比较器165确定所计数出的1的位数N_BIT是否被包括在由第一参考值N_R1和第二参考值N_R2设定的特定范围内。

当编程数据中所包括的1的位数N_BIT大于第一参考值N_R1并且小于第二参考值N_R2时(S130)(是),可以确定没有发生任何位反转。因此,可以开始基于接收到的编程数据的编程操作(S140)。在步骤S140中,控制逻辑140控制读/写电路130和其它外围电路,以开始将编程数据编程到存储器单元阵列中的被选存储器单元的操作。

在步骤S150中,确定编程是否已经成功。当编程成功时(S150)(是),确定编程已经成功(S160)。在步骤S160中,控制逻辑140可以生成表示编程已经成功的编程状态信息INF_PS,并将编程状态信息INF_PS传送到控制器200。

当编程失败时(S150)(否),确定编程已失败(S155)。在步骤S155中,控制逻辑140可以生成表示编程已失败的编程状态信息INF_PS,并将编程状态信息INF_PS传送到控制器200。

当编程数据中包括的1的位数N_BIT小于或等于第一参考值N_R1时,或者当编程数据中包括的1的位数N_BIT大于或等于第二参考值N_R2时(S130)(否),可以确定发生了位反转(S145)。因此,比较器165可以生成表示已经发生位反转的位反转信息INF_BF,并且将位反转信息INF_BF传送到控制逻辑140。

控制逻辑140基于接收到的位反转信息INF_BF来确定编程是否已失败(S155)。在步骤S155中,控制逻辑140可以生成表示编程已失败的编程状态信息INF_PS,并将编程状态信息INF_PS传送到控制器200。

当确定出由于未发生位反转(S130)(是)而是编程未成功(S150)而导致编程失败时,在步骤S155中,控制逻辑140可以向控制器200传送表示普通编程失败而非由位反转引起的编程失败的编程状态信息INF_PS。

另一方面,当确定出由于发生位反转(S130)(否)而导致编程失败时,在步骤S155中,控制逻辑140可以向控制器200传送表示由位反转引起编程失败的编程状态信息INF_PS。

因此,当控制器200接收到表示编程失败的编程状态信息INF_PS时,控制器200可以确定相应编程失败是由位反转引起的编程失败还是普通编程失败。

根据图10所示的实施方式,当半导体存储器装置100接收到编程数据时,半导体存储器装置100确定在编程数据中是否已发生了位反转(S130),并且仅当未发生位反转时(S130)(是),才开始编程操作。

图11A是例示了根据本公开的一个实施方式的控制器200的操作方法的流程图。

参照图11A,在步骤S210中,控制器200可以向半导体存储器装置100传送编程命令和编程数据。随后,控制器200检查半导体存储器装置的编程状态(S220)。在步骤S220中,控制器200可以根据从半导体存储器装置100接收的编程状态信息来检查编程状态。

作为检查编程状态而获得的结果,当编程成功时(S230)(是),整个编程操作可以结束。

作为检查编程状态而获得的结果,当编程失败时(S230)(否),控制器200基于编程状态信息INF_PS来确定相应编程失败是否是由于位反转引起的编程失败(S240)。

当在步骤S240中确定出编程失败不是由位反转引起的编程失败时(S240)(否),这可以表示编程失败是普通编程失败。编程失败是普通编程失败的情况是即使向存储器单元施加最大次数的编程脉冲,编程验证也失败的情况。因此,需要改变半导体存储器装置的用于编程操作的编程参数。例如,可以改变诸如编程脉冲的幅值和施加编程脉冲的最大次数之类的各种编程参数。为此,在步骤S250中,控制器200可以生成用于改变编程参数的命令,并且将所生成的命令传送到半导体存储器装置100。该命令可以是设置参数命令。半导体存储器装置100可以基于接收到的设置参数命令来改变用于编程操作的编程参数。

随后,控制器200可以向半导体存储器装置100重新传送编程数据和编程命令(S260)。半导体存储器装置100可以基于在步骤S250中改变的编程参数来重新执行编程操作。

此外,当在步骤S240中确定出编程失败是由位反转引起的编程失败时(S240)(是),控制器200向半导体存储器装置100重新传送编程数据和编程命令(S260)。在许多情况下,在传输编程数据的过程中,由于噪声等原因可能会暂时发生位反转。因此,编程数据将被重新传送到半导体存储器装置100,以重新执行编程操作。

图11B是例示了根据本公开的另一实施方式的控制器200的操作方法的流程图。

参照图11B,步骤S210、S220、S230、S240、S250和S260与图11A中所示的步骤S210、S220、S230、S240、S250和S260基本相同。因此,将省略重复的描述。

在图11B所示的实施方式中,当在步骤S240中确定出编程失败是由位反转引起的编程失败时(S240)(是),可以将已经对其尝试了编程操作的平面中的所有存储器块登记为坏块(S265)。在实施方式中,存储器单元阵列110可以包括多个平面,并且一个平面可以包括多个存储器块。在本说明书中,共享读/写电路130的多个存储器块可以定义为一个平面。另外,当存储器单元阵列110包括多个平面时,半导体存储器装置可以包括多个读/写电路。

因此,当由于读/写电路130的页缓冲器中发生缺陷而导致发生位反转时,对连接至相应读/写电路130的平面中的全部存储器块的编程操作可能无法正确地执行。控制器200能够通过将已经尝试了编程操作的平面中的全部存储器块登记为坏块来防止附加编程失败。

随后,控制器200可以向半导体存储器装置100重新传送编程数据和编程命令(S260)。控制器200可以改变编程地址,使得对另一平面中所包括的存储器块执行编程操作,并且将改变后的编程地址传送到半导体存储器装置100。

当即使在执行了图11A所示的实施方式之后也重复由于位反转引起的编程失败时,可以执行图11B所示的实施方式。例如,当由位反转引起的编程失败暂时发生一次时,这可以被确定为由数据传输错误引起的位反转。因此,当位反转暂时发生一次时,控制器200可以控制半导体存储器装置100以根据图11A所示的实施方式重新执行编程操作。然而,当由位反转引起的编程失败反复发生几次时,这可以被确定为连接至相应平面的页缓冲器的缺陷,而不是由数据传输错误引起的位反转。因此,即使根据图11A所示的实施方式重复几次编程操作,也会发生由位反转引起的编程失败,可以在图11B所示的步骤S265中将相应平面中的全部存储器块登记为坏块。

图12是例示了根据本公开的另一实施方式的半导体存储器装置100的操作方法的流程图。

参照图12,在步骤S310中,半导体存储器装置100可以从控制器200接收编程数据。所接收的编程数据可以存储在读/写电路130中所包括的第一缓冲器BFR1至第三缓冲器BFR3中。

在步骤S320中,位反转传感器160的位计数器161对编程数据中所包括的1的位数N_BIT进行计数。在步骤S320中,编程数据可以是图8所示的最高有效位页数据DATA_MSB、中央有效位页数据DATA_CSB和最低有效位页数据DATA_LSB中的任何一个。

此外,与步骤S320的执行并行地,读/写入电路130可以基于接收到的编程数据来开始编程操作(S325)。在步骤S325中,控制逻辑140控制读/写电路130和其它外围电路,以开始将编程数据编程到存储器单元阵列中的被选存储器单元中。

在步骤S330中,位反转传感器160的比较器165确定1的位数N_BIT是否大于第一参考值N_R1并且小于第二参考值N_R2。也就是说,比较器165确定所计数的1的位数N_BIT是否被包括在由第一参考值N_R1和第二参考值N_R2设定的特定范围内。

当编程数据中所包括的1的位数N_BIT小于或等于第一参考值N_R1时,或者当编程数据中所包括的1的位数N_BIT大于或等于第二参考值N_R2时(S330)(否),可以确定已发生任何位反转。因此,确定出编程已失败(S340)。可以根据步骤S340来使由步骤S325已开始的编程操作停止。

另一方面,当编程数据中所包括的1的位数N_BIT大于第一参考值N_R1并且小于第二参考值N_R2时(S330)(是),可以确定未发生任何位反转。因此,确定由步骤S325已开始的编程操作是否已成功(S335)。当编程失败时(S335)(否),确定编程已失败(S340)。在步骤S340中,控制逻辑140可以生成表示编程已失败的编程状态信息INF_PS,并将编程状态信息INF_PS传送到控制器200。此外,当编程已成功时(S335)(是),确定出编程已成功(S350)。在步骤S350中,控制逻辑140可以生成表示编程已成功的编程状态信息INF_PS,并将编程状态信息INF_PS传送到控制器200。

当确定出由于未发生位反转(S330)(是)而是编程未成功(S335)而导致的编程失败时,在步骤S340中,控制逻辑140可以向控制器200传送表示普通编程失败而非由位反转引起的编程失败的编程状态信息INF_PS。

另一方面,当确定出由于发生位反转(S330)(否)而导致编程失败时,在步骤S340中,控制逻辑140可以向控制器200传送表示由位反转引起的编程失败的编程状态信息INF_PS。

因此,当控制器200接收到表示编程失败的编程状态信息INF_PS时,控制器200能够确定相应编程失败是由位反转引起的编程失败还是普通编程失败。

参照图10所示的实施方式,当半导体存储器装置100接收到编程数据时,半导体存储器装置100确定在编程数据中是否已发生了位反转(S130),并且仅当未发生位反转时(S130)(是)才开始编程操作。

另一方面,参照图12所示的实施方式,当半导体存储器装置100接收到编程数据时,不管在编程数据中是否已发生位反转的确定结果如何,半导体存储器装置100都开始编程操作(S325)。根据图12所示的实施方式,没有发生任何位反转的情况可以具有比图10中所示的实施方式的编程速度更快的编程速度。然而,根据图12所示的实施方式,当由于在编程操作开始的状态(S325)下确定出已发生位反转(S330)(否)而确定编程失败时,需要使已经对其执行了相应编程操作的物理页无效。在本说明书中,物理页可以是存储器块中的连接至相同字线的一组存储器单元。物理页可以是要对其执行编程操作或读取操作的单元。因此,当由于位反转而导致编程失败时,控制器200使相应物理页无效。稍后将参照图13A和图13B进行描述。

图13A是例示了根据本公开的一个实施方式的控制器200的操作方法的流程图。

参照图13A,在步骤S410中,控制器200可以向半导体存储器装置100传送编程命令和编程数据。随后,控制器200检查半导体存储器装置的编程状态(S420)。在步骤S420中,控制器200可以根据从半导体存储器装置100接收的编程状态信息来检查编程状态。

作为检查编程状态而获得的结果,当编程成功时(S430)(是),整个编程操作可以结束。

作为检查编程状态而获得的结果,当编程失败时(S430)(否),控制器200基于编程状态信息INF_PS来确定相应的编程失败是否是由位反转引起的编程失败(S440)。

当在步骤S440中确定出编程失败不是由位反转引起的编程失败时(S440)(否),这可以表示编程失败是普通编程失败。编程失败是普通编程失败的情况是即使向存储器单元施加了最大次数的编程脉冲,编程验证也失败的情况。因此,需要改变半导体存储器装置的用于编程操作的编程参数。例如,可以改变诸如编程脉冲的幅值和施加编程脉冲的最大次数之类的各种编程参数。为此,在步骤S450中,控制器200可以生成用于改变编程参数的命令,并且将所生成的命令传送到半导体存储器装置100。该命令可以是设置参数命令。半导体存储器装置100可以基于接收到的设置参数命令来改变用于编程操作的编程参数。

随后,控制器200可以向半导体存储器装置100重新传送编程数据和编程命令(S460)。半导体存储器装置100可以基于在步骤S450中改变的编程参数来重新执行编程操作。

此外,当在步骤S440中确定出编程失败是由位反转引起的编程失败时(S440)(是)时,控制器200将根据在步骤S410中传送的编程命令和编程数据已经尝试了编程操作的物理页登记为无效页(S455)。根据图12所示的实施方式,不管在接收到的编程数据中是否已发生位反转,半导体存储器装置100都开始编程操作。因此,当由于位反转而导致编程失败时,需要使对其已执行了相应编程操作的物理页无效。因此,控制器200将基于在步骤S440中已发生位反转的编程数据已经尝试了编程操作的物理页登记为无效页(S455)。随后,控制器200向半导体存储器装置100重新传送编程数据和编程命令。控制器200可以改变编程地址,使得要对其执行编程操作的物理页被改变,并且将改变后的编程地址传送到半导体存储器装置100。

图13B是例示了根据本公开的另一实施方式的控制器200的操作方法的流程图。

参照图13B,步骤S410、S420、S430、S440、S450和S460与图13A中所示的步骤S410、S420、S430、S440、S450和S460基本相同。因此,将省略重复的描述。

在图13B所示的实施方式中,当在步骤S440中确定出编程失败是由位反转引起的编程失败时(S440)(是),可以将已经尝试编程操作的平面中的全部存储器块登记为坏块(S470)。在实施方式中,存储器单元阵列110可以包括多个平面,并且一个平面可以包括多个存储器块。因此,当由于在读/写电路130的页缓冲器中发生缺陷而导致发生位反转时,对连接至相应读/写电路130的平面中的全部存储器块的编程操作可能无法正确地执行。控制器200能够通过将已经尝试了编程操作的平面中的全部存储器块登记为坏块来防止附加编程失败。

随后,控制器200可以向半导体存储器装置100重新传送编程数据和编程命令(S460)。控制器200可以改变编程地址,使得编程操作针对另一平面中所包括的存储器块执行,并且将改变后的编程地址传送到半导体存储器装置100。

当即使在执行了图13A所示的实施方式之后也重复由于位反转而引起的编程失败时,可以执行图13B所示的实施方式。例如,当由位反转引起的编程失败暂时发生一次时,这可以被确定为由数据传输错误引起的位反转。因此,当位反转暂时发生一次时,控制器200可以控制半导体存储器装置100以根据图13A所示的实施方式重新执行编程操作。然而,当由位反转引起的编程失败重复发生了几次时,这可以被确定为连接至相应平面的页缓冲器的缺陷,而不是由数据传输错误引起的位反转。因此,即使根据图13A所示的实施方式重复了几次编程操作,也会发生由位反转引起的编程失败,可以在图13B所示的步骤S470中将相应平面中的全部存储器块登记为坏块。

图14是例示了图1中所示的控制器200的示例的框图。

参照图14,控制器200连接至半导体存储器装置100和主机HOST。半导体存储器装置100可以是参照图2描述的半导体存储器装置。控制器200对应于图1所示的控制器200。在下文中,将省略重复的描述。

控制器200响应于来自主机HOST的请求而访问半导体存储器装置100。例如,控制器200控制半导体存储器装置100的读取操作、写入操作、擦除操作和后台操作。控制器200提供半导体存储器装置100与主机HOST之间的接口。控制器200驱动用于控制半导体存储器装置100的固件。

控制器200包括随机存取存储器(RAM)210、处理单元220、主机接口(I/F)230、存储器接口(I/F)240和纠错块250。RAM 210用作处理单元220的工作存储器、半导体存储器装置100与主机HOST之间的高速缓存存储器、以及半导体存储器装置100与主机HOST之间的缓冲存储器中的任一种。此外,RAM 210可以用作用于临时存储要传送到半导体存储器装置100的命令的命令队列。

处理单元220控制控制器200的总体操作。在实施方式中,处理单元220可以驱动用于控制控制器200的总体操作的固件。

主机I/F 230包括用于在主机HOST和控制器200之间交换数据的协议。在实施方式中,控制器200通过诸如以下各种接口协议中的至少一种与主机HOST通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、PCI-快速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小磁盘接口(ESDI)协议、集成驱动电子设备(IDE)协议和专用协议之类的。

存储器I/F 240与半导体存储器装置100接口连接。例如,存储器I/F 240可以包括NAND接口或NOR接口。

纠错块250被配置为通过使用纠错码(ECC)来检测和校正从半导体存储器装置100接收的数据的错误。处理单元220可以基于纠错块250的错误检测结果来控制半导体存储器装置100以调整读取电压,并且执行重新读取。

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

控制器200和半导体存储器装置100可以集成到一个半导体装置中,以构成半导体驱动器(固态驱动器(SSD))。半导体驱动器SSD包括配置为将数据存储在半导体存储器中的储存装置。当包括控制器200和半导体存储器装置100的储存装置被用作半导体驱动器SSD时,能够显著提高连接至储存装置的主机HOST的操作速度。

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

在实施方式中,半导体存储器装置100和包括该半导体存储器装置100的储存装置可以以各种形式封装。例如,半导体存储器装置100或储存装置可以以诸如封装体叠层(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、Waffle晶片封装、晶圆形式晶片、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料度量四方扁平封装(MQFP)、薄型四方扁平包(TQFP)、小轮廓集成电路(SOIC)、收缩型小轮廓封装(SSOP)、薄型小轮廓封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级加工层叠封装(WSP)之类的方式封装。

图15是例示了图1所示的储存装置的应用示例的框图。

参照图15,储存装置2000包括半导体存储器装置2100和控制器2200。半导体存储器装置2100包括多个半导体存储器芯片。多个半导体存储器芯片被分成多个组。

在图15中,例示了多个组通过第一通道CH1至第k通道CHk与控制器2200通信的情况。每个半导体存储器芯片可以与参照图2描述的半导体存储器装置100相同地配置和操作。

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

图16是例示了包括参照图15描述的储存装置的计算系统的框图。

参照图16,计算系统3000包括中央处理单元3100、RAM 3200、用户接口3300、电源3400、系统总线3500和储存装置2000。

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

在图16中,例示了半导体存储器装置2100通过控制器2200连接至系统总线3500的情况。然而,半导体存储器装置2100可以直接连接至系统总线3500。控制器2200的功能可以由中央处理单元3100和RAM 3200执行。

在图16中,例示了提供有参照图15描述的储存装置2000的情况。然而,储存装置2000可以由参照图14所描述的包括控制器200和半导体存储器装置100的储存装置替换。

根据本公开,能够提供具有提高的操作可靠性的半导体存储器装置、控制器及其操作方法。

虽然已经参照本公开的一些实施方式示出和描述了本公开,但是本领域技术人员将理解,在不脱离本公开的由所附权利要求书及其等同物所定义的精神和范围的情况下,可以在形式和细节上进行各种改变。因此,本公开的范围不应限于上述实施方式,而是不仅应由所附权利要求书,而且还应由其等同物确定。

在上述实施方式中,可以选择性地执行全部步骤或者可以省略一部分步骤。在每个实施方式中,步骤并非必须根据所描述的顺序执行,并且可以重新布置。在本说明书和附图中公开的实施方式仅是示例,以促进对本公开的理解,并且本公开不限于此。也就是说,对于本领域技术人员而言显而易见的是,可以基于本公开的技术范围进行各种修改。

此外,已经在附图和说明书中描述了本公开的实施方式。尽管此处使用特定术语,但是这些术语仅是为了解释本公开的实施方式。因此,本公开不限于上述实施方式,并且在本公开的精神和范围内可以有许多变型。对于本领域技术人员显而易见的是,除了本文公开的实施方式之外,还可以基于本公开的技术范围进行各种修改。

相关申请的交叉引用

本申请要求于2019年12月16日在韩国知识产权局提交的韩国专利申请No.10-2019-0168216的优先权,该韩国专利申请的全部内容通过引用合并于本文中。

相关技术
  • 半导体存储器装置及操作方法与该装置的控制器的操作方法
  • 半导体存储器、控制器和半导体存储器操作方法
技术分类

06120112938319