[发明专利]一种SYS/BIOS系统下基于SIL3132控制器的SATA硬盘驱动方法有效
申请号: | 201611074920.3 | 申请日: | 2016-11-30 |
公开(公告)号: | CN106775663B | 公开(公告)日: | 2020-07-21 |
发明(设计)人: | 龚俊;吴昌昊;向昱丞;李昊哲;张京;陈航 | 申请(专利权)人: | 中国兵器装备集团自动化研究所 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F12/0873 |
代理公司: | 中国工程物理研究院专利中心 51210 | 代理人: | 翟长明;韩志英 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 sys bios 系统 基于 sil3132 控制器 sata 硬盘 驱动 方法 | ||
1.一种SYS/BIOS系统下基于SIL3132控制器的SATA硬盘驱动方法,包括以下步骤:
(1)先将处理器端PCIE接口与SATA控制器SIL3132相连接,然后将SIL3132 SATA控制器端口与SATA硬盘相连接;
(2)对主控器端PCIE进行初始化;
(3)配置SIL3132控制器并进行初始化,包括对SATA存储器的识别,通过控制端点对设备进行地址映射;
(4)利用SATA指令来实现对硬盘操作的同步读、异步写;
具体地,步骤(4)中实现同步读过程接口的方法,包括以下步骤:
(1)获取接收缓存区大小,并计算读取字节数;
(2)判断缓存区地址是否是全局地址,判断结果是全局地址则执行(3),否则执行(4);
(3)预先回写Cache;
(4)将其转化成全局地址;
(5)构建SATA指令对应的端口请求块
(6)提交指令并等待完成;
(7)判断全局缓存区的地址是否为全局地址,判断结果是全局地址则执行(8),否则执行(9);
(8)无效化Cache;
(9)结束;
步骤(4)中,实现异步写接口的方法,包括以下步骤:
(1)找到空闲的指令槽;
(2)判断是否为缓存数据,判断结果如果为是则执行(3),否则执行(4);
(3)获取空闲缓存区,将数据储存;
(4)判断数据是否为全局地址,判断结果是全局地址则执行(5),否则执行(6);
(5)回写Cache;
(6)转化为全局地址;
(7)构建SATA指令对应的端口请求块;
(8)提交指令,结束。
2.根据权利要求1所述的SYS/BIOS系统下基于SIL3132控制器的SATA硬盘驱动方法,其特征在于:步骤(2)中对SIL3132初始化的方法包括以下步骤:
(1)获取PCIE的外绑地址outbound;
(2)设置基地址寄存器BAR;
(3)使能PCIE的功能;
(4)配置设备特性;
(5)配置链路的特性;
(6)重新训练链路;
(7)清除全局复位关闭中断;
(8)清除端口0/1复位;
(9)使能32位指令激活模式;
(10)关闭一对多端口功能PMP;
(11)清除错误计数,结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国兵器装备集团自动化研究所,未经中国兵器装备集团自动化研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611074920.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:推送消息的显示方法及装置
- 下一篇:一种确定主题配色方案的方法及装置