一种用于SSD控制器多AXI交易的方法、系统、设备及介质与流程

文档序号:33174136发布日期:2023-02-04 03:11阅读:27来源:国知局
一种用于SSD控制器多AXI交易的方法、系统、设备及介质与流程
一种用于ssd控制器多axi交易的方法、系统、设备及介质
技术领域
1.本技术涉及固态硬盘技术领域,尤其涉及一种用于ssd控制器多axi交易的方法、系统、设备及介质。


背景技术:

2.axi(advanced extensible interface,高级可拓展接口)是一种面向高性能、高带宽、低延迟的片内总线。在固态硬盘中,通常是主机通过互联模块发送地址、数据等事务给从机,从而完成一次交易。同时,通过互联模块上进行信号传输,完成其它模块的调试,进而进行总线测试过程。
3.然而,单笔传输交易不利于充分利用axi总线资源,所以,基于axi总线支持不对齐的数据传输,同时支持乱序传输和间插传输的特性,目前已可以进行多axi交易。但是,虽然axi总线协议中支持乱序交易,但实际应用中极少会涉及,因为要支持这种协议对系统中的主机和从机的硬件要求都比较高;基于arm的soc设计中跟少用到,而且现在常用的一些ip也不支持乱序交易;随着主机、从机端口增加,信号堵塞,现有的多axi交易方法很容易造成死锁现象。所以,提出一种新的多axi交易实现方法,让其在实现多axi交易的基础上变得普适性更高、可以适应多端口的传输而避免死锁现象,变得刻不容缓。
4.目前,互联模块作为固态硬盘中的传输信号的重要模块,其承担了信号传输的作用,若该模块接口不能正常运行或工作,则会严重阻碍固态硬盘中其它模块的调试,导致进度无法向前推进。所以,如何提升总线测试的效率,同时使模型增加有软件的调度接口,通过软件来控制各种激励的产生,变得尤为重要。


技术实现要素:

5.本技术实施例提供了一种用于ssd控制器多axi交易的方法、系统、设备及介质,用以解决现有的多axi交易方法很容易造成死锁现象的技术问题。
6.一方面,本技术实施例提供了一种用于ssd控制器多axi交易的方法,所述方法包括:
7.接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据;
8.对所述交易任务进行解码操作;
9.对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序;
10.按照所述传输顺序,执行所述交易任务。
11.在本技术的一种实现方式中,所述对所述交易任务进行解码操作,具体为:
12.获取所述地址的标记;按照所述标记的顺序,依次进行地址缓存;对缓存出来的地址进行依次解码。地址解码模块功能。省去了从机解码器解码的步骤,具体表现为:连续的逻辑地址对应的物理地址可以不连续,即连续地址通过解码可转换为离散地址,增加了地址普适性,同时可以适应多端口的传输而避免死锁现象。
13.在本技术的一种实现方式中,在所述对缓存出来的地址进行依次解码之后,所述
方法还包括:
14.将解码后的地址进行地址解析。
15.在本技术的一种实现方式中,所述对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序,具体为:
16.基于轮询算法得到所述交易任务对应的优先级信息,按照优先级由大到小的顺序,将所述交易任务进行逐个标识,生成每个交易任务对应的标识序号;
17.将带有标识序号所有交易任务对应生成触发时间集,其中,优先级越大的触发时间越短;
18.预设每个时间集的时间间隔,将所述时间间隔作为一个周期阈值;
19.在时间达到最大触发时间时,将对应的目标交易任务发送至响应端口。本技术实施例增加了优先级排序模块功能。防止产生死锁现象,增加传输效率很好的进行了时序控制:优先级高的则进行实时传输,优先级低的则等待传输,即延迟访问。
20.在本技术的一种实现方式中,在所述对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序之后,所述方法还包括:
21.生成测试命令,对所述测试命令进行响应及解析;通过配置参数应用fpga进行运行测试;通过fpga响应输入参数,执行输入参数对应的逻辑,得到执行结果;根据所述执行结果,判断目标配置是否运行正常。测试模块周围配有软件的调度接口,可以应用于fpga中,通过软件来控制各种激励的产生。以此来完成总线测试。
22.在本技术的一种实现方式中,所述对所述交易任务进行解码操作时,应用multiple region signaling标识不同主机的不同区域,以提供高阶地址位的解码。
23.在本技术的一种实现方式中,所述对解码后的所述交易任务进行优先级排序时,应用qos signaling对所述交易任务的优先级进行排序。
24.本技术实施例还提供了一种用于ssd控制器多axi交易的系统,所述系统包括:
25.解码单元,用于接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据;以及用于对所述交易任务进行解码操作;
26.优先级排序单元,用于对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序;
27.控制单元,用于按照所述传输顺序,执行所述交易任务。
28.本技术实施例还提供了一种用于ssd控制器多axi交易的设备,所述设备包括:
29.至少一个处理器;以及,
30.与所述至少一个处理器通信连接的存储器;其中,
31.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
32.接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据;
33.对所述交易任务进行解码操作;
34.对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序;
35.按照所述传输顺序,执行所述交易任务。
36.本技术实施例还提供了一种用于ssd控制器多axi交易的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
37.接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据;
38.对所述交易任务进行解码操作;
39.对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序;
40.按照所述传输顺序,执行所述交易任务。
41.本技术实施例提供的一种用于ssd控制器多axi交易的方法、系统、设备及介质,针对传统的单笔axi交易的实现方式,一种应用于ssd控制器多axi交易的实现方法可增加传输量,进而增加传输效率,充分利用总线资源,减少资源消耗。连续的逻辑地址对应的物理地址可以不连续,即连续地址通过解码可转换为离散地址,增加了地址普适性,同时可以适应多端口的传输而避免死锁现象。增加了优先级排序模块功能。防止产生死锁现象,增加传输效率。很好的进行了时序控制:优先级高的则进行实时传输,优先级低的则等待传输,即延迟访问,以此来完成不同id的有序传输,即避免多通道数据传输冲突,避免了乱序传输和间插传输的死锁问题,更普适、更高效。
附图说明
42.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
43.图1为本技术实施例提供的一种用于ssd控制器多axi交易的方法流程图;
44.图2为本技术实施例提供的整体结构框图;
45.图3为本技术实施例提供的一种用于ssd控制器多axi交易的系统组成图;
46.图4为本技术实施例提供的一种用于ssd控制器多axi交易的设备示意图。
具体实施方式
47.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.axi(advanced extensible interface,高级可拓展接口)是一种面向高性能、高带宽、低延迟的片内总线。在固态硬盘中,通常是主机通过互联模块发送地址、数据等事务给从机,从而完成一次交易。同时,通过互联模块上进行信号传输,完成其它模块的调试,进而进行总线测试过程。
49.然而,单笔传输交易不利于充分利用axi总线资源,所以,基于axi总线支持不对齐的数据传输,同时支持乱序传输和间插传输的特性,目前已可以进行多axi交易。但是,虽然axi总线协议中支持乱序交易,但实际应用中极少会涉及,因为要支持这种协议对系统中的主机和从机的硬件要求都比较高;基于arm的soc设计中跟少用到,而且现在常用的一些ip也不支持乱序交易;随着主机、从机端口增加,信号堵塞,现有的多axi交易方法很容易造成死锁现象。所以,提出一种新的多axi交易实现方法,让其在实现多axi交易的基础上变得普适性更高、可以适应多端口的传输而避免死锁现象,变得刻不容缓。
50.目前,互联模块作为固态硬盘中的传输信号的重要模块,其承担了信号传输的作用,若该模块接口不能正常运行或工作,则会严重阻碍固态硬盘中其它模块的调试,导致进
度无法向前推进。所以,如何提升总线测试的效率,同时使模型增加有软件的调度接口,通过软件来控制各种激励的产生,变得尤为重要。
51.本技术实施例提供了一种用于ssd控制器多axi交易的方法、系统、设备及介质,用以解决现有的多axi交易方法很容易造成死锁现象的技术问题。
52.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
53.图1为本技术实施例提供的一种用于ssd控制器多axi交易的方法流程图。如图1所示,该方法主要包括以下步骤:
54.步骤101、接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据。
55.在本技术实施例中,多个主机端口通过互联模块发送地址、数据等交易任务,并将各个交易任务标记为id1、id2
……
idn。
56.对于传统的单笔axi交易的实现方式,即一个主机发送地址、数据等交易事务给从机端口,再加上4k边界的传输限制,很显然单笔传输方式传输量小,很浪费传输时间,这对于ssd控制器上的片上系统协同运行的特点来说,显然是不够的。所以,本发明提出一种应用于ssd控制器多axi交易的实现方法,该方法可增加传输量,进而增加传输效率,充分利用总线资源,减少资源消耗。除此之外,主机可以当成从机,从机也可以变成主机以此进行反向传输,进一步增加传输量以及传输效率。
57.步骤102、对所述交易任务进行解码操作。
58.在本技术实施例中,对具有多个逻辑接口的单个子系统执行地址缓存和地址解码。缓存的地址为从主机发出的获取标记有id1、id2

idn的不同地址。当多个端口发送地址至多个互联模块时,多个连续的逻辑地址依次存入到地址缓存模块中,进行缓存。该所述地址缓存模块功能中的地址为先进先出原则,包括了读地址和写地址。
59.进一步地,对缓存出来的地址进行依次解码。应用支持多个区域的接口信号multiple region signaling标识不同主机的不同区域,进而提供高阶地址位的解码。
60.然后,对于多个连续逻辑高阶地址,因为不同id连续逻辑高阶地址映射到了不同地址解码模块中,所以经过解码,连续的逻辑地址可以解码到不同的物理地址。接着,将解码后的地址进行地址解析。地址缓存、地址解码、地址解析三个功能的关系为:先地址缓存,然后地址解码,最后地址解析。
61.针对乱序传输和间插传输,该方法有更好的适用性,不需要对系统中的主机和从机的硬件有更高要求。主要应用multiple region signaling标识不同主机的不同区域,进而提供高阶地址位的解码;应用qos signaling对事务的优先级进行排序,即对不同id列出相应传输顺序;以此来完成多axi交易。
62.步骤103、对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序。
63.在本技术实施例中,首先,使用轮询算法得到对应的优先级信息,按照优先级由大到小的顺序,将各事务标识为a1,a2,

,aw,

,an,即a1》a2》

》aw》

》an。然后,令各事务标识为a1,a2,

,aw,

,an对应的事务触发时间集为b1,b2,

,bw,

,bn,对应的,优先级越大,触发时间越短,即b1《b2《

《bw《

《bn,令每个时间集间隔为t,即bn-b(n-1)=t。t为一个周期阈值。当时间到达bn,将所述目标请求事务发送至aw对应的所述响应端口。以此来完成不同id的有序传输,避免多通道数据传输冲突,避免死锁现象。
64.传统方法主要使用质量服务信号(quality of service)对多事务进行优先级排序。即由于qos信号位宽为4bit,所以其值为0b0000、0b0001、

、0b1111,共16位,并规定其值越高,表示事务优先级越高。针对传统方法,本技术实施例提出的方法可以使事务数量不受限制。增加了优先级排序模块功能。防止产生死锁现象,增加传输效率。很好的进行了时序控制:优先级高的则进行实时传输,优先级低的则等待传输,即延迟访问。
65.本技术实施例中,通过相应的测试模块发出测试命令并解析,应用有软件的调度接口,将其应用于fpga中,通过软件来控制各种激励的产生。
66.具体来说,测试模块周围配有软件的调度接口,可以应用于fpga中,通过软件来控制各种激励的产生。以此来完成总线测试。首先,通过测试模块发出测试命令。然后,对命令进行响应和解析。接着,通过配置参数应用fpga进行运行测试。最后,通过fpga核响应输入参数,执行输入参数对应的逻辑,得到执行结果,以根据执行结果,判断目标配置是否运行正常。
67.本技术实施例提出的方法使模型增加了有软件的调度接口,通过软件来控制各种激励的产生,从而提升了总线测试的效率。
68.步骤104、按照所述传输顺序,执行所述交易任务。
69.在本技术实施例中,完成不同id的有序传输,即避免多通道数据传输冲突,避免了乱序传输和间插传输的死锁问题,更普适、更高效。
70.本技术实施例提供的方法让其在实现多axi交易的基础上变得普适性更高、通过地址解码实现了非连续地址空间的映射,即连续的逻辑地址对应的物理地址可以不连续,即连续地址通过解码可转换为离散地址,增加了地址普适性,同时可以适应多端口的传输而避免死锁现象。
71.如图2所示,图2为本技术实施例提供的整体结构框图,即多个主机通过互联模块(interconnect)发送地址、数据等事务,互联模块(interconnect)用来对具有多个逻辑接口的单个子系统执行地址解码以及对多事务进行优先级排序。此外,还有测试模块,通过测试模块发出测试命令并解析,应用有软件的调度接口,将其应用于fpga中,通过软件来控制各种激励的产生。
72.需要说明的是,如图2所示,主机可以当成从机,从机也可以变成主机,以此进行反向传输,进一步说明该系统互联模块主机端和从机端是不固定的,即在互联模块一侧可以有多个主机和多个从机,分别对应多个从机和多个主机,通过赋给各个事务不同的id,再经过地址解码模块和优先级排序模块,分别进行传输,将干扰降低到最小化,进一步增加传输量以及传输效率。
73.需要说明的是,完成解码过程需要有地址解码模块,包含地址缓存、地址解码、地址解析这三个功能,即对具有多个逻辑接口的单个子系统执行地址缓存、地址解码、地址解析。具体表现形式为:获取标记有id1、id2

idn的不同地址进行缓存、将缓存地址进行地址解码、将地址解析输出地址的有效信号。
74.进一步来说地址缓存、地址解码、地址解析三个功能,地址缓存:缓存的地址为从主机发出的获取标记有id1、id2

idn的不同地址。当多个端口发送地址至多个互联模块时,多个连续的逻辑地址依次存入到地址缓存模块中,进行缓存。该所述地址缓存模块功能中的地址为先进先出原则,包括了读地址和写地址。
75.地址解码:对缓存出来的地址进行依次解码。应用支持多个区域的接口信号(multiple region signaling)标识不同主机的不同区域,进而提供高阶地址位的解码。
76.地址解析:对于多个连续逻辑高阶地址,因为不同id连续逻辑高阶地址映射到了不同地址解码模块中,所以经过解码,连续的逻辑地址可以解码到不同的物理地址。接着,将解码后的地址进行地址解析。
77.地址缓存、地址解码、地址解析三个功能的关系为:先地址缓存,然后地址解码,最后地址解析。
78.本技术实施例提供的一种用于ssd控制器多axi交易的方法,针对传统的单笔axi交易的实现方式,一种应用于ssd控制器多axi交易的实现方法可增加传输量,进而增加传输效率,充分利用总线资源,减少资源消耗。连续的逻辑地址对应的物理地址可以不连续,即连续地址通过解码可转换为离散地址,增加了地址普适性,同时可以适应多端口的传输而避免死锁现象。增加了优先级排序模块功能。防止产生死锁现象,增加传输效率。很好的进行了时序控制:优先级高的则进行实时传输,优先级低的则等待传输,即延迟访问,以此来完成不同id的有序传输,即避免多通道数据传输冲突,避免了乱序传输和间插传输的死锁问题,更普适、更高效。
79.以上是本技术实施例提供的一种用于ssd控制器多axi交易的方法,基于同样的发明构思,本技术实施例还提供了一种用于ssd控制器多axi交易的系统,图3为本技术实施例提供的一种用于ssd控制器多axi交易的系统组成图,如图3所示,所述系统主要包括:
80.解码单元301,用于接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据;以及用于对所述交易任务进行解码操作;
81.优先级排序单元302,用于对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序;
82.控制单元303,用于按照所述传输顺序,执行所述交易任务。
83.本技术实施例中,解码单元301在所述对缓存出来的地址进行依次解码之后,还会调用解析单元,将解码后的地址进行地址解析。
84.本技术实施例中,优先级排序单元302具体执行的操作为:基于轮询算法得到所述交易任务对应的优先级信息,按照优先级由大到小的顺序,将所述交易任务进行逐个标识,生成每个交易任务对应的标识序号;将带有标识序号所有交易任务对应生成触发时间集,其中,优先级越大的触发时间越短;预设每个时间集的时间间隔,将所述时间间隔作为一个周期阈值;在时间达到最大触发时间时,将对应的目标交易任务发送至响应端口。
85.本技术实施例中,控制单元303除了执行所述交易任务之外,具体还执行:生成测试命令,对所述测试命令进行响应及解析;通过配置参数应用fpga进行运行测试;通过fpga响应输入参数,执行输入参数对应的逻辑,得到执行结果;根据所述执行结果,判断目标配置是否运行正常。
86.本技术实施例提供的一种用于ssd控制器多axi交易的系统,针对传统的单笔axi交易的实现方式,一种应用于ssd控制器多axi交易的实现方法可增加传输量,进而增加传输效率,充分利用总线资源,减少资源消耗。连续的逻辑地址对应的物理地址可以不连续,即连续地址通过解码可转换为离散地址,增加了地址普适性,同时可以适应多端口的传输而避免死锁现象。增加了优先级排序模块功能。防止产生死锁现象,增加传输效率。很好的
进行了时序控制:优先级高的则进行实时传输,优先级低的则等待传输,即延迟访问,以此来完成不同id的有序传输,即避免多通道数据传输冲突,避免了乱序传输和间插传输的死锁问题,更普适、更高效。
87.以上是本技术实施例提供的一种用于ssd控制器多axi交易的系统,基于同样的发明构思,本技术实施例还提供了一种用于ssd控制器多axi交易的设备,图4为本技术实施例提供的一种用于ssd控制器多axi交易的设备示意图,如图4所示,该设备主要包括:至少一个处理器401;以及,与至少一个处理器通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够完成:
88.接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据;
89.对所述交易任务进行解码操作;
90.对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序;
91.按照所述传输顺序,执行所述交易任务。
92.除此之外,本技术实施例还提供了一种用于ssd控制器多axi交易的非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
93.接收多个端口发送的交易任务;其中,所述交易任务包括:地址、数据;
94.对所述交易任务进行解码操作;
95.对解码后的所述交易任务进行优先级排序,以确定各个端口的传输顺序;
96.按照所述传输顺序,执行所述交易任务。
97.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
98.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
99.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
100.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
101.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
102.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
103.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1