非易失性存储设备的操作方法和存储器控制器的操作方法与流程

文档序号:17152772发布日期:2019-03-19 23:36阅读:222来源:国知局
非易失性存储设备的操作方法和存储器控制器的操作方法与流程

要求于2017年9月11日向韩国知识产权局提交的韩国专利申请no.10-2017-0116113的优先权,其公开内容通过引用整体并入本文。

本文描述的发明构思的示例实施例涉及半导体存储器,更具体地,涉及非易失性半导体存储器的操作方法和存储器控制器的操作方法。



背景技术:

半导体存储设备分为:易失性存储设备,其在断电时丢失存储在其中的数据,包括静态随机存取存储器(sram)、动态ram(dram)和同步dram(sdram);以及非易失性存储设备,其即使在断电时也保持存储在其中的数据,包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存设备、相变ram(pram)、磁ram(mram)、电阻ram(rram)和铁电ram(fram)。

包括闪存设备的非易失性存储设备被广泛用作计算系统中的存储介质。非易失性存储设备可以被配置为基于各种电信号与存储器控制器通信。在一些情况下,当所述电信号由于在非易失性存储设备的操作期间发生的各种因素而失真时,非易失性存储设备可能无法正常地发送和接收数据。因此,非易失性存储设备的功能可能是次优的。



技术实现要素:

本发明构思的示例实施例提供了非易失性存储设备的操作方法和存储器控制器的操作方法,其中可以实现所述操作方法以提高所述非易失性存储设备和/或存储器控制器的可靠性。

根据一些示例实施例,一种非易失性存储设备的操作方法可以包括:在非易失性存储设备处,通过数据信号(dq)从外部设备接收编程命令和地址;在非易失性存储设备处,在模式时段中通过数据信号和与数据信号同步的数据选通信号(dqs)从外部设备接收指定模式,其中在模式时段中数据选通信号的上升沿或下降沿与数据信号窗口的左边沿或右边沿对齐;在非易失性存储设备处,在数据时段中通过数据信号和数据选通信号从外部设备接收用户数据;以及在非易失性存储设备处,基于确定指定模式是否与特定模式匹配,选择性地执行对用户数据的编程操作或者恢复操作。

根据一些示例实施例,一种非易失性存储设备的操作方法可以包括:在非易失性存储设备处,通过数据信号(dq)从外部设备接收编程命令和地址;在非易失性存储设备处,在模式时段中通过数据信号和与数据信号同步的数据选通信号(dqs)从外部设备接收指定模式;在非易失性存储设备处,在数据时段中通过数据信号和数据选通信号从外部设备接收用户数据和循环冗余校验(crc)码;以及在非易失性存储设备处,基于确定指定模式是否与特定模式不匹配并且基于crc码从用户数据检测到错误,选择性地执行对用户数据的编程操作或者恢复操作。

根据一些示例实施例,一种用于控制非易失性存储设备的存储器控制器的操作方法可以包括:通过数据信号将命令和地址从存储器控制器发送到非易失性存储设备;在模式时段中通过数据信号和与数据信号同步的数据选通信号将指定模式从存储器控制器发送到非易失性存储设备,其中在模式时段中数据选通信号的上升沿或下降沿与数据信号的窗口的左边沿或右边沿对齐;在数据时段中,通过数据信号和数据选通信号将用户数据从存储器控制器发送到非易失性存储设备;在存储器控制器处从非易失性存储设备接收状态信息;以及响应于状态信息对非易失性存储设备执行恢复操作。

根据一些示例实施例,一种非易失性存储设备可以包括:存储单元阵列,包括多个存储单元;输入/输出设备,被配置为通过数据信号以及数据选通信号从外部设备接收指定模式和用户数据;模式检查器,被配置为确定指定模式是否与特定模式匹配并生成确定的确定结果;以及控制逻辑电路,被配置为基于确定结果选择性地执行对存储单元阵列中的用户数据进行编程的编程操作或将编程操作处理为编程故障而没有编程操作。

根据一些示例实施例,一种非易失性存储设备的操作方法可以包括:在非易失性存储设备从外部设备接收命令和地址;在非易失性存储设备通过数据信号和数据选通信号从外部设备接收指定模式和用户数据;并且基于确定所接收的指定模式与特定模式不匹配,在非易失性存储设备处执行重新训练操作而没有与用户数据相关联的编程操作。

附图说明

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

图1是示出根据本发明构思的一些示例实施例的存储设备的框图;

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

图3a、图3b和图3c是示出输入到非易失性存储设备的数据信号和数据选通信号的时序图;

图4是示出图1的非易失性存储设备的操作的流程图;

图5a和图5b是示出输入到非易失性存储设备的数据信号和数据选通信号的时序图;

图6是详细示出图4的操作s150的流程图;

图7a、图7b和图7c是示出模式不匹配的示例性情况的时序图;

图8是示出作为根据本发明构思的恢复操作之一的重新训练操作的流程图;

图9是用于描述作为根据本发明构思的恢复操作之一的重新锁定操作的视图;

图10是示出如何将数据输入到图1的非易失性存储设备的时序图;

图11a和图11b是示出图1的非易失性存储设备的编程操作的时序图;

图12是示出图1的非易失性存储设备的操作的流程图;

图13是用于描述数据信号的窗口的视图;

图14a、图14b和图14c是示出数据如何输入到非易失性存储设备的时序图;

图15是示出图1的非易失性存储设备的操作的流程图;

图16是示出取决于图15的流程图如何将数据输入到非易失性存储设备的时序图;

图17是示出图1的非易失性存储设备的操作的流程图;

图18是示出取决于图17的流程图如何将数据输入到图17的非易失性存储设备的时序图;

图19是示出根据本发明构思的一些示例实施例的页编程操作的时序图;

图20是示出根据本发明构思的存储器控制器和非易失性存储设备之间的操作的视图;

图21是示出根据本发明构思的一些示例实施例的存储设备的框图;以及

图22是示出包括根据本发明构思的非易失性存储设备的固态驱动系统的框图。

具体实施方式

下面,可以详细且清楚地描述本发明构思的示例实施例,使得本领域普通技术人员容易实现本发明构思。

图1是示出根据本发明构思的一些示例实施例的存储设备的框图。参考图1,存储设备100可以包括存储器控制器110和非易失性存储设备120。在一些示例实施例中,存储器控制器110可以包括处理器(例如,处理电路的实例)和存储器。存储器控制器110的存储器可以存储一个或多个指令程序,并且存储器控制器110的处理器可以被配置为执行一个或多个指令程序以实现如本文对于存储器控制器的任何示例实施例所述的存储器控制器110的功能。

存储器控制器110可以将数据存储在非易失性存储设备120中。例如,存储器控制器110可以通过多个数据信号dq向非易失性存储设备120提供命令cmd、地址addr和数据。存储器控制器110可以将控制信号ctrl和数据选通信号dqs提供给非易失性存储设备120。

在一些示例实施例中,控制信号ctrl、数据选通信号dqs和多个数据信号dq可以通过不同的信号线和不同的信号引脚被提供给非易失性存储设备120。控制信号ctrl和数据选通信号dqs可以是用于区分通过多个数据信号dq提供给非易失性存储设备120的信号(例如,命令cmd、地址addr和数据)的信号。在一些示例实施例中,数据信号dq表示通过数据引脚(dq引脚)发送和接收的信号,并且数据选通信号dqs表示通过数据选通引脚(dqs引脚)发送和接收的信号。

非易失性存储设备120可以响应于从存储器控制器110接收的信号而操作。例如,非易失性存储设备120可以基于控制信号ctrl来确定通过数据信号dq提供的信号是命令cmd、地址addr还是数据。在一些示例实施例中,控制信号ctrl可以包括芯片使能信号、命令锁存使能信号、地址锁存使能信号、读取使能信号或写入使能信号。

非易失性存储设备120可以被配置为基于数据选通信号dqs识别(或捕获)通过数据信号dq提供的数据。非易失性存储设备120可以基于所接收的命令cmd和所接收的地址addr来存储所识别的数据。

下面,为了便于描述,假设在非易失性存储设备120中接收的数据是基于数据选通信号dqs识别的数据。该表达用于使本发明构思的描述容易,而不是限制本发明构思的范围和精神。

在一些示例实施例中,非易失性存储设备120可以包括nand闪存。然而,本发明构思可以不限于此。例如,非易失性存储设备120可以包括易失性存储器(诸如静态ram(sram)、dram或同步dram(sdram))或非易失性存储器(诸如只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、相变ram(pram)、磁ram(mram)、电阻ram(rram)或铁电ram(fram))中的至少一个。

根据本发明构思的非易失性存储设备120可以包括模式检查器121。在一些示例实施例中,模式检查器121可以以软件、硬件或其组合的形式实现。模式检查器121可以对从存储器控制器110接收的数据的一部分执行模式检查(patternchecking)(或模式匹配),以确定其余接收数据的有效性。

更详细地,在存储设备100的写入操作或编程操作中,存储器控制器110可以通过数据选通信号dqs和多个数据信号dq向非易失性存储设备120提供具有指定模式(specificpattern)(为了便于描述,在下文中称为“指定模式(sp)”)和用户数据ud的数据。非易失性存储设备120可以基于数据选通信号dqs从存储器控制器110识别指定模式sp和用户数据ud。例如,非易失性存储设备120可以在数据选通信号dqs的上升沿或下降沿区分多个数据信号dq,以接收指定模式sp和用户数据ud。

如果数据选通信号dqs或数据信号dq由于各种外部因素(例如,温度、操作电压和操作速度的变化)而失真,则非易失性存储设备120可能无法正常识别指定模式sp和用户数据ud。在这种情况下,由于未正常识别用户数据ud,因此非易失性存储设备120可能存储非预期数据或异常数据。

根据本发明构思的非易失性存储设备120的模式检查器121可以执行模式检查操作,用于确定从存储器控制器110接收的指定模式sp是否与特定(particular)(或替代地,预定义)模式匹配,并且可以取决于模式检查结果将用户数据ud处理为有效数据或无效数据,从而防止异常数据被存储在其中,并因而改善非易失性存储设备120的功能性。

例如,在所接收的指定模式sp与特定(或替代地,预定义)模式匹配的情况下,非易失性存储设备120可以对用户数据ud执行编程操作。在所接收的指定模式sp与特定(或替代地,预定义)模式不匹配的情况下,存储器控制器110和非易失性存储设备120可以执行恢复操作,使得数据选通信号dqs与数据选通信号dqs之间的中心对齐,或校正数据选通信号dqs或数据信号dq的失真。将参考附图描述根据本发明构思的非易失性存储设备120的操作。

图2是示出图1的非易失性存储设备的框图。参考图2,非易失性存储设备120可包括模式检查器121、存储单元阵列122、地址译码器123、页缓冲器电路124、输入/输出电路125和控制逻辑电路126。非易失性存储设备120的一个或多个前述元件(例如,模式检查器121、地址译码器123、页缓冲器电路124、输入/输出电路125和/或控制逻辑电路126)可以由包括在非易失性存储设备120中的处理器和存储器实现,其中处理器执行存储在存储器上的指令程序以实现一个或多个上述元件的功能。在一些示例实施例中,非易失性存储设备120的前述元件中的一个或多个(例如,模式检查器121、地址译码器123、页缓冲器电路124、输入/输出电路125和/或控制逻辑电路126)可以是被配置为实现一个或多个元件的功能的电路的实例。如上所述,模式检查器121可以对从存储器控制器110接收的指定模式sp执行模式检查操作。可以将模式检查结果提供给控制逻辑电路126。

存储单元阵列122可包括多个存储块。每个存储块可以包括多个存储单元。存储单元可以与多个字线wl连接。每个存储单元可以是存储1位数据的单级单元(slc)或存储两位或更多位的数据的多级单元(mlc)。

地址译码器123可以通过串选择线ssl、字线wl和地选择线gsl与存储单元阵列122连接。地址译码器123可以从存储器控制器110接收和译码地址addr。地址译码器123可以基于译码的地址来控制串选择线ssl、字线wl和地选择线gsl的电压。

页缓冲器电路124可以通过位线bl与存储单元阵列122连接。页缓冲器电路124可以通过信号线dl与输入/输出电路125连接。页缓冲器电路124可以通过信号线dl从输入/输出电路125接收数据(特别是用户数据ud),并且可以临时存储接收的数据。替代地,页缓冲器电路124可用于临时存储从存储单元阵列122读取的数据。

输入/输出电路125可以从存储器控制器110接收数据。在一些示例实施例中,输入/输出电路125可以被配置为与来自存储器控制器110的数据选通信号dqs同步地识别或接收数据。在一些示例实施例中,数据可以包括指定模式sp和用户数据ud。

控制逻辑电路126可以响应于来自存储器控制器110的命令cmd和控制信号ctrl来控制地址译码器123、页缓冲器电路124、输入/输出电路125和模式检查器121。在一些示例实施例中,控制逻辑电路126可以基于模式检查器121的模式检查结果来控制每个组件,使得不对从存储器控制器110接收的用户数据ud执行编程操作。虽然没有在图2中示出,但是模式检查器121可以被包括在控制逻辑电路126、输入/输出电路125或页缓冲器电路124中。

如本文所述,非易失性存储设备120可以包括:存储单元阵列122,包括多个存储单元;输入/输出设备(例如,输入/输出电路125),被配置为通过数据信号dq和数据选通信号dqs从外部设备(例如,存储器控制器110)接收指定模式sp和用户数据ud;模式检查器121,被配置为确定指定模式sp是否与特定(或替代地,预定义)模式匹配并生成确定的确定结果;以及控制逻辑电路126,被配置为基于确定结果选择性地执行编程操作以对存储单元阵列122中的用户数据ud进行编程,或者将编程操作处理为编程故障而无需编程操作。

控制逻辑电路126可以被配置为基于外部设备的请求将与编程故障相关联的信息作为状态信息提供给外部设备。

控制逻辑电路126可以被配置为响应于确定在非易失性存储设备120处从外部设备接收到编程确认命令,向外部设备提供状态信息。

控制逻辑电路126可以被配置为在非易失性存储设备120从外部设备接收到编程确认命令之前向外部设备提供状态信息。

图3a、图3b和图3c是示出输入到非易失性存储设备的数据信号和数据选通信号的时序图。在一些示例实施例中,将参考图3a至图3c描述由于数据选通信号dqs或数据线dq的失真引起的问题。

此外,为了说明的简洁和描述的方便,在图3a至图3c中省略了在编程操作中从存储器控制器110提供的控制信号ctrl、命令cmd和地址addr,并且在图3a和图3c中仅示出了输入到非易失性存储设备120的数据选通信号dqs和数据信号dq。

而且,虽然在图3a至图3c中示出一个数据信号dq,但是本发明构思的范围和精神可以不限于此。例如,可以通过多个数据信号dq向非易失性存储设备120提供各种信息。

首先,参考图1和图3a,存储器控制器110可以通过数据信号dq向非易失性存储设备120提供多个用户数据ud1至udm,m是等于或大于1的整数。在这种情况下,存储器控制器110可以提供与数据信号dq同步的数据选通信号dqs,以允许非易失性存储设备120识别多个用户数据ud1至udm。下面,为了便于描述,将从存储器控制器110向非易失性存储设备120提供用户数据ud的时段称为“数据时段t_data”。

非易失性存储设备120可以在数据选通信号dqs的上升沿或下降沿识别(或捕获或接收)数据信号dq。在理想情况下,数据选通信号dqs的上升沿或下降沿与数据信号dq的窗口范围的中心对齐。然而,如图3a的“a”区域所示,数据选通信号dqs的第一周期的占空比可能变化。在这种情况下,如图3a所示,第一用户数据ud1可能未被识别,或者可能在非易失性存储设备120中被错误地识别。因此,非易失性存储设备120的功能可能由于数据选通信号dqs的第一周期的占空比的变化而劣化。

参考图3b,可以在数据时段t_data之前添加哑(dummy)时段t_dummy。例如,存储器控制器110可以在哑时段t_dummy中将哑数据dm1至dm4发送至非易失性存储设备120,然后存储器控制器110在数据时段t_data中将用户数据ud1至udm发送至非易失性存储设备120。

非易失性存储设备120可以忽略在哑时段t_dummy中接收的哑数据dm1至dm4,并且可以将在哑时段t_dummy之后的数据时段t_data中接收的用户数据ud1至udm识别为有效数据。因此,即使数据选通信号dqs的占空比在给定时段(特别是数据选通信号dqs的第一时段或一些时段)中变化,非易失性存储设备120也可以正确地区分用户数据ud1至udm。

在一些示例实施例中,图3b的哑时段t_dummy可以是“用于写入的dqs等待时间”,并且图3b的哑时段t_dummy的长度可以对应于数据选通信号dqs的两个周期。哑时段t_dummy的长度可以对应于由存储器控制器110和非易失性存储设备120建立的特定(或替代地,预定义)时段或由此预定义的周期数。在一些示例实施例中,哑时段t_dummy的长度可以通过存储器控制器110和非易失性存储设备120之间的设置特征操作来设置。

参考图3c,如参考图3b所述,在哑时段t_dummy中将哑数据dm1至dm4发送至非易失性存储设备120之后,存储器控制器110在数据时段t_data中将用户数据ud1至udm发送至非易失性存储设备120。但是,与图3b不同,由于各种因素,整个(“整体”)数据选通信号dqs可能被延迟。在这种情况下,非易失性存储设备120可能无法识别,或者可能错误地将用户数据ud1至udm识别为哑数据dm1至dm4。

根据本发明构思的一些示例实施例,在由于各种因素导致数据选通信号dqs的失真(例如,占空比差异或延迟发生)的情况下,非易失性存储设备120可以通过模式检查操作检测到数据选通信号dqs的失真,并且可以执行与模式检查结果相对应的恢复操作。因此,可以防止异常数据被编程,并且因此可以基于被配置为尽管数据选通信号dqs失真也正确地识别用户数据us1至usm的非易失性存储设备,改善非易失性存储设备120的功能。

图4是示出图1的非易失性存储设备的操作的流程图。可以在包括如本文所述的非易失性存储设备120的非易失性存储设备执行图4中示出要执行的一些或所有操作。如至少关于图4所述,存储器控制器110可以用“外部设备”代替。参考图1和图4,在操作s110中,非易失性存储设备120可以从存储器控制器110接收命令cmd(例如,“编程命令”)和地址addr。例如,如上所述,非易失性存储设备120可以通过数据信号dq从存储器控制器110接收命令cmd和地址addr。如本文所述,第一元件(例如,非易失性存储设备120)从第二元件(例如,存储器控制器110)接收信号可以被称为“在第一元件处从第二元件接收信号”。”

在一些示例实施例中,存储器控制器110可以向非易失性存储设备120提供用于区分命令cmd和地址addr的控制信号ctrl。在一些示例实施例中,命令cmd可以是各种编程命令中的一个,并且地址addr可以指示将存储用户数据ud的区域的位置。下面,为了简要描述,执行操作s110的时段被称为“命令/地址时段”。

在操作s120中,非易失性存储设备120在模式时段中可以通过数据信号dq和与数据信号dq同步的数据选通信号(dqs)从存储器控制器110接收指定模式sp和用户数据ud。例如,非易失性存储设备120可以在模式时段期间从存储器控制器110接收指定模式sp,并且可以在数据时段期间通过数据信号dq和数据选通信号dqs从存储器控制器110接收用户数据ud(参考图3a至图3c)。在一些示例实施例中,模式时段可以存在于命令/地址时段和数据时段之间,并且数据时段可以在模式时段之后。

在一些示例实施例中,非易失性存储设备120可以被配置为基于从存储器控制器110接收的数据选通信号dqs来识别通过数据信号dq接收的指定模式sp和用户数据ud。以下,为了便于描述,在数据选通信号dqs的基础上识别的指定模式sp被称为“接收的指定模式sp”。也就是说,取决于数据选通信号dqs或数据信号dq是否失真,所接收的指定模式sp可以被正确地识别或者可以是不同的值。

在一些示例实施例中,指定模式sp可以是可以在存储器控制器110和非易失性存储设备120之间预定义的特定模式。在一些示例实施例中,指定模式sp可以是通过存储器控制器110和非易失性存储设备120之间的特定操作设置的模式。在一些示例实施例中,指定模式sp可以是预先设置为全零值或任何值的模式。

在操作s130中,非易失性存储设备120可以确定指定模式sp是否与特定(或替代地,预定义)模式匹配(或者可以执行模式检查操作),并且可以基于确定指定模式是否与特定模式匹配,选择性地执行对用户数据的编程操作(s140)或恢复操作(s150)。例如,在来自存储器控制器110的数据选通信号dqs中不存在失真的情况下,可以正确地识别在模式时段期间接收的指定模式sp,并且识别的指定模式sp可以与特定(或替代地,预定义)模式匹配。这样基于确定指定模式是否与特定模式匹配来选择性地执行对用户数据的编程操作(s140)或恢复操作(s150)在本文中可以被称为基于确定指定模式是否未与特定模式匹配(s130=否)而选择性地执行恢复操作(s150)。

在所接收的指定模式sp与特定(或替代地,预定义)模式匹配的情况下(s130=是),在操作s140中,非易失性存储设备120可以对在模式时段后的数据时段中接收的用户数据ud执行编程操作。

在所接收的指定模式sp与特定(或替代地,预定义)模式不匹配的情况下(s130=否),在操作s150中,非易失性存储设备120可以执行恢复操作。在一些示例实施例中,恢复操作可以包括用于调整存储器控制器110和非易失性存储设备120之间的数据信号dq和数据选通信号dqs的各种操作。

例如,恢复操作可以包括以下中的至少一个:非易失性存储设备120将用户数据ud处理为无效数据的操作;非易失性存储设备120将与用户数据ud相关联的编程操作处理为编程故障而不执行编程操作的操作;存储器控制器110和非易失性存储设备120之间的重新训练操作;存储器控制器110和非易失性存储设备120之间的重新锁定操作;非易失性存储设备120的复位操作;改变非易失性存储设备120的操作频率的操作;或者,改变非易失性存储设备120的操作电压的操作。上述恢复操作仅是示例性的,并且本发明构思的范围和精神不限于此。在一些示例实施例中,可以通过执行恢复操作来校正或校准数据信号dq或数据选通信号dqs的失真,从而,尽管数据信号dq或数据选通信号dqs失真,也通过使非易失性存储设备120能够正确地识别在模式时段之后的数据时段中接收的用户数据ud并对其适当地执行编程操作,改善非易失性存储设备120的功能。

在执行恢复操作之后,非易失性存储设备120可以执行操作s110至操作s130,使得对用户数据ud执行编程操作。

图5a和图5b是示出图1的非易失性存储设备的数据输入(data-in)操作的示例的时序图。在一些示例实施例中,在图5a和图5b的时序图中,横轴表示时间。在一些示例实施例中,参考图5a描述当指定模式sp与特定(或替代地,预定义)模式匹配时的数据输入操作,并且参考图5b描述当指定模式sp与特定(或替代地,预定义)模式不匹配时的数据输入操作。为了简化说明,在图5a和图5b中省略了命令(例如,编程命令)和地址的输入。

而且,为了简要描述,假设模式时段t_pattern对应于数据选通信号dqs的两个周期。重申一下,模式时段t_pattern的长度可以对应于数据选通信号dqs的特定时段。然而,本发明构思的范围和精神不限于此。例如,在存储器控制器110和非易失性存储设备120之间模式时段t_pattern可以被预定义为另一个值(例如,dqs的1、3或4个周期)。在一些示例实施例中,可以将模式时段t_pattern包括在“用于写入的dqs等待时间”中。在一些示例实施例中,模式时段t_pattern可以存在于命令/地址时段和数据时段之间。

参考图1、图5a和图5b,非易失性存储设备120在模式时段t_pattern期间通过数据信号dq从存储器控制器110接收第一指定模式sp1至第四指定模式sp4。非易失性存储设备120可以基于数据选通信号dqs识别通过数据信号dq接收的第一指定模式sp1至第四指定模式sp4。如图5a所示,在数据选通信号dqs没有失真的情况下(换句话说,在数据选通信号dqs的上升沿或下降沿与数据信号dq中心对齐的情况下),非易失性存储设备120可以正确地识别第一指定模式sp1至第四指定模式sp4。

在这种情况下,所接收的第一指定模式sp1至第四指定模式sp4可以与特定(或替代地,预定义)模式匹配。非易失性存储设备120取决于模式检查结果,将在下一数据时段t_data中接收的多个用户数据ud1至udm处理为有效数据。也就是说,非易失性存储设备120可以对接收的用户数据ud1至udm执行编程操作。

相反,与参考图5a给出的描述不同,数据选通信号dqs可能由于各种因素(例如,温度、电压和操作速度的变化)而失真(例如,整个数据选通信号dqs被延迟)。在这种情况下,可能无法正确识别非易失性存储设备120在模式时段t_pattern中接收的第一指定模式sp1至第四指定模式sp4。也就是说,所接收的第一指定模式sp1至第四指定模式sp4可能与特定(或替代地,预定义)模式不匹配。在这种情况下,非易失性存储设备120可以将在下一数据时段t_data中接收的多个用户数据ud1至udm处理为无效数据。也就是说,非易失性存储设备120可以执行恢复操作,而不对接收的用户数据ud1至udm执行编程操作。

如上所述,在从存储器控制器110接收多个用户数据ud1至udm之前,非易失性存储设备120可以接收指定模式sp,并且可以对接收的指定模式sp执行模式检查操作。取决于模式检查结果,非易失性存储设备120可以对接收的用户数据ud1至udm执行或不执行编程操作。在一些示例实施例中,在所接收的指定模式sp与特定(或替代地,预定义)模式不匹配的情况下,非易失性存储设备120可以执行恢复操作而不对所接收的用户数据ud1至udm执行编程操作,从而防止编程不正确的用户数据(或异常用户数据)。这意味着确保了数据的可靠性,因此可以改进非易失性存储设备120在正确识别和处理用户数据中的功能,以解决数据信号dq或数据选通信号dqs的失真。

图6是详细示出图4的操作s150的流程图。将参考图4更全面地描述对应于操作s150的恢复操作。然而,图6的流程图用于容易地描述本发明构思的技术构思,并且本发明构思的范围和精神不限于此。

参考图1、图4和图6,如果操作s130的确定结果指示指定模式sp与特定(或替代地,预定义)模式不匹配(例如,基于指示指定模式sp与特定(或替代地,预定义)模式不匹配的确定结果),则非易失性存储设备120可以在操作s150中执行恢复操作。在一些示例实施例中,操作s150可以包括操作s151至操作s154,如图6中所示。如本文所述,操作s150、以及因此操作s151至s154可以包括基于确定指定模式sp与特定(或替代地,预定义)模式不匹配,将编程操作处理为编程故障而不在非易失性存储设备120处对用户数据进行编程操作。

例如,在操作s151中,非易失性存储设备120可以将状态寄存器设置为编程故障,而不对接收的用户数据ud进行编程操作。在一些示例实施例中,状态寄存器可以是包括在非易失性存储设备120中的存储电路,用于存储关于非易失性存储设备120的操作状态的信息。在一些示例实施例中,状态寄存器的值可以应存储器控制器110的请求(特别是状态读取命令)通过数据信号dq或单独的信号被提供给存储器控制器110。

在操作s152中,非易失性存储设备120可以从存储器控制器110接收状态读取命令。在一些示例实施例中,状态读取命令可以是用于读取非易失性存储设备120的状态寄存器的值的命令。

在操作s153中,非易失性存储设备120可以响应于所接收的状态读取命令将存储在状态寄存器中的值发送到存储器控制器110。在一些示例实施例中,非易失性存储设备120可以将在操作s151中存储在状态寄存器中的关于“编程故障”的(“与编程故障相关联的”)状态信息发送到存储器控制器110。重申一下,非易失性存储设备120可以基于外部设备的请求,将与编程故障相关联的信息作为状态信息,从非易失性存储设备120提供到外部设备(例如,存储器控制器110)。在一些示例实施例中,存储在状态寄存器中的关于“编程故障”的状态信息可以包括关于模式不匹配(“与模式不匹配相关联”)的信息(即,表示指定模式sp与特定(或替代地,预定义)模式不匹配的信息)。在一些示例实施例中,状态信息可以通过数据信号dq从非易失性存储设备120发送到存储器控制器110。

在操作s154中,非易失性存储设备120可以在存储器控制器110的控制下执行各种恢复操作中的至少一个。例如,存储器控制器110可以基于来自非易失性存储设备120的状态信息,识别出非易失性存储设备120由于数据选通信号dqs或数据信号dq的失真未正常接收到用户数据ud。存储器控制器110可以基于识别结果与非易失性存储设备120执行重新训练操作。替代地,存储器控制器110可以基于识别结果与非易失性存储设备120执行重新锁定操作。在一些示例实施例中,可以以800mbps或更高的高速执行重新训练操作,并且可以以800mbps或更低的低速执行重新锁定操作。替代地,存储器控制器110可以改变非易失性存储设备120的操作速度(或数据选通信号dqs或数据信号dq的频率)。替代地,存储器控制器110可以改变非易失性存储设备120的操作电压。替代地,存储器控制器110可以对非易失性存储设备120执行复位操作。之后,非易失性存储设备120可以返回到操作s110。

图7a至图7c是示出模式不匹配的示例性情况的时序图。在图7a至图7c的时序图中,横轴表示时间。在一些示例实施例中,将参考图7a至图7c的时序图描述模式不匹配情况,然而,本发明构思的范围和精神不限于此。例如,由于存在各种不同的模式不匹配情况,因此可以不同地改变或修改本发明构思的范围和精神。

参考图1和图7a至图7c,非易失性存储设备120可以在模式时段t_pattern期间通过数据选通信号dqs和数据信号dq接收第一指定模式sp1至第四指定模式sp4。

如图7a所示,在数据选通信号dqs由于各种因素(例如,温度、电压和操作速度的变化)而失真的情况下(例如,在发生dqs延迟的情况下),数据选通信号dqs可能不与数据信号dq中心对齐。在这种情况下,如上所述,非易失性存储设备120可能无法正常地接收第一指定模式sp1至第四指定模式sp4。也就是说,由于数据选通信号dqs的延迟,由非易失性存储设备120接收的第一指定模式sp1至第四指定模式sp4可能与特定(或替代地,预定义)模式不匹配。

如图7b所示,由于各种因素(例如,温度、电压和操作速度的变化),数据选通信号dqs可能无法完全摆动。在这种情况下,如图7b所示,仅可以正常地接收第一指定模式sp1至第四指定模式sp4中的一些(例如,第二指定模式sp2和第四指定模式sp4)。也就是说,由于数据选通信号dqs没有完全摆动(swing),因此非易失性存储设备120接收的第一指定模式sp1至第四指定模式sp4中的一些可能与特定(或替代地,预定义)模式不匹配。

如图7c所示,数据信号dq可能由于各种因素(例如,温度、电压和操作速度的变化)而失真。由于数据信号dq的信号完整性余量由于数据信号dq的失真而未得到充分保证,因此非易失性存储设备120可能无法正常地接收第一指定模式sp1至第四指定模式sp4。也就是说,由于数据信号dq的失真,由非易失性存储设备120接收的所有第一指定模式sp1至第四指定模式sp4可能与特定(或替代地,预定义)模式不匹配。

如上所述,由于数据选通信号dqs或数据信号dq的各种失真,非易失性存储设备120可能无法正常接收指定模式。根据本发明构思的非易失性存储设备120可以基于指定模式的模式检查结果来执行各种恢复操作之一。

例如,当没有执行数据选通信号dqs的完全摆动时,可能发生仅一些指定模式与特定(或替代地,预定义)模式匹配的事件。在这种情况下,存储器控制器110和非易失性存储设备120可以降低数据信号dq和数据选通信号dqs的操作频率,使得数据选通信号dqs完全摆动。替代地,可能由于数据选通信号dqs的延迟或数据信号dq的失真,而发生并非所有指定模式与特定(或替代地,预定义)模式匹配的事件,如图7a或图7b所示。在这种情况下,存储器控制器110和非易失性存储设备120可以执行重新训练操作或重新锁定操作,使得数据选通信号dqs与数据信号dq中心对齐。

图8是示出作为根据本发明构思的恢复操作之一的重新训练操作的流程图。示出要在图8中执行的一些或所有操作可以在非易失性存储设备(包括如本文所述的非易失性存储设备120)和存储器控制器(包括如本文所述的存储器控制器110)处执行。如本文至少关于图8所述,存储器控制器110可以用“外部设备”代替。参考图1和图8,在操作s11中,存储器控制器110将编程命令cmd_p、地址addr和数据发送到非易失性存储设备120。例如,如上所述,存储器控制器110可以通过使用控制信号ctrl、数据选通信号dqs和数据信号dq,向非易失性存储设备120提供编程命令cmd_p、地址addr和数据。

在一些示例实施例中,编程命令cmd_p可以是写入dq训练命令的第一集合(例如,63h),地址addr可以是逻辑单元号lun,并且数据可以具有特定的(或替代地,预定义的)大小。在一些示例实施例中,可以在非易失性存储设备120中设置关于特定(或替代地,预定义)数据大小的信息(“与特定(或替代地,预定义)数据大小相关联的信息”)。存储器控制器110可以通过获取特征操作来识别特定(或替代地,预定义)的大小。

在操作s12中,非易失性存储设备120可以对接收的数据进行编程。在一些示例实施例中,可以省略操作s12。

在操作s13中,存储器控制器110可以将命令cmd_r和地址addr发送到非易失性存储设备120。在一些示例实施例中,读取命令cmd_r可以是写入dq训练命令的第二集合(例如,64h),并且地址addr可以是逻辑单元号lun。

在操作s14中,非易失性存储设备120可以响应于读取命令cmd_r和地址addr将数据提供给存储器控制器110。

在操作s15中,存储器控制器110可以确定所接收的数据是否与所发送的数据匹配。如果接收的数据与发送的数据匹配,则在操作s16中,存储器控制器110可以设置或存储与数据选通信号dqs和数据信号dq相关联的参数。如果接收的数据与发送的数据不匹配,则在操作s17中,存储器控制器110可以调整与数据选通信号dqs和数据信号dq相关联的参数。之后,存储器控制器110和非易失性存储设备120可以重复执行操作s11至操作s15。

在一些示例实施例中,在(“响应于确定”)省略对应于操作s12的编程操作的情况下,非易失性存储设备120可以响应于读取命令cmd_r向存储器控制器110提供存储在页缓冲器电路或输入/输出电路中的数据,而没有单独的编程操作。

如上所述,存储器控制器110和非易失性存储设备120可以通过重复执行写入操作和读取操作来适当地设置与数据选通信号dqs和数据信号dq相关联的参数,使得数据被正常发送和接收。在一些示例实施例中,图8中示出的操作方法是写入训练操作。然而,本发明构思不限于此。例如,重新训练操作可以包括zq校准操作、占空比校正(dcc)训练操作、读取训练操作或写入训练操作中的至少一个。

图9是用于描述作为根据本发明构思的恢复操作之一的重新锁定操作的视图。参考图1和图9,存储器控制器110可以包括用于驱动数据选通信号dqs的驱动器(未示出)。驱动器可以包括多个延迟单元,用于调整数据选通信号dqs的定时。存储器控制器110可以激活多个延迟单元以允许数据选通信号dqs与数据信号dq中心对齐。

例如,如图9所示,存储器控制器110可以生成第一数据选通信号dqs1。第一数据选通信号dqs1可以是在第一数量的延迟单元被激活时生成的数据选通信号。存储器控制器110可以生成第二数据选通信号dqs2。第二数据选通信号dqs2可以是在第二数量的延迟单元被激活时生成的数据选通信号。存储器控制器110可以生成第三数据选通信号dqs3。第三数据选通信号dqs3可以是在第三数量的延迟单元被激活时生成的数据选通信号。

如图9所示,第二数据选通信号dqs2可以是与数据信号dq中心对齐的信号。如上所述,存储器控制器110可以通过调整要激活以用于调整数据选通信号dqs的定时的延迟单元的数量来生成适当的数据选通信号dqs。在一些示例实施例中,存储器控制器110可以通过使用单独的时钟信号而不是数据选通信号dqs来执行上述重新锁定操作。

在一些示例实施例中,参考图8和图9描述恢复操作的一些(例如,重新训练操作和重新锁定操作)。然而,恢复操作的示例是示例性的,不限制本发明构思的范围和精神。恢复操作可以包括能够校正数据选通信号dqs或数据信号dq的失真的各种操作,诸如重新训练操作、重新锁定操作、改变操作电压的操作、改变操作频率的操作和复位操作。

图10是示出如何将数据输入到图1的非易失性存储设备的时序图。为了简要描述,本文将不再重复参考上述组件给出的描述。

参考图1和图10,非易失性存储设备120可以在模式时段t_pattern期间从存储器控制器110接收第一指定模式sp1至第四指定模式sp4,并且在数据时段t_da期间接收用户数据ud1至udm。在这种情况下,哑时段t_dummy可以存在于模式时段t_pattern之前(“先于模式时段t_pattern”)。在一些示例实施例中,哑时段t_dummy可以提供与参考图3b描述的哑时段t_dummy相同的功能。例如,非易失性存储设备120可以将在哑时段t_dummy期间通过数据信号dq接收的信号处理为哑数据。

之后,非易失性存储设备120可以在数据选通信号dqs的一些接下来的周期(例如,图10的模式时段t_pattern)期间通过数据信号dq接收第一指定模式sp1至第四指定模式sp4。

非易失性存储设备120可以执行模式检查操作,用于确定所接收的第一指定模式sp1至第四指定模式sp4是否与特定(或替代地,预定义)模式匹配,并且可以取决于模式检查结果,对在下一个数据时段t_data期间接收的用户数据ud1到udm执行或不执行编程操作。

为了实现一些示例实施例,包括图10中所示的示例实施例,用于非易失性存储设备120的写入操作的“用于写入的dqs等待时间”可以被设置为4个周期。dqs等待时间段可以包括哑时段t_dummy和模式时段t_pattern。也就是说,在“用于写入的dqs等待时间”中,部分时段可以用作哑时段t_dummy,并且剩余时段可以被用作模式时段t_pattern。在一些示例实施例中,哑时段t_dummy的长度和模式时段t_pattern的长度中的每一个可以通过设置特征操作来设置,使得哑时段t_dummy的长度和模式时段t_pattern的长度中的每一个可以基于设置特征操作来定义。

图11a和图11b是示出图1的非易失性存储设备的编程操作的时序图。为简要说明,省略了命令cmd、地址addr和控制信号ctrl的详细配置。而且,为了简化说明,与状态读取操作相关联的值用与用于数据信号dq的线分开的线示出,但是与状态读取操作相关联的值可以响应于状态读取命令而通过数据信号dq提供给存储器控制器110。此外,为了便于描述,将基于3页编程操作来描述本发明构思的一些示例实施例,并且假设在第二页设置时段中接收的指定模式sp与特定(或替代地,预定义)模式不匹配(即,所接收的指定模式sp与特定(或替代地,预定义)模式不匹配)。

在一些示例实施例中,为了简化说明,在每个页设置时段中,在图11a和图11b中省略了在页数据pd之后接收的命令或地址(例如,转储命令(dumpcommand)和缓冲器地址)。

参考图1、图11a和图11b,在第一页设置时段中,非易失性存储设备120可以接收第一命令/地址c/a1,可以接收指定模式sp,并且可以接收第一页数据pd1(即,用户数据)。在一些示例实施例中,第一命令/地址c/a1可以指用于与第一页数据pd1相关联的设置操作的命令以及将存储第一页数据pd1的区域的地址。在一些示例实施例中,可以通过控制信号ctrl和数据选通信号dqs来区分或识别第一命令/地址c/a1、指定模式sp和第一页数据pd1。之后,在哑忙碌时间tdbsy2期间,非易失性存储设备120可以将所接收的第一页数据pd1转储到页缓冲器电路124上。

在第二页设置时段期间,非易失性存储设备120可以接收第二命令/地址c/a2、指定模式sp,并且可以接收第二页数据pd2(即,用户数据)。在一些示例实施例中,第二命令/地址c/a2可以指用于与第二页数据pd2相关联的设置操作的命令以及将存储第二页数据pd2的区域的地址。之后,在哑忙碌时间tdbsy2期间,非易失性存储设备120可以将所接收的第二页数据pd2转储到页缓冲器电路124上。

在第三页设置时段期间,非易失性存储设备120可以接收第三命令/地址c/a3、指定模式sp,并且可以接收第三页数据pd3(即,用户数据)。在一些示例实施例中,第三命令/地址c/a3可以指用于与第三页数据pd3相关联的设置操作的命令以及将存储第三页数据pd3的区域的地址。之后,在哑忙碌时间tdbsy2期间,非易失性存储设备120可以将接收的页数据pd3转储到页缓冲器电路124上。

之后,非易失性存储设备120可以从存储器控制器110接收编程确认命令cmd_c,并且可以响应于所接收的编程确认命令cmd_c,在编程时间t_prog期间对第一页数据pd至第三页数据pd3执行编程操作。执行编程操作可以包括基于外部设备的请求将与编程故障相关联的信息作为状态信息从非易失性存储设备提供给外部设备,如上面参考图6中的操作s152-153所述,包括响应于确定在非易失性存储设备处从外部设备接收到编程确认命令cmd_c,将状态信息从非易失性存储设备120提供给外部设备(例如,存储器控制器110)。在一些示例实施例中,非易失性存储设备120可以在非易失性存储设备120从外部设备接收到编程确认命令cmd_c之前,将状态信息从非易失性存储设备120提供给外部设备。

在一些示例实施例中,如上所述,在第二页设置时段中接收的指定模式sp可能与特定(或替代地,预定义)模式不匹配。在这种情况下,非易失性存储设备120可以将状态信息设置为模式不匹配信息m/m。在这种情况下,非易失性存储设备120可以不对第一页数据pd1至第三页数据pd3执行编程操作,并且可以响应于存储器的状态读取命令将模式不匹配信息m/m提供给存储器控制器110。

例如,存储器控制器110可以在每个哑忙碌时间tdbsy2期间向非易失性存储设备120提供状态读取命令,并且可以从非易失性存储设备120接收状态信息。如图11a所示,非易失性存储设备120可以在编程确认命令cmd_c之后的状态读取操作中将模式不匹配信息m/m提供给存储器控制器110。也就是说,非易失性存储设备120可以在第一至第三页设置时段中的每一个的哑忙碌时间tdbsy2期间提供表示状态读取操作中的正常状态的正常信息“n”,并且可以在编程确认命令cmd_c之后的状态读取操作中将模式不匹配信息m/m提供给存储器控制器110。

替代地,如图11b所示,非易失性存储设备120可以在发生模式不匹配的第二页设置时段的哑忙碌时间tdbsy2期间执行的状态读取操作中,将模式不匹配信息m/m提供给存储器控制器110。在这种情况下,存储器控制器110可以在执行第三页设置时段的操作之后执行恢复操作,或者不执行第三页设置时段的操作。

如上所述,通过状态读取操作,存储器控制器110可以从非易失性存储设备120接收关于模式检查操作的状态信息,并且可以基于接收的状态信息执行恢复操作。

图12是示出图1的非易失性存储设备的操作的流程图。可以在包括如本文所述的非易失性存储设备120的非易失性存储设备执行示出在图12中执行的一些或所有操作。如本文关于至少图12所述,存储器控制器110可以用“外部设备”代替。参考图1和图12,在操作s210中,非易失性存储设备120可以从存储器控制器110接收命令cmd和地址addr。操作s210类似于图4的操作s110,并因此省略了对其的详细描述。

在操作s220中,非易失性存储设备120可以与可变数据选通信号dqs'一起从存储器控制器110接收指定模式sp,然后,可以接收用户数据ud。例如,如上所述,非易失性存储设备120可以在模式时段t_pattern期间接收指定模式sp。在这种情况下,可以改变数据选通信号dqs的占空比以检查数据信号dq的窗口。

存储器控制器110可以调整数据选通信号dqs,使得数据选通信号dqs的上升沿或下降沿与预先确定的数据信号dq的窗口的左边沿或右边沿对齐。也就是说,在数据选通信号dqs的上升沿或下降沿与数据信号dq的窗口的左边沿或右边沿对齐的情况下,正常识别指定模式sp的情况可以意味着预先确定的数据信号dq的窗口范围是准确的。然而,不正常识别指定模式sp的情况可能意味着数据信号dq的窗口范围是不准确的。

之后,非易失性存储设备120可以执行操作s230至操作s250。操作s230至操作s250(包括操作s240)可以类似于图4的操作s130至操作s150(包括操作s140),因此,省略了对其的详细描述。

如上所述,根据本发明构思的非易失性存储设备120可以在接收用户数据ud的数据时段之前包括接收指定模式sp的模式时段t_pattern。非易失性存储设备120可以基于在模式时段t_pattern中接收的指定模式sp的模式检查结果,对用户数据ud执行或不执行编程操作。替代地,非易失性存储设备120可以基于在模式时段t_pattern中接收的指定模式sp的模式检查结果来执行各种恢复操作中的至少一个。替代地,非易失性存储设备120可以通过在模式时段t_pattern中使用可变数据选通信号来检查数据信号dq的窗口是否准确。

图13是用于描述数据信号的窗口的视图。参考图13,数据信号dq可以包括指定范围的窗口。在数据选通信号dqs的上升沿或下降沿被包括在数据信号dq的窗口中的情况下,数据信号dq可以由非易失性存储设备120正常识别。通常,为了准确的数据识别,生成数据选通信号dqs,使得数据选通信号dqs的上升沿或下降沿与数据信号dq的窗口的中心对齐(即,与窗口中心对齐)。

相反,在数据选通信号dqs的上升沿或下降沿超出窗口范围的情况下(即,在数据选通信号dqs的上升沿或下降领先于窗口的左边沿或滞后于窗口的右边沿的情况下),数据信号dq可能无法被正确识别。在一些示例实施例中,可以通过存储器控制器110和非易失性存储设备120之间的训练操作来预先确定数据信号dq的窗口、窗口的左边沿或窗口的右边沿。

图14a到图14c是示出如何将数据输入到非易失性存储设备的时序图。在图14a至图14c的时序图中,横轴表示时间(例如,“从原点经过的时间”)。参考图1和图14a至图14c,非易失性存储设备120可以在模式时段t_pattern期间接收第一指定模式sp1至第四指定模式sp4,并且在数据时段t_data期间接收用户数据ud1至udm。在这种情况下,存储器控制器110可以调整数据选通信号dqs的延迟,以便检查数据信号dq的窗口。

例如,如图14a所示,可以生成数据选通信号dqs,使得数据选通信号dqs的第一时段的上升沿和下降沿与数据信号dq的窗口的左边沿对齐。在这种情况下,如果非易失性存储设备120正常识别第一指定模式sp1和第二指定模式sp2,则可以将关于数据信号dq的窗口的左边沿的信息确定为准确的;如果非易失性存储设备120没有正常识别第一指定模式sp1或第二指定模式sp2,则可以将关于数据信号dq的窗口的左边沿的信息确定为不准确。

如图14b所示,可以生成数据选通信号dqs,使得数据选通信号dqs的第一时段的上升沿和下降沿与数据信号dq的窗口的右边沿对齐。如果非易失性存储设备120正常识别第一指定模式sp1和第二指定模式sp2,则可以将关于数据信号dq的窗口的右边沿的信息确定为准确;如果非易失性存储设备120没有正常识别第一指定模式sp1或第二指定模式sp2,则可以将关于数据信号dq的窗口的右边沿的信息确定为不准确。

如图14c所示,可以生成数据选通信号dqs,使得数据选通信号dqs的第一时段的上升沿和下降沿与数据信号dq的窗口的左边沿对齐,并且使得数据选通信号dqs的第二时段的上升沿和下降沿与数据信号dq的窗口的右边沿对齐。如在以上描述中,可以根据第一指定模式sp1至第四指定模式sp4的模式检查结果来确定关于数据信号dq的窗口预先确定的值的准确性。

如上所述,在模式时段t_pattern期间,存储器控制器110可以改变数据选通信号dqs的延迟或占空比,使得检查数据信号dq的窗口。

图15是示出图1的非易失性存储设备的操作的流程图。图16是示出如何将数据输入到图15的非易失性存储设备的时序图。在图16中,横轴表示时间(“从原点经过的时间”)。示出要在图15中执行的一些或所有操作可以在包括如本文所述的非易失性存储设备120的非易失性存储设备处执行。如本文关于至少图15所述,存储器控制器110可以用“外部设备”代替。

参考图1、图15和图16,在操作s310中,非易失性存储设备120可以从存储器控制器110接收命令和地址。操作s310类似于图4的操作s110,因此,省略了对其的详细描述。

在操作s320中,非易失性存储设备120可以从存储器控制器110接收指定模式,然后,可以接收用户数据ud和循环冗余校验(crc)码。重申一下,非易失性存储设备120可以在数据时段中通过数据信号dq和数据选通信号dqs从外部设备(例如,存储器控制器110)接收用户数据ud和循环冗余校验crc码。crc码可以指用于检测用户数据ud的错误的数据。例如,如图16所示,非易失性存储设备120可以在模式时段t_pattern期间接收第一指定模式sp1至第四指定模式sp4。之后,非易失性存储设备120可以在数据时段t_data期间接收多个用户数据ud1至udm和crc码。crc码可以指用于检测多个用户数据ud1至udm的错误的数据,并且非易失性存储设备120可以通过使用crc码来确定是否正常接收到多个用户数据ud1至udm。

在操作s330中,非易失性存储设备120可以确定指定模式sp是否与特定(或替代地,预定义)模式匹配。如果指定模式sp与特定(或替代地,预定义)模式不匹配(例如,基于确定指定模式sp与特定(或替代地,预定义)模式不匹配),则非易失性存储设备120可以执行操作s340。操作s340类似于图4的操作s150,因此,省略了对其的详细描述。

如果所接收的指定模式sp与特定(或替代地,预定义)模式匹配,则在操作s350中(例如,基于确定所接收的指定模式sp与特定(或替代地,预定义)模式匹配),非易失性存储设备120可以基于crc码来执行所接收的用户数据ud是否准确。换句话说,非易失性存储设备120可以通过使用crc码来确定用户数据ud中是否包括错误。

如果接收的用户数据ud是准确的,则非易失性存储设备120执行操作s360。操作s360类似于图4的操作s140,因此,省略了对其的详细描述。如果接收的用户数据ud不准确,则非易失性存储设备120执行操作s340。

以上重申,操作s330-s360中的一些或全部可以被统称为:非易失性存储设备120基于确定指定模式是否与特定(或替代地,预定义)模式匹配(s330=是或否)并且基于是否基于crc码从用户数据检测到错误(s350=是或否),选择性地对用户数据执行编程操作(s360)或在非易失性存储设备执行恢复操作(s340)。基于s330=是和s350=是二者的确定,选择性地执行操作s360,并且如果s330=否或s350=否,则选择性地执行操作s340。这种选择性执行在本文中可以被称为:基于确定指定模式是否未与特定模式匹配(s330=否)和/或是否基于crc码从用户数据检测到错误(s350=否),选择性地执行恢复操作(s340)。

基于确定指定模式sp与特定模式不匹配(s330=否)或者如果基于crc码从用户数据检测到错误(s350=否),非易失性存储设备120可以将编程操作处理为编程故障而不对用户数据ud执行编程操作,类似于如上所述。非易失性存储设备120可以将与编程故障相关联的信息作为状态信息从非易失性存储设备提供到外部设备,类似于如上所述。

如上所述,基于在模式时段t_pattern中接收的指定模式sp的模式检查结果,非易失性存储设备120可以对用户数据ud执行编程操作或者可以执行恢复操作。在一些示例实施例中,即使指定模式sp与特定(或替代地,预定义)模式匹配,在数据时段t_data期间数据选通信号dqs也可能由于各种因素(例如,温度、电压和速度的变化)而失真。在这种情况下,即使指定模式sp与特定(或替代地,预定义)模式匹配,也可能不正常接收用户数据ud。因此,非易失性存储设备120可以通过使用用户数据ud的crc码以及模式检查操作来检查用户数据ud的准确性或错误。这可以意味着提高了用户数据的可靠性,因此可以改善非易失性存储设备120的功能。

图17是示出图1的非易失性存储设备的操作的流程图。图18是示出取决于图17的流程图如何将数据输入到非易失性存储设备的时序图。图示将在图17中执行的一些或所有操作可以在包括如本文所述的非易失性存储设备120的非易失性存储设备处执行。如本文关于至少图17所述,存储器控制器110可以用“外部设备”代替。参考图1、图17和图18,在操作s410中,非易失性存储设备120可以从存储器控制器110接收命令和地址。操作s410类似于图4的操作s110,因此,省略了对其的详细描述。

在操作s420中,非易失性存储设备120可以从存储器控制器110接收随机模式rp和crc码,然后,可以接收用户数据ud。例如,在上述实施例中,在模式时段t_pattern期间,非易失性存储设备120接收特定(或替代地,预定义)的指定模式sp,并对接收的指定模式sp执行模式检查操作。与以上描述不同,如图18所示,非易失性存储设备120可以在模式时段t_pattern中接收随机模式rp1至rp3和crc码而不是指定模式sp,并且可以在数据时段t_data中接收多个用户数据ud1至udm。在一些示例实施例中,随机模式rp可以指随机数据,并且crc码可以指用于检测随机数据的错误的数据。

在操作s430中,非易失性存储设备120可以确定随机模式rp是否准确。例如,非易失性存储设备120可以通过使用crc码来确定在随机模式rp1至rp3中是否包括错误。换句话说,非易失性存储设备120可以通过使用crc码来确定是否正确地接收了随机模式rp1至rp3。

如果随机模式rp1至rp3是准确的,则非易失性存储设备120可以执行操作s440;如果随机模式rp1至rp3不准确,则非易失性存储设备120可以执行操作s450。操作s440和操作s450类似于图4的操作s140和操作s150,因此,省略了对其的详细描述。

如上所述,在模式时段t_pattern中,非易失性存储设备120可以接收随机模式rp和crc码而不是特定(或替代地,预定义)的指定模式sp,并且可以通过使用crc码来确定所接收的随机模式rp是否正确。因此,可以确保用户数据的可靠性,因此可以改善非易失性存储设备120的功能。

图19是示出根据本发明构思的一些示例实施例的页编程操作的时序图。为了简要描述并且为了简化说明,参考提供给图1的非易失性存储设备120的信号来描述程序序列。为了简化说明,示意性地示出了各个信号,但是本发明构思不限于此。

在图19中,参考标记“s”意味着指定模式。这仅仅是为了简化说明,并且可以理解,图19的指定模式“s”被配置为与上述指定模式sp相同。

在一些示例实施例中,芯片使能信号ce/、命令锁存使能信号cle、地址锁存使能信号ale、写入使能信号we/和读取使能信号re/可以被包括在从存储器控制器110提供的控制信号ctrl中。就绪/忙碌信号r/b可以是取决于非易失性存储设备120的操作由非易失性存储设备120驱动的信号。

在页编程操作中,芯片使能信号ce/处于低电平。之后,当命令锁存使能信号cle处于高电平时,在写入使能信号we/的上升沿通过数据信号dq提供第一命令c1。当地址锁存使能信号ale处于高电平时,在写入使能信号we/的上升沿通过数据信号dq提供地址“a”。在一些示例实施例中,第一命令c1可以是与页编程操作相关联的命令(例如,80h)。地址“a”可以包括列地址和行地址。

之后,在模式时段t_pattern期间,通过数据信号dq与数据选通信号dqs同步地提供指定模式“s”。然后,在数据时段t_data期间,通过数据信号dq与数据选通信号dqs同步地提供用户数据“d”。

之后,当命令锁存使能信号cle处于高电平时,在写入使能信号we/的上升沿通过数据信号dq提供第二命令c2。在一些示例实施例中,第二命令c2可以是编程确认命令(例如,10h)。非易失性存储设备120可以响应于第二命令c2对接收的用户数据“d”执行编程操作。在一些示例实施例中,如上所述,在指定模式“s”与特定(或替代地,预定义)模式不匹配的情况下,可以不执行编程操作。也就是说,可以省略编程操作。

之后,当命令锁存使能信号cle处于高电平时,在写入使能信号we/的上升沿通过数据信号dq提供第三命令c3。在一些示例实施例中,第三命令c3可以是状态读取命令(例如,78h)。响应于第三命令c3,非易失性存储设备120可以与与读取使能信号re/同步的数据选通信号dqs同步地通过数据信号dq输出状态信息sr。

在一些示例实施例中,如上所述,在指定模式“s”与特定(或替代地,预定义)模式不匹配的情况下,非易失性存储设备120可以跳过用户数据“d”的编程操作。在指定模式“s”与特定(或替代地,预定义)模式不匹配的情况下,响应于第三命令c3输出的状态信息sr可以包括关于模式不匹配的信息。存储器控制器110可以基于包括关于模式不匹配的信息的状态信息sr来执行恢复操作。

如上所述,根据本发明构思的一些示例实施例,在模式时段中,非易失性存储设备可以接收指定模式,并且可以对所接收的指定模式执行模式检查操作。在一些示例实施例中,模式时段可以被包括在“用于写入的dqs等待时间”中。取决于模式检查结果,非易失性存储设备可以执行恢复操作而不对用户数据执行编程操作。因此,可以防止由于来自各种因素的数据信号dq或数据选通信号dqs的失真而引起的数据错误。这可意味着提高了非易失性存储设备的性能。

图20是示出根据本发明构思的存储器控制器和非易失性存储设备之间的操作的视图。为了清楚地描述本发明构思的技术构思,描述了指定模式与特定(或替代地,预定义)模式不匹配的情况的操作。

参考图1和图20,在操作s1100中,存储器控制器110将命令(例如,编程命令)和地址发送到非易失性存储设备120。

在操作s1200中,存储器控制器110将指定模式和用户数据发送到非易失性存储设备120。存储器控制器110可以在模式时段中通过数据信号dq和与数据信号dq同步的数据选通信号dqs发送指定模式。在模式时段中,数据选通信号dqs的上升沿或下降沿可以与数据信号dq的窗口的左边沿或右边沿对齐。存储器控制器110可以在数据时段中通过数据信号dq和数据选通信号dqs发送用户数据ud。指定模式sp可以是基于地址的值的模式。

在操作s1300中,如果指定模式与特定(或替代地,预定义)模式不匹配(例如,基于确定指定模式与特定(或替代地,预定义)模式不匹配),非易失性存储设备120可以将状态寄存器设置为“编程故障”。在一些示例实施例中,在操作s1300中,在状态寄存器中设置的信息可以包括关于指定模式的不匹配信息。

在操作s1400中,存储器控制器110可以将状态读取命令发送到非易失性存储设备120。在一些示例实施例中,可以在来自非易失性存储设备120的就绪/忙碌信号为忙碌的状态下发送状态读取命令。

在操作s1500中,非易失性存储设备120可以响应于状态读取命令将在状态寄存器中设置的值发送到存储器控制器110。该值可以被包含在“状态信息”中,其中状态信息可以包括与指定模式和特定(或替代地,预定义)模式之间的不匹配相关联的信息,使得操作1500可以包括存储器控制器110从非易失性存储设备120接收状态信息。状态信息可以包括与和用户数据ud相关联的编程操作的编程故障相关联的信息。

在操作s1600中,存储器控制器110可以基于所接收的状态信息与非易失性存储设备120执行恢复操作。重申一下,在一些示例实施例中,操作1600可以包括存储器控制器110响应于在操作s1500接收的状态信息对非易失性存储设备120执行恢复操作。恢复操作可以包括存储器控制器110与非易失性存储设备120执行重新训练操作。

图21是示出根据本发明构思的一些示例实施例的存储设备的框图。参考图21,存储设备200可以包括存储器控制器210和非易失性存储设备220。存储器控制器210可以将控制信号ctrl、数据信号dq和数据选通信号dqs提供给非易失性存储设备220。参考图1描述了存储器控制器210和非易失性存储设备220,这里将不再重复其详细描述。

存储器控制器210可以包括模式生成器211。模式生成器211可以生成要在模式时段期间提供给非易失性存储设备220的指定模式sp。例如,模式生成器211可以基于要提供给非易失性存储设备220的地址addr来产生指定模式sp。在一些示例实施例中,指定模式sp可以具有与地址addr相同的值。替代地,指定模式sp可以具有通过组合地址addr的值而获得的值。

非易失性存储设备220可以包括模式检查器221。模式检查器221可以对从存储器控制器210接收的指定模式sp执行模式检查操作。在这种情况下,与上面的描述不同,模式检查器221可以基于从存储器控制器210接收的地址addr来确定所接收的指定模式sp是否正确。即,在一些示例实施例中,包括图21中所示的示例实施例,指定模式sp可以不是特定(或替代地,预定义)模式,而是基于每个编程操作改变的地址addr的值。尽管未在图21中示出,但是指定模式sp可以是与命令相同的值,可以是通过组合命令获得的值,或者可以是通过组合命令和地址获得的值。

在一些示例实施例中,如上所述,非易失性存储设备220可以取决于模式检查结果来执行编程操作或恢复操作。

图22是示出根据本发明构思的包括非易失性存储设备的固态驱动器(ssd)系统1000的框图。参考图22,ssd系统1000包括主机1100和ssd1200。

ssd1200通过信号连接器1201与主机1100交换信号sig,并通过电源连接器1202被供应电力pwr。ssd1200包括ssd控制器1210、多个闪存1221至122n、辅助电源1230和缓冲存储器1240。ssd控制器1210可以包括本文关于存储器控制器描述的一些或所有元件和/或功能。例如,ssd控制器1210可以包括存储指令程序的存储器和被配置为执行指令程序以实现ssd控制器1210的功能的处理器。闪存1221至122n可以部分或全部包括如本文所述的一个或多个非易失性存储设备的元件和/或功能。

ssd控制器1210可以响应于来自主机1100的信号sig控制闪存1221至122n。闪存1221至122n可以在ssd控制器1210的控制下操作。辅助电源1230通过电源连接器1202连接至主机1100。辅助电源1230可以从主机1100接收电力pwr,并且可以由电力pwr充电。当电力pwr未从主机1100平稳地供应时,辅助电源1230可以为ssd系统1200供电。缓冲存储器1240作为ssd1200的缓冲存储器操作。

在一些示例实施例中,如参考图1至图21所描述的那样,在编程操作期间,多个闪存1221至122n中的每一个可以从ssd控制器1210接收指定模式,并且可以取决于所接收的指定模式的模式检查结果来执行对用户数据的编程操作或恢复操作。

根据本发明示例的上述实施例,非易失性存储设备可以在模式时段中接收指定模式,并且可以取决于所接收的指定模式是否与特定(或替代地,预定义)模式匹配来执行对用户数据的编程操作或恢复操作。因此,在数据选通信号dqs或数据信号dq由于各种因素而失真的情况下,可以校正失真,从而提高非易失性存储设备的可靠性,并因而改善其功能。

根据一些示例实施例,非易失性存储设备从存储器控制器接收指定模式,并取决于与所接收的指定模式相关联的模式测试结果来执行对用户数据的编程操作或恢复操作。因此,由于提高了用户数据的可靠性,因此提供了具有提高的可靠性的非易失性存储设备及其操作方法,并因此提供了改善的功能。

本文描述的方法的各种操作可以由能够执行操作的任何合适的装置执行,诸如各种硬件和/或软件组件、电路和/或模块。

该软件可以包括用于实现逻辑功能的可执行指令的有序列表,并且可以体现在任何“处理器可读介质”中以用于由诸如单核或多核处理器或包含处理器的系统的指令执行系统、装置或设备使用或与之结合使用。

结合本文中所描述的实施例而描述的方法或算法和功能的框或步骤可直接体现于硬件中、由处理器执行的软件模块中或两者的组合中。如果以软件实施,则可将功能作为一个或多个指令或代码存储在有形的非暂时性计算机可读介质上或通过其传输。软件模块可以驻留在随机存取存储器(ram)、闪存、只读存储器(rom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、寄存器、硬盘、可移动盘、cdrom、或本领域已知的任何其他形式的存储介质中。

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

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