A data processing apparatus and method

By introducing a target caching mechanism into the WLAN system, the MAC layer and PHY layer processing modules are allowed to flexibly use cached resources, which solves the problem of resource waste in APs in multi-cell or multi-user communication and improves the flexibility of data processing and resource utilization.

CN116762302BActive Publication Date: 2026-05-29HUAWEI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUAWEI TECH CO LTD
Filing Date
2021-01-30
Publication Date
2026-05-29

Smart Images

  • Figure CN116762302B_ABST
    Figure CN116762302B_ABST
Patent Text Reader

Abstract

The application provides a data processing device and method, the data processing device comprises: a MAC layer processing module, a PHY layer processing module; wherein the MAC layer processing module is used for: receiving first data, estimating a first data amount and a second data amount corresponding to the first data; when a remaining storage space of a target cache is greater than or equal to the storage space required for storing the first data amount and the second data amount respectively, performing first data processing on the first data to obtain second data; and putting the second data into the target cache; the PHY layer processing module is used for: obtaining the second data from the target cache, and performing encoding processing on the second data to obtain third data; and performing modulation processing on the third data. The MAC layer processing module performs the data processing process only after determining that the first data can be processed, so that the target cache can be flexibly used to realize data processing, and it is not necessary to reserve a cache or data processing capacity for each user, thereby reducing the cache overhead.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless local area network technology, and more specifically to a data processing apparatus and method. Background Technology

[0002] Wireless Local Area Network (WLAN) is a rapidly developing wireless data communication network in recent years. WLAN refers to the network system that uses wireless communication technology to interconnect electronic devices, forming a network that can communicate with each other and share resources.

[0003] In the Open Systems Interconnection Reference Model (OSI) seven-layer protocol, the computer network architecture is divided into seven layers. The bottom layer is the Physical Layer (PHY), and different transmission media correspond to different Physical Layers. The second layer is the Data Link Layer. The upper half of the Data Link Layer is the Logical Link Control sublayer (LLC), responsible for correctly sending data to the Physical Layer. The lower half is the Media Access Control (MAC) sublayer, responsible for controlling and connecting the physical media of the Physical Layer. In communication equipment, the function of each protocol layer is implemented through a corresponding protocol layer processing module. For example, the PHY layer processing module implements the functions of the PHY layer, and the MAC layer processing module implements the functions of the MAC sublayer.

[0004] In the downlink direction of a WLAN system, the MAC layer processing module in the Access Point (AP) frames the received data and outputs it to the PHY layer processing module. The PHY layer processing module performs code block (CB) segmentation, scrambling, and encoding on the received data. Correspondingly, in the uplink direction of the WLAN, the PHY layer processing module in the AP decodes, descrambles, and concatenates CBs on the received data before converting it into MAC layer format and sending it to the MAC layer processing module in the AP.

[0005] As can be seen, in WLAN communication, the data processing and transmission between the MAC layer processing module and the PHY layer processing module in the AP is a time-sequential process. With the gradual evolution of WLAN protocols, the requirements for the transmission rate of the PHY layer are becoming increasingly higher. For example, in the 802.11ax protocol, the PHY layer transmission rate reaches 9.8Gbps.

[0006] WLAN communication also incorporates features such as Orthogonal Frequency Division Multiple Access (OFDMA) and Multi-User Multiple-Input Multiple-Output (MU_MIMO). To enable the Access Point (AP) to process data transmitted by multiple users or multiple cells in parallel, the AP needs to reserve CB processing capacity and CB buffers for each cell or user. For example, if the AP supports communication among multiple users within a single cell, it needs to reserve CB processing capacity and CB buffers for each user according to their maximum transmission rate. Similarly, if the AP supports communication across multiple cells, it needs to reserve CB processing capacity and CB buffers for each cell according to their maximum capacity scenario. However, situations where all cells or all users need to transmit data simultaneously are rare, leading to wasted buffer resources. Therefore, multi-cell or multi-user communication in current WLAN systems places high demands on the AP's CB processing capacity and CB buffers, and is prone to resource waste. Summary of the Invention

[0007] This application provides a data processing apparatus and method to solve the problem that APs need to reserve a large amount of processing capacity and buffer in WLAN communication.

[0008] In a first aspect, embodiments of this application provide a data processing apparatus applied to an access point (AP), comprising: a MAC layer processing module and a PHY layer processing module;

[0009] The MAC layer processing module is configured to: receive first data; estimate the first data volume and the second data volume corresponding to the first data, wherein the first data volume is the data volume of the second data obtained after performing first data processing on the first data, and the second data volume is the data volume after encoding processing on the second data; when the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume and the second data volume respectively, perform first data processing on the first data to obtain the second data; and put the second data into the target cache.

[0010] The PHY layer processing module is used to: obtain the second data from the target cache, encode the second data to obtain the third data, and modulate the third data.

[0011] The MAC layer processing module in the data processing apparatus provided in this application embodiment only initiates the data processing flow after determining that the first data can be processed. This allows for flexible use of the target cache to achieve data processing without reserving cache or data processing capacity for each user or cell, thus reducing cache overhead. The PHY layer processing module can obtain data from the target cache and perform encoding processing without strictly adhering to the data's temporal order, thereby improving the flexibility of data processing.

[0012] In one possible design, the PHY layer processing module is further configured to: acquire fourth data; demodulate the fourth data to obtain fifth data; estimate the third data volume and the fourth data volume corresponding to the fifth data, wherein the third data volume is the data volume of the fifth data, and the fourth data volume is the data volume after decoding the fifth data; and decode the fifth data to obtain sixth data when the remaining storage space of the target cache is greater than or equal to the storage space required to store the third data volume and the fourth data volume, respectively.

[0013] The sixth data is placed into the target cache; the MAC layer processing module is further configured to: retrieve the sixth data from the target cache and perform second data processing on the sixth data.

[0014] The PHY layer processing module in the data processing device will only start the data processing flow after determining that the fifth data can be processed. This allows for flexible use of the target cache to achieve data processing without reserving cache or data processing capacity for each user or cell, thus reducing cache overhead.

[0015] In one possible design, the data processing apparatus further includes the target cache for storing data.

[0016] In one possible design, the MAC layer processing module is further configured to: before placing the second data into the target cache, determine configuration information corresponding to the second data based on the first data volume, the second data volume, and the remaining storage space of the target cache, wherein the configuration information includes a first cache address and a second cache address, the first cache address being the address corresponding to the second data in the target cache, and the second cache address being the address corresponding to the third data obtained after encoding the second data in the target cache; and send the configuration information corresponding to the second data to the PHY layer processing module.

[0017] When the MAC layer processing module puts the second data into the target cache, it specifically performs the following: puts the second data into the target cache according to the first cache address.

[0018] In one possible design, the PHY layer processing module is further configured to: receive configuration information corresponding to the second data sent by the MAC layer processing module before retrieving the second data from the target cache;

[0019] When the PHY layer processing module retrieves the second data from the target cache, it is specifically used to: retrieve the second data from the target cache according to the first cache address.

[0020] In one possible design, the PHY layer processing module includes a PHY layer encoding / decoding module and a PHY layer modulation / demodulation module;

[0021] The PHY layer encoding / decoding module is used to: encode the second data to obtain the third data, and put the third data into the target cache according to the second cache address;

[0022] The PHY layer modulation and demodulation module is used to: obtain third data from the target cache according to the second cache address, and perform modulation processing on the third data.

[0023] The MAC layer processing module in the data processing device provided in this application embodiment can determine the configuration information corresponding to the second data, and put the second data into the target cache according to the first cache address in the configuration information corresponding to the second data. Thus, when the PHY layer processing module encodes the second data, it can obtain the second data from the target cache according to the first cache address in the configuration information corresponding to the second data, and put the third data obtained after encoding into the target cache according to the second cache address. The PHY layer processing module does not need to strictly follow the data timing to encode or decode the data, but only needs to obtain the data from the target cache according to the configuration information, and put the data obtained after encoding into the target cache according to the configuration information, thus flexibly realizing physical layer out-of-order encoding.

[0024] In one possible design, when the MAC layer processing module processes the first data, it is specifically used to: perform format conversion processing and data segmentation processing on the first data.

[0025] Unlike existing technologies where the PHY layer processing module performs code block segmentation and scrambling on data, the data processing device provided in this application embodiment uses the MAC layer processing module to perform format conversion and data segmentation on the first data to obtain the second data. This allows the PHY layer processing module to directly obtain the second data from the target cache for encoding without strictly following the data timing. This enables the PHY layer processing module to perform out-of-order encoding, improving the flexibility of data processing.

[0026] In one possible design, when the PHY layer processing module modulates the third data, it specifically performs the following: obtains the data identifier of the third data, determines the timing of the third data based on the data identifier, and modulates the third data according to the timing of the third data.

[0027] The PHY layer processing module in the data processing device provided in this application embodiment modulates the third data according to the timing sequence, thereby restoring the data timing sequence and ensuring the accuracy of data processing.

[0028] In one possible design, the PHY layer processing module is further configured to: send a buffer release notification to the MAC layer processing module after modulating the third data;

[0029] The MAC layer processing module is further configured to: receive a cache release notification sent by the PHY layer processing module, and update the remaining storage space of the target cache according to the storage space of the target cache to be released contained in the cache release notification.

[0030] The data processing apparatus provided in this application embodiment can maintain the remaining storage space of the target cache according to the cache release notification, so as to ensure that the remaining storage space of the target cache maintained by the MAC layer processing module is correct.

[0031] In one possible design, the MAC layer processing module is further configured to: send a notification message to the PHY layer processing module after the second data is placed into the target cache;

[0032] The PHY layer processing module is further configured to: receive notification information sent by the MAC layer processing module before retrieving the second data from the target cache.

[0033] In the data processing apparatus provided in this application embodiment, after the MAC layer processing module puts the second data obtained after encoding processing into the target cache, it sends a notification message to the PHY layer processing module to notify the PHY layer processing module to continue encoding processing of the second data. Data transmission is achieved through the interaction process between the MAC layer processing module and the PHY layer processing module.

[0034] In one possible design, the PHY layer processing module is further configured to: before decoding the fifth data, determine the configuration information corresponding to the fifth data based on the third data volume, the fourth data volume, and the remaining storage space, wherein the configuration information includes a third cache address and a fourth cache address, the third cache address being the address corresponding to the fifth data in the target cache, and the fourth cache address being the address corresponding to the sixth data obtained after decoding the fifth data in the target cache; and send the configuration information corresponding to the fifth data to the MAC layer processing module.

[0035] In one possible design, the MAC layer processing module is further configured to: receive configuration information corresponding to the fifth data sent by the PHY layer processing module;

[0036] When the MAC layer processing module retrieves the sixth data from the target cache, it is specifically used to: retrieve the sixth data from the target cache according to the fourth cache address.

[0037] In one possible design, the PHY layer processing module includes a PHY layer modulation and demodulation module and a PHY layer encoding and decoding module;

[0038] The PHY layer modulation and demodulation module is used to: put the fifth data into the target cache according to the third cache address;

[0039] The PHY layer encoding / decoding module is used to: retrieve the fifth data from the target cache according to the third cache address, decode the fifth data to obtain the sixth data, and put the sixth data into the target cache according to the fourth cache address.

[0040] The PHY layer processing module in the data processing device provided in this application embodiment can determine the configuration information corresponding to the fifth data. The PHY layer processing module does not need to strictly encode or decode the data according to the data timing. Instead, it only needs to obtain the data from the target cache according to the configuration information and put the encoded data into the target cache according to the configuration information, thus flexibly realizing physical layer out-of-order decoding.

[0041] In one possible design, when the MAC layer processing module performs the second data processing on the sixth data, it is specifically used to: perform data splicing and format conversion processing on the sixth data.

[0042] Unlike existing technologies where the PHY layer processing module performs code block concatenation and descrambling on the data, the data processing device provided in this application embodiment uses the MAC layer processing module to perform data concatenation and format conversion on the first data to obtain the sixth data. This allows the PHY layer processing module to directly put the decoded sixth data into the target cache without strictly following the data timing, enabling the PHY layer processing module to perform out-of-order decoding and improving the flexibility of data processing.

[0043] In one possible design, when the MAC layer processing module performs second data processing on the sixth data, it is specifically used to: obtain the data identifier of the sixth data, determine the timing of the sixth data according to the data identifier of the sixth data, and perform second data processing on the sixth data according to the timing of the sixth data.

[0044] The MAC layer processing module in the data processing device provided in this application performs second data processing on the sixth data according to the timing sequence, thereby restoring the data timing sequence and ensuring the accuracy of data processing.

[0045] In one possible design, the MAC layer processing module is also used to: send a cache release notification to the PHY layer processing module;

[0046] The PHY layer processing module is further configured to: receive a cache release notification sent by the MAC layer processing module, and update the remaining storage space of the target cache according to the storage space of the target cache to be released contained in the cache release notification.

[0047] The data processing apparatus provided in this application embodiment can maintain the remaining storage space of the target cache according to the cache release notification, so as to ensure that the remaining storage space of the target cache maintained by the PHY layer processing module is correct.

[0048] In one possible design, the PHY layer processing module is further configured to: send a notification message to the MAC layer processing module after the sixth data is placed into the target cache;

[0049] The MAC layer processing module is further configured to: receive notification information sent by the PHY layer processing module before retrieving the sixth data from the target cache.

[0050] In the data processing apparatus provided in this application embodiment, after the PHY layer processing module puts the sixth data obtained after decoding into the target buffer, it sends a notification message to the MAC layer processing module to notify the MAC layer processing module to continue to perform second data processing on the first stream data. Data transmission is realized through the interaction process between the PHY layer processing module and the MAC layer processing module.

[0051] Secondly, embodiments of this application provide a data processing method applied to an access point (AP). The method includes: receiving first data through a MAC layer; estimating a first data volume and a second data volume corresponding to the first data; wherein the first data volume is the data volume of the second data obtained after performing a first data processing on the first data, and the second data volume is the data volume after encoding the second data; when the remaining storage space of a target cache is greater than or equal to the storage space required to store the first data volume and the second data volume respectively, performing a first data processing on the first data to obtain the second data; placing the second data into the target cache through the MAC layer; retrieving the second data from the target cache through the PHY layer and encoding the second data to obtain third data; and modulating the third data through the PHY layer.

[0052] In one possible design, the method further includes: obtaining fourth data through the PHY layer and demodulating the fourth data to obtain fifth data; determining the third and fourth data quantities corresponding to the fifth data through the PHY layer, wherein the third data quantity is the data quantity of the fifth data, and the fourth data quantity is the data quantity after decoding the fifth data; decoding the fifth data to obtain sixth data when the remaining storage space of the target cache is greater than or equal to the storage space required to store the third data quantity and the fourth data quantity respectively; placing the sixth data into the target cache through the PHY layer; obtaining the sixth data from the target cache through the MAC layer and performing second data processing on the sixth data.

[0053] In one possible design, before placing the second data into the target cache through the MAC layer, configuration information corresponding to the second data is determined based on the first data volume, the second data volume, and the remaining storage space of the target cache. The configuration information includes a first cache address and a second cache address. The first cache address is the address corresponding to the second data in the target cache, and the second cache address is the address corresponding to the third data obtained after encoding the second data in the target cache. The second data is then placed into the target cache through the MAC layer based on the first cache address.

[0054] In one possible design, the second data is retrieved from the target cache via the PHY layer based on the first cache address.

[0055] In one possible design, the second data is encoded by the PHY layer to obtain the third data, and the third data is placed into the target cache according to the second cache address; the third data is retrieved from the target cache by the PHY layer according to the second cache address, and the third data is modulated.

[0056] In one possible design, the first data is processed by the MAC layer for format conversion and data segmentation.

[0057] In one possible design, the data identifier of the third data is obtained through the PHY layer, the timing of the third data is determined based on the data identifier, and the third data is modulated according to the timing of the third data.

[0058] In one possible design, the remaining storage space of the target cache is updated via the MAC layer.

[0059] In one possible design, before decoding the fifth data through the PHY layer, configuration information corresponding to the fifth data is determined based on the third data volume, the fourth data volume, and the remaining storage space. The configuration information includes a third cache address and a fourth cache address. The third cache address is the address corresponding to the fifth data in the target cache, and the fourth cache address is the address corresponding to the sixth data obtained after decoding the fifth data in the target cache.

[0060] In one possible design, the sixth data is obtained from the target cache via the MAC layer based on the fourth cache address.

[0061] In one possible design, the PHY layer places the fifth data into the target cache according to the third cache address; the fifth data is retrieved from the target cache according to the third cache address, decoded to obtain the sixth data, and then placed into the target cache according to the fourth cache address.

[0062] In one possible design, the sixth data is processed by data splicing and format conversion through the MAC layer.

[0063] In one possible design, the data identifier of the sixth data is obtained through the MAC layer, the timing of the sixth data is determined based on the data identifier of the sixth data, and the sixth data is processed in the second data according to the timing of the sixth data.

[0064] In one possible design, the remaining storage space of the target cache is updated through the PHY layer.

[0065] Thirdly, embodiments of this application also provide a computer program that, when run on a computer, causes the computer to perform the method provided in the second aspect above.

[0066] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a computer, causes the computer to perform the method provided in the second aspect above.

[0067] Fifthly, embodiments of this application also provide a chip for reading a computer program stored in a memory and executing the method provided in the second aspect above.

[0068] Sixthly, embodiments of this application also provide a chip system including a processor for supporting a computer device in implementing the method provided in the second aspect above. In one possible design, the chip system further includes a memory for storing programs and data necessary for the computer device. The chip system may be composed of chips or may include chips and other discrete devices. Attached Figure Description

[0069] Figure 1 This is a schematic diagram of an OSI seven-layer framework;

[0070] Figure 2 This application provides a system schematic diagram of a WLAN deployment scenario.

[0071] Figure 3 This is a schematic diagram of the data processing process of the MAC layer and PHY layer in a downlink AP in a WLAN system.

[0072] Figure 4 This is a schematic diagram of the data processing process of the MAC layer and PHY layer in the uplink AP of a WLAN system.

[0073] Figure 5 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;

[0074] Figure 6 This application provides a schematic diagram of the data processing process of a data processing device when processing downlink data, as shown in an embodiment of the present application.

[0075] Figure 7 This application provides a schematic diagram of the data processing process of a data processing device when processing uplink data, as shown in an embodiment of the present application.

[0076] Figure 8 This application provides a schematic diagram of the structure of a data processing device involved in the downlink communication process of an AP in a WLAN system.

[0077] Figure 9 A flowchart illustrating a data processing method during downlink communication at an Access Point (AP) in a WLAN system, provided as an embodiment of this application;

[0078] Figure 10 This application provides a schematic diagram of the structure of a data processing device involved in the uplink communication process of an AP in a WLAN system.

[0079] Figure 11 This application provides a flowchart of a data processing method for uplink communication of an AP in a WLAN system. Detailed Implementation

[0080] To facilitate understanding of the embodiments of this application, the following terms related to the embodiments of this application are introduced:

[0081] 1) The Open Systems Interconnection Reference Model (OSI) was proposed by the International Organization for Standardization (ISO) in the early 1980s. The OSI reference model defines the hierarchical structure of open systems and the services provided by each layer. The OSI seven-layer protocol defines a framework of seven layers for computer network architecture. Figure 1 This is a schematic diagram of the seven layers of an OSI reference model. (See attached image) Figure 1 The seven layers in the OSI reference model, from bottom to top, are the physical layer, data link layer, network layer, transport layer, session layer, presentation layer, and application layer.

[0082] The WLAN framework primarily comprises the data link layer and physical layer (PHY) of the OSI reference model. The PHY layer is the lowest layer in the computer network architecture, and different physical layers correspond to different transmission media used in a computer network. The data link layer is the second layer of the computer network architecture. Its upper half is the Logical Link Control sublayer (LLC), responsible for correctly sending data to the physical layer. Its lower half is the Media Access Control (MAC) sublayer, responsible for controlling and connecting the physical media to the physical layer. Specifically, the WLAN framework can include a MAC layer and a PHY layer.

[0083] In a communication device, the function of each protocol layer is implemented through a corresponding protocol layer module. For example, the PHY layer processing module implements the functions of the PHY layer, and the MAC layer processing module implements the functions of the MAC layer. Optionally, the PHY layer processing module can be a PHY layer processing circuit, and the MAC layer processing module can be a MAC processing circuit. Different protocol layer processing modules can be located in different communication devices or in the same communication device. Unless otherwise specified, in the embodiments of this application, both the MAC layer processing module and the PHY layer processing module are processing modules in the AP.

[0084] 2) Cache (Buff) refers to a memory that can perform high-speed data exchange. It is used to store data transmitted between devices with different speeds or priorities. By storing data in the cache, the waiting time required for inter-process communication can be reduced.

[0085] In WLAN communication, the MAC layer processing module in the access point (AP) performs MAC layer framing on the received data and places the framed data into the MAC-PHY interaction buffer. The PHY layer processing module in the AP retrieves the data from the MAC-PHY interaction buffer and performs data format or length conversion on the retrieved data before encoding or decoding. The MAC-PHY interaction buffer temporarily stores the data processed by the MAC layer processing module.

[0086] Based on the MAC-PHY interactive cache, this application embodiment provides a target cache, which can be located in the PHY layer processing module in the AP and shared by multiple cells or multiple users. It is used to store data before and after encoding processing by the PHY layer processing module in the AP, as well as data before and after decoding processing by the PHY layer processing module in the AP.

[0087] This application embodiment can also pre-configure the upper limit of the target cache space occupied by different cells under different scenarios, thereby adapting to the service needs of different cells. For example, when the target cache is shared by cells A, B, and C, if cell A has higher service demand (e.g., cell A is a public place such as a school or shopping mall), while cells B and C have lower service demand, the upper limit of the target cache space that cell A can occupy can be pre-configured to be greater than the upper limit of the target cache space that any of cells B and C can occupy. For example, if the target cache space value is 100, the upper limit of the target cache space that cell A can occupy can be pre-configured to be 50, and the upper limit of the target cache space that cells B, C, and D can occupy can all be 25. Through this design, multiple cells can flexibly occupy the target cache without needing to reserve cache for each cell based on the maximum specification scenario of each cell, saving resources. At the same time, pre-configuring the upper limit of the target cache space that multiple cells can occupy according to different scenarios can effectively utilize the target cache, thereby improving the jitter resistance of the data processing method provided in this application embodiment.

[0088] The embodiments of this application can be applied to WLANs, which may include one or more Basic Service Sets (BSS). The network nodes in a BSS include Access Points (APs) and Stations (STAs). Each BSS may contain one AP and multiple STAs associated with that AP.

[0089] Figure 2 This is a system diagram illustrating a typical WLAN deployment scenario. Figure 2 The WLAN system shown includes one access point (AP) and three STAs (STA1, STA2, and STA3 in the figure). The AP and the three STAs constitute a Business Set Service (BSS). The AP communicates with STA1, STA2, and STA3 respectively, and communication between STAs is relayed through the AP. The AP and STAs are described below:

[0090] An AP, also known as an access point or hotspot, is an access point for mobile users to access a wired network. It is primarily deployed in homes, buildings, and campuses, with a typical coverage radius of tens to hundreds of meters. Of course, it can also be deployed outdoors. An AP can be a terminal device or network device equipped with a Wireless Fidelity (WiFi) chip.

[0091] STA can be a wireless communication chip, a wireless sensor, or a wireless communication terminal device. Examples include: mobile phones supporting WiFi communication, tablets supporting WiFi communication, set-top boxes supporting WiFi communication, smart TVs supporting WiFi communication, smart wearable devices supporting WiFi communication, in-vehicle communication devices supporting WiFi communication, and computers supporting WiFi communication.

[0092] Figure 2 The AP in the WLAN system shown may include a MAC processing module and / or a PHY layer processing module to implement the data processing and transmission processes of the MAC layer and / or PHY layer.

[0093] Figure 3 This diagram illustrates the data processing flow of the MAC and PHY layers in a downlink access point (AP) within a WLAN system. The MAC layer frames the received data and places the framed data into a MAC-PHY interaction buffer. The PHY layer retrieves data from the MAC-PHY buffer and performs code block (CB) segmentation and scrambling to obtain the data to be encoded. The PHY layer then calls an encoder to encode the data and places the encoded data into an interleaving mapping buffer. Finally, the PHY layer calls an interleaving mapping module to perform interleaving mapping on the data in the interleaving mapping buffer.

[0094] Figure 4 This diagram illustrates the data processing flow between the MAC and PHY layers in an uplink access point (AP) of a WLAN system. The PHY layer demodulates the received data to obtain data to be decoded. The PHY layer places this data into a decoding buffer and calls a decoder to perform the decoding process. After further processing the decoded data, including descrambling and CB concatenation, the PHY layer places the resulting data into a MAC-PHY interaction buffer. The MAC layer retrieves data from the MAC-PHY interaction buffer and then parses the retrieved data.

[0095] As described above regarding the downlink and uplink communication processes of AP devices in a WLAN system, in current WLAN communication, the data processing and transmission at the MAC and PHY layers of the AP are strictly time-sequential processes, requiring precise timing and relying heavily on the periodic startup of each module within the MAC and PHY layers. Therefore, when Figure 2When the AP shown supports multi-user or multi-cell communication, in order to enable the AP to process the data transmitted by multiple users or multiple cells in parallel, if the AP supports communication of multiple users within a single cell, the AP needs to reserve CB processing capacity and CB buffer for each user according to the maximum transmission rate of each user. Or when the AP supports communication of multiple cells, the AP needs to reserve CB processing capacity and CB buffer for each cell according to the maximum specification scenario of each cell. However, the situation where all cells or all users need to transmit data at the same time is rare, which will lead to a waste of buffer resources.

[0096] In summary, current WLAN multi-cell or multi-user communication places high demands on the AP's CB processing capabilities and CB buffering, which can easily lead to resource waste.

[0097] In view of the above problems, this application provides a data processing apparatus that can be applied to... Figure 2 The AP in the WLAN system shown Figure 5 This is a schematic diagram of a data processing device provided in an embodiment of this application. The data processing device includes a MAC layer processing module and a PHY layer processing module. The MAC layer processing module can be a MAC layer processing circuit, used to implement the MAC layer processing function in the AP. The PHY layer processing module can be a PHY layer processing circuit, used to implement the PHY layer processing function in the AP.

[0098] Optionally, the data processing device may further include a target cache, which may be a cache in the MAC layer processing circuit or the PHY layer processing circuit of the data processing device, or it may be an independent cache in the data processing device. Figure 5 The example shown is the target cache in the PHY layer processing circuit.

[0099] The data processing device provided in this application embodiment can perform downlink data processing and uplink data processing in a WLAN system. The functions of the data processing device during downlink and uplink communication in a WLAN system are described below:

[0100] I. Functions of the data processing device during downlink data processing in a WLAN system.

[0101] refer to Figure 5The illustrated embodiment of this application provides a data processing apparatus, wherein the MAC layer processing module is configured to: receive first data, estimate a first data volume and a second data volume corresponding to the first data; wherein the first data volume is the data volume of the second data obtained after performing first data processing on the first data, and the second data volume is the data volume after encoding the second data; when the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume and the second data volume respectively, perform first data processing on the first data to obtain the second data; and put the second data into the target cache.

[0102] The PHY layer processing module is used to: obtain the second data from the target cache, encode the second data to obtain the third data, and modulate the third data.

[0103] In one optional implementation, the MAC layer processing module includes a MAC layer data reading module, which is used to receive first data. The first data can be data received by the MAC layer entity from the wired side, wherein the wired side is used to establish a connection between the AP and the network.

[0104] In one optional implementation, the MAC layer processing module further includes a MAC layer scheduling module. After the MAC layer data reading module receives the first data, the MAC layer scheduling module estimates the first data volume and the second data volume corresponding to the first data. The first data volume is the volume of the second data obtained after the MAC layer processing module performs first data processing on the first data, and the second data volume is the volume of the second data after the PHY layer processing module performs encoding processing on the second data. The first data processing can be format conversion processing and data segmentation processing performed by the MAC layer processing module on the data.

[0105] The MAC layer scheduling module is specifically used to: determine the amount of second data based on the amount of first data and the rules governing the first data processing, and then use the determined amount of second data as the amount of first data. For example, if the first data processing involves format conversion and data segmentation, the MAC layer scheduling module can determine the amount of second data obtained after performing format conversion and data segmentation on the first data according to the format conversion rules and data segmentation rules. The MAC layer scheduling module can also determine the amount of second data corresponding to the first data based on the amount of second data and the PHY layer encoding rules.

[0106] It is understandable that the MAC layer scheduling module does not perform first data processing on the first data, and the PHY layer processing module does not encode the second data. Instead, the MAC layer processing module estimates the amount of the first data based on the rules for processing the first data, and estimates the amount of the second data based on the encoding rules of the PHY layer.

[0107] In one optional implementation, the MAC layer scheduling module is specifically configured to: trigger a first data processing procedure for the first data when the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume and the second data volume, respectively. If the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume and the second data volume, it indicates that the remaining storage space of the target cache can be used to store the second and third data, and the MAC layer scheduling module can then continue to schedule and execute the data processing steps. Through this method, the MAC layer scheduling module will only schedule the data processing procedure after determining that the first data can be processed, thereby flexibly utilizing the target cache to achieve data processing without reserving cache or data processing capacity for each user or each cell, reducing cache overhead.

[0108] It should be noted that when the remaining storage space of the target cache is less than the storage space required for the first data volume or the second data volume, the MAC layer scheduling module will pause the data processing flow for the first data. After the remaining storage space of the target cache is updated, it will again determine whether the remaining storage space of the target cache is greater than or equal to the storage space required for the first data volume or the second data volume. The process of processing the first data will be triggered when the remaining storage space of the target cache is greater than or equal to the storage space required for the first data volume or the second data volume.

[0109] In this embodiment, the MAC layer processing module may further include a MAC layer data processing module, which performs first data processing on the first data to obtain second data. Optionally, the first data processing may be format conversion processing and data segmentation processing. For example, the MAC layer data processing module may perform Physical Layer Service Data Unit (PSDU) encapsulation processing and scrambling processing on the first data, and then perform data segmentation to divide the scrambling data into second data of a preset length.

[0110] As can be seen, unlike the existing technology where the PHY layer performs code block segmentation and scrambling on the data, in the embodiments of this application, the MAC layer data processing module performs format conversion and data segmentation on the first data to obtain the second data. This allows the PHY layer processing module to directly obtain the second data from the target cache for encoding without strictly following the data timing. This enables the PHY layer to schedule data encoding out of order, improves the flexibility of data processing, and allows for flexible use of the target cache without reserving cache space for each cell or user, thus reducing cache overhead.

[0111] In an optional implementation, the MAC layer scheduling module is further configured to: determine configuration information corresponding to the second data based on the first data volume, the second data volume, and the remaining storage space. The configuration information includes a first cache address and a second cache address, where the first cache address is the address corresponding to the second data in the target cache, and the second cache address is the address corresponding to the third data obtained after encoding the second data in the target cache.

[0112] In practice, the MAC layer scheduling module can determine the first cache address based on the first data volume and the remaining storage space of the target cache, and the MAC layer scheduling module can determine the second cache address based on the second data volume and the remaining storage space of the target cache. For example, if the remaining storage space of the current target cache is 0-99, and the first data volume corresponding to the first data is 8, then the MAC layer scheduling module determines the first cache address as 0-7. If the remaining storage space of the current target cache is 0-99, and the second data volume corresponding to the first data is 16, then the MAC layer scheduling module determines the first cache address as 0-15.

[0113] In this embodiment, the MAC layer scheduling module is further configured to: place the second data obtained after processing by the MAC layer data processing module into the target cache. Specifically, the MAC layer scheduling module places the second data into the target cache according to the first cache address.

[0114] In an optional implementation, the MAC layer scheduling module is further configured to: send notification information and configuration information corresponding to the second data to the PHY layer processing module, wherein the notification information is used to notify the PHY layer processing module to encode the second data. Optionally, the configuration information corresponding to the second data may be included in the notification information. That is, the MAC layer scheduling module may send notification information to the PHY layer scheduling module, and the notification information includes the configuration information corresponding to the second data.

[0115] In this embodiment of the application, the PHY layer processing module further includes a PHY layer encoding and decoding module, which is used to: obtain second data from the target cache according to the first cache address, encode the second data to obtain third data, and put the third data into the target cache according to the second cache address.

[0116] Optionally, the encoding process can be low-density parity check (LDPC) or binary convolutional code (BCC).

[0117] It is understood that, in the embodiments of this application, when the PHY layer encoding and decoding module encodes the second data, it retrieves the second data from the target cache according to the first cache address in the configuration information corresponding to the second data, and puts the third data obtained after encoding into the target cache according to the second cache address. The PHY layer encoding and decoding module does not need to strictly encode the data according to the data timing, but only needs to retrieve the data from the target cache according to the configuration information, and put the data obtained after encoding into the target cache according to the configuration information, so as to flexibly realize the PHY layer out-of-order encoding or decoding.

[0118] In this embodiment of the application, the PHY layer processing module further includes a PHY layer modulation and demodulation module, which is used to: obtain third data from the target cache according to the second cache address, and perform modulation processing on the third data.

[0119] It should be noted that, to ensure the accuracy of the data obtained after modulation, the PHY layer modulation and demodulation module needs to perform order-preserving processing on the third data before modulation. In one optional implementation, after the PHY layer modulation and demodulation module retrieves the third data from the target cache according to the second cache address in the configuration information, it obtains the data identifier corresponding to the third data (e.g., the data identifier can be a code block number) and determines the timing of the third data based on the data identifier. The PHY layer modulation and demodulation module then modulates the third data according to the timing sequence, thereby restoring the data timing and ensuring the accuracy of the data processing.

[0120] In an optional implementation, the PHY layer modulation and demodulation module is further configured to: send a cache release notification to the MAC layer processing module, wherein the cache release notification is used to notify the MAC layer processing module that the storage space of the target cache corresponding to the cache release notification has been released.

[0121] The MAC layer processing module is also used to update the remaining storage space of the target cache based on the storage space of the target cache being released contained in the cache release notification.

[0122] Optionally, the cache release notification includes the storage space of the target cache to be released. After receiving the cache release notification, the MAC layer processing module updates the remaining storage space of the target cache according to the storage space of the target cache to be released. For example, before the MAC layer processing module receives the cache release notification, the remaining storage space of the target cache is 16-99, and the storage space of the target cache to be released is 8-15. Then the MAC layer processing module updates the remaining storage space of the target cache to 8-99 according to the storage space of the target cache to be released.

[0123] Figure 6This is a schematic diagram illustrating the data processing process of the data processing apparatus provided in this application embodiment when processing downlink data. (See attached diagram.) Figure 6 It can be seen that after receiving the first data, the MAC layer processing module estimates the corresponding first and second data volumes. If the remaining storage space in the target cache is greater than or equal to the storage space required to store the first and second data volumes respectively, it indicates that the remaining space in the target cache can be used to store the second data and the encoded data. The MAC layer processing module then puts the second data into the target cache, and the PHY layer processing module retrieves the second data from the target cache and encodes it. Thus, the MAC layer processing module only initiates the data processing flow after determining that the first data can be processed, thereby flexibly utilizing the target cache for data processing without needing to reserve cache or data processing capacity for each user or cell, reducing cache overhead. The PHY layer processing module can retrieve data from the target cache and encode it without strictly adhering to the data's temporal order, improving the flexibility of data processing.

[0124] II. Functions of the data processing device during uplink data processing in the WLAN system.

[0125] refer to Figure 5 The illustrated embodiment of this application provides a data processing apparatus, wherein the PHY layer processing module is used for:

[0126] Obtain the fourth data, demodulate the fourth data to obtain the fifth data; estimate the amount of the third data and the amount of the fourth data corresponding to the fifth data, where the amount of the third data is the amount of the fifth data, and the amount of the fourth data is the amount of the data after decoding the fifth data; when the remaining storage space of the target cache is greater than or equal to the storage space required to store the third data and the fourth data respectively, decode the fifth data to obtain the sixth data; put the sixth data into the target cache.

[0127] The MAC layer processing module is used to: retrieve the sixth data from the target cache and perform second data processing on the sixth data.

[0128] In one optional implementation, the PHY layer processing module includes a PHY layer modulation and demodulation module. The PHY layer modulation and demodulation module acquires fourth data and demodulates the fourth data to obtain fifth data. The fourth data can be data sent by the terminal device, such as when the data processing device is applied to... Figure 2 When the AP is in the WLAN system shown, the fourth data can be data sent by any of the STAs, STA1, STA2, or STA3.

[0129] In one optional implementation, the PHY layer processing module includes a PHY layer scheduling module. After the PHY layer modulation and demodulation module demodulates the fourth data to obtain the fifth data, the PHY layer scheduling module is used to estimate the third data volume and the fourth data volume corresponding to the fifth data, wherein the third data volume is the data volume of the fifth data, and the fourth data volume is the data volume after decoding the fifth data.

[0130] The PHY layer scheduling module is specifically used to determine the amount of data after decoding the fifth data based on the data volume of the fifth data and the PHY layer decoding rules.

[0131] Understandably, the PHY layer scheduling module did not decode the fifth data, but instead estimated the amount of the fourth data based on the amount of the fifth data and the decoding rules.

[0132] In one optional implementation, the PHY layer scheduling module is specifically used to: trigger the decoding process for the fifth data when the remaining storage space of the target cache is greater than or equal to the storage space required to store the third and fourth data amounts, respectively. That is, when the remaining storage space of the target cache is greater than or equal to the storage space required to store the third and fourth data amounts, it indicates that the remaining storage space of the target cache can be used to store the fifth data and the sixth data obtained after decoding the fifth data. In this case, the PHY layer scheduling module can continue to schedule and execute the decoding process, thereby flexibly utilizing the target cache for data processing without needing to reserve cache or data processing capacity for each user or cell, thus reducing cache overhead.

[0133] It should be noted that when the remaining storage space of the target cache is less than the storage space required for the third or fourth data volume, the PHY layer scheduling module will pause the data processing flow for the fifth data. After the remaining storage space of the target cache is updated, it will again determine whether the remaining storage space of the target cache is greater than or equal to the storage space required for the third or fourth data volume. The decoding process for the fifth data will be triggered when the remaining storage space of the target cache is greater than or equal to the storage space required for the third or fourth data volume.

[0134] In one optional embodiment of this application, the PHY layer scheduling module is further configured to determine the configuration information corresponding to the fifth data based on the third data volume, the fourth data volume, and the remaining storage space. The configuration information includes a third cache address and a fourth cache address. The third cache address is the address corresponding to the fifth data in the target cache, and the fourth cache address is the address corresponding to the sixth data obtained after decoding the fifth data in the target cache. The specific method by which the PHY layer scheduling module determines the configuration information corresponding to the fifth data can be referred to the method by which the MAC layer scheduling module determines the configuration information corresponding to the second data in the downlink communication MAC layer processing module of this application embodiment; repeated details will not be elaborated further.

[0135] Optionally, the PHY layer scheduling module is also used to: put the fifth data into the target cache according to the third cache address.

[0136] In an optional implementation, the PHY layer processing module may further include a PHY layer encoding / decoding module, which is used to: retrieve the fifth data from the target cache according to the third cache address, decode the fifth data to obtain the sixth data, and put the sixth data into the target cache according to the fourth cache address. Optionally, the decoding process may be low-density parity check (LDPC) / binary convolutional code (BCC) decoding process.

[0137] After the PHY layer encoding / decoding module places the sixth data into the target buffer, the PHY layer scheduling module is further configured to: send a notification message and the configuration information corresponding to the fifth data to the MAC layer processing module. The notification message is used to instruct the MAC layer processing module to perform second data processing on the sixth data. Optionally, the configuration information corresponding to the fifth data can be included in the notification message. In other words, the PHY layer scheduling module can send a notification message to the MAC layer scheduling module, and the notification message includes the configuration information corresponding to the fifth data.

[0138] In this embodiment, the MAC layer processing module may include a MAC layer data processing module. This module retrieves sixth data from the target cache based on the fourth cache address and performs second data processing on the sixth data. The second data processing may include data concatenation and format conversion. For example, the MAC layer data processing module may perform data concatenation on the sixth data and then perform descrambling and PSDU parsing on the data obtained after concatenation.

[0139] It should be noted that, to ensure the accuracy of the data obtained after the second data processing, the MAC layer data processing module needs to perform order-preserving processing on the sixth data before performing the second data processing. In one optional implementation, after the MAC layer data processing module retrieves the sixth data from the target cache according to the fourth cache address, it obtains the data identifier of the sixth data (such as a code block number) and determines the timing of the sixth data based on the data identifier. The MAC layer data processing module then performs the second data processing on the sixth data according to the timing, thereby restoring the data timing and ensuring the accuracy of the data processing.

[0140] In an optional implementation, the MAC layer processing module is further configured to: send a cache release notification to the PHY layer processing module, wherein the cache release notification is used to notify the PHY layer processing module that the storage space of the target cache corresponding to the cache release notification has been released.

[0141] The PHY layer processing module is also used to update the remaining storage space of the target cache based on the storage space of the target cache being released, as contained in the cache release notification.

[0142] The specific method by which the PHY layer processing module updates the remaining storage space of the target cache can be referred to the method by which the MAC layer processing module updates the remaining storage space of the target cache during downlink communication in the embodiments of this application. Repeated details will not be repeated.

[0143] Figure 7 This is a schematic diagram illustrating the data processing process of the data processing apparatus provided in this application embodiment when processing uplink data. (See attached diagram.) Figure 7 It can be seen that after the PHY layer obtains the fourth data, it modulates the fourth data to obtain the fifth data. It estimates the amounts of the third and fourth data corresponding to the fifth data. If the remaining storage space in the target cache is greater than or equal to the storage space required to store the third and fourth data respectively, it indicates that the remaining space in the target cache can be used to store the fifth data and the data after decoding the fifth data. The PHY layer processing module then decodes the fifth data and puts the resulting sixth data into the target cache. The MAC layer processing module retrieves the sixth data from the target cache and performs the second data processing on it. Therefore, the PHY layer processing module only initiates the data processing flow after determining that the fifth data can be processed, thus flexibly utilizing the target cache for data processing without needing to reserve cache or data processing capacity for each user or cell, reducing cache overhead.

[0144] The data processing device provided in this application embodiment is used in... Figure 2When the AP is used in the WLAN system shown, the MAC layer processing module may include at least one sub-module, such as a MAC layer scheduling module and a MAC layer data processing module. The PHY layer processing module may also include at least one sub-module, such as a PHY layer scheduling module, a PHY layer encoding / decoding module, or a PHY layer modulation / demodulation module. This application does not limit the MAC layer processing module and the PHY layer processing module.

[0145] Optionally, during uplink and downlink data processing in a WLAN system, the MAC layer processing module can implement its functions in both processes using the same or different sub-modules. Similarly, the PHY layer processing module can also implement its functions in both processes using the same or different sub-modules. The following describes the sub-modules that may be involved in the uplink and downlink data processing of a WLAN system and their functions:

[0146] I. Sub-modules that may be involved in downlink data processing in a WLAN system and their functions.

[0147] Figure 8 This is a schematic diagram of the data processing device involved in the downlink communication process of the AP in the WLAN system provided in this application embodiment. The data processing device includes a MAC layer processing module and a PHY layer processing module. The MAC layer processing module includes a MAC layer data reading module, a MAC layer target cache maintenance module, a MAC layer scheduling module, and a MAC layer downlink data processing module. The PHY layer processing module includes a target cache, a PHY layer encoder module, and a PHY layer modulation module.

[0148] The functions of each module will be further introduced below:

[0149] The MAC layer data reading module is used to obtain data from the wired side.

[0150] The MAC layer target cache maintenance module is used to maintain the remaining storage space of the target cache to assist the MAC layer scheduling module in determining whether data processing can proceed. The MAC layer target cache maintenance module can update the remaining storage space of the target cache based on the data processing instructions scheduled by the MAC layer scheduling module or the cache release notification sent by the PHY layer entity. When the AP is used to support multi-cell WLAN communication, the MAC layer processing module may include at least one MAC layer target cache maintenance module, with each module corresponding to one cell.

[0151] The MAC layer scheduling module is used to determine whether data processing can proceed based on the remaining storage space of the target cache maintained by the MAC layer target cache maintenance module and the amount of data to be encoded. It then flexibly schedules the downlink data processing flow based on the remaining storage space of the target cache. When the AP is used to support multi-cell WLAN communication, the MAC layer processing module may include at least one MAC layer scheduling module, with each MAC layer scheduling module corresponding to one cell.

[0152] The MAC layer downlink data processing module is used to process the data received by the MAC layer. Specifically, this can include data format conversion and data segmentation. Format conversion can include encapsulation, scrambling, etc. When the AP is used to support multi-cell WLAN communication, the MAC layer downlink data processing module can be shared by multiple cells. For example, the MAC layer entity may include at least one MAC layer downlink data processing module, and each MAC layer downlink data processing module 304 corresponds to at least one cell.

[0153] The target buffer stores data before and after encoding processing by the PHY layer processing module. When the AP supports multi-cell WLAN communication, the target buffer can be shared by multiple cells. For example, the PHY layer processing module may include at least one target buffer, with each target buffer storing downlink data from at least one cell. It should be noted that when designing the target buffer, the maximum data volume after encoding or decoding must be determined based on preset encoding and decoding rules, ensuring that the target buffer's space can be used to store at least one of the maximum data volumes.

[0154] The PHY layer encoder module is used to encode the data stored in the target buffer. Optionally, the PHY layer encoder module can be implemented using an encoder resource pool. The PHY layer encoder module can perform encoding processing according to at least one encoding rule. For example, if the PHY layer encoder module is a Low Density Parity Check (LDPC) / Binary Convolutional Code (BCC) encoder, then the PHY layer encoder module can perform both LDPC encoding and BCC encoding on the data. When the AP is used to support multi-cell WLAN communication, the PHY layer encoder module can also be shared by multiple cells. For example, the PHY layer processing module includes at least one PHY layer encoder module, and each PHY layer encoder module is used to encode data corresponding to at least one cell.

[0155] The PHY layer modulation module is used to modulate the encoded data.

[0156] based on Figure 8 The data processing device shown Figure 9 This application provides a flowchart of a data processing method for downlink communication of an AP in a WLAN system, which includes the following steps:

[0157] S901: The MAC layer data reading module receives the first data.

[0158] Optionally, the first data received by the MAC layer data reading module can be downlink data received from the wired side.

[0159] S902: The MAC layer scheduling module obtains the remaining storage space of the target cache maintained by the MAC layer target cache maintenance module.

[0160] In one optional implementation, the MAC layer target cache maintenance module can send the remaining storage space of the target cache to the MAC layer scheduling module.

[0161] S903: The MAC layer scheduling module estimates the first data volume and the second data volume corresponding to the first data.

[0162] Wherein, the first data volume is the data volume of the second data obtained after performing the first data processing on the first data, and the second data volume is the data volume after encoding the second data. The first data processing can be MAC layer downlink data processing.

[0163] In one optional implementation, the MAC layer scheduling module calculates the first data volume corresponding to the first data according to the MAC layer downlink data processing rules. For example, if the MAC layer downlink data processing involves format conversion and segmentation of the first data, then the first data volume corresponding to the first data is determined based on the data volume of the first data and the format conversion and segmentation rules. The MAC layer scheduling module determines the data volume of the third data obtained after encoding the second data according to the PHY layer encoding rules, and uses the data volume of the third data as the second data volume corresponding to the first data.

[0164] It is understandable that S903 does not perform MAC layer downlink data processing on the first data. Instead, it calculates the first data volume and the second data volume corresponding to the first data based on the data volume of the first data, the MAC layer downlink data processing rules, and the PHY layer encoding rules.

[0165] S904: The MAC layer scheduling module determines whether it can process the first data based on the first data volume, the second data volume, and the remaining storage space of the target cache.

[0166] When the MAC layer scheduling module determines that the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume and the second data volume, respectively, it determines that data processing of the first data is possible. Specifically, if the MAC layer scheduling module determines that the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume, it means that the remaining storage space of the target cache can be used to store the second data, and the MAC layer can put the second data into the target cache for encoding processing by the PHY layer. If the MAC layer scheduling module determines that the remaining storage space of the target cache is greater than or equal to the storage space required to store the second data volume, it means that the remaining storage space of the target cache can be used to store the third data obtained after encoding the second data, and the PHY layer can encode the second data and put the encoded third data into the target cache.

[0167] Using this method, the MAC layer scheduling module can determine whether the remaining storage space of the target cache is sufficient to store the second and third data. Then, when the remaining storage space of the target cache is sufficient to store the second and third data, the downlink data processing process will be started. This allows data corresponding to different cells or users to flexibly occupy the target cache without having to reserve a large enough cache space for each cell or user, thus saving overhead.

[0168] S905: The MAC layer scheduling module determines the configuration information corresponding to the second data.

[0169] Optionally, the configuration information includes the first cache address and the second cache address corresponding to the second data. The first cache address is the address of the second data in the target cache, and the second cache address is the address of the third data obtained after encoding the second data in the target cache.

[0170] In one optional implementation, the MAC layer scheduling module determines the configuration information corresponding to the second data based on the first data volume corresponding to the second data, the second data volume, and the remaining storage space of the target cache. Specifically, the MAC layer scheduling module determines the first cache address based on the first data volume corresponding to the second data and the remaining storage space of the target cache, and the MAC layer scheduling module determines the second cache address based on the second data volume corresponding to the second data and the remaining storage space of the target cache.

[0171] S906: The MAC layer scheduling module sends the first data to the MAC layer downlink data processing module.

[0172] S907: The MAC layer downlink data processing module performs format conversion and data segmentation on the first data to obtain the second data.

[0173] In one optional implementation, the MAC layer downlink data processing module performs physical layer service data unit (PSDU) encapsulation and scrambling on the first data, and then performs data segmentation, dividing the scrambling data into second data of a preset length.

[0174] S908: The MAC layer downlink data processing module puts the second data into the target cache according to the first cache address in the configuration information.

[0175] S909: The MAC layer downlink data processing module sends a notification message to the PHY layer encoder module, which includes the configuration information corresponding to the second data.

[0176] S910: The PHY layer encoder module retrieves the second data from the target cache based on the first cache address in the configuration information corresponding to the second data.

[0177] S911: The PHY layer encoder module encodes the second data to obtain the third data.

[0178] S912: The PHY layer encoder module puts the third data into the target cache according to the second cache address in the configuration information corresponding to the second data.

[0179] S913: The PHY layer modulation module retrieves the third data from the target cache based on the second cache address in the configuration information corresponding to the second data.

[0180] S914: The PHY layer modulation module obtains the data identifier of the third data, determines the timing of the third data, and modulates the third data according to the timing.

[0181] S915: The PHY layer modulation module sends a cache release notification to the MAC layer target cache maintenance module.

[0182] S916: The MAC layer target cache maintenance module updates the remaining storage space of the target cache based on the storage space of the released target cache contained in the cache release notification.

[0183] II. Sub-modules that may be involved in the uplink data processing of the WLAN system and their functions.

[0184] Figure 10This is a schematic diagram of the data processing device involved in the uplink communication process of the AP in the WLAN system provided in this application embodiment. The data processing device includes a PHY layer processing module and a MAC layer processing module. The PHY layer processing module includes a PHY layer demodulation module, a PHY layer target cache maintenance module, a PHY layer scheduling module, a PHY layer decoder module, and a target cache. The MAC layer processing module includes a MAC layer uplink processing module and a MAC layer distribution module.

[0185] The functions of each module will be further introduced below:

[0186] The PHY layer demodulation module is used to demodulate the received data.

[0187] The PHY layer target cache maintenance module is used to maintain the remaining storage space of the target cache to assist the PHY layer scheduling module in determining whether data processing can proceed. The PHY layer target cache maintenance module can update the remaining storage space of the target cache based on the data processing instructions scheduled by the PHY layer scheduling module or the cache release notification sent by the MAC layer entity. When the AP is used to support multi-cell WLAN communication, the PHY layer processing module may include at least one PHY layer target cache maintenance module, with each module corresponding to one cell.

[0188] The PHY layer scheduling module is used to determine whether data processing can proceed based on the remaining storage space of the target cache maintained by the PHY layer target cache maintenance module and the amount of data to be decoded. It then flexibly schedules the uplink data processing flow based on the remaining storage space of the target cache. When the AP is used to support multi-cell WLAN communication, the PHY layer processing module may include at least one PHY layer scheduling module, with each PHY layer scheduling module corresponding to one cell.

[0189] The PHY layer decoder module is used to decode the data stored in the target buffer. Optionally, the PHY layer decoder module can be implemented using an encoder resource pool. The PHY layer decoder module can perform encoding processing according to at least one encoding rule. For example, if the PHY layer decoder module is a Low Density Parity Check (LDPC) / Binary Convolutional Code (BCC) decoder, then the PHY layer decoder module can perform both LDPC and BCC decoding on the data. When the AP is used to support multi-cell WLAN communication, the PHY layer decoder module can also be shared by multiple cells. For example, the PHY layer processing module includes at least one PHY layer decoder module, and each PHY layer decoder module is used to decode the data corresponding to at least one cell.

[0190] The target buffer stores data before and after the PHY layer entity decoding process. When the AP supports multi-cell WLAN communication, the target buffer can be shared by multiple cells. For example, the PHY layer processing module may include at least one target buffer, with each target buffer storing uplink data from at least one cell. It should be noted that when designing the target buffer, the maximum data volume after encoding or decoding must be determined based on preset encoding and decoding rules, ensuring that the target buffer's space can be used to store at least one of the maximum data volumes.

[0191] The MAC layer uplink data processing module is used to process the data obtained from the target cache. Specifically, this includes data concatenation and format conversion, such as descrambling and parsing. When the AP is used to support multi-cell WLAN communication, the MAC layer uplink data processing module can be shared by multiple cells. For example, the MAC layer processing module may include at least one MAC layer uplink data processing module, with each module corresponding to at least one cell.

[0192] The MAC layer distribution module is used to distribute the data processed by the MAC layer uplink data processing module to the wired side.

[0193] based on Figure 10 The data processing device shown Figure 11 This application provides a flowchart of a data processing method for uplink communication of an Access Point (AP) in a WLAN system, which includes the following steps:

[0194] S1101: The PHY layer demodulation module demodulates the received fourth data to obtain the fifth data.

[0195] S1102: The PHY layer demodulation module sends the fifth data to the PHY layer scheduling module.

[0196] S1103: The PHY layer scheduling module obtains the remaining storage space of the target cache maintained by the PHY layer target cache maintenance module.

[0197] S1104: The PHY layer scheduling module estimates the amount of the third and fourth data corresponding to the fifth data.

[0198] In one optional implementation, the PHY layer scheduling module determines the data volume of the fifth data as the third data volume. The PHY layer scheduling module determines the data volume of the sixth data obtained after decoding the fifth data according to the PHY layer decoding rules, and uses the data volume of the sixth data as the second data volume corresponding to the fifth data.

[0199] It is understandable that S1104 does not perform decoding on the fifth data, but instead calculates the third and fourth data corresponding to the fifth data based on the data volume of the fifth data and the PHY layer decoding rules.

[0200] S1105: The PHY layer scheduling module determines whether it can process the fifth data based on the amount of the third and fourth data corresponding to the fifth data and the remaining storage space of the target cache.

[0201] When the PHY layer scheduling module determines that the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume and the second data volume respectively, it determines that data processing of the fifth data volume is possible. Specifically, if the PHY layer scheduling module determines that the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data volume, it means that the remaining space of the target cache can be used to store the fifth data volume, and the PHY layer processing module can decode the fifth data volume. If the PHY layer scheduling module determines that the remaining storage space of the target cache is greater than or equal to the storage space required to store the second data volume, it means that the remaining space of the target cache can be used to store the first stream data obtained after decoding the fifth data volume, and the PHY layer processing module can decode the fifth data volume and put the sixth data volume obtained after decoding into the target cache.

[0202] Using this method, the PHY layer scheduling module can determine whether the remaining storage space of the target cache is sufficient to store the fifth and sixth data. When the remaining space of the target cache is sufficient to store the fifth and sixth data, the uplink data processing process will be started. This allows data corresponding to different cells or users to flexibly occupy the target cache without having to reserve a large enough cache space for each cell or user, thus saving overhead.

[0203] S1106: The PHY layer scheduling module determines the configuration information corresponding to the fifth data.

[0204] Optionally, the configuration information includes the third cache address and the fourth cache address corresponding to the fifth data. The third cache address is the address of the fifth data in the target cache, and the fourth cache address is the address of the sixth data obtained after decoding the fifth data in the target cache.

[0205] In one optional implementation, the PHY layer scheduling module determines the configuration information corresponding to the fifth data based on the third data volume, the fourth data volume, and the remaining storage space of the target cache. Specifically, the PHY layer scheduling module determines the third cache address based on the third data volume and the remaining storage space of the target cache, and the PHY layer scheduling module determines the fourth cache address based on the fourth data volume and the remaining storage space of the target cache.

[0206] S1107: The PHY layer scheduling module puts the fifth data into the target cache according to the third cache address.

[0207] S1108: The PHY layer decoder module retrieves the fifth data from the target cache based on the third cache address.

[0208] S1109: The PHY layer decoder module decodes the fifth data to obtain the sixth data.

[0209] Optionally, the PHY layer decoder module can perform LDPC / BCC decoding on the fifth data.

[0210] S1110: The PHY layer decoder module puts the sixth data into the target cache according to the fourth cache address.

[0211] S1111: The PHY layer scheduling module sends a notification message to the MAC layer uplink data processing module. The notification message includes the configuration information corresponding to the fifth data.

[0212] S1112: The MAC layer uplink data processing module retrieves the sixth data from the target cache based on the fourth cache address.

[0213] S1113: The MAC layer uplink data processing module obtains the data identifier of the sixth data, determines the timing of the sixth data, and performs data splicing and format conversion processing on the sixth data according to the timing to obtain the seventh data.

[0214] In one optional implementation, the MAC layer uplink data processing module performs data concatenation on the sixth data, and then performs descrambling and PSDU parsing on the concatenated data to obtain the seventh data.

[0215] S1114: The MAC layer uplink data processing module sends the seventh data to the MAC layer distribution module.

[0216] S1115: The MAC layer distribution module distributes the seventh data to the wired side.

[0217] S1116: The MAC layer uplink data processing module sends a cache release notification to the PHY layer target cache maintenance module.

[0218] S1117: The PHY layer target cache maintenance module updates the remaining storage space of the target cache based on the storage space of the released target cache contained in the cache release notification.

[0219] Based on the above embodiments, this application also provides a computer program that, when run on a computer, causes the computer to perform... Figure 9 or Figure 11The data processing method provided in the illustrated embodiment.

[0220] Based on the above embodiments, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a computer, causes the computer to perform... Figure 9 or Figure 11 The illustrated embodiment provides a data processing method. The storage medium can be any available medium accessible to a computer. For example, but not limited to, a computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code having an instruction or data structure form and accessible to a computer.

[0221] Based on the above embodiments, this application also provides a chip, which is used to read a computer program stored in a memory and implement... Figure 9 or Figure 11 The data processing method provided in the illustrated embodiment.

[0222] Based on the above embodiments, this application provides a chip system including a processor for supporting computer devices to implement... Figure 9 or Figure 11 The illustrated embodiment demonstrates the function of the data processing device. In one possible design, the chip system further includes a memory for storing necessary programs and data for the computer device. The chip system may consist of chips or may include chips and other discrete components.

[0223] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0224] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0225] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0226] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0227] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the scope of protection of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A data processing device applied to an access point (AP), characterized in that, include: MAC layer processing module, PHY layer processing module; The MAC layer processing module is used for: Receive first data, estimate the first data volume and the second data volume corresponding to the first data, wherein the first data volume is the data volume of the second data obtained after processing the first data, and the second data volume is the data volume after encoding the second data; When the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data amount and the second data amount respectively, the first data is processed to obtain the second data. Place the second data into the target cache; The PHY layer processing module is used to: obtain the second data from the target cache, encode the second data to obtain the third data, and modulate the third data.

2. The data processing apparatus as described in claim 1, characterized in that, The PHY layer processing module is also used for: Obtain the fourth data, demodulate the fourth data, and obtain the fifth data; Estimate the third and fourth data quantities corresponding to the fifth data, wherein the third data quantity is the data quantity of the fifth data, and the fourth data quantity is the data quantity after decoding the fifth data; When the remaining storage space of the target cache is greater than or equal to the storage space required to store the third data amount and the fourth data amount respectively, the fifth data is decoded to obtain the sixth data. Place the sixth data into the target cache; The MAC layer processing module is further configured to: obtain the sixth data from the target cache and perform second data processing on the sixth data.

3. The data processing apparatus as described in claim 1 or 2, characterized in that, The data processing device further includes the target cache, which is used to store data.

4. The data processing apparatus as described in claim 1, characterized in that, The MAC layer processing module is also used for: Before placing the second data into the target cache, configuration information corresponding to the second data is determined based on the first data volume, the second data volume, and the remaining storage space of the target cache. The configuration information includes a first cache address and a second cache address. The first cache address is the address corresponding to the second data in the target cache, and the second cache address is the address corresponding to the third data obtained after encoding the second data in the target cache. Send the configuration information corresponding to the second data to the PHY layer processing module; When the MAC layer processing module puts the second data into the target cache, it specifically performs the following: puts the second data into the target cache according to the first cache address.

5. The data processing apparatus as described in claim 4, characterized in that, The PHY layer processing module is also used for: Before retrieving the second data from the target cache, the configuration information corresponding to the second data sent by the MAC layer processing module is received; When the PHY layer processing module retrieves the second data from the target cache, it is specifically used for: The second data is obtained from the target cache based on the first cache address.

6. The data processing apparatus as described in claim 4 or 5, characterized in that, The PHY layer processing module includes a PHY layer encoding / decoding module and a PHY layer modulation / demodulation module; The PHY layer encoding / decoding module is used for: The second data is encoded to obtain the third data, and the third data is placed into the target cache according to the second cache address; The PHY layer modulation and demodulation module is used for: The third data is obtained from the target cache according to the second cache address, and the third data is modulated.

7. The data processing apparatus according to any one of claims 1, 4, and 5, characterized in that, When the MAC layer processing module processes the first data, it is specifically used for: The first data undergoes format conversion and data segmentation.

8. The data processing apparatus according to any one of claims 1, 4, and 5, characterized in that, When the PHY layer processing module modulates the third data, it is specifically used for: Obtain the data identifier of the third data, determine the timing of the third data based on the data identifier of the third data, and perform modulation processing on the third data according to the timing of the third data.

9. The data processing apparatus according to any one of claims 1, 4, and 5, characterized in that, The PHY layer processing module is also used for: After modulating the third data, a buffer release notification is sent to the MAC layer processing module; The MAC layer processing module is also used for: Receive the cache release notification sent by the PHY layer processing module, and update the remaining storage space of the target cache according to the storage space of the target cache to be released contained in the cache release notification.

10. The data processing apparatus according to any one of claims 1, 4, and 5, characterized in that, The MAC layer processing module is also used for: After the second data is placed into the target cache, a notification message is sent to the PHY layer processing module; The PHY layer processing module is also used for: Before retrieving the second data from the target cache, a notification message is received from the MAC layer processing module.

11. The data processing apparatus as claimed in claim 2, characterized in that, The PHY layer processing module is also used for: Before decoding the fifth data, configuration information corresponding to the fifth data is determined based on the third data volume, the fourth data volume, and the remaining storage space. The configuration information includes a third cache address and a fourth cache address. The third cache address is the address corresponding to the fifth data in the target cache, and the fourth cache address is the address corresponding to the sixth data obtained after decoding the fifth data in the target cache. The configuration information corresponding to the fifth data is sent to the MAC layer processing module.

12. The data processing apparatus as claimed in claim 11, characterized in that, The MAC layer processing module is also used for: Receive configuration information corresponding to the fifth data sent by the PHY layer processing module; When the MAC layer processing module retrieves the sixth data from the target cache, it is specifically used for: The sixth data is obtained from the target cache according to the fourth cache address.

13. The data processing apparatus as described in claim 11 or 12, characterized in that, The PHY layer processing module includes a PHY layer modulation and demodulation module and a PHY layer encoding and decoding module; The PHY layer modulation and demodulation module is used for: The fifth data is placed into the target cache according to the third cache address; The PHY layer encoding / decoding module is used for: The fifth data is retrieved from the target cache according to the third cache address, the fifth data is decoded to obtain the sixth data, and the sixth data is placed into the target cache according to the fourth cache address.

14. The data processing apparatus according to any one of claims 2, 11, and 12, characterized in that, When the MAC layer processing module performs second data processing on the sixth data, it is specifically used for: The sixth data is then processed by data splicing and format conversion.

15. The data processing apparatus according to any one of claims 2, 11, and 12, characterized in that, When the MAC layer processing module performs second data processing on the sixth data, it is specifically used for: Obtain the data identifier of the sixth data, determine the timing of the sixth data based on the data identifier of the sixth data, and perform second data processing on the sixth data according to the timing of the sixth data.

16. The data processing apparatus according to any one of claims 2, 11, and 12, characterized in that, The MAC layer processing module is also used for: Send a cache release notification to the PHY layer processing module; The PHY layer processing module is also used for: The system receives a cache release notification from the MAC layer processing module and updates the remaining storage space of the target cache according to the storage space of the target cache to be released contained in the cache release notification.

17. The data processing apparatus according to any one of claims 2, 11, and 12, characterized in that, The PHY layer processing module is also used for: After the sixth data is placed into the target cache, a notification message is sent to the MAC layer processing module; The MAC layer processing module is also used for: Before retrieving the sixth data from the target cache, a notification message is received from the PHY layer processing module.

18. A data processing method applied to an access point (AP), characterized in that, The method includes: The first data is received through the MAC layer, and the first data volume and the second data volume corresponding to the first data are estimated; wherein, the first data volume is the data volume of the second data obtained after processing the first data, and the second data volume is the data volume after encoding the second data. When the remaining storage space of the target cache is greater than or equal to the storage space required to store the first data amount and the second data amount respectively, the first data is processed to obtain the second data. The second data is placed into the target cache through the MAC layer; The second data is obtained from the target cache through the PHY layer, and the second data is encoded to obtain the third data; The third data is modulated through the PHY layer.

19. The method as described in claim 18, characterized in that, The method further includes: The fourth data is obtained through the PHY layer, and the fourth data is demodulated to obtain the fifth data; The third and fourth data quantities corresponding to the fifth data are determined by the PHY layer, wherein the third data quantity is the data quantity of the fifth data, and the fourth data quantity is the data quantity after decoding the fifth data. When the remaining storage space of the target cache is greater than or equal to the storage space required to store the third data amount and the fourth data amount respectively, the fifth data is decoded to obtain the sixth data. The sixth data is placed into the target cache through the PHY layer; The sixth data is obtained from the target cache through the MAC layer, and the sixth data is subjected to the second data processing.

20. A computer-readable storage medium, characterized in that, Includes computer instructions that, when executed by a processor, cause the reader to perform the method as described in claim 18 or 19.