[发明专利]硬件加速B+树操作装置及其方法有效
申请号: | 201910244351.X | 申请日: | 2019-03-28 |
公开(公告)号: | CN111581440B | 公开(公告)日: | 2021-04-23 |
发明(设计)人: | 介百瑞;周鹏飞;孙唐;万义才 | 申请(专利权)人: | 北京忆芯科技有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901;G06F16/903 |
代理公司: | 北京卓特专利代理事务所(普通合伙) 11572 | 代理人: | 陈变花 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件加速 操作 装置 及其 方法 | ||
1.一种存储设备,包括:CPU和B+树操作装置;B+树操作装置包括:命令接口单元、一个或多个搜索单元、数据缓存、DMA单元、扩展命令处理单元、总线和存储器,所述存储器存储一个或多个B+树;
命令接口接收外部单元提供的操作B+树的命令,并将命令提供给搜索单元和/或扩展命令处理单元;
一个或多个搜索单元根据从操作B+树的命令中获取的关键字搜索B+树;
数据缓存存储B+树的节点的一个或多个关键字;
DMA单元在数据缓存和存储器之间搬移数据;
CPU从操作B+树的命令中提取关键字,并用提取的关键字操作B+树操作装置对B+树进行搜索;B+树操作装置将搜索结果提供给CPU;
其中,所述CPU从操作B+树的命令中提取关键字,并用提取的关键字操作B+树操作装置对B+树进行搜索,包括:
一个或多个搜索单元通过总线访问存储器,以获取存储器存储的B+树的节点的关键字;
一个或多个搜索单元搜索单元将提取的关键字与B+树的节点的各个关键字进行比较,以搜索被命中的节点。
2.根据权利要求1所述的存储设备,其中,若操作B+树的命令是插入命令或删除命令,CPU则根据操作B+树的命令和搜索结果,更新B+树。
3.根据权利要求2所述的存储设备,其中,若操作B+树的命令是插入命令,搜索结果指示了命中节点且未命中关键字,则CPU向被命中的节点中添加插入命令所指示的关键字或关键字连同对应的值。
4.根据权利要求3所述的存储设备,其中,若被命中的节点所包含的关键字数量不小于阈值,则CPU将被命中的节点分裂为两个节点,将插入命令所指示的关键字或关键字连同对应的值添加两个节点之一。
5.根据权利要求4所述的存储设备,其中,响应于被命中的节点发生节点分裂,向分裂后的两个节点的共同父节点添加索引了分裂的新节点的关键字。
6.根据权利要求2所述的存储设备,其中,若操作B+树的命令是删除命令,搜索结果指示了被命中的节点的被命中的关键字,则CPU从被命中的节点中删除被命中的关键字。
7.根据权利要求要求6所述的存储设备,其中,若被命中的节点的关键字数量不大于第一阈值,并且被命中的节点与其右兄弟节点的关键字之和大于B+树的阶数,CPU则将右兄弟节点的排序最前的关键字搬移到被命中的节点,从被命中的节点中删除被命中的关键字。
8.根据权利要求7所述的存储设备,其中,响应于将右兄弟节点的排序最前的关键字搬移到被命中的节点,更新右兄弟节点的父节点中索引右兄弟节点的关键字。
9.根据权利要求7或8所述的存储设备,其中,若被命中的节点与其右兄弟节点的关键字之和不大于B+树的阶数,并且被命中的节点与其左兄弟节点的关键字数量之和大于B+树的阶数,则CPU将左兄弟节点的排序最后的关键字搬移到被命中的节点,作为被命中的节点排序最前的关键字,从被命中的节点中删除被命中的关键字。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京忆芯科技有限公司,未经北京忆芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910244351.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种模具的型面返修方法
- 下一篇:一种测量信息上报方法以及相关装置