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

存储器系统以及操作存储器设备的方法

文献发布时间:2023-06-19 16:06:26



本申请要求于2021年1月25日在韩国知识产权局提交的韩国专利申请号10-2021-0010392的优先权,上述申请的全部公开内容通过引用并入本文。

技术领域

本公开涉及存储器系统以及操作存储器设备的方法,并且更具体地涉及能够改进数据的可靠性的存储器系统以及操作存储器设备的方法。

背景技术

近来,用于计算机环境的范式已经被转变为普适计算,这使得计算机系统能够随时随地被使用。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子设备的使用迅速增加。这种便携式电子设备通常使用存储器系统,该存储器系统使用存储器设备,即,数据存储设备。数据存储设备被用作便携式电子设备的主存储设备或辅助存储设备。

使用存储器设备的数据存储设备具有的优点在于:由于没有机械驱动器而稳定性和耐久性优异、信息访问速度非常快、以及功耗低。作为具有这种优点的存储器系统的一个示例,数据存储设备包括通用串行总线(USB)存储器设备、具有各种接口的存储器卡、固态驱动器(SSD)等。

发明内容

根据本公开的一个实施例,一种存储器系统包括:存储器设备,包括多个半导体存储器;以及控制器,被配置成控制存储器设备,以基于被编程在多个半导体存储器中的每个半导体存储器中的数据中的、与特定编程状态相对应的一些数据的失败位数目来选择牺牲块,并且该控制器被配置成对所选择的牺牲块执行垃圾收集操作。

根据本公开的一个实施例,一种操作存储器系统的方法包括:读取存储在存储器块中的数据;执行失败位检查操作,该失败位检查操作检测所读取的数据中的、与特定编程状态相对应的一些数据的失败位,并且对失败位数目进行计数;当失败位数目大于或等于设定数目时,选择该存储器块作为牺牲块;以及对所选择的牺牲块执行垃圾收集操作。

根据本公开的一个实施例,一种操作存储器系统的方法包括:读取存储器块中包括的存储器单元中的、被编程为特定编程状态的存储器单元的数据;执行失败位检查操作,该失败位检查操作对所读取的数据的数目进行计数,并且通过将被计数的数据的数目与基准数目进行比较来对失败位数目进行计数;当失败位数目大于或等于设定数目时,选择该存储器块作为牺牲块;以及对所选择的牺牲块执行垃圾收集操作。

附图说明

图1是图示根据本公开的一个实施例的存储器系统的框图。

图2是图示图1的控制器的配置的框图。

图3是图示图1的半导体存储器的框图。

图4是图示图3的存储器单元阵列的一个实施例的框图。

图5是图示图4中所示的存储器块的电路图。

图6A和图6B是图示图3的存储器块的结构的截面图。

图7是图示存储器单元的阈值电压分布的阈值电压分布图。

图8是图示操作根据本公开的一个实施例的存储器系统的方法的流程图。

图9是图示图8的步骤S820的一个实施例的流程图。

图10是图示图8的步骤S820的另一个实施例的流程图。

图11是图示图8的步骤S840的垃圾收集操作的图。

图12是图示存储器系统的另一个实施例的图。

图13是图示存储器系统的另一个实施例的图。

图14是图示存储器系统的另一个实施例的图。

图15是图示存储器系统的另一个实施例的图。

具体实施方式

根据本说明书或申请中公开的构思的实施例的具体的结构描述或功能描述仅用于描述根据本公开的构思的实施例。根据本公开的构思的实施例可以以各种形式被实施,并且不应当被解释为限于本说明书或申请中描述的实施例。

在下文中,参考附图描述本公开的实施例,以便足够详细地描述以允许本领域普通技术人员容易地实现本公开的技术思想。

本公开的一个实施例提供了一种基于存储器单元的失败位的数目来执行垃圾收集操作的存储器系统,以及一种操作存储器系统的方法。

根据本技术,可以通过以规则的周期间隔对其低温数据保持(LTDR)特性相对较弱的一些数据执行失败位检查操作,并且基于失败位检查操作的结果执行垃圾收集操作,来改进数据的可靠性。

图1是图示根据本公开的一个实施例的存储器系统的框图。

参考图1,存储器系统1000可以包括存储器设备1100和控制器1200。

存储器设备1100可以包括多个半导体存储器100。多个半导体存储器100可以被划分成多个组。

多个半导体存储器100可以包括能够存储数据的多个存储器块,并且多个存储器块中的至少一个存储器块可以被用作内容可寻址存储器(CAM)块。在一个实施例中,CAM块可以存储关于对应的半导体存储器中包括的存储器块的编程完成时间的信息。

在图1中,多个组可以分别通过第一通道至第n通道CH1至CHn与控制器1200通信。稍后参考图3描述每个半导体存储器100。

每个组可以被配置成通过一个公共通道与控制器1200通信。控制器1200可以被配置成通过多个通道CH1至CHn来控制存储器设备1100的多个半导体存储器100。

控制器1200可以连接在主机1400与存储器设备1100之间。控制器1200可以被配置成响应于来自主机1400的请求来访问存储器设备1100。例如,控制器1200可以被配置成响应于从主机1400接收的请求,来控制存储器设备1100的读取操作、写入操作、擦除操作和后台操作。控制器1200可以被配置成提供存储器设备1100与主机1400之间的接口。控制器1200可以被配置成驱动控制存储器设备1100的固件。此外,控制器1200可以对于每个所设置的周期执行存储器设备1100的多个半导体存储器100中的每个半导体存储器的失败位检查操作,并且可以基于失败位检查操作的结果,来控制多个半导体存储器100中的每个半导体存储器的垃圾收集操作。垃圾收集操作可以是如下的操作,该操作从半导体存储器100中包括的多个存储器块中选择存储有效数据的至少一个牺牲块,仅复制存储在被选择的牺牲块中的数据中的有效数据,将有效数据存储在多个存储器块中的处于擦除状态的目标块中,并且然后擦除被选择的牺牲块。

上述存储器系统1000还可以包括缓冲存储器。

主机1400可以控制存储器系统1000。主机1400可以包括便携式电子设备,诸如计算机、PDA、PMP、MP3播放器、相机、便携式摄像机、以及移动电话。主机1400可以通过命令来请求存储器系统1000的写入操作、读取操作、擦除操作等。

在本公开的一个实施例中,当到达所设置的周期时,控制器1200可以控制存储器设备1100来执行失败位检查操作。在本公开的另一个实施例中,多个半导体存储器100中的每个半导体存储器可以基于存储在CAM块中的、关于存储器块的编程完成时间的信息,选择在编程完成之后已经经过其设定时间的存储器块,并且控制器1200可以控制存储器设备1100,以对被选择的存储器块执行失败位检查操作。

在本公开的一个实施例中,在失败位检查操作期间,控制器1200可以检测从多个半导体存储器100中的每个半导体存储器接收的读取数据中的、与特定编程状态相对应的读取数据的失败位,并且可以对所检测的失败位的数目进行计数。在本公开的另一个实施例中,在失败位检查操作期间,半导体存储器100中的每个半导体存储器可以通过使用与特定编程状态相对应的读取电压来执行读取操作,来读取存储在被选择的存储器块中的数据中的、与特定编程状态相对应的数据,并且可以通过将读取数据的数目与设定数目进行比较来对失败位的数目进行计数。即,在本公开的一个实施例中,控制器1200可以对从多个半导体存储器100接收的读取数据中包括的失败位进行检测和计数,并且在本公开的另一个实施例中,多个半导体存储器100中的每个半导体存储器可以从被选择的存储器块读取数据,并且对读取数据中包括的失败位的数目进行计数。

控制器1200和存储器设备1100可以被集成到一个半导体设备中。作为一个示例性实施例,控制器1200和存储器设备1100可以被集成到一个半导体设备中以形成存储器卡。例如,控制器1200和存储器设备1100可以被集成到一个半导体设备中以形成存储器卡,诸如PC卡(个人计算机存储器卡国际协会(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC或MMCmicro)、SD卡(SD、miniSD、microSD或SDHC)和通用闪存(UFS)。

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

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

作为一个示例性实施例,存储器设备1100或存储器系统1000可以被安装为各种类型的封装。例如,存储器设备1100或存储器系统1000可以以诸如层叠封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插封装(PDIP)、华夫包式裸片、晶片形式的裸片、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料度量方形扁平封装(MQFP)、薄型方形扁平封装(TQFP)、小外形集成电路(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级加工堆叠封装(WSP)的方法来被封装和安装。

图2是图示图1的控制器的配置的框图。

参考图2,控制器1200可以包括主机控制器1210、处理器1220、存储器缓冲器1230、错误校正器1240、闪存控制器1250和总线1310。

总线1310可以被配置成提供控制器1200的部件之间的通道。

主机控制器1210可以控制图1的主机1400与存储器缓冲器1230之间的数据传输。作为一个示例,主机控制器1210可以控制将从主机1400输入的数据缓冲到存储器缓冲器1230的操作。作为另一个示例,主机控制器1210可以控制将被缓冲在存储器缓冲器1230中的数据输出到主机1400的操作。主机控制器1210可以包括主机接口。

处理器1220可以控制控制器1200的整体操作并且可以执行逻辑操作。处理器1220可以通过主机控制器1210与图1的主机1400通信,并且可以通过闪存控制器1250与图1的存储器设备1100通信。此外,处理器1220可以控制存储器缓冲器1230。处理器1220可以通过使用存储器缓冲器1230作为操作存储器、高速缓存存储器或缓冲存储器,来控制存储器系统1000的操作。

处理器1220可以包括闪存转换层(FTL,在下文中被称为“FTL”)1221和垃圾收集控制器1222。

FTL 1221可以驱动存储在存储器缓冲器1230中的固件。此外,FTL 1221可以映射物理地址,该物理地址对应于在数据写入操作期间从图1的主机1400输入的逻辑地址。此外,在数据读取操作期间,FTL 1221可以检查映射到从主机1400输入的逻辑地址的物理地址。

垃圾收集控制器1222可以检测多个半导体存储器100中的每个半导体存储器中包括的存储器块中的、在其中失败位的数目在编程完成之后等于或大于设定数目的存储器块,并且可以选择所检测到的存储器块作为垃圾收集操作的牺牲块。垃圾收集控制器1222可以控制多个半导体存储器100,以对被选择的牺牲块执行垃圾收集操作。

垃圾收集控制器1222可以包括周期设置部件1223、失败位比较器1224和牺牲块选择器1225。

周期设置部件1223可以设置失败位检查操作以其被执行的周期,并且可以控制图1的存储器设备1100,以在每个所设置的周期执行失败位检查操作。例如,周期设置部件1223可以将直到对其完成编程操作的存储器单元的低温数据保持(LTDR)特性恶化为止的时间设置为失败位检查操作以其被执行的周期。例如,周期设置部件1223可以将一个月、三个月或六个月设置为失败位检查操作以其被执行的周期。

在一个实施例中,在失败位检查操作期间,失败位比较器1224将从错误校正器1240接收的、从被选择的存储器块读取的数据中的与特定编程状态相对应的数据的失败位的数目与设定数目进行比较。

在另一个实施例中,失败位比较器1224可以从图1的多个半导体存储器100接收存储在存储器块中的、与特定编程状态相对应的数据的失败位数目,并且失败位比较器1224可以将所接收的失败位数目与设定数目进行比较。

失败位比较器1224可以将对应于存储器块的失败位数目与设定数目进行比较,并且输出关于在其中检测到大于设定数目的失败位数目的存储器块的信息。

牺牲块选择器1225可以从失败位比较器1224接收关于在其中检测到大于设定数目的失败位数目的存储器块的信息,并且可以选择在其中检测到大于设定数目的失败位数目的存储器块作为垃圾收集操作的牺牲块。

存储器缓冲器1230可以被用作处理器1220的操作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1230可以存储由处理器1220执行的代码和命令。存储器缓冲器1230可以存储由处理器1220处理的数据。存储器缓冲器1230可以包括静态RAM(SRAM)或动态RAM(DRAM)。存储器缓冲器1230可以存储由处理器1220生成的命令队列。

错误校正器1240可以执行错误校正。错误校正器1240可以基于要通过闪存控制器1250写入到图1的存储器设备1100的数据,来执行错误校正编码(ECC编码)。经错误校正编码的数据可以通过闪存控制器1250被传输到存储器设备1100。错误校正器1240可以对通过闪存控制器1250从存储器设备1100接收的数据执行错误校正解码(ECC解码)。例如,错误校正器1240可以作为闪存控制器1250的部件被包括在闪存控制器1250中。

在一个实施例中,在失败位检查操作期间,错误校正器1240可以从图1的存储器设备1100接收读取数据,检测所接收的数据中的与特定编程状态相对应的数据的失败位,以及对所检测到的失败位的数目进行计数。特定编程状态可以是LTDR特性在其中相对较弱的编程状态,并且可以是多个编程状态中的、阈值电压分布相对较高的编程状态。

闪存控制器1250可以响应于由处理器1220生成的命令队列,来生成并输出控制存储器设备1100的内部命令。在数据写入操作期间,闪存控制器1250可以控制将被缓冲在存储器缓冲器1230中的数据传送并编程到存储器设备1100的操作。作为另一个示例,在读取操作期间,闪存控制器1250可以响应于命令队列,来控制对从存储器设备1100读取并被输出到存储器缓冲器1230的数据进行缓冲的操作。闪存控制器1250可以包括闪存接口。

图3是图示图1的半导体存储器的框图。

参考图3,半导体存储器100可以包括存储器单元阵列110,该存储器单元阵列110包括多个存储器块BLK1至BLKz。半导体存储器100还可以包括外围电路PERI,该外围电路PERI被配置成执行多个存储器块BLK1至BLKz的被选择的页中包括的存储器单元的编程操作、读取操作或擦除操作。外围电路PERI可以包括控制电路120、电压供应电路130、页缓冲器组140、列解码器150、以及输入/输出电路160。

存储器单元阵列110可以包括多个存储器块BLK1至BLKz。多个存储器块BLK1至BLKz中的每个存储器块可以包括多个页。多个页中的每个页可以包括多个存储器单元。在一个实施例中,多个存储器单元可以是非易失性存储器单元。存储器单元中的每个存储器单元可以被配置为能够存储两个数据位的多级单元(MLC)、能够存储三个数据位的三级单元(TLC)、能够存储四个数据位的四级单元(QLC)、或能够存储五个数据位的五级单元(PLC)。在一个实施例中,多个存储器块BLK1至BLKz中的至少一个存储器块BLK1可以被用作CAM块。CAM块可以存储关于半导体存储器100中包括的存储器块BLK1至BLKz中的每个存储器块的编程完成时间的信息。

控制电路120可以输出电压控制信号VCON,以用于响应于通过输入/输出电路160从外部设备输入的命令CMD,来生成执行读取操作、编程操作或擦除操作所需的电压,并且控制电路120可以输出PB控制信号PBCON,以用于基于操作的类型来控制页缓冲器组140中包括的页缓冲器PB1至PBk。此外,控制电路120可以响应于通过输入/输出电路160从外部设备输入的地址信号ADD,来输出行地址信号RADD和列地址信号CADD。

在一个实施例中,在失败位检查操作期间,控制电路120可以控制外围电路PERI来读取存储在与被选择的存储器块的弱字线或所有字线相对应的页中的数据,并且将读取数据传送到图1的控制器1200。

在另一个实施例中,在失败位检查操作期间,控制电路120可以控制外围电路PERI,来读取存储在与被选择的存储器块的弱字线或所有字线相对应的页中的数据中的、与特定编程状态相对应的数据。特定编程状态可以是多个编程状态中的至少一个如下的编程状态,基于存储器单元的阈值电压分布,该编程状态的阈值电压分布相对较高。控制电路120可以将与特定编程状态相对应的数据的数目与设定数目进行比较。当与特定编程状态相对应的数据的数目小于设定数目时,控制电路120可以将和特定编程状态相对应的数据的数目与设定数目之间的差值作为失败位数目传送到图1的控制器1200。

在垃圾收集操作期间,控制电路120可以控制外围电路PERI,来将存储在多个存储器块中的被选择的存储器块(即,牺牲块)中的有效数据编程到擦除状态的存储器块(即,目标块)。当目标块的编程操作完成时,控制电路120可以控制外围电路PERI来擦除牺牲块。更详细地,在垃圾收集操作期间,控制电路120可以控制外围电路PERI,来读取存储在牺牲块中的有效数据并且将有效数据传送到图1的控制器1200。控制电路120可以控制外围电路PERI,来从控制器1200接收有效数据并且将有效数据编程到目标块。从控制器1200接收的有效数据可以是由图2的错误校正器1240对其执行错误校正操作的数据。控制电路120可以控制外围电路PERI,来在对目标块的编程操作期间或者在编程操作完成之后擦除牺牲块。

响应于控制电路120的电压控制信号VCON,电压供应电路130可以向局部线供应存储器单元的编程操作、读取操作和擦除操作所需的操作电压,局部线包括被选择的存储器块的漏极选择线、字线WL和源极选择线。电压供应电路130可以包括电压生成电路和行解码器。

电压生成电路可以响应于控制电路120的电压控制信号VCON,来将存储器单元的编程操作、读取操作和擦除操作所需的操作电压输出到全局线。

响应于控制电路120的行地址信号RADD,行解码器可以将全局线与局部线连接,使得从电压生成电路输出到全局线的操作电压可以被传输到存储器单元阵列110中的被选择的存储器块的局部线。

页缓冲器组140可以包括分别通过位线BL1至BLk连接到存储器单元阵列110的多个页缓冲器PB1至PBk。页缓冲器组140的页缓冲器PB1至PBk可以响应于控制电路120的PB控制信号PBCON,来根据被输入以存储在存储器单元中的数据DATA选择性地对位线BL1至BLk预充电,或者页缓冲器组140的页缓冲器PB1至PBk可以感测位线BL1至BLk的电压或电流量,以从存储器单元读取数据DATA。

列解码器150可以响应于从控制电路120输出的列地址信号CADD,来选择页缓冲器组140中包括的页缓冲器PB1至PBk。即,列解码器150可以响应于列地址信号CADD,来将要被存储在存储器单元中的数据DATA顺序地传输到页缓冲器PB1至PBk。此外,页缓冲器PB1至PBk可以响应于列地址信号CADD而被顺序地选择,使得存储器单元的被锁存在页缓冲器PB1至PBk中的数据DATA可以通过读取操作被输出到外部设备。

基于控制电路120,输入/输出电路160可以将被输入以在编程操作期间存储在存储器单元中的数据DATA传输到列解码器150,以便将数据DATA输入到页缓冲器组140。当列解码器150将从输入/输出电路160传输的数据DATA传输到页缓冲器组140的页缓冲器PB1至PBk时,页缓冲器PB1至PBk可以将输入数据DATA存储在内部锁存器电路中。此外,在读取操作期间,输入/输出电路160可以通过列解码器150将从页缓冲器组140的页缓冲器PB1至PBk传输的数据DATA输出到外部设备。

图4是图示图3的存储器单元阵列的一个实施例的框图。

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

图5是图示图4中所示的存储器块的电路图。

参考图5,每个存储器块可以包括连接在位线BL1至BLk与公共源极线CSL之间的多个串ST1至STk。即,串ST1至STk可以分别连接到对应的位线BL1至BLk,并且可以共同连接到公共源极线CSL。每个串ST1可以包括:具有连接到公共源极线CSL的源极的源极选择晶体管SST、多个存储器单元C01至Cn1、以及具有连接到位线BL1的漏极的漏极选择晶体管DST。存储器单元C01至Cn1可以串联连接在选择晶体管SST与DST之间。源极选择晶体管SST的栅极可以连接到源极选择线SSL,存储器单元C01到Cn1的栅极可以分别连接到字线WL0至WLn,并且漏极选择晶体管DST的栅极可以连接到漏极选择线DSL。

存储器块中包括的存储器单元可以被划分为物理页单元或逻辑页单元。例如,连接到一个字线(例如,WL0)的存储器单元C01至C0k可以构成一个物理页PAGE0。

图6A和图6B是图示图5的存储器块的结构的截面图。

参考图6A,可以堆叠多个字线WL。在此,字线WL可以包括导电材料,诸如多晶硅或钨。此外,字线WL和绝缘层(未示出)可以被交替堆叠。

通道层CHA可以穿过多个字线WL,并且存储器单元可以被定位在通道层CHA和字线WL在其中彼此交叉的区域中。因此,可以沿着通道层CHA堆叠多个存储器单元。

此外,存储器层M可以插入在通道层CHA与字线WL之间。在此,存储器层M可以被形成为围绕通道层CHA的侧壁。因此,所堆叠的存储器单元可以共享存储器层M。此外,存储器层M可以包括与所堆叠的字线WL之间的区域相对应的空间区域。

制造上述存储器块的方法被简要描述如下。首先,在形成包括交替堆叠的第一材料层和第二材料层的堆叠之后,可以形成穿过堆叠的开口。随后,可以在开口中形成存储器层M和通道层CHA。在此,通道层CHA可以具有开放的中心区域或者可以具有完全填充到中心区域的结构。当通道层CHA具有开放的中心区域时,可以在中心区域中填充间隙填充层。随后,可以利用第三材料层(例如,金属层、硅化物层或绝缘层)来代替第一材料层。例如,可以利用包括金属的第三材料层来代替具有牺牲材料(诸如,氮化物)的第一材料层,并且第三材料层可以是字线WL。

根据该制造方法,因为通过使用蚀刻工艺形成开口,所以开口可能由于蚀刻工艺的限制而朝向下部具有较窄的宽度。因此,形成在开口中的通道层CHA的直径也朝向下部减小。在栅极电极在其中围绕通道层的侧壁的栅极全环绕(GAA)结构的存储器单元的情况下,通道层CHA的直径改变对于存储器单元可以具有不同的特性。例如,与多个字线中的被定位在最下部的字线WL相对应的存储器单元的通道层直径D1可以小于基准值Dr,并且与多个字线中的被定位在最上部的字线WL相对应的存储器单元的通道层直径D2可以大于基准值Dr。因此,与其他存储器单元相比,与被定位在最上部和最下部的字线WL相对应的存储器单元可以具有较慢或较快的编程速度,并且由于编程速度偏差,LTDR特性可能易于恶化。因此,在本公开的一个实施例中,连接到如下的存储器单元的字线可以被选择为弱字线,在该存储器单元中,通道层直径比基准值Dr小设定值或小超过设定值,或者通道层直径比基准值Dr大设定值或大超过设定值,并且在失败位检查操作期间,与弱字线相对应的存储器单元的数据可以被读取。

参考图6B,通道层CHA可以包括多个柱P1和P2,并且柱P1和P2中的每个柱可以具有锥形的截面。在这种情况下,在柱P1和P2中的每个柱中,下部可以具有比上部的宽度窄的宽度。在上柱P1和下柱P2在其处连接的部分中,上柱P1的下端可以具有比下柱P2的上端的宽度窄的宽度。因此,在柱P1和P2中的每个柱中,通过将通道层CHA的直径和基准值Dr进行比较,连接到如下的存储器单元的字线可以被选择为弱字线,在该存储器单元中,通道层直径比基准值Dr大设定值或大超过设定值,或者通道层直径比基准值Dr小设定值或小超过设定值。

图7是图示存储器单元的阈值电压分布的阈值电压分布图。

参考图7,三级单元可以具有分别对应于一个擦除状态E和七个编程状态P1至P7的阈值电压状态。擦除状态E和第一编程状态至第七编程状态P1至P7可以具有对应的位代码。根据需要,可以将各种位代码分配给擦除状态E和第一编程状态至第七编程状态P1至P7。

例如,可以将1/1/1的位代码分配给擦除状态E中的LSB/CSB/MSB,可以将1/1/0的位代码分配给第一编程状态P1中的LSB/CSB/MSB,可以将1/0/0的位代码分配给第二编程状态P2中的LSB/CSB/MSB,可以将0/0/0的位代码分配给第三编程状态P3中的LSB/CSB/MSB,可以将0/1/0的位代码分配给第四编程状态P4中的LSB/CSB/MSB,可以将0/1/1的位代码分配给第五编程状态P5中的LSB/CSB/MSB,可以将0/0/1的位代码分配给第六编程状态P6中的LSB/CSB/MSB,并且可以将1/0/1的位代码分配给第七编程状态P7中的LSB/CSB/MSB。

可以基于第一读取电压至第七读取电压R1至R7来划分阈值电压状态中的每个阈值电压状态。

当存储器单元的阈值电压分布相对较高时,LTDR特性很可能恶化。因此,在本公开的一个实施例中,TLC的擦除状态E和多个编程状态P1至P7中的具有相对较高阈值电压分布的第七编程状态P7可以被选择为特定编程状态。即,在失败位检查操作期间,可以通过读取与具有相对较高阈值电压分布的特定编程状态相对应的数据来检测失败位。

在以上描述中,选择TLC的特定编程状态被作为示例描述,但这是示例性的。在QLC的情况下,可以选择具有相对较高阈值电压分布的两个编程状态作为特定编程状态,并且在PLC的情况下,可以选择具有相对较高阈值电压分布的三个编程状态作为特定编程状态。

图8是图示操作根据本公开的一个实施例的存储器系统的方法的流程图。

参考图1至图8描述操作根据本公开的一个实施例的存储器系统的方法如下。

在本公开的一个实施例中,作为示例描述了在其中通过TLC方法对存储器设备1100的多个半导体存储器100中包括的存储器单元进行编程的情况。

与完成编程的存储器块的一个字线相对应的至少一个页中包括的存储器单元可以存储与擦除状态E和多个编程状态P1至P7中的一个状态相对应的数据。此外,在编程操作期间,半导体存储器100可以以随机数据编程方法对数据进行编程。在该情况下,在对应于一个字线的至少一个页中包括的存储器单元中,要被编程为擦除状态E和多个编程状态P1至P7中的每个状态的存储器单元的数目可以彼此相等。即,一个页中包括的存储器单元的1/8可以被编程为作为特定编程状态的第七编程状态P7。

在步骤S810中,确定对于存储器系统1000是否已经达到预定的周期。例如,控制器1200的垃圾收集控制器1222可以确定是否已经达到由周期设置部件1223设置的周期。

在步骤S820中,当在步骤S810中确定存储器系统1000的时间已经达到所设置的周期时,可以对存储器设备1100的多个半导体存储器100中的每个半导体存储器中包括的多个存储器块BLK1至BLKz中的、在其中编程操作已经被执行的处于编程状态的存储器块执行失败位检查操作。

例如,控制器1200可以从多个半导体存储器100接收存储在与处于编程状态的存储器块的弱字线相对应的页中的数据,可以检测所接收的数据中的与特定编程状态相对应的数据的失败位,并且可以对失败位数目进行计数。

例如,存储器设备1100的多个半导体存储器100中的每个半导体存储器可以读取存储在与处于编程状态的存储器块的弱字线相对应的页中的数据中的、与特定编程状态相对应的数据,并且将读取数据的数目与设定数目之间的差值作为失败位数目传送到控制器1200。

在步骤S830中,控制器1200可以选择在其中失败位数目大于或等于设定数目的存储器块作为牺牲块。例如,控制器1200的失败位比较器可以将与处于编程状态的存储器块相对应的失败位数目与设定数目进行比较,并且输出关于在其中检测到大于设定数目的失败位数目的存储器块的信息。牺牲块选择器1225可以从失败位比较器1224接收关于在其中检测到大于设定数目的失败位数目的存储器块的信息,并且可以选择在其中检测到大于设定数目的失败位数目的存储器块作为垃圾收集操作的牺牲块。

在步骤S840中,可以对被选择为牺牲块的存储器块执行垃圾收集操作。例如,存储器设备1100读取存储在被选择为牺牲块的存储器块中的有效数据,并且将有效数据传送到控制器1200。在对所接收的有效数据执行错误校正操作之后,控制器1200将数据传送到多个半导体存储器100中的、包括被选择为目标块的存储器块的被选择的半导体存储器。被选择的半导体存储器可以将从控制器1200接收的数据编程到目标块。此后,半导体存储器100可以擦除牺牲块。

此后,当存储器系统1000的时间再次达到所设置的周期时,可以从上述步骤S810再次执行操作。

在上述实施例中,描述了一个如下的实施例,在该实施例中,对于存储器系统的每个预定的周期执行失败位检查操作,并且基于失败位检查操作的结果来执行垃圾收集操作,但是不限于此。例如,可以基于被存储在半导体存储器的CAM块中的、关于半导体存储器中包括的存储器块的编程完成时间的信息,在存储器块的编程完成之后已经经过设定时间(例如,一个月、三个月或六个月)之后,执行对对应存储器块的失败位检查操作,并且可以基于失败位检查操作的结果来执行垃圾收集操作。

如上所述,在本公开的一个实施例中,在被编程到对应于弱字线的页的数据中,与在其中LTDR特性弱的特定编程状态相对应的数据的失败位可以被检查,并且可以根据检查结果来执行垃圾收集操作。因此,可以提高被编程到存储器设备1100的数据的可靠性。

图9是图示图8的步骤S820的一个实施例的流程图。

参考图1至图7和图9更详细地描述步骤S820的一个实施例如下。

在步骤S821中,存储器设备1100中包括的多个半导体存储器100中的每个半导体存储器可以读取存储在与多个存储器块BLK1至BLKz中的、在其中执行了编程操作的处于编程状态的存储器块的弱字线相对应的页中的数据。如图6A或图6B中所示,弱字线可以是连接到如下的存储器单元的字线,在该存储器单元中,存储器单元的通道层直径比基准值Dr小设定值或小超过设定值,或者存储器单元的通道层直径比基准值Dr大设定值或大超过设定值。读取数据可以被传送到控制器1200。

在步骤S822中,从多个半导体存储器100读取的数据中的、与特定编程状态(例如,P7)相对应的数据的失败位可以被检测。

例如,控制器1200的闪存控制器1250可以从多个半导体存储器100接收数据,并且可以将数据传送到错误校正器1240。错误校正器1240可以对通过闪存控制器1250接收的数据执行错误校正解码(ECC解码)。例如,错误校正器1240可以通过闪存控制器1250接收从多个半导体存储器100读取的数据,并且可以检测所接收的数据中的与特定编程状态P7相对应的数据的失败位。

在步骤S823中,错误校正器1240可以对与特定编程状态P7相对应的数据的所检测到的失败位的数目进行计数,并且可以将失败位的数目输出到垃圾收集控制器1222。

图10是图示图8的步骤S820的另一个实施例的流程图。

参考图1至图7和图10更详细地描述步骤S820的另一个实施例如下。

在步骤S824中,存储器设备1100中包括的多个半导体存储器100中的每个半导体存储器可以读取存储在与如下的弱字线相对应的页中的数据中的与特定编程状态相对应的数据,该弱字线被包括在多个存储器块BLK1至BLKz中的、对其已经执行了编程操作的存储器块中。例如,通过使用图7的读取电压R7执行读取操作,可以选择性地仅读取具有比读取电压R7高的阈值电压的存储器单元的数据。

在步骤S825中,控制电路120可以对与特定编程状态P7相对应的数据的数目进行计数。

在步骤S826中,控制电路120可以将与特定编程状态P7相对应的被计数的数据的数目与设定数目进行比较,并且当与特定编程状态相对应的数据的数目小于设定数目时,控制电路120可以对与特定编程状态相对应的数据的数目与设定数目之间的差值进行计数,并且将该差值作为失败位数目传送到图1的控制器1200。设定数目可以是一个页中包括的存储器单元的数目的1/8。

图11是图示图8的步骤S840的垃圾收集操作的图。

在本公开的一个实施例中,可以通过将半导体存储器的A牺牲块Victim A Block和B牺牲块Victim B Block的有效数据存储在目标块Target Block中来执行垃圾收集操作。

参考图11,A牺牲块Victim A Block中包括的多个页可以包括在其中存储有效数据的页Valid、以及在其中存储无效数据的页Invalid。此外,B牺牲块Victim B Block中包括的多个页可以包括在其中存储有效数据的页Valid、以及在其中存储无效数据的页Invalid。

由于目标块Target Block选择存储器块中的空闲块中的一个空闲块,因此目标块Target Block可以由在其中未存储数据的、擦除状态的页free构成。

在垃圾收集操作期间,A牺牲块Victim A Block和B牺牲块Victim B Block中包括的多个页中的、在其中存储有效数据的页Valid的数据可以被读取,并且读取数据可以被传送到图2的错误校正器1240。错误校正器1240可以对所接收的数据执行错误校正操作,并且经错误校正的数据可以被存储在存储器缓冲器1230中。此后,存储在存储器缓冲器1230中的有效数据可以以页为单位被存储在目标块Target Block中。即,存储在多个牺牲块中的有效数据可以被复制并存储在目标块中。因此,存储在多个牺牲块中的所有有效数据可以被存储在其数目小于牺牲块的数目的目标块中。

将上述A牺牲块Victim A Block和B牺牲块Victim B Block的有效数据存储在目标块中的A牺牲块Victim A Block和B牺牲块Victim B Block可以被擦除并且变为空闲块。

图12是图示存储器系统的另一个实施例的图。

参考图12,存储器系统30000可以被实现为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)、或无线通信设备。存储器系统30000可以包括存储器设备1100和能够控制存储器设备1100的操作的控制器1200。在处理器3100的控制下,控制器1200可以控制数据访问操作,例如,存储器设备1100的编程操作、擦除操作或读取操作。

在控制器1200的控制下,被编程在存储器设备1100中的数据可以通过显示器3200被输出。

无线电收发器3300可以通过天线ANT发射和接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换为可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号,并且将经处理的信号传送到控制器1200或显示器3200。控制器1200可以将由处理器3100处理的信号编程到存储器设备1100。此外,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并且通过天线ANT将经转换的无线电信号输出到外部设备。输入设备3400可以是能够输入用于控制处理器3100的操作的控制信号或要由处理器3100处理的数据的设备。输入设备3400可以被实现为指点设备(诸如触摸板或计算机鼠标)、小键盘或键盘。处理器3100可以控制显示器3200的操作,以便可以通过显示器3200输出从控制器1200输出的数据、从无线电收发器3300输出的数据、或从输入设备3400输出的数据。

根据一个实施例,能够控制存储器设备1100的操作的控制器1200可以被实现为处理器3100的一部分,并且还可以被实现为与处理器3100分离的芯片。此外,控制器1200可以通过图2中所示的控制器的一个示例来被实现。

图13是图示存储器系统的另一个实施例的图。

参考图13,存储器系统40000可以被实现为个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、或MP4播放器。

存储器系统40000可以包括存储器设备1100和能够控制存储器设备1100的数据处理操作的控制器1200。

处理器4100可以根据通过输入设备4200输入的数据,通过显示器4300来输出存储在存储器设备1100中的数据。例如,输入设备4200可以被实现为指点设备(诸如触摸板或计算机鼠标)、小键盘或键盘。

处理器4100可以控制存储器系统40000的整体操作,并且可以控制控制器1200的操作。根据一个实施例,能够控制存储器设备1100的操作的控制器1200可以被实现为处理器4100的一部分,或者可以被实现为与处理器4100分离的芯片。此外,控制器1200可以通过图2中所示的控制器的一个示例来被实现。

图14是图示存储器系统的另一个实施例的图。

参考图14,存储器系统50000可以被实现为图像处理设备,例如,数码相机、设置有数码相机的便携式电话、设置有数码相机的智能电话、或设置有数码相机的平板PC。

存储器系统50000可以包括存储器设备1100和能够控制存储器设备1100的数据处理操作(例如,编程操作、擦除操作或读取操作)的控制器1200。

存储器系统50000的图像传感器5200可以将光学图像转换成数字信号。经转换的数字信号可以被传送到处理器5100或控制器1200。在处理器5100的控制下,经转换的数字信号可以通过显示器5300被输出,或通过控制器1200被存储在存储器设备1100中。此外,在处理器5100或控制器1200的控制下,存储在存储器设备1100中的数据可以通过显示器5300被输出。

根据一个实施例,能够控制存储器设备1100的操作的控制器1200可以被实现为处理器5100的一部分,或者可以被实现为与处理器5100分离的芯片。此外,控制器1200可以通过图2中所示的控制器的一个示例来被实现。

图15是图示存储器系统的另一个实施例的图。

参考图15,存储器系统70000可以被实现为存储器卡或智能卡。存储器系统70000可以包括存储器设备1100、控制器1200和卡接口7100。

控制器1200可以控制存储器设备1100与卡接口7100之间的数据交换。根据一个实施例,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是不限于此。此外,控制器1200可以通过图2中所示的控制器的一个示例来被实现。

卡接口7100可以根据主机60000的协议来为主机60000与控制器1200之间的数据交换提供接口。根据一个实施例,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。在此,卡接口可以指代能够支持由主机60000使用的协议的硬件、安装在硬件中的软件、或信号传输方法。

当存储器系统70000连接到主机60000(诸如,PC、平板PC、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件、或数字机顶盒)的主机接口6200时,接口6200可以在微处理器6100的控制下,通过卡接口7100和控制器1200执行与存储器设备1100的数据通信。

虽然已经参考有限的实施例和附图描述了本公开,但是本公开不限于上述实施例,根据所公开的描述,本公开所属领域的技术人员可以进行各种改变和修改。

技术分类

06120114707299