CN118132472A - 一种基于多接口ddr内存控制器的实现方法及装置 - Google Patents
一种基于多接口ddr内存控制器的实现方法及装置 Download PDFInfo
- Publication number
- CN118132472A CN118132472A CN202410551533.2A CN202410551533A CN118132472A CN 118132472 A CN118132472 A CN 118132472A CN 202410551533 A CN202410551533 A CN 202410551533A CN 118132472 A CN118132472 A CN 118132472A
- Authority
- CN
- China
- Prior art keywords
- information
- interface
- module
- coded
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims abstract description 136
- 239000000872 buffer Substances 0.000 claims description 62
- 230000003139 buffering effect Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供基于多接口DDR内存控制器的实现方法及装置,涉及电数字数据处理技术领域。此方法应用于DDR系统,DDR系统包括本地接口、AXI4接口、多个缓存模块、通道模块、命令仲裁模块、解析模块和DDR存储器,方法包括:接收到多个编码信息时,根据预设选取规则选择多个编码信息对应的传输接口为本地接口或AXI4接口;在选择的传输接口为本地接口时,将多个编码信息通过本地接口传输,并依次进行缓存、解析和存储;在选择的传输接口为AXI4接口时,将多个编码信息通过AXI4接口传输,并依次进行仲裁选择、缓存、解析和存储。这样,使数据信息的传输效率较高以及使用户使用DDR内存控制器接口传输数据信息更加方便。
Description
技术领域
本发明涉及电数字数据处理技术领域,尤其涉及一种基于多接口双倍数据速率(Double Data Rate,DDR)内存控制器的实现方法及装置。
背景技术
DDR系统通常是由DDR内存控制器和DDR存储器组成。而DDR内存控制器是根据用户输入的请求,来按照DDR规范协议中定义的时序向DDR 存储器发起初始化、读、写等一系列指令,根据这些指令将数据进行传输,而DDR存储器是实现传输的数据的存储和对DDR内存控制器指令的响应。
目前,DDR内存控制器的接口要么只有本地接口,要么只有AXI4接口。然而,对于任何数据的传输要么只能使用本地接口,要么只能使用AXI4接口,只能通过DDR内存控制器仅有的一种接口进行数据传输,使得数据信息的传输效率低,要是用户想将DDR内存控制器仅有的一种接口换成另一种接口时,需要将DDR内存控制器需要控制的代码进行重新撰写还需要对DDR内存控制器的内部模块进行重新连接,使得用户使用DDR内存控制器接口传输数据信息不方便。
发明内容
本发明实施例的目的是提供基于多接口DDR内存控制器的实现方法及装置,解决数据信息传输过程中,因数据量大小差异所导致的传输效率低下的问题。根据数据量大小配置不同的传输接口,使得数据传输效率更高,使用更加灵活。
为解决上述技术问题,本发明实施例提供如下技术方案:
本发明第一方面提供一种基于多接口DDR内存控制器的实现方法,应用于DDR系统,DDR系统包括本地接口、AXI4接口、多个缓存模块、通道模块、命令仲裁模块,方法包括:
接收到多个编码信息时,根据预设选取规则,选择多个编码信息对应的传输接口为本地接口或AXI4接口,多个编码信息包括多个编码命令和多个编码数据,各编码信息为对应的各传输信息的数字表示形式的信息;
在选择的传输接口为本地接口时,将多个编码信息通过本地接口传输到至少一个缓存模块中进行缓存;
对至少一个缓存模块中的多个编码信息进行解析,并将解析后的各编码信息对应的各传输信息进行存储;
在选择的传输接口为AXI4接口时,将多个编码信息通过AXI4接口传输到通道模块中,通过通道模块将多个编码信息进行传输,传输到命令仲裁模块;
通过命令仲裁模块在多个编码命令中选择一个目标编码命令;
将目标编码命令和多个编码数据通过一个缓存模块进行缓存;
对一个缓存模块中的目标编码命令和多个编码数据进行解析,并将解析后的目标编码命令和多个编码数据分别对应的传输信息进行存储。
本申请第二方面提供一种基于多接口DDR内存控制器的实现装置,应用于DDR系统,装置包括:
选择模块,用于接收到多个编码信息时,根据预设选取规则,选择多个编码信息对应的传输接口为本地接口或AXI4接口,多个编码信息包括多个编码命令和多个编码数据,各编码信息为对应的各传输信息的数字表示形式的信息;
本地接口,用于在选择的传输接口为本地接口时,将多个编码信息传输到至少一个缓存模块中;
缓存模块,用于将本地接口传输的多个编码信息进行缓存;
解析存储模块,用于对至少一个缓存模块中的多个编码信息进行解析,并将解析后的各编码信息对应的各传输信息进行存储;
AXI4接口,用于在选择的传输接口为AXI4接口时,将多个编码信息传输到通道模块中;
通道模块,用于将多个编码信息进行传输,传输到命令仲裁模块;
命令仲裁模块,用于在多个编码命令中选择一个目标编码命令;
缓存模块,用于将目标编码命令和多个编码数据进行缓存;
解析存储模块,对一个缓存模块中的目标编码命令和多个编码数据进行解析,并将解析后的目标编码命令和多个编码数据分别对应的传输信息进行存储。
本申请第三方面提供一种计算机可读存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述第一方面或第一方面任一种可选的实施例的基于多接口DDR内存控制器的实现方法。
相较于现有技术,本发明提供的基于多接口DDR内存控制器的实现方法及装置,应用于DDR系统,DDR系统包括本地接口、AXI4接口、多个缓存模块、通道模块、命令仲裁模块,接收到多个编码信息时,根据预设选取规则,选择多个编码信息对应的传输接口为本地接口或AXI4接口;在选择的传输接口为本地接口时,将多个编码信息通过本地接口进行传输,并依次进行缓存、解析和存储;在选择的传输接口为AXI4接口时,将多个编码信息通过AXI4接口进行传输,并依次进行仲裁选择、缓存、解析和存储。这样,DDR系统中内存控制器的接口有本地接口也有AXI4接口,对多个编码信息可以在本地接口和AXI4接口中,选择适用的一种接口进行数据信息传输,使得数据信息的传输效率较高,对不同应用场景中的编码信息,需要转换接口进行传输时,仅需按照预设选取规则直接选取合适的接口就可以实现数据信息传输,使得用户使用DDR内存控制器接口传输数据信息更加方便。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,相同或对应的标号表示相同或对应的部分,其中:
图1示意性地示出了基于多接口DDR内存控制器的实现方法的架构图;
图2示意性地示出了基于多接口DDR内存控制器的实现方法的流程图;
图3示意性地示出了选择本地接口的信息传输示意图;
图4示意性地示出了选择AXI4接口的信息传输示意图;
图5示意性地示出了基于多接口DDR内存控制器的实现装置的结构图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施方式。虽然附图中显示了本发明的示例性实施方式,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
需要注意的是:除非另有说明,本发明使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
本发明的基于多接口DDR内存控制器的实现方法,应用于DDR系统,DDR系统包括本地接口、AXI4接口、缓存模块、通道模块、命令仲裁模块、解析模块、DDR存储器和选择模块。图1示意性地示出了基于多接口DDR内存控制器的实现方法的架构图,具体的,架构图中包含选择模块、本地接口、AXI4接口、缓存模块、通道模块和命令仲裁模块、解析存储模块。选择模块分别与本地接口、AXI4接口连接进行信息传输,本地接口与缓存模块连接进行信息传输,AXI4接口与通道模块和命令仲裁模块连接进行信息传输,通道模块和命令仲裁模块与缓存模块连接进行信息传输,缓存模块与解析存储模块连接进行信息传输。本地接口和AXI4接口给用户提供的不同接口,用户可以根据应用场景选择不同的接口进行存储的访问。
下面对本发明实施例中的方法进行详细说明。
图2示意性地示出了本发明实施例中的基于多接口DDR内存控制器的实现方法的流程图,参见图1所示,该方法应用于DDR系统,DDR系统包括本地接口、AXI4接口、多个缓存模块、通道模块、命令仲裁模块,该方法可以包括:
S201、接收到多个编码信息时,根据预设选取规则,选择多个编码信息对应的传输接口为本地接口或AXI4接口。
其中,多个编码信息包括多个编码命令和多个编码数据,各编码信息为对应的各传输信息的数字表示形式的信息。
具体的,接收到多个编码信息时,根据预设选取规则,选择多个编码信息对应的传输接口为本地接口或AXI4接口,包括:
步骤A1:接收到多个编码信息时,确定多个编码信息对应的数据量、带宽和延迟是否满足预设条件。
预设条件为传输的多个编码信息对应的数据量大且要求高带宽以及低延迟的条件。
具体的,接收到多个编码信息时,确定多个编码信息对应的数据量、带宽和延迟是否满足数据量大且要求高带宽以及低延迟。
接收到多个编码信息时,确定多个编码信息对应的数据量、带宽和延迟是否满足数据量大且要求高带宽以及低延迟,若是,则执行步骤A2,若否,则执行步骤A3。
步骤A2:选择多个编码信息对应的传输接口为AXI4接口。
接收到多个编码信息时,确定多个编码信息对应的数据量、带宽和延迟是否满足数据量大且要求高带宽以及低延迟,若是,则选择多个编码信息对应的传输接口为AXI4接口。
也就是说,根据用户需求以及不同应用场景,选择不同的接口进行数据传输,当用户需要传输的数据量大且要求高带宽以及低延迟时,选择传输接口为AXI4接口,通过AXI4接口进行多个编码信息的传输。
步骤A3:选择多个编码信息对应的传输接口为本地接口。
接收到多个编码信息时,确定多个编码信息对应的数据量、带宽和延迟是否满足数据量大且要求高带宽以及低延迟,若否,则说明多个编码信息对应的数据量较小且对带宽以及延迟没有过高要求,则需要选择多个编码信息对应的传输接口为本地接口,可以选择控制结构相对简单的本地接口进行多个编码信息的传输。
可以为用户提供选择不同接口,方便用户根据自己的需求选择不同的DDR内存控制器接口进行信息传输和存储空间的访问。
S202、在选择的传输接口为本地接口时,将多个编码信息通过本地接口传输到至少一个缓存模块中进行缓存。
其中,至少一个缓存模块包括第一缓存模块和第二缓存模块。第一缓存模块可以表示为port0,第二缓存模块可以表示为port1。port0和port1是用户请求的命令和数据的缓存模块。
选择的本地接口(native port)可以和DDR内存控制器交互。
具体的,在选择的传输接口为本地接口时,将多个编码信息通过本地接口传输到至少一个缓存模块中进行缓存,包括:
步骤B1:在选择的传输接口为本地接口时,获取用户的需求信息。
用户的需求信息用于指示将多个编码信息缓存至第一缓存模块,或将多个编码信息缓存至第二缓存模块,或将多个编码信息缓存至第一缓存模块和第二缓存模块中。
步骤B2:在用户的需求信息为第一需求信息时,根据第一需求信息,将多个编码信息通过本地接口传输到第一缓存模块中。
其中,第一需求信息用于指示将多个编码信息缓存至第一缓存模块。
步骤B3:通过第一缓存模块将多个编码信息进行缓存。
步骤B4:在用户的需求信息为第二需求信息时,根据第二需求信息,将多个编码信息通过本地接口传输到第二缓存模块中。
其中,第二需求信息用于指示将多个编码信息缓存至第二缓存模块。
步骤B5:通过第二缓存模块将多个编码信息进行缓存。
步骤B6:在用户的需求信息为第三需求信息时,根据第三需求信息,将多个编码信息通过本地接口传输到第一缓存模块和第二缓存模块中。
其中,第三需求信息用于指示将多个编码信息以轮询的方式缓存至第一缓存模块和第二缓存模块。
步骤B7:通过第一缓存模块和第二缓存模块,将多个编码信息以轮询的方式进行缓存。
多个编码信息包括编码命令和编码数据,编码数据包括编码读数据和编码写数据,传输信息包括传输命令和传输数据,传输数据包括读数据和写数据。编码命令是传输命令的数字表示形式,编码数据是传输数据的数字表示形式,即编码读数据是读数据的数字表示形式,编码写数据是写数据的数字表示形式。
第一缓存模块和第二缓存模块均包括命令缓冲子模块(cmd_fifo)、读数据缓冲子模块(dr_fifo)和写数据缓冲子模块(dw fifo)。上述两个缓存模块均通过cmd_fifo 缓存用户输入的编码命令、dr_fifo 缓存用户的从DDR 存储器读到的编码数据即编码读数据,dw fifo是缓存用户准备输入到DDR 存储器中的编码写数据。
S203、对至少一个缓存模块中的多个编码信息进行解析,并将解析后的各编码信息对应的各传输信息进行存储。
具体的,对至少一个缓存模块中的多个编码信息进行解析,并将解析后的各编码信息对应的各传输信息进行存储,包括:
步骤C1:在选择的传输接口为本地接口且接收到解析请求时,通过解析模块获取各编码信息与对应的各传输信息的关系表。
各编码信息与对应的各传输信息的关系表包括:编码命令和传输命令的对应关系,编码数据和传输数据的对应关系,编码数据和传输数据的对应关系包括编码读数据和读数据的对应关系,编码写数据和写数据的对应关系。
步骤C2:根据关系表,将至少一个缓存模块中的多个编码信息进行解析,得到各编码信息对应的各传输信息。
根据关系表,将至少一个缓存模块中的编码命令、编码读数据和编码写数据进行解析,得到编码命令对应的传输命令,编码读数据对应的读数据,编码写数据对应的写数据。
步骤C3:将各传输信息存储到DDR存储器中。
将传输命令、读数据和写数据存储到DDR存储器中。
图3示意性地示出了选择本地接口的信息传输示意图,本地接口分别与第一缓存模块port0和第二缓存模块port1连接,用户也可以选择只将命令和数据即编码信息存放到port0中的,也可以只将命令和数据存放到port1中,同时也可以将命令和数据以轮询的方式,轮流的存放到port0和port1中;第一缓存模块port0和第二缓存模块port1均与解析存储模块连接,可以将多个编码信息进行解析,并将解析后的各编码信息对应的各传输信息进行存储。
S204、在选择的传输接口为AXI4接口时,将多个编码信息通过AXI4接口传输到通道模块中,通过通道模块将多个编码信息进行传输,传输到命令仲裁模块。
其中,多个编码信息包括多个编码命令和多个编码数据。
AXI4接口为用户进行多个编码信息传输的请求接口。
具体的,在选择的传输接口为AXI4接口时,将多个编码信息通过AXI4接口传输到通道模块中,通过通道模块将多个编码信息进行传输,包括:
步骤D1:在选择的传输接口为AXI4接口时,将多个编码信息通过AXI4接口传输到通道模块中。
根据高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)中的高级扩展接口(Advanced Extensible Interface,AXI4)协议可知,AXI4提供了5个通道。
通道模块包括5个独立的通道,分别为读地址通道(axi_ar)、写地址通道(axi_aw)、写数据通道(axi_w)、反馈通道(axi_b)和读数据通道(axi_r)。分别传输用户请求的多个编码信息。通过通道模块可以将用户请求的AXI4接口上的多个编码信息即读写的命令和地址,转换为解析模块的命令时序,以便后续的处理。axi_ar是用来传输用户输入的编码读命令,axi_aw是用来传输地址以及DDR的特殊命令,axi_w是用来传输用户将要存储到存储器中的编码写数据,axi_b用来反应数据已经传输成功。axi_r是传输用户从存储器中读到的编码数据即编码读数据和响应信号。
步骤D2:通过通道模块获取各编码信息与通道模块中的各通道的对应关系。
编码信息包括编码读地址数据和编码命令、编码写地址数据、编码写数据、编码读数据。各编码信息与通道模块中的各通道的对应关系包括:编码读地址数据和编码命令与读地址通道的对应关系,编码写地址数据与写地址通道的对应关系,编码写数据与写数据通道的对应关系,编码读数据与读数据通道的对应关系。
步骤D3:按照对应关系将各编码信息通过对应的通道进行传输。
按照对应关系,将编码读地址数据和编码命令通过读地址通道进行传输,将编码写地址数据通过写地址通道进行传输,将编码写数据通过写数据通道进行传输,将编码读数据通过读数据通道进行传输。
S205、通过命令仲裁模块在多个编码命令中选择一个目标编码命令。
命令仲裁模块(cmd_arbiter)是由于AXI4接口的通道模块中的各通道独立,而DDR内存控制器以及DDR存储器在同一时刻仅能读或者写,因此该模块负责对同一时刻解析产生的读写命令进行仲裁。为了防止同一时刻出现用户请求的两个编码命令,因此需要命令仲裁模块来选择优先将哪个命令送入到DDR存储器中。
具体的,通过命令仲裁模块在多个编码命令中选择一个目标编码命令,包括:
步骤E1:通过命令仲裁模块获取各编码命令对应的缓存优先级。
用户可以提前设置每个编码命令对应的缓存优先级。
步骤E2:根据缓存优先级,在多个编码命令中选择一个目标编码命令,将目标编码命令传输到一个缓存模块中。
可以在多个编码命令中,将最高缓存优先级对应的一个编码命令,确定为目标编码命令。
S206、将目标编码命令和多个编码数据通过一个缓存模块进行缓存。
仲裁完成之后,将用户请求的目标编码命令和多个编码数据通过一个缓存模块进行缓存。将目标编码命令和多个编码数据通过一个缓存模块中相应的子模块行缓存。相应的子模块包括命令缓冲子模块(cmd_fifo)、读数据缓冲子模块(dr_fifo)和写数据缓冲子模块(dw fifo)。
S207、对一个缓存模块中的目标编码命令和多个编码数据进行解析,并将解析后的目标编码命令和多个编码数据分别对应的传输信息进行存储。
具体的,对一个缓存模块中的目标编码命令和多个编码数据进行解析,并将解析后的目标编码命令和多个编码数据分别对应的传输信息进行存储,包括:
步骤F1:在选择的传输接口为AXI4接口时,通过解析模块获取目标编码命令和各编码数据分别对应的各传输信息的关系表。
目标编码命令和各编码数据分别对应的各传输信息的关系表包括:目标编码命令和目标传输命令的对应关系,编码数据和传输数据的对应关系,编码数据和传输数据的对应关系包括编码读数据和读数据的对应关系,编码写数据和写数据的对应关系。
步骤F2:根据关系表,将一个缓存模块中的目标编码命令和各编码数据进行解析,得到目标编码命令对应的目标传输命令以及各编码数据对应的各数据传输信息。
根据关系表,将一个缓存模块中的目标编码命令、编码读数据和编码写数据进行解析,得到目标编码命令对应的目标传输命令,编码读数据对应的读数据,编码写数据对应的写数据。
步骤F3:将目标传输命令和各数据传输信息存储到DDR存储器中。
将目标传输命令、读数据和写数据存储到DDR存储器中。
图4示意性地示出了选择AXI4接口的信息传输示意图,AXI4接口与通道模块连接,通道模块与命令仲裁模块连接,命令仲裁模块连接与一个缓存模块连接,一个缓存模块与解析存储模块即解析模块和DDR存储器连接。将多个编码信息通过AXI4接口传输到通道模块中,通过通道模块将多个编码信息进行传输,传输到命令仲裁模块,通过命令仲裁模块在多个编码命令中选择一个目标编码命令;为了防止同一时刻出现用户请求的两个编码命令,因此需要命令仲裁模块来选择一个目标编码命令,将目标编码命令和多个编码数据通过一个缓存模块进行缓存;对一个缓存模块中的目标编码命令和多个编码数据通过解析存储模块进行解析并将解析后的目标编码命令和多个编码数据分别对应的传输信息进行存储。
本发明的内存控制器的接口有本地接口也有AXI4接口,为用户提供了巨大而灵活的使用模式,这样设计的好处是用户可以根据自己的使用需求,来选择合适的接口进行存储器的访问。当用户请求的传输信息需要高带宽和低延时,需要进行大数据量和高效率交互时,则可以直接的选择使用AXI4接口进行存储空间的访问,当用户对带宽和延迟要求不是特别高的情况下,则可以直接的选择使用本地接口进行存储空间的访问。
基于上述图1的实现方式可以看出,本发明实施例应用于DDR系统,DDR系统包括本地接口、AXI4接口、多个缓存模块、通道模块、命令仲裁模块,接收到多个编码信息时,根据预设选取规则,选择多个编码信息对应的传输接口为本地接口或AXI4接口;在选择的传输接口为本地接口时,将多个编码信息通过本地接口进行传输,并依次进行缓存、解析和存储;在选择的传输接口为AXI4接口时,将多个编码信息通过AXI4接口进行传输,并依次进行仲裁选择、缓存、解析和存储。这样,DDR系统中内存控制器的接口有本地接口也有AXI4接口,对多个编码信息可以在本地接口和AXI4接口中,选择适用的一种接口进行数据信息传输,使得数据信息的传输效率较高,对不同应用场景中的编码信息,需要转换接口进行传输时,仅需按照预设选取规则直接选取合适的接口就可以实现数据信息传输,使得用户使用DDR内存控制器接口传输数据信息更加方便。
基于同一发明构思,作为对上述基于多接口DDR内存控制器的实现方法的实现,本发明实施例还提供了基于多接口DDR内存控制器的实现装置。图5为本发明实施例中的装置的结构图,参见图5所示,该装置应用于DDR系统,该装置可以包括:
选择模块501,用于接收到多个编码信息时,根据预设选取规则,选择多个编码信息对应的传输接口为本地接口或AXI4接口,多个编码信息包括多个编码命令和多个编码数据,各编码信息为对应的各传输信息的数字表示形式的信息;
本地接口502,用于在选择的传输接口为本地接口时,将多个编码信息传输到至少一个缓存模块中;
缓存模块503,用于将本地接口传输的多个编码信息进行缓存;
解析存储模块504,用于对至少一个缓存模块中的多个编码信息进行解析,并将解析后的各编码信息对应的各传输信息进行存储;
AXI4接口505,用于在选择的传输接口为AXI4接口时,将多个编码信息传输到通道模块中;
通道模块506,用于将多个编码信息进行传输,传输到命令仲裁模块;
命令仲裁模块507,用于在多个编码命令中选择一个目标编码命令;
缓存模块503,还用于将目标编码命令和多个编码数据进行缓存;
解析存储模块504,还用于对一个缓存模块中的目标编码命令和多个编码数据进行解析,并将解析后的目标编码命令和多个编码数据分别对应的传输信息进行存储。
选择模块501,具体用于接收到多个编码信息时,确定多个编码信息对应的数据量、带宽和延迟是否满足预设条件;若是,则选择多个编码信息对应的传输接口为AXI4接口;若否,则选择多个编码信息对应的传输接口为本地接口。
本地接口502,具体用于在选择的传输接口为本地接口时,获取用户的需求信息;在用户的需求信息为第一需求信息时,根据第一需求信息,将多个编码信息通过本地接口传输到第一缓存模块中,第一需求信息用于指示将多个编码信息缓存至第一缓存模块;在用户的需求信息为第二需求信息时,根据第二需求信息,将多个编码信息通过本地接口传输到第二缓存模块中,第二需求信息用于指示将多个编码信息缓存至第二缓存模块;在用户的需求信息为第三需求信息时,根据第三需求信息,将多个编码信息通过本地接口传输到第一缓存模块和第二缓存模块中,第三需求信息用于指示将多个编码信息以轮询的方式缓存至第一缓存模块和第二缓存模块;至少一个缓存模块包括第一缓存模块和第二缓存模块。
缓存模块503,具体用于在用户的需求信息为第一需求信息时,通过第一缓存模块将多个编码信息进行缓存;在用户的需求信息为第二需求信息时,通过第二缓存模块将多个编码信息进行缓存;在用户的需求信息为第三需求信息时,通过第一缓存模块和第二缓存模块,将多个编码信息以轮询的方式进行缓存。
通道模块506,具体用于获取各编码信息与通道模块中的各通道的对应关系;按照对应关系将各编码信息通过对应的通道进行传输,传输到命令仲裁模块,多个编码信息包括多个编码命令和多个编码数据。
命令仲裁模块507,具体用于通过命令仲裁模块获取各编码命令对应的缓存优先级;根据缓存优先级,在多个编码命令中选择一个目标编码命令,将目标编码命令传输到一个缓存模块中。
解析存储模块504包括解析模块和DDR存储器。
解析存储模块504中的解析模块,用于在选择的传输接口为本地接口且接收到解析请求时,通过解析模块获取各编码信息与对应的各传输信息的关系表;根据关系表,将至少一个缓存模块中的编码信息进行解析,得到各编码信息对应的各传输信息。
解析存储模块504中的DDR存储器,用于将各传输信息进行存储。
解析存储模块504中的解析模块,还用于在选择的传输接口为AXI4接口时,通过解析模块获取目标编码命令和各编码数据分别对应的各传输信息的关系表;根据关系表,将一个缓存模块中的目标编码命令和各编码数据进行解析,得到目标编码命令对应的目标传输命令以及各编码数据对应的各数据传输信息。
解析存储模块504中的DDR存储器,还用于将目标传输命令和各数据传输信息进行存储。
本发明实施例设计的基于多接口DDR内存控制器的实现装置,应用于DDR系统,DDR系统中的内存控制器能实现在高带宽和低延迟场景情况下,通过AXI4接口方式进行大量传输信息的交互。同时也能实现一些时序简单、易于操作的用户接口通过本地接口的方式和存储空间进行数据交互。
这里需要指出的是:以上针对基于多接口DDR内存控制器的实现装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明实施例的基于多接口DDR内存控制器的实现装置的实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述一个或多个实施例中的方法。
这里需要指出的是:以上计算机可读存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明实施例的计算机可读存储介质的实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于多接口DDR内存控制器的实现方法,应用于DDR系统,其特征在于,所述DDR系统包括本地接口、AXI4接口、多个缓存模块、通道模块、命令仲裁模块,所述方法包括:
接收到多个编码信息时,根据预设选取规则,选择所述多个编码信息对应的传输接口为所述本地接口或所述AXI4接口,所述多个编码信息包括多个编码命令和多个编码数据,各编码信息为对应的各传输信息的数字表示形式的信息;
在选择的传输接口为所述本地接口时,将所述多个编码信息通过所述本地接口传输到至少一个缓存模块中进行缓存;
对所述至少一个缓存模块中的所述多个编码信息进行解析,并将解析后的所述各编码信息对应的所述各传输信息进行存储;
在选择的传输接口为所述AXI4接口时,将所述多个编码信息通过所述AXI4接口传输到所述通道模块中,通过所述通道模块将所述多个编码信息进行传输,传输到所述命令仲裁模块;
通过所述命令仲裁模块在所述多个编码命令中选择一个目标编码命令;
将所述目标编码命令和所述多个编码数据通过一个缓存模块进行缓存;
对所述一个缓存模块中的所述目标编码命令和所述多个编码数据进行解析,并将解析后的所述目标编码命令和所述多个编码数据分别对应的传输信息进行存储。
2.根据权利要求1所述的基于多接口DDR内存控制器的实现方法,其特征在于,所述接收到多个编码信息时,根据预设选取规则,选择所述多个编码信息对应的传输接口为所述本地接口或所述AXI4接口,包括:
接收到所述多个编码信息时,确定所述多个编码信息对应的数据量、带宽和延迟是否满足预设条件;
若是,则选择所述多个编码信息对应的传输接口为所述AXI4接口;
若否,则选择所述多个编码信息对应的传输接口为所述本地接口。
3.根据权利要求1所述的基于多接口DDR内存控制器的实现方法,其特征在于,所述至少一个缓存模块包括第一缓存模块和第二缓存模块,所述在选择的传输接口为所述本地接口时,将所述多个编码信息通过所述本地接口传输到至少一个缓存模块中进行缓存,包括:
在选择的传输接口为所述本地接口时,获取用户的需求信息;
在所述用户的需求信息为第一需求信息时,根据所述第一需求信息,将所述多个编码信息通过所述本地接口传输到所述第一缓存模块中,所述第一需求信息用于指示将所述多个编码信息缓存至所述第一缓存模块;
通过所述第一缓存模块将所述多个编码信息进行缓存;
在所述用户的需求信息为第二需求信息时,根据所述第二需求信息,将所述多个编码信息通过所述本地接口传输到所述第二缓存模块中,所述第二需求信息用于指示将所述多个编码信息缓存至所述第二缓存模块;
通过所述第二缓存模块将所述多个编码信息进行缓存;
在所述用户的需求信息为第三需求信息时,根据所述第三需求信息,将所述多个编码信息通过所述本地接口传输到所述第一缓存模块和所述第二缓存模块中,所述第三需求信息用于指示将所述多个编码信息以轮询的方式缓存至所述第一缓存模块和所述第二缓存模块;
通过所述第一缓存模块和所述第二缓存模块,将所述多个编码信息以轮询的方式进行缓存。
4.根据权利要求1所述的基于多接口DDR内存控制器的实现方法,其特征在于,所述在选择的传输接口为所述AXI4接口时,将所述多个编码信息通过所述AXI4接口传输到所述通道模块中,通过所述通道模块将所述多个编码信息进行传输,包括:
在选择的传输接口为所述AXI4接口时,将所述多个编码信息通过所述AXI4接口传输到所述通道模块中;
通过所述通道模块获取各编码信息与所述通道模块中的各通道的对应关系;
按照所述对应关系将各编码信息通过对应的通道进行传输。
5.根据权利要求1所述的基于多接口DDR内存控制器的实现方法,其特征在于,所述通过所述命令仲裁模块在所述多个编码命令中选择一个目标编码命令,包括:
通过所述命令仲裁模块获取各编码命令对应的缓存优先级;
根据所述缓存优先级,在所述多个编码命令中选择一个所述目标编码命令,将所述目标编码命令传输到所述一个缓存模块中。
6.根据权利要求1所述的基于多接口DDR内存控制器的实现方法,应用于所述DDR系统,所述DDR系统还包括解析模块和DDR存储器,其特征在于,所述对所述至少一个缓存模块中的所述多个编码信息进行解析,并将解析后的所述各编码信息对应的所述各传输信息进行存储,包括:
在选择的传输接口为所述本地接口且接收到解析请求时,通过所述解析模块获取各编码信息与对应的各传输信息的关系表;
根据所述关系表,将所述至少一个缓存模块中的所述多个编码信息进行解析,得到所述各编码信息对应的所述各传输信息;
将所述各传输信息存储到所述DDR存储器中。
7.根据权利要求6所述的基于多接口DDR内存控制器的实现方法,其特征在于,所述对所述一个缓存模块中的所述目标编码命令和所述多个编码数据进行解析,并将解析后的所述目标编码命令和所述多个编码数据分别对应的传输信息进行存储,包括:
在选择的传输接口为所述AXI4接口时,通过所述解析模块获取所述目标编码命令和所述各编码数据分别对应的各传输信息的所述关系表;
根据所述关系表,将所述一个缓存模块中的所述目标编码命令和所述各编码数据进行解析,得到所述目标编码命令对应的目标传输命令以及所述各编码数据对应的各数据传输信息;
将所述目标传输命令和所述各数据传输信息存储到所述DDR存储器中。
8.一种基于多接口DDR内存控制器的实现装置,应用于DDR系统,其特征在于,所述实现装置包括:
选择模块,用于接收到多个编码信息时,根据预设选取规则,选择所述多个编码信息对应的传输接口为本地接口或AXI4接口,所述多个编码信息包括多个编码命令和多个编码数据,各编码信息为对应的各传输信息的数字表示形式的信息;
所述本地接口,用于在选择的传输接口为所述本地接口时,将所述多个编码信息传输到至少一个缓存模块中;
所述缓存模块,用于将所述本地接口传输的所述多个编码信息进行缓存;
解析存储模块,用于对所述至少一个缓存模块中的所述多个编码信息进行解析,并将解析后的所述各编码信息对应的所述各传输信息进行存储;
所述AXI4接口,用于在选择的传输接口为所述AXI4接口时,将所述多个编码信息传输到通道模块中;
所述通道模块,用于将所述多个编码信息进行传输,传输到命令仲裁模块;
所述命令仲裁模块,用于在所述多个编码命令中选择一个目标编码命令;
所述缓存模块,还用于将所述目标编码命令和所述多个编码数据进行缓存;
所述解析存储模块,还用于对所述一个缓存模块中的所述目标编码命令和所述多个编码数据进行解析,并将解析后的所述目标编码命令和所述多个编码数据分别对应的传输信息进行存储。
9.根据权利要求8所述的基于多接口DDR内存控制器的实现装置,其特征在于,所述选择模块,具体用于接收到所述多个编码信息时,确定所述多个编码信息对应的数据量、带宽和延迟是否满足预设条件;若是,则选择所述多个编码信息对应的传输接口为所述AXI4接口;若否,则选择所述多个编码信息对应的传输接口为所述本地接口。
10.一种计算机可读存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1至7中任一项所述的基于多接口DDR内存控制器的实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410551533.2A CN118132472A (zh) | 2024-05-07 | 2024-05-07 | 一种基于多接口ddr内存控制器的实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410551533.2A CN118132472A (zh) | 2024-05-07 | 2024-05-07 | 一种基于多接口ddr内存控制器的实现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118132472A true CN118132472A (zh) | 2024-06-04 |
Family
ID=91244428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410551533.2A Pending CN118132472A (zh) | 2024-05-07 | 2024-05-07 | 一种基于多接口ddr内存控制器的实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118132472A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302350A1 (en) * | 2010-06-08 | 2011-12-08 | Innostor Technology Corporation | Switching interface method for a multi-interface storage device |
CN108710587A (zh) * | 2018-06-04 | 2018-10-26 | 中国电子科技集团公司第十四研究所 | 基于axi总线的信号处理fpga通用处理架构系统及方法 |
CN112052206A (zh) * | 2020-08-31 | 2020-12-08 | 浙江双成电气有限公司 | 基于仲裁的多端口数据存储系统 |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
US20210200467A1 (en) * | 2019-12-30 | 2021-07-01 | Advanced Micro Devices, Inc. | Signalling for heterogeneous memory systems |
US20220121586A1 (en) * | 2020-10-16 | 2022-04-21 | Alibaba Group Holding Limited | Dual-modal memory interface controller |
US20220317934A1 (en) * | 2021-03-31 | 2022-10-06 | Advanced Micro Devices, Inc. | Efficient and low latency memory access scheduling |
WO2023065717A1 (zh) * | 2021-10-19 | 2023-04-27 | 瓴盛科技有限公司 | Ddr存储器数据读写调度方法和装置 |
WO2023098099A1 (zh) * | 2021-11-30 | 2023-06-08 | 创远信科(上海)技术股份有限公司 | 基于ddr实现大规模fifo数据处理的系统、方法、装置、处理器及其存储介质 |
CN117609137A (zh) * | 2023-11-23 | 2024-02-27 | 天津津航计算技术研究所 | 一种基于复杂片内多种高速接口通信测试系统 |
-
2024
- 2024-05-07 CN CN202410551533.2A patent/CN118132472A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110302350A1 (en) * | 2010-06-08 | 2011-12-08 | Innostor Technology Corporation | Switching interface method for a multi-interface storage device |
CN108710587A (zh) * | 2018-06-04 | 2018-10-26 | 中国电子科技集团公司第十四研究所 | 基于axi总线的信号处理fpga通用处理架构系统及方法 |
US20210200467A1 (en) * | 2019-12-30 | 2021-07-01 | Advanced Micro Devices, Inc. | Signalling for heterogeneous memory systems |
CN112052206A (zh) * | 2020-08-31 | 2020-12-08 | 浙江双成电气有限公司 | 基于仲裁的多端口数据存储系统 |
US20220121586A1 (en) * | 2020-10-16 | 2022-04-21 | Alibaba Group Holding Limited | Dual-modal memory interface controller |
CN112559399A (zh) * | 2020-11-27 | 2021-03-26 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多axi接口的ddr控制器及其控制方法 |
CN112948293A (zh) * | 2021-02-26 | 2021-06-11 | 浪潮电子信息产业股份有限公司 | 一种多用户接口的ddr仲裁器及ddr控制器芯片 |
US20220317934A1 (en) * | 2021-03-31 | 2022-10-06 | Advanced Micro Devices, Inc. | Efficient and low latency memory access scheduling |
WO2023065717A1 (zh) * | 2021-10-19 | 2023-04-27 | 瓴盛科技有限公司 | Ddr存储器数据读写调度方法和装置 |
WO2023098099A1 (zh) * | 2021-11-30 | 2023-06-08 | 创远信科(上海)技术股份有限公司 | 基于ddr实现大规模fifo数据处理的系统、方法、装置、处理器及其存储介质 |
CN117609137A (zh) * | 2023-11-23 | 2024-02-27 | 天津津航计算技术研究所 | 一种基于复杂片内多种高速接口通信测试系统 |
Non-Patent Citations (2)
Title |
---|
周文俊等: ""基于Zynq的PCI Express接口设计与实现"", 《控制工程》, vol. 24, no. 08, 31 August 2017 (2017-08-31), pages 1603 - 1610 * |
张宇嘉等: ""基于AXI4的卫星接收机DDR3多端口存储的设计"", 《电子器件》, vol. 39, no. 3, 30 June 2016 (2016-06-30), pages 617 - 622 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6954806B2 (en) | Data transfer apparatus and method | |
CN112035381B (zh) | 一种存储系统及存储数据处理方法 | |
EP4220415A2 (en) | Method and apparatus for compressing addresses | |
CN112035389B (zh) | 一种plb-axi总线转换桥及其工作方法 | |
WO2014101498A1 (zh) | 压缩内存访问控制方法、装置及系统 | |
CN112948293A (zh) | 一种多用户接口的ddr仲裁器及ddr控制器芯片 | |
CN115357540B (zh) | 存储系统及其计算存储处理器、固体硬盘和数据读写方法 | |
US20230137668A1 (en) | storage device and storage system | |
CN112199309A (zh) | 基于dma引擎的数据读取方法、装置和数据传输系统 | |
CN105094691A (zh) | 一种数据操作的方法、设备和系统 | |
CN116089343A (zh) | 一种基于axi的数据存储方法、装置、存储介质及设备 | |
CN107193766B (zh) | 一种PCIe设备与主机之间的多路有序数据传输方法 | |
US20090138673A1 (en) | Internal memory mapped external memory interface | |
CN111314495A (zh) | 基于物联网LoRaWAN的通信方法、装置、设备、存储介质和系统 | |
CN118132472A (zh) | 一种基于多接口ddr内存控制器的实现方法及装置 | |
CN111949585A (zh) | 数据转换处理方法及装置 | |
WO2007114676A1 (en) | Device having shared memory and method for providing access status information by shared memory | |
KR100736902B1 (ko) | 복수의 프로세서에 의한 메모리 공유 방법 및 장치 | |
JP4192171B2 (ja) | メモリアクセス方法及びメモリアクセス装置 | |
US20230049427A1 (en) | Method for external devices accessing computer memory | |
US8737156B2 (en) | Mapping between two buses using serial addressing bits | |
US10261700B1 (en) | Method and apparatus for streaming buffering to accelerate reads | |
US20040193830A1 (en) | Method and apparatus for address translation pre-fetch | |
US11029881B2 (en) | Memory controller, memory system, and information processing system | |
KR100950356B1 (ko) | 다중 코히런시 단위들을 지원하는 데이터 전송 유닛 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |