CN101350821A - 一种双模存储的方法和装置 - Google Patents
一种双模存储的方法和装置 Download PDFInfo
- Publication number
- CN101350821A CN101350821A CNA2008101466751A CN200810146675A CN101350821A CN 101350821 A CN101350821 A CN 101350821A CN A2008101466751 A CNA2008101466751 A CN A2008101466751A CN 200810146675 A CN200810146675 A CN 200810146675A CN 101350821 A CN101350821 A CN 101350821A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- bandwidth mode
- data
- storage
- memory
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种双模存储的方法和装置,包括:根据应用场景对数据存储的带宽模式进行配置;当配置为高带宽模式时,使用两块存储空间对接收的数据进行缓存;当配置为低带宽模式时,使用一块存储空间对接收的数据进行缓存。该装置包括:配置模块,用于根据应用场景对数据存储的带宽模式进行配置;处理模块,用于根据所述配置模块配置的带宽模式,处理接收的信息。采用本发明实施例提供的方法和装置,可以在兼顾高带宽需求的情况下,为低带宽的情况只提供一块存储空间,节约了设备的成本。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种双模存储的方法和装置。
背景技术
随着网络技术的发展,世界各地的计算机系统都可以通过互联网Internet协议来进行通信,运行传输控制协议TCP/IP协议的网络设备是计算机系统互通互联的基础。传统的网络设备主要有两种实现方法:直接转发型和存储转发型。对于直接转发型的网络设备,对接收的以太网Ethernet报文不进行存储,而是边接收边分析报文头然后进行转发;对于存储转发型的网络设备,对接收的Ethernet报文先进行存储,然后提取报文头,并分析报文头后进行转发。现有的存储转发型网络设备必须提供两块缓存,一块缓存用于存储普通数据包,一块缓存作为CPU(Central Processing Unit,中央处理单元)的主存。在高带宽的应用场景下,为加快存储转发速度使用两块缓存是必要的,在低带宽的应用场景下,对存储速率要求不高,提供一块缓存就可以满足需求,然后现有技术仍然会提供两块缓存,这样会致使低带宽需求情况下增加产品成本。
发明内容
本发明实施例提供了一种双模存储的方法和装置,可以在兼顾高带宽需求的情况下,为低带宽情况节约设备成本。
为达到上述目的,本发明实施例提供一种双模存储的方法,包括:
根据应用场景对数据存储的带宽模式进行配置;
当配置为高带宽模式时,使用两块存储空间对接收的数据进行缓存;
当配置为低带宽模式时,使用一块存储空间对接收的数据进行缓存。
本发明实施例还提供了一种双模存储的装置,包括:
配置模块,用于根据应用场景对数据存储的带宽模式进行配置;
处理模块,用于根据所述配置模块配置的带宽模式,处理接收的信息。
与现有技术相比,本发明实施例的技术方案具有以下优点:
本发明实施例提供的方法可以根据不同的应用需求提供不同的存储方案,对带宽要求较高时,配置成高带宽模式,使用两块缓存进行存储;对带宽的要求较低时,配置成低带宽模式,使用一块缓存进行存储。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中双模存储的方法流程图;
图2为本发明又一实施例中双模存储的结构框图;
图3为本发明又一实施例中普通以太包情况下双模存储的方法流程图;
图4为本发明实施例中CPU收包情况下双模存储的方法流程图;
图5为本发明实施例中双模存储的装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种双模存储的方法和装置,可以在兼顾高带宽需求的情况下,为低带宽情况节约设备成本。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:
本发明实施例提供了一种双模存储的方法,如图1所示,包括:
步骤s101、根据应用场景对数据存储的带宽模式进行配置。若配置为高带宽模式,执行步骤s102;若配置为低带宽模式,执行步骤s103。
步骤s102、当配置为高带宽模式时,使用两块存储空间对接收的数据进行缓存。
步骤s103、当配置为低带宽模式时,使用一块存储空间对接收的数据进行缓存。具体的,选择低带宽模式时,将接收的信息写入存储空间中的包缓存空间,并经过解析、转发、处理等过程后,将缓存的信息从存储空间中的包缓存空间中读出。
存储转发型网络设备中具有的存储空间可以根据应用场景的不同而改变,在带宽要求较高的情况下(如商用)存储转发型网络设备可以提供两块存储空间,而在带宽要求较低的情况下(如家用)存储转发型网络设备提供一块存储空间就可以满足用户的需求。所以在低带宽模式时,可以仅提供一块存储空间,并将该空间在逻辑上划分为包缓存空间和CPU主存空间。
通过本发明实施例提供的双模存储的方法,根据不同的带宽情况,对接收的信息进行存储,在兼顾高带宽的情况下,对低带宽情况只使用一块存储空间,既满足了缓存信息的需要,也满足节省设备成本的需要。
当对带宽的要求较高时,可以通过配置寄存器选择使用高带宽模式,此时使用片外的两块缓存(Memory0和Memory1)进行存储;当对带宽的要求较低时,可以通过配置寄存器选择使用低带宽模式,此时使用片外的一块缓存(Memory1)进行存储。下面以低带宽模式下对普通以太报文的收发过程为例,对本发明又一实施例提供的双模存储的方法进行详细的说明,如图2所示,为实现本发明实施例提供的双模存储的结构框图,根据带宽需要利用配置寄存器选取低带宽模式后,只提供一块存储空间用于缓存信息和处理数据,由图可知,此时执行以下步骤,如图3所示,包括:
步骤s301、直接存储器访问接收RXDMA模块从端口接收以太包,然后将以太包写入存储空间Memory1中进行缓存,同时提取报头送给转化引擎Forward Engine模块。此时,Memory1在逻辑上被分成连续的两块地址空间,一块包缓存空间用于缓存以太包,一块CPU主存空间作为CPU的主存,同时配置Memory1中作为以太包缓存的地址空间的基地址。
步骤s302、Forward Engine模块对提取的报文头进行分析和转发处理,并将转发结果送给直接存储器访问发送TXDMA模块。
步骤s303、TXDMA模块根据Engine Forward的处理结果将报文从Memory1中的包缓存空间读出,并将其转发到相应的端口。
通过上述步骤在对带宽要求不高的情况下配置为低带宽模式,将接收的信息存放在存储空间中的包缓存空间,由于只使用一块存储空间可以节约设备的成本。
若对带宽要求较高,则可以通过配置寄存器将带宽模式配置为高带宽模式,此时使用片外的两块存储空间(Memory0和Memory1)进行信息处理,下面以CPU的收包过程为例,对本发明实施例提供的双模存储的方法进行详细的说明,如图4所示,包括:
步骤s401、RXDMA模块从端口接收以太包,然后将以太包写入存储空间Memory0中进行缓存,同时提取报文头发送到Forward Engine模块。
步骤s402、Forward Engine模块对提取的报文头进行分析和转发处理,并将转发结果发送到TXDMA模块。
步骤s403、TXDMA模块根据Engine Forward的处理结果将报文从Memory0中读出,并将其转发到CPURTX。
步骤s404、CPU向CPU收发包模块CPURTX提供缓存基地址(在内核分配的CPU主存空间),CPURTX将接收的数据包发送到Memory1的CPU主存中,然后通知CPU已完成CPU的收包过程。
上述两个实施例分别提供了低带宽模式和高带宽模式下对接收信息的处理过程,根据带宽要求对带宽模式进行配置,当带宽要求较高时配置为高带宽模式,此时提供两个片外存储空间;当带宽要求较低时配置为低带宽模式,此时提供一块片外存储空间。由此可以在兼顾高带宽要求下,节约低带宽要求下的设备成本。
为了实现本发明实施例提供双模存储的方法,本发明实施例还提供了一种双模存储的装置,如图5所示,包括:
配置模块510,用于根据应用场景对数据存储的带宽模式进行配置;
处理模块520,用于根据所述配置模块510配置的带宽模式,处理接收的信息。
该处理模块520包括:第一处理子模块521,用于当配置为高带宽模式时,使用两块存储空间对接收的数据进行缓存;第二处理子模块522,用于当配置为低带宽模式时,使用一块存储空间对接收的数据进行缓存。
通过本发明实施例提供的双模存储的方法和装置,通过配置选择低带宽模式时,让充当CPU主存的片外缓存在逻辑上划分出一块地址空间充当数据包缓存的作用,从而可以在兼顾高带宽需求的情况下,为低带宽需求情况下节约了设备成本。而且本发明实施例提供的方法和装置并不限于存储转发型的网络设备开发,还可以用于IC开发和FPGA/CPLD等可编程逻辑门阵列的开发。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (5)
1、一种双模存储的方法,其特征在于,包括:
根据应用场景对数据存储的带宽模式进行配置;
当配置为高带宽模式时,使用两块存储空间对接收的数据进行缓存;
当配置为低带宽模式时,使用一块存储空间对接收的数据进行缓存。
2、如权利要求1所述的方法,其特征在于,所述根据应用场景对数据存储的带宽模式进行配置,包括:
带宽要求高时,将带宽模式配置为高带宽模式;
带宽要求低时,将带宽模式配置为低带宽模式。
3、如权利要求1所述的方法,其特征在于,低带宽模式时所述一块存储空间在逻辑上分为包缓存空间和中央处理单元CPU主存空间,所述包缓存空间用于缓存接收的信息。
4、一种双模存储的装置,其特征在于,包括:
配置模块,用于根据应用场景对数据存储的带宽模式进行配置;
处理模块,用于根据所述配置模块配置的带宽模式,处理接收的信息。
5、如权利要求4所述的装置,其特征在于,所述处理模块包括:
第一处理子模块,用于当配置为高带宽模式时,使用两块存储空间对接收的数据进行缓存;
第二处理子模块,用于当配置为低带宽模式时,使用一块存储空间对接收的数据进行缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101466751A CN101350821B (zh) | 2008-09-04 | 2008-09-04 | 一种双模存储的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101466751A CN101350821B (zh) | 2008-09-04 | 2008-09-04 | 一种双模存储的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101350821A true CN101350821A (zh) | 2009-01-21 |
CN101350821B CN101350821B (zh) | 2013-06-26 |
Family
ID=40269395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101466751A Expired - Fee Related CN101350821B (zh) | 2008-09-04 | 2008-09-04 | 一种双模存储的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101350821B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881061A (zh) * | 2018-06-28 | 2018-11-23 | 迈普通信技术股份有限公司 | 通信设备和通信方法 |
CN111338994A (zh) * | 2018-12-18 | 2020-06-26 | 爱思开海力士有限公司 | 智能车辆系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732286B1 (en) * | 2000-11-30 | 2004-05-04 | Marvell International, Ltd. | High latency timing circuit |
US20050053103A1 (en) * | 2003-09-10 | 2005-03-10 | Jiann-Chang Lo | Seeking and tracking control for locking to transmision peak for a tunable laser |
US7486688B2 (en) * | 2004-03-29 | 2009-02-03 | Conexant Systems, Inc. | Compact packet switching node storage architecture employing Double Data Rate Synchronous Dynamic RAM |
-
2008
- 2008-09-04 CN CN2008101466751A patent/CN101350821B/zh not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881061A (zh) * | 2018-06-28 | 2018-11-23 | 迈普通信技术股份有限公司 | 通信设备和通信方法 |
CN108881061B (zh) * | 2018-06-28 | 2022-03-11 | 迈普通信技术股份有限公司 | 通信设备和通信方法 |
CN111338994A (zh) * | 2018-12-18 | 2020-06-26 | 爱思开海力士有限公司 | 智能车辆系统 |
Also Published As
Publication number | Publication date |
---|---|
CN101350821B (zh) | 2013-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9274940B2 (en) | Method and apparatus for allocating memory space with write-combine attribute | |
US9430432B2 (en) | Optimized multi-root input output virtualization aware switch | |
US8615623B2 (en) | Internet connection switch and internet connection system | |
CN104461716B (zh) | 一种多核异构系统的访问方法及多核异构系统 | |
CN103428226B (zh) | 一种用户态与内核通信的方法与系统 | |
US8370855B2 (en) | Management of process-to-process intra-cluster communication requests | |
CN104641360A (zh) | 对存储器及对等设备的双播PCIe入站写入 | |
CN101667144A (zh) | 一种基于共享内存的虚拟机通信方法 | |
EP1818794A3 (en) | Virtual path storage system and control method for the same | |
JP2008507201A5 (zh) | ||
CN101901205A (zh) | 在PCIExpress上启用基于ID的流的方法和装置 | |
CN103312601A (zh) | 用户态到内核态的数据报文处理方法 | |
CN102857510B (zh) | 访问控制列表acl表项下发方法和装置 | |
CN105765545B (zh) | PCIe I/O设备共享方法及设备与互联系统 | |
CN101257457A (zh) | 网络处理器复制报文的方法和网络处理器 | |
CN103532807A (zh) | 一种用于pcie数据服务质量管理的技术 | |
CN103186498A (zh) | 通过sas域在sata主机与sata目标装置间通信的方法和结构 | |
CN109117386A (zh) | 一种网络远程读写二级存储的系统及方法 | |
US9098354B2 (en) | Management of application to I/O device communication requests between data processing systems | |
CN106302322A (zh) | 一种虚拟机数据流管理方法和系统 | |
WO2024082944A1 (zh) | 一种多处理器数据交互方法、装置、设备及存储介质 | |
US9239796B2 (en) | Methods, systems, and computer readable media for caching and using scatter list metadata to control direct memory access (DMA) receiving of network protocol data | |
TWI442248B (zh) | 處理資料之處理器-伺服器混合系統 | |
CN105407045A (zh) | 基于安全隔离的路由器虚拟化方法 | |
CN102843435A (zh) | 一种在集群系统中存储介质的访问、响应方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130626 Termination date: 20170904 |
|
CF01 | Termination of patent right due to non-payment of annual fee |