CN113806245B - 一种根据出口类型自动分配缓存地址的装置 - Google Patents
一种根据出口类型自动分配缓存地址的装置 Download PDFInfo
- Publication number
- CN113806245B CN113806245B CN202111183721.7A CN202111183721A CN113806245B CN 113806245 B CN113806245 B CN 113806245B CN 202111183721 A CN202111183721 A CN 202111183721A CN 113806245 B CN113806245 B CN 113806245B
- Authority
- CN
- China
- Prior art keywords
- address
- ddr
- message
- cache
- data
- 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.)
- Active
Links
- 238000012545 processing Methods 0.000 claims abstract description 6
- 230000000977 initiatory effect Effects 0.000 claims description 2
- 238000004321 preservation Methods 0.000 claims description 2
- 238000012546 transfer Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000007493 shaping process Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000008187 granular material Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据处理技术领域,尤其涉及一种根据出口类型自动分配缓存地址的装置,包括缓存地址调度装置、报文分发控制装置、多个AXI控制转发装置;缓存地址调度装置,根据出口类型和报文类型在DDR的缓存中划分地址区间,当本身地址区间的地址不足时,从DDR的缓存中取出相应的地址放入到本身内部的buffer中,供报文分发控制装置使用;报文分发控制装置,根据出口类型,向缓存地址调度装置申请对应的DDR的缓存的地址区间,并把对应的DDR的缓存的地址区间写入报文和数据的控制字段,分送给AXI控制转发装置。本发明通过对出口类型进行区分,使用不同的DDR地址空间和AXI控制转发装置,提高了访问时间和效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种根据出口类型自动分配缓存地址的装置。
背景技术
在通信网路芯片设计中,从用户口或上联口发来的数据,经常要先经过缓存,做报文解析和出口查找,再把缓存的数据或报文分发到对应的出口。随着光纤的推广,链路中网络速度多达吉比特每秒Gbps甚至到太比特每秒Tbps。芯片设计中,使用普通的RAM很难能吸收住这么大流量,从设计成本考虑,一般通过外置多个DDR ram颗粒来进行缓存,在出口端,根据出口控制字段缓存的DDR地址,把报文读出。
在芯片设计中,当片内数据缓存RAM不足,要把报文或数据缓存到DDR颗粒中,如果此时对发往各个出口不加区分,只是统一根据DDR地址进行缓存,在一些场景中,会造成DDR带宽的不必要浪费并性能整体性能。如带有WIFI功能或CPU需要分析协议报文的场景,对这类报文和普通数据报文不进行区分,再出口之前,需要把这类WIFI报文从普通DDR区间读出,再搬入到DDR期望的空间,造成浪费。对于CPU需要分析的报文,如果不加区分,CPU提取这类协议报文,也需要把协议报文或待解析的报文,从DDR空间搬入到CPU需要的空间,再由软件协议栈进行处理,其流程如图5。
因此,对于特定出口的片外报文,如果不进行片外DDR空间区分,相应的端口收到这类报文会进行二次搬运,造成DDR带宽不必要浪费和提高搬运时间,不是一个好的设计方案。
发明内容
本发明提供了一种根据出口类型自动分配缓存地址的装置,对DDR的空间针对不同端口划分不同的地址,并根据出端口请求,把报文或数据搬运到相应的地址中。
为了实现本发明的目的,一种根据出口类型自动分配缓存地址的装置,包括缓存地址调度装置、报文分发控制装置、多个AXI控制转发装置;
缓存地址调度装置,根据出口类型和报文类型在DDR的缓存中划分地址区间,当本身地址区间的地址不足时,从DDR的缓存中取出相应的地址放入到本身内部的buffer中,供报文分发控制装置使用;
报文分发控制装置,根据出口类型,向缓存地址调度装置申请对应的DDR的缓存的地址区间,并把对应的DDR的缓存的地址区间写入报文和数据的控制字段,分送给AXI控制转发装置;
AXI控制转发装置,接收报文分发控制装置的搬运指令,按照指令中的地址区间把报文或数据从片内RAM搬运到DDR的缓存中。
作为本发明的优化方案,AXI控制转发装置包含写入地址、读地址、一套报文和数据RING,写地址用于标记AXI控制转发装置搬运报文或数据,读地址用于标记目的端口读取报文或数据。
作为本发明的优化方案,报文分发控制装置维护向多个AXI控制转发装置发起搬运指令的请求指令顺序,该请求指令顺序作为保序,AXI控制转发装置把报文或数据从片内RAM搬运到DDR的缓存后,告知报文分发控制装置,报文分发控制装置按照之前的请求指令顺序,把该数据的信息长度、存放DDR地址等控制信息送给下一级出口或整形模块处理。
本发明具有积极的效果:1)本发明通过不同AXI控制转发装置,把需要走CACHE通道加速的报文分离开来,提升这类出口报文的读取时延。把普通业务报文分配normal地址,使其走normal通道写入DDR的缓存。走矩阵桥的出口报文,分配matrix片外地址,使其通过matrix通道写入DDR的缓存。
2)本发明通过对出口类型进行区分,使用不同的DDR地址空间和AXI控制转发装置,减少了特定端口对DDR的频繁搬运,提高了访问时间和效率;
3)本发明通过维护不同类型的报文或数据缓存地址,方便各类型地址的分配和释放,结构很明确方便业务理解。对于特定出口的报文如wifi报文和上送给软件协议栈分析的协议报文,考虑使用方式,直接分配其使用空间,不需要报文或数据做多次拷贝;
4)本发明根据出口类型分配不同地址和转发通道,减少数据的多次搬运,在实际芯片测试中,效果很明显。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明的原理框图;
图2是缓存地址调度装置维护地址的示意框图;
图3是AXI控制转发装置的示意框图;
图4是报文分发控制装置的示意框图;
图5是不区分出口类型造成数据二次搬运的原理。
具体实施方式
下面结合附图对本发明的实现做进一步详细的描述:
如图1所示,一种根据出口类型自动分配缓存地址的装置,包括缓存地址调度装置1、报文分发控制装置2、多个AXI控制转发装置3;
缓存地址调度装置1,根据出口类型和报文类型在DDR的缓存中划分地址区间,当本身地址区间的地址不足时,从DDR的缓存中取出相应的地址放入到本身内部的buffer中,供报文分发控制装置2使用;
报文分发控制装置2,根据出口类型,向缓存地址调度装置1申请对应的DDR的缓存的地址区间,并把对应的DDR的缓存的地址区间写入报文和数据的控制字段,分送给AXI控制转发装置3;
AXI控制转发装置3,接收报文分发控制装置2的搬运指令,按照指令中的地址区间把报文或数据从片内RAM搬运到DDR的缓存中。
针对不同的出口使用的DDR通道,维护不同的AXI控制转发装置3,如wifi业务或协议报文需要通过特定AXI控制转发装置3送入cpu的cache桥,加速协议栈或wifi对端提取速率。对于普通报文缓存DDR空间则走另一路AXI控制转发装置3AXI控制转发装置3,并根据各个出口优先级配置。
AXI控制转发装置3包含写入地址、读地址、一套报文和数据RING,写地址用于标记AXI控制转发装置3搬运报文或数据,读地址用于标记目的端口读取报文或数据。目的端口可以是芯片内嵌的CPU或对端WIFI等等。
报文分发控制装置2维护向多个AXI控制转发装置3发起搬运指令的请求指令顺序,该请求指令顺序作为保序,AXI控制转发装置3把报文或数据从片内RAM搬运到DDR的缓存后,告知报文分发控制装置2,报文分发控制装置2按照之前的请求指令顺序,把该数据的信息长度、存放DDR地址等控制信息送给下一级出口或整形模块处理。
报文分发控制装置2,根据不同出口,向缓存地址调度装置1申请对应的片外DDR地址。把该片外地址写入报文或数据的控制部分,分送给不同的AXI控制转发装置3,并记录每个AXI控制转发装置3的顺序。当AXI控制转发装置3完成报文或数据搬运到片外DDR后,告知该报文分发控制装置2。报文分发控制装置2按照之前分发顺序,把控制信息送入下一级模块进行处理。控制信息指该数据或报文的包长、地址和出口等。下一级模块指整形模块或出口模块等。
如图2所示,缓存地址调度装置1,根据出口类型和报文类型在DDR的缓存中划分地址区间,当本身地址区间的地址不足时,从DDR的缓存中取出相应的地址放入到本身内部的buffer中,供报文分发控制装置2使用。
缓存地址调度装置1维护一套缓存地址控制调度子装置,该装置把DDR的缓存按照业务和出口需求划分若干个地址区间,每个区间有多个地址块构成。每个地址块对应一个报文或数据。如图2在DDR的缓存中根据出口和报文类型共划分6个地址区间,每个地址区间有若干地址组成。当缓存地址调度装置1中的各个地址区间的地址不足时,会发起预取指令,从DDR的缓存中取出相应地址放入到缓存地址调度装置内部buffer中,供报文分发控制装置2申请用。
该发明维护多套AXI控制转发装置3,每套AXI控制转发装置3对端口分发装置发过来搬运指令,AXI控制转发装置3按照指令中的地址空间,把报文或数据从片内RAM搬入到片外DDR中。当发送完成,告知报文分发控制装置2。
AXI控制转发装置3还维护一套报文和数据RING,记录该RING的空间大小、当前写入地址,目的出口已读取的读地址。RING实现数据的“先进先出”功能,该RING由当前写地址和当前读地址组成,RING中存放的是数据控制字段。AXI控制转发装置3每完成一次报文的搬写,就把当前写入地址往前推移一次,目的出口每第一次报文,读地址向前推进一次。当前写地址减去目的端口的读地址即为当前已写入DDR报文或数据的数量,当该数量达到一起阈值,通知目的端口来取此类报文。具体流程详见图3。
本发明维护的报文分发控制装置2,对上游报文的出口和报文包长进行判断,向缓存地址调度装置1申请对应的DDR的缓存,填入该控制字段中。根据出端口类型,分别把报文或数据发往相应的AXI控制转发装置3中。并维护向多个AXI控制转发装置3发起搬运指令的请求指令顺序,该请求顺序作为保序功能使用。
AXI控制转发装置3设置保序功能:当每路AXI控制转发装置3把报文写入片外DDR空间后,会告知该路已完成搬运。报文分发控制装置2从缓存的请求指令中查看是轮到自己,若是则该数据的控制信息继续向下一级模块传递。若AXI控制转发装置3响应的端口并不属于自己,则统计该路已响应的报文数量,保序功能继续等待该路AXI控制转发装置3的响应。若保序维护的出端口熟悉匹配AXI控制转发装置3,则转发该报文的控制信息。并轮询其他几个口的响应报文数量,若其他几个口已有报文完成操作,则把相应口的控制信息发往下一级。保序流程详见图4。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,并不能因此而理解为对本发明专利范围的限制。应当指出的是,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (3)
1.一种根据出口类型自动分配缓存地址的装置,其特征在于:包括缓存地址调度装置(1)、报文分发控制装置(2)、多个AXI控制转发装置(3);
缓存地址调度装置(1),根据出口类型和报文类型在DDR的缓存中划分地址区间,当本身地址区间的地址不足时,从DDR的缓存中取出相应的地址放入到本身内部的buffer中,供报文分发控制装置(2)使用;
报文分发控制装置(2),根据出口类型,向缓存地址调度装置(1)申请对应的DDR的缓存的地址区间,并把对应的DDR的缓存的地址区间写入报文和数据的控制字段,分送给AXI控制转发装置(3);
AXI控制转发装置(3),接收报文分发控制装置(2)的搬运指令,按照指令中的地址区间把报文或数据从片内RAM搬运到DDR的缓存中;
缓存地址调度装置(1)维护一套缓存地址控制调度子装置,该装置把DD R的缓存按照业务和出口需求划分若干个地址区间,每个区间有多个地址块构成,每个地址块对应一个报文或数据。
2.根据权利要求1所述的一种根据出口类型自动分配缓存地址的装置,其特征在于:AXI控制转发装置(3)包含写入地址、读地址、一套报文和数据RING,写地址用于标记AXI控制转发装置(3)搬运报文或数据,读地址用于标记目的端口读取报文或数据。
3.根据权利要求1或2所述的一种根据出口类型自动分配缓存地址的装置,其特征在于:报文分发控制装置(2)维护向多个AXI控制转发装置(3)发起搬运指令的请求指令顺序,该请求指令顺序作为保序,AXI控制转发装置(3)把报文或数据从片内RAM搬运到DDR的缓存后,告知报文分发控制装置(2),报文分发控制装置(2)按照之前的请求指令顺序,把控制信息送给下一级模块处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183721.7A CN113806245B (zh) | 2021-10-11 | 2021-10-11 | 一种根据出口类型自动分配缓存地址的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183721.7A CN113806245B (zh) | 2021-10-11 | 2021-10-11 | 一种根据出口类型自动分配缓存地址的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806245A CN113806245A (zh) | 2021-12-17 |
CN113806245B true CN113806245B (zh) | 2023-11-21 |
Family
ID=78939278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111183721.7A Active CN113806245B (zh) | 2021-10-11 | 2021-10-11 | 一种根据出口类型自动分配缓存地址的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806245B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446891A (zh) * | 2014-05-29 | 2016-03-30 | 展讯通信(上海)有限公司 | 终端设备的内存访问控制方法与装置 |
CN106713144A (zh) * | 2016-12-27 | 2017-05-24 | 锐捷网络股份有限公司 | 一种报文出口信息的读写方法及转发引擎 |
CN107341053A (zh) * | 2017-06-01 | 2017-11-10 | 深圳大学 | 异构多核可编程系统及其内存配置和计算单元的编程方法 |
CN108196953A (zh) * | 2017-12-28 | 2018-06-22 | 北京航空航天大学 | 一种面向异构多源大数据的异构多核并行处理装置及方法 |
CN111782578A (zh) * | 2020-05-29 | 2020-10-16 | 西安电子科技大学 | 一种缓存控制方法、系统、存储介质、计算机设备及应用 |
CN113032295A (zh) * | 2021-02-25 | 2021-06-25 | 西安电子科技大学 | 一种数据包二级缓存方法、系统及应用 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6449679B2 (en) * | 1999-02-26 | 2002-09-10 | Micron Technology, Inc. | RAM controller interface device for RAM compatibility (memory translator hub) |
US10764455B2 (en) * | 2018-12-31 | 2020-09-01 | Kyocera Document Solutions Inc. | Memory control method, memory control apparatus, and image forming method that uses memory control method |
-
2021
- 2021-10-11 CN CN202111183721.7A patent/CN113806245B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446891A (zh) * | 2014-05-29 | 2016-03-30 | 展讯通信(上海)有限公司 | 终端设备的内存访问控制方法与装置 |
CN106713144A (zh) * | 2016-12-27 | 2017-05-24 | 锐捷网络股份有限公司 | 一种报文出口信息的读写方法及转发引擎 |
CN107341053A (zh) * | 2017-06-01 | 2017-11-10 | 深圳大学 | 异构多核可编程系统及其内存配置和计算单元的编程方法 |
CN108196953A (zh) * | 2017-12-28 | 2018-06-22 | 北京航空航天大学 | 一种面向异构多源大数据的异构多核并行处理装置及方法 |
CN111782578A (zh) * | 2020-05-29 | 2020-10-16 | 西安电子科技大学 | 一种缓存控制方法、系统、存储介质、计算机设备及应用 |
CN113032295A (zh) * | 2021-02-25 | 2021-06-25 | 西安电子科技大学 | 一种数据包二级缓存方法、系统及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN113806245A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111651377B (zh) | 一种用于片内报文处理的弹性共享缓存器 | |
US6667920B2 (en) | Scratchpad memory | |
US7227841B2 (en) | Packet input thresholding for resource distribution in a network switch | |
US7406041B2 (en) | System and method for late-dropping packets in a network switch | |
EP1045558B1 (en) | Very wide memory TDM switching system | |
US7403525B2 (en) | Efficient routing of packet data in a scalable processing resource | |
CN103986585A (zh) | 报文预处理方法及其装置 | |
CN114531488B (zh) | 一种面向以太网交换器的高效缓存管理系统 | |
CN103117962B (zh) | 一种星载共享存储交换装置 | |
CN102843435A (zh) | 一种在集群系统中存储介质的访问、响应方法和系统 | |
EP1891503A2 (en) | Concurrent read response acknowledge enhanced direct memory access unit | |
CN113806245B (zh) | 一种根据出口类型自动分配缓存地址的装置 | |
CN111581136B (zh) | 一种dma控制器及其实现方法 | |
USRE39026E1 (en) | Bus protocol | |
CN100499563C (zh) | 提高分组应用的存储器存取效率 | |
CN102932265A (zh) | 数据缓存管理装置和方法 | |
CN107911317B (zh) | 一种报文调度方法及装置 | |
US8345701B1 (en) | Memory system for controlling distribution of packet data across a switch | |
US6885591B2 (en) | Packet buffer circuit and method | |
TWI446182B (zh) | 主機和機件間經過管路之資料轉移方法及裝置 | |
CN107249008B (zh) | 一种远端数据直接存取的通道互联装置及方法 | |
CN112615796A (zh) | 一种兼顾存储利用率与管理复杂度的队列管理系统 | |
EP0969631A2 (en) | Packet switch system with simplified bus control | |
CN109145397A (zh) | 一种支持并行流水访问的外存仲裁结构 | |
CN107896199B (zh) | 传输报文的方法和装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |