[发明专利]一种内核多线程直接存储驱动实现方法有效

专利信息
申请号: 201510185822.6 申请日: 2015-04-20
公开(公告)号: CN104778138B 公开(公告)日: 2018-03-06
发明(设计)人: 王仕明;徐智勇;傅承毓 申请(专利权)人: 中国科学院光电技术研究所
主分类号: G06F13/24 分类号: G06F13/24
代理公司: 暂无信息 代理人: 暂无信息
地址: 610209 *** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种内核多线程直接存储驱动实现方法,此方法主要用于提高存储系统存储速度及速度稳定性,实现了连续的高速DMA存储,相对传统数据存储驱动实现方法,所有数据操作都在内核中,避免了将大量数据通过copy_to_user函数从内核空间拷贝到用户空间,避免了频繁的在内核模式和用户模式之间的切换,另外内核线程拥有较高的优先级,从而使得数据的传输速度更稳定、速度更快、实时性更强;将多次DMA的数据缓存到一个大内存,避免了频繁向硬盘写入小文件,提高了硬盘存储速度。
搜索关键词: 一种 内核 多线程 直接 存储 驱动 实现 方法
【主权项】:
一种内核多线程直接存储驱动实现方法,其特征在于:包括如下步骤:步骤一、应用程序在文件存储路径文件中写入默认路径,然后置DDMACR即设备DMA状态控制器准备开始存储位为1,准备开始存储数据,FPGA检测到此位为1后开始准备数据,当数据达到一次DMA数据量时,置DDMACR数据准备好位为1,应用程序调用ioctl函数查询此位,数据准备好后开始DMA,应用程序进入睡眠状态;步骤二、在驱动初始化时申请两个DMA缓存区并设置好DMA写操作初始值,同时初始化两个内核线程,一个写文件线程,一个开始下次DMA线程;在此步骤中,使用pci_alloc_consistent()函数或__get_free_pages(unsigned int flags,unsigned int order)函数申请两个DMA缓冲区并重映射,sema_init()初始化开始下次DMA信号量和写文件信号量,在驱动中由kthread_create()创建写文件线程和开始下次DMA线程,然后kthread_bind()绑定到特定CPU核心,最后wake_up_process()运行线程;也可由kthread_run()创建线程并直接运行;步骤三、DMA完成时,进入中断处理程序,清中断后,通过指针交换,切换DMA内核缓冲区,然后释放开始下次DMA信号量和写文件信号量;在此步骤中根据标识状态交换下个周期读出数据的DMA缓存区和写入数据的DMA缓存区,并对标识状态取反;步骤四、开始下次DMA线程收到开始下次DMA信号量后,检测数据准备好位,为真时启动下次DMA;此步骤中轮询数据准备好位,为真时调用ioctl函数写DMA开始位,启动下次DMA;步骤五、写文件线程申请两个大缓存,收到写文件信号量时,将已完成DMA缓冲区的数据缓存到一个大的内核缓存中,大缓存大小是DMA缓存的N倍,大缓存满时,切换到另一个大缓存;此步骤中根据标识状态将DMA缓存数据写入其中一个大缓存中并对写入次数计数,当大于N时切换到另一个大缓存并对标识状态取反;步骤六、已满大缓存由内核线程写入到默认路径下依自定义格式所建文件中,当存储达到指定次数M后,关闭文件并新建另一个文件;此步骤中第一次进入线程时用filp_open(filename,O_RDWR,0644)打开存储默认路径位置,fs=get_fs();保存线程原来寻址范围,set_fs(KERNEL_DS);扩大线程寻址范围至内核空间,调用filp‑>f_op‑>read()读取默认路径,set_fs(fs)设置寻址范围为原值,filp_close关闭默认路径文件;步骤六按自定义规则filp=filp_open(filename,O_CREAT|O_RDWR|O_NONBLOCK,0644)新建并非阻塞打开新建文件,fs=get_fs();保存线程原来寻址范围,set_fs(KERNEL_DS);扩大线程寻址范围至内核空间,根据标识状态将已满大缓存数据写入文件中并记录写入次数,写入函数调用内核态写文件函数如vfs_write()和filp‑>f_op‑>write(),当写入次数达到M次后,set_fs(fs)设置寻址范围为原值,filp_close关闭文件,重复步骤六。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201510185822.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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