CN108616327B - FC-ASM protocol-based concurrent fragment message receiving method and circuit - Google Patents

FC-ASM protocol-based concurrent fragment message receiving method and circuit Download PDF

Info

Publication number
CN108616327B
CN108616327B CN201611140195.5A CN201611140195A CN108616327B CN 108616327 B CN108616327 B CN 108616327B CN 201611140195 A CN201611140195 A CN 201611140195A CN 108616327 B CN108616327 B CN 108616327B
Authority
CN
China
Prior art keywords
fragment
cam
message
receiving
retrieval
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
CN201611140195.5A
Other languages
Chinese (zh)
Other versions
CN108616327A (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.)
Xian Xiangteng Microelectronics Technology Co Ltd
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
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 Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201611140195.5A priority Critical patent/CN108616327B/en
Publication of CN108616327A publication Critical patent/CN108616327A/en
Application granted granted Critical
Publication of CN108616327B publication Critical patent/CN108616327B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0016Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy involving special memory structures, e.g. look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0036Systems modifying transmission characteristics according to link quality, e.g. power backoff arrangements specific to the receiver

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

The invention belongs to the technical field of computer application, and particularly relates to a stream message receiving method based on an FC-ASM protocol and a circuit for realizing the method. The method comprises a step of configuring a CAM retrieval table and a step of fragment receiving and reassembling; the circuit of the method comprises a receiving fragment detection module, a CAM retrieval table management module and a CAM retrieval table module; and receiving the concurrent fragment message sequence, recording the fragment receiving state of the message by setting a CAM (content addressable memory) retrieval table for receiving the message, and finishing the recombination of each fragment of the whole message.

Description

FC-ASM protocol-based concurrent fragment message receiving method and circuit
Technical Field
The invention belongs to the computer hardware technology, and relates to a message sending and receiving circuit based on an FC-ASM protocol.
Background
The FC-ASM protocol defines messages of the type data block message, stream message, etc. Where the message length of the streaming message can be up to 16M. In the message transmitting and receiving circuit based on the FC _ ASM protocol, the transmission and reception of messages are performed according to the standard FC frame. The standard FC frame length is 2148 bytes, marks such as a frame head, a frame tail and the like are removed, an effective load field is only 2096 bytes, and for the stream message with the maximum length of 16 Mbytes, the stream message needs to be subjected to fragmentation processing in the sending process, and the fragments are recombined in the receiving process to complete the sending and receiving of the whole stream message.
Disclosure of Invention
The purpose of the invention is as follows:
in order to solve the technical problem, the invention provides a concurrent fragment message receiving method based on an FC-ASM protocol, which is a simple and easy-to-implement and widely-applied solution stream message receiving circuit.
The technical scheme is as follows:
a receiving method of concurrent fragmentation messages based on FC-ASM protocol comprises the following steps:
a configuration step: configuring a CAM search table for recording the receiving status of the flow message, wherein the CAM search table comprises an N-bit valid flag signal and N search entries, and each search entry comprises the following information:
the received length of the stream message (cam _ length [24:0]) and,
The number of received packets of the stream message (cam _ seq _ num [15:0]),
Buffer unit ID (cam _ buf _ ID [4:0]) occupied by stream message in host memory,
The memory address of the header of the stream message (cam _ addr _ head [31:0]),
The memory address of the data part of the stream message (cam _ addr _ data [31:0]),
in the initial state, the CAM searching table is in a null state, and N-bit valid flag signals are all 0, which indicates that no valid searching item exists;
fragment receiving and recombining:
when receiving a fragment, if the fragment is the first fragment of the stream message, if the first fragment of the current stream message is not searched in the CAM search table, applying for a buffer unit from a receiving storage unit management module, simultaneously creating a new search item in the CAM search table, and setting an effective flag signal corresponding to the search item as 1; if the current flow message is searched in the CAM retrieval table, updating the retrieval item by taking the current front piece as the first piece, and reporting the loss error of the last piece of the host flow message;
if the current fragment is not the first fragment of the stream message and the current stream message is not retrieved in the CAM retrieval table, directly discarding the fragment, wherein the CAM retrieval table is not changed, if the current fragment is retrieved in the CAM retrieval table, the content in the retrieval item corresponding to the CAM retrieval table is updated when the current fragment is received, if the current fragment is retrieved in the CAM retrieval table but has a receiving state error, the fragment is directly discarded, and meanwhile, a valid flag signal corresponding to the retrieval item is set to be 0; the CAM search table records the starting storage address of the fragment and the number of received packets in available units. When the fragment of the stream message is received, the fragment is a subsequent fragment, the offset address of the current fragment in the host storage is calculated by multiplying the number of sub-packets by the length of each fragment, the address information of the fragment in the host storage can be obtained according to the starting storage address of the fragment recorded in the available unit, the process is that the fragment of the stream message is recombined when the fragment is received,
if the message is the last piece of the flow message, the valid flag signal corresponding to the retrieval item is directly set to 0 at the end, and the receiving completion state is sent to the host.
The existence of the receiving state error means that the sequence number of the receiving chip of the streaming message is discontinuous, and the receiving length exceeds the chip length field in the chip header.
And searching in a CAM searching table through the message ID and the sequence ID.
The value of N is determined according to the specific requirements of the receiving circuit.
The circuit for realizing the method comprises a receiving fragment detection module, a CAM search table management module and a CAM search table module, wherein the CAM search table module
A CAM searching table module, which is used for recording the receiving state of the flow message, wherein the CAM searching table comprises an N-bit valid flag signal and N searching items, and each searching item comprises the following information:
a received length (cam _ length [24:0]),
The number of received packets (cam _ seq _ num [15:0]) and the number of received packets,
Buffer unit ID (cam _ buf _ ID [4:0]) occupied in host memory,
The memory address of the message header (cam _ addr _ head [31:0]),
The memory address of the data portion (cam _ addr _ data [31:0]),
in the initial state, the CAM search table is empty, the N-bit valid flag signals are all 0, indicating that there is no valid entry,
a receiving fragment detection module for detecting whether the receiving fragment is the first fragment, the non-first fragment or the last fragment,
CAM searching list management module for searching item in CAM searching list, managing zone bit of each searching item, judging whether receiving piece has error,
each retrieval item in the CAM retrieval table is provided with a counter for detecting whether the receiving of two continuous sub-packets of the current stream message is overtime or not, before the counter is not full, the next sub-packet is received, which indicates that the receiving of the current packet is not overtime, the timer is cleared, the timing is restarted, if the counter is full, the next sub-packet of the stream message is not received, the timer is cleared, the information of the current stream message in the CAM retrieval table is cleared, the receiving overtime error of the host stream message is reported, and the value of the counter is configured by the processor.
Description of the drawings:
FIG. 1 is a diagram of a CAM lookup table in a receiving circuit;
FIG. 2 is a flow chart of streaming message reception;
fig. 3 is a diagram of a concurrent fragmentation message receiving circuit.
Detailed Description
A receiving method of concurrent fragmentation messages based on FC-ASM protocol comprises the following steps:
a configuration step: configuring a CAM search table for recording the receiving status of the flow message, wherein the CAM search table comprises a 32-bit valid flag signal and 32 search entries, and each search entry comprises the following information:
the received length of the stream message (cam _ length [24:0]) and,
The number of received packets of the stream message (cam _ seq _ num [15:0]),
Buffer unit ID (cam _ buf _ ID [4:0]) occupied by stream message in host memory,
The memory address of the header of the stream message (cam _ addr _ head [31:0]),
The memory address of the data part of the stream message (cam _ addr _ data [31:0]),
in the initial state, the CAM searching table is in a null state, and N-bit valid flag signals are all 0, which indicates that no valid searching item exists;
fragment receiving and recombining:
when receiving a fragment, if the fragment is the first fragment of the stream message, if the first fragment of the current stream message is not searched in the CAM search table, applying for a buffer unit from a receiving storage unit management module, simultaneously creating a new search item in the CAM search table, and setting an effective flag signal corresponding to the search item as 1; if the current flow message is searched in the CAM retrieval table, updating the retrieval item by taking the current front piece as the first piece, and reporting the loss error of the last piece of the host flow message;
if the current fragment is not the first fragment of the stream message and the current stream message is not retrieved in the CAM retrieval table, directly discarding the fragment, wherein the CAM retrieval table is not changed, if the current fragment is retrieved in the CAM retrieval table, the content in the retrieval item corresponding to the CAM retrieval table is updated when the current fragment is received, if the current fragment is retrieved in the CAM retrieval table but has a receiving state error, the fragment is directly discarded, and meanwhile, a valid flag signal corresponding to the retrieval item is set to be 0; the CAM search table records the starting storage address of the fragment and the number of received packets in available units. When the fragment of the stream message is received, the fragment is a subsequent fragment, the offset address of the current fragment in the host storage is calculated by multiplying the number of sub-packets by the length of each fragment, the address information of the fragment in the host storage can be obtained according to the starting storage address of the fragment recorded in the available unit, the process is that the fragment of the stream message is recombined when the fragment is received,
if the message is the last piece of the flow message, the valid flag signal corresponding to the retrieval item is directly set to 0 at the end, and the receiving completion state is sent to the host.
The existence of the receiving state error means that the sequence number of the receiving chip of the streaming message is discontinuous, and the receiving length exceeds the chip length field in the chip header.
And searching in a CAM searching table through the message ID and the sequence ID.
The value of N is determined according to the specific requirements of the receiving circuit.
The circuit for realizing the method comprises a receiving fragment detection module, a CAM search table management module and a CAM search table module, wherein the CAM search table module
A CAM searching table module, which is used for recording the receiving state of the flow message, wherein the CAM searching table comprises an N-bit valid flag signal and N searching items, and each searching item comprises the following information:
a received length (cam _ length [24:0]),
The number of received packets (cam _ seq _ num [15:0]) and the number of received packets,
Buffer unit ID (cam _ buf _ ID [4:0]) occupied in host memory,
The memory address of the message header (cam _ addr _ head [31:0]),
The memory address of the data portion (cam _ addr _ data [31:0]),
in the initial state, the CAM search table is empty, the N-bit valid flag signals are all 0, indicating that there is no valid entry,
a receiving fragment detection module for detecting whether the receiving fragment is the first fragment, the non-first fragment or the last fragment,
CAM searching list management module for searching item in CAM searching list, managing zone bit of each searching item, judging whether receiving piece has error,
each retrieval item in the CAM retrieval table is provided with a counter for detecting whether the receiving of two continuous sub-packets of the current stream message is overtime or not, before the counter is not full, the next sub-packet is received, which indicates that the receiving of the current packet is not overtime, the timer is cleared, the timing is restarted, if the counter is full, the next sub-packet of the stream message is not received, the timer is cleared, the information of the current stream message in the CAM retrieval table is cleared, the receiving overtime error of the host stream message is reported, and the value of the counter is configured by the processor.

Claims (5)

1. A method for receiving concurrent fragmentation messages based on FC-ASM protocol is characterized by comprising the following steps:
a configuration step:
configuring a CAM search table for recording the receiving status of the flow message, wherein the CAM search table comprises an N-bit valid flag signal and N search entries, and each search entry comprises the following information: the received length of the stream message, the number of fragments received by the stream message, the ID of a buffer unit occupied by the stream message in a host memory, the storage address of a stream message header and the storage address of a stream message data part; in the initial state, the CAM searching list is in a null state, the N-bit valid flag signals are all 0, which indicates that no valid searching item exists, and the value of N is determined according to the specific requirements of the receiving circuit;
fragment receiving and recombining:
when a fragment is received, if the current stream message is not retrieved in the CAM retrieval table and the first fragment of the current stream message is not retrieved in the CAM retrieval table, applying for a buffer unit to a receiving storage unit management module, simultaneously creating a new retrieval item in the CAM retrieval table, and setting an effective flag signal corresponding to the retrieval item as 1; if the current flow message is searched in the CAM retrieval table, updating the retrieval item by taking the current fragment as the first fragment, and reporting the loss error of the last fragment of the host flow message;
if the fragment is not the first fragment of the stream message and the current stream message is not retrieved in the CAM retrieval table, directly discarding the fragment without any change in the CAM retrieval table, if the current fragment is retrieved in the CAM retrieval table, updating the content in the retrieval item corresponding to the CAM retrieval table when the reception of the current fragment is finished, and if the current fragment is retrieved in the CAM retrieval table but has a reception state error, directly discarding the fragment and simultaneously setting the valid flag signal corresponding to the retrieval item to be 0; the CAM searching table records the initial storage address of the fragment and the number of the received fragments in the available unit, when the fragment of the stream message is received, the fragment is a non-first fragment, the offset address of the current fragment in the host storage is calculated by multiplying the number of the fragments by the length of each fragment, the address information of the fragment in the host storage can be obtained according to the initial storage address of the fragment recorded in the available unit, the process is that the fragment recombination of the stream message when the fragment is received is carried out concurrently,
if the message is the last piece of the flow message, the valid flag signal corresponding to the retrieval item is directly set to 0 at the end, and the receiving completion state is sent to the host.
2. The FC-ASM protocol based concurrent fragmentation message reception method of claim 1, wherein the presence of a reception status error is a streaming message reception slice sequence number discontinuity, reception length exceeding the slice length field in the slice header.
3. The FC-ASM protocol based concurrent fragmentation message reception method according to claim 1 or claim 2, wherein the retrieval is performed in a CAM retrieval table by means of message ID and stream message reception fragment sequence number.
4. A circuit for implementing the FC-ASM protocol-based concurrent fragmentation message receiving method according to claim 1 or 2, comprising a received fragmentation detection module, a CAM search table management module, and a CAM search table module, wherein the CAM search table module
The CAM searching table module comprises a CAM searching table for recording the receiving state of the flow message, the CAM searching table comprises an N-bit valid flag signal and N searching items, and each searching item comprises the following information: the received length of the stream message, the number of fragments received by the stream message, the ID of a buffer unit occupied by the stream message in a host memory, the storage address of a stream message header and the storage address of a stream message data part; in the initial state, the CAM searching list is in a null state, the N-bit valid flag signals are all 0, which indicates that no valid searching item exists, and the value of N is determined according to the specific requirements of the receiving circuit;
the receiving fragment detection module is used for detecting whether the receiving fragment is a first fragment, a non-first fragment or a last fragment;
and the CAM retrieval table management module is used for retrieving retrieval items in the CAM retrieval table, managing the zone bit of each retrieval item and judging whether the receiving fragment has errors or not.
5. The circuit for receiving concurrent slice messages according to claim 4, wherein each search entry in the CAM search table is configured with a timer for detecting whether reception timeout occurs for two consecutive slices of the current stream message, and when the timer is not expired, the next slice is received, indicating that the current slice reception has not timed out, the timer is cleared, and the counting is restarted.
CN201611140195.5A 2016-12-12 2016-12-12 FC-ASM protocol-based concurrent fragment message receiving method and circuit Active CN108616327B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611140195.5A CN108616327B (en) 2016-12-12 2016-12-12 FC-ASM protocol-based concurrent fragment message receiving method and circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611140195.5A CN108616327B (en) 2016-12-12 2016-12-12 FC-ASM protocol-based concurrent fragment message receiving method and circuit

Publications (2)

Publication Number Publication Date
CN108616327A CN108616327A (en) 2018-10-02
CN108616327B true CN108616327B (en) 2021-03-26

Family

ID=63644057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611140195.5A Active CN108616327B (en) 2016-12-12 2016-12-12 FC-ASM protocol-based concurrent fragment message receiving method and circuit

Country Status (1)

Country Link
CN (1) CN108616327B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713637A (en) * 2004-06-27 2005-12-28 华为技术有限公司 Reorganizing method of slicing message
CN1929436A (en) * 2005-09-08 2007-03-14 北京中电华大电子设计有限责任公司 Method and device for solving occupation problem of WLAN reception buffer zone
CN1929437A (en) * 2005-09-08 2007-03-14 北京中电华大电子设计有限责任公司 Method and device for solving recombination problem in WLAN
WO2009069874A1 (en) * 2007-11-30 2009-06-04 Electronics And Telecommunications Research Institute System and method for reassembling packets in relay node
CN101662461A (en) * 2008-08-27 2010-03-03 华为技术有限公司 Method, device and system for recombining multilink protocol fragment data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713637A (en) * 2004-06-27 2005-12-28 华为技术有限公司 Reorganizing method of slicing message
CN1929436A (en) * 2005-09-08 2007-03-14 北京中电华大电子设计有限责任公司 Method and device for solving occupation problem of WLAN reception buffer zone
CN1929437A (en) * 2005-09-08 2007-03-14 北京中电华大电子设计有限责任公司 Method and device for solving recombination problem in WLAN
WO2009069874A1 (en) * 2007-11-30 2009-06-04 Electronics And Telecommunications Research Institute System and method for reassembling packets in relay node
CN101662461A (en) * 2008-08-27 2010-03-03 华为技术有限公司 Method, device and system for recombining multilink protocol fragment data

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IPv6包的分段及重组过程详解.;郑华 等.;《计算机与网络》;20080126;第34卷(第2期);全文 *
光纤通道(FC)交换机监控端口的设计实现及验证.;卢钰林.;《中国优秀硕士学位论文全文数据库信息科技辑2016年》;20160315(第3期);全文 *

Also Published As

Publication number Publication date
CN108616327A (en) 2018-10-02

Similar Documents

Publication Publication Date Title
US11249688B2 (en) High-speed data packet capture and storage with playback capabilities
WO2020236274A1 (en) System and method for facilitating efficient event notification management for a network interface controller (nic)
US9294589B2 (en) Header compression with a code book
US7751404B2 (en) Method, system, and computer program product for high performance bonding resequencing
US11392317B2 (en) High speed data packet flow processing
KR101018575B1 (en) System and method for processing rx packets in high speed network applications using an rx fifo buffer
CN109257143B (en) Method for fragmenting data packets for transmission in network transmission protocol with length limitation
US10348510B2 (en) Switching device and packet discarding method
US20070008988A1 (en) Enhanced network direct attached storage controller
US7464201B1 (en) Packet buffer management apparatus and method
CN1863158B (en) IP message fragment cache memory and forwarding method
CN114584560A (en) Fragmented frame recombination method and device
CN111224903A (en) Data transmission method, data transmission equipment and computer readable storage medium
US20150304271A1 (en) Address resolution protocol buffer and buffering method thereof
JP3911273B2 (en) Packet distribution device and distribution method thereof
CN108616327B (en) FC-ASM protocol-based concurrent fragment message receiving method and circuit
US7649906B2 (en) Method of reducing buffer usage by detecting missing fragments and idle links for multilink protocols and devices incorporating same
US9559857B2 (en) Preprocessing unit for network data
CN111770055A (en) Multi-protocol communication frame rapid distinguishing method applied to electric energy meter
CN112612670B (en) Session information statistical method, device, exchange equipment and storage medium
US9479622B2 (en) Out-of-order message filtering with aging
US11979479B1 (en) Packet sorting and reassembly circuit module
CN114760364A (en) Time-triggered serial device communication management method
US20240236212A9 (en) Packet sorting and reassembly circuit module
JP2010233063A (en) Packet processor, and packet processing method

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
TR01 Transfer of patent right

Effective date of registration: 20221009

Address after: Room S303, Innovation Building, No. 25, Gaoxin 1st Road, Xi'an, Shaanxi 710075

Patentee after: XI'AN XIANGTENG MICROELECTRONICS TECHNOLOGY Co.,Ltd.

Address before: No.15, Jinye 2nd Road, Xi'an, Shaanxi 710000

Patentee before: AVIC XI''AN AERONAUTICS COMPUTING TECHNIQUE RESEARCH INSTITUTE

TR01 Transfer of patent right