一种RAID5的写IO优化处理方法,包括如下步骤:1),存储系统构建;2),数据读写操作;3),失效数据块回收。其优点可以有效降低RAID级别磁盘阵列的写放大效应。传统的磁盘,顺序写性能远远大于随机写性能,本发明专利技术提供的地址映射方法将随机写操作转化成顺序写操作,有效的发挥了磁盘的写性能,降低了计算校验所需的IO操作,显著提高了RAID系统的响应能力,同时降低了系统功耗。最后,地址映射模块可以灵活的选择校验块部署的位置和数量,因此本发明专利技术不限于RAID5级别的磁盘阵列的应用,可以推广到RAID4、RAID6级别的实现。
【技术实现步骤摘要】
本专利技术涉及计算机数据存储领域,具体涉及一种RAID5的写IO优化处理方法。
技术介绍
磁盘阵列 RAID (Redundant Access Independent Disks,独立冗余磁盘阵列)技术已经作为一种成熟的技术广泛应用于数据存储中。RAID技术具有从RAID O到6七种基本的RAID级别,不同RAID级别代表着不同的存储性能、数据安全性和存储成本。RAID包含N+P个存储数据的硬盘,它以条带为基础,在把文件数据分块后写进一个数据盘的同时,对其它数据盘内与该数据块相同盘内位置的所有数据块计算出它们的奇偶校验值(异或操作),最终形成一个由奇偶校验值组成的信息块(校验块),并将其写入对应位置的硬盘,这被称为数据保护。它的好处是提供了容错能力,即这N+P个磁盘中任何一个或多个(小于P)出现故障,都不会造成丢失数据的问题。因为奇偶校验的对称性,可以用剩下的N个磁盘的内容,计算出存放在有故障磁盘中的正确的数据内容,尽管这一计算比较费时间。其中RAID4中校验数据存放在一个固定的硬盘上,这个硬盘成为整个RAID4系统的瓶颈。RAID5为解决这个瓶颈,将校验信息均匀分散到系统中所有的硬盘中,而RAID6则存放两份校验数据,从而可以容忍RAID系统中同时有两块磁盘失效。RAID系统提升安全性是以牺牲性能为代价的。在一个典型的RAID5系统中,如图1所示,如果要修改Al的数据,新数据为Al ',则需要将旧数据Al 101和旧校验P(A) 102读出来,并用它们计算出A0+A2+A3的校验和P(A023) (X0R校验是对称的),然后用P(A023)与Al'计算新校验P(A)丨,最后将Al'写入101,P㈧丨写入102。由此可知一个写操作会衍生出两次读操作与两次写操作(这称作写放大效应),这极大的降低了系统的有效性能。以此类推,RAID6比RAID5有更高的安全性,但有效性能更低。对于传统的磁盘,IO操作的地址如果是随机的,则其有效性能会降低上百倍。中国专利CN101566924A《一种磁盘阵列的数据读写方法》,通过在内存中创建一个磁盘条带状态位图记录数据块的写操作频度,对于写操作频率高的磁盘条带,延迟更新检验块,以达到加快磁盘阵列读写处理效率的目的。中国专利CN101702113A《写操作方法和装置》,通过在内存中建立一个写操作请求列表,缓存写操作请求,如果出现一个条带上至少两个写操作请求时并行处理,以减少写放大效应。中国专利CN101526886《一种独立磁盘冗余阵列的数据操作方法及装置》,根据写入数据的块大小动态调整条带大小,以提高RAID的数据读写性能。中国专利CN102184079《一种RAID5级别磁盘阵列的写性能优化方法》,通过暂停校验位更新的方法为RAID5磁盘阵列提升写负载请求聚发时系统的性能。中国专利CN102270102《一种RAID6磁盘阵列写性能的优化方法》,在RAID6磁盘阵列结构外设置日志盘,用于记录RAID6磁盘阵列中的数据块对应的日志记录,针对写请求根据条带中被更新数据块的频度选择写入方式(读改写和重构写),以达到优化写性能的目的。文章《基于磁盘异或引擎的RAID5小写性能优化》,利用部分SCSI磁盘及光纤磁盘实现的异或引擎,新数据和旧数据的异或计算在磁盘中实现,主机完成写入操作,从而达到RAID5的小写优化目的。又有美国专利US6704837 B2《METHOD AND APPARATUS FOR INCREASING RAIDWRITE PERFORMANCE BY MAINTAINING A FULL TRACK WRITE COUNTER》,提出针对写操作给每个磁道维护一个条带写计数器,分析写请求的最后操作磁道的计数器值,判断写入数据是否为整个条带,如果是则利用缓存中的条带数据计算出新校验,如果不是则按照读旧校验,读旧数据,计算新校验,写新数据的传统方法进行。该美国专利提供的方法通过减少在计算校验块时系统读旧数据、旧校验的次数,在一定程度上减少了系统开销,但当写操作的数据不是一个条带时,写操作所引起的写放大效应没有改变。以上专利可以看出,已有工作是通过不同的方法,如延迟写数据、动态调整条带大小等方法来优化写性能,虽然对写性能有一定的优化,但都没有从根本上解决RAID容错算法写操作所引起的写放大效应,并且存在数据无法恢复的风险,如系统突然掉电后延迟写数据丢失等。而动态调整条带大小、增加日志盘等方法,则需要额外的系统开销,增加了系统负担。可见,现有技术还存在缺陷,有待改进和发展。
技术实现思路
本专利技术的目的提出一种RAID5的写IO优化处理方法,采用一种优化了的写操作时数据块的地址映射方法,RAID控制器为数据块建立地址映射表,主机LBA地址不再固定的对应到硬盘上,而是将主机的LBA地址按照特殊算法重新排列,从而将随机地址的写操作转化成顺序地址的写操作,达到写数据块时无需读出原数据块和原校验块,通过该方法大幅减少写数据时校验盘的IO操作数,有效消除校验盘的写放大效应,解决现有RAID5级别磁盘阵列写性能不高的问题,优化磁盘阵列有效性能。本专利技术一种RAID5的写IO优化处理方法,包括如下步骤 1),存储系统构建; 2),数据读写操作; 3),失效数据块回收.所述的RAID系统构建 (1.1)提供RAID系统所述的RAID系统包括RAID控制器、存储介质阵列;所述的存储介质阵列可以为磁盘列、固态盘列或闪存列等;所述的RAID控制器,包括有地址 映射模块,是用来存放地址映射表的逻辑功能与器件,可以是DRAM或固态盘等,映射表保存每一个LBA地址和PBA地址的映射信息。(1. 2)地址映射表主要包含以下字段信息1.“逻辑地址”字段(LBA地址),记录数据块的逻辑地址; I1.“物理地址”字段(PBA地址),记录数据块的物理地址; II1.“有效数据”字段,该字段包含三个状态,“有效”状态表示对应物理地址所存放的数据块为最新数据;“无效”状态表示该物理地址数据块已失效,可回收;“空闲”状态表示该物理地址空间已回收; IV.“校验块”字段,记录该数据块是否为RAID5磁盘阵列中的校验值; V.“校验块保护”字段,记录该校验值保护的数据块数是否小于一个条带的数据块,该字段主要用于保存当磁盘阵列发生掉电时,该条带是否正常完成写入操作; (1. 3)地址映射表保存每一个LBA地址和PBA地址的映射信息,因此在存储系统使用之前,需要对映射表进行初始化,初始化时,将“物理地址”、“校验块”字段等设置为系统配置的初始值,其余字段设为有效。(2)读写IO操作的处理 该存储系统同一般RAID5磁盘阵列相同,每一条带的校验值均匀分布在每个硬盘或存储介质上。本专利技术的读IO操作流程较简单,只需在地址映射表中查找LBA地址对应的映射条目,获取LBA地址对应的PBA地址信息,然后向对应的PBA地址的硬盘读取数据。在处理写IO操作上,RAID控制器为数据块建立地址映射表并将主机的逻辑地址按照特殊方法重新排列,将随机地址的写操作转换成顺序地址的写操作,无需读取原数据块和原校验块,且无需反向计算校验信息。其主要步骤如下 (2.1)当主机发送任意地址的数据块写请求时,系统将该数据块存入本文档来自技高网...
【技术保护点】
种RAID5的写IO优化处理方法,其特征在于:包括如下步骤:1)存储系统构建;2)数据读写操作;3)失效数据块回收。
【技术特征摘要】
1.种RAID5的写IO优化处理方法,其特征在于包括如下步骤1)存储系统构建;2) 数据读写操作;3)失效数据块回收。2.如权利要求1所述的一种RAID5的写IO优化处理方法,其特征在于所述的RAID 系统构建包括(1.1)提供RAID系统(1. 2)地址映射表主要包含字段信息(1. 3)地址映射表保存每一个LBA地址和PBA地址的映射信息,因此在存储系统使用之前,需要对映射表进行初始化,初始化时,将“物理地址”、“校验块”字段等设置为系统配置的初始值,其余字段设为有效。3.如权利要求1所述的一种RAID5的写IO优化处理方法,其特征在于所述写IO 操作的处理,包括(2.1)当主机发送任意地址的数据块写请求时,系统将该数据块存入缓存,缓存以条带为单位,包含N个数据块和I个校验块;同时将该数据块与缓存中的校验值计算新校验并覆盖原校验值进行缓存;(2. 2)查找该数据块的LBA地址在地址映射表中是否有相应记录,如果有对应记录,转步骤(2. 3),否则转(2.4) ; (2. 3)说明该写IO为改写操作,在该数据块在地址映射表的对应记录中,将“有效数据”字段均标识为无效;(2. 4)根据 RAID管理模块维护的地址映射表写指针变量指向的记录,得到该数据块将写入的新的PBA 地址,将该数据块的LBA地址写入“逻辑地址”字段,并将该数据块写入物理地址对应的硬盘及修改新的PBA地址对应的“有效数据”设置为有效;(2. 5)判断写指针变量是否对应这一条带的尾端,如果是,转步骤(2. 6),否则转步骤(2. 7) ; (2. 6)根据校验块地址变量的值, 发送校验块写命令到相应物理地址的硬盘,并将地址映射表写指针变量顺序递增,且将缓存中校验值设置为O ; (2. 7)判断当前地址映射表写指针是否指向该条带的校验块应存放的物理地址记录,如果是,转步骤(2.9) ; (2. 8)地址映射表写指针变量顺序递增指向下一个PBA地址,本次写操作结束;(2. 9)将当前PBA地址缓存至校验块地址变量,并将地址映射表写指针变量顺序递增,完...
【专利技术属性】
技术研发人员:刘晓芳,符才德,周俊,万宝琳,
申请(专利权)人:中国船舶重工集团公司第七零九研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。