闪存系统及其快速备份LSB页的方法和装置与流程

文档序号:12824594阅读:222来源:国知局
闪存系统及其快速备份LSB页的方法和装置与流程

本发明涉及电子设备技术领域,特别是涉及一种快速备份lsb页的方法、一种快速备份lsb页的装置和一种闪存系统。



背景技术:

对于mlc(multi-levelcell,2位/存储单元)nand闪存(闪存的一种,内部采用非线性宏单元模式)、tlc(trinarylevelcell,3位/存储单元)nand闪存、qlc(quadlevelcell,4位/存储单元)nand闪存等多层式存储单元nand闪存,1个基础存储单元能够表示两页中的对应数据位,即lsb(leastsignificantbit,最低有效位)页和msb(mostsignificantbit,最高有效位)页中的对应数据位,lsb页和相关msb页为配对页。其中,对lsb页编程后,在对相关msb页进行编程时,如果掉电,则lsb页和msb页可能同时崩溃。进一步地,若lsb页上的数据为文件系统元数据,如果该lsb页出现配对页崩溃问题,那么文件系统和主机系统也会崩溃。因此,若无法解决多层式存储单元nand闪存的配对页崩溃问题,极有可能导致主机系统崩溃,造成灾难性的后果。

相关技术中,大多在对多层式存储单元nand闪存中的msb页进行编程时,备份相关lsb页来解决上述问题。参照图1,多层式存储单元nand闪存中,页0’、页1’、页3’……页21’为lsb页,页2’、页4’、页6’……页24’为msb页。由于页0’和页2’是配对页,通常情况下,如果对页2’编程,则需要先备份页0’的数据到其它块中。同理,如果对页4’编程,则需要先备份页1’的数据到其它块中,依此类推。

但是,上述相关技术还存在以下缺陷:备份相关lsb页的方式将导致更多的页被编程,浪费了存储空间,降低了多层式存储单元nand闪存的写性能。



技术实现要素:

鉴于上述问题,本发明实施例提供了克服上述问题的一种快速备份lsb页的方法、一种快速备份lsb页的装置和一种闪存系统。

为了解决上述问题,本发明实施例公开了一种快速备份lsb页的方法,包括:接收待写入多层式存储单元nand闪存的用户数据;所述多层式存储单元nand闪存分为第一块区域和第二块区域;将所述用户数据写入所述第一块区域,其中,在将所述用户数据写入所述第一块区域中msb页之前,将所述msb页对应的lsb页中用户数据备份至所述第二块区域中的lsb页。

具体地,快速备份lsb页的方法还包括:建立所述用户数据与所述第二块区域中对应存储空间之间的映射关系。

具体地,快速备份lsb页的方法还包括:当所述用户数据写入完成时,释放所述第二块区域中备份所述用户数据的块。

具体地,快速备份lsb页的方法还包括:当所述用户数据写入完成时,释放所述第二块区域中备份所述用户数据的已写满块。

为了解决上述问题,本发明实施例还公开了一种快速备份lsb页的装置,包括:数据接收模块,用于接收待写入多层式存储单元nand闪存的用户数据;所述多层式存储单元nand闪存分为第一块区域和第二块区域;数据写入和备份模块,用于将所述用户数据写入所述第一块区域,其中,在将所述用户数据写入所述第一块区域中msb页之前,将所述msb页对应的lsb页中用户数据备份至所述第二块区域中的lsb页。

具体地,快速备份lsb页的装置还包括:映射关系建立模块,用于建立所述用户数据与所述第二块区域中对应存储空间之间的映射关系。

具体地,快速备份lsb页的装置还包括:第一释放模块,用于当所述用户数据写入完成时,释放所述第二块区域中备份所述用户数据的块。

具体地,快速备份lsb页的装置还包括:第二释放模块,用于当所述用户数据写入完成时,释放所述第二块区域中备份所述用户数据的已写满块。

为了解决上述问题,本发明实施例还公开了一种闪存系统,包括:多层式存储单元nand闪存和所述的快速备份lsb页的装置,其中,所述多层式存储单元nand闪存分为第一块区域和第二块区域。

本发明实施例的闪存系统及其快速备份lsb页的方法和装置包括以下优点:在接收待写入多层式存储单元nand闪存的用户数据后,将用户数据写入多层式存储单元nand闪存中的第一块区域,其中,在将用户数据写入第一块区域中msb页之前,将msb页对应的lsb页中用户数据备份至多层式存储单元nand闪存中的第二块区域中的lsb页。从而能够实现在存储用户数据至多层式存储单元nand闪存例如mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等的过程中,快速备份lsb页中用户数据,并有效节约备份存储空间,同时解决了多层式存储单元nand闪存的配对页掉电崩溃问题,提高了系统性能。

附图说明

图1是相关技术中多层式存储单元nand闪存的配对页示意图;

图2是本发明的一种快速备份lsb页的方法实施例的步骤流程图;

图3是本发明的一种快速备份lsb页的方法实施例中用户数据在第一块区域中存储情况的示意图;

图4是本发明的一种快速备份lsb页的方法实施例中用户数据在第二块区域中存储情况的示意图;

图5是本发明的另一种快速备份lsb页的方法实施例的步骤流程图;

图6是本发明的一种快速备份lsb页的装置实施例的结构框图;

图7是本发明的另一种快速备份lsb页的装置实施例的结构框图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例一

参照图2,示出了本发明的一种快速备份lsb页的方法实施例的步骤流程图,具体可以包括如下步骤:

s1,接收待写入多层式存储单元nand闪存的用户数据;多层式存储单元nand闪存分为第一块区域和第二块区域。

其中,多层式存储单元nand闪存可以为mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等。需要说明的是,第一块区域中,每个单元中各页均可被操作。第二块区域中,每个单元中仅lsb页可被操作。即第二块区域与第一块区域只是在lsb页是否可被操作上不同,而不是物理属性不同。

s2,将用户数据写入第一块区域,其中,在将用户数据写入第一块区域中msb页之前,将msb页对应的lsb页中用户数据备份至第二块区域中的lsb页。

具体地,第二块区域中仅lsb页可被操作可以为设置第二块区域中仅lsb页可被操作,还可以为在备份用户数据至第二块区域时,仅将用户数据备份至第二块区域中的lsb页。

需要说明的是,步骤s2中将msb页对应的lsb页中用户数据仅备份至第二块区域中的lsb页,相关技术中将msb页对应的lsb页中用户数据备份至其它块的lsb页或msb页。而对lsb页写入用户数据较对msb页写入用户数据的速度快,因此,本发明实施例较相关技术中将msb页对应的lsb页中用户数据备份至其它块的方式,系统备份写性能得到了极大地提高。同时即便在将用户数据写入第一块区域中msb页的过程中掉电,第二块区域中的lsb页内用户数据依然存在,避免了mlcnand闪存的配对页掉电崩溃问题。

在本发明的一个实施例中,步骤s1中接收的用户数据为a、b、c、d、e、f、g、h、i、j、k、l、m、n、o、p。假设多层式存储单元nand闪存为mlcnand闪存,mlcnand闪存中的每页可以保存4个数据,则 在步骤s2将用户数据写入第一块区域后,用户数据在第一块区域中存储情况可以如图3所示。其中,图3中,用户数据a、b、c、d存储在第一块区域中的页1中,用户数据e、f、g、h存储在第一块区域中的页4中,用户数据i、j、k、l存储在第一块区域中的页3中,用户数据m、n、o、p存储在第一块区域中的页6中。需要说明的是,用户数据在第一块区域中存储情况包括但不仅限于图3所示的存储情况,例如用户数据在第一块区域中存储在不同的块中,或用户数据存储在第一块区域中同一块,但存储在不相邻的页中。

在步骤s2将第一块区域中msb页对应的lsb页中用户数据备份至第二块区域中的lsb页后,用户数据在第二块区域中存储情况可以如图4所示。其中,用户数据a、b、c、d存储在第二块区域中的页1中,用户数据e、f、g、h存储在第二块区域中的页3中,用户数据i、j、k、l存储在第二块区域中的页5中,用户数据m、n、o、p存储在第二块区域中的页7中。需要说明的是,用户数据在第二块区域中存储情况包括但不仅限于图4所示的存储情况,例如用户数据在第二块区域中存储在不同的块中,或用户数据存储在第一块区域中同一块,但存储在不相邻的lsb页中。

根据本发明实施例一,在接收待写入多层式存储单元nand闪存的用户数据后,将用户数据写入多层式存储单元nand闪存中的第一块区域,其中,在将用户数据写入第一块区域中msb页之前,将msb页对应的lsb页中用户数据备份至多层式存储单元nand闪存中的第二块区域中的lsb页。从而能够实现在存储用户数据至多层式存储单元nand闪存例如mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等的过程中,快速备份lsb页中用户数据,同时解决了多层式存储单元nand闪存的配对页掉电崩溃问题,提高了系统备份写性能。

实施例二

参照图5,示出了本发明的另一种快速备份lsb页的方法实施例的步骤 流程图,具体可以包括如下步骤:

s51,接收待写入多层式存储单元nand闪存的用户数据;多层式存储单元nand闪存分为第一块区域和第二块区域。

s52,将用户数据写入第一块区域,其中,在将用户数据写入第一块区域中msb页之前,将msb页对应的lsb页中用户数据备份至第二块区域中的lsb页。

s53,建立用户数据与第二块区域中对应存储空间之间的映射关系。

例如,参照图4,用户数据a、b、c、d存储在第二块区域中的页1中,用户数据e、f、g、h存储在第二块区域中的页3中,用户数据i、j、k、l存储在第二块区域中的页5中,用户数据m、n、o、p存储在第二块区域中的页7中。则步骤s53之后,用户数据a、b、c、d与页1之间具有映射关系,用户数据e、f、g、h与页3之间具有映射关系,用户数据i、j、k、l与页5之间具有映射关系,用户数据m、n、o、p与页7之间具有映射关系。步骤s53可以便于正确的读取、擦除第二块区域中的用户数据或进行其它操作。

s54,当用户数据写入完成时,释放第二块区域中备份用户数据的块或释放第二块区域中备份用户数据的已写满块。

通过步骤s54可以回收第二块区域的存储空间,为下次备份msb页对应的lsb页中用户数据做准备,提高系统性能。其中,回收第二块区域的备份存储空间可以包括但不限于步骤s54中的方式,例如还可以为释放第二块区域。

根据本发明实施例二,在接收待写入多层式存储单元nand闪存的用户数据后,将用户数据写入多层式存储单元nand闪存中的第一块区域,其中,在将用户数据写入第一块区域中msb页之前,将msb页对应的lsb页中用户数据备份至多层式存储单元nand闪存中的第二块区域中的lsb页,进而建立用户数据与第二块区域中对应存储空间之间的映射关系,最后当用户数据写入完成时,释放第二块区域中备份用户数据的块或释放第二块区域中备份用户数据的已写满块等。从而能够实现在存储用户数据至多层式 存储单元nand闪存例如mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等的过程中,快速备份lsb页中用户数据,并回收备份存储空间,同时解决了多层式存储单元nand闪存的配对页掉电崩溃问题,提高了系统性能。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

实施例三

参照图6,示出了本发明的一种快速备份lsb页的装置实施例的结构框图,具体可以包括如下模块:

数据接收模块1,用于接收待写入多层式存储单元nand闪存的用户数据;多层式存储单元nand闪存分为第一块区域和第二块区域。

其中,多层式存储单元nand闪存可以为mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等。需要说明的是,第一块区域中,每个单元中各页均可被操作。第二块区域中,每个单元中仅lsb页可被操作。即第二块区域与第一块区域只是在lsb页是否可被操作上不同,而不是物理属性不同。

数据写入和备份模块2,用于将用户数据写入第一块区域,其中,在将用户数据写入第一块区域中msb页之前,将msb页对应的lsb页中用户数据备份至第二块区域中的lsb页。

具体地,第二块区域中仅lsb页可被操作可以为设置第二块区域中仅lsb页可被操作,还可以为在备份用户数据至第二块区域时,仅将用户数据备份至第二块区域中的lsb页。

需要说明的是,数据写入和备份模块2中将msb页对应的lsb页中用户数据仅备份至第二块区域中的lsb页,相关技术中将msb页对应的lsb页中用户数据备份至其它块的lsb页或msb页。而对lsb页写入用户数据较对msb页写入用户数据的速度快,因此,本发明实施例较相关技术中将msb页对应的lsb页中用户数据备份至其它块的方式,系统备份写性能得到了极大地提高。同时即便在将用户数据写入第一块区域中msb页的过程中掉电,第二块区域中的lsb页内用户数据依然存在,避免了mlcnand闪存的配对页掉电崩溃问题。

根据本发明实施例三,在数据接收模块接收待写入多层式存储单元nand闪存的用户数据后,数据写入和备份模块将用户数据写入多层式存储单元nand闪存中的第一块区域,其中,在将用户数据写入第一块区域中msb页之前,数据写入和备份模块将msb页对应的lsb页中用户数据备份至多层式存储单元nand闪存中的第二块区域中的lsb页。从而能够实现在存储用户数据至多层式存储单元nand闪存例如mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等的过程中,快速备份lsb页中用户数据,同时解决了多层式存储单元nand闪存的配对页掉电崩溃问题,提高了系统备份写性能。

实施例四

参照图7,示出了本发明的另一种快速备份lsb页的装置实施例的结构框图,具体可以包括如下模块:

数据接收模块71,用于接收待写入多层式存储单元nand闪存的用户数据;多层式存储单元nand闪存分为第一块区域和第二块区域。

数据写入和备份模块72,用于将用户数据写入第一块区域,其中,在将用户数据写入第一块区域中msb页之前,将msb页对应的lsb页中用户数据备份至第二块区域中的lsb页。

映射关系建立模块73,用于建立用户数据与第二块区域中对应存储空间 之间的映射关系。

映射关系建立模块73可以便于正确的读取、擦除第二块区域中的用户数据或进行其它操作。

第一释放模块74,用于当用户数据写入完成时,释放第二块区域中备份用户数据的块;或第二释放模块75,用于当用户数据写入完成时,释放第二块区域中备份用户数据的已写满块。

通过第一释放模块74或第二释放模块75可以回收第二块区域的存储空间,为下次备份msb页对应的lsb页中用户数据做准备,提高系统性能。其中,回收第二块区域的备份存储空间可以包括但不限于第一释放模块74或第二释放模块75,例如还可以为当用户数据写入完成时,释放第二块区域的第三释放模块。

根据本发明实施例四,在数据接收模块接收待写入多层式存储单元nand闪存的用户数据后,数据写入和备份模块将用户数据写入多层式存储单元nand闪存中的第一块区域,其中,在将用户数据写入第一块区域中msb页之前,数据写入和备份模块将msb页对应的lsb页中用户数据备份至多层式存储单元nand闪存中的第二块区域中的lsb页,进而映射关系建立模块建立用户数据与第二块区域中对应存储空间之间的映射关系,最后当用户数据写入完成时,第一释放模块释放第二块区域中备份用户数据的块或第二释放模块释放第二块区域中备份用户数据的已写满块等。从而能够实现在存储用户数据至多层式存储单元nand闪存例如mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等的过程中,快速备份lsb页中用户数据,并回收备份存储空间,同时解决了多层式存储单元nand闪存的配对页掉电崩溃问题,提高了系统性能。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

实施例五

本发明实施例还提出了一种闪存系统,具体可以包括如下模块:多层式存储单元nand闪存和上述的快速备份lsb页的装置,其中,所述多层式存储单元nand闪存分为第一块区域和第二块区域。

其中,闪存系统具体可以实现为ssd(solidstatedrives,固态硬盘)、sd(securedigitalmemorycard,安全数码卡)卡、microsd卡(一种极细小的sd卡)、mmc(multi-mediacard,多媒体卡)卡和闪存文件系统等。

根据本发明实施例五,闪存系统通过快速备份lsb页的装置,可以实现在存储用户数据至多层式存储单元nand闪存例如mlcnand闪存、或基础存储单元中各页不同时写入用户数据的tlcnand闪存、或基础存储单元中各页不同时写入用户数据的qlcnand闪存等的过程中,快速备份lsb页中用户数据,并回收备份存储空间,同时解决了多层式存储单元nand闪存的配对页掉电崩溃问题,提高了闪存系统性能。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的 指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种快速备份lsb页的方法、一种快速备份lsb页的装置和一种闪存系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发 明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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