一种NandFlash中模拟用户数据存储的方法

文档序号:9432194阅读:438来源:国知局
一种NandFlash中模拟用户数据存储的方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种NandFlash中模拟用户数据存储的方法。
【背景技术】
[0002]eMMC(Embedded Multi Media Card,内嵌式存储器)是一种主要针对于手机或平板电脑等电子设备的内嵌式存储器。其中,eMMC中包含了 NandFlash,目前,NandFlash逐渐成为嵌入式系统的主要存储介质之一,没有文件系统来管理NandFlash上的数据是不可想象的。
[0003]为了便于管理NandFlash 上的数据,引入了 FTL(Flash Translat1n Layer,文件传输层),一旦FTL出现问题,那么会使数据读写发生错误,更为严重的是eMMC无法被访问。因此,FTL的稳定性及效率对eMMC来说至关重要,在应用FTL对eMMC中NandFlash上的数据进行管理时,首先应该对FTL进行测试。
[0004]现有技术中,在FTL的测试过程中,需要不断的访问NandFlash上存储的数据,通过反馈结果判断FTL的稳定性及效率,但是这种测试方法应用到硬件中的NandFlash,不方便测试操作。所以,在FTL测试中,采用模拟的NandFlash进行数据的存储。其中,模拟的NandFlash存储的数据中包括用户数据,在NandFlash模拟储存中用户数据的数据量都是GB级的,由于用户数据的占用的空间比较大,在测试FTL过程中,访问用户数据的效率会降低。

【发明内容】

[0005]有鉴于此,本发明实施例提供一种NandFlash中模拟用户数据存储的方法,以解决FTL测试中用户数据访问效率低的问题。
[0006]本发明实施例提供了一种NandFlash中模拟用户数据存储的方法,包括:
[0007]获取物理页中各个物理扇区的用户数据存储信息,并存储到数据文件的第一存储单元,其中每个物理扇区用于存储512字节用户数据,所述用户数据存储信息的长度为8字
-K-
T ;
[0008]获取所述物理页中带外数据信息,将所述带外数据信息存储到数据文件的第二存储单元,其中,所述数据文件存储于内存中。
[0009]进一步的,每个所述物理页包括8个或16个物理扇区;所述数据文件包括对应的8个或16个第一存储单元。
[0010]进一步的,每个物理扇区存储的用户数据为所述物理扇区的逻辑区块地址。
[0011]进一步的,所述带外数据包括纠错校验数据和所述物理页中各物理扇区的逻辑区块地址与物理地址转换的映射表。
[0012]进一步的,所述获取物理页中各个物理扇区的用户数据存储信息,并存储到数据文件的第一存储单元存包括:
[0013]获取物理页中各个所述物理扇区的逻辑区块地址,以及各个所述物理扇区的写入次序;
[0014]将数据文件的第一存储单元分为大小相等的第一部分和第二部分;
[0015]通过所述第一部分存储物理扇区逻辑区块地址;
[0016]通过所述第二部分存储物理扇区的写入次序。
[0017]进一步的,所述存储物理扇区中写入次序包括:
[0018]采用时间戳记录物理扇区中用户数据的写入次序。
[0019]进一步的,所述第二存储单元的大小为16字节。
[0020]进一步的,所述每个物理扇区存储的用户数据为所述物理扇区的逻辑区块地址与所述物理扇区的写入次序。
[0021]本发明实施例提供的一种NandFlash中模拟用户数据存储的方法,通过第一存储单元存储物理页中各个扇区的用户数据,通过第二数据单元存储物理页中的带外数据,能够解决FTL测试中用户数据访问效率低的问题。
【附图说明】
[0022]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0023]图1是本发明实施例一提供的一种NandFlash中模拟用户数据存储的方法的流程图;
[0024]图2是本发明实施例一提供的数据文件的结构框图;
[0025]图3是本发明实施例二提供的一种NandFlash中模拟用户数据存储的方法的流程图;
[0026]图4是本发明实施例二提供的第一存储单元的结构框图。
【具体实施方式】
[0027]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0028]目前,为了便于管理NandFlash上的数据,引入了 FTL,一旦FTL出现问题,那么会使数据读写发生错误,更为严重的是eMMC无法被访问。因此,FTL的稳定性及效率对eMMC来说至关重要,在应用FTL对NandFlash上的数据进行管理时,首先应该对FTL进行测试。
[0029]现有技术中,在FTL的测试过程中,需要不断的访问NandFlash上存储的数据,通过反馈结果判断FTL的稳定性及效率,但是这种测试方法应用到硬件中的NandFlash,不方便测试操作。所以,在FTL测试中,采用模拟的NandFlash进行模拟数据的存储,其中,模拟的数据中大部分为用户数据。
[0030]在FTL的测试过程中,由测试系统向FTL发送读取NandFlash中用户数据的命令,FTL将命令中包含的逻辑区块地址转换为物理地址,调用该物理地址下的用户数据,如果调用的用户数据与之前写入的用户数据相同,则可以判定FTL对用户数据的管理是正确的;否则FTL出现问题。在FTL的测试中,需要不断的访问NandFlash中的用户数据,用户数据的数据量都是GB级的,占用的空间比较大,访问用户数据的效率会比较低。
[0031]实施例一
[0032]图1为本发明实施例提供的一种NandFlash中模拟用户数据存储的方法的流程图,如图1所示,该方法包括:
[0033]步骤101:获取物理页中各个物理扇区的用户数据存储信息,并存储到数据文件的第一存储单元,其中每个物理扇区用于存储512字节用户数据,所述用户数据存储信息的长度为8字节。
[0034]在本实施例中,第一存储单元的大小为8字节,每个所述物理页包括8个或16个物理扇区,相应的,所述数据文件包括对应的8个或16个第一存储单元。每个物理扇区存储的用户数据为所述物理扇区的逻辑区块地址。
[0035]在本实施例中,将各个物理扇区用编号进行标识,各个物理扇区的编号即为逻辑区块地址。每个物理扇区存储的用户数据为物理扇区的逻辑区块地址。例如,一个扇区存储的用户数据为0,则该扇区的逻辑区块地址为O。在FTL测试过程中,如果测试系统发送读取逻辑区块地址为O的扇区时,FTL将逻辑区块地址O转换成物理地址;调用该物理地址下物理扇区的数据,如果返回的数据为0,则说明FTL管理用户数据是正确的,否则,FTL是有问题的。
[0036]在上述实施例的基础上,所述的逻辑区块地址为O的物理扇区中,包含的用户数据可以为多个0,为了提高用户数据的访问效率,提高FTL的测试效率,逻辑区块地址为O的物理扇区中的用户数据存储为O。
[0037]步骤102:获取所述物理页中带外数据信息,将所述带外数据信息存储到数据文件的第二存储单元,其中,所述数据文件存储于内存中。
[0038]在上述实施例的基础上,如图2所示,数据文件200包括第一存储单元201和第二存储单元202 ;第一存储单元201,用于存储物理页中各个物
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1