[发明专利]一种屏蔽接口差异的架构及其方法及系统在审

专利信息
申请号: 202111006929.1 申请日: 2021-08-30
公开(公告)号: CN113721852A 公开(公告)日: 2021-11-30
发明(设计)人: 谢若冰 申请(专利权)人: 谢若冰
主分类号: G06F3/06 分类号: G06F3/06;G06F13/42
代理公司: 成都鱼爪智云知识产权代理有限公司 51308 代理人: 张丽
地址: 438200 湖北*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 屏蔽 接口 差异 架构 及其 方法 系统
【权利要求书】:

1.一种屏蔽接口差异的架构及其方法,其特征在于,包括:

业务层调用spdk_io_submit接口,内部通过spdk_thread_send_mess-age把包含业务层回调的ioctx发送到后台绑定的spdk_thread内部的无锁队列(ctx ring);

Spdk thread按照FIFO的顺序获取ctx ring中的请求,通过spdk_nv-me_ns_cmd_write/read执行IO请求提交工作,后续对应的回调函数将把已经完成的IO对应的ioctx塞入到无锁的完成事件队列event ring;

NVME controller从hardware提交队列消费新的IO请求ioctx;

NVME controller把完成的IO请求ioctx放到hardware completion queue;

Spdk thread的poller线程周期地执行spdk_nvme_qpair_process_co-mpletions操作,收割完成的IO,把hardware completion queue上的请求消费掉,并触发上面的回调函数的执行。

2.如权利要求1所述的一种屏蔽接口差异的架构及其方法,其特征在于,还包括:

业务层通过spdk_io_getevents()获取完成的io_events。

3.如权利要求2所述的一种屏蔽接口差异的架构及其方法,其特征在于,还包括:

业务层根据业务场景调用ioctx/ioevent中对应的业务层回调。

4.如权利要求1所述的一种屏蔽接口差异的架构及其方法,其特征在于,所述Spdkthread的poller线程周期地执行spdk_nvme_qpair_p_roc-ess_completions操作,收割完成的IO,把hardware completion queu-e上的请求消费掉,并触发上面的回调函数的执行包括:

根据ioctx中的参数和操作字段构造io_event,并把构造出来的io_e-vent塞到无锁的完成事件队列。

5.如权利要求2所述的一种屏蔽接口差异的架构及其方法,其特征在于,还包括:

spdk_io_getevents()以无锁的方式访问无锁的完成事件队列,按照FIFO的顺序获取io_event,通过上面ioctx和ioevent的对应关系从io_event中反向解析出io_ctx和回调函数,并且执行。

6.如权利要求5所述的一种屏蔽接口差异的架构及其方法,其特征在于,所述反向解析包括:

从io_event的data字段获取ioctx的回调函数;

从Io_event的obj字段获取ioctx;

从Io_event的res字段获取IO完成的返回值;

从Io_event的res2字段获取IO失败时的错误码。

7.如权利要求3所述的一种屏蔽接口差异的架构及其方法,其特征在于,还包括:

如果IO完成的返回值表示失败,不执行回调,返回当时的错误码;

如果IO完成的返回值表示成功,执行回调io_event-data(io_even t-obj)。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于谢若冰,未经谢若冰许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111006929.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top