用于实现ssd远程调试的调试板及ssd远程调试方法
技术领域
1.本公开涉及芯片设计技术领域,尤其涉及一种用于实现ssd远程调试的调试板及ssd远程调试方法。
背景技术:
2.在ssd芯片设计和调试阶段,当芯片内部发生了异常时通常需要对ssd 芯片进行调试。在相关技术中,对ssd芯片调试时,需要在现场获取调试数据来进行分析,以及对ssd芯片进行手动复位或重启等操作使得ssd芯片恢复至最初状态,从而再在恢复到最初状态后对ssd芯片进行新一轮的调试以查找到ssd芯片内部的问题。但是,采用现场进行ssd芯片的调试时,当出现调试人员不能赶往现场时就不能进行调试,从而影响ssd芯片的研发效率,使得ssd芯片的调试极为不便。
技术实现要素:
3.有鉴于此,本公开提出了一种用于实现ssd远程调试的调试板,可以实现ssd芯片的远程调试,为ssd芯片的调试带来了极大的便利。
4.根据本公开的一方面,提供了一种用于实现ssd远程调试的调试板,包括:
5.板卡;
6.所述板卡上配置有通信模块、数据解析模块和处理器;
7.所述通信模块,被配置为接收由调试服务器发送过来的调试数据包;
8.所述数据解析模块,被配置为对所述调试数据包进行解析,由所述调试数据包中提取出当前的调试指令;
9.所述处理器,被配置为将所述调试指令发送至所述ssd芯片,以使所述ssd芯片根据所述调试指令执行相应的操作。
10.在一种可能的实现方式中,所述板卡上还配置有数据解密模块,所述数据解密模块电连接在所述通信模块与所述数据解析模块之间;
11.其中,所述数据解密模块,被配置为对所述调试数据包进行解密处理,并将解密处理后的调试数据包发送至所述数据解析模块,由所述数据解析模块对所述调试数据包进行解析。
12.根据本公开的另一方面,还提供了一种ssd远程调试方法,采用前面任一所述的调试板进行,包括:
13.获取由调试服务器发送过来的调试数据包;
14.对所述调试数据包进行解析,由所述调试数据包中提取出相应的调试指令;
15.将所述调试指令发送至ssd芯片,由所述ssd芯片根据接收到的调试指令执行相应的操作。
16.在一种可能的实现方式中,所述调试数据包发送至所述调试服务器时,通过触发gui界面中的指令控件的方式进行;
17.其中,所述gui界面装载在终端中。
18.在一种可能的实现方式中,在获取由调试服务器发送过来的调试数据包之前,还包括:
19.获取所述ssd芯片的当前运行数据,并将获取到的所述当前运行数据推送显示到所述gui界面中的步骤。
20.在一种可能的实现方式中,获取由调试服务器发送过来的调试数据包之后,还包括:对所述调试数据包括进行解密处理的步骤。
21.根据本技术的另一方面,还提供了一种用于实现ssd远程调试的调试系统,用于实现前面任一所述的ssd远程调试方法,包括调试数据包发送模块和前面任一所述的调试板;
22.所述调试数据包发送模块,被配置为发送调试数据包至调试服务器;
23.所述调试板中的通信模块,被配置为接收由所述调试服务器下发的所述调试数据包;
24.所述调试板中的数据解析模块,被配置为对所述调试数据包进行解析,由所述调试数据包中提取出当前的调试指令;
25.所述调试板中的处理器,被配置为将所述调试指令发送至所述ssd芯片,以使所述ssd芯片根据所述调制指令执行相应的操作。
26.在一种可能的实现方式中,所述调试数据包发送模块,被配置为装载在终端中,并且还配置有gui操作界面;
27.其中,所述gui操作界面中设置有指令控件;
28.所述指令控件包括接收数据、重启、复位和断电中的至少一种。
29.在一种可能的实现方式中,所述调试数据包发送模块还包括有数据加密子模块;
30.所述数据加密子模块,被配置为在发送所述调试数据包至所述调试服务器之前,对所述调试数据包进行加密。
31.根据本技术的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现前面任一所述的方法。
32.本技术通过研发设计一种调试板,通过在调试板中配置通信模块、数据解析模块和处理器,通信模块用于与调试服务器通信连接,以接收调试服务器发送过来的调试数据包,数据解析模块则用于对接收到的调试数据包进行解析,由调试数据包中提取出相应的调试指令。处理器,则直接被配置为与当前被调试的ssd电连接,以通过处理器将相应的调试指令发送给被调试的 ssd,从而实现对ssd的远程调试。
33.根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
34.包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
35.图1示出本技术实施例的用于实现ssd远程调试的调试板的结构示意图;
36.图2示出使用本技术实施例的用于实现ssd远程调试的调试板在进行 ssd芯片的远程调试过程中,对所发送的调试数据包进行加密处理时的流程示意图;
37.图3示出使用本技术实施例的用于实现ssd远程调试的调试板在进行 ssd芯片的远程调试过程中,对所发送的调试数据包进行加密处理时的流程示意图;
38.图4示出使用本技术实施例的用于实现ssd远程调试的调试板在进行 ssd芯片的远程调试过程中,将发送的调试指令进行封装组成调试数据包后的示意图;
39.图5示出使用本技术实施例的调试板进行ssd远程调试过程中的数据传输过程示意图;
40.图6示出本技术实施例的ssd远程调试方法的流程图;
41.图7示出本技术实施例的ssd远程调试系统中的gui操作界面示意图。
具体实施方式
42.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
43.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
44.另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
45.图1示出根据本公开一实施例的用于实现ssd200远程调试的调试板100 的结构示意图。如图1所示,该调试板100包括:板卡。板卡上配置有通信模块110、数据解析模块120和处理器130。其中,通信模块110,被配置为接收由调试服务器300发送过来的调试数据包。数据解析模块120,被配置为对调试数据包进行解析,由调试数据包中提取出当前的调试指令。处理器130,则被配置为将调试指令发送至ssd200芯片,以使ssd200芯片根据调试指令执行相应的操作。
46.由此,本技术通过研发设计一种调试板100,通过在调试板100中配置通信模块110、数据解析模块120和处理器130,通信模块110用于与调试服务器 300通信连接,以接收调试服务器300发送过来的调试数据包,数据解析模块120则用于对接收到的调试数据包进行解析,由调试数据包中提取出相应的调试指令。处理器130,则直接被配置为与当前被调试的ssd200电连接,以通过处理器130将相应的调试指令发送给被调试的ssd200,从而实现对 ssd200的远程调试。
47.此处,需要说明的是,调试服务器300可以直接采用客户端所配置的服务器,也可以直接采用云服务器来实现,此处不对其进行具体限定。
48.通信模块110可以直接采用wifi模块来实现,也可以采用其他能够实现远程通信的方式来实现,此处也不对其进行具体限定。
49.进一步地,在本技术实施例的调试板100中,板卡上对应还配置有数据解密模块140。其中,数据解密模块140,被配置为对通信模块110接收到的调试数据包进行解密处理,然后再将解密处理后的调试数据包发送至数据解析模块120,由数据解析模块120对调试数据包进行解析。
50.此处,应当指出的是,在对ssd200进行远程调试时,为了保证数据的安全性,在将
调试数据包发送至调试服务器300之前,可以对调试数据包进行加密处理,然后在将加密处理后的调试数据包发送给调试服务器300,由调试服务器300将加密处理后的调试数据包下发至调试板100。
51.对应的,调试板100通过通信模块110接收到加密处理后的调试数据包之后,再由数据解密模块140对加密处理后的调试数据包进行解密处理。
52.在一种可能的实现方式中,在调试数据包进行加密处理时,可以通过以下加密方式来实现。
53.首先,在调试端gui(即,终端)生成对调试数据包进行加密处理时所使用的密钥数据(包括公钥和私钥)。具体的,参阅图2所示,在生成用于加密调试数据包的密钥数据时,首先,随机选取一对素数对(p,q),然后基于所选取的素数对计算公共模数。在计算公共模数时通过公式:m=p*q实现。 m为计算得到的公共模数。同时,还根据所选取的素数对计算欧拉数。欧拉数eular的计算公式为:eular=(p-1)*(q-1)。
54.通过上述方式分别计算得到公共模数m和欧拉数eular之后,再根据计算得到的公共模数m和欧拉数eular,分别计算加密指数e和模的逆元inverse。其中,在计算加密指数e和模的逆元inverse时,可以采用本领域常规的技术方式实现,此处不再进行赘述。
55.计算得到加密指数后,再基于所计算得到的加密指数生成公钥,同时基于所计算得到的模的逆元生成加密私钥。
56.,接着,将得到数据的公钥与私钥,将publickey 公钥组成的明文数据通过调服务器远程发送给调试板100,这时调试板100就获得了加密数据的公钥,而gui端(即,调试终端)自己握住了私钥。gui端再将用户请求的数据(即,调试数据包)封装组成一个大的数据包,再使用所生成的私钥按照图3所示的方式来进行加密,也就是通过模幂运算来得到加密后的密文。
57.其中,在本技术实施例中,对于公钥和私钥均是4096bit,增加了破解数据的难度,以并且还通过采用非对称加解密的方式来进一步提高了破解数据的难度。
58.此处,还需要指出的是,在对要发送的包含调试指令的数据封装组成一个大的数据包作为调试数据包时,数据的封装形式可以参照图4所示的格式进行封装组合。
59.对应的,在数据解密模块140对加密处理后的调试数据包进行解密处理时,则直接采用加密处理的逆运算进行即可。具体的,对调试数据包进行解密处理时,可以包括以下步骤:
60.对于解密来说同样是使用图3所示的模幂运算方式,但是对于解密模块 140来说使用的是自己在一开始接收到的公钥来进行解密,进而得到图2中的明文。
61.另外,还需要指出的是,在一种可能的实现方式中,还可以将对调试数据包进行加密处理时的加密密钥直接存储在调试服务器300中,从而在数据解析模块120对加密处理后的调试数据包进行解密处理时,通过通信模块110 由调试服务器300中直接获取相应的密钥,进而再根据读取到的密钥对调试数据包进行解密处理。
62.进一步地,基于前面任一所述的调试板100,本技术还提供了一种 ssd200远程调试方法。其中,参见图5和图6,在使用前面任一所述的调试板100进行ssd200远程调试时,首先通过步骤s001,由终端400发送调试数据包到调试服务器300。然后,再通过步骤s100,由调试板100中的通信模块 110获取调试服务器300发送的调试数据包。接着,再由调试板100
中的数据解析模块120通过步骤s200,对调试数据包进行解析,由调试数据包中提取出相应的调试指令。最后,再通过步骤s300,将调试指令发送至ssd200芯片,由ssd200芯片根据接收到的调试指令执行相应的操作。
63.进一步地,在步骤s001中,通过终端400将调试数据包发送至调试服务器300时,可以通过在终端400中装载相应的数据包发送模块,由数据包发送模块进行调试数据包的发送。其中,在终端400中通过数据包发送模块发送调试数据包至调试服务器300时,可以通过触发gui界面中的指令控件的方式进行。
64.即,参阅图7,通过终端400进行调试数据包的发送时,通过在终端400 装载数据包发送模块,并使用人机交互技术,通过gui界面,从而在进行调试数据包的发送时,调试人员只需要触发gui界面中相应的控件即可,这就有效简化了ssd200远程调试的操作过程,并且使得ssd200远程调试更加直观。
65.其中,需要指出的是,在终端400中通过触发gui界面中的控件来实现调试数据包的发送,可以通过控件触发后直接调用对应的调试数据包脚本来实现,此处不再进行赘述。
66.另外,在本技术实施例的方法中,在进行调试数据包的发送之前,还包括:获取ssd200芯片的当前运行数据,并将获取到的当前运行数据推送显示到gui界面中。
67.即,在执行本技术的ssd200远程调试方法时,需要根据ssd200的当前运行状态进行相应的调试。在获取ssd200的当前运行状态时,可以直接通过触发gui界面中的接收数据控件,从而在该控件被触发后,先向调试服务器300发送获取运行状态数据的指令。
68.调试服务器300接收到获取运行状态数据的指令后,将该指令直接下发至调试板100,调试板100再通过对该指令进行解析进而根据该指令获取得到被调试的ssd200的当前运行状态。
69.调试板100获取到被调试ssd200的当前运行状态之后,再通过调试板 100中的通信模块110将当前运行状态上传至调试服务器300,调试服务器300 再将接收到的当前运行状态发送至终端400,通过装载在终端400上的gui界面将当前运行状态显示出来。进而,再由调试研发人员根据gui界面当前显示出来的运行状态确定相应的调试指令。在确定相应的调试指令后,即可通过触发gui界面上设置的对应控件(如:重启、复位等)进行调试数据包的发送。
70.其中,在发送调试数据包至调试服务器300之前,还可以包括对调试数据包的加密处理操作,从而使得调试数据包以加密后的形式上传至调试服务器300,以保证调试数据包的安全性。
71.在调试板100的通信模块110由调试服务器300获取到加密处理后的调试数据包后,进而再由数据解密模块140对加密处理后的调试数据包进行解密处理,从而再根据解密后的调试数据包提取出相应的调试指令来,最后再由调试板100上的处理器130根据提取出来的调试指令对被调试ssd200进行相应的操作。
72.更进一步地,为了实现上述ssd200远程调试方法,本技术还提供了一种用于实现ssd200远程调试的调试系统。其中,本技术的用于实现ssd200 远程调试的调试系统,包括调试数据包发送模块和前面任一所述的调试板 100。
73.此处,本领域技术人员可以理解的是,调试数据包发送模块可以装载在移动终端400(如:pc、平板电脑、或手机终端等)上,从而直接利用移动终端400的显示界面进行
ssd200的当前运行状态以及各调试指令对应的控件的显示。
74.其中,调试数据包发送模块,被配置为发送调试数据包至调试服务器300。调试板100中的通信模块110,则被配置为接收由调试服务器300下发的调试数据包。调试板100中的数据解析模块120,被配置为对调试数据包进行解析,由调试数据包中提取出当前的调试指令。调试板100中的处理器130,被配置为将调试指令发送至ssd200芯片,以使ssd200芯片根据调制指令执行相应的操作。
75.同时,根据前面所述,调试数据包发送模块可以装载在终端400中,并基于终端400的显示屏配置相应的gui操作界面。其中,参阅图7所示,gui 操作界面中设置有指令控件,指令控件包括接收数据、重启、复位和断电中的至少一种。
76.进一步地,在本技术实施例的调试系统中,调试数据包发送模块还包括有数据加密子模块(图中未示出)。其中,数据加密子模块,被配置为在发送调试数据包至调试服务器300之前,对调试数据包进行加密。
77.根据本公开的另一方面,还提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器130执行时实现前面任一所述的ssd200远程调试方法。
78.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。