[发明专利]一种数据处理方法、装置、设备及可读存储介质有效
申请号: | 202110779968.9 | 申请日: | 2021-07-09 |
公开(公告)号: | CN113419684B | 公开(公告)日: | 2023-02-24 |
发明(设计)人: | 唐晓栋;陈祥 | 申请(专利权)人: | 深圳大普微电子科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 陈彦如 |
地址: | 518000 广东省深圳市龙岗*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 设备 可读 存储 介质 | ||
1.一种数据处理方法,其特征在于,应用于固态硬盘,包括:
接收主机发送的目标数据,并将所述目标数据写入内存;
若所述目标数据在所述内存中占用n个内存节点,则将所述n个内存节点确定为n个数据节点;
利用EC算法引擎计算所述目标数据的校验数据,若利用m个内存节点存储所述校验数据后,将所述m个内存节点确定为m个校验节点;n和m的取值预设于当前固态硬盘的EC属性中,m基于盘内的DIE个数配置;
确定当前可用的数据块组,并查询所述数据块组中的n个用户数据块和m个校验数据块的排列顺序;
按照所述排列顺序将所述n个数据节点和所述m个校验节点排列为链表;
基于所述链表,将所述n个数据节点中的数据对应写入所述n个用户数据块,将所述m个校验节点中的数据对应写入所述m个校验数据块,以存储所述目标数据;
其中,所述利用EC算法引擎计算所述目标数据的校验数据,利用m个内存节点存储所述校验数据,包括:
当内存申请动作由所述固态硬盘执行时,向所述内存申请所述m个内存节点;将所述n个数据节点和所述m个内存节点传输至所述EC算法引擎,以使所述EC算法引擎基于所述n个数据节点计算所述校验数据,并将所述校验数据写入所述m个内存节点。
2.根据权利要求1所述的方法,其特征在于,所述利用EC算法引擎计算所述目标数据的校验数据,利用m个内存节点存储所述校验数据,包括:
当内存申请动作由所述EC算法引擎执行时,将所述n个数据节点传输至所述EC算法引擎,以使所述EC算法引擎基于所述n个数据节点计算所述校验数据,并向所述内存申请所述m个内存节点后,将所述校验数据写入所述m个内存节点;
其中,内存申请动作由所述固态硬盘或所述EC算法引擎执行。
3.根据权利要求1所述的方法,其特征在于,所述按照所述排列顺序将所述n个数据节点和所述m个校验节点排列为链表,包括:
将所述m个校验节点排列在所述n个数据节点的尾部,以得到所述链表。
4.根据权利要求1所述的方法,其特征在于,所述存储所述目标数据之后,还包括:
更新L2P映射表,并释放所述n个数据节点和所述m个校验节点。
5.根据权利要求1至4任一项所述的方法,其特征在于,还包括:
若所述链表中的任一个节点中的数据写入失败,则执行所述确定当前可用的数据块组的步骤。
6.根据权利要求5所述的方法,其特征在于,所述确定当前可用的数据块组的步骤,包括:
若当前没有可用的数据块组,则计算n与m之和,得到目标值;
若所述目标值等于当前固态硬盘中的DIE个数,则在当前固态硬盘的每个DIE中选择一个数据块;或若所述目标值小于当前固态硬盘中的DIE个数,则在当前固态硬盘中选择所述目标值个DIE,并在所选择的每个DIE中选择一个数据块;
在所述目标值个数据块中标记n个用户数据块和m个校验数据块,并确定n个用户数据块和m个校验数据块的排列顺序,以得到当前可用的数据块组。
7.根据权利要求6所述的方法,其特征在于,所述在所述目标值个数据块中标记n个用户数据块和m个校验数据块,包括:
在所述目标值个数据块中随机选择m个数据块标记为校验数据块,剩余的n个数据块则标记为用户数据块;
或者
按照各个数据块所属DIE的标识信息随机排列所述目标值个数据块,得到目标序列;
将所述目标序列中连续的m个数据块标记为校验数据块,剩余n个数据块标记为所述用户数据块。
8.根据权利要求5所述的方法,其特征在于,还包括:
若当前有可用的数据块组,则选择当前可用的数据块组后,执行所述查询所述数据块组中的n个用户数据块和m个校验数据块的排列顺序的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳大普微电子科技有限公司,未经深圳大普微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110779968.9/1.html,转载请声明来源钻瓜专利网。