包括半导体存储器件的存储系统以及其编程方法与流程

文档序号:11867533阅读:151来源:国知局
包括半导体存储器件的存储系统以及其编程方法与流程

本申请要求2015年5月6日提交的韩国专利申请号10-2015-0063228的优先权,其全部内容通过引用合并于此。

技术领域

本公开的各个实施例涉及一种包括半导体存储器件的存储系统以及其编程方法。



背景技术:

半导体存储器件是在诸如硅(Si)、锗(Ge)、砷化镓(GaAs)、或磷化铟(InP)等的半导体材料上实现的存储器件。半导体存储器件分为易失性存储器件和非易失性存储器件。

易失性存储器件在关闭电源时不保留储存在其中的数据。易失性存储器件的代表实例包括静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、以及同步动态随机存取存储器(SDRAM)等。非易失性存储器件即使在关闭电源时也保留储存在其中的数据。非易失性存储器件的代表实例包括只读存储器(ROM)、可编程只读存储器(PROM)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、快闪存储器、相变随机存取存储器(PRAM)、磁性随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)、铁电随机存取存储器(FRAM)等。快闪存储器件被广泛使用,并且通常分为NOR(或非)和NAND(与非)型存储器件。



技术实现要素:

本公开的各个实施例涉及一种包括具有提高的可靠性的半导体存储器件的存储系统以及其编程方法。

本公开的一个实施例提供一种编程存储系统的方法,所述存储系统包括具有多个存储块的半导体存储器件,所述方法包括:当包括在选定的存储块中的至少一个页包含数据时,响应编程请求而读取包括在选定的存储块中的目标页;以及当包括在从目标页读取的数据中的数据比特位之的具有第一逻辑值的数据比特位的数量等于或小于预定值时,对目标页执行编程。

所述方法可以进一步包括:当包括在读取的数据中的数据比特位之中的具有第一逻辑值的数据比特位的数量大于预定值时,对不同于所选定的存储块的存储块的页执行所 述编程。

所述方法可以进一步包括:当包括在读取的数据中的数据比特位之中的具有第一逻辑值的数据比特位的数量大于预定值时,对目标页执行部分擦除操作;以及在部分擦除操作之后对目标页执行编程。

所述方法可以进一步包括:当包括在选定的存储块中的页不包含数据时,对于目标页执行所述编程。

当储存数据时,包括在选定的存储块中的页可以具有擦除状态和多个编程状态。测试读取电压可以落在擦除状态的电压范围与多个编程状态中的最低编程状态的电压范围之间的读取裕量内。

读取目标页可以包括使用测试读取电压、响应编程请求而读取包括在选定的存储块中的目标页。

使用测试读取电压而读取目标页可以包括:控制半导体存储器件以在读取操作期间产生测试读取电压;以及控制半导体存储器件以对目标页执行读取操作。

所述方法可以进一步包括:接收编程请求;以及响应编程请求而定义包括在选定的存储块中的目标页。

定义目标页可以包括:参考逻辑块地址与物理块地址之间的映射信息,将包括在编程请求中的逻辑块地址转换成对应于目标页的物理块地址。

本公开的另一个实施例提供一种存储系统,所述存储系统包括:包括多个存储块的半导体存储器件,每个存储块都包括多个页;以及控制器,所述控制器配置为,根据包括目标页的存储块中的至少一个页是否包含数据,所述控制器读取目标页,其中,当包括在从目标页读取的数据中的数据比特位之的具有第一逻辑值的数据比特位的数量等于或小于预定值时,所述控制器对目标页执行编程。

本公开的另一个实施例提供一种存储系统,所述存储系统包括:包括多个存储块的半导体存储器件,每个存储块都包括多个页;以及控制器,所述控制器配置为,根据在包括目标页的第一存储块的页之中的包含数据的页的数量是否是预定数量或更多,所述控制器读取目标页,其中,当包括在从目标页读取的数据中的数据比特位之的具有第一逻辑值的数据比特位的数量等于或小于预定值时,所述控制器对目标页执行编程。

根据本公开的一个实施例,可以提供一种具有增强的可靠性的存储系统以及其编程 方法。

附图说明

在附图中,为了清楚地示出而可以放大尺寸。而且,应该理解的是,当一个元件被称为是在两个元件之间时,它可以是在两个元件之间的唯一元件,也可以存在的一个或多个插入元件。在全文中相同的附图标记表示相同的元件。

图1是示出根据本公开的一个实施例的包括半导体存储器件的存储系统的框图;

图2是示出根据本公开的一个实施例的半导体存储器件的框图;

图3是示出根据本公开的一个实施例的存储单元阵列的框图;

图4是示出根据本公开的一个实施例的在编程之前、在最低有效位编程期间以及在最高有效位编程期间存储单元的阈值电压状态的图;

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

图6是示出根据本公开的一个实施例的映射表的图;

图7是示出根据本公开的一个实施例对目标页进行读取操作的流程图;

图8是示出根据本公开的一个实施例的开放块信息的图;

图9是示出根据本公开的一个实施例对替代页执行编程的过程的视图;

图10是示出根据本公开的另一个实施例操作存储系统的方法的流程图;

图11是示出根据本公开的另一个实施例对目标页执行编程的过程的视图;

图12是示出根据本公开的一个实施例的控制器的框图;

图13是示出根据本公开的一个实施例的存储系统的应用的框图;以及

图14是示出根据本公开的一个实施例的包括存储系统的计算系统的框图。

具体实施方式

下文将结合附图来具体描述本公开的示例性实施例。在以下描述中,将只描述理解根据本公开的操作所需要的部分,因此将省略其他部分的解释,以免使当前披露不清楚。因此,本公开不限于以下的实施例,而是可以许多其他实施例及其变体来体现。相反, 提供所描述的实施例,以使本公开彻底和完整,并且将本发明充分地传达给本发明所属领域的技术人员。

应该理解的是,当一个元件被称为“耦接”或“连接”到另一元件时,它可以直接耦接或连接到另一元件,或者它们之间可以出现插入元件。此外,本文所使用的术语“包含”或“包括”是包容的、开放的术语,并且不排除其他未定的元素或方法步骤。

图1是示出根据本公开的一个实施例的包括半导体存储器件100的存储系统50的框图。

存储系统50可以进一步包括控制器200,其用于控制半导体存储器件100的操作。

半导体存储器件100可以在控制器200的控制下操作。半导体存储器件100可以包括存储单元阵列110和用于驱动存储单元阵列110的外围电路120。存储单元阵列110可以包括多个非易失性存储单元。非易失性存储单元可以布置在诸如块的存储区域中。每个存储区域可以布置在子区域中,例如,存储块可以布置在多个页中,每个页都包括多个存储单元。

外围电路120可以在控制器200的控制下操作。外围电路120可以在控制器200的控制下将数据编程进存储单元阵列110中。外围电路120可以在控制器200的控制下从存储单元阵列110读取数据,并将读取的数据输出到控制器200。外围电路120还可以在控制器200的控制下从存储单元阵列110擦除数据。

例如,在编程操作期间,外围电路可以从控制器200接收编程命令、物理块地址以及要被编程的数据。可以通过物理块地址选择一个存储块和包括在该存储块中的一个页。外围电路120可以将要被编程的数据编程进选定的页中。

在读取操作期间,外围电路120可以从控制器200接收读取命令和物理块地址。可以通过物理块地址选择一个存储块和包括在该存储块中的一个页。外围电路20可以读取选定的页并将读取的数据输出到控制器200。

在擦除操作期间,外围电路120可以从控制器200接收擦除命令和物理块地址。可以通过物理块地址选择一个存储块或包括在一个存储块中的至少一个页。外围电路120可以擦除储存在选定的区域中的数据。

在一个实施例中,半导体存储器件100可以是快闪存储器件。

控制器200可以控制半导体存储器件100的总体操作。例如,控制器200可以配置 为响应来自主机的要求而访问半导体存储器件100。

控制器200可以包括随机存取存储器(RAM)210、存储控制单元220和比较器230。

RAM 210可以在存储控制单元220的控制下操作。例如,存储控制单元100可以配置为执行一个或多个控制操作,例如,半导体存储器件100的读取、编程、擦除和/或后台操作。存储控制单元220可以配置为驱动用于控制半导体存储器件100的固件。

当主机将编程请求发送到控制器时,存储控制单元220可以识别存储阵列的子区域,如对应于编程请求的页(下文称作目标页)。存储控制单元220可以将包括在编程请求中的逻辑块地址转换成物理块地址。在一个实施例中,物理块地址可以表示存储阵列的目标页。

在一个实施例中,存储控制单元220可以执行快闪转换层(FTL)的功能。存储控制单元220可以在RAM 210中储存和管理映射表,该映射表包括对应于存储单元阵列110的物理块地址与对应于物理块地址的逻辑块地址之间映射的关系。因此,存储控制单元220可以参考映射表将包括在编程请求中的逻辑块地址转换成物理块地址。例如,存储控制单元220可以将物理块地址映射到包括在编程请求中的逻辑块地址。

当主机发送编程请求时,控制器200从主机接收要被编程的数据。存储控制单元220可以将要被编程的数据暂时储存在RAM 210中。因此,RAM 210可以用作主机与半导体存储器件100之间的缓冲存储器。

根据本公开的一个实施例,存储控制单元220可以在响应编程请求而在将编程命令发送到半导体存储器件100之前确定包括目标页的存储块是否是开放块,并且可以根据确定的结果使用测试读取电压读取目标页。

在一个实施例中,开放存储块可以被定义为包括目标页并且还具有至少一个能够储存数据的页的存储块。例如,当存储块包括目标页并且还具有已经被编程的页时,所述存储块可以被定义为开放块。在另一个实施例中,开放存储块可以被定义为包括目标页并且该存储块中至少预定数量的页具有储存在其中的数据的存储块。

控制器200可以获得从目标页读取的数据。比较器230可以将包括在从目标页读取的数据中的数据比特位之中的具有第一逻辑值的数据比特位的数量与预定值进行比较。具有第一逻辑值的数据比特位的数量可以表示具有高于测试读取电压的阈值电压的目标页的存储单元的数量。相反地,具有第二逻辑值的数据比特位的数量可以表示具有等于或小于测试读取电压的阈值电压的目标页的存储单元的数量。

表达“具有高于测试读取电压的阈值电压的存储单元的数量大于预定值”可以意味着:尽管事实是对目标页的编程操作还未执行,但是大量的存储单元的阈值电压已经升高。当执行对具有升高的阈值电压的存储单元的编程操作时,储存在对应的存储单元中的数据可能是相对不可靠的。

根据本公开的实施例,当包括在读取数据中的数据比特位之中的具有第一逻辑值的数据比特位的数量大于预定值时,存储控制单元220可以对不同于包括目标页的存储块的存储块的页执行编程。当包括在读取数据中的数据比特位之中的具有第一逻辑值的数据比特位的数量等于或小于预定值时,存储控制单元220可以对目标页执行编程。结果是,要被编程的数据可以可靠地储存在存储单元阵列100中。因此,可以提供一种具有增强的可靠性的存储系统以及其编程方法。

参见图2,提供了根据本公开的一个实施例的半导体存储器件。例如,图2的半导体存储器件可以是图1的半导体存储器件100。

半导体存储器件100可以包括存储单元阵列100和外围电路120。外围电路120可以包括地址解码器121、电压发生器122、读和写(读/写)电路123、输入和输出(输入/输出)缓冲器124以及控制逻辑125。

存储单元阵列110可以包括多个存储单元。存储单元可以通过行线RL而与地址解码器121耦接。存储单元可以通过位线BL而与读/写电路123耦接。

图3是示出根据本公开的一个实施例的存储单元阵列的框图。例如,图3的存储单元阵列可以是图2的存储单元阵列110。

参见图3,存储单元阵列110可以包括第一至第z存储块BLK1至BLKz。第一至第z存储块BLK1至BLKz可以共同连接到第一至第m位线BL1至BLm。第一至第m位线BL1至BLm可以形成图2的位线BL。

在图3中,为了便于解释,仅示出多个存储块BLK1至BLKz之中的第一存储块BLK1的元件。省略包括在其他存储块BLK2至BLKz中的元件的图示。应理解的是,存储块BLK2至BLKz中的每一个都可以具有与第一存储块BLK1相同的配置。

存储块BLK1可以包括多个单元串CS1至CSm。第一至第m单元串CS1至CSm可以分别与第一至第m位线BL1至BLm耦接。

第一至第m单元串CS1至CSm中的每一个可以包括漏极选择晶体管DST、彼此串联耦接的多个存储单元MC1至MCn、以及源极选择晶体管SST。漏极选择晶体管DST 可以与漏极选择线DSL1耦接。第一至第n存储单元MC1至MCn可以分别与第一至第n字线WL1至WLn耦接。源极选择晶体管SST可以与源极选择线SSL1耦接。

漏极选择晶体管DST的漏极侧可以与对应的位线耦接。源极选择晶体管SST的源极侧可以与参考电压节点耦接。在一个实施例中,源极选择晶体管SST的源极侧可以与公共源极线(未示出)耦接。公共源极线可以由图2的控制逻辑125来控制。

在第一至第m单元串CS1至CSm中,与每个字线耦接的存储单元可以形成单页PG。因此,每个存储块BLK1可以包括多个页。

漏极选择线DSL1、第一至第n字线WL1至WLn、以及源极选择线SSL1可以包括在图2的行线RL中。地址解码器121可以控制漏极选择线DSL1、第一至第n字线WL1至WLn、以及源极选择线SSL1。读/写电路123可以控制第一至第m位线BL1至BLm。

再次参见图2,外围电路120可以包括地址解码器121、电压发生器122、读/写电路123、输入/输出缓冲器124以及控制逻辑125。

地址解码器121可以通过行线RL而与存储单元阵列110耦接。地址解码器121可以配置为在控制逻辑125的控制下操作。地址解码器121可以通过控制逻辑125接收物理块地址PA。

半导体存储器件100的编程操作可以按页(参见图3的PG)执行。半导体存储器件100的读取操作可以按页执行。在编程或读取操作期间接收的物理块地址PA可以包括块地址和行地址。

地址解码器121可以配置为解码接收到的物理块地址PA的块地址。地址解码器121可以响应解码的块地址而从多个存储块BLK1至BLKz(参见图3)中选择对应的存储块。

地址解码器121可以配置为解码接收到的物理块地址PA的行地址,并选择选定的存储块的对应字线。由此,可以选择一个页。

在编程操作期间,地址解码器121可以将来自电压发生器122的高电平编程电压施加到选定的字线,并且将来自电压发生器122的编程通过电压(program pass voltage)施加到未选定的字线。编程通过电压可以比编程电压低。在使用测试读取电压的读取操作期间,地址解码器121可以将来自电压发生器122的测试读取电压施加到选定的字线,并且将来自电压发生器122的读取通过电压(read pass voltage)施加到未选定的字线。读取通过电压可以比测试读取电压高。

电压发生器122可以在控制逻辑125的控制下操作。电压发生器122可以使用施加到半导体存储器件100的外部电源电压产生内部电源电压。例如,电压发生器122可以通过调整外部电源电压来产生内部电源电压。产生的内部电源电压可以施加到地址解码器121、读/写电路123、输入/输出缓冲器124、以及控制逻辑25,并且可以用作半导体存储器件100的操作电压。

电压发生器122可以使用外部和内部电源电压中的至少一种来产生多个电压。在一个实施例中,电压发生器122可以包括接收内部电源电压的多个泵送电容器(pumping capacitor),并且可以在控制逻辑125的控制下通过选择性地激活多个泵送电容器而产生多个电压。例如,在编程操作期间,电压发生器122可以产生高电平编程电压以及具有比编程电压的电平低的电平的编程通过电压。在另一个实例中,在使用测试读取电压的读取操作期间,电压发生器122可以产生测试读取电压和读取通过电压,所述读取通过电压具有比读取电压的电平高的电平。所产生的电压可以提供给地址解码器121。

读/写电路123可以通过位线BL而与存储单元阵列110耦接。读/写电路123可以在控制逻辑125的控制下操作。

在编程操作期间,读/写电路123可以将通过输入/输出缓冲器124接收的要被编程的数据DATA传送到位线BL。要被编程的数据DATA可以储存在选定的页中。在读取操作期间,读/写电路123可以通过位线BL从存储单元阵列110的选定页读取数据DATA,并且可以将读取的数据输出到输入/输出缓冲器124。

输入/输出缓冲器124可以通过数据线DL而与读/写电路123耦接。输入/输出缓冲器124可以在控制逻辑125的控制下操作。输入/输出缓冲器124可以与控制器200连通。

控制逻辑125可以配置为控制半导体存储器件100的总体操作。例如,控制逻辑125可以从主机接收命令CMD和物理块地址PA。在读取操作期间,命令CMD可以是读取命令。在编程操作期间,命令CMD可以是编程命令。在擦除操作期间,命令CMD可以是擦除命令。控制逻辑125可以配置为响应接收到的命令CMD而控制地址解码器121、电压发生器122、读/写电路123、以及输入/输出缓冲器124。

用于改变半导体存储器件100的设定值的参数设置信息可以被作为命令CMD接收。参数设置信息可以包括用于设定测试读取电压的信息。当参数设置信息被接收时,在读取操作期间,控制逻辑125可以控制电压发生器122以根据参数设置信息来产生测试读取电压。

图4是示出根据本公开的一个实施例的在编程之前、在最低有效位(LSB)编程期 间以及在最高有效位(MSB)编程期间存储单元的阈值电压状态的图。在图4中,水平轴表示阈值电压,并且竖直轴表示存储单元的数量。在参考图4的以下描述中,假设每个存储单元可以储存两个比特位。但是,应该理解的是,本公开的范围不限于此。例如,每个存储单元可以储存三个比特位,并且存储单元可以具有八个阈值电压状态。

参见图4,在执行编程操作之前,存储单元可以具有擦除状态E(410)。例如,对应于擦除状态E的电压范围可以低于接地电压。

作为LSB编程的结果,存储单元可以具有两个阈值电压状态E和LP(420)。存储单元可以被编程为具有擦除状态E或较低编程状态(lower program state)LP。每个存储单元可以储存对应于逻辑值“1”或逻辑值“0”的一个数据比特位。

在LSB编程之后,可以执行MSB编程(430)。作为MSB编程的结果,存储单元可以具有四个阈值电压状态E、UP1、UP2和UP3。根据要被编程的数据,具有擦除状态E和较低编程状态LP的存储单元可以被编程为具有擦除状态E和第一至第三较高编程状态(upper program state)UP1至UP3。例如,具有擦除状态E的存储单元可以被编程为具有擦除状态E或第一较高编程状态UP1。具有较低编程状态LP的存储单元可以被编程为具有第二较高编程状态UP2或第三较高编程状态UP3。第一较高编程状态UP1可以是在通过MSB编程产生的编程状态UP1至UP3中具有最低电压范围的编程状态。每个存储单元中可以储存两个数据比特位。

具有擦除状态E的存储单元的阈值电压可以因各种因素而升高。作为一个实例,当(例如,对于编程操作或读取操作)访问存储块的每个页时,具有擦除状态E的存储单元的阈值电压可以因施加到对应的存储块的图3的位线BL1至BLm和图3的字线WL1至WLn的电压而不被希望地升高。作为另一个实例,在对应的存储单元和相邻的存储单元具有擦除状态E和编程状态LP和UP1至UP3的情况下,具有擦除状态E的存储单元的阈值电压可以因与具有高阈值电压的相邻存储单元耦接而升高。即,在对于存储块中的特定页执行编程操作的情况下,同一存储块的还没有被编程的页中的存储单元可以具有转换的擦除状态EE。换句话说,在包括目标页的存储块是开放块的情况下,目标页的存储单元可以具有转换的擦除状态EE。

在图4所示的实施例中,假设具有擦除状态E的存储单元的阈值电压不被希望地升高,因此存储单元具有转换的擦除状态EE。具有转换的擦除状态EE的一些存储单元(在图4中由阴影线区域表示)可以具有比测试读取电压Vtst高的阈值电压。随后,当执行LSB编程时,要被编程到较低编程状态LP的存储单元可以具有过高的阈值电压。即,较低编程状态LP可以具有比第二电压范围RG2更宽和更高的电压范围,并且要被编程 到擦除状态E的存储单元可以仍然具有转换的擦除状态EE。因此,储存在存储单元中的数据的可靠性可能变差。此外,执行MSB编程时要储存在存储单元中的MSB数据的可靠性也可能恶化。

在本公开的实施例中,图1的控制器200可以配置为确定包括目标页的存储块是否是开放块。在确定之后,控制器200然后可以根据确定的结果使用测试读取电压Vtst读取目标页。在一个实施例中,测试读取电压Vtst可以比接地电压高。在一个实施例中,测试读取电压Vtst可以落在擦除状态E的电压范围RG1与较低编程状态LP的电压范围RG2之间的读取裕量内。在另一个实施例中,测试读取电压Vtst可以落在擦除状态E的电压范围RG1与较高编程状态UP1至UP3中的最低编程状态UP1的电压范围RG3之间的读取裕量内。

当目标页的存储单元之中的具有高于测试读取电压Vtst的阈值电压的存储单元的数量等于或小于预定值时,控制器200可以对目标页执行编程。当目标页的存储单元之中的具有高于测试读取电压Vtst的阈值电压的存储单元的数量大于预定值时,控制器200可以对另一存储块的页、而不是目标页执行编程。因此,要被编程的数据可以可靠地储存在目标页中或另一页中。因此,可以提供一种具有增强的可靠性的存储系统以及其编程方法。

参见图5,根据本公开的一个实施例,提供了示出操作存储系统的方法的流程图。例如,可以通过图1中的存储系统50来执行图5的操作。图6示出根据本公开的一个实施例的映射表。例如,图6的映射表可以体现在图1的RAM 210内。图7是示出根据本公开的一个实施例对目标页进行读取操作的流程图。例如,图7的操作可以是图5的步骤S140的一个实施例。

现在参见图5,在步骤S110,可以从主机接收编程请求。编程请求可以包括逻辑块地址。

在步骤S120,可以选择目标页。例如,图1的存储控制单元220可以将包括在编程请求中的逻辑块地址转换成限定目标页的物理块地址。

在步骤S130,确定数据是否储存在包括在选定的存储块中的至少一个页中。而且,确定选定的存储块是否是开放块。选定的存储块可以是包括目标页的存储块。存储控制单元220可以为了获得关于选定的存储块的映射信息而访问RAM 210的映射表,并且可以确定包括在选定的存储块中的至少一个页是否已经被编程。

在另一个实施例中,存储控制单元220可以确定在选定的存储块的页之中数据是否 储存在预定数量的页或更多页中。存储控制单元220可以通过查询关于选定的存储块的映射信息的RAM 210的映射表确定在选定的存储块的页之中预定数量的页或更多页是否已经被编程。

参见图6,映射表MPT示出了映射在存储块BLK1至BLKz的相应页PG1至PGn中的逻辑块地址。例如,第一存储块BLK1的第一和第二页PG1和PG2可以分别映射到第一和第二逻辑块地址LA1和LA2。第一存储块BLK1的第n页PGn可以不映射到任何逻辑块地址,表示第一存储块BLK1的第n页PGn可以不包含任何数据。第一存储块BLK1可以包括至少一个页,例如,已经包含数据的页PG1和PG2。因此,当第一存储块BLK1的第n页PGn是目标页时,第一存储块BLK1可以被识别为开放块。

第二存储块BLK2的第一至第n页PG1至PGn可以不储存任何数据。因此,当第二存储块BLK2的任何一个页被定义为目标页时,第二存储块BLK2可以不被识别为开放块。第z存储块BLKz的第一和第二页PG1和PG2可以分别映射到第p和第(p+1)逻辑块地址LAp和LAp+1中。第z存储块的第n页PGn可以不包含数据。当第z存储块BLKz的第n页PGn被定义为目标页时,第z存储块BLKz可以被识别为开放块。

再次参见图5,在步骤S140,可以使用测试读取电压Vtst读取目标页。步骤S140可以在图7中详细示出。

参见图7,在步骤S210,当传送参数信息时,半导体存储器件100可以被控制为在读取操作期间可以产生测试读取电压Vtst。根据参数信息,图2的控制逻辑125可以设定图2的电压发生器122,以产生测试读取电压Vtst。在步骤S220,可以对目标页执行读取操作。存储控制器220可以将读取命令和对应于目标页的物理块地址传送到半导体存储器件100。半导体存储器件100可以响应读取命令而对目标页执行读取操作。电压发生器122可以产生测试读取电压Vtst。可以通过图2的地址解码器121将产生的测试读取电压Vtst施加到与目标页耦接的字线。图2的读/写电路123可以从目标页读取数据。可以根据目标页的存储单元的阈值电压是否高于测试读取电压来确定从目标页读取的数据。读取的数据可以输出到控制器200。由此,存储控制单元220可以获得目标页的数据。

再次参见图5,在步骤S150,可以确定在读取的数据中具有第一逻辑值的数据比特位的数量是否大于预定值。可以将读取的数据提供到图1的比较器230。比较器230可以对在读取的数据中具有第一逻辑值的数据比特位的数量进行计数,并且确定该计数是否大于预定值。在一个实施例中,预定值可以是1。换句话说,可以确定在目标页的存储单元中具有高于测试读取电压的阈值电压的存储单元的数量是否大于1。

当在读取的数据中具有第一逻辑值的数据比特位的数量大于预定值时,可以执行步骤S160,然后执行步骤S170。当在读取的数据中具有第一逻辑值的数据比特位的数量等于或小于预定值时,那么可以执行步骤S170。

在步骤S160,可以对不同于选定的存储块的存储块的页(下文称为替代页)执行编程。图1的存储控制单元220可以取消包括在编程请求中的逻辑块地址与对应于目标页的物理块地址之间的映射,并且可以将包括在编程请求中的逻辑块地址映射到对应于替代页的物理块地址。可以在映射表中更新该映射。存储控制单元220可以将编程命令、对应于替代页的物理块地址、以及要被编程的数据提供给半导体存储器件100。半导体存储器件100可以将要被编程的数据编程进替代页中。

在步骤S170,可以对目标页进行编程。存储控制单元220可以将编程命令、对应于目标页的物理块地址、以及要被编程的数据提供给半导体存储器件100。半导体存储器件100可以将要被编程的数据编程进目标页中。

图8是示出根据本公开的一个实施例的开放块信息的图。例如,开放块信息OBI可以储存在图1的RAM 210中。

参见图8,图1的存储控制单元220可以参考图6的映射表MPT而储存和管理RAM210中的开放块信息OBI,以便改进存储器件的操作速度。开放块信息可以表示第一至第z存储块BLK1至BLKz中的每一个是否是开放块。在图8的实施例中,第二和第z存储块BLK2和BLKz可以是开放块,并且第一和第三存储块BLK1和BLK3可以不是开放块。

在一个实施例中,可以通过控制器来管理开放块信息OBI。例如,存储控制单元220可以在开放块信息OBI中搜索包含目标页的存储块,并且快速确定对应的存储块是否是开放块。因此,通过管理开放块信息OBI,可以快速地执行图5的步骤S130。

图9示出了根据本公开的一个实施例的当接收编程请求时对替代目标页,替代页执行编程的过程。在图9的实施例中,目标页TP可以包括在第一存储块BLK1中,而替代页SP可以包括在第二存储块BLK2中。例如,可以通过图1的控制器200来执行图9的过程。

参见图9,控制器200可以从主机接收编程请求(“A”)。如果包含目标页TP的第一存储块BLK1是开放块,则控制器200可以使用如图4所示的测试读取电压Vtst而从目标页TP读取数据(“B”)。但是,如果在包括在读取的数据中的数据比特位之中具有第一逻辑值的数据比特位的数量大于预定值,则控制器200可以对代替目标页TP的替 代页SP执行编程(“C”),并且要被编程的数据可以储存在替代页SP中。

图10是示出根据本公开的另一个实施例的操作存储系统的方法的流程图。例如,可以通过图1中的存储系统50来执行图10的操作。

参见图10,可以与图5的步骤S110至S140的方式相同的方式操作步骤S310和S340。下文将省略重复的说明。

在步骤S350,可以确定在读取的数据中具有第一逻辑值的数据比特位的数量是否大于预定值。如果是,则可以执行步骤S360和S370。如果否,则可以执行步骤S370。

在步骤S360,可以对目标页执行部分擦除操作。因此,根据本发明的一个实施例,当在读取的数据中具有第一逻辑值的数据比特位的数量大于预定值时,可以对目标页执行部分擦除操作。

图1的存储控制单元200可以控制半导体存储器件100用于对目标页执行部分擦除操作。在一个实施例中,控制器200可以对目标页执行部分擦除操作。例如,响应对应的部分擦除命令,半导体存储器件100可以将高平擦除电压施加到选定的存储块的衬底,即存储单元的本体。半导体存储器件100可以将接地电压施加到与目标页耦接的字线(例如,图3的WLn-1),并且浮置其他字线(例如,图3的WL1至WLn-2和WLn)。目标页的存储单元可以具有因由擦除电压和接地电压形成的电场而减少的阈值电压。在一个实施例中,控制器200可以对包括目标页的子块执行部分擦除操作。例如,半导体存储器件100可以响应对应的部分擦除命令而将高平擦除电压施加到选定的存储块的衬底。半导体存储器件100可以将接地电压施加到与目标页所属的子块耦接的字线(例如,图3的WLn-1和WLn),并且可以浮置其他字线WL1至WLn-2。包括在子块中的存储单元的阈值电压可以因由擦除电压和接地电压形成的电场而减少。

作为对目标页进行部分擦除操作的结果,目标页可以具有如图4所示的擦除状态E。

在步骤S370,可以对目标页进行编程。存储控制单元220可以将编程命令、对应于目标页的物理块地址、以及要被编程的数据提供给半导体存储器件100。

根据一个实施例,具有如图4所示的转换的擦除状态EE的目标页由于部分擦除操作而可以具有擦除状态E。之后,可以对目标页进行编程。因此,可以提供一种具有增强的可靠性的存储系统以及其编程方法。

图11示出了根据本公开的另一个实施例的当接收编程请求时对目标页执行编程的过程。在图11中,示出了目标页TP可以包括在第一存储块BLK1中的情况。例如,可 以通过图1的控制器200来执行图9的过程。

参见图11,控制器200可以从主机接收编程请求(“D”)。如果第一存储块BLK1是开放块,则控制器200可以使用测试读取电压Vtst而从目标页TP读取数据(“E”)。如果在包括在读取的数据中的数据比特位之中具有第一逻辑值的数据比特位的数量大于预定值,则控制器200可以对目标页TP执行部分擦除操作(“F”)。在对目标页TP进行部分擦除操作之后,控制器200可以对目标页TP执行编程(“G”)。要被编程的数据可以储存在目标页TP中。

如果要被编程的数据是危险的(critical),则可以执行替代页SP的编程。在此情况下,可以认为目标页TP包括具有低可靠性的存储单元,并且因此可以在映射表MPT中将目标页TP更新为无效页。另一方面,如果要被编程的数据不是危险的,则可以在对目标页TP进行部分擦除操作之后对目标页TP执行编程。

图12是示出根据本公开的一个实施例的控制器的框图。例如,图12的控制器可以是图1的控制器200。

参见图12,控制器1200可以包括随机存取存储器(RAM)1210、处理单元1220、主机接口1230、存储器接口1240、以及错误校正块1250。

处理单元1220可以控制控制器1200的总体操作。RAM 1210可以用作处理单元1220的操作存储器、半导体存储器件(例如,图1的半导体存储器件100)与主机之间的高速缓冲存储器、以及半导体存储器件100与主机之间的缓冲器中的至少一种。处理单元1220和RAM 1210可以执行图1的存储控制单元220和比较器230的功能。例如,处理单元1220可以将编程命令、数据文件、和数据结构等加载到RAM 1210中,并运行加载的数据。以此方式,处理单元1220可以执行存储控制单元220和比较器230的功能。

此外,RAM 1210可以起图1的RAM 210的作用。虽然在图12中示出了使用单个的RAM 1210,但是可以使用两个或更多个RAM。

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

存储器接口1240可以与半导体存储器件100接口。错误校正块1250可以使用错误校正码(ECC)来检测和校正从半导体存储器件100读取的数据中的错误。

控制器1200和图1的半导体存储器件100可以集成为单个半导体器件。在一个实施例中,控制器1200和半导体存储器件100可以集成为单个半导体器件以形成存储卡。例如,控制器1200和半导体存储器件100可以集成为单个半导体器件并形成存储卡,如,个人计算机存储卡国际协会(PCMCIA)卡、紧凑型快闪(CF)卡、智能多媒体卡(SMC)、存储棒多媒体卡(例如,MMC、RS-MMC或MMCmicro)、SD卡(例如,SD、miniSD、microSD或SDHC)、以及通用快闪储存器(UFS)等。

控制器1200和半导体存储器件100可以集成为单个半导体器件,以形成固态驱动器(SSD)。当控制器1200和半导体存储器件100实现为SSD时,主机的操作速度可以极大地提高。

在再一个实施例中,控制器1200和半导体存储器件100可以被提供为电子设备的各种元件中的一种,该电子设备例如是计算机、超级移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、游戏机、导航仪、黑匣子、数码相机、3D电视、数字录音机、数字音频播放器、数字图片记录仪、数字图片播放器、数字视频录像机、数字视频播放器、能够在无线环境中传输/接收信息的器件、形成家庭网络的各种器件中的一种、形成计算机网络的各种电子器件中的一种、形成远程信息处理网络的各种电子器件中的一种、RFID器件、或形成计算系统的各个元件中的一种等等。

在一个实施例中,控制器1200和半导体存储器件100可以安装在各种类型封装体中。例如,控制器1200和半导体存储器件100可以下面的类型来封装,如,叠加封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、华夫包中裸片(Die in Waffle Pack)、晶片形式的裸片、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外形(SOIC)、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、薄型四方扁平封装(TQFP)、系统级封装(SIP)、多芯片封装(MCP)、晶片级制造封装(WFP)、或晶片级处理堆栈封装(WSP)等等。

图13是示出根据本公开的一个实施例的存储系统的应用的框图。例如,图13的存储系统可以对应于图1的存储系统50。

参见图13,存储系统2000可以包括半导体存储器件2100和控制器2200。半导体存储器件2100可以包括多个存储芯片。半导体存储芯片可以分成多个组。

在一个实施例中,示出了多个组中的每一个组都可以通过第一至第k通道CH1至CHk而与控制器2200通信的情况。每个半导体存储芯片都可以与参考图1所描述的半导体存储器件相同的方式配置和操作。

每个组都可以通过一个公共通道而与控制器2200通信。控制器2200可以具有与参考图1所描述的控制器1200相同的配置,并且可以配置为通过多个通道CH1至CHk而控制半导体存储器件2100的多个存储芯片。

在图13中,示出多个半导体存储芯片与每个通道耦接。但是,应理解的是,存储系统2000可以修改为使得单个存储芯片与每个通道耦接。

图14是示出根据本公开的一个实施例的包括存储系统的计算系统3000的框图。例如,计算系统3000可以包括图13中的存储系统2000。

参见图14,计算系统3000可以包括中央处理单元(CPU)3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500、以及存储系统2000。

存储系统2000可以通过系统总线3500而与CPU 3100、RAM 3200、用户接口3300、以及电源3400耦接。通过用户接口3300提供的或通过CPU 3100处理的数据可以储存在存储系统2000中。

在图14中,示出半导体存储器件2100通过控制器2200而与系统总线3500耦接。但是,应注意到的是,半导体存储器件2100可以直接与系统总线3500耦接。可以通过CPU 3100和RAM 3200执行控制器2200的功能。

在图14的实施例中,可以如所示的采用存储系统2000。但是,应该注意到的是,可以用参考图1所描述的存储系统50来代替存储系统2000。

根据本公开的一个实施例,当包括目标页的存储块是开放块时,控制器200可以在编程操作之前使用测试读取电压执行读取目标页的操作。基于读取的数据,可以确定目标页中的存储单元的阈值电压是否已经不希望地升高。根据确定的结果,可以对目标页进行编程。因此,提供了一种具有增强的可靠性的存储系统以及其编程方法。

虽然出于示意的目的已经公开了本公开的示例性实施例,但是本领域技术人员应理解,各种修改、增加和替代都是可能的。因此,应该注意到的是,本发明的范围不意在受所述实施例的限制。在阅读了本公开之后,本领域技术人员可以设想本发明的许多其他实施例和变体,而不脱离由所附权利要求限定的本发明的范围和主旨。

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