一种异常恢复方法和裸片与流程
- 国知局
- 2024-09-14 14:49:08
本技术涉及芯片,尤其涉及一种异常恢复方法和裸片。
背景技术:
1、当前,通用闪存存储(universal flash storage,ufs)在底层发生致命异常pa_init_error时,可通过软件参与初始化ufs进行异常恢复。但是,该恢复过程中,ufs与软件交互的次数较多,导致恢复时间较长,用户可能会感知到卡顿,用户体验较差。
2、尤其在应用unipro2.0协议后,ufs的底层链路加入了高速建链模式,建链后底层链路工作在高速模式。在发生链路异常时,也仅在高速模式下尝试恢复,底层链路异常发生的概率较大,增加了pa_init_error的发生概率,用户体验较差。
技术实现思路
1、本技术实施例提供一种异常恢复方法和裸片,能够避免软件参与ufs的底层链路的异常恢复,提升ufs的底层链路的异常恢复概率,减少恢复时间。
2、为达到上述目的,本技术实施例采用如下技术方案:
3、第一方面,提供一种异常恢复方法,应用于第一裸片,该方法包括:确定第一裸片与第二裸片发生链路异常;初始化第一裸片的物理层电路;将初始化后的物理层电路与第二裸片建立链路;将初始化后的物理层电路的速率切换回链路异常前的速率;以链路异常前的速率与第二裸片进行业务数据传输。
4、其中,第一裸片可以是作为host,也可以是作为device。本技术提供的异常恢复方法中,无论host还是device侧先确定发生链路异常,例如发生pa_init_error,都可以只初始化物理层电路。由于链路异常多是由于物理层电路故障引起的,在只对物理层电路进行初始化后,host和device可进行重新建链,再将速物理层电路的速率切换至链路异常前的速率状态,从而可继续在裸片间进行业务数据传输。相比传统的方案中在发生链路异常时需要软件的干预进行链路重新建立,传统的方案使得链路恢复过程的交互较为复杂,耗时时间较长。本技术可以在链路异常发生时通过初始化物理层电路进行硬件尝试自恢复,可大大减少链路恢复的时间,并提升链路恢复的概率。
5、在一种可能的设计中,初始化第一裸片的物理层电路包括:清除第一裸片的物理层电路中的模拟电路的参数,对模拟电路重新配置初始化参数。这里可以是第一裸片的数据链路层指示物理层清除物理层的所有模拟电路的参数,并重新向物理层的模拟电路配置初始化参数。当第一裸片的物理层电路初始化后,相当于断开了第一裸片和第二裸片的链接,以便重新建链和速率配置,通过裸片间的硬件进行异常自恢复,避免软件参与恢复。
6、在一种可能的设计中,在初始化第一裸片的物理层电路之前,该方法还包括:第一裸片的物理层电路通过差分线或复位线向第二裸片的物理层电路发送第一初始化指示,第一初始化指示用于指示第二裸片对第二裸片的物理层电路进行初始化。即如果是第一裸片先确定发生致命异常,可以即刻通知第二裸片进行物理层电路初始化后,第一裸片再初始化第一裸片的物理层电路,不需要上报软件进行干预,可减少链路恢复的时间,并提升链路恢复的概率。
7、在一种可能的设计中,在确定第一裸片和第二裸片发生链路异常之前,该方法还包括:第一裸片的物理层电路通过差分线或复位线接收第二裸片的物理层电路发送的第二初始化指示,第二初始化指示用于指示第一裸片对第一裸片的物理层电路进行初始化。即如果是第二裸片先确定发生链路(致命)异常,可即刻告知第一裸片进行物理层电路初始化,不需要上报软件进行干预,可减少链路恢复的时间,并提升链路恢复的概率。此时有可能是host告知的device,也有可能是device告知的host。
8、在一种可能的设计中,在初始化第一裸片的物理层电路之前,该方法还包括:第一裸片的数据链路层电路暂停与第二裸片进行业务数据传输;以链路异常前的速率与第二裸片进行业务数据传输包括:第一裸片的数据链路层指示第一裸片的物理层电路以链路异常前的速率与第二裸片继续进行业务数据传输。例如第一裸片的数据链路层暂停从第二裸片接收数据,也暂停向第二裸片发送数据。当链路恢复且速率切回到异常前的速率状态时,继续进行数据传输。
9、在一种可能的设计中,在初始化第一裸片的物理层电路之前,该方法还包括:第一裸片的数据链路层保存第一裸片与第二裸片间的链路信息,链路信息包括第一裸片与第二裸片用于建立链路的信息以及用于速率切换的信息。例如建链时用到的链路信息有两侧的物理层电路的初始化参数等,切速时用到的链路信息包括发生异常前的速率信息。这样,在两侧的物理层电路初始化完成时,可根据物理层电路的初始化参进行建链后,再根据速率信息将链路的速率切回到异常前的速率状态。
10、在一种可能的设计中,将初始化后的物理层电路与第二裸片建立链路包括:根据用于建立链路的信息生成建链请求,建链请求用于请求与第二裸片建立链路;初始化后的物理层电路向第二裸片发送建链请求。这样,当物理层电路初始化完成时,很大程度的避免了再次发生链路异常,提升了建链成功率和切速成功率。
11、在一种可能的设计中,将初始化后的物理层电路的速率切换回链路异常前的速率包括:根据用于速率切换的信息生成速率切换请求,速率切换请求包括链路异常前的速率;初始化后的物理层电路向第二裸片发送速率切换请求;将初始化后的物理层电路的速率切换回链路异常前的速率。这样,在第一裸片和第二裸片完成物理层电路初始化并重新建立链路后,在将物理层的速率也恢复到异常前的速率状态时,可以继续进行异常前的业务往来,异常恢复效率较高。
12、第二方面,提供一种裸片,裸片包括:确定单元,用于确定第一裸片与第二裸片发生链路异常时;初始化单元,用于初始化第一裸片的物理层电路;建链单元,用于将初始化后的物理层电路与第二裸片建立链路;切速单元,用于将初始化后的物理层电路的速率切换回链路异常前的速率;收发单元,用于以链路异常前的速率与第二裸片进行业务数据传输。
13、在一种可能的设计中,初始化单元用于:清除第一裸片的物理层电路中的模拟电路的参数,对模拟电路重新配置初始化参数。
14、在一种可能的设计中,收发单元还用于:通过第一裸片的物理层电路的差分线或复位线向第二裸片的物理层电路发送第一初始化指示,第一初始化指示用于指示第二裸片对第二裸片的物理层电路进行初始化。
15、在一种可能的设计中,收发单元还用于:收发单元还用于:通过第一裸片的物理层电路的差分线或复位线接收第二裸片的物理层电路发送的第二初始化指示,第二初始化指示用于指示第一裸片对第一裸片的物理层电路进行初始化。
16、在一种可能的设计中,收发单元还用于:通过第一裸片的数据链路层暂停与第二裸片进行业务数据传输。收发单元用于:通过第一裸片的数据链路层指示第一裸片的物理层电路以链路异常前的速率与第二裸片继续进行业务数据传输。
17、在一种可能的设计中,还包括存储单元,用于通过第一裸片的数据链路层保存第一裸片与第二裸片间的链路信息,链路信息包括第一裸片与第二裸片建立链路的信息以及用于速率切换的信息。
18、在一种可能的设计中,建链单元用于:根据用于建立链路的信息生成建链请求,建链请求用于请求与第二裸片建立链路;收发单元,用于初始化后的物理层电路向第二裸片发送建链请求。
19、在一种可能的设计中,切速单元,用于根据用于速率切换的信息生成速率切换请求,速率切换请求包括链路异常前的速率;收发单元,用于初始化后的物理层电路向第二裸片发送速率切换请求;切速单元,用于将初始化后的物理层电路的速率切换回链路异常前的速率。
20、第三方面,提供一种芯片,该芯片存储计算机执行指令,当计算机执行指令被运行时,第一方面以及第一方面的任一种可能的设计中所述的方法被执行。
21、第四方面,提供了一种电子设备,包括天线、一个或多个处理器以及一个或多个存储器。该一个或多个存储器与一个或多个处理器耦合,一个或多个存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,当一个或多个处理器执行计算机指令时,使得电子设备执行上述第一方面及任一项可能的设计中的异常恢复的方法。
22、第五方面,提供了一种计算机可读存储介质,包括计算机指令,当计算机指令在电子设备上运行时,使得电子设备执行上述第一方面及任一项可能的实现方式中的异常恢复的方法。
23、第六方面,提供了一种计算机程序产品,当计算机程序产品在计算机或处理器上运行时,使得计算机或处理器执行上述第一方面及任一项可能的实现方式中的异常恢复的方法。
24、可以理解的是,上述提供的任一种裸片、芯片、电子设备、计算机可读存储介质或计算机程序产品等均可以应用于上文所提供的对应的方法,因此,其所能达到的有益效果可参考对应的方法中的有益效果,此处不再赘述。
25、本技术的这些方面或其他方面在以下的描述中会更加简明易懂。
本文地址:https://www.jishuxx.com/zhuanli/20240914/296028.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表