一种数据存储方法、数据读取方法及电子设备的制造方法

文档序号:10686781阅读:460来源:国知局
一种数据存储方法、数据读取方法及电子设备的制造方法
【专利摘要】本发明公开了一种数据存储方法、数据读取方法及电子设备,用于解决数据存储方式不够灵活的技术问题,用以提高获取元数据的速率,以及提高对数据处理的效率。所述方法包括:根据电子设备发送的第一命令,生成第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据;判断用于存储所述第一元数据的第一级缓存区是否满足预定条件;若满足所述预定条件,则将所述第一元数据存储于所述第一级缓存区中,或,若不满足所述预定条件,则将所述第一元数据存储于第二级缓存区中;其中,所述第一级缓存区与所述第二级缓存区为不同的缓存区。
【专利说明】
一种数据存储方法、数据读取方法及电子设备
技术领域
[0001]本发明涉及数据存储技术领域,尤其涉及一种数据存储方法、数据读取方法及电子设备。
【背景技术】
[0002]电子设备在运行的过程中会产生大量的元数据,元数据一般存储在电子设备中的静态随机存储器(Static Random Access Memory,SRAM)中,以通过SRAM对数据的快速处理能力便于快速存储和读取元数据,随着电子设备运行能力的提升,生成的元数据也逐渐增多,而由于SRAM的存储空间有限,满足不了越来越多的元数据对于存储空间的要求。
[0003]或者,还可以直接将元数据存储在电子设备的内存中,而需要获取元数据的时候则需要直接从内存中读取,由于需要频繁地读取元数据并且元数据的数据量一般较小,如果通过频繁地访问内存而从内存中直接读取元数据的话,对电子设备的输入/输出(I/O) 口的并发性要求较高,增加内存等存储设备的访问负担,并且由于从内存中读取数据的速率要小于直接从SRAM中读取的速率,所以数据读取的速率较低。
[0004]可见,现有技术中缺乏一种灵活的数据存储方法用于存储越来越多的元数据,导致获取元数据的速率较慢,效率较低。

【发明内容】

[0005]本发明实施例提供一种数据存储方法、数据读取方法及电子设备,用于解决数据存储方式不够灵活的技术问题,用以提高获取元数据的速率,提高数据处理效率。
[0006]第一方面,提供一种数据存储方法,包括:
[0007]根据电子设备发送的第一命令,生成第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据;
[0008]判断用于存储所述第一元数据的第一级缓存区域是否满足预定条件;
[0009]若满足所述预定条件,则将所述第一元数据存储于所述第一级缓存区中,或,若不满足所述预定条件,则将所述第一元数据存储于第二级缓存区中;其中,所述第一级缓存区与所述第二级缓存区为不同的缓存区。
[0010]可选的,所述第一级缓存区属于所述闪存设备中的第一存储介质,所述第二级缓存区属于所述闪存设备中的第二存储介质;其中,所述第一存储介质与所述第二存储介质不同。
[0011 ]可选的,在将所述第一元数据存储于第二级缓存区中之前,还包括:
[0012]将所述第一元数据存储于缓存控制模块;其中,所述缓存控制模块与所述第二级缓存区对应的存储设备通过相互匹配的连接接口连接;
[0013]将所述第一元数据存储于第二级缓存区中,包括:
[0014]将所述第一元数据通过所述连接接口发送给所述第二级缓存区对应的存储设备,以存储于所述第二级缓存区中。
[0015]可选的,判断用于存储所述第一元数据的第一级缓存区是否满足预定条件,包括:
[0016]若确定所述第一级缓存区的存储空间未被占满,则确定所述第一级缓存区满足所述预定条件。
[0017]可选的,判断用于存储所述第一元数据的第一级缓存区是否满足预定条件,包括:
[0018]若确定所述第一级缓存区中存储的数据量未达到第一预定数据量,则确定所述第一级缓存区满足所述预定条件;其中,所述第一预定数据量为预定数据量集中的任意一个,所述预定数据量集中的每个预定数据量均小于所述第一级缓存区的存储容量。
[0019]第二方面,提供一种数据读取方法,包括:
[0020]确定用于执行电子设备发送的第二命令所需要的第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据;
[0021]根据所述第一元数据的历史存储信息,确定存储所述第一元数据的缓存区是第一级缓存区或第二级缓存区;
[0022]从确定的缓存区中读取所述第一元数据。
[0023]可选的,在从确定的缓存区中读取所述第一元数据之后,还包括:
[0024]从所述确定的缓存区中删除所述第一元数据。
[0025]第三方面,提供第一种电子设备,包括:
[0026]闪存设备;
[0027]处理器,与所述闪存设备连接,用于根据所述电子设备中发送的第一命令,生成第一元数据;判断用于存储所述第一元数据的第一级缓存区是否满足预定条件;以及若满足所述预定条件,则将所述第一元数据存储于所述第一级缓存区中,或,若不满足所述预定条件,则将所述第一元数据存储于第二级缓存区中;其中,所述第一元数据为描述所述闪存设备中存储的数据的属性的数据,所述第一级缓存区与所述第二级缓存区为不同的缓存区。
[0028]可选的,所述第一级缓存区属于所述闪存设备中的第一存储介质,所述第二级缓存区属于所述闪存设备中的第二存储介质;其中,所述第一存储介质与所述第二存储介质不同。
[0029]可选的,所述电子设备还包括:缓存控制模块,与所述第二级缓存区对应的存储设备通过相互匹配的连接接口连接,用于存储元数据;
[0030]所述处理器用于:
[0031 ]控制将所述第一元数据存储于所述缓存控制模块中,并控制所述缓存控制模块通过所述连接接口将所述第一元数据发送给所述第二级缓存区对应的存储设备,以存储于所述第二级缓存区中。
[0032]可选的,所述处理器用于:
[0033]若确定所述第一级缓存区的存储空间未被占满,则确定所述第一级缓存区满足所述预定条件。
[0034]可选的,所述处理器用于:
[0035]若确定所述第一级缓存区中存储的数据量未达到第一预定数据量,则确定所述第一级缓存区满足所述预定条件;其中,所述第一预定数据量为预定数据量集中的任意一个,所述预定数据量集中的每个预定数据量均小于所述第一级缓存区的存储容量。
[0036]第四方面,提供第二种电子设备,包括:
[0037]数据生成模块,用于根据电子设备中发送的第一命令,生成第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据;
[0038]判断模块,用于判断用于存储所述第一元数据的第一级缓存区是否满足预定条件;
[0039]数据存储模块,用于若满足所述预定条件,则将所述第一元数据存储于所述第一级缓存区中,或,若不满足所述预定条件,则将所述第一元数据存储于第二级缓存区中;其中,所述第一级缓存区与所述第二级缓存区属于不同的存储设备。
[0040]第五方面,提供第三种电子设备,包括:
[0041]闪存设备;
[0042]处理器,与所述闪存设备连接,用于确定用于执行所述电子设备发送的第二命令所需要的第一元数据;根据所述第一元数据的历史存储信息,确定存储所述第一元数据的缓存区是第一级缓存区或第二级缓存区;以及从确定的缓存区中读取所述第一元数据;其中,所述第一元数据为描述所述闪存设备中存储的数据的属性的数据。
[0043 ]第六方面,提供第四种电子设备,包括:
[0044]第一确定模块,用于确定用于执行电子设备发送的第二命令所需要的第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据;
[0045]第二确定模块,用于根据所述第一元数据的历史存储信息,确定存储所述第一元数据的缓存区是第一级缓存区或第二级缓存区;
[0046]数据读取模块,用于从确定的缓存区中读取所述第一元数据。
[0047]本发明实施例中,在根据第一命令生成第一元数据之后,可以先判断用于存储第一元数据的第一缓存区是否满足预定条件,进而再根据判断结果确定第一元数据的缓存区,具体来说,当第一缓存区满足预定条件时,则将第一元数据存储于第一级缓存区中,当第一缓存区不满足预定条件时,则将第一元数据存储于第二级缓存区中。
[0048]也就是说,在本发明实施例中可以为元数据提供两级缓存区,即第一级缓存区和第二级缓存区,通过设置两级缓存区,电子设备可以通过至少两种方式存储元数据,这样可以提升元数据存储和读取的灵活性,进而可以提升用于存储元数据的存储空间,便于电子设备存储更多的元数据,这样电子设备的硬件可以尽量无需从内存中去读取元数据而直接从第一级缓存区或第二级缓存区中读取数据,由于从缓存区读取数据的速率要大于从内存中读取数据的速率,所以在提升元数据的存储空间的同时,还可以尽量提高数据读取的速率,便于快速地获得需要的数据,提高硬件的运行速率。
[0049]同时,由于无需再从电子设备的内存读取元数据,还可以在一定程度上降低对I/O的并发性的要求,降低内存设备的访问负担。
【附图说明】
[0050]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0051 ]图1为本发明实施例中数据存储方法的流程图;
[0052]图2为本发明实施例数据存储方法的另一流程图;
[0053]图3为本发明实施例中数据读取方法的流程图;
[0054]图4为本发明实施例中第一种电子设备的结构示意图;
[0055]图5为本发明实施例中第二种电子设备的结构框图;
[0056]图6为本发明实施例中第三种电子设备的结构不意图;
[0057]图7为本发明实施例中第四种电子设备的结构框图。
【具体实施方式】
[0058]为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0059]另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,六和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另夕卜,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
[0060]为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0061]请参见图1,本发明实施例提供一种数据存储方法,该方法可以应用于电子设备,而存储设备可以设置于电子设备中,用于存储电子设备在使用过程中需要进行存储的数据,电子设备例如可以包括手机、平板电脑(PAD)、笔记本电脑或PC等等。该方法的流程描述如下。
[0062]步骤101:根据电子设备发送的第一命令,生成第一元数据;其中,所述第一元数据为描述电子设备中的闪存设备中存储的数据的属性的数据。
[0063]其中,第一命令可以是由电子设备的主机向电子设备中的某一硬件(例如第一硬件)发送的命令,而与该命令对应的可以生成第一元数据,第一元数据用于第一硬件在执行第一命令时获得需要的一些资源,例如便于第一硬件根据第一元数据的指示在执行第一命令的过程中获得需要使用的数据。
[0064]可选的,元数据例如可以包括命令描述符、主机内存地址表和数据完整性编码等信息,也就是说,元数据可以是用于描述电子设备中存储的数据的属性的数据,而第一元数据可以看作是任意一个元数据。而为了确保断电后数据仍然能够保存,数据一般存储于电子设备中的闪存设备中,例如NOR闪存设备或NAND闪存设备,其中,闪存设备一般是嵌入式硬件系统中所使用的存储设备,相当于PC中的硬盘,用于存放数据。
[0065]元数据的数据量较少,一般为几字节(Byte)到几十Byte不等,所占用的存储空间也较小,并且由于元数据在生成后一般会被及时使用,所以一般将元数据缓存在电子设备中的随机存储器(Random Access Memory,RAM)中,例如此时可以将RAM称作是缓存区,当某一硬件需要读取数据时,可以首先从缓存区中进行查找,由于缓存的运行速度比电子设备中的内存要快,故通过缓存可以帮助硬件更快地查找需要的数据,以便于提高硬件的运行效率。
[0066]步骤102:判断用于存储第一元数据的第一级缓存区是否满足预定条件。
[0067]在本发明实施例中,可以为元数据提供两级缓存区,即第一级缓存区和后文中提到的第二级缓存区,通过设置两级缓存区,可以在一定程度上提升用于存储元数据的存储空间,便于电子设备存储更多的元数据,这样电子设备的硬件可以尽量无需从内存中去读取元数据而直接从第一级缓存区或第二级缓存区中去读取数据,由于从缓存区读取数据的速率要大于从内存中读取数据的速率,所以在提升元数据的存储空间的同时,还可以尽量提高数据读取的速率,便于快速地获得需要的数据,提升硬件的运行速率。
[0068]本发明实施例中,第一级缓存区与第二级缓存区为不同的缓存区。例如,第一级缓存区可以为闪存设备中的第一存储介质所对应的存储区域,第二级缓存区可以为闪存设备中的第二存储介质所对应的存储区域,可以这样理解,第一级缓存区属于闪存设备中的第一存储介质,第二级缓存区属于闪存设备中的第二存储介质。其中,第一存储介质与第二存储介质不同,也就是说,第一级缓存区与第二级缓存区可以均属于同一闪存设备,但是分别属于该闪存设备中不同的存储介质,由于不同的存储介质用于存储数据的性能和容量等参数的不同,通过将第一级缓存区和第二级缓存区设置为不同的存储介质可以同时利用不同介质的存储性能,提升数据存储的有效性和多样性。
[0069]以闪存设备是NAND存储设备为例,可以将NAND存储设备中的RAM对应的存储区看作是第一级缓存区。另外,由于NAND存储设备一般都会使用双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)来缓存NAND设备中的映射表和一些控制信息,而这些信息一般占用DDR SDRAM的部分空间,所以DDR SDRAM中会有一剩余空间,那么本发明实施例中可以将NAND存储设备中的DDR SDRAM所剩余的空间作为第二级缓存区,这样可以在有现有闪存设备的基础上,充分利用现有闪存设备中余量的剩余空间作为第二级缓存来元数据,以满足元数据对存储空间越来越大的存储要求。其中,可以将RAM和DDR SDRAM均称作是存储介质,而RAM而第一存储介质,DDRSDRAM为第二存储介质。
[0070]可选的,第一级缓存区可以包括闪存设备的SRAM所包括的存储区域,或者可以包括闪存设备中的相变存储器(Phase Change Memory,PCM)所包括的存储区域,等等
[0071]第二级缓存区可以包括设置于NAND存储设备中的DDR SDRAM所包括的存储区域,或者对于有些闪存设备来说,其中可能以PCM作为存储介质,那么在这种情况下,也可以将闪存设备中的PCM所对应的存储区域作为第二级缓存区域,等等。
[0072]可选的,第一级缓存区的存储速率和读取速率要大于第二级缓存区,例如第一级缓存区是SRAM而第二级缓存区是DDR SDRAM,那么可以将第一级缓存区的优先级设置为高于第二级缓存区,这样可以便于元数据的快速存储和后续的快速读取,那么,在默认状态下可以将元数据优先存储于第一级缓存区中,以便于能够快速地存储和读取数据,提高处理效率。
[0073]而在步骤102中,即在存储第一元数据之前,可以先判断第一级缓存区是否满足预定条件,若满足预定条件则执行步骤103,即将第一元数据存储于第一级缓存区中,若不满足预定条件则执行步骤104,即将第一元数据存储于第二级缓存区中,可见,在本发明实施例中,步骤103和步骤104是择一实施。
[0074]步骤103:若满足预定条件,则将第一元数据存储于第一级缓存区中。
[0075]步骤104:若不满足预定条件,则将第一元数据存储于第二级缓存区中。
[0076]也就是说,在对元数据进行存储之前可以先对第一级缓存区进行预定条件的判断,以确定第一级缓存区是否仍然满足第一优先级,这样可以尽量能够对两级缓存区进行合理的分配使用,以便于尽量提升两级缓存区的利用率。
[0077]在具体实施过程中,可以具有多种方式判断第一级缓存区是否满足预定条件,SP,预定条件的设置可以具有多种。
[0078]例如,第一种可能的预定条件是:第一级缓存区的存储空间未被占满。
[0079]由于第一级缓存区存储和读取数据的速率要高于第二级缓存,所以可以优先将元数据均存储在第一级缓存区,而将第二级缓存区作为后备缓存区,只有当第一级缓存区的存储空间被元数据占满之后,再将获得的元数据存储到第二级缓存区中,这样可以便于数据的快速存储和后续的快速读取,提高处理效率。
[0080]假设第一级缓存区的存储空间为500M,当确定第一级缓存区中存储的元数据的数据量未达到500M时,则会持续的将元数据继续存放到第一级缓存区中,而只有当检测到第一级缓存区中存储的元数据的数据量达到500M后,才会将元数据存放到第二级缓存区中。
[0081]又例如,第二种可能的预设条件是:第一级缓存区中存储的数据量未达到第一预定数量。
[0082]可以设置预定数据量集,而第一预定数据量可以为预定数据量集中的任意一个预定数据量。例如,预定数据量集为{801,1201,3001},而预定数据量集中的任意一个预定数据量均小于第一级缓存区的存储容量(例如为500M),那么,例如当检测到第一级缓存区中存储的元数据的数据量未达到80M时则可以将元数据继续存储到第一级缓存区中,而当检测到大于80M时则可以将元数据存储到第二级缓存区中。
[0083]进一步地,例如可以在一定时间间隔(例如I分钟)之后,又将元数据存储到第一级缓存区,则下一次则可以以120M作为判断条件,当检测到第一级缓存区中存储的数据量达至IJ80M时又将元数据存储到第二级缓存区中,以此类推,即可以以相互交错的存储方式将元数据存储分别存储到两级缓存区中,这样可以尽量提升两级缓存区的利用率,减少资源的浪费。
[0084]另外,在将第一元数据存储于第二级缓存区之前,还可以先将第一元数据存储于缓存控制模块中,再通过缓存控制模块发送给与第二级缓存区对应的存储设备,即发送给与第二级缓存区对应的存储介质,由于缓存控制模块与第二级缓存区对应的存储设备通过相互匹配的连接接口连接,所以通过缓存控制模块进行缓冲转发的话可以尽量与第二级缓存区对应的存储设备的接口进行匹配,通过设备接口之间的高匹配性以使得数据传输的速率能够更快。
[0085]其中,缓存控制模块例如可以包括先入先出模块(First Input First Output,FIFO)或者其它的缓存模块,等等。
[0086]为了便于阅读者对本发明实施例中的数据存储方法进行理解,以下以图2为例进行进一步地解释说明。
[0087]步骤201:判断是否接收第一命令。
[0088]若确定接收第一命令,通过执行步骤202生成第一元数据,若未接收第一命令,则可以再持续进行检测,例如再进行实时检测或周期性检测。
[0089]在生成第一元数据之后,进一步地可以判断第一级缓存区是否被占满,即执行步骤203,若确定第一级缓存区未被占满时则将第一元数据存储到第一级缓存区,即执行步骤204,若确定第一级缓存区已被占满时则将第一元数据存储到第二级缓存区,即执行步骤205。
[0090]也就是说,在本发明实施例中可以为元数据提供两级缓存区,即第一级缓存区和第二级缓存区,通过设置两级缓存区,电子设备可以通过至少两种方式存储元数据,这样可以提升元数据存储和读取的灵活性,进而可以提升用于存储元数据的存储空间,便于电子设备存储更多的元数据,这样电子设备的硬件可以尽量无需从内存中去读取元数据而直接从第一级缓存区或第二级缓存区中读取数据,由于从缓存区读取数据的速率要大于从内存中读取数据的速率,所以在提升元数据的存储空间的同时,还可以尽量提高数据读取的速率,便于快速地获得需要的数据,提高硬件的运行速率。
[0091]同时,由于无需再从电子设备的内存读取元数据,还可以在一定程度上降低对I/O的并发性的要求,降低内存设备的访问负担。
[0092]请参见图3,基于同一发明构思,本发明实施例提供一种数据读取方法,该方法可以应用于用于执行图1和图2的电子设备。该方法的而流程描述如下。
[0093]步骤301:确定用于执行电子设备发送的第二命令所需要的第一元数据;其中,第一元数据为描述电子设备中的闪存设备中存储的数据的属性的数据;
[0094]步骤302:根据第一元数据的历史存储信息,确定存储第一元数据的缓存区是第一级缓存区或第二级缓存区;
[0095]步骤303:从确定的缓存区中读取第一元数据,
[0096]例如,当电子设备通过图1或图2中所示的数据存储方法存储第一元数据时,可以记录下第一元数据的历史存储信息,历史存储信息例如可以包括电子设备在何时将第一元数据存到了哪个缓存区,等等。
[0097]那么,在需要获取第一元数据时,电子设备可以根据历史存储信息进而存储第一元数据的缓存区是第一缓存区还是第二缓存区,电子设备则可以快速地从确定的缓存区中读取第一元数据,这样能够保证快速的数据读取效率。
[0098]进一步地,在从确定的缓存区中读取第一元数据之后,可以表明第一元数据已经被使用,为了节约缓存空间,电子设备可以将第一元数据从确定的缓存区中删除,这样可以释放缓存空间,便于存储其它的元数据,缩短缓存区内元数据的更新时间和更新周期。
[0099]假设确定用于存储第一元数据的缓存区是第一缓存区,电子设备可以通过向第一缓存区所对应的存储设备发送控制指令的方式以指示该存储设备将第一元数据从其缓存区中进行删除。
[0100]请参见图4,基于同一发明构思,本发明实施例提供第一种电子设备,该电子设备包括:
[0101]第一闪存设备401;
[0102]第一处理器402,与第一闪存设备401连接,用于根据电子设备中发送的第一命令,生成第一元数据;判断用于存储第一元数据的第一级缓存区是否满足预定条件;以及若满足所述预定条件,则将第一元数据存储于第一级缓存区中,或,若不满足预定条件,则将第一元数据存储于第二级缓存区中;其中,第一元数据为描述第一闪存设备401中存储的数据的属性的数据,第一级缓存区与第二级缓存区为不同的缓存区。
[0103]第一处理器402具体可以是通用的中央处理器(CPU),或者可以是特定应用集成电路(Applicat1n Specific Integrated Circuit,ASIC),或者可以是一个或多个用于控制程序执行的集成电路。
[0104]第一处理器402与第一闪存设备401之间可以通过连接线进行连接,该连接线具有信号传输的作用,即,第一处理器402与第一闪存设备401之间可以保持电性连接,用于控制第一闪存设备401中的不同存储介质以不同的数据存储策略进行数据存储,例如控制第一闪存设备401中的不存存储介质以不同的数据存储策略对元数据进行存储。
[0105]电子设备还可以包括显示装置,显示装置可以是内包括发光二极管(LightEmitting D1de,LED)显不屏、有机发光二极管(Organic Light Emitting D1de,0LED)显示屏、有源矩阵有机发光二极体(Active Matrix Organic Light Emitting D1de,AMOLED)显示屏、平面转换(In-Plane Switching,IPS)显示屏,等等。
[0106]可选的,第一级缓存区属于第一闪存设备401中的第一存储介质,第二级缓存区属于第一闪存设备401中的第二存储介质。
[0107]可选的,电子设备还包括:
[0108]缓存控制模块,与第二级缓存区对应的存储设备通过相互匹配的连接接口连接,用于存储元数据;
[0109]第一处理器402用于:
[0110]控制将第一元数据存储于缓存控制模块中,并控制缓存控制模块通过连接接口将所述第一元数据发送给第二级缓存区对应的存储设备,以存储于第二级缓存区中。
[0111]可选的,第一处理器402用于:
[0112]若确定第一级缓存区的存储空间未被占满,则确定第一级缓存区满足预定条件。
[0113]可选的,第一处理器402用于:
[0114]若确定第一级缓存区中存储的数据量未达到第一预定数据量,则确定第一级缓存区满足预定条件;其中,第一预定数据量为预定数据量集中的任意一个,预定数据量集中的每个预定数据量均小于第一级缓存区的存储容量。
[0115]由于本发明实施例中的电子设备与图1中的数据存储方法解决问题的原理相似,因此本发明实施例中电子设备的实施可以参见图1中数据存储方法的实施,在此不再赘述。
[0116]请参见图5,基于同一发明构思,本发明实施例还提供第二种电子设备,该电子设备包括数据生成模块501、判断模块502和数据存储模块503。
[0117]数据生成模块501,用于根据电子设备中发送的第一命令,生成第一元数据;其中,第一元数据为描述电子设备中的闪存设备中存储的数据的属性的数据;
[0118]判断模块502,用于判断用于存储第一元数据的第一级缓存区是否满足预定条件;
[0119]数据存储模块503,用于若满足预定条件,则将第一元数据存储于第一级缓存区中,或,若不满足预定条件,则将第一元数据存储于第二级缓存区中;其中,第一级缓存区与第二级缓存区属于不同的存储设备。
[0120]可选的,第一级缓存区属于闪存设备中的第一存储介质,第二级缓存区属于闪存设备中的第二存储介质。
[0121 ]可选的,电子设备还包括缓存控制模块,用于:
[0122]在数据存储模块503用于将第一元数据存储于第二级缓存区中之前,存储第一元数据;并将第一元数据通过连接接口发送给第二级缓存区对应的存储设备,以存储于第二级缓存区中;缓存控制模块与第二级缓存区对应的存储设备通过相互匹配的所述连接接口连接。
[0123]可选的,判断模块502用于:
[0124]若确定第一级缓存区的存储空间未被占满,则确定第一级缓存区满足所述预定条件。
[0125]可选的,判断模块502用于:
[0126]若确定第一级缓存区中存储的数据量未达到第一预定数据量,则确定第一级缓存区满足预定条件;其中,第一预定数据量为预定数据量集中的任意一个,预定数据量集中的每个预定数据量均小于第一级缓存区的存储容量。
[0127]由于本发明实施例中的电子设备与图1-2中的数据存储方法解决问题的原理相似,因此本发明实施例中电子设备的实施可以参见图1-2中数据存储方法的实施,在此不再赘述。
[0128]请参见图6,基于同一发明构思,本发明实施例提供第三种电子设备,该电子设备包括:
[0129]第二闪存设备601;
[0130]第二处理器602,与第二闪存设备601连接,用于确定用于执行电子设备发送的第二命令所需要的第一元数据;根据第一元数据的历史存储信息,确定存储第一元数据的缓存区是第一级缓存区或第二级缓存区;以及从确定的缓存区中读取第一元数据;其中,第一元数据为描述所述闪存设备中存储的数据的属性的数据。
[0131]其中,图6中的第二闪存设备601与图4中的第一闪存设备401可以为相同的闪存设备,也可以为不同的闪存设备。
[0132]可选的,第二处理器602还用于:
[0133]在从确定的缓存区中读取所述第一元数据之后,从确定的缓存区中删除第一元数据。
[0134]由于本发明实施例中的电子设备与图3中的数据读取方法解决问题的原理相似,因此本发明实施例中电子设备的实施可以参见图3中数据读取方法的实施,在此不再赘述。
[0135]请参见图7,基于同一发明构思,本发明实施例提供第四种电子设备,该电子设备包括第一确定模块701、第二确定模块702和数据读取模块703。
[0136]第一确定模块701,用于确定用于执行电子设备发送的第二命令所需要的第一元数据;其中,第一元数据为描述电子设备中的闪存设备中存储的数据的属性的数据;
[0137]第二确定模块702,用于根据第一元数据的历史存储信息,确定存储第一元数据的缓存区是第一级缓存区或第二级缓存区;
[0138]数据读取模块703,用于从确定的缓存区中读取第一元数据。
[0139]可选的,电子设备还包括删除模块,用于:
[0140]在数据读取模块703用于从确定的缓存区中读取第一元数据之后,从确定的缓存区中删除第一元数据。
[0141]由于本发明实施例中的电子设备与图3中的数据读取方法解决问题的原理相似,因此本发明实施例中电子设备的实施可以参见图3中数据读取方法的实施,在此不再赘述。
[0142]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0143]在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0144]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0145]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0146]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、R0M(Read-Only Memory,只读存储器)、RAM (Random Access Memory,随机存取存储器)、磁碟或者光盘等各种可以存储程序代码的介质。
[0147]具体来讲,本发明实施例中的一种数据存储方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种数据存储方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
[0148]根据电子设备发送的第一命令,生成第一元数据;其中,第一元数据为描述电子设备中的闪存设备中存储的数据的属性的数据;
[0149]判断用于存储第一元数据的第一级缓存区是否满足预定条件;
[0150]若满足预定条件,则将第一元数据存储于第一级缓存区中,或,若不满足预定条件,则将第一元数据存储于第二级缓存区中;其中,第一级缓存区与第二级缓存区为不同的缓存区。
[0151]可选的,第一级缓存区属于闪存设备中的第一存储介质,第二级缓存区属于闪存设备中的第二存储介质。
[0152]可选的,存储介质中存储的与步骤:将所述第一元数据存储于第二级缓存区中,对应的计算机指令在被之前,还包括:
[0153]将第一元数据存储于缓存控制模块;其中,缓存控制模块与第二级缓存区对应的存储设备通过相互匹配的连接接口连接;
[0154]存储介质中存储的与步骤:将第一元数据存储于第二级缓存区中,对应的计算机指令在被执行的过程之中,包括:
[0155]将第一元数据通过连接接口发送给第二级缓存区对应的存储设备,以存储于第二级缓存区中。
[0156]可选的,存储介质中存储的与步骤:判断用于存储第一元数据的第一级缓存区是否满足预定条件,对应的计算机指令在被执行的过程之中,包括:
[0157]若确定第一级缓存区的存储空间未被占满,则确定第一级缓存区满足预定条件。
[0158]可选的,存储介质中存储的与步骤:判断用于存储第一元数据的第一级缓存区是否满足预定条件,对应的计算机指令在被执行的过程之中,包括:
[0159]若确定第一级缓存区中存储的数据量未达到第一预定数据量,则确定第一级缓存区满足预定条件;其中,第一预定数据量为预定数据量集中的任意一个,预定数据量集中的每个预定数据量均小于第一级缓存区的存储容量。
[0160]具体来讲,本发明实施例中的一种数据读取方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种数据读取方法对应的计算机程序指令被一电子设备读取或被执行时,包括如下步骤:
[0161]确定用于执行电子设备发送的第二命令所需要的第一元数据;其中,第一元数据为描述电子设备中的闪存设备中存储的数据的属性的数据;
[0162]根据第一元数据的历史存储信息,确定存储第一元数据的缓存区是第一级缓存区或第二级缓存区;
[0163]从确定的缓存区中读取第一元数据。
[0164]可选的,存储介质中存储的与步骤:从确定的缓存区中读取所述第一元数据,对应的计算机指令在被执行之后,还包括:
[0165]从确定的缓存区中删除第一元数据。
[0166]以上,以上实施例仅用以对本发明的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明的方法及其核心思想,不应理解为对本发明的限制。本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
【主权项】
1.一种数据存储方法,包括: 根据电子设备发送的第一命令,生成第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据; 判断用于存储所述第一元数据的第一级缓存区是否满足预定条件; 若满足所述预定条件,则将所述第一元数据存储于所述第一级缓存区中,或,若不满足所述预定条件,则将所述第一元数据存储于第二级缓存区中;其中,所述第一级缓存区与所述第二级缓存区为不同的缓存区。2.如权利要求1所述的方法,其特征在于,所述第一级缓存区属于所述闪存设备中的第一存储介质,所述第二级缓存区属于所述闪存设备中的第二存储介质;其中,所述第一存储介质与所述第二存储介质不同。3.如权利要求1所述的方法,其特征在于,在将所述第一元数据存储于第二级缓存区中之前,还包括: 将所述第一元数据存储于缓存控制模块;其中,所述缓存控制模块与所述第二级缓存区对应的存储设备通过相互匹配的连接接口连接; 将所述第一元数据存储于第二级缓存区中,包括: 将所述第一元数据通过所述连接接口发送给所述第二级缓存区对应的存储设备,以存储于所述第二级缓存区中。4.如权利要求1-3中任一权利要求所述的方法,其特征在于,判断用于存储所述第一元数据的第一级缓存区是否满足预定条件,包括: 若确定所述第一级缓存区的存储空间未被占满,则确定所述第一级缓存区满足所述预定条件。5.如权利要求1-3中任一权利要求所述的方法,其特征在于,判断用于存储所述第一元数据的第一级缓存区是否满足预定条件,包括: 若确定所述第一级缓存区中存储的数据量未达到第一预定数据量,则确定所述第一级缓存区满足所述预定条件;其中,所述第一预定数据量为预定数据量集中的任意一个,所述预定数据量集中的每个预定数据量均小于所述第一级缓存区的存储容量。6.—种数据读取方法,包括: 确定用于执行电子设备发送的第二命令所需要的第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据; 根据所述第一元数据的历史存储信息,确定存储所述第一元数据的缓存区是第一级缓存区或第二级缓存区; 从确定的缓存区中读取所述第一元数据。7.如权利要求6所述的方法,其特征在于,在从确定的缓存区中读取所述第一元数据之后,还包括: 从所述确定的缓存区中删除所述第一元数据。8.—种电子设备,包括: 闪存设备; 处理器,与所述闪存设备连接,用于根据所述电子设备中发送的第一命令,生成第一元数据;判断用于存储所述第一元数据的第一级缓存区是否满足预定条件;以及若满足所述预定条件,则将所述第一元数据存储于所述第一级缓存区中,或,若不满足所述预定条件,则将所述第一元数据存储于第二级缓存区中;其中,所述第一元数据为描述所述闪存设备中存储的数据的属性的数据,所述第一级缓存区与所述第二级缓存区为不同的缓存区。9.如权利要求8所述的电子设备,其特征在于,所述第一级缓存区属于所述闪存设备中的第一存储介质,所述第二级缓存区属于所述闪存设备中的第二存储介质;其中,所述第一存储介质与所述第二存储介质不同。10.如权利要求8所述的电子设备,其特征在于,还包括: 缓存控制模块,与所述第二级缓存区对应的存储设备通过相互匹配的连接接口连接,用于存储元数据; 所述处理器用于: 控制将所述第一元数据存储于所述缓存控制模块中,并控制所述缓存控制模块通过所述连接接口将所述第一元数据发送给所述第二级缓存区对应的存储设备,以存储于所述第二级缓存区中。11.如权利要求8-10中任一权利要求所述的电子设备,其特征在于,所述处理器用于: 若确定所述第一级缓存区的存储空间未被占满,则确定所述第一级缓存区满足所述预定条件。12.如权利要求8-10中任一权利要求所述的电子设备,其特征在于,所述处理器用于: 若确定所述第一级缓存区中存储的数据量未达到第一预定数据量,则确定所述第一级缓存区满足所述预定条件;其中,所述第一预定数据量为预定数据量集中的任意一个,所述预定数据量集中的每个预定数据量均小于所述第一级缓存区的存储容量。13.—种电子设备,包括: 闪存设备; 处理器,与所述闪存设备连接,用于确定用于执行所述电子设备发送的第二命令所需要的第一元数据;根据所述第一元数据的历史存储信息,确定存储所述第一元数据的缓存区是第一级缓存区或第二级缓存区;以及从确定的缓存区中读取所述第一元数据;其中,所述第一元数据为描述所述闪存设备中存储的数据的属性的数据。14.如权利要求13所述的电子设备,其特征在于,所述处理器还用于: 在从确定的缓存区中读取所述第一元数据之后,从所述确定的缓存区中删除所述第一元数据。15.—种电子设备,包括: 数据生成模块,用于根据电子设备中发送的第一命令,生成第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据; 判断模块,用于判断用于存储所述第一元数据的第一级缓存区是否满足预定条件;数据存储模块,用于若满足所述预定条件,则将所述第一元数据存储于所述第一级缓存区中,或,若不满足所述预定条件,则将所述第一元数据存储于第二级缓存区中;其中,所述第一级缓存区与所述第二级缓存区属于不同的存储设备。16.—种电子设备,包括: 第一确定模块,用于确定用于执行电子设备发送的第二命令所需要的第一元数据;其中,所述第一元数据为描述所述电子设备中的闪存设备中存储的数据的属性的数据; 第二确定模块,用于根据所述第一元数据的历史存储信息,确定存储所述第一元数据的缓存区是第一级缓存区或第二级缓存区; 数据读取模块,用于从确定的缓存区中读取所述第一元数据。
【文档编号】G06F3/06GK106055274SQ201610346232
【公开日】2016年10月26日
【申请日】2016年5月23日
【发明人】冼曙光, 孙丛豪
【申请人】联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1