[go: up one dir, main page]

CN115361103A - Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol - Google Patents

Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol Download PDF

Info

Publication number
CN115361103A
CN115361103A CN202210992700.8A CN202210992700A CN115361103A CN 115361103 A CN115361103 A CN 115361103A CN 202210992700 A CN202210992700 A CN 202210992700A CN 115361103 A CN115361103 A CN 115361103A
Authority
CN
China
Prior art keywords
data frame
buffer
buffer area
sending
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210992700.8A
Other languages
Chinese (zh)
Inventor
陈冠宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202210992700.8A priority Critical patent/CN115361103A/en
Publication of CN115361103A publication Critical patent/CN115361103A/en
Pending legal-status Critical Current

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/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1864ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signalling, i.e. of overhead other than pilot signals
    • H04L5/0055Physical resource allocation for ACK/NACK

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

The invention discloses a buffer management mechanism for a selective-repeat hybrid automatic repeat request protocol, which comprises the following steps: 1) The specific implementation of the HARQ mechanism comprises a sending end and a receiving end, and the sending end and the receiving end are respectively provided with an independent data frame buffer area and an independent data reading and writing module; 2) The data frame buffer area adopts an annular structure and is mainly characterized in that the buffer areas are connected end to form a cycle; 3) Before the data frame is read/written into the buffer area, the existing data frame or vacant space must be found in the buffer area in advance; 4) The error correction algorithm used by the mechanism comprises a cyclic redundancy check and a Reed-Solomon code; 5) The received data frames can be divided into three types: ACK/NACK information, a common data frame with CRC check bits and RS code check bits; 6) Besides calculating error check bits, metadata indicating the attribute of the data frame is added on the basis of the original data frame to form a new HARQ data frame format.

Description

用于选择-重复混合式自动重传请求协议的缓冲区管理机制Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol

技术领域technical field

本发明属于数据帧缓冲区管理的技术领域,具体涉及一种用于选择-重复混合式自动重传请求协议的缓冲区管理机制。The invention belongs to the technical field of data frame buffer management, and in particular relates to a buffer management mechanism for a select-repeat hybrid automatic repeat request protocol.

背景技术Background technique

现实中的通信信道存在噪音、衰减、干扰等非理想因素,可令数据帧在传送过程中产生位错误。因此,实用的通信技术需要在不同层面实现错误纠正技术,以保证数据帧能够被接收端正确解码。其中一项被广泛使用的技术为混合式自动传送请求(HARQ):其核心在于,结合了错误校验位和数据重传两种机制。当接收端无法纠正数据帧中的位错误时,则通知发送终端重新传送该数据帧,直到成功为止。该种方式使得在传送过程中出错的数据帧最终能被接收无误,确保通信系统的可靠性。There are non-ideal factors such as noise, attenuation, and interference in communication channels in reality, which can cause bit errors in the transmission process of data frames. Therefore, practical communication technology needs to implement error correction technology at different levels to ensure that the data frame can be correctly decoded by the receiving end. One of the widely used technologies is Hybrid Automatic Transfer Request (HARQ): At its core, it combines error-checking bits and data retransmission mechanisms. When the receiving end cannot correct the bit error in the data frame, it will notify the sending terminal to retransmit the data frame until it succeeds. In this way, data frames with errors during transmission can be finally received without errors, ensuring the reliability of the communication system.

在HARQ的不同实现中,基于选择重发(SR)机制的HARQ会针对出现错误的数据帧以非阻塞方式进行重新发送。这意味着SR-HARQ能够持续收发数据流,而不会等待出错的数据帧发送成功后再继续,因此信道利用率较高。然而,这会造成部分旧数据帧在尚未发送成功的前提下,后续的新数据帧可能已被成功接收的情况。这势必会打乱数据帧原本的序列,令接收端无法按正常时序还原原始数据。因此,建立一套完善的数据帧缓冲区管理机制,是正常实现乱序收发功能的关键所在。In different implementations of HARQ, HARQ based on a selective retransmission (SR) mechanism retransmits data frames with errors in a non-blocking manner. This means that SR-HARQ can continue to send and receive data streams without waiting for the successful transmission of erroneous data frames before continuing, so the channel utilization rate is high. However, this will result in the situation that the subsequent new data frames may have been successfully received on the premise that some old data frames have not been successfully sent. This will inevitably disrupt the original sequence of data frames, making it impossible for the receiving end to restore the original data according to the normal timing. Therefore, establishing a complete set of data frame buffer management mechanism is the key to realize the out-of-order sending and receiving function normally.

混合式自动重传请求(Hybrid Automatic Repeat reQuest)是通信系统中的常用协议之一,主要用于确保通信的接收端最终能够准确无误地接收到数据:如接收端检测到数据在通信过程中受到干扰并出错,则回传NACK消息至发送端,通知其重新发送数据;若无出错,则回传ACK消息,通知发送端数据已被成功接收。这一简单机制能够确保信息在不可靠的通信信道内能被可靠地传输。Hybrid Automatic Repeat reQuest (Hybrid Automatic Repeat reQuest) is one of the commonly used protocols in communication systems, mainly used to ensure that the receiving end of the communication can finally receive the data accurately: if the receiving end detects that the data is If there is interference and an error occurs, a NACK message will be returned to the sender to notify it to resend the data; if there is no error, an ACK message will be returned to notify the sender that the data has been successfully received. This simple mechanism ensures that information is transmitted reliably over unreliable communication channels.

其中,基于选择重发(Select-Repeat)的机制只要求发送端在收到回报时重新发送出错的数据帧即可,其他数据帧仍能正常进行收发动作。SR-HARQ打破了传统HARQ实现中,发送终端需依次传送数据帧,等待接收端成功接收当前数据帧后,才尝试发送下一个数据帧的限制,大幅提高了通信资源的利用率。但是,该方式会造成收发数据帧原本的时序被打乱,因此数据帧的序列管理在SR-HARQ的具体实现中起到至关重要的作用。Among them, the mechanism based on Select-Repeat only requires the sender to resend the error data frame when receiving the report, and other data frames can still be sent and received normally. SR-HARQ breaks the limitation in the traditional HARQ implementation that the sending terminal needs to transmit data frames in sequence, and waits for the receiving end to successfully receive the current data frame before attempting to send the next data frame, which greatly improves the utilization of communication resources. However, this method will cause the original timing of sending and receiving data frames to be disrupted, so the sequence management of data frames plays a crucial role in the specific implementation of SR-HARQ.

目前的SR-HARQ,针对写入操作,有如下几个步骤:The current SR-HARQ has the following steps for the write operation:

1.尝试将外部存储的HARQ数据写入缓存;1. Try to write the externally stored HARQ data into the cache;

2.如写命中,则写入HARQ数据;如写缺失,则重新分配cache line;2. If the write hits, write the HARQ data; if the write is missing, reallocate the cache line;

3.针对步骤2写缺失的情况,如cache line中无数据,则写入HARQ数据;如有,则依据错误校验结果与具体配置,决定是否执行写入操作;3. For the case of missing write in step 2, if there is no data in the cache line, write HARQ data; if there is, decide whether to execute the write operation according to the error verification result and specific configuration;

从缓存读出数据到外部存储的操作与写入过程大致相同,此处不再赘述。The operation of reading data from the cache to the external storage is roughly the same as the writing process, and will not be repeated here.

通过以上步骤的cache line分配以及轮询cache line数据,可以减少存储空间气泡、提高缓存利用率、节省HARQ运行资源。但是该技术方案存在以下几个缺点:Through the above steps of cache line allocation and polling of cache line data, storage space bubbles can be reduced, cache utilization can be improved, and HARQ operating resources can be saved. But there are following disadvantages in this technical scheme:

1.仅依据缓存的占用情况进行数据读写,未能对数据进行队列管理、保留数据的原本顺序;1. Only read and write data based on the occupancy of the cache, but fail to perform queue management on the data and retain the original order of the data;

2.仅使用CRC作为错误检测算法,未结合其他算法加强错误纠正功能。2. Only use CRC as an error detection algorithm, without combining other algorithms to strengthen the error correction function.

发明内容Contents of the invention

为解决上述问题,本发明的首要目的在于提供一种用于选择-重复混合式自动重传请求协议的缓冲区管理机制,该方法能够通过该机制实现乱序收发功能,同时保留数据帧的序列性。In order to solve the above problems, the primary purpose of the present invention is to provide a buffer management mechanism for selection-repeat hybrid automatic repeat request protocol, the method can realize out-of-sequence sending and receiving functions through this mechanism, while retaining the sequence of data frames sex.

为实现上述目的,本发明的技术方案如下。To achieve the above object, the technical solution of the present invention is as follows.

一种用于选择-重复混合式自动重传请求协议的缓冲区管理机制,该机制包括以下:A buffer management mechanism for the Select-Repeat Hybrid Automatic Repeat Request protocol, the mechanism comprising the following:

1)该HARQ机制的具体实现包含发送端和接收端两个部分,且各自拥有独立的数据帧缓冲区、数据读取与写入模块;1) The specific implementation of the HARQ mechanism includes two parts, the sending end and the receiving end, and each has an independent data frame buffer, data reading and writing module;

2)数据帧缓冲区采用环形结构,主要特点为缓冲区头尾相接,尾部的下一个元素即为头部,形成循环;这一特性适用于缓存数据流,也是实现乱序收发功能的关键。2) The data frame buffer adopts a ring structure. The main feature is that the buffer is connected head to tail, and the next element at the tail is the head, forming a loop; this feature is suitable for caching data streams, and is also the key to realizing out-of-order sending and receiving functions .

3)在数据帧被读出/写入缓冲区前,必须事先在缓冲区内找到已存在的数据帧或空位后,才可继续进行相应的操作。3) Before the data frame is read/written into the buffer, an existing data frame or vacancy must be found in the buffer before the corresponding operation can be continued.

4)该机制所使用的错误纠正算法包含循环冗余校验(CRC)和里德-所罗门码(Reed-Solomon code)两种;具体算法的采用,基于数据帧的传送次数、算法的复杂度以及错误纠正能力决定。4) The error correction algorithm used by this mechanism includes two types: cyclic redundancy check (CRC) and Reed-Solomon code (Reed-Solomon code); the specific algorithm is adopted based on the number of data frame transmissions and the complexity of the algorithm and error correction capability decisions.

5)接收数据帧可分为三种类型:ACK/NACK信息、带有CRC校验位以及RS code校验位的普通数据帧;三者通过接收到的数据帧大小做区分。5) The received data frame can be divided into three types: ACK/NACK information, ordinary data frame with CRC check digit and RS code check digit; the three are distinguished by the size of the received data frame.

6)除计算错误校验位以外,在原始数据帧的基础上添加表明数据帧属性的元数据,形成新的HARQ数据帧格式。6) In addition to calculating the error parity bit, add metadata indicating the attributes of the data frame on the basis of the original data frame to form a new HARQ data frame format.

进一步,对于第1)点,读出和写入缓冲区的对象,包括有发送端和接收端;对于发送端,来自网络上层的数据帧在经过错误纠正算法编码后,会被写入模块暂存在发送缓冲区中,而后读出模块再从缓冲区中读取出数据帧,以进行后续的发送动作;对于接收端,写入模块会将新接收到的数据帧暂存在接收缓冲区中,同时读出模块从缓冲区中读取数据帧后进行解码与校验,并将校验成功的数据帧推送至网络上层;同时,发送与接收两端、以及两者的读写操作均各自独立。Further, for point 1), the objects for reading and writing the buffer include the sending end and the receiving end; for the sending end, the data frame from the upper layer of the network will be written into the module temporarily after being encoded by the error correction algorithm. Stored in the sending buffer, and then the reading module reads the data frame from the buffer for subsequent sending actions; for the receiving end, the writing module temporarily stores the newly received data frame in the receiving buffer, At the same time, the readout module reads the data frame from the buffer, decodes and verifies it, and pushes the verified data frame to the upper layer of the network; at the same time, the sending and receiving ends, and the read and write operations of both are independent .

进一步,对于第3)点,向缓冲区写入数据帧的位置:Further, for point 3), where to write the data frame to the buffer:

当新数据帧将要被写入缓冲区时,写入模块需要在新数据帧被写入前,利用Round-Robin方式对缓冲区进行轮询,以找到缓冲区内的有效空位;假设缓冲区可存放最多N个数据帧,且BUF[i]代表缓冲区内的第i个位置,则具体步骤如下:When a new data frame is about to be written into the buffer, the write module needs to use the Round-Robin method to poll the buffer before the new data frame is written to find a valid vacancy in the buffer; assuming the buffer can be To store up to N data frames, and BUF[i] represents the i-th position in the buffer, the specific steps are as follows:

S1.由起始位置i开始(默认i=0),检查BUF[i]是否为空;S1. Start from the starting position i (default i=0), check whether BUF[i] is empty;

S2.如BUF[i]为空,代表该位置可供写入。写入模块将新数据帧写入BUF[i]并更新起始位置i,下次查找将从该位置开始;否则代表该位置已有旧数据帧,此时执行i++并重复步骤1;S2. If BUF[i] is empty, it means that the location is available for writing. The write module writes the new data frame into BUF[i] and updates the starting position i, and the next search will start from this position; otherwise, it means that there is an old data frame at this position, at this time execute i++ and repeat step 1;

S3.在步骤2需执行i++而i=N-1时,代表检查已到缓冲区的尾部。此时应将i重置为0后再重复步骤1,以令检查过程从头部继续;S3. When i++ needs to be executed in step 2 and i=N-1, it means that the check has reached the end of the buffer. At this point, i should be reset to 0 and then step 1 should be repeated, so that the checking process can continue from the head;

S4.当上述步骤已执行N次,对缓冲区完成扫描后仍未找到空位时,代表缓冲区已满,返回相应错误信息。S4. When the above steps have been executed N times and no vacancy is found after scanning the buffer, it means that the buffer is full, and a corresponding error message is returned.

更进一步,对于第3)点,从缓冲区读取数据帧的位置,读出模块同样需要对缓冲区事先进行扫描,对读出的扫描会检查BUF[i]是否存在数据帧,以便从已有数据帧的位置进行读取动作,避免错误读取到缓冲区中的空位。Furthermore, for point 3), the position of reading the data frame from the buffer, the readout module also needs to scan the buffer in advance, and the scan for reading will check whether there is a data frame in BUF[i], so as to read from the The read action is performed at the position of the data frame to avoid reading the vacancy in the buffer by mistake.

进一步,对于第4)点,错误校验位算法的采用。Further, for point 4), the adoption of the error check bit algorithm.

当新数据帧第一次被发送前,发送端会采用CRC为数据帧添加校验位;如数据帧第一次发送失败,需要重新发送之前,发送端会清除数据帧原先的CRC校验位,再使用复杂度更高、但纠错能力更强的RS code重新对数据帧编码。由于两种算法编码后产生的数据帧大小不同,接收端可在接收数据帧后以此判断应当使用的解码方式。Before a new data frame is sent for the first time, the sender will use CRC to add a check digit to the data frame; if the data frame fails to be sent for the first time, before it needs to be resent, the sender will clear the original CRC check digit of the data frame , and then use the RS code with higher complexity but stronger error correction capability to re-encode the data frame. Since the sizes of data frames generated by the two algorithms are different after encoding, the receiving end can use this to determine the decoding method that should be used after receiving the data frames.

进一步,对于第6)点,数据帧结构,除错误纠正编码外,该HARQ实现还会在原数据帧的基础上添加元数据标签,用于标记与追踪数据帧的传送状况。Further, for point 6), the data frame structure, in addition to error correction coding, the HARQ implementation will also add a metadata tag on the basis of the original data frame, which is used to mark and track the transmission status of the data frame.

该实现中的HARQ数据帧的组成部分依序如下所示:The components of the HARQ data frame in this implementation are as follows in sequence:

1)序列号:记录数据帧在发送缓冲区内的具体位置,用于从接收端返回的ACK/NACK信息中快速索引相应数据帧。1) Sequence number: Record the specific position of the data frame in the sending buffer, which is used to quickly index the corresponding data frame in the ACK/NACK information returned from the receiving end.

2)标志位:主要用于追踪数据帧已被发送的次数,接收端会利用该标志位承载ACK/NACK信息:如接收端要返回ACK信息,则将全部标志位设为0;否则设置为1。对于发送端,会将来自接收端的,标志位全部为0的信息视为ACK;如标志位全部为1,则视为NACK。在发送端收到NACK并决定重新发送数据帧时,会将发送帧的标志位加1,而后再执行相应操作。2) Flag bit: It is mainly used to track the number of times the data frame has been sent. The receiving end will use this flag bit to carry ACK/NACK information: if the receiving end wants to return ACK information, set all flag bits to 0; otherwise set to 1. For the sending end, the information from the receiving end with all flag bits set to 0 is regarded as ACK; if the flag bits are all 1, it is regarded as NACK. When the sending end receives NACK and decides to resend the data frame, it will add 1 to the flag bit of the sending frame, and then perform the corresponding operation.

3)时间戳:采用UNIX微秒时间戳格式,记录数据帧从网络上层到达HARQ发送端的时间点。该方式可以记录原始数据流的时间顺序,以便接收端能够依据该时间戳,还原原本数据帧的时序。3) Timestamp: use the UNIX microsecond timestamp format to record the time point when the data frame arrives at the HARQ sender from the upper layer of the network. This method can record the time sequence of the original data stream, so that the receiving end can restore the time sequence of the original data frame according to the timestamp.

4)大小:用于表明原始数据帧的大小。4) Size: used to indicate the size of the original data frame.

5)数据:包含错误校验位的原始数据帧,以及尾部的零填充(如有)。5) Data: the original data frame including error parity bits, and trailing zero padding (if any).

本发明通过缓冲区头尾相接形成循环,适用于缓存数据流;数据帧被读出/写入缓冲区前,必须事先在缓冲区内找到已存在的数据帧或空位后,才可继续进行相应的操作,提高数据的读写准确性,通过使用的错误纠正算法进一步保证数据帧的可靠性,通过形成新的HARQ数据帧格式保证数据帧的序列,因此,通过本发明能够实现乱序收发功能,同时保留数据帧的序列性。The invention forms a loop by connecting the buffers end to end, and is suitable for caching data streams; before a data frame is read/written into the buffer, an existing data frame or vacancy must be found in the buffer before proceeding The corresponding operation improves the accuracy of reading and writing of data, further ensures the reliability of the data frame through the error correction algorithm used, and ensures the sequence of the data frame by forming a new HARQ data frame format. Therefore, the present invention can realize out-of-order transmission and reception function while preserving the seriality of the dataframe.

附图说明Description of drawings

图1是本发明所实现的缓冲区读写步骤流程图。Fig. 1 is a flow chart of buffer reading and writing steps realized by the present invention.

图2是本发明所实现的缓冲区轮询过程示意图。Fig. 2 is a schematic diagram of the buffer polling process realized by the present invention.

具体实施方式Detailed ways

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。In order to make the object, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, not to limit the present invention.

本发明所实现的用于选择-重复混合式自动重传请求协议的缓冲区管理机制,其实现如图1所示。The implementation of the buffer management mechanism for the selective-repeat hybrid automatic repeat request protocol implemented by the present invention is shown in FIG. 1 .

1)该HARQ机制的具体实现包含发送端和接收端两个部分,且各自拥有独立的数据帧缓冲区、数据读取与写入模块。1) The specific implementation of the HARQ mechanism includes two parts, the sending end and the receiving end, and each has an independent data frame buffer, data reading and writing module.

2)数据帧缓冲区采用环形结构,主要特点为缓冲区头尾相接,尾部的下一个元素即为头部,形成循环。这一特性适用于缓存数据流,也是实现乱序收发功能的关键。2) The data frame buffer adopts a ring structure. The main feature is that the buffer is connected head to tail, and the next element at the tail is the head, forming a cycle. This feature is suitable for buffering data streams and is also the key to realizing out-of-order sending and receiving functions.

3)在数据帧被读出/写入缓冲区前,必须事先在缓冲区内找到已存在的数据帧或空位后,才可继续进行相应的操作。3) Before the data frame is read/written into the buffer, an existing data frame or vacancy must be found in the buffer before the corresponding operation can be continued.

4)该机制所使用的错误纠正算法包含循环冗余校验(CRC)和里德-所罗门码(Reed-Solomon code)两种。具体算法的采用,基于数据帧的传送次数、算法的复杂度以及错误纠正能力决定。4) The error correction algorithm used by this mechanism includes two types: cyclic redundancy check (CRC) and Reed-Solomon code (Reed-Solomon code). The adoption of the specific algorithm is determined based on the number of data frame transmissions, the complexity of the algorithm, and the ability to correct errors.

5)接收数据帧可分为三种类型:ACK/NACK信息、带有CRC校验位以及RS code校验位的普通数据帧。三者通过接收到的数据帧大小做区分。5) Received data frames can be divided into three types: ACK/NACK information, ordinary data frames with CRC check digit and RS code check digit. The three are distinguished by the size of the received data frame.

6)除计算错误校验位以外,在原始数据帧的基础上添加表明数据帧属性的元数据,形成新的HARQ数据帧格式。6) In addition to calculating the error parity bit, add metadata indicating the attributes of the data frame on the basis of the original data frame to form a new HARQ data frame format.

对于第1)点,读出和写入缓冲区的对象。For point 1), read and write buffer objects.

对于发送端,来自网络上层的数据帧在经过错误纠正算法编码后,会被写入模块暂存在发送缓冲区中,而后读出模块再从缓冲区中读取出数据帧,以进行后续的发送动作。对于接收端,写入模块会将新接收到的数据帧暂存在接收缓冲区中,同时读出模块从缓冲区中读取数据帧后进行解码与校验,并将校验成功的数据帧推送至网络上层。此外,发送与接收两端、以及两者的读写操作均各自独立,因此能够采用异步运作的方式,实现全双工数据收发。For the sending end, after the data frame from the upper layer of the network is encoded by the error correction algorithm, it will be temporarily stored in the sending buffer by the writing module, and then the reading module will read the data frame from the buffer for subsequent sending action. For the receiving end, the writing module will temporarily store the newly received data frame in the receiving buffer, and at the same time, the reading module will decode and verify the data frame after reading the data frame from the buffer, and push the data frame with successful verification to the upper layer of the network. In addition, the sending and receiving ends, as well as the read and write operations of the two are independent, so asynchronous operation can be adopted to realize full-duplex data transmission and reception.

对于第3)点,向缓冲区写入数据帧的位置。For point 3), write the location of the data frame to the buffer.

当新数据帧将要被写入缓冲区时,缓冲区内可能存在已有的旧数据帧,并分布于缓冲区内的不同位置。例如,发送缓冲区内的数据帧在发送不成功后,仍会占用相同的位置,直至被重新发送成功或被清除为止。因此,写入模块需要在新数据帧被写入前,利用Round-Robin方式对缓冲区进行轮询,以找到缓冲区内的有效空位。在此,假设缓冲区可存放最多N个数据帧,且BUF[i]代表缓冲区内的第i个位置,则具体步骤如下:When a new data frame is about to be written into the buffer, there may be existing old data frames in the buffer, which are distributed in different positions in the buffer. For example, after the data frame in the sending buffer is unsuccessfully sent, it will still occupy the same position until it is successfully resent or cleared. Therefore, before the new data frame is written, the writing module needs to use the Round-Robin method to poll the buffer to find a valid vacancy in the buffer. Here, assuming that the buffer can store up to N data frames, and BUF[i] represents the i-th position in the buffer, the specific steps are as follows:

S1.由起始位置i开始(默认i=0),检查BUF[i]是否为空;S1. Start from the starting position i (default i=0), check whether BUF[i] is empty;

S2.如BUF[i]为空,代表该位置可供写入。写入模块将新数据帧写入BUF[i]并更新起始位置i,下次查找将从该位置开始;否则代表该位置已有旧数据帧,此时执行i++并重复步骤1;S2. If BUF[i] is empty, it means that the location is available for writing. The write module writes the new data frame into BUF[i] and updates the starting position i, and the next search will start from this position; otherwise, it means that there is an old data frame at this position, at this time execute i++ and repeat step 1;

S3.在步骤2需执行i++而i=N-1时,代表检查已到缓冲区的尾部。此时应将i重置为0后再重复步骤1,以令检查过程从头部继续。该步骤是对缓冲区环形结构的具体实现。S3. When i++ needs to be executed in step 2 and i=N-1, it means that the check has reached the end of the buffer. At this point, i should be reset to 0 and then step 1 should be repeated, so that the checking process can continue from the head. This step is a concrete implementation of the buffer ring structure.

S4.当上述步骤已执行N次,对缓冲区完成扫描后仍未找到空位时,代表缓冲区已满,返回相应错误信息。S4. When the above steps have been executed N times and no vacancy is found after scanning the buffer, it means that the buffer is full, and a corresponding error message is returned.

总体上,上述步骤采用顺序查找再写入的方式,能最大限度地保证新数据帧能依序被写入缓冲区内,同时也可跳过已存在的旧数据帧,避免错误覆盖数据。该机制在序列性以及效率两方面能够达到很好的平衡。In general, the above steps adopt the method of sequential search and write, which can ensure that new data frames can be written into the buffer in sequence to the greatest extent, and can also skip existing old data frames to avoid overwriting data by mistake. This mechanism can achieve a good balance in terms of sequence and efficiency.

对于从缓冲区读取数据帧的位置,与数据帧写入缓冲区的过程类似,读出模块同样需要对缓冲区事先进行扫描。不同之处在于,对读出的扫描会检查BUF[i]是否存在数据帧,以便从已有数据帧的位置进行读取动作,避免错误读取到缓冲区中的空位。其余的细节与写入过程大致相同,如图2所示,此处不再赘述。For the location of reading data frames from the buffer, similar to the process of writing data frames to the buffer, the readout module also needs to scan the buffer in advance. The difference is that the scan for reading will check whether there is a data frame in BUF[i], so as to read from the position of the existing data frame, and avoid reading the vacancy in the buffer by mistake. The rest of the details are roughly the same as the writing process, as shown in Figure 2, and will not be repeated here.

对于第4)点,错误校验位算法的采用。For point 4), the adoption of the error check bit algorithm.

当新数据帧第一次被发送前,发送端会采用CRC为数据帧添加校验位。CRC的算法复杂度低,因此对新数据帧使用该算法可以缩小错误纠正步骤对HARQ运行效率的影响,避免性能瓶颈造成阻塞。如数据帧第一次发送失败,需要重新发送之前,发送端会清除数据帧原先的CRC校验位,再使用复杂度更高、但纠错能力更强的RS code重新对数据帧编码。由于两种算法编码后产生的数据帧大小不同,接收端可在接收数据帧后以此判断应当使用的解码方式。该机制在效率以及错误能力纠正两方面能够达到很好的平衡。Before a new data frame is sent for the first time, the sender will use CRC to add a check digit to the data frame. The algorithm complexity of CRC is low, so using this algorithm for new data frames can reduce the impact of error correction steps on HARQ operation efficiency, and avoid performance bottlenecks causing congestion. If the data frame fails to be sent for the first time, before resending, the sender will clear the original CRC check digit of the data frame, and then re-encode the data frame using RS code with higher complexity but stronger error correction capability. Since the sizes of data frames generated by the two algorithms are different after encoding, the receiving end can use this to determine the decoding method that should be used after receiving the data frames. This mechanism can achieve a good balance in terms of efficiency and error correction.

对于第6)点,数据帧结构,除错误纠正编码外,该HARQ实现还会在原数据帧的基础上添加元数据标签,用于标记与追踪数据帧的传送状况。该实现中的HARQ数据帧的组成部分依序如下所示:For point 6), the data frame structure, in addition to error correction coding, the HARQ implementation will also add metadata tags on the basis of the original data frame for marking and tracking the transmission status of the data frame. The components of the HARQ data frame in this implementation are as follows in sequence:

1)序列号:记录数据帧在发送缓冲区内的具体位置,用于从接收端返回的ACK/NACK信息中快速索引相应数据帧。1) Sequence number: Record the specific position of the data frame in the sending buffer, which is used to quickly index the corresponding data frame in the ACK/NACK information returned from the receiving end.

2)标志位:主要用于追踪数据帧已被发送的次数(默认为1,因每个数据帧至少会被发送一次)。此外,接收端会利用该标志位承载ACK/NACK信息:如接收端要返回ACK信息,则将全部标志位设为0;否则设置为1。对于发送端,会将来自接收端的,标志位全部为0的信息视为ACK;如标志位全部为1,则视为NACK。在发送端收到NACK并决定重新发送数据帧时,会将发送帧的标志位加1,而后再执行相应操作。2) Flag bit: mainly used to track the number of times a data frame has been sent (the default is 1, because each data frame will be sent at least once). In addition, the receiving end will use this flag bit to carry ACK/NACK information: if the receiving end wants to return ACK information, set all flag bits to 0; otherwise, set them to 1. For the sending end, the information from the receiving end with all flag bits set to 0 is regarded as ACK; if the flag bits are all 1, it is regarded as NACK. When the sending end receives NACK and decides to resend the data frame, it will add 1 to the flag bit of the sending frame, and then perform the corresponding operation.

3)时间戳:采用UNIX微秒时间戳格式,记录数据帧从网络上层到达HARQ发送端的时间点。该方式可以记录原始数据流的时间顺序,以便接收端能够依据该时间戳,还原原本数据帧的时序。3) Timestamp: use the UNIX microsecond timestamp format to record the time point when the data frame arrives at the HARQ sender from the upper layer of the network. This method can record the time sequence of the original data stream, so that the receiving end can restore the time sequence of the original data frame according to the timestamp.

4)大小:用于表明原始数据帧的大小。4) Size: used to indicate the size of the original data frame.

5)数据:包含错误校验位的原始数据帧,以及尾部的零填充(如有)。5) Data: the original data frame including error parity bits, and trailing zero padding (if any).

需要表明的是,接收端返回到发送端的ACK/NACK只包含序列号和标志位两个部分。原因在于,序列号能够定位其对应反馈的数据帧,而标志位用于标识ACK/NACK本身。发送端从这两者当中便可获得接收端反馈的全部必要信息。It should be noted that the ACK/NACK returned from the receiving end to the sending end only includes two parts, the sequence number and the flag bit. The reason is that the sequence number can locate its corresponding feedback data frame, and the flag bit is used to identify the ACK/NACK itself. From the two, the sending end can obtain all the necessary information fed back by the receiving end.

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。The above are only preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention. Inside.

Claims (6)

1. A buffer management mechanism for a select-repeat hybrid automatic repeat request protocol, the mechanism comprising:
1) The specific implementation of the HARQ mechanism comprises a sending end and a receiving end, and the sending end and the receiving end are respectively provided with an independent data frame buffer area and an independent data reading and writing module;
2) The data frame buffer area adopts a ring structure and is mainly characterized in that the buffer areas are connected end to end, and the next element at the tail is the head, so that a cycle is formed;
3) Before the data frame is read out/written into the buffer area, the existing data frame or vacant position must be found in the buffer area in advance, and then the corresponding operation can be continued;
4) The error correction algorithm used by the mechanism comprises a cyclic redundancy check and a Reed-Solomon code;
5) The received data frames can be divided into three types: ACK/NACK information, a common data frame with CRC check bits and RS code check bits;
6) Besides calculating error check bits, metadata indicating the attribute of the data frame is added on the basis of the original data frame to form a new HARQ data frame format.
2. The buffer management mechanism for a select-repeat hybrid automatic repeat request protocol according to claim 1, wherein for point 1), objects read from and written to the buffer comprise a sender and a receiver; for a sending end, after a data frame from an upper layer of a network is coded by an error correction algorithm, the data frame is temporarily stored in a sending buffer area by a writing module, and then the data frame is read out from the buffer area by a reading module so as to carry out subsequent sending action; for a receiving end, the writing module can temporarily store a newly received data frame in a receiving buffer area, and the reading module reads the data frame from the buffer area and then decodes and verifies the data frame, and pushes the data frame which is verified successfully to an upper layer of a network; meanwhile, the sending and receiving ends and the read-write operations of the sending and receiving ends are independent respectively.
3. The buffer management mechanism for a select-repeat hybrid automatic repeat request protocol according to claim 1, wherein for point 3), the location of the data frame is written to the buffer:
when a new data frame is to be written into the buffer area, the writing module needs to poll the buffer area by using a Round-Robin mode before the new data frame is written into the buffer area so as to find an effective vacant position in the buffer area; assuming that the buffer can store a maximum of N data frames and BUF [ i ] represents the ith position in the buffer, the specific steps are as follows:
s1, starting from a starting position i (default i = 0), checking whether BUF [ i ] is empty;
s2, if the BUF [ i ] is empty, representing that the position can be written in; the writing module writes the new data frame into the BUF [ i ] and updates the initial position i, and the next search starts from the position; otherwise, representing that the position has an old data frame, executing i + + at the moment and repeating the step 1;
s3, when i + + needs to be executed in the step 2 and i = N-1, checking the tail of the buffer area; at this point, step 1 should be repeated after i is reset to 0 to continue the inspection process from the head;
s4, when the steps are executed for N times and no vacant position is found after the buffer zone is scanned, representing that the buffer zone is full, and returning corresponding error information.
4. The buffer management mechanism of claim 3, wherein for point 3), the location of the data frame is read from the buffer, and the read module also needs to scan the buffer in advance, and the scanning for reading will check if the data frame exists in the BUF [ i ] to perform the reading operation from the location of the existing data frame, so as to avoid the erroneous reading to the empty location in the buffer.
5. The buffer management mechanism for a select-repeat hybrid automatic repeat request protocol according to claim 1, wherein for point 4), the use of the error check bit algorithm: before a new data frame is sent for the first time, a sending end adds check bits to the data frame by using CRC; if the first transmission of the data frame fails, before retransmission is needed, the transmitting end will clear the original CRC check bit of the data frame, and then use the RS code with higher complexity and stronger error correction capability to re-encode the data frame.
6. The buffer management mechanism of claim 1, wherein for point 6), the data frame structure, in addition to error correction coding, the HARQ implementation adds metadata tags on the original data frame, and the HARQ data frame components in the implementation are sequentially as follows:
1) Sequence number: recording the specific position of the data frame in the sending buffer area, and quickly indexing the corresponding data frame from the ACK/NACK information returned by the receiving end;
2) A flag bit: the receiving end uses the flag bit to carry ACK/NACK information, which is mainly used to track the number of times the data frame has been sent: if the receiving end needs to return the ACK information, all the flag bits are set to be 0; otherwise, setting the value to 1;
3) Time stamping: recording the time point of a data frame from the upper layer of the network to the HARQ sending end by adopting a UNIX microsecond timestamp format;
4) Size: for indicating the size of the original data frame;
5) Data: the original data frame containing the error check bits, and the tail zero padding (if any).
CN202210992700.8A 2022-08-18 2022-08-18 Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol Pending CN115361103A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210992700.8A CN115361103A (en) 2022-08-18 2022-08-18 Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210992700.8A CN115361103A (en) 2022-08-18 2022-08-18 Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol

Publications (1)

Publication Number Publication Date
CN115361103A true CN115361103A (en) 2022-11-18

Family

ID=84001755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210992700.8A Pending CN115361103A (en) 2022-08-18 2022-08-18 Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol

Country Status (1)

Country Link
CN (1) CN115361103A (en)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1128920A (en) * 1994-10-11 1996-08-14 日本电信电话株式会社 Retransmission System in Data Communication
US6212659B1 (en) * 1997-05-30 2001-04-03 Qualcomm Inc. Method and apparatus for providing error protection for over the air file transfer
JP2003338809A (en) * 2002-05-22 2003-11-28 Mitsubishi Electric Corp Data communication system, base station control device, and data communication method
CN1592244A (en) * 2003-09-02 2005-03-09 皇家飞利浦电子股份有限公司 Hybrid auto-repeating requesting method and apparatus for WLAN
CN101237310A (en) * 2007-11-19 2008-08-06 北京邮电大学 A Method of Enhanced Adaptive Data Retransmission
CN101594212A (en) * 2008-05-30 2009-12-02 上海贝尔阿尔卡特股份有限公司 The data repeating method and the device thereof that adopt interlacing rule to reset in the communication system
CN101610139A (en) * 2009-07-20 2009-12-23 中国船舶重工集团公司第七一五研究所 A kind of hybrid automatic repeat request method of underwater sound MODEM
CN102006154A (en) * 2010-11-18 2011-04-06 中国人民解放军理工大学 Multi-code channel hybrid automatic repeat request (ARQ) method based on selective repeat
CN102474343A (en) * 2009-07-07 2012-05-23 Lg电子株式会社 Method of transmitting and receiving arq feedback information
US20130246876A1 (en) * 2010-11-08 2013-09-19 Telefonaktiebolaget L M Ericsson (Publ) Method and Arrangement for Retransmission Control
CN103957089A (en) * 2014-04-28 2014-07-30 上海大学 High-reliability linear speed data communication method
CN104660384A (en) * 2015-02-02 2015-05-27 武汉爱科唯自动化科技有限公司 Network remote monitoring method for open numerical control system
CN107769901A (en) * 2017-10-19 2018-03-06 中国科学院寒区旱区环境与工程研究所 A kind of method and apparatus of field inspection data transfer
CN107800517A (en) * 2016-09-05 2018-03-13 北京信威通信技术股份有限公司 A kind of HARQ implementation method and device
CN108604956A (en) * 2016-01-18 2018-09-28 高通股份有限公司 HARQ LLR buffer and reordering buffer management
CN110073625A (en) * 2017-10-02 2019-07-30 联发科技股份有限公司 Hybrid automatic repeat-request buffer size for communication system designs
CN111200477A (en) * 2018-11-19 2020-05-26 中兴通讯股份有限公司 Method, apparatus and storage medium for transmitting data frame

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1128920A (en) * 1994-10-11 1996-08-14 日本电信电话株式会社 Retransmission System in Data Communication
US6212659B1 (en) * 1997-05-30 2001-04-03 Qualcomm Inc. Method and apparatus for providing error protection for over the air file transfer
JP2003338809A (en) * 2002-05-22 2003-11-28 Mitsubishi Electric Corp Data communication system, base station control device, and data communication method
CN1592244A (en) * 2003-09-02 2005-03-09 皇家飞利浦电子股份有限公司 Hybrid auto-repeating requesting method and apparatus for WLAN
CN101237310A (en) * 2007-11-19 2008-08-06 北京邮电大学 A Method of Enhanced Adaptive Data Retransmission
CN101594212A (en) * 2008-05-30 2009-12-02 上海贝尔阿尔卡特股份有限公司 The data repeating method and the device thereof that adopt interlacing rule to reset in the communication system
CN102474343A (en) * 2009-07-07 2012-05-23 Lg电子株式会社 Method of transmitting and receiving arq feedback information
CN101610139A (en) * 2009-07-20 2009-12-23 中国船舶重工集团公司第七一五研究所 A kind of hybrid automatic repeat request method of underwater sound MODEM
US20130246876A1 (en) * 2010-11-08 2013-09-19 Telefonaktiebolaget L M Ericsson (Publ) Method and Arrangement for Retransmission Control
CN102006154A (en) * 2010-11-18 2011-04-06 中国人民解放军理工大学 Multi-code channel hybrid automatic repeat request (ARQ) method based on selective repeat
CN103957089A (en) * 2014-04-28 2014-07-30 上海大学 High-reliability linear speed data communication method
CN104660384A (en) * 2015-02-02 2015-05-27 武汉爱科唯自动化科技有限公司 Network remote monitoring method for open numerical control system
CN108604956A (en) * 2016-01-18 2018-09-28 高通股份有限公司 HARQ LLR buffer and reordering buffer management
CN107800517A (en) * 2016-09-05 2018-03-13 北京信威通信技术股份有限公司 A kind of HARQ implementation method and device
CN110073625A (en) * 2017-10-02 2019-07-30 联发科技股份有限公司 Hybrid automatic repeat-request buffer size for communication system designs
CN107769901A (en) * 2017-10-19 2018-03-06 中国科学院寒区旱区环境与工程研究所 A kind of method and apparatus of field inspection data transfer
CN111200477A (en) * 2018-11-19 2020-05-26 中兴通讯股份有限公司 Method, apparatus and storage medium for transmitting data frame

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
杨晓航: "5G通信系统下HARQ传输机制研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
梁德厚等: "《第四代移动通信网络原理与维护》", 31 October 2016, 北京邮电大学出版社 *

Similar Documents

Publication Publication Date Title
US7003710B2 (en) Communications method, communications apparatus and communications system using same communications apparatus
US7734987B2 (en) Communication method and system using two or more coding schemes
RU2387087C2 (en) Data exchange method, data exchange system and data exchange station
CN1328867C (en) Method of packet data transfer with hybrid ARQ
US11729666B2 (en) Retransmission schemes based on LLR combining in WLAN
CN101895403B (en) Data transmission method and device and communication system
US8156407B2 (en) Method and system for memory management in a HARQ communications system
CN111490858B (en) Adaptive transmission method, device and system for satellite communication
JP3634800B2 (en) System and method for implementing hybrid automatic repeat request using parity check combination
US7502981B2 (en) Automatic repeat request (ARQ) scheme
US20030023915A1 (en) Forward error correction system and method for packet based communication systems
US20020150040A1 (en) Partial puncture retransmission
CN1801687B (en) Data frame retransmission method and system based on non response mechanism
US7567515B2 (en) Inter-layer communication of receipt confirmation for releasing retransmission buffer contents
JP2002314626A (en) Communication system, transmission device, reception device, and communication system including these
CN115361103A (en) Buffer Management Mechanism for Select-Repeat Hybrid Automatic Repeat Request Protocol
WO2002093820A1 (en) Communicating method, transmitting apparatus, receiving apparatus, and communicating system including them
CN116249155B (en) An information transmission method, device and user equipment
JP2000078118A (en) Automatic retransmission request data transmission method
US10999006B2 (en) Communications having reduced latency
CN105812096A (en) Method for improving decoding precision of physical layer of receiver by using check information of data link layer
JPH10308932A (en) Data transmission method and data transmission device
JP3281202B2 (en) Error control system
CN118631405A (en) Method, device and system for coded data packet communication based on private protocol
JP2007134888A (en) Retransmission method using error correction code, communication apparatus, and program

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20221118

RJ01 Rejection of invention patent application after publication