存储设备及其操作方法与流程

文档序号:16259952发布日期:2018-12-14 21:25阅读:190来源:国知局
存储设备及其操作方法与流程

本申请要求于2017年6月7日在韩国知识产权局提交的韩国专利申请no.10-2017-0070862的优先权,该申请的全部内容通过引用并入本文中。

本公开的实施例涉及一种半导体存储器,更具体地涉及一种存储设备及其操作方法。

背景技术

存储设备是指在主机设备(例如,计算机、智能电话和智能平板)的控制下存储数据的设备。存储设备包括将数据存储在半导体存储器(特别是非易失性存储器)中的设备。

半导体存储器设备被分类为:易失性存储设备,其在断电时丢失存储在其中的数据,例如静态随机存取存储器(sram)、动态ram(dram)和同步dram;和非易失性存储器设备,其即使在断电时也保留存储在其中的数据,例如只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存设备、相变ram(pram)、磁ram(mram)、电阻式ram(rram)和铁电ram(fram)。随着半导体制造技术的发展,存储设备的集成度和容量不断增加。存储设备的高集成度使得可以降低制造存储设备所需的成本。然而,如果存储设备由于其高集成度而缩小,则会出现各种新问题。由于这些问题导致存储设备中所存储的数据的损坏,所以存储设备的可靠性可能会降低。



技术实现要素:

本公开的实施例提供了一种具有改善的可靠性的存储设备及其操作方法。

根据实施例,一种具有非易失性存储器设备的存储设备的操作方法包括:(a)进入通电模式;(b)从所述非易失性存储器设备中包括的存储器块中搜索包括至少一条擦除字线的开放存储器块;(c)如果所述开放存储器块中包括的所述擦除字线的数量不大于预设值,则向所述至少一条擦除字线施加编程电压以关闭所述开放存储器块;以及(d)在所述通电模式之后,进入正常操作模式。连接到被施加所述编程电压的所述至少一条擦除字线的存储器单元被编程为具有高于擦除状态的阈值电压分布范围的阈值电压分布范围。

根据另一实施例,一种存储设备包括:非易失性存储器设备;以及存储器控制器,其向所述非易失性存储器设备发送编程命令。所述存储器控制器在通电模式下向所述非易失性存储器设备发送所述编程命令,所述非易失性存储器设备具有其中包括至少一条擦除字线的开放存储器块。所述非易失性存储器设备通过响应于所述编程命令对所述开放存储器块中包括的所述至少一条擦除字线进行编程来关闭所述开放存储器块。

根据另一实施例,一种存储设备的操作方法包括:(a)进入断电模式;(b)从非易失性存储器设备中包括的存储器块中搜索包括至少一条擦除字线的开放存储器块;(c)在所述断电模式下,如果所述开放存储器块中包括的所述擦除字线的数量不大于第一预设值,则对所述开放存储器块中包括的所述至少一条擦除字线进行编程以关闭所述开放存储器块;以及(d)中断所述储存设备的电力。

根据另一实施例,一种由具有非易失性存储器设备的存储设备执行的操作方法包括:(a)标识所述非易失性存储器设备的存储器块中仅寻址处于擦除状态的存储器单元的字线的数量;以及(b)响应于确定所述数量小于预定值,向由所述字线寻址的所述存储器单元中的每个存储器单元施加编程电压。

附图说明

通过参考以下附图的以下描述,上述和其他目的和特征将变得显而易见,其中,除非另有说明,否则相似的附图标记在各个附图中指代相似的部件,并且在附图中:

图1是示出了根据本公开的实施例的存储设备的框图;

图2是示出了包括图1的存储设备的软件操作的软件层的框图;

图3是示出了图1的存储器控制器的框图;

图4是示出了图1的非易失性存储器设备的框图;

图5是示出了根据本公开的实施例的存储器块的电路图;

图6描述了图5的非易失性存储器设备的操作;

图7描述了根据本公开的实施例的非易失性存储器设备的存储器块中的开放存储器块;

图8示出了关闭图7的开放存储器块的示例;

图9是示出了根据本公开的实施例的伪编程操作的流程图;

图10描述了根据本公开的实施例的伪编程操作;

图11示出了根据本公开的实施例关闭开放存储器块的操作;

图12是示出了根据本公开的另一实施例的伪编程操作的流程图;

图13是示出了根据本公开的另一实施例的伪编程操作的流程图;

图14示出了存储设备根据图13的操作方法来执行伪编程操作的示例;

图15是示出了根据本公开的另一实施例的伪编程操作的流程图;

图16是示出了根据本公开的另一实施例的伪编程操作的流程图;以及

图17是示出了根据本公开的实施例的固态驱动器(ssd)的框图。

具体实施方式

下面以使本领域普通技术人员容易实现本公开的程度详细并清楚地描述了本公开的实施例。

图1是示出了根据本公开的实施例的存储设备的框图。参考图1,存储设备100包括存储器控制器110和非易失性存储器设备120。在一个实施例中,存储设备100可以是诸如固态驱动器(ssd)、通用串行总线(usb)存储器、硬盘驱动器或usb棒之类的大容量存储介质。

存储器控制器110可以响应于来自主机host的请求来交换数据。存储器控制器110可以响应于来自主机的请求从非易失性存储器设备120读取数据,并且可以将读取的数据提供给主机。而且,存储器控制器110可以响应于来自主机的请求在非易失性存储器设备120中对从主机接收的数据进行编程。

为了执行上述操作,存储器控制器110可以向非易失性存储器设备120提供地址addr、命令cmd和控制信号ctrl,并且可以与非易失性存储器设备120交换数据data。

非易失性存储器设备120可以响应于从存储器控制器110接收的信号对接收到的数据进行编程或可以输出数据。在一个实施例中,非易失性存储器设备120可以包括nand闪存存储器。然而,实施例可以不限于此。例如,非易失性存储器设备120可以包括:易失性存储器,例如静态随机存取存储器(sram)、dram或同步dram(sdram);或非易失性存储设器,例如只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存存储器设备、相变ram(pram)、磁ram(mram)、电阻式ram(rram)和铁电ram(fram)。

存储器控制器110可以向非易失性存储器设备120提供读取命令、编程命令、擦除命令或伪编程命令,作为命令cmd。存储器控制器110可以通过编程命令来请求对非易失性存储器设备120的字线单元的编程操作。存储器控制器110可以通过读取命令来请求对非易失性存储器设备120的字线单元的读取操作。存储器控制器110可以通过擦除命令来请求对非易失性存储器设备120的存储器块或子块单元的擦除操作。存储器控制器110可以通过伪编程命令来关闭非易失性存储器设备120的存储器块中的开放存储器块。伪编程命令可以被包括在编程命令中。在一个实施例中,存储器控制器110可以感测存储设备100的通电或断电,以关闭开放存储器块。

开放存储器块可以指包括与经编程存储器单元连接的字线(在下文中称为“编程字线”)以及与擦除状态的存储器单元连接的字线(在下文中称为“擦除字线”)的存储器块。在一个实施例中,开放存储器块可以包括编程状态的存储器单元和擦除状态的存储器单元。编程状态的存储器单元可以包括在编程字线中,并且擦除状态的存储器单元可以包括在擦除字线中。存储器控制器110通过编程命令对字线进行编程可以意指对连接到字线的一个或多个存储器单元进行编程。存储器控制器110可以通过用伪编程命令对开放存储器块的所有擦除字线进行编程来关闭开放存储器块。因此,由于与开放存储器块的字线连接的所有存储器单元都具有编程状态,所以开放存储器块可以切换成闭合存储器块。

在一个实施例中,闭合存储器块可以指代仅包括与经编程的存储器单元连接的字线的存储器块。闭合存储器块的每个存储器单元可以存储与编程状态相对应的特定数据。闭合存储器块的每个存储器单元可以不存储与编程状态相对应的特定数据。

可以执行伪编程操作以改变存储器单元的阈值电压分布。例如,通过使用预先存储在存储设备100或非易失性存储器设备120中的编程电压值来对经伪编程的存储器单元进行编程,并且因此可以改变阈值电压分布。伪编程操作可以指代施加编程电压以改变存储器单元的阈值电压分布的操作,并且可以通过伪编程操作将特定数据存储或不存储在存储器单元中。因此,可以通过由编程命令执行的正常编程操作来执行伪编程操作。下面将参考附图更全面地描述伪编程命令以及与伪编程命令相关联的伪编程操作。

图2是示出了包括图1的存储设备的软件操作的软件层的框图。参考图1和图2,包括主机和存储设备100的用户设备(未示出)的软件层可以包括应用201、文件系统202和闪存转译层(ftl)111。

应用201可以包括在用户设备或主机上驱动的各种应用程序。文件系统202可以组织由应用201使用的文件或数据。例如,文件系统202可以用逻辑地址来管理存储设备100的存储空间,并且可以将逻辑地址分配给存储设备100中所存储或要存储的数据以进行管理。在一个实施例中,文件系统202的类型可以根据用户设备或主机的操作系统os而变化。在一个实施例中,文件系统202可以包括fat(文件分配表)、fat32、ntfs(nt文件系统)、hfs(分层文件系统)、jsf2(日志文件系统2)、xfs、ods-5(磁盘上结构-5)、udf、zfs、ufs(unix文件系统)、ext2、ext3、ext4、reiserfs、reiser4、iso9660、gnomevfs、bfs、winfs等。应用201和文件系统202可以是在主机中驱动的软件层。

ftl111可以在主机和非易失性存储器设备120之间执行各种维护操作,从而高效地地使用非易失性存储器设备120。例如,ftl111可以执行逻辑地址和物理地址之间的转译操作。逻辑地址是由文件系统202管理的信息,并且物理地址是表示非易失性存储器设备120的存储数据的物理位置的信息。ftl111可以通过映射表(未示出)来管理地址转译操作。

在一个实施例中,ftl111可以通过使用存储数据的物理地址或映射表在非易失性存储器设备120的存储器块中寻找开放存储器块。ftl111可以通过使用物理地址或映射表在非易失性存储器设备120的字线中搜索编程字线,并且可以基于找到的结果来找到开放存储器块。存储设备100可以对通过ftl111找到的开放存储器块执行伪编程操作,从而关闭该开放存储器块。

在一个实施例中,ftl111可以根据存储设备100的操作状态来搜索开放存储器块,并且可以通过对找到的开放存储器块执行伪编程操作来关闭所找到的开放存储器块。例如,ftl111可以在存储设备100处于通电状态时搜索开放存储器块,并且可以通过对找到的开放存储器块执行伪编程操作来关闭所找到的开放存储器块。而且,ftl111可以在存储设备100处于断电状态时搜索开放存储器块,并且可以通过对找到的开放存储器块执行伪编程操作来关闭所找到的开放存储器块。

图3是示出了图1的存储器控制器的框图。为了简要描述,图3中仅示出了存储器控制器110的一些元件。然而,实施例可以不限于此。例如,存储器控制器110还可以包括其他元件,例如纠错码(ecc)电路。

参考图1和图3,存储器控制器110包括总线112、处理器113、随机存取存储器(ram)114、只读存储器(rom)115、主机接口116和闪存接口117。

总线112被配置为在存储器控制器110的元件之间提供通道。处理器113可以执行存储器控制器110的整体操作。ram114可以用作存储器控制器110的缓存存储器、高速缓存存储器或工作存储器。ram114可以存储处理器113将执行的代码和命令。ram114可以存储由处理器113处理的数据。ram114可以包括静态ram(sram)。

rom115可以存储存储器控制器110以固件形式操作所需的各种信息。在一个实施例中,图2的ftl111可以以软件的形式实现,并且可以存储在rom15或ram114中。可以由处理器113来驱动存储在rom115或ram114中的ftl111。

存储器控制器110可以通过主机接口116与主机通信。存储器控制器110可以通过闪存接口117与非易失性存储器设备120通信。在一个实施例中,存储器控制器110可以通过闪存接口117将伪编程命令发送到非易失性存储器设备120。

图4是示出了图1的非易失性存储器设备的框图。参考图4,非易失性存储器设备120包括存储器单元阵列121、地址解码器电路122、页面缓存电路123、数据输入/输出电路124以及控制逻辑电路125。

存储器单元阵列121包括多个存储器块blk1至blkz。存储器块blk1至blkz中的每一个包括多个存储器单元。存储器块blk1至blkz中的每一个可以通过至少一个接地选择线gsl、多条字线wl以及至少一个串选择线ssl连接到地址解码器电路122。存储器块blk1至blkz中的每一个可以通过多个位线bl连接到页面缓存电路123。存储器块blk1至blkz可以连接到位线bl。存储器块blk1至blkz的存储器单元可以具有相同的结构。在一个实施例中,存储器块blk1至blkz中的每一个可以与擦除操作的单位相对应。存储器单元阵列121的存储器单元可以以存储器块为单位被擦除。可以同时对属于存储器块的存储器单元进行擦除。作为另一示例,存储器块blk1至blkz中的每一个可以划分为多个子块。每个子块可以与擦除操作的单位相对应。

地址解码器电路122可以通过多个接地选择线gsl、多条字线wl以及多个串选择线ssl连接到存储器单元阵列121。地址解码器电路122在控制逻辑电路125的控制下进行操作。地址解码器电路122可以从存储器控制器110接收地址addr。地址解码器电路122可以对接收到的地址addr进行解码,并且可以控制基于解码的地址向字线wl施加的电压。

例如,在编程操作期间,地址解码器电路122可以向与地址addr相对应的所选择存储器块的所选择的字线施加编程电压vpgm,并且可以向所选择存储器块的未选择字线施加通过电压(passvoltage)vpass。地址解码器电路122可以向所选择的字线施加验证电压vvfy。在伪编程操作期间,地址解码器电路122可以向地址addr指示的所选择存储器块的所选择的字线施加编程电压vpgm。在读取操作期间,地址解码器电路122可以分别向由地址addr指示的所选择存储器块的所选择的字线施加读取电压vrd,并且可以向所选择存储器块的未选择字线施加未选择读取电压vread。在擦除操作期间,地址解码器电路122可向地址addr指示的所选择存储器块的字线施加擦除电压(例如,地电压)。

页面缓存电路123通过位线bl连接到存储器单元阵列121。页面缓存电路123通过多条数据线dl连接到数据输入/输出电路124。页面缓存电路123可以在控制逻辑电路125的控制下进行操作。

页面缓存电路123可以存储要在存储器单元阵列121的存储器单元中编程的数据或从存储器单元读取的数据。在编程操作期间,页面缓存电路123可以在存储器单元中存储要编程的数据。数据输入/输出电路124通过数据线dl与页面缓存电路123相连接。数据输入/输出电路124可以与存储器控制器110交换数据data。

数据输入/输出电路124可以临时存储从存储器控制器110接收的数据。数据输入/输出电路124可以向页面缓存电路123传送所存储的数据。数据输入/输出电路124可以临时存储从页面缓存电路123传送的数据。数据输入/输出电路124可以向存储器控制器110发送存储的数据。数据输入/输出电路124可以用作缓存存储器。

控制逻辑电路125可以从存储器控制器110接收命令cmd和控制信号ctrl。控制逻辑电路125可以对接收到的命令cmd进行解码,并且可以基于解码的命令来控制非易失性存储器设备120的整体操作。

如果接收到伪编程命令作为命令cmd,则控制逻辑电路125可以控制地址解码器电路122和页面缓存电路123,以执行该伪编程操作。例如,控制逻辑电路125可以控制页面缓存电路123,使得位线bl被偏置。控制逻辑电路125可以控制页面缓存电路123,使得位线bl被地电压偏置。控制逻辑电路125可以控制地址解码器电路122,使得编程电压被同时施加到与地址addr相对应的多于一条字线。例如,控制逻辑电路125可以控制地址解码器电路122,使得,编程电压根据与地址addr相对应的字线的位置被同时施加到多于一条字线。

图5是示出了根据本公开的实施例的存储器块的电路图。参考图5,存储器块blk1包括多个单元串cs11、cs21、cs12和cs22。多个单元串cs11、cs21、cs12和cs22可以沿行方向和列方向排列以构成行和列。

例如,沿着行方向排列的单元串cs11和cs12可以构成第一行,并且沿着行方向排列的单元串cs21和cs22可以构成第二行。沿着列方向排列的单元串c11和c21可以构成第一列,并且沿着列方向排列的单元串cs12和cs22可以构成第二列。

每个单元串可以包括多个单元晶体管。在每个单元串中,单元晶体管包括接地选择晶体管gsta和gstb、存储器单元mc1至mc6以及串选择晶体管ssta和sstb。每个单元串中的接地选择晶体管gsta和gstb、存储器单元mc1至mc6以及串选择晶体管ssta和sstb可以在与平面(例如,存储器块blk1的衬底上的平面)垂直的高度方向上堆叠,其中在所述平面上单元串cs11、cs21、cs12和cs22沿着行和列排列。

每个单元晶体管可以是其阈值电压根据其绝缘层中捕获的电荷量而改变的电荷捕获型单元晶体管。

最下面的接地选择晶体管gsta可以共同连接到公共源极线csl。

单元串cs11、cs21、cs12和cs22的接地选择晶体管gsts和gstb可以共同连接到接地选择线gsl。

在一个实施例中,相同高度(或顺序)的接地选择晶体管可以连接到相同的接地选择线,并且不同高度(或顺序)的接地选择晶体管可以连接到不同的接地选择线。例如,第一高度的接地选择晶体管gsta可以共同连接到第一接地选择线,并且第二高度的第二接地选择晶体管gstb可以共同连接到第二接地选择线。

在一个实施例中,同一行中的接地选择晶体管可以连接到相同的接地选择线,并且不同行的接地选择晶体管可以连接到不同的接地选择线。例如,第一行中的单元串cs11和cs12的接地选择晶体管gsta和gstb可以连接到第一接地选择线,并且第二行中的单元串cs21和cs22的接地选择晶体管gsta和gstb可以连接到第二接地选择线。

放置在距衬底相同高度(或顺序)的存储器单元(或接地选择晶体管gsta或gstb)可以共同连接到一条字线,并且放置在不同高度(或顺序)的存储器单元可以分别连接到不同的字线wl1至wl6。例如,存储器单元mc1共同连接到字线wl1。存储器单元mc2共同连接到字线wl2。存储器单元mc3共同连接到字线wl3。存储器单元mc4共同连接到字线wl4。存储器单元mc5共同连接到字线wl5。存储器单元mc6共同连接到字线wl6。

在具有相同高度(或顺序)的单元串cs11、cs21、cs12和cs22的第一串选择晶体管ssta中,不同行中的第一串选择晶体管ssta分别连接到不同的串选择线ssl1a和ssl2a。例如,单元串cs11和cs12的第一串选择晶体管ssta共同连接到串选择线ssl1a。单元串cs21和cs22的第一串选择晶体管ssta共同连接到串选择线ssl2a。

在具有相同高度(或顺序)的单元串cs11、cs21、cs12和cs22的第二串选择晶体管sstb中,不同行中的第二串选择晶体管sstb分别连接到不同的串选择线ssl1b和ssl2b。例如,单元串cs11和cs12的第二串选择晶体管sstb共同连接到串选择线ssl1b。单元串cs21和cs22的第二串选择晶体管sstb共同连接到串选择线ssl2b。

也就是说,不同行中的单元串连接到不同的串选择线。同一行的单元串中具有相同高度(或顺序)的串选择晶体管连接到同一串选择线。同一行的单元串中具有不同高度(或顺序)的串选择晶体管连接到不同的串选择线。

在一个实施例中,同一行的单元串的串选择晶体管可以共同连接到串选择线。例如,第一行中的单元串cs11和cs12的串选择晶体管ssta和sstb可以共同连接到串选择线。第二行中的单元串cs21和cs22的串选择晶体管ssta和sstb可以共同连接到串选择线。

单元串cs11、cs21、cs12和cs22的列可以连接到不同的位线bl1和bl2。例如,第一列中的单元串cs11和cs21的串选择晶体管sstb共同连接到位线bl1。单元串cs12和cs22的串选择晶体管sstb共同连接到位线bl2。

单元串cs11和cs12可以构成第一平面。单元串cs21和cs22可以构成第二平面。

在存储器块blk1中,读取操作和编程操作可以以行为单位来执行。例如,可以通过串选择线ssl1a、ssl1b、ssl2a和ssl2b来选择存储器块blka的一个平面。当导通电压被提供给串选择线ssl1a和ssl1b并且关断电压被提供给串选择线ssl2a和ssl2b时,第一平面中的单元串cs11和cs12可以连接到位线bl1和bl2。也就是说,可以选择第一平面。当导通电压被提供给串选择线ssl2a和ssl2b并且关断电压被提供给串选择线ssl1a和ssl1b时,第二平面中的单元串cs21和cs22可以连接到位线bl1和bl2。也就是说,可以选择第二平面。在所选择的平面中,可以通过字线wl1至wl6来选择一行存储器单元mc。在所选择的行中,可以执行编程操作或读取操作。

在存储器块blk1中,可以以存储器块或子块为单位来擦除存储器单元。当以存储器块为单位执行擦除操作时,可以根据擦除请求同时擦除存储器块blk1中的所有存储器单元mc。当以子块为单位执行擦除操作时,可以根据擦除请求同时擦除存储器块blk1中的一些存储器单元mc,而同时其剩余存储器单元被擦除禁止。低电压(例如,地电压)可以被提供给连接到擦除存储器单元的字线,并且连接到擦除禁止存储器单元mc的字线可以被浮置。

图5中所示的存储器块blk1是一个示例。然而,实施例可以不限于此。例如,单元串的行数可以增加或减少。随着单元串的行数变化,连接到单元串的行的串选择线或接地选择线的数量以及连接到位线的单元串的数量也可以改变。

单元串的列数可以增加或减少。随着单元串的列数变化,连接到单元串的列的位线的数量以及连接到串选择线的单元串的数量也可以改变。

电池串的高度可以增加或减小。例如,堆叠在每个单元串中的接地选择晶体管、存储器单元或串选择晶体管的数量可以增加或减少。

图6描述了图5的非易失性存储器设备的操作。图6的第一部分示出了根据与至少一条所选择的字线相关联的每个编程操作形成的存储器单元的阈值电压分布。图6的第二部分是示出了在编程操作期间向至少一条所选择的字线施加的编程电压和验证电压的图。

在图6的第一部分中,横轴表示存储器单元mc的阈值电压,纵轴表示存储器单元mc的数量。例如,当响应于编程命令而执行编程操作时,每个存储器单元可以被编程为具有擦除状态“e”以及来自擦除状态“e”的第一至第七编程状态p1至p7中的一个。为了将存储器单元编程为具有第一到第七编程状态p1到p7,可以将顺序增加的编程电压施加到所选择的字线。也就是说,可以使用多个脉冲来将不同电平的编程电压施加到存储器单元。可以通过使用第一至第七编程验证电压v1至v7来验证第一至第七编程状态p1至p7。

在图6的第二部分中,横轴表示时间t,纵轴表示电压v。参考图6的第二部分,编程电压vpgm被施加到至少一条所选择的字线,并且然后向其施加验证电压vvfy。如图6的第二部分所示,非易失性存储器设备120可以基于增量步进脉冲编程(ispp)方案来执行编程操作。例如,编程操作可以包括多个编程循环,每个编程循环包括用于施加编程电压vpgm1至vpgm3的编程步骤和用于施加验证电压vvfy的验证步骤。可以在第一编程循环中将第一编程电压vpgm1施加到所选择的字线,并且可以在第二编程循环中将比第一编程电压vpgm1高出增量δvpgm1的第二编程电压vpgm2施加到所选择的字线。也就是说,非易失性存储器设备120可以通过向至少一条所选择的字线施加不同电平的编程电压来使与至少一条所选择的字线连接的存储器单元的阈值电压不同。验证电压vvfy可以包括与编程电压vpgm相关联的各种电平的验证电压。

图7描述了根据本公开的实施例的非易失性存储器设备的存储器块中的开放存储器块。开放存储器块包括与经过编程的存储器单元连接的字线以及与擦除状态的存储器单元连接的字线。例如,参考图7,存储器块blk1包括多条字线wl1至wl6。第一至第三字线wl1至wl3是编程字线,并且第四至第六字线wl4至wl6是擦除字线。也就是说,图7的存储器块blk1是包括编程字线wl1至wl3和擦除字线wl4至wl6的开放存储器块。

开放存储器块不限于图7的存储器块blk1。例如,开放存储器块可以包括一条或多条编程字线以及一条或多条擦除字线。因此,开放存储器块中包括的擦除字线的数量可以彼此不同。而且,开放存储器块的编程字线和擦除字线的顺序不限于图7中所示的存储器块blk1。

如上所述,非易失性存储器设备120中可以不存在开放存储器块。在存在开放存储器块的情况下,存储器单元阵列121可以包括一个或多个开放存储器块,并且开放存储器块中包括的擦除字线的数量可以彼此不同。

图8示出了关闭图7的开放存储器块的示例。参考图1和图8,存储设备100可以执行伪编程操作以关闭非易失性存储器设备120中存在的开放存储器块。例如,存储设备100可以通过向开放存储器块blk1的擦除字线wl4至wl6施加伪编程电压来关闭开放存储器块blk1。也就是说,可以通过伪编程操作来对与擦除字线wl4至wl6连接的擦除状态的存储器单元mc进行编程。可以通过伪编程操作将开放存储器块blk1中包括的所有擦除字线wl4至wl6改变为编程字线wl4至wl6。因此,可以通过伪编程操作将开放存储器块blk1改变为闭合存储器块blk2。也就是说,闭合存储器块的所有字线可以是编程字线。

图9是示出了根据本公开的实施例的伪编程操作的流程图。为了简要描述,将参考存储设备100来描述根据本公开的实施例的伪编程操作。然而,实施例可以不限于此。例如,可以通过单独的硬件元件或单独的软件元件来执行伪编程操作。例如,可以在存储设备100中包括的存储器控制器110或非易失性存储器设备120中执行伪编程操作。可以在存储设备100中包括的存储器控制器110或非易失性存储器设备120中执行与伪编程操作相关联的图9的操作s110至s150中的全部或一些。

参考图1、图2和图9,在操作s110中,存储设备100可以进入通电模式。通电模式可以表示开始向存储设备100供电的状态。在存储设备100通过供电从断电状态变为通电状态的情况下,存储设备100可以进入通电模式。在一个实施例中,存储设备100可以在通电模式下执行固件。

在操作s120中,存储设备100搜索开放存储器块。存储器控制器110可以在非易失性存储器设备120的存储器块之中搜索一个或多个开放存储器块。存储器控制器110不仅可以确定是否存在开放存储器块,而且可以确定非易失性存储器设备120中包括的所有开放存储器块的位置。例如,存储器控制器110可以通过ftl111来确定是否存在开放存储器块以及开放存储器块的位置。由于ftl111管理与存储数据的物理地址有关的信息,所以存储器控制器110可以通过使用物理地址信息来确定编程字线的位置和编程字线的数量。存储器控制器110可以基于所确定的编程字线的位置和数量来确定在存储器块中是否存在开放存储器块。因此,存储器控制器110可以确定开放存储器块的存在和开放存储器块的位置。

存储设备100可以在通电模式之后进入正常操作模式。在操作s130至操作s150中,如果在操作s130中确定在非易失性存储器设备120中不存在开放存储器块,则存储设备100进入正常操作模式s150。如果在操作s130中确定在非易失性存储器设备120中存在开放存储器块,则存储设备100可以通过操作s140来关闭一个或多个开放存储器块。存储设备100在关闭开放存储器块之后进入正常操作模式。正常操作模式可以指代存储设备100能够在非易失性存储器设备120上执行编程、读取和擦除操作的状态。例如,存储设备100可以在通电模式下执行了用来在非易失性存储器设备120上执行编程、读取和擦除操作的准备操作之后进入正常操作模式。

在操作s140中,存储设备100可以执行伪编程操作以关闭开放存储器块。存储设备100可以关闭非易失性存储器设备120中存在的一个或多个开放存储器块。存储设备100可以在开放存储器块上同时执行伪编程操作以关闭开放存储器块。存储设备100可以对开放存储器块的一条或多条擦除字线执行伪编程操作。存储设备100可以通过同时对多条擦除字线执行伪编程操作来对连接到多条擦除字线的存储器单元mc进行编程。例如,存储器控制器110可以将伪编程命令cmd发送到非易失性存储器设备120以执行伪编程操作。存储器控制器110可以发送表示一条或多条擦除字线的一个或多个地址addr,其中在所述一条或多条擦除字线上执行伪编程操作以使得在开放存储器块的一条或多条擦除字线上执行编程。

在当非易失性存储器设备120中包括开放存储器块时中断向存储设备100的供电的情况下,开放存储器块的擦除字线的存储器单元可以保持在擦除状态。在开放存储器块中,如果擦除字线的存储器单元处于擦除状态的时间变长,则存储器单元可能劣化。存储设备100可以在通电模式下关闭开放存储器块,由此防止开放存储器块的擦除字线的存储器单元长时间处于擦除状态。存储设备100可以通过在供电中断时快速地对处于擦除状态的存储器单元进行编程来防止劣化。因此,可以改善存储设备100的可靠性。

图10描述了根据本公开的实施例的伪编程操作。图10的第一部分示出了当响应于伪编程命令而执行伪编程操作时存储器单元的阈值电压分布的变化。图10的第二部分是示出了在伪编程操作期间向至少一条所选择的字线施加的编程电压的图。

在图10的第一部分中,横轴表示存储器单元mc的阈值电压,纵轴表示存储器单元mc的数量。例如,当响应于伪编程命令而执行伪编程操作时,可以将每个存储器单元编程为具有来自擦除状态“e”的伪编程状态dp。经过伪编程的存储器单元可以不具有擦除状态“e”。也就是说,可以将存储器单元编程为具有伪编程状态dp,其阈值电压分布范围高于擦除状态“e”的阈值电压分布范围。在一个实施例中,伪编程状态dp的阈值电压分布范围的下限可以等于或高于擦除状态“e”的阈值电压分布范围的上限。为了将存储器单元mc编程到伪编程状态dp,可以将一个编程电压施加到存储器单元mc。也就是说,一个脉冲可以用来向存储器单元施加一次编程电压。

在图10的第二部分中,横轴表示时间t,纵轴表示电压v。参考图10的第二部分,在伪编程操作期间,编程电压vpgm被施加到至少一条所选择的字线selectedwl。在一个实施例中,可以通过将一个正的高电压(例如,编程电压)施加到与存储器单元的控制栅极连接的字线来完成与存储器单元相关联的伪编程操作。在伪编程操作期间,可以在没有验证操作的情况下对存储器单元进行编程。

与图6的编程操作相比,出于对存储器单元mc进行编程的目的,可以通过向存储器单元mc仅施加一个编程脉冲来缩短图10的伪编程操作的编程时间。

图11示出了根据本公开的实施例的关闭开放存储器块的操作。参考图11,存储设备100可以通过以各种方式执行伪编程操作来关闭开放存储器块。在图11中,假设开放存储器块blk1包括第一和第二编程字线以及第三至第n擦除字线。然而,实施例可以不限于此。例如,实施例可以适用于包括各种数量的编程字线和各种数量的擦除字线的开放存储器块。

在一个实施例中,存储设备100可以在同一时间t1将编程电压施加到开放存储器块blk1的擦除字线wl3至wln。存储设备100可以通过同时对擦除字线wl3至wln执行伪编程操作来关闭开放存储器块blk1。存储设备100可以通过同时对擦除字线wl3至wln执行伪编程操作来缩短编程时间。

在一个实施例中,存储设备100可以在不同时间t1~tn将编程电压施加到开放存储器块blk2的擦除字线wl3至wln。存储设备100可以从最靠近编程字线wl1和wl2的擦除字线wl3开始顺序地执行伪编程操作。存储设备100可以通过在不同时间对擦除字线wl3至wln执行伪编程操作来关闭开放存储器块blk2。

在一个实施例中,存储设备100可以在不同时间t1~t3处对置于距开放存储器块blk3的编程字线wl1和wl2特定距离内的擦除字线wl3至wl5执行伪编程操作。存储设备100可以在第一时间t1向擦除字线wl3施加编程电压,可以在第二时间t2向擦除字线wl4施加编程电压,并且可以在第三时间t3向擦除字线wl5施加编程电压。存储设备100可以对与编程字线wl1和wl2间隔开特定距离或更远的擦除字线wl6至wln执行伪编程操作,执行所述伪编程操作的时间与针对擦除字线wl3至wl5执行伪编程操作的时间不同。存储设备100可以在第四时间t4向擦除字线wl6至wln施加编程电压。

在一个实施例中,存储设备100可以在第一时间t1向最靠近开放存储器块blk4的编程字线wl1和wl2的擦除字线wl3施加编程电压。存储设备100可以在第二时间t2向擦除字线wl3至wl5中除了与编程字线wl1和wl2最靠近的擦除字线wl3之外的剩余擦除字线wl4和wl5施加编程电压。这里,擦除字线wl3至wl5可以位于距离编程字线wl1和wl2特定距离的范围内。存储设备100可以在不同时间tk向与编程字线wl1和wl2间隔超过特定距离的擦除字线wl6到wln施加编程电压。

根据本公开的实施例的存储设备100可以基于编程字线和擦除字线之间的物理距离在不同时间对擦除字线执行编程操作。因此,存储设备100可以通过在不同时间对与编程字线相邻的两条或更多条擦除字线执行伪编程操作来降低与连接到编程字线的存储器单元相关联的耦合噪声。

根据本公开的实施例的存储设备100在开放存储器块上执行伪编程操作的方法不限于参考图11描述的方法,并且可以包括根据距编程字线的距离在不同时间对擦除字线执行编程操作的任何方法。

图12是示出了根据本公开的另一实施例的伪编程操作的流程图。为了简要描述,将参考存储设备100来描述根据本公开的实施例的伪编程操作。在操作s210中,存储设备100可以进入通电模式。在操作s220中,存储设备100搜索开放存储器块。操作s210和操作s220可以类似于图9的操作s110至操作s130,在此不再重复其具体描述。下面将参考图1和图12更全面地描述在存储设备100搜索开放存储器块之后的操作。

在操作s230中,存储设备100将至少一个开放存储器块的擦除字线的数量与预设值进行比较。在一个实施例中,存储设备100可以确定非易失性存储器设备120中包括的至少一个开放存储器块的擦除字线的数量是否超过预设值。存储设备100可以通过使用非易失性存储器设备120中包括的所有开放存储器块的擦除字线的数量来执行操作s230。

可以基于存储设备100的资源来确定预设值。例如,在存储设备100中使用的资源较多的情况下,预设值可以较小;并且在存储设备100中使用的资源较少的情况下,预设值可以较大。

如果擦除字线的数量不大于预设值,则在操作s240中,存储设备100关闭开放存储器块。在一个实施例中,存储设备100可以关闭在操作s230中用作参考以确定擦除字线的数量的开放存储器块。例如,在基于所有开放存储器块来确定擦除字线的数量是否超过预设值的情况下,存储设备100可以关闭所有开放存储器块。如果所有开放存储器块的擦除字线的数量不大于预设值,则存储设备100可以关闭所有开放存储器块。存储设备100可以执行伪编程操作以关闭开放存储器块。

在擦除字线的数量超过预设值的情况下,在操作s230和操作s250中,存储设备100进入正常操作模式而不关闭开放存储器块。

在操作s260中,存储设备100确定存储设备100是否处于空闲状态。空闲状态表示其中没有执行用来使用存储设备100的资源的操作(例如,编程操作、读取操作或擦除操作)的状态。在一个实施例中,存储设备100可以确定非易失性存储器设备120是否处于空闲状态。例如,存储设备100可以基于非易失性存储器设备120是否使用资源来确定非易失性存储器设备120是否处于空闲状态。

在非易失性存储器设备120处于空闲状态的情况下,在操作s270和操作s280中,存储设备100可以搜索开放存储器块,以确定在正常操作模式下是否存在开放存储器块(s270)。在一个实施例中,处于正常操作模式的开放存储器块可以包括未在通电模式下编程的开放存储器块以及在正常操作模式下新生成的开放存储器块。例如,存储设备100可以通过在空闲状态下搜索在通电模式下未找到的开放存储器块来确定是否存在开放存储器块(s270)。

在存在开放存储器块的情况下,存储设备100关闭开放存储器块(s280)。在非易失性存储器设备120中不存在开放存储器块的情况下,存储设备100可以不执行伪编程操作。例如,在操作s230和操作s240中,在存储设备100执行用来关闭所有开放存储器块的操作的情况下,非易失性存储器设备120中可以不存在开放存储器块,并且因此存储设备100可以不执行伪编程操作。

因此,根据本公开的另一实施例的存储设备100可以基于擦除字线的数量来使得关闭开放存储器块的时间不同。在通电模式下,由于用于进入正常操作模式的准备操作,存储设备100可能使用大量资源。由于考虑了在通电模式下使用的资源,所以存储设备100可以在擦除字线的数量不多于特定值的情况下执行开放存储器块关闭操作。存储设备100可以在资源使用量较小的空闲状态下关闭非易失性存储器设备120中包括的所有开放存储器块。因此,当执行伪编程操作时,存储设备100可以防止存储器单元的劣化,并且可以有效地使用存储设备100的资源。

图13是示出了根据本公开的另一实施例的伪编程操作的流程图。为了简要描述,将参考存储设备100来描述根据本公开的实施例的伪编程操作。在操作s310中,存储设备100可以进入通电模式。在操作s320中,存储设备100搜索开放存储器块。操作s310和操作s320可以类似于图9的操作s110至操作s130,在此不再重复其具体描述。下面将参考图1和图13更全面地描述在存储设备100搜索开放存储器块之后的操作。

在操作s330中,存储设备100将在操作s320中找到的一个或多个开放存储器块中的每一个的擦除字线的数量与预设值进行比较。在操作s340中,存储设备100基于操作s330的比较结果来关闭开放存储器块。在一个实施例中,在任何一个开放存储器块的擦除字线的数量都不大于预设值的情况下,存储设备100可以关闭开放存储器块。在任何一个开放存储器块的擦除字线的数量都超过预设值的情况下,存储设备100可以不关闭开放存储器块。因此,在通电模式下,可以基于擦除字线的数量来选择性地关闭开放存储器块中的每个开放存储器块。

在操作s350中,存储设备100进入正常操作模式。当存储设备100处于正常操作模式时,非易失性存储器设备120中可以不存在开放存储器块。在一个实施例中,在操作s330中确定所有开放存储器块的擦除字线的数量不大于预设值的情况下,非易失性存储器设备120中可以不存在开放存储器块。而且,当存储设备100处于正常操作模式时,非易失性存储器设备120中可以存在开放存储器块。在一个实施例中,在操作s330中确定任何一个开放存储器块的擦除字线的数量都超过预设值的情况下,非易失性存储器设备120中可以存在开放存储器块。

在操作s360中确定存储设备100处于空闲状态的情况下,在操作s370中,存储设备100关闭剩余的开放存储器块。在存储设备100未进入空闲状态的情况下,即使存在开放存储器块,存储设备100也可以不关闭剩余的开放存储器块。如果即使存储设备100进入空闲状态也不存在开放存储器块,则可以不执行操作s370。

图14示出了存储设备根据图13的操作方法来执行伪编程操作的示例。在图14中,横轴表示时间,并且非易失性存储器设备120中包括第一开放存储器块blk1和第二开放存储器块blk2。第一开放存储器块blk1的擦除字线wl4至wl6的数量是“3”,并且第二开放存储器块blk2的擦除字线wl2至wl6的数量是“5”。

根据图13的操作s310和操作s320,如果存储设备100进入通电模式,则存储设备100检索非易失性存储器设备120中存在的开放存储器块以找到第一开放存储器块blk1和第二开放存储器块blk2。根据操作s330,存储设备100将第一开放存储器块blk1和第二开放存储器块blk2中的每一个的擦除字线的数量与预设值进行比较。在图14的情况下,假设预设值是“4”。在这种情况下,第一开放存储器块blk1的擦除字线的数量不大于预设值。相反,由于第二开放存储器块blk2的擦除字线的数量是“5”,所以它超过了预设值。根据操作s340,存储设备100通过仅对第一开放存储器块blk1的擦除字线wl4至wl6执行伪编程操作来关闭第一开放存储器块blk1。

根据操作s350,存储设备100在通电模式下仅关闭第一开放存储器块blk1之后进入正常操作模式。根据操作s360和操作s370,如果进入空闲状态,则存储设备100通过对第二开放存储器块blk2的擦除字线wl2至wl6执行伪编程操作来关闭第二开放存储器块blk2。与具有大量擦除字线的第二开放存储器块blk2相比,存储设备100可以更早地关闭具有少量擦除字线的第一开放存储器块blk1。

根据本公开的另一实施例的用于执行伪编程操作的方法不限于图14的示例。例如,可以不同地改变或修改开放存储器块的数量和开放存储器块中包括的擦除字线的数量。

根据本公开的另一实施例的存储设备100可以根据关于每个开放存储器块的擦除字线的数量使得关闭开放存储器块的时间不同。因此,存储设备100可以通过在通电模式下对其中擦除字线的数量较小的开放存储器块执行伪编程操作来减少在通电模式下使用的资源量。存储设备100可以通过在空闲状态下对其中擦除字线数量较大的开放存储器块执行伪编程操作来高效地使用资源。

图15是示出了根据本公开的另一实施例的伪编程操作的流程图。为了简要描述,将参考存储设备100来描述根据本公开的实施例的伪编程操作。

参考图1、图3和图15,在操作s410中,存储设备100可以进入断电模式。断电模式可以意指中断供电的准备状态。如果从主机接收到断电命令,则存储设备100可以进入断电模式。存储设备100可以在断电模式下向非易失性存储器设备120发送ram114中存储的数据的部分。

在操作s420中,存储设备100搜索开放存储器块。在操作s430和操作s440中,在操作s430中确定存在开放存储器块的情况下,在操作s440中,存储设备100关闭开放存储器块。操作s420到操作s440可以类似于图9的操作s120到操作s140,在此不再重复其具体描述。如果开放存储器块不存在,或者在关闭开放存储器块之后,在操作s450中,存储设备100断电。

因此,根据本公开的另一实施例的存储设备100可以通过在电源中断之前关闭非易失性存储器设备120中存在的开放存储器块来防止存储器单元在电源中断时保持在擦除状态。这可以意指存储设备100防止存储器单元的劣化。

根据本公开的另一实施例的存储设备100不限于以上描述。例如,根据本公开的另一实施例的存储设备100可以基于参考图12和图13所描述的操作方法来执行伪编程操作。也就是说,当在断电模式下关闭开放存储器块时,存储设备100可以基于擦除字线的数量来关闭开放存储器块。在擦除字线的数量超过预设值的情况下,存储设备100可能无法关闭至少一个开放存储器块。存储设备100可以进入通电模式以将存储设备100在断电模式下未能关闭的开放存储器块关闭。也就是说,存储设备100可以在通电模式下关闭存储设备100在断电模式下未能关闭的开放存储器块。在通电模式下关闭开放存储器块的情况下,存储设备100可以根据参考图9、图12和图13所述的实施例来关闭开放存储器块。断电模式的预设值和通电模式的预设值可以不同。可以考虑在每种模式下使用的资源来确定预设值,并且可以根据在相同模式下使用的资源来不同地确定预设值。

图16是示出了根据本公开的另一实施例的伪编程操作的流程图。为了简要描述,将参考存储设备100来描述根据本公开的实施例的伪编程操作。然而,实施例可以不限于此。例如,可以通过单独的硬件元件或单独的软件元件来执行伪编程操作。例如,可以在存储设备100中包括的存储器控制器110或非易失性存储器设备120中执行伪编程操作。可以在存储器控制器110或非易失性存储器设备120中执行与伪编程操作相关联的图16的操作s510至s550中的全部或部分操作。

参考图1和图16,在操作s510中,存储设备100可以进入通电模式。在操作s520中,存储设备100可以检测是否执行了从突然断电(spo)的恢复操作。存储设备100可以在电力突然中断之后检测是否供应了电力。例如,存储设备100可以参考非易失性存储器设备120中存储的元数据或用户数据来检测存储设备100是否从spo恢复。

在检测到从spo恢复的情况下,在操作s530中,存储设备100搜索开放存储器块。在操作s540和操作s550中,在操作s540中确定存在开放存储器块的情况下,在操作s550中,存储设备100关闭开放存储器块。在操作s520中没有检测到从spo恢复的情况下,或者在操作s540中确定不存在开放存储器块的情况下,存储设备100不关闭开放存储器块。在操作s560中,存储设备100进入正常操作模式。存储设备100在操作s530至操作s560中执行的操作方法类似于存储设备100在图9的操作s120至操作s150中执行的操作方法,在此不再重复其说明。

参考图15描述的用于执行伪编程操作的方法可能难以适用于存储设备100经历spo的情况。根据参考图15描述的用于执行伪编程操作的方法,在发生spo的情况下,可以在再次向存储设备100供应电力之后通过关闭开放存储器块来防止存储器单元mc劣化。

根据本公开的另一实施例的存储设备100不限于以上描述。例如,根据本公开的另一实施例的存储设备100可以基于参考图12和图13所描述的操作方法来执行伪编程操作。也就是说,存储设备100可以基于擦除字线的数量来关闭开放存储器块。基于擦除字线的数量,存储设备100可以在通电模式下关闭开放存储器块,或者可以在正常操作模式的空闲状态下关闭开放存储器块。

图17是示出了根据本公开的实施例的固态驱动器(ssd)的框图。参考图17,固态驱动器(ssd)系统1000包括主机1100和ssd1200。

ssd1200通过信号连接器1201与主机1100交换信号sig,并通过电源连接器1202被供应电力pwr。ssd1200包括ssd控制器1210、多个闪存存储器1221至122n、辅助电源1230和缓存存储器1240。

ssd控制器1210可以响应于来自主机1100的信号sig来控制闪存存储器1221至122n。闪存存储器1221至122n可以响应于ssd控制器1210的控制来执行编程操作。在一个实施例中,ssd控制器1210可以根据参考图1至图16描述的方法来执行伪编程操作。

辅助电源1230通过电源连接器1202与主机1100连接。辅助电源1230可以由来自主机1100的电力pwr充电。当不能从主机1100平稳地供电时,辅助电源1230可以为ssd系统1200供电。

缓存存储器1240用作ssd1200的缓存存储器。例如,缓存存储器1240可以临时存储从主机1100或从闪存存储器1221至122n接收的数据,或者可以临时存储闪存存储器1221至122n的元数据(例如,映射表)。备选地,缓存存储器1240可以临时存储ssd控制器1210操作所需的各种信息。在一个实施例中,ssd控制器1210可以通过使用缓存存储器1240中存储的数据来搜索开放存储器块。缓存存储器1240可以存储ssd控制器1210基于擦除字线的数量来执行伪编程操作所需的预设值。

根据本公开的实施例,可以防止当存储器单元处于擦除状态时发生存储器单元的劣化。因此,可以提供能够改善非易失性存储器设备的可靠性的存储设备及其操作方法。

如在本领域中常见的,可以根据执行所描述的一个或多个功能的块来描述和示出实施例。在本文中可以称为单元或模块等的这些块通过诸如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子部件、有源电子部件、光学部件、硬连线电路等的模拟和/或数字电路物理地实现,并且可以可选地由固件和/或软件驱动。例如,电路可以实现在一个或多个半导体芯片中,或者在诸如印刷电路板等的衬底支撑件上。构成块的电路可以由专用硬件或处理器(例如,一个或多个编程的微处理器和相关联的电路)来实现,或者由用来执行该块的一些功能的专用硬件和用来执行该块的其他功能的处理器的组合来实现。在不脱离本公开的范围的情况下,实施例的每个块可以物理地分成两个或更多个交互和分立的块。类似地,在不脱离本公开的范围的情况下,实施例的块可以物理地组合成更复杂的块。

尽管已经参考实施例描述了本公开,但是对于本领域技术人员来说显而易见的是,在不脱离本公开的精神和范围的情况下,可以进行各种改变和修改。因此,应当理解的是:上述实施例不是限制性的而是说明性的。

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