存储器装置及其操作方法和包括存储器装置的存储器系统与流程

文档序号:18904313发布日期:2019-10-18 22:27阅读:259来源:国知局
存储器装置及其操作方法和包括存储器装置的存储器系统与流程

本公开的各种实施方式总体上涉及一种存储器装置、具有该存储器装置的存储器系统以及操作该存储器装置的方法。



背景技术:

最近,计算机环境的范式已转换为普适计算,以使得计算机系统可随时随地使用。因此,诸如移动电话、数字相机和笔记本计算机的便携式电子装置的使用快速增加。通常,这些便携式电子装置使用采用存储器装置的存储器系统,换言之,使用数据存储装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。

使用存储器装置的数据存储装置提供以下优点:由于不存在机械驱动部件,所以稳定性和耐久性优异,信息访问速度非常高,并且功耗低。作为具有这些优点的存储器系统的示例,数据存储装置包括通用串行总线(usb)存储器装置、具有各种接口的存储卡、固态驱动器(ssd)等。



技术实现要素:

本公开的实施方式可提供一种存储器装置。该存储器装置可包括:存储器单元阵列,其被配置为存储数据;外围电路,其被配置为对存储器单元阵列执行编程操作;以及控制逻辑,其被配置为通过控制外围电路来执行编程操作并在编程操作之后执行状态检查操作。这里,控制逻辑可被配置为基于确定状态检查操作已通过,通过将编程操作中所使用的编程脉冲数与第一预设范围进行比较来执行编程脉冲数比较操作。

本公开的实施方式可提供一种存储器系统。该存储器系统可包括被配置为执行编程操作的存储器装置。该存储器系统可包括存储控制器,该存储控制器被配置为控制存储器装置的编程操作并接收关于编程操作的状态信息。存储器装置可被配置为通过针对编程操作执行状态检查操作和编程脉冲数比较操作来生成状态信息。

本公开的实施方式可提供一种操作存储器装置的方法。该方法可包括以下步骤:执行编程操作;针对编程操作执行状态检查操作;以及执行当状态检查操作的结果被确定为通过时,确定编程操作中所使用的编程脉冲数在第一预设范围之内还是在第一预设范围之外的编程脉冲数比较操作。

附图说明

图1是示出根据本公开的实施方式的存储器系统的图。

图2是示出图1的存储器装置的图。

图3是示出图2的状态电路的图。

图4是示出图2的存储器单元阵列的实施方式的框图。

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

图6是示出根据本公开的实施方式的存储器系统的操作方法的流程图。

图7是示出根据本公开的实施方式的存储器系统的操作方法的流程图。

图8是示出存储器单元的阈值电压分布以用于说明设定的读电压的图。

图9是示出存储器系统的实施方式的图。

图10是示出存储器系统的实施方式的图。

图11是示出存储器系统的实施方式的图。

图12是示出存储器系统的实施方式的图。

具体实施方式

本公开的技术精神可按照各种方式改变,并且可被实现为具有各个方面的实施方式。以下,将通过一些实施方式描述本公开,以使得本领域技术人员可容易地实践本公开的实施方式。

将理解,尽管本文中可使用术语“第一”和/或“第二”来描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于区分一个元件与另一元件。例如,在不脱离本公开的教导的情况下,下面所讨论的第一元件可被称为第二元件。类似地,第二元件也可被称为第一元件。

将理解,当元件被称为“联接”或“连接”到另一元件时,其可直接联接或连接到另一元件,或者它们之间可存在中间元件。相反,应该理解,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。说明元件之间的关系的其它表达,例如“在...之间”、“直接在...之间”、“与...相邻”或“与...直接相邻”应该以相同的方式解释。

本文所使用的术语仅是为了描述特定实施方式,而非旨在限制。在本公开中,除非上下文另外清楚地指示,否则单数形式也旨在包括复数形式。将进一步理解,当在本说明书中使用时,术语“包括”、“包含”、“具有”等指定所述特征、数字、步骤、操作、元件、组件和/或其组合的存在,但不排除一个或更多个其它特征、数字、步骤、操作、元件、组件和/或其组合的存在或添加。

本公开的各种实施方式可涉及一种存储器装置、具有该存储器装置的存储器系统以及该存储器装置的操作方法,其可利用存储器装置的编程操作中所使用的编程脉冲数来确定最终状态检查的结果。

图1是示出根据本公开的实施方式的存储器系统的图。

参照图1,存储器系统1000可包括存储数据的存储器装置1100以及在主机2000的控制下控制存储器装置1100的存储控制器1200。

主机2000能够使用诸如高速外围组件互连(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)或串行附接scsi(sas)的接口协议来与存储器系统1000通信。另外,主机2000与存储器系统1000之间的接口协议不限于上述示例,可以是诸如通用串行总线(usb)、多媒体卡(mmc)、增强型小型磁盘接口(esdi)和集成驱动电子设备(ide)接口协议的各种接口协议中的一种。

存储器装置1100响应于存储控制器1200的控制而操作。在实施方式中,存储器装置1100可以是闪存装置。存储器装置1100可包括存储器单元阵列,该存储器单元阵列包括多个存储器块。

存储器装置1100可通过通道从存储控制器1200接收命令cmd和地址add,并且可访问存储器单元阵列中的通过地址add选择的区域。即,存储器装置1100对通过地址add选择的区域执行与命令cmd对应的内部操作。例如,存储器装置1100可响应于与编程操作对应的命令cmd、地址add和数据data对所选存储器块执行编程操作。此外,存储器装置1100可在编程操作已经完成之后执行状态检查操作,并且可将状态检查操作的结果作为状态信号输出到存储控制器1200。

存储控制器1200可控制存储器系统1000的总体操作,并且可控制主机2000与存储器装置1100之间的数据交换。例如,通过响应于从主机2000接收的请求而控制存储器装置1100,存储控制器1200可对数据进行编程,读取数据,或者擦除编程的数据。例如,存储控制器1200可响应于从主机2000接收的请求将与总体操作对应的命令cmd、地址add和数据data输出到存储器装置1100,并且可从存储器装置1100接收数据data并将数据输出到主机2000。此外,当从主机2000接收到与编程操作对应的命令cmd和数据data时,存储控制器1200可将数据data随机化,并且可将随机化的数据输出到存储器装置1100。例如,当存储器装置1100按照多级单元(mlc)型编程时,存储控制器1200可将从主机2000接收的数据data随机化,并且可将所接收的数据转换为随机数据,其中第一数据至第四数据(00,01,10,11)具有相等数量的比特。此外,当存储器装置1100按照三级单元(tlc)型编程时,存储控制器1200可将从主机2000接收的数据data随机化,并且可将所接收的数据转换为随机数据,其中第一数据至第八数据(000,001,010,011,100,101,110,111)具有相等数量的比特。

存储控制器1200可从存储器装置1100接收状态信号,并且可基于状态信号来确定并存储包括在存储器装置1100中的多个存储器块的状态。例如,存储控制器1200可基于状态信号来存储包括在存储器装置1100中的多个存储器块的状态信息,并且可根据状态信息确定各个存储器块是正常存储器块或坏块。被确定为坏块的各个存储器块很可能将在下一总体操作中发生错误,因此,在下一总体操作中可在选择中排除该存储器块。

存储控制器1200可被配置为包括纠错块1210。纠错块1210可检测并纠正从存储器装置1100接收的数据data中的错误。由纠错块1210执行的纠错功能受到从存储器装置1100接收的数据中所包含的错误比特数限制。当从存储器装置接收的数据中所包含的错误比特数小于特定值时,纠错块1210执行错误检测和纠正功能。当从存储器装置1100接收的数据中所包含的错误比特数大于特定值时,无法执行错误检测和纠正功能,并且存储器装置1100的总体操作可能失败。当在编程操作之后执行下一总体操作时上述错误比特数可增加,并且当在编程操作中的编程脉冲数落在预设范围之外的情况下执行下一总体操作时上述错误比特数可增加。其原因在于,当包括在存储器装置1100中的存储器单元是易损存储器单元时,存储器单元可由落在预设范围之外的编程脉冲数编程。

本文中针对参数使用的词语“预设”(例如,预设范围)意指在该参数用在处理或算法中之前确定该参数的值。对于一些实施方式,在处理或算法开始之前确定参数的值。在其它实施方式中,在处理或算法期间但在参数用在处理或算法中之前确定参数的值。

图2是示出图1的存储器装置的图。

参照图2,存储器装置1100可包括存储有数据的存储器单元阵列1110。存储器装置1100可包括外围电路1150,外围电路1150被配置为执行将数据存储在存储器单元阵列1110中的编程操作、输出所存储的数据的读操作、检查包括在存储器单元阵列1110中的存储器块blk1至blkz的状态的状态检查操作、以及擦除所存储的数据的擦除操作。此外,存储器装置1100可根据状态检查操作的结果执行比较编程脉冲数的操作和比较数据条数的操作。

存储器装置1100可包括控制逻辑1160,控制逻辑1160在存储控制器(例如,图1的1200)的控制下控制外围电路1150。

存储器单元阵列1110可包括多个存储器块blk1至blkz(其中z是正整数)。存储器块blk1至blkz通过字线wl联接到地址解码器1120。存储器块blk1至blkz通过位线bl1至blm(其中m是正整数)联接到读写电路1130。存储器块blk1至blkz中的每一个包括多个存储器单元。在实施方式中,多个存储器单元可以是非易失性存储器单元。

在一些实施方式中,外围电路1150可包括地址解码器1120、读写电路1130和电压发生单元1140。在其它实施方式中,外围电路1150可包括地址解码器1120、读写电路1130和电压发生单元1140以及控制逻辑。

地址解码器1120通过字线wl联接到存储器单元阵列1110。可在控制逻辑1160的控制下操作地址解码器1120。地址解码器1120通过设置在存储器装置1100中的输入/输出缓冲器(未示出)接收地址add。从存储控制器(例如,图1的1200)提供地址add。

在编程操作期间,地址解码器1120可将所接收的地址add当中的行地址解码,将电压发生单元1140所生成的编程电压vpgm施加到响应于解码的行地址从多条字线wl当中选择的字线,并将通过电压vpass施加到剩余字线(即,未选字线)。此外,在读操作期间,地址解码器1120可将所接收的地址add当中的行地址解码,将电压发生单元1140所生成的读电压vread施加到响应于解码的行地址从多条字线wl当中选择的字线,并将通过电压vpass施加到剩余字线(即,未选字线)。

地址解码器1120可将所接收的地址add当中的列地址解码。地址解码器1120将解码的列地址yi发送到读写电路1130。

存储器装置1100的编程操作和读操作各自基于页执行。当请求读操作和编程操作中的每一个时接收的地址add可包括块地址、行地址和列地址。地址解码器1120可根据块地址和行地址选择一个存储器块和一条字线。列地址可由地址解码器1120解码,然后可被提供给读写电路1130。

读写电路1130可包括多个页缓冲器pb1至pbm(其中m是正整数)。多个页缓冲器pb1至pbm分别通过位线bl1至blm联接到存储器单元阵列1110。页缓冲器pb1至pbm中的每一个可在编程操作中暂时地存储要编程到存储器单元的数据data,并且可根据暂时地存储的数据来控制位线bl1至blm中的对应一条的电位。页缓冲器pb1至pbm中的每一个可在读操作期间感测位线bl1至blm中的对应一条的电位,然后可读取并输出数据data。读写电路1130可在编程操作之后执行的状态检查操作期间检查包括在所选存储器块的所选页中的存储器单元的编程状态,并且可将编程操作失败的存储器单元的数量作为失败比特输出到控制逻辑1160。在状态检查操作之后将编程操作已完成的所选存储器块的所选页中的第一数据和第二数据的条数彼此比较的数据条数比较操作期间,读写电路1130可感测对应位线bl1至blm的电位,然后将第一数据(第1data)和第二数据(第2data)输出到控制逻辑1160。可响应于控制逻辑1160的控制而操作读写电路1130。

电压发生单元1140可生成编程操作所需的编程电压vpgm和通过电压vpass。另外,电压发生单元1140可生成读操作所需的读电压vread和通过电压vpass。编程电压vpgm以按照阶跃电压逐渐增大的多个脉冲的形式输出。即,在编程操作期间,根据增量阶跃脉冲编程(ispp)方案依次生成按照阶跃电压逐渐增大的多个编程电压。

控制逻辑1160联接到地址解码器1120、读写电路1130和电压发生单元1140。控制逻辑1160可响应于从存储控制器(例如,图1的1200)接收的命令cmd而控制存储器装置1100的总体操作。

控制逻辑1160可包括总体操作控制电路1170和状态电路1180。

总体操作控制电路1170可响应于从存储控制器(例如,图1的1200)接收的命令cmd而控制外围电路1150。例如,当接收到与编程操作对应的命令cmd时,总体操作控制电路1170可通过控制外围电路1150来对存储器单元阵列1110执行编程操作,而当接收到与读操作对应的命令cmd时,总体操作控制电路1170可通过控制外围电路1150来对存储器单元阵列1110执行读操作。

在编程操作已经完成之后,状态电路1180可对存储器单元阵列1110执行状态检查操作、比较脉冲数的操作(以下也称为“脉冲数比较操作”)以及比较数据条数的操作(以下也称为“数据条数比较操作”),可生成所选存储器块的状态信号status,并且可将状态信号status输出到存储控制器(例如,图1的1200)。

图3是示出图2的状态电路的图。

参照图3,状态电路1180可包括内部控制电路1181、检查电路1182、编程脉冲比较电路1183、数据比较电路1184和状态信号发生电路1185。

内部控制电路1181可在编程操作已经完成之后输出用于控制检查电路1182的第一控制信号c1,然后可控制检查电路1182对编程操作已完成的所选存储器块的所选页执行状态检查操作。当基于从检查电路1182输出的第一子信号s1确定状态检查操作的结果是通过时,内部控制电路1181可输出用于控制编程脉冲比较电路1183的第二控制信号c2,然后可控制编程脉冲比较电路1183确定对所选页执行的编程操作中所使用的编程脉冲数是落在预设范围内还是落在预设范围之外。当基于从编程脉冲比较电路1183输出的第二子信号s2确定编程操作中所使用的编程脉冲数落在预设范围内时,内部控制电路1181可输出用于控制数据比较电路1184的第三控制信号c3,然后可控制数据比较电路1184确定使用设定的读电压从所选页读取的第一数据和第二数据之比是落在预设范围内还是落在预设范围之外。

检查电路1182可响应于从内部控制电路1181输出的第一控制信号c1而执行状态检查操作。执行状态检查操作,使得编程操作已完成的所选存储器块的所选页中的失败比特数(即,发生编程错误的存储器单元的数量)被计数,并且使得当所计数的失败比特数大于使用纠错块(例如,图1的1210)可纠正的错误检查和纠正或纠错码(ecc)的最大允许比特数时,状态检查操作被确定为已经失败,而当所计数的失败比特数小于或等于ecc的最大允许比特数时,状态检查操作被确定为已经通过。检查电路1182输出指示失败或通过结果的第一子信号s1。可响应于从主机(例如,图1的2000)接收的请求而设定ecc的最大允许比特数。

编程脉冲比较电路1183可响应于从内部控制电路1181输出的第二控制信号c2而执行比较编程脉冲数的操作。编程脉冲比较电路1183可确定对编程操作已完成的所选存储器块的所选页执行的编程操作中所使用的编程脉冲数是落在预设范围内还是预设范围之外,并且可根据确定的结果生成并输出第二子信号s2。预设范围可基于在正常编程操作中施加的编程脉冲数来设定,并且例如可以是从15至20的范围。

数据比较电路1184可响应于从内部控制电路1181输出的第三控制信号c3而执行将第一数据(第1data)的条数与第二数据(第2data)的条数进行比较的数据条数比较操作。数据比较电路1184可确定使用设定的读电压从编程操作已完成的所选存储器块的所选页读取的第一数据(第1data)与第二数据(第2data)之比是落在预设范围内还是预设范围之外,并且可根据确定的结果生成并输出第三子信号s3。例如,预设范围可以是第一数据与第二数据之比在从4:6至6:4的范围内的范围。

状态信号发生电路1185可基于从检查电路1182输出的第一子信号s1、从编程脉冲比较电路1183输出的第二子信号s2以及从数据比较电路1184输出的第三子信号s3生成状态信号status(即,包括状态信息),并且可将状态信号status输出到存储控制器(例如,图1的1200)。例如,当分别基于第一子信号s1、第二子信号s2和第三子信号s3,确定状态检查操作已通过,并且作为编程脉冲数比较操作的结果确定编程脉冲数落在预设范围内并且作为数据条数比较操作的结果确定第一数据与第二数据之比落在预设范围内时,状态信号发生电路1185可确定发生状态通过,并且可生成并输出与状态通过对应的状态信号status。当分别基于第一子信号s1、第二子信号s2和第三子信号s3,确定状态检查操作已失败,并且作为编程脉冲数比较操作的结果确定编程脉冲数落在预设范围之外或者作为数据条数比较操作的结果确定第一数据与第二数据之比落在预设范围之外时,状态信号发生电路1185可确定发生状态失败,并且可生成并输出与状态失败对应的状态信号status。例如,当分别基于第一子信号s1和第二子信号s2,确定状态检查操作已通过并且作为编程脉冲数比较操作的结果确定编程脉冲数落在预设范围内时,状态信号发生电路1185可确定发生状态通过,并且可生成并输出与状态通过对应的状态信号status。当分别基于第一子信号s1和第二子信号s2,确定状态检查操作已失败或者作为编程脉冲数比较操作的结果确定编程脉冲数落在预设范围之外时,状态信号发生电路1185可确定发生状态失败,并且可生成并输出与状态失败对应的状态信号status。

图4是示出图2的存储器单元阵列的实施方式的框图。

参照图4,存储器单元阵列1110包括多个存储器块blk1至blkz。各个存储器块具有三维(3d)结构。各个存储器块可包括层叠在基板上的多个存储器单元。所述多个存储器单元布置在+x、+y和+z方向上。各个存储器块的结构将在下面参照图5描述。

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

尽管在图4中,存储器单元阵列可被配置为包括多个存储器块blk1至blkz,但为了例示和描述方便,图5中仅代表性地示出存储器块blk1和存储器块blk2。存储器块blk1和存储器块blk2具有共享位线bl1至blm和公共源极线csl的结构。

参照图5,存储器块blk1和存储器块blk2联接到位线bl1至blm。

存储器块blk1包括多个单元串st1至stm。多个单元串st1至stm分别联接在多条位线bl1至blm与公共源极线csl之间。单元串st1至stm中的每一个包括源极选择晶体管sst、多个串联联接的存储器单元c0至cn以及漏极选择晶体管dst。源极选择晶体管sst联接到源极选择线ssl1。多个存储器单元c0至cn分别联接到字线wls。漏极选择晶体管dst联接到漏极选择线dsl1。公共源极线csl联接到源极选择晶体管sst的源极。位线bl1至blm中的每一条联接到对应漏极选择晶体管dst的漏极。联接到同一字线的存储器单元被定义为一个页。

存储器块blk2可被配置为具有与存储器块blk1相同的结构。即,存储器块blk2包括多个单元串st1至stm,并且所述多个单元串st1至stm分别联接在多条位线bl1至blm与公共源极线csl之间。单元串st1至stm中的每一个包括源极选择晶体管sst、多个串联联接的存储器单元c0至cn以及漏极选择晶体管dst。源极选择晶体管sst联接到源极选择线ssl2。多个存储器单元c0至cn分别联接到字线wls。漏极选择晶体管dst联接到漏极选择线dsl2。公共源极线csl联接到源极选择晶体管sst的源极。位线bl1至blm中的每一条联接到对应漏极选择晶体管dst的漏极。

如上所述,存储器块blk1和存储器块blk2可被配置为具有相似的结构,并且分别联接到存储器块blk1和blk2的漏极选择线dsl1和dsl2以及源极选择线ssl1和ssl2可被设计为彼此电隔离。

图6是示出根据本公开的实施方式的存储器系统的操作方法的流程图。

根据本公开的实施方式的存储器系统的操作方法将参照图1至图6描述。

当从主机2000接收到对编程操作的请求时,在步骤s610,存储控制器1200可响应于来自主机2000的请求将与编程操作对应的命令cmd、地址add和数据data输出到存储器装置1100。

在步骤s620,存储器装置1100可响应于从存储控制器1200接收的命令cmd、地址add和数据data执行编程操作。

例如,读写电路1130的多个页缓冲器pb1至pbm中的每一个可在编程操作期间暂时地存储要编程到存储器单元的数据data,并且可根据暂时地存储的数据来控制位线bl1至blm中的对应一条的电位。电压发生单元1140可生成编程操作所需的编程电压vpgm和通过电压vpass。在编程操作期间,地址解码器1120可将所接收的地址add当中的行地址解码,将电压发生单元1140所生成的编程电压vpgm施加到与响应于解码的行地址从多条字线wl当中选择的页对应的字线,并且将通过电压vpass施加到剩余字线(即,未选字线)。此后,通过执行编程验证操作来确定对包括在所选页中的存储器单元执行的编程操作是否完成。编程禁止电压(例如,电源电压)可被施加到与编程操作已完成的存储器单元对应的位线。编程使能电压(例如,接地电压)可被施加到与编程操作未完成的存储器单元对应的位线,并且通过将先前编程电压vpgm增大阶跃电压而生成的新的编程电压vpgm可被施加到所选字线,因此可再次执行编程操作。编程操作中所使用的编程电压vpgm的脉冲数可被存储在编程脉冲比较电路1183中。

在上述编程操作已经完成之后,在步骤s630,存储器装置1100可执行状态检查操作。

读写电路1130可在状态检查操作期间检查包括在所选存储器块的所选页中的存储器单元的编程状态,并且可将编程操作失败的存储器单元的数量作为失败比特输出到控制逻辑1160。

检查电路1182可响应于从内部控制电路1181输出的第一控制信号c1执行状态检查操作。检查电路1182可对从读写电路1130接收的失败比特进行计数,可确定所计数的失败比特数大于使用图1的纠错块1210可纠正的ecc的最大允许比特数的情况以及所计数的失败比特数小于或等于ecc的最大允许比特数的情况,然后可输出第一子信号s1。

在步骤s640,状态信号发生电路1185可基于从检查电路1182输出的第一子信号s1确定上述状态检查操作的结果。例如,当基于第一子信号s1,所计数的失败比特数大于ecc的最大允许比特数时(在“失败”的情况下),状态信号发生电路1185可在步骤s650确定发生状态失败,并且可生成并输出与其对应的状态信号status。

相反,当基于第一子信号s1,所计数的失败比特数小于或等于ecc的最大允许比特数时(在“通过”的情况下),在步骤s660可执行比较编程脉冲数的操作。内部控制电路1181响应于从检查电路1182输出的第一子信号s1输出第二控制信号c2。编程脉冲比较电路1183可在步骤s670通过比较编程脉冲数来确定对编程操作已完成的所选存储器块的所选页执行的编程操作中所使用的编程脉冲数是落在预设范围(例如,从a至b的范围)内还是预设范围之外,并且可生成并输出确定的结果作为第二子信号s2。

在步骤s680,状态信号发生电路1185可基于从编程脉冲比较电路1183输出的第二子信号s2确定上述编程脉冲数比较操作的结果。例如,当基于第二子信号s2确定对所选页执行的编程操作中所使用的编程脉冲数落在预设范围(例如,从a至b的范围)之外时(在“否”的情况下),状态信号发生电路1185可在步骤s650确定发生状态失败,并且可生成并输出与其对应的状态信号status。

此外,当基于第二子信号s2确定对所选页执行的编程操作中所使用的编程脉冲数落在预设范围(例如,从a至b的范围)内时(在“是”的情况下),状态信号发生电路1185可在步骤s690确定发生状态通过,并且可生成并输出与其对应的状态信号status。

在步骤s700,存储控制器1200可响应于状态信号status更新并注册所选存储器块的状态信息。状态信息可被存储在存储控制器1200的存储空间(例如,缓冲存储器)中,或者可被存储在存储器装置1100的任何存储器块中。

当对所选页完成编程操作、状态检查操作和编程脉冲数比较操作时,可选择下一页,然后可对下一页执行编程操作、状态检查操作和编程脉冲数比较操作。

如上所述,根据本公开的实施方式,当在执行编程操作之后状态检查操作的结果被确定为通过时,另外检查编程脉冲数是否落在预设范围内,因此可有效地搜索在编程操作之后执行的总体操作中可能发生错误的存储器块。

图7是示出根据本公开的实施方式的存储器系统的操作方法的流程图。

图8是示出存储器单元的阈值电压分布以用于说明设定的读电压的图。

根据本公开的本实施方式的存储器系统的操作方法将参照图1至图5、图7和图8描述。

当从主机2000接收到对编程操作的请求时,在步骤s710,存储控制器1200可响应于来自主机2000的请求将与编程操作对应的命令cmd、地址add和数据data输出到存储器装置1100。此外,存储控制器1200可将从主机2000接收的数据data随机化,并且可将随机化的数据输出到存储器装置1100。例如,当存储器装置1100按照mlc型编程时,存储控制器1200可将从主机2000接收的数据data随机化,然后将数据data转换为随机数据,其中第一数据至第四数据(00,01,10,11)具有相等数量的比特。如图8的(a)所示,第一数据至第四数据(00,01,10,11)可分别对应于第一编程状态pv0至第四编程状态pv3。例如,当存储器装置1100按照三级单元(tlc)型编程时,存储控制器1200可将从主机2000接收的数据data随机化,并且可将数据data转换为随机数据,其中第一数据至第八数据(000,001,010,011,100,101,110,111)具有相等数量的比特。如图8的(b)所示,第一数据至第八数据(000,001,010,011,100,101,110,111)可分别对应于第一编程状态pv0至第八编程状态pv7。

在步骤s720,存储器装置1100可响应于从存储控制器1200接收的命令cmd、地址add和数据data执行编程操作。编程操作类似于图6的步骤s620,因此这里将省略其详细描述。

在上述编程操作完成之后,在步骤s730,存储器装置1100可执行状态检查操作。读写电路1130可在状态检查操作期间检查包括在所选存储器块的所选页中的存储器单元的编程状态,并且可将编程操作已失败的存储器单元的数量作为失败比特输出到控制逻辑1160。检查电路1182可对从读写电路1130接收的失败比特进行计数,可确定所计数的失败比特数大于使用图1的纠错块1210可纠正的ecc的最大允许比特数的情况以及所计数的失败比特数小于或等于ecc的最大允许比特数的情况,然后可输出第一子信号s1。

在步骤s740,状态信号发生电路1185可基于从检查电路1182输出的第一子信号s1确定上述状态检查操作的结果。例如,当基于第一子信号s1,所计数的失败比特数大于ecc的最大允许比特数时(在“失败”的情况下),状态信号发生电路1185可在步骤s750确定发生状态失败,并且可生成并输出与其对应的状态信号status。

相反,当基于第一子信号s1,所计数的失败比特数小于或等于ecc的最大允许比特数时(在“通过”的情况下),在步骤s760可执行比较编程脉冲数的操作。内部控制电路1181响应于从检查电路1182输出的第一子信号s1而输出第二控制信号c2。编程脉冲比较电路1183可在步骤s770通过比较编程脉冲数来确定对编程操作已完成的所选存储器块的所选页执行的编程操作中所使用的编程脉冲数是落在预设范围(例如,从a至b的范围)内还是预设范围之外,并且可生成并输出确定的结果作为第二子信号s2。

在步骤s780,状态信号发生电路1185可基于从编程脉冲比较电路1183输出的第二子信号s2确定上述编程脉冲数比较操作的结果。例如,当基于第二子信号s2确定对所选页执行的编程操作中所使用的编程脉冲数落在预设范围(例如,从a至b的范围)之外时(在“否”的情况下),状态信号发生电路1185可在步骤s750确定发生状态失败,并且可生成并输出与其对应的状态信号status。

相反,当基于第二子信号s2确定对所选页执行的编程操作中所使用的编程脉冲数落在预设范围(例如,从a至b的范围)内时(在“是”的情况下),在步骤s790可执行比较数据条数的操作。

当在步骤s790执行比较数据条数的操作时,在步骤s800,存储器装置1100可使用设定的读电压vread从所选页读取第一数据(第1data)和第二数据(第2data)。这里,如图8的(a)和图8的(b)所示,设定的读电压vread可以是用于划分多个编程状态的电压。例如,当存储器装置1100按照mlc型编程时,设定的读电压vread可以是介于第二编程状态pv1和第三编程状态pv2之间的电压。在读操作期间,可从处于存储器单元的阈值电压小于设定的读电压vread的第一编程状态pv0和第二编程状态pv1的存储器单元读取第一数据(第1data),并且可从处于存储器单元的阈值电压大于设定的读电压vread的第三编程状态pv2和第四编程状态pv3的存储器单元读取第二数据(第2data)。此外,当存储器装置1100按照tlc型编程时,设定的读电压vread可以是介于第四编程状态pv3和第五编程状态pv4之间的电压。在读操作期间,可从处于存储器单元的阈值电压小于设定的读电压vread的第一编程状态pv0至第四编程状态pv3的存储器单元读取第一数据(第1data),并且可从处于存储器单元的阈值电压大于设定的读电压vread的第五编程状态pv4至第八编程状态pv7的存储器单元读取第二数据(第2data)。在一些实施方式中,设定的读电压vread可以是用于将多个编程状态划分成相等的部分的电压。例如,设定的读电压vread可以是用于将多个编程状态二等分的电压。

内部控制电路1181可响应于从编程脉冲比较电路1183输出的第二子信号s2输出第三控制信号c3。数据比较电路1184可在步骤s810通过响应于从内部控制电路1181输出的第三控制信号c3将第一数据的条数与第二数据的条数进行比较来确定第一数据(第1data)的条数是否等于第二数据(第2data)的条数,然后可生成并输出第三子信号s3。例如,可确定(第一数据(第1data)的条数/第二数据(第2data)的条数)的值c是落在预设范围(例如,从x至y的范围)内(在“是”的情况下)还是落在预设范围之外(在“否”的情况下),并且可生成并输出取决于确定的结果的第三子信号s3。例如,预设范围可以是从2/3至3/2的范围。

状态信号发生电路1185基于从数据比较电路1184输出的第三子信号s3确定上述数据条数比较操作的结果。例如,当基于第三子信号s3确定(第一数据(第1data)的条数/第二数据(第2data)的条数)的值c落在预设范围(例如,从x至y的范围)之外时(在“否”的情况下),状态信号发生电路1185可在步骤s750确定发生状态失败,并且可生成并输出与其对应的状态信号status。

相反,当基于第三子信号s3确定(第一数据(第1data)的条数/第二数据(第2data)的条数)的值c落在预设范围(例如,从x至y的范围)内时(在“是”的情况下),状态信号发生电路1185可在步骤s820确定发生状态通过,并且可生成并输出与其对应的状态信号status。

在步骤s830,存储控制器1200可响应于状态信号status更新并注册所选存储器块的状态信息。状态信息可被存储在存储控制器1200的存储空间(例如,缓冲存储器)中,或者可被存储在存储器装置1100的任何存储器块中。

当对所选页完成编程操作、状态检查操作、编程脉冲数比较操作和数据条数比较操作时,可选择下一页,然后可对下一页执行编程操作、状态检查操作、编程脉冲数比较操作和数据条数比较操作。

如上所述,根据本公开的实施方式,当在执行编程操作之后状态检查操作的结果被确定为通过时,可另外检查编程脉冲数是否落在预设范围内以及编程数据是否均匀分布,因此可有效地搜索在编程操作之后执行的总体操作中可能发生错误的存储器块。

图9是示出存储器系统的实施方式的图。

参照图9,存储器系统30000可被具体实现在蜂窝电话、智能电话、平板pc、个人数字助理(pda)或无线通信装置中。存储器系统30000可包括存储器装置1100以及能够控制存储器装置1100的操作的存储控制器1200。存储控制器1200可在处理器3100的控制下控制存储器装置1100的数据存取操作(例如,编程操作、擦除操作或读操作)。

可在存储控制器1200的控制下通过显示器3200输出编程在存储器装置1100中的数据。

无线电收发器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可通过图1所示的存储控制器的示例实现,并且存储器装置1100可通过图1所示的存储器装置的示例实现。

图10是示出存储器系统的实施方式的图。

参照图10,存储器系统40000可被具体实现在个人计算机、平板pc、上网本、电子阅读器、个人数字助理(pda)、便携式多媒体播放器(pmp)、mp3播放器或mp4播放器中。

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

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

处理器4100可控制存储器系统40000的总体操作并且控制存储控制器1200的操作。在实施方式中,能够控制存储器装置1100的操作的存储控制器1200可被实现为处理器4100的一部分或者与处理器4100分开提供的芯片。此外,存储控制器1200可通过图1所示的存储控制器的示例实现,并且存储器装置1100可通过图1所示的存储器装置的示例实现。

图11是示出存储器系统的实施方式的图。

参照图11,存储器系统50000可被具体实现在图像处理装置(例如数字相机、设置有数字相机的便携式电话、设置有数字相机的智能电话或者设置有数字相机的平板pc)中。

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

存储器系统50000的图像传感器5200可将光学图像转换为数字信号。所转换的数字信号可被发送到处理器5100或存储控制器1200。在处理器5100的控制下,所转换的数字信号可通过显示器5300输出或者通过存储控制器1200存储在存储器装置1100中。存储在存储器装置1100中的数据可在处理器5100或存储控制器1200的控制下通过显示器5300输出。

在实施方式中,能够控制存储器装置1100的操作的存储控制器1200可被实现为处理器5100的一部分或者与处理器5100分开提供的芯片。此外,存储控制器1200可通过图1所示的存储控制器的示例实现,并且存储器装置1100可通过图1所示的存储器装置的示例实现。

图12是示出存储器系统的实施方式的图。

参照图12,存储器系统70000可被具体实现在存储卡或智能卡中。存储器系统70000可包括存储器装置1100、存储控制器1200和卡接口7100。

存储控制器1200可控制存储器装置1100与卡接口7100之间的数据交换。在实施方式中,卡接口7100可以是安全数字(sd)卡接口或多媒体卡(mmc)接口,但不限于此。

卡接口7100可根据主机60000的协议对主机60000与存储控制器1200之间的数据交换进行接口。在实施方式中,卡接口7100可支持通用串行总线(usb)协议和芯片间(ic)usb协议。这里,卡接口可以指能够支持主机60000所使用的协议的硬件、安装在硬件中的软件或者信号传输方法。

当存储器系统70000联接到诸如pc、平板pc、数字相机、数字音频播放器、蜂窝电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可在微处理器6100的控制下通过卡接口7100和存储控制器1200来执行与存储器装置1100的数据通信。此外,存储控制器1200可通过图1所示的存储控制器的示例实现,并且存储器装置1100可通过图1所示的存储器装置的示例实现。

根据本公开,可使用编程操作中所使用的编程脉冲数来确定最终状态检查的结果,因此可抑制在编程操作之后的总体操作中可能发生的错误。

实施方式的上述示例仅是为了理解本公开的技术精神,本公开的范围不应限于实施方式的上述示例。对于本公开所属领域的技术人员而言将显而易见的是,除了实施方式的上述示例之外,还可进行基于本公开的技术精神的其它修改。

除非另外定义,否则本文所使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。除非在本公开中另外定义,否则这些术语不应被解释为理想的或过于正式的。

相关申请的交叉引用

本申请要求2018年4月3日在韩国知识产权局提交的韩国专利申请号10-2018-0038859的优先权,其完整公开通过引用并入本文。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1