[go: up one dir, main page]

CN101808029B - Method and device for preloading packet header and system using method - Google Patents

Method and device for preloading packet header and system using method Download PDF

Info

Publication number
CN101808029B
CN101808029B CN2009100095015A CN200910009501A CN101808029B CN 101808029 B CN101808029 B CN 101808029B CN 2009100095015 A CN2009100095015 A CN 2009100095015A CN 200910009501 A CN200910009501 A CN 200910009501A CN 101808029 B CN101808029 B CN 101808029B
Authority
CN
China
Prior art keywords
packet
header
main memory
data
location information
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.)
Expired - Fee Related
Application number
CN2009100095015A
Other languages
Chinese (zh)
Other versions
CN101808029A (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.)
RALINK TECHNOLOGY CORP
Original Assignee
RALINK TECHNOLOGY CORP
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 RALINK TECHNOLOGY CORP filed Critical RALINK TECHNOLOGY CORP
Priority to CN2009100095015A priority Critical patent/CN101808029B/en
Publication of CN101808029A publication Critical patent/CN101808029A/en
Application granted granted Critical
Publication of CN101808029B publication Critical patent/CN101808029B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention relates to a method and a device for preloading a packet header and a system applying the method. The method downloads the packet header data from a main memory to a packet header register in advance before a central processing unit executes downloading of the packet header data to accelerate the processing speed of the packet header data.

Description

包报头预载的方法与装置和使用所述方法的系统Method and device for packet header preloading and system using said method

技术领域 technical field

本发明涉及一种包处理,特别涉及一种包报头预载的方法与装置。The invention relates to packet processing, in particular to a method and device for packet header preloading.

背景技术 Background technique

因特网日益普及,各种不同的应用也随之迅速发展,而许多团队也相继投入于提升因特网的数据传输性能的研究。在不同的使用场合中,数据传输时所允许使用的包长度不尽相同,且包含多种包数据运算处理程序,如检查、拆解、组合、搜索、内容比对、转递等程序。随着家用网络、校园网络和企业网络等网络应用的带宽需求急剧上升和大量的包数据传输,包的传输性能以及包的运算处理技术发展也日益受到重视。With the increasing popularity of the Internet, various applications have also developed rapidly, and many teams have also invested in the research of improving the data transmission performance of the Internet. In different usage occasions, the length of packets allowed for data transmission is not the same, and it contains a variety of packet data processing procedures, such as inspection, disassembly, combination, search, content comparison, forwarding and other procedures. With the sharp increase in the bandwidth requirements of network applications such as home networks, campus networks, and enterprise networks and the transmission of a large amount of packet data, the transmission performance of packets and the development of packet computing and processing technologies have also received increasing attention.

在网络包数据应用中,为确保其服务质量,因而对包传输有一些相关的要求。例如,在网络语音服务的应用中,包迟延会造成回音与颤音。当包迟延时,人耳就可以分辨出有回音出现。好的网络传输环境与包数据处理性能需确保包迟延低于150毫秒。人耳能接受的声音迟延大约是150毫秒到400毫秒。超过400毫秒的迟延会造成声音质量恶劣而无法接听。因此,除了加强网络传输质量外,各类型包的传送时机也需加以适当管理。例如,依缓急程度标示所述包的处理优先顺序,使随后的网络设备能够依其服务特性的需求而加以处理。In network packet data applications, in order to ensure its service quality, there are some related requirements for packet transmission. For example, in VoIP applications, packet delays can cause echoes and vibrato. When the packet is delayed, the human ear can tell that there is an echo. A good network transmission environment and packet data processing performance must ensure that the packet delay is less than 150 milliseconds. The sound delay acceptable to the human ear is about 150 milliseconds to 400 milliseconds. Delays of more than 400 milliseconds can result in poor sound quality that cannot be answered. Therefore, in addition to enhancing the quality of network transmission, the transmission timing of various types of packets also needs to be properly managed. For example, the processing priority of the packets is marked according to the urgency, so that subsequent network devices can process them according to the requirements of their service characteristics.

随着网络传输速度不断提高且需要同时处理语音传输以及多媒体传输的包信息,为提升处理的性能,多种技术和方法被提出。例如,系统芯片设计厂商致力于提高中央处理单元的运算时钟、加大高速缓冲存储器空间或在系统中使用专门处理包数据的运算处理器。然而,上述的方式也随之提高了成本和功率损耗。因此产业界需要一种以低成本的方式而能提高包传输速度的方法。With the continuous improvement of network transmission speed and the need to process packet information of voice transmission and multimedia transmission at the same time, in order to improve the performance of processing, various technologies and methods have been proposed. For example, SoC designers are working to increase the operating clock of the central processing unit, increase the cache memory space, or use an arithmetic processor specialized in processing packet data in the system. However, the above method also increases the cost and power consumption. Therefore, the industry needs a method that can increase the packet transmission speed in a low-cost manner.

发明内容 Contents of the invention

本发明的包报头预载方法与装置在中央处理单元执行下载一包报头数据之前,预先将所述包报头数据下载至一包报头寄存器中以加速所述包报头数据的处理速度。The packet header preloading method and device of the present invention download the packet header data into a packet header register in advance before the central processing unit executes downloading of the packet header data, so as to accelerate the processing speed of the packet header data.

本发明的一实施例揭示一种包报头预载装置,所述包报头预载装置包含至少一包检测器、至少一包报头寄存器和至少一数据调度器。所述至少一包检测器用以监测至少一包直接存储器存取控制器将至少一包存储至一主存储器的动作。所述至少一数据调度器用以将所述至少一包的报头数据从所述主存储器读出且寄存于所述至少一包报头寄存器。An embodiment of the present invention discloses a packet header preloading device, the packet header preloading device includes at least one packet detector, at least one packet header register and at least one data scheduler. The at least one packet detector is used for monitoring the action of the at least one packet direct memory access controller storing at least one packet into a main memory. The at least one data scheduler is used for reading the header data of the at least one packet from the main memory and storing it in the at least one packet header register.

本发明的另一实施例揭示一种包报头预载方法。所述方法包含下列步骤:监测至少一包直接存储器存取控制器将至少一包存储至一主存储器的动作;下载所述至少一包的报头数据至一包报头寄存器中;以及如果在一设定时间内,一中央处理单元希望读取所述至少一包的报头数据,那么由所述包报头寄存器提供所述至少一包的报头数据。Another embodiment of the present invention discloses a packet header preloading method. The method comprises the steps of: monitoring at least one packet of direct memory access controller for storing at least one packet into a main memory; downloading header data of said at least one packet into a packet header register; and if in a device If within a certain period of time, a central processing unit wishes to read the header data of the at least one packet, then the packet header register provides the header data of the at least one packet.

本发明的一实施例揭示一种系统,其包含一媒体存取控制、一包直接存储器存取控制器、一中央处理单元、一主存储器以及一包报头预载装置。所述包报头预载装置监测所述包直接存储器存取控制器将至少一包存储至一主存储器的动作,并在所述中央处理单元尚未读取所述至少一包的报头数据之前预先读取。且如果在一设定时间内所述中央处理单元希望读取所述包的报头数据时,那么所述包的报头数据由所述包报头预载装置提供。An embodiment of the present invention discloses a system comprising a MAC, a packet DMA controller, a central processing unit, a main memory, and a packet header preloader. The packet header preloading device monitors the action of the packet direct memory access controller storing at least one packet into a main memory, and reads in advance before the central processing unit has read the header data of the at least one packet Pick. And if the central processing unit wishes to read the header data of the packet within a set time, the header data of the packet is provided by the packet header preloading device.

附图说明 Description of drawings

图1展示本发明的一实施例的包处理系统方框图;FIG. 1 shows a block diagram of a packet processing system according to an embodiment of the present invention;

图2展示本发明的一实施例的包报头预载装置的方框图;FIG. 2 shows a block diagram of a packet header preloading device according to an embodiment of the present invention;

图3展示本发明的另一实施例的包报头预载装置的方框图;以及Fig. 3 shows the block diagram of the packet header preloading device of another embodiment of the present invention; And

图4展示本发明的再一实施例的包报头预载方法的流程图。FIG. 4 shows a flowchart of a packet header preloading method according to yet another embodiment of the present invention.

具体实施方式 Detailed ways

图1展示本发明的一实施例的包处理系统方框图。媒体存取控制(media accesscontrol,MAC)103提供定址及媒体存取的控制方式,使得不同设备或网络上的节点可以在多点的网络上通信。当媒体存取控制103接收到包后,经由包直接存储器存取(directmemory access,DMA)控制器102传送数据至主存储器101。在本发明实施例中,所述主存储器101可为动态随机存取存储器、同步动态随机存取存储器或双通道同步动态随机存取存储器。在中央处理单元106由主存储器101读取一包报头数据至高速缓冲存储器105之前,包报头预载装置104即预先完成所述包读取工作,并存储所述包报头数据至包报头预载装置104中。FIG. 1 shows a block diagram of a packet processing system according to an embodiment of the present invention. Media access control (media access control, MAC) 103 provides addressing and media access control methods, so that different devices or nodes on the network can communicate on a multi-point network. When the MAC 103 receives the packet, it transmits the data to the main memory 101 via the direct memory access (DMA) controller 102 of the packet. In the embodiment of the present invention, the main memory 101 may be a dynamic random access memory, a synchronous dynamic random access memory or a dual-channel synchronous dynamic random access memory. Before the central processing unit 106 reads a packet header data from the main memory 101 to the cache memory 105, the packet header preloading device 104 completes the packet reading work in advance, and stores the packet header data to the packet header preload device 104.

图2展示包报头预载装置104的内部方框图。所述包报头预载装置104包含一包检测器201、位置信息队列202、包报头寄存器203、计时器204以及数据调度器205。包检测器201监测所述包直接存储器存取控制器102将包存储至主存储器101的动作。当所述包检测器201检测到一包由直接存储器存取102存储至主存储器101的动作时,即将所述包在主存储器101的存放位置另外存储于位置信息队列202中。位置信息队列202的长度可经由用户设定所述长度的大小。包报头寄存器203则根据位置信息队列202中的包在主存储器101的存放位置,通过数据调度器205下载所述包的报头数据于包报头寄存器203中。在本发明实施例中,所述包报头寄存器203可为静态随机存取存储器。当所述包下载完成后,计时器204随即设定一寄存时间。当中央处理单元106要下载所述包的报头数据时则直接从包报头寄存器203下载,而无须从主存储器101下载。另一方面,经过所述设定的寄存时间后,如果中央处理单元106仍未读取所述包报头数据,那么清除包报头寄存器203和位置信息队列202中所有存储数据。本发明实施例的包检测器201可以软件实现、硬件实现、内嵌单一处理器或多处理器的平台上实现的其中一种方式来实现。FIG. 2 shows an internal block diagram of the packet header preloading device 104 . The packet header preloading device 104 includes a packet detector 201 , a location information queue 202 , a packet header register 203 , a timer 204 and a data scheduler 205 . The packet detector 201 monitors the action of the packet DMA controller 102 storing packets into the main memory 101 . When the packet detector 201 detects that a packet is stored from the DMA 102 to the main memory 101 , it stores the storage location of the packet in the main memory 101 in the location information queue 202 . The length of the location information queue 202 can be set by the user. The packet header register 203 downloads the header data of the packet into the packet header register 203 through the data scheduler 205 according to the storage location of the packet in the location information queue 202 in the main memory 101 . In the embodiment of the present invention, the packet header register 203 may be a static random access memory. After the download of the package is completed, the timer 204 sets a registration time immediately. When the central processing unit 106 wants to download the header data of the packet, it downloads directly from the packet header register 203 instead of from the main memory 101 . On the other hand, after the set registration time, if the central processing unit 106 has not read the packet header data, then clear all stored data in the packet header register 203 and the location information queue 202 . The packet detector 201 in the embodiment of the present invention may be implemented in one of software implementation, hardware implementation, and implementation on a platform embedded with a single processor or multiple processors.

图3展示本发明的另一实施例的包报头预载装置的系统方框图。包报头预载装置300包含以太网端口包检测器301、位置信息队列302、无线局域网端口包检测器303、位置信息队列304、以太网端口包报头寄存器305、计时器306、无线局域网端口包报头寄存器307、计时器308以及数据调度器309。FIG. 3 shows a system block diagram of a packet header preloading device according to another embodiment of the present invention. The packet header preloading device 300 includes an Ethernet port packet detector 301, a location information queue 302, a wireless LAN port packet detector 303, a location information queue 304, an Ethernet port packet header register 305, a timer 306, and a wireless LAN port packet header Register 307 , Timer 308 and Data Scheduler 309 .

以太网端口包检测器301和无线局域网端口包检测器303分别监测以太网端口包直接存储器存取控制器310和无线局域网端口包直接存储器存取控制器311将包存储至主存储器101的动作。当以太网端口包检测器301检测到一包由以太网端口包直接存储器存取控制器310存储至主存储器101的动作时,即将所述包在主存储器101的存放位置存储于位置信息队列302中。以太网端口包报头寄存器305则根据位置信息队列302中的包在主存储器101的存放位置,通过数据调度器309下载所述包的报头数据于以太网端口包报头寄存器305中。当所述包下载完成后,计时器306随即设定一寄存时间。当中央处理单元要下载所述包的报头数据时则直接从包报头寄存器305下载,而无须再通过数据调度器309从主存储器101下载。另一方面,经过所述设定的寄存时间后,如果中央处理单元仍未读取所述包报头数据,那么清除以太网端口包报头寄存器305和位置信息队列302中所有存储数据。The Ethernet port packet detector 301 and the WLAN port packet detector 303 respectively monitor the actions of the Ethernet port packet DMA controller 310 and the WLAN port packet DMA controller 311 storing packets in the main memory 101 . When the Ethernet port packet detector 301 detects that a packet is stored to the main memory 101 by the Ethernet port packet direct memory access controller 310, the storage location of the packet in the main memory 101 is stored in the location information queue 302 middle. The Ethernet port packet header register 305 downloads the header data of the packet into the Ethernet port packet header register 305 through the data scheduler 309 according to the storage location of the packet in the location information queue 302 in the main memory 101 . When the download of the package is completed, the timer 306 sets a registration time immediately. When the central processing unit wants to download the header data of the packet, it directly downloads from the packet header register 305 without downloading from the main memory 101 through the data scheduler 309 . On the other hand, after the set registration time, if the central processing unit has not read the packet header data, then clear all stored data in the Ethernet port packet header register 305 and the location information queue 302 .

相同地,当无线局域网端口包检测器303检测到一包由无线局域网端口包直接存储器存取控制器311存储至主存储器101的动作时,即将所述包在主存储器101的存放位置存储于位置信息队列304中。无线局域网端口包报头寄存器307则根据位置信息队列304中的包在主存储器101的存放位置,通过数据调度器309下载所述包的报头数据于无线局域网端口包报头寄存器307中。当所述包下载完成后,计时器308随即设定一寄存时间。当中央处理单元要下载所述包的报头数据时则直接从无线局域网端口包报头寄存器307下载,而无须再通过数据调度器309从主存储器101下载。另一方面,经过所述设定的寄存时间后,如果中央处理单元仍未读取所述包报头数据,那么清除无线局域网端口包报头寄存器307和位置信息队列304中所有存储数据。本发明实施例中,以太网端口包报头寄存器305和无线局域网端口包报头寄存器307可为静态随机存取存储器。位置信息队列302和位置信息队列304的长度可经由用户设定所述长度的大小。本发明实施例的以太网端口包检测器301和无线局域网端口包检测器303可以软件实现、硬件实现、内嵌单一处理器或多处理器的平台上实现的其中一种方式来实现。Similarly, when the WLAN port packet detector 303 detects that a packet is stored into the main memory 101 by the WLAN port packet DMA controller 311, it stores the storage location of the packet in the main memory 101 in the location In the message queue 304. The wireless LAN port packet header register 307 downloads the header data of the packet into the wireless LAN port packet header register 307 through the data scheduler 309 according to the storage location of the packet in the location information queue 304 in the main memory 101 . When the download of the package is completed, the timer 308 sets a registration time immediately. When the central processing unit wants to download the header data of the packet, it downloads directly from the WLAN port packet header register 307 without downloading from the main memory 101 through the data scheduler 309 . On the other hand, after the set registration time, if the central processing unit has not read the packet header data, then clear all stored data in the wireless LAN port packet header register 307 and the location information queue 304 . In the embodiment of the present invention, the Ethernet port packet header register 305 and the WLAN port packet header register 307 may be static random access memories. The lengths of the location information queue 302 and the location information queue 304 can be set by the user. The Ethernet port packet detector 301 and the wireless LAN port packet detector 303 in the embodiment of the present invention may be implemented in one of software implementation, hardware implementation, and implementation on a platform embedded with a single processor or multiple processors.

为了使所属领域的技术人员可以通过本实施例的教导实施本发明,以下搭配上述包报头预载装置,另外提出一包报头预载方法的实施例。In order to enable those skilled in the art to implement the present invention through the teaching of this embodiment, an embodiment of a method for preloading a packet header is provided below in combination with the above-mentioned packet header preloading device.

图4展示本发明的再一实施例的包报头预载方法的流程图。在步骤S401中,一包检测器保持监测包存取状态。在步骤S402中,判断是否有由一直接存储器存取存储一包至一主存储器的动作。如果没有,那么回到步骤S401继续保持监测。如果有,那么在步骤S403中将所述包在主存储器的存放位置存储于一位置信息队列中。在步骤S404中,一包报头寄存器则根据位置信息队列中的包在主存储器的存放位置,通过一数据调度器下载所述包的报头数据于包报头寄存器中。下载所述包的报头数据至所述包报头寄存器后,即清除所述位置信息队列中所述包的位置信息。在步骤S405中,设定一寄存时间。在步骤S406中,判断是否已被读取。如果是,那么在步骤S408中清除所述包报头寄存器的存储数据。如果否,那么在步骤S407中判断是否已经超过所述寄存时间。如果否,那么回到步骤S406再次判断是否已被读取。如果是,那么在步骤S409中清除所述包报头寄存器和所述位置信息队列中所有存储的数据。FIG. 4 shows a flowchart of a packet header preloading method according to yet another embodiment of the present invention. In step S401, a packet detector keeps monitoring packet access status. In step S402, it is determined whether there is an action of storing a packet to a main memory by a direct memory access. If not, return to step S401 to continue monitoring. If yes, then in step S403, the storage location of the package in the main memory is stored in a location information queue. In step S404, a packet header register downloads the header data of the packet into the packet header register through a data scheduler according to the storage location of the packet in the location information queue in the main memory. After downloading the header data of the packet to the packet header register, the location information of the packet in the location information queue is cleared. In step S405, a registration time is set. In step S406, it is judged whether it has been read. If yes, clear the data stored in the packet header register in step S408. If not, it is judged in step S407 whether the registration time has expired. If not, go back to step S406 to judge whether it has been read again. If yes, clear all stored data in the packet header register and the location information queue in step S409.

综上所述,本发明的包报头预载方法与装置在中央处理单元执行下载一包报头数据之前,预先将所述包报头数据下载至一包报头寄存器中以加速所述包报头数据的处理速度。此外,本发明并入有设定一寄存时间的机制以提升本发明的包报头预载装置处理包的稳健性。In summary, the packet header preloading method and device of the present invention download the packet header data into a packet header register in advance before the central processing unit executes downloading of a packet header data to speed up the processing of the packet header data speed. In addition, the present invention incorporates a mechanism for setting a registration time to improve the robustness of the packet header preloading device of the present invention in processing packets.

本发明的技术内容和技术特点已揭示如上,然而所属领域的技术人员仍可能基于本发明的教示和揭示而作种种不脱离本发明精神的替换和修饰。因此,本发明的保护范围应不限于实施例所揭示,而应包括各种不脱离本发明的替换和修饰,并由所附的权利要求书所涵盖。The technical content and technical features of the present invention have been disclosed above, but those skilled in the art may still make various replacements and modifications based on the teaching and disclosure of the present invention without departing from the spirit of the present invention. Therefore, the protection scope of the present invention should not be limited to the disclosed embodiments, but should include various replacements and modifications that do not depart from the present invention, and be covered by the appended claims.

Claims (15)

1.一种包报头预载的装置,其特征在于其包含:1. A device for packet header preloading, characterized in that it comprises: 至少一包检测器,用以监测至少一包直接存储器存取控制器将至少一包存储至主存储器的动作;at least one packet detector for monitoring at least one packet direct memory access controller storing at least one packet into main memory; 至少一包报头寄存器;At least one packet header register; 至少一位置信息队列,所述位置信息队列耦合于所述包检测器且用以存储所述至少一包在所述主存储器的位置;at least one location information queue, the location information queue is coupled to the packet detector and used to store the location of the at least one packet in the main memory; 以及as well as 至少一数据调度器,用以在中央处理单元执行下载所述至少一包的报头数据之前,根据所述位置信息队列中所述至少一包的位置,预先将所述至少一包的报头数据从所述主存储器读出且寄存于所述至少一包报头寄存器;At least one data scheduler, used to pre-load the header data of the at least one packet from the read from the main memory and store in the at least one packet header register; 其中,当所述包检测器监测到至少一包直接存储器存取控制器将至少一包存储至主存储器的动作时,将所述包在主存储器的位置存储于所述位置信息队列中。Wherein, when the packet detector detects that at least one packet direct memory access controller stores at least one packet into the main memory, the location of the packet in the main memory is stored in the location information queue. 2.根据权利要求1所述的装置,其特征在于其另外包含计时器,所述计时器耦合于所述包报头寄存器且用以计算所述包的报头数据存储于所述包报头寄存器的时间。2. The device according to claim 1 , further comprising a timer, the timer being coupled to the packet header register and used to calculate the time for which header data of the packet is stored in the packet header register . 3.根据权利要求1所述的装置,其特征在于其中所述至少一包检测器包含以太网端口包检测器和无线局域网端口包检测器。3. The device according to claim 1, wherein said at least one packet detector comprises an Ethernet port packet detector and a WLAN port packet detector. 4.根据权利要求1所述的装置,其特征在于其中所述至少一包报头寄存器包含以太网端口包报头寄存器和无线局域网端口包报头寄存器。4. The device according to claim 1, wherein the at least one packet header register comprises an Ethernet port packet header register and a WLAN port packet header register. 5.根据权利要求1所述的装置,其特征在于其中所述包直接存储器存取控制器为以太网端口包直接存储器存取控制器或无线局域网端口包直接存储器存取控制器。5. The device according to claim 1, wherein the packet DMA controller is an Ethernet port packet DMA controller or a WLAN port packet DMA controller. 6.根据权利要求1所述的装置,其特征在于其中所述包报头寄存器为静态随机存取存储器。6. The device according to claim 1, wherein the packet header register is a static random access memory. 7.根据权利要求1所述的装置,其特征在于其中所述主存储器为动态随机存取存储器、同步动态随机存取存储器或双通道同步动态随机存取存储器。7. The device according to claim 1, wherein the main memory is a dynamic random access memory, a synchronous dynamic random access memory or a dual-channel synchronous dynamic random access memory. 8.根据权利要求1所述的装置,其特征在于其中所述包检测器是以软件实现、硬件实现、内嵌单一处理器或多处理器的平台上实现。8. The device according to claim 1, wherein the packet detector is implemented by software, hardware, or a platform embedded with a single processor or multiple processors. 9.一种使用权利要求1所述的包报头预载的装置实现的包报头预载的方法,其特征在于其包含:9. A method of packet header preloading realized by the device for packet header preloading according to claim 1, characterized in that it comprises: 监测至少一包直接存储器存取控制器存储至少一包至主存储器的动作;monitoring an action of at least one packet of direct memory access controller storing at least one packet into main memory; 下载所述至少一包的报头数据至包报头寄存器中;以及downloading header data of the at least one packet into a packet header register; and 如果在设定时间内,中央处理单元要读取所述至少一包的报头数据,那么由所述包报头寄存器提供所述至少一包的报头数据;If within the set time, the central processing unit is to read the header data of the at least one packet, then the header data of the at least one packet is provided by the packet header register; 该方法另外包含当监测到至少一包直接存储器存取控制器存储至少一包至主存储器的动作时,将所述包在所述主存储器的位置存储至位置信息队列中的步骤;The method further comprises the step of storing the location of said packet in said main memory into a location information queue when at least one packet of direct memory access controller is detected to store at least one packet into main memory; 其中下载所述包的报头数据至所述包报头寄存器中的步骤是根据所述位置信息队列中所述包的位置信息。The step of downloading the header data of the packet into the packet header register is based on the location information of the packet in the location information queue. 10.根据权利要求9所述的方法,其特征在于其另外包含在下载所述包的报头数据至所述包报头寄存器后清除所述位置信息队列中所述包的位置信息的步骤。10. The method according to claim 9, further comprising the step of clearing the location information of the packet in the location information queue after downloading the header data of the packet to the packet header register. 11.根据权利要求9所述的方法,其特征在于其中所述位置信息队列的长度是根据用户的设定。11. The method according to claim 9, wherein the length of the location information queue is set by a user. 12.根据权利要求9所述的方法,其特征在于其另外包含下列步骤:12. The method of claim 9, further comprising the steps of: 当所述包的报头数据由所述中央处理单元读取后清除所述包的报头数据;clearing the header data of the packet after the header data of the packet is read by the central processing unit; 下载下一个包的报头数据至所述包报头寄存器中。Download the header data of the next packet into the packet header register. 13.根据权利要求9所述的方法,其特征在于其另外包含下列步骤:13. The method of claim 9, further comprising the steps of: 如果所述包的报头数据超过设定时间后仍未被所述中央处理单元读取时,那么清除所述包的报头数据和所述位置信息队列的所有存储数据。If the header data of the packet has not been read by the central processing unit after a set time, then clear the header data of the packet and all stored data in the position information queue. 14.根据权利要求9所述的方法,其特征在于其中所述存储动作为突发写入动作。14. The method according to claim 9, wherein the storage operation is a burst write operation. 15.一种包处理系统,其特征在于其包含媒体存取控制、包直接存储器存取控制器、中央处理单元、主存储器以及包报头预载装置,其中所述包报头预载装置监测所述包直接存储器存取控制器存储至少一包存取至主存储器的动作,并在所述中央处理单元尚未读取所述至少一包的报头数据前预先读取所述至少一包的报头数据,且如果在设定时间内所述中央处理单元要读取所述至少一包的报头数据时,那么由所述包报头预载装置提供所述至少一包的报头数据;15. A packet processing system, characterized in that it comprises a media access control, a packet direct memory access controller, a central processing unit, a main memory, and a packet header preloading device, wherein the packet header preloading device monitors the The packet direct memory access controller stores at least one packet access action to the main memory, and pre-reads the header data of the at least one packet before the central processing unit has read the header data of the at least one packet, And if the central processing unit is to read the header data of the at least one packet within the set time, the header data of the at least one packet is provided by the packet header preloading device; 其中所述包报头预载装置包含:Wherein said packet header preloading device includes: 至少一包检测器,用以监测至少所述包直接存储器存取控制器将所述至少一包存储至所述主存储器的动作;at least one packet detector for monitoring at least said packet DMA controller storing said at least one packet into said main memory; 至少一包报头寄存器;以及at least one packet header register; and 至少一数据调度器,用以将所述至少一包的报头数据从所述主存储器读出且寄存于所述至少一包报头寄存器;At least one data scheduler, used to read the header data of the at least one packet from the main memory and store it in the at least one packet header register; 其中所述包报头预载装置另外包含位置信息队列,所述位置信息队列耦合于所述包检测器且用以存储所述包在所述主存储器的位置;Wherein the packet header preloading device further includes a location information queue, the location information queue is coupled to the packet detector and used to store the location of the packet in the main memory; 其中,当所述包检测器监测到至少一包直接存储器存取控制器将至少一包存储至主存储器的动作时,将所述包在主存储器的位置存储于所述位置信息队列中。Wherein, when the packet detector detects that at least one packet direct memory access controller stores at least one packet into the main memory, the location of the packet in the main memory is stored in the location information queue.
CN2009100095015A 2009-02-13 2009-02-13 Method and device for preloading packet header and system using method Expired - Fee Related CN101808029B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100095015A CN101808029B (en) 2009-02-13 2009-02-13 Method and device for preloading packet header and system using method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100095015A CN101808029B (en) 2009-02-13 2009-02-13 Method and device for preloading packet header and system using method

Publications (2)

Publication Number Publication Date
CN101808029A CN101808029A (en) 2010-08-18
CN101808029B true CN101808029B (en) 2013-03-13

Family

ID=42609651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100095015A Expired - Fee Related CN101808029B (en) 2009-02-13 2009-02-13 Method and device for preloading packet header and system using method

Country Status (1)

Country Link
CN (1) CN101808029B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595910A (en) * 2004-06-25 2005-03-16 中国科学院计算技术研究所 A data packet receiving interface component of network processor and storage management method thereof
US7075926B2 (en) * 2000-05-24 2006-07-11 Alcatel Internetworking, Inc. (Pe) Programmable packet processor with flow resolution logic
US7333489B1 (en) * 2000-05-08 2008-02-19 Crossroads Systems, Inc. System and method for storing frame header data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333489B1 (en) * 2000-05-08 2008-02-19 Crossroads Systems, Inc. System and method for storing frame header data
US7075926B2 (en) * 2000-05-24 2006-07-11 Alcatel Internetworking, Inc. (Pe) Programmable packet processor with flow resolution logic
CN1595910A (en) * 2004-06-25 2005-03-16 中国科学院计算技术研究所 A data packet receiving interface component of network processor and storage management method thereof

Also Published As

Publication number Publication date
CN101808029A (en) 2010-08-18

Similar Documents

Publication Publication Date Title
US7526593B2 (en) Packet combiner for a packetized bus with dynamic holdoff time
US20050172091A1 (en) Method and an apparatus for interleaving read data return in a packetized interconnect to memory
Salim When NAPI comes to town
CN102323888B (en) Diskless computer startup accelerating method
CN102395958A (en) Concurrent processing method and device for data packet
US7761587B2 (en) Apparatus and method for transmitting packet IP offload
TW200832142A (en) A method for time-stamping messages
Wu et al. Design and implementation of tcp/ip offload engine system over gigabit ethernet
CN115334156A (en) Message processing method, device, equipment and storage medium
CN118555162B (en) Method and device for accelerating network communication
CN1855880A (en) Data read/write device and method
CN101808029B (en) Method and device for preloading packet header and system using method
CN107273100B (en) A real-time data processing and storage device
TWI465075B (en) Apparatus for processing packets and system for using the same
CN102984166B (en) A kind of IP packet filtering
CN105207846B (en) A kind of statistical method of TCP protocol stack delay, apparatus and system
CN112702418A (en) Double-cache data downloading control method and device and vehicle
US20060271714A1 (en) Data retrieving methods
CN105264608A (en) Data storage method, memory controller and central processing unit
JP2010004262A (en) Information reception device and information reception method
Tsao et al. Performance evaluation of inter-processor communication for an embedded heterogeneous multi-core processor
US7480739B1 (en) Segregated caching of linked lists for USB
JP2005234794A (en) File system controller
JP2020088517A (en) Communication apparatus, and control method and program of communication apparatus
TWI378688B (en) Method and apparatus for preloading packet headers and system using the same

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130313

Termination date: 20140213