[发明专利]一种ZFS文件系统的RAIDZ校验值的确定方法有效
申请号: | 202210823183.1 | 申请日: | 2022-07-14 |
公开(公告)号: | CN114968653B | 公开(公告)日: | 2022-11-11 |
发明(设计)人: | 胡海;刘正元;肖林逵;刘云;张铎;孙立明 | 申请(专利权)人: | 麒麟软件有限公司 |
主分类号: | G06F11/10 | 分类号: | G06F11/10;G06F16/11 |
代理公司: | 北京汇智英财专利代理有限公司 11301 | 代理人: | 张伟 |
地址: | 300450 天津市滨海新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 zfs 文件系统 raidz 校验 确定 方法 | ||
1.一种ZFS文件系统的RAIDZ校验值的确定方法,其特征在于,包括如下步骤:
步骤S101:将一份数据分成N份,分别为D0,D1,...Dn-1,N份数据长度相等且以字节为单位,长度计为m,确定内存段P、Q、R用于保存效验数据,长度也为m;
步骤S102:确定16通道的128位NEON寄存器变量Qs、Qp、Qq、Qr、Qm与Q0,每个通道为8位,即NEON指令可以按字节操作,同时将寄存器变量Qp、Qq与 Qr置零, 将寄存器变量Qm的16个8bit通道全置为0x1b;
步骤S103:从数据D0加载16个字节数据到寄存器变量Qp、Qq、Qr,再将寄存器变量Qp、Qq、Qr保存到P、Q、R对应的内存段,每次复制16字节数据,直到数据D0全部复制到P、Q、R内存段;
步骤S104:分别从数据D1、内存段P、Q、R加载16个字节数据到寄存器变量Qs、Qp、Qq、Qr;
步骤S105:将寄存器变量Qp与Qs进行向量按位异或运算操作Qp=Qp^Qs ,Qp中保存的数据就是P效验值;
步骤S106:确定16通道的128位NEON寄存器变量Q0,同时将寄存器变量Q0置零;
步骤S107:对寄存器变量Qs与Q0进行带符号向量比较操作,Q0大于Qs则Q0全置1,否则Q0全置0;
步骤S108:对寄存器变量Qm与Q0进行向量按位与操作,其结果再与Qs进行向量左移1位的结果进行向量按位异或运算,运算结果保存在Qs中Qs=(Qs1) ^ (Qm Q0);
步骤S109:对寄存器变量Qq与Qs进行向量按位异或运算操作Qq=Qq^Qs,Qq中保存的数据就是Q效验值;
步骤S110:对寄存器变量Qs重复步骤S106、步骤S107、步骤S108操作;
步骤S111:对寄存器变量Qr与Qs进行向量按位异或运算操作Qr=Qr^Qs,Qr中保存数据就是R效验值,同时将寄存器变量Qp、Qq、Qr中的数据分别保存到P、Q、R对应的内存段;
步骤S112:重复步骤S104至步骤S111,直至D1段数据处理完成,每重复一次,步骤S104中的数据D1、内存段P、Q、R向后移动16字节;
步骤S113:重复步骤S104至步骤S112来处理D2,D3....Dn-1数据段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于麒麟软件有限公司,未经麒麟软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210823183.1/1.html,转载请声明来源钻瓜专利网。