CN113806245B - 一种根据出口类型自动分配缓存地址的装置 - Google Patents

一种根据出口类型自动分配缓存地址的装置 Download PDF

Info

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
Application number
CN202111183721.7A
Other languages
English (en)
Other versions
CN113806245A (zh
Inventor
朱修利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinhe Semiconductor Technology Wuxi Co Ltd
Original Assignee
Xinhe Semiconductor Technology Wuxi Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinhe Semiconductor Technology Wuxi Co Ltd filed Critical Xinhe Semiconductor Technology Wuxi Co Ltd
Priority to CN202111183721.7A priority Critical patent/CN113806245B/zh
Publication of CN113806245A publication Critical patent/CN113806245A/zh
Application granted granted Critical
Publication of CN113806245B publication Critical patent/CN113806245B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache 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)按照之前的请求指令顺序,把控制信息送给下一级模块处理。
CN202111183721.7A 2021-10-11 2021-10-11 一种根据出口类型自动分配缓存地址的装置 Active CN113806245B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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