您所在的位置: 成果库 一种磁盘数据的同步回写方法

一种磁盘数据的同步回写方法

成果类型:: 发明专利

发布时间: 2023-06-30 11:01:48

科技成果产业化落地方案
方案提交机构:天津市滨海新区| 宋学姮 | 2023-07-12 15:52:49
本发明公开了一种磁盘数据的同步回写方法,包括设置一个写缓存空间,比较并获取具有相同起始扇区号的数据块A与A’的差异计算结果diff,并将数据块A’替换为数据块A;对每个差异计算的结果diff赋予权重值,并从大大小排序;当有普通数据块B请求写入时,控制对数据块B进行压缩,节省出部分空间,取权重最大的差异计算的结果diff插入到所述部分空间,并将新形成的数据块B’写入到磁盘第一个块为空的Z‑簇中,并将数据块B缓存到写缓存空间中;当写缓存的使用率达到预设阈值时,置换出写缓存中的数据块替换磁盘上的数据块,使Z‑簇变成N簇。该方法提高了磁盘的I/O带宽利用率,有效避免了小数据的写放大。
一种磁盘数据的同步回写方法,所述磁盘逻辑划分为多个Z-存储区和多个N-存储区,所述每个Z-存储区由多个Z簇组成,所述N-存储区由多个N簇组成,所述Z-簇及N-簇分别具有多个块,每个块由多个扇区组成,其中,所述Z-存储区只由Z-簇组成,所述N-存储区只由N-簇组成,Z-簇的首个块被压缩且嵌入了差异计算的结果diff,Z-簇的剩余块是正常的未被嵌入差异计算的结果diff的块,N-簇由正常的未被嵌入差异计算的结果diff的块组成,其特征在于,所述同步回写方法包括:设置一个写缓存空间,比较并获取档系统需要写入的数据块A与所述写缓存中具有相同起始扇区号的数据块A’的差异计算结果diff,并将写缓存中的数据块A’替换为数据块A;采用绝对公平算法对每个差异计算的结果diff赋予权重值,根据权重值对差异计算的结果diff从大大小排序。

]档系统的最小逻辑可寻址单位是块(block),块的大小一般为4KB。块设备中最小 的可寻址单元是扇区,大多数块设备的扇区大小为5i2B,一个块由8个扇区组成。物理上,磁 盘由许多扇区组成,逻辑上,磁盘由许多块设备组成。

[0003] I/O调度器是档系统和块存储设备之间的一层软件。应用程序通过调用read/ write方法或者是mmap方法,创建I/O请求,这些请求可以是对任意档上任意位置的修改。档 系统既不会简单地按请求接收次序提交请求,也不会在接收到请求后立即存储到磁盘。而 是在提交前,它会先执行合并与排序操作,从而提高系统的整体性能。

[0004]目前,现有的操作系统通常采用如下方式写入数据:当向档系统写入数据块时,档 系统需要修改元数据,而这些元数据通常只是若干字节,为了保证系统的高可用,档系统需 要将这些元数据的修改存储到磁盘下。磁盘的读写是以块为单位,通常块的大小为4KB,对 于异步写,系统可以将修改积累到一定程度再写到磁盘,而对于同步写,向档系统写入几个 位元组的小数据的时候,档系统必须向磁盘写入4KB数据,从而造成了小数据的写放大,浪 费了磁盘的I/O带宽,影响系统的性能。

中国科学院深圳先进技术研究院提升了粤港地区及我国先进制造业和现代服务业的自主创新能力,推动我国自主知识产权新工业的建立,成为国际一流的工业研究院。 深圳先进院目前已初步构建了以科研为主的集科研、教育、产业、资本为一体的微型协同创新生态系统,由九个研究平台,国科大深圳先进技术学院,多个特色产业育成基地、多支产业发展基金、多个具有独立法人资质的新型专业科研机构等组成。开展先进技术研究,促进科技发展。信息、电子、通讯技术研究新材料、新能源技术研究高性能计算、自动化、精密机械研究生物医学与医疗仪器研究相关学历教育、博士后培养与学术交流。

本发明实施例的磁盘数据的同步回写方法,通过对具有相同起始扇区号的数据块 进行差异计算,得到差异计算结果Diff,过将差异计算结果Diff嵌入到普通数据块中,实现 同步写小数据,从而使小数据不会丢失,当小数据缓存到一定量再写入磁盘,可以有效提高 小数据的写性能,从而提高磁盘I/O的利用率,有效避免小数据的写放大。

技术合作

本发明上述实施例所述的磁盘数据的同步回写方法,通过使用回写机制,积累小 数据写操作,当达到了一定量之后,再一次写入磁盘,提高磁盘1/0带宽的利用率,有效避免 了小数据的写放大,同时该方案为防止小数据的丢失,通过将数据块进行压缩,节省存储空 间,并将压缩后的小数据嵌入到节省后的空间中,一起写入磁盘,从而达到同步写小数据的 目的。

[0071] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例 性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述 实施例进行变化、修改、替换和变型。