[go: up one dir, main page]

CN116436879A - 数据缓存处理方法、装置、介质及网络设备 - Google Patents

数据缓存处理方法、装置、介质及网络设备 Download PDF

Info

Publication number
CN116436879A
CN116436879A CN202310506449.4A CN202310506449A CN116436879A CN 116436879 A CN116436879 A CN 116436879A CN 202310506449 A CN202310506449 A CN 202310506449A CN 116436879 A CN116436879 A CN 116436879A
Authority
CN
China
Prior art keywords
data
access memory
random access
double
rate synchronous
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
Application number
CN202310506449.4A
Other languages
English (en)
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.)
Beijing Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine Technology 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 Beijing Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202310506449.4A priority Critical patent/CN116436879A/zh
Publication of CN116436879A publication Critical patent/CN116436879A/zh
Priority to US18/650,455 priority patent/US20240372820A1/en
Priority to EP24173654.5A priority patent/EP4462267A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0893Caches characterised by their organisation or structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • H04L49/9052Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开涉及一种数据缓存处理方法、装置、介质及网络设备,方法包括:接收第二设备响应于读命令返回的报文数据;按照预设策略将所述报文数据分成两路数据,并将所述两路数据中的其中一路数据发送到第一随机存取存储器进行存储,以及将所述两路数据中的另一路数据通过先入先出队列分发到双倍速率同步动态随机存储器中进行存储,所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽之和大于或者等于所述报文数据的接收带宽;将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的第一设备。采用该方法可以降低网络设备接收报文数据的丢包可能性。

Description

数据缓存处理方法、装置、介质及网络设备
技术领域
本公开涉及电子信息技术领域,具体地,涉及一种数据缓存处理方法、装置、介质及网络设备。
背景技术
网络环境中存在一些持续时间不长,但是突发流量大的场景,这些场景下容易产生数据包丢失,如何避免流量突发时数据包丢包,成为一个需要解决的问题。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种数据缓存处理方法,所述方法包括:
接收第二设备响应于第一设备发送的读命令返回的报文数据;
按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽之和大于或者等于所述报文数据的接收带宽;
将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的所述第一设备。
第二方面,本公开提供一种数据缓存处理装置,所述装置包括:
接收模块,用于接收第二设备响应于第一设备发送的读命令返回的报文数据;
分配模块,用于按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽之和大于或者等于所述报文数据的接收带宽;
发送模块,用于将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的所述第一设备。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现第一方面中所述方法的步骤。
第四方面,本公开提供一种网络设备,包括处理装置和接口;所述处理装置用于读取指令以执行第一方面中所述方法的步骤。
通过上述技术方案,网络设备接收第二设备响应于第一设备发送的读命令返回的报文数据,按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给所述第一设备。通过利用第一随机存取存储器的带宽来分担双倍速率同步动态随机存储器的入口带宽压力,解决了双倍速率同步动态随机存储器接收带宽不足的问题,降低网络设备报文数据丢包可能性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据本公开一示例性实施例示出的一种示例性场景示意图。
图2是根据本公开一示例性实施例示出的一种数据缓存处理方法的流程图。
图3是根据本公开一示例性实施例示出的一种数据缓存处理方法的流程示意图。
图4是根据本公开一示例性实施例示出的一种数据缓存处理装置的框图。
图5是根据本公开一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
同时,可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
请参考图1,图1是本公开实施例提供的一种示例性场景示意图,如图1所示,第一设备中的中央处理器(Central Processing Unit,CPU)可以发出读外部连接的第二设备的读命令,读命令可以通过连接的网络设备发送给外部连接的第二设备,外部连接的第二设备在接收到读命令之后,可以通过网络设备返回响应报文数据给CPU。其中,外部连接的第二设备可以是一个或者多个,图1中以序号分别为0和1的两个第二设备为例进行示例性说明。
在一些实施方式中,网络设备例如可以是网卡。
在一些实施方式中,网络设备可以是基于可编程逻辑器件(Field ProgrammableGate Array,FPGA)实现的网络设备,也即网络设备可以包括可编程逻辑器件。
可选地,网络设备可以与CPU通过128Gbps的PCIE(peripheral componentinterconnect express,高速串行计算机扩展总线标准)接口连接,网络设备可以与外部第二设备通过两个速率为100Gbps的以太接口CGMAC连接。
可以理解的是,CPU发出读命令,到第二设备返回读命令对应的响应报文数据,会产生时延,根据不同读命令的区别,第二设备返回的响应报文数据最大时延可以达到1.2ms,由于延迟的存在,就可能导致在某个时间点大量响应报文数据同时到达网络设备的接收接口,从而导致大量流量突发。
例如,网络设备在短时间可能会接收到设备0和1过来的200Gbps的突发流量,此时,网络设备需要吸收这个突发流量,不能丢包,并在收包后将报文数据转发到CPU。
在一些实施方式中,继续如图1所示,读命令接收模块除了将接收到的读命令信息存入读命令缓存外,同时还将这些信息写入读同步信息缓存中,以便将来能和读返回的报文数据一一对应上,最终组合同步信息和读报文数据返回给CPU。
第二设备收到读命令后返回给CPU响应,报文数据进入缓存并进行缓存管理,由于设备的原因读报文会乱序返回,可以按照读同步信息读出缓存中的报文保序发送到CPU。其中,保序可以理解为有个系列号在CPU、网络设备、第二设备间传递,以便保证读同步信息和读返回的报文数据能一一对应。
在对本公开实施例进行详细说明之前,先对一些实施方式中的基于可编程逻辑器件实现的网络设备配置的资源以及系统规格进行说明。
在一些实施方式中,网络设备可以包括双倍速率同步动态随机存储器(DoubleData Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)接口、第一随机存取存储器、块随机存储器(BLOCK RAM,BRAM)、寄存器以及查找表等逻辑资源。
可选地,双倍速率同步动态随机存储器可以是DDR4 SDRAM(Double-Data-RateFourth Generation Synchronous Dynamic Random Access Memory,第四代双倍数据率同步动态随机存取存储器)。可选地,DDR4SDRAM接口位宽为64bit,接口频率为2666MHZ,容量为1GBytes,DDR4SDRAM接口有效带宽为160Gbps左右,DDR4 SDRAM带宽读写共享,读写是互斥。
可选地,第一随机存取存储器可以有多种。对于Intel(英特尔)的可编程逻辑器件构成的网络设备,第一随机存取存储器可以是增强型静态随机存取存储器(EnhancedStatic Random-Access Memory,eSRAM),对于xilinx(赛灵思)的可编程逻辑器件构成的网络设备,第一随机存取存储器可以是超级内存(UltraRAM,Uram)。
可选地,eSRAM接口位宽为256bit,接口频率为260MHZ,容量为2MBytes,eSRAM接口有效带宽为60Gbps左右,eSRAM接口带宽读写分开,读和写互不影响,均可达到60Gbps带宽。
可选地,块随机存储器大小为20Kbit,可以例化成32bit位宽,通过多块拼接可以做到1024bit位宽或者更多位宽,通过拼接,块随机存储器的容量也随着拼接数量递增。示例性地,1k位宽块随机存储器接口带宽可以为260Gbps左右,块随机存储器读和写互不影响,均可达到260Gbps带宽。
在一些实施方式中,网络设备的内部读同步信息缓存大小为32K个读命令。每个读命令读回的数据可以为固定4KB大小的报文。因此,网络设备可以缓存的报文的容量最大可能是32K*4KB=128MBytes。网络设备可以工作在260MHZ主频下。
结合前述内容可知,在突发大流量场景,即接收的带宽大于双倍速率同步动态随机存储器接口带宽场景下,例如需要接收200Gbps带宽的突发流量时,由于双倍速率同步动态随机存储器不能够接收200Gbps带宽,可能会存在丢包的问题,相关技术中,采用256块块随机存储器拼接成1024bit位宽,从而拼接的随机存储器可以支持260Gbps的入口带宽,以通过拼接的块随机存储器接收突发流量,然后再将块随机存储器接收的突发流量存入双倍速率同步动态随机存储器。
然而申请人在长期研究中发现,块随机存储器虽然数量较大,但是在网络设备内部大量功能模块都会使用,使得剩余块随机存储器数量有限,并且,大量使用块随机存储器还会带来诸如增加工程逻辑执行难度等一系列的问题。
因此,为了在节省块随机存储器的情况下也能够应对流量突发问题,以降低报文数据丢包,本公开实施例提供一种数据缓存处理方法、装置、介质及网络设备。
参阅图2,图2是根据本公开一示例性实施例示出的一种数据缓存处理方法的流程图。该数据缓存处理方法应用于基于可编程逻辑器件构成的网络设备,网络设备配置有第一随机存取存储器以及双倍速率同步动态随机存储器,参照图2,该数据缓存处理方法包括以下步骤:
S210,接收第二设备响应于第一设备发送的读命令发送的报文数据。
本公开实施例中,第二设备的数量可以是一个或者多个。
本公开实施例中,网络设备可以通过图1所示的两个速率为100Gbps的以太接口CGMAC接收第二设备,图1中即设备0和1发送的报文数据,因此,在一些情况下,网络设备接收的报文数据带宽可以为200Gbps。
在一些实施方式中,如图1所示,读命令可以是由第一设备的中央处理器生成并通过网络设备转发到第二设备的。
不排除的,在另一些实施方式中,读命令也可以是网络设备生成的。
S220,按照预设策略将报文数据分成两路数据,并将两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,第一随机存取存储器的工作带宽以及双倍速率同步动态随机存储器的工作带宽之和大于或者等于报文数据的接收带宽。
其中,工作带宽可以理解为工作时实际使用的带宽,有效带宽可以理解为理论带宽或者设计带宽,指可以用于接收报文数据的带宽,但是并不一定全部使用,因此,工作带宽区别于有效带宽。
本公开实施例中,第一随机存取存储器的工作带宽以及双倍速率同步动态随机存储器的工作带宽之和大于或者等于报文数据的接收带宽,从而可以满足接收报文数据的带宽需要,避免产生丢包。
本公开实施例中,网络设备在接收到报文数据之后,可以按照预设策略,对报文数据进行分配,即按照预设策略将报文数据分成两路数据,并进一步将两路数据中的其中一路数据发送到网络设备中所配置的第一随机存取存储器中进行存储,以及将两路数据中的其中另一路数据发送到网络设备中所配置的双倍速率同步动态随机存储器中进行存储,从而可以利用第一随机存取存储器的带宽来分担双倍速率同步动态随机存储器的入口带宽压力,解决了双倍速率同步动态随机存储器接收带宽不足的问题,降低报文丢包可能性。
在一些实施方式中,网络设备可以在确定接收到的报文数据的带宽大于预设值时,按照预设策略将报文数据分成两路数据,并两路数据分别发送到网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储。
在一些实施方式中,接收到的报文数据的带宽大于预设值可以是接收到的报文数据的带宽大于双倍速率同步动态随机存储器的有效带宽,结合前述示例,以双倍速率同步动态随机存储器的有效带宽160Gbps为例,当接收到的报文数据的带宽大于160Gbps时,例如为180Gbps、200Gbps等时,网络设备可以按照预设策略将报文数据分成两路数据,并将两路数据分别发送到网络设备配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储。
S230,将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给与网络设备连接的第一设备。
本公开实施例中,在将两路数据分别发送到网络设备配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储之后,后续便可以将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给与网络设备连接的第一设备。
其中,将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给第一设备可以有多种方式。
在一些实施方式中,可以从第一随机存取存储器中取出存储的数据,以及从双倍速率同步动态随机存储器中取出存储的数据,然后将取出的数据共同发送给第一设备。
在另一些实施方式中,可以将第一随机存取存储器中存储的数据存储到双倍速率同步动态随机存储器,然后再取出双倍速率同步动态随机存储器中存储的数据发送给第一设备。
从而,采用上述方式,网络设备接收第二设备响应于第一设备发送的读命令返回的报文数据,按照预设策略将报文数据分成两路数据,并将两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给第一设备。通过利用第一随机存取存储器的带宽来分担双倍速率同步动态随机存储器的入口带宽压力,解决了双倍速率同步动态随机存储器接收带宽不足的问题,降低网络设备报文数据丢包可能性。
此外,考虑到分发的数据不能够直接存入双倍速率同步动态随机存储器,因此,在一些实施方式中,按照预设策略将报文数据分成两路数据,并将两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,可以包括以下步骤:
按照预设策略,将报文数据分成两路数据,并将两路数据中的其中一路数据发送到第一随机存取存储器进行存储,以及将两路数据中的另一路数据通过先入先出队列分发到双倍速率同步动态随机存储器中进行存储。
本公开实施例中,可以通过先入先出队列(First Input First Output,FIFO)将报文数据存入到双倍速率同步动态随机存储器中。
此外,若将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给第一设备,是通过将第一随机存取存储器中存储的数据存储到双倍速率同步动态随机存储器,然后再取出双倍速率同步动态随机存储器中存储的数据发送给第一设备的方式,并是通过先入先出队列将分配的数据发送到双倍速率同步动态随机存储器中进行存储的方式,此时,进一步考虑到双倍速率同步动态随机存储器读写是互斥的,不能够同时进行读和写,因此,在为了保证报文数据正常管理,可以为双倍速率同步动态随机存储器设置接口仲裁,这种情况下,在一些实施方式中,将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给与网络设备连接的第一设备,可以包括以下步骤:
在确定先入先出队列为空时,将第一随机存取存储器中存储的数据存储到双倍速率同步动态随机存储器中;
在确定先入先出队列以及第一随机存取存储器为空时,将中存储的报文数据发送给第一设备。
本公开实施例中,第一随机存取存储器用于吸收突发的流量,结合前述内容可知,其容量较小,为了满足可能存在的最大需要缓存的报文数据的容量,例如最大128MBytes,因此,可以在确定先入先出队列为空时,再将第一随机存取存储器中存储的数据存储到双倍速率同步动态随机存储器中,以释放第一随机存取存储器的空间,并且,由于读写互斥的原因,可以在确定先入先出队列以及第一随机存取存储器为空时,将双倍速率同步动态随机存储器中存储的报文数据发送给第一设备。
本公开实施例中,可以按照绝对优先级调度双倍速率同步动态随机存储器的三个接口命令:第一优先级为将先入先出队列中数据写入双倍速率同步动态随机存储器的命令;第二优先级为将第一随机存取存储器中数据写入双倍速率同步动态随机存储器的命令;第三优先级,也即最低优先级为从双倍速率同步动态随机存储器中读数据包的命令。从而通过上述三个接口命令实现将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给第一设备的过程。
此外,申请人还发现,相关技术中,采用多块块随机存储器拼接成的支持大于200Gbps的入口带宽的存储器能够支持的抗突发能力较低。而要增加抗突发能力,则需要成倍增加块随机存储器。
示例性地,以接收突发的报文数据的带宽为200Gbps,缓存容量512KByte,双倍速率同步动态随机存储器写入带宽为150Gbps为例,采用200块块随机存储器拼接成存储器能够吸收512KByte/(200G-150G)bps=80us持续的200Gbps突发能力。
而本公开实施例中,以第一随机存取存储器为容量为2MBytes的eSRAM为例,假设分发到eSRAM有50Gbps带宽,抗突发的能力为:2MBytes/50Gbps=320us。因此,相较于相关技术中采用200块块随机存储器拼接成存储器的方法,本公开实施例的数据缓存处理方法,可以提高抗突发能力。
其中,按照预设策略将报文数据分成两路数据,并将两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,可以有多种不同的方式。
在一些实施方式中,按照预设策略将报文数据分成两路数据,并将两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,可以包括以下步骤:
针对接收到的任一帧报文数据,将该帧报文数据按照预设比例进行拆分,得到第一数据量的第一分片数据以及第二数据量的第二分片数据;
将第一分片数据存入第一随机存取存储器,以及将第二分片数据存入双倍速率同步动态随机存储器。
本公开实施例中,预设策略可以是对接收到的每帧报文数据进行分片,得到每帧报文数据对应的两路分片数据的策略。
本公开实施例中,针对网络设备接收到的每一帧报文数据,均可以按照预设比例进行拆分,得到第一数据量的第一分片数据以及第二数据量的第二分片数据。接着,便可以将拆分得到的第一分片数据作为一路数据存入第一随机存取存储器,将第二分片数据作为另一路数据存入双倍速率同步动态随机存储器,以完成按照预设策略,对报文数据进行分配,并将分配得到的两路数据分别发送到网络设备配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储的过程。
示例性地,假设接收到的每帧报文数据为4KB大小,预设比例为第一分片数据与第二分片数据的数据量大小为1:3,则可以拆分得到1KB大小的第一分片数据以及3KB大小的第二分片数据,并分别将1KB大小的第一分片数据存储到第一随机存取存储器,将3KB大小的第二分片数据存储到双倍速率同步动态随机存储器。
在一些实施方式中,对每帧报文数据按照预设比例进行拆分,可以是从报文头部开始拆分,例如得到1KB大小的头分片数据作为第一分片数据,得到3KB大小的尾分片数据作为第二分片数据,还可以是从报文尾部开始拆分,例如得到1KB大小的尾分片数据作为第一分片数据,得到3KB大小的头分片数据作为第二分片数据,还可以是从报文数据任意位置进行拆分。
结合前述内容可知,将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给第一设备,可以是通过将第一随机存取存储器中存储的数据存储到双倍速率同步动态随机存储器,然后再取出双倍速率同步动态随机存储器中存储的数据发送给第一设备的方式,在这种情况下,若预设策略是对接收到的每帧报文数据进行分片,得到每帧报文数据对应的两路分片数据的策略的话,为了便于还原得到每帧完整报文,在一些实施方式中,可以在报文数据分片时,为由同一帧报文数据拆分得到的第一分片数据以及第二分片添加相同的标识信息,从而使得由同一帧报文数据拆分得到的第一分片数据以及第二分片数据携带相同的标识信息,这种情况下,将第一随机存取存储器中存储的数据以及双倍速率同步动态随机存储器中存储的数据发送给与网络设备连接的第一设备,可以包括以下步骤:
将第一随机存取存储器中存储的第一分片数据存储到双倍速率同步动态随机存储器中;
将双倍速率同步动态随机存储器中存储的、对应同一标识信息的第一分片数据以及第二分片数据作为一帧完整报文数据发送给第一设备。
本公开实施例中,可以将第一随机存取存储器中存储的第一分片数据存储到双倍速率同步动态随机存储器中,接着,在向第一设备发送报文数据时,便可以将双倍速率同步动态随机存储器中存储的、对应同一标识信息的第一分片数据以及第二分片数据作为一帧完整报文数据发送给第一设备。
其中,标识信息也可以理解为描述符。
需要说明的是,本公开实施例中的一些实施方式,在不矛盾的情况下,可以通过任何合适的方式进行组合。
例如,上述将第二分片数据存入双倍速率同步动态随机存储器的步骤,可以是通过先入先出队列将第二分片数据存入双倍速率同步动态随机存储器。
又例如,上述将第一随机存取存储器中存储的第一分片数据存储到双倍速率同步动态随机存储器中的步骤,可以是在确定先入先出队列为空时,将第一随机存取存储器中存储的第一分片数据存储到双倍速率同步动态随机存储器中,在确定先入先出队列以及第一随机存取存储器为空时,将双倍速率同步动态随机存储器中存储的对应同一标识信息第一分片数据以及第二分片数据作为一帧报文数据发送给第一设备。
在一些实施方式中,在将第二分片数据存入双倍速率同步动态随机存储器中时,可以在每个存储的第二分片数据旁预留用于存储相同标识信息的第一分片数据的预留空间,从而,本公开实施例中,双倍速率同步动态随机存储器中包括预留空间,每个预留空间与相邻存储空间中存储的第二分片数据对应相同的标识信息,这种情况下,将第一随机存取存储器中存储的第一分片数据存储到双倍速率同步动态随机存储器中,可以包括以下步骤:
将第一随机存取存储器中存储的各个第一分片数据分别存储到对应标识信息的预留空间中。
本公开实施例中,根据第一分片数据对应的标识信息,将第一分片数据存储到对应标识信息的预留空间中,从而使得对应同一帧的报文数据靠近,便于后续按照每帧报文数据大小间隔取数据,例如前述的4KB大小间隔取数据,便能够取到每帧完整的报文数据,从而降低分片后的报文数据的组合难度。
在另一些实施方式中,按照预设策略将报文数据分成两路数据,并将两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,可以包括以下步骤:
根据报文数据的接收顺序,循环执行将第一数量帧报文数据存入第一随机存取存储器,以及将第二数量帧报文数据存入双倍速率同步动态随机存储器,第一数量以及第二数量是根据预设比例确定的。
本公开实施例中,预设策略还可以是不对接收到的报文数据进行分片,而是直接将各帧报文数据完整进行分配的策略。
本公开实施例中,针对网络设备接收到的报文数据,可以根据每帧报文数据的接收顺序,循环执行将第一数量帧报文数据存入第一随机存取存储器,以及将第二数量帧报文数据存入双倍速率同步动态随机存储器。
示例性地,假设第一数量帧是1帧,第二数量帧是3帧,则可以将网络设备接收到的第1帧报文数据存储到第一随机存取存储器,将接收到的第2、3、4帧报文数据存储到双倍速率同步动态随机存储器,将接收到的第5帧报文数据存储到第一随机存取存储器,将接收到的第6、7、8帧报文数据存储到双倍速率同步动态随机存储器,依次类推,以完成按照预设策略将报文数据分成两路数据,并将两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储的过程。
在一些实施方式中,不管采取的何种数据分发策略,其中涉及到的预设比例可以是根据第一随机存取存储器的工作带宽以及双倍速率同步动态随机存储器的工作带宽的比值确定的。如此,可以很好适应报文数据接收带宽,降低数据丢包可能性。
示例性地,假设第一随机存取存储器的工作带宽为50Gbps,双倍速率同步动态随机存储器的工作带宽为150Gbps,则预设比例可以设置为1:3。
下面结合图3所示的一种数据缓存处理方法的流程示意图,来对本公开实施例的数据缓存处理方法进行详细说明。在本公开实施例中,网络设备接收的报文数据带宽为200Gbps,配置的第一随机存取存储器选择容量为2MBytes,入口带宽为60G作左右的eSRAM,配置的双倍速率同步动态随机存储器选择有效带宽为160Gbps左右的第四代双倍数据率同步动态随机存取存储器(DDR4 SDRAM),DDR4 SDRAM工作在150Gbps的带宽下。DDR接口仲裁模块优先调度尾分片数据,只有在尾分片数据FIFO为空的时候,才读取eSRAM中的头分片数据,最低优先级为响应读DDR4 SDRAM缓存报文,当头和尾分片数据都被清空后,才响应读数据缓存命令,取出DDR4 SDRAM中的数据包发送到第一设备的中央处理器。
网络设备内部的读报文接收及分片模块通过两个100Gbps的以太接口接收200Gbps的报文数据,每帧报文数据大小为4K。
读报文接收及分片模块在接收到报文数据之后,将接收到的每帧报文数据按照1:3的比例分配,1KB的头分片数据存入eSRAM,3KB的尾分片数据存入先入先出队列,同一帧报文数据拆分得到的头分片数据以及尾分片数据携带相同的标识信息,并且,存入eSRAM的头分片数据使用50Gbps带宽,存入先入先出队列的尾分片数据使用150Gbps带宽。其中,存入先入先出队列中的尾分片数据可以通过接口仲裁模块迅速被取出并存入DDR4SDRAM中。
当先入先出队列为空的时候,通过接口仲裁模块读取eSRAM中的头分片数据,并存入DDR4 SDRAM中。在DDR4 SDRAM中,每帧头分片数据缓存的位置该数据对应的标识信息决定,也即存入该标识信息对应预留的头空间中。
当先入先出队列以及eSRAM为空时,读报文读取模块通过接口仲裁模块按照读同步信息从DDR4 SDRAM中读取对应的报文数据,并发送给读报文发送模块,最后由读报文发送模块发送给CPU。
采用本公开实施例的方法,将报文分为头和尾两组同时并发入缓存,利用eSRAM解决了DDR4 SDRAM带宽不足的问题,利用DDR4 SDRAM空闲时刻,取出eSRAM的数据存入大容量的DDR4 SDRAM中,解决eSRAM容量不足的问题。
此外,在另一些实施方式中,读报文接收及分片模块在接收到报文数据之后,也可以不将接收到的每帧报文数据按照1:3的比例分配,而是通过循环将一个报文数据存入eSRAM,3个报文数据存入先入先出队列的方式分配接收到的报文数据。
图4是根据本公开一示例性实施例示出的一种数据缓存处理装置的框图,参照图4,该数据缓存处理装置400包括:
接收模块410,用于接收第二设备响应于第一设备发送的读命令返回的报文数据;
分配模块420,用于按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽之和大于或者等于所述报文数据的接收带宽;
发送模块430,用于将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的所述第一设备。
可选地,分配模块420包括:
拆分子模块,用于针对接收到的任一帧报文数据,将该帧报文数据按照预设比例进行拆分,得到第一数据量的第一分片数据以及第二数据量的第二分片数据;
第一分配子模块,用于将所述第一分片数据存入所述第一随机存取存储器,以及将所述第二分片数据存入所述双倍速率同步动态随机存储器。
可选地,由同一帧报文数据拆分得到的第一分片数据以及第二分片数据携带相同的标识信息,发送模块430包括:
第一存储子模块,用于将所述第一随机存取存储器中存储的第一分片数据存储到所述双倍速率同步动态随机存储器中;
第一发送子模块,用于将所述双倍速率同步动态随机存储器中存储的、对应同一标识信息的第一分片数据以及第二分片数据作为一帧完整报文数据发送给所述第一设备。
可选地,所述双倍速率同步动态随机存储器中包括预留空间,每个所述预留空间与相邻存储空间中存储的第二分片数据对应相同的标识信息,第一存储子模块包括:
存储单元,用于将所述第一随机存取存储器中存储的各个所述第一分片数据分别存储到对应标识信息的所述预留空间中。
可选地,分配模块420包括:
第二分配子模块,用于根据报文数据的接收顺序,循环执行将第一数量帧报文数据存入所述第一随机存取存储器,以及将第二数量帧报文数据存入所述双倍速率同步动态随机存储器,所述第一数量以及所述第二数量是根据预设比例确定的。
可选地,所述预设比例是根据所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽的比值确定的。
可选地,分配模块420包括:
第三分配子模块,用于按照预设策略将所述报文数据分成两路数据,并将所述两路数据中的其中一路数据发送到第一随机存取存储器进行存储,以及将所述两路数据中的另一路数据通过先入先出队列分发到双倍速率同步动态随机存储器中进行存储。
可选地,发送模块430包括:
第二存储子模块,用于在确定所述先入先出队列为空时,将所述第一随机存取存储器中存储的数据存储到所述双倍速率同步动态随机存储器中;
第二发送子模块,用于在确定所述先入先出队列以及所述第一随机存取存储器为空时,将所述双倍速率同步动态随机存储器中存储的报文数据发送给所述第一设备。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器、可编程逻辑器件等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,电子设备可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
接收第二设备响应于第一设备发送的读命令返回的报文数据;按照预设策略将所述报文数据分成两路数据,并将所述两路数据中的其中一路数据发送到第一随机存取存储器进行存储,以及将所述两路数据中的另一路数据通过先入先出队列分发到双倍速率同步动态随机存储器中进行存储,所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽之和大于或者等于所述报文数据的接收带宽;将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的所述第一设备。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
本公开还提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开实施例提供的数据缓存处理方法的步骤。
本公开还提供一种可编程逻辑器件,包括处理装置和接口;所述处理装置用于读取指令以执行本公开实施例提供的数据缓存处理方法的步骤。
本公开还提供一种电子设备,包括本公开实施例所述的可编程逻辑器件。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

Claims (11)

1.一种数据缓存处理方法,其特征在于,所述方法包括:
接收第二设备响应于第一设备发送的读命令返回的报文数据;
按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽之和大于或者等于所述报文数据的接收带宽;
将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的所述第一设备。
2.根据权利要求1所述的方法,其特征在于,所述按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,包括:
针对接收到的任一帧报文数据,将该帧报文数据按照预设比例进行拆分,得到第一数据量的第一分片数据以及第二数据量的第二分片数据;
将所述第一分片数据存入所述第一随机存取存储器,以及将所述第二分片数据存入所述双倍速率同步动态随机存储器。
3.根据权利要求2所述的方法,其特征在于,由同一帧报文数据拆分得到的第一分片数据以及第二分片数据携带相同的标识信息,所述将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的所述第一设备,包括:
将所述第一随机存取存储器中存储的第一分片数据存储到所述双倍速率同步动态随机存储器中;
将所述双倍速率同步动态随机存储器中存储的、对应同一标识信息的第一分片数据以及第二分片数据作为一帧完整报文数据发送给所述第一设备。
4.根据权利要求3所述的方法,其特征在于,所述双倍速率同步动态随机存储器中包括预留空间,每个所述预留空间与相邻存储空间中存储的第二分片数据对应相同的标识信息,所述将所述第一随机存取存储器中存储的第一分片数据存储到所述双倍速率同步动态随机存储器中,包括:
将所述第一随机存取存储器中存储的各个所述第一分片数据分别存储到对应标识信息的所述预留空间中。
5.根据权利要求1所述的方法,其特征在于,所述按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,包括:
根据报文数据的接收顺序,循环执行将第一数量帧报文数据存入所述第一随机存取存储器,以及将第二数量帧报文数据存入所述双倍速率同步动态随机存储器,所述第一数量以及所述第二数量是根据预设比例确定的。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述预设比例是根据所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽的比值确定的。
7.根据权利要求1所述的方法,其特征在于,所述按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,包括:
按照预设策略将所述报文数据分成两路数据,并将所述两路数据中的其中一路数据发送到第一随机存取存储器进行存储,以及将所述两路数据中的另一路数据通过先入先出队列分发到双倍速率同步动态随机存储器中进行存储。
8.根据权利要求7所述的方法,其特征在于,所述将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给与所述网络设备连接的所述第一设备,包括:
在确定所述先入先出队列为空时,将所述第一随机存取存储器中存储的数据存储到所述双倍速率同步动态随机存储器中;
在确定所述先入先出队列以及所述第一随机存取存储器为空时,将所述双倍速率同步动态随机存储器中存储的报文数据发送给所述第一设备。
9.一种数据缓存处理装置,其特征在于,所述装置包括:
接收模块,用于接收第二设备响应于第一设备发送的读命令返回的报文数据;
分配模块,用于按照预设策略将所述报文数据分成两路数据,并将所述两路数据分别传输至基于可编程逻辑器件实现的网络设备中所配置的第一随机存取存储器和双倍速率同步动态随机存储器中进行存储,所述第一随机存取存储器的工作带宽以及所述双倍速率同步动态随机存储器的工作带宽之和大于或者等于所述报文数据的接收带宽;
发送模块,用于将所述第一随机存取存储器中存储的数据以及所述双倍速率同步动态随机存储器中存储的数据发送给基于所述网络设备连接的所述第一设备。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-8中任一项所述方法的步骤。
11.一种网络设备,其特征在于,包括处理装置和接口;所述处理装置用于读取指令以执行权利要求1-8中任一项所述方法的步骤。
CN202310506449.4A 2023-05-06 2023-05-06 数据缓存处理方法、装置、介质及网络设备 Pending CN116436879A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202310506449.4A CN116436879A (zh) 2023-05-06 2023-05-06 数据缓存处理方法、装置、介质及网络设备
US18/650,455 US20240372820A1 (en) 2023-05-06 2024-04-30 Data caching method and apparatus, medium and network equipment
EP24173654.5A EP4462267A1 (en) 2023-05-06 2024-05-01 Data caching method and apparatus, medium and network equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310506449.4A CN116436879A (zh) 2023-05-06 2023-05-06 数据缓存处理方法、装置、介质及网络设备

Publications (1)

Publication Number Publication Date
CN116436879A true CN116436879A (zh) 2023-07-14

Family

ID=87094472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310506449.4A Pending CN116436879A (zh) 2023-05-06 2023-05-06 数据缓存处理方法、装置、介质及网络设备

Country Status (3)

Country Link
US (1) US20240372820A1 (zh)
EP (1) EP4462267A1 (zh)
CN (1) CN116436879A (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862814B2 (en) * 2011-08-10 2014-10-14 International Business Machines Corporation Video object placement for cooperative caching
US20140258595A1 (en) * 2013-03-11 2014-09-11 Lsi Corporation System, method and computer-readable medium for dynamic cache sharing in a flash-based caching solution supporting virtual machines
US9720603B1 (en) * 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US20210373951A1 (en) * 2020-05-28 2021-12-02 Samsung Electronics Co., Ltd. Systems and methods for composable coherent devices
US11989088B2 (en) * 2022-08-30 2024-05-21 Micron Technology, Inc. Read data path

Also Published As

Publication number Publication date
EP4462267A1 (en) 2024-11-13
US20240372820A1 (en) 2024-11-07

Similar Documents

Publication Publication Date Title
CN113535633B (zh) 一种片上缓存装置和读写方法
US8656071B1 (en) System and method for routing a data message through a message network
US8225026B2 (en) Data packet access control apparatus and method thereof
US10193831B2 (en) Device and method for packet processing with memories having different latencies
US8248945B1 (en) System and method for Ethernet per priority pause packet flow control buffering
US10805392B2 (en) Distributed gather/scatter operations across a network of memory nodes
CN102314400B (zh) 一种分散聚合式dma方法及装置
US20150304124A1 (en) Message Processing Method and Device
TW201703475A (zh) 用於使用多個連結的記憶體清單的方法及裝置
US9311044B2 (en) System and method for supporting efficient buffer usage with a single external memory interface
CN102395958B (zh) 一种数据包的并发处理方法及设备
CN101848135B (zh) 芯片的统计数据的管理方法和装置
CN107783727A (zh) 一种内存设备的访问方法、装置和系统
US9838500B1 (en) Network device and method for packet processing
WO2018149102A1 (zh) 一种降低高优先级数据传输时延的方法和装置、存储介质
US20230409506A1 (en) Data transmission method, device, network system, and storage medium
WO2018000820A1 (zh) 一种队列管理方法和装置
US10489322B2 (en) Apparatus and method to improve performance in DMA transfer of data
CN108701102A (zh) 直接存储器访问控制器、数据读取方法和数据写入方法
CN114024844B (zh) 数据调度方法、数据调度装置及电子设备
WO2019095942A1 (zh) 一种数据传输方法及通信设备
CN116436879A (zh) 数据缓存处理方法、装置、介质及网络设备
CN117724996B (zh) 数据存储方法及设备
US20110283068A1 (en) Memory access apparatus and method
CN102098221A (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