[发明专利]错误处理系统和错误处理方法有效
申请号: | 201810803166.5 | 申请日: | 2018-07-20 |
公开(公告)号: | CN109491958B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | A·J·汤姆林;J·C·琼斯 | 申请(专利权)人: | 铠侠股份有限公司 |
主分类号: | G06F15/78 | 分类号: | G06F15/78;G06F11/07 |
代理公司: | 北京市中咨律师事务所 11247 | 代理人: | 贺月娇;杨晓光 |
地址: | 日本*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 错误 处理 系统 方法 | ||
本发明一般地涉及错误处理系统和错误处理方法。在一个实施例中,一种系统包括:多个硬件块,所述多个硬件块中的每一个被配置为响应于与命令相关联的请求而执行功能;错误队列管理器,其被配置为从多个硬件块中的至少一个接收错误消息,并将错误消息存储在错误队列中,错误消息包括错误命令的命令标识符;以及错误状态管理器,其包括错误状态位图,错误状态位图存储多个命令标识符中的每一个的错误状态位,错误状态位指示错误命令或无错误命令;所述错误状态管理器被配置为设定错误命令的命令标识符的错误状态位以响应于错误状态消息而指示错误命令,错误状态消息包括错误命令的命令标识符。
相关申请的交叉引用
本申请基于并要求2017年9月13日提交的美国非临时专利申请15/702,853的优先权的权益,该申请的全部内容通过引用并入本文中。
技术领域
本发明一般地涉及错误处理系统和错误处理方法。
背景技术
诸如片上系统(SoC)设备的现代专用集成电路(ASIC)通常需要以非常高的数据速率操作。为了实现这种高速操作,除了在处理器上运行的固件之外,ASIC设计通常还包括复杂的硬件自动化。具有高水平硬件自动化的ASIC的一个例子是非易失性固态存储驱动器中的存储控制器。在具有高水平硬件自动化的设备中,应该以使得错误命令被限制为对其它命令没有影响的方式处理在执行来自外部主机的命令时的错误。常见的错误处理方案涉及向设备固件发送的中断以及停止正遭受错误的硬件块的操作,或者在硬件块之间传递错误,这导致ASIC设计的显著复杂性。这些错误处理方案还为正遭受命令中的错误的一个硬件块创造了机会以“反压(back pressure)”在执行与该相同命令关联的任务时涉及的其它硬件块。例如,如果某硬件块由于命令遭受错误而停止操作,则需要通过该硬件块完成的任务的所有其它命令的完成将被延迟,直到该错误被清除,从而导致延迟峰值。
通常,遭受错误的每个硬件块将被保持在“错误状态”,直到固件清除该错误。如果两个硬件块同时处于错误状态,则这两个硬件块都将导致系统中的反压,这是一个多错误的极端情况。为了处理这种极端情况而设计的错误处理方案给系统硬件和固件二者都增加了显著的复杂性。这种复杂性要求在制造系统之前对系统的设计进行大量验证测试,这会延迟系统的上市时间。因此,长期以来需要一种用于ASIC中的错误处理的改进技术。
发明内容
在一个实施例中,一种错误处理系统包括多个硬件块,所述多个硬件块中的每一个被配置为响应于与命令相关联的请求而执行功能;错误队列管理器,其被配置为从所述多个硬件块中的至少一个接收错误消息,并将所述错误消息存储在错误队列中,所述错误消息包括错误命令的命令标识符;以及错误状态管理器,其包括错误状态位图,所述错误状态位图存储多个命令标识符中的每一个的错误状态位,所述错误状态位指示错误命令或无错误命令;所述错误状态管理器被配置为响应于错误状态消息而设定所述错误命令的所述命令标识符的所述错误状态位以指示错误命令,所述错误状态消息包括所述错误命令的所述命令标识符。在一个实施例中,所述多个硬件块中的每一个被配置为在响应于与命令相关联的请求而执行功能之前向所述错误状态管理器发送查询以确定所述命令的所述错误状态,以及忽略执行与错误命令相关联的功能的请求。在一个实施例中,所述系统进一步包括固件,所述固件被配置为从所述错误队列管理器中的所述错误队列中检索所述错误消息,并识别所述多个硬件块中的至少一个中被分配给包括所述错误命令的所述命令标识符的请求的资源,以及指令所述多个硬件块中的所述至少一个释放被分配给包括所述错误命令的所述命令标识符的所述请求的资源。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于铠侠股份有限公司,未经铠侠股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810803166.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信号处理机通用LINK拓扑检测方法
- 下一篇:一种可编程逻辑器件配置器