CN106055280B - 一种元数据回写方法和电子设备 - Google Patents
一种元数据回写方法和电子设备 Download PDFInfo
- Publication number
- CN106055280B CN106055280B CN201610507789.9A CN201610507789A CN106055280B CN 106055280 B CN106055280 B CN 106055280B CN 201610507789 A CN201610507789 A CN 201610507789A CN 106055280 B CN106055280 B CN 106055280B
- Authority
- CN
- China
- Prior art keywords
- modification
- write
- mapping item
- solid state
- hard disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种元数据回写方法,包括:获取预设时间段中写入的数据量;基于预设的映射表,分析得到写入的数据量对应的修改的映射表项个数;依据修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值;基于判断结果,确定将修改的映射表项写入固态硬盘的策略。该方法中,通过分析写入数据量对应的修改的映射表项个数,判断该修改映射表表项个数写入时是否拉低了固态硬盘的读写速度,并根据不同的影响情况,确定相应的将修改的映射表项写入固态硬盘的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
Description
技术领域
本发明涉及电子设备领域,更具体的说,是涉及一种元数据回写方法和电子设备。
背景技术
FTL(Flash translation layer,闪存转换)是一种软件中间层,FTL用于将闪存模拟成为虚拟块设备,从而能够在闪存上实现FAT(File Allocation Table,文件配置表)等等块设备类文件***。
现有的对于采用直接页映射的FTL方案,映射表的数量十分庞大,和总的SSD(Solid State Drives,固态硬盘)容量比为1:1000。
所以,如果数据写很分散,那么在写的数据总量不是很大的情况下,由于该写的数据对应的映射表项不连续,可能处于多个页,则也可能造成被修改的映射表项的数目非常大,而将修改的映射表项写入固态硬盘以实现元数据的回写过程中,需要对映射表中包含该全部修改的映射表项的页即时写入固态硬盘,而这可能包含映射表中很多页,写入的页过多导致元数据的回写速度就很慢,会阻塞正常数据的读写。
发明内容
有鉴于此,本发明提供了一种元数据回写方法,解决了现有技术中即使写的数据总量较小也会造成被修改的映射表项的数目非常大,导致的元数据的回写速度很慢的问题。
为实现上述目的,本发明提供如下技术方案:
一种元数据回写方法,包括:
获取预设时间段中写入的数据量;
基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略。
上述的方法,优选的,所述基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略,包括:
如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。
上述的方法,优选的,所述基于判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,包括:
基于所述修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将修改的映射表项全部直接写入固态硬盘;
基于所述映射表项的分布不满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,获取修改的映射表项并组成物理页;将所述物理页写入固态硬盘的预设缓存区域;等待***空闲时刻,扫描所述预设缓存区域获取得到所述物理页中所述修改的映射表项;依据所述修改的映射表项中内容,对固态硬盘中预设的映射表中相应映射表项的内容进行修改。
上述的方法,优选的,所述基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,包括:
从判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值开始,检测***的运行状态,得到检测结果;
如果检测结果表征所述***处于空闲时刻,将所述修改的映射表项全部写入固态硬盘。
上述的方法,优选的,还包括:
依据预设的统计规则,统计预设时间段内写入映射表项的个数与固态硬盘读写速度的对应关系,得到统计结果;
如果统计结果表征映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,将所述第一数值作为第一阈值。
一种电子设备,包括:
固态硬盘,用于存储数据;
处理器,用于获取预设时间段中写入的数据量;基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略。
上述的电子设备,优选的,所述处理器用于:
如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。
上述的电子设备,优选的,所述处理器用于:
基于所述修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将修改的映射表项全部直接写入固态硬盘;
基于所述映射表项的分布不满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,获取修改的映射表项并组成物理页;将所述物理页写入固态硬盘的预设缓存区域;等待***空闲时刻,扫描所述预设缓存区域获取得到所述物理页中所述修改的映射表项;依据所述修改的映射表项中内容,对固态硬盘中预设的映射表中相应映射表项的内容进行修改。
上述的电子设备,优选的,所述处理器用于:
从判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值开始,检测***的运行状态,得到检测结果;
如果检测结果表征所述***处于空闲时刻,将所述修改的映射表项全部写入固态硬盘。
上述的电子设备,优选的,所述处理器还用于:
依据预设的统计规则,统计预设时间段内写入映射表项的个数与固态硬盘读写速度的对应关系,得到统计结果;
如果统计结果表征映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,将所述第一数值作为第一阈值。
一种电子设备,包括:
获取模块,用于获取预设时间段中写入的数据量;
分析模块,用于基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
判断模块,用于基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
策略模块,用于基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种元数据回写方法,包括:获取预设时间段中写入的数据量;基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;依据所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值;基于判断结果,确定将所述修改的映射表项写入固态硬盘的策略。该方法中,通过分析写入数据量对应的修改的映射表项个数,判断该修改映射表表项个数写入时是否使得固态硬盘的读写速度低于预设数值,即拉低了固态硬盘的读写速度,并根据不同的影响情况,确定相应的将修改的映射表项写入固态硬盘的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种元数据回写方法实施例1的流程图;
图2为本发明提供的一种元数据回写方法实施例2的流程图;
图3为本发明提供的一种元数据回写方法实施例3的流程图;
图4为本发明提供的一种元数据回写方法实施例4的流程图;
图5为本发明提供的一种元数据回写方法实施例5的流程图;
图6为本发明提供的一种电子设备实施例1的结构示意图;
图7为本发明提供的一种电子设备实施例2的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅附图1,为本发明提供的一种元数据回写方法实施例1的流程图,该方法应用于电子设备,该电子设备具体可以采用台式机、笔记本、平板电脑、手机、智能电视、智能手表、穿戴式设备等电子设备。
其中,该方法包括以下步骤:
步骤S101:获取预设时间段中写入的数据量;
其中,该写入的数据量为写入SSD的数据总量,如1G、2M等,本实施例中不对该写入的数据量的具体数值做限制。
其中,该数据量的大小可以根据实际情况而定。
具体实施中,可通过对写入接口进行监测得到该写入的数据量。
步骤S102:基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
其中,该映射表是表征了逻辑地址和物理地址之间的映射关系。
具体实施中,当将数写入固态硬盘时,需要基于该映射表,将其中涉及该写入的固态硬盘的物理地址的映射表项相应的进行修改。
其中,该映射表中可以包含若干页,每页中对应设置若干映射表项。
例如,逻辑页的大小是4K,写入的数据量为1G来说,那么对应的逻辑页范围就是0到1G/4K=262144,(0,262144)。每一个逻辑页有一个映射表项,也就是说涉及修改的映射表项一共有262144。
具体的,当写入的数据量较少,则可基于写入数据中的逻辑地址或者物理地址,在该映射表中查找相应的映射表项并统计个数。
具体的,当写入的数据量较大,其对应的修改的映射表项较多且分布集中时,则由于被修改的映射表项连续,如连续几页的映射表项均被修改,此时,计算修改表项个数的方式为将几个相邻页中包含的表项个数相加,得到的数值即为修改的映射表项个数。
步骤S103:基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
其中,该第一阈值为预设数值,不同的固态硬盘、不同的写入环境对应的数值。
例如,当写入的数据量较少时,其采用的第一阈值采取第一数值;当写入的数据量较大时,其采用的第一阈值采取第二数值。该第一数值和第二数值可以相同,也可以不同。本申请中不对第一阈值的具体取值做限制。
其中,该固态硬盘的读写速度表征了单位时间内该固态硬盘的数据吞吐量。
需要说明的是,向固态硬盘中写入修改的映射表表项,会占据该固态硬盘读写能力,当该写入修改的映射表项不大于第一阈值时,该写入修改的映射表项操作不会对该固态硬盘的读写速度产生影响,则不会使得固态硬盘的读写速度低于预设数值;而当该写入修改的映射表项大于第一阈值时,该写入修改的映射表项较多,该操作会对该固态硬盘的读写速度产生影响,则使得固态硬盘的读写速度低于预设数值。
因此,本实施例中,通过以修改的映射表项个数与第一阈值之间的关系,判断写入修改的映射表项是否拉低固态硬盘的读写速度,即影响该固态硬盘的读写速度。
步骤S104:基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略。
其中,电子设备中预设多个将修改的映射表项写入固态硬盘的策略,不同的判断结果对应不同的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
需要说明的是,后续实施例中会针对不同的写入策略做详细说明,本实施例中不做详述。
综上,本实施例提供的一种元数据回写方法,包括:获取预设时间段中写入的数据量;基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;依据所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值;基于判断结果,确定将所述修改的映射表项写入固态硬盘的策略。该方法中,通过分析写入数据量对应的修改的映射表项个数,判断该修改映射表表项个数写入时是否使得固态硬盘的读写速度低于预设数值,即拉低了固态硬盘的读写速度,并根据不同的影响情况,确定相应的将修改的映射表项写入固态硬盘的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
请参阅附图2,为本发明提供的一种元数据回写方法实施例2的流程图,该方法包括以下步骤:
步骤S201:获取预设时间段中写入的数据量;
步骤S202:基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
步骤S203:基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
其中,步骤S201-203与实施例1中的步骤S101-103一致,本实施例中不做赘述。
步骤S204:如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
其中,修改的映射表项的总量较小,如小于第一阈值时,需要写入固态硬盘的映射表项的个数也较少,写入该修改的映射表项不会拉低固态硬盘的读写速度。
具体实施中,该修改的映射表项可以分布较集中,也可以分布较分散,针对不同的情况可以采用不同的写入方式,后续实施例中会做详细解释,本实施例中不做详述。
步骤S205:基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。
其中,当修改的映射表项较多,且其分布不集中时,则可判定写入该修改的映射表项会拉低该固态硬盘的读写速度。
而修改的映射表项很多,即使其分布集中(包含了连续的若干页映射表)时,由于需要写入的修改的映射表项太多,也会拉低固态硬盘的读写速度,则可判定写入该修改的映射表项会拉低该固态硬盘的读写速度。
其中,该修改的映射表项较多,可以是由较少的数据量写入导致的,也可以是由较多的数据量写入导致的。
其中,为保证固态硬盘的读写速度,可等到***空闲的时刻,再将该修改的映射表写入固态硬盘中,实现将元数据回写。
具体的,该***空闲时刻是指该***中无IO(input output)读写指令。
综上,本实施例提供的一种元数据回写方法中,该基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略,包括:如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。该方法中,针对不同的情况采用具体不同的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
请参阅附图3,为本发明提供的一种元数据回写方法实施例3的流程图,该方法包括以下步骤:
步骤S301:获取预设时间段中写入的数据量;
步骤S302:基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
步骤S303:基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
其中,步骤S301-303与实施例2中的步骤S201-203一致,本实施例中不做赘述。
步骤S304:基于所述修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将修改的映射表项全部直接写入固态硬盘;
其中,该集中分布条件是指该修改的映射表项在该映射表中连续分布。
具体的,当该修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值时,则可判定该写入修改的映射表项不会拉低固态硬盘的读写速度。
具体的,将该修改的映射表项全部直接写入固态硬盘,该写入的方式是以页为单位进行写入,其中,每页中包含的修改的映射表项连续。
需要说明的是,即使写入的数据量较大,但是,其写入数据对应修改的映射表项的个数小于预设阈值,且该修改的映射表项的分布满足集中分布条件,均可使用全部直接写入的方式写入固态硬盘,而不会拉低固态硬盘的读写速度。
步骤S305:基于所述映射表项的分布不满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,获取修改的映射表项并组成物理页;
具体的,当该修改的映射表项的分布满足不集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值时,则可判定该写入修改的映射表项不会拉低固态硬盘的读写速度。
但是,为了实现对各个修改的映射表项在固态硬盘的写入,需要首先获取各个修改的映射表项,然后在固体硬盘中确定相应的内容,最后写入,过程比较繁琐。
因此,本实施例中提供了一种LOG(日志)方式,即时记录本次修改的映射表项,然后在后续***空闲时刻再基于记录继续进行写入固态硬盘的步骤。
具体的,获取修改的映射表项并将其组成物理页。
例如,第一页中有两个修改的映射表项A、B,第二页中有三个修改的映射表项C、D、E等,则获取这五个修改的映射表项后,将其组成物理页。具体实施中,还可在该物理页中标注每个修改的映射表项在映射表中的位置。
需要说明的是,该物理页的格式可以与该映射表的格式相同,如,每页为16M,每个映射表项是4byte。
步骤S306:将所述物理页写入固态硬盘的预设缓存区域;
其中,该固态硬盘中设置有缓存区域,该缓存区域用于存储该物理页。
具体实施中,该缓存区域与存储元数据的存储区域可以为不同的区域,如不同扇区。
步骤S307:等待***空闲时刻,扫描所述预设缓存区域获取得到所述物理页中所述修改的映射表项;
具体的,该***空闲时刻是指该***中无IO读写指令。
当该***处于空闲时刻时,对该预设的缓存区域进行扫描,得到其中缓存的物理页,对该物理页进行分析,即可得到其中包含的修改的映射表项。
需要说明的是,当扫描该预设缓存区域获取该物理页后,可以清空该物理页占据空间;也可以标示该空间能够继续缓存其他内容,以循环利用该空间。
步骤S308:依据所述修改的映射表项中内容,对固态硬盘中预设的映射表中相应映射表项的内容进行修改;
具体的,基于该映射表与固态硬盘对应关系,对该对固态硬盘中预设的映射表中相应映射表项的内容进行修改。
需要说明的是,该写入固态硬盘的过程中,是以每个映射表项为单位进行写入。
需要说明的是,该映射表中的映射表项可能对应固态硬盘中的多个内容。
步骤S309:基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。
其中,步骤S309与实施例2中的步骤S205一致,本实施例中不做赘述。
综上,本实施例提供的一种元数据回写方法中,写入数据对应修改的映射表项的个数小于第一阈值时,可以采用两种方式进行写入,直接写入固态硬盘和通过缓存物理页的方式写入固态硬盘。针对不同的情况采用具体不同的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
请参阅附图4,为本发明提供的一种元数据回写方法实施例4的流程图,该方法包括以下步骤:
步骤S401:获取预设时间段中写入的数据量;
步骤S402:基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
步骤S403:基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
步骤S404:如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
其中,步骤S401-404与实施例2中的步骤S201-204一致,本实施例中不做赘述。
步骤S405:基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,从判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值开始,检测***的运行状态,得到检测结果;
其中,检测***的运行状态,是通过读写输入输出指令实现的。
具体的,当***中有读写输入输出指令时,该***处于工作状态;当***中没有读写输入输出指令时,该***处于空闲状态。
步骤S406:如果检测结果表征所述***处于空闲时刻,将所述修改的映射表项全部写入固态硬盘。
其中,当该***处于空闲状态时,将该修改的映射表项全部写入固态硬盘,以实现不影响固态硬盘正常的读写操作。
综上,本实施例提供的一种元数据回写方法中,包括:从判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值开始,检测***的运行状态,得到检测结果;如果检测结果表征所述***处于空闲时刻,将所述修改的映射表项全部写入固态硬盘。采用该方法,在确定***处于空闲时刻,再将修改的映射表项全部写入固态硬盘,以实现不影响固态硬盘正常的读写操作。
请参阅附图5,为本发明提供的一种元数据回写方法实施例5的流程图,该方法包括以下步骤:
步骤S501:依据预设的统计规则,统计预设时间段内写入映射表项的个数与固态硬盘读写速度的对应关系,得到统计结果;
其中,电子设备中预设统计规则,用于统计该写入映射表项的个数与固态硬盘读写速度的对应关系。
具体实施中,可以采用iometer(工作负载生成器)统计,该iometer是一个工作在单***和集群***上用来衡量和描述I/O子***的工具。
步骤S502:如果统计结果表征映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,将所述第一数值作为第一阈值;
其中,该映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,则表征该写入该第一数值个数以内的映射表项时,不影响该固态硬盘的读写速度。
具体的,将该第一数值作为该判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值的判断条件。
其中,该写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,该预设速度可以与后续步骤S505中判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值中的预设数值采取相同数值。
需要说明的是,由于针对一种硬盘的一个使用场景对应的阈值为相同的数值,因此,具体实施中,可以在电子设备中预设该阈值即可,无需每次使用均进行检测第一阈值的过程。
步骤S503:获取预设时间段中写入的数据量;
步骤S504:基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
步骤S505:基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
步骤S506:基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略。
其中,步骤S503-506与实施例1中的步骤S101-104一致,本实施例中不做赘述。
综上,本实施例提供的一种元数据回写方法中,还包括:依据预设的统计规则,统计预设时间段内写入映射表项的个数与固态硬盘读写速度的对应关系,得到统计结果;如果统计结果表征映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,将所述第一数值作为第一阈值。采用该方法,得到判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值的判断条件,过程简单。
上述本发明提供的实施例中详细描述了一种元数据回写方法,对于本发明的元数据回写方法可采用多种形式的装置实现,因此本发明还提供了一种应用该元数据回写方法的电子设备,下面给出具体的实施例进行详细说明。
请参阅附图6,为本发明提供的一种电子设备实施例1的结构示意图,该电子设备具体可以采用台式机、笔记本、平板电脑、手机、智能电视、智能手表、穿戴式设备等电子设备。
其中,该电子设备包括以下结构:固态硬盘601和处理器602;
其中,该固态硬盘601,用于存储数据;
其中,该处理器602,用于获取预设时间段中写入的数据量;基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略。
具体实施中,该处理单元可以采用电子设备中的具有信息处理能力的结构,如CPU(central processing unit,中央处理器)、EC(Embedded Controller,嵌入式控制器)等。
优选的,所述处理器用于:
如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。
优选的,所述处理器用于:
基于所述修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将修改的映射表项全部直接写入固态硬盘;
基于所述映射表项的分布不满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,获取修改的映射表项并组成物理页;将所述物理页写入固态硬盘的预设缓存区域;等待***空闲时刻,扫描所述预设缓存区域获取得到所述物理页中所述修改的映射表项;依据所述修改的映射表项中内容,对固态硬盘中预设的映射表中相应映射表项的内容进行修改。
优选的,所述处理器用于:
从判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值开始,检测***的运行状态,得到检测结果;
如果检测结果表征所述***处于空闲时刻,将所述修改的映射表项全部写入固态硬盘。
优选的,所述处理器还用于:
依据预设的统计规则,统计预设时间段内写入映射表项的个数与固态硬盘读写速度的对应关系,得到统计结果;
如果统计结果表征映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,将所述第一数值作为第一阈值。
综上,本实施例提供的一种电子设备,通过分析写入数据量对应的修改的映射表项个数,判断该修改映射表表项个数写入时是否使得固态硬盘的读写速度低于预设数值,即拉低了固态硬盘的读写速度,并根据不同的影响情况,确定相应的将修改的映射表项写入固态硬盘的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
请参阅附图7,为本发明提供的一种电子设备实施例2的结构示意图,该电子设备具体可以采用台式机、笔记本、平板电脑、手机、智能电视、智能手表、穿戴式设备等电子设备。
其中,该电子设备包括以下结构:获取模块701、分析模块702、判断模块703和策略模块704;
其中,该获取模块701,用于获取预设时间段中写入的数据量;
其中,该分析模块702,用于基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
其中,该判断模块703,用于基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
其中,该策略模块704,用于基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略。
综上,本实施例提供的一种电子设备,通过分析写入数据量对应的修改的映射表项个数,判断该修改映射表表项个数写入时是否使得固态硬盘的读写速度低于预设数值,即拉低了固态硬盘的读写速度,并根据不同的影响情况,确定相应的将修改的映射表项写入固态硬盘的策略,根据情况实现对修改的映射表项写入固态硬盘,提高了元数据回写速度,不会出现会阻塞正常数据的读写的情况。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种元数据回写方法,其特征在于,包括:
获取预设时间段中写入的数据量;
基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略;
其中,所述基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略包括:
如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
其中,所述基于判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,包括:
基于所述修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将修改的映射表项全部直接写入固态硬盘;
基于所述映射表项的分布不满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,获取修改的映射表项并组成物理页;将所述物理页写入固态硬盘的预设缓存区域;等待***空闲时刻,扫描所述预设缓存区域获取得到所述物理页中所述修改的映射表项;依据所述修改的映射表项中内容,对固态硬盘中预设的映射表中相应映射表项的内容进行修改。
2.根据权利要求1所述的方法,其特征在于,所述基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略,还包括:
基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。
3.根据权利要求1所述的方法,其特征在于,所述基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,包括:
从判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值开始,检测***的运行状态,得到检测结果;
如果检测结果表征所述***处于空闲时刻,将所述修改的映射表项全部写入固态硬盘。
4.根据权利要求1所述的方法,其特征在于,还包括:
依据预设的统计规则,统计预设时间段内写入映射表项的个数与固态硬盘读写速度的对应关系,得到统计结果;
如果统计结果表征映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,将所述第一数值作为第一阈值。
5.一种电子设备,其特征在于,包括:
固态硬盘,用于存储数据;
处理器,用于获取预设时间段中写入的数据量;基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略;
其中,所述处理器用于:如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
其中,所述处理器具体用于:
基于所述修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将修改的映射表项全部直接写入固态硬盘;
基于所述映射表项的分布不满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,获取修改的映射表项并组成物理页;将所述物理页写入固态硬盘的预设缓存区域;等待***空闲时刻,扫描所述预设缓存区域获取得到所述物理页中所述修改的映射表项;依据所述修改的映射表项中内容,对固态硬盘中预设的映射表中相应映射表项的内容进行修改。
6.根据权利要求5所述的电子设备,其特征在于,所述处理器还用于:
基于判断结果表征写入修改的映射表项使得固态硬盘的读写速度低于预设数值,等待***空闲时刻,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写。
7.根据权利要求5所述的电子设备,其特征在于,所述处理器用于:
从判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值开始,检测***的运行状态,得到检测结果;
如果检测结果表征所述***处于空闲时刻,将所述修改的映射表项全部写入固态硬盘。
8.根据权利要求5所述的电子设备,其特征在于,所述处理器还用于:
依据预设的统计规则,统计预设时间段内写入映射表项的个数与固态硬盘读写速度的对应关系,得到统计结果;
如果统计结果表征映射表项写入个数不大于第一数值时,写入所述映射表项时固态硬盘的读写速度均大于或等于预设速度,将所述第一数值作为第一阈值。
9.一种电子设备,其特征在于,包括:
获取模块,用于获取预设时间段中写入的数据量;
分析模块,用于基于预设的映射表,分析得到所述写入的数据量对应的修改的映射表项个数;
判断模块,用于基于所述修改的映射表项个数以及预设的第一阈值,判断写入修改的映射表项是否使得固态硬盘的读写速度低于预设数值,获得判断结果;
策略模块,用于基于所述判断结果,确定将所述修改的映射表项写入固态硬盘的策略;
其中,策略模块,具体用于如果所述判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,以实现元数据中的修改的映射表项回写;
其中,所述基于判断结果表征写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将所述修改的映射表项写入固态硬盘,包括:
基于所述修改的映射表项的分布满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,将修改的映射表项全部直接写入固态硬盘;
基于所述映射表项的分布不满足集中分布条件,且写入数据对应修改的映射表项的个数小于第一阈值,判定写入修改的映射表项未使得固态硬盘的读写速度低于预设数值,获取修改的映射表项并组成物理页;将所述物理页写入固态硬盘的预设缓存区域;等待***空闲时刻,扫描所述预设缓存区域获取得到所述物理页中所述修改的映射表项;依据所述修改的映射表项中内容,对固态硬盘中预设的映射表中相应映射表项的内容进行修改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610507789.9A CN106055280B (zh) | 2016-06-29 | 2016-06-29 | 一种元数据回写方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610507789.9A CN106055280B (zh) | 2016-06-29 | 2016-06-29 | 一种元数据回写方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106055280A CN106055280A (zh) | 2016-10-26 |
CN106055280B true CN106055280B (zh) | 2019-08-27 |
Family
ID=57201486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610507789.9A Active CN106055280B (zh) | 2016-06-29 | 2016-06-29 | 一种元数据回写方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106055280B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108053188B (zh) * | 2017-12-29 | 2022-03-04 | 北京致远互联软件股份有限公司 | 一种数据跨表回写方法、介质以及设备 |
CN109145002B (zh) * | 2018-08-22 | 2023-10-24 | 三六零科技集团有限公司 | 数据表的修改方法和装置 |
CN113625949B (zh) * | 2021-06-29 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 一种固态硬盘的性能一致性优化方法、***、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541458A (zh) * | 2010-12-17 | 2012-07-04 | 西安奇维测控科技有限公司 | 一种提高电子硬盘数据写入速度的方法 |
CN104346194A (zh) * | 2014-04-18 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种启动文件加载方法、装置及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150324281A1 (en) * | 2014-05-07 | 2015-11-12 | Diablo Technologies Inc. | System and method of implementing an object storage device on a computer main memory system |
US9558125B2 (en) * | 2014-10-27 | 2017-01-31 | Sandisk Technologies Llc | Processing of un-map commands to enhance performance and endurance of a storage device |
-
2016
- 2016-06-29 CN CN201610507789.9A patent/CN106055280B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541458A (zh) * | 2010-12-17 | 2012-07-04 | 西安奇维测控科技有限公司 | 一种提高电子硬盘数据写入速度的方法 |
CN104346194A (zh) * | 2014-04-18 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种启动文件加载方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106055280A (zh) | 2016-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10089014B2 (en) | Memory-sampling based migrating page cache | |
US8793427B2 (en) | Remote memory for virtual machines | |
US10860494B2 (en) | Flushing pages from solid-state storage device | |
US8898410B1 (en) | Efficient garbage collection in a data storage device | |
EP2488929B1 (en) | Memory object relocation for power savings | |
CN102362464B (zh) | 内存访问监测方法和装置 | |
Ha et al. | An integrated approach for managing read disturbs in high-density NAND flash memory | |
US10943183B2 (en) | Electronics device performing software training on memory channel and memory channel training method thereof | |
US20090106518A1 (en) | Methods, systems, and computer program products for file relocation on a data storage device | |
US20140013032A1 (en) | Method and apparatus for controlling writing data in storage unit based on nand flash memory | |
EP2927779B1 (en) | Disk writing method for disk arrays and disk writing device for disk arrays | |
CN106055280B (zh) | 一种元数据回写方法和电子设备 | |
US7895397B2 (en) | Using inter-arrival times of data requests to cache data in a computing environment | |
KR102681181B1 (ko) | 메모리 시스템 및 그것의 동작방법 | |
KR20160112529A (ko) | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 | |
US8583890B2 (en) | Disposition instructions for extended access commands | |
CN104375954A (zh) | 基于工作负载实施动态的高速缓存启用和禁用 | |
CN116034366A (zh) | 通过选择性数据移动防止ram访问模式攻击 | |
Wen et al. | Openmem: Hardware/software cooperative management for mobile memory system | |
US9558112B1 (en) | Data management in a data storage device | |
CN104899158A (zh) | 访存优化方法和装置 | |
CN105589912B (zh) | 一种利用mram处理频写文件的方法及存储结构 | |
KR102425470B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20140065196A (ko) | 메모리 시스템 및 그 구동 방법 | |
CN105404471B (zh) | 一种分布式云存储高速缓存层实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |