一种交错式记录磁盘的数据请求处理方法、设备及系统技术方案

技术编号:33044548 阅读:14 留言:0更新日期:2022-04-15 09:27
本发明专利技术公开了一种交错式记录磁盘的数据请求处理方法、设备及系统,属于计算机存储领域,包括:在顶层磁道中分配一部分空间作为数据缓存,用于缓存底层磁道数据,并在内存中分配一部分空间作为惰性缓存,用于缓存底层磁道中数据的更新次数;在接收到的数据请求为写请求,且请求对底层磁道进行更新操作时,执行如下步骤:判断请求是否命中数据缓存,若命中,则直接在数据缓存中进行数据更新,并返回;若不命中,则根据请求对底层磁道中的数据进行更新,并对该数据在惰性缓存中的更新次数进行更新;若被更新数据的更新次数超过了缓存阈值,则将被更新数据缓存至数据缓存中。本发明专利技术能够减小交错式记录磁盘的数据写放大,提高交错式记录磁盘的性能。记录磁盘的性能。记录磁盘的性能。

【技术实现步骤摘要】
一种交错式记录磁盘的数据请求处理方法、设备及系统


[0001]本专利技术属于计算机存储领域,更具体地,涉及一种交错式记录磁盘的数据请求处理方法、设备及系统。

技术介绍

[0002]随着大数据时代的到来,工业界需要更大容量、更低成本的数据存储系统,但是受超顺磁效应的影响,传统磁记录技术的存储密度已经达到1Tb/in2的极限。为了进一步提高磁盘的存储容量,降低成本,学术界以及存储厂商正在积极探索一些新的技术,其中就有叠瓦式磁记录(Shingled Magnetic Recording,简写SMR)和交错式磁记录(Interlaced Magnetic Recording,简写IMR)。
[0003]在叠瓦式磁记录技术中,磁道像房顶瓦片一样部分重叠,该技术本质是通过缩短磁道宽度并重叠磁道的方式来实现高密度存储的。不过,在应用上这项技术面临着一定的问题,即叠瓦式磁盘在进行随机写操作时会破坏相邻磁道上的数据。而且,相邻的磁道又与其前一个磁道部分重叠,依此类推,就必须对之前所有的磁道进行重写。这直接导致它的随机写性能非常差,同时也大大限制了其实际应用的范围。
[0004]交错式磁记录技术,是一种新的存储技术,在交错式记录磁盘中,磁道会分为底层磁道和顶层磁道,并且底层磁道和顶层磁道交错组织,相邻磁道之间存在部分重叠,如图1所示,T

0、T

1、T

2、T

3、T

4分别表示5个磁道,其中,T

0、T

2和T

4为顶层磁道,T

1和T

3为底层磁道。在分配存储空间时,会优先分配底层磁道,底层磁道分配完毕后,再分配顶层磁道。为了避免破坏顶层磁道中的数据,在对底层磁道数据进行更新时,需要先将与被更新的顶层磁道相邻的顶层磁道中的数据读取出来,待底层磁道中的数据更新完成后,再将顶层磁道中的数据写回顶层磁道中,在此过程中,会产生写放大。由于底层磁道在随机写的过程中,仅仅会影响相邻的两个顶层磁道,因此相比于叠瓦式磁盘,交错式记录磁盘更具有应用前景。
[0005]但是如何有效缓解交错式记录磁盘中的写放大问题,提高存储性能,仍然是一个亟待解决的技术问题。

技术实现思路

[0006]针对现有技术的缺陷和改进需求,本专利技术提供了一种交错式记录磁盘的数据请求处理方法、设备及系统,其目的在于,减小交错式记录磁盘的数据写放大,提高交错式记录磁盘的性能。
[0007]为实现上述目的,按照本专利技术的一个方面,提供了一种交错式记录磁盘的数据请求处理方法,包括:
[0008]在顶层磁道中分配一部分磁盘空间作为数据缓存,用于缓存底层磁道中的数据,并在内存中分配一部分内存空间作为惰性缓存,用于缓存底层磁道中数据的更新次数;
[0009]在接收到的数据请求为写请求,且请求对底层磁道进行更新操作时,按照如下步
骤处理该请求:
[0010](S1)判断请求是否命中数据缓存,若命中,则直接在数据缓存中进行数据更新,并返回;若不命中,则转入步骤(S2);
[0011](S2)根据请求对底层磁道中的数据进行更新,并对该数据在惰性缓存中的更新次数进行更新;
[0012](S3)若被更新数据的更新次数超过了预设的缓存阈值,则将被更新数据缓存至数据缓存中。
[0013]交错式记录磁盘中的顶层磁道可以就地更新,因此,对于顶层磁道的更新操作不会引起写放大的问题,具有较好的读写访问性能,本专利技术从顶层磁道中分配部分空间作为底层磁道的数据缓存,对于部分底层磁道的更新操作,可以直接在该数据缓存中完成,由此能够缓解数据写放大的问题;并且,从内存中划分部分空间作为惰性缓存,对底层磁道中数据的更新次数进行维护,借助该惰性缓存,本专利技术只将更新较为频繁,即更新次数较大的数据缓存到数据缓存中,由于这样的数据后续被更新的概率较大,因此,本专利技术仅需利用较小的顶层磁道空间作为数据缓存,就能保证较高的缓存命中率,有效缓解数据写放大的问题,提高交错式记录磁盘的整体性能。
[0014]进一步地,本专利技术提供的交错式记录磁盘的数据请求处理方法,还包括:每经过预设的时间窗口,将惰性缓存中各数据的更新次数清零。
[0015]本专利技术每经过预设的时间窗口,就将惰性缓存中各数据的更新次数清零,这使得在单个时间窗口内更新次数较高的数据才会被缓存,一方面,仅维护单个时间窗口内的更新次数,惰性缓存所需的内存开销较小,且查找效率较高;另一方面,由于数据访问具有时间局部性,按照这种方式确定被缓存的数据,能够进一步提高数据缓存的命中率,减小写放大。
[0016]进一步地,当对交错式记录磁盘的数据访问量达到预设的文件页数时,判定达到一个时间窗口。
[0017]本专利技术按照数据访问量来划定时间窗口,与用户访问数据的行为特点相适应,相比于直接在时间维度指定时间窗口的长度,能够进一步提高数据缓存的命中率,减小写放大。
[0018]进一步地,步骤(S3)中,将被更新数据缓存至数据缓存中,包括:
[0019]若数据缓存的缓存空间已满,则采用预设的缓存替换算法确定数据缓存中需要被剔除的数据后,将被剔除的数据在数据缓存中的缓存空间分配给被更新数据;若数据缓存的缓存空间未满,则为被更新数据分配空闲的缓存空间;
[0020]将被更新数据缓存至所分配的缓存空间。
[0021]本专利技术在数据缓存的缓存空间已满时,先利用缓存替换算法剔除数据缓存中的数据,再将需要被缓存的数据缓存到数据缓存中,由此能够使得后续被更新可能性较大的数据被缓存,有效提高数据缓存的命中率,减小写放大。
[0022]进一步地,缓存替换算法为LRU算法。
[0023]LRU算法,即最近最少使用(Least Recently Used)算法,会在缓存空间满时,将缓存中最久未被访问的数据剔除,该缓存替换算法与交错式记录磁盘中的数据被访问的特性相符,能够有效提高缓存命中率。
[0024]进一步地,本专利技术提供的交错式记录磁盘的数据请求处理方法,还包括:
[0025]在接收到的数据请求为写请求,且请求对顶层磁道进行更新操作时,在顶层磁道中进行就地更新;
[0026]在接收到的数据请求为写请求,且请求写入新的数据时,判断底层磁道是否已经分配完毕,若底层磁道未分配完毕,则在底层磁道中分配存储空间并写入数据;若底层磁道已分配完毕,则在顶层磁道中分配存储空间并写入数据;
[0027]在接收到的数据请求为读请求,且请求对底层磁道进行读取操作时,先访问数据缓存,若命中,则直接从数据缓存中读取数据并返回;若不命中,则从底层磁道中读取数据并返回;
[0028]在接收到的数据请求为读请求,且请求对顶层磁道进行读取操作时,从顶层磁道中读取数据并返回。
[0029]按照本专利技术的另一个方面,提供了一种交错式记录磁盘的数据请求处理设备,包括:
[003本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交错式记录磁盘的数据请求处理方法,其特征在于,包括:在顶层磁道中分配一部分磁盘空间作为数据缓存,用于缓存底层磁道中的数据,并在内存中分配一部分内存空间作为惰性缓存,用于缓存底层磁道中数据的更新次数;在接收到的数据请求为写请求,且请求对底层磁道进行更新操作时,按照如下步骤处理该请求:(S1)判断请求是否命中所述数据缓存,若命中,则直接在所述数据缓存中进行数据更新,并返回;若不命中,则转入步骤(S2);(S2)根据请求对底层磁道中的数据进行更新,并对该数据在所述惰性缓存中的更新次数进行更新;(S3)若被更新数据的更新次数超过了预设的缓存阈值,则将被更新数据缓存至所述数据缓存中。2.如权利要求1所述的交错式记录磁盘的数据请求处理方法,其特征在于,还包括:每经过预设的时间窗口,将所述惰性缓存中各数据的更新次数清零。3.如权利要求2所述的交错式记录磁盘的数据请求处理方法,其特征在于,当对所述交错式记录磁盘的数据访问量达到预设的文件页数时,判定达到一个时间窗口。4.如权利要求1~3任一项所述的交错式记录磁盘的数据请求处理方法,其特征在于,所述步骤(S3)中,将被更新数据缓存至所述数据缓存中,包括:若所述数据缓存的缓存空间已满,则采用预设的缓存替换算法确定所述数据缓存中需要被剔除的数据后,将被剔除的数据在所述数据缓存中的缓存空间分配给所述被更新数据;若所述数据缓存的缓存...

【专利技术属性】
技术研发人员:陈新宇崔金华曾志敏杨天若
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1