一种SSD关键日志继承的方法技术

技术编号:18289552 阅读:64 留言:0更新日期:2018-06-24 04:17
本申请涉及SSD固态硬盘应用技术领域,具体涉及一种SSD关键日志继承的方法。现有的日志存放方式会导致日志丢失,很多关键的过程信息丢失,导致有的问题分析很困难。本申请提供一种SSD关键日志继承的方法,所述方法包括:将目标日志定义为关键日志,在下刷日志块中标记为关键日志块,所有等级日志块中标记为正常日志块,进行下刷;对关键日志块和正常日志块进行分级,关键日志为高优先级,正常日志为所有优先级;当日志块记录满时,优先回收存放时间最早的所有优先级日志。日志读取会将所有等级日志与关键日志分别读上来,解析时先解析所有等级日志,然后解析关键日志,关键日志按照时间戳位置填补所有等级日志丢失的条目。

【技术实现步骤摘要】
一种SSD关键日志继承的方法
本申请涉及SSD固态硬盘应用
,具体涉及一种SSD关键日志继承的方法。
技术介绍
日志主要是记录SSD系统运行过程中的过程信息,包括正常与异常日志,用于辅助分析SSD功能实现及执行情况,更关键的是帮助问题定位等,通过日志信息快速定位到出现问题的模块及场景,提高版本迭代效率及版本质量;由于SSD容量要求,NANDFlash只留有一小部分空间来存放日志,这部分区域循环使用,日志从头往后记,记录快满的时候将头部的一部分日志擦除用来存放接下来要下刷的新日志。因为容量及性能要求,日志不可能不停的大量下刷,所以目前的做法是将日志分等级,按照关键程度进行等级划分,SSD可以设置需要存放的日志等级;日志必须要满足一定的条件才能下刷到Flash中,尽量少打断系统的正常业务,减少性能波动。目前是将SSD内部分一部分Block,将这部分Block作为整个日志存储池,日志存储池循环利用,所有等级日志依次写入日志存储池,存储池写满后,将存储池中最开始记录的日志Block擦除来记录新日志,以达到循环利用的目的。还有是将整个日志区域分为A、B两个乒乓日志存储池,都用来存放日志,A与B区域都以R-Block(Raid-Block),当A区域写满后就将B区域的数据擦除,将新日志写到B区域,B区域写满后将A区域数据擦除来存放新的日志,不同等级的日志统一下刷。日志存储池循环利用的时候,会将之前的存放的日志擦除用来存放新的日志,这样就会导致之前的日志丢失;而将整个日志区域分为A、B两个乒乓日志存储池的话,当其中一个区域日志写满后会将另外一个区域的日志擦除用来存放新的日志,这样就会导致其中一个区域的日志全部丢失。日志丢失使得很多关键的过程信息丢失,就会导致有的问题分析很困难。
技术实现思路
本专利技术的目的是为了解决日志存储池循环利用的时候,会将之前的存放的日志擦除用来存放新的日志,这样就会导致之前的日志丢失;而将整个日志区域分为A、B两个乒乓日志存储池的话,当其中一个区域日志写满后会将另外一个区域的日志擦除用来存放新的日志,这样就会导致其中一个区域的日志全部丢失,因为很多关键的过程信息丢失,就会导致有的问题分析很困难的问题。为此,本专利技术实施例提供了如下技术方案:一种SSD关键日志继承的方法,所述方法包括以下步骤:步骤1:将目标日志定义为关键日志,并在下刷日志块中标记为关键日志块,所有等级日志块中标记为正常日志块,进行下刷;步骤2:对关键日志块和正常日志块进行分级,关键日志为高优先级,正常日志为所有优先级;步骤3:当日志块记录满时,优先回收存放时间最早的所有优先级日志。可选地,所述步骤1中的所有等级日志包括目标日志和一般日志。可选地,步骤1中的下刷方式包括同时下刷或者采用不同的下刷条件将日志分别下刷到块中并标记为对应的日志块。可选地,所述下刷条件包括日志条目数或者日志容量大小。可选地,步骤1当整个日志区域分为A、B两个存储池时,当区域A日志记满时,将A区域的关键日志继承转存到区域B中,将目标日志标记为关键日志块,系统新产生的日志按照原来的下刷方式继续下刷。可选地,所述步骤3中当高优先级日志块记录满时,优先回收最早的高优先级日志块。可选地,所述步骤3中回收后的日志块用于存放新的高优先级日志或者新的所有优先级日志。本专利技术实施例提供的技术方案包括以下有益效果:本申请通过对关键日志进行重复存放,将所有等级日志放置于不同的Block,并进行标记,针对方案一当日志写满的时候,优先回收NormalLogBlock,将更早时间的NormalLogBlock擦除来存放新的日志CriticalLogBlock暂不进行回收,直到所有日志块都变成CriticalLogBlock才进行CriticalLogBlock回收,回收也按照时间顺序来做。区域切换时继承关键日志的方式将关键日志继承保存下来;关键日志与所有等级日志分别下刷,关键日志与所有等级日志满足不同的条件进行下刷,无备电SSD掉电时有限下刷关键日志,区域切换的时候按照Block标记查找关键日志块,先继承下来,再记录分别记录新的关键日志与所有等级日志;日志读取会将所有等级日志与关键日志分别读上来,解析时先解析所有等级日志,然后解析关键日志,关键日志按照时间戳位置填补所有等级日志丢失的条目。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请中现有的存储池循环利用原理示意图;图2为本申请中现有的日志下刷流程原理示意图;图3为本申请中现有的A日志区域写满后日志下刷到B日志区域存放原理示意图;图4为本专利技术实施例中高优先级日志重复下刷原理示意图;图5为本专利技术实施例中日志存储池记满情况下的日志分布示意图;图6为本专利技术实施例中第二种高优先级日志重复下刷原理示意图;图7为本专利技术实施例中日志区域切换下刷方式原理示意图。具体实施方式此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。SSD(SolidStateDisk):固态硬盘;NAND-Flash:Flash存储器;Block:块,NANDFlash最小擦除单位;CriticalLogBlock:关键日志块;NormalLogBlock:正常日志块;R-Block(Raid-Block):以Block为单位组成的冗余阵列,具有数据冗余校验功能,可以进行Block级别的数据恢复,具有R-Block功能的SSD内部数据回收搬移以R-Block为单位进行。下面通过实施例,并结合附图,对本申请的技术方案作进一步具体的说明。参见图4~7,为本专利技术实施例提供的一种SSD关键日志继承的方法,所述方法包括以下步骤:步骤1:将目标日志定义为关键日志,在下刷日志块中标记为关键日志块,所有等级日志块中标记为正常日志块,进行下刷;步骤2:对关键日志块和正常日志块进行分级,关键日志为高优先级,正常日志为所有优先级;步骤3:当日志块记录满时,优先回收存放时间最早的所有优先级日志。可选地,所述步骤1中的所有等级日志包括目标日志和一般日志。可选地,步骤1中的下刷方式包括同时下刷或者采用不同的下刷条件将日志分别下刷到块中并标记为对应的日志块。可选地,所述下刷条件包括日志条目数或者日志容量大小。可选地,步骤1当整个日志区域分为A、B两个存储池时,当区域A日志记满时,将A区域的关键日志继承转存到区域B中,将目标日志标记为关键日志块,系统新产生的日志按照原来的下刷方式继续下刷。可选地,所述步骤3中当高优先级日志块记录满时,优先回收最早的高优先级日志块。可选地,所述步骤3中回收后的日志块用于存放新的高优先级日志或者新的所有优先级日志。本申请是在目前主流方案的基础上增加SSD关键日志(高优先级日志)重复下刷及继承的方法,通过重复存放的方式达到关键日志备本文档来自技高网
...
一种SSD关键日志继承的方法

【技术保护点】
1.一种SSD关键日志继承的方法,其特征在于,所述方法包括以下步骤:步骤1:将目标日志定义为关键日志,并在下刷日志块中标记为关键日志块,所有等级日志块中标记为正常日志块,进行下刷;步骤2:对关键日志块和正常日志块进行分级,关键日志为高优先级,正常日志为所有优先级;步骤3:当日志块记录满时,优先回收存放时间最早的所有优先级日志。

【技术特征摘要】
1.一种SSD关键日志继承的方法,其特征在于,所述方法包括以下步骤:步骤1:将目标日志定义为关键日志,并在下刷日志块中标记为关键日志块,所有等级日志块中标记为正常日志块,进行下刷;步骤2:对关键日志块和正常日志块进行分级,关键日志为高优先级,正常日志为所有优先级;步骤3:当日志块记录满时,优先回收存放时间最早的所有优先级日志。2.如权利要求1所述的方法,其特征在于,所述步骤1中的所有等级日志包括目标日志和一般日志。3.如权利要求1所述的方法,其特征在于,步骤1中的下刷方式包括同时下刷或者采用不同的下刷条件将日志分别下刷到块中并标记为对应...

【专利技术属性】
技术研发人员:刘水涛王雯彭鹏姜黎
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1