Forward error correction decoding process power reduction
By introducing conditional decoding window technology into the optical network unit, invalid codewords are selectively ignored, solving the problem of high power consumption in network equipment and achieving significant energy savings. This technology is applicable to passive optical networks and future 50G PON networks.
Patent Information
- Application Number
- CN202480017863.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-11
- Filing Date
- 2024-01-11
- Publication Date
- 2025-10-31
AI Technical Summary
Existing network equipment consumes a lot of power when performing forward error correction decoding, especially in passive optical networks, resulting in excessive energy consumption and making it difficult to meet the energy impact improvement requirements of network standards organizations.
The Conditional Decoding Window (CDW) technology is adopted to selectively ignore certain FEC codewords in the Optical Network Unit (ONU) and only decode the service codewords destined for that ONU. Components such as the Conditional Decoding Window generator, aligner, report creator, and transceiver are used to achieve selective processing of codewords.
It significantly reduces the power consumption of network devices, especially in passive optical networks, achieving a 98% power saving, which extends to a saving of 73W per 100 ONTs, and is suitable for efficient energy management in future 50G PON networks.
Smart Images

Figure CN120883545A_ABST
Abstract
Description
[0001] Priority application
[0002] This application claims priority to U.S. Patent Application Serial No. 18 / 095,644, filed January 11, 2023. Technical Field
[0003] The embodiments described herein generally relate to reduced network processing power consumption, and in some embodiments, more specifically to power savings in forward error correction. Background Technology
[0004] Low-density parity forward error correction (LDPC-FEC) can be used to determine network data error rates. LDPC-FEC encodes data, thus using processing power (e.g., electrical energy) to encode and decode it. In some instances, decoding can account for more than half of the processing workload and power consumption of network devices. Network standards bodies have sought to improve the energy impact of operating access networks. The global energy crisis has re-emphasized the need to achieve reduced energy consumption in networking hardware that functions as central office (CO) equipment and customer premises equipment (CPE). Attached Figure Description
[0005] In the accompanying drawings, which are not necessarily drawn to scale, the same numbers may describe similar parts in different views. The same numbers with different letter suffixes may represent different instances of similar parts. The accompanying drawings illustrate, by way of example and not limitation, the various embodiments discussed in this document.
[0006] Figure 1 Examples of the relationship between power consumption and throughput for a typical optical network unit (ONU) and for an ideal ONU are shown.
[0007] Figure 2 This is a block diagram illustrating an example of an environment and system with reduced forward error correction decoding processing power according to an embodiment.
[0008] Figure 3 A flowchart illustrating an example of a downstream service data unit (SDU) mapped to a physical layer (PHY) frame is shown.
[0009] Figure 4 An example of a conditional decoding window with a sixteen-word size for reduced forward error correction decoding processing power, according to an embodiment, is shown.
[0010] Figure 5 A first example and a second example of starting a CDW with reduced forward error correction decoding processing power according to an embodiment are shown.
[0011] Figure 6An example power utilization chart according to an embodiment is shown, which illustrates the power utilization at various service rates of a field-programmable gate array (FPGA) with and without power reduction for forward error correction decoding processing.
[0012] Figure 7 An example of a method for generating a conditional decoding window for reduced power in forward error correction decoding processing, according to an embodiment, is shown.
[0013] Figure 8 An example of a method for conditionally decoding codewords using a received conditional decoding window with reduced forward error correction decoding processing power, according to an embodiment, is shown.
[0014] Figure 9 This is a block diagram illustrating an example of a machine on which one or more embodiments may be implemented. Detailed Implementation
[0015] Figure 1 Examples of the relationship between power consumption and throughput for a typical optical network unit (ONU) 105 and for an ideal ONU 110 are shown. Figure 1 As shown, for a typical ONU 105, almost no power savings are achieved when traffic stops flowing. The ideal ONU 110 demonstrates minimal power consumption when there is no traffic. The system and techniques described in this paper measurably increase the slope of power consumption versus throughput for the typical ONU 105, approaching that of the ideal ONU 110.
[0016] The systems and techniques described in this paper modify the Passive Optical Network Transport Convergence (PON-TC) layer to achieve better power / service relevance. The ITU and IEEE PON-TC layer, exceeding 10 gigabits (Gbps) rates from the physical layer (PHY), uses more advanced forward error correction (FEC) coding gain to meet industry-accepted optical distribution network (ODN) link budgets. In the ITU (G.9804.2) high-speed PON standard, low-density parity-check (LDPC) codes have been adopted to replace the Reed-Solomon codes used in gigabit passive optical networks (GPON) and symmetric 10 gigabit passive optical networks (XGS-PON). LDPC FEC provides improved coding gain to offset the higher error rates resulting from pushing the laser / receiver to their theoretical limits.
[0017] The ONU implementing a 50Gb LDPC FEC decoder utilizes a significant amount of processing power. According to ASIC vendors, it is estimated that 60-70% of the PON TC layer power is due to the FEC decoder function—approximately 750mW in 5nm process technology. Soft-decision FEC can be used to meet some link budget, which can double the computational power because the FEC decoder operates not only on the recovered data but also on a probability vector describing the likelihood of sampling errors at the given location.
[0018] In a point-to-multipoint network, the Optical Network Terminal (ONT) receives and decodes all downstream services, filtering out a small subset of services destined for subscribers originating from the ONT. Considering the entire ODN—128 ONTs all decoding 50Gb of LDPC FEC—results in a set of ASICs jointly decoding (128 * 50Gbs = 6.4 Tb) of services—even if at most 50Gb is actually processed as user traffic. From a power consumption perspective, due to FEC decoding across the ODN, the power consumption is (750mW * 128 = 96W).
[0019] The system and technology described in this paper provide a standards-based technique that allows the ONU to decode only the FEC codeword containing the traffic destined for that ONU, allowing other codewords to be suspended. This translates to significant power savings across the ODN. This results in an estimated 98% power saving across the ODN, which scales to 73W per 100 ONTs. Considering a future 50G PON lifetime scale of 100M endpoints, this scales to a considerable amount, resulting in power savings of up to 73MW.
[0020] Figure 2 This is a block diagram of an example environment 200 and system 220 for reduced power in forward error correction decoding processing according to an embodiment. Example environment 200 includes optical line terminals (OLTs) 205 connected to optical network units (ONUs) 215A, 215B, and 215N via optical links 210A, 210B, and 210N. OLT 205 and ONUs 215A, 215B, and 215N may include system 220. In this example, system 220 is a conditional decoding engine. Example system 220 includes a codeword detector 225, a conditional decoding window (CDW) generator 230, a CDW aligner 235, a report creator 240, a CDW reader 245, a correlation calculator 250, and a transceiver 255.
[0021] ITU-based PON transmission encapsulates user services within a structure called the 10-gigabit PON Encapsulation Method (XGEM). XGEM encapsulation allows services to be segmented and separated. The XGEM header contains the frame size, enabling the receiver to delimit incoming traffic and filter out segments intended only for that receiver. XGEM segments have variable sizes, allowing the receiver to continuously track and verify the position of the next header—a technique referred to herein as XGEM delimiting.
[0022] Figure 3 A flowchart 300 illustrates an example of a downstream Service Data Unit (SDU) 305 mapped to a Physical Layer (PHY) frame 310. The PON TC layer begins with a service adaptation of the Service Data Unit (SDU) 305 (e.g., user data) to a series of XGEM encapsulated fragments 315. These are mapped to a Framing Sublayer (FS) payload 320, which, together with an FS header 325, represents an FS frame 330 carrying the service to the ONU. The FS frame is divided into a series of FEC codewords 335, consisting of a data portion 340 and a parity portion 345 computed by the FEC encoder. The FEC decoder uses the parity 345 to correct any bits transmitted with errors in the codewords 335 up to an error rate of approximately 1E-2 bits. The FEC codewords 335 are then scrambled / interleaved 350 and transmitted every 125 μs along with a Physical Synchronization Block (PSBd) 355 recovered by the ONU to maintain downlink synchronization.
[0023] Return to Figure 2 The description states that XGEM delimiting loss occurs when an ONU (e.g., ONU 215A, 215B, 215N, etc.) receives data at an error rate higher than that that the FEC decoder can correct. If the ONU decides not to decode some of the codewords, this is also expected to result in XGEM delimiting loss. The XGEM state machine sees a certain number of valid XGEM headers in the line before declaring an XGEM lock, making it possible to expect data loss for several packets even when the appropriate error rate has been recovered.
[0024] To enable the ONU to selectively ignore certain codewords, two factors were considered: (1) the concept of a conditional decoding window with guaranteed XGEM delimitation at the beginning, and (2) the method of communicating to the ONU which XGEM headers are applied to the conditional decoding window.
[0025] The examples used in this document relate to use in 50G-PON (ITU standard G.9804.3). However, System 220 can similarly operate in a variety of networks using forward error correction, such as, by way of example and not limitation, other PON systems, wireless networks, Ethernet networks, and other networks using LDPC-FEC or other forms of forward error correction. For example, systems utilizing block-FEC (instead of packet-based) are applicable, including 25GS-PON, 802.3ca 25G EPON, 10 Gigabit-enabled PON (XGPON), 10 Gigabit-enabled symmetric PON (XGS-PON), and future ultra-high-speed PON (G.VHSP).
[0026] The new construct in the PON-TC layer is generated by CDW generator 230, called a Conditional Decoding Window (CDW), which includes a configurable number of FEC codewords detected by codeword detector 225. The CDW represents a portion of the PON-TC that the ONU can choose to ignore. The CDW can contain the entire PON-TC frame (125 μs), or it can be broken down into many CDWs per frame. In the example, the configurable parameters for the CDW are set by the OLT and executed by the compliant ONT.
[0027] CDW Features
[0028] The new CDW is aligned with the start of the new FEC codeword. The OLT 205 aligns the XGEM delimiter with the start of the new CDW, ensuring that ONUs 215A, 215B, and 215N have immediate XGEM delimitation if the previous CDW has not been processed. The end of the CDW contains the complete segment up to the end, or an IDLE frame aligned with the end. The new CDW is aligned with the start of the PON-TC frame and contains a pointer to the start of the first conditional portion. The last CDW in the PON frame may have fewer codewords. Non-compliant ONUs observe valid XGEM framing and maintain XGEM delimitation throughout the PON-TC frame. ONUs 215A, 215B, and 215N decode the first codeword of the PON-TC frame to determine whether additional codewords should be decoded before the FS payload begins.
[0029] Codeword detector 225 identifies the first codeword in the network transmission. In this example, the network transmission is Passive Optical Network Transmission Convergence (PON-TC). CDW generator 230 generates a conditional decoding window starting with the first codeword. In this example, a codeword count can be determined for the conditional decoding window. Additional codewords can be added to the conditional decoding window until the codeword count is reached. In the network transmission, the additional codewords sequentially follow the first codeword. In this example, it can be determined that the additional codewords are insufficient to reach the codeword count, and idle frames can be added to the conditional decoding window to reach the codeword count.
[0030] CDW aligner 235 aligns the conditional decoding window with the frames transmitted over the network. In the example, CDW aligner 235 can delimit the frames to generate delimitation points, and the conditional decoding window is aligned with the delimitation points.
[0031] CDW Report Format
[0032] A CDW-aware ONU (e.g., ONU 215A, 215B, and 215N) can determine whether to ignore certain CDWs based on whether the services applied to it are being used. To make this decision, the OLT 205 sends a report conveying the content of the current CDW, referred to herein as a "CDW report." For example, a downlink CDW-report (CDWRd) can be sent to the ONU. The report content can be sent in several different ways, allowing the ONU to determine whether to process the CDW or safely ignore it and resume on the next CDW.
[0033] The low-precision CDW report format is the simplest and easiest to implement. This report can be sent as a single binary bit to each ONU, specifying whether the current CDW is associated with each ONU 215A, 215B, and 215N. The report can be encapsulated at the beginning of the CDW and can contain a total of one bit per ONU (128 bits) in addition to the XGEM header. The ONU makes decoding decisions based on each CDW. The ONU will not see which part of the CDW codeword carries data—it only knows that it is located somewhere and that the codeword should be decoded. The OLT is responsible for assembling the XGEM-to-ONU mapping for the entire CDW and encapsulating the mapping into a reserved XGEM frame.
[0034] This is considered a low-precision report because it only specifies the ONT to decode or ignores the entire CDW. If the window is large, the ONU may be decoding codewords that have no associated service. This method is suitable for low-power, no-service modes, but during high-service periods on many services, the entire PON may decode more codewords than necessary. Low-precision formatting offers a trade-off between complexity and efficiency.
[0035] The high-precision CDW report format can send a list of codewords within the applied CDW to each compliant ONU. Each codeword within the CDW can have binary decode / ignore flags for each ONU. High-precision formatting is the most efficient because the ONU knows exactly which codewords to process and which codewords to ignore within the CDW, but at the cost of higher complexity and overhead.
[0036] The variable-precision CDW report format can send high-precision report content only to those ONUs, which can be substantially beneficial and provide a balance between efficiency and overhead. Low-precision reports are sent, followed by a certain number of high-precision reports determined by the OLT 205 itself, with the aim of minimizing report size while maximizing codeword efficiency. ONUs with the smallest codewords to be processed in the CDW will receive high-precision reports, while ONUs with many codewords to be processed will rely on low-precision reports. The variable-size report format can send reports only to ONUs with active traffic flows.
[0037] Several examples of how to format codeword reports are provided; low precision, high precision, or variable precision (as a combination of two previous forms). In the examples, the codeword report can be one that utilizes lossless compression to reduce report overhead, regardless of the report's precision. Minimizing the report size reduces bandwidth utilization. The use of lossless compression provides a reduced report size, resulting in reduced bandwidth utilization. It should be understood that various techniques can be used to reduce report size while maintaining the integrity of the report data to reduce bandwidth utilization.
[0038] Variable formatting can be complex to create and its overhead can be uncertain—the more business flows there are, the more overhead there is.
[0039] The XGEM list CDW report format can send a discrete list of XGEM-IDs contained within the CDW. The advantage of the XGEM list format is that the OLT 205 sends the list and allows each ONU to determine whether the information within it is relevant to its conditional decoding decision.
[0040] Report creator 240 generates a report that includes an indication of the relevance of a conditional decoding window to network devices (e.g., ONUs 215A, 215B, and 215N). In one example, report creator 240 may create binary indicators of the relevance of the conditional decoding window to the network devices to include in the report. In another example, report creator 240 may generate a list of codewords to be included in the conditional decoding window and assign a binary indicator of the relevance of each codeword in the list to the network devices to include in the report. In yet another example, report generator 240 may determine that the network devices are experiencing increased traffic and may include the list of codewords and the binary indicator of the relevance of each codeword in the report before transmission to the network devices.
[0041] Example bandwidth utilization using CDWRd with various CDW formats can include: low precision, CDW size = 16, overhead = 35Mb (achieving both smaller and larger CDW sizes); high precision, CDW size = 16, overhead = 412Mb (each ONT receives a report per codeword, independent of CDW size); variable precision, CDW size = 16, overhead = 200Mb? (depending on the number of active streams). As mentioned above, reports can be containerized at various levels, and compression can be used to reduce the size of both the CDW and the report.
[0042] CDWRd transportation mechanism
[0043] CDW reports are sent using standards-based constructs, including, but not limited to, XGEM-based transmission, Physical Layer Operations Management and Maintenance (PLOAM)-based transmission, Internet Protocol-based transmission, and PON protocol transmission.
[0044] XGEM-based transmission: One option for sending CDW reports is to reserve an XGEM-ID dedicated to this function. XGEMs are suitable for high-bandwidth real-time protocols, such as the proposed CDN reports. At the beginning of the CDW, the first XGEM can contain the CDW report. Compliant ONUs 215A, 215B, and 215N that subscribe to this XGEM use this information to assemble a codeword mapping within the CDW, which can be safely ignored, resulting in temporary power savings. Non-compliant ONUs ignore this content because they are not subscribed to the XGEM service and will process all codewords normally.
[0045] PLOAM-based transmission: PLOAM messages are used to send information between the OLT 205 and ONUs 215A, 215B, and 215N. New PLOAM messages can be constructed that can carry CDW reports. PLOAM messages appear at the beginning of a PON frame, meaning that CDW can only be a frame that might be too large due to increased latency. Furthermore, PLOAM messages are typically processed by software procedures and are not suitable for high-bandwidth real-time information.
[0046] IP-based transmission: CDW is constructed at the PON-TC layer and can be used at this level for ITU-based PON transmission methods. Ethernet PON relies on the link-layer Ethernet protocol for real-time message passing. CDW reports can be sent by transmitting CDW reports within link-layer Ethernet frames.
[0047] PON-TC protocol transmission: New TC layer fields can be constructed to include downlink reports to the ONU, indicating which codewords are relevant and which can be ignored. This can leverage existing constructions, allowing the technology to be implemented without altering the mandatory standard. Future PON standards, still to be written, may include this construction inherent in the TC layer, which can be modified to accommodate CDW report transmission.
[0048] Transceiver 250 sends conditional decoding windows and reports to the network device. In the example, transceiver 250 can obtain an encapsulation identifier (XGEM-ID) with 10 Gigabit capability and can use the XGEM-ID to send reports. In the example, transceiver 250 can generate Physical Layer Operation Management and Maintenance (PLOAM) messages and can send reports within PLOAM. In the example, transceiver 250 can generate link-layer Ethernet frames and can send reports within link-layer Ethernet frames. In the example, transceiver 250 can generate Transport Convergence (TC) fields and can send reports within TC fields.
[0049] CDW size
[0050] ITU standard G.9804.3 uses LDPC (17280, 14592) to define FEC codewords. Each codeword is 2160 octets long, of which 336 octets are parity. There are 360 codewords, which comprise frames in a TC conforming to G.9804.3. To transmit the CDW mapping to the ONT, it is lookaheaded at the XGEM-ID in flight and sent sufficiently in advance so that the ONT can make its conditional decoding decisions. Lookaheading is another way of describing the buffer. To control the increased latency of this transmission buffer, the OLT may decide to utilize a smaller CDW (e.g., 8 codewords). Smaller CDWs may potentially incur greater overhead due to XGEM delimiting and the content being transmitted. In the example, the size can be configured from 1 codeword to a full 360 codeword frame. In the example, CDW generator 230 can determine the codeword count for the conditional decoding window, and transceiver 255 can send the codeword count to the network device.
[0051] Considerations for the start of PON-TC frames
[0052] Typically, the ONU only decodes the first codeword of the CDW to receive reports and determine the decoding requirements for the window. In the case of the first CDW in a PON-TC frame, other factors need to be considered. The beginning of a PON frame contains critical information such as the PLOAM message, uplink bandwidth mapping, and other framing information. ONU processing can span an FS header larger than a single codeword. Early in the frame is a description of the size of the PLOAM / Uplink Bandwidth Mapping (BW Mapping) partition, allowing a compliant ONU to determine how many initial codewords to process. This unique case applies to the first CDW in a PON-TC frame.
[0053] Reporting ONU's CDW characteristics capabilities
[0054] A new ONT Management Control Interface (OMCI) Management Message Block (MIB) element has been added, which allows the ONT to declare its capabilities regarding CDW. The Ethernet PON standard uses an alternative link-layer messaging protocol to declare capabilities.
[0055] CDW reports can be sent to ONUs without them needing to know their capabilities, as the protocol is backward compatible with standards. This compromises efficiency to simplify the OLT without requiring any changes to management / supply. Compliant OLTs send reports as a whole and rely on ONU compliance to support CDW compatibility, or ignore CDW reports in the case of non-compliant ONUs.
[0056] Backward compatibility and interoperability
[0057] If both the OLT and ONU are compliant, the compliant OLT will learn about the ONU's capabilities by uploading via MIB and send the CDW size and real-time CDW report via OMCI for the purpose of conditional FEC decoding.
[0058] If the OLT is compliant and the ONU is non-compliant, the ONU that does not report CDW capability will process FEC codewords normally and maintain XGEM delimitation normally. The compliant OLT will terminate XGEM frames, send an XGEM CDW report, and recover XGEM frames at the CDW / FEC codeword boundary. The non-compliant ONU will treat these observations as normal XGEM frames and ignore the CDW report port ID. Non-compliant ONUs can safely coexist with compliant ONUs because no changes are made to comply with the G.9804.3 specification at the TC layer.
[0059] If the OLT is non-compliant and the ONU is compliant, the non-compliant OLT ignores the ONU's capabilities and processes TC frames as usual. The ONU does not receive CDW reports and therefore does not disable decoding.
[0060] If neither the OLT nor the ONU is compliant, they shall operate using the standard TC operation as per G.9804.3.
[0061] Although the example involves a downstream ONU, the OLT has an FEC decoder. Since there is only one per PON, any savings provided by allowing the OLT to ignore codewords will be minimal. Conditional processing is not required because the mere existence of an ONU burst implies that it is carrying the service.
[0062] Transceiver 255 receives a conditional decoding window, which includes a first codeword identified by CDW reader 245. Correlation calculator 250 receives a report including codeword correlation bits for the first codeword. If correlation calculator 250 determines that the codeword correlation bits indicate the first codeword is uncorrelated, the first codeword is discarded without decoding. If correlation calculator 250 determines the codeword is correlated, the codeword is decoded.
[0063] In the example, the correlation calculator 250 can receive a codeword count for a conditional decoding window. The correlation calculator 250 can determine, based on the codeword count and the codeword correlation bit, that the set of codewords including the first codeword contained in the conditional decoding window is irrelevant, and can discard the conditional decoding window without decoding that set of codewords.
[0064] In the example, the correlation calculator 250 can subscribe to encapsulation identifiers (XGEM-IDs) with 10-gigabit capability published on the network. The correlation calculator 250 can receive reports based on the XGEM-IDs. The correlation calculator 250 can generate a mapping of sets of codewords in a conditional decoding window, using the reports to determine that a first subset of the codeword set is correlated, and using the reports to determine that a second subset of the codeword set is irrelevant. The correlation calculator 250 can decode the first subset of the codeword set and discard the second subset of the codeword set without decoding.
[0065] In the example, the correlation calculator 250 can receive Physical Layer Operation Management and Maintenance (PLOAM) messages and obtain reports from the PLOAM messages. In the example, the correlation calculator 250 can receive Link Layer Ethernet frames and obtain reports from the Link Layer Ethernet frames. In the example, the correlation calculator 250 can identify the Transport Convergence (TC) field in network transmissions and obtain reports from the TC field.
[0066] Figure 4An example of a sixteen-codeword-sized conditional decoding window 400 for power reduction in forward error correction decoding processing according to an embodiment is shown. The sixteen-codeword-sized conditional decoding window 400 results in 22 full windows and a shortened window at the end for alignment with the PON frame. Codewords 405, 410, 425, 440, and 455 are codewords processed by the ONU to receive CDW reports, and codewords 415, 420, 430, 435, 445, and 460 are conditional codewords. In this example, the ONU with minimal traffic (e.g., such as...) Figure 2 The ONU 215A, 215B, or 215N (described herein) will decode only 24 out of 360 codewords—saving 93% of computational power. A CDW size of 16 contains 34,560 octets, which is equivalent to approximately 5.5 microseconds of latency at a 50G PHY rate. Any latency less than 10 microseconds will not affect the highest service class. The larger the CDW size, the greater the latency savings the ONU can achieve. It should be understood that the CDW can be configured in various sizes to balance power reduction and latency.
[0067] Reduced-rate LDPC-FEC decoder
[0068] The ONU LDPC-FEC decoder itself has the capability to support conditional full PON PHY rates on a per-codeword basis to reduce power consumption. The system and techniques described in this paper enable the use of a reduced-rate FEC decoder in the ONU.
[0069] Consider an ONU with a 10G User Network Interface (UNI) and a 10G FEC decoder. Typically, the FEC decoder would be overwhelmed by the task of decoding 50G input codewords. With CDW enabled, the ONU can process codewords through a rate-matched buffer while still maintaining traffic flow to the UNI without interruption. The benefit is that the 10G decoder can use fewer logic / ASIC gates than the 50G decoder, potentially achieving cost savings by using a reduced-rate decoder in ONUs operating on compliant networks. OLTs supporting CDW for 10G ONUs use this technology appropriately and may not be compatible with non-compliant OLTs.
[0070] Factors to consider in bit error rate monitoring
[0071] The ONU report calculates the received bit error rate (BER) based on the presence of correctable / uncorrectable codewords. The pre-FEC bit error rate is essentially equal to the correctable bit / received bit ratio for a sufficient period to allow BER 1E-12 measurement. The post-FEC bit error rate is equal to the uncorrectable bit / received bit ratio for a sufficient period to allow BER 1E-12 measurement.
[0072] When an ONU selectively ignores codewords, the ignored codewords are excluded from any bit error rate (BER) measurements provided to the OLT. The OLT does not assume a denominator based on a time span because ONUs can ignore codewords. Instead, BER information is retrieved directly from each ONU.
[0073] Figure 5 A first example 505 and a second example 510 are shown for the start of a CDW with reduced forward error correction decoding power according to embodiments. The ONU supports XGEM segmentation, which typically occurs at frame boundaries. Using new XGEM groups, segments can be forced to appear outside the end of a frame. The CDW report XGEM frame serves two purposes. First, it provides a guaranteed delimiter at the start of the CDW, which the ONU can use if it has ignored codewords within the previous CDW. Second, the CDW report sends relevant information about the current CDW to the ONU to potentially reduce decoding.
[0074] A mandatory delimiter generates an XGEM segment. If a CDW report occurs between two segments in the process, the ONU adjusts the offset. In the example, the second part of a user segment in process can be sent, followed by the CDW report. This ensures that at any given time, no more than one segment stream remains unfinished downstream.
[0075] First example 505 illustrates the completion of an XGEM frame segmented 515 at the start of the first transmitted CDW, wherein CDW-report 520 is transmitted after the segmented XGEM frame 515. Second example 510 causes CDW-report 520 to be transmitted before the completion of the segmented XGEM frame 515. First example 505 can be handled more simply for an ONT.
[0076] Figure 6 An example of a power utilization chart 600 according to an embodiment is shown, illustrating power utilization at various service rates 305 for a field-programmable gate array (FPGA) with and without forward error correction decoding processing, resulting in reduced power consumption. A 50G LDPC FEC decoder 610 without CDW support is shown, demonstrating consistent power consumption at various service rates. A 50G LDPC FEC decoder 615 with CDW support is shown, demonstrating reduced power consumption at low service levels, where power consumption increases with service rate until reaching the consistent power consumption rate of the 50G LDPC FEC decoder 610 without CDW support at all service rates.
[0077] In addition to the power-saving capabilities of conditional decoding windows, it also allows for logic-saving capabilities. For example, the ONU can achieve just enough computing power to decode at a rate matching the UNI (User Network Interface). A 10G UNI would only require 10G of decoding capacity, significantly reducing the amount of programmable logic resources needed to implement functionality, thus saving both power and cost. This is especially important in FPGAs, which require significantly more silicon area per logic gate than ASICs.
[0078] The reduced-rate FEC decoder 620 solves the problem of implementing a PON media access controller (PON MAC) within an FPGA. The LDPC-FEC decoder consumes significant logic and power to be implemented within a programmable FPGA architecture. Figure 6 The example FPGA shows an estimate of the power savings. The power consumption is estimated using an FPGA power estimation tool.
[0079] Figure 6 The power savings shown reduce the power utilization required to implement a 10GUNI / ONU built on an FPGA system-on-a-chip (FPGA SOC). These power savings mean that an FPGA can be a suitable option for the ONU chip, and a 50G ONU can be implemented within an FPGA.
[0080] OTN utilizes FEC (Flexible Encoding and Control) to overcome errors introduced in applications transmitting information over long-distance optical links. The systems and techniques described in this article are applicable to future OTN applications where receivers can reduce power consumption when traffic is below full rate.
[0081] The systems and techniques described herein can be applied to Ethernet point-to-point circuits to extend power reduction beyond optical access networks and telecommunications applications. As transmission speeds become higher, FEC is being used in Ethernet point-to-point links. For example, 400G, 800G, and Terabit Ethernet use FEC to overcome the bit error rates associated with optics and electronics operating at high transmission rates.
[0082] The system and techniques described in this paper address the bursty nature of Ethernet links to minimize the decoding of irrelevant codewords / data for data center applications that may experience periods of intensive or low-intensity traffic. Data centers can achieve power savings during off-peak hours by reducing decoding of traffic not destined for the target device.
[0083] The systems and techniques described in this article are applicable to future point-to-point Ethernet standards for applications such as data center server connectivity, graphics cards, and cryptographic mining systems. The systems and techniques described in this article are also applicable to high-bandwidth interconnects for dynamic power savings.
[0084] Figure 7 An example of a method 700 for generating a conditional decoding window forward error correction decoding process power reduction according to an embodiment is shown. Method 700 can provide, for example... Figures 1 to 6 The features described in the text.
[0085] Identify network transmissions (e.g., by means of...) Figure 2 The codeword detector 225, etc., described in the example, is used to detect the first codeword (e.g., at operation 705). In this example, the network transmission is a passive optical network transmission convergence (PON-TC).
[0086] (For example, by such) Figure 2 The CDW generator 230 (as described in the example) generates a conditional decoding window starting with the first codeword (e.g., at operation 710). In the example, a codeword count can be determined for the conditional decoding window, and additional codewords can be assigned to the conditional decoding window until the codeword count is reached. In network transmission, the additional codewords sequentially follow the first codeword. In the example, it can be determined that the additional codewords are insufficient to reach the codeword count, and idle frames can be added to the conditional decoding window to reach the codeword count.
[0087] The conditional decoding window is aligned with the frame transmitted over the network (e.g., by means of...). Figure 2 (e.g., at operation 715). In the example, frames can be delimited to generate delimitation points, and the conditional decoding window can be aligned with the delimitation points.
[0088] (For example, by such) Figure 2 The report creator 240 (as described in the example) generates a report that includes an indication of the relevance of the conditional decoding window to the network device (e.g., at operation 720). In the example, a binary indicator of the relevance of the conditional decoding window to the network device can be created to be included in the report. In the example, a list of codewords to be included in the conditional decoding window can be generated, and a binary indicator of the relevance of each codeword in the codeword list to the network device can be assigned to be included in the report.
[0089] In the example, it can be determined that the network device is experiencing increased traffic, and the codeword list and binary indicators of the relevance of each codeword can be included in the report before being transmitted to the network device.
[0090] Conditional decoding windows and reports are sent (e.g., by...) Figure 2The transceiver 255 (as described in the example) is connected to a network device (e.g., at operation 725). In the example, an encapsulation identifier (XGEM-ID) with 10 Gigabit capability can be obtained, and the XGEM-ID can be used to send reports. In the example, a Physical Layer Operation Management and Maintenance (PLOAM) message can be generated, and a report can be sent within the PLOAM message. In the example, a Link Layer Ethernet frame can be generated, and a report can be sent within the Link Layer Ethernet frame. In the example, a Transport Convergence (TC) field can be generated, and a report can be sent within the TC field.
[0091] In the example, the codeword count can be determined for the conditional decoding window, and the codeword count can be sent to the network device.
[0092] Figure 8 An example of a method 800 for conditional decoding of codewords using a received conditional decoding window, according to an embodiment, is shown for power reduction in forward error correction decoding processing. Method 800 can provide, for example... Figures 1 to 6 The features described in the text.
[0093] (For example, by such) Figure 2 The transceiver 255, etc., described herein, receives a conditional decoding window including a first codeword (e.g., at operation 805). The first codeword is decoded to determine a second codeword in the conditional decoding window (e.g., at operation 810). (e.g., by...) Figure 2 The correlation calculator 250 (as described in the example) obtains a report including the codeword correlation bits for the second codeword (e.g., at operation 815). In the example, a Physical Layer Operation Management and Maintenance (PLOAM) message can be received, and a report can be obtained from the PLOAM message. In the example, a Link Layer Ethernet frame can be received, and a report can be obtained from the Link Layer Ethernet frame. In the example, a Transport Convergence (TC) field can be identified in the network transmission, and a report can be obtained from the TC field.
[0094] In determining (for example, by means of) Figure 2 The correlation calculator 250 (as described in the example) indicates that the second codeword is irrelevant when the codeword correlation bit indicates that the second codeword is irrelevant; in this case, the second codeword is discarded without decoding (e.g., at operation 820). In the example, a codeword count can be received for a conditional decoding window. It can be determined, based on the codeword count and the codeword correlation bit, that the set of codewords, including the second codeword, included in the conditional decoding window is irrelevant, and the conditional decoding window can be discarded without decoding that set of codewords.
[0095] In the example, you can subscribe to encapsulation identifiers (XGEM-IDs) with 10-gigabit capabilities published on the network. Reports can be received based on the XGEM-IDs. A mapping of sets of codewords in a conditional decoding window can be generated. Reports can be used to determine that a first subset of the codeword set is relevant, and reports can be used to determine that a second subset of the codeword set is irrelevant. The first subset of the codeword set can be decoded, and the second subset of the codeword set can be discarded without decoding.
[0096] Figure 9 A block diagram of an example machine 900 on which any one or more of the techniques (e.g., methods) discussed herein can be performed is shown. In alternative embodiments, machine 900 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, machine 900 may operate as a server machine, a client machine, or both in a server-client network environment. In the example, machine 900 may act as a peer-to-peer (P2P) (or other distributed) network environment. Machine 900 may be a personal computer (PC), tablet PC, set-top box (STB), personal digital assistant (PDA), mobile phone, network device, network router, switch, or bridge, or any machine capable of executing instructions (sequence or other) specifying the actions to be taken by the machine. Furthermore, although only a single machine is shown, the term "machine" should also be considered to include any collection of machines that individually or jointly execute a set (or more) of instructions to perform any one or more methods discussed herein, such as cloud computing, Software as a Service (SaaS), and other computer cluster configurations.
[0097] As described herein, examples may include logic or multiple components or mechanisms, or may be operated by logic or multiple components or mechanisms. A circuit group is a collection of circuits implemented in a tangible entity including hardware (e.g., simple circuits, gates, logic, etc.). Circuit group membership can be flexible over time and with the variability of the underlying hardware. A circuit group includes components that can perform a specified operation individually or in combination during operation. In the examples, the hardware of the circuit group may be designed immutably to perform a specific operation (e.g., hardwired). In the examples, the hardware of the circuit group may include physically connected components (e.g., execution units, transistors, simple circuits, etc.) containing computer-readable media that are physically modified (e.g., the magnetism, electricity, movable placement, etc. of particles with invariant mass) to encode instructions for a specific operation. When connecting the physical components, the underlying electrical properties of the hardware composition change, for example, from an insulator to a conductor, and vice versa. The instructions enable embedded hardware (e.g., an execution unit or loading mechanism) to create components of the circuit group in the hardware via the variable connections to perform portions of a specific operation during operation. Thus, when the device operates, the computer-readable medium is communicatively coupled to other components of the circuit group components. In the example, any of the physical components can be used in more than one part of more than one circuit group. For example, under operation, the execution unit can be used in the first circuit of the first circuit group at one point in time and reused by the second circuit in the first circuit group, or reused by the third circuit in the second circuit group at a different time.
[0098] Machine (e.g., computer system) 900 may include a hardware processor 902 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), main memory 904, and static memory 906, some or all of which may communicate with each other via interconnect (e.g., bus) 908. Machine 900 may also include a display unit 910, an alphanumeric input device 912 (e.g., a keyboard), and a user interface (UI) navigation device 914 (e.g., a mouse). In the example, the display unit 910, the input device 912, and the UI navigation device 914 may be a touchscreen display. Machine 900 may additionally include a storage device (e.g., a drive unit) 16, a signal generating device 918 (e.g., a speaker), a network interface device 920, and one or more sensors 921, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensors. Machine 900 may include output controller 928, such as serial (e.g., Universal Serial Bus (USB)), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC)) connections, to communicate with or control one or more peripheral devices (e.g., printers, card readers, etc.).
[0099] Storage device 916 may include machine-readable medium 922 on which one or more sets of data structures or instructions 924 (e.g., software) are stored, embodying or being utilized by any one or more of the technologies or functions described herein. Instructions 924 may also reside wholly or at least partially within main memory 904, static memory 906, or hardware processor 902 during their execution by machine 900. In the example, one or any combination of hardware processor 902, main memory 904, static memory 906, or storage device 916 may constitute a machine-readable medium.
[0100] Although machine-readable medium 922 is shown as a single medium, the term "machine-readable medium" can include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) configured to store one or more instructions 924.
[0101] The term "machine-readable medium" can include any medium capable of storing, encoding, or carrying instructions executable by machine 900 and causing machine 900 to perform any one or more of the technologies disclosed herein, or any medium capable of storing, encoding, or carrying data structures used by or associated with such instructions. Examples of non-limiting machine-readable media may include solid-state memory as well as optical and magnetic media. In examples, machine-readable media may exclude transient propagation signals (e.g., non-transitory machine-readable storage media). Specific examples of non-transitory machine-readable storage media may include: non-volatile memory, such as semiconductor memory devices (e.g., electrically programmable read-only memory, electrically erasable programmable read-only memory) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0102] Commands 24 can also be sent or received on the communication network 26 via the network interface device 20 using a transmission medium, utilizing any of a variety of transport protocols (e.g., Frame Relay, Internet Protocol (IP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), etc.). Example communication networks may include Local Area Networks (LANs), Wide Area Networks (WANs), Packet Data Networks (e.g., the Internet), Mobile Phone Networks (e.g., Cellular Networks), Common Telephone Systems (POTS) Networks, and Wireless Data Networks (e.g., those referred to as…). The standards include the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series (such as the LAWAN standard), the IEEE 802.15.4 series, peer-to-peer (P2P) networks, and the 3rd Generation Partnership Project (3GPP) standards for 4G and 5G wireless communications, including the 3GPP Long Term Evolution (LTE) standard series, the 3GPP LTE Advanced standard series, the 3GPP LTE Advanced Pro standard series, and the 3GPP New Radio (NR) standard series. In the example, network interface device 920 may include one or more physical jacks (e.g., Ethernet, coaxial, or telephone jacks) or one or more antennas to connect to the communication network 26. In the example, network interface device 920 may include multiple antennas to perform wireless communication using at least one of Single-Input Multiple-Output (SIMO), Multiple-Input Multiple-Output (MIMO), or Multiple-Input Single-Output (MISO) technologies. The term "transmission medium" should be considered to include any intangible medium capable of storing, encoding, or carrying instructions executed by machine 900, and includes digital or analog communication signals or other intangible media to facilitate communication of such software.
[0103] Additional notes & examples
[0104] Example 1 is a system for conditional forward error correction codeword decoding, comprising: at least one processor; and a memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations for: identifying a first codeword in a network transmission; generating a conditional decoding window beginning with the first codeword; aligning the conditional decoding window with a frame of the network transmission; generating a report including an indication of the correlation between the conditional decoding window and a network device; and sending the conditional decoding window and the report to the network device.
[0105] In Example 2, the subject of Example 1 is the same, where the network transmission is Passive Optical Network Transmission Convergence (PON-TC).
[0106] In Example 3, the subject matter of Examples 1-2 includes instructions for generating a conditional decoding window that, when executed by at least one processor, cause the at least one processor to perform operations for: determining a codeword count for the conditional decoding window; and assigning additional codewords to the conditional decoding window until the codeword count is reached, wherein, in network transmission, the additional codewords sequentially follow the first codeword.
[0107] In Example 4, the subject matter described in Example 3 includes that the memory further includes instructions that, when executed by the at least one processor, cause the at least one processor to perform operations for: determining that the additional codewords are insufficient to reach the codeword count; and adding an idle frame to the conditional decoding window to reach the codeword count.
[0108] In Example 5, the subject matter of Examples 1-4 includes: the instructions for aligning the conditional decoding window with the frame further include instructions that, when executed by the at least one processor, cause the at least one processor to perform an operation for performing an operation for: delimiting the frame to generate a delimiting point, wherein the conditional decoding window is aligned with the delimiting point.
[0109] In Example 6, the subject matter of Examples 1-5 includes instructions for generating a report that includes an indication of the correlation between the conditional decoding window and the network device, and instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: creating a binary indicator of the correlation between the conditional decoding window and the network device to be included in the report.
[0110] In Example 7, the subject matter of Examples 1-6 includes instructions for generating a report that includes an indication of the relevance of a conditional decoding window to a network device. The instructions also include instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: generating a list of codewords to be included in the conditional decoding window; and assigning a binary indicator of the relevance of each codeword in the list to the network device for inclusion in the report.
[0111] In Example 8, the subject of Example 7 includes that the memory also includes instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: determining that the network device is experiencing increased traffic; and including a list of codewords and binary indicators of the relevance of each codeword in a report before transmission to the network device.
[0112] In Example 9, the subject matter according to Examples 1-8 includes: the memory further includes instructions that, when executed by the at least one processor, cause the at least one processor to perform an operation for: obtaining a package identifier (XGEM-ID) with 10 gigabits capability, wherein the report is sent using the XGEM-ID.
[0113] In Example 10, the subject of Examples 1-9 includes that the memory also includes instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: generating a Physical Layer Operation Management and Maintenance (PLOAM) message, wherein the report is sent in the PLOAM message.
[0114] In Example 11, the subject of Examples 1-10 includes that the memory also includes instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: generating a link-layer Ethernet frame, wherein a report is sent within the link-layer Ethernet frame.
[0115] In Example 12, the subject of Examples 1-11 includes that the memory also includes instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: generating a Transport Convergence (TC) field, wherein a report is sent within the TC field.
[0116] In Example 13, the subject matter of Examples 1-12 includes that the memory also includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: determining a codeword count for a conditional decoding window; and sending the codeword count to a network device.
[0117] Example 14 is at least one non-transitory machine-readable medium including instructions for conditional forward error correction codeword decoding, which, when executed by at least one processor, cause the at least one processor to perform operations for: identifying a first codeword in a network transmission; generating a conditional decoding window beginning with the first codeword; aligning the conditional decoding window with a frame in the network transmission; generating a report including an indication of the relevance of the conditional decoding window to a network device; and sending the conditional decoding window and the report to the network device.
[0118] In Example 15, the subject of Example 14 is that the network transmission is Passive Optical Network Transmission Convergence (PON-TC).
[0119] In Example 16, the subject matter of Examples 14-15 includes instructions for generating a conditional decoding window that, when executed by at least one processor, cause the at least one processor to perform operations for: determining a codeword count for the conditional decoding window; and assigning additional codewords to the conditional decoding window until the codeword count is reached, wherein, in network transmission, the additional codewords sequentially follow the first codeword.
[0120] In Example 17, the subject of Example 16 includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: determining that the additional codewords are insufficient to reach the codeword count; and adding an idle frame to the conditional decoding window to reach the codeword count.
[0121] In Example 18, the subject matter of Examples 14-17 includes: the instructions for aligning the conditional decoding window with the frame further include instructions that, when executed by the at least one processor, cause the at least one processor to perform operations for: delimiting the frame to generate delimiting points, wherein the conditional decoding window is aligned with the delimiting points.
[0122] In Example 19, the subject matter of Examples 14-18 includes instructions for generating a report that includes an indication of the correlation between a conditional decoding window and a network device, and instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: creating a binary indicator of the correlation between the conditional decoding window and the network device to include in the report.
[0123] In Example 20, the subject matter of Examples 14-19 includes instructions for generating a report that includes an indication of the relevance of a conditional decoding window to a network device, further including instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: generating a list of codewords to be included in the conditional decoding window; and assigning a binary indicator of the relevance of each codeword in the list to the network device for inclusion in the report.
[0124] In Example 21, the subject of Example 20 includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: determining that the network device is experiencing increased traffic; and including a list of codewords and binary indicators of the relevance of each codeword in a report before transmission to the network device.
[0125] In Example 22, the subject of Examples 14-21 includes instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: obtaining a package identifier (XGEM-ID) with 10 Gigabit capability, wherein a report is sent using the XGEM-ID.
[0126] In Example 23, the subject of Examples 14-22 includes instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: generating a Physical Layer Operation Management and Maintenance (PLOAM) message, wherein a report is sent within the PLOAM message.
[0127] In Example 24, the subject of Examples 14-23 includes instructions that, when executed by at least one processor, cause at least one processor to perform an operation for: generating a link-layer Ethernet frame, wherein the report is transmitted within the link-layer Ethernet frame.
[0128] In Example 25, the subject of Examples 14-24 includes instructions that, when executed by at least one processor, cause the at least one processor to perform an operation for: generating a Transport Convergence (TC) field, wherein the report is sent within the TC field.
[0129] In Example 26, the subject of Examples 14-25 includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: determining a codeword count for a conditional decoding window; and sending the codeword count to a network device.
[0130] Example 27 is a method for decoding conditional forward error correction codewords, comprising: identifying a first codeword in a network transmission; generating a conditional decoding window starting with the first codeword; aligning the conditional decoding window with a frame in the network transmission; generating a report including an indication of the correlation between the conditional decoding window and a network device; and sending the conditional decoding window and the report to the network device.
[0131] In Example 28, the subject of Example 27 is that the network transmission is Passive Optical Network Transmission Convergence (PON-TC).
[0132] In Example 29, the subject of Examples 27-28, generating a conditional decoding window further includes: determining a codeword count for the conditional decoding window; and assigning additional codewords to the conditional decoding window until the codeword count is reached, with the additional codewords sequentially following the first codeword in network transmission.
[0133] In Example 30, the subject of Example 29 includes determining that additional codewords are insufficient to reach a codeword count; and adding idle frames to the conditional decoding window to reach a codeword count.
[0134] In Example 31, the subject of Examples 27-30, aligning the conditional decoding window with the frame further includes: delimiting the frame to generate delimiting points, wherein the conditional decoding window is aligned with the delimiting points.
[0135] In Example 32, the subject of Examples 27-31, where generating a report that includes an indication of the correlation between the conditional decoding window and the network device also includes: creating a binary indicator of the correlation between the conditional decoding window and the network device to include in the report.
[0136] In Example 33, the subject of Examples 27-32, where generating a report that includes an indication of the relevance of the conditional decoding window to the network device further includes: generating a list of codewords to be included in the conditional decoding window; and assigning a binary indicator of the relevance of each codeword in the list to the network device to be included in the report.
[0137] In Example 34, the subject of Example 33 includes determining that a network device is experiencing increased traffic; and including a list of codewords and binary indicators of the relevance of each codeword in the report before transmission to the network device.
[0138] In Example 35, the subject of Examples 27-34 includes: obtaining a packaging identifier (XGEM-ID) with 10 Gigabit capability, wherein the report is sent using the XGEM-ID.
[0139] In Example 36, the subject of Examples 27-35 includes: generating a Physical Layer Operations Management and Maintenance (PLOAM) message, wherein the report is sent within the PLOAM message.
[0140] In Example 37, the subject of Examples 27-36 includes: generating a link-layer Ethernet frame, wherein the report is sent within the link-layer Ethernet frame.
[0141] In Example 38, the subject of Examples 27-37 includes: generating a Transport Convergence (TC) field, wherein the report is sent within the TC field.
[0142] In Example 39, the topics of Examples 27-38 include determining the codeword count for a conditional decoding window; and sending the codeword count to a network device.
[0143] Example 40 is a system for conditional forward error correction codeword decoding, comprising: at least one processor; and a memory including instructions that, when executed by the at least one processor, cause the at least one processor to perform operations for: receiving a conditional decoding window including a first codeword; decoding the first codeword to determine a second codeword in the conditional decoding window; obtaining a report including a codeword correlation bit for the second codeword; and discarding the second codeword without decoding it when it is determined that the codeword correlation bit indicates that the second codeword is uncorrelated.
[0144] In Example 41, the subject matter of Example 40 includes that the memory further includes instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: receiving a codeword count for the conditional decoding window; determining, based on the codeword count and the codeword correlation bit, that a set of codewords including the second codeword contained in the conditional decoding window is irrelevant; and discarding the conditional decoding window without decoding the set of codewords.
[0145] In Example 42, the subject matter according to Examples 40-41 includes: the memory further includes instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: subscribing to a package identifier (XGEM-ID) with 10 Gigabit capability published on a network; receiving the report based on the XGEM-ID; generating a mapping of a set of codewords in the conditional decoding window; using the report to determine that a first subset of the set of codewords is relevant; using the report to determine that a second subset of the set of codewords is irrelevant; decoding the first subset of the set of codewords; and discarding the second subset of the set of codewords without decoding.
[0146] In Example 43, the subject matter of Examples 40-42 includes that the memory further includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: receiving a Physical Layer Operation Management and Maintenance (PLOAM) message; and obtaining a report from the PLOAM message.
[0147] In Example 44, the subject of Examples 40-43 includes that the memory further includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: receiving a link-layer Ethernet frame; and obtaining a report from the link-layer Ethernet frame.
[0148] In Example 45, the subject of Examples 40-44 includes that the memory also includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: identifying a Transport Convergence (TC) field in a network transport; and obtaining a report from the TC field.
[0149] Example 46 is at least one non-transitory machine-readable medium including instructions for conditional forward error correction codeword decoding, which, when executed by at least one processor, cause the at least one processor to perform operations for: receiving a conditional decoding window including a first codeword; decoding the first codeword to determine a second codeword in the conditional decoding window; obtaining a report including codeword correlation bits for the second codeword; and discarding the second codeword without decoding it when it is determined that the codeword correlation bits indicate that the second codeword is uncorrelated.
[0150] In Example 47, the subject matter described in Example 46 includes instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: receiving a codeword count for the conditional decoding window; determining, based on the codeword count and the codeword correlation bit, that a set of codewords including the second codeword contained in the conditional decoding window is irrelevant; and discarding the conditional decoding window without decoding the set of codewords.
[0151] In Example 48, the subject of Examples 46-47 includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: subscribing to a 10-gigabit capacity encapsulation identifier (XGEM-ID) published on a network; receiving a report based on the XGEM-ID; generating a mapping of a set of codewords in a conditional decoding window; using the report to determine that a first subset of the set of codewords is relevant; using the report to determine that a second subset of the set of codewords is irrelevant; decoding the first subset of the set of codewords; and discarding the second subset of the set of codewords without decoding.
[0152] In Example 49, the subject of Examples 46-48 includes instructions that, when executed by at least one processor, cause at least one processor to perform operations for: receiving a Physical Layer Operation Management and Maintenance (PLOAM) message; and obtaining a report from the PLOAM message.
[0153] In Example 50, the subject of Examples 46-49 includes instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: receiving a link-layer Ethernet frame; and obtaining a report from the link-layer Ethernet frame.
[0154] In Example 51, the subject of Examples 46-50 includes instructions that, when executed by at least one processor, cause the at least one processor to perform operations for: identifying a Transport Convergence (TC) field in a network transport; and obtaining a report from the TC field.
[0155] Example 52 is a method for decoding a conditional forward error correction codeword, comprising: receiving a conditional decoding window including a first codeword; decoding the first codeword to determine a second codeword in the conditional decoding window; obtaining a report including codeword correlation bits for the second codeword; and discarding the second codeword without decoding it when the codeword correlation bits indicate that the second codeword is uncorrelated.
[0156] In Example 53, the subject of Example 52 includes receiving a codeword count for a conditional decoding window; determining, based on the codeword count and a codeword correlation bit, that the set of codewords included in the second codeword contained in the conditional decoding window is irrelevant; and discarding the conditional decoding window without decoding the set of codewords.
[0157] In Example 54, the subject matter described in Examples 52-53 includes: subscribing to a 10-gigabit capacity Encapsulation Identifier (XGEM-ID) published on a network; receiving the report based on the XGEM-ID; generating a mapping of a set of codewords in the conditional decoding window; using the report to determine that a first subset of the set of codewords is relevant; using the report to determine that a second subset of the set of codewords is irrelevant; decoding the first subset of the set of codewords; and discarding the second subset of the set of codewords without decoding.
[0158] In Example 55, the topics of Examples 52-54 include: receiving Physical Layer Operation Management and Maintenance (PLOAM) messages; and obtaining reports from said PLOAM messages.
[0159] In Example 56, the topics of Examples 52-55 include receiving link-layer Ethernet frames and obtaining reports from link-layer Ethernet frames.
[0160] In Example 57, the topics covered in Examples 52-56 include identifying the Transport Convergence (TC) field in network transport; and obtaining reports from the TC field.
[0161] Example 58 is at least one machine-readable medium including instructions that, when executed by a processing circuitry system, cause the processing circuitry system to perform operations for implementing any one of Examples 1-57.
[0162] Example 59 is an apparatus that includes units for implementing any one of Examples 1-57.
[0163] Example 60 is a system for implementing any one of Examples 1-57.
[0164] Example 61 is a method for implementing any of Examples 1-57.
[0165] The above detailed description includes reference to the accompanying drawings, which form part of the detailed description. The drawings illustrate specific embodiments that can be practiced by way of illustration. These embodiments are also referred to herein as “examples.” Such examples may include elements other than those shown or described. However, the inventors also contemplate examples that provide only those elements shown or described. Furthermore, the inventors contemplate examples using any combination or arrangement of those elements (or one or more aspects thereof) relative to a particular example (or one or more aspects thereof) or relative to other examples (or one or more aspects thereof) shown or described herein.
[0166] In this document, as is common in patent documents, the terms “a” or “an” are used to include one or more, independent of any other instances or uses of “at least one” or “one or more.” In this document, unless otherwise stated, the term “or” is used to refer to a non-exclusive “or,” such that “A or B” includes “A but not B,” “B but not A,” and “A and B.” In the appended claims, the terms “comprising” and “wherein” are used as concise English equivalents of the corresponding terms “including” and “wherein.” Furthermore, in the following claims, the terms “comprising” and “including” are open-ended, meaning that a system, apparatus, article, or process that includes elements other than those listed after such terms in the claims is still considered to fall within the scope of the claims. Additionally, in the following claims, the terms “first,” “second,” and “third,” etc., are used merely as labels and are not intended to impose numerical requirements on their objects.
[0167] The above description is intended to be illustrative and not restrictive. For example, the examples (or one or more aspects thereof) described above may be used in combination with each other. Other embodiments may be used, such as those employed by one of ordinary skill in the art upon review of the above description. The abstract is provided to allow the reader to quickly determine the nature of the technical disclosure and to understand that it will not be used to interpret or limit the scope or meaning of the claims. Furthermore, in the above detailed description, various features may be combined to simplify this disclosure. This should not be construed as meaning that any unclaimed disclosed feature is essential to any claim. Rather, the subject matter of the invention may lie in fewer than all features of a particular disclosed embodiment. Therefore, the following claims are incorporated herein by reference to the detailed description, wherein each claim is an independent, separate embodiment. The scope of the embodiments should be determined by referring to the appended claims and the full scope of their equivalents.
Claims
1. A system for decoding conditional forward error correction codewords, comprising: At least one processor; as well as The memory includes instructions that, when executed by the at least one processor, cause the at least one processor to perform operations for: Identify the first codeword in network transmission; Generate a conditional decoding window starting with the first codeword; Align the conditional decoding window with the frame transmitted over the network; Generate a report including an indication of the correlation between the conditional decoding window and the network device; as well as Send the conditional decoding window and the report to the network device.
2. The system according to claim 1, wherein, The network transmission is Passive Optical Network Transmission Convergence (PON-TC).
3. The system of claim 1, wherein the instruction for generating the conditional decoding window further comprises an instruction, which, when executed by the at least one processor, causes the at least one processor to perform an operation for: Determine the codeword count for the conditional decoding window; and Additional codewords are assigned to the conditional decoding window until the codeword count is reached, and the additional codewords sequentially follow the first codeword in the network transmission.
4. The system of claim 3, wherein the memory further comprises instructions, which, when executed by the at least one processor, cause the at least one processor to perform an operation for: Determining that the additional codewords are insufficient to reach the codeword count; and Idle frames are added to the conditional decoding window to achieve the codeword count.
5. The system of claim 1, wherein the instruction for aligning the conditional decoding window with the frame further comprises an instruction, which, when executed by the at least one processor, causes the at least one processor to perform an operation for: The frames are delimited to generate delimitation points, wherein, The conditional decoding window is aligned with the delimiting point.
6. The system of claim 1, wherein the instructions for generating a report including an indication of the correlation between the conditional decoding window and the network device further include instructions that, when executed by the at least one processor, cause the at least one processor to perform an operation for: Create a binary indicator of the correlation between the conditional decoding window and the network device to be included in the report.
7. The system of claim 1, wherein the instructions for generating a report including an indication of the correlation between the conditional decoding window and the network device further include instructions that, when executed by the at least one processor, cause the at least one processor to perform an operation for: Generate a list of codewords included in the conditional decoding window; and A binary indicator relating each codeword in the codeword list to the network device is assigned to be included in the report.
8. The system of claim 7, wherein the memory further comprises instructions, which, when executed by the at least one processor, cause the at least one processor to perform an operation for: Determine that the network equipment is experiencing increased traffic; and Before being transmitted to the network device, the codeword list and a binary indicator of the relevance of each codeword are included in the report.
9. The system of claim 1, wherein the memory further comprises instructions, which, when executed by the at least one processor, cause the at least one processor to perform an operation for: Obtain a package identifier (XGEM-ID) with 10-gigabit capability, where, The report was sent using the XGEM-ID.
10. The system of claim 1, wherein the memory further comprises instructions, which, when executed by the at least one processor, cause the at least one processor to perform an operation for: Generate Physical Layer Operations Management and Maintenance (PLOAM) messages, in which... The report was sent within the PLOAM message.
11. The system of claim 1, wherein the memory further comprises instructions, which, when executed by the at least one processor, cause the at least one processor to perform operations for: Generate a link-layer Ethernet frame, wherein, The report is sent within the link layer Ethernet frame.
12. The system of claim 1, wherein the memory further comprises instructions, which, when executed by the at least one processor, cause the at least one processor to perform an operation for: Generate the Transport Convergence (TC) field, where, The report is sent within the TC field.
13. The system of claim 1, wherein the memory further comprises instructions, which, when executed by the at least one processor, cause the at least one processor to perform an operation for: Determine the codeword count for the conditional decoding window; and Send the codeword count to the network device.
14. A method for decoding conditional forward error correction codewords, comprising: Identify the first codeword in network transmission; Generate a conditional decoding window starting with the first codeword; Align the conditional decoding window with the frame transmitted over the network; Generate a report including an indication of the correlation between the conditional decoding window and the network device; as well as Send the conditional decoding window and the report to the network device.
15. The method according to claim 14, wherein, Generating the conditional decoding window further includes: Determine the codeword count for the conditional decoding window; and Additional codewords are assigned to the conditional decoding window until the codeword count is reached, and the additional codewords sequentially follow the first codeword in the network transmission.
16. The method of claim 15, further comprising: It is determined that the additional codewords are insufficient to reach the codeword count; as well as Idle frames are added to the conditional decoding window to achieve the codeword count.
17. The method of claim 14, wherein, Generating a report that includes an indication of the correlation between the conditional decoding window and the network device further includes: Generate a list of codewords included in the conditional decoding window; and A binary indicator relating each codeword in the codeword list to the network device is assigned to be included in the report.
18. A system for decoding conditional forward error correction codewords, comprising: At least one processor; as well as The memory includes instructions that, when executed by the at least one processor, cause the at least one processor to perform operations for: Receive the conditional decoding window including the first codeword; Decode the first codeword to determine the second codeword in the conditional decoding window; Obtain a report including codeword correlation bits for the second codeword; as well as When it is determined that the codeword correlation bit indicates that the second codeword is not correlated, the second codeword is discarded without decoding it.
19. The system of claim 18, wherein the memory further comprises instructions, which, when executed by at least one processor, cause the at least one processor to perform an operation for: Receive the codeword count for the conditional decoding window; Based on the codeword count and the codeword correlation bit, it is determined that the set of codewords including the second codeword contained in the conditional decoding window is irrelevant; and Discard the conditional decoding window without decoding the set of codewords.
20. The system of claim 18, wherein the memory further comprises instructions, which, when executed by at least one processor, cause the at least one processor to perform an operation for: Subscribe to encapsulation identifiers (XGEM-ID) with 10-gigabit capability published on the network; The report is received based on the XGEM-ID; Generate a mapping of the set of codewords in the conditional decoding window; The report is used to determine that a first subset of the set of codewords is relevant; Using the report to determine that a second subset of the set of codewords is irrelevant; Decode the first subset of the set of codewords; as well as The second subset of the set of codewords is discarded without decoding.
Citation Information
Cited By
Embedded optical module data acquisition and processing system
CN122247508A
An embedded optical module data acquisition and processing system
CN122247508B