掌桥专利:专业的专利平台
掌桥专利
首页

基于SRAM的AXI接口控制方法、装置及计算机设备

文献发布时间:2023-06-19 13:46:35


基于SRAM的AXI接口控制方法、装置及计算机设备

技术领域

本发明涉及固态硬盘技术领域,特别是涉及一种基于SRAM的AXI接口控制方法、装置、计算机设备及存储介质。

背景技术

计算机设备已经成为当今人们最具备生成力的实用工具,随着固态硬盘价格的下跌,固态硬盘越来越普及,NVMe SSD简称SSD(Solid State Disk或Solid State Drive)以其优越的性能更是发展迅猛,各大电脑厂商纷纷将计算机设备中的硬盘做成SSD。

目前,在固态硬盘的SOC芯片中,为了大幅提高性能一般采用多核CPU,在多核CPU上会共享SRAM(Static Random-Access Memory,静态随机存取存储器),一般采用AXI(Advanced extensible Interface,高级可扩展接口)挂在系统总线上,保证多master的访问。AXI总线结构扩展性灵活性强,但是AXI latency(延迟)比较大,对于强调latency的应用场景,如果还是采用AXI接口会影响固态硬盘的读写性能。

发明内容

基于此,有必要针对上述技术问题,提供一种基于SRAM的AXI接口控制方法、装置、计算机设备及存储介质。

一种基于SRAM的AXI接口控制装置,所述装置包括:

第一接口转换模块,所述第一接口转换模块用于对AXI接口进行转换得到对应的SRAM控制信号;

第二接口转换模块,所述第二接口转换模块用于对快速接口进行转换得到对应的SRAM控制信号;

第一缓存模块,所述第一缓存模块用于缓存来自AXI接口的写数据、写地址以及读地址;

第二缓存模块,所述第二缓存模块用于缓存来自SRAM的数据以及写响应;

接口选择模块,所述接口选择模块用于选择接口转换模块,所述第二接口转换模块的优先级高于第一接口转换模块。

在其中一个实施例中,所述接口选择模块还用于:

若传输的数据量小则优先选择通过快速接口进行数据传输,若传输的数据量大则通过AXI接口进行数据传输。

在其中一个实施例中,所述接口选择模块还用于:

当选择第二接口转换模块时将AXI接口传输阻塞住,待所述快速接口传输完之后再通过所述AXI接口继续传输。

在其中一个实施例中,所述AXI接口包括:写数据通道、写地址通道、读地址通道、读数据通道以及写响应通道。

一种基于SRAM的AXI接口控制方法,其特征在于,所述方法应用于上述任一所述的基于SRAM的AXI接口控制装置中,包括:

获取主机发送的数据读写请求;

根据所述数据读写请求的数据量大小选择对应的接口转换模块,所述第二接口转换模块的优先级高于第一接口转换模块;其中,所述第一接口转换模块用于对AXI接口进行转换得到对应的SRAM控制信号;所述第二接口转换模块用于对快速接口进行转换得到对应的SRAM控制信号;

通过第一缓存模块缓存来自AXI接口的写数据、写地址以及读地址;

通过第二缓存模块用于缓存来自SRAM的数据以及写响应。

在其中一个实施例中,所述根据所述数据读写请求的数据量大小选择对应的接口转换模块,所述第二接口转换模块的优先级高于第一接口转换模块的步骤还包括:

若传输的数据量小则优先选择通过快速接口进行数据传输,若传输的数据量大则通过AXI接口进行数据传输。

在其中一个实施例中,所述方法还包括:

当选择第二接口转换模块时将AXI接口传输阻塞住,待所述快速接口传输完之后再通过所述AXI接口继续传输。

在其中一个实施例中,所述AXI接口包括:写数据通道、写地址通道、读地址通道、读数据通道以及写响应通道。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。

上述基于SRAM的AXI接口控制方法、装置、计算机设备及存储介质中,通过根据数据读写请求的数据量大小选择对应的接口转换模块,第二接口转换模块的优先级高于第一接口转换模块;第一接口转换模块用于对AXI接口进行转换得到对应的SRAM控制信号;第二接口转换模块用于对快速接口进行转换得到对应的SRAM控制信号。本发明在原有的架构上,对于敏感延时的应用场景中增加了快速接口,通过两个接口的设计方案,以实现高性能及低延时,对于敏感延时的应用场景,采用快速接口可以有效地减少访问SRAM的延时。

附图说明

图1为一个实施例中基于SRAM的AXI接口控制装置的结构框图;

图2为一个实施例中基于SRAM的AXI接口控制信号的传输示意图;

图3为一个实施例中基于SRAM的AXI接口控制方法的流程示意图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在固态硬盘的SOC芯片中,为了大幅提高性能一般采用多核CPU,在多核CPU上会共享SRAM(Static Random-Access Memory,静态随机存取存储器),一般采用AXI(Advancedextensible Interface,高级可扩展接口)挂在系统总线上,保证多master的访问。AXI总线结构扩展性灵活性强,但是AXI latency(延迟)比较大,对于强调latency的应用场景,如果还是采用AXI接口会影响固态硬盘的读写性能。

基于此,本发明提供了一种基于SRAM的AXI接口控制方法,该方法针对于AXI SRAM访问延时长的缺点,在对于敏感延时的应用场景中增加快速接口。这样一个SRAM设计将包含两个接口,AXI和单纯的快速接口以实现高性能及低延时,对于敏感延时的应用场景,可以通过采用快速接口以减少访问SRAM的延时。

在一个实施例中,如图1所示,提供了一种基于SRAM的AXI接口控制装置,所述装置包括:

第一接口转换模块101,所述第一接口转换模块用于对AXI接口进行转换得到对应的SRAM控制信号;

第二接口转换模块102,所述第二接口转换模块用于对快速接口进行转换得到对应的SRAM控制信号;

第一缓存模块103,所述第一缓存模块用于缓存来自AXI接口的写数据、写地址以及读地址;

第二缓存模块104,所述第二缓存模块用于缓存来自SRAM的数据以及写响应;

接口选择模块105,所述接口选择模块用于选择接口转换模块,所述第二接口转换模块的优先级高于第一接口转换模块。

具体地,参考图2所示的基于SRAM的AXI接口控制信号的传输示意图,本方案在传统设计的基础上新增了fast_to_user_logic模块,通过该模块对快速接口进行转换,得到SRAM的控制信号。下面,对图2所示的各个模块以及信号进行说明如下:

在一个实施例中,所述AXI接口包括:写数据通道、写地址通道、读地址通道、读数据通道以及写响应通道。

具体地,AXI接口共有5个通道:wdata(写数据通道),awaddr(写地址通道),araddr(读地址通道),rddata(读数据通道),bresp(写响应通道)。

axi_to_user_logic模块用于对axi接口进行转换,得到SRAM控制信号。

fast_to_user_logic模块用于对快速接口进行转换,得到SRAM的控制信号。

cmd fifo模块用于缓存来自AXI的写数据/写地址,或者读地址。

resp fifo模块用于缓存来自SRAM的数据,及写响应。

real SRAM:真实的SRAM。

在一个实施例中,接口选择模块还用于:若传输的数据量小则优先选择通过快速接口进行数据传输,若传输的数据量大则通过AXI接口进行数据传输。

在一个实施例中,接口选择模块还用于:当选择第二接口转换模块时将AXI接口传输阻塞住,待所述快速接口传输完之后再通过所述AXI接口继续传输。

可参考图2中所示的arbit模块,具体地,arbit模块选择是AXI还是快速接口,注意快速接口优先级最高,将AXI传输block住,等快速接口传输完之后,AXI继续完成传输。因为快速接口一般用于低延时,数据量小的传输,如果数据量大,则采用AXI传输。

进一步地,对图2中的信号说明如下:

AXI对接SRAM的信号m*(带up的为加速的信号)。

mdata/mdata_up:写数据;mstrb:写选择信号;maddr:写地址;msize:写数据有效位宽。

mburst/mburst_up:是否连续写;mlen:连续写长度。

svalid/sdata/sresp/svalid_up/sdata_up/sresp_up:从SRAM返回的数据,及有效信号。

fast_ram*:快速接口的控制信号。

f_ram*:得到arbit模块返回的掌握控制权信号之后,产生相关的读写SRAM信号。

f_control_right:快速接口得到访问SRAM的权限。

a_control_right:AXI接口得到访问SRAM的权限。

abt_ram*:经过arbit模块之后的cmd或者写数据,还有来自SRAM的读数据。

在上述实施例中,通过根据数据读写请求的数据量大小选择对应的接口转换模块,第二接口转换模块的优先级高于第一接口转换模块;第一接口转换模块用于对AXI接口进行转换得到对应的SRAM控制信号;第二接口转换模块用于对快速接口进行转换得到对应的SRAM控制信号。上述方案在原有的架构上,对于敏感延时的应用场景中增加了快速接口,通过两个接口的设计方案,以实现高性能及低延时,对于敏感延时的应用场景,采用快速接口可以有效地减少访问SRAM的延时。

在一个实施例中,如图3所示,提供了一种基于SRAM的AXI接口控制方法,该方法可应用于上述基于SRAM的AXI接口控制装置中,包括:

步骤302,获取主机发送的数据读写请求;

步骤304,根据数据读写请求的数据量大小选择对应的接口转换模块,第二接口转换模块的优先级高于第一接口转换模块;

步骤306,第一接口转换模块用于对AXI接口进行转换得到对应的SRAM控制信号;

步骤308,第二接口转换模块用于对快速接口进行转换得到对应的SRAM控制信号;

步骤310,通过第一缓存模块缓存来自AXI接口的写数据、写地址以及读地址;

步骤312,通过第二缓存模块用于缓存来自SRAM的数据以及写响应。

在一个实施例中,AXI接口包括:写数据通道、写地址通道、读地址通道、读数据通道以及写响应通道。

在一个实施例中,根据数据读写请求的数据量大小选择对应的接口转换模块,第二接口转换模块的优先级高于第一接口转换模块的步骤还包括:若传输的数据量小则优先选择通过快速接口进行数据传输,若传输的数据量大则通过AXI接口进行数据传输。

在一个实施例中,该方法还包括:当选择第二接口转换模块时将AXI接口传输阻塞住,待所述快速接口传输完之后再通过所述AXI接口继续传输。

具体地,结合图2所示的基于SRAM的AXI接口控制信号的传输示意图,对不同情况下的读写过程进行说明如下:

第一种,在仅有AXI读写的情况下(一直获得操作权限):

写:经过axi_to_user_logic模块,数据和命令合并走cmd fifo模块(同时将写OK写到resp fifo中),然后再经过arbit模块,写到真实的SRAM中。

读:经过axi_to_user_logic模块,读命令走cmd fifo模块,然后再经过arbit模块,读命令给真实的SRAM,读数据输出后,然后再经过arbit模块,写到resp fifo模块里面,最后再通过AXI读数据通路输出。

第二种,在仅有快速接口读写的情况下(一直获得操作权限):

写:经过fast_to_user_logic模块,写命令及写数据经过arbit模块,写到真实的SRAM中。

读:经过axi_to_user_logic模块,读命令经过arbit模块,读命令给真实的SRAM,读数据输出后,然后再经过arbit模块,通过快速读数据通路输出。

第三种,在AXI/快速接口混合的情况下:

快速接口优先级最高,将AXI传输block住,等快速接口传输完之后,AXI继续完成传输。其中,快速接口一般用于低延时,数据量小的传输,如果数据量大,则采用AXI传输。

应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种计算机设备,其内部结构图可以如图4所示。该计算机设备包括通过装置总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作装置、计算机程序和数据库。该内存储器为非易失性存储介质中的操作装置和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于SRAM的AXI接口控制方法。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 基于SRAM的AXI接口控制方法、装置及计算机设备
  • 一种基于AXI协议接口的任意位宽转换方法及装置
技术分类

06120113807974