Memory requirements and processing delays associated with the application
of forward error correction in high speed optical transmissions are
substantially reduced by mapping a forward error correction code on a
row-by-row basis into unused overhead bytes in a high bit rate signal
frame. By applying the forward error correction code to an entire row of
the signal frame on a row by row basis, approximately one row needs to be
stored at a time thereby reducing the total memory requirements for
forward error correction processing. Using SONET as an exemplary
application, approximately 1/9th of the entire SONET frame (e.g., one of
nine rows) needs to be buffered for forward error correction processing.
In an illustrative embodiment, four forward error correction (FEC) blocks
are provided for each row for a total of 36 FEC blocks for a frame. Each
FEC block comprises four bytes of correction bits for a total of 32
correction bits. These 32 correction bits are mapped to unused overhead
and are used for correcting errors in one block of one row of a signal
frame, wherein one block covers 1/4th of the row. Other unused overhead
bytes in the row can be used to carry error detection codes for detecting
multiple errors in a row to determine when forward error correction should
be disabled. For example, if a single bit error correcting code is
employed, then error correction can be disabled to avoid false corrections
if more than one error is detected.
Les conditions de mémoire et le traitement retarde associé à l'application de la correction d'erreurs vers l'avant dans les transmissions optiques à grande vitesse sont sensiblement réduits en traçant un code de correction d'erreurs vers l'avant sur une base de rangée-par-rangée dans des bytes aériens inutilisés dans une armature élevée de signal de débit binaire. En s'appliquant le code de correction d'erreurs vers l'avant à une rangée entière de l'armature de signal sur une rangée par base de rangée, approximativement une rangée doit être stockée à la fois réduisant de ce fait toutes les conditions de mémoire pour le traitement vers l'avant de correction d'erreurs. En utilisant SONET comme application exemplaire, approximativement la 1/9th de l'armature entière de SONET (par exemple, une de neuf rangées) doit être protégée pour le traitement vers l'avant de correction d'erreurs. Dans une incorporation d'illustration, quatre blocs vers l'avant de la correction d'erreurs (FEC) sont donnés pour chaque rangée pour un total de 36 blocs de FEC d'une armature. Chaque bloc de FEC comporte quatre bytes du peu de correction pour un total de 32 bits de correction. Ces 32 peu de correction sont tracés aux frais généraux inutilisés et sont employés pour corriger des erreurs dans un bloc d'une rangée d'une armature de signal, où un bloc couvre 1/4 de la rangée. D'autres bytes aériens inutilisés dans la rangée peuvent être employés pour porter des codes de détection des erreurs pour détecter des erreurs multiples dans une rangée pour déterminer quand la correction d'erreurs vers l'avant devrait être handicapée. Par exemple, si une erreur de bit simple corrigeant le code est utilisée, alors la correction d'erreurs peut être neutralisée pour éviter des corrections fausses si plus d'une erreur est détectée.