[发明专利]一种屏蔽接口差异的架构及其方法及系统在审
申请号: | 202111006929.1 | 申请日: | 2021-08-30 |
公开(公告)号: | CN113721852A | 公开(公告)日: | 2021-11-30 |
发明(设计)人: | 谢若冰 | 申请(专利权)人: | 谢若冰 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F13/42 |
代理公司: | 成都鱼爪智云知识产权代理有限公司 51308 | 代理人: | 张丽 |
地址: | 438200 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 屏蔽 接口 差异 架构 及其 方法 系统 | ||
本发明提出了一种屏蔽接口差异的架构及其方法及系统,涉及计算机系统领域。一种屏蔽接口差异的架构及其方法包括:通过基于spdk原生接口实现的类libaio接口libaio Wrapper,可以对上层屏蔽下层物理硬件的差异,快速替代上层业务中基于块设备的libaio接口。其能够根据底层实现通过spdk nvme原生接口、外部调用通过和libaio相似的接口,使之兼容已有接口,屏蔽硬件细节,便于使用,缩短技术升级成本和周期。此外本发明还提出了一种屏蔽接口差异的架构及其系统。
技术领域
本发明涉及计算机系统领域,具体而言,涉及一种屏蔽接口差异的架构及其方法及系统。
背景技术
SPDK NVME原生接口提供了针对NVME控制器硬件队列的初始化、IO提交、收割的操作。但这种接口需要和硬件队列直接交互,初始化参数比较多,还需要用户自己保证收割和提交串行执行,使用方式和传统的libaio接口有很大不同,出错概率和学习成本相对比较高,导致在SSD场景把传统的接口替换成SPDK接口增加了不少工作量。
此外,原生的NVME接口初始化的时候需要了解queue pair队列深度和数量等硬件细节。虽然在spdk中的bdev层能够承上启下,可以隔离具体的设备和IO模式,对vdev等上层抽象出了统一的框架。但是bdev框架需要注册一系列接口函数,此外io请求提交和收割方式和已有的libaio等接口也无法直接兼容。已经支持libaio的业务也需要额外的改动才能适配。
发明内容
本发明的目的在于提供一种屏蔽接口差异的架构及其方法,其能够根据其底层实现通过spdk nvme原生接口,外部调用通过和libaio相似的接口,使之兼容已有接口,屏蔽硬件细节,便于使用,缩短技术升级成本和周期。
本发明的另一目的在于提供一种屏蔽接口差异的架构及其系统,其能够运行一种屏蔽接口差异的架构及其方法。
本发明的实施例是这样实现的:
第一方面,本申请实施例提供一种屏蔽接口差异的架构及其方法,其包括业务层调用spdk_io_submit接口,内部通过spdk_thread_send_mess-age把包含业务层回调的ioctx发送到后台绑定的spdk_thread内部的无锁队列(ctx ring);Spdk thread按照FIFO的顺序获取ctx ring中的请求,通过spdk_nvme_ns_cmd_write/read执行IO请求提交工作,后续对应的回调函数将把已经完成的IO对应的ioctx塞入到无锁的完成事件队列eventring;NVME controller从hardware提交队列消费新的IO请求ioctx;NVME con-troller把完成的IO请求ioctx放到hardware completion queue;Spdk thread的poller线程周期地执行spdk_nvme_qpair_process_completions操作,收割完成的IO,把hardwarecompletion queue上的请求消费掉,并触发上面的回调函数的执行。
在本发明的一些实施例中,上述还包括:业务层通过spdk_io_getevents()获取完成的io_events。
在本发明的一些实施例中,上述还包括:业务层根据业务场景调用ioctx/ioevent中对应的业务层回调。
在本发明的一些实施例中,上述Spdk thread的poller线程周期地执行spdk_nvme_qpair_process_completions操作,收割完成的IO,把hard ware completion queue上的请求消费掉,并触发上面的回调函数的执行包括:根据ioctx中的参数和操作字段构造io_event,并把构造出来的io_event塞到无锁的完成事件队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谢若冰,未经谢若冰许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111006929.1/2.html,转载请声明来源钻瓜专利网。