专利名称:一种固态硬盘缓冲区的数据块置换方法及装置的制作方法
技术领域:
本发明涉及存储技术,尤其涉及一种固态硬盘缓冲区的数据块置换方法及装置。
背景技术:
关于固态硬盘,目前有多种缓冲区置换方法和装置。目前,各种方法和装置均存在的问题是处理非常复杂,并且多以数据页为单元进行处理,消耗大量的时间和空间资源。迄今为止,还未出现很好解决大量消耗资源等技术问题的技术方案。
发明内容
本发明的目的是提供一种固态硬盘缓冲区的数据块置换方法,具有可以大量节约时间和空间资源的特点。本发明采用下述技术方案:本发明提供一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤:a.每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi ;b.将所有数据块中·的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。步骤a包括如下步骤:al.获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt, η为自然数,第i个数据块的命中长度为Bi, i为自然数;a2.获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度Π ;a3.每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度11,若&大于或等于η则&自动加1,若Bi小于或等于η则Bi不变;a4.每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度B”本发明还提供了一种固态硬盘缓冲区的数据块置换装置,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述装置包括:a.数据块长度处理器,所述数据块长度处理器用于每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi ;b.数据块置换器,所述数据块置换器用于将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。数据块长度处理器包括:al.t时间段数据块命中长度处理单元,所述数据块命中长度处理单元用于获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,η为自然数,第i个数据块的命中长度为Bi, i为自然数;a2.数据块命中平均长度处理单元,所述数据块命中平均长度处理单元用于获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η ;a3.数据块比较单元,所述数据块比较单元用于每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于或等于η则Bi不变;a4.T时间段数据块命中长度处理单元,所述T时间段数据块命中长度处理单元用于每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。本发明具有克服了以下2个问题:其一,以数据页作为基本操作单位导致维护缓存的表很大且不易遍历访问和置换;其二,无法满足大量随机写操作的要求;具有相当大的实用特点。
图1是本发明的方法步骤示意图;图2是本发明的装置结 构示意图。
具体实施例方式本发明的实施例提供本发明的目的是提供一种固态硬盘缓冲区的数据块置换方法和装置,具有可以大量节约时间和空间资源的特点。本发明采用下述技术方案:本发明提供一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤:步骤S1.每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi ;步骤S2.将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。步骤SI包括如下步骤:Sll.获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt, n为自然数,第i个数据块的命中长度为Bi, i为自然数;S12.获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度n ;S13.每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度H,若Bi大于或等于η则&自动加1,若Bi小于或等于η则Bi不变;S14.每隔时间段Τ,即每隔时间段nt,获取各个数据块的命中长度B”本发明还提供了一种固态硬盘缓冲区的数据块置换装置,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述装置包括:a.数据块长度处理器1,所述数据块长度处理器I用于每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi ;b.数据块置换器2,所述数据块置换器2用于将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。 数据块长度处理器I包括:al.t时间段数据块命中长度处理单元,所述数据块命中长度处理单元用于获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,η为自然数,第i个数据块的命中长度为Bi, i为自然数;a2.数据块命中平均长度处理单元,所述数据块命中平均长度处理单元用于获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η ;a3.数据块比较单元,所述数据块比较单元用于每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于或等于η则Bi不变;a4.T时间段数据块命中长度处理单元,所述T时间段数据块命中长度处理单元用于每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。以下对本发明的实施例进行更详细说明。固态硬盘数据块缓冲区置换方法主要分为数据页缓存操作和数据块缓存操作两大部分。数据块中保护若干数 据页。其中数据块空间的块大小定义为与固态硬盘中闪存执行擦除操作的块大小相同。本实施例设立一个全局变量C,每当发生一次数据块写操作请求C自动加1,为缓冲区中数据块空间的每个数据块b关联了 3个变量:L、M和N,其中L表示b进入缓冲区的顺序(当时的计数值),否则为最近一次被命中的顺序,被命中即指对数据块进行写操作;M是b的写操作计数器;N表示b最近两次被命中之间对其它数据块进行写操作的次数,称为“命中长度”,记为B.
“数据块命中长度B/’为,经过某个时间段,缓冲区数据块空间中的某个数据块的命中长度。数据页P命中长度的属于本领域技术人员所知的现有技术,本发明中不再赘述,而数据块A的命中长度与该数据块所包含的数据页P的命中长度有关。数据块A命中长度的计算还需如下步骤。对数据块A的位置记法描述如下:现在假设数据块A中包含s个数据页(按照数据页地址的从小到达的顺序依次记为 P1, P2,…,Ps)则:数据块A在数据块序列中的第一个位置可以描述为向量A1 =(/7^^,...,^)数据块A在数据块序列中的第二个位置可以描述为向量A2 =(ql,q2,..< )对数据块A的两次位置所产生的“数据块命中长度Ai/的描述如下:
权利要求
1.一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤: a.每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi; b.将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
2.根据权利要求1所述的方法,其特征在于,所述步骤a包括如下步骤: al.获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,η为自然数,第i个数据块的命中长度为Bi, i为自然数; a2.获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η ;a3.每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度H,若Bi大于或等于η则&自动加1,若Bi小于或等于η则Bi不变;a4.每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
3.一种固态硬盘缓冲区的数据块置换装置,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述装置包括: a.数据块长度处理器,所述数据块长度处理器用于每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi ; b.数据块置换器,所述数据块置换器用于将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
4.根据权利要求3所述的装置,其特征在于,所述数据块长度处理器包括: al.t时间段数据块命中长度处理单元,所述数据块命中长度处理单元用于获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,n为自然数,第i个数据块的命中长度为Bi, i为自然数; a2.数据块命中平均长度处理单元,所述数据块命中平均长度处理单元用于获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η; a3.数据块比较单元,所述数据块比较单元用于每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度!!,若^大于或等于η则&自动加1,若&小于或等于H则Bi不变; a4.T时间段数据块命中长度处理单元,所述T时间段数据块命中长度处理单元用于每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
全文摘要
本发明公开了一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi;将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。具有可以大量节约时间和空间资源的特点。
文档编号G06F12/12GK103226522SQ20131012325
公开日2013年7月31日 申请日期2013年4月10日 优先权日2013年4月10日
发明者贾海鹏, 张明昭, 孙志远, 王文虎 申请人:河南中天亿科电子科技有限公司