一种芯片动态复位方法与流程
- 国知局
- 2024-07-31 19:15:34
本发明涉及嵌入式系统领域,具体涉及一种芯片动态复位方法。
背景技术:
1、ssd即固态硬盘是最终产品,ssd中包含主控芯片、nand颗粒等原件,根据一定原理连接起来。主核是连接上位机与nand颗粒的桥梁,上位机通过api(一种应用接口)发送读写指令等,主核在收到上位机指令后,解析指令并根据自身管理算法,决定数据写入nand中的具体位置,以及在上位机读取时,计算读取nand的地址。nand颗粒是最终的数据仓库以“页”为最小存储单元,一颗nand中有若干个页,具体访问哪个页,是通过主控芯片发送的地址来决定的。
2、企业级的ssd一般支持热插拔操作,即在开机状态下切断数据链路的物理连接后,ssd能依靠自身电容完成下电操作。通常情况下,数据传输依靠dma进行,dma是指直接内存访问,其能使数据从附加设备,如磁盘驱动器,直接发送到计算机主板的内存上。dma一般独立于cpu且仅在数据传输完成后向cpu发送完成命令。在ssd输入或输出过程中进行热插拔操作时,可能导致dma硬件卡死,若不及时解除卡死状态,则会导致下电异常致使存表失败,进而,在进行后续的上电操作时导致无法读取完整的数据表。因此,及时、快速地使硬件复位以解除卡死状态能够有效保证ssd处于正常工作状态。
3、现有技术中,多采用eco(修改光刻掩膜指令)或pcb(印制电路板)增加回路的方式,解决硬件的卡死问题,上述方式在成本及通用性方面均有待提高。
技术实现思路
1、本发明提供了一种芯片动态复位方法,解决了ssd输入或者输出过程中,dma硬件。
2、本申请的技术方案为:一种芯片动态复位方法,包括以下步骤:
3、s01)ssd收到异常断电信号后,经过延时阈值后检查是否存在未完成命令,若是,则判定硬件处于卡死状态;若否,则硬件进行下电操作;
4、所述延时阈值定义为,正常情况下ssd的收到异常断电信号后完成一条命令所用的最长时间;
5、s02)遍历处于卡死状态的硬件相关上下文寄存器,获取正在执行的命令,依据命令类型丢弃命令或记录命令后等待重做;
6、s03)主核利用与协同核芯间的通讯通道,对协同核心发出准备复位命令,使所述协同核芯执行步骤s02);
7、s04)主核发出复位命令,硬件复位;主核的寄存器及数组结构体初始化;
8、s05)主核利用与协同核心间的通讯通道,对协同核心发出复位命令,协同核芯进行硬件复位,以及寄存器和数组结构体初始化;
9、s06)主核以及各协同核芯重新下发步骤s02)中等待重做的命令,待所有命令重做完成后,复位完成。
10、进一步地,所述步骤s01)中,ssd收到异常断电信号后,经过延时阈值后检查是否存在未完成命令;ssd中的主核及各协同核独立自检,并由主核汇总各协同核的检测结果后得到最终检查结果。
11、进一步地,在所述步骤s06)主核以及各协同核芯重新下发步骤s02中等待重做的命令前,主核以及各协同核芯需确认nand状态。
12、由于采用了上述技术方案,本发明的有益效果如下:
13、1.本发明可使ssd在输入或者输出过程中进行热插拔操作,且可有效避免硬件卡死的问题。
14、2.相较于芯片eco或pcb增加回路以解决硬件卡死的问题,本发明利用软件程序解决硬件卡死问题,成本更低,且通用性更强,有助于推广。
技术特征:1.一种芯片动态复位方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种芯片动态复位方法,其特征在于,
3.根据权利要求1所述的一种芯片动态复位方法,其特征在于,
技术总结本发明涉及嵌入式系统领域,具体涉及一种芯片动态复位方法,包括以下步骤:S01)SSD检查是否存在未完成命令;S02)遍历处于卡死状态的硬件相关上下文寄存器,获取正在执行的命令,依据命令类型丢弃命令或记录命令后等待重做;S03)主核对协同核心发出准备复位命令,使协同核芯执行步骤S02);S04)主核发出复位命令,硬件复位;主核的寄存器及数组结构体初始化;S05)硬件复位,以及寄存器和数组结构体初始化;S06)主核以及各协同核芯重新下发步骤S02)中等待重做的命令,待所有命令重做完成后,复位完成。本发明发明利用软件程序解决硬件卡死问题,成本更低,且通用性更强,有助于推广。技术研发人员:陆正一,郭鹏,衣瑞刚受保护的技术使用者:山东华芯半导体有限公司技术研发日:技术公布日:2024/1/16本文地址:https://www.jishuxx.com/zhuanli/20240731/182058.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表