一种磁盘数据的同步回写方法
成果类型:: 发明专利
发布时间: 2023-06-30 11:01:48
]档系统的最小逻辑可寻址单位是块(block),块的大小一般为4KB。块设备中最小 的可寻址单元是扇区,大多数块设备的扇区大小为5i2B,一个块由8个扇区组成。物理上,磁 盘由许多扇区组成,逻辑上,磁盘由许多块设备组成。
[0003] I/O调度器是档系统和块存储设备之间的一层软件。应用程序通过调用read/ write方法或者是mmap方法,创建I/O请求,这些请求可以是对任意档上任意位置的修改。档 系统既不会简单地按请求接收次序提交请求,也不会在接收到请求后立即存储到磁盘。而 是在提交前,它会先执行合并与排序操作,从而提高系统的整体性能。
[0004]目前,现有的操作系统通常采用如下方式写入数据:当向档系统写入数据块时,档 系统需要修改元数据,而这些元数据通常只是若干字节,为了保证系统的高可用,档系统需 要将这些元数据的修改存储到磁盘下。磁盘的读写是以块为单位,通常块的大小为4KB,对 于异步写,系统可以将修改积累到一定程度再写到磁盘,而对于同步写,向档系统写入几个 位元组的小数据的时候,档系统必须向磁盘写入4KB数据,从而造成了小数据的写放大,浪 费了磁盘的I/O带宽,影响系统的性能。
本发明实施例的磁盘数据的同步回写方法,通过对具有相同起始扇区号的数据块 进行差异计算,得到差异计算结果Diff,过将差异计算结果Diff嵌入到普通数据块中,实现 同步写小数据,从而使小数据不会丢失,当小数据缓存到一定量再写入磁盘,可以有效提高 小数据的写性能,从而提高磁盘I/O的利用率,有效避免小数据的写放大。
技术合作
本发明上述实施例所述的磁盘数据的同步回写方法,通过使用回写机制,积累小 数据写操作,当达到了一定量之后,再一次写入磁盘,提高磁盘1/0带宽的利用率,有效避免 了小数据的写放大,同时该方案为防止小数据的丢失,通过将数据块进行压缩,节省存储空 间,并将压缩后的小数据嵌入到节省后的空间中,一起写入磁盘,从而达到同步写小数据的 目的。
[0071] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例 性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述 实施例进行变化、修改、替换和变型。