包括非易失性存储器器件的存储设备及其操作方法与流程

文档序号:20874453发布日期:2020-05-26 16:17阅读:213来源:国知局
包括非易失性存储器器件的存储设备及其操作方法与流程

相关申请的交叉引用

本申请要求于2018年11月16日在韩国知识产权局递交的韩国专利申请no.10-2018-0141638的优先权,其全部内容通过引用合并于此。

本公开涉及存储数据的设备,并且更具体地涉及包括非易失性存储器器件的存储设备及其操作方法。



背景技术:

诸如固态驱动器(ssd)或通用闪速存储器(ufs)之类的存储设备包括非易失性存储器器件。由于非易失性存储器器件在掉电时保持存储在其中的数据,因此非易失性存储器器件可以用于长时间存储数据。这样的存储设备可以用作各种电子设备(例如,计算机、智能电话和智能平板等)中的主存储设备。

为了在非易失性存储器器件上执行各种操作,存储设备通常将从主机提供的逻辑地址转换为非易失性存储器器件中可用的物理地址。可以使用映射表来执行将逻辑地址转换为物理地址的操作。然而,可能发生这种情况:在非易失性存储器器件中更新映射表之前,可能由于意外情况(例如,突然掉电(spo))而从存储设备中包括的易失性存储器(例如,缓冲器存储器)中擦除了映射表。在这种情况下,必须要恢复映射表。然而,恢复映射表的操作会延迟各种后续操作,包括例如写入操作、读取操作、擦除操作等。因此,有必要防止由于恢复映射表的操作而导致的延迟。



技术实现要素:

本发明构思的实施例提供了一种包括非易失性存储器器件的存储设备及其操作方法,由此存储设备减少了恢复对非易失性存储器器件中的数据的逻辑地址和物理地址之间的关系加以指示的映射所需的时间。

本发明构思的实施例提供了一种包括非易失性存储器器件和存储器控制器的存储设备。非易失性存储器器件包括存储器区域,存储器区域包括与第一物理地址相对应的第一页和与第二物理地址相对应的第二页。在基于与第一逻辑地址相对应的第一写入命令在第一页处写入第一数据之后,存储器控制器基于与第二逻辑地址相对应的第二写入命令在第二页处写入第二数据。存储器控制器产生与第一数据相对应的第一校验数据和与第二数据相对应的第二校验数据。存储器控制器基于第二校验数据恢复第一物理地址和第二物理地址以及第一逻辑地址和第二逻辑地址。

本发明构思的实施例还提供了一种包括存储器控制器和非易失性存储器器件在内的存储设备的操作方法。所述方法包括:基于与参考地址相对应的第一写入命令,由存储器控制器在非易失性存储器器件的第一页处写入第一数据;基于与目标地址相对应的第二写入命令,由存储器控制器在非易失性存储器器件的第二页处写入第二数据;以及基于目标地址与在目标地址之前的与第三写入命令相对应的地址之间的连续性,并且基于参考地址与目标地址之间的差异,由存储器控制器产生与第二数据相对应的目标校验数据。

本发明构思的实施例还提供了一种存储设备的操作方法,包括:按照物理页号的顺序将数据写入到包括多个页在内的存储器区域中;产生与多个页中的每个页相对应的校验数据;读取多个页中的存储数据的最后的页;以及基于所产生的校验数据中的与最后的页相对应的校验数据,恢复映射中的指示与逻辑页号相对应的物理页号的部分。校验数据包括多个页中的参考页的物理页号与对应于校验数据的物理页号之间的偏移值。

本发明构思的实施例还提供了一种存储设备,包括:非易失性存储器器件,其包括按物理页号顺序的多个页的存储器区域;以及存储器控制器,被配置为将数据写入到多个页中,产生与多个页中的每个页相对应的校验数据,并将校验数据写入到多个页中。多个页中的相应页的校验数据包括多个页中的参考页的物理页号和该相应页的物理页号之间的偏移值。

本发明构思的实施例附加地提供了一种存储设备,包括:非易失性存储器器件,其包括具有按物理页号顺序的多个页的存储器区域;以及存储器控制器,被配置为:基于与参考地址相对应的第一写入命令在多个页中的第一页处写入第一数据,基于与目标地址相对应的第二写入命令在多个页中的第二页处写入第二数据,并且产生与第二数据相对应的目标校验数据。目标校验数据包括顺序数据和偏移数据,顺序数据是基于目标地址与在目标地址之前的与第三写入命令相对应的地址之间的连续性而产生的,且偏移数据是基于参考地址与目标地址之间的差异而产生的。

附图说明

根据以下参考附图对示例性实施例的详细描述,本发明构思的上述和其他目的和特征将变得显而易见。

图1示出了根据本发明构思的实施例的存储设备的框图。

图2示出了图1的存储器控制器的框图。

图3示出了图1的非易失性存储器器件的框图。

图4示出了图1的存储设备的操作方法的流程图。

图5示出了基于图4的映射来写入数据的操作的示意图。

图6示出了写入到图5的第一存储器块中的数据的示例性图。

图7示出了写入到图5的第二存储器块中的数据的示例性图。

图8示出了图6或图7的存储设备的用于生成校验数据的操作方法的流程图。

图9示出了用于通过经由图8的操作产生的校验数据来恢复映射的存储设备的操作方法的流程图。

图10示出了在非顺序地写入数据的情况(例如图6中的情况)下恢复映射的处理的示意图。

图11示出了在顺序地写入数据的情况(例如图7中的情况)下恢复映射的处理的示意图。

具体实施方式

下文中,将以本领域普通技术人员可以实现本发明构思的实施例的程度,参考附图清楚地并且详细地描述本发明构思的实施例。

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

图1示出了根据本发明构思的实施例的存储设备的框图。参考图1,存储设备100包括存储器控制器110和非易失性存储器器件120。存储设备100可以例如以固态驱动器(ssd)、存储卡、嵌入式多媒体卡(emmc)、或通用闪速存储器(ufs)等形式实现,但不限于此。

存储器控制器110可以在诸如主机之类的外部设备(未示出)的控制下控制非易失性存储器器件120。例如,响应于外部请求,存储器控制器110可以将数据“data”写入非易失性存储器器件120中,或者可以读取非易失性存储器器件120中存储的数据“data”。为此,存储器控制器110可以向非易失性存储器器件120发送地址addr、命令cmd和控制信号ctrl。

存储器控制器110可以通过使用缓冲器存储器(图1中未示出)来管理存储设备100。例如,存储器控制器110可以将要写入到非易失性存储器器件120中的数据或从非易失性存储器器件120读取的数据暂时存储在缓冲器存储器中。例如,存储器控制器110可以在缓冲器存储器中存储用于管理非易失性存储器器件120所需的元数据。例如,存储器控制器110可以在缓冲器存储器中存储用于将逻辑地址转换为物理地址的映射,使得在非易失性存储器器件120上执行写入操作、读取操作和擦除操作等操作。

存储器控制器110驱动闪存转换层(ftl)130。闪存转换层130可以定义从主机提供的逻辑地址与非易失性存储器器件120的物理地址之间的对应关系。例如,可以通过使用映射表来管理逻辑地址和物理地址之间的对应关系。此外,闪存转换层130可以执行维护操作,例如垃圾收集操作、读取回收操作、数据恢复操作和数据备份操作等。

此外,存储器控制器110驱动写入校验管理器140。在与非易失性存储器器件120相关联的写入操作中,写入校验管理器140可以管理要被写入到非易失性存储器器件120的由地址标识的存储空间中的写入数据。写入校验管理器140可以产生要与写入数据一起存储在指定页处的校验数据。校验数据可以包括被提供用于在发生意外情况(例如,映射表的映射丢失)之后标识写入数据的数据。例如,意外情况可以是诸如突然掉电之类的情况,在这样的情况下电力未被供应到存储设备100,因此存储在缓冲器存储器(未示出)中的映射被擦除。

写入校验管理器140可以通过校验与写入数据相对应的逻辑地址和物理地址的顺序性来产生校验数据。可以通过针对当前写入操作的地址(例如,逻辑页号和物理页号)与针对过去写入操作(例如,在当前写入操作之前最近执行的写入操作)的地址之间的相关性来确定顺序性。校验数据可以反映该相关性,并且过去写入操作的趋势或历史和当前写入操作可以反映在校验数据中。写入校验管理器140可以由硬件(例如,一个或多个专用集成电路(asic)或一个或多个现场可编程门阵列(fpga))实现,或者可以用固件、软件或其组合来实现。下文中将更全面地描述校验数据。

存储器控制器110可以基于校验数据恢复被擦除的映射。例如,恢复映射的操作可以由闪存转换层130执行。存储器控制器110可以基于校验数据中反映的地址的顺序性,来根据过去的写入操作以及与校验数据相对应的地址来预测地址。例如,存储器控制器110可以基于与一个页相对应的校验数据来恢复与多个页相对应的地址。下面将更全面地描述映射恢复操作。

非易失性存储器器件120可以在存储器控制器110的控制下操作。例如,非易失性存储器器件120可以接收地址addr、命令cmd和控制信号ctrl。非易失性存储器器件120可以将数据“data”存储在与地址addr相对应的空间中,或者可以将与地址addr相对应的数据“data”发送到存储器控制器110。

非易失性存储器器件120可以例如包括闪存、相变随机存取存储器(pram)、铁电ram(feram)、磁ram(mram)、电阻ram(rram)等。

图2示出了图1的存储器控制器的框图。参考图2,存储器控制器110包括处理器111、缓冲器存储器112、主机接口113、纠错码(ecc)引擎(即,纠错码单元)114、存储器接口115和总线116。为了便于描述,将参考图1的附图标记/标号对图2进行描述。

处理器111可以控制存储器控制器110的整体操作,并且可以执行逻辑操作。处理器111可以通过主机接口113与外部主机通信,并且可以通过存储器接口115与非易失性存储器器件120通信。处理器111可以通过使用缓冲器存储器112来控制存储设备100。

处理器111可以驱动图1的闪存转换层130和写入校验管理器140。闪存转换层130可以执行将逻辑地址转换到物理地址,并且可以在非易失性存储器器件120中的与地址addr相对应的存储器区域上执行写入操作。当执行写入校验管理器140时,处理器111可以产生校验数据。当执行闪存转换层130时,处理器111可以通过校验数据恢复从缓冲器存储器112擦除的映射。校验数据指代通过针对当前写入操作的地址与针对过去写入操作的地址之间的相关性而产生的数据。

缓冲器存储器112可以存储由存储器控制器110执行的代码或命令。缓冲器存储器112可以存储由存储器控制器110处理的数据。用于控制存储器控制器110的软件(或固件)可以加载到缓冲器存储器112上。例如,在通过固件实现写入校验管理器140的情况下,写入校验管理器140可以被加载到缓冲器存储器112上,并且可以由处理器111执行。然而,本发明构思不限于此,并且写入校验管理器140可以例如用硬件(例如,一个或多个专用集成电路(asic)或一个或多个现场可编程门阵列(fpga))来实现。缓冲器存储器112可以与参考图1描述的缓冲器存储器相对应。缓冲器存储器112可以是例如随机存取存储器(ram),例如静态ram(sram)。

主机接口113可以被配置为在处理器111的控制下与主机设备通信。主机接口113可以被配置为根据各种通信协议中的任何一种通信协议来通信,通信协议例如为通用串行总线(usb)、串行at附件(sata)、小型计算机系统接口(scsi)、串行附接scsi(sas)、高速芯片间(hsic)、外围组件互连(pci)、pci快速(pcie)、非易失性存储器快速(nvme)、通用闪速存储器(ufs)、安全数字(sd)卡、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式内存模块(dimm)、登记dimm(rdimm)和低负载dimm(lrdimm)等。

纠错码引擎114可以针对要存储在非易失性存储器器件120中的数据产生纠错码。纠错码引擎114可以基于纠错码检测从非易失性存储器器件120读取的数据“data”的错误,并且可以纠正所检测的错误。

存储器接口115被配置为在处理器111的控制下与非易失性存储器器件120通信。例如,存储器接口115可以通过输入/输出信道向非易失性存储器器件120传送命令cmd、地址addr和数据“data”。例如,存储器接口115可以通过控制信道与非易失性存储器器件120交换控制信号。

总线116提供存储器控制器110的组件之间的通信信道。处理器111、缓冲器存储器112、主机接口113、纠错码引擎114和存储器接口115可以通过总线116彼此交换数据。总线116可以被配置为支持在存储器控制器110中使用的各种类型的通信格式。

图3示出了图1的非易失性存储器器件的框图。参考图3,非易失性存储器器件120包括存储器单元阵列121、地址解码器122、页缓冲器电路123、数据输入/输出(i/o)电路124和控制逻辑电路125。为了便于描述,将参考图1的附图标记/标号对图3进行描述。

存储器单元阵列121包括多个存储器块blk1、blk2、blk3至blki。例如,多个存储器块blk1至blki中的每一个存储器包括多个页。写入操作和读取操作可以针对每个页执行。可以针对每个存储器块执行擦除操作。也就是说,可以以页为单位执行写入操作和读取操作,并且可以以块为单位执行擦除操作。存储器单元阵列121通过字线wl或选择线(未示出)连接到地址解码器122,并且通过位线bl连接到页缓冲器电路123。一个页可以连接到一个字线。可以根据非易失性存储器器件120的操作特性或结构特性来区分多个存储器块blk1至blki。

地址解码器122可以被配置为对从存储器控制器110接收的地址addr进行解码。这里,地址addr可以是由闪存转换层130转换的物理地址。地址解码器122可以基于解码的地址addr来选择字线wl中的至少一个,并且可以驱动所选择的字线。

根据操作模式,页缓冲器电路123可以操作作为写入驱动器或读出放大器。在写入操作期间,页缓冲器电路123可以将与写入数据相对应的位线电压提供给存储器单元阵列121的位线bl。在读操作期间,页缓冲电路123可以通过位线bl来感测存储在选定存储器单元中的数据。

在写入操作期间,数据输入/输出电路124通过数据线dl将从存储器控制器110提供的数据“data”提供给页缓冲器电路123。在读取操作期间,数据输入/输出电路124通过数据线dl从页缓冲器电路123接收数据“data”。数据输入/输出电路124可以向存储器控制器110输出所接收的数据“data”。

控制逻辑电路125可以响应于从存储器控制器110提供的命令cmd和控制信号ctrl,来控制地址解码器122、页缓冲器电路123和数据输入/输出电路124。可以在控制逻辑电路125的控制下基于命令cmd来执行非易失性存储器器件120的写入操作、读取操作或擦除操作。

图4示出了图1的存储设备的操作方法的流程图。图4示出了在通过存储设备100的写入操作形成的映射丢失的情况下与恢复映射的操作相关联的流程图。图4的操作可以由图1的存储设备100中包括的存储器控制器110和非易失性存储器器件120执行。为了便于描述,将参考图1的附图标记/标号来描述图4。

在操作s110中,存储器控制器110执行与写入命令相对应的写入操作。闪存转换层130可以将与写入命令相对应的逻辑地址转换为在非易失性存储器器件120中使用的物理地址。存储器控制器110可以在与物理地址相对应的页处写入数据。为此,存储器控制器110可以向非易失性存储器器件120提供数据、物理地址和写入命令。

在执行写入操作的同时,存储器控制器110的写入校验管理器140产生校验数据。校验数据可以与在操作s110中写入的数据之前写入的数据相关联。然而,本发明构思不限于此,因为校验数据可以与在操作s110中写入的数据相关联。可以将校验数据写入到与物理地址相对应的页处,该物理地址是与对应于写入命令的写入数据一起提供的。

在操作s120中,存储器控制器110更新缓冲器存储器(例如,存储器控制器110的缓冲器存储器)中的映射。该映射可以实现为用于将逻辑地址转换为物理地址的映射表。分别与多个逻辑地址l1、l2至lj相对应的多个物理地址p1、p2至pj可以被记录在映射表中。可以根据操作s110的写入操作来改变与逻辑地址相对应的物理地址。存储器控制器110可以将逻辑地址和物理地址之间的关系的改变写入到缓冲器存储器中。

在操作s130中,存储器控制器110确定存储设备100中是否发生了意外情况。存储器控制器110可以确定意外情况。意外情况可以例如意指缓冲器存储器中存储的映射被擦除或者在缓冲器存储器中没有更新映射的情况。例如,意外情况可以是电力未被供应到存储设备100的突然掉电。在这种情况下,可以擦除缓冲器存储器中存储的数据,该缓冲器存储器包括诸如sram之类的易失性存储器。然而,本发明构思不限于此。例如,意外情况可以是由于系统暂停或系统崩溃而使得在缓冲器存储器中更新的映射未被存储或使其被擦除的情况。

缓冲器存储器中存储的映射可以存储在非易失性存储器器件120中,以便即使在意外情况下也可以被管理。然而,在将映射信息写入到非易失性存储器器件120中的情况下,其中每当请求/执行写入操作时改变映射信息,可能发生操作延迟,从而使得存储设备100的性能降低。因此,在以比非易失性存储器器件120更快的速度连续更新存储器控制器110的缓冲器存储器中的变化的映射信息之后,存储器控制器110可以在冲洗时段期间将存储在缓冲器存储器中的映射信息写入到非易失性存储器器件120中。在这种情况下,对非易失性存储器器件120进行访问以更新映射的次数减少,并且写入操作的速度增加。冲洗时段可以被定义为在缓冲器存储器中管理的映射信息被更新到非易失性存储器器件120的时段。当存储在缓冲器存储器中的映射被写入到非易失性存储器器件120之前发生意外情况时(s130中的是),执行操作s140。当未发生意外情况时(s130中的否),执行操作s150。

在操作s140中,存储器控制器110恢复在缓冲器存储器中未更新的映射。为此,存储器控制器110可以读取非易失性存储器器件120中存储的校验数据。存储器控制器110可以基于校验数据恢复映射的至少一部分。存储器控制器110可以预测与在操作s110之前写入的数据相对应的多个逻辑地址和多个物理地址、以及与校验数据相对应的逻辑地址和物理地址。这里,可以在假设与校验数据相对应的地址与先前地址有顺序性的情况下计算多个逻辑地址和多个物理地址。

在操作s150中,存储器控制器110将所恢复的映射更新到非易失性存储器器件120中。存储器控制器110可以在冲洗时段期间将恢复的映射信息写入到非易失性存储器器件120中。在这种情况下,即使发生例如突然掉电的意外情况,也可以通过从非易失性存储器器件120读取映射来容易地执行存储设备100的操作。

图5示出了基于图4的映射来写入数据的操作的示意图。参考图5,通过(第一)映射m1将逻辑地址转换为物理地址,并且将数据写入到第一存储器块blk1或第二存储器块blk2中。第一存储器块blk1和第二存储器块blk2包括在参考图1至图4描述的非易失性存储器器件120中。

映射m1包括与逻辑块号lbn、物理块号pbn、逻辑页号lpn和物理页号ppn有关的信息。逻辑块号lbn可以与从主机连同写入命令和写入数据一起提供的逻辑地址的块信息相关联。物理块号pbn可以与在非易失性存储器器件120中使用的物理地址的块信息相关联。逻辑页号lpn可以与逻辑地址的页信息相关联。物理页号ppn可以与物理地址的页信息相关联。

为了便于描述,假设具有值“1”的第一物理块号与第一存储器块blk1相对应,并且具有值“2”的第二物理块号与第二存储器块blk2相对应。此外,假设分别具有值“1”、值“2”、值“3”和值“4”的第一物理页号、第二物理页号、第三物理页号和第四物理页号分别与第一页pg1、第二页pg2、第三页pg3和第四页pg4相对应。

假设第一存储器块blk1是非顺序地(或随机地)写入数据的存储器区域。与第一逻辑块号和第一逻辑页号相对应的第一数据被写到第一存储器块blk1的第一页pg1处。与第一逻辑块号和第二逻辑页号相对应的第二数据被写到第一存储器块blk1的第二页pg2处。与第一逻辑块号和第三逻辑页号相对应的第三数据被写到第一存储器块blk1的第三页pg3处。与第一逻辑块号和第二逻辑页号相对应的第四数据被写到第一存储器块blk1的第四页pg4处。在这种情况下,与第二逻辑页号相对应的物理页号从“2”变为“4”。第一存储器块blk1的第二页pg2可以是无效页。

假设第二存储器块blk2是顺序写入数据的存储器区域。与第二逻辑块号和第一逻辑页号相对应的第一数据被写到第二存储器块blk2的第一页pg1处。与第二逻辑块号和第二逻辑页号相对应的第二数据被写到第二存储器块blk2的第二页pg2处。与第二逻辑块号和第三逻辑页号相对应的第三数据被写到第二存储器块blk2的第三页pg3处。与第二逻辑块号和第四逻辑页号相对应的第四数据被写到第二存储器块blk2的第四页pg4处。第二存储器块blk2的第一页pg1至第四页pg4可以是有效页。

下面,将描述非顺序地写入数据的情况下的存储设备的操作(例如,图5的第一存储器块blk1的写入操作)以及顺序写入数据的情况下的存储设备的操作(例如,图5的第二存储器块blk2的写入操作)。

图6示出了写入到图5的第一存储器块中的数据的示例性图。图6中示出了被部分地非顺序性地写到第一页pg1至第五页pg5的数据。写入数据和校验数据被写到相应的页pg1至pg5。尽管第一存储器块blk1的第五页pg5未在图5中示出,但是将在第一存储器块blk1还包括第五页pg5的条件下给出描述。

写入数据可以是从主机提供的以便基于写入命令和逻辑地址分别存储在第一页pg1至第五页pg5处的数据。第一页pg1至第五页pg5分别存储第一写入数据wd1至第五写入数据wd5。写入数据存储在页的一部分处。第一页pg1至第五页pg5中的每一页可以包括其中不存储写入数据的备用区域。

校验数据可以存储在第一页pg1至第五页pg5中的每一页的备用区域中。由于校验数据存储在非易失性存储器器件120的备用区域中,当由于意外情况而丢失映射时,校验数据不会丢失。校验数据可以由图1的写入校验管理器140产生,并且存储器控制器110可以读取校验数据以便恢复丢失的映射。

与第一写入数据wd1相对应的校验数据可以存储在第二页pg2中。这在图6中示出了。因此,可以在写入第二写入数据wd2的同时产生与第一写入数据wd1相对应的校验数据。在与第一写入数据wd1相对应的校验数据被替代地存储到第一页pg1的情况下,可以延迟与第一页pg1相关联的写入操作,直到产生校验数据为止。然而,根据图6的实施例,在写入第二写入数据wd2的同时,产生与第一写入数据wd1相对应的校验数据,然后将其存储到第二页pg2,从而减少写入操作的延迟。类似地,与第二写入数据wd2至第四写入数据wd4相对应的校验数据可以分别存储到第三页pg3至第五页pg5。

校验数据可以包括序列数据seq。可以基于与校验数据相对应的逻辑地址的顺序性来产生序列数据seq。图1的写入校验管理器140可以确定与写入数据相对应的逻辑地址和物理地址的顺序性,并且可以产生序列数据seq的值。在逻辑地址和物理地址具有顺序性的情况下,序列数据seq可以具有顺序标识值se。如果不具有顺序性,则序列数据seq可以具有非顺序标识值nse。例如,顺序标识值se可以是“1”,并且非顺序标识值nse可以是“0”。然而,本发明构思不限于此。

详细地,参考图5和图6,由于在第一页pg1之前不存在页,因此存储在第二页pg2处的序列数据具有非顺序标识值nse。由于第二页pg2的逻辑地址和物理地址是“2”,并且第一页pg1的逻辑地址和物理地址是“1”,因此存储在第三页pg3处的序列数据具有顺序标识值se。由于第三页pg3的逻辑地址和物理地址是“3”,并且第二页pg2的逻辑地址和物理地址是“2”,因此存储在第四页pg4处的序列数据具有顺序标识值se。由于第四页pg4的逻辑地址是“2”,并且第三页pg3的逻辑地址是“3”,因此存储在第五页pg5处的序列数据具有非顺序标识值nse。

序列数据seq可以用于确定参考地址。在下文中,具有非顺序标识值nse的页的逻辑地址被定义为参考逻辑地址,或者换句话说,被定义为参考地址。稍后,在恢复映射的操作中,存储器控制器110可以读取最后存储数据的最后的页、以及存储非顺序标识值nse的页之前的页,并且可以跳过读取其余页。

校验数据可以包括偏移数据offset。可以基于与写入数据相对应的逻辑地址与参考逻辑地址之间的差异来产生偏移数据。图1的写入校验管理器140可以确定偏移数据的值。参见图5和图6,由于与第一写入数据wd1至第三写入数据wd3相对应的参考逻辑地址(即,参考地址)是“1”(因为在这种情况下第一页pg1具有非顺序标识值nse),因此分别存储在第二页pg2至第四页pg4处的偏移数据具有值“0”至“2”。此外,由于与第四写入数据wd4相对应的参考逻辑地址是“2”,因此存储在第五页pg5处的偏移数据可以具有值“0”。在这种情况下,第二页pg2和第三页pg3的地址可以表征为目标地址,并且第二页pg2和第三页pg3的校验数据可以分别表征为目标校验数据。

偏移数据可以用于确定在恢复映射的操作中要跳过的页。也就是说,偏移数据可以用于确定在恢复映射的操作期间可以被跳过并且不需要读取的页。要跳过的页的数量可以与偏移数据的值相对应。例如,为了恢复映射,在读取第五页pg5的情况下,由于偏移数据的值是“0”,因此可以读取第四页pg4而不跳过页。在读取第四页pg4的情况下,由于偏移数据的值是“2”,因此可以跳过第二页pg2和第三页pg3。在读取第四页pg4的情况下,可以预测第三逻辑地址是3,第二逻辑地址是通过从“3”减去“1”而获得的“2”,并且第一逻辑地址是通过从“3”减去“2”而获得的“1”。

校验数据可以包括地址addr。这里,地址addr可以是逻辑地址。详细地,地址addr可以是逻辑页号。例如,在读取第五页pg5的情况下,难以仅通过使用偏移数据“0”来预测与具有值“4”的物理页号相对应的逻辑页号。因此,为了计算非顺序读取数据的逻辑地址,地址addr可以包括在校验数据中。然而,本发明构思不限于此。例如,校验数据可以包括用于预测非顺序的逻辑地址的数据,而不是地址addr。

在实施例中,存储在第一页pg1处的校验数据可以不被标记,而是可以具有指定值。例如,序列数据seq可以具有非顺序标识值nse(例如“0”),并且偏移数据的值可以是“0”。

图7示出了写入到图5的第二存储器块中的数据的示例性图。图7中示出了被顺序性地写到第一页pg1至第五页pg5的数据。第一页pg1至第五页pg5中的每一个可以包括写入数据和校验数据。尽管第二存储器块blk2的第五页pg5未在图5中示出,但是将在第二存储器块blk2还包括第五页pg5的条件下给出描述。

与图6类似,第一页pg1至第五页pg5分别存储第一写数据wd1至第五写数据wd5。与第一写入数据wd1至第四写入数据wd4相对应的校验数据可以分别存储到第二页pg2至第五页pg5。校验数据可以存储在第一页pg1至第五页pg5中的每一页的备用区域中。

校验数据可以包括序列数据seq。可以基于与校验数据相对应的逻辑地址的顺序性来产生序列数据seq。由于在第一页pg1之前不存在页,因此存储在第二页pg2处的序列数据可以具有非顺序标识值nse。由于数据按照逻辑页号lpn和物理页号ppn的顺序写入到第二存储器块blk2中,因此存储在第三页pg3至第五页pg5中的每一页处的序列数据seq具有顺序标识值se。

校验数据可以包括偏移数据offset。可以基于与写入数据相对应的逻辑地址与参考逻辑地址之间的差异来产生偏移数据。由于数据按照逻辑页号lpn和物理页号ppn的顺序写入到第二存储器块blk2中,因此分别存储在第二页pg2至第五页pg5处的偏移数据可以具有值“0”至“3”。

在执行顺序写入操作的情况下,校验数据可以不包括地址。在写入数据是按照地址的顺序被顺序写入的情况下,可以根据偏移数据来预测逻辑页号。由于偏移数据的值与逻辑地址之间的相关性在所有页上是均匀的,因此可以根据偏移数据来预测逻辑页号。在实施例中,存储在第一页pg1处的校验数据可以不被标记,而是可以如图6那样具有指定值。

图8示出了图6或图7的存储设备的用于生成校验数据的操作方法的流程图。图8的操作可以由图1的存储器控制器110中包括的写入校验管理器140执行。如参考图6和图7所述,可以在将与校验数据相对应的写入数据写入到非易失性存储器器件120中之后,并在处理从主机提供的下一个写入数据期间,执行图8的处理。为了便于描述,将参考图1的附图标记/标号对图8进行描述。

在操作s210中,写入校验管理器140确定与写入数据相对应的地址的顺序性。写入校验管理器140可以将与紧接在写入数据之前写入的数据相对应的地址(下文中称为“第一地址”)与对应于当前写入的写入数据的地址(下文中称为“第二地址”)进行比较。例如,第一地址可以包括第一逻辑页号和第一物理页号。第二地址可以包括第二逻辑页号和第二物理页号。在第二物理页号顺序地跟随第一物理页号并且第二逻辑页号顺序地跟随第一逻辑页号的情况下,写入校验管理器140可以确定该地址具有连续性。

在操作s210中,写入校验管理器140基于确定连续性的结果,产生与写入数据相对应的序列数据。在确定地址具有连续性的情况下,序列数据可以具有顺序标识值。在确定地址不具有连续性的情况下,序列数据可以具有非顺序标识值。

在操作s220中,写入校验管理器140计算与写入数据相对应的地址的偏移。偏移数据可以是与写入数据相对应的逻辑地址(即,逻辑页号)和参考逻辑地址(即,参考逻辑页地址)之间的差值。参考逻辑地址可以是在操作s210中具有非顺序标识值的写入数据的逻辑地址。写入校验管理器140可以产生具有通过偏移计算操作而获得的值的偏移数据。例如,在写入与参考逻辑地址相对应的写入数据之后,写入校验管理器140可以通过在每次从主机提供写入数据时将偏移值累积加“1”来产生偏移数据。

在操作s230中,写入校验管理器140产生校验数据。校验数据可以包括在操作s210中产生的序列数据和在操作s220中产生的偏移数据。然而,本发明构思不限于此。例如,如果需要,写入校验管理器140还可以在校验数据中包括逻辑地址。此外,如果需要,与特定写入数据相对应的校验数据可以包括逻辑地址而不是偏移数据。所产生的校验数据可以与下一写入操作中的写入数据一起存储在非易失性存储器器件120的备用区域中。

图9示出了用于通过经由图8的操作产生的校验数据来恢复映射的存储设备的操作方法的流程图。图9的操作可以由图1的存储器控制器110执行。例如,图9的操作可以由存储器控制器110中包括的闪存转换层130执行。图9可以被视为是详细描述图4的操作s140的流程图。为了便于描述,将参考图1的附图标记/标号对图9进行描述。

在操作s310中,存储器控制器110读取最后的有效页。最后的有效页可以是存储器区域(或存储器块)中包括的多个页中的最后写入数据的页。例如,最后的有效页可以是写入数据的页中的具有最大物理页号的页。在由于突然掉电使得映射丢失的情况下,存储器控制器110可能难以立即检测到最后的有效页。例如,存储器控制器110可以通过二分搜索来检测最后的有效页,但是不限于此。

在操作s320中,存储器控制器110基于存储在最后的有效页处的校验数据来恢复映射数据。映射数据可以包括多个页中的至少一个页的逻辑地址和物理地址。可以根据校验数据中包括的偏移数据的值来确定要通过存储器控制器110恢复的地址。也就是说,可以基于偏移数据值来恢复与至少一个页相对应的地址。例如,在偏移数据值为“0”的情况下,可以仅恢复与最后的有效页相对应的地址。作为另一示例,在偏移数据值是“2”的情况下,可以恢复与最后的有效页相对应的地址和与两个附加页相对应的地址。

在操作s330中,存储器控制器110确定所读取的页是否是具有连续性的页。存储器控制器110可以基于偏移数据值或序列数据确定所读取的页的连续性。例如,在偏移数据值是“0”或者序列数据具有非顺序标识值的情况下,存储器控制器110可以确定所读取的页不具有连续性。作为另一示例,在偏移数据值大于“0”或序列数据具有顺序标识值的情况下,存储器控制器110可以确定所读取的页具有连续性。当确定所读取的页具有连续性时(s330中的是),执行操作s340。当确定所读取的页不具有连续性时(s330中的否),执行操作s350。

在操作s340中,存储器控制器110基于偏移数据跳过至少一页。这里,跳过的方向是从地址开始的反向(向后)方向。例如,在偏移数据值是“2”的情况下,可以从所读取的页开始跳过与两个先前地址相对应的两页。在操作s320中,由于恢复了跳过的页的地址,因此不必为了恢复映射而读取跳过的页。因此,与读取所有页以恢复映射的情况相比,恢复映射所花费的时间会减少。

在操作s350中,存储器控制器110基于读取页或跳过页的结果来确定是否恢复了与所有页相关联的映射数据。例如,存储器控制器110可以确定是否读取或跳过作为具有最小物理地址的页的第一页。当读取或跳过第一页时(s350中的是),执行操作s360。例如,当在操作s310中读取的页是第一页时,执行操作s360。作为另一示例,当在操作s340中跳过第一页时,执行操作s360。

当未读取且未跳过第一页时(s350中的否),执行操作s310。例如,当在操作s310中读取的页不具有连续性且不是第一页时,则再次执行操作s310至操作s350。例如,当在操作s340中被确定为跳过的页不是第一页时,则再次执行操作s310至操作s350。在再次执行操作s310的情况下,存储器控制器110可以相对于所读取的页之前的页或相对于未跳过的页读取最后的有效页。

在操作s360中,存储器控制器110产生由于意外情况(例如,突然掉电)而被擦除的映射。可以通过操作s310至操作s350恢复与有效页相对应的所有映射数据。存储器控制器110可以将所有恢复的映射数据反映或输入到映射。例如,存储器控制器110可以以映射表的形式记录所恢复的映射数据。可以在冲洗时段期间将产生的映射写入到非易失性存储器器件120中。

图10示出了在非顺序地写入数据的情况(例如图6中的情况)下恢复映射的处理的示意图。为了便于描述,将参考图9的操作描述恢复映射的处理。

假设存储器区域(或存储器块)包括第一页pg1至第十六页pg16。此外,假设数据预先写在第一页pg1至第十页pg10处。如上所述,在校验数据被写到下一页的情况下,可以将数据写到第一页pg1至第十一页pg11。然而,为了便于描述,在图10中省略了该条件。假设在第一页pg1至第十页pg10中的每一页处标记的偏移数据offset和地址addr对应于所标记的页。也就是说,例如,针对第一页pg1产生的校验数据包括偏移数据“0”和地址addr“1”。这里,地址addr意指逻辑地址(例如,逻辑页号)。

参考图10和图9的操作s310,读取最后的有效页。最后的有效页是第十页pg10。在实施例中,可以通过二分搜索来检测最后的有效页。在这种情况下,存储器控制器110可以通过确定第八页pg8是有效页、确定第十二页pg12是无效页、确定第十页pg10是有效页、并且确定第十一页pg11是无效页,而将第十页pg10确认为最后的有效页。

参考图10和图9的操作s320,映射的一部分被恢复,并且在图10中被示出为第一恢复映射rm1。第十页pg10的偏移值是“2”,并且其逻辑地址是“5”。因此,存储器控制器110可以将与第十页pg10相对应的物理页号“10”链接到逻辑页号“5”。由于偏移值是“2”,因此存储器控制器110可以预测逻辑页号“4”链接到物理页号“9”,并且逻辑页号“3”链接到物理页号“8”。因此,基于偏移值“2”跳过第八页pg8和第九页pg9。换句话说,映射中的与第八页pg8和第九页pg9相对应的部分可以由基于最后的有效页pg10的偏移值确定,因此不读取第八页pg8和第九页pg9。

作为跳过的结果,读取第七页pg7。第七页pg7的偏移值是“6”,并且其逻辑地址是“7”。因此,存储器控制器110可以将物理页号“7”链接到逻辑页号“7”。由于偏移值是“6”,一般来说,逻辑页号“1”至逻辑页号“6”可以按照一一对应关系分别链接到物理页号“1”至物理页号“6”。然而,由于已经恢复了与逻辑页号“3”至逻辑页号“5”相关联的物理页号,因此省略针对逻辑页号“3”至逻辑页号“5”的恢复。原因在于由于第八页pg8至第十页pg10,第三页pg3至第五页pg5被认为是无效页。因此,根据第七页pg7的读取操作恢复诸如图10中所示的第二恢复映射rm2的映射。

可以通过读取第十页pg10和第七页pg7来恢复该映射。因此,可以在比通过顺序读取第一页pg1至第十页pg10来恢复映射的时间短的时间内恢复映射。

图11示出了在顺序地写入数据的情况(例如图7中的情况)下恢复映射的处理的示意图。如图10那样,假设存储器区域(或存储器块)包括第一页pg1至第十六页pg16。假设在第一页pg1至第十页pg10中的每一页处标记的偏移数据offset和地址addr对应于所标记的页。这里,地址addr意指逻辑地址(例如,逻辑页号)。

参考图11,读取最后的有效页。最后的有效页是第十页pg10。在实施例中,可以通过二分搜索来检测最后的有效页,这参考图10描述了。

恢复诸如图11中所示的恢复映射rm的映射。第十页pg10的偏移值是“9”,并且其逻辑地址是“10”。在顺序写入数据的情况下,偏移数据和逻辑地址具有均匀的相关性。因此,存储器控制器110可以将与第十页pg10相对应的物理页号“10”链接到逻辑页号“10”。由于偏移值是“9”,逻辑页号“1”至逻辑页号“9”可以按照一一对应关系分别链接到物理页号“1”至物理页号“9”。基于偏移值“9”跳过第一页pg1至第九页pg9。换句话说,映射中的与第一页pg1至第九页pg9相对应的部分可以由基于最后的有效页pg10的偏移值确定,因此不读取第一页pg1至第九页pg9。由于跳过第一页pg1(图9的s350中的是),因此确认恢复映射rm。

由于映射是通过读取第十页pg10且不读取其他附加页来恢复的,因此可以在比通过顺序读取第一页pg1至第十页pg10来恢复映射的时间短的时间内恢复映射。

根据本发明构思的实施例,包括非易失性存储器器件的存储设备及其操作方法可以通过读取存储在非易失性存储器器件的某些页处的校验数据并恢复与存储器区域相关联的映射来减少恢复映射所需的时间。

尽管已经参考本发明构思的示例性实施例描述了本发明构思,但是对于本领域普通技术人员来说显而易见的是,可以在不脱离如在所附权利要求中说明的本发明构思的精神和范围的情况下,对其进行各种改变和修改。

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