EP1589665B1

Error correction decoder comprising an erasure correcting Reed-Solomon decoder and a CRC decoder

Abstract

This record has no abstract on file.

EP1589665B1, drawing sheet 1
Sheet 1 of 10

Term

Term ended

Expired 18 February 2025, 1.6 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

37 claims: 37 independent, 0 dependent

  1. 1
    A decoder to correct errors in data, comprising:a plurality of cells, each cell configured to generate a partial syndrome based on data blocks and one or more redundancy blocks, and to generate a partial error value based on the partial syndrome and a portion of an inverse of an error location matrix that identifies locations of any data blocks having errors;anda summation logic connected to the plurality of cells, the summation logic configured to generate an error value based on the partial error values generated by the plurality of cells, wherein the error value corrects errors in one of the data blocks. Decodierer zur Fehlerkorrektur in Daten, mit: einer Mehrzahl von Zellen, wobei jede Zelle konfiguriert ist, um ein Teilsyndrom basierend auf Datenblöcken und einem oder mehreren Redundanzblöcken zu erzeugen, und um einen Teilfehlerwert basierend auf dem Teilsyndrom und einen Abschnitt einer Inversen einer Fehlerpositionsmatrix, die Positionen von allen Datenblöcken identifiziert, die Fehler aufweisen, zu erzeugen;undeiner Summationslogik, die mit der Mehrzahl von Zellen verbunden ist, wobei die Summationslogik konfiguriert ist, um einen Fehlerwert basierend auf den durch die Mehrzahl von Zellen erzeugten Teilfehlerwerten zu erzeugen, wobei der Fehlerwert Fehler in einem der Datenblöcke korrigiert. Décodeur pour corriger des erreurs dans des données, comprenant : une pluralité de cellules, chaque cellule étant configurée pour générer un syndrome partiel sur la base de blocs de données et d'un ou plusieurs blocs de redondance, et pour générer une valeur d'erreur partielle basée sur le syndrome partiel et une partie d'un inverse d'une matrice de localisation d'erreurs qui identifie les emplacements de n'importe quels blocs de données ayant des erreurs ;etune logique de sommation reliée à la pluralité de cellules, la logique de sommation étant configurée pour générer une valeur d'erreur basée sur les valeurs d'erreur partielle générées par la pluralité de cellules, dans laquelle la valeur d'erreur corrige des erreurs dans un des blocs de données.
  2. 2
    Decodierer gemäß Anspruch 1, bei dem die Anzahl von Zellen in der Mehrzahl von Zellen gleich der Anzahl von Redundanzblöcken ist. Décodeur selon la revendication 1, dans lequel le nombre de cellules dans la pluralité de cellules est égal au nombre de blocs de redondance. The decoder of claim 1, wherein the number of cells in the plurality of cells is equal to the number of redundancy blocks.
  3. 3
    Decodierer gemäß Anspruch 1, bei dem jede Zelle umfasst:eine Eingangslogik;eine erste Warteschlange, die mit der Eingangslogik verbunden ist;undeinen Multiplizierer, der mit der Eingangslogik und der ersten Warteschlange verbunden ist. Décodeur selon la revendication 1, dans lequel chaque cellule comprend : une logique d'entrée ;une première file d'attente reliée à la logique d'entrée ;etun multiplicateur relié à la logique d'entrée et à la première file d'attente. The decoder of claim 1, wherein each cell includes: an input logic;a first queue connected to the input logic;anda multiplier connected to the input logic and the first queue.
  4. 4
    Decodierer gemäß Anspruch 1, bei dem jede Zelle in einem Lesemodus arbeitet, um das Teilsyndrom zu erzeugen. Décodeur selon la revendication 1, dans lequel chaque cellule fonctionne en mode lecture pour générer le syndrome partiel. The decoder of claim 1, wherein each cell operates in a read mode to generate the partial syndrome.
  5. 5
    Decodierer gemäß Anspruch 4, bei dem, wenn eine Zelle in einem Lesemodus arbeitet, die Eingangslogik der Zelle eingestellt ist, um Eingänge von dem Multiplizierer und einem Datenpuffer, der die Datenblöcke und einen oder mehrere Redundanzblöcke hält, zu empfangen. Décodeur selon la revendication 4, dans lequel quand une cellule fonctionne en mode lecture, la logique d'entrée de la cellule est définie pour recevoir des entrées provenant du multiplicateur et une mémoire tampon de données qui contient les blocs de données et un ou plusieurs blocs de redondance. The decoder of claim 4, wherein when a cell operates in a read mode, the input logic of the cell is set to receive inputs from the multiplier and a data buffer that holds the data blocks and one or more redundancy blocks.
  6. 6
    Decodierer gemäß Anspruch 5, bei dem die Eingangslogik eine Summe der Eingänge von dem Multiplizierer und dem Datenpuffer erzeugt, und wobei die Summe in der ersten Warteschlange gespeichert wird. Décodeur selon la revendication 5, dans lequel la logique d'entrée génère une somme des entrées provenant du multiplicateur et de la mémoire tampon de données, et dans lequel la somme est stockée dans la première file d'attente. The decoder of claim 5, wherein the input logic generates a sum of the inputs from the multiplier and the data buffer, and wherein the sum is stored in the first queue.
  7. 7
    Decodierer gemäß Anspruch 6, bei dem die Eingangslogik ein Exklusiv-ODER-Gatter (XOR-Gatter) mit Eingängen, die mit dem Datenpuffer und dem Multiplizierer verbunden sind, und einem Ausgang, der mit der ersten Warteschlange verbunden ist, um die Summe zu erzeugen, umfasst. Décodeur selon la revendication 6, dans lequel la logique d'entrée comprend une porte OU exclusif (XOR) avec des entrées reliées à la mémoire tampon de données et le multiplicateur et une sortie reliée à la première file d'attente pour générer la somme. The decoder of claim 6, wherein the input logic includes an exclusive-or (XOR) gate with inputs connected to the data buffer and the multiplier and an output connected to the first queue to generate the sum.
  8. 8
    Decodierer gemäß Anspruch 6, bei dem, wenn die Zelle in dem Lesemodus arbeitet, der Multiplizierer eingestellt ist, um eine Wurzel eines Generatorpolynoms und die Summe von der ersten Warteschlange zu empfangen. Décodeur selon la revendication 6, dans lequel quand la cellule fonctionne en mode lecture, le multiplicateur est défini pour recevoir une racine d'un polynôme générateur et la somme à partir de la première file d'attente. The decoder of claim 6, wherein when the cell operates in the read mode, the multiplier is set to receive a root of a generator polynomial and the sum from the first queue.
  9. 9
    Decodierer gemäß Anspruch 8, bei dem der Multiplizierer ein Galois-Feld-Multiplizierer ist, der eine Galois-Feld-Multiplikation zwischen der Wurzel eines Generatorpolynoms und der Summe durchführt. Décodeur selon la revendication 8, dans lequel le multiplicateur est un multiplicateur de champs de Galois qui exécute une multiplication des champs de Galois entre la racine d'un polynôme de générateur et la somme. The decoder of claim 8, wherein the multiplier is a Galois Field multiplier that performs a Galois Field multiplication between the root of a generator polynomial and the sum.
  10. 10
    Decodierer gemäß Anspruch 9, bei dem der Multiplizierer eine Mehrzahl von Galois-Feld-Multiplizierern umfasst, um mehrere parallele Galois-Feld-Multiplikationen zwischen der Wurzel eines Generatorpolynoms und der Summe durchzuführen. Décodeur selon la revendication 9, dans lequel le multiplicateur comprend une pluralité de multiplicateurs de champs de Galois pour exécuter des multiplications de champs de Galois parallèles, multiples, entre la racine d'un polynôme de générateur et la somme. The decoder of claim 9, wherein the multiplier comprises a plurality of Galois Field multipliers to perform multiple, parallel Galois Field multiplications between the root of a generator polynomial and the sum.
  11. 11
    Decodierer gemäß Anspruch 8, bei dem jede Zelle in der Mehrzahl von Zellen eingestellt ist, um eine unterschiedliche Wurzel eines Generatorpolynoms zu empfangen, um unterschiedliche Teilsyndrome zu erzeugen. Décodeur selon la revendication 8, dans lequel chaque cellule dans la pluralité de cellules est définie pour recevoir une racine différente d'un polynôme générateur pour générer des syndromes partiels différents. The decoder of claim 8, wherein each cell in the plurality of cells is set to receive a different root of a generator polynomial to generate different partial syndromes.
  12. 12
    Decodierer gemäß Anspruch 8, bei dem die Wurzel eines Generatorpolynoms eine fest verdrahtete Konstante oder ein durch Firmware eingestelltes Register ist. Décodeur selon la revendication 8, dans lequel la racine d'un polynôme générateur est une constante câblée ou un registre défini par microprogramme. The decoder of claim 8, wherein the root of a generator polynomial is a hardwired constant or a register set by firmware.
  13. 13
    Decodierer gemäß Anspruch 8, ferner mit:einer zweiten Warteschlange, die die Wurzel eines Generatorpolynoms hält;undeinem Multiplexer mit einem mit der zweiten Warteschlange verbundenen Eingang und einem mit dem Multiplizierer verbundenen Ausgang, wobei der Multiplexer eingestellt ist, um die zweite Warteschlange mit dem Multiplizierer zu verbinden, wenn die Zelle im Lesemodus arbeitet. Décodeur selon la revendication 8, comprenant en outre : une deuxième file d'attente qui contient la racine d'un polynôme générateur ;etun multiplexeur ayant une entrée reliée à la deuxième file d'attente et une sortie reliée au multiplicateur, dans lequel le multiplexeur est relié à la deuxième file d'attente du multiplicateur quand la cellule fonctionne en mode lecture. The decoder of claim 8, further comprising: a second queue that holds the root of a generator polynomial;anda multiplexer having an input connected to the second queue and an output connected to the multiplier, wherein the multiplexer is set to connected the second queue to the multiplier when the cell operates in the read mode.
  14. 14
    Decodierer gemäß Anspruch 4, bei dem jede Zelle in einem Schreibmodus arbeitet, um den Teilfehlerwert zu erzeugen. Décodeur selon la revendication 4, dans lequel chaque cellule fonctionne en mode écriture pour générer la valeur d'erreur partielle. The decoder of claim 4, wherein each cell operates in a write mode to generate the partial error value.
  15. 15
    Decodierer gemäß Anspruch 14, bei dem, wenn eine Zelle in einem Schreibmodus arbeitet, die Eingangslogik der Zelle eingestellt ist, um Eingänge von der Warteschlange zu empfangen, die das durch die Zelle während des Lesemodus erzeugte Teilsyndrom hält. Décodeur selon la revendication 14, dans lequel quand une cellule fonctionne en mode écriture, la logique d'entrée de la cellule est définie pour recevoir des entrées provenant de la file d'attente qui contient le syndrome partiel généré par la cellule pendant le mode lecture. The decoder of claim 14, wherein when a cell operates in a write mode, the input logic of the cell is set to receive inputs from the queue that holds the partial syndrome generated by the cell during the read mode.
  16. 16
    Decodierer gemäß Anspruch 15, bei dem der Multiplizierer ein Galois-Feld-Multiplizierer ist, der eine Galois-Feld-Multiplikation zwischen dem Teilsyndrom und dem Element des Abschnitts der Inversen der Fehlerpositionsmatrix durchführt. Décodeur selon la revendication 15, dans lequel le multiplicateur est un multiplicateur de champs de Galois qui exécute une multiplication de champs de Galois entre le syndrome partiel et l'élément de la partie de l'inverse de la matrice de localisation d'erreurs. The decoder of claim 15, wherein the multiplier is a Galois Field multiplier that performs a Galois Field multiplication between the partial syndrome and the element of the portion of the inverse of the error location matrix.
  17. 17
    Decodierer gemäß Anspruch 16, bei dem der Multiplizierer eine Mehrzahl von Galois-Feld-Multiplizierern umfasst, um mehrere parallele Galois-Feld-Multiplikationen zwischen dem Teilsyndrom und dem Element des Abschnitts der Inversen der Fehlerpositionsmatrix durchzuführen. Décodeur selon la revendication 16, dans lequel le multiplicateur comprend une pluralité de multiplicateurs de champs de Galois pour exécuter des multiplications de champs de Galois multiples, parallèles, entre le syndrome partiel et l'élément de la partie de l'inverse de la matrice de localisation d'erreurs. The decoder of claim 16, wherein the multiplier comprises a plurality of Galois Field multipliers to perform multiple, parallel Galois Field multiplications between the partial syndrome and the element of the portion of the inverse of the error location matrix.
  18. 18
    Decodierer gemäß Anspruch 14, bei dem jede Zelle in der Mehrzahl von Zellen eingestellt ist, um einen unterschiedlichen Abschnitt der Fehlerpositionsmatrix zu empfangen, um unterschiedliche Teilfehlerwerte zu erzeugen. Décodeur selon la revendication 14, dans lequel chaque cellule dans la pluralité de cellules est définie pour recevoir une partie différente de la matrice de localisation d'erreurs pour générer des valeurs d'erreur partielle différentes. The decoder of claim 14, wherein each cell in the plurality of cells is set to receive a different portion of the error location matrix to generate different partial error values.
  19. 19
    Decodierer gemäß Anspruch 14, ferner mit:einer dritten Warteschlange, die den Abschnitt der Fehlerpositionsmatrix hält;undeinem Multiplexer mit einem mit der dritten Warteschlange verbundenen Eingang und einem mit dem Multiplizierer verbundenen Ausgang, wobei der Multiplexer eingestellt ist, um die dritte Warteschlange mit dem Multiplizierer zu verbinden, wenn die Zelle im Schreibmodus arbeitet. Décodeur selon la revendication, 14, comprenant en outre : une troisième file d'attente qui contient la partie de la matrice de localisation d'erreurs ;etun multiplexeur ayant une entrée reliée à la troisième file d'attente et une sortie reliée au multiplicateur, dans lequel le multiplexeur est défini pour connecter la troisième file d'attente au multiplicateur quand la cellule fonctionne en mode écriture. The decoder of claim 14, further comprising: a third queue that holds the portion of the error location matrix;anda multiplexer having an input connected to the third queue and an output connected to the multiplier, wherein the multiplexer is set to connect the third queue to the multiplier when the cell operates in the write mode.
  20. 20
    Decodierer gemäß Anspruch 1, bei dem die Summationslogik ein Array von XOR-Gattern umfasst. Décodeur selon la revendication 1, dans lequel la logique de sommation comprend un réseau de portes OU exclusif. The decoder of claim 1, wherein the summation logic includes an array of XOR gates.
  21. 21
    Decodierer gemäß Anspruch 1, bei dem die Inverse der Fehlerpositionsmatrix durch Firmware oder Hardware erzeugt wird. Décodeur selon la revendication 1, dans lequel l'inverse de la matrice de localisation d'erreurs est généré par microprogramme ou matériel. The decoder of claim 1, wherein the inverse of the error location matrix is generated by firmware or hardware.
  22. 22
    A data storage device comprising the decoder of any one of claims 1 to 21 , wherein the data blocks and one or more redundancy blocks are retrieved from a storage medium and held in a data buffer in the data storage device. Datenspeichervorrichtung mit dem Decodierer gemäß einem der Ansprüche 1 bis 21, bei der die Datenblöcke und ein oder mehrere Redundanzblock/-blöcke von einem Speichermedium wieder hergestellt und in einem Datenpuffer in der Datenspeichervorrichtung gehalten werden. Dispositif de stockage de données comprenant le décodeur de l'une quelconque des revendications 1 à 21, dans lequel les blocs de données et un ou plusieurs blocs de redondance sont récupérés d'un support de stockage et contenus dans une mémoire tampon de données dans le dispositif de stockage de données.
  23. 23
    A data storage device configured to correct errors in data retrieved from a storage medium, comprising:a data buffer configured to hold data blocks and one or more redundancy blocks retrieved from the storage medium;anda decoder, according to any one of claims 1 to 21, connected to the data buffer, the plurality of cells of the decoder configured to access the data blocks and one or more redundancy blocks held in the data buffer. Datenspeichervorrichtung, die konfiguriert ist, um Fehler in Daten zu korrigieren, die von einem Speichermedium wieder hergestellt werden, mit: einem Datenpuffer, der konfiguriert ist, um Datenblöcke und einen oder mehrere Redundanzblöcke zu halten, die von dem Speichermedium wieder hergestellt werden;undeinem Decodierer gemäß einem der Ansprüche 1 bis 21, der mit dem Datenpuffer verbunden ist, wobei die Mehrzahl von Zellen des Decodierers konfiguriert sind, um auf die Datenblöcke und einen oder mehrere Redundanzblöcke zuzugreifen, die in dem Datenpuffer gehalten werden. Dispositif de stockage de données configuré pour corriger des erreurs dans des données récupérées provenant d'un support de stockage comprenant : une mémoire tampon de données configurée pour contenir des blocs de données et un ou plusieurs blocs de redondance récupérés du support de stockage ;etun décodeur, selon l'une quelconque des revendications 1 à 21, relié à la mémoire tampon de données, la pluralité des cellules du décodeur étant configurées pour accéder aux blocs de données et un ou plusieurs blocs de redondance contenus dans la mémoire tampon de données.
  24. 24
    A method of correcting errors in data, comprising:receiving data blocks and one or more redundancy blocks;generating an inverse of an error location matrix with locations of any received data blocks with errors;generating a plurality of partial syndromes in a plurality of cells of a decoder, wherein each one of the plurality of partial syndromes are generated in each one of the plurality of cells based on the received data blocks and one or more redundancy blocks;generating a plurality of partial error values in the plurality of cells, wherein each one of the plurality of partial error values are generated in each one of the plurality of cells based on a partial syndrome and a portion of the inverse of the error location matrix;andgenerating an error value based on the plurality of partial error values generated by the plurality of cells. Procédé de correction d'erreurs dans des données, comprenant : la réception de blocs de données et d'un ou plusieurs blocs de redondance ;la génération d'un inverse d'une matrice de localisation d'erreurs avec les emplacements de tout bloc de données reçu avec des erreurs ;la génération d'une pluralité de syndromes partiels dans une pluralité de cellules d'un décodeur, où chacun de la pluralité de syndromes partiels est généré dans chacune de la pluralité de cellules sur la base des blocs de données reçus et un ou plusieurs blocs de redondance ;la génération d'une pluralité de valeurs d'erreur partielle dans la pluralité de cellules, où chacune de la pluralité de valeurs d'erreur partielle est générée dans chacune de la pluralité de cellules sur la base d'un syndrome partiel et d'une partie de l'inverse de la matrice de localisation d'erreurs ;etla production d'une valeur d'erreur basée sur la pluralité de valeurs d'erreur partielle générées par la pluralité de cellules. Verfahren zum Korrigieren von Fehlern in Daten, mit: Empfangen von Datenblöcken und einem oder mehreren Redundanzblöcken;Erzeugen einer Inversen einer Fehlerpositionsmatrix mit Positionen von empfangenen Datenblöcken mit Fehlern;Erzeugen einer Mehrzahl von Teilsyndromen in einer Mehrzahl von Zellen eines Decodierers, wobei jedes der Mehrzahl von Teilsyndromen in jeder der Mehrzahl von Zellen basierend auf den empfangenen Datenblöcken und einem oder mehreren Redundanzblöcken erzeugt werden;Erzeugen einer Mehrzahl von Teilfehlerwerten in der Mehrzahl von Zellen, wobei jeder der Mehrzahl von Teilfehlerwerten in jeder der Mehrzahl von Zellen basierend auf einem Teilsyndrom und einem Abschnitt der Inversen der Fehlerpositionsmatrix erzeugt wird;undErzeugen eines Fehlerwerts basierend auf der Mehrzahl von Teilfehlerwerten, die durch die Mehrzahl von Zellen erzeugt werden.
  25. 25
    Procédé selon la revendication 24, dans lequel les blocs de données reçus et un ou plusieurs blocs de redondance sont contenus dans une mémoire tampon de données, et dans lequel la production d'une pluralité de syndromes partiels comprend :dans chacune de la pluralité de cellules : a) la lecture de données à partir de la mémoire tampon de données ;b) la production d'une somme des données lues à partir de la mémoire tampon de données avec une sortie d'un multiplicateur ;c) la mise en mémoire de la somme ;d) la multiplication de la somme par une racine d'un polynôme générateur ;ete) la réitération des étapes a) à d) pour traiter tous les blocs de données et un ou plusieurs blocs de redondance contenus dans la mémoire tampon de données, où la somme est le syndrome partiel quand tous les blocs de données et un ou plusieurs blocs de redondance contenus dans la mémoire tampon de données ont été traités. The method of claim 24, wherein the received data blocks and one or more redundancy blocks are held in a data buffer, and wherein generating a plurality of partial syndromes comprises: in each of the plurality cells: a) reading data from the data buffer;b) generating a sum of the data read from the data buffer with an output from a multiplier;c) storing the sum;d) multiplying the sum with a root of a generator polynomial;ande) iterating steps a) to d) to process all the data blocks and one or more redundancy blocks held in the data buffer, wherein the sum is the partial syndrome when all the data blocks and one or more redundancy blocks held in the data buffer have been processed. Verfahren gemäß Anspruch 24, bei dem die empfangenen Datenblöcke und ein oder mehrere Redundanzblock/-blöcke in einem Datenpuffer gehalten werden, und wobei das Erzeugen einer Mehrzahl von Teilsyndromen umfasst: in jeder der Mehrzahl von Zellen: a) Lesen von Daten aus dem Datenpuffer;b) Erzeugen einer Summe der aus dem Datenpuffer gelesenen Daten mit einer Ausgabe von einem Multiplizierer;c) Speichern der Summe;d) Multiplizieren der Summe mit einer Wurzel eines Generatorpolynoms;unde) Iterieren der Schritte a) bis d), um alle Datenblöcke und den einen oder die mehreren Redundanzblock/-blöcke zu verarbeiten, die in dem Datenpuffer gehalten werden, wobei die Summe das Teilsyndrom ist, wenn alle Datenblöcke und der eine oder die mehreren Redundanzblock/-blöcke, die in dem Datenpuffer gehalten werden, verarbeitet wurden.
  26. 26
    Procédé selon la revendication 25, dans lequel le nombre d'itérations des étapes a) à d) selon la revendication 25 est égal au nombre de blocs de données et de blocs de redondance contenus dans la mémoire tampon de données. The method of claim 25, wherein the number of iterations of steps a) to d) of claim 25 is equal to the number of data blocks and redundancy blocks held in the data buffer. Verfahren gemäß Anspruch 25, bei dem die Anzahl von Iterationen von Schritten a) bis d) gemäß Anspruch 25 gleich der Anzahl von Datenblöcken und Redundanzblöcken ist, die in dem Datenpuffer gehalten werden.
  27. 27
    Procédé selon la revendication 25, dans lequel dans la réitération de l'étape a), quand les données doivent être lues à partir d'un bloc de données ayant des erreurs, il y a lecture de tous les zéros plutôt que des données à partir du bloc de données ayant des erreurs. The method of claim 25, wherein in iterating step a), when data is to be read from a data block having errors, reading all zeros rather than the data from the data block having errors. Verfahren gemäß Anspruch 25, bei dem bei dem Iterationsschritt a), wenn Daten aus einem Datenblock mit Fehlern zu lesen sind, alle Nullen anstatt der Daten von dem Datenblock mit Fehlern gelesen werden.
  28. 28
    Procédé selon la revendication 25, dans lequel la multiplication de la somme par une racine d'un polynôme générateur comprend :l'exécution de multiplications de champs de Galois parallèles, multiples, entre la racine d'un polynôme générateur et la somme en utilisant une pluralité de multiplicateurs de champs de Galois. The method of claim 25, wherein multiplying the sum with a root of a generator polynomial comprises: performing multiple, parallel Galois Field multiplications between the root of a generator polynomial and the sum using a plurality of Galois Field multipliers. Verfahren gemäß Anspruch 25, bei dem das Multiplizieren der Summe mit einer Wurzel eines Generatorpolynoms umfasst: Durchführen mehrerer paralleler Galois-Feld-Multiplikationen zwischen der Wurzel eines Generatorpolynoms und der Summe mit einer Mehrzahl von Galois-Feld-Multiplizierern.
  29. 29
    Procédé selon la revendication 25, dans lequel la génération d'une pluralité de valeurs d'erreur partielle comprend :après que les étapes a) à e) de la revendication 25 sont achevées, dans chacune de la pluralité de cellules : f) la multiplication du syndrome partiel par un élément de la partie de l'inverse de la matrice de localisation d'erreurs pour générer une valeur d'erreur partielle ;etg) l'envoi de la valeur d'erreur partielle à additionner avec les valeurs d'erreur partielle générées par chacune de la pluralité de cellules. The method of claim 25, wherein generating a plurality of partial error values comprises: after steps a) to e) of claim 25 are completed, in each of the plurality cells:f) multiplying the partial syndrome with an element of the portion of the inverse of the error location matrix to generate a partial error value;andg) sending the partial error value to be summed with the partial error values generated by each of the plurality of cells. Verfahren gemäß Anspruch 25, bei dem das Erzeugen einer Mehrzahl von Teilfehlerwerten umfasst: nachdem die Schritte a) bis e) gemäß Anspruch 25 abgeschlossen sind, in jeder der Mehrzahl von Zellen:f) Multiplizieren des Teilsyndroms mit einem Element des Abschnitts der Inversen der Fehlerpositionsmatrix, um einen Teilfehlerwert zu erzeugen;undg) Senden des Teilfehlerwerts, um mit den durch jede der Mehrzahl von Zellen erzeugten Teilfehlerwerten summiert zu werden.
  30. 30
    Procédé selon la revendication 29, comprenant en outre :h) la sommation des valeurs d'erreur partielle générées par chacune de la pluralité de cellules pour générer une valeur d'erreur ;eti) l'écriture de la valeur d'erreur dans la mémoire tampon de données pour corriger un bloc de données ayant des erreurs. The method of claim 29, further comprising: h) summing the partial error values generated by each of the plurality of cells to generate an error value;andi) writing the error value to the data buffer to correct a data block having errors. Verfahren gemäß Anspruch 29, ferner mit: h) Summieren der Teilfehlerwerte, die durch jede der Mehrzahl von Zellen erzeugt wurden, um einen Fehlerwert zu erzeugen;undi) Schreiben des Fehlerwerts in den Datenpuffer, um einen Datenblock mit Fehlern zu korrigieren.
  31. 31
    Procédé selon la revendication 30, comprenant en outre :j) la répétition des étapes f) et g) de la revendication 29 et des étapes h) et i) de la revendication 30 pour corriger un autre bloc de données ayant des erreurs. The method of claim 30, further comprising: j) repeating steps f) and g) of claim 29 and steps h) and i) of claim 30 to correct another data block having errors. Verfahren gemäß Anspruch 30, ferner mit: j) Wiederholen der Schritte f) und g) gemäß Anspruch 29 und der Schritte h) und i) gemäß Anspruch 30, um einen weiteren Datenblock mit Fehlern zu korrigieren.
  32. 32
    Procédé selon la revendication 31, dans lequel le nombre d'itérations des étapes f) à g) de la revendication 29 et des étapes h) et i) de la revendication 30 est égal au nombre de blocs de données ayant des erreurs. The method of claim 31, wherein the number of iterations of steps f) to g) of claim 29 and steps h) and i) of claim 30 is equal to the number of data blocks having errors. Verfahren gemäß Anspruch 31, bei dem die Anzahl von Iterationen von Schritten f) bis g) gemäß Anspruch 29 und Schritten h) und i) gemäß Anspruch 30 gleich der Anzahl von Datenblöcken mit Fehlern ist.
  33. 33
    Procédé selon la revendication 31, dans lequel le nombre d'itérations des étapes f) à g) de la revendication 29 et des étapes h) et i) de la revendication 30 est égal au nombre des blocs de redondance contenus dans la mémoire tampon de données. The method of claim 31, wherein the number of iterations of steps f) to g) of claim 29 and steps h) and i) of claim 30 is equal to the number of redundancy blocks held in the data buffer. Verfahren gemäß Anspruch 31, bei dem die Anzahl von Iterationen von Schritten f) bis g) gemäß Anspruch 29 und Schritten h) und i) gemäß Anspruch 30 gleich der Anzahl von in dem Datenpuffer gehaltenen Redundanzblöcken ist.
  34. 34
    Procédé selon la revendication 31, dans lequel la somme est effacée et les étapes a) à e) de la revendication 25, les étapes f) et g) de la revendication 29, les étapes h) et i) de la revendication 30 et l'étape j) de la revendication 31 sont répétées pour traiter une autre partie des blocs de données et un ou plusieurs blocs de redondance contenus la mémoire tampon de données. The method of claim 31, wherein the sum is cleared and steps a) to e) of claim 25, steps f) and g) of claim 29, steps h) and i) of claim 30, and step j) of claim 31 are repeated to process another portion of the data blocks and one or more redundancy blocks held in the data buffer. Verfahren gemäß Anspruch 31, bei dem die Summe gelöscht wird und Schritte a) bis e) gemäß Anspruch 25, Schritte f) und g) gemäß Anspruch 29, Schritte h) und i) gemäß Anspruch 30 und Schritt j) gemäß Anspruch 31 wiederholt werden, um einen anderen Abschnitt der Datenblöcke und einen oder mehrere Redundanzblock/-blöcke zu verarbeiten, die in dem Datenpuffer gehalten werden.
  35. 35
    Procédé selon la revendication 29, dans lequel la multiplication du syndrome partiel par un élément de la partie de l'inverse de la matrice de localisation d'erreurs comprend :l'exécution de multiplications de champs de Galois parallèles, multiples, entre le syndrome partiel et l'élément de la partie de l'inverse de la matrice de localisation d'erreurs en utilisant une pluralité de multiplicateurs de champs de Galois. The method of claim 29, wherein multiplying the partial syndrome with an element of the portion of the inverse of the error location matrix comprises: performing multiple, parallel Galois Field multiplications between the partial syndrome and the element of the portion of the inverse of the error location matrix using a plurality of Galois Field multipliers. Verfahren gemäß Anspruch 29, bei dem das Multiplizieren des Teilsyndroms mit einem Element des Abschnitts der Inversen der Fehlerpositionsmatrix umfasst: Durchführen mehrerer paralleler Galois-Feld-Multiplikationen zwischen dem Teilsyndrom und dem Element des Abschnitts der Inversen der Fehlerpositionsmatrix mit einer Mehrzahl von Galois-Feld-Multiplizierern.
  36. 36
    Procédé selon la revendication 24, dans lequel la réception des blocs de données et d'un ou plusieurs blocs de redondance comprend la récupération de blocs de données et d'un ou plusieurs blocs de redondance à partir d'un support de stockage d'un dispositif de stockage de données. The method of claim 24, wherein receiving data blocks and one or more redundancy blocks comprises retrieving data blocks and one or more redundancy blocks from a storage medium of a data storage device. Verfahren gemäß Anspruch 24, bei dem das Empfangen von Datenblöcken und einem oder mehreren Redundanzblöcken ein Wiederherstellen von Datenblöcken und von einem oder mehreren Redundanzblock/-blöcken aus einem Speichermedium einer Datenspeichervorrichtung umfasst.
  37. 37
    Procédé selon la revendication 24, dans lequel l'inverse de la matrice de localisation d'erreurs est généré par microprogramme ou matériel. The method of claim 24, wherein the inverse of the error location matrix is generated by firmware or hardware. Verfahren gemäß Anspruch 24, bei dem die Inverse der Fehlerpositionsmatrix durch Firmware oder Hardware erzeugt wird.
Independent claims37