[发明专利]基于FPGA的SAS错误状态命令的处理方法及装置有效
申请号: | 201611033683.6 | 申请日: | 2016-11-14 |
公开(公告)号: | CN106598883B | 公开(公告)日: | 2019-09-17 |
发明(设计)人: | 范伟鹏 | 申请(专利权)人: | 北京腾凌科技有限公司 |
主分类号: | G06F13/10 | 分类号: | G06F13/10;G06F13/12 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈蕾 |
地址: | 100085 北京市海淀区上地信息路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga sas 错误 状态 命令 处理 方法 装置 | ||
1.一种基于现场可编程门阵列FPGA的串行小型计算机系统接口SAS错误状态命令的处理方法,应用于SAS控制器的FPGA模块,所述SAS控制器还包括SAS协议层模块,所述SAS协议层模块通过所述FPGA模块与SAS驱动相连,其特征在于,所述方法包括:
接收到所述SAS驱动下发的控制命令;
保存所述控制命令,并将所述控制命令发送至所述SAS协议层模块;
接收到所述SAS协议层模块上报的对应于所述控制命令的错误状态命令;
判断所述错误状态命令是否为重传命令;
若所述错误状态命令为重传命令,基于所述错误状态命令和保存的所述控制命令构造待重传的控制命令,并将所述待重传的控制命令发送至所述SAS协议层模块。
2.根据权利要求1所述的方法,其特征在于,所述保存所述控制命令,并将所述控制命令发送至所述SAS协议层模块,包括:
为所述控制命令设置命令标签;
保存携带所述命令标签的控制命令,并将携带所述命令标签的控制命令发送至所述SAS协议层模块;
所述错误状态命令携带所述控制命令的命令标签;所述基于所述错误状态命令和保存的所述控制命令构造待重传的控制命令包括:
基于所述错误状态命令携带的命令标签从保存的控制命令中确定所述控制命令;
基于所述控制命令以及所述错误状态命令构造待重传的控制命令。
3.根据权利要求1所述的方法,其特征在于,所述判断所述错误状态命令是否为重传命令,包括:
获取所述错误状态命令携带的状态标识信息;
基于所述状态标识信息判断所述错误状态命令是否为重传命令。
4.根据权利要求3所述的方法,其特征在于,所述状态标识信息包括status信息;所述基于所述状态标识信息判断所述错误状态命令是否为重传命令,包括:
基于所述status信息判断所述错误状态命令是否携带sense data信息;其中,所述sense data信息包括sense key信息、additional sense code信息以及addition sensecode qualifier信息;
若所述错误状态命令携带所述sense data信息,基于所述sense key信息、additionalsense code信息以及addition sense code qualifier信息判断所述错误状态命令是否为重传命令。
5.根据权利要求4所述的方法,其特征在于,所述基于所述错误状态命令和保存的所述控制命令构造待重传的控制命令包括:
基于所述错误状态命令中的sense key信息确定所述错误状态命令的处理等级;
基于所述处理等级和保存的所述控制命令构造待重传的控制命令。
6.一种基于现场可编程门阵列FPGA的串行小型计算机系统接口SAS错误状态命令的处理装置,应用于SAS控制器的FPGA模块,所述SAS控制器还包括SAS协议层模块,所述SAS协议层模块通过所述FPGA模块与SAS驱动相连,其特征在于,所述装置包括:
第一接收单元,用于接收到所述SAS驱动下发的控制命令;
第一发送单元,用于保存所述控制命令,并将所述控制命令发送至所述SAS协议层模块;
第二接收单元,用于接收到所述SAS协议层模块上报的对应于所述控制命令的错误状态命令;
判断单元,用于判断所述错误状态命令是否为重传命令;
第二发送单元,用于若所述错误状态命令为重传命令,基于所述错误状态命令和保存的所述控制命令构造待重传的控制命令,并将所述待重传的控制命令发送至所述SAS协议层模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京腾凌科技有限公司,未经北京腾凌科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611033683.6/1.html,转载请声明来源钻瓜专利网。