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

存储器控制器、存储器系统以及存储器控制器的操作方法

文献发布时间:2023-06-19 19:13:14


存储器控制器、存储器系统以及存储器控制器的操作方法

相关申请的交叉引用

本申请基于并要求于2021年8月17日在韩国知识产权局提交的韩国专利申请No.10-2021-0108179的优先权,该韩国专利申请的公开内容通过引用整体地并入本文。

技术领域

本公开涉及一种存储器控制器,并且更具体地,涉及一种计算最佳读取电平的存储器控制器、一种包括存储器控制器的存储器系统、以及一种存储器控制器的操作方法。

背景技术

作为非易失性存储器的闪存即使在电源中断时也可以保持存储在其中的数据。诸如固态驱动器(SSD)和存储卡的包括闪存的存储装置被广泛地使用,并且存储装置可用于存储或移动大量数据。

当闪存的数据存储容量增加并且存储在每个存储单元中的位数增加时,可以减小多个阈值电压分布之间的空白(margin)。因此,为了减少数据读取处理中的错误,需要能够标识多个阈值电压分布的最佳读取电平计算。然而,由于在读取处理中生成的噪声以及如上所述的多个阈值电压分布之间的空白的减小,在计算最佳读取电平时会存在限制。

发明内容

示例实施例提供一种能够计算最佳读取电平的存储器控制器、一种包括存储器控制器的存储器系统、以及一种存储器控制器的操作方法。

根据示例实施例的一个方面,提供了一种被配置为控制存储器件的存储器控制器,所述存储器控制器包括:处理器,所述处理器被配置为控制对所述存储器件的存储器操作;以及读取电平计算模块,所述读取电平计算模块被配置为:接收基于对使用多个电平读取的数据的计数操作生成的N个计数值,所述N个计数值分别对应于N个读取电平,以从所述N个读取电平选择的选定读取电平作为输入并且以与所述选定读取电平相对应的计数值作为输出,建模出至少两个单元计数函数,并且基于从所述至少两个单元计数函数选择的最佳单元计数函数来计算最佳读取电平,其中,N是等于或大于四的整数,其中,所述N个计数值包括与不同的至少四个读取电平相对应的计数值。

根据示例实施例的一个方面,提供了一种存储器控制器的操作方法,所述操作方法包括:基于使用多个读取操作读取的数据来计算与多个读取电平相对应的多个计数值;选择多个单元计数函数中的一个单元计数函数作为最佳单元计数函数,其中,所述多个单元计数函数是通过使用在所述多个读取电平当中选择的一些读取电平作为输入并且使用所述多个计数值中的与所选择的一些读取电平相对应的计数值作为输出被建模出的;以及输出关于基于所述最佳单元计数函数计算出的最佳读取电平的信息,其中,使用所述多个读取电平作为输入为所述多个单元计数函数中的每一个单元计数函数计算函数值,并且所述最佳单元计数函数通过所述函数值与所述多个计数值的比较被选择。

根据示例实施例的一个方面,提供了一种配备有存储器件的存储器系统,其中,所述存储器件包括:存储单元阵列,所述存储单元阵列包括多个存储单元;电压生成器,所述电压生成器被配置为生成在对所述存储单元阵列的读取操作中使用的具有多个电平的多个读取电压;以及控制逻辑,所述控制逻辑被配置为:当在从所述存储单元阵列读取的数据中发生错误时控制使用所述多个电平对所述存储单元阵列进行的重新读取操作,并且基于对在所述重新读取操作中读取的数据的计数操作来生成与N个读取电平相对应的N个计数值,N是等于或大于四的整数,其中,所述N个计数值用于建模至少两个单元计数函数,每个所述单元计数函数以所述N个读取电平中的特定读取电平作为输入,并且所述特定读取电平的数目小于N。

附图说明

根据以下结合附图进行的示例实施例的描述,将更清楚地理解上述和其他方面,在附图中:

图1是根据示例实施例的存储器系统的框图;

图2是图1中的存储器控制器中包括的读取电平计算模块的实现示例的框图;

图3A和图3B是根据示例实施例的存储器控制器的实现示例的框图;

图4是根据实施例的存储器件的实现示例的框图;

图5是根据实施例的图1的存储器件的结构示意图;

图6是图1中的存储单元阵列的示例性图;

图7是图6的存储块的结构的示例的透视图;

图8A和图8B分别是针对未应用实施例的情况和针对应用了实施例的情况的单元计数函数的建模示例的图;

图9是根据各种实施例的计算单元计数值的示例的图;

图10和图11是根据示例实施例的存储器系统的操作方法的流程图;

图12示出在图11的实施例中确定是否适合建模以及获得额外计数值的示例的图;

图13是根据示例实施例的存储器控制器的实现示例的框图;

图14是在实施例中将单元计数函数建模为三维函数的情况的图;

图15是将根据实施例的存储器系统应用于固态驱动器(SSD)系统的示例的框图;

图16是示出根据示例实施例的存储器系统的框图。

具体实施方式

在下文中,参考附图详细地描述示例实施例。

图1是根据示例实施例的存储器系统10的框图。

参考图1,存储器系统10可以包括存储器控制器100和存储器件200,存储器件200可以包括存储单元阵列210、电压生成器220和控制逻辑230,控制逻辑230可以包括电压控制器231。在图1的示例中,电压控制器231被示出为布置在控制逻辑230中,但是根据实施例的电压控制器231可以实现为控制逻辑230外部的分立组件。

例如,存储器系统10可以经由各种接口与主机进行通信,并且作为示例,存储器系统10可以经由诸如以下的各种接口与主机进行通信:通用串行总线(USB)接口、多媒体卡(MMC)接口、嵌入式MMC(eMMC)接口、外围组件互连(PCI)接口、快速PCI(PCI-E)接口、高级技术附件(ATA)接口、串行ATA接口、并行ATA接口、小型计算机系统接口(SCSI)、增强小型磁盘接口(ESDI)、集成驱动电子装置(IDE)接口、火线、通用闪存(UFS)接口和快速非易失性存储器(NVM)(NVMe)接口。

根据实施例,存储器件200可以包括非易失性存储器件。在一些实施例中,存储器系统10可以实现为嵌入在电子装置中,或者实现为可移动存储器,并且存储器系统10可以以如下各种形式来实现:例如,嵌入式通用闪存(UFS)存储器件、eMMC、固态驱动器(SSD)、UFS存储卡、紧凑闪存(CF)卡、安全数字(SD)卡、微型SD卡、迷你SD卡、极限数字(xD)卡或记忆棒。另外,存储器系统10也可以称为用于以非易失性方式存储数据的存储装置。

存储器控制器100可以响应于来自主机HOST的写入/读取请求,控制存储器件200以读取存储在存储器件200中的数据或者将数据写入到存储器件200。作为示例,存储器控制器100可以包括处理器110,并且处理器110可以控制存储器控制器100内部的整体操作,并且另外,可以控制存储器件200的存储器操作。存储器控制器100可以通过向存储器件200提供地址ADDR、命令CMD和控制信号CTRL来控制存储器件200的写入、读取和擦除操作。另外,可以在存储器控制器100与存储器件200之间收发要存储在存储器件200中的数据DATA以及从存储器件200读取的数据DATA。

存储单元阵列210可以包括多个存储单元,并且多个存储单元可以包括例如闪存单元。在下文中,针对多个存储单元包括NAND闪存单元的情况详细地描述实施例。然而,实施例不限于此。在一些实施例中,多个存储单元可以包括电阻式存储单元,诸如,电阻式只读存储器(RAM)(RRAM)、相变RAM(PRAM)和磁阻式RAM(MRAM)。

在示例实施例中,存储单元阵列210可以包括三维(3D)存储单元阵列,3D存储单元阵列可以包括多个NAND串,并且每个NAND串可以包括分别连接到垂直地堆叠在衬底上的字线的存储单元。然而,实施例不限于此,在一些实施例中,存储单元阵列210可以包括二维(2D)存储单元阵列,并且2D存储单元阵列可以包括布置在行方向和列方向上的多个NAND串。

当来自存储器控制器100的请求读取的读取命令被提供给存储器件200时,读取操作可以基于控制逻辑230的控制被执行。作为示例,当每个存储单元存储多个位时,存储单元阵列210的存储单元可以包括多个阈值电压分布,并且包括两个或更多个位的数据可以从每个存储单元被读取。

电压生成器220可以生成在存储器件200中使用的各种电压,作为示例,用于编程操作的编程电压和用于读取操作的读取电压可以被生成。另外,电压生成器220可以基于控制逻辑230的控制来不同地控制编程电压的电平和读取电压的电平。例如,电压生成器220可以提供具有用于标识多个阈值电压分布的各种电平的读取电压。另外,可以执行使用一个或更多个读取电平的读取操作以标识任何阈值电压分布,根据示例实施例,可以执行多个读取操作以标识任何一个阈值电压分布,并且电压生成器220可以基于电压控制器231的控制根据上述多个读取操作改变和输出读取电压的电平。

控制逻辑230可以控制存储器件200的整体操作,作为示例,控制逻辑230可以基于从存储器控制器100接收到的命令CMD、地址ADDR和控制信号CTRL,输出用于将数据编程在存储单元阵列210中或者从存储单元阵列210读取数据的各种内部控制信号。另外,控制逻辑230还可以输出用于控制与编程操作、读取操作和擦除操作相关的、由电压生成器220输出的各种电压的电平的电压控制信号。

根据实施例,当在从存储单元阵列210读取的数据中检测到错误,或者发生不可纠正的错误时,存储器控制器100可以重试从存储单元阵列210读取数据。例如,存储器控制器100可以执行各种内部处理操作,以计算用于减少错误发生的最佳读取电平,并且另外,可以在重试读取的处理期间针对存储器件200执行与读取操作相关的各种控制操作。

根据示例实施例,可以在重试读取的处理中执行使用多个读取电平的读取操作,并且可以基于使用上述多个读取电平读取的数据来计算最佳读取电平。根据实施例,关于最佳读取电平计算,存储器件200可以将通过使用多个(例如,M个)读取电平读取的读取数据RD[1:M]提供给存储器控制器100。另外,根据示例实施例,读取数据RD[1:M]可以包括通过使用具有彼此不同的电平的至少四个读取电平读取的数据。

另一方面,根据示例实施例,可以基于针对上述读取数据RD[1:M]的计数结果计算计数值并且通过使用所计算的计数值的组合建模出多个单元计数函数,来计算最佳读取电平。例如,存储器控制器100可以包括计数逻辑130,并且计数逻辑130可以对通过使用多个读取电平读取的读取数据RD[1:M]执行计数操作(例如,接通单元(on-cell)计数或关断单元(off-cell)计数)。作为示例,与M个读取电平相对应的计数值CNT[1:N]可以由计数逻辑130生成。根据各种实施例,用于生成读取数据RD[1:M]的读取电平的数目(例如,M)和计算的计数值CNT[1:N]的数目(例如,N)可以彼此相同,或者也可以彼此不同。换句话说,在实施例中,可以不同地实现使用读取数据RD[1:M]生成计数值CNT[1:N]的操作。

根据实施例,存储器控制器100可以包括读取电平计算模块120。另外,所计算的计数值CNT[1:N]可以提供给读取电平计算模块120。读取电平计算模块120可以基于计数值CNT[1:N]和至少一条信息,来计算用于标识阈值电压分布的最佳读取电平,并且存储器控制器100可以向存储器件200提供与所计算的最佳读取电平相关的信息(在下文中,称为读取电平信息Info_ORL),从而根据所计算的最佳读取电平来读取数据。例如,存储器控制器100可以基于所计算的结果来提供用于控制读取电压的电平的控制信号,或者关于最佳读取电平的信息可以被提供给存储器件200,并且存储器件200还可以基于该信息来生成用于控制读取电压的电平的内部控制信号。

在下面描述示例实施例中的操作的详细示例。

当彼此相邻的阈值电压分布之间的空白减小时,在数据读取处理中发生错误的可能性可能较高,并且当检测到错误或发生不可纠正的错误时,可以执行用于计算上述彼此相邻的阈值电压分布之间的最佳读取电平的操作(例如,防御代码(defense code))。

读取电平计算模块120可以通过使用N个计数值CNT[1:N]中的至少三个计数值来建模出一个单元计数函数,并且作为示例,可以建模二次函数(second-degree function),其接收读取电平作为输入并且输出计数值。另外,当计数值CNT[1:N]的数目N等于或大于四时,读取电平计算模块120可以基于计数值CNT[1:N]的各种组合来建模出两个或更多个单元计数函数。

读取电平计算模块120可以从建模出的多个单元计数函数选择一个最佳单元计数函数。例如,可以通过使用每个单元计数函数,来计算以每个读取电平作为输入获得的计数值(在下文中,称为函数值或估计计数值),并且可以基于计数值CNT[1:N]与所计算出的估计计数值的比较,来选择最佳单元计数函数。例如,针对每个单元计数函数,可以通过使用与N个计数值CNT[1:N]相对应的N个读取电平来计算N个估计计数值,并且基于计数值CNT[1:N]与所计算出的估计计数值之间的差,可以选择具有相对最小差的单元计数函数作为最佳单元计数函数。当计数值CNT[1:N]与估计计数值之间的差相对较小时,可以确定对应的单元计数函数合适地反映了实际存储单元的阈值电压分布,并且可以基于所选择的最佳单元计数函数来计算最佳读取电平。

根据上述示例实施例,可以通过使用与彼此不同的多个读取电平相对应的计数值CNT[1:N]来建模出多个单元计数函数,从而多个单元计数函数被建模,并且因为最佳单元计数函数选自建模出的多个单元计数函数,所以可以降低噪声对数据读取操作的影响。例如,即使在数据读取处理中在上述多个读取电平中的一些读取电平处发生噪声时,因为基于具有相对较低噪声影响的其他读取电平来选择建模出的单元计数函数,所以即使在上述噪声环境中也可以计算最佳读取电平。

另外,根据上述示例实施例,由于诸如NAND的存储器件的工艺小型化,存储单元之间的干扰可能增加,可以根据要由每个存储单元存储的位数的增加来减小阈值电压分布之间的距离,因此,噪声发生频率和噪声强度可以随着存储器件的集成度的增加而增加,但是根据示例实施例的存储器系统10可以不管噪声环境如何而计算最佳读取电平。

另一方面,在上述实施例中,示出了在存储器控制器100中生成计数值CNT[1:N]的示例,但是实施例不限于此。例如,当在存储器件200中包括计数逻辑时,对通过使用多个读取电平读取的数据的计数操作可以由存储器件200执行,并且在上述实施例中,存储器件200还可以将计数值CNT[1:N]提供给存储器控制器100。

图2是图1中的存储器控制器100中包括的读取电平计算模块120的实现示例的框图。

参考图1和图2,读取电平计算模块120可以包括建模模块121、误差比较模块122和运算模块123,并且图2中示出的各种模块可以被实现为硬件或软件,或者还可以被实现为硬件和软件的组合。硬件可以包括诸如CPU或ASIC的硬件处理器。作为示例,当读取电平计算模块120被实现为包括固件的软件时,存储器控制器100可以包括存储软件的存储器,并且读取电平计算模块120可以以软件形式加载到存储器并且由处理器110运行。根据示例实施例,存储器控制器100可以包括闪存转换层(FTL),并且读取电平计算模块120的至少一部分功能可以被包括在FTL中。

读取电平计算模块120可以基于计数值CNT[1:N]和上述至少一条信息,来生成与最佳读取电平相关的读取电平信息Info_ORL。存储器控制器100可以通过处理读取电平信息Info_ORL向存储器件200提供用于改变读取电压的电平的电压控制信号,或者存储器件200可以接收读取电平信息Info_ORL并且还通过处理读取电平信息Info_ORL来生成电压控制信号。

读取电平计算模块120可以基于第一信息Info_RLN和第二信息Info_RL以及上述计数值CNT[1:N],来生成读取电平信息Info_ORL。第一信息Info_RLN可以包括关于与计数值CNT[1:N]相对应的读取电平的数目的信息,并且第二信息Info_RL可以包括关于与多个读取电平相对应的电压电平的信息。在实施例中,第一信息Info_RLN还可以定义为关于计数值CNT[1:N]的数目的信息。换句话说,在读取电平计算模块120中,与读取电平相对应的电压电平可以对应于用于建模单元计数函数的输入,并且计数值CNT[1:N]对应于输出的单元计数函数可以被建模出。另外,当与二次函数相对应的单元计数函数被建模时,可以通过使用三个读取电平以及与其相对应的计数值来建模出单元计数函数,并且读取电平计算模块120可以通过参考关于读取电平的数目的信息来建模出多个单元计数函数。

另一方面,上述第一信息Info_RLN和第二信息Info_RL可以包括由存储器控制器100生成的信息。例如,可以基于读取电平计算模块120的性能来确定用于计算最佳读取电平的各种条件,并且可以基于用于计算最佳读取电平的读取电平的数目以及电压电平来生成第一信息Info_RLN和第二信息Info_RL。

建模模块121可以如上所述建模出多个单元计数函数,例如,可以计算多个单元计数函数中的每一个单元计数函数的系数。二次函数的公式可以定义为y=ax

误差比较模块122可以从建模出的多个单元计数函数选择最佳单元计数函数。例如,误差比较模块122可以通过将读取电平代入建模出的多个单元计数函数的x来计算y值,并且所计算出的y值可以称为估计计数值。例如,误差比较模块122可以针对每个单元计数函数将上述N个读取电平代入x,因此,可以计算N个估计计数值作为函数值(或,y值)。另外,根据示例实施例,可以针对每个单元计数函数代入所有上述N个读取电平,或者还可以仅代入N个读取电平中的至少一些读取电平。

误差比较模块122可以将针对每个单元计数函数的估计计数值与上述计数值(CNT[1:N],在下文中,称为实际计数值)进行比较。例如,在多个单元计数函数模型之中,估计计数值与实际计数值之间的差较小的单元计数函数模型可以被确定,以最佳地反映实际存储单元的阈值电压分布特性。

在选择最佳单元计数函数时,当假定将N个读取电平代入到每个单元计数函数中时,误差比较模块122可以基于计数值CNT[1:N]与N个估计计数值之间的差,来计算对应的单元计数函数的误差(例如,平均误差)。误差比较模块122可以选择多个单元计数函数中的具有最小平均误差的单元计数函数作为最佳单元计数函数。可以通过使用各种方法和公式来计算平均误差,例如,可以基于平均绝对误差(MAE)、均方误差(MSE)等来执行计算操作。

另一方面,运算模块123可以基于所选择的最佳单元计数函数来计算最佳读取电平。例如,在使得y值在二次函数形式的单元计数函数中最小的x值(例如,读取电平)的情况下,可以以x值作为参考在左右两侧表示单元计数的较小变化,因此,单元计数的变化较小的位置处的读取电平可以对应于两个不同的彼此相邻的阈值电压分布被区分的最佳位置。因此,在最佳单元计数函数中,可以将使得y值(或估计计数值)最小的x值的位置计算为最佳读取电平。例如,可以通过对二次函数形式的单元计数函数使用微分运算或者通过使用计算y的最小值的运算,来计算最佳读取电平。

图3A和图3B是根据示例实施例的存储器控制器300的实现示例的框图。

参考图3A和图3B,存储器控制器300可以包括主机接口(I/F)310、处理器320、RAM330、纠错码(ECC)电路340、缓冲器350、存储器接口360和计数(CNT)逻辑370。另外,RAM 330可以用作工作存储器,并且处理器320可以通过运行加载在RAM 330上的固件来控制存储器控制器300的整体操作。RAM 330可以被实现为各种存储器,例如,被实现为高速缓存存储器、动态RAM(DRAM)、静态RAM(SRAM)、PRAM和闪存器件中的至少一种。另外,作为固件的示例,FTL可以加载在RAM中,并且可以通过驱动FTL来执行与闪存操作相关的各种功能。

在上述实施例中,读取电平计算模块可以包括建模模块331、误差比较模块332和运算模块333,并且当读取电平计算模块作为固件以软件实现时,如图3B所示出的,建模模块331、误差比较模块332和运算模块333可以被加载在RAM 330中并且由处理器320运行。例如,读取电平计算模块120可以以非易失性方式存储在存储器件NVM中,并且在存储器系统10的初始驱动操作时,从存储器件读取的读取电平计算模块120可以被加载在存储器控制器300的RAM 330中。

主机I/F 310可以经由根据上述实施例的各种类型的I/F与主机HOST进行通信。另外,存储器I/F 360可以提供存储器控制器300与存储器件NVM之间的物理连接。例如,可以经由存储器I/F 360在存储器控制器300与存储器件NVM之间收发命令/地址、数据等。由主机HOST请求写入的数据以及从存储器件NVM读取的数据可以被暂时存储在缓冲器350中。另外,ECC电路340可以对请求写入的数据和读取的数据执行ECC编码和解码处理,因此,数据的错误可以被检测和纠正。

ECC电路340可以对从存储器件NVM读取的数据执行错误检测和纠正操作,并且当发生错误或者错误未被纠正时,根据上述实施例的读取电平计算模块120可以被运行。例如,可以基于存储器控制器300的控制在存储器件NVM中执行使用多个读取电平的读取操作,多条读取数据可以提供给存储器控制器300,并且计数逻辑370可以基于对所接收到的数据的计数操作来计算与多个读取电平相对应的多个计数值。另外,基于读取电平计算模块120的运行,可以执行多个单元计数函数的建模操作、最佳单元计数函数的计算操作和最佳读取电平的计算操作。

图4是根据实施例的存储器件400的实现示例的框图。图4示出作为存储器件的闪存器件的实现示例。

参考图4,存储器件400可以包括存储单元阵列410、电压生成器420、控制逻辑430、行译码器440和页缓冲器450。存储单元阵列410的存储单元可以连接到字线WL、串选择线SSL、地选择线GSL和位线BL。存储单元阵列410可以经由字线WL、串选择线SSL和地选择线GSL连接到行译码器440,并且可以经由位线BL连接到页缓冲器450。每一个存储单元可以存储一个或更多个位,例如,每个存储单元可以对应于多阶单元(MLC,multi-level cell)、三阶单元(TLC,triple-level cell)或四阶单元(QLC,quad-level cell)。

控制逻辑430可以基于从存储器控制器接收到的命令CMD、地址ADDR和控制信号CTRL,来输出用于控制存储单元阵列410的编程、读取和擦除操作的各种内部控制信号。作为示例,控制逻辑430可以包括电压控制器431,输出用于控制由电压生成器420生成的各种电压的电平的电压控制信号CTRL_vol,向行译码器440提供行地址X-ADDR,并且向页缓冲器450提供列地址Y-ADDR。

控制逻辑430可以输出电压控制信号CTRL_vol,从而在不同的读取电平处执行多个读取操作以便计算最佳读取电平,并且电压生成器420可以基于电压控制信号CTRL_vol来生成多个读取电压Vol_R[1:M]。作为示例,控制逻辑430可以输出电压控制信号CTRL_vol,从而以任何一个读取电平作为开始位置根据特定电平间隔来改变读取电平。另外,控制逻辑430可以接收包括关于根据上述实施例计算的最佳读取电平的信息的读取电平信息Info_ORL,并且可以控制电压生成器420,从而根据最佳读取电平来读取数据。

根据实施例,控制逻辑430可以包括计数逻辑432。例如,存储器系统还可以被实现为使得与在上述实施例中描述的多个读取电平相对应的计数值CNT[1:N]由存储器件400生成并且被提供给存储器控制器。根据各种实施例,读取电压Vol_R[1:M]的数目和计数值CNT[1:N]的数目还可以被实现为彼此相同,或者还可以被实现为彼此不同。换句话说,可以以各种形式实现根据实施例的使用多个读取电平的读取操作以及基于读取操作的计数值的计算操作,并且稍后描述实现示例。

图5是图1中的存储器件200的结构的示意图,图6是图1中的存储单元阵列210的示例图,并且图7是图6中的存储块BLKa的结构的示例的透视图。在图5中,外围上单元(COP)结构被示出为存储器件的实现示例,但是实施例不限于此,并且还可以以各种结构实现存储器件。

参考图5,存储器件200可以包括第一半导体层L1和第二半导体层L2,并且第一半导体层L1可以相对于第二半导体层L2堆叠在垂直方向VD上。第二半导体层L2可以沿垂直方向VD布置在第一半导体层L1下面,因此,第二半导体层L2可以布置为靠近衬底。

在实施例中,图1中的存储单元阵列210可以形成在第一半导体层L1中,图1中的其他外围电路可以形成在第二半导体层L2中。因此,存储器件200可以具有存储单元阵列210被布置在外围电路上的结构,即,COP结构。COP结构可以有效地减小其在水平方向上的面积,并且提高存储器件200的集成度。

在实施例中,第二半导体层L2可以包括衬底,通过在衬底上形成晶体管和用于对晶体管进行布线的金属图案,外围电路可以形成在第二半导体层L2中。在外围电路形成在第二半导体层L2中之后,包括存储单元阵列210的第一半导体层L1可以形成,并且用于将存储单元阵列210的字线WL和位线BL连接到在第二半导体层L2中形成的外围电路的金属图案可以形成。例如,位线BL可以在第一水平方向HD1上延伸,而字线WL可以在第二水平方向HD2上延伸。

另一方面,参考图6,存储单元阵列210可以包括第一存储块BLK0至第i存储块BLKi,其中,i是正整数。第一存储块BLK0至第i存储块BLKi中的每一个存储块可以具有三维结构(或垂直结构)。第一存储块BLK0至第i存储块BLKi中的每一个存储块可以包括沿垂直方向VD延伸的多个NAND串。在这种情况下,多个NAND串可以被设置为在第一水平方向HD1和第二水平方向HD2上彼此间隔开特定距离。第一存储块BLK0至第i存储块BLKi可以由行译码器(图4中的240)选择。例如,行译码器240可以从第一存储块BLK0至第i存储块BLKi选择与块地址相对应的存储块。在图7中示出示例存储块,即,存储块BLKa。

参考图7,存储块BLKa可以形成在与衬底SUB垂直的方向上。衬底SUB可以是第一导电类型(例如,p型),并且在衬底SUB上沿第二水平方向HD2延伸并且具有第二导电类型(例如,n型)的公共源极线CSL可以被设置。在衬底SUB上的两条相邻的公共源极线CSL之间的区域中,在第二水平方向HD2上延伸的多个绝缘层IL可以在垂直方向VD上顺序地设置,并且多个绝缘层IL可以在垂直方向VD上彼此间隔开特定距离。例如,多个绝缘层IL可以包括诸如氧化硅的绝缘材料。

在衬底SUB的位于两条相邻的公共源极线CSL之间的区域上,在第一水平方向HD1上顺序地布置并且在垂直方向VD上穿透多个绝缘层IL的多个柱P可以被设置。例如,多个柱P可以穿透多个绝缘层IL并且接触衬底SUB。每个柱P的表面层S可以包括第一类型的硅材料,并且可以充当沟道区域。每个柱P的内层I可以包括诸如氧化硅的绝缘材料或气隙。

在位于两条相邻的公共源极线CSL之间的区域中,可以沿着绝缘层IL、柱P和衬底SUB的暴露表面设置电荷存储层CS。电荷存储层CS可以包括栅极绝缘层(或称为隧道绝缘层)、电荷捕获层和阻挡绝缘层。例如,电荷存储层CS可以具有氧化物-氮化物-氧化物(ONO)结构。另外,在位于两条相邻的公共源极线CSL之间的区域中,可以在电荷存储层CS的暴露表面上设置包括选择线(例如,GSL和SSL)以及字线WL0、WL1、WL2、WL3、WL4、WL5、WL6和WL7的栅电极GE。

漏极或漏极接触DR可以分别设置在多个柱P上。例如,漏极或漏极接触DR可以包括掺杂有第二导电类型的杂质的硅材料。在漏极接触DR上,在第一水平方向HD1上延伸并且在第二水平方向HD2上彼此间隔开特定距离的位线BL0、BL1和BL2可以被设置。此外,串选择晶体管SST可以形成在柱P的上部,接地选择晶体管GST可以形成在柱P的下部。

图8A和图8B分别是针对未应用实施例的情况和针对应用了实施例的情况的单元计数函数的建模示例的图。

参考图8A,示出了在不应用实施例的情况下通过使用三个特定读取电平建模出一个单元计数函数的情况,例如,可以基于在位置a的读取电平处的单元计数值、在位置b的读取电平处的单元计数值以及在位置c的读取电平处的单元计数值,建模出一个单元计数函数。在这种情况下,当在使用位置c处的读取电平的读取操作中发生噪声时,在位置c的读取电平处的单元计数值可以具有与在无噪声的情况下被确定为正常的单元计数值不同的值,在图8A所示出的示例中,示出了在位置c的读取电平处的单元计数值大于正常情况下的计数值的情况。

如图8A所示出的,可以响应于上述噪声环境而在每个读取电平处执行多个读取操作,并且可以应用以这种方式计算的多个单元计数值的平均值被定义为在对应读取电平处的单元计数值的方法,但是因为在此方法中在噪声环境中计算的单元计数值也被用于计算最佳读取电平,所以在降低噪声影响时可能存在限制。

另一方面,根据图8B所示出的实施例,可以计算与多个读取电平(例如,d至k)中的每一个读取电平相对应的单元计数值,并且读取电平(例如,d至k)的数目可以是四个或更多个。另外,在实施例中,可以针对一个读取电平执行仅一个读取操作,因此,可以与一个读取电平对应地计算一个单元计数值。

在图8B所示出的实施例中,假定在使用读取电平k的读取操作中发生噪声,未使用与读取电平k相对应的单元计数值的单元计数函数(例如,第一模型)可以被建模出,另外,使用与读取电平k相对应的单元计数值的单元计数函数(例如,第二模型)可以被建模出。如图8B所示出的,根据第一模型的单元计数函数可以在实际计算的单元计数值与通过使用函数值的估计计数值之间具有较小的差。另一方面,根据第二模型的单元计数函数可以在多个读取电平中的一些读取电平(例如,与已发生噪声的读取电平相邻的读取电平)处实际计算的单元计数值与通过使用函数值的估计计数值之间具有相对较大的差。

如由图8A和图8B的非限制性示例所示出的,读取电压(x轴)的小变化使得一些存储单元从被读取为存储一个二进制值(诸如逻辑0)改变为被读取为存储另一二进制值(诸如逻辑1)。这是对读取电压的变化的非线性响应。测量是有噪声的。当在非线性测量中存在噪声时,可以通过去除一些数据样本来改进整体性能。对于二次函数,仅需要三个点来指定函数,图8B示出了八个可用点(d、e、f、g、h、i、j、k)。针对从(d,...,k)选择的每个独特三元组(triplet)获得不同模型。在此示例中,不同模型的数目是从八个点中挑选三个点的方式的数目,并且在非限制性示例中,

在图8A中,在读取电压c处的数据样本使得预测模型的质量降级。在图8B中,在读取电压k处的数据样本导致模型2(使用点k)是比模型1(不使用读取电压k)更差的模型。在一些实施例中,通过识别模型1更好来去除读取电压k处的数据样本。通过将模型1与集合(d,e,…,k)中的读取电压的所有计数进行比较并且保留误差量度,模型1可以被识别为更好。当误差量度针对模型1比任何其他模型都更好时,则保留模型1。通过此处理,在此示例中,虽然读取电压k处的单元计数可以是在确定误差量度时使用的整体数据的一部分,但是使用图8B的读取电压k处的单元计数形成的模型2并未被保留。

根据示例实施例,可以基于实际计算的单元计数值与通过使用函数值的估计计数值之间的差,从多个单元计数模型选择最佳单元计数模型。在图8B的示例中,可以选择第一模型作为最佳单元计数模型,并且可以基于所选择的单元计数模型来计算最佳读取电平(例如,第一读取电平RL1)。换句话说,当从根据第二模型的单元计数函数计算最佳读取电平时,第二读取电平RL2就会对应于最佳读取电平,但是在图8B的示例中,示出了根据实施例计算的第一读取电平RL1比第二读取电平RL2具有更准确的值的情况。

图9是根据各种实施例的计算单元计数值的示例的图。在图9中,示出了与三个读取电平相对应的三个单元计数值CNT1、CNT2和CNT3。

在实施例中,每个单元计数值可以对应于任何一个读取电平处的接通单元(或关断单元)的数目与另一读取电平处的接通单元(或关断单元)的数目之间的差值。例如,第一计数值CNT1可以对应于通过从针对以第一读取电平RL1读取数据的情况的接通单元的数目减去针对以第二读取电平RL2读取数据的情况的接通单元的数目所获得的值。类似地,第二计数值CNT2可以对应于通过从在以第二读取电平RL2读取数据的情况下的接通单元的数目减去在以第三读取电平RL3读取数据的情况下的接通单元的数目所获得的值。

考虑存储单元的阈值电压分布,具有在作为参考的特定读取电平左侧的阈值电压(或者,当阈值电压小于读取电平时)的存储单元可以对应于接通单元,而具有在作为参考的特定读取电平右侧的阈值电压(或者,当阈值电压大于读取电平时)的存储单元可以对应于关断单元。因此,当在将读取电平降低特定间隔的同时执行读取操作时,可以计算出接通单元的数目小于读取电平升高的情况。因此,图9中示出的第一计数值CNT1和第二计数值CNT2可以各自具有等于或大于约0的值。

另一方面,当通过使用两个阈值电压分布之间的最佳读取电平来读取数据时,可以减少数据错误。例如,当在准确地确定两个阈值电压分布的位置处通过使用两个相邻的读取电平来读取数据时,通过使用两个相邻的读取电平确定的接通单元的数目可以彼此相同或类似,因此,通过应用图9的方法计算的计数值可以具有最小值。作为示例,可以假定与通过从针对以第三读取电平RL3读取数据的情况的接通单元的数目减去针对以第四读取电平RL4读取数据的情况的接通单元的数目所获得的值相对应的第三计数值CNT3具有最小值。

在上述实施例中,可以不同地定义与读取电平相对应的计数值。例如,第一读取电平RL1和第二读取电平RL2中的任何一者可以定义为与第一计数值CNT1相对应的读取电平。可选择地,第一读取电平RL1与第二读取电平RL2之间的任何一个读取电平可以定义为与第一计数值CNT1相对应的读取电平,或者第一读取电平RL1和第二读取电平RL2的平均电平也可以定义为与第一计数值CNT1相对应的读取电平。

另一方面,当根据上述实施例来选择最佳单元计数函数时,可以根据所选择的单元计数函数来选择最佳读取电平。当图9中示出的模型的单元计数函数对应于最佳单元计数函数,并且在将与第三计数值CNT3相对应的读取电平代入到最佳单元计数函数的情况下的函数值具有最小值时,所计算的最佳读取电平可以具有第三读取电平RL3或第四读取电平RL4,或具有第三读取电平RL3与第四读取电平RL4之间的值。

另一方面,可以如上所述不同地定义和计算计数值,并且在图9所示出的实施例中,基于第一读取电平RL1和第二读取电平RL2计算的第一计数值CNT1可以定义为对应于第一读取电平RL1(或,第二读取电平RL2),并且基于第二读取电平RL2和第三读取电平RL3计算的第二计数值CNT2可以定义为对应于第二读取电平RL2(或,第三读取电平RL3)。在这种情况下,在N个计数值的计算中,可以执行通过使用(N+1)个读取电平的(N+1)个读取操作。

图10和图11是根据示例实施例的存储器系统的操作方法的流程图。

参考图10,存储器系统可以包括存储器控制器和存储器件(例如,闪存器件),并且当检测到错误或者在从存储器件的特定读取单元(read unit)读取的数据中发生不可纠正的错误时,可以执行基于根据实施例的单元计数函数建模的最佳读取电平计算操作。例如,可以通过针对读取单元使用彼此不同的四个或更多个读取电平RL来读取数据(S11)。

存储器件可以基于通过使用彼此不同的四个或更多个读取电平RL读取的数据,通过使用接通单元(或关断单元)计数操作来计算计数值(S12)。根据上述实施例,可以不同地计算计数值,并且计数值可以对应于通过使用彼此相邻的两个读取电平确定的接通单元的数目之间的差值。另外,与所计算的计数值相对应的读取电平可以对应于两个读取电平中的任何一者,或者可以对应于两个读取电平之间的任何一个电平。

当以这种方式计算计数值时,可以基于计算的多个计数值来建模出两个或更多个单元计数函数(S13)。例如,当将单元计数函数建模成二次函数时,可以基于三个读取电平以及与其相对应的计数值来计算单元计数函数的三个系数。

另外,针对建模出的多个单元计数函数中的每一个单元计数函数,可以将估计计数值计算为以读取电平作为输入的建模出的单元计数函数的函数值,并且可以通过将所计算的计数值与函数值(或估计计数值)进行比较来选择最佳单元计数函数(S14)。例如,当针对每个单元计数函数存在八个读取电平以及与其相对应的八个计数值时,可以针对每个单元计数函数计算以八个读取电平作为输入的函数值,并且可以基于将上述八个计数值与根据单元计数函数计算的函数值进行比较的结果来选择最佳单元计数函数。根据上述实施例,可以通过将诸如MAE或MSE的各种运算应用于计数值与函数值之间的误差(或差)来执行比较操作。

当如上所述选择最佳单元计数函数时,可以基于所选择的单元计数函数来计算最佳读取电平(S15),作为示例,如上所述,使单元计数函数的输出值为最小值的读取电平被计算或者使通过对单元计数函数进行微分获得的微分值为零的读取电平被计算等的各种计算方法可以用于计算最佳读取电平。

另一方面,在上述实施例中,基于二次函数来示出单元计数函数,但是实施例不一定限于此。例如,还可以基于更多的读取电平以及与其相对应的计数值以三次函数或四次函数建模出单元计数函数,或者可以建模出其他各种形式的函数。在这种情况下,可以在不同位置处设置根据实施例的各种数目的读取电平,另外,可以根据建模函数的类型不同地执行基于读取电平计算计数值的操作。

另一方面,参考图11,当在从存储器件读取的数据中发生错误或者错误不可纠正时,存储器控制器可以根据上述实施例来计算最佳读取电平并且控制读取重试操作以便读取数据。例如,可以执行控制操作,以通过使用多个读取电平来读取数据以用于计算多个计数值,作为示例,可以执行用于设置多个读取电平的操作。例如,计算读取电平的开始时间点(S21),并且可以从开始时间点起根据特定间隔来调整读取电平。

当存储器控制器计算计数值时,存储器控制器可以接收通过使用多个读取电平读取的数据,并且基于计数操作(例如,上述实施例中的接通单元的数目的计数操作)来获得与多个读取电平相对应的多个计数值(S22)。另外,存储器控制器可以确定所获得的计数值是否适合于根据实施例的单元计数函数的建模(S23)。

可以以各种方法实现所获得的计数值是否适合于单元计数函数的建模,以二次函数的建模为例,可以确定读取电平以及与其相对应的计数值是否具有二次函数形式的适当值。例如,在二次函数的情况下,二次函数形式可以对作为参考的具有最小值的特定读取电平是对称的,并且所获得的计数值是否具有相对于作为参考的读取电平的对称形式可以被确定。

当作为确定(S24)的结果,形式被确定为不适合于建模时,可以基于通过使用额外选择的读取电平读取的数据,来获得额外计数值(S25)。另一方面,当形式被确定为合适于建模时,可以根据上述实施例建模出多个单元计数函数,并且可以基于从建模出的多个单元计数函数选择的最佳单元计数函数来计算最佳读取电平(S26)。

图12示出在图11的实施例中确定是否适合建模以及获得额外计数值的示例的图。

参考图12,可以计算与多个读取电平相对应的计数值,并且可能有必要以最佳读取电平作为参考在左右两侧设置适当数目的读取电平,以及计算与其相对应的计数值以用于计算二次函数形式的最佳单元计数函数。在上述实施例中,可以基于与在最小计数值右侧的读取电平相对应的计数值和与在最小计数值左侧的读取电平相对应的计数值的比较,利用与最小计数值相对应的读取电平作为参考,来执行所计算的单元计数值是否适合于单元计数函数模型的确定。

例如,通过将与在右侧的一些读取电平相对应的计数值CNT_a和CNT_b和与在左侧的一些读取电平相对应的计数值CNT_c进行比较,计数值CNT_c比计数值CNT_a和CNT_b小得多(或者,当差超过特定阈值时)的情况可以被确定为不适合于函数建模。在这种情况下,可以执行基于存储器控制器的控制使用其他读取电平的额外读取操作,并且可以基于对额外读取的数据的计数操作来计算额外计数值CNT_d、CNT_e和CNT_f。以这种方式,可以计算适合于单元计数函数的建模的计数值,并且基于结果,可以执行最佳单元计数函数的选择操作和最佳读取电平的计算操作。

图13是根据示例实施例的存储器控制器500的实现示例的框图。

参考图13,存储器控制器500可以包括建模和误差比较模块510、更新控制模块520、存储电路530以及运算模块540。建模和误差比较模块510、更新控制模块520以及运算模块540中的每一个模块可以实现为硬件或软件,或者它们的组合。另外,图13中示出的至少一些组件可以包括读取电平计算模块120中包括的组件。

建模和误差比较模块510可以基于上述实施例中的计数值CNT[1:N]、第一信息Info_RLN和第二信息Info_RL来建模出多个单元计数函数,另外,可以执行上述实施例中用于选择最佳单元计数函数的误差比较操作。建模和误差比较模块510可以向更新控制模块520提供关于每个单元计数函数的系数值(或模型系数)的信息以及根据所对应的单元计数函数计算的误差比较结果。

更新控制模块520可以基于由建模和误差比较模块510提供的信息对存储电路530执行信息更新操作。例如,更新控制模块520可以接收与每个单元计数函数和模型系数相关的平均误差值,并且当平均误差值小于存储在存储电路530中的现有误差值时,与所对应的单元计数函数相对应的模型系数可以在存储电路530中被更新为最佳模型系数,另外,与单元计数函数相对应的平均误差值可以在存储电路530中被更新。

根据经更新的控制操作,存储在存储电路530中的信息可以对应于关于最佳单元计数函数的信息,并且运算模块540可以通过基于存储在存储电路530中的信息应用使用最佳单元计数函数的操作处理来计算最佳读取电平,并且可以输出与其相关的读取电平信息Info_ORL。

图14是在实施例中将单元计数函数建模为三维函数的情况的图。在图14中,作为示例示出了三维函数的建模,但是如上所述,还可以以各种类型的函数对实施例进行建模。

当每单元的多个位被存储在存储单元中时,在根据阈值电压分布来搜索特定位置处的分布(例如,擦除状态)的最佳读取电平的处理中,根据上述实施例计算的计数值可以具有不对称形式。因此,如图14所示出的,在针对特定阈值电压分布的读取处理中,二次函数形式的建模可能不适合于最佳读取电平的计算,并且可能需要以三次函数形式进行建模。

针对三次函数形式的建模,可以基于从多个读取电平选择的四个读取电平以及与其相对应的计数值建模出一个单元计数函数,另外,因为根据实施例来计算与至少五个或更多个读取电平相对应的计数值,所以可以建模出两个或更多个单元计数函数。在图14所示出的实施例中,示出了使用不包括噪声的计数值建模出的单元计数函数(例如,第一模型)以及使用包括噪声的计数值建模出的单元计数函数(例如,第二模型),另外,示出了在第一模型被选择为最佳单元计数函数时将第一读取电平选择为最佳读取电平的情况。另外,示出了基于第一模型计算的第一读取电平比基于第二模型计算的第二读取电平具有更高的准确度的情况。

图15是将根据实施例的存储器系统10应用于SSD系统600的示例的框图。

参考图15,SSD系统600可以包括主机610和SSD 620。SSD 620可以经由信号连接器与主机610交换信号SIG,并且经由电源连接器接收电力PWR。SSD 620可以包括SSD控制器621、辅助电源622和非易失性存储器件(MEM)623_1至623_n。MEM 623_1至623_n可以包括NAND闪存,并且可以连接到多个通道Ch1~Chn。在这种情况下,可以通过使用以上参考图1至图14描述的实施例来实现SSD 620。换句话说,包括在SSD 620中的SSD控制器621可以包括根据上述实施例的读取电平计算模块(RL计算模块)621_1,并且RL计算模块621_1可以控制对MEM 623_1至623_n的最佳读取电平计算操作。根据上述实施例,SSD控制器621可以执行基于从MEM 623_1至623_n读取的多条数据对计数值的计算操作、多个单元计数函数的建模操作、以及基于最佳单元计数函数的最佳读取电平计算操作。

图16是示出根据示例实施例的存储器系统700的框图。

参考图16,存储器系统700可以包括存储器控制器710和存储器件720。存储器件720可以对应于基于多个通道之一与存储器控制器710进行通信的非易失性存储器件之一。例如,存储器件720可以对应于图1中的存储器件200,并且存储器控制器710可以对应于图1中的存储器控制器100。

存储器件720可以包括第一引脚P11至第八引脚P18、存储器接口(I/F)721和存储单元阵列723。存储器I/F 721可以经由第一引脚P11从存储器控制器710接收芯片使能信号nCE。存储器I/F 721可以根据芯片使能信号nCE经由第二引脚P12至第八引脚P18向存储器控制器710发送信号以及从存储器控制器710接收信号。例如,当芯片使能信号nCE处于使能状态(例如,低电平)时,存储器I/F 721可以经由第二引脚P12至第八引脚P18向存储器控制器710发送信号以及从存储器控制器710接收信号。

存储器I/F 721可以经由第二引脚P12至第四引脚P14从存储器控制器710接收命令锁存使能信号CLE、地址锁存使能信号ALE和写入使能信号nWE。存储器I/F 721可以经由第七引脚P17从存储器控制器710接收数据信号DQ,或者可以将数据信号DQ发送到存储器控制器710。可以通过使用数据信号DQ来传输命令CMD、地址ADDR和数据DATA。

存储器I/F 721可以基于写入使能信号nWE的切换定时,从在命令锁存使能信号CLE的使能时段(例如,高电平状态)期间接收到的数据信号DQ获得命令CMD。存储器I/F 721可以基于写入使能信号nWE的切换定时,从在地址锁存使能信号ALE的使能时段(例如,高电平状态)期间接收到的数据信号DQ获得地址ADD。

存储器I/F 721可以经由第五引脚P15从存储器控制器710接收读取使能信号nRE。存储器I/F 721可以经由第六引脚P16从存储器控制器710接收数据选通信号DQS,或者可以将数据选通信号DQS发送到存储器控制器710。

存储器I/F 721可以经由第八引脚P18向存储器控制器710发送就绪/忙碌输出信号nR/B。存储器I/F 721可以通过使用就绪/忙碌输出信号nR/B向存储器控制器710发送关于存储器件720的状态信息。当存储器件720处于忙碌状态时(也就是说,当正在执行存储器件720的内部操作时),存储器I/F 721可以向存储器控制器710发送指示忙碌状态的就绪/忙碌输出信号nR/B。当存储器件720处于就绪状态时(也就是说,当未执行或完成存储器件720的内部操作时),存储器I/F 721可以向存储器控制器710发送指示就绪状态的就绪/忙碌输出信号nR/B。

控制逻辑电路722可以总体控制存储器件720的各种操作。控制逻辑电路722可以接收从存储器I/F 721获得的命令CMD/地址ADDR。控制逻辑电路722可以生成用于根据所接收到的命令CMD/地址ADDR控制存储器件720的其他组件的控制信号。例如,控制逻辑电路722可以将数据DATA编程在存储单元阵列723中,或者可以生成用于从存储单元阵列723读取数据DATA的各种控制信号。

存储器控制器710可以包括第一引脚P21、第二引脚P22、第三引脚P23、第四引脚P24、第五引脚P25、第六引脚P26、第七引脚P27和第八引脚P28以及控制器接口电路(I/F)711。存储器控制器710的第一引脚P21至第八引脚P28可以分别对应于存储器件720的第一引脚P11至第八引脚P18。

根据示例实施例,存储器控制器710可以包括读取电平计算模块,因此,可以执行根据上述实施例的最佳读取电平计算操作。作为示例,可以经由第七引脚P17和P27将通过使用多个读取电平读取的读取数据RD[1:M]从存储器件720提供给存储器控制器710。另外,可以经由第七引脚P17和P27将由存储器控制器710生成的读取电平信息Info_ORL从存储器控制器710提供给存储器件720。

另外,根据实施例的计数操作可以由存储器控制器710或存储器件720执行,作为示例,当计数操作由存储器件720执行时,计数值CNT[1:N]可以经由第七引脚P17和P27从存储器件720提供给存储器控制器710。

虽然已经具体示出并描述了示例实施例,但是将理解,在不脱离所附权利要求的精神和范围的情况下,可以在其中做出形式和细节的各种改变。

技术分类

06120115834241